-
Erfindungsgebiet
-
Die vorliegende Erfindung betrifft Vorrichtungen und Verfahren zur Bildverarbeitung zum Detektieren von Objekten wie etwa Menschen und entsprechende Computerprogramme zum Ausführen solcher Verfahren und die Computerprogramme speichernde Speicherbauelemente und auch entsprechende integrierte Schaltungen.
-
Allgemeiner Stand der Technik
-
Die Fußgängerdetektion ist wegen ihrer Bedeutung für praktische Anwendungen wie etwa Kraftfahrzeugsicherheit [siehe Literaturstellen 11, 8] und Sichtüberwachung [23] ein Brennpunkt der jüngsten Forschung. Das bisher erfolgreichste Modell für „normale” Fußgänger, die üblicherweise stehen oder aufrecht gehen, ist immer noch ein monolithischer globaler Deskriptor für das ganze Suchfenster. Bei einem derartigen Modell gibt es drei Hauptschritte, die variiert werden können, um eine Leistung zu erhalten: Merkmalsextraktion, Klassifikation und Nicht-Maxima-Unterdrückung. Die aus den Rohbilddaten extrahierten üblichsten Merkmale sind Varianten des HOG-Rahmens, d. h. lokale Histogramme von Gradienten und eines (relativen) optischen Flusses [3, 4, 10, 24, 27], und verschiedene Arten von verallgemeinerten Haar-Wavelets, z. B. [6, 23]. Uns bekannte konkurrierende Klassifizierer verwenden statistische Lerntechniken, um die Abbildung von Merkmalen auf Punktwerte zu erlernen (was die Wahrscheinlichkeit anzeigt, dass ein Fußgänger anwesend ist) – üblicherweise entweder Support Vector Machines [3, 13, 17, 19, 27] oder eine gewisse Variante des Boosting [23, 27, 28, 30].
-
Der spektakuläre Fortschritt, der beim Detektieren von Fußgängern gemacht wurde (d. h. Menschen in einer aufrechten Position), wird möglicherweise am Besten veranschaulicht durch die zunehmende Schwierigkeit von für das Benchmarking verwendeten Datensätzen. Die erste [16] und zweite [3] Generation von Fußgängerdatenbanken sind im Wesentlichen gesättigt und wurden durch neue, anspruchsvollere Datensätze [7, 27, 6] ersetzt. Die jüngsten Bemühungen, Daten von realistischer Komplexität aufzuzeichnen, haben auch gezeigt, dass es immer noch eine Diskrepanz gibt zwischen dem, was mit Fußgängerdetektion möglich ist, und was für viele Anwendungen erforderlich wäre: in [6] beträgt die Detektionsrate der besten Verfahren immer noch < 60% für eine falsche positive Detektion pro Bild, selbst für voll sichtbare Menschen.
-
Kurze Darstellung der Erfindung
-
Eine Aufgabe der Erfindung besteht in der Bereitstellung von Vorrichtungen und Verfahren zur Bildverarbeitung zum Detektieren von Objekten wie etwa Menschen und entsprechende Computerprogramme zum Ausführen solcher Verfahren und entsprechende integrierte Schaltungen. Gemäß einem ersten Aspekt stellt die Erfindung Folgendes bereit:
Einen Bildprozessor für die Detektion eines Objekts in einem Bild oder einer Sequenz von Bildern, wobei jedes Bild aus Pixeln besteht und der Bildprozessor Folgendes umfasst: einen Fensterwähler zum Wählen eines Detektionsfensters innerhalb des Bilds,
ein Selbstähnlichkeitsberechnungsteil zum Bestimmen von Selbstähnlichkeitsinformationen für eine Gruppe der Pixel in einem beliebigen Teil des Detektionsfensters, zum Darstellen eines Ausmaßes an Selbstähnlichkeit dieser Gruppe zu anderen Gruppen in irgendeinem anderen Teil des Detektorfensters und zum Wiederholen der Bestimmung für Gruppen in allen Teilen des Detektionsfensters, um einen globalen Selbstähnlichkeitsdeskriptor für das gewählte Detektionsfenster zu generieren, und einen Klassifizierer zum Klassifizieren, ob das Objekt in dem Detektionsfenster des Bilds vorliegt, anhand des globalen Selbstähnlichkeitsdeskriptors für dieses Detektionsfenster.
-
Durch Verwenden einer globalen Selbstähnlichkeit anstatt lokaler Ähnlichkeiten werden mehr Informationen erfasst, was zu einer besseren Klassifizierung führen kann. Insbesondere hilft dies, die Erkennung von in dem Objekt inhärenten entfernteren Selbstähnlichkeiten und auf einer beliebigen Skala vorliegenden Selbstähnlichkeiten zu ermöglichen. Der Klassifizierer kann dann jene Selbstähnlichkeiten verwenden oder erfassen, die für das Objekt am diskriminierendsten sind.
-
Ausführungsformen der Erfindung können beliebige andere Merkmale hinzugefügt werden, einige derartige zusätzliche Merkmale sind in den abhängigen Ansprüchen dargelegt und unten ausführlicher beschrieben. Andere Aspekte der Erfindung beinhalten entsprechende Verfahren und Computerprogramme. Beliebige der zusätzlichen Merkmale können miteinander kombiniert und mit beliebigen der Aspekte kombiniert oder darauf verzichtet werden. Weitere Vorteile ergeben sich dem Fachmann, insbesondere gegenüber einem anderen Stand der Technik. Zahlreiche Variationen und Modifikationen können vorgenommen werden, ohne von den Ansprüchen der vorliegenden Erfindung abzuweichen. Deshalb ist klar zu verstehen, dass die Form der vorliegenden Erfindung nur illustrativ ist und den Schutzbereich der Ansprüche der vorliegenden Erfindung nicht beschränken soll.
-
Kurze Beschreibung der Zeichnungen
-
Wie die vorliegende Erfindung umgesetzt werden kann, wird nun beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Es zeigen:
-
1 einen Bildprozessor gemäß einer ersten Ausführungsform,
-
2 Verfahrensschritte gemäß einer Ausführungsform,
-
3 eine weitere Ausführungsform,
-
4 Ansichten eines Fensters eines Bilds und Selbstähnlichkeitsinformationen von vier Zellen in verschiedenen Teilen des Bilds,
-
5 einen Bildprozessor gemäß einer Ausführungsform mit einem Bewegungsdetektor,
-
6 Schritte beim Bestimmen von Gradienteninformationen gemäß einer Ausführungsform,
-
7 Schritte beim Bestimmen von Selbstähnlichkeitsinformationen gemäß einer Ausführungsform,
-
8 ein Beispiel eines Bilds, das Detektionsfenster zeigt, und
-
9 Schritte gemäß einer weiteren Ausführungsform.
-
Ausführliche Beschreibung
-
Die vorliegende Erfindung wird bezüglich bestimmter Ausführungsformen und unter Bezugnahme auf gewisse Zeichnungen beschrieben, doch ist die Erfindung nicht darauf beschränkt, sondern nur durch die Ansprüche. Die beschriebenen Zeichnungen sind nur schematisch und nicht beschränkend. In den Zeichnungen kann die Größe einiger der Elemente übertrieben und zu Veranschaulichungszwecken nicht maßstabsgetreu gezeichnet sein. Wenn der Ausdruck „umfassend” in der vorliegenden Beschreibung und den Ansprüchen verwendet wird, schließt er keine anderen Elemente oder Schritte aus. Wenn ein unbestimmter oder bestimmter Artikel verwendet wird, wenn auf Nomen in der Einzahl Bezug genommen wird, z. B. „ein/eine”, „der/die/das”, beinhaltet dies ein Plural dieses Nomens, sofern nicht spezifisch etwas anderes angegeben ist. Der Ausdruck „umfassend”, der in den Ansprüchen verwendet wird, sollte nicht so ausgelegt werden, dass er auf die danach aufgeführten Mittel beschränkt ist; er schließt keine anderen Elemente oder Schritte aus. Somit sollte der Schutzbereich des Ausdrucks „eine Einrichtung umfassend Mittel A und B” nicht auf Einrichtungen beschränkt sein, die nur aus den Komponenten A und B bestehen. Das bedeutet, dass bezüglich der vorliegenden Erfindung die einzigen relevanten Komponenten der Einrichtung A und B sind.
-
Weiterhin werden in der Beschreibung und in den Ansprüchen die Ausdrücke erster, zweiter, dritter und dergleichen verwendet, um zwischen ähnlichen Elementen zu unterscheiden, und nicht notwendigerweise zum Beschreiben einer sequenziellen oder chronologischen Reihenfolge. Es versteht sich, dass die so verwendeten Ausdrücke unter entsprechenden Umständen austauschbar sind und dass die Ausführungsformen der hierin beschriebenen Erfindung in anderen Sequenzen als hier beschrieben oder dargestellt arbeiten können. Zudem werden die Ausdrücke oben, unten, über, unter und dergleichen in der Beschreibung und den Ansprüchen zu beschreibenden Zwecken und nicht notwendigerweise zum Beschreiben relativer Positionen verwendet. Es versteht sich, dass die so verwendeten Ausdrücke unter entsprechenden Umständen austauschbar sind und dass die Ausführungsformen der hierin beschriebenen Erfindung in anderen Orientierungen als hier beschrieben oder dargestellt arbeiten können.
-
Eine Bezugnahme in der ganzen Patentschrift auf „eine Ausführungsform” bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Charakteristik, die in Verbindung mit der Ausführungsform beschrieben werden, in mindestens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Somit bezieht sich das Erscheinen der Phrase „in einer Ausführungsform” an verschiedenen Plätzen im Verlauf dieser Patentschrift nicht notwendigerweise auf die gleiche Ausführungsform, kann es aber. Weiterhin können die bestimmten Merkmale, Strukturen oder Charakteristika auf beliebige geeignete Weise, wie dies für einen Durchschnittsfachmann anhand dieser Offenbarung ersichtlich ist, in einer oder mehreren Ausführungsformen kombiniert werden. Analog ist zu verstehen, dass in der Beschreibung von Ausführungsbeispielen der Erfindung verschiedene Merkmale der Erfindung manchmal in einer einzelnen Ausführungsform, Figur oder Beschreibung davon miteinander gruppiert sind, und zwar zu dem Zweck, die Offenbarung zu straffen und beim Verständnis einer oder mehrerer der verschiedenen erfindungsgemäßen Aspekte zu helfen. Dieses Verfahren der Offenbarung ist jedoch nicht so auszulegen, dass es eine Absicht wiedergibt, dass die beanspruchte Erfindung mehr Merkmale erfordert als ausdrücklich in jedem Anspruch aufgeführt sind. Vielmehr liegen, wie die folgenden Ansprüche wiedergeben, erfindungsgemäße Aspekte in weniger als allen Merkmalen einer einzelnen vorausgegangenen offenbarten Ausführungsform. Somit sind die auf die ausführliche Beschreibung folgenden Ansprüche hierdurch ausdrücklich in diese ausführliche Beschreibung aufgenommen, wobei jeder Anspruch als eine separate Ausführungsform der vorliegenden Erfindung für sich alleine steht.
-
Wenngleich einige hierin beschriebene Ausführungsformen einige, aber nicht andere Merkmale enthalten, die in anderen Ausführungsformen enthalten sind, ist zudem beabsichtigt, dass Kombinationen von Merkmalen von verschiedenen Ausführungsformen innerhalb des Schutzbereichs der Erfindung liegen und verschiedene Ausführungsformen bilden, wie dies der Fachmann versteht. Beispielsweise können in den folgenden Ansprüchen beliebige der beanspruchten Ausführungsformen in einer beliebigen Kombination verwendet werden.
-
Weiterhin werden hierin einige der Ausführungsformen als ein Verfahren oder eine Kombination von Elementen eines Verfahrens beschrieben, das durch einen Prozessor eines Computersystems oder durch andere Mittel zum Ausführen der Funktion implementiert werden kann. Somit bildet ein Prozessor mit den notwendigen Anweisungen zum Ausführen eines derartigen Verfahrens oder Elements eines Verfahrens ein Mittel zum Ausführen des Verfahrens oder Elements eines Verfahrens. Weiterhin ist ein hierin beschriebenes Element einer Vorrichtungsausführungsform ein Beispiel eines Mittels zum Ausführen der durch das Element durchgeführten Funktion zum Zweck des Ausführens der Erfindung. Referenzen auf ein Signal können eine beliebige Art von Signal in einem beliebigen Medium umfassen und können so beispielsweise ein elektrisches oder optisches oder drahtloses Signal oder ein anderes Signal umfassen. Referenzen auf das Analysieren kann das Verarbeiten eines Signals auf eine beliebige Weise einschließen, um Informationen über das Material abzuleiten oder zu verbessern. Referenzen auf einen Prozessor können ein beliebiges Mittel zum Verarbeiten von Signalen oder Daten in beliebiger Form einschließen und können somit beispielsweise einen PC, einen Mikroprozessor, eine Analogschaltungsanordnung, applikationsspezifische integrierte Schaltungen, Software für selbige und so weiter einschließen.
-
In der hier vorgelegten Beschreibung werden zahlreiche spezifische Details dargelegt. Es ist jedoch zu verstehen, dass Ausführungsformen der Erfindung ohne diese spezifischen Details praktiziert werden können. In anderen Fällen wurden wohlbekannte Verfahren, Strukturen und Techniken nicht ausführlich gezeigt, um nicht ein Verständnis dieser Beschreibung zu verdunkeln.
-
Literaturstellen
-
- [1] M. Andriluka, S. Roth und B. Schiele. Pictorial structures revisited: People detection and articulated pose estimation. In CVPR, 2009.
- [2] B. Babenko, P. Doll'ar, Z. Tu und S. Belongie. Simultaneous learning and alignment: Multi-instance and multi-pose learning. In ECCV workshop an Faces in Real-Life Images, 2008.
- [3] N. Dalal und B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
- [4] N. Dalal, B. Triggs und C. Schmid. Human detection using oriented histograms of flow and appearance. In ECCV, 2006.
- [5] P. Doll'ar, Z. Tu, P. Perona und S. Belongie. Integral channel features. In BMVC, 2009.
- [6] P. Doll'ar, C. Wojek, B. Schiele und P. Perona. Pedestrian detection: A benchmark. In CVPR, 2009.
- [7] M. Enzweiler und D. M. Gavrila. Monocular pedestrian detection: Survey and experiments. PAMI, 2009.
- [8] A. Ess, B. Leibe, K. Schindler und L. van Gool. A mobile vision system for robust multi-person tracking. In CVPR, 2008.
- [9] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn und A. Zisserman. The PASCAL Visual Object Classes Challenge 2008 (VOC2008) Results.
- [10] P. Felzenszwalb, D. McAllester und D. Ramanan. A discriminatively trained, multiscale, deformable part model. In CVPR, 2008.
- [11] D. M. Gavrila und S. Munder. Multi-cue pedestrian detection and tracking from a moving vehicle. IJCV, 73: 41–59, 2007.
- [12] I. N. Junejo, E. Dexter, I. Laptev und P. P'erez. Cross-view action recognition from temporal self-similarities. In ECCV, 2008.
- [13] Z. Lin und L. S. Davis. A pose-invariant descriptor for human detection and segmentation. In ECCV, 2008.
- [14] S. Maji, A. C. Berg und J. Malik. Classification using intersection kernel support vector machines is efficient. In CVPR, 2008.
- [15] P. Ott und M. Everingham. Implicit color segmentation features for pedestrian and object detection. In ICCV, 2009.
- [16] C. Papageorgiou und T. Poggio. A trainable system for object detection. IJCV, 38(1): 15–33, 2000.
- [17] P. Sabzmeydani und G. Mori. Detecting pedestrians by learning shapelet features. In CVPR, 2007.
- [18] W. Schwartz, A. Kembhavi, D. Harwood und L. Davis. Human detection using partial least squares analysis. In ICCV, 2009.
- [19] A. Shashua, Y. Gdalyahu und G. Hayun. Pedestrian detection for driving assistance systems: Single-frame classification and system level performance. In IVS, 2004.
- [20] E. Shechtman und M. Irani. Matching local self-similarities across images and videos. In CVPR, 2007.
- [21] C. Stauffer und W. E. L. Grimson. Similarity templates for detection and recognition. In CVPR, 2001.
- [22] K. E. A. van de Sande, T. Gevers und C. G. M. Snoek. Evaluation of color descriptors for object and scene recognition. In PAMI, 2009. (in press).
- [23] P. Viola, M. Jones und D. Snow. Detecting pedestrians using patterns of motion and appearance. In ICCV, 2003.
- [24] X. Wang, T. X. Han und S. Yan. A HOG-LBP human detector with partial occlusion handling. In ICCV, 2009.
- [25] T. Watanabe, S. Ito und K. Yokoi. Co-occurrence histograms of oriented gradients for pedestrian detection. In PSIVT, 2009.
- [26] M. Werlberger, W. Trobin, T. Pock, A. Wedel, D. Cremers und H. Bischof. Anisotropic Huber-L1 optical flow. In BMVC, 2009.
- [27] C. Wojek, S. Walk und B. Schiele. Multi-cue onboard pedestrian detection. In CVPR, 2009.
- [28] B. Wu und R. Nevatia. Detection and tracking of multiple, partially occluded humans by bayesian combination of edgelet part detectors. IJCV, 75(2): 247–266, 2007.
- [29] C. Zach, T. Pock und H. Bischof. A duality based approach for realtime TV-L1 optical flow. In DAGM, 2007.
- [30] Q. Zhu, M.-C. Yeh, K.-T. Cheng und S. Avidan. Fast human detection using a cascade of histograms of oriented gradients. In CVPR, 2006.
-
Einführung zu einigen von einigen der Ausführungsformen angesprochenen Probleme
-
Mindestens einige Ausführungsformen der vorliegenden Erfindung besitzen ein neues Merkmal, das auf der Selbstähnlichkeit von Merkmalen auf niedriger Ebene basiert, bei einigen bestimmten Ausführungsformen Farbhistogramme von verschiedenen Teilgebieten innerhalb des Detektorfensters. Dieses als CSS bezeichnete Merkmal erfasst Statistiken von räumlich lokalisierten Farbverteilungen paarweise, womit es von der tatsächlichen Farbe eines spezifischen Beispiels unabhängig ist. Es sind globale Ähnlichkeiten, die im Sinne von Ähnlichkeiten eines gegebenen Teilgebiets mit irgendeinem anderen Teil des Detektionsfensters gefunden werden, nicht nur die Teile in direkter Nähe bei dem Teilgebiet. Die Selbstähnlichkeit ermöglicht die Darstellung von Eigenschaften wie „die Farbverteilungen auf der linken und rechten Schulter weisen üblicherweise eine hohe Ähnlichkeit auf” unabhängig von der tatsächlichen Farbverteilung, die von Person zu Person je nach ihrer Kleidung variieren kann. Das Hinzufügen von CSS kann die Klassifikationsleistung im Stand der Technik sowohl für statische Bilder als auch Bildsequenzen verbessern. Das neue Merkmal ist besonders leistungsstark bei statischen Bildern und somit auch wertvoll für Applikationen wie etwa einem kontentbasierten Bildabruf. Es liefert auch eine ständige Verbesserung von Bildsequenzen in Kombination mit einer Bewegungsdetektion in der Form eines optischen Flusses.
-
Fallspezifische Farbinformationen wurden jüngst in der Form von impliziten lokalen Segmentierungsmerkmalen [15], codierenden Gradienten von Distanzen bezüglich zwei lokalen Farbverteilungsmodellen („Vordergrund” und „Hintergrund”) verwendet. Nur wenige Autoren haben sich für die Verwendung der Selbstähnlichkeit als Merkmal eingesetzt.
-
Am bemerkenswertesten codiert [20] die lokale Selbstähnlichkeit von rohen Bildfeldern in einen Log-Polar-klassifizierten Deskriptor. Sie zeigen eine hervorragende Leistung gegenüber Gradientenmerkmalen in einer Schablonenanpassungsaufgabe, was das Anpassen von bestimmten menschlichen Haltungen beinhalten kann. In [12] schlagen die Autoren Selbstähnlichkeitsdeskriptoren über Merkmalszeitserien für die Erkennung menschlicher Aktionen vor, wobei eine gute Betrachtungspunktinvarianz des Deskriptors beobachtet wird.
-
In einem anderen Kontext schlug [21] eine Darstellung vor, bei der die Farbähnlichkeit auf Pixelebene unter Annahme einer bedingten Gaußschen Farbverteilung berechnet wird.
-
Üblicherweise ist die Wahl der Merkmale die kritischste Entscheidung beim Auslegen eines Detektors, und das Finden von guten Merkmalen ist immer noch größtenteils ein empirischer Prozess mit wenigen theoretischen Leitlinien. Es wurden verschiedene Kombinationen von Merkmalen ausgewertet, einschließlich eines neuen Merkmals auf der Basis der Ähnlichkeit von Farben in verschiedenen Gebieten des Detektorfensters, was die Detektionsleistung signifikant anheben kann. Das Fußgängergebiet in einer Ausführungsform unseres Detektionsfensters besitzt die Größe 48×96 Pixel. Da es sich als vorteilhaft herausgestellt hat, um die Person herum einen gewissen Kontext aufzunehmen [3], ist das Fenster selbst größer (64×128 Pixel). HOG Histogramme von orientierten Gradienten sind ein bekanntes Merkmal für die Objektdetektion, zuerst in [3] vorgeschlagen. Sie sammeln Gradienteninformationen in lokalen Zellen zu Histogrammen unter Verwendung einer trilinearen Interpolation und normieren überlappende, aus benachbarten Zellen bestehende Blöcke. Interpolation, lokale Normierung und Histogrammklassifizierung machen die Darstellung robust gegenüber Änderungen bei Beleuchtungsbedingungen und kleinen Variationen bei der Haltung. HOG kann optional durch Local Binary Patterns (LBP) [24] verbessert werden.
-
Fig. 1, Fig. 2, Eine erste Ausführungsform
-
1 zeigt einen Bildprozessor gemäß einer Ausführungsform. 2 zeigt Schritte, die von dieser oder anderen Ausführungsformen ausgeführt werden. Der Bildprozessor kann als beispielsweise eine oder mehrere integrierte Schaltungen mit Hardware wie etwa Schaltungsblöcken, die jedem der gezeigten Teile gewidmet sind, implementiert werden, oder kann beispielsweise als Softwaremodule implementiert werden, die von einem Allzweckprozessor in einer Sequenz, wie in einem Server, ausgeführt werden. Die gezeigten Teile enthalten einen Wähler 20 zum Empfangen eines eingegebenen Bilds oder Bildstroms (wie etwa Einzelbildern eines Videos, in Echtzeit oder Nicht-Echtzeit) von einer Bildquelleneinrichtung 5 und Auswählen eines Detektionsfensters und in diesem Fenster das Auswählen von Gruppen von zu verarbeitenden Pixeln. Die Gruppen können zum Beispiel 6×6 oder 8×8 Pixel groß sein oder andere Größen aufweisen. Sie brauchen nicht quadratisch zu sein und können rechteckig sein oder eine andere regelmäßige oder unregelmäßige Gestalt besitzen. Gruppen werden durch ein Teil 40 zur Berechnung der globalen Selbstähnlichkeit verarbeitet. Dieses Teil zur Berechnung der Selbstähnlichkeit bestimmt Selbstähnlichkeitsinformationen für eine Gruppe von Pixeln in einem beliebigen Teil des Detektionsfensters, um ein Ausmaß an Selbstähnlichkeit dieser Gruppe zu anderen Gruppen in irgendeinem anderen Teil des Detektorfensters darzustellen, und wiederholt die Bestimmung für Gruppen in allen Teilen des Detektionsfensters, um einen Deskriptor für globale Selbstähnlichkeit für das gewählte Detektionsfenster zu generieren. Dies kann wiederum auf verschiedene Weisen implementiert werden, und ein Beispiel wird unten unter Bezugnahme auf 7 ausführlicher beschrieben.
-
Die Selbstähnlichkeitsinformationen für verschiedene Teile des Fensters können parallel oder sequentiell bestimmt und einem Klassifizierer 50 zugeführt werden.
-
Dieser bestimmt, ob die Informationen dem gesuchten Objekt entsprechen. Dies kann eine binäre Entscheidung sein oder einen Punktwert erzeugen und kann auf verschiedene Weisen ausgeführt werden, und ein Beispiel ist unten ausführlicher beschrieben. Der Bildprozessor kann in jedem Stadium des Prozessors andere, in dieser Figur nicht gezeigte Teile enthalten. Eine Einrichtung 55 kann vorgesehen werden zum Interpretieren oder Ergreifen einer Handlung auf der Basis des Klassifiziererpunktwerts oder einer Entscheidung. Dies kann beispielsweise ein Fahrzeugsteuersystem oder ein Fahrerassistenzsystem, ein Robotersystem, ein Überwachungssystem für das Detektieren von Eindringlingen und so weiter sein.
-
2 zeigt Schritte beim Betreiben des Bildprozessors von 1 oder von anderen Ausführungsformen. Bei Schritt 100 wird ein Fenster gewählt und eine erste Gruppe von Pixeln wird gewählt. Bei Schritt 110 werden Selbstähnlichkeitsinformationen für eine Gruppe der Pixel in einem beliebigen Teil des Detektionsfensters bestimmt, um ein Ausmaß an Selbstähnlichkeit dieser Gruppe zu anderen Gruppen in irgendeinem anderen Teil des Detektorfensters darzustellen. Bei Schritt 120 wird dies für eine nächste Gruppe wiederholt, falls die globalen Selbstähnlichkeiten nicht für alle Teile des Fensters verarbeitet worden sind. Nachdem dies für alle Teile des Detektionsfensters geschehen ist, um einen Deskriptor der globalen Selbstähnlichkeit für das gewählte Detektionsfenster zu generieren, kann dieser Deskriptor von dem Klassifizierer verwendet werden. Bei Schritt 140 wird die Klassifizierung, ob ein Objekt in dem Bild vorliegt, von dem Deskriptor durchgeführt.
-
Zusätzliche Merkmale einiger Ausführungsformen:
-
Zusätzliche Merkmale können die Selbstähnlichkeitsinformationen beinhalten, die ein Ausmaß an Selbstähnlichkeit von Farben von Pixeln der Gruppe umfassen. Dabei handelt es sich um eines von mehreren nützlichen Merkmalen, das das Unterscheiden von Objekten wie etwa insbesondere Menschen unterstützen kann. Der Bildprozessor kann ein Teil (42) aufweisen, das so ausgelegt ist, dass es eine Verteilung von Farben der Pixel der Gruppen und die Selbstähnlichkeitsinformationen, die ein Ausmaß an Selbstähnlichkeit der Farbverteilungen umfassen, bestimmt. Dies ist ein weiteres Merkmal, das das Unterscheiden von Objekten wie etwa insbesondere Menschen unterstützen kann.
-
In einigen Fällen wird ein Teil (30) vorgesehen zum Bestimmen von Gradienteninformationen durch Bestimmen einer Verteilung von Intensitätsgradienten in einer Zelle von Pixeln und zum Eingeben von solchen Gradienteninformationen für Zellen über alle Teile des Detektionsfensters in den Klassifizierer, wobei der Klassifizierer zusätzlich ausgelegt ist zum Verwenden der Gradienteninformationen zum Klassifizieren, ob das Objekt vorliegt. Die Gradienteninformationen können in vielen Fällen komplementär zu den Selbstähnlichkeitsinformationen sein und somit markantere Informationen an den Klassifizierer liefern, um eine bessere Klassifizierung unterstützen zu helfen.
-
Der Bildprozessor kann ein Teil aufweisen, das ausgelegt ist zum Bestimmen eines Flusses der Gruppen bezüglich Bewegungsvektoren der Pixel der Gruppen über aufeinanderfolgende Bilder in einer Sequenz von Bildern und der ein Ausmaß an Selbstähnlichkeit des Flusses umfassenden Selbstähnlichkeitsinformationen. Dies ist ein weiteres Merkmal, das das Unterscheiden von sich bewegenden Objekten wie etwa Fußgängern unterstützen kann.
-
Das Selbstähnlichkeitsberechnungsteil kann einen Histogrammgenerator (44) aufweisen, der ausgelegt ist zum Bestimmen eines Histogramms von Werten für ein Merkmal von Pixeln in der Gruppe durch Verwenden von Interpolation. Eine derartige Interpolation ermöglicht eine gewisse Datenkompression, um die Rechenlast für nachfolgende Schritte zu reduzieren und eine schnellere oder preiswertere Verarbeitung zu ermöglichen.
-
Das Selbstähnlichkeitsberechnungsteil kann ein Teil (46) aufweisen, das ausgelegt ist zum Bestimmen von Ähnlichkeiten zwischen Histogrammen für verschiedene Gruppen von Pixeln in dem Detektionsfenster durch eine Histogram-Intersection. Die Histogram-Intersection ist einer von einer Reihe von Wegen zum Bestimmen von Ähnlichkeiten und stellt sich als besonders effizient und effektiv heraus.
-
Der Bildprozessor kann ein Bewegungsdetektionsteil (70) umfassen zum Bestimmen von Bewegungsvektoren für Teile des Bilds, wobei das Klassifiziererteil ausgelegt ist zum Klassifizieren auf der Basis auch der Bewegungsvektoren von Teilen in dem Detektionsfenster. Solche Bewegungsinformationen sind auch nützlich zum Unterscheiden von Menschen in einigen Situationen und sind oftmals komplementär zu den Selbstähnlichkeitsinformationen.
-
Der Bildprozessor kann ein Verknüpferteil (60) aufweisen zum Verknüpfen der Ähnlichkeitsinformationen und der Verteilungen von Intensitätsgradienten vor der Eingabe in den Klassifizierer. Wenngleich der Klassifizierer prinzipiell separat an den Informationen arbeiten könnte, ist es üblicherweise effizienter, die Informationen zuerst zu verknüpfen.
-
Fig. 3, Ausführungsform des Teils zum Berechnen der globalen Selbstähnlichkeit
-
3 zeigt eine Ausführungsform ähnlich der von 1, die aber mehr Details über einen Weg zum Implementieren von Teil 40 zeigt, zum Berechnen der globalen Selbstähnlichkeitsinformationen, wobei einige der Funktionen gezeigt sind, die es ausführen kann. Andere Wege können in Betracht gezogen werden. In diesem Fall ist das Merkmal für die Selbstähnlichkeitsinformationen die Farbverteilung, weshalb ein Schritt zum Bestimmen einer Farbverteilung für eine Gruppe von Pixeln 42 gezeigt wird. Bei Schritt 44 wird ein Histogramm generiert, wahlweise unter Verwendung von Interpolation 44 zum Reduzieren der Datenmenge und Reduzieren von Aliasing-Effekten. Die Histogramme für verschiedene Gruppen werden in der Regel gespeichert und abgerufen, wie erforderlich, durch einen Schritt 46 zum Bestimmen der Ähnlichkeit zwischen den Histogrammen einer gegebenen Gruppe und von anderen Gruppen irgendwo in dem Detektionsfenster. Falls alle Histogramme mit allen anderen verglichen sind, dann kann das Ergebnis eine große Anzahl von Ähnlichkeitswerten sein, was als eine multidimensionale Matrix oder ein multidimensionaler Vektor mit so vielen Dimensionen angesehen werden kann, wie es Paare von Gruppen gibt (d. h. G·(G – 1)/2), wobei G die Anzahl von Gruppen ist. Die Gruppen können benachbart sein oder sich überlappen oder verteilt sein, sollten aber aus verschiedenen Teilen des Fensters gewählt werden, damit die Selbstähnlichkeiten innerhalb des Fensters global sind und nicht lokal in dem Sinne, dass sie nur relativ zu anderen Gruppen bei der betrachteten Gruppe sind. Dies kann zu einem Normierungsschritt 48 zum Normieren des ausgegebenen Vektors führen, um Bedingungen wie etwa Kamerarauschen/Bildartefakte/verschiedene Ausmaße an Clutter oder irgendwelche anderen Ursachen von einigen Bildern mit insgesamt beispielsweise einer niedrigeren „Selbstähnlichkeit” führen. Ein Verknüpfer 60 kann vorgesehen werden, um die Selbstähnlichkeitsinformationen mit anderen Informationen wie etwa Gradienteninformationen zu verknüpfen. Dies impliziert, dass ein kompatibles Datenformat für beide vorliegt, so dass die Gradienteninformationen in der Form eines Vektors vorliegen können, der mit dem Vektor von Selbstähnlichkeitsinformationen zur Eingabe in den Klassifizierer gestartet werden kann.
-
Dann können die verknüpften Daten dem Klassifizierer 50 für die Entscheidung oder die Beurteilung zugeführt werden, ob das Objekt detektiert worden ist. Dies kann für andere Detektionsfenster in dem Bild wiederholt werden. Die anderen Fenster können beispielsweise durch Verschieben, durch Zoomen zum Verändern des Maßstabs oder durch Suchen von relevanten Bereichen gewählt werden, wobei bekannte Algorithmen verwendet werden, die hierin nicht beschrieben werden müssen.
-
Fig. 4, Ansichten von Selbstähnlichkeitsinformationen
-
4 zeigt ein beispielhaftes Detektionsfenster in einem Bild auf der linken Seite und zeigt auf seiner rechten Seite vier verschiedene Ansichten von Selbstähnlichkeitsinformationen, die in diesem Beispiel für vier bestimmte Punkte bestimmt sind. Die Selbstähnlichkeitsinformationen werden an markierten Zellpositionen unter Verwendung von HSV + Histogram-Intersection-Verfahren berechnet, wie unten ausführlicher erörtert. Zellen mit höherer Ähnlichkeit sind heller. Von den vier Selbstähnlichkeitsansichten stellt die erste auf der linken Seite eine Farbähnlichkeit jeder anderen Gruppe von Pixeln mit einer in dem Bild am Kopf des Menschen angeordneten Gruppe dar. Die zweite Ansicht ist die Farbähnlichkeit jeder anderen Gruppe von Pixeln mit einer in dem Bild am Bauch des Menschen angeordneten Gruppe. Die dritte Ansicht ist die Farbähnlichkeit jeder anderen Gruppe von Pixeln mit einer Gruppe, die sich in dem Bild an einem oberen Beinbereich des Menschen befindet. Die vierte Ansicht ist die Farbähnlichkeit von jeder anderen Gruppe von Pixeln mit einer Gruppe, die sich außerhalb des Menschen befindet, an einem Punkt, der Wasser im Hintergrund des Bilds zeigt. Man beachte, wie die Selbstähnlichkeit relevante Teile wie Kleidung und sichtbare Hautbereiche hervorhebt und unterscheidet.
-
Fig. 5, Ausführungsform mit Bewegungsdetektion
-
5 zeigt eine Ausführungsform ähnlich der von 1. Ein Fenster-/Zell-/Gruppenwählerteil 21 wählt ein Detektionsfenster innerhalb eines Bilds und wählt innerhalb dieses Fensters Gruppen oder Zellen von Pixeln. Die Fensterwahl kann beispielsweise durch Verschieben, Skalieren oder Finden eines relevanten Bereichs erfolgen. Die Zellen und Gruppen können von der gleichen Größe sein, zum Beispiel 6×6 oder 8×8 Pixel, oder andere Größen aufweisen. Sie brauchen nicht quadratisch zu sein und können rechteckig sein oder eine andere regelmäßige oder unregelmäßige Gestalt besitzen. Zellen werden dem Gradientenberechnungsteil 30 zugeführt. Gruppen werden an das Selbstähnlichkeitsberechnungsteil 40 geschickt. Gruppen und Zellen sind so bezeichnet, um zu zeigen, dass verschiedene Pixel zu verschiedenen Teilen zur Verarbeitung geschickt werden können, wenngleich prinzipiell die gleichen Zellen zu beiden gezeigten Teilen geschickt werden könnten.
-
Das Gradientenberechnungsteil bestimmt Gradienteninformationen wie etwa eine Steilheit des Gradienten der Intensität und eine Orientierung für diese Zelle. Dies kann beispielsweise die Intensität der Helligkeit oder die Intensität von Farben sein. Verschiedene Algorithmen können verwendet werden, um dieses Teil zu implementieren; ein Beispiel ist unten ausführlicher beschrieben. Das Teil zur Berechnung der globalen Selbstähnlichkeit bestimmt Selbstähnlichkeitsinformationen für die Gruppe relativ zu beliebigen anderen Teilen des Fensters. Wiederum kann dies auf unterschiedliche Weisen implementiert werden, und ein Beispiel wird unten unter Bezugnahme auf 7 ausführlicher beschrieben.
-
Die Gradienteninformationen und die Selbstähnlichkeitsinformationen können parallel oder sequentiell bestimmt und beide einem Klassifizierer 50 zugeleitet werden.
-
In diesem Fall kann ein Bewegungsdetektorteil 70 hinzugefügt werden, das Bewegungsinformationen wie etwa einen optischen Fluss für eine gegebene Zelle oder Gruppe auf der Basis von Einzelbildern (bevorzugt aufeinanderfolgenden Einzelbildern) bestimmen kann. Dies kann auf unterschiedliche Weisen gemäß etablierter Praxis implementiert werden und wird somit hier nicht ausführlicher beschrieben. Eine mögliche Verbesserung dieses Teils wird unten beschrieben.
-
Fig. 6, Schritte beim Bestimmen von Gradienteninformationen
-
In 6 werden Schritte gezeigt für einen Weg zum Implementieren des Gradientenberechnungsteils 30 zum Bestimmen von Gradienteninformationen in der Form einer Verteilung von Intensitätsgradienten in jeder Zelle. Bei Schritt 200 wird ein Fenster in Zellen aus 8×8 Pixeln unterteilt. Bei Schritt 210 wird ein Gradientenwert für diese Zelle bestimmt und die Orientierung des Gradienten wird aus den 64 Pixelwerten der Intensitäts- oder Farbwerte, wie angebracht bestimmt. Bei Schritt 220 werden diese Werte in 9 Klassen unterteilt, einen für jede der verschiedenen Orientierungen. Bei Schritt 230 werden diese Schritte für andere Zellen wiederholt, und somit werden die Klassen für verschiedene Zellen in 2×2-Blöcke von Zellen gruppiert, die sich beispielsweise um eine Zelle überlappen. Eine Normierung bei Schritt 250 wird auf einer Blockbasis ausgeführt. Andere Wege der Implementierung können in Betracht gezogen werden.
-
Fig. 7, Schritte beim Bestimmen von globalen Selbstähnlichkeitsinformationen
-
In 7 werden Schritte gezeigt für einen Weg zum Implementieren des Schritts 110 des Bestimmens globaler Selbstähnlichkeitsinformationen. Bei Schritt 300 wird das Fenster in 8×8-Gruppen von Pixeln unterteilt. Bei Schritt 310 wird eine trilineare Interpolation verwendet, um 128 lokale Farbhistogramme aus 128 8×8-Gruppen von Pixeln und/oder Flusshistogramme, wie angebracht, zu berechnen. Farbe wird in dem wohlbekannten HSV-Format dargestellt, wenngleich andere Farbdarstellungen verwendet werden könnten. Der Fluss kann als Bewegungsvektoren dargestellt werden. Bei Schritt 320 werden Paare dieser Histogramme verglichen, um einen Wert für die Ähnlichkeit zu bestimmen. Das Histogram-Intersection-Verfahren wird verwendet, wenngleich andere Verfahren verwendet werden könnten. Falls alle 128 mit allen anderen verglichen sind, führt dies zu einem 8128-dimensionalen Vektor von Ähnlichkeitswerten. Bei Schritt 330 wird eine L2-Normierung auf diesen Vektor angewendet. Ergebnisse in der Form von normierten Vektoren werden zu dem Verknüpfer oder Klassifizierer ausgegeben.
-
Fig. 8, Beispiel eines Bilds, das Detektionsfenster zeigt
-
Diese Figur zeigt ein Beispiel eines Bilds, das viele Objekte enthält, von denen einige Menschen sind, und einige überlappen sich mit anderen, was zu Verdeckungen führt. Detektionsfenster um jeden möglichen Menschen herum sind gezeigt. Diese können auf der Basis des Verschiebens eines Fensters über dem Bild und Vergleichen von Punktwerten von verschiedenen Fenstern und Fenstern in verschiedenen Skalen gewählt werden.
-
Fig. 9, Schritte bei einer weiteren Ausführungsform
-
In 9 wird bei Schritt 400 ein Fenster über ein Bild bewegt, durch Schieben, Skalieren oder Suchen eines relevanten Bereichs. Bei Schritt 410 werden ein Deskriptor für globale Selbstähnlichkeit und optional andere Merkmale für dieses Fenster erhalten. Bei Schritt 420 wird ein Klassifizierer verwendet, um einen Punktwert oder eine Entscheidung für jedes Fenster zu generieren. Bei Schritt 430 werden Punktwerte für verschiedene Fenster verglichen, und dies kann verwendet werden, um zu entscheiden, ob das Fenster bewegt und/oder skaliert werden soll. Dies kann zu einem Wiederholen der Schritte 400 bis 430 führen. Zu einem beliebigen Zeitpunkt kann Schritt 440 ausgeführt werden, wobei die Punktwerte für verschiedene Fenster verwendet werden, um ein Objekt zu lokalisieren und auf der Basis der Punktwerte und des Orts in Aktion zu treten, wie etwa ein Fahrzeug oder einen Roboter zu steuern oder einen Alarm in einem Überwachungssystem auszulösen, als Beispiel.
-
Praktische Überlegungen zu HOG/HOF
-
In Experimenten wurden Histogramme mit 9 Klassen auf Zellen aus 8×8 Pixeln berechnet. Die Blockgröße betrug 2×2 Zellen, um eine Zellgröße überlappend. Flusshistogramme HOF (Histograms Of Flow) wurden anfangs auch von Dalal et al. [4] vorgeschlagen. Wir bestimmten, dass ihre Verwendung (z. B. in dem IMHwd-Verfahren von [4]) komplementär zu HOG substantielle Verbesserungen an realistischen Datensätzen bei signifikanter Bewegung der Menschen ergeben kann. Bei einigen Ausführungsformen der vorliegenden Erfindung wird eine niedrigerdimensionale Variante von HOF, IMHd2 eingeführt. Dies codiert Bewegungsunterschiede in 2×2-Blöcken mit 4 Histogrammen pro Block, während die Leistung von IMHwd (3×3 Blöcke mit 9 Histogrammen) angepasst wird. Das neue Codierverfahren kann wie folgt erläutert werden:
Die 4 Quadrate zeigen die Codierung für jeweils ein Histogramm. Für das erste Histogramm wird der dem Pixel in der i-ten Reihe und der j-ten Spalte der linken oberen Stelle entsprechende optische Fluss von dem an der entsprechenden Position der linken unteren Zelle subtrahiert, und der resultierende Vektor votiert in ein Histogramm wie in dem ursprünglichen HOF-Verfahren. IHMd2 liefert eine Dimensionalitätsreduktion von 44% (2520 Werte pro Fenster anstatt 4536), ohne die Leistung signifikant zu ändern.
-
Wir verwendeten die öffentlich verfügbare Flussimplementierung von [26]. HOF liefert weiterhin eine substantielle Verbesserung sogar für auf JPEG-Bildern mit starken Blockartefakten (und somit degradierten Flussbildern) berechneten Flussfeldern.
-
Mehrere Autoren haben über Verbesserungen berichtet durch Kombinieren mehrerer Typen von Merkmalen auf niedriger Ebene [5, 18, 27]. Dennoch ist es größenteils unklar, welche Anhaltspunkte zusätzlich zu der bekannten Kombination aus Gradienten und optischem Fluss verwendet werden könnten, da die Bildstatistiken viele verschiedene Aspekte aufweisen. Farbinformationen stellen ein derartiges Merkmal dar, das sich bei der Bildklassifizierung einer Popularität erfreut [22], aber dennoch bei der Detektion selten verwendet wird. Weiterhin werden Bildstatistiken zweiter Ordnung, insbesondere Gleichzeitigkeitshistogramme, immer populärer, was Merkmalsräume zu extrem hohen Dimensionen schiebt [25, 18].
-
CSS
-
Ausführungsformen der vorliegenden Erfindung können zwei dieser Ideen kombinieren und Statistiken zweiter Ordnung von Farben beispielsweise als ein zusätzliches Merkmal verwenden. Die Farbe ist an sich von begrenztem Nutzen, weil Farben sowohl für Menschen (beziehungsweise ihre Kleidung) als auch für den Hintergrund über das ganze Spektrum variieren und wegen des im Wesentlichen ungelösten Farbkonstanzproblems. Menschen weisen jedoch eine gewisse Struktur auf, weil Farben lokal ähnlich sind – beispielsweise (siehe 4) ist die Hautfarbe einer spezifischen Person an ihren beiden Armen und im Gesicht ähnlich, und das gleiche gilt für die Kleidung der meisten Menschen. Deshalb codieren wir Farbselbstähnlichkeiten innerhalb des Deskriptorfensters, d. h. Ähnlichkeiten zwischen Farben in verschiedenen Teilgebieten. Zum Unterstützen der Robustheit von lokalen Histogrammen berechnen wir D lokale Farbhistogramme über 8×8-Pixelblöcken unter Verwendung einer trilinearen Interpolation wie in HOG, um das Aliasing zu minimieren. Wir experimentierten mit verschiedenen Farbräumen, einschließlich 3×3×3-Histogrammen in den Räumen RGB, HSV, HLS und CIE Luv, und 4×4-Histogrammen im normierten rg, HS und uv, wobei die Intensität verworfen wurde und nur die Chrominanz beibehalten wurde. Unter diesen funktionierte HSV am besten und wird nachfolgend verwendet.
-
Die Histogramme bilden die Basismerkmale, zwischen denen paarweise Ähnlichkeiten berechnet werden. Wieder gibt es viele Möglichkeiten zum Definieren einer Ähnlichkeit zwischen Histogrammen. Wir experimentierten mit einer Reihe von wohlbekannten Distanzfunktionen einschließlich der L1-Norm, der L2-Norm, der X2-Distanz und Histogram-Intersection. Wir verwendeten Histogram-Intersection, da dies am besten funktionierte. Schließlich wendeten wir eine L2-Normierung auf den (D·(D – 1)/2)-dimensionalen Vektor von Ähnlichkeiten an. Bei unserer Implementierung mit D = 128 Blöcken besitzt CSS 8128 Dimensionen. Es stellte sich heraus, dass die Normierung in Kombination mit SVM-Klassifizierern einen erheblichen Effekt hatte. Man beachte, dass CSS das Farbkonstanzproblem dadurch umgeht, dass es Farben nur lokal vergleicht. Bei den Berechnungskosten liegt CSS in der gleichen Größenordnung wie HOF. Die Selbstähnlichkeit von Farben ist angemessener als das direkte Verwenden der zugrunde liegenden Farbhistogramme als Merkmale. CSS im HSV-Raum ergibt eine merkliche Verbesserung. Im Gegensatz dazu beeinträchtigt das direkte Hinzufügen der Farbhistogrammwerte sogar die Leistung von HOG. In einer idealen Welt sollte dieses Verhalten nicht auftreten, da SVM-Training uninformative Merkmale verwerfen würde. Leider gilt dies nur, falls die Merkmalsstatistika in den Trainings- und Testdaten identisch sind. Bei unserer Konfiguration – und tatsächlich recht oft in der Praxis – ist dies nicht der Fall: die Trainingsdaten wurden mit einer anderen Kamera und unter unterschiedlichen Beleuchtungsbedingungen als die Testdaten aufgezeichnet, so dass die für Farbe erlernten Gewichte nicht von einem zum anderen verallgemeinern. Eine ähnliche Beobachtung wurde von [27] gemacht, bei der der Autor feststellte, dass das Hinzufügen von Haar-Merkmalen manchmal helfen kann, aber eine sorgfältige Normierung erforderlich ist, falls die Bildgebungsbedingungen variieren. Man beachte, dass [5] das erfolgreiche Nutzen von (roher) Farbe zeigt und somit Ausführungsformen in Betracht gezogen werden können, bei denen es als ein Faktor in den Klassifizierer des Detektors integriert ist (z. B. kann die Hautfarbe im Prinzip ein sensibler Anhaltspunkt sein.)
-
Man beachte, dass Selbstähnlichkeit nicht auf Farbhistogramme beschränkt ist und allgemein auf willkürliche lokalisierte Teilmerkmale innerhalb des Detektorfensters verallgemeinert. Wir experimentierten mit Selbstähnlichkeit an Merkmalen wie etwa Gradientenorientierung in der Form von HOG-Blöcken oder Bewegungsdetektionsmerkmalen wie etwa Flusshistogrammen.
-
Klassifizierer:
-
Lineare SVMs bleiben eine populäre Wahl für die Menschendetektion wegen ihrer guten Leistung und Geschwindigkeit. Nicht-lineare Kernels führen in der Regel zu einer gewissen Verbesserung, doch ist die zum Klassifizieren eines Beispiels erforderliche Zeit üblicherweise linear in der Anzahl von Stützvektoren, was in der Praxis schwer zu bewältigen ist. Eine Ausnahme ist der (Histogram) Intersection Kernel (HIK) [14], der in logarithmischer Zeit präzise oder in konstanter Zeit ungefähr berechnet werden kann, während der lineare Kernel ständig übertroffen wird.
-
Viola et al. [23] verwendeten AdaBoost bei ihrer Arbeit zur Fußgängerdetektion. Es wurde jedoch seitdem gezeigt, dass AdaBoost an schwierigen Datensätzen mit mehreren Blickpunkten nicht gut arbeitet [27]. MPLBoost stellt einige der Probleme ab durch paralleles Lernen mehrerer (starker) Klassifizierer. Der finale Punktwert ist dann der maximale Punktwert über allen Klassifizierern, wodurch sich individuelle Klassifizierer auf spezifische Gebiete des Merkmalsraums fokussieren können, ohne die Gesamtklassifizierungsleistung zu degradieren.
-
Erörterung von Ergebnissen
-
Mit verschiedenen Varianten unseres Detektors erhaltene Ergebnisse werden nun erörtert. Bei Caltech Pedestrians verwendeten wir das mit dem Datensatz gelieferte Evaluierungsskript. Für TUD-Brussels evaluierten wir an dem ganzen Bild, einschließlich Fußgängern an den Bildgrenzen (im Gegensatz zu [27]), die besonders wichtig sind für praktische Anwendungen – z. B. sind bei der Kraftfahrzeugsicherheit nahe Menschen in der visuellen Peripherie die kritischsten. Sofern nicht etwas anderes angegeben ist, ist der in unserem Detektor verwendete Klassifizierer HIKSVM.
-
Die Leistung wurde an dem „vernünftigen” Teilsatz von Caltech Pedestrians gemessen, was der populärste Abschnitt der Daten ist. Er besteht aus Fußgängern mit ≥ 50 Pixeln Höhe, die ganz sichtbar oder weniger als 35% verborgen sind. Unser Detektor übertrifft in seiner stärksten Inkarnation, unter Verwendung von HOG, HOF und CSS in HIKSVM (HOGF + CSS), die vorausgegangenen Top-Performers – die Kanalmerkmale (ChnFtrs) von [5] und die latente SVM (LatSvm-V2) von [10] – um einen großen Spielraum: 10,9% bei 0,01 fppi, 14,7% bei 0,1 fppi und 7,0% bei 1 fppi. Wir bemerkten auch, dass unser Basislinie-HOG mit HIKSVM sich mit dem Stand der Technik messen kann [5, 10], was den Effekt eines korrekten Bootstrapping veranschaulicht und die Wichtigkeit einer sorgfältigen Implementierung. Wir haben unseren Detektor nicht auf den Datensatz abgestimmt. Um sicherzugehen, dass der Leistungsgewinn nicht datensatzspezifisch ist, haben wir verifiziert, dass unser Detektor die ursprüngliche HOG-Implementierung [3] auch an INRIAPerson übertrifft (man beachte auch, dass das Hinzufügen von CSS eine Verbesserung für HOG + LBP liefert). HOG + CSS ist ständig besser als HOG alleine, wodurch eine Verbesserung von 5,9% bei 0,1fppi bereitgestellt wird, was angibt, dass die Farbselbstähnlichkeit tatsächlich komplementär zu den Gradienteninformationen ist. HOG + HOF verbessert sogar noch mehr gegenüber HOG, insbesondere für niedrige falsche positive Raten: bei 0,1 fppi beträgt die Verbesserung 10,9%. Dies bestätigt frühere Ergebnisse zu der Macht der Bewegung als ein Detektionsanhaltspunkt. Schließlich ist HOG + HOF + CSS besser als nur HOG + HOF, was zeigt, dass CSS auch zu dem Fluss komplementäre Informationen enthält und unser bestes Ergebnis von 44,35% Rückruf bei 0,1 fppi erreicht.
-
Die Leistung an dem „nahen” Teilsatz (80 Pixel oder größer) zeigte, dass wieder unsere Basislinie (HOG(our)) mindestens gleichwertig ist mit dem Stand der Technik [5, 10]. HOG + CSS lieferte eine bessere Leistung zwischen 0,01 und 0,5 fppi, 6% bei 0,1 fppi. Das Hinzufügen von HOF zu HOG (HOGF) fügte 19,9% Rückruf bei 0,01 fppi hinzu. Bei 0,1 fppi schlug es den nächstliegenden Wettbewerber HOG + CSS um 11% und das beste veröffentlichte Ergebnis (LatSvm-V2) um 21,2%. Das Hinzufügen von CSS brachte eine weitere kleine Verbesserung für große Fußgänger. Der Grund, dass HOF so gut auf der „nahen” Skala arbeitet, besteht wahrscheinlich darin, dass während einer mehrskaligen Flussschätzung Kompressionsartefakte bei größeren Pyramidenhöhen weniger sichtbar sind, so dass das Flussfeld für größere Menschen präziser ist.
-
Eine Evaluierung wurde auch für größere Verdeckungshöhen ausgeführt. Ergebnisse für die „keine Verdeckung”-Teilmenge waren fast identisch zu einer Teilmenge, wo nur etwa 5% der „vernünftigen” Fußgänger teilweise verdeckt sind. Diagramme werden auch vertikal gedehnt, um für eine bessere Lesbarkeit zu sorgen. Evaluiert nur an den teilweise verdeckten Fußgängern (was keine signifikante Statistik ist, weil es nur etwa 100 derartige Beispiele gibt), übertreffen latente SVM- und Kanalmerkmale unser HOG geringfügig, werden aber wieder durch HOG + HOF dominiert, wobei CSS wieder eine weitere kleine Verbesserung mit sich bringt. Bei den stark verdeckten Fußgängern ist die Leistung aller evaluierter Algorithmen katastrophal. Ein Mangel an Robustheit gegenüber starker Verdeckung ist ein wohlbekanntes Problem für globale Detektoren. Dennoch gibt es eine merkliche relative Verbesserung mit unserem Detektor:
Bei 0,1 fppi liegt der Rückruf von HOG + HOF + CSS bei 7,8% im Vergleich zu 3,9% zu ChnFtrs, wodurch der Rückruf verdoppelt wird. Bei 1 fppi arbeitet unser voller Detektor immer noch am besten mit einem um 5,9% höheren Rückruf als LatSvm-V2. Dass die Farbselbstähnlichkeit in der Anwesenheit von Verdeckung hilft, kann zuerst der Intuition entgegenlaufen, weil die Verdeckung eines lokalen Teilgebiets wahrscheinlich seine Ähnlichkeit zu allen anderen Teilgebieten beeinflusst. In dem Fall von Caltech jedoch bedeutet „starke Verdeckung” meist, dass der untere Teil des Körpers verdeckt ist, so dass Ähnlichkeiten zwischen verschiedenen Teilen des Oberkörpers immer noch verwendet werden können. Eine Verbesserung wurde dadurch erreicht, dass CSS auf dem TUD-Brussels-Datensatz hinzugefügt wurde. CSS macht im Hochpräzisionsbereich kaum etwas aus, doch gibt es beginnend bei 0,05 fppi eine merkliche Verstärkung der Leistung, da der Rückruf um 2,7% bei 0,1 fppi und 4,2% bei 1 fppi verbessert wird. Für statische Bilder ohne Flussinformationen beginnt die Verbesserung früher, wobei sie 3,6% bei 0,1 fppi und 5,4% bei 1 fppi erreicht..
-
Falls die Ergebnisse von [27] an TUDBrussels verglichen werden, lieferten bei diesem Paper Haar-Merkmale eine Verbesserung nur an diesem Datensatz, an anderen kosten sie oftmals Leistung. Dies ist im Kontrast zu CSS, was bisher stimmige Verbesserungen selbst an Datensätzen mit sehr unterschiedlicher Bildqualität und sehr unterschiedlichen Farbstatistiken erzeugte. Anhand der verfügbaren Forschung beurteilt können Haar-Merkmale potentiell mehr schaden als nutzen.
-
Für das statische Bildumfeld übertraf HOG + CSS ständig die Ergebnisse von [27] um 5%–8% gegenüber HOG + Haar mit MPLBoost, und um 7%–8% gegenüber HOG mit HIKSVM. Unter Verwendung von Bewegung ist der Detektor von [27] unter Verwendung von HOG + HOF (in dem IMHwd-Verfahren), Haar-Merkmalen und einer linearen SVM gleichwertig mit HOG + HOF + CSS für niedrige falsche positive Raten, beginnt aber bei 0,2 fppi zurückzufallen. Das Ergebnis von [27] unter Verwendung von HOG + HOF mit HIKSVM ist ständig um 3%–5% schlechter als HOG + HOF + CSS, insbesondere bei niedrigen falschen positiven Raten. Wir haben in allen Fällen die Tools und Detektionen verwendet, die in den Original-Publikationen [6, 27] für die jeweiligen Datensätze verwendet wurden.
-
Eine Evaluierung war an dem „fernen” Teilsatz des Caltech-Datensatzes. In diesem Umfeld wurden nur Fußgänger mit einer kommentierten Höhe von 20 bis 30 Pixeln berücksichtigt. Die Pascal-Bedingung erfüllende Detektionen können so klein sein wie 10 Pixel oder so groß wie 59 Pixel. Ein etwaiger Kommentar innerhalb des 20–30-Pixelbereichs kann zu einer Detektion außerhalb des Bereichs passen. Dies führt eine Asymmetrie ein, die schwer zu handhaben ist. Das Caltech-Evaluierungsskript verwirft alle Detektionen außerhalb des betrachteten Bereichs, was zu Situationen führt, wo ein Fußgänger mit einer kommentierten Höhe von 29 Pixeln und einer detektierten Höhe von 30 Pixeln als eine verpasste Detektion zählt, wenngleich I/U > 90%. Dies ist eindeutig unerwünscht, insbesondere falls viele Kommentierungen nahe der Größengrenze liegen (was immer der Fall ist für kleine Größenbereiche). Dieses Bias zu beheben, führt jedoch andere ein. Eine Möglichkeit besteht darin, eine Übereinstimmung mit den ganzen Sätzen aus Kommentierung und Detektion herzustellen und nachher bezüglich Größe zurecht zu stutzen.
-
Computerimplementierungen
-
Einige der oben erörterten Schritte zum Bestimmen einer Verteilungsdichte oder zum Bestimmen von Selbstähnlichkeitsinformationen oder Detektieren eines Menschen in dem Bild beispielsweise kann durch eine Logik in Form von Hardware oder beispielsweise in Software unter Verwendung einer Verarbeitungsengine wie etwa einem Mikroprozessor oder einem programmierbaren Logikbauelement (PLD) wie etwa einem PLA (programmierbaren Logikarray), einer PAL (programmierbaren Arraylogik), einem FPGA (feldprogrammierbaren Gatearray) implementiert werden. Ein Beispiel für eine Schaltung mit einem eingebetteten Prozessor wird zur Verwendung in Anwendungen wie etwa einer Fahrzeugsteuerung oder einer Fahrerassistenz oder dem Überwachen von Überwachungskameras beschrieben. Diese Schaltung kann als ein VLSI-Chip um einen eingebetteten Prozessor herum konstruiert sein, wie etwa einen ARM7TDMI-Kern, von ARM Ltd., UK, entworfen, der mit den anderen gezeigten Komponenten auf einem einzigen Chip synthetisiert werden kann. Alternativ können andere geeignete Prozessoren verwendet werden, und diese brauchen nicht eingebettet zu sein, wie etwa ein Pentium-Prozessor wie von Intel Corp., USA, geliefert. Ein SRAM-Speicher mit Null-Wartestatus sowie ein Cache-Speicher können zum Beispiel auf einem Chip vorgesehen werden. In der Regel werden E/A-Schnittstellen (Eingang/Ausgang) vorgesehen, um Daten zu empfangen und an relevante Netzwerke zu übertragen, zum Beispiel an drahtlose oder Kabelnetzwerke. FIFO-Puffer können verwendet werden, um den Prozessor von dem Datentransfer durch diese Schnittstellen zu entkoppeln. Die Schnittstelle kann Netzwerkverbindungen bereitstellen, d. h. geeignete Ports und Netzwerkadressen, z. B. können die Schnittstellen in Form von Netzwerkkarten vorliegen.
-
Softwareprogramme können in einem internen ROM (Read Only Memory – Festwertspeicher) und/oder auf einen beliebigen anderen nichtflüchtigen Speicher gespeichert werden, z. B. können sie in einen externen Speicher gespeichert werden. Der Zugriff auf einen externen Speicher kann durch eine externe Busschnittstelle bereitgestellt werden, falls nötig mit Adress-, Daten- und Steuerbussen. Das Verfahren und die Vorrichtung der beschriebenen Ausführungsformen können als Software implementiert werden, um auf einem Prozessor zu laufen. Insbesondere kann ein Bildprozessor gemäß der vorliegenden Erfindung durch eine geeignete Programmierung eines Prozessors implementiert werden. Die oben beschriebenen Verfahren und Prozeduren können als Computerprogramme in einer geeigneten Computersprache wie C beschrieben und dann für den spezifischen Prozessor in dem eingebetteten Design kompiliert werden. Beispielsweise kann für den oben beschriebenen eingebetteten ARM-Kern-VLSI die Software in C geschrieben und dann unter Verwendung des ARM-C-Compiler und des ARM-Assembler kompiliert werden. Die Software besitzt einen Code, der bei Ausführung auf einer Verarbeitungsengine die Verfahren und die Vorrichtungen der vorliegenden Erfindung liefert. Die Softwareprogramme können auf einem beliebigen geeigneten maschinenlesbaren Medium wie etwa Magnetplatten, Disketten, Halbleiterspeicher, Bandspeicher, optischen Platten wie etwa CD-ROM oder DVD-ROM usw. gespeichert werden.
-
Abschließend weist, wie beschrieben, ein Bildprozessor (10) einen Fensterwähler auf zum Wählen eines Detektionsfensters innerhalb des Bilds und ein Selbstähnlichkeitsberechnungsteil (40) zum Bestimmen von Selbstähnlichkeitsinformationen für eine Gruppe der Pixel in einem beliebigen Teil des Detektionsfensters, zum Darstellen eines Ausmaßes an Selbstähnlichkeit dieser Gruppe zu anderen Gruppen oder in irgendeinem anderen Teil des Detektorfensters, und zum Wiederholen der Bestimmung für Gruppen in allen Teilen des Detektionsfensters, um einen globalen Selbstähnlichkeitsdeskriptor für das Detektionsfenster zu generieren. Ein Klassifizierer (50) wird verwendet, um auf der Basis des globalen Selbstähnlichkeitsdeskriptors zu klassifizieren, ob ein Objekt vorliegt. Durch Verwenden einer globalen Selbstähnlichkeit anstatt lokaler Ähnlichkeiten werden mehr Informationen erfasst, was zu einer besseren Klassifizierung führen kann. Insbesondere unterstützt dies, eine Erkennung von weiteren, in dem Objekt inhärenten Selbstähnlichkeiten und auf einer beliebigen Skala vorliegenden Selbstähnlichkeiten zu ermöglichen. Andere Variationen können innerhalb des Schutzbereichs der Ansprüche in Betracht gezogen werden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Dalal et al. [0051]
- Viola et al. [0058]