Djupkamera för Azure Kinect DK
Den här sidan beskriver hur du använder djupkameran i din Azure Kinect DK. Djupkameran är den andra av de två kamerorna. Som beskrivs i föregående avsnitt är den andra kameran RGB-kameran.
Driftsprinciper
Azure Kinect DK-djupkameran implementerar principen Amplitude Modulated Continuous Wave (AMCW) Time-of-Flight (ToF). Kameran kastar modulerad belysning i nir-spektrumet (near-IR) på scenen. Den registrerar sedan en indirekt mätning av den tid det tar ljuset att resa från kameran till scenen och tillbaka.
Dessa mätningar bearbetas för att generera en djupkarta. En djupkarta är en uppsättning Z-koordinatvärden för varje bildpunkt, mätt i millimeterenheter.
Tillsammans med en djupkarta får vi även en så kallad ren IR-läsning. Värdet för pixlar i den rena IR-avläsningen är proportionellt mot mängden ljus som returneras från scenen. Bilden ser ut ungefär som en vanlig IR-avbildning. Bilden nedan visar ett exempel på djupkarta (vänster) och en motsvarande ren IR-bild (höger).
Nyckelfunktioner
De tekniska egenskaperna hos djupkameran är:
- 1-Megapixel ToF imaging chip med avancerad pixelteknik som möjliggör högre moduleringsfrekvenser och djupprecision.
- Två NIR-laserdioder som aktiverar djuplägen för nära och brett synfält (FoV).
- Världens minsta ToF-pixel, 3,5 μm x 3,5 μm.
- Automatisk markering per bildpunkt ger ett stort dynamiskt omfång som gör att nära och fjärran objekt kan fångas in på ett korrekt sätt.
- Global slutare som ger bättre prestanda i solljus.
- Metod för djupberäkning i flera faser som möjliggör robust noggrannhet även i närvaro av variation av chip, laser och strömförsörjning.
- Låga systematiska och slumpmässiga fel.
Djupkameran överför råa modulerade IR-bilder till värddatorn. På datorn konverterar GPU:ns accelererade djupmotorprogramvara den råa signalen till djupkartor. Djupkameran har stöd för flera lägen. De smala lägena (FoV) är idealiska för scener med mindre omfattningar i X- och Y-dimensioner, men större utsträckning i Z-dimensionen. Om scenen har stora X- och Y-utsträckningar, men mindre Z-intervall, passar de breda FoV-lägena bättre.
Djupkameran stöder 2x2-binningslägen för att utöka Z-intervallet i jämförelse med motsvarande obindade lägen. Binning görs på bekostnad av att sänka bildupplösningen. Alla lägen kan köras med upp till 30 bildrutor per sekund (fps) med undantag för läget 1 megapixel (MP) som körs med en maximal bildfrekvens på 15 fps. Djupkameran ger också ett passivt IR-läge. I det här läget är belysningarna på kameran inte aktiva och endast omgivande belysning observeras.
Kameraprestanda
Kamerans prestanda mäts som systematiska och slumpmässiga fel.
Systematiskt fel
Systematiska fel definieras som skillnaden mellan det uppmätta djupet efter brusborttagning och rätt djup (mark sanning). Vi beräknar det tidsmässiga genomsnittet över många bildrutor i en statisk scen för att eliminera djupbrus så mycket som möjligt. Mer exakt definieras det systematiska felet som:
Om dt anger måttdjupet vid tidpunkten t, är N antalet bildrutor som används i genomsnittsproceduren och dgt är markens sanningsdjup.
Djupkamerans systematiska felspecifikation utesluter multi-path interferens (MPI). MPI är när en sensorpixel integrerar ljus som återspeglas av mer än ett objekt. MPI minimeras delvis i vår djupkamera med hjälp av högre moduleringsfrekvenser, tillsammans med djupförstängningen, som vi kommer att introducera senare.
Slumpmässigt fel
Anta att vi tar 100 bilder av samma objekt utan att flytta kameran. Objektets djup skiljer sig något åt i var och en av de 100 bilderna. Den här skillnaden orsakas av skottbrus. Bildbrus är antalet fotoner som träffar sensorn varierar med en slumpmässig faktor över tid. Vi definierar det här slumpmässiga felet på en statisk scen som standardavvikelsen för djup över tid som beräknas som:
Om N anger antalet djupmätningar representerar dt djupmätningen vid tidpunkten t och d anger medelvärdet som beräknas över alla djupmätningar dt.
Ogiltigförklarande
I vissa situationer kanske djupkameran inte ger rätt värden för vissa bildpunkter. I dessa situationer är djuppixlar ogiltiga. Ogiltiga bildpunkter indikeras av att djupvärdet är lika med 0. Orsaker till att djupmotorn inte kan generera rätt värden är:
- Utanför aktiv IR-belysningsmask
- Mättad IR-signal
- Låg IR-signal
- Filtrera extremvärden
- Interferens med flera vägar
Belysningsmask
Bildpunkter ogiltigförklaras när de ligger utanför den aktiva IR-belysningsmasken. Vi rekommenderar inte att du använder signalen för sådana pixlar för att beräkna djup. Bilden nedan visar exemplet på ogiltighet efter belysningsmask. De ogiltigförklarade bildpunkterna är de svarta bildpunkterna utanför cirkeln i de breda FoV-lägena (vänster) och sexhörningen i de smala FoV-lägena (höger).
Signalstyrka
Bildpunkter ogiltigförklaras när de innehåller en mättad IR-signal. När bildpunkterna är mättade går fasinformationen förlorad. Bilden nedan visar exemplet på ogiltighet av en mättad IR-signal. Se pilar som pekar på exempelpixlarna i både djup- och IR-bilder.
Ogiltighet kan också inträffa när IR-signalen inte är tillräckligt stark för att generera djup. Bilden nedan visar exemplet på ogiltighet med en låg IR-signal. Se pilarna som pekar på exempelpixlar i både djup- och IR-bilder.
Tvetydigt djup
Bildpunkter kan också ogiltigförklaras om de tog emot signaler från fler än ett objekt i scenen. Ett vanligt fall där den här typen av ogiltighet kan ses är i hörn. På grund av scengeometrin reflekterade IR-ljuset från kameran från den ena väggen och på den andra. Detta reflekterade ljus orsakar tvetydighet i pixelns uppmätta djup. Filter i djupalgoritmen identifierar dessa tvetydiga signaler och ogiltigförklarar bildpunkterna.
Siffrorna nedan visar exempel på ogiltighet genom identifiering av flera sökvägar. Du kan också se hur samma yta som har ogiltigförklarats från en kameravy (översta raden) kan visas igen från en annan kameravy (nedre raden). Den här bilden visar att ytor som har ogiltigförklarats från ett perspektiv kan vara synliga från ett annat.
Ett annat vanligt fall av multipath är pixlar som innehåller den blandade signalen från förgrund och bakgrund (till exempel runt objektkanter). Under snabb rörelse kan du se fler ogiltiga bildpunkter runt kanterna. De ytterligare ogiltigförklarade bildpunkterna beror på exponeringsintervallet för den råa djupfångsten.