DE112008003959T5 - Wahrnehmungssegmentierung von Bildern - Google Patents
Wahrnehmungssegmentierung von Bildern Download PDFInfo
- Publication number
- DE112008003959T5 DE112008003959T5 DE112008003959T DE112008003959T DE112008003959T5 DE 112008003959 T5 DE112008003959 T5 DE 112008003959T5 DE 112008003959 T DE112008003959 T DE 112008003959T DE 112008003959 T DE112008003959 T DE 112008003959T DE 112008003959 T5 DE112008003959 T5 DE 112008003959T5
- Authority
- DE
- Germany
- Prior art keywords
- segment
- region
- image
- pixel
- regions
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
Ein Wahrnehmungssegmentierungssystem, das folgende Merkmale aufweist:
einen Computer; und
ein oder mehrere Wahrnehmungssegmentierungsprogramme, die innerhalb des Computers gespeichert sind und durch den Computer ausgeführt werden, die
Regionen innerhalb eines Bildes identifizieren;
für jede identifizierte Region,
jeden von einem oder mehreren Pixelmerkmalswerten für Pixel innerhalb der Region berechnen oder darauf zugreifen,
einen oder mehrere Regionsmerkmalswerte berechnen, unter Verwendung des einen oder der mehreren Pixelmerkmalswerte, die für Pixel innerhalb der Region berechnet oder zugegriffen werden, und
einen Regionstyp für die Region bestimmen und den Regionstyp zu der Region zuordnen, unter Verwendung des einen oder der mehreren Regionsmerkmalswerte; und
die Zuordnungen von Regionstypen innerhalb von Regionen speichern zur Verwendung bei nachfolgenden Bildverarbeitungsaufgaben.
einen Computer; und
ein oder mehrere Wahrnehmungssegmentierungsprogramme, die innerhalb des Computers gespeichert sind und durch den Computer ausgeführt werden, die
Regionen innerhalb eines Bildes identifizieren;
für jede identifizierte Region,
jeden von einem oder mehreren Pixelmerkmalswerten für Pixel innerhalb der Region berechnen oder darauf zugreifen,
einen oder mehrere Regionsmerkmalswerte berechnen, unter Verwendung des einen oder der mehreren Pixelmerkmalswerte, die für Pixel innerhalb der Region berechnet oder zugegriffen werden, und
einen Regionstyp für die Region bestimmen und den Regionstyp zu der Region zuordnen, unter Verwendung des einen oder der mehreren Regionsmerkmalswerte; und
die Zuordnungen von Regionstypen innerhalb von Regionen speichern zur Verwendung bei nachfolgenden Bildverarbeitungsaufgaben.
Description
- Technisches Gebiet
- Die vorliegende Erfindung bezieht sich auf Bildverarbeitung und insbesondere auf Verfahren und Systeme, die Regionen von Bildern identifizieren, die dem Himmel, menschlichen Gesichtern, menschlicher Haut, Blättern und anderen solchen Arten von Regionen innerhalb Bildern entsprechen, die man häufig antrifft, die durch eine oder mehrere Rechenmetriken oder -charakteristika identifiziert werden können.
- Hintergrund der Erfindung
- Eine automatisierte Bildverarbeitung war für viele Jahrzehnte Gegenstand ausführlicher Forschung und Bildverarbeitungsverfahren wurden verbreitet und vorteilhaft an viele Problembereiche angewandt. Mit dem Aufkommen von kostengünstigen Digitalkameras und kostengünstig und verbreitet verfügbaren Einrichtungen zum Übertragen digitaler Bilder zwischen Verbrauchern und zum Übertragen digitaler Bilder und Video durch das Internet zu Verbrauchern, sind Bildverarbeitungskomponenten und -systeme immer häufiger in modernen Digitalkameras, Personalcomputern, Arbeitsstationen und anderen Verbraucherelektronikvorrichtungen und -systemen umfasst.
- Es gibt viele unterschiedliche Typen von Bildverarbeitungsverfahren und -systemen und Bildverarbeitungssysteme variieren bezüglich Komplexität und Kosten von industriellen Bildverarbeitungssystemen, die auf großen, verteilten Computersystemen mit hohem Durchsatz ausgeführt werden, zu kleinen Sammlungen von Bildverarbeitungsroutinen, die innerhalb handgehaltener Verbraucherelektronikvorrichtungen ausgeführt werden. Viele Bildverarbeitungsverfahren und -systeme widmen sich der Aufbereitung, Wiederherstellung und Verbesserung von zweidimensionalen, photographischen Bildern und Videorahmen, während sich andere Typen von Bildverarbeitungssystemen auf die automatisierte Erkennung von Objekten und Ereignissen in digitalen Bildern und Videoströmen für eine große Vielzahl von unterschiedlichen Zwecken richten, was eine Bild- und Videoklassifizierung, -speicherung und -wiedergewinnung, automatisierte Überwachung, automatisierte Überwachungs- und Verfolgungssysteme und eine Vielzahl von anderen Zwecken umfasst.
- Sowohl bei der Wiederherstellung als auch Verbesserung von Bildern und Videorahmen sowie für automatisierte, visuelle Systeme ist eine Fähigkeit zum Identifizieren und Etikettieren bestimmter Typen von Regionen und Merkmalen innerhalb von Bildern allgemein nützlich und kann bei bestimmten Anwendungen sogar wesentlich sein. Es wurden viele unterschiedliche Ansätze und Verfahren entwickelt z. B. zum Erkennen von menschlichen Gesichtern in Bildern und Regionen von Bildern, die dem Himmel und anderen Objekten und Merkmalen entsprechen, die üblicherweise angetroffen werden. Wie bei den meisten Rechenprozessen gibt es grundsätzliche Kompromisse zwischen Rechenaufwand und Verarbeitungszeit zum Anwenden von Bildverarbeitungstechniken und der Korrektheit, Präzision und Robustheit einer automatischen Region- und Objektidentifikation innerhalb von Bildern und Videorahmen. In bestimmten Fällen ist eine hohe Präzision und Korrektheit erforderlich und die Analyse- und Verarbeitungszeit ist weniger wichtig. In solchen Fällen können ein oder mehrere rechentechnisch aufwendige und zeitaufwendige analytische Verfahren angewendet werden und die Analyse und Verarbeitung kann wiederholt werden und Ergebnisse von unterschiedlichen Techniken können verglichen und in Gegensatz gestellt werden, um die größtmögliche Korrektheit und Präzision zu erreichen. In anderen Fällen, wie z. B. bei der Echtzeitverarbeitung von Videorahmen innerhalb von Verbraucherelektronikvorrichtungen, ist die Menge an Rechenaufwand und Zeit, die einer Bildverarbeitung gewidmet werden kann, relativ eingeschränkt und es ist ein primäres Ziel, die höchste Präzision und Korrektheit zu erreichen, die unter engen Zeit- und Recheneinschränkungen erreichbar ist. Bildverarbeitungsentwickler, Hersteller und Verkäufer von Verbraucherelektronikvorrichtungen und Bildverarbeitungssystemen und Benutzer von Verbraucherelektronikvorrichtungen und Benutzer von Bildern und bildverwandten Diensten erkennen den Bedarf nach einer fortgesetzten Entwicklung von Bildverarbeitungsverfahren und -systemen, die die Korrektheit und die Präzision einer automatisierten Objekt- und Merkmalserkennung verbessern kann sowie eine automatisierte Objekt- und Merkmalserkennung auf rechentechnisch effiziente und zeiteffiziente Weise liefern kann.
- Zusammenfassung der Erfindung
- Verfahrens- und Vorrichtungsausführungsbeispiele der vorliegenden Erfindung richten sich auf eine automatisierte Identifikation von Regionen innerhalb digital codierter Bilder, die Objekten und Merkmalen von Szenen entsprechen, die in den digital codierten Bildern erfasst sind, ein Prozess, der als „Wahrnehmungssegmentierung” eines Bildes bezeichnet wird. Regionen oder Segmente innerhalb eines Bildes werden zuerst durch jegliche von verschiedenen Regionsidentifizierungs- oder Segmentierungsverfahren identifiziert. Für jede Region oder jedes Segment werden Merkmale von Pixeln innerhalb der Region oder des Segments eingesetzt, um ein oder mehrere Segmentmerkmale zu berechnen. Die Segmentmerkmale werden ihrerseits verwendet, um die Region oder das Segment derart zu identifizieren, dass es zu einer bestimmten Art von Region oder Segment gehört, und die Region wird dann entsprechend etikettiert oder gekennzeichnet als eine Region oder ein Segment des bestimmten Typs.
- Kurze Beschreibung der Zeichnungen
-
1 und2 stellen eine Anwendung eines Bildverarbeitungsverfahrens der vorliegenden Erfindung dar. -
3 liefert ein Steuerflussdiagramm, das einen Ansatz darstellt zum Identifizieren bestimmter Typen von Regionen in Bildern gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. -
4 stellt ein typisches digital codiertes Bild dar. -
5A –5D stellen vier unterschiedliche Farbmodelle dar. -
6 stellt die Ansicht von relativen Positionen von Pixeln in einem zweidimensionalen Raum eines Bildes und in einem dreidimensionalen RGB-Farbraum dar. -
7 zeigt einen Abschnitt eines Bildes, der eine dunkle quadratische Region umfasst. -
8 stellt ein diskretes, bildbasiertes Analogon des Gradientenvektors dar, erzeugt durch den ∇-Operator in der kontinuierlichen Mathematik. -
9A –9B stellen die Berechnung von einem Typ einer Texturmetrik für jedes Pixel in einer zweidimensionalen Matrix dar. -
10 stellt bestimmte Berechnungen dar, die sich auf eine vierdimensionale Vektordarstellung von Pixeln innerhalb eines zweidimensionalen Bildes beziehen. -
11 stellt eine Metrik für die Distanz zwischen oder Ähnlichkeit von zwei Vektorsätzen dar. -
12A –12C stellen eine anfängliche Iteration eines Segmentierungsprozesses dar, der durch bestimmte Ausführungsbeispiele der vorliegenden Erfindung verwendet wird. -
13A –13C liefern Steuerflussdiagramme, die einen Ansatz darstellen für eine Bildsegmentiereng, die als der erste Schritt von bestimmten Verfahrens- und Systemausführungsbeispielen der vorliegenden Erfindung verwendet wird. -
14A –14B stellen eine bestimmte Farbcharakteristik von Himmelsregionen innerhalb von Bildern dar. -
15 liefert ein Steuerflussdiagramm auf hoher Ebene für die Routine „Etikettiere Bild”, die bei Schritt306 aus3 aufgerufen wird. -
16A –16H liefern Steuerflussdiagramme für die Routine „Etikettiere Himmel und Schnee”, aufgerufen bei Schritt1504 aus15 . -
17 zeigt ein exemplarisches Bild, das Regionen eines menschlichen Gesichts und menschlicher Haut umfasst. -
18 zeigt eine rechteckige Region, die das Gesicht in dem Bild umfasst, das in17 gezeigt ist. -
19 stellt das Partitionieren von Pixeln innerhalb der rechteckigen Region dar, die in der18 gezeigt ist, von dem Bild, das anfänglich in17 gezeigt ist. -
20A –20D stellen einen Ansatz für eine Nächster-Nachbar-basierte Pixelpartitionszuweisung dar. -
21 zeigt das Ergebnis einer Nächster-Nachbar-Verarbeitung für den rechteckigen Abschnitt des Bildes, gezeigt in18 und19 . -
22 stellt eine Gesichtshautabbildung dar, erhalten durch die Anwendung eines gesichtsspezifischen Farbmodells an die rechteckige Region eines Bildes, gezeigt in18 ,19 und21 . -
23 stellt die etikettierten Gesichts- und Hautsegmente innerhalb des Originalbildes dar, das in27 gezeigt ist. -
24 –27 liefern Steuerflussdiagramme für die Routine „Etikettiere Gesicht und Haut”, aufgerufen bei Schritt1506 aus15 . -
28A –28B liefern Histogramme einer lokalen Direktionalität bzw. Ausrichtung innerhalb von zwei unterschiedlichen Typen von Regionen von Bildern. -
29 –31 liefern Steuerflussdiagramme für die Routine „Etikettiere Blätter”, aufgerufen bei Schritt1508 aus15 . -
32 stellt das Konzept von Pixelmerkmalen dar. -
33 zeigt verschiedene Typen von Segmentmerkmalen. -
34 liefert ein Steuerflussdiagramm für ein allgemeines Wahrnehmungssegmentierungsverfahren, das ein allgemeines Ausführungsbeispiel der vorliegenden Erfindung darstellt. -
35 stellt eine Routine zum Identifizieren von Regionen innerhalb eines Bildes dar. - Detaillierte Beschreibung der Erfindung
- Die vorliegende Erfindung richtet sich auf das Erkennen und Identifizieren von Objekten und Regionen innerhalb digital codierter Bilder, die bestimmten Typen von Objekten und Merkmalen in Szenen entsprechen, die in den Bildern erfasst sind, was Himmel, menschliches Gesicht, menschliche Haut, Blätter und andere solche Objekte und Regionen umfasst.
1 und2 stellen die Anwendung eines Bildverarbeitungsverfahrens der vorliegenden Erfindung dar.1 zeigt ein visuelles Aufbereiten einer digital codierten Photographie eines Mannes, der auf einer Parkbank auf einem Rasen in der Nähe eines Sees oder eines Zuflusses sitzt.2 zeigt die Klassifizierung oder Etikettierung von Regionen innerhalb des Bildes, gezeigt in1 , die Haut, Himmel und Blättern entsprechen. Regionen des Bildes, die der Parkbank und der Kleidung des Marines202 entsprechen und dem Wasser204 entsprechen, werden nicht klassifiziert. Gegebene geeignete Sätze aus Charakteristika und Verfahren jedoch, die die Sätze aus Charakteristika einsetzen, Bildregionen, die Wasser, Kleidung, verarbeitetem Holz und anderen solchen Objekten und Merkmalen entsprechen, können zusätzlich durch erweiterte Ausführungsbeispiele der vorliegenden Erfindung klassifiziert werden. - Die Klassifizierung oder Etikettierung von Regionen eines Bildes, wie z. B. die Klassifizierung, die in
2 dargestellt ist, ist entscheidend für eine große Vielzahl von zusätzlichen bildverarbeitungsbezogenen Verfahren sowie für verschiedene Computersehvermögens-Anwendungen (computer vision application) und Bildkategorisierungsanwendungen. Zum Beispiel würde das Vorhandensein von umfangreichen Himmels- und Blätterregionen in dem Bild, das in1 gezeigt ist, ermöglichen, dass das Bild automatisch als eine Außenszene klassifiziert wird. Solche Klassifizierungen sind nützlich bei der automatischen Speicherung und Wiedergewinnung von und der Suche nach Bildern und Videos. Als ein anderes Beispiel können verschiedene Bildverarbeitungstechniken eingesetzt werden, um digitale Bilder für Verbraucher zu verbessern, was schärfer machen von Details, Glättungsoperationen, die ausgeführt werden, um Rauschen und bilderfassungsbezogene Aberrationen zu beseitigen, und andere solche Verarbeitungstechniken umfasst. Durch ordnungsgemäßes Klassifizieren von Bildregionen derart, dass diese Haut, Himmel und Blättern entsprechen, wie in2 gezeigt ist, können unterschiedliche Verarbeitungstechniken, die geeignet für bestimmte Typen von Objekten und Merkmalen sind, an jede klassifizierte Region angewendet werden. Zum Beispiel bevorzugen viele Verbraucher geglätteten und blaufarbennormierten Himmel in Photographien, bevorzugen jedoch ferner, dass Blattregionen schärfer gemacht sind, um ein feines und scharfes Detail zu liefern. Auf ähnliche Weise bevorzugten viele Verbraucher geglättete Körperhaut- und Gesichtshautregionen, so dass bilderfassungsbezogene Aberrationen, die chromatische Aberrationen, Rauschen und kleine Details umfassen, heruntergespielt oder beseitigt werden, während sie gleichzeitig die Bewahrung und Verbesserung von feinen Details von bestimmten Gesichtsmerkmalen bevorzugen, wie z. B. Augen, die Informationen über Laune und Ausdruck liefern. Somit ermöglicht die Klassifizierung von Regionen innerhalb eines Bildes das Anwenden von Region-Typ-spezifischen Bildverbesserungsverfahren an diese Regionen. Als ein weiteres Beispiel können verschiedene Computersehvermögensanwendungen implementiert sein, um Personen und sogar bestimmte Einzelpersonen innerhalb von Bildern zu erkennen, und solche Analysen können ermöglicht werden durch Beginnen ausgehend von genau identifizierten Regionen eines Bildes, die menschlichen Gesichtern entsprechen. - Die folgende Erörterung ist in eine Anzahl von Teilabschnitten unterteilt. In einem ersten Teilabschnitt wird ein Ansatz zur Wahrnehmungssegmentierung von Bildern gemäß der vorliegenden Erfindung auf hoher Ebene ausgeführt. In einem zweiten Teilabschnitt wird ein Überblick über digital codierte Bilder und Farbmodelle gegeben. In einem dritten Teilabschnitt werden verschiedene mathematische Bildverarbeitungskonzepte eingeführt. In einem vierten Teilabschnitt wird ein Ansatz für eine anfängliche Bildsegmentierung erörtert. In einem fünften Abschnitt werden Charakteristika von Blauer-Himmel-Regionen in Bildern erörtert sowie eine Erörterung von allgemeinen Region-Typ-spezifischen Farbmodellen ausgeführt. In einem sechsten Abschnitt wird eine detaillierte Erörterung des Ansatzes für eine Wahrnehmungssegmentierung von Bildern gemäß der vorliegenden Erfindung gegeben, die in dem ersten Teilabschnitt ausgeführt ist. In einem siebten Teilabschnitt wird ein allgemeiner Ansatz für eine Wahrnehmungssegmentierung gemäß der vorliegenden Erfindung erörtert.
- Ausführung eines Ansatzes für eine Wahrnehmungssegmentierung von Bildern gemäß der vorliegenden Erfindung
-
3 liefert ein Steuerflussdiagramm, das einen Ansatz darstellt zum Identifizieren bestimmter Typen von Regionen in Bildern, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Wie für jene offensichtlich sein sollte, die mit der Automatisierung und Bildverarbeitung vertraut sind, umfassen die Verfahrensausführungsbeispiele der vorliegenden Erfindung komplexe, langwierige numerische Berechnungen, die praktisch nur durch Computerprogramme ausgeführt werden können, die auf einem Computersystem ausgeführt werden. Wie Fachleuten auf dem Gebiet des Computerwesens bekannt ist, wandelt die Ausführung von Computerprogrammen ein Allzweckcomputersystem in ein Spezialbildverarbeitungssystem um, wobei eine Komponente desselben das Computerprogramm ist, das eine Steuerung und Funktionalität hoher Ebene liefert. - Bei Schritt
302 werden ein oder mehrere Bilder, an die Regionsidentifizierungsverfahren angewendet werden sollen, durch die Routine „Wahrnehmungssegmentierung und Etikettierung” empfangen. Zusätzlich zu dem Bild oder den Bildern kann die Routine auch verschiedene Parameter, Schwellen, Regeln und Heuristiken empfangen, die Segmentierung und Etikettierung steuern können und die Analyse auf bestimmte Typen von Bildern und Regionen zuschneiden können. Bei bestimmten Ausführungsbeispielen können die Werte für diese Parameter und Schwellen sowie jegliche gelieferten Werte und Heuristiken innerhalb der Routinen codiert sein, die eine Wahrnehmungssegmentierung von Bildern implementieren oder können durch ein Bildverarbeitungssystem im Lauf der Verarbeitung von Bildern oder während spezifischer Trainingssitzungen entdeckt werden, in denen menschliches Feedback verwendet wird, um die Werte von Parametern und Schwellen zu bestimmen und zu verfeinern und Regeln und Heuristiken zu entwickeln und verfeinern. In der folgenden Erörterung werden die Parameter und Schwellen sowie Regeln und Heuristiken erörtert, als ob sie innerhalb spezifischer Routinen codiert wären. Es sollte darauf hingewiesen werden, dass bei alternativen Ausführungsbeispielen der vorliegenden Erfindung die Werte der Parameter und Schwellen und verschiedene Regeln und Heuristiken, aus Datenbanken erhalten werden können, interaktiv von Benutzern oder Verwaltern erhalten werden können, im Lauf der Zeit und während Trainingssitzungen definiert, entwickelt und verfeinert werden können und/oder alternativ spezifiziert werden können. - In der for-Schleife der Schritte
304 –308 wird jedes empfangene Bild nacheinander verarbeitet. Bei Schritt305 wird das gegenwärtig verarbeitete Bild gemäß Farbe und Textur segmentiert, wie nachfolgend detailliert beschrieben wird. Dann werden bei Schritt306 jene Segmente des Bildes, das bei Schritt305 konstruiert wird, die derart identifiziert werden können, dass sie zu bestimmten Typen von Regionen innerhalb des Bildes gehören, die bei dem beschriebenen Ausführungsbeispiel Himmel, menschliches Gesicht, menschliche Haut und Blätter umfassen, gemäß der Identifikation etikettiert, während jene Segmente, die nicht identifiziert werden können, unklassifiziert bleiben oder entsprechend als „unbekannt” oder „unidentifiziert” etikettiert bleiben. Im Allgemeinen werden nach der Etikettierung Anzeigen der etikettierten Regionen elektronisch bei Schritt307 für eine nachfolgende Ausgabe bei Schritt310 gespeichert. Bei alternativen Ausführungsbeispielen jedoch können Anzeigen der Typen der Regionen, die innerhalb Bildern identifiziert sind, direkt an andere Komponenten eines Bildverarbeitungssystems ausgegeben werden oder einem Benutzer angezeigt werden. - Überblick über digital codierte Bilder und Farbmodelle
- Die folgende Erörterung konzentriert sich auf zweidimensionale, digital codierte Bilder. Solche Bilder bilden den Großteil der Bilder, die gegenwärtig durch Bildverarbeitungssysteme verarbeitet werden, und umfassen sowohl digitale Standbilder, Videorahmen innerhalb vom Videoströmen, digital codierte Figuren, Zeichnungen und andere Graphiken und andere zweidimensionalen Bilder. Verfahrens- und Systemausführungsbeispiele der vorliegenden Erfindung können jedoch an zusätzliche Typen von digital codierten Bildern angewendet werden, was dreidimensionale Bilder umfasst, die als Stereopaare gespeichert sind, oder in verschiedenen Typen von echten dreidimensionalen Darstellungen.
-
4 stellt ein typisches digital codiertes Bild dar. Das Bild weist ein zweidimensionales Array aus Pixeln402 auf. In4 ist jedes kleine Quadrat, wie z. B. Quadrat404 , ein Pixel, das allgemein als der Abschnitt kleinster Körnung eines Bildes definiert ist, die Farbe oder der Grauskalawert dessen kann numerisch in einer digitalen Codierung spezifiziert sein. Pixelgrößen beziehen sich allgemein auf eine Bilderfassungsoptik sowie die Fähigkeiten von Anzeige- und Druckervorrichtungen. - Jedes Pixel hat einen Ort innerhalb des Bildes, der allgemein als ein Paar aus numerischen Werten dargestellt ist, die orthogonalen x-
406 und y-408 Achsen entsprechen. Somit weist das Pixel404 die x,y-Koordinaten (39, 0) auf, während das Pixel412 die Koordinaten (0, 0) aufweist. Bei der digitalen Codierung ist jedes Pixel einem oder mehreren numerischen Werten zugeordnet, die spezifizieren, wie die Region des Bildes, die dem Pixel entspricht, nach dem Drucken aufbereitet werden soll, auf einem Anzeigevorrichtungsbildschirm angezeigt werden soll oder anderweitig durch eine andere Einrichtung aufbereitet werden soll. Üblicherweise wird für Schwarz/Weiß-Bilder ein einzelner numerischer Wert in dem Satz aus Werten {0, 1, ..., 255} verwendet, um jedes Pixel darzustellen, obwohl andere Bereiche von Werten bei alternativen digitalen Codierungen verwendet werden können, wie z. B. {0, 1, ..., 65.535}. Der numerische Wert spezifiziert den Grauskalapegel, auf den das Pixel aufbereitet werden soll, wobei der Wert „0” Schwarz darstellt und der Wert „255” Weiß darstellt. Für Farbbilder kann jeglicher einer Vielzahl von unterschiedlichen Farbspezifizierungssätzen von numerischen Werten, Farbraumkoordinaten oder Farbkomponenten eingesetzt werden. Bei einem üblichen Farbmodell, wie in4 gezeigt ist, ist jedes Pixel drei Werten oder Farbkomponenten (R, G, B) zugeordnet, die die rote, grüne und blaue Komponente der Farbe spezifizieren, gemäß dem RGB-Farbmodell, die in der Region entsprechend dem Pixel angezeigt werden sollen. -
5A –D stellen vier unterschiedliche Farbmodelle dar.5A stellt eine Version des RGB-Farbmodells dar. Das gesamte Farbspektrum ist dargestellt, wie oben Bezug nehmend auf4 erörtert wurde, durch drei Primärfarbkomponenten (r, g, b). Diese können als Koordinaten in einem dreidimensionalen Farbraum betrachtet werden. Bei dem RGB-Farbmodell können unterschiedliche Farben derart betrachtet werden, dass sie unterschiedlichen Punkten innerhalb eines Einheitswürfels502 eines dreidimensionalen Farbraums entsprechen, der durch drei orthogonale Achsen definiert ist: R504 ; G506 ; und B508 . Die individuellen Farbkomponenten reichen von 0,0 bis 1,0 entlang jeder der drei Primärfarbachsen. Die reine blaue Farbe z. B. von größtmöglicher Intensität und Sättigung entspricht dem Punkt510 auf der B-Achse mit den Koordinaten (0, 0, 1). Die Farbe Weiß entspricht dem Punkt512 mit den Koordinaten (1, 1, 1) und die Farbe Schwarz entspricht dem Punkt514 , dem Ursprung des Koordinatensystems, mit den Koordinaten (0, 0, 0). -
5B zeigt ein unterschiedliches Farbmodell, das als das „HSI”-Farbmodell oder als das „Farbton-Sättigung-Intensität”-Farbmodell bezeichnet wird. Bei diesem Farbmodell sind alle möglichen Farben innerhalb einer dreidimensionalen trigonalen Bipyramide522 enthalten. Die voll gesättigten Farben Rot, Blau und Grün entsprechen den Punkten525 ,526 bzw.527 , während Weiß und Schwarz den Punkten524 bzw.528 entsprechen. Für eine beliebige Farbe, dargestellt in6 durch Punkt530 , ist der Farbton als der Winkel532 zwischen einem Vektor von Punkt525 zu der vertikalen Achse534 einer trigonalen Bipyramide definiert, die Sättigung ist durch das Verhältnis der Distanz von Punkt610 von der vertikalen Achse614d ' geteilt durch die Länge einer horizontalen Linie, die durch Punkt610 verläuft, von der vertikalen Ache614 zu dem Äußeren der trigonalen Bipyramide d” dargestellt und die Intensität ist die vertikale Distanz von Punkt610 zu der Ebene des Punkts, der Schwarz608 darstellt. Die Komponenten oder Koordinaten für eine bestimmte Farbe in dem HSI-Farbmodell (h, s, i) können erhalten werden aus den Komponenten der Farbe in dem RGB-Farbmodell (r, g, b), wie folgt: i = –(r + g + b) -
5C stellt ein wiederum anderes Farbmodell dar, das als das „CIE LCH”-Farbmodell bezeichnet wird. Die Abkürzung „CIE” steht für „Commission Internationale de l'Eclairage”. Die Abkürzung „LCH” steht für die drei Dimensionen L*, C* und H*, die verwendet werden, um das CIELCH-Farbmodell zu definieren, das häufig als das „LCH”-Farbmodell bezeichnet wird. Das LCH-Farbmodell, im Gegensatz zu dem oben erörterten RGB-Farbmodell, ist nicht vorrichtungsabhängig, sondern ist stattdessen entworfen, um der menschlichen Wahrnehmung von Farben zu entsprechen. Die L*-Achse stellt Helligkeit dar und die Werte entlang dieser Achse reichen von 0 oder „absolutes Schwarz”541 zu 100 oder „absolutes Weiß”542 . Die C*-Achse ist im Wesentlichen jedes horizontale radiale Liniensegment, wie z. B. das Liniensegment544 . Die C*-Achse stellt Sättigung dar, mit Sättigungswerten im Bereich von 0 oder vollständig ungesättigt545 entlang der L*-Achse zu 100546 an jeglichem Punkt auf der Oberfläche der sphärischen Grenze547 des LCH-Farbraums548 . Die H*-Achse ist im Wesentlichen ein Winkel, gemessen in einer beliebigen Richtung, entgegen dem Uhrzeigersinn in5C , von einer Richtung550 von 0 Grad, was Rot entspricht. Die Farbtöne Gelb, Grün und Blau entsprechen den H*-Winkeln von 90 Grad552 ,180 Grad553 und270 Grad554 . -
5D stellt das CIE-Lab-Farbmodell dar. Dieses Farbmodell verwendet eine vertikale L*-Achse, die der L*-Achse des LCH-Farbmodells entspricht. Der Lab-Farbraum ist daher ein rechteckiges Prisma. Die A*-Achse562 und die B*-Achse564 sind orthogonal und liegen in einer horizontalen mittleren Ebene566 . An einem Extrem, A* = –128, liegt die reine Farbe Grün, und an dem anderen Extrem, A* = 127, liegt die reine Farbe Rot. Auf ähnliche Weise stellen die Endpunkte der B*-Achse, B* = –128 und B* = 127 Blau bzw. Gelb dar. So wie das LCH-Farbmodell ist das Lab-Farbmodell vorrichtungsunabhängig. - Es gibt eine Vielzahl von anderen Farbmodellen, wobei einige geeignet zum Spezifizieren von Farben für gedruckte Bilder sind und andere besser geeignet sind für Bilder, die auf CRT-Bildschirmen oder auf LCD-Bildschirmen angezeigt werden. In vielen Fällen können die Komponenten oder Koordinaten, die eine bestimmte Farbe in einem Farbmodell spezifizieren, einfach in Komponenten oder Koordinaten für die Farbe in einem anderen Farbmodell umgewandelt werden, wie in dem obigen Beispiel durch drei Gleichungen gezeigt ist, die RGB-Komponenten in HSI-Farbkomponenten umwandeln. In anderen Fällen, wie z. B. beim Umwandeln von RGB-Farben in LCH-Farben, werden die vorrichtungsabhängigen RGB-Farben zuerst in ein vorrichtungsunabhängiges RGB-Farbmodell umgewandelt und dann in einem zweiten Schritt in das LCH-Farbmodell umgewandelt. Bei vielen Ausführungsbeispielen der vorliegenden Erfindung werden farbbezogene Werte, einschließlich farbbezogener Pixelmerkmale, basierend auf dem LCH- und/oder Lab-Farbmodell berechnet.
- Die meisten Farbmodelle verwenden drei Primärfarben, die den Wellenlängen maximaler Empfindlichkeit von drei unterschiedlichen Pigmenten in der menschlichen Netzhaut entsprechen. Intensität bezieht sich auf die Menge von Energie, die aus einer Lichtquelle ausstrahlt oder auf die Netzhaut eines Auges, photographischen Film oder Ladungskopplungsvorrichtung einfällt. Lumineszenz ist ein Maß der wahrgenommenen Energie. Somit sind Intensität und Leuchtdichte verwandt und in der nachfolgenden Erörterung werden die Ausdrücke „Intensität” und „Leuchtdichte” austauschbar verwendet. Die Sättigung ist umgekehrt bezogen auf die Menge von Weißlicht vermischt mit bestimmten dominanten Wellenlängen oder Farbtönen. Zum Beispiel ist die reine Farbe Rot vollständig gesättigt, mit einer Sättigung s = 1,0, während die Farbe Pink einen Sättigungswert weniger als 1,0, aber mehr als 0,0 aufweist, und die Farbe Weiß ist vollständig ungesättigt mit einem gesättigten Wert s = 0,0. Der Farbton bezieht sich auf die relativen Größen der Primärfarbkomponenten, die eine bestimmte Farbe spezifizieren. Weitere Details im Hinblick auf Farbmodell und visuelle Wahrnehmung finden sich in zahlreichen Lehrbüchern.
- Mathematische Bildverarbeitungskonzepte
-
6 stellt die Vorstellung von relativen Positionen von Pixeln in einem zweidimensionalen Raum eines Bildes und in einem dreidimensionalen RGB-Farbraum dar. In6 spezifiziert der Vektor xi602 die Position eines ersten Pixels604 und der Vektor x2606 spezifiziert die Position eines zweiten Pixels608 in einem zweidimensionalen Bild610 . Jedes der Pixel604 und608 ist einer Farbe zugeordnet, die durch eine Position innerhalb des RGB-Farbraums dargestellt ist. In6 tritt die Farbe, die Pixel604 zugeordnet ist, an Punkt612 in dem RGB-Farbraum auf, und die Farbe, die Pixel608 zugeordnet ist, tritt an Punkt614 in dem RGB-Farbraum auf. Die Distanz von dem ersten Pixel604 zu dem zweiten Pixel608 ist ausgedrückt durch den Vektor x2 – xi616 und diese Distanz in dem zweidimensionalen Bildraum entspricht einer Distanz618 zwischen dem ersten und dem zweiten Pixel in dem RGB-Farbraum. -
7 zeigt einen Abschnitt eines Bildes, der eine dunkle quadratische Region umfasst. Die dunkle, quadratische Region702 ist von einem hellfarbigen Hintergrund704 umgeben. Viele Bildverarbeitungstechniken basieren darauf, in der Lage zu sein, die Grenzen oder Ränder von Regionen zu erfassen, wie z. B. dem dunklen Quadrat702 in7 . Bei der Bildverarbeitung ist es wünschenswert, eine Metrik oder einen Wert zu berechnen, der sich auf das Vorhandensein von Rändern oder Grenzen zwischen nichtähnlichen Regionen innerhalb des Bildes bezieht. Zum Beispiel ist es nützlich, eine Metrik zu haben, die auf Pixel706 und Pixel708 in7 angewendet werden kann, um zu bestimmen, dass die zwei Pixel benachbart zu und auf gegenüberliegenden Seiten von einem Rand oder einer Grenze liegen. Eine bekannte Menge, die in der Mathematik verwendet wird, um Änderungen bei dem Wert einer Skalarfunktion zu erfassen, ist der Gradient, der ein Vektorfeld aus der Skalarfunktion erzeugt. -
8 stellt ein diskretes, bildbasiertes Analogon des Gradientenvektors dar, erzeugt durch den ∇-Operator in der kontinuierlichen Mathematik. In8 ist ein Pixel mit den Raumkoordinaten (x, y)802 innerhalb einer Pixel-Umgebung bzw. -Nachbarschaft804 gezeigt, die alle Pixel aufweist, die horizontal, vertikal und diagonal benachbart zu dem Pixel (x, y)802 sind. In8 sind Farben, die allen Pixeln in der Umgebung von Pixel (x, y) zugeordnet sind, sowie die Farbe, die Pixel (x, y) zugeordnet ist, als Punkte in dem RGB-Farbraum806 bezeichnet. Unter Verwendung einer möglichen Distanzmetrik in dem zweidimensionalen Bildraum können alle Pixel in der Umgebung von (x, y), gezeigt in8 , derart betrachtet werden, dass sie in einer Distanz 1 von dem Pixel (x, y) liegen. In dem RGB-Raum806 können die entsprechenden Farbraumdistanzen zwischen der Farbe, die Pixel (x, y) zugeordnet ist, und den Farben, die den Pixeln in der Umgebung von Pixel (x, y) zugeordnet sind, berechnet werden. Die größte Farbraumdistanz zwischen dem Pixel (x, y) und allen Pixeln in der Umgebung des Pixels (x, y)808 kann als die Größe oder der absolute Wert des Gradienten betrachtet werden, der an Punkt (x, y) in dem zweidimensionalen Farbraum berechnet wird. Die Richtung des Gradienten ist die Richtung des Vektors, in dem zweidimensionalen Farbraum, der von Pixel (x, y) zu Pixel810 zeigt, der einem Punkt in dem RGB-Farbraum812 am weitesten entfernt von dem Punkt in dem RGB-Farbraum814 zugeordnet ist, der dem zentralen Pixel (x, y)802 zugeordnet ist. Die Gradientenvektorpunkte in der Richtung der größten entsprechenden Farbänderung und die Größe des Vektors beziehen sich auf die Distanz, in dem RGB-Farbraum, zwischen dem mittleren Pixel und dem benachbarten Pixel, das in der Richtung des Gradientenvektors von dem mittleren Pixel (x, y) liegt. - Bei der Bildverarbeitung ist es üblich, Gleichungen aus der kontinuierlichen Mathematik zu leihen, um Techniken abzuleiten, die an diskrete Problembereiche anwendbar sind, wie z. B. zweidimensionale, digital codierte Bilder. Zum Beispiel kann die Abbildung einer Position innerhalb eines Bildes auf Farbe folgendermaßen ausgedrückt werden:
f(x) → (r, g, b). -
-
-
- Der Vektor, der die Distanz in dem Farbraum d maximiert, kann sich somit als die Lösung eines Eigenwertproblems ergeben, wie folgt:
G = DTD Gy = Gλ |∇f| = avg max / y√λ -
9A –B stellen die Berechnung eines Typs einer Texturmetrik für jedes Pixel in einer zweidimensionalen Matrix dar. Der Gradient liefert eine Metrik für das Vorhandensein von Kanten oder Rändern zwischen unterschiedlich farbigen Regionen an jedem Punkt in einem zweidimensionalen Bild. Die durchschnittliche Gradientengröße innerhalb einer Region eines Bildes oder eine berechnete Verteilung von Gradientengrößen innerhalb einer Region ist anzeigend für die Glätte der Region. Es ist ferner nützlich, eine Metrik zu haben, die das Vorhandensein von Textur an jedem Punkt in dem Bild ausdrückt. Textur bezieht sich auf den Grad, zu dem regelmäßige Muster bzw. Strukturen in einer Region eines Bildes vorhanden sind, wiederum bezogen auf die Vorhersagbarkeit der Farbe von Pixeln innerhalb einer Region. Die Vorhersagbarkeit von Farbe kann als die Entropie H des Farbsignals innerhalb der Region ausgedrückt werden. Eine monochromatische Region hat eine Entropie von 0,0, da die Farbe jedes Pixels in der Region mit Sicherheit bekannt ist, während eine beliebig abgewandelte Region eine sehr hohe Entropie haben würde. Eine Region, die ein regelmäßiges Muster aufweist, wie z. B. eine Ziegelwand oder ein schachbrettartig gefliester Boden, würde eine relativ niedrige Entropie haben, da die Farbe der Pixel innerhalb der Region bekanntermaßen einen relativ hohen Grad an Gewissheit hat. - Bei bestimmten Ausführungsbeispielen der vorliegenden Erfindung wird eine entropiebasierte Texturmetrik für eine Regionsidentifizierung und -zusammenführung eingesetzt. Die lokale Entropie wird an jedem Punkt in dem zweidimensionalen Bild berechnet. Zuerst wird der RGB-Farbraum quantisiert.
9A stellt die Quantisierung eines RGB-Farbraums dar. Wie in9A gezeigt ist, ist das kontinuierliche Volumen des Einheitswürfels, was den RGB-Farbraum902 beschreibt, in eine feste Anzahl von Teilvolumen fester Größe unterteilt, wie z. B. Teilvolumen904 . Alle Punkte in dem RGB-Farbraum innerhalb von jedem Teilvolumen können dann derart betrachtet werden, dass eine quantisierte Farbe q aufweisen, wobei q ein einzelner numerischer Wert gleich einer Zahl ist, die das Teilvolumen innerhalb eines geordneten Satzes der Teilvolumen identifiziert, die innerhalb des Einheitswürfels enthalten sind. Zum Beispiel gibt es bei dem Beispiel, das in9A gezeigt ist, 125 Teilvolumen, und daher sind alle möglichen Farben in 125 Farben quantisiert, die den Zahlen q in dem Satz aus Werten {0, 1, ..., 124} zugeordnet sind. Somit kann die Quantisierung wie folgt ausgedrückt werden:q = Q(r, g, b) q = q(i, j) = Q(f(i, j)), - Wenn der RGB-Farbraum quantisiert ist, kann die lokale Entropie für jedes Pixel berechnet werden aus einer Nachbarschaft von Pixeln, die dieses Pixel umgeben.
9B stellt die Berechnung der Texturmetrik T(i, j) für Pixel (i, j) innerhalb eines zweidimensionalen Bildes dar. Das Pixel (i, j)910 wird als das zentrale Pixel einer Neun-Pixel-mal-Neun-Pixel-Nachbarschaft912 betrachtet. Die Texturmetrik für das Pixel T(i, j) ist im Wesentlichen die Entropie, die für die Neun-Pixel-mal-Neun-Pixel-Nachbarschaft912 berechnet ist: wobei P(q(k, l)) die Wahrscheinlichkeit ist, dass das Pixel (k, l) die Farbe q(k, l) quantisiert hat, basierend auf der Verteilung von quantisierten Farbwerten q(k, l) innerhalb des Bildes. Die Entropie H, die allgemein in der Informationswissenschaft angetroffen wird ist tatsächlich direkt auf die Entropie von Chemie und Physik bezogen. - Bei bestimmten Ausführungsbeispielen der vorliegenden Erfindung umfasst die Segmentierung eines Bildes die Betrachtung jedes Pixels in dem Bild als einen vierdimensionalen Vektor. Die vier Dimensionen umfassen drei Dimensionen eines Farbmodells, wie z. B. des RGB-Farbmodells, und eine einzelne Texturdimension, die dem lokalen Entropiewert entspricht, der durch die oben beschriebene Technik für das Pixel berechnet wurde.
10 stellt bestimmte Berechnungen dar, die sich auf eine Vierdimensional-Vektor-Darstellung aus Pixeln innerhalb eines zweidimensionalen Bild beziehen. In10 ist eine erste Region oder Gruppe aus Pixeln innerhalb eines zweidimensionalen Bildes1002 dargestellt als ein Satz aus vierdimensionalen Vektoren, wie z. B. Vektor1004 , wobei jeder Vektor beschrieben ist als xij, wobei i ein numerisches Identifizierungszeichen der Gruppe ist und j das Identifizierungszeichen des Pixels ist oder des vierdimensionalen Vektors innerhalb der Pixel oder vierdimensionaler Vektoren, die die Gruppe i aufweisen. In10 ist eine zweite Region oder Gruppe aus Pixeln1006 unter der ersten Gruppe1002 gezeigt. ein Durchschnittswert oder ein durchschnittlicher, vierdimensionaler Vektorx 10 ist der Durchschnittsvektor1008 für Gruppe 11002 gezeigt und der Durchschnittsvektor1010 ist für Gruppe 21006 gezeigt. - Zwei Vektoren können miteinander auf unterschiedliche Weisen multipliziert werden. Bei einer Form der Vektormultiplikation kann ein Vektor xi
1012 mit der Transponierten eines Vektors x2 multipliziert werden,x T / 2 1014 , um eine 4×4-Matrix1016 zu erzeugen. Eine Kovarianzmatrix, die die Koabhängigkeit zwischen den Dimensionen von zwei Sätzen aus Vektoren beschreibt, W, kann wie folgt berechnet werden: -
11 stellt eine Metrik für die Distanz zwischen oder Ähnlichkeit von zwei Sätzen aus Vektoren dar. In11 sind die Endpunkte eines ersten Satzes von dreidimensionalen Vektoren1102 derart gezeigt, dass sie innerhalb eines Ellipsoids in einem dreidimensionalen Raum1104 enthalten sind. Ein Ellipsoid1106 , das einem zweiten Satz aus Vektoren entspricht, ist ebenfalls innerhalb des dreidimensionalen Raums1104 gezeigt. Ein Maß der gesammelten Distanz zwischen den zwei Gruppen kann berechnet werden als:D2 = ( x i–x j)TW–1(x i–x j),10 . Die Metrik D2, wie oben ausgedrückt ist, hängt nicht von der Dimensionalität der Vektoren ab und kann somit berechnet werden für Sätze aus Vektoren jeglicher Dimension, vorausgesetzt, dass alle Vektoren von gleicher Dimensionalität sind. Die Distanzmetrik D2 oderD = √ D₂ - Ein Ansatz für eine anfängliche Bildsegmentierung
- Wie oben Bezug nehmend auf
3 erörtert wurde, segmentiert bei einem anfänglichen Schritt ein Verfahrens- und Systemausführungsbeispiel der vorliegenden Erfindung ein Bild in Regionen aus Pixeln mit ähnlichen Farben und Textur.12A –C stellen eine anfängliche Iteration eines Segmentierungsprozesses dar, der durch bestimmte Ausführungsbeispiele der vorliegenden Erfindung verwendet wird. Bei einem anfänglichen Schritt, der in12A gezeigt ist, wird das Bild analysiert, um anfängliche Keimregionen1202 –1204 zu identifizieren, die glatt und homogen im Hinblick auf eines der Merkmale sind (z. B. Farbwert). Wie oben erörtert wurde, haben solche Segmente niedrige durchschnittliche Gradientengrößen oder können identifiziert werden durch Gradientengrößenverteilungen, die eng um niedrige Gradientengrößenwerte gruppiert sind. Dann werden die zwei Schritte, die in12B und12C dargestellt sind, iteriert, um neue Segmente zu identifizieren und jegliche neu identifizierten Segmente mit bestehenden, benachbarten Segmenten zusammenzuführen, um Segmente wachsen zu lassen. Zuerst, wie in12B gezeigt ist, wird eine Glätte- oder Kantigkeitsschwelle, die anfänglich relativ niedrig ist, bei dem anfänglichen Schritt zum Finden von Keimregionen, der in12A dargestellt ist, ausreichend erhöht, um eine Anzahl von zusätzlichen, weniger glatten Regionen1206 –1209 zu identifizieren. Dann, wie in12C gezeigt ist, werden paarweise Vergleiche der Regionen ausgeführt, um benachbarte Regionen zu identifizieren, die in eine einzelne Region zusammengeführt werden können. Anders ausgedrückt, wenn nach dem Vergleichen von zwei benachbarten Regionen bestimmt wird, dass, wenn sie zusammengeführt werden, die resultierende größere Region ausreichend homogen im Hinblick auf Farbe ist, werden die zwei Segmente zusammengeführt. In12C werden die zwei Regionen1204 und1208 aus12B derart bestimmt, dass sie ausreichend ähnlich sind, um zusammengeführt zu werden, um die resultierende, größere Region1210 zu erzeugen. Die Schritte, die in12B und12C dargestellt sind, können dann wiederholt werden, um neue Regionen zu identifizieren und bestimmte der neu identifizierten Regionen mit bestehenden Regionen zusammenzuführen. Sobald alle Pixel innerhalb eines Bildes in Regionen eingelagert sind, kann ein zusätzlicher, gründlicherer Zusammenführungsprozess unternommen werden, um die Regionen zusammenzuführen, um Segmente zu bilden, basierend sowohl auf Farbähnlichkeit als auch auf Texturähnlichkeit. -
13A –C liefern Steuerflussdiagramme, die einen Ansatz darstellen für eine Bildsegmentierung, die als der erste Schritt von bestimmten Verfahrens- und Systemausführungsbeispielen der vorliegenden Erfindung verwendet wird.13A liefert ein Steuerflussdiagramm auf hoher Ebene für das Segmentierungsverfahren, das bei bestimmten Ausführungsbeispielen der vorliegenden Erfindung verwendet wird. Bei Schritt1302 wird ein Bild empfangen, das segmentiert werden soll, zusammen mit jeglichen relevanten Parametern zum Spezifizieren und Steuern des Segmentierungsprozesses. Als Nächstes wird bei Schritt1304 eine anfängliche Segmentierung, wie oben Bezug nehmend auf12A –C beschrieben wurde, ausgeführt, um jedes Pixel in dem empfangenen Bild innerhalb eines anfänglichen Segments einzulagern. Dann werden bei Schritt1306 anfängliche Segmente paarweise miteinander verglichen, um diese Segmente mit ähnlichen Farben und Texturen zusammenzuführen, um abschließende, wesentlich größere Segmente zu erzeugen. -
13B liefert ein Steuerflussdiagramm für den anfänglichen Segmentierungsschritt1304 in13A . Bei Schritt1310 wird eine anfängliche Kantigkeitsschwelle gesetzt. Dann wird in der while-Schleife der Schritte1312 –1316 die Prozedur, die Bezug nehmend auf12A –C erörtert wird, iterativ ausgeführt, bis alle Pixel in ein anfängliches Segment eingelagert sind. Bei Schritt1313 werden neue Regionen, jede mit einer kumulativen Kantigkeit bis zu der aktuellen Kantigkeitsschwelle, gefunden. Anfänglich wird die Kantigkeitsschwelle auf einen sehr niedrigen Wert gesetzt, so dass die anfänglichen Keimregionen im Allgemeinen flachen, merkmalslosen Abschnitten eines Bildes entsprechen, wie z. B. blauem Himmel. Mit jeder Iteration wird die Kantigkeitsschwelle erhöht, bei Schritt316 , so dass immer weniger glatte Segmente mit jeder Iteration identifiziert werden. Regionen können bei Schritt1303 identifiziert werden durch Lokalisieren der Pixel mit kleinsten Gradientengrößen, die nicht bereits in ein Segment eingelagert sind, und Anwachsen einer Region um diese Pixel bis zu der aktuellen, kumulativen Kantigkeitsschwelle. Als Nächstes werden bei Schritt1314 jegliche neuen Segmente, identifiziert in Schritt1313 , zum Zusammenführen mit benachbarten Segmenten berücksichtigt, die während vorangehender Iterationen erzeugt wurden. Während der anfänglichen Segmentierung sind die Kriterien zum Zusammenführen von Segmenten die Nähe im Hinblick auf Farbe oder, anders ausgedrückt, die euklidische Distanz zwischen den Regionen in dem RGB-Farbraum sowie die Nachbarschaft der Regionen in dem zweidimensionalen Farbraum. Bei der Fertigstellung der aktuellen Iteration wird die Kantigkeitsschwelle erhöht, bei Schritt1316 , um zu ermöglichen, dass neue, weniger glatte Regionen bei der nächsten Iteration gefunden werden. Wenn alle Pixel in ein Segment eingelagert sind, wie bei Schritt1315 bestimmt wurde, ist die anfängliche Segmentierung abgeschlossen. -
13C liefert ein Steuerflussdiagramm für dem Zusammenführungsschritt1306 in13A . Bei Schritt1320 wird eine codierte Liste der anfänglichen Segmente für das Bild empfangen, zusammen mit einer Anzeige der Anzahl von Segmenten, die bei der Endsegmentierung erwünscht sind. Die Anzahl der gewünschten Segmente kann ein Parameter sein, der in die Segmentierungsroutine eingegeben wird, bei Schritt1302 in13A , oder kann alternativ hergeleitet werden aus verschiedenen, berechneten Charakteristika des Bildes, einschließlich der Anzahl von Anfangssegmenten, Verteilung der Entropien und kumulativer Kantigkeitsmetrik der Segmente und anderen solchen Charakteristika und Faktoren. Als Nächstes werden in der while-Schleife der Schritte1322 –1325 Segmente zusammengeführt, bis die Endanzahl der Segmente in dem Bild kleiner oder gleich der gewünschten Anzahl der Segmente ist, wie bei Schritt1325 bestimmt wird. Zuerst werden Mahalanobis-Distanzen D zwischen allen Segmentpaaren berechnet, die gegenwärtig innerhalb des Bildes vorliegen. Dann werden bei Schritt1324 einige festen Zahlen m aus Paaren von Segmenten, die durch kleinste Mahalanobis-Distanzen D getrennt sind, zusammengeführt, um größere Segmente zu bilden. Nach der Fertigstellung der while-Schleife der Schritte1322 –1325 wird eine Codierung der Endsegmente gespeichert zur Verwendung durch nachfolgende Schritte des Wahrnehmungssegmentierungsverfahrens der vorliegenden Erfindung. Orte von Segmenten können auf verschiedene Weisen gespeichert werden. Zum Beispiel können Segmente als Sätze aus Koordinatenpaaren für die Pixel innerhalb der Segmente gespeichert werden, als die Koordinatenpaare für die Grenzpixel einer Region zusammen mit einer Anzeige, welche Seite der Grenze das Innere des Segments aufweist, oder können alternativ als ein Ausdruck gespeichert werden, aus dem die Koordinaten der Pixel innerhalb des Segments berechnet werden können. - Charakteristika der Blauer-Himmel-Regionen und regionstypspezifische Farbmodelle
-
14A –B stellen eine bestimmte Farbcharakteristik von Himmelsregionen innerhalb Bildern dar.14A stellt die Farbcharakteristika von Himmelsregionen von dem Standpunkt eines Beobachters dar, der an dem Ursprung1402 eines zweidimensionalen Koordinatensystems positioniert ist, das die Oberfläche der Erde darstellt. Der Himmel erscheint als eine Hemisphäre1404 mit dem Beobachter in der Mitte der kreisförmigen Basis1406 der Hemisphäre. Es gibt zwei bestimmte Richtungen im Hinblick auf die Farbcharakteristika des Himmels. Die erste Richtung, dargestellt durch Spur1408 , ist eine Richtung, für die der Elevationswinkel abweicht von direkt darüber, bei Punkt v11410 zu einem Punkt1412 am Horizont, was der feste Azimutwinkel ist. Die zweite bestimmte Richtung ist eine horizontale Richtung, dargestellt durch Spur1414 , bei der der Azimutwinkel variiert, während der Elevationswinkel konstant gehalten wird. Für Blauer-Himmel-Regionen ist die Variation im Hinblick auf Farbe entlang Spuren in den zwei bestimmten Richtungen relativ unterschiedlich.14B stellt eine Variation bzw. Abweichung der Farbe in den bestimmten Richtungen dar, die durch Spuren1408 und1414 in14A dargestellt sind.14B zeigt den Einheitswürfel1420 des RGB-Raums. Die Änderung bei der Farbe entlang der Spur1408 ist durch das Liniensegment1422 in14B dargestellt. Bei Punkt v11410 , der einen Punkt am Himmel direkt über dem Beobachter darstellt, wie in14A gezeigt ist, hat der Himmel einen weitgehend blauen Farbton von mittlerer bis niedriger Intensität. Wenn sich der Punkt abwärts bewegt, hin zum Horizont, entlang der Spur1408 , bewegt sich die entsprechende Farbe aufwärts und nach rechts, entlang dem Liniensegment1422 , um den Endpunkt v01412 am Horizont zu erreichen. Am Horizont ist die Himmelsfarbe annähernd weiß mit immer mehr Rot- und Grün-Komponenten zunehmender Größe. Die Gesamtintensität oder Leuchtdichte am Horizont ist im Allgemeinen größer als für Punkte direkt darüber. Im Gegensatz dazu ändert sich entlang der Horizontspur1414 die Farbe im Allgemeinen nicht und ist daher durch einen einzelnen Punkt1424 in14B dargestellt, der allen Punkten entlang der Spur1414 in14A entspricht. Natürlich gibt es im Allgemeinen einige Farbabweichungen entlang einer horizontalen Spur und der ideale Punkt1424 würde wahrscheinlich einem Ellipsoid mit einem Volumen entsprechen, das sich auf die Größen der Farbabweichung innerhalb des Bildes bezieht. Ferner kann das Vorhandensein der Sonne in einer Region des Himmels die oben beschriebenen Farbabweichungscharakteristika abändern oder vollständig verändern, obwohl die Sonne im Allgemeinen nur photographiert wird, wenn sie tief am Himmel steht, bei Sonnenauf- oder Untergang. - Diese allgemeinen Farbcharakteristika von blauem Himmel können effektiv eingesetzt werden, um Regionen mit blauem Himmel eines Bildes zu unterscheiden von im allgemeinen merkmalslosen blauen Regionen in einem Bild, wie z. B. blauen Wänden oder Oberflächen von Körpern aus Wasser. Zum Beispiel kann die Abweichung entlang orthogonaler Spuren in einer Region mit blauem Himmel berechnet werden und orthogonale Spuren um 90 Grad gedreht werden, um zu bestimmen, ob sich Charakteristika, wie z. B. jene, die in
14B gezeigt sind, innerhalb der Region mit blauem Himmel befinden. Wenn ja, ist dies eine starke Anzeige, dass die blaue Region tatsächlich blauem Himmel entspricht. - Im Allgemeinen haben bestimmte Typen von Objekten und Merkmalen charakteristische Farben, und Regionen eines Bildes, die diese charakteristischen Farben aufweisen, können zumindest teilweise derart identifiziert werden, dass sie diesen bestimmten Typen von Objekten und Merkmalen entsprechen. Die charakteristischen Farben können durch ein Region-Typ-spezifisches Farbmodell spezifiziert werden. Als ein Bespiel können Regionen, die grauem Himmel entsprechen, dadurch erkannt werden, dass sie Pixel mit Farbwerten (l, c, h) in dem LCH-Farbraum innerhalb eines schwellendefinierten Teilvolumens des LCH-Raums aufweisen:
(l, c, h) ist eine Grauer-Himmel-Charakteristikfarbe, wenn:
llowThresholdForGraySky < l < lhighThresholdForGraySky UND
clowThresholdForGraySky < c < chighThresholdForGraySky UND
hlowThresholdForGraysky < h < hhighThresholdForGraySky. - Alternativ kann angenommen werden, dass die charakteristischen Farben für ein Objekt spezifiziert werden durch ein unabhängiges Gaußsches Farbmodell: wobei P(l c, h) die Wahrscheinlichkeit ist, dass die Farbe (l, c, h) eine Grauer-Himmel-Farbe ist;
σL, σc, σH sind angenähert als Standardabweichungen für Farbkomponentenverteilungen innerhalb Grauer-Himmel-Regionen;
μL, μc, μH sind angenähert als mittlere Farbkomponentenwerte innerhalb Grauer-Himmel-Regionen; und
wL, wC, wH sind Gewichte, die empirisch bestimmt werden oder basierend auf einem Maschinenlernen bestimmt werden, was im Zuge der Verarbeitung einer Vielzahl von Bildern oder Analysieren von bereits verarbeiteten Bildern ausgeführt wird. - Es gibt viele zusätzliche Möglichkeiten zum Spezifizieren charakteristischer Farben für Typen von Regionen. Zum Beispiel können die Farben des Farbmodells gemäß dem Lab-Farbraum spezifiziert sein. Im Allgemeinen können Farbmodelle aus Regionsklassifizierungen in einer Bibliothek aus Bildern entwickelt werden, können entwickelt werden aus Regionen, die derart klassifiziert sind, dass sie zu einem bestimmten Typ innerhalb eines einzelnen Bildes gehören, oder können alternativ aus physischen Modellen von Objekten hergeleitet werden und durch Bilderwerb und aus anderen Quellen, Daten und Betrachtungen.
- Detaillierte Erörterung des Ansatzes für eine Wahrnehmungssegmentierung von Bildern gemäß der vorliegenden Erfindung
-
15 liefert ein Steuerflussdiagramm auf hoher Ebene für die Routine „Bild etikettieren”, die bei Schritt306 aus3 aufgerufen wird. Bei Schritt1502 wird ein Bild zusammen mit der Segmentierungsabbildung des Bildes, berechnet durch die Routine „Segment”, erörtert Bezug nehmend auf13A –C, empfangen. Zusätzliche Parameter, Schwellen, Regeln und Heuristiken können ebenfalls bei Schritt1502 empfangen werden, wie oben erörtert wurde. Anfänglich werden die Segmente in der Segmentierungsabbildung von ihrem Etikett befreit oder entsprechend als „unbekannt” etikettiert. Bei Schritt1504 wird die Routine „Himmel etikettieren” aufgerufen, um Segmente innerhalb des segmentierten Bildes zu identifizieren, die blauen Himmel oder grauen Himmel darstellen. Als Nächstes wird die Routine „Gesicht und Haut etikettieren” bei Schritt1506 aufgerufen, um jegliche verbleibenden nicht etikettierten Segmente zu identifizieren, die Regionen mit menschlichem Gesicht und menschlicher Haut des Bildes entsprechen, und diese Segmente entsprechend zu etikettieren. Dann wird bei Schritt1508 die Routine „Blätter etikettieren” aufgerufen, um jegliche der verbleibenden nichtetikettierten Segmente zu identifizieren, die Blättern entsprechen, wie z. B. Bäumen, Büschen, Gras, Wald oder anderen solchen mit Blättern verwandten Bildregionen, und die identifizierten Segmente als Blätter zu etikettieren. Bei alternativen Ausführungsbeispielen der vorliegenden Erfindung können zusätzliche Routinenaufrufe ausgeführt werden, nach dem Aufruf der Routine „Blätter etikettieren” bei Schritt1508 , um jeglichen anderen Regionen zu etikettieren, für die gut definierte Charakteristika bestimmt werden können und in Regionsetikettierungsverfahren eingelagert werden können, ähnlich zu jenen, die durch die Routinen dargestellt sind, die bei Schritt1504 ,1506 und1508 aufgerufen werden. Bei anderen alternativen Ausführungsbeispielen der vorliegenden Erfindung kann die Reihenfolge, in der Typen von Regionen identifiziert werden, vertauscht werden. -
16A –H liefern Steuerflussdiagramme für die Routine „Himmel etikettieren”, die bei Schritt1504 aus15 aufgerufen wird. Für eine leichtere Darstellung wird diese Routine in sechs sequentiell aufgerufene Teilroutinen unterbrochen, die das anfängliche Steuerflussdiagramm umfasst, das in16A gezeigt ist. Jedoch, wie bei allen Steuerflussdiagrammen, sollen die Diagramme die Logik und den Gesamtfluss einer Routine zeigen und keine spezifische modulare Organisation von Teilroutinen, die zusammen die dargestellte Routine aufweisen. Die Routine „Himmel etikettieren” kann alternativ als eine einzelne, monolithische Routine implementiert sein oder als viele kleinere, hierarchisch organisierte Routinen, die als eine Elternroutine mit Etikett Himmel oberer Ebene aufgerufen wird. -
16A zeigt die erste von sechs sequentiellen Teilroutinen, die zusammen die Routine „Himmel etikettieren” aufweisen, die bei Schritt1504 aus15 aufgerufen wird. Bei Schritt1602 wird eine Orientierungsroutine aufgerufen, um das Bild zu orientieren bzw. auszurichten. Zum Beispiel zeigen viele Außenaufnahmen, wenn sie richtig ausgerichtet sind, das Merkmal Himmel oben an der Szene und Land oder Wasser in unteren Abschnitten des Bildes. Die Bildausrichtung kann die Wahl zwischen einer Hochformat- oder Querformat-Ausrichtung des Bildes umfassen und kann ferner das Auswählen von Bildrändern umfassen, die oben und unten entsprechen. Eine weiter entwickelte Ausrichtung kann eine vertikale Achse innerhalb des Bildes auswählen, die nicht notwendigerweise parallel zu dem Rand eines Bildes ist. Details für die Bildausrichtungsroutine, die bei Schritt1602 aufgerufen wird, werden nicht weiter gegeben, da sie nicht innerhalb des Schutzbereichs der vorliegend offenbarten Erfindung liegen. - Als Nächstes wird bei Schritt
1603 eine Routine aufgerufen, um ein Intensitäts- oder Leuchtdichte-Histogramm für das gesamte Bild zu berechnen, zusammen mit einer durchschnittlichen IntensitätI iL 1604 –1609 jedes Segment innerhalb des Bildes getrennt verarbeitet durch Berechnen von Pro-Segment-Statistiken, bei Schritt1605 , Berechnen der Wahrscheinlichkeit, dass das Segment blauem Himmel entspricht, bei Schritt1606 , Berechnen der Wahrscheinlichkeit, dass das Segment grauem Himmel entspricht, bei Schritt1607 , und Berechnen der Wahrscheinlichkeit, dass das Segment Schnee entspricht, bei Schritt1608 . Sobald diese Pro-Segment-Statistiken und anfängliche Wahrscheinlichkeiten berechnet sind, fährt die Verarbeitung fort mit sequentiellen Aufrufen der Teilroutinen „Himmel II”1610 , „Himmel III”1611 , „Himmel IV”1612 , „Himmel V”1613 und „Himmel VI”1614 . -
16B liefert ein Steuerflussdiagramm für die Pro-Segment-Statistiken-Berechnungsroutine, die bei Schritten1605 aus16A auftreten wird. Bei Schritt1615 werden Histogramme aus Pixelfarbwerten in jedem der drei Kanäle r, g und b für das gegenwärtig betrachtete Segment vorbereitet. Bei Schritt1616 werden durchschnittliche r-, g- und b-Komponenten für das Segmentr ,g undb 1617 werden die Kantigkeit und Texturmetriken für jedes Pixel in dem Segment sowie eine durchschnittliche oder kumulative Kantigkeit oder Kantigkeitsverteilung berechnet. Die Kantigkeit ist einfach die Größe des Gradienten, der für jedes Pixel berechnet wird, wie oben Bezug nehmend auf6 –8 beschrieben wurde. Die Texturmetrik für ein Pixel ist einfach die nachbarschaftsbasierte Entropie, die oben Bezug nehmend auf9A –B erörtert wurde. Bei Schritt1618 werden eine durchschnittliche Intensität oder Leuchtdichte,I S oderL S - Die verschiedenen Statistiken, die in
16B erwähnt wurden, sind exemplarisch für die Typen von Pro-Segment-Statistiken, die bei nachfolgenden Berechnungen berechnet und verwendet werden können. Bei verschiedenen, alternativen Ausführungsbeispielen der vorliegenden Erfindung können zusätzliche Statistiken oder Metriken berechnet werden und bei anderen alternativen Ausführungsbeispielen der vorliegenden Erfindung können weniger Metriken und Statistiken berechnet werden. Wenn Rechenmehraufwand und Verarbeitungszeit wesentliche Einscbränkungen für eine Implementierung eines Verfahrens- und/oder Systemausführungsbeispiels der vorliegenden Erfindung sind, können Pro-Pixel-Metriken und -Statistiken durch Metriken und Statistiken ersetzt werden, die bei größeren Granularitäten bzw. Körnungen innerhalb von Segmenten berechnet werden. -
16C liefert ein Steuerflussdiagramm für die Routine, die bei Schritt1606 aus16A aufgerufen wird, die die Wahrscheinlichkeit berechnet, dass das Segment blauem Himmel innerhalb des Bildes entspricht. Diese Routine ist exemplarisch für die Routinen zum Berechnen von Wahrscheinlichkeiten, die bei Schritten1606 –1608 aufgerufen werden. Steuerflussdiagramme für die Routinen, die bei Schritten1607 und1608 aufgerufen werden, sind ausreichend ähnlich zu der Routine zum Berechnen der Wahrscheinlichkeit von blauem Himmel, dass sie der Kürze halber weggelassen werden. Bei Schritt1620 werden Werte einer Vielzahl von Wahrscheinlichkeiten anfänglich auf Null gesetzt. Diese Wahrscheinlichkeiten umfassen: (1) Plocation (location = Ort), die Wahrscheinlichkeit, dass der Ort des Segments einem Ort von blauem Himmel entspricht; (2) Pcolor (color = Farbe), die Wahrscheinlichkeit, dass die Farbe des Segments der Blauer-Himmel-Farbe entspricht; (3) Psize (size = Größe), die Wahrscheinlichkeit, dass die Größe des Segments der erwarteten Größe der Segmente von blauem Himmel entspricht; (4) Prexture (texture = Textur), die Wahrscheinlichkeit, dass die berechnete Texturmetrik für das Segment dem Fehlen von Textur entspricht, was von einer Blauer-Himmel-Region erwartet wird; (5) Pintensity (intensity = Intensität), die Wahrscheinlichkeit, dass die berechnete Intensität für das Segment der erwarteten Intensität einer Blauer-Himmel-Region entspricht; und (6) PRayleigh, die Wahrscheinlichkeit, dass das Segment blauer Himmel ist, basierend auf den besten zwei orthogonalen Spuren, die in dem Segment identifiziert werden können, die den Spuren entsprechen, die Bezug nehmend auf14A –B erörtert wurden. - In den folgenden Schritten werden Werte für alle der oben erwähnten Wahrscheinlichkeiten bestimmt. Die Reihenfolge der Schritte in
16C beschreibt ein Ausführungsbeispiel der vorliegenden Erfindung und kann bei anderen Ausführungsbeispielen der vorliegenden Erfindung variieren. Wenn die Größe des aktuellen Segments größer ist als eine Schwellengröße, wie bei Schritt1621 bestimmt wird, dann kann die Wahrscheinlichkeit PGröße berechnet werden, bei einem Ausführungsbeispiel der vorliegenden Erfindung, als ein konstanter Koeffizient α1 mal die Differenz zwischen der Größe des aktuellen Segments minus die Schwellengröße, bei Schritt1622 . Wenn das Bild richtig ausgerichtet wurde und das aktuelle Segment zumindest teilweise innerhalb des oberen Abschnitts des Bildes liegt, wie bei Schritt1623 bestimmt wird, dann kann die Wahrscheinlichkeit POrt berechnet werden als ein konstanter Koeffizient mal ein Verhältnis der Anzahl von Pixeln in dem Segment, die in dem oberen Teil des Bildes sind, über der Gesamtanzahl der Pixel in dem Segment, bei Schritt1624 . Der Teil des Bildes, der dem oberen Teil des Bildes entspricht, ist durch einen wiederum anderen Parameter spezifiziert. Als Nächstes wird bei Schritt1625 die Wahrscheinlichkeit PFarbe als eine Funktion der Farbkanalhistogramme und anderer der Pro-Segment-Statistiken berechnet, einschließlich der durchschnittlichen r-, g- und b-Komponenten und Standardabweichungen. Bei alternativen Ausführungsbeispielen der vorliegenden Erfindung kann die Funktion zum Berechnen der Wahrscheinlichkeit PFarbe weniger oder eine größere Anzahl von Statistiken und/oder berechneten Metriken empfangen. Zum Beispiel kann die Wahrscheinlichkeit PFarbe bei bestimmten Ausführungsbeispielen vollständig aus den Histogrammen für jeden Farbkanal berechnet werden oder alternativ aus den durchschnittlichen r-, g- und b-Komponentenr g b 1626 , wenn die berechnete Textur für das Segment niedriger ist als eine Schwellentextur, wo die Textur eine Metrik ist, berechnet aus den lokalen Entropien der Pixel innerhalb des Segments, dann kann die Wahrscheinlichkeit PTextur als ein Koeffizient mal die Texturmetrik bei Schritt1627 berechnet werden. Eine ähnliche Wahrscheinlichkeit PKantigkeit (edginess) kann bei alternativen Ausführungsbeispielen aus der kumulativen Kantigkeit des Segments berechnet werden oder dem durchschnittlichen Gradienten, berechnet für Pixel innerhalb des Segments. Bei Schritt1628 kann die Wahrscheinlichkeit PIntensität als eine Funktion der durchschnittlichen Intensität des Segments berechnet werden, der Standardabweichung der Intensität innerhalb des Segments, der durchschnittlichen Intensität in dem Bild und der Abweichung von Intensitäten innerhalb des Bildes. Alternativ kann eine Wahrscheinlichkeit PLeuchtdichte (luminance) berechnet werden basierend auf durchschnittlichen Segment- und Bildleuchtdichten und Standardabweichungen. Wenn, die bei Schritt1629 bestimmt wurde, sich zwei orthogonale Spuren innerhalb des Segments finden, die die Farbcharakteristika zeigen, die Bezug nehmend auf14A –B beschrieben wurden, dann wird die Wahrscheinlichkeit PRayleigh berechnet, bei Schritt1630 , aus der Entsprechung von Pixelwerten entlang der zwei orthogonalen Spuren zu einer idealen Farbänderung entlang der zwei charakteristischen Richtungen für Himmel, wie Bezug nehmend auf14B erörtert wurde. - Es sollte darauf hingewiesen werden, dass bei alternativen Ausführungsbeispielen der vorliegenden Erfindung unterschiedliche, weniger oder mehr individuelle Wahrscheinlichkeiten anfänglich berechnet werden können. Zum Beispiel, wie oben erörtert wurde, kann eine Wahrscheinlichkeit PKantigkeit anstelle von oder zusätzlich zu der Wahrscheinlichkeit PTextur berechnet werden. Diese Wahrscheinlichkeiten können aus den Statistiken berechnet werden, die Bezug nehmend auf
16B erörtert wurden und in den Schritten von16C gezeigt sind, oder können alternativ aus unterschiedlichen Statistiken berechnet werden, einschließlich den Statistiken und Metriken, die für individuelle Pixel berechnet wurden, sowie Statistiken und Metriken, die für Gruppen von Pixeln innerhalb eines Segments berechnet wurden oder für ganze Segmente. Bei alternativen Ausführungsbeispielen können nichtlineare Funktionen eingesetzt werden anstelle der einfachen linearen Funktionen, die oben erörtert wurden, zum Berechnen der verschiedenen Wahrscheinlichkeiten aus Statistiken und Metriken. - Abschließend wird bei Schritt
1631 die Wahrscheinlichkeit berechnet, dass das Segment blauem Himmel entspricht, P(blauer_Himmel), als eine Funktion der individuellen Statistiken PGröße, POrt, PFarbe, PTextur, PIntensität und PRayleigh. Bei verschiedenen unterschiedlichen Ausführungsbeispielen der vorliegenden Erfindung können die individuellen Wahrscheinlichkeiten unterschiedlich gewichtet werden, wenn sie durch diese Funktion verbunden sind, und verschiedene Ausführungsbeispiele der vorliegenden Erfindung können lineare Kombinationen oder nichtlineare Kombinationen der zugrundeliegenden Wahrscheinlichkeiten einsetzen, um P(blauer_Himmel) zu berechnen. - Im Allgemeinen ist bei bestimmten Ausführungsbeispielen der vorliegenden Erfindung die Wahrscheinlichkeit, dass ein Segment einer Blauer-Himmel-Region innerhalb eines Bildes entspricht, größer, wenn das Segment größer ist, da Blauer-Himmel-Regionen innerhalb von Bildern im Allgemeinen relativ groß sind. Die Wahrscheinlichkeit, dass das Segment blauen Himmel darstellt, nimmt zu, wenn das Segment in dem oberen Teil des Bildes auftritt, da die meisten Bilder große Blauer-Himmel-Regionen in dem oberen Teil des Bildes zeigen. Viele unterschiedliche Bilder können analysiert werden, um ein Farbmodell für blauen Himmel innerhalb von Bildern zu konstruieren, wobei das Farbmodell ausgedrückt ist als ein erwarteter Satz aus Farbkanalhistogrammen, erwarteten durchschnittlichen Farbkomponenten und erwarteten Standardabweichungen von Farbkomponenten und anderen solchen Statistiken. Pro-Segment-Statistiken, die für ein individuelles Segment berechnet werden, können mit den Statistiken verglichen werden, die zusammen ein allgemeines Farbmodell für Himmel aufweisen, um die Wahrscheinlichkeit zu bestimmen, dass ein bestimmtes Segment blauem Himmel entspricht. Im Allgemeinen sind Blauer-Himmel-Regionen von Bildern merkmalslos, nicht texturiert und glatt und daher sollten sowohl Textur als auch Kantigkeit, die für Blauer-Himmel-Regionen berechnet werden, niedrige Werte aufweisen. Anders ausgedrückt sind sowohl die lokale Entropie als auch der durchschnittlichen Gradient innerhalb der Blauer-Himmel-Regionen niedrig. In den meisten Bildern haben Blauer-Himmel-Regionen die größten durchschnittlichen Intensitäten von jeglichen Regionen innerhalb des Bildes. Ausnahmen sind Bilder, die sowohl blauen Himmel als auch Schnee zeigen. Daher, wenn die durchschnittlichen Intensität von Pixeln innerhalb eines Segments um eine Anzahl von Standardabweichungen größer ist als die durchschnittliche Intensität von Pixeln in dem Bild, ist die Wahrscheinlichkeit, dass das Segment blauer Himmel ist, größer. Die Farbabweichung entlang zwei orthogonalen Spuren, die vertikale und horizontale Richtungen darstellen, im Hinblick auf den Himmel, weist charakteristische Eigenschaften auf, die Bezug nehmend auf
14A –B erörtert wurden. Daher, je mehr zwei orthogonale Spuren, die innerhalb eines Segments identifiziert sind, den Charakteristika entsprechen, die Bezug nehmend auf14B erörtert wurden, desto größer die Wahrscheinlichkeit, dass das Segment einer Blauer-Himmel-Region innerhalb des Bildes entspricht. - Die Routinen zum Berechnen der Wahrscheinlichkeit, dass ein Segment einer Grauer-Himmel-Region eines Bildes entspricht, und der Wahrscheinlichkeit, dass ein Segment einer Schneeregion eines Bildes entspricht, wie oben erörtert wurde, sind ähnlich zu der oben beschriebenen Routine zum Berechnen der Wahrscheinlichkeit, dass das Segment einer Blauer-Himmel-Region eines Bildes entspricht. Natürlich verwendet weder die Grauer-Himmel-Berechnung noch die Schnee-Berechnung die Rayleigh-Streu-Betrachtungen, die beim Berechnen der Blauer-Himmel-Wahrscheinlichkeit eingesetzt werden. Ferner ist das Farbmodell für grauen Himmel und Schnee unterschiedlich zu dem Farbmodell für blauen Himmel. Das Textur- und/oder Kantigkeitsmodell für Schnee kann leicht unterschiedlich zu dem für Himmelsregionen sein und, wie oben erörtert wurde, zeigen Schneeregionen im Allgemeinen die größte Leuchtdichte oder größte Intensität von jeglichen Regionen innerhalb eines Bildes. Während himmelsbezogene Segmente in dem oberen Teil eines Bildes erscheinen sollten, erscheinen Schneeregionen wahrscheinlicher in dem unteren Abschnitt eines Bildes.
-
16D liefert ein Steuerflussdiagramm für den zweiten Teil der „Himmel etikettieren”-Routine, gezeigt als Schritt1610 in16A . Dieser Teil der Routine „Etikettiere Himmel und Schnee” umfasst eine for-Schleife, die die Schritte1633 –1640 umfasst. Die for-Schleife der Schritte1633 –1644 iteriert über jedes Segment innerhalb des aktuell betrachteten Bildes. Wenn eine der drei Wahrscheinlichkeiten P(blauer_Himmel), P(grauer_Himmel) oder P(Schnee) größer ist als der Schwellenwert, wie bei Schritt1634 bestimmt wird, dann können zusätzliche Schritte für die for-Schleife ausgeführt werden, um ein Etikett für das Segment zu bestimmen. Ansonsten wird das Segment unetikettiert gelassen oder entsprechend mit dem Etikett „unbekarmt” gelassen. Wenn die Wahrscheinlichkeit P(blauer_Himmel) größer ist als P(grauer_Himmel) und P(blauer_Himmel) größer ist als P(Schnee), wie bei Schritt1635 bestimmt wird, dann wird das Segment anfänglich etikettiert als „blauer Himmel”, bei Schritt1636 . Ansonsten, wenn P(grauer_Himmel) größer ist als P(Schnee), wie bei Schritt1637 bestimmt wird, dann wird das Segment anfänglich etikettiert als „grauer Himmel” bei Schritt1638 . Ansonsten wird das Segment anfänglich etikettiert als „Schnee”, bei Schritt1639 . -
16E liefert ein Steuerflussdiagramm für den dritten Teil der Routine „Himmel etikettieren”, gezeigt als Schritt1611 in16A . Die lokale Variable „Himmel” wird bei Schritt1641 auf einen Nullwert gesetzt. Dann, in der for-Schleife, die Schritte1642 –1649 aufweist, wird jedes Segment in dem Bild wieder betrachtet. Wenn das Segment anfänglich als „blauer Himmel” etikettiert wurde, wie bei Schritt1643 bestimmt wird, und wenn die Wahrscheinlichkeit, dass das Segment blauen Himmel darstellt, größer ist als eine Schwellenwahrscheinlichkeit, wie bei Schritt1644 bestimmt wird, wird die Variable „Himmel” bei Schritt1645 auf „blau” gesetzt. Auf ähnliche Weise, wenn das Segment anfänglich als „grauer Himmel” etikettiert wird, wie bei Schritt1646 bestimmt wird, und wenn die Wahrscheinlichkeit, dass das Segment grauem Himmel entspricht, größer ist als ein Schwellenwert, wie bei Schritt1647 bestimmt wird, dann wird die Variable „Himmel” auf „grau” gesetzt. -
16F liefert ein Steuerflussdiagramm für den vierten Teil der Routine „Himmel etikettieren”, gezeigt als Schritt1612 in16A . Bei Schritt1651 wird die Variable „area_snow” (Bereich_Schnee) auf Null gesetzt. Dann wird in der for-Schleife, die die Schritte1652 –1656 aufweist, jedes Segment, das anfänglich als „Schnee” etikettiert war, erneut betrachtet. Wenn die durchschnittliche Intensität für das Segment größer ist als die durchschnittliche Intensität für das Bild plus einen Koeffizienten mal die Standardabweichung für Intensität, wie bei Schritt1653 bestimmt wird, dann wird die Variable „Bereich_Schnee” um den Bereich des gegenwärtig betrachteten Segments inkrementiert. Wenn der Wert, der in der Variable „Bereich_Schnee” gespeichert ist, einen Teil des Bildbereichs überschreitet, wie bei Schritt1657 bestimmt wird, dann wird die Variable „Schnee” auf WAHR gesetzt, bei Schritt1658 . Ansonsten wird die Variable „Schnee” auf FALSCH gesetzt, bei Schritt1659 , und alle Segmente, die als „Schnee” etikettiert sind, werden von dem Etikett befreit. -
16G liefert ein Steuerflussdiagramm für den fünften Teil der Routine „Etikett Himmel”, gezeigt als Schritt1613 in16A . Wenn die Variable Schnee WAHR ist, wie bei Schritt1661 bestimmt wird, dann wird die Durchschnittsintensität und Standardabweichung für die Intensität von Schneesegmenten innerhalb des Bildes neu berechnet, bei Schritt1662 , und alle Segmente, die als „Schnee” etikettiert sind, werden von dem Etikett befreit. Dann werden in der for-Schleife, die Schritte1663 –1670 aufweist, alle Segmente neu betrachtet, die anfänglich als „Himmel” etikettiert waren. Wenn das aktuell betrachtete Segment anfänglich als ein Himmelsegment mit der Farbe etikettiert war, die in der Variable „Himmel” gespeichert ist, wie bei Schritt1664 bestimmt wird, dann, wenn die Durchschnittsintensität innerhalb des Segments größer ist als die neu berechnete durchschnittliche Bildintensität plus einen Koeffizienten mal die Intensitätsstandardabweichung, wie bei Schritt1665 bestimmt wurde, dann wird das Segment dauerhaft als „Himmel” etikettiert, bei Schritt1667 . Ansonsten wird das Segment bei Schritt1666 von dem Etikett befreit. Wenn das Segment als Himmel der Farbe etikettiert wird, die nicht in der Variable „Himmel gespeichert ist, wie bei Schritt1668 bestimmt wird, dann wird das Etikett des Segments entfernt, bei Schritt1669 . Somit werden bei diesem Teil der Routine „Himmel etikettieren” jene Segmente, die als Himmel der dominanten Himmelsfarbe etikettiert sind, mit entsprechend hohen Intensitäten dauerhaft als „Himmel” etikettiert, und alle anderen Segmente, die anfänglich als „Himmel” oder „Schnee” etikettiert waren, werden von dem Etikett befreit. -
16H liefert ein Steuerflussdiagramm für den sechsten Teil der Routine „Etikett Himmel”, gezeigt als Schritt1614 in16A . Bei Schritt1672 werden eine Datenstruktur für ein Himmel-Histogramm und verschiedene Variablen für Himmel-Statistiken initialisiert. Dann werden in der for-Schleife, die die Schritte1673 –1675 aufweist, Statistiken und RGB-Komponenten, die für jedes Himmelssegment berechnet werden, zu dem kumulativen Himmel-Histogramm und Statistiken addiert, initialisiert bei Schritt1672 . Dann werden in der for-Schleife, die die Schritte1676 –1680 aufweist, alle nicht etikettierten Segmente in dem Bild neu betrachtet. Eine Wahrscheinlichkeit P(Himmel) wird für das aktuell betrachtete Segment berechnet, bei Schritt1677 , basierend auf dem kumulativen Himmel-Histogramm und Himmel-Statistiken, die in der for-Schleife der Schritte1673 –1675 berechnet werden. Wenn die Wahrscheinlichkeit, dass das aktuell betrachtete Segment ein Himmelssegment ist, größer ist als ein Schwellenwert, wie bei Schritt1678 bestimmt wird, dann wird das Segment als „Himmel” etikettiert. Somit wird in diesem abschließenden Abschnitt der Routine „Himmel etikettieren” ein Farbmodell, basierend auf den Himmelssegmenten, die anfänglich in den vorangehenden Abschnitten der Routine „Himmel etikettieren” erkannt werden, an alle nichtetikettierten Segmenten in dem Bild angelegt, um jegliche zusätzlichen Segmente zu identifizieren, die Himmel entsprechen. Bei diesem wichtigen Schritt können z. B. kleine Himmelsregionen, wie z. B. Himmelsregionen im Hintergrund hinter einem Baum oder Büschen, die anfänglich basierend auf der Größe abgelehnt werden würden, nun korrekt als Himmel klassifiziert werden. Somit werden am Ende der Routine „Himmel etikettieren” alle Segmente in dem Bild, die Himmel entsprechen, als „Himmel” etikettiert, mit relativ hoher Wahrscheinlichkeit. Bei alternativen Ausführungsbeispielen der vorliegenden Erfindung können erfasste Schnee-Segmente als „Schnee” etikettiert bleiben, und verschiedene Misch-Himmel-Segmente, wie z. B. Segmente, die Wolken entsprechen, können erkannt werden und als „Himmel” etikettiert werden, basierend auf weiter entwickelten Himmelsmodellen. - Wenn die Himmelssegmente identifiziert und etikettiert sind, umfassen die nächsten Segmente, die durch Verfahrensausführungsbeispiele der vorliegenden Erfindung identifiziert und etikettiert werden, Segmente, die Regionen eines menschlichen Gesichts und menschlicher Haut innerhalb der Bilder entsprechen.
17 zeigt ein exemplarisches Bild, das Regionen eines menschlichen Gesichts und menschlicher Haut umfasst. Bei einem ersten Schritt der Gesichts- und Haut-Etikettierung wird eine Gesichtsidentifizierungsroutine eingesetzt, um menschliche Gesichter innerhalb des Bildes zu identifizieren. Eine Vielzahl von bekannten Gesichtserfassungsverfahren kann zu diesem Zweck verwendet werden. Die Gesichtserfassung kann sowohl ein Menschliche-Haut-Farbmodell als auch einen schablonenbasierten Ansatz zum Erkennen üblicher Gesichtsmerkmale verwenden. - Sobald Gesichter in dem Bild identifiziert sind, wird jedes Gesicht separat betrachtet, durch bestimmte Verfahrens- und System-Ausführungsbeispiele der vorliegenden Erfindung. Zuerst wird eine rechteckige Region innerhalb des Bildes konstruiert, die das Gesicht einschließt.
18 zeigt eine rechteckige Region, die das Gesicht in dem Bild umfasst, das in17 gezeigt ist. Die rechteckige Region ist dimensioniert, um das Gesicht sowie zusätzliche Teile des Kopfes der Person und Abschnitte des Hintergrunds des Bildes zu umfassen, der das Gesicht umgibt. Die rechteckige Region1802 kann auf einen üblichen Maßstab skaliert werden und geglättet werden, für eine weitere Analyse. Als Nächstes werden das Hautfarbenmodell und der relative Ort in dem Rechteck verwendet, um die Pixel innerhalb der rechteckigen Region zu partitionieren, die das Gesicht einschließt, in drei Partitionen: (1) wahrscheinlich Gesichtsregionspixel; (2) wahrscheinlich keine Gesichts-Pixel; und (3) unbekannte Pixel. Bei einem Ausführungsbeispiel der vorliegenden Erfindung sind 25% der Pixel innerhalb der rechteckigen Region der Gesichtspartition zugewiesen, 25% sind der Nicht-Gesichts-Partition zugewiesen und die restlichen 50% der Pixel sind der unbekannten Partition zugewiesen, wobei Pixel basierend auf einem allgemeinen Gesichtshautfarbenmodell und dem Pixelort relativ zu der Mitte des Rechtecks um das Gesicht zugewiesen werden. -
19 stellt das Partitionieren von Pixeln innerhalb der Rechteckregion dar, gezeigt in18 des Bildes, das anfänglich in17 gezeigt ist. In19 stellen die einzelnen querschraffierten Bereiche1902 –1904 die Gesichtspixelpartition dar, die doppelt querschraffierte Region1905 stellt die Nichtgesichtspartition dar und der verbleibende nicht querschraffierte Abschnitt des Rechtecks stellt die unbekannte Partition dar. - Bei einem nachfolgenden Schritt wird den unbekannten Pixeln eine Zahl (Maß) zugewiesen, die die Wahrscheinlichkeit schätzt, dass das Pixel Haut ist. Dieses Maß wird basierend auf einem der verschiedenen Pixelzuordnungsverfahren zugewiesen, entweder der Gesichtspartition oder der Nichtgesichtspartition. Ein Verfahren zum Zuweisen von unbekannten Pixeln zu diesen anderen zwei Partitionen ist ein Nächster-Nachbar-basiertes Verfahren.
20A –D stellen einen Ansatz für eine Nächster-Nachbar-basierte Pixelpartitionszuweisung dar.20A zeigt einen Abschnitt einer rechteckigen Region, die ein Gesicht überlagert, nach der anfänglichen Zuweisung von Pixeln zu den Partitionen Gesicht, Nicht Gesicht und Unbekannt. Die Kreuzschraffurkonventionen, die in19 verwendet werden, werden in20A –D eingesetzt. Wie in20B gezeigt ist, sind Pixel, die derart identifiziert werden, dass sie einen Großteil von nächsten Nachbarn aufweisen, die entweder der Gesichtspartition oder der Nichtgesichtspartition zugewiesen sind, selbst dem Abschnitt zugewiesen, dem die Mehrzahl der nächsten Nachbarn zugewiesen ist. Zum Beispiel hat das Pixel2006 fünf Gesichtspartitionsnachbarn von acht nächsten Nachbarn und daher wird es nachfolgend der Gesichtspartition zugewiesen. Auf ähnliche Weise weist das Pixel2008 fünf von acht nächsten Nachbarn auf, die der Nichtgesichtspartition zugewiesen sind, und wird daher nachfolgend der Nichtgesichtspartition zugewiesen.20C . zeigt dieselbe rechteckige Region aus Pixeln aus einer rechteckigen Überlagerung eines Gesichts, wie in20A gezeigt ist, nach einer ersten zusätzlichen Runde einer Pixelzuordnung. Pixel2006 wurde der Gesichtspartition zugewiesen und Pixel2008 wurde der Nichtgesichtspartition zugewiesen. Zusätzliche Zuweisungen basierend auf dem Mehrheit-der-nächsten-Nachbarn-Kriterium wurden ebenfalls ausgeführt. - Eine zusätzliche Iteration von mehrheitsbasierten Zuweisungen führt zu den Zuweisungen, die in
20D gezeigt sind. An einem gewissen Punkt muss ein Tie-Break-Verfahren verwendet werden, um Fälle zu lösen, bei denen die Pixelzuweisung nicht basierend auf einer Mehrheit von nächsten Nachbarn ausgeführt werden kann. - In einem allgemeineren Fall ist der Wert, der einem Pixel zugewiesen wird, der gewichtete Durchschnitt der Werte der K nächsten Nachbarn des Pixels, wobei jedes Gewicht üblicherweise proportional zu der Inversen der Distanz zwischen dem Pixel und einem Nachbarpixel ist. Die Distanz zwischen dem Pixel und dem Nachbarpixel, d(V,Y), ist definiert durch die Quadratwurzel des gewichteten Durchschnitts des Quadrats eines Satzes aus Merkmalen (features) von Kardinalitätsmerkmalen:
- Das Gewicht wi von jedem der Merkmale kann in einer Vielzahl von Verfahren bestimmt werden. Bei einem Ausführungsbeispiel der vorliegenden Erfindung ergibt sich das Gewicht als der lineare Unterschied nach Fischer zwischen den wahrscheinlichen Gesichtsregionspixeln und den wahrscheinlichen Nichtgesichtsregionspixeln. Bei einem anderen Ausführungsbeispiel maximiert das Gewicht die Entropie der Trennung zwischen den wahrscheinlichen Gesichtsregionspixeln und den wahrscheinlichen Nichtgesichtspixeln. Bei einem wiederum anderen Ausführungsbeispiel ist das Gewicht jedes Merkmals der Bereich von Werten dieses Merkmals in der Gruppe wahrscheinlicher Gesichtsregionspixel und wahrscheinlicher Nichtgesichtspixel, geteilt durch den Bereich aus Werten dieser Region in den unbekannten Pixeln. Bei einem Ausführungsbeispiel der vorliegenden Erfindung sind die Gewichte eine monotone Funktion der Gewichte, die bei einem der obigen Verfahren erhalten werden.
- Bei alternativen Nächster-Nachbar-Verfahren kann die Nachbarschaft um ein Pixel ausgedehnt werden, bis eine Entscheidung basierend auf der Mehrzahl der Nachbarn ausgeführt werden kann, und alle Pixelzuweisungen können daher in einem einzelnen Durchgang ausgeführt werden, durch den rechteckigen das Gesicht enthaltenden Abschnitt des Bildes. Viele andere auf den nächsten Nachbarn basierende Ansätze sind möglich. Die Ansätze können auch Wahrscheinlichkeiten basierend auf der Anzahl der nächsten Nachbarn kombinieren, die bereits zu einer der zwei Partitionen „Gesicht” und „nicht Gesicht” zugewiesen wurden, sowie Wahrscheinlichkeiten basierend auf der Farbe des Pixels und einem Hautfarbenmodell. Als Ergebnis der Nächster-Nachbar-Analyse enden alle Pixel innerhalb des rechteckigen Abschnitts des Bildes, der ein erfasstes Gesicht enthält, damit, dass sie entweder der Gesichtspartition oder Nichtgesichtspartition zugewiesen sind.
21 zeigt das Ergebnis der Nächster-Nachbar-Verarbeitung für den rechteckigen Abschnitt des Bildes, gezeigt in18 und19 . - Ein anderes, alternatives Verfahren zum Zuweisen eines Hautwahrscheinlichkeitsmaßes zu jedem Pixel ist es, zuerst die relativen Gewichte wi von jedem der drei Farb- und zwei Ortsmerkmalen zu berechnen unter Verwendung von einem der obigen Verfahren. Als Nächstes wird ein fünfdimensionales, gewichtetes Gauß-Modell berechnet ausschließlich basierend auf den „Gesichts”-Pixeln. Das Anwenden des erlernten Gauß-Modells an die „unbekannten” Pixel in dem Gesichtsrechteck ergibt das Hautwahrscheinlichkeitsmaß.
- An diesem Punkt kann die Gesicht-Haut-Segmentierung aus dem Hautwahrscheinlichkeitsmaß extrahiert werden (z. B. durch Anlegen einer Schwelle an das Hautwahrscheinlichkeitsmaß).
22 stellt eine Gesicht-Haut-Abbildung dar, die durch Anwenden eines gesichtsspezifischen Farbmodells an die rechteckige Region eines Bildes erhalten wird, gezeigt in18 ,19 und21 . Augenerfassungsverfahren werden dann verwendet, um Augen zu erkennen und Regionen um und einschließlich der Augen aus der Gesicht-Haut-Abbildung zu entfernen. Viele Verbraucher bevorzugen, dass Haut geglättet wird, durch Bildverarbeitungsverfahren, bevorzugen aber auch, dass hochauflösende Details der Augen und der Haut um die Augen bewahrt werden, da diese Details wesentlich zu menschlichen Gesichtsausdrücken beitragen. Die Augenregionen werden aus der Gesichtshautabbildung beseitigt, um diese Augenregionen vor nachfolgenden Glättungsoperationen zu bewahren, die auf Segmente gerichtet sind, die als Haut identifiziert sind. Jene Segmente, die vollständig oder hauptsächlich in Hautregionen in der Gesicht-Haut-Abbildung fallen, werden als Haut-Gesicht-Segmente etikettiert und ein neues Farbmodell, das Körper-Haut-Farbmodell, wird für die identifizierten Gesichtssegmente erzeugt. Bei einem anderen Ausführungsbeispiel werden alle Pixel in dem Rechteck um das Gesicht berücksichtigt bei der Berechnung des Körper-Haut-Farbmodells, und ihre Wichtigkeit (Gewicht) in der Berechnung wird durch ihr Hautwahrscheinlichkeitsmaß bestimmt. Das Körper-Haut-Farbmodell wird dann an die verbleibenden Segmente in dem Bild angewendet, um zusätzliche Körper-Haut-Segmente innerhalb des Bildes zu identifizieren, basierend auf diesem Körper-Haut-Farbmodell.23 stellt die etikettierten Gesichts- und Hautsegmente innerhalb des Originalbildes dar, gezeigt in27 . In23 wurden die Gesichts- und Hautsegmente alle schattiert2302 . Die Gesichts- und Hautetikettierung erlaubt ein nachfolgendes Glätten und eine Farbnormierung von Gesichts- und Hautsegmenten, was zu Bildverbesserungen führt, die von vielen Verbrauchern bevorzugt werden. -
24 –27 liefern Steuerflussdiagramme für die Routine „Gesicht und Haut etikettieren”, die bei Schritt1506 aus15 aufgerufen wird.24 liefert ein Steuerflussdiagramm für den Abschnitt höchster Ebene der Routine „Gesicht und Haut etikettieren”. Bei Schritt2402 werden jegliche der verschiedenen Gesichtserfassungsroutinen aufgerufen, um Gesichter innerhalb eines Bildes zu erfassen. Bei Schritt2404 wird eine Körperhautabbildung für das Bild auf Null initialisiert oder, anders ausgedrückt, werden alle Pixel initialisiert, um Nicht Körperhaut zu sein. Dann wird in der for-Schleife der Schritte2406 –2408 jedes Gesicht, das durch die Gesichtserfassungsroutine erfasst wird, die bei Schritt2402 aufgerufen wird, separat durch eine Gesichtsanalyse- und Gesichtsetikettierungsroutine betrachtet, die bei Schritt2407 aufgerufen wird. Abschließend wird die Routine „Körperhaut etikettieren” aufgerufen, bei Schritt2410 , um die gesamte zusätzliche Körperhaut in einem Bild zu etikettieren, das sich auf erfasste Gesichter bezieht. -
25 liefert ein Steuerflussdiagramm für den ersten Teil der Gesichtsanalyseroutine, die bei Schritt2407 aus24 aufgerufen wird. Bei Schritt2502 wird eine rechteckige Region, wie z. B. die, die in18 gezeigt ist, um ein gegenwärtig betrachtetes Gesicht konstruiert, erfasst durch eine Gesichtserfassungsroutine, die bei Schritt2402 aus24 aufgerufen wird. Die rechteckige Region kann auf eine feste Größe skaliert werden und durch jegliche von verschiedenen Glättungsoperatoren oder -verfahren geglättet werden. Als Nächstes werden bei Schritt2504 ein Hautfarbenmodell und die relativen Orte der Pixel innerhalb der rechteckigen Region verwendet, um Pixel innerhalb der rechteckigen Region in Gesichts-, Nichtgesichts- und unbekannte Partitionen zu partitionieren. Dann wird bei Schritt2506 ein auf dem nächsten Nachbar basierendes Verfahren verwendet, um die Pixel in der unbekannten Partition entweder den Gesichts- oder Nichtgesichtspartitionen zuzuweisen. Bei Schritt2508 wird ein gesichtsspezifisches Farbmodell aus diesen Pixeln innerhalb der Gesichts- oder Hautpartition konstruiert, die aus der Nächster-Nachbar-Analyse bei dem vorherigen Schritt2506 resultieren. Bei Schritt2510 wird das gesichtsspezifische Farbmodell an den rechteckigen Abschnitt des Bildes angewendet, der das erfasste Gesicht umfasst, um eine Gesichtshautabbildung zu erzeugen. Bei der Gesichtshautabbildung wird bei einem Ausführungsbeispiel jedem Pixel ein Bit zugeordnet. Der Bitwert „0” zeigt kein Gesicht und der Bitwert „1” zeigt ein Gesicht. Alternative Ausführungsbeispiele der Gesichtshautabbildung sind möglich. Als Nächstes wird bei Schritt2512 ein Augenerfassungsverfahren verwendet, um die Augen und Regionen um die Augen aus der Gesichtshautabbildung zu entfernen. Verschiedene Augenerfassungsroutinen können eingesetzt werden. In bestimmten Fällen wenden die Augenerfassungsroutinen eine Augenschablone an Krümmungen an, die an Orten erfasst werden, die bekanntermaßen Augen innerhalb des erfassten Gesichts entsprechen. Bei alternativen Ausführungsbeispielen der vorliegenden Erfindung kann der Augenerfassungsschritt2512 weggelassen werden. Abschließend wird ein zweiter Teil der Gesichtsanalyseroutine ausgeführt, dargestellt durch Schritt2514 in25 . -
26 liefert ein Steuerflussdiagramm für den zweiten Teil der Gesichtsanalyseroutine, gezeigt als Schritt2514 in25 . In der for-Schleife der Schritte2602 –2605 wird jedes Segment des Bildes, das Gesichtshautregionen in der Gesichtshautabbildung überlappt, erzeugt bei Schritt2510 von25 , betrachtet. Wenn die Wahrscheinlichkeit, dass das Segment einer Gesichtsregion entspricht, größer ist als ein Schwellenwert, wie bei Schritt2603 bestimmt wird, dann wird das Segment als „Gesicht” etikettiert. Die Wahrscheinlichkeit P(Gesicht) kann berechnet werden aus jeder von verschiedenen Pro-Segment-Statistiken, die für das Segment berechnet werden, einschließlich durchschnittlicher Farbraumkomponenten, Pro-Segment-Farbkanalhistogramme und andere solche Informationen, die mit dem gesichtsspezifischen Farbmodell verglichen werden können, das bei Schritt2508 erzeugt wird. Zusätzlich dazu kann der Betrag an Überlappung des Segments mit Gesichtsregionen der Gesichtshautabbildung zu der Wahrscheinlichkeitsberechnung beitragen. Als Nächstes wird bei Schritt2608 ein allgemeines Farbmodell für die Gesichtssegmente, die bei Schritt2604 etikettiert werden, entwickelt und in der for-Schleife der Schritte2610 –2613 wird das Farbmodell, das bei Schritt2608 entwickelt wird, an alle Nichthautelemente in der Körperhautabbildung angewendet, um jegliche zusätzlichen Hautregionen zu identifizieren, unter Verwendung des allgemeinen Farbmodells, das für das aktuelle Gesicht entwickelt wurde. Die Wahrscheinlichkeit, dass ein bestimmtes Element, wie z. B. ein Pixel oder eine Gruppe aus Pixeln, Haut entspricht, P(Haut), ist größer als ein Schwellenwert, wie bei Schritt2611 bestimmt wurde, dann wird die Hautabbildung aktualisiert, um anzuzeigen, dass das Element, wie z. B. ein Pixel oder eine Gruppe aus Pixeln, Haut entspricht, bei Schritt2612 . -
27 liefert ein Steuerflussdiagramm für die Routine „Körperhaut etikettieren”, die bei Schritt2410 von24 aufgerufen wird. Jedes nichtetikettierte Segment in dem gegenwärtig betrachteten Bild wird in der for-Schleife der Schritte2702 –2705 betrachtet. Wenn das Segment eine Region überlagert, die als Haut in der Körperhautabbildung etikettiert ist, die durch Betrachtung aller erfassten Gesichter entwickelt wird, wie bei Schritt2703 bestimmt wird, dann wird das aktuell betrachtete Segment bei Schritt2704 als „Haut” etikettiert. - Als ein Ergebnis der Ausführung der Routine „Gesicht und Haut etikettieren” werden alle Segmente innerhalb des aktuell betrachteten Bildes, die vorangehend nicht als „Himmel” etikettiert wurden und wahrscheinlich Regionen von Gesicht oder Haut in dem Bild entsprechen, als „Gesicht” oder „Haut” etikettiert. Wie bei vorangehend beschriebenen Routinen gibt es eine Vielzahl von unterschiedlichen möglichen alternativen Ausführungsbeispielen der Routine „Gesicht und Haut etikettieren”, die Verfahren umfassen zum Analysieren von Bildern mit einer gröberen Körnung als auf einer Pro-Pixel-Basis, Verfahren die weniger oder eine größere Anzahl von berechneten Metriken und Statistiken verwenden, und Verfahren, die erzeugt werden durch Variationen bei bekannten Programmierungsparametern, einschließlich variierender Steuerstrukturen, Datenstrukturen, modularer Organisation und anderen bekannten Programmierungsparametern.
- Abschließend identifiziert und etikettiert das beschriebene Verfahrensausführungsbeispiel der vorliegenden Erfindung Segmente in dem Bild, die bereits für Himmel und Haut analysiert wurden, die Regionen von Blättern in dem Bild entsprechen. Blätterregionen können Büsche, Gras, Baume, entfernten Wald oder andere solche Regionen umfassen. Die Farbvariation von Blättern ist im Allgemeinen wesentlich größer als die von Himmel und Haut. Blätter zeigen jedoch bestimmte Charakteristika in Bildern.
-
28A –B liefern Histogramme von lokaler Richtwirkung innerhalb von zwei unterschiedlichen Typen von Regionen von Bildern. Wie oben erörtert wurde, kann der Gradient für jedes Pixel innerhalb eines Bildes berechnet werden, wobei die Größe des Gradienten der größten Distanz entspricht, in dem Farbraum, zwischen einem betrachteten Pixel und beliebigen der benachbarten Pixel des Pixels. Wie oben erörtert wurde, weist der Gradient sowohl eine Größe als auch Richtung auf. Innerhalb von Blätterregionen und anderen Regionen, die natürlichen Merkmalen und Objekten entsprechen, aufgrund dem allgemein feinkörnigen und unregelmäßigen Detail, neigen Gradientenrichtungen dazu, relativ einheitlich durch die möglichen Winkel im Bereich von 0° bis 360° zu variieren. Im Gegensatz dazu weisen viele vom Menschen gemachte Objekte, was Wände, Oberflächen von Maschinen, Oberflächen von Gebäuden und andere von Menschen gemachte Objekte umfasst, häufig relativ regelmäßige Muster auf, wobei in diesem Fall die berechneten Gradientenrichtungen innerhalb von Segmenten, die von Menschen gemachten Objekten entsprechen, dazu neigen, unimodal oder bimodal verteilt zu sein, mit einer oder zwei Hauptrichtungen, wie z. B. der horizontalen und der vertikalen Richtung einer Ziegelwand.28A zeigt die Gradientenrichtungen, die in einem Blättersegment beobachtet werden, während28B die Gradientenrichtungen zeigt, die bei dem Picknicktisch aus1 beobachtet werden. Die Gradientenrichtungen in dem Blättersegment, gezeigt in28A , sind relativ einheitlich über alle möglichen Gradientenrichtungen verteilt, während jene für den Picknicktisch sich um eine einzelne, relativ breite Spitze sammeln. Die Wahrscheinlichkeit P(natürlich) ist die gradientenrichtungshergeleitete Wahrscheinlichkeit, dass eine Region einem natürlichen Merkmal oder Objekt entspricht, das relativ einheitlich verteilte Gradienten aufweist, und nicht der unimodalen oder bimodalen Gradientenverteilungscharakteristik von vom Menschen gemachten Objekten und Merkmalen. -
29 –31 liefern Steuerflussdiagramme für die Routine „Blätter etikettieren”, aufgerufen bei Schritt1508 in15 . In der for-Schleife der Schritte2902 –2904 wird jedes nichtetikettierte Segment in dem Bild durch eine Blätteranalyseroutine analysiert, die bei Schritt2903 aufgerufen wird. Die Blätteranalyseroutine ist in zwei Teilen gezeigt, der erste Teil in30 und der zweite Teil in31 . Bezug nehmend auf30 beginnt die Blätteranalyse bei Schritt3002 durch Berechnen der Wahrscheinlichkeit, dass das Segment einer Blätterregion eines Bildes entspricht, P(Blätter), aus einem allgemeinen Blätterfarbmodell. Auf ähnliche Weise wird die Wahrscheinlichkeit, dass das Segment Wald und Boden entspricht, bei Schritten3004 und3006 berechnet. Wenn die Wahrscheinlichkeit, dass das Segment Blätter oder Wald ist, P(Blätter) oder P(Wald), beide geringer sind als die Wahrscheinlichkeit, dass das Segment einer Bodenregion entspricht, P(Boden), dann bleibt das Segment unetikettiert. Ansonsten, wenn die Wahrscheinlichkeit, dass das Segment Blätter ist, größer ist als ein sehr hoher Schwellenwert, wie bei Schritt3010 bestimmt wird, wird das Segment bei Schritt3012 als „Blätter” etikettiert. Ansonsten wird der zweite Teil der Blätteranalyseroutine ausgeführt, gezeigt in31 . Bei dem zweiten Teil der Blätteranalyseroutine wird die Wahrscheinlichkeit, dass das Segment einer natürlichen Region eines Bildes entspricht, im Gegensatz zu einem von Menschen gemachten Objekt P(natürlich), aus einer berechneten Verteilung von Gradientenrichtungen innerhalb des Segments berechnet, bei Schritt3102 . Wenn die Wahrscheinlichkeit, dass das Segment einer natürlichen Region entspricht, P(natürlich), nicht größer ist als der Schwellenwert, wie bei Schritt3104 bestimmt wird, dann bleibt das Segment unetikettiert. Ansonsten, wenn die Wahrscheinlichkeit, dass das Segment Blättern entspricht, größer ist als ein Schwellenwert, und die durchschnittliche Intensität oder Leuchtdichte innerhalb des Segments kleiner oder gleich einer durchschnittlichen Blätterintensität oder -leuchtdichte ist, wie bei Schritt3106 bestimmt wird, dann wird das Segment als „Blätter” etikettiert, bei Schritt3108 . Ansonsten, wenn die Wahrscheinlichkeit, dass das Segment Wald entspricht, P(Wald), größer ist als ein Schwellenwert und die durchschnittliche Intensität oder durchschnittlichen Leuchtdichte innerhalb des Segments kleiner oder gleich einer durchschnittlichen Wald-Intensität oder -Leuchtdichte ist, wie bei Schritt3110 bestimmt wird, dann wird das Segment als „Blätter” etikettiert, bei Schritt3108 . Ansonsten bleibt das Segment unetikettiert. - Somit werden nach dem konzeptionellen Etikettieren, das durch die Routine „Bild etikettieren” ausgeführt wird, die bei Schritt
306 aus3 aufgerufen wird, die Segmente eines segmentierten Bildes als „Himmel”, „Gesicht”, „Haut”, „Blätter” oder „unbekannt” etikettiert. Wie oben erörtert wurde, erlaubt dieses Etikettieren dann bei bestimmten Bildverarbeitungsanwendungen, dass ein Bild effektiv verbessert wird durch Anwenden unterschiedlicher Verbesserungstechniken an unterschiedliche Typen von Regionen innerhalb des Bildes. Zum Beispiel können Himmelsregionen geglättet und auf eine erwartete Himmelsfarbe normiert werden. Gesichtsregionen können ebenfalls geglättet und normiert werden, genauso wie Hautregionen. Da die Regionen von Gesichtern um die Augen nicht als Gesicht oder Haut identifiziert werden, durch das oben beschriebene Verfahren, können diese Regionen zusammen mit anderen Regionen des Bildes schärfer gemacht werden. Blattregionen können schärfer gemacht werden durch nachfolgende Bildverarbeitungstechniken, um die Details von Gras, Büschen, Bäumen und anderen Blätterregionen herauszubringen. Die Intensität oder die Leuchtdichte der verschiedenen Typen von Regionen kann ebenfalls eingestellt werden durch nachfolgende Bildverarbeitung, um Erwartungen von Kunden zu erfüllen. Bei anderen Anwendungen können Regionen, die als Gesicht identifiziert werden, als der Startpunkt für Algorithmen verwendet werden, die sich dem eindeutigen Identifizieren von Einzelpersonen widmen, oder die Bewegung oder das Verhalten von Einzelpersonen in einem Videostrom verfolgen. Wie oben erörtert wurde, kann ein ähnlicher Ansatz zu den Ansätzen, die zum identifizieren von Himmel-, Gesicht-, Haut- und Blättersegmenten beschrieben wurden, verwendet werden, um andere Typen von Segmenten innerhalb von Bildern zu erkennen. Zum Beispiel können Segmente, die Schneeregionen in einem Bild entsprechen, identifiziert werden durch Etikettieren jener Segmente als Schnee, und nicht durch Entfernen der Etikettierung von Schneesegmenten, wie bei der oben erörterten Implementierung ausgeführt wird. Jeglicher andere Typ von Region, der durch Farbmodelle, berechnete Metriken und andere Statistiken und berechnete Werte charakterisiert werden kann, kann zu den Typen von Segmenten addiert werden, die durch Ausführungsbeispiele der vorliegenden Erfindung etikettiert werden. Ein Satz aus Metriken, Statistiken und Modellen, die zum Identifizieren eines zusätzlichen Segmenttyps verwendet werden, muss spezifiziert werden, zusammen mit den Algorithmen und Regeln zum Anwenden dieser Modelle, Metriken und Statistiken an berechnete Pro-Segment-Statistiken. Zusätzlich dazu müssen Routinen zum Etikettieren solcher Segmente in einer korrekten Reihenfolge im Hinblick auf andere Segmentetikettierungsroutinen aufgerufen werden. Zum Beispiel werden bei der obigen Implementierung Himmelssegmente zuerst etikettiert, gefolgt von Gesichts- und Hautsegmenten und dann von Blättersegmenten. Die Sequenz bzw. Reihenfolge entspricht der Leichtigkeit und Zuverlässigkeit, mit der jeder bestimmte Typ von Segment identifiziert werden kann. Zum Beispiel werden Himmelssegmente am zuverlässigsten erfasst und etikettiert, bei der obigen Implementierung, und es macht daher Sinn, Himmelssegmente zu identifizieren und etikettieren, bevor die Identifikation und Etikettierung der zusätzlichen Typen von Segmenten unternommen wird, da die Identifikation und Etikettierung derselben weniger zuverlässig ist als die Etikettierung und Identifikation von Himmelssegmenten. - Allgemeiner Ansatz für eine Wahrnehmungssegmentierung gemäß der vorliegenden Erfindung
- Während das detaillierte Ausführungsbeispiel der vorliegenden Erfindung, das oben Bezug nehmend auf
1 –31 beschrieben wurde, einen Ansatz für die Wahrnehmungssegmentierung von Bildern gemäß der vorliegenden Erfindung darstellt, gibt es viele alternative Ansätze für die Wahrnehmungssegmentierung von Bildern, die in den Schutzbereich der vorliegenden Erfindung fallen. Als Nächstes wird eine allgemeinere Zusammenfassung dieser Aspekte der Wahrnehmungssegmentierung von Bildern gegeben, die den Verfahren und Systemen für die Wahrnehmungssegmentierung von Bildern gemäß der vorliegenden Erfindung gemeinsam ist oder für diese charakteristisch ist. -
32 stellt das Konzept von Pixelmerkmalen dar.32 stellt insbesondere verschiedene Typen von Pixelmerkmalen dar, die einem bestimmte Pixel3203 innerhalb eines Bildes3204 zugeordnet sein können. Bestimmte Pixelmerkmale können als numerische oder alphanumerische Werte dargestellt sein, die dem Pixel in einer digitalen Codierung des Bildes zugeordnet sind. Beispiele dieser intrinsischen Pixelmerkmale umfassen die drei Werte, die die Farbe eines Pixels spezifizieren, gemäß einem der bekannten Farbmodelle, die das LCH-, Lab-, HSI- oder RGB-Farbmodell3206 umfassen. Intrinsische Pixelmerkmale sind im Allgemeinen spezifisch der Darstellung von jedem Pixel eines Bildes zugeordnet oder darin umfasst. - Jedes Pixel eines Bildes kann zusätzlich durch eine räumliche Position innerhalb des Bildes
3210 gekennzeichnet sein, allgemein ein Paar aus Koordinaten relativ zu einem zweidimensionalen, kartesischen Koordinatensystem, das auf ein Bild überlagert ist, obwohl andere Koordinatensysteme oder Verfahren zum Spezifizieren der Position verwendet werden können. Die Position eines Pixels innerhalb eines Bildes ist ein Beispiel eines Pixelmerkmals, das extrinsisch für das Pixel ist, aber intrinsisch für das Bild, das das Pixel enthält. - Ein anderer Typ eines Pixelmerkmals ist ein berechneter Wert für ein Pixel basierend auf einem oder mehreren Pixelmerkmalswerten und einer bekannten Verteilung von Pixelmerkmalswerten für ein bestimmtes Bild, das das Pixel enthält, oder einen Satz aus Bildern, der das Bild enthält, das die Pixel enthält, oder einen bestimmten anderen Satz aus Entitäten, aus dem Pixelmerkmalswertverteilungen erhalten werden können
3212 . Zum Beispiel könnte ein berechneter Pixelmerkmalswert die Anzahl von Standardabweichungen eines Pixelmerkmalswerts weg von einem Mittelwert sein, im Hinblick auf eine bekannte Verteilung von Pixelmerkmalswerten. Ein wiederum anderer Typ eines Pixelmerkmalswerts kann ein Pixelmerkmalswert sein, der basierend auf Pixelmerkmalswerten von Pixeln in einer lokalen Nachbarschaft des Pixels innerhalb eines Bildes3214 berechnet wird. Ein Beispiel eines solchen Pixelmerkmalswerts ist die lokale Entropie H, die für ein Pixel berechnet wird, wie oben erörtert wurde. Ein anderer solcher Typ eines Pixelmerkmalswerts ist eine lokale Gradientengröße, die oben erörtert wurde, oder Werte von verschiedenen mathematischen Operatoren, die an eine lokale Nachbarschaft angewendet werden, die ein Pixel enthält. - Pixelmerkmalswerte werden sowohl bei der Region- als auch Segment-Identifikation verwendet sowie für die Berechnung von Segmentmerkmalen, wie nachfolgend erörtert wird. Als ein Beispiel, wenn die drei Pixelmerkmalswerte, die sich auf die Farbe beziehen, mit einem Farbmodell verglichen werden, das für einen bestimmten Regionstyp entwickelt wurde, wie z. B. blauen Himmel, können die Vergleichsergebnisse die Basis für ein Verfahren sein, um potentielle Blauer-Himmel-Regionen in einem Bild zu identifizieren und Blauer-Himmel-Regionen von anderen Regionen zu unterscheiden. Wenn die drei Pixelmerkmalswerte für jedes Pixel in einer Region gemittelt werden oder anderweitig mathematisch verarbeitet werden, um einen Gesamt- oder kumulativen Wert oder Werte für das Segment zu erzeugen, können der Gesamt- oder kumulative Wert oder Werte verwendet werden, um einen einer Anzahl von Regions- oder Objekttypen zu der Region zuzuweisen.
-
33 zeigt verschiedene Typen von Segmentmerkmalen. In33 ist ein Segment oder eine Region eines Bildes als eine Anzahl von kreuzschraffierten Pixeln3302 innerhalb eines digital codierten Bildes3304 gezeigt. Ein Typ eines Segmentmerkmalswerts, der für ein Segment berechnet werden kann, ist der Durchschnitts- oder Mittelwert von einem oder mehreren Pixelmerkmalen der Pixel innerhalb des Segments3306 . Zum Beispiel kann der Durchschnittsgrauskalawert für die Pixel innerhalb eines Segments berechnet werden als ein Segmentmerkmal für ein Segment eines Schwarz-Weiß-Bildes. Zusätzliche Segmentmerkmale umfassen andere Werte, die aus Pixelmerkmalswerten von Pixeln innerhalb des Segments berechnet werden. Ein anderer Typ eines Segmentmerkmals kann der Bereich oder relative Bereich3308 des Segments sein. Ein wiederum anderer Typ eines Segmentmerkmals kann die Position des Segments innerhalb des Bildes3310 sein, wie z. B. die zweidimensionalen Koordinaten des Centroidpixels der Region und/oder die Ausrichtung des Segments oder der Region innerhalb eines Bildes. Ein wiederum anderer Typ eines Segmentmerkmals kann eine oder mehrere morphologische Charakteristika sein, die für das Segment berechnet werden, wie z. B. das Verhältnis des Minimalbreiten- oder Minimallängen-Liniensegments, das die Region umspannt, im Hinblick auf das Maximalbreiten- oder Maximallängen-Liniensegment, das die Region3312 umspannt. Ein anderer Typ eines Segmentmerkmals kann ein Wert sein, der aus der beobachteten Verteilung von einem oder mehreren Pixelmerkmalen über die Pixel innerhalb der Region3314 berechnet wird, was Momente und die Entropie umfasst. Ein ähnlicher Typ eines Segmentmerkmals kann ein Wert sein, der aus einem der oben erwähnten Typen von Segmentmerkmalen berechnet wird, relativ zu einer bekannten Verteilung von Segmentmerkmalen für ein bestimmtes Bild, einen Satz aus Bildern oder einen anderen Satz aus Entitäten, aus dem eine Verteilung von Segmentmerkmalen erhalten wird. -
34 liefert ein Steuerflussdiagramm für ein allgemeines Wahrnehmungssegmentierungsverfahren, das ein allgemeines Ausführungsbeispiel der vorliegenden Erfindung darstellt. Zuerst empfängt bei Schritt3402 die Routine „Segmentetikettierung” ein digital codiertes Bild. Als Nächstes werden bei Schritt3404 Regionen des Bildes identifiziert. Dieser Schritt wird weiter Bezug nehmend auf34 unten erörtert. Dann wird in der for-Schleife, die die Schritte3406 –3410 aufweist, jede Region etikettiert oder gekennzeichnet. In jeder Region werden ein oder mehr Pixelmerkmale für jedes Pixel der Region berechnet oder zugegriffen, bei Schritt3407 . Natürlich können jegliche Pixelmerkmale, die für die Pixel der Region bei vorangehenden Schritten berechnet wurden, wiederverwendet werden, statt dass sie neu berechnet werden. Als Nächstes werden bei Schritt3408 ein oder mehrere Segmentmerkmale für die Region berechnet. Wiederum können jegliche Segmentmerkmale, die bei vorangehenden Schritten berechnet wurden, wiederverwendet werden, anstatt neu berechnet zu werden. Abschließend werden bei Schritt3409 das eine oder die mehreren Segmentmerkmale, die bei Schritt3408 berechnet wurden, verwendet, um ein Etikett oder eine Kennzeichnung für die Region zu bestimmen. Die Bestimmung kann basierend auf Regeln ausgeführt werden, wie z. B. den oben beschriebenen Regeln für erkannte Blauer-Himmel-Regionen und Haut, kann auf einem Maschinenlernverfahren basieren, wie einer Auswahl durch ein neuronales Netzwerk, das trainiert wird, um Regionstypen unter Verwendung von bereits etikettierten Segmenten eines Satzes aus Bildern als Trainingssatz zu erkennen, oder kann auf verschiedenen gemischten Ansätzen basieren, die sowohl Regeln als auch Maschinenlernen einsetzen. Im Allgemeinen, wenn die Anwendung von Regeln oder Maschinenlernentscheidungswerkzeugen ein zweideutiges Ergebnis im Hinblick auf eine Region liefert oder, anders ausgedrückt, ein einzelner Regionstyp nicht eindeutig für die Region bestimmt werden kann, müssen möglicherweise jegliche von verschiedenen Disambiguierungsverfahren zusätzlich eingesetzt werden, um das am wahrscheinlichsten korrekte Etikett zu finden, wenn eine Disambiguierung möglich ist, oder ein Etikett an die Region anwenden, das anzeigt, dass ein einzelner Regionstyp nicht bestimmt werden konnte. In bestimmten Fällen kann die Reihenfolge der Regelanwendung oder der Anwendung von bestimmten Maschinenlernverfahren wesentlich sein, obwohl im Allgemeinen die Reihenfolge der Regelanwendung oder die Anwendung von bestimmten Maschinenlernverfahren nicht wesentlich im Hinblick auf die Regionsetikettierungsergebnisse ist, die durch Verfahren und Systeme der vorliegenden Erfindung erzeugt werden. -
35 stellt eine Routine zum Identifizieren von Regionen innerhalb eines Bildes dar. Bei Schritt3502 wird ein digital codiertes Bild empfangen. Wenn das automatisierte Segmentierungsverfahren, das oben Bezug nehmend auf12A –13C beschrieben wurde, verwendet werden soll, wie bei Schritt3504 bestimmt wurde, dann wird dieses Verfahren bei Schritt3506 angewendet, um das Bild zu segmentieren. Ansonsten, wenn ein gradientenbasierter Segmentierungsansatz verwendet werden soll, wie bei Schritt3508 bestimmt wurde, dann werden Lokalgradientengrößen für jedes Pixel berechnet und die Pixel mit den größten Lokalgradientengrößen werden als Regionsgrenzen verwendet, um das Bild zu segmentieren, bei Schritt3510 . Ansonsten, in der for-Schleife der Schritte3512 –3514 , wird jedes einer Anzahl von bestimmten Objektfindungsverfahren an das Bild angewendet, um einen bestimmten Objekttyp zu erkennen. Ein Beispiel solcher bestimmter Objektfindungsverfahren umfasst die Gesichtserkennungsverfahren, die oben beschrieben wurden, und Blauer-Himmel-Region-Erkennungsverfahren, basierend auf dem Abgleichen von Pixelfarben mit einem Blauer-Himmel-Farbmodell. Am Ende der for-Schleife bei Schritt3515 können jegliche überlappenden Objekte, die durch die individuellen Objektfindungsverfahren identifiziert werden, disambiguiert werden, durch Vergleichen von nichtüberlappenden mit überlappenden Bereichen, durch Metriken zum Gewichten jeder Region der überlappenden Regionen, durch Bewerten der Gewissheit oder Wahrscheinlichkeit des Ergebnisses, das durch jedes Objektfindungsverfahren erzeugt wird, oder durch andere Mittel. - Obwohl die vorliegende Erfindung im Hinblick auf bestimmte Ausführungsbeispiele beschrieben wurde, soll die Erfindung nicht auf diese Ausführungsbeispiele beschränkt sein. Modifikationen innerhalb des Wesens der Erfindung sind für Fachleute auf dem Gebiet offensichtlich. Zum Beispiel können jegliche von vielen unterschiedlichen möglichen Implementierungen entwickelt werden durch Spezifizieren und Ändern verschiedener Programmierungsparameter, einschließlich einer modularen Organisation, verwendeten Steuerstrukturen, verwendeten Datenstrukturen, eingesetzten Variablen, Programmiersprachen und Betriebssystemplattformen. Wie oben erörtert wurde, können weniger oder eine größere Anzahl von unterschiedlichen Typen von Metriken, Statistiken und anderen berechneten Werten eingesetzt werden, um Segmente zu charakterisieren sowie Typen von Segmenten zu charakterisieren. Metriken, Modelle und Statistiken können während der Bildanalyse oder Bildverarbeitung verfeinert werden und können bestimmt werden durch eine umfassende Analyse von Bild- und Videodatenbanken.
- Die vorangehende Beschreibung hat zu Zwecken der Erklärung eine spezifische Nomenklatur verwendet, um ein tiefgreifendes Verständnis der Erfindung zu geben. Es ist jedoch für einen Fachmann auf dem Gebiet offensichtlich, dass die spezifischen Details nicht erforderlich sind, um die Erfindung zu praktizieren. Die vorangehende Beschreibung von spezifischen Ausführungsbeispielen der vorliegenden Erfindung ist zum Zweck der Darstellung und Beschreibung vorlegt. Sie soll nicht erschöpfend sein oder die Erfindung auf die präzisen offenbarten Formen einschränken. Viele Modifikationen und Variationen sind im Hinblick auf die obigen Lehren möglich. Die Ausführungsbeispiele sind gezeigt und beschrieben, um die Prinzipien der Erfindung und ihre praktischen Anwendungen bestmöglich zu erklären, um es dadurch anderen Fachleuten auf dem Gebiet zu ermöglichen, die Erfindung und verschiedene Ausführungsbeispiele mit verschiedenen Modifikationen bestmöglich zu verwenden, wie sie für die bestimmte gedachte Verwendung geeignet sind. Es ist beabsichtigt, dass der Schutzbereich der Erfindung durch die nachfolgenden Ansprüche und ihre Entsprechungen definiert ist:
- Zusammenfassung
- Verfahrens- und Systemausführungsbeispiele der vorliegenden Erfindung beziehen sich auf die automatisierte Identifizierung von Regionen in digital codierten Bildern, die Objekten und Merkmalen von Szenen entsprechen, die in den digital codierten Bildern erfasst sind, ein Prozess, der als die „Wahrnehmungssegmentierung” eines Bildes bezeichnet wird. Regionen oder Segmente innerhalb eines Bildes werden zuerst identifiziert durch eines von verschiedenen Regionidentifizierungs- oder Segmentierungsverfahren. Für jede Region oder jedes Segment werden Merkmale von Pixeln innerhalb der Region oder des Segments eingesetzt, um ein oder mehrere Segmentmerkmale zu berechnen. Die Segmentmerkmale ihrerseits werden verwendet, um zu identifizieren, dass das Segment oder die Region zu einem bestimmten Typ einer Region oder eines Segments gehört, und die Region wird dann entsprechend als eine Region oder ein Segment des bestimmten Typs gekennzeichnet oder etikettiert.
Claims (15)
- Ein Wahrnehmungssegmentierungssystem, das folgende Merkmale aufweist: einen Computer; und ein oder mehrere Wahrnehmungssegmentierungsprogramme, die innerhalb des Computers gespeichert sind und durch den Computer ausgeführt werden, die Regionen innerhalb eines Bildes identifizieren; für jede identifizierte Region, jeden von einem oder mehreren Pixelmerkmalswerten für Pixel innerhalb der Region berechnen oder darauf zugreifen, einen oder mehrere Regionsmerkmalswerte berechnen, unter Verwendung des einen oder der mehreren Pixelmerkmalswerte, die für Pixel innerhalb der Region berechnet oder zugegriffen werden, und einen Regionstyp für die Region bestimmen und den Regionstyp zu der Region zuordnen, unter Verwendung des einen oder der mehreren Regionsmerkmalswerte; und die Zuordnungen von Regionstypen innerhalb von Regionen speichern zur Verwendung bei nachfolgenden Bildverarbeitungsaufgaben.
- Das Wahrnehmungssegmentierungssystem gemäß Anspruch 1, bei dem das eine oder die mehreren Wahrnehmungssegmentierungsprogramme, die innerhalb des Computers gespeichert sind und durch den Computer ausgeführt werden, Regionen innerhalb des Bildes identifizieren durch: Identifizieren eines ersten Satzes aus Regionen, jede mit einer gemessenen Kantigkeit niedriger als eine anfängliche Kantigkeitsschwelle, wobei die Kantigkeit gemessen wird als eine Durchschnittsgradientengröße, die für jede Region berechnet wird; und iteratives Erhöhen der Kantigkeitsschwelle, Identifizieren eines nächsten Satzes aus Regionen, jede mit einer gemessenen Kantigkeit, die niedriger ist als die aktuelle Kantigkeitsschwelle; und paarweise Zusammenführen von jedem des nächsten Satzes aus Regionen mit vorangehend identifizierten Regionen, wenn für jedes Paar aus Regionen ein Maß an Ähnlichkeit der zwei Regionen des Paars aus Regionen größer ist als ein Schwellenwert und ein Maß der Nachbarschaft der zwei Regionen größer ist als eine Nachbarschaftsschwelle, bis alle Abschnitte der Bilder in eine Region eingelagert sind.
- Das Wahrnehmungssegmentierungssystem gemäß Anspruch 1, bei dem das eine oder die mehreren Wahrnehmungssegmentierungsprogramme, die in dem Computer gespeichert sind und durch den Computer ausgeführt werden, ferner Regionen innerhalb des Bildes identifizieren durch: iteratives Berechnen, für jedes Paar aus Regionen in dem Bild, einer Distanz zwischen den zwei Regionen, und Zusammenführen bis zu einer maximalen Anzahl aus Paaren von Regionen mit geringsten berechneten Distanzen in entsprechende einzelne Regionen, bis eine gewünschte Anzahl n von Regionen erhalten wird, wobei die n resultierenden Regionen die anfänglichen Segmente aufweisen; wobei das Bild digital als ein Pixelarray codiert ist; wobei jedem Pixel drei Farbmodellkomponenten und eine Texturkomponente zugeordnet sind, berechnet als die lokale Entropie des Pixels innerhalb des Bildes, wobei die drei Farbmodellkomponenten und die Texturkomponente Komponenten eines vierdimensionalen Vektors aufweisen; und wobei die Distanz zwischen zwei Regionen eine Mahalanobis-Distanz ist, eine quadratische Mahalanobis-Distanz oder ein Wert, der aus einer Mahalanobis-Distanz berechnet wird, zwischen dem durchschnittlichen vierdimensionalen Vektor, der für jede der zwei Regionen berechnet wird.
- Das Wahrnehmungssegmentierungssystem gemäß Anspruch 1, bei dem das eine oder die mehreren Wahrnehmungssegmentierungsprogramme, die innerhalb des Computers gespeichert sind und durch den Computer ausgeführt werden, Regionen innerhalb des Bildes identifizieren durch: Berechnen von Lokalgradientengrößen für jedes Pixel des Bildes; und Auswählen der Pixel mit größten Lokalgradientengrößen als Grenzpixel, die Regionen trennen.
- Das Wahrnehmungssegmentierungssystem gemäß Anspruch 1, bei dem das eine oder die mehreren Wahrnehmungssegmentierungsprogramme, die innerhalb des Computers gespeichert sind und durch den Computer ausgeführt werden, Regionen innerhalb des Bildes identifizieren durch: für jedes einer Anzahl von spezifischen Objektidentifizierungsverfahren, Anwenden des Objektidentifizierungsverfahrens, um das Auftreten von Objekten eines spezifischen Typs in dem Bild zu lokalisieren; und Disambiguieren jeglicher Regionen einer Überlappung von zwei oder mehr Objekten, die durch die Objektidentifizierungsverfahren identifiziert werden.
- Das Wahrnehmungssegmentierungssystem gemäß Anspruch 1, bei dem Pixelmerkmale, die einem Pixel zugeordnet sind, eines oder mehrere der Folgenden aufweisen: eines oder mehrere intrinsische Pixelmerkmale, die Folgendes umfassen: einen Grauskalawert, und drei Werte, die eine Farbe des Pixels gemäß einem Farbmodell spezifizieren; einen oder mehrere numerische Werte, die einen räumlichen Ort des Pixels innerhalb eines Bildes spezifizieren; einen numerischen Wert, der aus Pixelmerkmalswerten des Pixels berechnet wird, und zusätzlichen Pixeln, die in einer Nachbarschaft des Pixels angeordnet sind; und einen numerischen Wert, der berechnet wird durch Vergleichen von einem oder mehreren intrinsischen Pixelwerten mit einem Modell oder einer Verteilung von Pixelmerkmalswerten.
- Das Wahrnehmungssegmentierungssystem gemäß Anspruch 1, bei dem Segmentmerkmale, die einem Segment oder einer Region zugeordnet sind, eines oder mehrere der Folgenden umfassen: einen durchschnittlichen, Median- oder anderen mathematischen Wert, der aus Pixelmerkmalswerten von Pixeln innerhalb des Segments oder der Region berechnet wird; einen Bereich, der für das Segment oder die Region berechnet wird; einen relativen Bereich, der für das Segment oder die Region berechnet wird; numerische Werte, die eine Position des Segments oder der Region innerhalb eines Bildes spezifizieren; einen oder mehrere numerische Werte, die eine Orientierung der Region innerhalb eines Bildes anzeigen; eine morphologische Charakteristik, die für das Segment oder die Region berechnet wird; einen Wert, der berechnet wird durch Vergleichen eines Werts, der aus Pixelmerkmalswerten von Pixeln innerhalb des Segments oder der Region berechnet wird, mit einem Modell oder einer Verteilung; einen numerischen Wert, der aus Pixelmerkmalswerten des Pixels und zusätzlicher Pixel berechnet wird, die in einer Nachbarschaft des Pixels angeordnet sind; einen numerischen Wert, der berechnet wird durch Vergleichen von einem oder mehreren intrinsischen Pixelwerten mit einem Modell oder einer Verteilung von Pixelmerkmalswerten; und einen numerischen Wert aus Segmentmerkmalswerten des Segments oder der Region und zusätzlichen Segmenten oder Regionen, die in einer Nachbarschaft des Segments oder der Region angeordnet sind.
- Das Wahmehmungssegmentierungssystem gemäß Anspruch 1, bei dem ein oder mehrere Wahrnehmungssegmentierungsprogramme, die innerhalb des Computers gespeichert sind und durch den Computer ausgeführt werden, globale Statistiken für das Bild berechnen; bei dem das eine oder die mehreren Wahrnehmungssegmentierungsprogramme, die innerhalb des Computers gespeichert sind und durch den Computer ausgeführt werden, für jedes Segment oder jede Region eines Bildes Pro-Segment-Statistiken berechnen, eine Wahrscheinlichkeit, dass das Segment einer Blauer-Himmel-Region des Bildes entspricht, P(blauer_Himmel), eine Wahrscheinlichkeit, dass das Segment einer Grauer-Himmel-Region des Bildes entspricht, P(grauer_Himmel), und eine Wahrscheinlichkeit, dass das Segment einer Schneeregion des Bildes entspricht, P(Schnee); und bei dem das eine oder die mehreren Wahrnehmungssegmentierungsprogramme, die innerhalb des Computers gespeichert sind und durch den Computer ausgeführt werden, Segmente identifizieren und etikettieren, die Regionen von Himmel in dem Bild entsprechen, unter Verwendung der berechneten Wahrscheinlichkeiten P(blauer_Himmel), P(grauer_Himmel) und P(Schnee).
- Das Wahrnehmungssegmentierungssystem gemäß Anspruch 8, bei dem die Wahrscheinlichkeit P(blauer_Himmel), die für ein Segment berechnet wird, auf einen Ort des Segments innerhalb des Bildes, Farben innerhalb des Segments, eine Größe des Segments, eine Textur, die für das Segment berechnet ist, eine Intensität, die für das Segment berechnet ist, und eine Entsprechung von Farbänderungen entlang zweier orthogonaler Spuren innerhalb des Segments im Hinblick auf erwartete Farbänderungen für blauen Himmel bezogen ist; wobei die Wahrscheinlichkeit P(grauer_Himmel), die für ein Segment berechnet wird, auf einen Ort des Segments innerhalb des Bildes, Farben innerhalb des Segments, eine Größe des Segments, eine Textur, die für das Segment berechnet wird, und eine Intensität, die für das Segment berechnet wird, bezogen ist; und wobei die Wahrscheinlichkeit P(Schnee), die für ein Segment berechnet wird, auf einen Ort des Segments innerhalb des Bildes, Farben innerhalb des Segments, eine Größe des Segments, eine Textur, die für das Segment berechnet wird, und eine Intensität, die für das Segment berechnet wird, bezogen ist.
- Das Wahrnehmungssegmentierungssystem gemäß Anspruch 9, bei dem das eine oder die mehreren Wahrnehmungssegmentierungsprogramme, die innerhalb des Computers gespeichert sind und durch den Computer ausgeführt werden, Segmente identifizieren und etikettieren, die Regionen von Himmel in dem Bild entsprechen, unter Verwendung der berechneten Wahrscheinlichkeiten P(blauer_Himmel), P(grauer_Himmel) und P(Schnee) durch: für jedes Segment in dem Bild, anfängliches Etikettieren des Segments als „blauer Himmel”, wenn P(blauer_Himmel), das für das Segment berechnet wird, größer ist als eine Schwelle und größer ist als sowohl P(grauer_Himmel) als auch P(Schnee), ansonsten anfängliches Etikettieren des Segments als „grauer Himmel”, wenn P(grauer_Himmel), das für das Segment berechnet wird, größer ist als eine Schwelle und größer ist als P(Schnee), ansonsten, anfängliches Etikettieren des Segments als „Schnee”, wenn P(Schnee), das für das Segment berechnet wird, größer ist als eine Schwelle, und ansonsten unetikettiert lassen des Segments oder entsprechend Etikettieren desselben als „unbekannt”; und Auswählen einer dominanten Himmelsfarbe und Etikettieren dieser Segmente mit einer Wahrscheinlichkeit, dass sie Himmel der dominanten Himmelsfarbe darstellen, die größer ist als ein Schwellenwert, als Himmel, während vorangehend etikettierte Segmente, mit einer Wahrscheinlichkeit, dass sie Himmel der dominanten Himmelsfarbe darstellen, die kleiner ist als der Schwellenwert, von dem Etikett befreit werden.
- Das Wahrnehmungssegmentierungssystem gemäß Anspruch 1, das ferner umfasst, nach dem Zuordnen von Regionstypen zu den identifizierten Regionen, dass das eine oder die mehreren Wahrnehmungssegmentierungsprogramme, für jeden von einem oder mehreren bestimmten Regionstypen, folgendes ausführen Berechnen eines Farbmodells aus den Regionen, die dem bestimmten Regionstyp zugeordnet sind; und Anwenden des Farbmodells an andere Regionen des Bildes, um jegliche zusätzliche Pixel oder Regionen des Bildes zu identifizieren, die dem bestimmten Regionstyp entsprechen, wie bestimmt wird durch Vergleichen zwischen der Farbe der anderen Segmente und dem berechneten Farbmodell.
- Das Wahrnehmungssegmentierungssystem gemäß Anspruch 1, bei dem das eine oder die mehreren Wahrnehmungssegmentierungsprogramme, die in dem Computer gespeichert sind und durch den Computer ausgeführt werden, Segmente in einem Bild identifizieren, die Regionen in dem Bild entsprechen, die menschliche Haut darstellen und die Segmente etikettieren durch: Erfassen von Gesichtern innerhalb des Bildes; für jedes erfasste Gesicht, Bestimmen einer rechteckigen Region des Bildes, die das Gesicht umfasst, Partitionieren der rechteckigen Region in Gesichts- und Nichtgesichtspartitionen basierend auf einem allgemeinen Hautfarbenmodell und der Pixelposition, Bestimmen eines gesichtsspezifischen Farbmodells für das Gesicht basierend auf der Gesichtspartition, Erzeugen einer Gesichtshautabbildung für die rechteckige Region, Erzeugen eines Körperhautmodells basierend auf Pixeln innerhalb der rechteckigen Region, die durch die Gesichtshautabbildung derart identifiziert sind, dass sie Gesichtshaut entsprechen, und Identifizieren von zusätzlichen Segmenten innerhalb des Bildes, die Körperhautregionen entsprechen, basierend auf dem Körperhautmodell.
- Das Wahrnehmungssegmentierungssystem gemäß Anspruch 1, bei dem das eine oder die mehreren Wahrnehmungssegmentierungsprogramme, die innerhalb des Computers gespeichert sind und durch den Computer ausgeführt werden, Segmente innerhalb eines Bildes etikettieren, die Regionen in dem Bild entsprechen, die Blätter darstellen, durch: für jedes nichtetikettierte Segment in dem Bild, Berechnen einer Wahrscheinlichkeit, dass das Segment einer Region aus Blättern in dem Bild entspricht, P(Blätter), basierend auf einem Farbmodell für Blätter, Berechnen einer Wahrscheinlichkeit, dass das Segment einer Waldregion in dem Bild entspricht, P(Wald), basierend auf einem Farbmodell für Wald, Berechnen einer Wahrscheinlichkeit, dass das Segment einer Bodenregion in dem Bild entspricht, P(Boden), basierend auf einem Farbmodell für Wald, wenn P(Blätter) größer ist als eines von P(Wald) und P(Boden) sowie größer ist als ein Schwellenwert, Etikettieren des Segments als Blätter, und ansonsten, Etikettieren des Segments basierend auf einer berechneten Wahrscheinlichkeit, dass das Segment einer natürlichen Region in dem Bild entspricht und keiner künstlichen Region des Bildes, P(natürlich), durch wenn P(natürlich) größer ist als ein Schwellenwert, P(Blätter) größer ist als ein Schwellenwert und eine berechnete Intensität für das Segment kleiner ist als eine Schwellenintensität, Etikettieren des Segments als Blätter, und wenn P(natürlich) größer ist als ein Schwellenwert, P(Wald) größer ist als ein Schwellenwert und eine berechnete Intensität für das Segment kleiner ist als eine Schwellenintensität, Etikettieren des Segments als Blätter.
- Ein Verfahren zur Wahrnehmungssegmentierung eines Bildes, das folgende Schritte aufweist: Identifizieren von Regionen innerhalb eines Bildes; für jede identifizierte Region, Berechnen von oder Zugreifen auf jeden von einem oder mehreren Pixelmerkmalswerten für Pixel innerhalb der Region, Verwenden des einen oder der mehreren Pixelmerkmalswerte, die berechnet werden oder auf die zugegriffen wird, für Pixel innerhalb der Region, um einen oder mehrere Regionsmerkmalswerte zu berechnen, und Verwenden des einen oder der mehreren Regionsmerkmalswerte, um einen Regionstyp für die Region zu bestimmen und den Regionstyp zu der Region zuzuordnen; und Speichern der Zuordnungen der Regionstypen zu den Regionen zur Verwendung bei nachfolgenden Bildverarbeitungsaufgaben.
- Das Verfahren gemäß Anspruch 14, bei dem Pixelmerkmale, die einem Pixel zugeordnet sind, eines oder mehrere der Folgenden umfassen: ein oder mehrere intrinsische Pixelmerkmale, die Folgendes umfassen: einen Grauskalawert, und drei Werte, die eine Farbe des Pixels gemäß einem Farbmodell spezifizieren, einen oder mehrere numerische Werte, die einen räumlichen Ort des Pixels innerhalb eines Bildes spezifizieren; einen numerischen Wert, der aus Pixelmerkmalswerten des Pixels und zusätzlichen Pixeln, die in einer Nachbarschaft des Pixels angeordnet sind, berechnet wird, und einen numerischen Wert, der berechnet wird durch Vergleichen von einem oder mehreren intrinsischen Pixelwerten mit einem Modell oder einer Verteilung von Pixelmerkmalswerten; und wobei Segmentmerkmale, die einem Segment oder einer Region zugeordnet sind, eines oder mehrere der Folgenden umfassen: einen Durchschnitts-, Median- oder anderen mathematischen Wert, der aus Pixelmerkmalswerten von Pixeln innerhalb des Segments oder der Region berechnet wird, einen Bereich, der für das Segment oder die Region berechnet wird, einen relativen Bereich, der für das Segment oder die Region berechnet wird, numerische Werte, die eine Position des Segments oder der Region innerhalb eines Bildes spezifizieren, einen oder mehrere numerische Werte, die eine Ausrichtung der Region innerhalb eines Bildes anzeigen, eine morphologische Charakteristik, die für das Segment oder die Region berechnet wird, einen Wert, der berechnet wird durch Vergleichen eines Werts, der aus Pixelmerkmalswerten von Pixeln innerhalb des Segments oder der Region berechnet wird, mit einem Modell oder einer Verteilung, einen numerischen Wert, der aus Pixelmerkmalswerten des Pixels und zusätzlicher Pixel berechnet wird, die in einer Nachbarschaft des Pixels angeordnet sind, einen numerischen Wert, der berechnet wird durch Vergleichen von einem oder mehreren intrinsischen Pixelwerten mit einem Modell oder einer Verteilung von Pixelmerkmalswerten, und einen numerischen Wert aus Segmentmerkmalswerten des Segments oder der Region und zusätzlichen Segmenten oder Regionen, die in einer Nachbarschaft des Segments oder der Region angeordnet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2008/009311 WO2010014067A1 (en) | 2008-07-31 | 2008-07-31 | Perceptual segmentation of images |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112008003959T5 true DE112008003959T5 (de) | 2011-06-01 |
Family
ID=41610601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112008003959T Withdrawn DE112008003959T5 (de) | 2008-07-31 | 2008-07-31 | Wahrnehmungssegmentierung von Bildern |
Country Status (4)
Country | Link |
---|---|
US (1) | US8913831B2 (de) |
CN (1) | CN102113014A (de) |
DE (1) | DE112008003959T5 (de) |
WO (1) | WO2010014067A1 (de) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8385638B2 (en) * | 2009-01-05 | 2013-02-26 | Apple Inc. | Detecting skin tone in images |
US8489600B2 (en) | 2010-02-23 | 2013-07-16 | Nokia Corporation | Method and apparatus for segmenting and summarizing media content |
CN102542303A (zh) * | 2010-12-24 | 2012-07-04 | 富士通株式会社 | 生成用于检测图像中的特定对象的分类器的装置和方法 |
CN102436583B (zh) * | 2011-09-26 | 2013-10-30 | 哈尔滨工程大学 | 基于对标注图像学习的图像分割方法 |
US8873833B2 (en) | 2012-02-17 | 2014-10-28 | Sony Corporation | System and method for effectively performing a scene representation procedure |
US9275285B2 (en) | 2012-03-29 | 2016-03-01 | The Nielsen Company (Us), Llc | Methods and apparatus to count people in images |
US8761442B2 (en) | 2012-03-29 | 2014-06-24 | The Nielsen Company (Us), Llc | Methods and apparatus to count people in images |
US9092675B2 (en) | 2012-03-29 | 2015-07-28 | The Nielsen Company (Us), Llc | Methods and apparatus to count people in images |
US8660307B2 (en) | 2012-03-29 | 2014-02-25 | The Nielsen Company (Us), Llc | Methods and apparatus to count people in images |
US9465813B1 (en) * | 2012-11-09 | 2016-10-11 | Amazon Technologies, Inc. | System and method for automatically generating albums |
EP2927864B1 (de) * | 2012-11-29 | 2018-06-13 | NEC Corporation | Bildverarbeitungsvorrichtung und bildverarbeitungsverfahren |
CN103049763B (zh) * | 2012-12-07 | 2015-07-01 | 华中科技大学 | 一种基于上下文约束的目标识别方法 |
JP2014164656A (ja) * | 2013-02-27 | 2014-09-08 | Ricoh Co Ltd | 画像処理方法およびプログラム |
US9325985B2 (en) | 2013-05-28 | 2016-04-26 | Apple Inc. | Reference and non-reference video quality evaluation |
CN103353879B (zh) * | 2013-06-18 | 2020-06-02 | 北京智谷睿拓技术服务有限公司 | 图像处理方法及设备 |
US20150089446A1 (en) * | 2013-09-24 | 2015-03-26 | Google Inc. | Providing control points in images |
US10114532B2 (en) * | 2013-12-06 | 2018-10-30 | Google Llc | Editing options for image regions |
CN103871066B (zh) * | 2014-03-27 | 2016-08-24 | 武汉大学 | 超声图像Ncut分割中相似度矩阵的构造方法 |
US9390348B2 (en) * | 2014-05-19 | 2016-07-12 | Jinling Institute Of Technology | Method for categorizing objects in image |
CN104063707B (zh) * | 2014-07-14 | 2017-05-24 | 南京原觉信息科技有限公司 | 基于人类视觉多尺度感知特性的彩色图像聚类分割方法 |
CN103996044B (zh) * | 2014-05-29 | 2017-10-10 | 天津航天中为数据系统科技有限公司 | 利用遥感图像提取目标的方法和装置 |
US10204432B2 (en) * | 2014-06-12 | 2019-02-12 | Interdigital Ce Patent Holdings | Methods and systems for color processing of digital images |
CN104134080B (zh) * | 2014-08-01 | 2018-09-11 | 重庆大学 | 一种道路路基塌陷和边坡坍塌的自动检测方法及系统 |
US9952677B2 (en) * | 2014-09-08 | 2018-04-24 | Atheer, Inc. | Method and apparatus for distinguishing features in data |
TWI680747B (zh) * | 2014-11-12 | 2020-01-01 | 日商新力股份有限公司 | 資訊處理裝置、資訊處理方法及資訊處理程式 |
KR102091072B1 (ko) * | 2014-12-23 | 2020-03-19 | 삼성전자주식회사 | 컨텐츠 제공 장치, 디스플레이 장치 및 그 제어 방법 |
US10496650B1 (en) * | 2015-02-25 | 2019-12-03 | Google Llc | Fine-grained video classification |
US10593007B1 (en) | 2015-06-11 | 2020-03-17 | Digimarc Corporation | Methods and arrangements for configuring industrial inspection systems |
US9858675B2 (en) * | 2016-02-11 | 2018-01-02 | Adobe Systems Incorporated | Object segmentation, including sky segmentation |
CN105869174B (zh) * | 2016-04-20 | 2019-01-29 | 中国航空工业集团公司洛阳电光设备研究所 | 一种天空场景图像分割方法 |
CA3024402A1 (en) * | 2016-05-12 | 2017-11-16 | Basf Se | Recognition of weed in a natural environment |
JP2018077644A (ja) * | 2016-11-08 | 2018-05-17 | 富士ゼロックス株式会社 | 情報処理システム及びプログラム |
US10837773B2 (en) * | 2016-12-30 | 2020-11-17 | DeepMap Inc. | Detection of vertical structures based on LiDAR scanner data for high-definition maps for autonomous vehicles |
CN107087107B (zh) * | 2017-05-05 | 2019-11-29 | 中国科学院计算技术研究所 | 基于双摄像头的图像处理装置及方法 |
US10762635B2 (en) * | 2017-06-14 | 2020-09-01 | Tusimple, Inc. | System and method for actively selecting and labeling images for semantic segmentation |
CN107241590B (zh) * | 2017-06-29 | 2020-03-27 | 明基智能科技(上海)有限公司 | 影像增强方法及影像增强装置 |
JP6821528B2 (ja) * | 2017-09-05 | 2021-01-27 | 本田技研工業株式会社 | 評価装置、評価方法、ノイズ除去装置、およびプログラム |
US11100366B2 (en) | 2018-04-26 | 2021-08-24 | Volvo Car Corporation | Methods and systems for semi-automated image segmentation and annotation |
US10937200B2 (en) * | 2019-03-19 | 2021-03-02 | Adobe Inc. | Object-based color adjustment |
US11138699B2 (en) * | 2019-06-13 | 2021-10-05 | Adobe Inc. | Utilizing context-aware sensors and multi-dimensional gesture inputs to efficiently generate enhanced digital images |
US11281902B1 (en) | 2019-06-19 | 2022-03-22 | Imaging Business Machines Llc | Document scanning system |
CN112150481B (zh) * | 2020-09-17 | 2023-07-18 | 南京信息工程大学 | 一种白粉病图像分割方法 |
CN112907457A (zh) * | 2021-01-19 | 2021-06-04 | Tcl华星光电技术有限公司 | 图像处理方法、图像处理装置及计算机设备 |
CN113570561B (zh) * | 2021-07-16 | 2023-11-28 | 浙江大学 | 可见光与近红外图像联合处理的植被天空区域检测方法 |
CN115131296B (zh) * | 2022-06-08 | 2024-02-27 | 广州东朝智能科技有限公司 | 一种用于图像识别的分布式计算方法及系统 |
CN114973727B (zh) * | 2022-08-02 | 2022-09-30 | 成都工业职业技术学院 | 一种基于乘客特征的智能驾驶方法 |
CN115879776B (zh) * | 2023-03-02 | 2023-06-06 | 四川宏华电气有限责任公司 | 一种应用于石油钻机的危险区域预警方法及系统 |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0804777B1 (de) * | 1994-07-21 | 2001-09-12 | Kabushiki Kaisha Toshiba | Gerät zur bildidentifizierung |
US5963670A (en) * | 1996-02-12 | 1999-10-05 | Massachusetts Institute Of Technology | Method and apparatus for classifying and identifying images |
US5892838A (en) | 1996-06-11 | 1999-04-06 | Minnesota Mining And Manufacturing Company | Biometric recognition using a classification neural network |
US5956468A (en) * | 1996-07-12 | 1999-09-21 | Seiko Epson Corporation | Document segmentation system |
US6078688A (en) * | 1996-08-23 | 2000-06-20 | Nec Research Institute, Inc. | Method for image segmentation by minimizing the ratio between the exterior boundary cost and the cost of the enclosed region |
US6075875A (en) * | 1996-09-30 | 2000-06-13 | Microsoft Corporation | Segmentation of image features using hierarchical analysis of multi-valued image data and weighted averaging of segmentation results |
US5748789A (en) * | 1996-10-31 | 1998-05-05 | Microsoft Corporation | Transparent block skipping in object-based video coding systems |
US6141433A (en) * | 1997-06-19 | 2000-10-31 | Ncr Corporation | System and method for segmenting image regions from a scene likely to represent particular objects in the scene |
EP1081960B1 (de) * | 1999-01-29 | 2007-12-19 | Sony Corporation | Signalverarbeitendes verfahren und video/sprachverarbeitende vorrichtung |
US6504951B1 (en) * | 1999-11-29 | 2003-01-07 | Eastman Kodak Company | Method for detecting sky in images |
US6545743B1 (en) * | 2000-05-22 | 2003-04-08 | Eastman Kodak Company | Producing an image of a portion of a photographic image onto a receiver using a digital image of the photographic image |
US7212668B1 (en) * | 2000-08-18 | 2007-05-01 | Eastman Kodak Company | Digital image processing system and method for emphasizing a main subject of an image |
JP2002216133A (ja) | 2001-01-22 | 2002-08-02 | Fuji Xerox Co Ltd | 画像処理システム、及び感覚情報処理システム |
US6826316B2 (en) * | 2001-01-24 | 2004-11-30 | Eastman Kodak Company | System and method for determining image similarity |
US6801661B1 (en) * | 2001-02-15 | 2004-10-05 | Eastman Kodak Company | Method and system for archival and retrieval of images based on the shape properties of identified segments |
US7092573B2 (en) | 2001-12-10 | 2006-08-15 | Eastman Kodak Company | Method and system for selectively applying enhancement to an image |
US7106366B2 (en) * | 2001-12-19 | 2006-09-12 | Eastman Kodak Company | Image capture system incorporating metadata to facilitate transcoding |
US6996277B2 (en) * | 2002-01-07 | 2006-02-07 | Xerox Corporation | Image type classification using color discreteness features |
TWI281126B (en) | 2002-03-19 | 2007-05-11 | Intervideo Digital Technology | Image detection method based on region |
JP4186541B2 (ja) | 2002-07-29 | 2008-11-26 | 富士ゼロックス株式会社 | 画像処理装置 |
US7035461B2 (en) | 2002-08-22 | 2006-04-25 | Eastman Kodak Company | Method for detecting objects in digital images |
US6993185B2 (en) * | 2002-08-30 | 2006-01-31 | Matsushita Electric Industrial Co., Ltd. | Method of texture-based color document segmentation |
WO2004044823A2 (en) * | 2002-11-07 | 2004-05-27 | Honda Motor Co., Ltd. | Clustering appearances of objects under varying illumination conditions |
JP4318465B2 (ja) | 2002-11-08 | 2009-08-26 | コニカミノルタホールディングス株式会社 | 人物検出装置および人物検出方法 |
JP4474885B2 (ja) | 2003-09-30 | 2010-06-09 | カシオ計算機株式会社 | 画像分類装置及び画像分類プログラム |
GB2434933B (en) * | 2006-02-01 | 2009-06-03 | Motorola Inc | Apparatus and method for image labelling |
US8031914B2 (en) | 2006-10-11 | 2011-10-04 | Hewlett-Packard Development Company, L.P. | Face-based image clustering |
US8098936B2 (en) * | 2007-01-12 | 2012-01-17 | Seiko Epson Corporation | Method and apparatus for detecting objects in an image |
US8300936B2 (en) * | 2007-04-03 | 2012-10-30 | Flashfoto, Inc. | System and method for improving display of tuned multi-scaled regions of an image with local and global control |
US8131077B2 (en) * | 2007-04-03 | 2012-03-06 | Flashfoto, Inc. | Systems and methods for segmenting an image based on perceptual information |
US7949181B2 (en) * | 2007-06-28 | 2011-05-24 | General Electric Company | Segmentation of tissue images using color and texture |
US8126244B2 (en) * | 2007-09-21 | 2012-02-28 | Siemens Medical Solutions Usa, Inc. | User interface for polyp annotation, segmentation, and measurement in 3D computed tomography colonography |
CN100550037C (zh) | 2007-11-23 | 2009-10-14 | 重庆大学 | 利用改进Hausdorff距离提取识别人耳特征的方法 |
US8135216B2 (en) * | 2007-12-11 | 2012-03-13 | Flashfoto, Inc. | Systems and methods for unsupervised local boundary or region refinement of figure masks using over and under segmentation of regions |
US8107726B2 (en) * | 2008-06-18 | 2012-01-31 | Samsung Electronics Co., Ltd. | System and method for class-specific object segmentation of image data |
US8433101B2 (en) * | 2008-07-31 | 2013-04-30 | Samsung Electronics Co., Ltd. | System and method for waving detection based on object trajectory |
US8428354B2 (en) * | 2009-06-23 | 2013-04-23 | Los Alamos National Security, Llc | Image segmentation by hierarchial agglomeration of polygons using ecological statistics |
US8335374B2 (en) * | 2009-08-12 | 2012-12-18 | Genetix Corporation | Image segmentation |
US8655093B2 (en) * | 2010-09-02 | 2014-02-18 | Edge 3 Technologies, Inc. | Method and apparatus for performing segmentation of an image |
-
2008
- 2008-07-31 US US13/055,118 patent/US8913831B2/en not_active Expired - Fee Related
- 2008-07-31 DE DE112008003959T patent/DE112008003959T5/de not_active Withdrawn
- 2008-07-31 CN CN2008801306407A patent/CN102113014A/zh active Pending
- 2008-07-31 WO PCT/US2008/009311 patent/WO2010014067A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2010014067A1 (en) | 2010-02-04 |
US8913831B2 (en) | 2014-12-16 |
CN102113014A (zh) | 2011-06-29 |
US20120033875A1 (en) | 2012-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112008003959T5 (de) | Wahrnehmungssegmentierung von Bildern | |
DE60210199T2 (de) | Verfahren zur erkennung von motivbereichen in bildern | |
Baslamisli et al. | Joint learning of intrinsic images and semantic segmentation | |
DE60215743T2 (de) | Verfahren und Rechnerprogrammprodukt zur Lagebestimmung von Gesichtsmerkmalen | |
Xiao et al. | Multiple view semantic segmentation for street view images | |
DE602004008984T2 (de) | Verfahren zur Erkennung von farbigen Objekten in digitalen Bildern | |
Kekre et al. | Image retrieval with shape features extracted using gradient operators and slope magnitude technique with BTC | |
Neal et al. | Measuring shape | |
CN104835175B (zh) | 一种基于视觉注意机制的核环境中目标检测方法 | |
DE102014019054A1 (de) | Datenverarbeitungssystem und Verfahren zur Durchführung einer Gesichtserkennung | |
Khan et al. | UAV’s agricultural image segmentation predicated by clifford geometric algebra | |
Yoo et al. | Local color transfer between images using dominant colors | |
DE102018003475A1 (de) | Formbasierte Grafiksuche | |
US8249342B1 (en) | Color analytics for a digital image | |
DE202014010866U1 (de) | Spekularitätsbestimmung von Bildern | |
DE202022101680U1 (de) | Ein automatisches System zur Erkennung von Handgesten | |
Li et al. | Multivariate mathematical morphology based on principal component analysis: initial results in building extraction | |
DE102005049017A1 (de) | Verfahren zur Segmentierung in einem n-dimensionalen Merkmalsraum und Verfahren zur Klassifikation auf Grundlage von geometrischen Eigenschaften segmentierter Objekte in einem n-dimensionalen Datenraum | |
Pujas et al. | Robust colour image segmentation | |
KR101513931B1 (ko) | 구도의 자동보정 방법 및 이러한 구도의 자동보정 기능이 탑재된 영상 장치 | |
Vanrell et al. | Induction operators for a computational colour–texture representation | |
Van Coillie et al. | Semi-automated forest stand delineation using wavelet based segmentation of very high resolution optical imagery | |
Varalakshmamma et al. | Detection and restoration of image from multi-color fence occlusions | |
Song et al. | Underwater image enhancement method based on dark channel prior and guided filtering | |
Várkonyi-Kóczy | New advances in digital image processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06T0005000000 Ipc: G06T0011000000 Effective date: 20110420 |
|
R016 | Response to examination communication | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |