Hallo zusammen , Könnte mir jemanden vielleicht erklären , wie die Tiefe bei Kinect berechnet wird ? ich bedanke mich im voraus MFG
Die Kinect die mit der Xbox 360 benutzt wird beruht auf structured light/light coding. Die Kinect die mit der Xbox One geliefert wird beruht auf time of flight.
hobbychemiker schrieb: > Das funktioniert mit Radar wer keine Ahnung hat einfach mal die ...... halten. 3D-Erfassungskomponenten Das Interessanteste der Kinect ist die Erzeugung von Tiefendaten. Für die Erzeugung des 3D-Bildes wird bei der Kinect ein Infrarot-Projektor und eine Infrarot-Kamera verwendet. Strukturiertes Licht, als zu Grunde liegendes Prinzip, bildet das Kernstück der 3D-Raumerfassung. Der IR-Projektor sendet eine definierte Punkt-Matrix im Infrarotbereich in den Raum. Diese ist vom menschlichen Auge nicht wahrnehmbar. Die eingebaute IR-Kamera kann dieses Muster aufnehmen und weitergeben. Intern werden die IR-Kameradaten auf dem PS1080-A2-Chip des Herstellers PrimeSense in räumliche Koordinaten umgerechnet[5][6][7]. Infrarot-Projektor Als IR-Projektor wird in der Kinect eine Laserdiode (λ=830 nm) der Laserklasse 1 verwendet[2][4]. Auch bei direktem Einfall ins Auge können somit keine Schäden auftreten[8]. Die Leistung des Lasers liegt gleichbleibend bei 60 mW. Um die Temperatur konstant zu halten wird ein Peltier-Element verwendet, welches sowohl kühlen als auch wärmen kann[9]. Das Muster für das strukturierte Licht wird durch eine "Lochschablone" (Diffusor) mit definiertem Muster erzeugt[10]. Infrarot-Kamera Zur Aufnahme des IR-Punktgitters wird ein monochromer CMOS-Sensor verwendet. Dieser arbeitet mit einer Auflösung von 640x480 Bildpunkten bei einer Abtastfrequenz von 30Hz. Die hardwareseitig höhere Auflösung ist firmwareseitg beschränkt[10]. Der Datendurchsatz wird mit 11bit angegeben was einer Abstufung von 2048 (211) Stufen entspricht. Der Sensor hat einen Blickwinkel von 57° horizontal und 43° vertikal[2]. Strukturiertes Licht Abb.3 IR-Aufnahme einer Wand beleuchtet mit strukturiertem Licht der Kinect und vorgestelltem Buch Das der 3D Erfassung zu Grunde liegende Prinzip ist das des Strukturierten Lichtes. Ein ähnliches Funktionsprinzip wird bei der Lichtstreifenmessung verwendet. Bei der Kinect liegt der Messung kein Lichtstreifen sondern eine Lichtpunktewolke zu Grunde. Die Grundstruktur der Wolke ist definiert und bekannt[12]. Die Tiefe wird durch Triangulation gegen die bekannte Schablone berechnet. Dazu stehen IR-Projektor und Kamera in einem definierten Abstand zueinander. Trifft diese Wolke auf ein unebenes Objekt wird der Abstand der Punkte zueinander im Kameraabbild verändert. Durch diese Deformation der Punktwolke, zu sehen in Abb.2, lassen sich Tiefenabstände der Punkte zueinander triangulieren[13]. Farbkamera Zusätzlich zur Tiefenkamera besitzt die Kinect einen Farbkamera zur Aufnahme von 2D-Farbbildern. Darin arbeitet ein Bayer-Sensor im 8 bit VGA-Bereich bei einer Auflösung von 640x480 Pixel[2]. Die technisch mögliche Auflösung von 1280x1024 kann bei 10Hz mit speziellen Treibern genutzt werden[14]. Diese Farbkamera kann zur gewöhnlichen Aufnahme vom 2D Bildern genutzt werden, oder um die erzeugten 3D-Geometrien mit Texturen zu versehen. Array-Mikrofone Über den Kinect-Korpus sind insgesamt vier Mikrofone verteilt. Jedes Mikrofon arbeitet mit 16bit bei einer Samplerate von 16kHz[2]. Diese dienen dazu, Sprachbefehle einer Person vor der Kamera exakt zuzuordnen. Distanz der Tiefenkamera Abb.4 Messfehler der Tiefenmessung in Bezug zum Objektabstand Im Spielkonsolenbetrieb gibt Microsoft die Entfernungen mit einem Bereich von 1,2m bis 3,5m an. [17]. Dieser Bereich ist primär für die Gestenerkennung an der Xbox360 gedacht. Mit den original Microsoft SDK -Treibern liegt der messbare Bereich zwischen 0,8 m und 4 m[2]. Mit anderen Treibern sind Erkennungsbereiche zwischen 0,6 m und 10 m realisierbar[18]. Geringere Entfernungen können wegen der resultierenden Paralaxe zwischen IR-Projekter und IR-Kamera nicht ohne zusätzliche Optik ermöglicht werden. Die höchste Tiefenerkennung der rohen Tiefendaten liegt mit 2mm bei einer Entfernung von 800mm[19][20]. Dies liegt sowohl an der Verteilung der Punktmatrix als auch an dem internen Umrechnungsalgorhythmus. Die Tiefenauflösung variiert mit der Entfernung. Abb.4 veranschaulicht das Verhältnis. Auflösung der Tiefenkamera Die USB-Bandbreitenbestimmungen der Xbox360 beschränken die maximale Auflösung an der Spielkonsole auf 320×240. Unter Verwendung der offiziellen Microsoft SDK- Treiber kann zwischen drei Auflösungen gewählt werden: 640×480, 320×240 und 80×60. Diese können alle bei einer Bildfrequenz von 30Hz betrieben werden. Bei einem Abstand vom 800mm ergibt sich aus den Blickwinkeln der Sensoren, 57° horizontal und 43° vertikal, ein Blickfeld von 870mm x 630mm. Bei der maximal möglichen Auflösung des Tiefensensors vom 640×480 ergibt sich somit ein maximal unterscheidbarer Abstand vom 1,4mm in der Horizontalen und 1,3mm in der Vertikalen[21]. Auch wenn die Auflösung des verbauten Sensors 1280×1024 Pixel erkennen kann, scheint diese nach aktuellen Erkenntnissen firmwareseitig auf die genannte VGA-Auflösung beschränkt zu sein[22]. http://wiki.zimt.uni-siegen.de/fertigungsautomatisierung/index.php/Einsatzm%C3%B6glichkeiten_einer_3D-Kamera_in_der_Produktionstechnik_am_Beispiel_der_Kinect-Kamera#Aufbau_und_Funktionsweise
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.