DE112016006873T5 - Erfassung von Menschen in Bildern unter Verwendung von Tiefeninformationen - Google Patents

Erfassung von Menschen in Bildern unter Verwendung von Tiefeninformationen Download PDF

Info

Publication number
DE112016006873T5
DE112016006873T5 DE112016006873.5T DE112016006873T DE112016006873T5 DE 112016006873 T5 DE112016006873 T5 DE 112016006873T5 DE 112016006873 T DE112016006873 T DE 112016006873T DE 112016006873 T5 DE112016006873 T5 DE 112016006873T5
Authority
DE
Germany
Prior art keywords
windows
classifier
window
candidate
depth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112016006873.5T
Other languages
English (en)
Inventor
Haibing Ren
Yimin Zhang
Fei Duan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112016006873T5 publication Critical patent/DE112016006873T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Abstract

Es werden Verfahren für die Erfassung von Menschen in Bildern bereitgestellt, die Tiefeninformationen umfassen. Eine Methodik, die diese Verfahren ausführt, umfasst das Segmentieren eines Bildes in mehrere Fenster und das Schätzen der Entfernung zu einem Gegenstand in jedem Fenster, basierend auf Tiefenpixelwerten in dem Fenster, und das Filtern, um Fenster zu verwerfen, deren Größen außerhalb des gewünschten Fenstergrößenbereichs liegt. Der gewünschte Fenstergrößenbereich basiert auf der geschätzten Entfernung zum Gegenstand und der Brennweite der Tiefenkamera, die das Bild erzeugte. Das Verfahren umfasst ferner Erstellen von Klassifikationsmerkmalen für jedes zu verwendende übrige Fenster (nach dem Filtern) durch einen Kaskadenklassifikator. Der Kaskadenklassifikator erstellt Kandidatenfenster für eine weitere Berücksichtigung auf Basis einer einleitenden Erfassung eines Menschen in einem beliebigen der übrigen Fenster. Das Verfahren umfasst ferner Zusammenfügen benachbarter Kandidatenfenster und das Ausführen eines linearen Klassifikators auf den zusammengefügten Kandidatenfenstern, um die Erfassung eines Menschen zu verifizieren.

Description

  • HINTERGRUND
  • Die Erfassung der Gegenwart eines Menschen in einem Bild ist oft nützlich, beispielsweise in Überwachungsanwendungen, Roboteranwendungen oder als einleitende Operation in einem Bildverarbeitungssystem. Unglücklicherweise stellt die automatisierte menschliche Bilderfassung, aufgrund der breitgefächerten Variationen, die zwischen Bildern unterschiedlicher Leute möglich sind, ein relativ schwieriges Datenverarbeitungsproblem dar. Diese Variationen können sich auf die allgemeine physische Erscheinung, Kleidung, Position und Pose, Beleuchtung und Blickwinkel beziehen, um nur ein paar zu nennen. Bestehende Verfahren zur Erfassung von Menschen beschränken sich in der Regel auf bestimmte Situationen oder Szenarios, die beispielsweise einen bestimmten Blickwinkel oder die Anforderung, dass sich die Person in einer bestimmten Pose im Hinblick auf die Kamera befindet, umfassen. Diese Verfahren neigen außerdem dazu rechnerisch teuer zu sein, große Trainingsdatenbanken und relativ schnelle Prozessoren zu benötigen. Trotzdem neigen diese Verfahren dazu nicht robust zu sein, was zu inakzeptablen Raten von falschem Alarm und fehlgeschlagenen Erfassungen führt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Patent- oder Anmeldungsdatei enthält zumindest eine Zeichnung, die bunt ausgeführt ist. Kopien dieses Patents oder der Veröffentlichung dieser Patentanmeldung mit einer/mit bunten Zeichnung/en wird vom Amt auf Nachfrage und Zahlung der erforderlichen Gebühr bereitgestellt.
  • Merkmale und Vorteile von Ausführungsformen des beanspruchten Gegenstands werden mit dem Voranschreiten der folgenden Detaillierten Beschreibung und durch Bezugnahme auf die Zeichnungen ersichtlich, in denen ähnliche Zahlen ähnliche Teile darstellen und in denen:
    • 1 ein Blockdiagramm der obersten Ebene einer Ausführung eines Menscherfassungsbildverarbeitungssystems ist, das in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen konfiguriert ist;
    • 2 Beispiele von Menschenerfassung in Bildern, in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen, veranschaulicht;
    • 3 ein Blockdiagramm der obersten Ebene einer Ausführung eines Menscherfassungsbildverarbeitungssystems ist, das in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen konfiguriert ist;
    • 4 ein detaillierteres Blockdiagramm einer Fensterfilterschaltung, die in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen konfiguriert ist;
    • 5 Bildfenstergrößenberechnungen, in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen, veranschaulicht;
    • 6 ein detaillierteres Blockdiagramm einer Kandidatenerfassungsschaltung ist, die in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen konfiguriert ist;
    • 7 Bildmerkmale, in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen, veranschaulicht;
    • 8 ein detaillierteres Blockdiagramm einer Kandidatenverifizierungsschaltung ist, die in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen konfiguriert ist;
    • 9 ein Flussdiagramm ist, in dem eine Methodik für die Erfassung von Menschen in Bildern, in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen, dargestellt ist.
    • 10 ein Blockdiagramm ist, in dem eine Systemplattform, die für die Durchführung der Erfassung von Menschen in Bildern konfiguriert ist, in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen, schematisch veranschaulicht wird.
  • Obwohl die folgende Detaillierte Beschreibung mit Bezugnahme auf veranschaulichende Ausführungsformen fortfährt, werden viele Alternativen, Modifikationen und Variationen davon in Anbetracht dieser Offenbarung ersichtlich.
  • DETAILLIERTE BESCHREIBUNG
  • Im Allgemeinen stellt diese Offenbarung Verfahren für eine verbesserte Erfassung von Menschen in Bildern bereit, die Tiefeninformationen umfassen. Solche Bilder können beispielsweise von einer Tiefenkamera erzeugt werden, die sowohl Farb-(rot-grün-blau- oder RGB-) Pixel als auch Tiefenpixel bereitstellt. Solche Bilder können als RGBD-Bilder bezeichnet werden. Die hierin beschriebenen Verfahren können die Gegenwart eines menschlichen Körpers in einem Bild, der aus einem beliebigen Winkel betrachtet wird (z.B. 360 Grad) und sich in einer beliebigen Pose befindet (z.B. stehend, sitzend, etc.), gemäß manchen Ausführungsformen, erfassen oder erkennen. Die Verfahren können außerdem eine allgemein erhöhte Erfassungsgenauigkeit mit verringerter Falschalarmrate, verglichen mit bestehenden Verfahren, die keine Tiefeninformationen nutzen, bereitstellen, wie es sich in Anbetracht dieser Offenbarung verstehen wird. Zusätzlich dazu kann die Erfassung in manchen Ausführungsformen auf Bildern basiert sein, die nur den oberen Teil eines menschlichen Körpers einfangen oder sie basiert anderweitig auf dem oberen Teil des Körpers oder einem anderen abgezielten Körperteil, der in einem bestimmten Bild eingefangen ist, sodass die nichtabgezielten Körperteile, die im Bild eingefangen werden, ignoriert werden.
  • In Übereinstimmung mit einer Ausführungsform können Verfahren das Segmentieren eines RGBD-Bilds in eine relativ große Anzahl von Fenstern unterschiedlicher Größe und mit einem unterschiedlichen Überlappungsgrad umfassen. In manchen Ausführungsformen kann es sich dabei um Größenordnungen wie Millionen solcher segmentierten Fenster handeln. In jedem Fenster kann der Abstand zu einem Gegenstand basierend auf einem Mittelwert von Tiefenpixelwerten geschätzt werden. Dann kann ein Filtervorgang durchgeführt werden, um Fenster mit Größen zu verwerfen, die außerhalb eines gewünschten Fenstergrößenbereichs fallen, der mit einer erwarteten Größe für einen menschlichen Körper (oder einen Teil davon) in einer bestimmten Entfernung übereinstimmt. Dieser Filtervorgang kann daher die Anzahl an Fenstern, die einer weiteren Berücksichtigung und Verarbeitung unterzogen werden, auf relativ effiziente Weise reduzieren. Der gewünschte Fenstergrößenbereich basiert auf der geschätzten Entfernung des Gegenstands und der Brennweite der Kamera, die dieses Bild erzeugte. Dann können durch einen Kaskadenklassifikator für jedes zu benutzende gefilterte Fenster Klassifikationsmerkmale erzeugt werden. Der Kaskadenklassifikator ist konfiguriert, um Kandidatenfenster für eine weitere Berücksichtigung basierend auf einer vorausgehenden Erfassung eines Menschen in einem beliebigen der gefilterten Bilder zu erstellen. Benachbarte Kandidatenfenster können dann zusammengefügt und einem linearen Klassifikator bereitgestellt werden, um die Erfassung des Menschen basierend auf zusätzlichen Merkmalen, die sich auf den Kontext, der die Kandidatenfenster umgibt, bezieht, zu verifizieren.
  • Die hierin beschriebenen Verfahren können reduzierte Verwaltungsdaten ermöglichen, einschließlich verringerter Klassifikatortrainings, im Vergleich mit bestehenden Verfahren, angesichts des fensterbasierten Fokus auf den abgezielten Körperteil. Zusätzlich dazu erfordern diese Verfahren keine speziellen Kamerakalibrierungsverfahren und können auf einer beliebigen gewünschten Plattform umgesetzt werden, einschließlich beispielsweise eines Mobilgeräts, wie einem Tablet oder einem Smartphone, das eine Tiefenkamera umfasst oder Bilder von einer Tiefenkamera empfangen kann. Diese Verfahren können ferner in Hardware oder Software oder einer Kombination davon umgesetzt werden.
  • 1 ist ein Blockdiagramm 100 der obersten Ebene einer Ausführung eines Menscherfassungsbildverarbeitungssystems, das in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen konfiguriert ist. Eine Tiefenkamera 104 ist konfiguriert um RGBD-Einzelbilder 106 einer Szene 102 zu erzeugen. Die Szene kann einen beliebigen Gegenstand umfassen und kann Menschen oder keine Menschen beinhalten. Ein oder mehrere RGBD-Einzelbilder 106 werden dem Menschenerfassungsbildverarbeitungssystem 108 bereitgestellt, dessen Vorgänge im Folgenden genauer beschrieben werden, und es werden Erfassungsergebnisse 110 erzeugt. Die Erfassungsergebnisse können einem Benutzer oder Betreiber des Systems über ein Anzeigeelement 112 oder einen anderen geeigneten Mechanismus präsentiert werden.
  • In 2 werden Beispiele von Menschenerfassung in Bildern, in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen, dargestellt. Jedes Beispielbild, das in dieser Figur gezeigt wird, kann der RGB-Komponente von einem der RGBD-Einzelbilder 106 entsprechen, die dem Erfassungssystem 108 bereitgestellt werden. Die Erfassungsergebnisse zeigen, dass eine oder mehrere Personen in jedem Bild erfasst werden, wie es von den durch grüne Quadrate gekennzeichneten Fenster 200 angezeigt wird. Die Erfassungen basieren auf Bildverarbeitungsverfahren, die in manchen Fällen, nur auf einen Teil eines menschlichen Körpers (z.B. einen oberen Teil, der den Kopf umfasst) angewendet werden, wie im Folgenden genauer beschrieben wird. Darüber hinaus werden Menschen, wie in dieser Figur ersichtlich, aus unterschiedlichen Blickwinkeln (z.B. von vorne, der Seite oder hinten) und in unterschiedlichen Posen (stehend, sitzend, mit erhobenen Armen und Armen hinter dem Kopf) erfasst.
  • 3 ist ein Blockdiagramm der obersten Ebene einer Ausführung eines Menscherfassungsbildverarbeitungssystems 108, das in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen konfiguriert ist. Die offenbarten Verfahren umfassen die Segmentierung eines RGBD-Bilds in eine relativ große Anzahl von Fenstern und das Überprüfen jedes Fensters, um die Gegenwart oder Abwesenheit eines oberen Körperteils eines Menschen zu bestimmen. Auf oberster Ebene können die Verfahren in drei Stufen aufgeteilt werden: Fensterfilterung, eine Kandidatenerfassung basierend auf Informationen im Inneren des Fensters und eine Kandidatenverifizierung basierend auf dem Fensterkontext. Jede Stufe kann manche Fenster verwerfen, um die Verarbeitungsleistung in der folgenden Stufe zu verbessern. Fenster, die alle drei Stufen passieren, können als positive Erfassungsergebnisse betrachtet werden, d.h. sie umfassen einen Menschen. Da es sich um Millionen von Fenstern handeln kann, die eine Analyse erfordern, ist die Fensterfilterungsstufe konfiguriert, um die erste Stufe des Verwerfens von Fenstern, die keine Menschen enthalten, mit relativ geringer Rechenleistung durchzuführen.
  • Dann wird genauer gezeigt, dass das Menschenerfassungsbildverarbeitungssystem eine Fenstererzeugungsschaltung 302, eine Fensterfilterungsschaltung 304, eine Kandidatenerfassungsschaltung 306, eine Kandidatenzusammenfügungsschaltung 308 und eine Kandidatenverifizierungsschaltung 310 umfasst.
  • Die Fenstererzeugungsschaltung 302 kann konfiguriert sein, um ein RGBD-Bild in eine Reihe von Fenstern unterschiedlicher Größe, Position und mit unterschiedlichem Überlappungsgrad zu segmentieren. In manchen Ausführungsformen können die Fenster quadratische sein (z.B. sind Breite und Höhe im Wesentlichen gleich), um die Anzahl möglicher in Betracht zu ziehender Fenstergeometrien zu verringern. In manchen Ausführungsformen kann die Position jedes Fensters in Bezug auf ein benachbartes Fenster um 5 bis 10 Prozent der Fensterbreite in die vertikale und/oder horizontale Richtung verschoben werden. In manchen Ausführungsformen können die Fenstergrößen von einer minimalen ausgewählten Größe bist zur Größe des gesamten Bilds in Skalierfaktorschritten von etwa 1,2 bis 1,4 reichen. So beträgt die Fenstergröße beispielsweise mit einem Skalierfaktorschritt von 1,4 und einer minimalen Fenstergröße von 100×100 Pixel, 100×100, 140×140, 196×196, 275×275, 384×384, ... bis zur vollen Größe des Bilds.
  • Die Fensterfilterungsschaltung 304 kann konfiguriert sein, um die Entfernung zu einem Gegenstand in jedem Fenster basierend auf dem Wert der Tiefenpixel im Fenster zu schätzen und um die Fenster zu filtern und Fenster zu verwerfen, deren Größe außerhalb eines gewünschten Fenstergrößenbereichs liegt. Bei der kollektiven Ausgabe von Schaltung 304 handelt es sich daher um einen Zielsatz an Fenstern, bei dem es sich um eine Untergruppe aller Fenster handelt, die von Schaltung 302 erzeugt wurden. Der gewünschte Fenstergrößenbereich kann auf der geschätzten Entfernung zum Gegenstand und auf der Brennweite der Tiefenkamera basieren, wie im Folgenden beschrieben wird.
  • Die Kandidatenerfassungsschaltung 306 kann konfiguriert sein, um Klassifikationsmerkmale für jedes Fenster zu generieren, das das Filtern übersteht, und einen Kaskadenklassifikator auf diese Fenster anwenden, um basierend auf diesen erzeugten Merkmalen eine kleinere Gruppe von Kandidatenfenstern zu erstellen. Anders ausgedrückt, kann der Kaskadenklassifikator konfiguriert sein, um die einleitende Erfassung eines Menschen in jedem der gefilterten Fenster unter Verwendung von Information durchzuführen, die im Fenster enthalten ist.
  • Die Kandidatenzusammenfügungsschaltung 308 kann konfiguriert sein, um benachbarte Kandidatenfenster zusammenzufügen, um die Gruppe von Kandidatenfenstern weiter zu verringern. Die Kandidatenverifizierungsschaltung 310 kann konfiguriert sein, um einen linearen Klassifikator auf den zusammengefügten Kandidatenfenstern auszuführen, um die Menschenerfassung zu verifizieren. Der lineare Klassifikator kann konfiguriert sein, um zusätzliche Kontextinformation aus Bereichen des Bilds zu nutzen, die die zusammengefügten Kandidatenfenster umgeben, wie ebenfalls im Folgenden beschrieben wird. Diese Kontextinformation kann die Nutzung eines linearen Klassifikators mit verringerter Komplexität ermöglichen (z.B. verringertes Training und verringerte Rechenzeit), während ein Ausmaß an Genauigkeit und eine Falschalarmrate aufrechterhalten wird, die von komplexeren Klassifikatoren, wie sie in traditionellen Ansätzen eingesetzt werden, bereitgestellt werden.
  • 4 ist ein detaillierteres Blockdiagramm einer Fensterfilterschaltung 304, die in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen konfiguriert ist. Es wird gezeigt, dass die Fensterfilterschaltung eine Tiefenpixelvalidierungsschaltung 404, eine Tiefenmittelwertberechnungsschaltung 406 und eine größenbasierte Filterschaltung 408 umfasst. Zusätzlich dazu kann eine Bildgrößenbereich-Berechnungsschaltung 402 bereitgestellt werden, die in manchen Ausführungsformen in einem Offline-Modus laufen kann, beispielsweise vor den Erfassungsoperationen.
  • Die Bildgrößenbereich-Berechnungsschaltung 402 kann konfiguriert sein, um einen Satz gewünschter Fenstergrößenbereiche für jede aus einer Reihe von zulässigen oder erwarteten Gegenstandsentfernungen vorzuberechnen. Das wird detaillierter in 5 dargestellt, die eine Person mit einer oberen Körpergröße H 506 in einer Entfernung d 510 von der optischen Mitte 502 der Tiefenkamera zeigt. In manchen Ausführungsformen kann angenommen werden, dass realistische Größen von Menschen im Bereich von 1,0 bis 2,5 Meter liegen, obwohl andere Werte nach Bedarf genutzt werden können. Auf Basis dieser Annahme kann die obere Körpergröße H im Bereich von 0,3 bis 0,8 Meter geschätzt werden. Zusätzlich dazu ist die Brennweite f 508 der Kamera üblicherweise bekannt oder kann leicht vor der Umsetzung des Systems gemessen werden. Daher kann für einen beliebigen vorgegebenen Satz an Werten von H, d und f eine Bildfensterhöhe h 504 gemäß der Formel h = (H/d) * f berechnet werden. Üblicherweise kann ein Bereich der Entfernungen d von Interesse vorher festgelegt werden. Somit kann der Satz gewünschter Fenstergrößen, die jeder auswählbaren Abstufung der Entfernung im Entfernungsbereich von Interesse entsprechen, als Offline-Operation vorberechnet werden, um die Verarbeitungsbelastung während der Echtzeiterfassung zu verringern. Diese gewünschten Fenstergrößen basieren auf der Bildfensterhöhe h 504, beispielsweise h × h, obwohl andere Geometrien möglich sind. Es kann ausgewählt werden, dass ein Bildgrößenbereich von einem Minimalwert bis zu einem Maximalwert rund um die gewünschte Fenstergröße reicht, z.B. +/- 5 Prozent oder ein anderer geeigneter Wert. Die gewünschten Fenstergrößenbereiche können in einer Tabelle, beispielsweise in einem Arbeitsspeicher gespeichert sein. In manchen Ausführungsformen kann die Tabelle über die entsprechende Entfernung für einen effizienten Zugriff durch die im Folgenden beschriebene Schaltung 408 indexiert werden.
  • Die Tiefenpixelvalidierungsschaltung 404 kann konfiguriert sein, um die Tiefenpixel jedes Fensters vor dem Filtern zu validieren. In manchen Ausführungsformen kann die Validierung das Überprüfen, das die Werte der Tiefenpixel in einem annehmbaren Bereich liegen, umfassen. Beispielsweise stellen manche Tiefenkameras den Tiefenwert eines Pixels auf null, um einen Fehler oder irgendein Problem mit diesem Pixel anzuzeigen.
  • Die Tiefenmittelwertberechnungsschaltung 406 kann konfiguriert sein, um einen Mittelwert von manchen oder allen Werten der Tiefenpixel in jedem Fenster zu berechnen. Ungültige Pixel können aus dieser Berechnung ausgeschlossen werden. Dieser berechnete Mittelwert kann für die Entfernung von der Kamera zum Gegenstand in diesem Fenster repräsentativ sein und dient daher als eine geschätzte Entfernung zum Gegenstand.
  • Die größenbasierte Filterschaltung 408 kann konfiguriert sein, um einen Fenstergrößenbereich basierend auf der geschätzten Entfernung zum Gegenstand auszuwählen. Beispielsweise kann die geschätzte Entfernung zur Indexierung der bereits beschriebenen Tabelle genutzt werden, um den geeigneten Fenstergrößenbereich für die geschätzte Gegenstandsentfernung abzufragen. Wenn die Größe des aktuellen Fensters außerhalb dieses Fenstergrößenbereichs liegt, wird es verworfen, da ein menschlicher Körper (oder ein oberer Teil), der in der geschätzten Entfernung abgebildet wird, nicht in dieser Fenster passen würde. Daher werden nur Fenster, die bestimmte vordefinierte Kriterien erfüllen, von Schaltung 408 ausgegeben. Wie bereits erläutert, bilden diese ausgewählten Fenster kollektiv einen Zielsatz an Fenstern, bei dem es sich um eine Untergruppe aller Fenster, die von Schaltung 302 erzeugt wurden, handelt. In manchen Ausführungsformen kann dadurch die Falschalarmrate der Erfassung um 20 bis 30 Prozent verringert werden.
  • 6 ist ein detailliertes Blockdiagramm einer Kandidatenerfassungsschaltung 306, die in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen konfiguriert ist. Es wird gezeigt, dass die Kandidatenerfassungsschaltung eine RGB-basierte Merkmalerzeugungsschaltung 602, eine adaptive Verstärkungsmerkmalauswahlschaltung 604 und eine Kaskadenklassifikatorschaltung 606 umfasst.
  • Die RGB-basierte Merkmalerzeugungsschaltung 602 kann konfiguriert sein, um Klassifikationsmerkmale von den RGB-Daten in jedem aus der Untergruppe der gefilterten Fenster zur Verwendung durch die Kaskadenklassifikatorschaltung 606 zu erzeugen. Die Klassifikationsmerkmale können eines oder mehrere der folgenden umfassen: Leuchtdichte, Farbton, Sättigung, Gradient, Gradientenausrichtung und Tiefenwerte, wie in 7 dargestellt und im Folgenden beschrieben. Die Tiefenwerte des Fensters können auch zu dieser Gruppe an Merkmalen dazugerechnet werden.
  • Die adaptive Verstärkungsmerkmalauswahlschaltung 604 kann konfiguriert sein, um den Kaskadenklassifikator unter Verwendung bekannter adaptiver Verstärkungsverfahren, in Anbetracht der vorliegenden Offenbarung, basierend auf einer ausgewählten Kombination der erzeugten Merkmale zu trainieren.
  • Die Kaskadenklassifikatorschaltung 606 kann konfiguriert sein, um Fenster zu verwerfen, die keine Menschen enthalten, wodurch Kandidatenfenster für eine weitere Berücksichtigung übrig bleiben. In manchen Ausführungsformen kann es sich bei dem Kaskadenklassifikator um einen Haar-Klassifikator, einen Klassifikator lokaler Binärmuster (LBP), einen Histogramm-ausgerichteter-Gradienten- (HOG-) Klassifikator oder einen Klassifikator beschleunigter robuster Merkmale (SURF) handeln. In manchen Ausführungsformen können auch andere Klassifikationstechniken, in Anbetracht der vorliegenden Offenbarung, genutzt werden.
  • In 7 werden Bildmerkmale 700, in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen, veranschaulicht. Bild 702 zeigt ein Beispiel für Leuchtdichte, die als Merkmal für den Kaskadenklassifikator genutzt werden kann. Bild 704, 706 und 708 zeigen jeweils Beispiele für Farbton, Sättigung und Gradient, die auch als Merkmal für den Kaskadenklassifikator genutzt werden können. Die Bilder 710 bis 720 zeigen Beispiele für eine Gradientenausrichtung in unterschiedliche Richtungen, wie sie durch die zugeordneten roten Pfeile angezeigt werden, die auch als Merkmal für den Kaskadenklassifikator genutzt werden kann.
  • 8 ist ein detaillierteres Blockdiagramm einer Kandidatenverifizierungsschaltung 310, die in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen konfiguriert ist. Es wird gezeigt, dass die Kandidatenverifizierungsschaltung eine Auswahlschaltung benachbarter Regionen 802, eine Differenzdurchschnittsschaltung 804 und eine lineare Klassifikatorschaltung 806 umfasst.
  • Die Auswahlschaltung benachbarter Regionen 802 kann konfiguriert sein, um Regionen auszuwählen, die an die zusammengefügten Kandidatenfenster, wie durch Schaltung 308 bereitgestellt, angrenzen, um zusätzliche Kontextinformation für den darauffolgenden linearen Klassifikator bereitzustellen. In manchen Ausführungsformen können sich diese ausgewählten Regionen in der Größenordnung von einem Viertel der Größe des zusammengefügten Kandidatenfensters bewegen.
  • Die Differenzdurchschnittsschaltung 804 kann konfiguriert sein, um eine Differenz zwischen dem Mittelwert der Werte der Tiefenpixel in den angrenzenden Regionen und dem Mittelwert der Werte der Tiefenpixel des zusammengefügten Kandidatenfensters zu berechnen. Diese Differenz von Durchschnitten wird dem linearen Klassifikator als zusätzliches Merkmal bereitgestellt, das dem Kontext des zusammengefügten Kandidatenfensters zugeordnet ist.
  • Die lineare Klassifikatorschaltung 806 kann konfiguriert sein, um die zusätzliche Kontextinformation von den umgebenden Regionen zu nutzen, um für eine verbesserte Operation die Komplexität und Trainingsanforderungen des linearen Klassifikators zu vereinfachen und Falschalarmraten zu verringern. In manchen Ausführungsformen kann die lineare Klassifikatorschaltung als Support-Vector-Machine- (SVM-) Klassifikator implementiert sein. In manchen Ausführungsformen kann die lineare Klassifikatorschaltung unter Verwendung anderer bekannter Verfahren in Anbetracht der vorliegenden Offenbarung implementiert sein.
  • METHODIK
  • 9 ist ein Flussdiagramm, in dem ein Beispielverfahren 900 für die Erfassung von Menschen in Bildern, die von einer Tiefenkamera erzeugt wurden, in Übereinstimmung mit einer Ausführungsform der vorliegenden Offenbarung, veranschaulicht wird. Wie ersichtlich, umfasst das Beispielverfahren 900 eine Reihe von Phasen und Subprozessen, deren Reihenfolge von Ausführungsform zu Ausführungsform variieren kann. Wenn sie im Gesamten betrachtet werden, bilden diese Phasen und Subprozesse jedoch einen Prozess zur Erfassung von Menschen in Übereinstimmung mit bestimmten der hierin offenbarten Ausführungsformen. Diese Ausführungsformen können beispielsweise mithilfe der in 3 dargestellten Systemarchitektur, wie bereits beschrieben, implementiert werden. Trotzdem können andere Systemarchitekturen in anderen Ausführungsformen genutzt werden, wie in Anbetracht dieser Offenbarung ersichtlich. Zu diesem Zwecke soll die Verknüpfung der unterschiedlichen in 9 gezeigten Funktionen mit den spezifischen in 3 dargestellten Elementen keine Struktur- und/oder Gebrauchseinschränkungen implizieren. Stattdessen können andere Ausführungsformen beispielsweise unterschiedliche Grade an Eingliederung umfassen, wobei mehrere Funktionalitäten wirksam von einem System durchgeführt werden. Beispielsweise kann in einer alternativen Ausführungsform ein einzelnes Modul genutzt werden, um alle Funktionen von Verfahren 900 durchzuführen. Somit können andere Ausführungsformen, je nach Feinheit der Implementierung, weniger oder mehr Module und/oder Submodule aufweisen. Zahlreiche Variationen und alternative Konfigurationen werden in Anbetracht dieser Offenbarung ersichtlich.
  • Wie in 9 dargestellt, beginnt in einer Ausführungsform das Verfahren 900 für die Erfassung von Menschen in Bildern, die Tiefeninformationen umfassen, bei Operation 910 mit dem Segmentieren des Bildes in eine Reihe von Fenstern. Die Fenster können sich durch ihre Größe und Position im Bild unterscheiden. In manchen Ausführungsformen können die Fenster quadratisch sein (z.B. mit im Wesentlichen gleicher Breite und Höhe). Das Bild kann von einer Tiefenkamera bereitgestellt werden, sodass es sowohl Farb- (z.B. RGB-) Pixel als auch Tiefenpixel umfasst.
  • Bei Operation 920 wird eine Entfernung zum Gegenstand in jedem der Fenster basierend auf den Werten der Tiefenpixel des Bildabschnitts in diesem Fenster geschätzt. In manchen Ausführungsformen kann ein Mittelwert der Werte der Tiefenpixel im Fenster genutzt werden, um die Entfernung des Gegenstands zu schätzen.
  • Danach werden die Fenster bei Operation 930 gefiltert, um Fenster zu verwerfen, deren Größe außerhalb eines gewünschten Fenstergrößenbereichs liegt, um eine Untergruppe der Fenster bereitzustellen, die durch die Segmentierung bei Operation 910 bereitgestellt wurden. Der gewünschte Fenstergrößenbereich ist ausgewählt, um zu einer erwarteten Größe des oberen Teils eines menschlichen Körpers bei einer bestimmten Entfernung zu passen. Daher kann der gewünschte Fenstergrößenbereich auf der geschätzten Entfernung des Gegenstands und der Brennweite der Tiefenkamera, die das Bild erzeugte, basieren. In manchen Ausführungsformen können die gewünschten Fenstergrößenbereiche sein (z.B. als Offline-Operation) für einen Bereich von zulässigen oder erwarteten Entfernungen zum Gegenstand vorberechnet sein.
  • Bei Operation 940 werden für jedes der übrigen Fenster nach dem Filtern Klassifikationsmerkmale erzeugt. In manchen Ausführungsformen können die Klassifikationsmerkmale Leuchtdichte, Farbton, Sättigung, Gradient, Gradientenausrichtung und/oder Tiefenwerte umfassen. Bei Operation 950 werden Kandidatenfenster für eine weitere Berücksichtigung durch einen Kaskadenklassifikator erstellt. Der Kaskadenklassifikator kann konfiguriert sein, um die einleitende Erfassung eines Menschen in jedem der gefilterten Fenster, basierend auf den erzeugten Merkmalen mit denen es bereitgestellt wird, durchzuführen. In manchen Ausführungsformen kann es sich bei dem Kaskadenklassifikator um einen Haar-Klassifikator, einen Klassifikator lokaler Binärmuster (LBP), einen Histogramm-ausgerichteter-Gradienten- (HOG-) Klassifikator oder einen Klassifikator beschleunigter robuster Merkmale (SURF) handeln. Der Kaskadenklassifikator kann mithilfe bekannter adaptiver Verstärkungsverfahren in Anbetracht der vorliegenden Offenbarung trainiert werden.
  • Bei Operation 960 werden benachbarte Kandidatenfenster zusammengefügt und bei Operation 970 wird ein linearer Klassifikator auf die zusammengefügten Kandidatenfenster angewandt, um die Erfassung eines Menschen zu verifizieren. In manchen Ausführungsformen können zusätzliche Merkmale, die mit dem Kontext, der die zusammengefügten Kandidatenfenster umgibt, verbunden sind, an den linearen Klassifikator bereitgestellt werden, um die Klassifikatorleistung zu verbessern.
  • BEISPIELSYSTEM
  • 10 zeigt ein Beispielsystem 1000, das konfiguriert ist, um die Erfassung von Menschen in Bildern, die Tiefeninformationen umfassen, wie hierin beschrieben, durchzuführen. In manchen Ausführungsformen umfasst System 1000 eine Plattform 1010, die einen PC, eine Workstation, einen Laptop-Computer, einen Ultralaptop-Computer, ein Tablet, ein Touchpad, einen tragbaren Computer, einen Handcomputer, einen Palmtop-Computer, einen persönlichen digitalen Assistenten (PDA), ein Mobiltelefon, eine Kombination aus Mobiltelefon und PDA, eine Smart-Vorrichtung (beispielsweise Smartphone oder Smart-Tablet), eine mobile Internetvorrichtung (MID), eine Nachrichtenvorrichtung, eine Datenkommunikationsvorrichtung usw. hosten oder anderweitig darin inkorporiert sein kann.
  • In manchen Ausführungsformen kann Plattform 1010 eine beliebige Kombination eines Prozessors 1020, eines Speichers 1030, eines Menschenerfassungsbildverarbeitungssystems 108, einer Netzwerkschnittstelle 1040, eines Eingabe/Ausgabe-(I/O-) Systems 1050, einer Tiefenkamera 104, eines Anzeigeelements 112 und eines Speichersystems 1070 umfassen. Wie ferner ersichtlich, wird außerdem ein Bus und/oder Zwischenverbindung 1092 bereitgestellt, um eine Kommunikation zwischen den unterschiedlichen oben angeführten Komponenten und/oder anderen nicht gezeigten Komponenten zu ermöglichen. Plattform 1010 kann mit einem Netzwerk 1094 über die Netzwerkschnittstelle 1040 gekoppelt sein, um die Kommunikation mit anderen Rechnervorrichtungen, Plattformen und Ressourcen zu ermöglichen. Andere Komponenten und Funktionalitäten, die im Blockdiagramm von 10 nicht berücksichtigt werden, werden in Anbetracht dieser Offenbarung ersichtlich, und es versteht sich, dass andere Ausführungsformen nicht auf eine bestimmte Hardwarekonfiguration beschränkt sind.
  • Prozessor 1020 kann ein beliebiger Prozessor sein und kann einen oder mehrere Coprozessoren oder Steuerungen, wie einen Audioprozessor oder eine Grafikprozessoreinheit umfassen, um bei Steuer- und Verarbeitungsoperationen, die mit System 1000 verbunden sind, zu helfen. In manchen Ausführungsformen kann der Prozessor 1020 als eine Reihe von Prozessorkernen implementiert sein. Bei dem Prozessor (oder den Prozessorkernen) kann es sich um einen beliebigen Prozessortyp handeln, wie beispielsweise einen Mikroprozessor, einen eingebetteten Prozessor, einen digitalen Signalprozessor (DSP), einen Grafikprozessor (GPU), einen Netzwerkprozessor, ein feldprogrammierbares Gate-Array oder eine andere Vorrichtung, die für die Ausführung von Code konfiguriert ist. Bei den Prozessoren kann es sich insofern um Multithread-Kerne handeln, als dass sie mehr als einen Hardwarethreadkontext (oder „logischen Prozessor“) pro Kern umfassen. Prozessor 1020 kann als Prozessor eines Computers mit komplexem Befehlssatz (CISC) oder Prozessor eines Computers mit reduziertem Befehlssatz (RISC) implementiert sein. In manchen Ausführungsformen kann Prozessor 1020 als ein Prozessor konfiguriert sein, der mit einem x86-Befehlssatz kompatibel ist.
  • Speicher 1030 kann unter Verwendung eines geeigneten digitalen Speichertyps, einschließlich beispielsweise eines Flash-Speichers und/oder Direktzugriffsspeichers (RAM) implementiert sein. In manchen Ausführungsformen kann der Speicher 1030 zahlreiche Schichten einer Speicherhierarchie und/oder Speicher-Caches umfassen, wie sie Fachleuten auf dem Gebiet der Erfindung bekannt sind. Speicher 1030 kann als eine flüchtige Speichervorrichtung implementiert sein, wie beispielsweise, ohne Einschränkung, eine RAM-, eine dynamische RAM- (DRAM-) oder statische RAM-(SRAM-) Vorrichtung. Speichersystem 1070 kann als eine nichtflüchtige Speichervorrichtung implementiert sein, wie beispielsweise, ohne Einschränkung, eine oder mehrere einer Festplatte (HDD), einer Solid-State-Festplatte (SDD), ein universelles serielles Bus- (USB-) Laufwerk, ein optisches Laufwerk, ein Bandlaufwerk, eine interne Speichervorrichtung, eine angeschlossene Speichervorrichtung, Flash-Speicher, akkugestützter synchroner DRAM (SDRAM) und/oder eine auf ein Netzwerk zugreifbare Speichervorrichtung. In manchen Ausführungsformen kann Speicher 1070 Technologie umfassen, um den verstärkten Speicherleistungsschutz für wertvolle digitale Medien zu erhöhen, wenn mehrere Laufwerke umfasst sind.
  • Prozessor 1020 kann konfiguriert sein, um ein Betriebssystem (OS) 1080 auszuführen, das ein beliebiges geeignetes Betriebssystem umfassen kann, wie beispielsweise Google Android (Google Inc., Mountain View, CA), Microsoft Windows (Microsoft Corp., Redmond, WA) oder Apple OS X (Apple Inc., Cupertino, CA). Wie es sich in Anbetracht dieser Offenbarung versteht, können die hierin bereitgestellten Verfahren ohne Hinblick auf das bestimmte Betriebssystem, das im Zusammenhang mit System 1000 bereitgestellt wird, implementiert werden, und können daher unter Verwendung einer beliebigen geeigneten bestehenden oder im Folgenden entwickelte Plattform implementiert werden.
  • Bei Netzwerkschnittstellenschaltung 1040 kann es sich um einen beliebigen geeigneten Netzwerkchip oder einen Chipsatz handeln, der eine verdrahtete und/oder drahtlose Verbindung zwischen anderen Komponenten von Computersystem 1000 und/oder Netzwerk 1094 ermöglicht und dadurch System 1000 ermöglicht, mit anderen lokalen und/oder entfernten Computersystemen, Servern und/oder Ressourcen zu kommunizieren. Eine verdrahtete Kommunikation kann bestehenden (oder noch zu entwickelnden) Standards, wie beispielsweise Ethernet, entsprechen. Drahtlose Kommunikation kann bestehenden (oder noch zu entwickelnden) Standards, wie beispielsweise Mobilfunkkommunikation einschließlich LTE (Long Term Evolution), Wireless Fidelity (Wi-Fi), Bluetooth und/oder Near Field Communication (NFC) entsprechen. Beispielhafte drahtlose Netzwerke umfassen aber beschränken sich nicht auf drahtlose lokale Netzwerke, drahtlose private Netzwerke, drahtlose städtische Netzwerke, Mobilfunknetzwerke und Satellitennetzwerke.
  • I/O-System 1050 kann konfiguriert sein, um eine Schnittstelle zwischen unterschiedlichen I/O-Vorrichtungen und anderen Komponenten von Computersystem 1000 zu bilden. I/O-Vorrichtungen können eine Tiefenkamera 104, ein Anzeigeelement 112 und andere nicht gezeigte Vorrichtungen, wie eine Tastatur, Maus, Mikrofon, Lautsprecher etc. umfassen, ohne darauf beschränkt zu sein.
  • I/O-System 1050 kann ein Grafiksubsystem umfassen, das konfiguriert ist, um die Verarbeitung von Bildern für Anzeigeelement 112 durchzuführen. Bei dem Grafiksubsystem kann es sich beispielsweise um eine Grafikverarbeitungseinheit oder eine Bildverarbeitungseinheit (VPU) handeln. Für die kommunikative Kopplung von Grafiksubsystem und Anzeigeelement 112 kann eine analoge oder digitale Schnittstelle genutzt werden. Bei der Schnittstelle kann es sich beispielsweise um eine beliebige aus einer hochauflösenden Multimediaschnittstelle (HDMI), DisplayPort, drahtloser HDMI und/oder einer beliebigen anderen geeigneten Schnittstelle handeln, die Techniken nutzt, die mit drahtloser Hochauflösung kompatibel sind. In manchen Ausführungsformen kann das Grafiksubsystem in Prozessor 1020 oder einen beliebigen Chipsatz von Plattform 1010 integriert sein. In manchen Ausführungsformen kann das Anzeigeelement 112 einen beliebigen fernsehtypischen Bildschirm oder eine Anzeige umfassen. Anzeigeelement 112 kann beispielsweise einen Computerbildschirm, ein Touchscreen-Display, einen Videomonitor, eine fernsehähnliche Vorrichtung und/oder einen Fernseher umfassen. Unter der Steuerung von OS 1080 (oder einer oder mehrerer Softwareanwendungen) kann Plattform 1010 Bilder und Erfassungsergebnisse auf Anzeigeelement 112 anzeigen. Die Bilder können von der Tiefenkamera 104 bereitgestellt werden und die Erfassungsergebnisse können vom Menschenerfassungsbildverarbeitungssystem 108 bereitgestellt werden, wie hierin beschrieben.
  • Es versteht sich, dass die zahlreichen Komponenten des Systems 1000 in manchen Ausführungsformen kombiniert oder in eine System-on-a-Chip- (SoC-) Architektur integriert werden können. In manchen Ausführungsformen kann es sich bei den Komponenten um Hardwarekomponenten, Firmwarekomponenten, Softwarekomponenten oder einer beliebigen Kombination aus Hardware, Firmware oder Software handeln.
  • Menschenerfassungsbildverarbeitungssystem 108 kann beliebige oder alle der Komponenten umfassen, die in 3, 4, 6 und 8 dargestellt und oben beschrieben sind. Menschenerfassungsbildverarbeitungssystem 108 kann in Verbindung mit einer Vielzahl geeigneter Software und/oder Hardware, die mit Plattform 1010 gekoppelt ist, oder anderweitig einen Teil davon bildet, implementiert oder anderweitig genutzt werden. System 108 kann zusätzlich oder alternativ dazu in Verbindung mit Benutzer-I/O-Vorrichtungen implementiert oder anderweitig genutzt werden, die in der Lage sind, einem Nutzer Information bereitzustellen und von diesem Information und Befehle zu erhalten. Diese I/O-Vorrichtungen können Anzeigeelement 112, eine Texteingabevorrichtung, wie eine Tastatur, und eine zeigerbasierte Eingabevorrichtung, wie eine Maus, umfassen. Andere Eingabe/Ausgabe-Vorrichtungen, die in anderen Ausführungsformen genutzt werden können, umfassen einen Touchscreen, ein Touchpad, Lautsprecher und/oder ein Mikrophon. Wiederum andere Eingabe/Ausgabe-Vorrichtungen können in anderen Ausführungsformen genutzt werden.
  • In manchen Ausführungsformen kann Menschenerfassungsbildverarbeitungssystem 108 lokal auf System 1000, wie in der beispielhaften Ausführungsform von 10 gezeigt, installiert sein. Alternativ dazu kann System 1000 in einer Client-Server-Anordnung implementiert sein, wobei zumindest ein Teil der Funktionalität, die diesen Schaltungen zugeordnet ist, System 1000 unter Verwendung einer Minianwendung, wie einem Java-Applet, oder einem anderen herunterladbaren Modul bereitgestellt wird. So ein Modul oder Submodul, auf das aus der Ferne zugegriffen werden kann, kann in Echtzeit, als Antwort auf eine Anfrage von einem Client-Rechnersystem bereitgestellt werden, um auf einen bestimmten Server mit Ressourcen, die von Interesse für den Nutzer des Client-Rechnersystems sind, zuzugreifen. In solchen Ausführungsformen kann sich der Server lokal im Netzwerk 1094 befinden oder aus der Ferne mit Netzwerk 1094 durch ein oder mehrere andere Netzwerke und/oder Kommunikationskanäle gekoppelt sein. In manchen Fällen kann der Zugriff auf Ressourcen in einem bestimmten Netzwerk oder Rechnersystem Berechtigungsnachweise, wie Benutzernamen, Passwörter und/oder Konformität mit einem beliebigen anderen geeigneten Sicherheitsmechanismus erfordern.
  • In zahlreichen Ausführungsformen kann System 1000 als ein drahtloses System, ein verdrahtetes System oder eine Kombination aus beiden implementiert sein. Wenn es als drahtloses System implementiert ist, kann System 1000 Komponenten und Schnittstellen umfassen, die für die Kommunikation über ein drahtloses geteiltes Medium geeignet sind, wie eine oder mehr Antennen, Transmitter, Empfänger, Sendeempfänger, Verstärker, Filter, Steuerlogik usw. Ein Beispiel eines drahtlosen geteilten Mediums kann Abschnitte eines drahtlosen Spektrums, wie das Funkfrequenzspektrum usw. umfassen. Wenn es als verdrahtetes System implementiert ist, kann System 1000 Komponenten und Schnittstellen umfassen, die für die Kommunikation über verdrahtete Kommunikationsmedien geeignet sind, wie Eingabe/Ausgabe-Adapter, physische Verbinder, um den Eingabe/Ausgabe-Adapter mit einem entsprechenden verdrahteten Kommunikationsmedium zu verbinden, eine Netzwerkschnittstellenkarte (NIC), eine Plattensteuerung, eine Videosteuerung, eine Audiosteuerung usw. Beispiele für verdrahtete Kommunikationsmedien können ein Kabel, Kabelmetallleitungen, eine Leiterplatte (PCB), eine Busplatine, eine Switch-Fabric, Halbleitermaterial, ein Twisted-Pair-Kabel, ein Koaxialkabel, Glasfaser usw. umfassen.
  • Zahlreiche Ausführungsformen können mithilfe von Hardwarelementen, Softwarelementen oder einer Kombination aus beiden implementiert werden. Beispiele für Hardwareelemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (beispielsweise Transistoren, Resistoren, Kondensatoren, Induktoren usw.), integrierte Schaltkreise, ASICs, programmierbare Logikvorrichtungen, digitale Signalprozessoren, FPGAs, Logik-Gates, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsätze usw. umfassen. Beispiele für Software können Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Subroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Anwendungsprogrammschnittstellen, Befehlssätze, Rechnercode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder eine beliebige Kombination davon umfassen. Das Bestimmen, ob eine Ausführungsform mithilfe von Hardwarelementen und/oder Softwarelementen implementiert wird, kann gemäß einer beliebigen Anzahl von Faktoren variieren, wie der gewünschten Rechnerrate, Leistungsausmaß, Wärmetoleranz, Verarbeitungszyklusbudget, Eingabedatenraten, Ausgabedatenraten, Speicherressourcen, Datenbusgeschwindigkeiten und andere Aufbau- oder Leistungseinschränkungen.
  • Manche Ausführungsformen können mithilfe des Ausdrucks „gekoppelt“ und „verbunden“ zusammen mit ihren Ableitungen beschrieben werden. Diese Ausdrücke sollen keine Synonyme darstellen. Beispielsweise können manche Ausführungsformen mithilfe der Ausdrücke „verbunden“ und/oder „gekoppelt“ mit beschrieben werden, um anzuzeigen, dass zwei oder mehr Elemente in einem direkten physikalischen oder elektrischen Kontakt zueinander stehen. Der Ausdruck „gekoppelt“ kann jedoch außerdem bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen und dennoch miteinander kooperieren oder interagieren.
  • Die zahlreichen hierin offenbarten Ausführungsformen können in unterschiedlichen Formen von Hardware-, Software-, Firmware- und/oder Spezialzweckprozessoren implementiert werden. Beispielsweise weist in einer Ausführungsform zumindest ein nichttransitorisches computerlesbares Speichermedium darauf codierte Befehle auf, die bei ihrer Ausführung durch einen oder mehrere Prozessoren verursachen, dass eine oder mehr der hierin offenbarten Menschenerfassungsverfahren implementiert werden. Die Befehle können mithilfe einer geeigneten Programmiersprache, wie C, C++, objektorientiertes C, Java, JavaScript, Visual Basic .NET, Beginner's All-Purpose Symbolic Instruction Code (BASIC) oder alternativ dazu unter Verwendung von benutzerspezifischen oder firmeneigenen Befehlssätzen codiert werden. Diese Befehle können in Form von einer oder mehreren Computersoftwareanwendungen und/oder Minianwendungen bereitgestellt werden, die materiell auf einer Speichervorrichtung ausgeführt sind und von einem Computer mit einer beliebigen geeigneten Architektur ausgeführt werden können. In einer Ausführungsform kann das System auf einer bestimmten Website gehostet und beispielsweise mithilfe von JavaScript oder einer anderen geeigneten browserbasierten Technologie implementiert sein. Beispielsweise kann das System in bestimmten Ausführungsformen die Verarbeitungsressourcen nutzen, die von einem entfernten Computersystem bereitgestellt werden, auf das über Netzwerk 1094 zugegriffen werden kann. In weiteren Ausführungsformen können die hierin offenbarten Funktionalitäten in andere Softwareanwendungen, wie Videobearbeitungsanwendungen, Videoanalyseanwendungen, Videoüberwachungsanwendungen, oder andere Anwendungen zur Erzeugung, Modifikation und/oder Verwaltung von Inhalten, inkorporiert sein. Die hierin offenbarten Computersoftwareanwendungen können eine beliebige Anzahl unterschiedlicher Module, Submodule oder anderer Komponenten mit unterschiedlicher Funktionalität umfassen und können wieder anderen Komponenten Information bereitstellen oder von diesen Information empfangen. Diese Module können beispielsweise für die Kommunikation mit Eingabe- und/oder Ausgabevorrichtungen, wie einem Anzeigebildschirm, einer berührungsempfindlichen Oberfläche, einem Drucker und/oder einer anderen beliebigen Vorrichtung genutzt werden. Weitere Komponenten und Funktionalitäten, die in den Zeichnungen nicht berücksichtigt werden, werden in Anbetracht dieser Offenbarung ersichtlich und es versteht sich, dass andere Ausführungsformen nicht auf eine bestimmte Hardware- oder Softwarekonfiguration beschränkt sind. Daher kann System 1000 in anderen Ausführungsformen zusätzliche, weniger oder alternative Subkomponenten, im Vergleich mit jenen, die in der Beispielausführungsform von 10 umfasst sind, umfassen.
  • Bei dem bereits erwähnten nichttransitorischen computerlesbaren Medium kann es sich um ein beliebiges geeignetes Medium zur Speicherung von digitaler Information handeln, wie einer Festplatte, einem Server, einem Flash-Speicher und/oder Direktzugriffsspeicher (RAM) oder einer Kombination der Speicher. In alternativen Ausführungsformen können die hierin offenbarten Komponenten und/oder Module mit Hardware, einschließlich Logik auf Gate-Ebene, wie einem feldprogrammierbaren Gate-Array (FPGA) oder alternativ dazu einem zweckgerichteten Halbleiter, wie einer anwendungsspezifischen integrierten Schaltung (ASIC) implementiert sein. Wieder andere Ausführungsformen können mit einer Mikrosteuerung implementiert sein, die eine Reihe von Eingabe/Ausgabe-Anschlüssen für den Empfang und die Ausgabe von Daten und eine Reihe von eingebetteten Routine für die Durchführung der zahlreichen hierin offenbarten Funktionalitäten aufweist. Es versteht sich, dass eine beliebige geeignete Kombination von Hardware, Software und Firmware genutzt werden kann und dass andere Ausführungsformen nicht auf eine bestimmte Systemarchitektur beschränkt sind.
  • Manche Ausführungsformen können beispielsweise mithilfe eines maschinenlesbaren Mediums oder Artikels implementiert sein, auf dem ein Befehl oder ein Befehlssatz gespeichert sein kann, der bei seiner Ausführung durch eine Maschine die Maschine dazu veranlassen kann, ein Verfahren und/oder Operationen in Übereinstimmung mit den Ausführungsformen durchzuführen. So eine Maschine kann beispielsweise eine beliebige geeignete Prozessorplattform, Computerplattform, Computervorrichtung, Prozessorvorrichtung, Computersystem, Prozessorsystem, Computer, Prozessor oder dergleichen umfassen und kann mithilfe einer beliebigen geeigneten Kombination aus Hardware und/oder Software implementiert werden. Das maschinenlesbare Medium oder der Artikel kann beispielsweise einen beliebigen geeigneten Typ einer Arbeitsspeichereinheit, Arbeitsspeichervorrichtung, Arbeitsspeicherartikels, Arbeitsspeichermediums, Speichervorrichtung, Speicherartikels, Speichermediums und/oder Speichereinheit, wie einem Arbeitsspeicher, entfernbaren oder nichtentfernbaren Medien, beschreibbare oder neubeschreibbare Medien, digitale oder analoge Medien, Festplatte, Diskette, Compact-Disk-Nur-Lesespeicher (CD-ROM), Compact-Disk-aufnehmbarer (CD-R-) Speicher, Compakt-Disk-neubeschreibbarer (CR-RW-) Speicher, optischer Datenspeicher, magnetische Medien, magnetooptische Medien, entfernbare Speicherkarten oder -disks, unterschiedliche Arten von Digital Versatile Disks (DVD), ein Band, eine Kassette oder dergleichen umfassen. Die Befehle können einen beliebigen geeigneten Typ eines Codes, wie Quellcode, kompilierten Code, interpretierten Code, ausführbaren Code, statischen Code, dynamischen Code, verschlüsselten Code und dergleichen umfassen, der mithilfe einer beliebigen geeigneten höheren, niedrigeren, objektorientierten, visuellen, kompilierten und/oder interpretierten Programmiersprache implementiert wird.
  • Sofern nicht spezifisch anderweitig angeführt, versteht es sich, dass sich Ausdrücke, wie „Verarbeiten“, „Rechnen“, „Berechnen“, „Bestimmen“ oder dergleichen auf die Handlung und/oder den Prozess eines Computers oder Computersystems oder einer ähnlichen elektronischen Rechnervorrichtung beziehen, die Daten, die als physikalisehe Größen (z.B. elektronische) in den Registern und/oder Speichereinheiten des Computersystems dargestellt sind, in andere Daten, die ähnlich als physikalische Größen in den Registern, Speichereinheiten oder anderen solchen Informationsspeicherübertragungen oder -anzeigen des Computersystems verändern und/oder transformieren. In diesem Kontext sind die Ausführungsformen nicht eingeschränkt.
  • Die Ausdrücke „Schaltung“ oder „Schaltkreis“, wie in einer beliebigen Ausführungsform hierin verwendet, sind funktionell und können beispielsweise allein oder in einer beliebigen Kombination eine festverdrahtete Schaltung, programmierbare Schaltung, wie Computerprozessoren, die einen oder mehrere befehlsverarbeitende Kerne umfassen, Zustandsmaschinenschaltung und/oder Firmware umfassen, die Befehle speichert, die von der programmierbaren Schaltung ausgeführt werden. Die Schaltung kann einen Prozessor und/oder eine Steuerung umfassen, die konfiguriert ist, um einen oder mehr Befehle für die Durchführung von einer oder mehreren hierin beschriebenen Operationen auszuführen. Die Befehle können beispielsweise als eine Anwendung, Software, Firmware etc. ausgeführt sein, die konfiguriert sind, um die Schaltung dazu zu veranlassen, die bereits erwähnten Operationen durchzuführen. Software kann eines ein Softwarepaket, Code, Befehle, Befehlssätze und/oder Daten ausgeführt sein, die auf einer computerlesbaren Speichervorrichtung aufgezeichnet sind. Software kann ausgeführt oder implementiert sein, um eine beliebige Anzahl von Prozessen zu umfassen und die Prozesse wiederum können ausgeführt oder implementiert sein, um eine beliebige Anzahl Threads, z.B. hierarchisch angeordnet zu umfassen. Firmware kann als Code, Befehle oder Befehlssätze und/oder Daten, die in Speichervorrichtungen hartcodiert (z.B. nichtflüchtig) sind, ausgeführt sein. Die Schaltung kann kollektiv oder einzeln als Schaltung ausgeführt sein, die einen Teil eines größeren Systems bildet, beispielsweise eine integrierte Schaltung (IC), eine anwendungsspezifische integrierte Schaltung (ASIC), ein System-on-a-Chip (SoC), Desktop-Computer, Laptop-Computer, Tablet-Computer, Server, Smartphones etc. Andere Ausführungsformen können als Software ausgeführt sein, die von einer programmierbaren Steuervorrichtung ausgeführt wird. In solchen Fällen sollen die Ausdrücke „Schaltkreis“ oder „Schaltung“ eine Kombination aus Software und Hardware umfassen, wie eine programmierbare Steuervorrichtung oder einen Prozessor, der in der Lage ist, die Software auszuführen. Wie hierin beschrieben, können zahlreiche Ausführungsformen unter Verwendung von Hardwareelementen, Softwareelementen oder einer beliebigen Kombination davon implementiert sein. Beispiele für Hardwareelemente können Prozessoren, Mikroprozessoren, Schaltkreise, Schaltkreiselemente (z.B. Transistoren, Resistoren, Kondensatoren, Induktoren usw.), integrierte Schaltungen, anwendungsspezifische Schaltungen (ASIC), programmierbare Logikvorrichtungen (PLD), digitale Signalprozessoren (DSP), feldprogrammierbares Gate-Array (FPGA), Logik-Gates, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsätze usw. umfassen.
  • Zahlreiche spezifische Details wurden hierin erläutert, um ein gründliches Verständnis der Ausführungsformen bereitzustellen. Fachleute auf dem Gebiet der Erfindung werden jedoch verstehen, dass hinreichend bekannte Operationen, Komponenten und Schaltungen nicht detailliert beschrieben wurden, um die Ausführungsformen nicht zu verunklaren. Es gilt zu verstehen, dass die spezifischen hierin offenbarten strukturellen und funktionellen Details repräsentativ sein können und den Schutzumfang der Ausführungsformen nicht zwingenderweise einschränken. Zusätzlich dazu, obwohl der Gegenstand in einer Sprache beschrieben wurde, die spezifisch für strukturelle Merkmale und/oder methodologische Handlungen ist, gilt es zu verstehen, dass sich der in den beiliegenden Patentansprüchen definierte Gegenstand nicht zwingenderweise auf die spezifischen hierin beschriebenen Merkmale oder Handlungen beschränkt. Stattdessen werden die hierin beschriebenen Merkmale und Handlungen als beispielhafte Formen für die Umsetzung der Patentansprüche offenbart.
  • WEITERE BEISPIELHAFTE AUSFÜHRUNGSFORMEN
  • Die folgenden Beispiele betreffen weitere Ausführungsformen, aus denen zahlreiche Umsetzungen und Konfigurationen ersichtlich sind.
  • Beispiel 1 ist ein Verfahren für die Erfassung von Menschen in Bildern, die von einer Tiefenkamera generiert wurden. Das Verfahren umfasst das Segmentieren eines Bildes in eine Vielzahl von Fenstern; das Einschätzen der Entfernung zu einem Gegenstand in jedem aus der Vielzahl von Fenstern, basierend auf den Tiefenpixeln des Bildes im Fenster; das Filtern der Vielzahl von Fenstern, um Fenster außerhalb eines gewünschten Fenstergrößenbereichs zu verwerfen und dadurch einen Zielsatz von Fenstern zu definieren, wobei der gewünschte Fenstergrößenbereich auf der geschätzten Entfernung zum Gegenstand und einer Brennweite der Tiefenkamera basiert; das Erzeugen von Klassifikationsmerkmalen für jedes der Fenster im Zielsatz; das Erstellen von Kandidatenfenstern durch die Ausführung eines Kaskadenklassifikators, wobei der Kaskadenklassifikator eine vorbereitende Erfassung eines Menschen in jedem Fenster des Zielsatzes, auf Basis der erzeugten Merkmale, durchführt; das Zusammenfügen von benachbarten Kandidatenfenstern; und das Ausführen eines linearen Klassifikators auf den zusammengefügten Kandidatenfenstern, um die Erfassung eines Menschen zu verifizieren.
  • Beispiel 2 umfasst den Gegenstand aus Beispiel 1, wobei die Fenster quadratisch sind und innerhalb eines Bereichs von Größen und Positionen im Bild variieren.
  • Beispiel 3 umfasst den Gegenstand aus den Beispielen 1 oder 2, der ferner Validieren der Tiefenpixel, die bei der Schätzung der Entfernung genutzt werden, umfasst.
  • Beispiel 4 umfasst den Gegenstand aus einem der Beispiele 1-3, der ferner Vorberechnen einer Vielzahl von gewünschten Fenstergrößenbereichen für jede aus einer Vielzahl von zulässigen Gegenstandsentfernungen umfasst.
  • Beispiel 5 umfasst den Gegenstand aus einem der Beispiele 1-4, wobei die Klassifikationsmerkmale eines oder mehrere der folgenden umfassen: Leuchtdichte, Farbton, Sättigung, Gradient, Gradientenausrichtung und Tiefenwerte.
  • Beispiel 6 umfasst den Gegenstand aus einem der Beispiele 1-5, wobei es sich bei dem Kaskadenklassifikator um einen Haar-Klassifikator, einen Klassifikator lokaler Binärmuster (LBP), einen Histogramm-ausgerichteter-Gradienten- (HOG-) Klassifikator oder einen Klassifikator beschleunigter robuster Merkmale (SURF) handelt.
  • Beispiel 7 umfasst den Gegenstand aus einem der Beispiele 1-6, der ferner Trainieren des Kaskadenklassifikators mithilfe einer adaptiven Verstärkung umfasst.
  • Beispiel 8 umfasst den Gegenstand aus einem der Beispiele 1-7, der ferner Folgendes umfasst: das Auswählen von Regionen, die an zumindest eines der zusammengefügten Kandidatenfenster grenzen; das Berechnen einer Differenz zwischen dem Mittelwert der Werte der Tiefenpixel in den angrenzenden Regionen und dem Mittelwert der Werte der Tiefenpixel des zusammengefügten Kandidatenfensters; und das Bereitstellen der Differenz an den linearen Klassifikator als zusätzliches Merkmal, das dem Kontext des zusammengefügten Kandidatenfensters zugeordnet ist.
  • Beispiel 9 ist ein System zur Erfassung von Menschen in Bildern, die von einer Tiefenkamera erzeugt wurden. Das System umfasst eine Fenstererzeugungsschaltung, um ein Bild in eine Vielzahl von Fenstern zu segmentieren. Das System umfasst außerdem eine Fensterfilterschaltung, um eine Entfernung zu einem Gegenstand in jedem aus der Vielzahl von Fenstern, basierend auf Tiefenpixeln des Bilds im Fenster, zu schätzen; und die Vielzahl von Fenstern zu filtern, um Fenster außerhalb eines gewünschten Fenstergrößenbereichs zu verwerfen und dadurch einen Zielsatz an Fenstern zu definieren, wobei der gewünschte Fenstergrößenbereich auf der geschätzten Entfernung des Gegenstands und einer Brennweite der Tiefenkamera basiert. Das System umfasst ferner eine Kandidatenerfassungsschaltung, um Klassifikationsmerkmale für jedes Fenster des Zielsatzes zu erzeugen; und Kandidatenfenster durch die Ausführung eines Kaskadenklassifikators zu erstellen, wobei der Kaskadenklassifikator eine vorbereitende Erfassung eines Menschen in jedem Fenster des Zielsatzes, basierend auf den erzeugten Merkmalen, durchführt. Das System umfasst ferner eine Kandidatenzusammenfügungsschaltung, um benachbarte Kandidatenfenster zusammenzufügen; und eine Kandidatenverifizierungsschaltung, um einen linearen Klassifikator auf den zusammengefügten Kandidatenfenstern auszuführen, um die Erfassung eines Menschen zu verifizieren.
  • Beispiel 10 umfasst den Gegenstand aus Beispiel 9, wobei die Fenster quadratisch sind und innerhalb eines Bereichs von Größen und Positionen im Bild variieren.
  • Beispiel 11 umfasst den Gegenstand aus den Beispielen 9 oder 10, wobei die Fensterfilterschaltung ferner eine Tiefenpixelvalidierungsschaltung umfasst, um die Tiefenpixel, die bei der Schätzung der Entfernung genutzt wurden, zu validieren.
  • Beispiel 12 umfasst den Gegenstand aus einem der Beispiele 9-11, wobei die Fensterfilterschaltung ferner eine Bildgrößenbereich-Berechnungsschaltung umfasst, um eine Vielzahl gewünschter Fenstergrößenbereiche für jede aus einer Vielzahl von zulässigen Entfernungen eines Gegenstands vorzuberechnen.
  • Beispiel 13 umfasst den Gegenstand aus einem der Beispiele 9-12, wobei die Klassifikationsmerkmale eines oder mehrere der folgenden umfassen: Leuchtdichte, Farbton, Sättigung, Gradient, Gradientenausrichtung und Tiefenwerte.
  • Beispiel 14 umfasst den Gegenstand aus einem der Beispiele 9-13, wobei es sich bei dem Kaskadenklassifikator um einen Haar-Klassifikator, einen Klassifikator lokaler Binärmuster (LBP), einen Histogramm-ausgerichteter-Gradienten- (HOG-) Klassifikator oder einen Klassifikator beschleunigter robuster Merkmale (SURF) handelt.
  • Beispiel 15 umfasst den Gegenstand aus einem der Beispiele 9-14, wobei die Kandidatenerfassungsschaltung ferner eine adaptive Verstärkungsmerkmalauswahlschaltung umfasst, um den Kaskadenklassifikator unter Verwendung von adaptiver Verstärkung zu trainieren.
  • Beispiel 16 umfasst den Gegenstand aus einem der Beispiele 9-15, wobei die Kandidatenverifizierungsschaltung ferner Folgendes umfasst: eine Auswahlschaltung benachbarter Regionen, um Regionen auszuwählen, die an zumindest eines der zusammengefügten Kandidatenfenster angrenzen; eine Differenzdurchschnittsschaltung, um eine Differenz zwischen dem Mittelwert der Werte der Tiefenpixel in den angrenzenden Regionen und dem Mittelwert der Werte der Tiefenpixel des zusammengefügten Kandidatenfensters zu berechnen; und um dem linearen Klassifikator die Differenz als ein zusätzliches Merkmal, das dem Kontext des zusammengefügten Kandidatenfensters zugeordnet ist, bereitzustellen.
  • Beispiel 17 ist zumindest ein nichttransitorisches computerlesbares Speichermedium mit darauf codierten Befehlen, die bei ihrer Ausführung durch einen oder mehrere Prozessoren in den folgenden Operationen zur Erfassung von Menschen in Bildern, die von einer Tiefenkamera erzeugt wurden, führen. Die Operationen umfassen das Segmentieren eines Bildes in eine Vielzahl von Fenstern; das Einschätzen der Entfernung zu einem Gegenstand in jedem aus der Vielzahl von Fenstern, basierend auf den Tiefenpixeln des Bildes im Fenster; das Filtern der Vielzahl von Fenstern, um Fenster außerhalb eines gewünschten Fenstergrößenbereichs zu verwerfen und dadurch einen Zielsatz von Fenstern zu definieren, wobei der gewünschte Fenstergrößenbereich auf der geschätzten Entfernung zum Gegenstand und einer Brennweite der Tiefenkamera basiert; das Erzeugen von Klassifikationsmerkmalen für jedes der Fenster im Zielsatz; das Erstellen von Kandidatenfenstern durch die Ausführung eines Kaskadenklassifikators, wobei der Kaskadenklassifikator eine vorbereitende Erfassung eines Menschen in jedem Fenster des Zielsatzes, auf Basis der erzeugten Merkmale, durchführt; das Zusammenfügen von benachbarten Kandidatenfenstern; und das Ausführen eines linearen Klassifikators auf den zusammengefügten Kandidatenfenstern, um die Erfassung eines Menschen zu verifizieren.
  • Beispiel 18 umfasst den Gegenstand aus Beispiel 17, wobei die Fenster quadratisch sind und innerhalb eines Bereichs von Größen und Positionen im Bild variieren.
  • Beispiel 19 umfasst den Gegenstand aus den Beispielen 17 oder 18, wobei die Operationen ferner Validieren der Tiefenpixel, die bei der Schätzung der Entfernung genutzt werden, umfassen.
  • Beispiel 20 umfasst den Gegenstand aus einem der Beispiele 17-19, wobei die Operationen ferner Vorberechnen einer Vielzahl gewünschter Fenstergrößenbereiche für jede aus einer Vielzahl von zulässigen Entfernungen eines Gegenstands umfassen.
  • Beispiel 21 umfasst den Gegenstand aus einem der Beispiele 17-20, wobei die Klassifikationsmerkmale eines oder mehrere der folgenden umfassen: Leuchtdichte, Farbton, Sättigung, Gradient, Gradientenausrichtung und Tiefenwerte.
  • Beispiel 22 umfasst den Gegenstand aus einem der Beispiele 17-21, wobei es sich bei dem Kaskadenklassifikator um einen Haar-Klassifikator, einen Klassifikator lokaler Binärmuster (LBP), einen Histogramm-ausgerichteter-Gradienten- (HOG-) Klassifikator oder einen Klassifikator beschleunigter robuster Merkmale (SURF) handelt.
  • Beispiel 23 umfasst den Gegenstand aus einem der Beispiele 17-22, wobei die Operationen ferner Trainieren des Kaskadenklassifikators unter Verwendung von adaptiver Verstärkung umfassen.
  • Beispiel 24 umfasst den Gegenstand aus einem der Beispiele 17-23, wobei die Operationen ferner Folgendes umfassen: das Auswählen von Regionen, die an zumindest eines der zusammengefügten Kandidatenfenster angrenzen; das Berechnen einer Differenz zwischen dem Mittelwert der Werte der Tiefenpixel in den benachbarten Regionen und dem Mittelwert der Werte der Tiefenpixel des zusammengefügten Kandidatenfensters; und das Bereitstellen der Differenz an den linearen Klassifikator als ein zusätzliches Merkmal, das dem Kontext des zusammengefügten Kandidatenfensters zugeordnet ist.
  • Beispiel 25 ist ein System für die Erfassung von Menschen in Bildern, die von einer Tiefenkamera erzeugt wurden. Das System umfasst Mittel für das Segmentieren eines Bildes in eine Vielzahl von Fenstern; Mittel für das Schätzen einer Entfernung zu einem Gegenstand in jedem aus der Vielzahl von Fenstern, basierend auf den Tiefenpixeln des Bildes im Fenster; Mittel für das Filtern der Vielzahl von Fenstern, um Fenster außerhalb eines gewünschten Fenstergrößenbereichs zu verwerfen und dadurch einen Zielsatz von Fenstern zu definieren, wobei der gewünschte Fenstergrößenbereich auf der geschätzten Entfernung zum Gegenstand und einer Brennweite der Tiefenkamera basiert; Mittel für das Erzeugen von Klassifikationsmerkmalen für jedes der Fenster im Zielsatz; Mittel für das Erstellen von Kandidatenfenstern durch die Ausführung eines Kaskadenklassifikators, wobei der Kaskadenklassifikator eine vorbereitende Erfassung eines Menschen in jedem Fenster des Zielsatzes, auf Basis der erzeugten Merkmale, durchführt; Mittel für das Zusammenfügen von benachbarten Kandidatenfenstern; und Mittel für das Ausführen eines linearen Klassifikators auf den zusammengefügten Kandidatenfenstern, um die Erfassung eines Menschen zu verifizieren.
  • Beispiel 26 umfasst den Gegenstand aus Beispiel 25, wobei die Fenster quadratisch sind und innerhalb eines Bereichs von Größen und Positionen im Bild variieren.
  • Beispiel 27 umfasst den Gegenstand aus den Beispielen 25 oder 26, der ferner Mittel für das Validieren der Tiefenpixel, die bei der Schätzung der Entfernung genutzt werden, umfasst.
  • Beispiel 28 umfasst den Gegenstand aus einem der Beispiele 25-27, der ferner Mittel für das Vorberechnen einer Vielzahl gewünschter Fenstergrößenbereiche für jede aus einer Vielzahl von zulässigen Entfernungen eines Gegenstands umfasst.
  • Beispiel 29 umfasst den Gegenstand aus einem der Beispiele 25-28, wobei die Klassifikationsmerkmale eines oder mehrere der folgenden umfassen: Leuchtdichte, Farbton, Sättigung, Gradient, Gradientenausrichtung und Tiefenwerte.
  • Beispiel 30 umfasst den Gegenstand aus einem der Beispiele 25-29, wobei es sich bei dem Kaskadenklassifikator um einen Haar-Klassifikator, einen Klassifikator lokaler Binärmuster (LBP), einen Histogramm-ausgerichteter-Gradienten- (HOG-) Klassifikator oder einen Klassifikator beschleunigter robuster Merkmale (SURF) handelt.
  • Beispiel 31 umfasst den Gegenstand aus einem der Beispiele 25-30, der ferner Mittel für das Trainieren des Kaskadenklassifikators mithilfe einer adaptiven Verstärkung umfasst.
  • Beispiel 32 umfasst den Gegenstand aus einem der Beispiele 25-31, der ferner Folgendes umfasst: Mittel für das Auswählen von Regionen, die an zumindest eines der zusammengefügten Kandidatenfenster angrenzen; Mittel für das Berechnen einer Differenz zwischen dem Mittelwert der Werte der Tiefenpixel in den benachbarten Regionen und dem Mittelwert der Werte der Tiefenpixel des zusammengefügten Kandidatenfensters; und Mittel für das Bereitstellen der Differenz an den linearen Klassifikator als ein zusätzliches Merkmal, das dem Kontext des zusammengefügten Kandidatenfensters zugeordnet ist.
  • Die Begriffe und Ausdrücke, die hierin eingesetzt wurden, werden als Ausdrücke der Beschreibung und nicht der Beschränkung verwendet und es besteht keine Intention bei der Verwendung solcher Begriffe und Ausdrücke jegliche Äquivalente der gezeigten und beschriebenen Merkmale (oder Teile davon) auszuschließen, außerdem wird anerkannt, dass zahlreiche Modifikationen innerhalb des Schutzumfangs der Patentansprüche möglich sind. Dementsprechend sollen die Patentansprüche all solche Äquivalente abdecken. Zahlreiche Merkmale, Aspekte und Ausführungsformen wurden hierin beschrieben. Die Merkmale, Aspekte und Ausführungsformen sind für eine Kombination miteinander sowie Variation und Modifikation empfänglich, wie es für Fachleute auf dem Gebiet der Erfindung verständlich sein wird. Die vorliegende Offenbarung sollte daher als umfassend solcher Kombinationen, Variationen und Modifikationen betrachtet werden. Es ist beabsichtigt, dass der Schutzumfang der vorliegenden Erfindung nicht von dieser detaillierten Beschreibung, sondern stattdessen von den beiliegenden Patentansprüchen beschränkt wird. Zukünftig eingereichte Anmeldungen, die Priorität gegenüber dieser Anmeldung beanspruchen, können diesen Gegenstand auf andere Weise beanspruchen und können im Allgemeinen beliebige Mengen von einem oder mehreren Elementen umfassen, die hierin zahlreich offenbart oder anderweitig dargestellt wurden.

Claims (24)

  1. Prozessorimplementiertes Verfahren für die Erfassung von Menschen in Bildern, die von einer Tiefenkamera erzeugt wurden, wobei das Verfahren Folgendes umfasst: das Segmentieren eines Bildes in eine Vielzahl von Fenstern durch einen Prozessor; das Einschätzen der Entfernung zu einem Gegenstand in jedem aus der Vielzahl von Fenstern, basierend auf den Tiefenpixeln des Bildes im Fenster durch den Prozessor; das Filtern der Vielzahl von Fenstern, durch den Prozessor, um Fenster außerhalb eines gewünschten Fenstergrößenbereichs zu verwerfen und dadurch einen Zielsatz von Fenstern zu definieren, wobei der gewünschte Fenstergrößenbereich auf der geschätzten Entfernung zum Gegenstand und einer Brennweite der Tiefenkamera basiert; das Erzeugen von Klassifikationsmerkmalen für jedes der Fenster im Zielsatz durch den Prozessor; das Erstellen von Kandidatenfenstern durch die Ausführung eines Kaskadenklassifikators, durch den Prozessor, wobei der Kaskadenklassifikator eine vorbereitende Erfassung eines Menschen in jedem Fenster des Zielsatzes, auf Basis der erzeugten Merkmale, durchführt; das Zusammenfügen von benachbarten Kandidatenfenstern durch den Prozessor; und das Ausführen eines linearen Klassifikators durch den Prozessor auf den zusammengefügten Kandidatenfenstern, um die Erfassung eines Menschen zu verifizieren.
  2. Verfahren nach Anspruch 1, wobei die Fenster quadratisch sind und innerhalb eines Bereichs von Größen und Positionen im Bild variieren.
  3. Verfahren nach Anspruch 1, das ferner das Validieren der Tiefenpixel, die bei der Schätzung der Entfernung genutzt werden, umfasst.
  4. Verfahren nach einem der Ansprüche 1-3, das ferner Vorberechnen einer Vielzahl gewünschter Fenstergrößenbereiche für jede aus einer Vielzahl von zulässigen Entfernungen eines Gegenstands umfasst.
  5. Verfahren nach einem der Ansprüche 1-3, wobei die Klassifikationsmerkmale eines oder mehrere der folgenden umfassen: Leuchtdichte, Farbton, Sättigung, Gradient, Gradientenausrichtung und Tiefenwerte.
  6. Verfahren nach einem der Ansprüche 1-3, wobei es sich bei dem Kaskadenklassifikator um einen Haar-Klassifikator, einen Klassifikator lokaler Binärmuster (LBP), einen Histogramm-ausgerichteter-Gradienten- (HOG-) Klassifikator oder einen Klassifikator beschleunigter robuster Merkmale (SURF) handelt.
  7. Verfahren nach einem der Ansprüche 1-3, das ferner Trainieren des Kaskadenklassifikators mithilfe einer adaptiven Verstärkung umfasst.
  8. Verfahren nach einem der Ansprüche 1-3, das ferner Folgendes umfasst: das Auswählen von Regionen, die an zumindest eines der zusammengefügten Kandidatenfenster angrenzen; das Berechnen einer Differenz zwischen dem Mittelwert der Werte der Tiefenpixel in den angrenzenden Regionen und dem Mittelwert der Werte der Tiefenpixel des zusammengefügten Kandidatenfensters; und das Bereitstellen der Differenz an den linearen Klassifikator als zusätzliches Merkmal, das dem Kontext des zusammengefügten Kandidatenfensters zugeordnet ist.
  9. System für die Erfassung von Menschen in Bildern, die von einer Tiefenkamera erzeugt wurden, wobei das System Folgendes umfasst: eine Fenstererzeugungsschaltung, um ein Bild in eine Vielzahl von Fenstern zu segmentieren; eine Fensterfilterschaltung, um: eine Entfernung zu einem Gegenstand in jedem aus der Vielzahl von Fenstern, basierend auf Tiefenpixeln des Bilds im Fenster, zu schätzen; und die Vielzahl von Fenstern zu filtern, um Fenster außerhalb eines gewünschten Fenstergrößenbereichs zu verwerfen und dadurch einen Zielsatz an Fenstern zu definieren, wobei der gewünschte Fenstergrößenbereich auf der geschätzten Entfernung des Gegenstands und einer Brennweite der Tiefenkamera basiert; eine Kandidatenerfassungsschaltung, um: Klassifikationsmerkmale für jedes Fenster des Zielsatzes zu erzeugen; und Kandidatenfenster durch die Ausführung eines Kaskadenklassifikators zu erstellen, wobei der Kaskadenklassifikator eine vorbereitende Erfassung eines Menschen in jedem Fenster des Zielsatzes, basierend auf den erzeugten Merkmalen, durchführt; eine Kandidatenzusammenfügungsschaltung, um benachbarte Kandidatenfenster zusammenzufügen; und eine Kandidatenverifizierungsschaltung, um einen linearen Klassifikator auf den zusammengefügten Kandidatenfenstern auszuführen, um die Erfassung eines Menschen zu verifizieren.
  10. System nach Anspruch 9, wobei die Fenster quadratisch sind und innerhalb eines Bereichs von Größen und Positionen im Bild variieren.
  11. System nach Anspruch 9, wobei die Fensterfilterschaltung ferner eine Tiefenpixelvalidierungsschaltung umfasst, um die Tiefenpixel, die bei der Schätzung der Entfernung genutzt wurden, zu validieren.
  12. System nach einem der Ansprüche 9-11, wobei die Fensterfilterschaltung ferner eine Bildgrößenbereich-Berechnungsschaltung umfasst, um eine Vielzahl gewünschter Fenstergrößenbereiche für jede aus einer Vielzahl von zulässigen Entfernungen eines Gegenstands vorzuberechnen.
  13. System nach einem der Ansprüche 9-11, wobei die Klassifikationsmerkmale eines oder mehrere der folgenden umfassen: Leuchtdichte, Farbton, Sättigung, Gradient, Gradientenausrichtung und Tiefenwerte.
  14. System nach einem der Ansprüche 9-11, wobei es sich bei dem Kaskadenklassifikator um einen Haar-Klassifikator, einen Klassifikator lokaler Binärmuster (LBP), einen Histogramm-ausgerichteter-Gradienten- (HOG-) Klassifikator oder einen Klassifikator beschleunigter robuster Merkmale (SURF) handelt.
  15. System nach einem der Ansprüche 9-11, wobei die Kandidatenerfassungsschaltung ferner eine adaptive Verstärkungsmerkmalauswahlschaltung umfasst, um den Kaskadenklassifikator unter Verwendung von adaptiver Verstärkung zu trainieren.
  16. System nach einem der Ansprüche 9-11, wobei die Kandidatenverifizierungsschaltung ferner Folgendes umfasst: eine Auswahlschaltung benachbarter Regionen, um Regionen auszuwählen, die an zumindest eines der zusammengefügten Kandidatenfenster angrenzen; eine Differenzdurchschnittsschaltung, um eine Differenz zwischen dem Mittelwert der Werte der Tiefenpixel in den angrenzenden Regionen und dem Mittelwert der Werte der Tiefenpixel des zusammengefügten Kandidatenfensters zu berechnen; und um dem linearen Klassifikator die Differenz als ein zusätzliches Merkmal, das dem Kontext des zusammengefügten Kandidatenfensters zugeordnet ist, bereitzustellen.
  17. System für die Erfassung von Menschen in Bildern, die von einer Tiefenkamera erzeugt wurden, wobei das System Folgendes umfasst: Mittel für das Segmentieren eines Bildes in eine Vielzahl von Fenstern; Mittel für das Schätzen einer Entfernung zu einem Gegenstand in jedem aus der Vielzahl von Fenstern, basierend auf den Tiefenpixeln des Bildes im Fenster; Mittel für das Filtern der Vielzahl von Fenstern, um Fenster außerhalb eines gewünschten Fenstergrößenbereichs zu verwerfen und dadurch einen Zielsatz von Fenstern zu definieren, wobei der gewünschte Fenstergrößenbereich auf der geschätzten Entfernung zum Gegenstand und einer Brennweite der Tiefenkamera basiert; Mittel für das Erzeugen von Klassifikationsmerkmalen für jedes der Fenster im Zielsatz; Mittel für das Erstellen von Kandidatenfenstern durch die Ausführung eines Kaskadenklassifikators, wobei der Kaskadenklassifikator eine vorbereitende Erfassung eines Menschen in jedem Fenster des Zielsatzes, auf Basis der erzeugten Merkmale, durchführt; Mittel für das Zusammenfügen von benachbarten Kandidatenfenstern; und Mittel für das Ausführen eines linearen Klassifikators auf den zusammengefügten Kandidatenfenstern, um die Erfassung eines Menschen zu verifizieren.
  18. System nach Anspruch 17, wobei die Fenster quadratisch sind und innerhalb eines Bereichs von Größen und Positionen im Bild variieren.
  19. System nach Anspruch 17, das ferner Mittel für das Validieren der Tiefenpixel, die bei der Schätzung der Entfernung genutzt wurden, umfasst.
  20. System nach einem der Ansprüche 17-19, das ferner Mittel für das Vorberechnen einer Vielzahl gewünschter Fenstergrößenbereiche für jede aus einer Vielzahl von zulässigen Entfernungen eines Gegenstands umfasst.
  21. System nach einem der Ansprüche 17-19, wobei die Klassifikationsmerkmale eines oder mehrere der folgenden umfassen: Leuchtdichte, Farbton, Sättigung, Gradient, Gradientenausrichtung und Tiefenwerte.
  22. System nach einem der Ansprüche 17-19, wobei es sich bei dem Kaskadenklassifikator um einen Haar-Klassifikator, einen Klassifikator lokaler Binärmuster (LBP), einen Histogramm-ausgerichteter-Gradienten- (HOG-) Klassifikator oder einen Klassifikator beschleunigter robuster Merkmale (SURF) handelt.
  23. System nach einem der Ansprüche 17-19, das ferner Mittel für das Trainieren des Kaskadenklassifikators mithilfe einer adaptiven Verstärkung umfasst.
  24. System nach einem der Ansprüche 17-19, das ferner Folgendes umfasst: Mittel für das Auswählen von Regionen, die an zumindest eines der zusammengefügten Kandidatenfenster angrenzen; Mittel für das Berechnen einer Differenz zwischen dem Mittelwert der Werte der Tiefenpixel in den benachbarten Regionen und dem Mittelwert der Werte der Tiefenpixel des zusammengefügten Kandidatenfensters; und Mittel für das Bereitstellen der Differenz an den linearen Klassifikator als ein zusätzliches Merkmal, das dem Kontext des zusammengefügten Kandidatenfensters zugeordnet ist.
DE112016006873.5T 2016-05-19 2016-05-19 Erfassung von Menschen in Bildern unter Verwendung von Tiefeninformationen Pending DE112016006873T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/082603 WO2017197620A1 (en) 2016-05-19 2016-05-19 Detection of humans in images using depth information

Publications (1)

Publication Number Publication Date
DE112016006873T5 true DE112016006873T5 (de) 2019-02-14

Family

ID=60324702

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016006873.5T Pending DE112016006873T5 (de) 2016-05-19 2016-05-19 Erfassung von Menschen in Bildern unter Verwendung von Tiefeninformationen

Country Status (3)

Country Link
US (1) US10740912B2 (de)
DE (1) DE112016006873T5 (de)
WO (1) WO2017197620A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111242096A (zh) * 2020-02-26 2020-06-05 贵州安防工程技术研究中心有限公司 基于人数梯度的人群聚集判别方法与系统

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11194398B2 (en) 2015-09-26 2021-12-07 Intel Corporation Technologies for adaptive rendering using 3D sensors
DE112016006873T5 (de) 2016-05-19 2019-02-14 Intel Corporation Erfassung von Menschen in Bildern unter Verwendung von Tiefeninformationen
US11164327B2 (en) 2016-06-02 2021-11-02 Intel Corporation Estimation of human orientation in images using depth information from a depth camera
CN108184096B (zh) * 2018-01-08 2020-09-11 北京艾恩斯网络科技有限公司 一种机场跑滑区全景监控装置、系统及方法
CN108388920B (zh) * 2018-03-01 2022-04-08 福州大学 一种融合hog和lbph特征的身份证复印件检测方法
CN109102534B (zh) * 2018-08-29 2020-09-01 长光卫星技术有限公司 雾霾天气条件下的光学遥感图像配准方法及系统
USD914021S1 (en) 2018-12-18 2021-03-23 Intel Corporation Touchpad display screen for computing device
US11379016B2 (en) 2019-05-23 2022-07-05 Intel Corporation Methods and apparatus to operate closed-lid portable computers
US11543873B2 (en) 2019-09-27 2023-01-03 Intel Corporation Wake-on-touch display screen devices and related methods
US11733761B2 (en) 2019-11-11 2023-08-22 Intel Corporation Methods and apparatus to manage power and performance of computing devices based on user presence
US11809535B2 (en) 2019-12-23 2023-11-07 Intel Corporation Systems and methods for multi-modal user device authentication
US11360528B2 (en) 2019-12-27 2022-06-14 Intel Corporation Apparatus and methods for thermal management of electronic user devices based on user activity
CN112200080A (zh) * 2020-10-10 2021-01-08 平安国际智慧城市科技股份有限公司 一种人脸识别方法、装置、电子设备及存储介质
CN112232215B (zh) * 2020-10-16 2021-04-06 哈尔滨市科佳通用机电股份有限公司 一种铁路货车钩尾销托梁脱落故障检测方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194705A (ja) 2011-03-15 2012-10-11 Omron Corp 画像処理装置、画像処理方法および画像処理プログラム
US9582707B2 (en) 2011-05-17 2017-02-28 Qualcomm Incorporated Head pose estimation using RGBD camera
CN104025118B (zh) 2011-11-01 2017-11-07 英特尔公司 使用扩展surf特征的对象检测
GB201215944D0 (en) 2012-09-06 2012-10-24 Univ Manchester Image processing apparatus and method for fittng a deformable shape model to an image using random forests
US9940553B2 (en) 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
US9747493B2 (en) 2014-09-23 2017-08-29 Keylemon Sa Face pose rectification method and apparatus
WO2016045711A1 (en) 2014-09-23 2016-03-31 Keylemon Sa A face pose rectification method and apparatus
DE112016006873T5 (de) 2016-05-19 2019-02-14 Intel Corporation Erfassung von Menschen in Bildern unter Verwendung von Tiefeninformationen
US11164327B2 (en) 2016-06-02 2021-11-02 Intel Corporation Estimation of human orientation in images using depth information from a depth camera

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111242096A (zh) * 2020-02-26 2020-06-05 贵州安防工程技术研究中心有限公司 基于人数梯度的人群聚集判别方法与系统

Also Published As

Publication number Publication date
WO2017197620A1 (en) 2017-11-23
US20190156499A1 (en) 2019-05-23
US10740912B2 (en) 2020-08-11

Similar Documents

Publication Publication Date Title
DE112016006873T5 (de) Erfassung von Menschen in Bildern unter Verwendung von Tiefeninformationen
DE102020100684B4 (de) Kennzeichnung von graphischen bezugsmarkierern
US20190347767A1 (en) Image processing method and device
DE112011101927B4 (de) Semantisches Parsen von Objekten in Videos
DE112016006922T5 (de) Erkennung einer Aktivität in einer Videobildfolge anhand von Tiefeninformationen
DE102018008161A1 (de) Detektieren von Objekten unter Nutzung eines schwach überwachten Modells
DE112018002166T5 (de) Zyklisches gegnerisches Erzeugungsnetz für die unüberwachte domänen-übergreifende Bilderzeugung
DE102020214863A1 (de) Selbstüberwachtes verfahren und system zur tiefenschätzung
DE112016001830T5 (de) Das Entdecken von Unternehmen aus Bildern
DE112016006081T5 (de) Automatische Echtzeit-Fahrzeugkamerakalibrierung
DE102020125207A1 (de) Unbeaufsichtigtes training von neuronalem netz zur bildkompression mit hohem dynamikumfang
DE102014111748A1 (de) Gesichtsdetektion
DE202014010843U1 (de) Ausrichten von bodenbasierten Bildern mit Luftbildern
DE112019007677T5 (de) Posenvorhersageverfahren, Modelltrainingsverfahren und Vorrichtung
DE112014006439B4 (de) Kantenerkennungsvorrichtung, Kantenerkennungsverfahren und Programm
DE202015009137U1 (de) Verwenden von Bildmerkmalen zur Extraktion von Ansichtsfenstern aus Bildern
DE202014010922U1 (de) Erzeugung von Tiefenkarten
DE102004046237A1 (de) Verfahren und System für die gemischte rigide Registrierung von medizinischen 2D/3D-Bildern
DE112016002252T5 (de) Automatische erkennung von panoramagesten
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
CN109871845B (zh) 证件图像提取方法及终端设备
DE102017102952A1 (de) Eine Vorrichtung zum Erzeugen eines dreidimensionalen Farbbildes und ein Verfahren zum Produzieren eines dreidimensionalen Farbbildes
EP2050023A1 (de) Verfahren zum analysieren und/oder testen zumindest einer benutzeroberfläche, datenverarbeitungseinrichtung und computerprogrammprodukt
DE102016122790A1 (de) Unterstützter automatischer Weißabgleich
DE102017128297A1 (de) Technologie zur Merkmalserkennung und -verfolgung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: HGF EUROPE LLP, DE

Representative=s name: HGF EUROPE LP, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000