Apple na své vývojářské konferenci WWDC24 (Worldwide Developers Conference, keynote) představil řadu novinek: svou umělou inteligenci pojmenovanou jednoduše Apple Intelligence, iOS 18, visionOS 2, macOS Sequoia, iPadOS 18, watchOS 11, …
Vyšla nová verze XMPP (Jabber) klienta Gajim, která přidává podporu reakcí pomocí emoji (XEP-0444: Message Reactions) a citace zpráv (XEP-0461: Message Replies). Přehled dalších vylepšení je k dispozici na oficiálních stránkách.
Po po téměř roce vývoje od vydání verze 5.38 byla vydána nová stabilní verze 5.40 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 75 vývojářů. Změněno bylo přibližně 160 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.
Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).
Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
Z minulého dílu víme, že pomocí knihovny libfreenect lze z Kinectu získat hloubková data. Ta lze zpracovat a získat trojrozměrný obraz prostoru nacházejícího se před Kinectem. Tím ale možnosti této knihovny končí. Dalo by se říct, že pomocí knihovny libfreenect lze vidět, ale už nelze zjistit, co se vlastně vidí. Rozhraní pro detekci přítomnosti osob ve snímaném prostoru, sledování jejich pohybů, rozpoznávání poloh jejich těl nebo dokonce jejich rukou je zatím otázkou daleké budoucnosti.
Jak již bylo zmíněno v prvním dílu, jádrem Kinectu je čip od společnosti PrimeSense (PrimeSense PS1080-A2 SoC (System on a Chip)).
Tato společnost se těsně po vzniku knihovny libfreenect rozhodla uvolnit knihovnu vlastní. Založila neziskovou organizaci OpenNI (Open Natural Interaction) jejíž cílem je rozvíjet možnosti komunikace mezi uživatelem a počítačem pomocí přirozeného uživatelského rozhraní (Natural User Interface – NUI). Dalšími členy OpenNI jsou Willow Garage, Side-Kick, ASUS a AppSide.
OpenNI definuje jak rozhraní pro vývoj NUI aplikací, tak rozhraní k NUI snímacím zařízením. Definováno je rovněž rozhraní k možným binárním blobům, tj. k částem, ke kterým nejsou k dispozici zdrojové kódy. OpenNI jim říká middleware.
Tyto binární bloby obvykle nestačí pouze nainstalovat. Potřebné mohou být licenční klíče. Klíč k základnímu blobu NITE je veřejně známý 0KOIk2JeIBYClPWVnMoRKn5cdY4=.
Licence lze vypsat příkazem niLicense.
Knihovna OpenNI (společně s NITE) na rozdíl od knihovny libfreenect obsahuje algoritmy pro rozpoznávání polohy těla. Pomocí funkcí v knihovně obsažených lze zjistit, kde se osoba v prostoru před snímačem nachází, lze sledovat její pohyb, lze zjistit, zda osoba předpažila nebo upažila. Ke knihovně je k dispozici dokumentace a diskusní fórum.
Kde knihovnu OpenNI získat a jak ji nainstalovat? Nejjednodušší samozřejmě je, pokud vaše linuxová distribuce balíčky s OpenNI přímo podporuje. Příkladem může být Fedora 16 s devíti balíčky souvisejících s OpenNI.
Nesvobodné balíčky openni-nite, openni-nite-devel a openni-nite-examples jsou k dispozici na RPM Fusion.
Uživatelé Ubuntu mohou balíčky získat na stránkách OpenNI. Nejsou-li k dispozici balíčky pro vaši oblíbenou distribuci, budete muset sáhnout po zdrojových kódech. Zdrojové kódy knihovny OpenNI (samozřejmě kromě NITE) jsou k dispozici na serveru GitHub (OpenNI, PrimeSense Sensor Module for OpenNI, OpenNI Ogre Integration Sample). Kinect není oficiálním PrimeSense modulem podporován. PrimeSense prosazuje ASUS Xtion. Na oficiální zdrojové kódy je nutné aplikovat záplaty, nebo použít již upravený modul od avin2. V případě problémů s překladem lze nahlédnou k Fedoře (Fedora Project Packages GIT repositories), zda nepomůže některá z jejích záplat. Jak to už u binárních blobů bývá, verze NITE, která je k dispozici na stránkách OpenNI nemusí být kompatibilní s aktuálními zdrojovými kódy na serveru GitHub. Také v případě použití binárních balíčků je nutné, aby byly verze základní knihovny, verze modulu a verze NITE vzájemně kompatibilní.
S knihovnou OpenNI jsou dodávány i ukázkové programy. Správnost instalace knihovny lze ověřit pomocí NiViewer. NiViewer, podobně jako glview z knihovny libfreenect, zobrazuje hloubková data získaná z Kinectu. Klávesou „f“ lze přepínat mezi celoobrazovkovým zobrazením a zobrazením v okně. Klávesou „?“ lze zobrazit nápovědu.
Mezi nabízenými pohledy lze procházet pomocí stisku kláves nebo myší výběrem z menu (dokumentace).
Po instalaci blobu NITE lze vyzkoušet rozpoznávání obrazu. Začít lze aplikací Sample-Players (NitePlayers). Objeví-li se v prostoru před Kinectem osoba (někdy stačí i židle ), bude detekována a sledována. První osoba bude zobrazena modře, druhá zeleně, třetí žlutě. Aplikace rozezná také polohu těla. Na detekované postavě je zobrazen její zjednodušený model (skeleton, kostra). Má-li aplikace s detekcí problém, je nutné zaujmout postoj PSI (upažení pokrčmo, předloktí vzhůru).
Ukázková aplikace Sample-PointViewer sleduje vaši ruku a kreslí trajektorii jejího pohybu. Standardně sleduje pouze jednu ruku. Po úpravě souboru Nite.ini, tj. po odstranění středníků u AllowMultipleHands=1 a TrackAdditionalHands=1 bude sledovat obě ruce. Aplikace Sample-Boxes a Sample-TrackPad demonstrují ovládání programů (výběr z voleb) pomocí pohybu ruky.
Při testování OpenNI ve Fedoře 16 jsem narazil na následující problém. Ukázkové aplikace nefungovaly. Například po spuštění NiteBoxes jsem dostal pouze „InitFromXml failed: File not found!“. Pomohl příkaz strace. NiteBoxes na Fedoře 16 přistupuje k souboru „../../../Data/Sample-Tracking.xml“. Stačilo tedy soubor /etc/openni/Sample-Tracking.xml zkopírovat do /Data. NitePlayers potřebuje v adresáři /Data soubor Sample-User.xml. NiteSceneAnalysis soubor Sample-Scene.xml.
Příště budou představeny některé z aplikací postavených nad knihovnami libfreenect a OpenNI.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: