-
Die vorliegende Erfindung betrifft ein Verfahren sowie ein System zum Erkennen von einem oder mehreren Objekten, die in einem Bild bzw. in entsprechenden Bilddaten anhand einer Punktwolke repräsentiert sind.
-
In vielen verschiedenen technischen Anwendungen stellt sich die Aufgabe, Bilddaten, also Daten die ein Bild oder eine Abfolge von Bildern, wie etwa ein Video, repräsentieren, dahingehend zu analysieren ob und gegebenenfalls welche Objekte in dem bzw. den Bildern abgebildet sind. Auch das Erkennen von Bewegungen oder Veränderungen solcher Objekte auf Basis solcher Bilder bzw. Bilddaten sind regelmäßig von Interesse.
-
Zu den Methoden zur Erzeugung von Bildern bzw. Bilddaten gehören neben den bekannten Verfahren der Fotographie oder der Aufnahme von „bewegten Bildern“, wie etwa von Videoaufnahmen, auch Methoden der, insbesondere diskreten, Abtastung einer realen Szene mit einem oder mehreren zugehörigen realen Objekten (z.B. Personen oder Dingen), bei dem die resultierenden Bilddaten eine zwei- oder dreidimensionale Punktwolke repräsentieren. Eine solche Abtastung kann insbesondere mit Bildsensoren durchgeführt werden, die eine Szene auch in der Tiefendimension abtasten. Beispiele für solche Bildsensoren sind insbesondere Stereokameras, Flugzeitsensoren (Flugzeit- bzw. Time-of-Flight (TOF)-Sensoren), und elektrooptische Entfernungssensoren (Laser Range Finders (LRF)-Sensoren). Alternativ können solche Punktwolken auch durch Radar-, Lidar- oder Ultraschallsensoren generiert werden. Alternativ können solche Punktwolken aber auch künstlich generiert werden, ohne dass dazu zwingend eine reale Szene sensorisch erfasst werden muss. Insbesondere können solche Punktwolken im Rahmen bzw. als Ergebnis von Simulationen, insbesondere von Simulationen realer Szenen, künstlich, insbesondere computergestützt, generiert werden.
-
Bei einigen Anwendungen kann es erforderlich sein, eine Segmentierung (im Sinne der Bildverarbeitung) einer solchen Punktwolke vorzunehmen, um verschiedene Bildbereiche bzw. Bereiche der Punktwolke als Segmente (d.h. Bildsegmente) voneinander unterscheiden bzw. separieren zu können, etwa um einen Bildvordergrund von einem Bildhintergrund zu trennen.
-
Ein einfaches bekanntes Verfahren für eine solche Vordergrund/Hintergrund-Segmentierung für ein durch eine Punktwolke gegebenes Bild besteht darin, die Tiefeninformation bezüglich der Punkte einer Punktwolke mittels eines Schwellwertverfahrens auszuwerten, indem alle Punkte die ausweislich ihrer Tiefeninformation näher liegen als eine bestimmte Tiefenschwelle, dem Bildvordergrund zugeordnet werden, während alle anderen Punkte dem Bildhintergrund zugeordnet werden.
-
Wenn eine durch die Punktwolke repräsentierte Szene beispielsweise zwei verschiedene Objekte enthält, dann kann auf diese Weise auch eine Separierung der beiden Objekte in dem Bild bzw. in der Punktwolke erreicht werden.
-
Ein solches Verfahren stößt jedoch an seine Grenzen, wenn die Objekte nah beieinander liegen, insbesondere so, dass sie in jeder betrachteten Raumdimension überlappen und somit die die jeweiligen die Objekte repräsentierenden einzelnen Punktwolken ohne klar erkennbare Separierung ineinander übergehen und zu einer gemeinsamen Punktwolke verschmelzen.
-
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, die Erkennung von einem oder mehreren Objekten, die in einem Bild bzw. in entsprechenden Bilddaten anhand einer Punktwolke repräsentiert sind, weiter zu verbessern. Insbesondere ist es wünschenswert, dabei eine verbesserte Separierbarkeit verschiedener Objekte zu erreichen.
-
Die Lösung dieser Aufgabe wird gemäß der Lehre der unabhängigen Ansprüche erreicht. Verschiedene Ausführungsformen und Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
-
Ein erster Aspekt der Erfindung betrifft ein, insbesondere computerimplementiertes, Verfahren zum Erkennen von einem oder mehreren in einem Bild anhand einer M-dimensionalen Punktwolke, mit M>1, aus einer Mehrzahl n von Punkten repräsentierten Objekten, wobei das Verfahren aufweist: (i) Bestimmen, für jede einer Anzahl m, mit m > 0, von bestimmten eindimensionalen Größen, eines jeweiligen zugeordneten Werts der Größe zu jedem der Punkte auf Basis von dessen Position oder Eigenschaften; (ii) Bestimmen, für jede der Größen, einer jeweiligen Häufigkeitsverteilung bezüglich der für die verschiedenen Punkte jeweils bestimmten Werte dieser Größe; (iii) Approximieren jeder der Häufigkeitsverteilungen mittels einer jeweiligen Linearkombination einer endlichen Anzahl von der zugrundeliegenden Größe zugeordneten eindimensionalen Wahrscheinlichkeitsdichtefunktionen; (iv) Segmentieren des Bildes so, dass im Fall m=1 jeder der Wahrscheinlichkeitsdichtefunktionen und im Fall m>1 jedem Produkt aus m Wahrscheinlichkeitsdichtefunktionen, wobei je eine, insbesondere genau eine, der zugeordneten Wahrscheinlichkeitsdichtefunktionen je Größe in dem Produkt vertreten ist, ein jeweiliges Segment des Bildes eindeutig zugeordnet wird; (v) Jeweiliges Zuordnen jedes Punkts der Punktwolke zu demjenigen Segment, dessen zugeordnete Wahrscheinlichkeitsdichtefunktion im Fall m=1 bzw. dessen zugeordnetes Produkt im Fall m>1 an der Stelle, die durch die dem Punkt zugeordneten Werte der m Größen bestimmt ist, den relativ größten Funktionswert bzw. Produktwert unter den Wahrscheinlichkeitsdichtefunktionen bzw. Produkten aufweist; und (vi) Identifizieren zumindest eines derjenigen Segmente, denen jeweils zumindest eine vorbestimmte Mindestanzahl von Punkten zugeordnet wurde, als Repräsentant eines jeweiligen erkannten Objekts.
-
Unter einer „Punktwolke“ ist im Sinne der Erfindung eine Menge von Punkten eines Vektorraums (soweit nicht nachfolgend für Ausführungsformen auf bestimmte Dimensionen eingeschränkt) beliebiger vorgegebener Dimension M>1 zu verstehen, die insbesondere eine organisierte oder aber eine unorganisierte räumliche Struktur aufweisen kann. Eine Punktwolke ist durch die in ihr enthaltenen Punkte beschrieben, die jeweils insbesondere durch ihre mittels Raumkoordinaten angegebenen Positionen erfasst sein können. Zu den Punkten können zusätzlich Attribute, wie z. B. geometrische Normalen, Farbwerte, Temperaturwerte, Aufnahmezeitpunkte oder Messgenauigkeiten oder andere Informationen, erfasst sein.
-
Unter einer „eindimensionalen Größe“ im Sinne der Erfindung ist eine beliebige ausgewählte Größe zu verstehen, die eindimensional, also als Zahl (mit oder ohne Einheit) vollständig bestimmt werden kann, und die eine Eigenschaft eines Punkts einer Punktwolke kennzeichnet. Die Eigenschaft kann insbesondere eine Positionsinformation, etwa eine Raumkoordinate, oder ein Attribut des Punkts sein oder davon abgeleitet sein. Im Falle einer Positionsinformation kann die Größe insbesondere, ohne jedoch darauf begrenzt zu sein, einer Zuordnung der Position zu einer bestimmten Stelle auf einer Richtungsgeraden (z.B. Koordinatenachse) entsprechen. In einem anderen Beispiel könnte sie jedoch auch einem Abstand des jeweiligen Punkts der Punktwolke zu einem bestimmten Bezugspunkt entsprechen, sodass beispielsweise konzentrisch im gleichen Abstand von diesem Bezugspunkt liegende Punkte denselben Wert für die Größe aufweisen.
-
Sei X eine stetige Zufallsvariable (vorliegend eine stetige Variable, die, eine der eindimensionalen kennzeichnenden Größen repräsentiert). Unter einer „eindimensionalen Wahrscheinlichkeitsdichtefunktion“ im Sinne der Erfindung ist dann eine mathematische Funktion f(x) der eindimensionalen Zufallsvariable X zu verstehen, für die gilt:
β(α. < X ≤ b) steht hierbei für die Wahrscheinlichkeit oder tatsächlichen Häufigkeit des Auftretens eines Wertes für x aus dem durch a und b spezifizierten Werteintervall ]a;b]. Speziell für den Wert c = 1 des Skalierungsfaktors c stimmt diese Definition von f(x) mit der in der Mathematik üblichen Definition einer Wahrscheinlichkeitsdichtefunktion einer eindimensionalen stetigen Zufallsvariable überein. Der Begriff einer „eindimensionalen Wahrscheinlichkeitsdichtefunktion“ im Sinne der Erfindung ist also demgegenüber verallgemeinert, da c hier auch andere Werte als 1 annehmen kann.
-
Unter einem „Segment“ eines Bildes (bzw. einer Punktwolke) ist im Sinne der Erfindung eine inhaltlich zusammenhängende Region eines Bildes (bzw. einer Punktwolke) zu verstehen, die durch Zusammenfassung benachbarter Bildpunkte (bzw. Punkte einer Punktwolke) entsprechend einem bestimmten Homogenitätskriterium definiert ist. Das Homogenitätskriterium kann sich dabei, ohne darauf beschränkt zu sein, insbesondere auf eine Position oder Koordinate oder ein Attribut der Punkte beziehen. Der Zusammenhang der Region kann somit insbesondere in einigen Fällen räumlich zu verstehen sein, während er sich in anderen Fällen insbesondere auf Punkte im Sinne des Homogenitätskriteriums gleicher oder ähnlicher Attribute beziehen kann.
-
Die hierein gegebenenfalls verwendeten Begriffe „umfasst“, „beinhaltet“, „schließt ein“, „weist auf“, „hat“, „mit“, oder jede andere Variante davon sollen eine nicht ausschließliche Einbeziehung abdecken. So ist beispielsweise ein Verfahren oder eine Vorrichtung, die eine Liste von Elementen umfasst oder aufweist, nicht notwendigerweise auf diese Elemente beschränkt, sondern kann andere Elemente einschließen, die nicht ausdrücklich aufgeführt sind oder die einem solchen Verfahren oder einer solchen Vorrichtung inhärent sind.
-
Ferner bezieht sich „oder“, sofern nicht ausdrücklich das Gegenteil angegeben ist, auf ein inklusives oder und nicht auf ein exklusives „oder“. Zum Beispiel wird eine Bedingung A oder B durch eine der folgenden Bedingungen erfüllt: A ist wahr (oder vorhanden) und B ist falsch (oder nicht vorhanden), A ist falsch (oder nicht vorhanden) und B ist wahr (oder vorhanden), und sowohl A als auch B sind wahr (oder vorhanden).
-
Die Begriffe „ein“ oder „eine“, wie sie hier verwendet werden, sind im Sinne von „ein/eine oder mehrere“ definiert. Die Begriffe „ein anderer“ und „ein weiterer“ sowie jede andere Variante davon sind im Sinne von „zumindest ein Weiterer“ zu verstehen.
-
Der Begriff „Mehrzahl“, wie er hier verwendet wird, ist im Sinne von „zwei oder mehr“ zu verstehen.
-
Unter dem Begriff „konfiguriert“ oder „eingerichtet“ eine bestimmte Funktion zu erfüllen, (und jeweiligen Abwandlungen davon) ist im Sinne der Erfindung zu verstehen, dass die entsprechende Vorrichtung bereits in einer Ausgestaltung oder Einstellung vorliegt, in der sie die Funktion ausführen kann oder sie zumindest so einstellbar - d.h. konfigurierbar - ist, dass sie nach entsprechender Einstellung die Funktion ausführen kann. Die Konfiguration kann dabei beispielsweise über eine entsprechende Einstellung von Parametern eines Prozessablaufs oder von Schaltern oder ähnlichem zur Aktivierung bzw. Deaktivierung von Funktionalitäten bzw. Einstellungen erfolgen. Insbesondere kann die Vorrichtung mehrere vorbestimmte Konfigurationen oder Betriebsmodi aufweisen, so dass das konfigurieren mittels einer Auswahl einer dieser Konfigurationen bzw. Betriebsmodi erfolgen kann.
-
Das vorgenannte Verfahren nach dem ersten Aspekt beruht folglich insbesondere darauf, die Punktewolke mittels einer oder mehreren ausgewählten, jeweils eindimensionalen Größen zu beschreiben, die jeden Punkt der Punktwolke jeweils auf Basis von dessen Position oder Eigenschaften kennzeichnen, und jeweils eine darauf gründende Häufigkeitsverteilung der Werte der jeweiligen Größe mittels eindimensionaler Wahrscheinlichkeitsdichtefunktionen (im Sinne der Näherungs- bzw. Ausgleichsrechnung) zu approximieren. Auf Basis dieser Approximation, insbesondere den jeweiligen Funktionswerten der verschiedenen Wahrscheinlichkeitsdichtefunktionen zu dem zu einem betrachteten Punkt jeweils gehörigen Werten der jeweiligen Größe, kann dieser Punkt sodann eindeutig einem Segment des Bildes bzw. der Punktwolke zugeordnet werden. Dies ist in vielen Fällen selbst dann möglich, wenn die Punktwolkenanteile verschiedener Objekte bzw. von einem Objekt und dem Bildhintergrund nahe beieinander liegen. Dies kann insbesondere dazu verwendet werden, die Abbilder mehrerer durch eine Punktwolke repräsentierten Objekte voneinander zu separieren. Insbesondere kann so die Genauigkeit der Separation erhöht bzw. die Fehlerquote gesenkt werden. Besonders hohe Genauigkeiten bzw. niedrige Fehlerquoten können im Fall m>1 erreicht werden, da hier verschiedene, voneinander unabhängige Größen zusammenwirken, um noch schärfere Separierungskriterien für die Zuordnung der Punkte zu je einem Bildsegment und somit ggf. zu einem zugehörigen Objekt zu liefern. So können in vielen Fällen auch solche Abbilder von Objekten gut voneinander separiert werden, die bei Verwendung nur einer Größe nicht oder nur mit höherer Fehlerquote bzgl. der Punktezuordnung zu trennen wären.
-
Nachfolgend werden bevorzugte Ausführungsformen des Verfahrens beschrieben, die jeweils, soweit dies nicht ausdrücklich ausgeschlossen wird oder technisch unmöglich ist, beliebig miteinander sowie mit den weiteren beschriebenen anderen Aspekten der Erfindung kombiniert werden können.
-
Bei einigen Ausführungsformen für den Fall m=1 erfolgt dass Zuordnen der Punkte der Punktwolke zu je einem Segment so (Segmentierungskriterium), dass jeder zuzuordnende Punkt in Abhängigkeit vom Ergebnis eines Vergleichs des Werts der eindimensionalen Größe für diesen Punkt mit zumindest einem Schwellwert einem Segment des Bildes zuordnet wird. Dabei wird zumindest einer der Schwellwerte so in Abhängigkeit von einem Wert der Größe definiert, an dem einer der Schnittpunkte von zumindest zwei dieser Wahrscheinlichkeitsdichtefunktionen auftritt, dass der Schwellwert dem Wert der Größe für diesen Schnittpunkt entspricht.
-
Diese Vorgehensweise kann insbesondere auch so veranschaulicht werden, dass mittels des Schwellwerts im M-dimensionalen Raum, in dem die Punktwolke definiert ist, im Falle M=2 eine Separationslinie, im Falle M=3 eine Separationsebene und im Falle M>3 eine Separationshyperebene festgelegt wird, die verschiedenen Segmenten zuzuordnende Punkte voneinander separiert. Falls es mehr als zwei Segmente und somit zwei oder mehr verschiedene Schwellwerte gibt, treten entsprechen mehrere solcher Separationslinien bzw. (Hyper-)ebenen auf.
-
Das o.g. Segmentierungskriterium lässt sich so auf einfache Weise festlegen und effizient ohne großen Rechenaufwand anwenden, um die einzelnen Punkte jeweils einem Segment zuzuordnen. Die Definition des bzw. der Schwellwerte in Abhängigkeit von dem bzw. den Schnittpunkten der Wahrscheinlichkeitsdichtefunktionen ist dabei insbesondere auch im Hinblick auf das Ziel einer möglichst zuverlässigen (fehlerarmen bzw. fehlerfreien) Zuordnung vorteilhaft. Wenn nämlich die Wahrscheinlichkeitsdichtefunktionen für die Linearkombination durch die Approximation so bestimmt sind, dass sie jeweils gut die jeweilige Häufigkeitsverteilung der Größe für ein bestimmtes Objekt approximieren, dann kann man gemäß der oben genannten Beziehung (1) ihr Integral über ein bestimmtes Werteintervall, in dem zu einem bestimmten Punkt der zugehörige Wert für die Größe liegt, mit einer jeweiligen Wahrscheinlichkeit dafür assoziieren, dass der Punkt zu dem durch die jeweilige Wahrscheinlichkeitsdichtefunktion approximierten Objekt gehört. Wird demnach ein Punkt aufgrund seines Wertes für die Größe als Ergebnis des Vergleichs mit dem Schwellwert einem bestimmten Segment zugeordnet, so bedeutet dies, dass er mit einer höheren Wahrscheinlichkeit zu dem mit diesem Segment assoziierte Objekt gehört als zu dem anderen Objekt, dessen assoziiertes Segment mittels des Schwellwerts vom zugeordneten Segment separiert ist.
-
Bei einigen Ausführungsformen gibt zumindest eine der m Größen für jeden der Punkte der Punktwolke eine auf eine ausgewählte feste Raumrichtung projizierte Lage dieses Punkts entlang dieser Raumrichtung an. Auf diese Weise ist insbesondere eine Separierung von verschiedenen Objekten oder von Objekt und Hintergrund auf Basis der räumlichen Lage der Punkte (entlang der Raumrichtung) ermöglicht. Das kann beispielsweise genutzt werden, um in einer zwei- oder dreidimensionalen Punktewolke (M∈{2;3}) mit Tiefendimension z , eine Segmentierung des Bildes bzw. der Punktwolke auf Basis der durch die Punktepositionen gegebenen Tiefeninformation zu erreichen, insbesondere auch im Sinne einer Vordergrund/Hintergrundsegmentierung. Die Raumrichtung kann insbesondere zur Richtung einer Koordinatenachse eines zur Festlegung der Positionen der Punkte im M-dimensionalen Raum verwendeten Koordinatensystems entsprechen.
-
Bei einigen Ausführungsformen wird die feste Raumrichtung so ausgewählt, dass sie orthogonal zu einer ersten Hauptkomponente verläuft, die aus einer auf die Punktwolke angewandten Hauptkomponentenanalyse resultiert. Dies ist insbesondere für die Erkennung von Objekten vorteilhaft, die hinsichtlich einer Raumrichtung vom Hintergrund oder anderen Objekten separiert werden sollen, die nicht mit der Richtung der ersten Hauptkomponente zusammenfällt, vorzugsweise sogar, zumindest im Wesentlichen, senkrecht dazu steht. Da die erste Hauptkomponente aus einer Hauptkomponentenanalyse bei nicht kugelsymmetrischen Objekten die dominante Komponente darstellt, lassen sich so folglich insbesondere solche Objekte gut separieren, deren dominante Komponente zumindest weitgehend quer zur betrachteten festen Raumrichtung verläuft. Wenn beispielsweise die ausgewählte feste Raumrichtung der Tiefenrichtung (z.B. „z“-Richtung) eines Tiefenbilds entspricht, dann kann ein Arm, der quer zu Tiefenrichtung im Bild abgebildet ist und dessen der Längsrichtung des Arms entsprechende Hauptkomponente somit auch quer (z.B. in x- oder y-Richtung orthogonal zur z-Richtung) zur ausgewählten festen Raumrichtung verläuft, besonders gut erkannt bzw. separiert werden.
-
Speziell kann bei einigen Ausführungsformen, für die M E {2;3} gilt, die feste Raumrichtung so ausgewählt werden, dass sie im Falle M=2 der aus der Hauptkomponentenanalyse resultierenden zweiten Hauptkomponente und im Falle M=3 der aus der Hauptkomponentenanalyse resultierenden dritten Hauptkomponente entspricht. Somit wird als feste Raumrichtung die am wenigsten dominante der Hauptkomponenten gewählt, so dass damit solche Objekte besonders gut erkannt bzw. separiert werden können, deren dominanteren ersten bzw. zweiten Hauptkomponenten quer, insbesondere orthogonal, zu der festen Raumrichtung liegen.
-
Bei einigen Ausführungsformen weist das Verfahren des Weiteren auf: Filtern des Bildes so, dass es nach der Filterung nur noch solche Punkte der Punktwolke enthält, die einem der Segmente zugeordnet wurden, die jeweils als Repräsentant eines jeweiligen erkannten Objekts identifiziert wurden. Auf diese Weise lässt sich insbesondere eine Filterfunktion implementieren, die bewirkt, dass nur das bzw. die interessierenden Objekte erkannt bzw. identifiziert wird, während gegebenenfalls andere Objekte oder der Bildhintergrund zumindest weitgehend ignoriert werden (Bis auf gegebenenfalls solche Punkte, die irrtümlich dem bzw. den interessierenden verbleibenden Objekten zugeordnet wurden).
-
Speziell kann bei einigen dieser Ausführungsformen das Filtern des Bildes so erfolgen, dass es nach der Filterung nur noch solche Punkte der Punktwolke enthält, die genau einem bestimmten ausgewählten derjenigen Segmente zugeordnet wurden, das als Repräsentant eines zugeordneten erkannten Objekts identifiziert wurde. So lässt sich ein Ergebnis erzielen, bei dem höchstens oder insbesondere nur genau ein einziges Objekt identifiziert wird.
-
Bei einigen Ausführungsformen, bei denen für m=1 die Größe für jeden der Punkte der Punktwolke eine auf eine ausgewählte feste Raumrichtung projizierte Lage dieses Punkts entlang dieser Raumrichtung angibt, wird dasjenige Segment aus der Menge der jeweils als Repräsentant eines jeweiligen erkannten Objekts identifizierten Segmente ausgewählt, dessen zugeordnete Punkte gemäß ihrer auf die ausgewählte feste Raumrichtung projizierten Lagen in Blickrichtung entlang dieser Raumrichtung betrachtet, im jeweiligen Mittel betrachtet, näher liegen als die einem beliebigen anderen der identifizierten Segmente zugeordneten Punkte. Dies ist insbesondere zum Zwecke der Vordergrund-/Hintergrund-Segmentierung vorteilhaft einsetzbar, wenn nur ein (bzw. das) zuvorderst liegendes Objekt als Vordergrund erkannt werden soll.
-
Bei einigen Ausführungsformen gilt m>1 und zumindest eine der m Größen gibt für jeden der Punkte der Punktwolke einen Temperaturwert oder einen Farbwert an. Eine andere der m Größen kann sich insbesondere auf die Position des jeweiligen Punkts beziehen. So kann insbesondere dann eine besonders zuverlässige, d.h. trennscharfe, Segmentierung erreicht werden, wenn das bzw. die zu identifizierenden Objekte typischerweise eine von ihrer Umgebungstemperatur abweichende Oberflächentemperatur aufweisen, wie das insbesondere bei lebenden Objekten, insbesondere Personen oder Tieren, meist der Fall ist.
-
Bei einigen Ausführungsformen werden Output-Daten generiert (und vorzugsweise ausgegeben, insbesondere über eine Schnittstelle), die das Ergebnis der erfolgten Zuordnung der Punkte zu Segmenten bzw. der Identifizierung von zumindest einem erkannten Objekt auf eine oder mehrere der folgenden Weisen repräsentieren: (i) die Output-Daten repräsentieren für zumindest eines der Objekte ein Abbild dieses Objekts auf Basis von einem oder mehreren, insbesondere sämtlichen, derjenigen Punkte der Punktwolke, die dem zu diesem Objekt gehörenden Segment zugeordnet wurden; (ii) die Output-Daten repräsentieren eine Information, die angibt, wie viele verschiedenen Objekte mittels der Segmentzuordnung der Punkte in dem Bild erkannt wurden; (iii) die Output-Daten repräsentieren eine Information, die angibt, zu welchem jeweiligen Segment bzw. Objekt die Punkte jeweils zugeordnet wurden; (iv) die Output-Daten repräsentieren eine Information, die für zumindest eine Teilmenge der Punkte den jeweiligen Funktionswert einer oder mehrerer der Wahrscheinlichkeitsdichtefunktionen an der Stelle angibt, die durch die dem Punkt zugeordneten Werte der m Größen bestimmt ist. Im Falle von Option (i) kann das Abbild insbesondere durch einen bestimmten Punkt aus der Menge der dem Segment zugeordneten Punkte oder als in Abhängigkeit von diesen Punkten bestimmter, insbesondere berechneter Punkt bestimmt werden, beispielsweise als Mittelpunkt der Verteilung der Punkte der Menge. Das Abbild kann stattdessen insbesondere auch als ein durch die Punkte der Menge aufgespannter Raumbereich oder Körper definiert sein.
-
Bei einigen Ausführungsformen weisen für zumindest eine (insbesondere für sämtliche) der m Größen die zugehörigen (jeweiligen) Wahrscheinlichkeitsdichtefunktionen jeweils einen Verlauf auf, bei dem der Funktionswert in Abhängigkeit von dem Wert der Größe bis zu einem Maximum ansteigt und danach wieder abfällt, wobei das Maximum das einzige auftretende Maximum im Verlauf der Wahrscheinlichkeitsdichtefunktion ist. Ein solcher Funktionsverlauf, der insbesondere glockenartig (symmetrisch oder auch asymmetrisch) sein kann, ist insbesondere dann besonders gut für das Verfahren und insbesondere zur Approximation von Häufigkeitsverteilungen für die durch Abtastung von Objekten generierten Punktewolken geeignet, wenn das bzw. die Objekte jeweils eine konvexe Form aufweisen.
-
Insbesondere kann bei einigen dieser Ausführungsformen zumindest eine (insbesondere jede) der jeweiligen Wahrscheinlichkeitsdichtefunktionen für zumindest eine der m Größen eine Gaußfunktion sein. Die Gaußfunktion bzw. Gaußfunktionen können insbesondere normiert oder mittels eines Parameters normierbar sein (z.B. so, dass in Formel (3) oben c =1) gilt. Neben der o.g. guten Eignung zur Approximation von Häufigkeitsverteilungen für die durch Abtastung von konvexen Objekten generierten Punktewolken hat die Wahl von Gaußfunktionen auch den Vorteil, dass hierzu eine Mehrzahl von bekannten effizienten und robusten Approximationsverfahren zur Verfügung steht.
-
Bei einigen Ausführungsformen wird zumindest eine der Häufigkeitsverteilungen einem jeweiligen Glättungsprozess unterworfen und das Approximieren im Hinblick auf diese zumindest eine Häufigkeitsverteilung erfolgt bezüglich der mittels des Glättungsprozesses geglätteten entsprechenden Häufigkeitsverteilung. Auf diese Weise kann die Qualität der Approximierung und somit die Qualität und Zuverlässigkeit der darauf aufbauenden Erkennung bzw. Separierung von durch die Punktewolke repräsentierten Objekten weiter gesteigert werden.
-
Bei einigen Ausführungsformen wird auf Basis der jeweiligen Punkte eines oder mehrerer der Segmente, die als Repräsentanten eines jeweiligen Objekts identifiziert wurden, ein Prozess zur Gestenerkennung ausgeführt, um eine in dem Bild mittels der Punktwolke abgebildete Geste einer Person zu erkennen. Dies kann insbesondere im Rahmen einer Automotive-Anwendung erfolgen, insbesondere im Zusammenhang mit einer Gestenerkennung bezüglich von durch einen Insassen eines Fahrzeugs ausgeführten Gesten zur Steuerung einer Funktionalität des Fahrzeugs.
-
Ein zweiter Aspekt der Erfindung betrifft ein System zur Datenverarbeitung, aufweisend zumindest einen Prozessor, der so konfiguriert ist, dass er das Verfahren nach dem ersten Aspekt der Erfindung ausführt.
-
Das System kann insbesondere ein Computer oder ein Steuergerät für ein anderes oder übergeordnetes System, wie etwa für ein Fahrzeug oder für eine Produktionsmaschine oder -Linie sein.
-
Ein dritter Aspekt der Erfindung betrifft ein Computerprogramm mit Instruktionen, die bei ihrer Ausführung auf einem System nach dem zweiten Aspekt dieses veranlassen, das Verfahren nach dem ersten Aspekt auszuführen.
-
Das Computerprogramm kann insbesondere auf einem nichtflüchtigen Datenträger gespeichert sein. Bevorzugt ist dies ein Datenträger in Form eines optischen Datenträgers oder eines Flashspeichermoduls. Dies kann vorteilhaft sein, wenn das Computerprogramm als solches unabhängig von einer Prozessorplattform gehandelt werden soll, auf der das ein bzw. die mehreren Programme auszuführen sind. In einer anderen Implementierung kann das Computerprogramm als eine Datei auf einer Datenverarbeitungseinheit, insbesondere auf einem Server vorliegen, und über eine Datenverbindung, beispielsweise das Internet oder eine dedizierte Datenverbindung, wie etwa ein proprietäres oder lokales Netzwerk, herunterladbar sein. Zudem kann das Computerprogramm eine Mehrzahl von zusammenwirkenden einzelnen Programmodulen aufweisen.
-
Das System nach dem zweiten Aspekt kann entsprechend einen Programmspeicher aufweisen, in dem das Computerprogramm abgelegt ist. Alternativ kann das System auch eingerichtet sein, über eine Kommunikationsverbindung auf ein extern, beispielsweise auf einem oder mehreren Servern oder anderen Datenverarbeitungseinheiten verfügbares Computerprogramm zuzugreifen, insbesondere um mit diesem Daten auszutauschen, die während des Ablaufs des Verfahrens bzw. Computerprogramms Verwendung finden oder Ausgaben des Computerprogramms darstellen.
-
Die in Bezug auf den ersten Aspekt der Erfindung erläuterten Merkmale und Vorteile gelten entsprechend auch für die weiteren Aspekte der Erfindung.
-
Weitere Vorteile, Merkmale und Anwendungsmöglichkeiten der vorliegenden Erfindung ergeben sich aus der nachfolgenden detaillierten Beschreibung im Zusammenhang mit den Figuren.
-
Dabei zeigt:
- 1 schematisch verschiedene beispielhafte Szenen, jeweils mit einer Objektanordnung aus zwei voneinander zu trennenden Objekten, sowie jeweils dazu ein Schnittbild einer dazu korrespondierenden sensorisch mittels Abtastung der Szene erfassten Punktwolke;
- 2 ein Diagramm zur Veranschaulichung einer beispielhaften Ausführungsform des erfindungsgemäßen Verfahrens für den Fall m=1;
- 3 eine Illustration zur Veranschaulichung der Abhängigkeit der Approximation von der Wahl einer eindimensionalen Größe; und
- 4 ein Diagramm zur Veranschaulichung der Zuordnung von Punkten zu je einem bestimmten Segment bei einer beispielhaften Ausführungsform des erfindungsgemäßen Verfahrens für den Fall m=2, wobei zu jedem Punkt neben der Tiefenkoordinate zusätzlich ein für den jeweiligen Punkt als Attribut erfasster lokaler Temperaturwert des Objekts am Ort des Punktes als Basis der Zuordnung herangezogen wird.
-
In den Figuren werden durchgängig dieselben Bezugszeichen für dieselben oder einander entsprechenden Elemente der Erfindung verwendet.
-
In 1 ist zur Illustration einer durch die Erfindung adressierten beispielhaften Problematik eine Übersicht 100 über verschiedene beispielhafte Szenen 105a, 110a, 115a und 120a sowie jeweils dazu eine entsprechende Schnittansicht 105b, 110b, 115b bzw. 120b durch eine Punktwolke P dargestellt, die mittels Abtastung der jeweiligen Szene mittels eines Tiefenbildsensors, insbesondere einer TOF-Kamera (Flugzeitsensor), erzeugt wurde. Die Tiefenrichtung, auf die sich das erfasste Tiefenbild bezieht und der entlang der tiefen Bildsensor einen Abstand vom Sensor bis zum jeweiligen Objekt misst, ist hier beispielhaft als „z“-Richtung gewählt. Man kann sich somit die TOF-Kamera als über der Szene montiert vorstellen, so dass die Betrachtungsrichtung in z-Richtung vertikal nach unten gerichtet ist. Ein Punkt pi in der Punktwolke ist durch seine (x,y,z)-Koordinaten gegeben, wobei (x,y) eine (horizontale) Ebene rechtwinklig zur Blickrichtung des Sensors, und z der Tiefenwert ist, d.h. der Abstand von dem Punkt zum Sensor.
-
Jede der Szenen zeigt ein erstes Objekt O1, das durch eine menschliche Hand einer Person gebildet ist, sowie ein beliebiges weiteres Objekt O2, was beispielsweise ein weiteres Körperteil der Person oder ein zu einer Inneneinrichtung eines Fahrzeugs gehörender Körper sein kann.
-
Im Falle der Szene 105a, liegen die beiden Objekte O1 und O2 lateral in einer senkrecht zur z- Richtung verlaufenden Richtung (z.B. x-Richtung) nebeneinander, wobei zwischen ihnen entlang dieser Richtung ein Spalt liegt. Aufgrund dieses Spalts lassen sich die zu den beiden Objekten O1 und O2 korrespondieren Punktwolkenanteile, wie in der Schnittansicht 105b dargestellt, leicht voneinander trennen und jeweils einem eigenen Bildsegment bzw. zuordnen. Diese Zuordnung gelingt dabei im Wesentlichen fehlerfrei, jedenfalls dann, wenn der Spalt größer ist als der durchschnittliche Punkteabstand innerhalb der Punktwolke P.
-
Im Falle der Szene 110a, liegen die beiden Objekte O1 und O2 in der z- Richtung gegeneinander versetzt, wobei zwischen ihnen in z-Richtung ein Spalt liegt. Aufgrund dieses Spalts lassen sich auch hier die zu den beiden Objekten O1 und O2 korrespondieren Punktwolkenanteile, wie in der Schnittansicht 110b dargestellt, aufgrund ihrer jeweils deutlich unterschiedlichen Tiefenwerte (z-Koordinaten) leicht voneinander trennen und jeweils einem eigenen Bildsegment und somit Objekt O1 bzw. O2 zuordnen. Auch diese Zuordnung gelingt im Wesentlichen fehlerfrei, jedenfalls dann, wenn der Spalt größer ist als der durchschnittliche Punkteabstand innerhalb der Punktwolke P.
-
Im Falle der Szene 115a, liegen die beiden Objekte O1 und O2 dagegen in der z- Richtung nur durch einen sehr kleinen Spalt separiert gegeneinander versetzt und sie überlappen in der senkrecht zur z-Richtung liegenden Richtung. Die korrespondierende Punktwolke P in Ansicht 115b lässt hier eine Aufteilung der Punktwolke P in jeweils zu den beiden Objekten O1 und O2 korrespondiere Punktwolkenanteile bzw. Segmente auf ähnlich einfache und fehlerfreie Weise wie bei den Szenen 105a und 110a aufgrund eines erkannten Spaltes nicht mehr zu, denn der durchschnittliche Punkteabstand innerhalb der Punktwolke P ist ähnlich groß wie der Spalt.
-
Noch schwieriger ist die Ausgangslage für eine Objektseparierung im Falle der Szene 120a, bei der die beiden Objekte O1 und O2 sowohl in der z- Richtung als auch in einer dazu senkrechten Richtung überlappen oder sich berühren, so dass hier kein durch die Punktewolke P abbildbarer Spalt mehr auftritt und somit eine Objektseparierung bzw. Segmentierung mit einfachen Mitteln, wie zu den Szenen 105a und 105b erläutert, unzuverlässig wird oder vollends scheitert.
-
Bei der in 2 illustrierten beispielhaften Ausführungsform 200 eines erfindungsgemäßen Verfahrens, wird eine mehrere Objekte, hier beispielhaft zwei Objekte O1 und O2, enthaltende Szene 205 bildsensorisch, insbesondere mittels eines Tiefenbildsensors, wie etwa einer TOF-Kamera abgetastet, um ein Abbild der Szene in Form einer Punktwolke P zu generieren, wie in Ansicht 210 dargestellt. Die vom Tiefenbildsensor ausgegebenen Bilddaten können insbesondere für jeden der Punkte pi der Punktwolke P seine jeweilige Koordinate in der Tiefenrichtung, hier als z-Richtung gewählt, sowie optional weitere Koordinaten oder zusätzlich gemessene Eigenschaften der Objekte repräsentieren. Die folgenden Erläuterungen des Verfahrens 200 fokussieren sich dabei auf die z-Koordinate, die im Rahmen des Verfahrens 200 zunächst als einzige verwendete eindimensionale Größe berücksichtigt werden soll, sodass hier zunächst der Fall m=1 betrachtet wird. Der Fall m>1 wird im Weiteren unter Bezugnahme auf 4 adressiert werden.
-
Ausgehend von der Punktwolke P wird eine Häufigkeitsverteilung h(k) bezüglich der in der Punktwolke aufgetretenen z-Koordinaten der Punkte bestimmt, wobei k=k(z) für diskrete Werte von z steht, wie nachfolgend im Einzelnen erläutert werden wird. In Ansicht 220 ist die resultierende Häufigkeitsverteilung h(k) mittels eines sie darstellenden Histogramms illustriert.
-
Mathematisch kann man dies, beispielsweise für den häufigen Fall M=3, für beliebige Tiefenwerte (eindimensionale Größen) verallgemeinert beispielhaft wie folgt ausdrücken: Sei P = {p1,..., pn} eine dreidimensionale Punktwolke und d ∈ ℝ3 ein gegebener Einheitsvektor in einer bestimmten Richtung, die hier als „Tiefenrichtung“ bezeichnet sei. Im vorliegenden Beispiel sei dies beispielhaft die z-Richtung. Sei weiter di := 〈pi,d〉 ∈ ℝ die gerichtete Tiefe (Tiefenwert) des Punkts pi, wobei 〈pi,d〉 das Skalarprodukt der beiden Vektoren pi und d bezeichnet. Der Satz der Tiefenwerte {d1, ..., dn} (im vorliegenden Beispiel gleichbedeutend mit dem Satz der z- Koordinaten der Punkte {pi,..., pn}) dient als Basis der weiteren Schritte zur Objektseparierung bzw. Segmentierung.
-
Eine Häufigkeitsverteilung bezüglich der Tiefenwerte {d
1, ..., d
n} kann nun wie folgt bestimmt werden, insbesondere als Histogramm: Ein solches (Tiefen-)Histogramm habe eine bestimmte Granularität y>0. Beispielsweise könnte y = 1 cm gewählt werden. Zur Erreichung eines guten Kompromisses zwischen Ergebnisqualität der Segmentierung bzw. Objektidentifikation einerseits und der Effizienz, insbesondere in Form von Rechenaufwand, des Verfahrens sollte sich die Wahl von y an den Anforderungen der jeweiligen Anwendung orientieren. Für jeden Tiefenwert d
i sei nun
wobei [.] ein Abrunden symbolisiert. Für j ∈ ℤ sei nun n
j die Anzahl derjenigen i ∈ {1,..., n}, für die j = k
i gilt. Dann definiert die Abbildung h
P: ℤ↦ ℝ:j ↦ n
j ein solches Histogramm zu der Häufigkeitsverteilung.
-
Anschaulich kann man dies wie folgt beschreiben: der Wertebereich der möglichen Tiefenwerte wird in eine Abfolge von Abschnitten der Länge y unterteilt und jeder Punkt pi der Punktwolke P, zumindest jeder einem Segment zuzuordnende Punkt, wird gemäß seinem Tiefenwert di einem der Abschnitte zugewiesen. Das Histogramm gibt dann für jeden Wert j ∈ ℤ die Anzahl derjenigen Punkte an, deren Tiefenwert ungefähr (d.h. im vorliegenden Beispiel abgerundet) j · γ entspricht. Die endlich große Granularität bedingt die vorgenannte Diskretisierung, da allen Werten von di innerhalb desselben Abschnitts derselbe Wert ki für k zugeordnet wird.
-
Nun wieder Bezug nehmend auf das konkrete Beispiel aus 2 wird im weiteren Verlauf des Verfahrens 200 die Häufigkeitsverteilung h(k), vorzugsweise nach einer darauf angewandten Glättung (Ansicht 225), durch eine endliche Linearkombination von Wahrscheinlichkeitsdichtefunktionen, die im vorliegenden Fall jeweils als normierte Gaußfunktionen ausgewählt wurden, approximiert. So ergibt sich eine entsprechende mittels der Gaußfunktionen, im vorliegenden Fall mittels zwei verschiedener Gaußfunktionen f1(k) und f2(k), gebildete Approximationsfunktion F(h(z)) = f1(z) + f2(z), wie in Ansicht 230 illustriert. F(h(z)) ist somit eine Approximation der (geglätteten) Häufigkeitsverteilung aus Ansicht 225.
-
Unter einer normierten Gaußfunktion ist dabei wie üblich eine Funktion ƒ:ℝ ↦ ℝ zu verstehen, die mittels der folgenden Formel darstellbar ist, wobei der Mittelwert µ der Verteilung, die Standardabweichung σ und der Normierungsfaktor c jeweils Parameter der Funktion f (die Schreibweisen „ƒ“ und „ƒ“ werden hierin gleichbedeutend verwendet, gleiches gilt entsprechend für verschiedene Schreibweisen anderer Symbole) sind und im Hinblick auf das Verfahren 200 hier z als unabhängige Variable gewählt wird:
-
Die Approximationsaufgabe besteht somit darin, die Anzahl N verschiedener Gaußfunktionen f
i sowie für jede davon den jeweiligen Parametersatz {µ
i,σ
i,c
i} mit i = 1,...,N zu finden, so dass die (geglättete) Häufigkeitsverteilung h(k) für jeden Wert von k (also den entsprechenden diskreten z-Wert) durch die Summe dieser Gaußfunktionen approximiert wird:
-
Die Wahl von Gaußfunktionen für die Approximation ist in verschiedener Hinsicht vorteilhaft. Insbesondere hat sich gezeigt, dass solche Funktionen eine sehr gute Approximation für Häufigkeitsverteilungen liefern können, wie sie beim Abtasten von konvexen Körpern insbesondere auch vielen Körperteilen des menschlichen Körpers, wie etwa Arme und Beine oder der Kopf mittels eines Tiefenbildsensors auftreten. Betrachtet man jede punktförmige Abstandsmessung bei der Abtastung als eine unabhängige Zufallsvariable, so lässt sich die gute Eignung von Gaußfunktionen für die genannte Approximation insbesondere auch mathematisch auf Basis des zentralen Grenzwertsatzes begründen.
-
Des Weiteren sind verschiedene effiziente Verfahren für eine Funktionsapproximation mittels Gaußkurven verfügbar. Dazu gehört beispielsweise ein Approximationsverfahren, das in A. Goshtasby, W.D. O'Neill, „Curve Fitting by a Sum of Gaussians“, CVGIP: Graphical Models and Image Processing, Vol. 56. Mp 4, July, 1994, pp. 281-288 beschrieben ist. Weitere Beispiele für anwendbare Approximationsverfahren finden sich insbesondere im Internet unter: https://www.researchaate.net/publication/252062037 A Simple Algorithm for Fitting a Gaussian Function DSP Tips and Tricks/link/544732410cf22b3c14e0c0c8/downlo ad oder unter https://stats.stackexchanae.com/auestions/92748/multi-peak-aaussian-fitin-r.
-
Wenn mittels der Approximation die Gaußfunktionen fq(z) bestimmt sind, kann durch jede dieser Gaußfunktionen ein durch sie repräsentiertes Segment des Bildes bzw. der Punktwolke P definiert werden. Sodann kann für jedem Punkt pi ∈ P die Wahrscheinlichkeit dafür, dass dieser Punkt pi zu einem jeweiligen bestimmten Segment gehört, so interpretiert werden, dass diese Wahrscheinlichkeit proportional zu fq(di) ist. Im vorliegenden Beispiel gibt für jeden Punkt pi ∈ P der zugehörige Funktionswert Wert f1(di) die Wahrscheinlichkeit dafür an, dass dieser Punkt pi zu einem ersten Segment des Bildes gehört und entsprechend gibt für jeden Punkt pi ∈ P der zugehörige Funktionswert Wert f2 (di) die Wahrscheinlichkeit dafür an, dass dieser Punkt pi zu einem zweiten, von dem ersten Segment verschiedenen Segment des Bildes gehört.
-
Eine Separierung der beiden Segmente kann somit insbesondere, wie dargestellt, so erfolgen, dass jeder Punkt pi jeweils demjenigen Segment q eindeutig zugeordnet wird, dessen Funktionswert fq(di) für diesen Punkt der höchste unter den verschiedenen Funktionswerten für diesen Punkt ist. Diese Zuordnungsvorschrift ist diese Ansicht 235 illustriert, wo die gestrichelte Trennlinie genau durch den Schnittpunkt der beiden Funktionen f1 und f2 verläuft und alle Punkte oberhalb dieser Trennlinie dem durch f1 repräsentierten ersten Segment (q=1) und alle unterhalb dieser Trennlinie liegenden Punkte dem durch f2 repräsentierten zweiten Segment (q=2) zugeordnet werden. Sollte ein Punkt pi tatsächlich (im Rahmen der Genauigkeit der Darstellung von di) auf der Trennlinie liegen, kann für diesen Fall eine vorbestimmte Zuordnung zu einem ausgewählten der Segmente vorgesehen sein, um Mehrdeutigkeiten zu vermeiden. Bei ausreichend hoher Darstellungsgenauigkeit von di wird dieser Fall aber in der Regel nicht oder eher sehr selten auftreten.
-
Auf Basis dieser Segmentzuordnung kann nun, wie in Ansicht 240 illustriert, eine Identifizierung von einem oder, in diesem Fall, von zwei Objekten O1 und O2 erfolgen, indem sämtliche Punkte eines jeweiligen Segments jeweils genau einem dieser Objekte O1 bzw. O2 zugeordnet werden. Das jeweilige Segment wird so als Repräsentant des jeweils zugehörigen Objekts bestimmt.
-
Es ist jedoch alternativ auch möglich, vor der Objektzuordnung eine Filterung der Punktwolke auf Basis der Segmentierung vorzunehmen, sodass (außer im Grenzfall, dass alle Punkte demselben Objekt zugeordnet wurden) nur eine echte Teilmenge der Segmente nach der Filterung verbleibt und als Basis für die Objektzuordnung dient. Im vorliegenden Beispiel kann auf diese Weise beispielsweise das Segment für q = 2 ausgefiltert werden, dass zu den größeren Tiefenwerten z korrespondiert. Somit kann das erste Segment für q = 1 als Repräsentant eines (in diesem Beispiel einzigen) identifizierten Objekts O1 im Bildvordergrund (in z-Richtung nächstliegendes Segment) bestimmt werden, während das zweite Segment für q = 2 nicht als identifiziertes Objekt, sondern stattdessen gar nicht oder etwa als Bildhintergrund B interpretiert wird.
-
Wie in 3 anhand einer beispielhaften Gegenüberstellung 300 von zwei verschiedenen Szenarien illustriert, kann die Wahl der eindimensionalen Größe insbesondere in dem Fall, dass sie zu einer Position entlang einer bestimmten Richtung (hier beispielhaft der z-Richtung) korrespondiert, Einfluss auf die resultierende Häufigkeitsverteilung, somit auf die daraus per Approximation bestimmten Funktionen und schließlich auch auf die Qualität der Segmentzuordnung und Objektidentifizierung haben.
-
In einem ersten Szenario, das in der Ansicht 305 illustriert ist, ist die z-Richtung so gewählt, dass sie orthogonal zu einer durch den Richtungsvektor
dargestellten Haupterstreckungsrichtung der im Rahmen des Verfahrens als Objekt O
1 zu identifizierenden Hand einer Person verläuft. Im Rahmen der Approximation, hier beispielsweise wieder mittels Gaußfunktionen, ergibt sich die in Ansicht 310 dargestellte Situation, dass die Häufigkeitsverteilung sogar mittels einer einzigen Gaußfunktion gut approximiert werden kann, was wiederum zu einer einfachen und sehr zuverlässigen und genauen Identifikation des Objekts O
1 führt.
-
In dem zweiten Szenario, das in der Ansicht 315 illustriert ist, ist die z-Richtung dagegen so gewählt, dass sie nicht mehr orthogonal, sondern in einem kleineren Winkel zu der durch den Richtungsvektor
dargestellten Haupterstreckungsrichtung der gezeigten und im Rahmen des Verfahrens als Objekt O
1 zu identifizierenden Hand einer Person verläuft. Im Rahmen der Approximation mittels Gaußfunktionen ergibt sich hier die in Ansicht 320 dargestellte Situation, dass die Häufigkeitsverteilung nur noch mittels einer Linearkombination mehrerer Gaußfunktionen gut approximiert werden kann, was wiederum zu einer erschwerten und möglicherweise weniger zuverlässigen oder weniger genauen Identifikation des Objekts O
1 führt.
-
Die Wahl der eindimensionalen Größe ist somit im Falle des ersten Szenarios deutlich zu bevorzugen. Dementsprechend kann das Verfahren 200 insbesondere vorsehen, dass die Wahl der eindimensionalen Richtung auf Basis des Ergebnisses einer Hauptkomponentenanalyse so erfolgt, dass für die eindimensionale Größe eine feste Raumrichtung so ausgewählt wird, dass sie orthogonal zu einer ersten Hauptkomponente verläuft, die aus einer auf die Punktwolke angewandten Hauptkomponentenanalyse resultiert. Insbesondere können in dem vorliegenden Beispielsfall im Falle M=2 die aus der Hauptkomponentenanalyse resultierende zweite Hauptkomponente und im Falle M=3 die aus der Hauptkomponentenanalyse resultierende dritte Hauptkomponente dazu ausgewählt werden (vgl. Richtungsvektor
in Ansicht 305). So wird die am wenigsten dominante Hauptkomponente (hier entlang der z-Richtung) ausgewählt, was in der Regel die Wahrscheinlichkeit dafür optimiert, dass die dominanteste Hauptkomponente zumindest überwiegend senkrecht dazu und somit zur Abtastrichtung (hier z-Richtung) verläuft und daher ein eher dem ersten Szenario angenähertes Szenario mit optimierter Segmentzuordnung und Objektzuordnung resultiert.
-
4 betrifft eine Erweiterung des Verfahrens, insbesondere auch des Verfahrens 200, auf den Fall m>1. Das Diagramm 400 dient zur beispielhaften Veranschaulichung der Zuordnung von Punkten zu je einem bestimmten Segment bei einer beispielhaften Ausführungsform des erfindungsgemäßen Verfahrens für den Fall m=2.
-
Es sei nun noch einmal das beispielhafte Problem betrachtet, eine Hand O1 von einem Hintergrund B zu diskriminieren. Dieses Problem kann wie folgt angegangen werden. Bislang wurde im Verfahren 200 allein die Tiefeninformation des Pixels ausgenutzt, aber selbst dieser fortschrittliche Ansatz kann Grenzen aufweisen: Wenn zum Beispiel im Rahmen einer Bildaufnahme in einem Kraftfahrzeug, die Hand (des Fahrers) zu einem bestimmten Zeitpunkt neben dem Schaltknüppel gehalten wird, und zwar etwa aus Sicht des Bildsensors auf der gleichen Tiefenebene, so dass sich gleiche oder sehr ähnliche Tiefenwerte z für die durch Abtastung der Szene ergebenden Punkte einer Punktwolke ergeben, dann kann die Segmentierung des Bildes bzw. der Punktwolke in ein Segment für die Hand und ein Segment für den Hintergrund B (oder den Schalthebel als zweites Objekt O2) allein aufgrund der Tiefenwerte möglicherweise fehlschlagen.
-
Im Allgemeinen kann bei bestimmten Szenen eine Situation auftreten, bei der die Punkte, die durch das Verfahren für m=1 unterschieden werden können (d.h., dass, sie zu verschiedenen Gauß-Kurven gehören) zu verschiedenen Objekten gehören, aber es ist nicht garantiert, dass solche Punkte, die nicht die auf diese Weise diskriminiert werden, zu einem selben Objekt gehören. Mit anderen Worten, in einem solchen Fall repräsentiert jede Funktion, insbesondere Gaußfunktion, möglicherweise nur eine Objektkategorie (d.h. eine Menge von mehreren Objekten, die nicht durch das gewählte Merkmal weiter diskriminiert wird) und nicht zwingend genau ein einzelnes Objekt.
-
Ein Ansatz, das Verfahren im Hinblick auf seine Trennschärfe zu verbessern, umfasst das Ergänzen um die Berücksichtigung von zumindest einer weiteren eindimensionalen Größe, so dass m>1 gilt. Insbesondere, kann, wie in 4 illustriert, zu jedem Punkt pi neben der Tiefenkoordinate z zusätzlich ein für den jeweiligen Punkt erfasster lokaler Temperaturwert T als zweite Größe und somit zusätzliche Basis für die Zuordnung herangezogen werden.
-
Es sei nun beispielhaft angenommen, dass die Hand eine höhere (Oberflächen)Temperatur als der Hintergrund aufweist und eine Klassifizierung der Punkte pi nach deren jeweiligen lokalen Temperaturwert Ti entsprechend eine auf die Temperatur als unabhängige Variable bezogenen zweite Häufigkeitsverteilung h'(k'(T)) oder kurz h'(T) liefert, die wiederum entsprechend dem Verfahren 200, nur diesmal auf die Temperatur anstelle der z-Koordinate bezogen, durch eine Linearfunktion von Verteilungsdichtefunktionen gi approximiert werden kann.
-
Nun kann entweder in entsprechender Anwendung der Segmentierung gemäß Ansicht 235 aus 2 eine rein temperaturbasierte Segmentierung und darauf aufsetzende Objektidentifikation (entsprechend Ansicht 240) erfolgen. Dies entspricht weiterhin dem Fall m=1, nur mit einer temperaturbasierten Segmentierung anstelle einer Tiefenwert (z-Koordinaten)-basierten Segmentierung.
-
Noch effektiver ist es jedoch, wie in 4 illustriert, beide Größen z und T in Kombination als Grundlage der Segmentierung heranzuziehen. Hier ermöglicht die Größe z die Unterteilung der Punktwolke in die Kategorien nahes Objekt und fernes Objekt bzw. Bildhintergrund. Parallel dazu kann die thermische Größe (Temperatur) T die Punkte in die Kategorien „warme Objekte“ und „kalte Objekte“ unterteilen. So lässt sich im vorliegenden Beispiel eine Unterscheidung von mindestens vier Kategorien (bzw. entsprechenden Segmenten) erreichen: (i) ein warmes und zugleich nahes Objekt, (ii) ein warmes und zugleich fernes Objekt, (iii) ein kaltes und zugleich nahes Objekt und (iv) ein Kaltes und zugleich fernes Objekt. Als fernes Objekt kann optional auch jeweils der Bildhintergrund B betrachtet werden.
-
Mathematisch lässt sich eine solche Verallgemeinerung insbesondere wie folgt darstellen:
- Sei wieder P = {p1, ..., pn} eine durch die sensorische Abtastung der Szene generierte Punktwolke, wobei jedem Punkt pi neben einem Tiefenwert z zusätzlich ein gemessener lokaler Temperaturwert T am Ort der gemessenen Position des jeweiligen Punktes pi zugeordnet wird.
-
Für die zunächst als einzelne Größe betrachtete Tiefe z der Punkte wird wie oben beschrieben eine Approximation gemäß der Beziehung (5) vorgenommen, um eine Linearkombination von Funktionen fq(z) zu bestimmen, welche die Tiefenwertverteilung der Punkte approximiert. Jeder der Funktionen fq(z) repräsentiert dabei wieder ein Tiefensegment.
-
Auf gleiche Weise wird für die ebenfalls zunächst als einzelne Größe betrachtete Temperatur (lokale Temperaturwerte T) der Punkte eine Approximation gemäß der Beziehung (5) vorgenommen, um eine Linearkombination von Funktionen, insbesondere Gaußfunktionen, gr(T) zu bestimmen, welche die Temperaturwertverteilung der Punkte approximiert. Jede der Funktionen gr(T) repräsentiert dabei ein Temperatursegment.
-
Dann kann man den Wert des Produkts ƒq(z(pi)) · gr(T(pi)) oder in abgekürzter Schreibweise ƒq(pi) · gr(pi) als proportional zu der Wahrscheinlichkeit interpretieren, dass der Punkt pi zum kombinierten Segment (q, r) gehört, das als Schnittmenge des Tiefensegments zu q und des Temperatursegments zu r gebildet wird, wobei q und r jeweils Indizes zur Durchnummerierung der Funktionen ƒq bzw. gr sind. Der Wert dieses Produkts wird nun herangezogen, um dem jeweiligen Punkt pi so einem bestimmten der kombinierten Segmente zuzuordnen, dass das Produkt für dieses kombinierte Segment relativ am größten ist, was einer Auswahl der wahrscheinlichsten Zuordnung entspricht.
-
Speziell bei dem Beispiel aus 4 ist das Produkt für den ausgewählten Punkt pi die Kombination ƒ1(pi) · g2(pi) unter allen Kombinationen am größten, so dass der konkrete Punkt pi dem kombinierten Segment (1; 2) zugeordnet wird, was hier dem nächsten und zugleich wärmsten Objekt entspricht. Die Punkte dieses kombinierten Segments können sodann als Punkte eines zu erkennenden Objektes, hier der Hand O1, identifiziert werden.
-
Das erfindungsgemäße Verfahren kann in seinen verschiedenen Varianten für unterschiedlichste Applikationen genutzt werden. Zu solchen Applikationen gehören insbesondere die Separierung von Abbildern verschiedener Körperteile einer Person, von verschiedenen Personen oder von einer oder mehreren Personen einerseits und einem oder mehreren anderen Objekten andererseits, jeweils voneinander oder gegenüber einem Hintergrund. Insbesondere kann das Verfahren genutzt werden, ein oder mehrere Körperteile einer Person in einem sensorisch erfassten Bild zu separieren, um sodann in Abhängigkeit vom Ergebnis einer solchen Separierung bzw. Segmentierung und einer darauf aufsetzenden Identifikation der Körperteile als Objekte eine Gestenerkennung im Hinblick auf etwaigen von der Person ausgeführten Gesten durchzuführen.
-
Während vorausgehend wenigstens eine beispielhafte Ausführungsform beschrieben wurde, ist zu bemerken, dass eine große Anzahl von Variationen dazu existiert. Es ist dabei auch zu beachten, dass die beschriebenen beispielhaften Ausführungsformen nur nichtlimitierende Beispiele darstellen, und es nicht beabsichtigt ist, dadurch den Umfang, die Anwendbarkeit oder die Konfiguration der hier beschriebenen Vorrichtungen und Verfahren zu beschränken. Vielmehr wird die vorausgehende Beschreibung dem Fachmann eine Anleitung zur Implementierung mindestens einer beispielhaften Ausführungsform liefern, wobei sich versteht, dass verschiedene Änderungen in der Funktionsweise und der Anordnung der in einer beispielhaften Ausführungsform beschriebenen Elemente vorgenommen werden können, ohne dass dabei von dem in den angehängten Ansprüchen jeweils festgelegten Gegenstand sowie seinen rechtlichen Äquivalenten abgewichen wird.
-
Bezugszeichenliste
-
- 100
- Übersicht über verschiedene beispielhafte Szenen
- 105a-120a
- verschiedene Szenen
- 105b-120b
- Punktwolken zu den verschiedene Szenen 105a-120a
- 200
- beispielhaftes Verfahren zur Erkennung von Objekten
- 205-240
- Ansichten von Zwischenstufen des Verfahrens 200
- 300
- Gegenüberstellung von zwei verschiedenen Szenarien
- 305
- erstes Szenario
- 310
- Approximationsfunktion zum ersten Szenario
- 315
- zweites Szenario
- 320
- Approximationsfunktion zum zweiten Szenario
- 400
- Diagramm zur Veranschaulichung einer beispielhaften Zuordnung von Punkten im Fall m=2
-
- Richtungsvektor der ersten Hauptkomponente eines Objekts
- B
- Hintergrund
- fq
- Satz von Wahrscheinlichkeitsdichtefunktionen, insbesondere Gaußfunktionen, zur Approximation einer Häufigkeitsverteilung von Tiefenwerten
- gr
- Satz von Wahrscheinlichkeitsdichtefunktionen, insbesondere Gaußfunktionen, zur Approximation einer Häufigkeitsverteilung von Tiefenwerten
- h(z)
- Häufigkeitsverteilung
- P
- Punktwolke
- pi
- einzelner Punkt der Punktwolke
- O1; O2
- Objekte
- T
- Temperatur
- Z
- Tiefe