Több Azure Kinect DK-eszköz szinkronizálása
Minden Azure Kinect DK-eszköz tartalmaz 3,5 mm-es szinkronizálási portokat (Szinkronizálás és szinkronizálás ki) több eszköz összekapcsolásához. Az eszközök csatlakoztatása után a szoftver képes koordinálni a trigger időzítését közöttük.
Ez a cikk az eszközök csatlakoztatását és szinkronizálását ismerteti.
Több Azure Kinect DK-eszköz használatának előnyei
Több Azure Kinect DK-eszköz használatának számos oka lehet, többek között a következők:
- Töltse ki az elzáródásokat. Bár az Azure Kinect DK adatátalakításai egyetlen képet hoznak létre, a két kamera (mélység és RGB) valójában egy kis távolságra van egymástól. Az eltolás lehetővé teszi az eltolásokat. Elzáródás akkor fordul elő, ha egy előtérobjektum letiltja egy háttérobjektum egy részének nézetét az eszköz két kamerájának egyikéhez. Az eredményül kapott színképben az előtérobjektum árnyékot vet a háttérobjektumra.
Az alábbi ábrán például a bal oldali kamera a "P2" szürke képpontot látja. A fehér előtér objektum azonban blokkolja a jobb oldali kamera IR fényét. A jobb oldali kamera nem rendelkezik a "P2" típusú adatokkal.
További szinkronizált eszközök biztosíthatják az elzárt adatokat. - Objektumok vizsgálata három dimenzióban.
- Növelje az effektív képkockasebességet 30 képkocka/másodpercnél (FPS) nagyobb értékre.
- Rögzítsen több 4K színképet ugyanabból a jelenetből, és mindegyik az expozíciós központ 100 mikroszekundumán (μs) belül van igazítva.
- Növelje a kamera lefedettségét a térben.
A többeszközes konfiguráció megtervezése
Mielőtt hozzákezd, ellenőrizze, hogy áttekinti-e az Azure Kinect DK hardverspecifikációit és az Azure Kinect DK mélységi kameráját.
Feljegyzés
Távolítsa el a külső műanyag fedelet, hogy elérhetővé tegye a Sync In és Sync Out csatlakozókat.
Eszközkonfiguráció kiválasztása
Az eszközkonfigurációhoz az alábbi módszerek egyikét használhatja:
- Százszorszépláncos konfiguráció. Szinkronizáljon egy fő eszközt és legfeljebb nyolc alárendelt eszközt.
- Csillagkonfiguráció. Szinkronizáljon egy fő eszközt és legfeljebb két alárendelt eszközt.
Külső szinkronizálási eseményindító használata
Mindkét konfigurációban a főeszköz biztosítja az alárendelt eszközök aktiváló jelét. A szinkronizálási eseményindítóhoz azonban használhat egyéni külső forrást. Ezzel a beállítással például szinkronizálhatja a képrögzítéseket más berendezésekkel. A százszorszépláncos konfigurációban vagy a csillagkonfigurációban a külső triggerforrás csatlakozik a főeszközhöz.
A külső eseményindító forrásának ugyanúgy kell működnie, mint a főeszköznek. A szinkronizálási jelnek a következő jellemzőkkel kell rendelkeznie:
- Aktív magas
- Impulzusszélesség: Nagyobb, mint 8 μs
- 5V TTL/CMOS
- Maximális vezetési kapacitás: Legalább 8 milliamp (mA)
- Frekvenciatámogatás: Pontosan 30 FPS, 15 FPS és 5 FPS (a színkamera fő VSYNC-jelének gyakorisága)
A triggerforrásnak egy 3,5 mm-es hangkábel használatával kell továbbítania a jelet a főeszköz szinkronizálási eszközének porton keresztül. Használhat sztereó vagy mono kábelt. Az Azure Kinect DK összefogja a hangkábel-összekötő összes ujját és gyűrűit, és alapozza meg őket. Az alábbi ábrán látható módon az eszköz csak az összekötő hegyétől kapja meg a szinkronizálási jelet.
További információ a külső berendezések használatáról: Az Azure Kinect-rögzítő használata külső szinkronizált eszközökkel
Feljegyzés
A Sync Out az RGB kamera VSyncje. Az összes eszköz időbélyegei nullára vannak állítva, és megszámlálódnak. A Microsoft nem jellemezte a szinkronizálási impulzus minimális és maximális szélességét, és azt javasolja, hogy az Azure Kinect DK-ból származó Sync által generált impulzust utánozza.
Kamerabeállítások és szoftverkonfiguráció megtervezése
A kamerák vezérlésére és a képadatok használatára szolgáló szoftver beállításáról az Azure Kinect Sensor SDK-ban tájékozódhat.
Ez a szakasz számos olyan tényezőt tárgyal, amelyek hatással vannak a szinkronizált eszközökre (de nem egyetlen eszközökre). A szoftvernek figyelembe kell vennie ezeket a tényezőket.
Expozíciós szempontok
Ha az egyes eszközök pontos időzítését szeretné szabályozni, javasoljuk, hogy használjon manuális expozíciós beállítást. Az automatikus expozíciós beállítás alatt minden színkamera dinamikusan módosíthatja a tényleges expozíciót. Mivel az expozíció befolyásolja az időzítést, az ilyen változások gyorsan kiszorítják a kamerákat a szinkronizálásból.
A képrögzítési ciklusban ne állítsa be többször ugyanazt az expozíciós beállítást. Csak egyszer hívja meg az API-t, ha szükség van rá.
Több mélységi kamera közötti interferencia elkerülése
Ha több mélységi kamera képalkotó, átfedésben lévő nézetmezők, minden kamera kell kép a saját társított lézer. Annak érdekében, hogy a lézerek ne zavarják egymást, a kamerafelvételeket legalább 160 μs-zel el kell tolni egymástól.
Minden mélységi kamerafelvételnél a lézer kilencszer bekapcsol, és minden alkalommal csak 125 μs aktív. A lézer ezután tétlen vagy 1450 μs vagy 2390 μs, a működési módtól függően. Ez a viselkedés azt jelenti, hogy az eltolás kiszámításának kiindulópontja 125 μs.
Emellett a kamera óra és az eszköz belső vezérlőprogramjának óra közötti különbségek a minimális eltolást 160 μs-ra növelik. A konfiguráció pontosabb eltolásának kiszámításához jegyezze fel a használt mélységi módot, és tekintse meg a nyers időmérő táblázatot. A táblázat adatainak használatával kiszámíthatja a minimális eltolást (az egyes fényképezőgépek expozíciós idejét) az alábbi egyenlet használatával:
Expozíciós idő = (ir impulzusok × impulzusszélesség) + (inaktív időszakok × tétlen idő)
Ha 160 μs eltolást használ, akár kilenc további mélységi kamerát is konfigurálhat, hogy minden lézer bekapcsoljon, miközben a többi lézer tétlen.
A szoftverben használja depth_delay_off_color_usec
vagy subordinate_delay_off_master_usec
győződjön meg arról, hogy minden ir lézer a saját 160μs ablakában aktiválódik, vagy más látómezővel rendelkezik.
Feljegyzés
A tényleges impulzusszélesség 125 μs, de 160us értéket adunk, hogy némi mozgásteret biztosítsunk. Ha például az NFOV UNBINNED értéket veszi figyelembe, minden 125 μs impulzust 1450 μs tétlen követ. Ezek összesen - (9 x 125) + (8 x 1450) - 12,8 ms expozíciós időt eredményeznek. A szekrény lehet interleave az expozíció 2 eszközök, hogy az első impulzus a második kamera esik az első tétlen időszakban az első kamera. Az első és a második kamera közötti késleltetés akár 125 μs is lehet (a pulzus szélessége), de javasoljuk, hogy némi mozgástér, így a 160μs. 160 μs-t figyelembe véve legfeljebb 10 kamera expozíciós időszakát lehet átjárni.
Eszközök és egyéb hardverek előkészítése
Előfordulhat, hogy több Azure Kinect DK-eszköz mellett további gazdaszámítógépeket és egyéb hardvereket is be kell szereznie a létrehozni kívánt konfiguráció támogatásához. Az ebben a szakaszban található információk segítségével győződjön meg arról, hogy az összes eszköz és hardver készen áll a beállítás megkezdése előtt.
Azure Kinect DK-eszközök
Minden szinkronizálni kívánt Azure Kinect DK-eszköz esetében tegye a következőket:
- Győződjön meg arról, hogy a legújabb belső vezérlőprogram telepítve van az eszközön. Az eszközök frissítéséről az Azure Kinect DK belső vezérlőprogramjának frissítéséről olvashat bővebben.
- Távolítsa el az eszközborítót a szinkronizálási portok megjelenítéséhez.
- Jegyezze fel az egyes eszközök sorozatszámát. Ezt a számot a beállítási folyamat későbbi szakaszában fogja használni.
Gazdagépek
Általában minden Azure Kinect DK saját gazdaszámítógépet használ. Használhat dedikált gazdagépvezérlőt attól függően, hogy hogyan használja az eszközt, és mennyi adatot továbbít az USB-kapcsolaton keresztül.
Győződjön meg arról, hogy az Azure Kinect Sensor SDK minden gazdagépen telepítve van. A Sensor SDK telepítésével kapcsolatos további információkért tekintse meg az Azure Kinect DK beállításával kapcsolatos rövid útmutatót.
Linux rendszerű számítógépek: USB-memória az Ubuntu-on
Alapértelmezés szerint a Linux-alapú gazdaszámítógépek csak 16 MB kernelmemóriát foglalnak le az USB-átvitel kezeléséhez. Ez az összeg általában elegendő egyetlen Azure Kinect DK támogatásához. Több eszköz támogatásához azonban az USB-vezérlőnek több memóriával kell rendelkeznie. A memória növeléséhez kövesse az alábbi lépéseket:
- Edit /etc/default/grub.
- Keresse meg a következő sort:
Cserélje le a következő sor használatával:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.usbfs_memory_mb=32"
Feljegyzés
Ezek a parancsok 32 MB-ra állítják be az USB-memóriát. Ez egy példabeállítás az alapértelmezett érték kétszeresére. A megoldásnak megfelelően sokkal nagyobb értéket állíthat be.
- Futtassa a sudo update-grub parancsot.
- Indítsa újra a számítógépet.
Kábelek
Az eszközök egymáshoz és a gazdaszámítógépekhez való csatlakoztatásához 3,5 mm-es férfi-férfi kábelt (más néven 3,5 mm-es hangkábelt) kell használnia. A kábeleknek 10 méternél rövidebbnek kell lenniük, és sztereóak vagy monok lehetnek.
A szükséges kábelek száma a használt eszközök számától és az adott eszközkonfigurációtól függ. Az Azure Kinect DK mező nem tartalmaz kábeleket. Ezeket külön kell megvásárolnia.
Ha a csillagkonfigurációban csatlakoztatja az eszközöket, akkor egy fejhallgató-elosztóval is rendelkeznie kell.
Az eszközök csatlakoztatása
Azure Kinect DK-eszközök csatlakoztatása több százszoros lánckonfigurációban
- Csatlakoztassa az egyes Azure Kinect DK-okat a tápellátáshoz.
- Csatlakoztassa az egyes eszközöket a gazdaszámítógéphez.
- Válasszon ki egy eszközt a főeszközként, és csatlakoztassa a 3,5 mm-es hangkábelt a Sync out portjához.
- Csatlakoztassa a kábel másik végét a Szinkronizáláshoz az első alárendelt eszköz portjában .
- Egy másik eszköz csatlakoztatásához csatlakoztassa egy másik kábelt az első alárendelt eszköz szinkronizálási kimeneti portjához, majd a következő eszköz portjának Szinkronizálás portjához.
- Ismételje meg az előző lépést, amíg az összes eszköz csatlakoztatva nem lesz. Az utolsó eszköznek csak egy kábelkapcsolattal kell rendelkeznie. A szinkronizálási kimenő portnak üresnek kell lennie.
Azure Kinect DK-eszközök csatlakoztatása csillagkonfigurációban
- Csatlakoztassa az egyes Azure Kinect DK-okat a tápellátáshoz.
- Csatlakoztassa az egyes eszközöket a gazdaszámítógéphez.
- Válasszon ki egy eszközt a főeszközként, és csatlakoztassa a fejhallgató-elválasztó egyetlen végét a Sync out portjához.
- Csatlakoztassa a 3,5 mm-es hangkábeleket a fejhallgató-elválasztó "felosztott" végeihez.
- Csatlakoztassa az egyes kábelek másik végét a Szinkronizáláshoz az egyik alárendelt eszköz portjában.
Ellenőrizze, hogy az eszközök csatlakoztatva vannak-e és kommunikálnak-e
Annak ellenőrzéséhez, hogy az eszközök megfelelően csatlakoznak-e, használja az Azure Kinect Viewert. Ismételje meg ezt az eljárást szükség szerint az egyes alárendelt eszközök és a főeszköz együttes teszteléséhez
Fontos
Ehhez az eljáráshoz ismernie kell az egyes Azure Kinect DK-k sorozatszámát.
- Nyissa meg az Azure Kinect Viewer két példányát.
- Az Eszköz megnyitása csoportban válassza ki a tesztelni kívánt alárendelt eszköz sorozatszámát.
Fontos
Az összes eszköz pontos képrögzítési igazításához a fő eszközt kell utoljára elindítania.
- A Külső szinkronizálás csoportban válassza az Al lehetőséget.
- Válassza az Indítás lehetőséget .
Feljegyzés
Mivel ez egy alárendelt eszköz, az Azure Kinect Viewer nem jelenít meg képet az eszköz elindítása után. Nem jelenik meg kép, amíg az alárendelt eszköz nem kap szinkronizálási jelet a főeszköztől.
- Az alárendelt eszköz elindítása után az Azure Kinect Viewer másik példányával nyissa meg a fő eszközt.
- A Külső szinkronizálás területen válassza a Mesteralakzat lehetőséget.
- Válassza az Indítás lehetőséget .
Amikor elindul a fő Azure Kinect-eszköz, az Azure Kinect Viewer mindkét példányának képeket kell megjelenítenie.
Az eszközök kalibrálása szinkronizált készletként
Miután ellenőrizte, hogy az eszközök megfelelően kommunikálnak-e, készen áll a kalibrálásra, hogy egyetlen tartományban készítsen képeket.
Egyetlen eszközön a mélységi és RGB kamerák gyári kalibrálva vannak, hogy működjenek együtt. Ha azonban több eszköznek is együtt kell működnie, kalibrálni kell őket, hogy megállapíthassák, hogyan alakítható át egy kép a rögzített kamera tartományából a képek feldolgozásához használni kívánt kamera tartományára.
Az eszközök keresztkalibrálására több lehetőség is van. A Microsoft biztosítja a GitHub zöld képernyős kódmintáját, amely az OpenCV metódust használja. A kódmintához tartozó Readme-fájl további részleteket és utasításokat tartalmaz az eszközök kalibrálásához.
A kalibrálásról további információt az Azure Kinect kalibrációs függvényeinek használata című témakörben talál.
Következő lépések
A szinkronizált eszközök beállítása után azt is megtudhatja, hogyan használhatja a