Programmēšana

Darbs ar Azure Kinect izstrādātāja komplektu

Korporācija Microsoft paziņoja par saviem Azure Kinect kameras moduļiem līdzās HoloLens 2 2019. gada sākumā. Abas ierīces izmanto vienu un to pašu jauktās realitātes kameras moduli, izmantojot objekta kartēšanai ap kameru, izmantojot lidojuma laika dziļuma sensoru. Bet, ja HoloLens ir valkājama jauktas realitātes ierīce, Azure Kinect moduļi ir paredzēti, lai nodrošinātu Azure mitinātas mašīnmācīšanās lietojumprogrammas ar savienotiem sensoriem, kurus var uzstādīt jebkur darbvietā.

Azure Kinect ir tiešs otrās paaudzes Kinect moduļu pēcnācējs, kas piegādāti kopā ar Xbox One, taču tā vietā, lai spēlēšanai nodrošinātu reālas izejvielas, tā ir paredzēta uzņēmumu lietotājiem un lietojumprogrammām. Paredzēts sadarboties ar Azure's Cognitive Services, pirmais Azure Kinect izstrādātāju komplekts sāka piegādāt 2019. gada beigās Amerikas Savienotajās Valstīs, 2020. gada sākumā pievienojot vairākas citas valstis.

Atverot lodziņu

Azure Kinect izstrādātāju komplekts 399 ASV dolāru vērtībā ir maza balta vienība ar diviem kameras objektīviem, viens platleņķa RGB kamerai un viens Kinect dziļuma sensoram, kā arī virkne mikrofonu. Tam ir orientācijas sensors, kas ļauj izmantot kameru, lai izveidotu sarežģītus 3-D vides attēlus, kas ir gatavi lietošanai jauktā realitātē. Varat sasaistīt vairākas ierīces kopā, lai ātri skenētu trīsdimensiju attēlus vai nodrošinātu visas telpas pārklājumu, izmantojot orientācijas sensoru, lai palīdzētu izprast ierīces pozīciju.

Kopā ar kameras bloku jūs saņemat barošanas avotu, sešstūra atslēgu, lai noņemtu ķēdes pieslēgvietu vāku, un USB kabeli, lai izveidotu savienojumu ar izstrādes datoru. Es ieteiktu iegūt darbvirsmas statīvu vai cita veida stiprinājumu, jo komplektā iekļautais plastmasas statīvs ir diezgan mazs un nedarbojas ar lielāko daļu rakstāmgaldu vai monitoru. Lodziņā nav programmatūras, ir tikai saite uz tiešsaistes dokumentāciju, kurā varat lejupielādēt ierīces SDK.

Pirms sākat, jāatjaunina ierīces programmaparatūra. Tas tiek piegādāts kopā ar SDK un ietver komandrindas instalēšanas rīku. Palaidot atjauninātāju, pirms kameras un ierīces programmaparatūras instalēšanas un pēc tam restartēšanas vispirms tiek pārbaudīts pašreizējais programmaparatūras stāvoklis. Kad kamera ir restartēta, izmantojiet to pašu rīku, lai pārbaudītu, vai atjauninājums ir veiksmīgi instalēts. Ja rodas problēmas ar instalēšanu, varat atjaunot sākotnējo rūpnīcas attēlu, izmantojot kameras aparatūras atiestatīšanu (paslēptu zem statīva stiprinājuma).

Sajūtot pasauli

Ar instalēto SDK jūs no sava koda varat piekļūt ierīces sensoriem. Ir trīs SDK: viens, kas paredzēts zema līmeņa piekļuvei visiem kameras sensoriem, otrs, lai izmantotu pazīstamās Kinect ķermeņa izsekošanas funkcijas, un otrs, lai saistītu kameras mikrofonu bloku ar Azure runas pakalpojumiem. Iepriekš izveidotā lietotne Kinect Viewer parāda pieejamos kameras skatus un straumē datus no ierīces sensoriem. Jūs saņemat piekļuvi platleņķa RGB kamerai, dziļuma kameras skatam un attēlam no dziļuma sensora infrasarkanās kameras. SDK ir pieejami gan Windows, gan Linux, īpaši Canonical Ubuntu 18.04 LTS laidienam, un tos var lejupielādēt tieši no Microsoft vai GitHub.

Ieteicams kādu laiku pavadīt spēlējoties ar Kinect Viewer. Tas ļauj jums redzēt, kā darbojas dažādi dziļuma kameras režīmi, palīdzot izvēlēties šauru vai plašu redzes lauku. Jūs varat redzēt datus no pozīcijas sensoriem - gan akselerometra, gan žiroskopa, gan no mikrofona bloka. Izmantojot Azure Kinect izstrādātāja komplektu, kas savienots ar izstrādes datoru un darbojas, varat sākt tam rakstīt kodu. Komandrindas ierakstītāja lietotni var izmantot, lai ierakstītu datus atskaņotājā atskaņošanai, saglabājot dziļuma informāciju MKV (Matroska Video) formāta failā.

Izveidojiet savu pirmo dziļuma noteikšanas programmu

Korporācija Microsoft nodrošina koda paraugu vienkāršas C lietojumprogrammas izveidei darbam ar Azure Kinect izstrādes komplektu. Nepieciešama tikai viena bibliotēka, un tā nodrošina objektus un metodes, kas nepieciešamas darbam ar kameru. Pirms ierīces datu plūsmu konfigurēšanas jebkurai lietojumprogrammai vispirms jāpārbauda, ​​cik daudz kameru ir pievienots resursdatoram. Ierīces tiek identificētas pēc to sērijas numura, tāpēc to varat izmantot, lai adresētu konkrētu kameru, strādājot ar vairākām, kas savienotas ar vienu un to pašu datoru vai savienotas kopā.

Azure Kinect izstrādātāju komplekts piegādā tikai straumēšanas datus, tāpēc lietojumprogrammām ir jākonfigurē datu pārraides ātrums kadriem sekundē, kā arī attēlu krāsu formāti un izšķirtspējas. Kad esat izveidojis konfigurācijas objektu, varat atvērt savienojumu, izmantojot savu konfigurācijas objektu, kas ir gatavs datu straumēšanai. Kad esat pabeidzis datu straumes lasīšanu, apturiet un aizveriet ierīci.

Attēli tiek uzņemti uzņemšanas objektā, no ierīces straumes uzņemot dziļuma attēlu, IR attēlu un krāsainu attēlu katram atsevišķam attēlam. Kad esat iemūžinājis, varat izgūt atsevišķus attēlus, kas gatavi lietošanai jūsu lietojumprogrammā. Attēlu objektus var piegādāt Azure mašīnu redzamības API, gatavi objektu atpazīšanai vai anomāliju noteikšanai. Viens piemērs, ko Microsoft ir izmantojis savās demonstrācijās, ir lietojumprogramma, kas izmanto uzņemtos videoklipus, lai noteiktu, kad darbinieks rūpnīcas stāvā nonāk pārāk tuvu darbināmām mašīnām; cits atklāj kādu smēķējošu pie gāzes sūkņa.

Līdzīgs process sniedz datus no pozīcijas un kustības sensoriem. Tā kā kustības dati tiek uzņemti ar lielāku ātrumu nekā attēla dati, kodā ir jāievieš sava veida sinhronizācija, lai nezaudētu datus. Audio dati tiek tverti, izmantojot standarta Windows API, ieskaitot tos, kurus izmanto Azure runas pakalpojumi.

Lai gan Azure Kinect aparatūra uztver daudz datu, SDK funkcijas palīdz to pārveidot izmantojamā formā; piemēram, pievienojot dziļuma datus RGB attēlam, lai iegūtu RGB-D attēlus, kas tiek pārveidoti par RGB kameras skatu punktu (un otrādi). Tā kā abi sensori nav iestatīti, tas prasa deformēt attēlu sietu, lai apvienotu abu kameru skatu punktus, izmantojot datora GPU. Vēl viena transformācija ģenerē punktu mākoni, ļaujot iegūt dziļuma datus par katru uzņemto pikseļu. Viena noderīga SDK iespēja ir iespēja uztvert video un datu plūsmas Matroska formāta failā. Šī pieeja ļauj ierobežota joslas platuma ierīcēm paketēt datus un piegādāt tos, teiksim, Azure Stack Edge ierīcēm ar kognitīvo pakalpojumu konteineriem pakešu apstrādei.

Ķermenis izseko digitālo skeletu

Sākotnējā Kinect aparatūra ieviesa ķermeņa izsekošanu ar skeleta modeli, ko varētu izmantot, lai ātri novērtētu stāju un žestus. Šī pati pieeja turpinās arī Azure Kinect ķermeņa izsekošanas SDK, kas izmanto Nvidia CUDA GPU paralēlās apstrādes tehnoloģiju, lai strādātu ar 3D attēlu datiem no jūsu ierīces dziļuma sensora. Komplektētajā lietotnes paraugā ir parādītas dažas SDK funkcijas, tostarp iespēja izsekot vairākām personām vienlaikus.

Ķermeņa izsekošanas SDK pamatā ir Azure Kinect SDK, izmantojot to, lai konfigurētu un izveidotu savienojumu ar ierīci. Uzņemto attēlu datus izsekotājs apstrādā, saglabājot datus ķermeņa rāmja datu struktūrā. Tajā ir identificētu ķermeņu skeleta struktūru kolekcija, 2-D rādītāju karte, kas palīdz vizualizēt jūsu datus, kā arī pamatā esošie 2-D un 3-D attēli, kas tika izmantoti izsekošanas datu veidošanai. Katru kadru var izmantot animāciju konstruēšanai vai informācijas ievadīšanai mašīnmācīšanās rīkos, kas var palīdzēt apstrādāt izsekotās pozīcijas attiecībā pret telpas karti vai ideālām pozīcijām.

Azure's kognitīvie pakalpojumi ir spēcīgs rīks datu apstrādei, un Azure Kinect pievienošana ļauj tos izmantot visdažādākajos rūpniecības un uzņēmuma scenārijos. Koncentrējoties uz 3D 3D attēlu atpazīšanu darbavietā, Microsoft mēģina parādīt, kā attēlu atpazīšanu var izmantot, lai samazinātu risku un uzlabotu drošību. Ir pat iespēja izmantot virkni ierīču kā ātru tilpuma uztveršanas sistēmu, kas var palīdzēt veidot gan jauktas realitātes vidi, gan nodrošināt avota datus CAD un citiem dizaina rīkiem. Rezultāts ir elastīga ierīce, kas ar nelielu kodu kļūst par ļoti spēcīgu sensoru.

$config[zx-auto] not found$config[zx-overlay] not found