DE102018119682A1 - Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium - Google Patents

Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium Download PDF

Info

Publication number
DE102018119682A1
DE102018119682A1 DE102018119682.2A DE102018119682A DE102018119682A1 DE 102018119682 A1 DE102018119682 A1 DE 102018119682A1 DE 102018119682 A DE102018119682 A DE 102018119682A DE 102018119682 A1 DE102018119682 A1 DE 102018119682A1
Authority
DE
Germany
Prior art keywords
representative position
recognizer
recognition
editing
representative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102018119682.2A
Other languages
English (en)
Inventor
Masaki Inaba
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of DE102018119682A1 publication Critical patent/DE102018119682A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19147Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1916Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning

Abstract

Eine Vielzahl von Erkennungspositionen, die jeweils durch einen Erkenner als eine Position eines Zielobjekts auf einem Eingabebild erkannt werden/sind, werden erfasst. Zumindest eine repräsentative Position wird erhalten, indem eine Clusterbildung für die Vielzahl von Erkennungspositionen durchgeführt wird. Die repräsentative Position wird gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position editiert. Das Eingabebild und die repräsentative Position werden als Lerndaten gespeichert, die zum Belernen des Erkenners zu verwenden sind.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Bildverarbeitungsvorrichtung, ein Bildverarbeitungsverfahren und ein nicht-vorübergehendes computerlesbares Speichermedium, insbesondere auf eine Technik betreffend Bilderkennung.
  • Beschreibung der verwandten Technik
  • Herkömmlich gibt es eine Methode des Lernens eines Merkmals oder eines Musters aus einem Farbbild oder einem Tiefenbild, das durch Aufnehmen eines Zielobjekts erhalten wird, und Erkennen des Zielobjekts. In einer solchen Methode muss ein Mensch, um das Merkmal oder das Muster zu lernen, in dem Farbbild oder dem Tiefenbild be-/kennzeichnen, welches Zielobjekt umfasst ist, oder die Position oder die Position/Orientierung des Zielobjekts be-/kennzeichnen (was hierin nachstehend als „Labeling“ bzw. „Markierung“ oder „Kennzeichnung“ zu bezeichnen ist). Zum Lernen muss eine enorme Menge solcher Daten erstellt werden. Für den Menschen ist es jedoch schwierig, das gesamte Labeling durchzuführen.
  • Um dieses Problem zu lösen, gibt es eine Methode, die Genauigkeit eines Recognizers bzw. Erkenners zu erhöhen, indem „Korrektur eines Erkennungsergebnisses durch einen aktuellen Erkenner“ und „Belernen/Aktualisieren des Erkenners unter Verwendung der korrigierten Daten“ wiederholt wird, wie in dem japanischen Patent Nr. 5953151 .
  • Wenn der Erkenner die Position oder die Position/Orientierung des Zielobjekts erkennt, wird jedoch eine enorme Anzahl von Pixeln in dem Bild als ein Erkennungsergebnis ausgegeben. Daher sind die Kosten bzw. der Aufwand zum Korrigieren jedes Erkennerergebnisses durch den Menschen hoch.
  • KURZFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung wurde in Anbetracht des vorstehend beschriebenen Problems gemacht und stellt eine Technik zum Reduzieren einer Last auf einem Benutzer in Bezug auf eine Be-/Kennzeichnung der Position eines Zielobjekts in einem Bild bereit.
  • Gemäß dem ersten Aspekt der vorliegenden Erfindung ist eine Bildverarbeitungsvorrichtung bereitgestellt, mit: einer Erfassungseinrichtung zum Erfassen einer Vielzahl von Erkennungspositionen, von denen jede durch einen Erkenner als eine Position eines Zielobjekts auf einem Eingabebild erkannt wird; einer Recheneinrichtung zum Erhalten von zumindest einer repräsentativen Position durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen; einer Editiereinrichtung zum Editieren der repräsentativen Position gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position; und einer Speichereinrichtung zum Speichern des Eingabebilds und der repräsentativen Position als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
  • Gemäß dem zweiten Aspekt der vorliegenden Erfindung ist eine Bildverarbeitungsvorrichtung bereitgestellt, mit: einer Erfassungseinrichtung zum Erfassen einer Vielzahl von Erkennungspositionen/-orientierungen, von denen jede durch einen Erkenner als eine Position/Orientierung eines Zielobjekts auf einem Eingabebild erkannt wird; einer Recheneinrichtung zum Erhalten von zumindest einer repräsentativen Position/Orientierung durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen/-orientierungen; einer Editiereinrichtung zum Editieren der repräsentativen Position/Orientierung gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position/Orientierung; und einer Speichereinrichtung zum Speichern des Eingabebilds und der repräsentativen Position/Orientierung als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
  • Gemäß dem dritten Aspekt der vorliegenden Erfindung ist ein Bildverarbeitungsverfahren bereitgestellt, mit: Erfassen einer Vielzahl von Erkennungspositionen, von denen jede durch einen Erkenner als eine Position eines Zielobjekts auf einem Eingabebild erkannt wird; Erhalten von zumindest einer repräsentativen Position durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen; Editieren der repräsentativen Position gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position; und Speichern des Eingabebilds und der repräsentativen Position als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
  • Gemäß dem vierten Aspekt der vorliegenden Erfindung ist ein Bildverarbeitungsverfahren bereitgestellt, mit: Erfassen einer Vielzahl von Erkennungspositionen/- orientierungen, von denen jede durch einen Erkenner als eine Position/Orientierung eines Zielobjekts auf einem Eingabebild erkannt wird; Erhalten von zumindest einer repräsentativen Position/Orientierung durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen/-orientierungen; Editieren der repräsentativen Position/Orientierung gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position/Orientierung; und Speichern des Eingabebilds und der repräsentativen Position/Orientierung als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
  • Gemäß dem fünften Aspekt der vorliegenden Erfindung ist ein nicht-vorübergehendes computerlesbares Speichermedium bereitgestellt, das ein Computerprogramm speichert, das konfiguriert ist zum Veranlassen eines Computers zum Funktionieren als: eine Erfassungseinrichtung zum Erfassen einer Vielzahl von Erkennungspositionen, von denen jede durch einen Erkenner als eine Position eines Zielobjekts auf einem Eingabebild erkannt wird; eine Recheneinrichtung zum Erhalten von zumindest einer repräsentativen Position durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen; eine Editiereinrichtung zum Editieren der repräsentativen Position gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position; und eine Speichereinrichtung zum Speichern des Eingabebilds und der repräsentativen Position als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
  • Gemäß dem sechsten Aspekt der vorliegenden Erfindung ist ein nicht-vorübergehendes computerlesbares Speichermedium bereitgestellt, das ein Computerprogramm speichert, das konfiguriert ist zum Veranlassen eines Computers zum Funktionieren als: eine Erfassungseinrichtung zum Erfassen einer Vielzahl von Erkennungspositionen/-orientierungen, von denen jede durch einen Erkenner als eine Position/Orientierung eines Zielobjekts auf einem Eingabebild erkannt wird; eine Berechnungseinrichtung zum Erhalten von zumindest einer repräsentativen Position/Orientierung durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen/-orientierungen; eine Editiereinrichtung zum Editieren der repräsentativen Position/Orientierung gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position/Orientierung; und eine Speichereinrichtung zum Speichern des Eingabebilds und der repräsentativen Position/Orientierung als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
  • Weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung von beispielhaften Ausführungsbeispielen (unter Bezugnahme auf die beigefügten Zeichnungen) deutlich.
  • Figurenliste
    • 1 ist ein Blockschaltbild, das ein Beispiel der funktionalen Ausgestaltung einer Objekterkennungsvorrichtung zeigt;
    • 2A und 2B sind Ablaufdiagramme einer Objekterkennungsverarbeitung;
    • 3A bis 3D sind Ansichten zur Erläuterung der Prozesse einer Erkennungseinheit 102 und einer Klassifikationseinheit 103;
    • 4 ist eine Ansicht, die ein Anzeigebeispiel eines Bildschirms zeigt;
    • 5A bis 5D sind Ansichten zur Erläuterung eines Editierens eines Labels durch den Benutzer;
    • 6 ist ein Blockschaltbild, das ein Beispiel der funktionalen Ausgestaltung einer Objekterkennungsvorrichtung zeigt;
    • 7 ist ein Ablaufdiagramm, das Einzelheiten der Prozesse von Schritten S2 und S3 zeigt;
    • 8 ist ein Blockschaltbild, das ein Beispiel der funktionalen Ausgestaltung einer Objekterkennungsvorrichtung zeigt;
    • 9 ist ein Ablaufdiagramm, das Einzelheiten der Prozesse von Schritten S2 und S3 zeigt;
    • 10A bis 10C sind Ansichten zur Erläuterung einer Verarbeitung, die in einem Fall ausgeführt wird, in dem nicht nur eine Position, sondern auch eine Orientierung erkannt wird; und
    • 11 ist ein Blockschaltbild, das ein Beispiel der Hardwareausgestaltung einer Computervorrichtung zeigt.
  • BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
  • Die Ausführungsbeispiele der vorliegenden Erfindung werden nun unter Bezugnahme auf die begleitenden Zeichnungen beschrieben. Es ist zu beachten, dass die nachstehend zu beschreibenden Ausführungsbeispiele Beispiele einer detaillierten Implementierung der vorliegenden Erfindung oder detaillierte Beispiele der in den beigefügten Patentansprüchen beschriebenen Ausgestaltung darstellen.
  • [Erstes Ausführungsbeispiel]
  • Eine Bildverarbeitungsvorrichtung gemäß diesem Ausführungsbeispiel hat eine Labeling- bzw. Markierungs-/Kennzeichnungsfunktion zum Clustern bzw. Gruppieren der Erkennungspositionen eines Zielobjekts, die unter Verwendung eines Recognizers bzw. Erkenners für ein Eingabebild erkannt werden, und Einstellen der repräsentativen Position der Erkennungspositionen, die durch die Clusterbildung bzw. Gruppierung erhalten werden, auf ein Label bzw. eine Markierung/Kennzeichnung als ein durch einen Benutzer zu korrigierendes Ziel. Diese Funktion vermeidet die Notwendigkeit des Bestätigens und Korrigierens von allen Erkennungspositionen durch den Benutzer. Da es nur notwendig ist, das Label bzw. die Markierung/Kennzeichnung basierend auf der repräsentativen Position zu bestätigen und zu korrigieren, ist die Arbeit für Labeling bzw. Markierung/Kennzeichnung reduziert. Hier meint das Label bzw. die Markierung/Kennzeichnung Informationen betreffend die Position oder die Position/Orientierung des Zielobjekts in dem Bild. Das Label bzw. die Markierung/Kennzeichnung wird als Kontroll-/Leitdaten zum Einrichten des Recognizers zw. Erkenners verwendet.
  • Ein Beispiel der funktionalen Ausgestaltung einer Objekterkennungsvorrichtung gemäß diesem Ausführungsbeispiel wird zunächst unter Bezugnahme auf das Blockschaltbild von 1 beschrieben. Wie es in 1 gezeigt ist, umfasst eine Objekterkennungsvorrichtung 1000 gemäß diesem Ausführungsbeispiel eine Bildaufnahmevorrichtung 1, eine Anzeigevorrichtung 2, eine Bedienvorrichtung 3 und eine Bildverarbeitungsvorrichtung 1100.
  • Zunächst wird die Bildaufnahmevorrichtung 1 beschrieben. Die Bildaufnahmevorrichtung 1 ist eine Vorrichtung, die ein Stehbild oder ein Bewegtbild aufnimmt. Das aufgenommene Bild ist nicht auf ein bestimmtes Bild beschränkt, und es kann ein Farbbild (zum Beispiel ein RGB-Bild), ein Schwarzweißbild, ein Infrarotbild oder ein Tiefenbild, das Tiefeninformationen darstellt, sein. Das durch die Bildaufnahmevorrichtung 1 aufgenommene Bild wird an die Bildverarbeitungsvorrichtung 1100 gesendet.
  • Als Nächstes wird die Anzeigevorrichtung 2 beschrieben. Die Anzeigevorrichtung 2 ist durch eine CRT, einen Flüssigkristallbildschirm oder dergleichen gebildet und kann das Verarbeitungsergebnis der Bildverarbeitungsvorrichtung 1100 durch ein Bild, Zeichen oder dergleichen anzeigen. Es ist zu beachten, dass die Anzeigevorrichtung 2 ein Berührungsfeldbildschirm sein kann. In diesem Fall werden die Inhalte von verschiedenen Arten von Bedienungen von dem Benutzer an dem Berührungsfeldbildschirm als Bedieninformationen an die Bildverarbeitungsvorrichtung 1100 gesendet.
  • Als Nächstes wird die Bedienvorrichtung 3 beschrieben. Die Bedienvorrichtung 3 ist durch eine Benutzerschnittstelle wie etwa eine Maus oder eine Tastatur gebildet. Wenn sie durch den Benutzer bestätigt wird, kann die Bedienvorrichtung 3 verschiedene Arten von Anweisungen an die Bildverarbeitungsvorrichtung 1100 eingeben. Nachstehend wird hierin eine Beschreibung unter der Annahme vorgenommen, dass die Bedienvorrichtung 3 eine Maus ist. Es kann jedoch jegliche Benutzerschnittstelle auf die Bedienvorrichtung 3 angewandt werden, wenn sie eine Benutzerschnittstelle ist, die zum Eingeben der gleichen Anweisungen wie derjenigen, die nachstehend zu beschreiben sind, an die Bildverarbeitungsvorrichtung 1100 imstande ist.
  • Als Nächstes wird die Bildverarbeitungsvorrichtung 1100 beschrieben. Eine Bilderfassungseinheit 101 erfasst ein aufgenommenes Bild, das von der Bildaufnahmevorrichtung 1 gesendet wird. Es ist zu beachten, dass die Quelle zur Erfassung des aufgenommenen Bilds nicht auf die Bildaufnahmevorrichtung 1 beschränkt ist. Das aufgenommene Bild kann von einer Vorrichtung wir etwa einer Datenbank, einer Servervorrichtung, einer Tabletendgerätevorrichtung oder einem Smartphone über ein Netzwerk wie etwa ein LAN oder das Internet erfasst werden. Das aufgenommene Bild kann ein Bild sein, das durch die Bilderaufnahmevorrichtung 1 aufgenommen ist, kann ein Bild sein, das in einer für die Öffentlichkeit zugänglichen Bilddatenbank registriert ist, oder kann ein Bild sein, das in das Web hochgeladen ist.
  • Eine Erkennungseinheit 102 richtet ein CNN („Convolutional Neural Network“) (einen Recognizer bzw. Erkenner) unter Verwendung der Modellstruktur von dem CNN und den Parametern von dem CNN ein, die in einer Erkennerspeichereinheit 108 gespeichert sind. Die Erkennungseinheit 102 wendet das eingerichtete bzw. gebildete CNN auf das aufgenommene Bild an, das durch die Bilderfassungseinheit 101 erfasst wird, wodurch die Position eines Zielobjekts in dem aufgenommenen Bild als eine Erkennungsposition erkannt wird.
  • Eine Klassifikationseinheit 103 führt eine Clusterbildung bzw. Gruppierung der durch die Erkennungseinheit 102 erkannten Erkennungspositionen durch, wodurch die Erkennungspositionen in ein oder mehr Klassen klassifiziert werden. Die Klassifikationseinheit 103 erhält (er-/berechnet) dann eine repräsentative Position (ein Label bzw. eine Markierung/Kennzeichnung) entsprechend einer Klasse basierend auf den zu der Klasse gehörenden Erkennungspositionen.
  • Eine Bedienungsannahmeeinheit 104 sendet eine Anweisung entsprechend einem Bedienungsinhalt, der durch den Benutzer durch Bedienung der Bedienvorrichtung 3 eingegeben wird, an eine Eingabeeinheit 105. Die Eingabeeinheit 105 führt ein Editieren (Labeling bzw. Markierung/Kennzeichnung) der vorgenannten repräsentativen Position basierend auf der von der Bedienungsannahmeeinheit 104 empfangenen Anweisung durch. Die Eingabeeinheit 105 speichert dann das aufgenommene Bild und die repräsentative Position in einer Speichereinheit 106 als Lerndaten, die zum Belernen von dem CNN zu verwenden sind.
  • Eine Lerneinheit 107 erstellt Kontroll-/Leitdaten unter Verwendung der in der Speichereinheit 106 gespeicherten Lerndaten. Dann richtet die Lerneinheit 107 das CNN unter Verwendung der Modellstruktur von dem CNN und den Parametern von dem CNN ein, die in der Erkennerspeichereinheit 108 gespeichert sind, und führt sie eine Lernverarbeitung der Parameter von dem einerichteten bzw. gebildeten CNN unter Verwendung der Kontroll-/Leitdaten durch, die wie vorstehend dargelegt erzeugt werden. Die Lerneinheit 107 aktualisiert dann die Parameter von dem CNN, die in der Erkennerspeichereinheit 108 gespeichert sind, auf die durch die Lernverarbeitung erhaltenen Parameter.
  • Die Erkennerspeichereinheit 108 hält die Modellstruktur und die Parameter von dem CNN. Bei diesem Ausführungsbeispiel ist die Modellstruktur von dem CNN als ein Modell ausgelegt bzw. gestaltet, das ein aufgenommenes Bild empfängt und eine 2-Klassen-Diskriminierung, die darstellt, ob ein Zielobjekt in jedem Bildbereich des aufgenommenen Bilds umfasst ist, über eine Faltungsschicht, eine Vollverbindungsschicht und eine Softmax-Schicht ausgibt. Hier bezeichnen die Parameter von dem CNN Gewichtungen in der Faltungsschicht und der Vollverbindungsschicht.
  • Eine Steuereinheit 199 steuert die Betriebsvorgänge der Funktionseinheiten, umfassend die Bilderfassungseinheit 101, die Erkennungseinheit 102, die Klassifikationseinheit 103, die Lerneinheit 107, die Bedienungsannahmeeinheit 104 und die Eingabeeinheit 105, und steuert auch den Betrieb der gesamten Bildverarbeitungsvorrichtung 1100.
  • Es ist zu beachten, dass 1 die Bildaufnahmevorrichtung 1, die Anzeigevorrichtung 2, die Bedienvorrichtung 3 und die Bildverarbeitungsvorrichtung 1100 als separate Vorrichtungen zeigt. Zwei oder mehr der Vorrichtungen können jedoch in einer Vorrichtung integriert sein.
  • Als Nächstes wird eine Objekterkennungsverarbeitung durch die Bildverarbeitungsvorrichtung 1100 unter Bezugnahme auf das Ablaufdiagramm von 2A beschrieben. In Schritt S1 bestimmt die Steuereinheit 199, ob ein Belernen von einem CNN (einem Erkenner) notwendig ist. Eine Bedingung zum Bestimmen, ob ein Belernen von einem CNN notwendig ist, ist nicht auf eine bestimmte Bedingung beschränkt. Zum Beispiel bestimmt die Steuereinheit 199, das ein Belernen von dem CNN notwendig ist, auf Detektion hin, dass der Benutzer die Bedienvorrichtung 3 betätigt und eine CNN-Lernanweisung eingibt. Außerdem bestimmt die Steuereinheit 199 zum Beispiel, dass ein Belernen von dem CNN notwendig ist, zu jedem vorbestimmten Zeitpunkt oder jeder Zeit, zu der eine vorbestimmte Bedingung erfüllt ist.
  • Wenn als das Bestimmungsergebnis bestimmt wird, dass ein Belernen von dem CNN notwendig ist, schreitet der Prozess zu Schritt S2 voran. Andererseits, wenn nicht bestimmt wird, dass ein Belernen von dem CNN notwendig ist, schreitet der Prozess zu Schritt S4 voran.
  • In Schritt S2 werden Lerndaten in der vorstehend beschriebenen Art und Weise erzeugt und in der Speichereinheit 106 gespeichert. In Schritt S3 werden Kontroll-/Leitdaten unter Verwendung der Lerndaten erstellt, wird ein Lernen der Parameter von dem CNN unter Verwendung der Kontroll-/Leitdaten durchgeführt, und werden die Parameter von dem CNN, die in der Erkennerspeichereinheit 108 gespeichert sind, auf die Parameter nach dem Lernen aktualisiert.
  • Einzelheiten der Prozesse von Schritten S2 und S3 werden unter Bezugnahme auf das Ablaufdiagramm von 2B beschrieben. Gemäß 2B werden Schritte S11 bis S15 in Schritt S2 ausgeführt, und werden Schritte S16 und S17 in Schritt S3 ausgeführt.
  • In Schritt S11 erfasst die Bilderfassungseinheit 101 ein aufgenommenes Bild, das von der Bildaufnahmevorrichtung 1 gesendet wird. In Schritt S12 richtet die Erkennungseinheit 102 zunächst ein CNN unter Verwendung der Modellstruktur von dem CNN (dem Erkenner) und den Parametern von dem CNN ein, die in der Erkennerspeichereinheit 108 gespeichert sind. Die Erkennungseinheit 102 wendet das eingerichtete bzw. gebildete CNN auf das aufgenommene Bild an, das durch die Bilderfassungseinheit 101 in Schritt S11 erfasst wird, wodurch die Position eines Zielobjekts in dem aufgenommenen Bild als eine Erkennungsposition erkannt wird.
  • Zum Beispiel, wenn die Bilderfassungseinheit 101 ein Bild 31, das in 3A gezeigt ist, als ein aufgenommenes Bild erfasst, stellt die Erkennungseinheit 102 einen Bildbereich 33 mit Bezug auf eine Pixel-von-Interesse-Position 32 in dem Bild 31 als die Mitte ein, wie es in 3B gezeigt ist. Der Bildbereich 33 muss nur die Pixel-von-Interesse-Position 32 umfassen und muss nicht immer ein Bildbereich mit Bezug auf die Pixel-von-Interesse-Position 32 als die Mitte sein. Die Erkennungseinheit 102 gibt das Bild in dem Bildbereich 33 an das eingerichtete bzw. gebildete CNN ein und führt eine arithmetische Verarbeitung von dem CNN durch, wodurch die Ausgabe von dem CNN erhalten wird. Wenn die Ausgabe von dem CNN „das Zielobjekt ist in dem Bildbereich 33 umfasst“ bezeichnet, erkennt die Erkennungseinheit 102 die Pixel-von-Interesse-Position 32 als die Position (Erkennungsposition) des Zielobjekts in dem Bild 31. Andererseits, wenn die Ausgabe von dem CNN nicht „das Zielobjekt ist in dem Bildbereich 33 umfasst“ bezeichnet, erkennt die Erkennungseinheit 102 nicht die Pixel-von-Interesse-Position 32 als die Position (Erkennungsposition) des Zielobjekts in dem Bild 31. Die Erkennungseinheit 102 führt die gleiche Verarbeitung, wie sie vorstehend beschrieben ist, für jede Pixelposition durch, während die Pixel-von-Interesse-Position in der Rasterscanreihenfolge bewegt wird, wie es durch eine gestrichelte Linie 34 angedeutet ist, wodurch für jede Pixelposition auf dem Bild 31 bestimmt wird, ob das Zielobjekt in dem Bildbereich mit Bezug auf die Pixelposition als die Mitte umfasst ist. Die Position des Zielobjekts auf dem Bild 31 kann somit erkannt werden. Es ist zu beachten, dass die Bewegungsreihenfolge der Pixel-von-Interesse-Position 32 nicht auf die Rasterscanreihenfolge beschränkt ist, solange für jede Pixelposition auf dem Bild 31 bestimmt werden kann, ob das Zielobjekt in dem Bildbereich mit Bezug auf die Pixelposition als die Mitte umfasst ist.
  • 3C zeigt ein Ergebnis, das erhalten wird, wenn ein zylindrisches Objekt der in dem Bild 31 umfassten Objekte als ein Zielobjekt festgelegt ist, und Marker „x“ (die hierin nachstehend als Erkennungspositionsmarker zu bezeichnen sind) an den Erkennungspositionen des Zielobjekts auf dem Bild 31 hinzugefügt werden. Da in den benachbarten Pixeln ähnliche Bilder extrahiert werden, sind die Erkennungspositionen häufig dicht gedrängt, wie es zum Beispiel durch eine Erkennungspositionsmarkergruppe 35 angedeutet ist. Außerdem tritt ein Erkennungsfehler leicht für eine Position mit einem Merkmal auf, das ähnlich zu dem Zielobjekt ist. Zum Beispiel, da ein Würfel dahingehend gleich einem Zylinder ist, dass er durch Kanten (Luminanz- bzw. Helligkeitsgradienten in dem Bild) umschlossen ist, kann ein Erkennungsfehler auftreten, wie es zum Beispiel durch eine Erkennungspositionsmarkergruppe 36 angedeutet ist.
  • In Schritt S13 definiert die Klassifikationseinheit 103 den Satz bzw. die Menge der Positionen (Erkennungspositionen) des Zielobjekts, das durch die Erkennungseinheit 102 in Schritt S12 erkannt wird, als einen Anfangssatz, und clustert bzw. gruppiert den Anfangssatz basierend auf einer vorbestimmten Clusterbildungs- bzw. Gruppierungsbedingung, wodurch die in dem Satz bzw. der Menge umfassten Erkennungspositionen in ein oder mehr Klassen klassifiziert werden.
  • Dann erhält die Klassifikationseinheit 103, für jede der ein oder mehr klassifizierten Klassen, eine repräsentative Position, die der Klasse entspricht, basierend auf den zu der Klasse gehörenden Erkennungspositionen. Zum Beispiel, wenn der Anfangssatz unter Verwendung des K-Means-Algorithmus basierend auf dem Merkmal bzw. der Eigenschaft des Anfangssatzes geclustert wird, werden nahegelegene Erkennungspositionen in eine Klasse gegeben bzw. eingebracht. Für jede Klasse wird die Durchschnittsposition der zu der Klasse gehörenden Erkennungspositionen als die repräsentative Position der Klasse erhalten. Zum Beispiel, wenn die Positionen der in 3C gezeigten Erkennungspositionsmarkergruppen geclustert werden, werden sie in fünf Klassen klassifiziert. 3D zeigt das Klassifikationsergebnis. Gemäß 3D ist ein Marker „O“ (der hierin nachstehend als ein Repräsentative-Position-Marker zu bezeichnen ist) an der Position (der repräsentativen Position der Klasse) von jeder der fünf klassifizierten Klassen hinzugefügt. Ein Repräsentative-Position-Marker 37 befindet sich an der repräsentativen Position der Klasse, die der Erkennungspositionsmarkergruppe 35 entspricht, und ein Repräsentative-Position-Marker 38 befindet sich an der repräsentativen Position der Klasse, die der Erkennungspositionsmarkergruppe 36 entspricht. Es ist zu beachten, dass die Parameter (zum Beispiel die Anzahl von Klassen und der Umfang (Klassenbereich), der zur Definition einer Klasse geeignet ist), die für die Clusterbildung notwendig sind, durch den Benutzer im Voraus bestimmt und durch die Klassifikationseinheit 103 gehalten werden.
  • Die Klassifikationseinheit 103 verbindet den Repräsentative-Position-Marker mit der repräsentativen Position von jeder Klasse auf dem aufgenommenen Bild (auf dem Eingabebild), das durch die Bilderfassungseinheit 101 in Schritt S1 erfasst wird, und zeigt dann einen Bildschirm, der das aufgenommene Bild umfasst, auf dem Anzeigebildschirm der Anzeigevorrichtung 2 an. 4 zeigt ein Anzeigebeispiel des Bildschirms. Auf einem Bildschirm 41 wird das aufgenommene Bild, das durch die Bilderfassungseinheit 101 in Schritt S1 erfasst wird, in einem Anzeigebereich 42 angezeigt. Repräsentative-Position-Marker 401 bis 405 sind an den repräsentativen Positionen der Klassen auf dem aufgenommenen Bild angeordnet.
  • Ein Schieberegler 43 wird verwendet, um die zur Clusterbildung notwendigen Parameter einzustellen. Zum Beispiel, wenn der Benutzer eine Bedienung dahingehend durchführt, dass er einen Cursor 44 an die Position des Schiebereglers 43 bewegt und dann die Position des Schiebereglers 43 so ändert, dass der Schieberegler 43 näher an das rechte Ende gebracht wird, indem die Bedienvorrichtung 3 betätigt wird, kann eine größere Anzahl von Klassen oder ein weiterer Klassenbereich bzw. -umfang bestimmt werden. Alternativ, wenn der Benutzer eine Bedienung dahingehend durchführt, dass er den Cursor 44 an die Position des Schiebereglers 43 bewegt und dann die Position des Schiebereglers 43 so ändert, dass der Schieberegler 43 näher an das linke Ende gebracht wird, indem die Bedienvorrichtung 3 betätigt wird, kann eine kleinere Anzahl von Klassen oder ein engerer Klassenbereich bzw. -umfang bestimmt werden. Die aktuell bestimmte Anzahl von Klassen oder der aktuell bestimmte Klassenbereich bzw. -umfang wird als ein Zahlenwert in einem Bereich 43a angezeigt. Es ist zu beachten, dass der Benutzer die Anzahl von Klassen oder den Klassenbereich bzw. -umfang einstellen kann, indem er die Bedienvorrichtung 3 betätigt und damit einen Zahlenwert in dem Bereich 43a direkt bestimmt. Die Methode zum Bestimmen der Anzahl von Klassen oder des Klassenbereichs bzw. -umfangs ist nicht auf eine spezielle Bestimmungsmethode beschränkt. Jedes Mal, wenn ein zur Clusterbildung notwendiger Parameter bestimmt wird, führt die Klassifikationseinheit 103 eine Clusterbildung des Anfangssatzes unter Verwendung des neu bestimmten Parameters durch, und zeigt sie in dem Anzeigebereich 42 das aufgenommene Bild an, in dem die Repräsentative-Position-Marker an den repräsentativen Positionen von durch die Clusterbildung erhaltenen Klassen angeordnet sind. Die Klassifikationseinheit 103 führt bzw. verwaltet die Liste (Repräsentative-Position-Liste) von neuesten/letzten repräsentativen Positionen. Es ist zu beachten, dass der in 4 gezeigte Bildschirm lediglich ein Beispiel eines Bildschirms darstellt, der auf dieses Ausführungsbeispiel anwendbar ist, und der Bildschirm nicht darauf beschränkt ist.
  • Als Nächstes nimmt die Bedienungsannahmeeinheit 104 in Schritt S14a eine Editierbedienungseingabe (Editier- bzw. Bearbeitungsanweisung) betreffend eine repräsentative Position an. Wenn der Benutzer die Editierbedienungseingabe betreffend eine repräsentative Position durch Betätigen der Bedienvorrichtung 3 vornimmt, erstellt die Bedienungsannahmeeinheit 104 eine Anweisung für das Editieren, und gibt sie diese an die Eingabeeinheit 105 ein.
  • In Schritt S14b führt die Eingabeeinheit 105, auf Empfang der Anweisung von der Bedienungsannahmeeinheit 104 hin, eine Editierverarbeitung betreffend eine repräsentative Position (ein Label), die durch die Klassifikationseinheit 103 klassifiziert wird, nämlich eine repräsentative Position, die in der vorgenannten Repräsentative-Position-Liste registriert ist, gemäß der Anweisung durch. Zum Beispiel führt der Benutzer die folgende Bedienung durch Betätigung der Bedienvorrichtung 3 durch, wodurch ein Labeling bzw. eine Markierung/Kennzeichnung wie etwa ein Löschen, eine Hinzufügung oder eine Korrektur von einem Label bzw. einer Markierung/Kennzeichnung implementiert wird.
  • Ein Editieren bzw. Bearbeiten von einem Label durch den Benutzer wird hier unter Bezugnahme auf 5A bis 5D beschrieben. Alle Labeleditierprozesse gemäß Benutzerbedienungen, die nachstehend zu beschreiben sind, werden durch die Eingabeeinheit 105 durchgeführt.
  • Der Benutzer bewegt den Cursor 44 an die Position eines gewünschten Repräsentative-Position-Markers der Repräsentative-Position-Marker 401 bis 405 und führt eine Rechtsklicken-Bedienung durch Betätigung der Bedienvorrichtung 3 durch, wodurch der gewünschte Repräsentative-Position-Marker gelöscht wird. Wenn der Repräsentative-Position-Marker gelöscht wird, wird eine repräsentative Position, die dem Repräsentative-Position-Marker entspricht, aus der vorgenannten Repräsentative-Position-Liste gelöscht. Zum Beispiel sei angenommen, dass die Repräsentative-Position-Marker 401 bis 405 auf dem in dem Anzeigebereich 42 angezeigten aufgenommenen Bild angeordnet sind, wie es in 5A gezeigt ist. Die Repräsentative-Position-Marker 401 und 403 der Repräsentative-Position-Marker 401 bis 405 bezeichnen die Positionen von zylindrischen Objekten, nämlich Zielobjekten. Die Repräsentative-Position-Marker 402 und 404 bezeichnen jedoch die Positionen von nichtzylindrischen Objekten, sondern würfelförmigen Objekten, und bezeichnen nicht die Position von Zielobjekten. Außerdem bezeichnet der Repräsentative-Position-Marker 405 überhaupt nicht die Position eines Objekts. In diesem Fall bewegt der Benutzer den Cursor 44 an jede der Positionen der Repräsentative-Position-Marker 402, 404 und 405, und führt er die Rechtsklicken-Bedienung durch, indem er die Bedienvorrichtung 3 betätigt, wodurch die Repräsentative-Position-Marker gelöscht werden. Als Folge hiervon verändert sich das Layout der Repräsentative-Position-Marker von 5A auf 5B. Gemäß 5B sind die Repräsentative-Position-Marker 402, 404 und 405 der Repräsentative-Position-Marker 401 bis 405, die in 5A gezeigt sind, gelöscht. In diesem Fall werden/sind repräsentative Positionen, die den Repräsentative-Position-Markern 402, 404 und 405 entsprechen, aus der vorgenannten Repräsentative-Position-Liste gelöscht. Als Folge hiervon sind nur repräsentative Positionen, die den Repräsentative-Position-Markern 401 und 403 entsprechen, in der Repräsentative-Position-Liste registriert.
  • Gemäß 5B sind die Repräsentative-Position-Marker 401 und 403 auf zwei Zielobjekten der drei Zielobjekte angeordnet. Es ist jedoch kein Repräsentative-Position-Marker auf einem verbleibenden Zielobjekt 406 angeordnet. Der Benutzer bewegt den Cursor 44 an die Position des Zielobjekts 406 und führt eine Linksklicken-Bedienung durch, indem er die Bedienvorrichtung 3 betätigt, wodurch ein neuer Repräsentative-Position-Marker 410 an der Position angeordnet wird, wie es in 5C gezeigt ist. Wenn der neue Repräsentative-Position-Marker 410 angeordnet wird, wird die Anordnungsposition des Repräsentative-Position-Markers 410 als eine repräsentative Position in der vorgenannten Repräsentative-Position-Liste registriert.
  • Außerdem bewegt der Benutzer den Cursor 44 an die Position eines gewünschten Repräsentative-Position-Markers, und führt er eine Ziehen-und-Ablegen-Bedienung durch, während er eine Linksklicken-Bedienung durchführt, indem er die Bedienvorrichtung 3 betätigt, wodurch die Position des gewünschten Repräsentative-Position-Markers bewegt wird. Wenn die Position des Repräsentative-Position-Markers bewegt wird, wird die Position des Repräsentative-Position-Markers in der vorgenannten Repräsentative-Position-Liste an die Position nach der Bewegung geändert. 5D zeigt ein Ergebnis, das erhalten wird, wenn der Benutzer die Position des Repräsentative-Position-Markers 403 in 5C durch Betätigung der Bedienvorrichtung 3 bewegt.
  • In Schritt S14c bestimmt die Steuereinheit 199, ob der Benutzer eine Beenden-Schaltfläche 45 durch Betätigung der Bedienvorrichtung 3 designiert. Wenn der Benutzer als das Bestimmungsergebnis die Beenden-Schaltfläche 45 durch Betätigung der Bedienvorrichtung 3 designiert, schreitet der Prozess zu Schritt S15 voran. Andererseits, wenn der Benutzer nicht die Beenden-Schaltfläche 45 durch Betätigung der Bedienvorrichtung 3 designiert, kehrt der Prozess zu Schritt S14a zurück.
  • In Schritt S15 speichert die Eingabeeinheit 105 die Repräsentative-Position-Liste und das aufgenommene Bild, das durch die Bilderfassungseinheit 101 in Schritt S11 erfasst wird, in der Speichereinheit 106 als Lerndaten, die zum Er-/Lernen der Parameter von dem CNN verwendet werden. Außerdem, wenn ein zur Clusterbildung notwendiger Parameter auf dem in 4 gezeigten Bildschirm geändert wird, hält die Klassifikationseinheit 103 den geänderten Parameter.
  • In Schritt S16 erstellt die Lerneinheit 107 Kontroll-/Leitdaten unter Verwendung der in der Speichereinheit 106 gespeicherten Lerndaten. Zum Beispiel stellt die Lerneinheit 107, wie die Erkennungseinheit 102, einen Bildbereich für jede Pixelposition in dem aufgenommenen Bild ein, die in den Lerndaten umfasst ist. Dann erzeugt die Lerneinheit 107, für jede Pixelposition in dem aufgenommenen Bild, Codedaten, die darstellen, ob die Pixelposition einer der repräsentativen Positionen entspricht, die in der Repräsentative-Position-Liste registriert sind, die in den Lerndaten umfasst ist (positiv oder negativ (Wahr oder Falsch)). Hier ist „A entspricht B“ nicht auf einen Fall beschränkt, in dem A vollkommen gleich B ist, und kann dies einen Fall umfassen, in dem die Differenz bzw. der Unterschied zwischen A und B nicht größer als ein vorbestimmter Wert ist. Wenn eine Pixel-von-Interesse-Position in dem aufgenommenen Bild, die in den Lerndaten umfasst ist, einer der repräsentativen Positionen entspricht, die in der Repräsentative-Position-Liste registriert sind, die in den Lerndaten umfasst ist, ordnet/weist die Lerneinheit 107 der Pixel-von-Interesse-Position Codedaten „Wahr“ zu. Andererseits, wenn die Pixel-von-Interesse-Position in dem aufgenommenen Bild, die in den Lerndaten umfasst ist, nicht einer der repräsentativen Positionen entspricht, die in der Repräsentative-Position-Liste registriert sind, die in den Lerndaten umfasst ist, ordnet/weist die Lerneinheit 107 der Pixel-von-Interesse-Position Codedaten „Falsch“ zu. Die Lerneinheit 107 erzeugt somit Kontroll-/Leitdaten, die für jede Pixelposition in dem aufgenommenen Bild ein Bild (Trainingsbild) in dem Bildbereich, der für die Pixelposition eingestellt ist, und Codedaten, die der Pixelposition zugeordnet/-gewiesen sind, in Zusammenhang miteinander halten.
  • Dann richtet die Lerneinheit 107 ein CNN unter Verwendung der Modellstruktur von dem CNN und den Parametern von dem CNN ein, die in der Erkennerspeichereinheit 108 gespeichert sind. Die Lerneinheit 107 optimiert die Parameter von dem CNN durch Backpropagation bzw. Rückführung, was generell in „Deep Learning“ verwendet wird, sodass die Ausgabe von dem CNN, die erhalten wird durch Eingeben von jedem Trainingsbild an das eingerichtete bzw. gebildete CNN, zu Codedaten wird, die dem Trainingsbild entsprechen. Als die Anfangswerte der Parameter von dem CNN zu dieser Zeit werden die Parameter von dem CNN verwendet, die in der Erkennerspeichereinheit 108 gespeichert sind.
  • In Schritt S17 aktualisiert die Lerneinheit 107 die Parameter von dem CNN, die in der Erkennerspeichereinheit 108 gespeichert sind, auf die Parameter von dem CNN, die durch das Lernen (die Optimierung) in Schritt S16 erhalten werden.
  • Erneut Bezug nehmend auf 2A erfasst die Bilderfassungseinheit 101 in Schritt S4 das aufgenommene Bild, das von der Bilderfassungsvorrichtung 1 gesendet wird. In Schritt S5 richtet die Erkennungseinheit 102 zunächst ein CNN (einen Erkenner) unter Verwendung der Modellstruktur von dem CNN und den Parametern von dem CNN ein, die in der Erkennerspeichereinheit 108 gespeichert sind. Die Erkennungseinheit 102 wendet dann das eingerichtete bzw. gebildete CNN auf das aufgenommene Bild an, das durch die Bilderfassungseinheit 101 in Schritt S4 erfasst wird, wodurch die Position eines Objekts in dem aufgenommenen Bild als eine Erkennungsposition erkannt wird. Das Ausgabeziel der Erkennungsposition des in Schritt S5 erkannten Objekts ist nicht auf ein spezielles Ausgabeziel beschränkt. Zum Beispiel kann das in Schritt S4 erfasste aufgenommene Bild in dem Anzeigebereich 42 des in 4 gezeigten Bildschirms angezeigt werden, und können gleichzeitig Informationen wie etwa ein Marker an der in Schritt S5 erkannten Erkennungsposition oder an einer benachbarten Position angeordnet werden.
  • Wie es vorstehend beschrieben ist, kann der Benutzer gemäß diesem Ausführungsbeispiel, wenn ein Labeling bzw. eine Markierung/Kennzeichnung für ein Bild durchgeführt wird, das Labeling bzw. die Markierung/Kennzeichnung mit Bezug auf eine repräsentative Position durchführen, die durch den aktuellen Erkenner erkannt wird, und wird daher die Arbeit des Benutzers für Labeling bzw. Markierung/Kennzeichnung reduziert.
  • <Abwandlungen von erstem Ausführungsbeispiel>
  • Bei dem ersten Ausführungsbeispiel wird der K-Means-Algorithmus zur Clusterbildung in Schritt S13 verwendet. Der Algorithmus zur Clusterbildung ist jedoch nicht auf einen speziellen Algorithmus beschränkt. Zum Beispiel kann ein anderer Clusterbildungsalgorithmus wie etwa Mean-Shift oder Nearest-Neighbor verwendet werden oder kann der Benutzer einen Bereich, der in eine Klasse zu geben bzw. einzubringen ist, durch Ziehen in dem Bild unter Verwendung der Maus bestimmen. Dies kann den Bereich von auf einmal zu verarbeitenden Erkennungsergebnissen frei anpassen.
  • Außerdem wird bei dem ersten Ausführungsbeispiel die Durchschnittsposition von zu einer Klasse gehörenden Erkennungspositionen als eine der Klasse entsprechende repräsentative Position in Schritt S13 verwendet. Die repräsentative Position kann jedoch unter Verwendung einer anderen Methode er-/berechnet werden. Zum Beispiel kann der Median von zu einer Klasse gehörenden Erkennungspositionen als die repräsentative Position der Klasse verwendet werden. Alternativ kann eine Spitzen- bzw. Höchstwertposition, die durch Anwenden von zu einer Klasse gehörenden Erkennungspositionen auf eine Gaußsche Verteilung gebildet wird, als die repräsentative Position der Klasse verwendet werden. Dies macht es möglich, eine stabile repräsentative Position zu er-/berechnen, selbst wenn Rauschen wie etwa ein Ausreißer an einer zu der Klasse gehörenden Erkennungsposition vorliegt.
  • Außerdem werden bei dem ersten Ausführungsbeispiel Marker, die die repräsentativen Positionen bezeichnen, in Schritt S13 auf dem aufgenommenen Bild angeordnet. Die anzuzeigenden Informationen bzw. Informationselemente sind jedoch nicht auf diese Informationen bzw. Informationselemente beschränkt. Zum Beispiel können nicht nur die Marker, die die repräsentativen Positionen bezeichnen, sondern auch Marker, die die Erkennungspositionen bezeichnen, zusammengestellt und auf dem aufgenommenen Bild angezeigt werden. Alternativ können die Positionen von einigen Zielobjekten zusammengestellt und auf dem aufgenommenen Bild angezeigt werden. Dies ermöglicht es dem Benutzer zu wissen, welche Art von Erkennungsergebnis durch den aktuellen Erkenner erhalten wird.
  • Weiterhin wird bei dem ersten Ausführungsbeispiel ein Labeling durch die Mausbedienung des Benutzers in Schritt S14a vorgenommen. Ein Labeling kann jedoch durch eine andere Methode vorgenommen werden. Zum Beispiel kann ein Labeling durch eine Bedienung durchgeführt werden, die unter Verwendung einer Tastatur eingegeben wird. Alternativ kann ein Labeling durch eine Bedienung durchgeführt werden, die unter Verwendung eines Berührungsfelds eingegeben wird.
  • Weiterhin wird bei dem ersten Ausführungsbeispiel eine repräsentative Position, die durch die Klassifikationseinheit 103 klassifiziert wird, als ein Anfangswert verwendet, und wird ein Labeling für den Anfangswert in Schritt S14b durchgeführt. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt. Zum Beispiel kann das aufgenommene Bild, mit dem Informationen bzw. Informationselemente verbunden sind, die die repräsentativen Positionen darstellen, als ein Bildschirm angezeigt werden, der von dem in 4 gezeigten Bildschirm verschieden ist, ohne einen Anfangswert einzustellen, wodurch bewirkt wird, dass der Benutzer ein Labeling mit Bezug auf die repräsentativen Positionen durchführt. Alternativ können die repräsentativen Positionen auf dem in 4 gezeigten Bildschirm als halbtransparente Marker gezeichnet werden, wodurch bewirkt wird, dass der Benutzer ein Labeling mit Bezug auf die repräsentativen Positionen durchführt.
  • [Zweites Ausführungsbeispiel]
  • Bei den folgenden Ausführungsbeispielen, umfassend dieses Ausführungsbeispiel und Abwandlungen, werden Unterschiede gegenüber dem ersten Ausführungsbeispiel beschrieben, und wird angenommen, dass der Rest gleich ist wie bei dem ersten Ausführungsbeispiel, sofern es nachstehend nicht eigens anders angegeben ist. Eine Bildverarbeitungsvorrichtung gemäß diesem Ausführungsbeispiel hat eine Funktion zum Berechnen der Zuverlässigkeit jeder Klasse und Umschalten, ob ein Labeling durch einen Benutzer durchzuführen ist, gemäß der Zuverlässigkeit, zusätzlich zu den Funktionen der Bildverarbeitungsvorrichtung gemäß dem ersten Ausführungsbeispiel. Da der Benutzer ein Label nur dann bestätigen und korrigieren muss, wenn die Zuverlässigkeit niedrig ist, wird die Arbeit für Labeling bzw. Markierung/Kennzeichnung reduziert.
  • Ein Beispiel der funktionalen Ausgestaltung einer Objekterkennungsvorrichtung gemäß diesem Ausführungsbeispiel wird zunächst unter Bezugnahme auf das Blockschaltbild von 6 beschrieben. Die gleichen Bezugszeichen wie in 1 bezeichnen die gleichen Funktionseinheiten in 6, und eine Beschreibung dieser Funktionseinheiten wird ausgelassen. Bei einer Objekterkennungsvorrichtung 2000 gemäß diesem Ausführungsbeispiel unterscheidet sich die Ausgestaltung einer Bildverarbeitungsvorrichtung 2100 von derjenigen der in 1 gezeigten Bildverarbeitungsvorrichtung 1100.
  • Eine Klassifikationseinheit 203 hat eine Funktion zum Erzeugen von Klassifikationsinformationen, umfassend die vorgenannte Repräsentative-Position-Liste, einen Satz bzw. Menge von durch eine Erkennungseinheit 102 erkannten Erkennungspositionen und Informationen, die darstellen, in welche Klasse die Erkennungspositionen klassifiziert sind, und Senden der Klassifikationsinformationen an eine Zuverlässigkeitsberechnungseinheit 209, zusätzlich zu der Funktion der Klassifikationseinheit 103.
  • Die Zuverlässigkeitsberechnungseinheit 209 berechnet, für jede Klasse, eine Zuverlässigkeit gemäß der Anzahl von Erkennungspositionen, die zu der Klasse gehören. Wenn die Anzahl von Klassen, deren Zuverlässigkeiten niedriger sind als ein Schwellenwert, gleich oder größer einer vorbestimmten Anzahl (zum Beispiel 1) ist, bestimmt die Zuverlässigkeitsberechnungseinheit 209, dass ein Labeling durch den Benutzer notwendig ist, und benachrichtigt sie eine Eingabeeinheit 105 darüber. Dementsprechend führt die Eingabeeinheit 105 eine Verarbeitung für ein Labeling durch den Benutzer durch, wie es bei dem ersten Ausführungsbeispiel der Fall ist. Andererseits, wenn die Anzahl von Klassen, deren Zuverlässigkeiten niedriger sind als der Schwellenwert, geringer ist als die vorbestimmte Anzahl, bestimmt die Zuverlässigkeitsberechnungseinheit 209, dass ein Labeling durch den Benutzer nicht notwendig ist, und speichert sie die Repräsentative-Position-Liste und ein aufgenommenes Bild, das durch eine Bilderfassungseinheit 109 in Schritt S11 erfasst wird, als Lerndaten in einer Speichereinheit 106.
  • Einzelheiten der Prozesse von Schritten S2 und S3 gemäß diesem Ausführungsbeispiel werden unter Bezugnahme auf das Ablaufdiagramm von 7 beschrieben. Es ist zu beachten, dass die gleichen Schrittnummern wie in 2B die gleichen Verarbeitungsschritte in 7 bezeichnen, und eine Beschreibung dieser Verarbeitungsschritte wird ausgelassen. Gemäß 7 werden Schritte S11 bis S15 in Schritt S2 ausgeführt, und werden Schritte S16 und S17 in Schritt S3 ausgeführt.
  • In Schritt S23 führt die Klassifikationseinheit 203 den Prozess von Schritt S13 durch, der vorstehend beschrieben ist, und erzeugt sie auch Klassifikationsinformationen, umfassend die Repräsentative-Position-Liste, einen Satz bzw. eine Menge von durch die Erkennungseinheit 102 erkannten Erkennungspositionen und Informationen, die darstellen, in welche Klasse die Erkennungspositionen klassifiziert sind, und sendet sie die Klassifikationsinformationen an die Zuverlässigkeitsberechnungseinheit 209.
  • Im Schritt S24a berechnet die Zuverlässigkeitsberechnungseinheit 209, für jede Klasse, eine Zuverlässigkeit gemäß der Anzahl von Erkennungspositionen, die zu der Klasse gehören. Die Zuverlässigkeit einer Klasse von Interesse wird derart berechnet, dass sie höher wird, wenn die Anzahl von zu der Klasse von Interesse gehörenden Erkennungspositionen zunimmt, oder niedriger wird, wenn die Anzahl von Erkennungspositionen abnimmt. Zum Beispiel kann die Anzahl von Erkennungspositionen, die zu der Klasse von Interesse gehören, als die Zuverlässigkeit der Klasse von Interesse verwendet werden. Zum Beispiel ist die Zuverlässigkeit einer Klasse, die einem in 3D gezeigten Repräsentative-Position-Marker 37 entspricht, die Anzahl von Erkennungspositionen in einer Erkennungspositionsmarkergruppe 35.
  • Für ein Pixel in der Umgebung bzw. Nachbarschaft einer Position, wo ein Zielobjekt sicher vorhanden ist, wird ein Bild nahe des Zielobjekts eingegeben. Aus diesem Grund ist die Wahrscheinlichkeit hoch, dass bestimmt wird, dass das Zielobjekt vorhanden ist. Andererseits tritt für eine Position, die nicht das Zielobjekt ist, ein Erkennungsfehler auf, wenn es (zufällig) passiert, dass ein zu dem Zielobjekt ähnliches Merkmal extrahiert wird. In diesem Fall ist die Wahrscheinlichkeit, dass bestimmt wird, dass das Zielobjekt vorhanden ist, relativ zu dem vorherigen Fall niedrig. Aus dem vorstehend beschriebenen Grund wird betrachtet, dass die Zuverlässigkeit umso höher ist, je größer die Anzahl von Positionen ist, die als das Zielobjekt erkannt werden.
  • In Schritt S24b bestimmt die Zuverlässigkeitsberechnungseinheit 209, ob der Index gleich oder größer einer vorbestimmten Zahl ist, wobei die Anzahl von Klassen, deren Zuverlässigkeiten niedriger sind als der Schwellenwert, als ein Index verwendet wird. Es ist zu beachten, dass auch in Betracht gezogen wird, dass ein anderer Wert als der Index anwendbar ist. Zum Beispiel kann das Verhältnis von „der Anzahl von Klassen, deren Zuverlässigkeiten niedriger sind als der Schwellenwert“ zu der Gesamtzahl von Klassen als der Index verwendet werden.
  • Wenn als das Bestimmungsergebnis der Index gleich oder größer der vorbestimmten Zahl ist, wird bestimmt, dass ein Labeling durch den Benutzer notwendig ist, und schreitet der Prozess zu Schritt S14a voran. Wenn andererseits als das Bestimmungsergebnis der Index kleiner ist als die vorbestimmte Zahl, bestimmt die Zuverlässigkeitsberechnungseinheit 209, dass ein Labeling durch den Benutzer nicht notwendig ist, und schreitet der Prozess zu Schritt S15 voran. In diesem Fall speichert die Zuverlässigkeitsberechnungseinheit 209 in Schritt S15 die Repräsentative-Position-Liste und das aufgenommene Bild, das durch die Bilderfassungseinheit 101 in Schritt S11 erfasst wird, in der Speichereinheit 106 als Lerndaten.
  • Wie es vorstehend beschrieben ist, führt gemäß diesem Ausführungsbeispiel der Benutzer, wenn ein Labeling für ein neues Bild durchgeführt wird, das Labeling nur dann durch, wenn die Zuverlässigkeit einer repräsentativen Position, die durch den aktuellen Erkenner erkannt wird, niedrig ist. Aus diesem Grund nimmt die Anzahl von Bildern ab, die ein Labeling erfordern, und wird die Arbeit des Benutzers für Labeling bzw. Markierung/Kennzeichnung reduziert.
  • <Abwandlungen von zweitem Ausführungsbeispiel>
  • Bei dem zweiten Ausführungsbeispiel wird die Zuverlässigkeit der Klasse von Interesse derart berechnet, dass sie höher wird, wenn die Anzahl von zu der Klasse von Interesse gehörenden Erkennungspositionen zunimmt, oder niedriger wird, wenn die Anzahl von Erkennungspositionen abnimmt. Die Methode zum Erfassen der Zuverlässigkeit der Klasse von Interesse ist jedoch nicht auf eine spezielle Erfassungsmethode beschränkt. Zum Beispiel wird das CNN der Erkennungseinheit 102 als eine Wahrscheinlichkeit ausgegeben, die darstellt, ob eine Position einem Zielobjekt entspricht. Aus diesem Grund kann die Zuverlässigkeit der Klasse von Interesse so eingestellt werden, dass sie hoch ist, wenn die Summe der Ausgaben (Wahrscheinlichkeiten) von dem CNN entsprechend den zu der Klasse von Interesse gehörenden Erkennungspositionen hoch wird, und kann die Zuverlässigkeit der Klasse von Interesse so eingestellt werden, dass sie niedrig ist, wenn die Summe niedrig wird. Außerdem kann, anstatt die Anzahl von zu einer Klasse gehörenden Erkennungspositionen als die Zuverlässigkeit der Klasse zu verwenden, die Zuverlässigkeit als eine lineare Summe definiert werden, wobei die Wahrscheinlichkeit, die darstellt, ob eine Position einem Zielobjekt entspricht, als Gewichtung verwendet wird, oder kann die Zuverlässigkeit als eine lineare Summe definiert werden, wobei der Kehrwert des Abstands von jeder Erkennungsposition von der repräsentativen Position als eine Gewichtung verwendet wird.
  • Außerdem ist bei dem zweiten Ausführungsbeispiel der Schwellenwert, der mit einer Zuverlässigkeit zu vergleichen ist, um zu bestimmen, ob eine Labeleingabe (die Editierbedienung der repräsentativen Position) durch den Benutzer notwendig ist, ein vorbestimmter Wert. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt. Zum Beispiel kann der Wert des Schwellenwerts gemäß einer Benutzerbedienung auf dem in 4 gezeigten Bildschirm einstellbar sein. Der Schwellenwert kann unter Verwendung eines Schiebereglers eingestellt werden oder kann durch Texteingabe eingestellt werden. Alternativ kann der Schwellenwert durch Ansammeln der Statistiken über die Zuverlässigkeit von repräsentativen Positionen, deren Label geändert werden, und repräsentativen Positionen, deren Label nicht geändert werden, erhalten werden. Zum Beispiel, wenn der Durchschnittswert der Zuverlässigkeiten von repräsentativen Positionen, deren Label geändert werden, 10 beträgt, und der Durchschnittswert der Zuverlässigkeiten von repräsentativen Positionen, deren Label nicht geändert werden, 50 beträgt, wird 30, was der Zwischenwert zwischen diesen ist, als der Schwellenwert eingestellt. Dies reduziert die Arbeit des Benutzers zum Festlegen des Schwellenwerts.
  • Außerdem speichert bei dem zweiten Ausführungsbeispiel die Zuverlässigkeitsberechnungseinheit 209 in einem Fall, in dem eine Labeleingabe durch den Benutzer nicht notwendig ist, die Repräsentative-Position-Liste und das aufgenommene Bild, das durch die Bilderfassungseinheit 101 in Schritt S11 erfasst wird, in der Speichereinheit 106 als Lerndaten. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt. In dem Fall, in dem eine Labeleingabe durch den Benutzer nicht notwendig ist, können die Lerndaten zum Beispiel verworfen werden, ohne in der Speichereinheit 106 gespeichert zu werden, da eine hinreichende Erkennung durch den aktuellen Erkenner durchgeführt werden kann, oder kann es dem Benutzer erlaubt sein zu bestimmen, ob die Daten als Lerndaten hinzuzufügen sind. Da einige Prozesse (hauptsächlich der Lerneinheit) somit aus-/ weggelassen werden können, kann die Aufeinanderfolge von Prozessen schneller beendet werden.
  • Außerdem zeigt die Eingabeeinheit 105 bei dem zweiten Ausführungsbeispiel in einem Fall, in dem eine Labeleingabe durch den Benutzer notwendig ist, alle repräsentativen Positionen, die in der Repräsentative-Position-Liste registriert sind, als Editierkandidaten auf dem Bildschirm an, und nimmt sie die Editierbedienung an. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt. Da eine Labeleingabe für eine Klasse, deren Zuverlässigkeit nicht niedriger als der Schwellenwert ist, nicht notwendig ist, kann die Eingabeeinheit 105 nur repräsentative Positionen von Klassen, deren Zuverlässigkeiten niedriger sind als der Schwellenwert, als Editierkandidaten auf dem Bildschirm anzeigen und die Editierbedienung annehmen. Im Gegensatz dazu kann, wenn die Zuverlässigkeit extrem niedrig ist, dies als ein Erkennungsfehler betrachtet werden. Daher kann auch ein Schwellenwert für eine Untergrenze bereitgestellt werden, und kann die Eingabeeinheit 105 nur repräsentative Positionen von Klassen, deren Zuverlässigkeiten nicht niedriger sind als der Schwellenwert der Untergrenze und niedriger sind als der Schwellenwert der Obergrenze (der in Schritt S24b verwendete Schwellenwert), als Editierkandidaten auf dem Bildschirm anzeigen und die Editierbedienung annehmen. Dies verringert die Anzahl von Label, die durch den Benutzer korrigiert werden, und reduziert die Arbeit des Benutzers für Labeling bzw. Markierung/Kennzeichnung. Außerdem kann eine Information, die eine Zuverlässigkeit für jede repräsentative Position darstellt, auf dem in 4 gezeigten Bildschirm angezeigt werden. Für die Anzeige einer Information, die eine Zuverlässigkeit darstellt, kann zum Beispiel die Zuverlässigkeit als ein Text angezeigt werden, kann ein vorbestimmtes Musterbild mit einer Farbe oder einer Form gemäß der Zuverlässigkeit angezeigt werden, oder kann ein Musterbild, das im Voraus für jede Zuverlässigkeit erstellt wird, angezeigt werden. Dies stellt eine Referenz bzw. einen Hinweis für den Benutzer dar, um den Zuverlässigkeitsgrad einer repräsentativen Position zu bestimmen, wenn ein Labeling durchgeführt wird.
  • [Drittes Ausführungsbeispiel]
  • Eine Bildverarbeitungsvorrichtung gemäß diesem Ausführungsbeispiel hat eine Funktion zum Erhalten bzw. Erfassen des Bewertungswerts der Leistung bzw. Leistungsfähigkeit von einem CNN nach Be-/Lernen und Bestimmen, ob das CNN zu aktualisieren ist, basierend auf dem erhaltenen bzw. erfassten Bewertungswert, zusätzlich zu den Funktionen der Bildverarbeitungsvorrichtung gemäß dem ersten Ausführungsbeispiel. Wenn das CNN nur in einem Fall aktualisiert wird, in dem der Bewertungswert hoch wird, wird die Verbesserung der Leistung bzw. Leistungsfähigkeit von dem CNN beschleunigt, kann ein zufriedenstellenderes Ergebnis erreicht werden, und nimmt die Menge bzw. der Umfang einer Labelkorrektur durch den Benutzer ab. Aus diesem Grund wird die Arbeit für Labeling bzw. Markierung/Kennzeichnung reduziert.
  • Ein Beispiel der funktionalen Ausgestaltung einer Objekterkennungsvorrichtung gemäß diesem Ausführungsbeispiel wird zunächst unter Bezugnahme auf das Blockschaltbild von 8 beschrieben. Die gleichen Bezugszeichen wie in 1 bezeichnen die gleichen Funktionseinheiten in 8, und eine Beschreibung dieser Funktionseinheiten wird ausgelassen. Bei einer Objekterkennungsvorrichtung 3000 gemäß diesem Ausführungsbeispiel ist die Ausgestaltung einer Bildverarbeitungsvorrichtung 3100 verschieden von derjenigen der in 1 gezeigten Bildverarbeitungsvorrichtung 1100.
  • Eine Lerneinheit 307 sendet die Parameter von einem CNN, die durch eine Lernverarbeitung erhalten werden, auch an eine Bewertungseinheit 310, zusätzlich zu der Funktion der vorstehend beschriebenen Lerneinheit 107. Die Bewertungseinheit 310 erhält bzw. erfasst den Bewertungswert der Leistung bzw. Leistungsfähigkeit von einem CNN (einem alten CNN) basierend auf der Modellstruktur von dem CNN und den Parametern von dem CNN, die in einer Erkennerspeichereinheit 108 gespeichert sind, unter Verwendung von in einer Speichereinheit 311 gespeicherten Daten. Die Bewertungseinheit 310 erhält bzw. erfasst ferner einen Bewertungswert, der zu verwenden ist, um die Leistung bzw. Leistungsfähigkeit von einem CNN (einem neuen CNN) zu bewerten, basierend auf den Parametern, die von der Lerneinheit 307 gesendet werden, und der Modellstruktur von dem CNN, die in der Erkennerspeichereinheit 108 gespeichert sind, unter Verwendung von in der Speichereinheit 311 gespeicherten Daten. Ein Testbild und eine repräsentative Position in dem Testbild werden/sind als Testdaten in der Speichereinheit 311 gespeichert.
  • Eine Aktualisierungsbestimmungseinheit 312 vergleicht den Bewertungswert von dem alten CNN mit dem Bewertungswert von dem neuen CNN und bestimmt basierend auf dem Vergleichsergebnis, ob die Parameter von dem neuen CNN in der Erkennerspeichereinheit 108 zu speichern sind. Wenn der Bewertungswert von dem neuen CNN höher ist als der Bewertungswert von dem alten CNN, speichert die Aktualisierungsbestimmungseinheit 312 die Parameter von dem neuen CNN in der Erkennerspeichereinheit 108, wodurch das durch die Erkennerspeichereinheit 108 gehaltene alte CNN auf das neue CNN aktualisiert wird.
  • Einzelheiten der Prozesse von Schritten S2 und S3 gemäß diesem Ausführungsbeispiel werden unter Bezugnahme auf das Ablaufdiagramm von 9 beschrieben. Gemäß 9 werden Schritte S11 bis S15 in Schritt S2 ausgeführt, und werden Schritte S36 bis S39 in Schritt S3 ausgeführt.
  • In Schritt S36 führt die Lerneinheit 307 den Prozess von Schritt S16 durch, der vorstehend beschrieben ist, und sendet sie die Parameter von einem CNN, die durch das Lernen erhalten werden, auch an die Bewertungseinheit 310.
  • In Schritt S37 erhält bzw. erfasst die Bewertungseinheit 310 den Bewertungswert von dem alten CNN und den Bewertungswert von dem neuen CNN unter Verwendung der in der Speichereinheit 311 gespeicherten Daten. Die Methode zum Erhalten bzw. Erfassen des Bewertungswerts von jedem von dem alten CNN und dem neuen CNN umfasst verschiedene Methoden und ist nicht auf eine spezielle Methode beschränkt. Ein Beispiel zum Erhalten bzw. Erfassen der Bewertungswerte von den CNNs (dem alten CNN und dem neuen CNN) wird nachstehend beschrieben.
  • Zunächst erfasst die Bewertungseinheit 310 Testdaten von der Speichereinheit 311. Die Testdaten umfassen eine Vielzahl von Sätzen, die jeweils ein Testbild mit einem Objekt und eine repräsentative Position umfassen, die die Position des Objekts in dem Testbild ist. Die Bewertungseinheit 310 wählt einen unausgewählten Satz von der Vielzahl von Sätzen, die in den Testdaten umfasst sind, als einen ausgewählten Satz aus und wendet das CNN auf das in dem ausgewählten Satz umfasste Testbild an, wodurch eine Erkennungsposition in dem Testbild erfasst wird, wie es in Schritt S12 der Fall ist. Wenn sich alle Erkennungspositionen, die aus dem Testbild in dem ausgewählten Satz erkannt werden, innerhalb eines vorbestimmten Abstands von der repräsentativen Position befinden, die in dem ausgewählten Satz umfasst ist, bestimmt die Bewertungseinheit 310 einen Erfolg. Andererseits, wenn zumindest eine der Erkennungspositionen, die aus dem Testbild in dem ausgewählten Satz erkannt werden, sich nicht innerhalb des vorbestimmten Abstands von der repräsentativen Position befindet, die in dem ausgewählten Satz umfasst ist, bestimmt die Bewertungseinheit 310 einen Misserfolg. Eine solche Erfolg/Misserfolg-Bestimmungsverarbeitung für den ausgewählten Satz wird für alle Sätze durchgeführt, die in den Testdaten umfasst sind, wodurch Erfolg/Misserfolg für jeden Satz bestimmt wird. Die Bewertungseinheit 310 erhält bzw. erfasst dann ((Anzahl von als Erfolg bestimmten Sätzen) / Gesamtzahl von Sätzen) als einen Bewertungswert. Ein solcher Bewertungswert wird für jedes von dem alten CNN und dem neuen CNN erhalten bzw. erfasst. Es ist zu beachten, dass die Bewertungswertberechnungsmethode, wie sie vorstehend beschrieben ist, lediglich ein Beispiel darstellt, und der Bewertungswert unter Verwendung einer anderen Berechnungsmethode berechnet werden kann.
  • In Schritt S38 vergleicht die Aktualisierungsbestimmungseinheit 312 den Bewertungswert von dem alten CNN mit dem Bewertungswert von dem neuen CNN. Wenn als das Vergleichsergebnis der Bewertungswert von dem alten CNN < der Bewertungswert von dem neuen CNN gilt, schreitet der Prozess zu Schritt S39 voran. Wenn der Bewertungswert von dem alten CNN ≥ der Bewertungswert von dem neuen CNN gilt, endet die Verarbeitung gemäß dem Ablaufdiagramm von 9 ohne Aktualisierung der in der Erkennerspeichereinheit 108 gespeicherten Parameter. In Schritt S39 speichert die Aktualisierungsbestimmungseinheit 312 die Parameter von dem neuen CNN in der Erkennerspeichereinheit 108, wodurch das durch die Erkennerspeichereinheit 108 gehaltene CNN auf das neue CNN aktualisiert wird.
  • Wie es vorstehend beschrieben ist, verbessert sich gemäß diesem Ausführungsbeispiel, wenn ein Labeling für ein neues Bild durchgeführt wird, die Genauigkeit einer repräsentativen Position, die dem Benutzer als Referenz bzw. Hinweis dargeboten wird. Daher nimmt die Labelkorrekturmenge bzw. der -umfang ab, und wird die Arbeit des Benutzers für Labeling bzw. Markierung/Kennzeichnung reduziert.
  • <Abwandlungen von drittem Ausführungsbeispiel>
  • Bei dem dritten Ausführungsbeispiel kann der Prozess von Schritt S1, der vorstehend beschrieben ist, aus-/weggelassen werden. Das heißt, da die Bewertungseinheit 310 den Bewertungswert von dem neuen CNN berechnet, kann ein Schwellenwert für den Bewertungswert bereitgestellt werden, und kann das Be-/ Lernen von dem CNN sich wiederholend fortgesetzt werden, bis der Bewertungswert von dem neuen CNN gleich oder größer dem Schwellenwert für den Bewertungswert wird. Außerdem kann das Be-/Lernen beendet werden, wenn die Änderung in dem Bewertungswert während des sich wiederholenden Be-/Lernens kleiner wird als ein vorbestimmter Wert. Zum Beispiel wird das Be-/Lernen beendet, wenn sich der Bewertungswert fünfmal in Folge um weniger als 0,01% ändert, und wird erachtet, dass die Leistung bzw. Leistungsfähigkeit gesättigt bzw. ausgeschöpft ist. Dies reduziert die Arbeit für den Benutzer zum Bestimmen, ob ein Be-/Lernen notwendig ist.
  • Außerdem speichert eine Eingabeeinheit 105 bei dem dritten Ausführungsbeispiel immer ein aufgenommenes Bild und eine repräsentative Position in einer Speichereinheit 106. Da nicht nur Lerndaten, sondern auch Testdaten vergrößert werden müssen, können jedoch Sätze von Bildern und repräsentativen Positionen nicht nur in der Speichereinheit 106, sondern auch in der Speichereinheit 310 gespeichert werden. Es ist zu beachten, dass die Sätze von Bildern und repräsentativen Positionen sowohl in der Speichereinheit 106 als auch der Speichereinheit 311 gespeichert werden können oder in einer von der Speichereinheit 106 und der Speichereinheit 311, die zufällig bestimmt wird, gespeichert werden können. Außerdem kann durch den Benutzer durch Bedienung einer Bedienvorrichtung 3 bestimmt werden, welche von der Speichereinheit 106 und der Speichereinheit 311 zum Speichern der Sätze von Bildern und repräsentativen Positionen verwendet wird.
  • Außerdem kann die Zuverlässigkeitsberechnungseinheit 209, die bei dem zweiten Ausführungsbeispiel beschrieben ist, in der Bildverarbeitungsvorrichtung 3100 eingebunden bzw. integriert werden, und kann gemäß der durch die Zuverlässigkeitsberechnungseinheit 209 berechneten Zuverlässigkeit festgelegt werden, welche von der Speichereinheit 106 und der Speichereinheit 311 zum Speichern der Sätze von Bildern und repräsentativen Positionen verwendet wird. Zum Beispiel werden eine repräsentative Position, deren Zuverlässigkeit niedriger ist als ein Schwellenwert, und ein entsprechendes Bild in der Speichereinheit 106 gespeichert, und werden eine repräsentative Position, deren Zuverlässigkeit nicht niedriger ist als der Schwellenwert, und ein entsprechendes Bild in der Speichereinheit 311 gespeichert. Dies macht es möglich, Lerndaten und Testdaten effizient anzusammeln.
  • Weiterhin kann in Schritt S38 nicht nur ein Bestimmen, ob das CNN zu aktualisieren ist, sondern auch ein Bestimmen, ob neu registrierte Lerndaten (die hierin nachstehend als neue Lerndaten zu bezeichnen sind) zu halten sind, durchgeführt werden. Da die Verschlechterung der Leistung bzw. Leistungsfähigkeit bezeichnet, dass ein Fehler in dem Label der neuen Lerndaten mit einer hohen Wahrscheinlichkeit umfasst ist, können die neuen Lerndaten verworfen werden. Alternativ kann der Benutzer aufgefordert werden, das Label erneut einzugeben, um zu bestätigen, ob das Label der neuen Lerndaten wirklich korrekt ist. Dies kann die Frequenz bzw. Häufigkeit zur Speicherung von Lerndaten mit einem Labelfehler reduzieren.
  • Außerdem werden bei dem dritten Ausführungsbeispiel zwei CNNs, nämlich das alte CNN und das neue CNN, bewertet. Die vorliegende Erfindung muss jedoch nicht darauf beschränkt sein. Es kann eine Vielzahl von alten CNNs geben, und es kann eine Vielzahl von neuen CNNs geben. In diesem Fall werden zum Beispiel, für das alte CNN, die oberen bzw. besten drei CNNs mit hohen Bewertungswerten von den alten CNNs und den neuen CNNs in der Erkennerspeichereinheit 108 gespeichert. Außerdem werden zum Beispiel, für das neue CNN, eine Vielzahl von Lernergebnissen erhalten, indem ein Zufallswert oder eines von den alten CNNs als der Anfangswert eingestellt wird, oder Lerndaten zufällig/willkürlich ausgewählt werden.
  • [Viertes Ausführungsbeispiel]
  • Bei den vorstehend beschriebenen Ausführungsbeispielen und Abwandlungen wird ein Lernen jedes Mal dann durchgeführt, wenn Lerndaten neu hinzugefügt werden/sind. Die vorliegende Erfindung muss jedoch nicht darauf beschränkt sein. Zum Beispiel kann ein Lernen durchgeführt werden, nachdem eine Vielzahl von Sätzen (Sätzen von Bildern und repräsentativen Positionen) angesammelt sind, oder kann der Benutzer den Zeitpunkt zum Durchführen eines Lernens durch Betätigen einer Bedienvorrichtung 3 bestimmen.
  • Außerdem wird bei den vorstehend beschriebenen Ausführungsbeispielen und Abwandlungen ein Recognizer bzw. Erkenner durch Be-/Lernen von dem CNN eingerichtet, was eine Art von „Deep Learning“ ist. Die vorliegende Erfindung muss jedoch nicht darauf beschränkt sein. Als ein Merkmal kann LBP („Local Binary Pattern“) verwendet werden oder kann BoF („Bag of Features“) verwendet werden. Als der Diskriminator kann ein Entscheidungsbaum verwendet werden oder kann SVM („Support Vector Machine“) oder dergleichen verwendet werden.
  • Außerdem werden bei den vorstehend beschriebenen Ausführungsbeispielen und Abwandlungen nur die Positionen eines Zielobjekts in dem Bild erkannt. Die vorliegende Erfindung muss jedoch nicht darauf beschränkt sein. Zum Beispiel ist die Ausgabe von dem CNN nicht auf eine 2-Klassen-Diskrimination zum Bestimmen beschränkt, ob eine Position einem Zielobjekt entspricht, und kann eine Ausgabe hinzugefügt werden, um auch die Orientierung bzw. Ausrichtung zu klassifizieren, wodurch die Position/Orientierung des Zielobjekts in dem Bild erkannt wird. Eine Verarbeitung zum Erkennen von nicht nur der Position, sondern auch der Orientierung wird nachstehend unter Bezugnahme auf 10A bis 10C beschrieben.
  • Ein x-Marker 501, der in 10A gezeigt ist, bezeichnet eine Position (x, y) in dem Bild von einem zu erkennenden Zielobjekt, ein umrandeter Pfeil 502 bezeichnet eine Orientierung θ des zu erkennenden Zielobjekts in dem Bild, und schwarze Pfeile 503 bezeichnen Richtungen, in denen die Orientierung des Zielobjekts in acht Orientierungen quantisiert wird. Ein Label wird als die Position/Orientierung (x, y, θ) des Zielobjekts eingestellt bzw. festgelegt, wie es in 10A gezeigt ist, und das CNN wird ausgelegt bzw. gestaltet, um eine 9-Klassen-Diskrimination durchzuführen, um zu unterscheiden „welche von den acht Orientierungen das Zielobjekt hat“ + „die Position, die dem Zielobjekt nicht entspricht“.
  • Wenn ein solches CNN erstellt wird und eine Erkennung wie in Schritt S12 des ersten Ausführungsbeispiels durchgeführt wird, werden eine Vielzahl von Position/Orientierung-Erkennungsergebnissen (erkannten Positionen/Orientierungen) erhalten, wie es in 10B gezeigt ist. Eine x-Markergruppe 504, die in 10B gezeigt ist, stellt die erkannte Positionsgruppe des Objekts dar, und eine Gruppe von umrandeten Pfeilen 505 stellt die erkannte Orientierungsgruppe dar.
  • Eine Clusterbildung bzw. Gruppierung der Erkennungsergebnisse wird wie in Schritt S13 des ersten Ausführungsbeispiels durchgeführt, wodurch eine repräsentative Position/Orientierung erhalten und diese dem Benutzer dargeboten wird. Wenn die repräsentative Position/Orientierung erhalten wird, kann die Position/Orientierung (x, y, θ) von jedem Zielobjekt als ein Merkmal definiert werden, und kann eine Clusterbildung bzw. Gruppierung unter Verwendung des K-Means-Algorithmus durchgeführt werden. Alternativ kann, nach einem Clustern der Position (x, y), ein Clustern der Orientierungen θ in der Klasse durchgeführt werden. Auf diese Weise kann eine repräsentative Position/Orientierung erhalten werden, die in 10C durch einen O-Marker 506 (der eine repräsentative Position darstellt) und einen schwarzen Pfeil 507 (der eine repräsentative Orientierung darstellt) angedeutet ist.
  • Eine Eingabeeinheit 105 kann nicht nur eine Position, sondern auch eine Orientierung editieren bzw. bearbeiten. Um die Orientierung zu korrigieren, wird zum Beispiel ein Richtungsvektor von der Position des Zielobjekts zu der Position des Cursors der Maus eingestellt. Alternativ kann die Orientierung entschieden werden, nachdem die Position des Zielobjekts entschieden ist, oder können ein Positionseditiermodus und ein Orientierungseditiermodus umgeschaltet bzw. gewechselt werden.
  • Es ist zu beachten, dass ein Fall einer Position/Orientierung in einem zweidimensionalen Bild vorstehend beschrieben wurde. Selbst wenn die Anzahl von Dimensionen erhöht wird, um zum Beispiel Positionen/Orientierungen in einem dreidimensionalen Raum zu erkennen, kann jedoch die gleiche Verarbeitung, wie sie vorstehend beschrieben ist, durchgeführt werden, indem das Label auf (x, y, z, θ, Φ, Ψ) eingestellt wird (θ, Φ und Ψ sind Winkel bezüglich der x-, y-, und z-Achsen).
  • [Fünftes Ausführungsbeispiel]
  • Die Funktionseinheiten der Bildverarbeitungsvorrichtungen 1100, 2100 und 3100, die in 1, 6 und 8 gezeigt sind, können durch Hardware implementiert werden. Einige der Funktionseinheiten können jedoch durch Software (ein Computerprogramm) implementiert werden. Im letzteren Fall kann eine Computervorrichtung, die imstande ist zum Ausführen eines Computerprogramms zum Implementieren der Funktionen der Funktionseinheiten, abgesehen von der Speichereinheit 106, der Erkennerspeichereinheit 108 und der Speichereinheit 311, auf die Bildverarbeitungsvorrichtungen 1100, 2100 und 3100 angewandt werden. Ein Beispiel der Hardwareausgestaltung der Computervorrichtung, die auf die Bildverarbeitungsvorrichtungen 1100, 2100 und 3100 anwendbar ist, wird unter Bezugnahme auf das Blockschaltbild von 11 beschrieben.
  • Eine CPU 1101 führt eine Verarbeitung unter Verwendung von Computerprogrammen und Daten aus, die in einem RAM 1102 und einem ROM 1103 gespeichert sind. Die CPU 1101 steuert somit den Betrieb der gesamten Computervorrichtung, und sie betreibt oder steuert auch jeden der Prozesse, die vorstehend als Prozesse erörtert sind, die durch jede der Bildverarbeitungsvorrichtungen 1100, 2100 und 3100 auszuführen sind.
  • Der RAM 1102 hat einen Bereich zum Speichern eines aufgenommenen Bilds, das von einer Bildaufnahmevorrichtung 1 erfasst wird, über eine I/F (Schnittstelle) 1105, oder eines Computerprogramms oder Daten, die von dem ROM 1103 oder einer externen Speichervorrichtung 1104 geladen werden. Außerdem hat der RAM 1102 einen Arbeitsbereich, der durch die CPU 1101 zu verwenden ist, um verschiedene Arten von Prozessen auszuführen. Der RAM 1102 kann somit verschiedene Arten von Bereichen je nach Bedarf bereitstellen. Der ROM 1103 speichert Computerprogramme und Daten, die nicht umgeschrieben werden müssen, zum Beispiel das Computerprogramm und die Daten von dem BIOS.
  • Die externe Speichervorrichtung 1104 ist eine Masseninformationsspeichervorrichtung, die durch ein Festplattenlaufwerk dargestellt wird. Ein OS (Betriebssystem) oder Computerprogramme und Daten, die konfiguriert sind zum Veranlassen der CPU 1101 zum Betreiben oder Steuern von jedem der Prozesse, die vorstehend als Prozesse erörtert sind, die durch die Bildverarbeitungsvorrichtungen 1100, 2100 und 3100 auszuführen sind, sind in der externen Speichervorrichtung 1104 gespeichert. Die in der externen Speichervorrichtung 1104 gespeicherten Computerprogramme umfassen ein Computerprogramm, das konfiguriert ist zum Veranlassen der CPU 1101 zum Ausführen der Funktionen der Funktionseinheiten abgesehen von der Speichereinheit 106, der Erkennerspeichereinheit 108 und der Speichereinheit 311 in 1, 6 und 8. Außerdem umfassen die in der externen Speichervorrichtung 1104 gespeicherten Daten Daten, die in der vorstehenden Beschreibung als bekannte Informationen erörtert sind. Die Computerprogramme und Daten, die in der externen Speichervorrichtung 1104 gespeichert sind, werden unter der Steuerung der CPU 1101 je nach Bedarf in den RAM 1102 geladen und durch die CPU 1101 verarbeitet. Es ist zu beachten, dass die Speichereinheit 106, die Erkennerspeichereinheit 108 und die Speichereinheit 311, die vorstehend beschrieben sind, unter Verwendung von dem RAM 1102 oder der externen Speichervorrichtung 1104 implementiert werden können. Es ist zu beachten, dass verschiedene Speichervorrichtungen wie etwa ein USB-Speicher oder eine SD-Karte auf die externe Speichervorrichtung 1104 angewandt werden können.
  • Die I/F 1105 wird durch eine Schnittstellengruppe gebildet, um die Bildaufnahmevorrichtung 1, die Anzeigevorrichtung 2 und die Bedienvorrichtung 3, die vorstehend beschrieben sind, zu verbinden bzw. anzuschließen. Alle von der CPU 1101, dem RAM 1102, dem ROM 1103, der externen Speichervorrichtung 1104 und der I/F 1105 sind mit einem Bus 1106 verbunden.
  • Es ist zu beachten, dass einige oder alle der vorstehend beschriebenen Ausführungsbeispiele und Abwandlungen auf geeignete Weise kombiniert und verwendet werden können. Außerdem können einige oder alle der vorstehend beschriebenen Ausführungsbeispiele und Abwandlungen selektiv verwendet werden.
  • Weitere Ausführungsbeispiele
  • Ein oder mehr Ausführungsbeispiele der vorliegenden Erfindung können auch verwirklicht werden durch einen Computer eines Systems oder einer Vorrichtung, der computerausführbare Anweisungen (z.B. ein oder mehr Programme), die auf einem Speichermedium (das vollständiger auch als ein „nicht-vorübergehendes computerlesbares Speichermedium“ bezeichnet werden kann) aufgezeichnet sind, ausliest und ausführt, um die Funktionen von ein oder mehr der vorstehend beschriebenen Ausführungsbeispiele durchzuführen, und/oder ein oder mehr Schaltungen (z.B. eine anwendungsspezifische integrierte Schaltung (ASIC)) zur Durchführung der Funktionen von ein oder mehr der vorstehend beschriebenen Ausführungsbeispiele umfasst, sowie durch ein Verfahren, das durch den Computer des Systems oder der Vorrichtung durchgeführt wird, indem dieser zum Beispiel die computerausführbaren Anweisungen von dem Speichermedium ausliest und ausführt, um die Funktionen von ein oder mehr der vorstehend beschriebenen Ausführungsbeispiele durchzuführen, und/oder die ein oder mehr Schaltungen steuert, um die Funktionen von ein oder mehr der vorstehend beschriebenen Ausführungsbeispiele durchzuführen. Der Computer kann ein oder mehr Prozessoren (z.B. Zentralverarbeitungseinheit (CPU), Mikroverarbeitungseinheit (MPU)) aufweisen und kann ein Netzwerk separater Computer oder separater Prozessoren umfassen, um die computerausführbaren Anweisungen auszulesen und auszuführen. Die computerausführbaren Anweisungen können an den Computer zum Beispiel von einem Netzwerk oder dem Speichermedium bereitgestellt werden. Das Speichermedium kann zum Beispiel ein oder mehr von einer Festplatte, einem Direktzugriffsspeicher (RAM), einem Festwertspeicher (ROM), einem Speicher verteilter Rechensysteme, einer optischen Platte (wie etwa einer Compact Disc (CD), einer Digital Versatile Disc (DVD) oder einer Blu-ray Disc (BD)TM), einer Flashspeichervorrichtung, einer Speicherkarte und dergleichen umfassen.
  • Während die vorliegende Erfindung mit Bezug auf beispielhafte Ausführungsbeispiele beschrieben wurde, ist es selbstverständlich, dass die Erfindung nicht auf die offenbarten beispielhaften Ausführungsbeispiele beschränkt ist. Dem Umfang der folgenden Patentansprüche ist die breiteste Auslegung zuzugestehen, so dass alle derartigen Modifikationen und äquivalente Strukturen und Funktionen umfasst sind.
  • Eine Vielzahl von Erkennungspositionen, die jeweils durch einen Erkenner als eine Position eines Zielobjekts auf einem Eingabebild erkannt werden/sind, werden erfasst. Zumindest eine repräsentative Position wird erhalten, indem eine Clusterbildung für die Vielzahl von Erkennungspositionen durchgeführt wird. Die repräsentative Position wird gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position editiert. Das Eingabebild und die repräsentative Position werden als Lerndaten gespeichert, die zum Belernen des Erkenners zu verwenden sind.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 5953151 [0003]

Claims (20)

  1. Bildverarbeitungsvorrichtung mit: einer Erfassungseinrichtung zum Erfassen einer Vielzahl von Erkennungspositionen, von denen jede durch einen Erkenner als eine Position eines Zielobjekts auf einem Eingabebild erkannt wird; einer Recheneinrichtung zum Erhalten von zumindest einer repräsentativen Position durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen; einer Editiereinrichtung zum Editieren der repräsentativen Position gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position; und einer Speichereinrichtung zum Speichern des Eingabebilds und der repräsentativen Position als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
  2. Vorrichtung gemäß Anspruch 1, wobei die Erfassungseinrichtung, als die Vielzahl von Erkennungspositionen, eine Vielzahl von Pixelpositionen erfasst, von denen jede durch den Erkenner als die Position des Zielobjekts in Pixelpositionen auf dem Eingabebild erkannt wird.
  3. Vorrichtung gemäß Anspruch 1, wobei, wenn eine Ausgabe von dem Erkenner, an den ein Bild in einem Bildbereich eingegeben wird, der eine Pixelposition auf dem Eingabebild umfasst, darstellt, dass das Zielobjekt in dem Bildbereich umfasst ist, die Erfassungseinrichtung die Pixelposition als die Erkennungsposition erfasst.
  4. Vorrichtung gemäß Anspruch 1, wobei die Recheneinrichtung die Vielzahl von Erkennungspositionen in eine vorbestimmte Anzahl von Klassen klassifiziert, indem eine Clusterbildung für die Vielzahl von Erkennungspositionen durchgeführt wird, und eine repräsentative Position, die jeder Klasse entspricht, basierend auf zu der Klasse gehörenden Erkennungspositionen erhält.
  5. Vorrichtung gemäß Anspruch 4, wobei die Recheneinrichtung, als die der Klasse entsprechende repräsentative Position, eine Durchschnittsposition der zu der Klasse gehörenden Erkennungspositionen, einen Median der zu der Klasse gehörenden Erkennungspositionen oder eine Spitzenposition erhält, die gebildet wird durch Anwenden der zu der Klasse gehörenden Erkennungspositionen auf eine Gaußsche Verteilung.
  6. Vorrichtung gemäß Anspruch 4, zusätzlich mit einer Berechnungseinrichtung zum Erhalten einer Zuverlässigkeit für die Klasse, wobei die Editiereinrichtung arbeitet, wenn die Anzahl von Klassen, deren Zuverlässigkeiten niedriger sind als ein Schwellenwert, nicht geringer als eine vorbestimmte Anzahl wird, oder wenn ein Verhältnis der Anzahl von Klassen, deren Zuverlässigkeiten niedriger sind als der Schwellenwert, zu der Gesamtzahl von Klassen nicht niedriger als eine vorbestimmte Zahl wird.
  7. Vorrichtung gemäß Anspruch 6, wobei die Berechnungseinrichtung die Zuverlässigkeit für die Klasse gemäß der Anzahl von zu der Klasse gehörenden Erkennungspositionen erhält.
  8. Vorrichtung gemäß Anspruch 6, wobei die Berechnungseinrichtung die Zuverlässigkeit für die Klasse gemäß einer Ausgabe des Erkenners entsprechend einer zu der Klasse gehörenden Erkennungsposition erhält.
  9. Vorrichtung gemäß Anspruch 6, wobei die Berechnungseinrichtung die Zuverlässigkeit für die Klasse gemäß einem Abstand zwischen einer zu der Klasse gehörenden Erkennungsposition und einer der Klasse entsprechenden repräsentativen Position erhält.
  10. Vorrichtung gemäß Anspruch 1, wobei die Editiereinrichtung eine die repräsentative Position darstellende Information anzeigt, die auf dem Eingabebild überlagert wird, und eine Editierbedienung von dem Benutzer für die repräsentative Position annimmt.
  11. Vorrichtung gemäß Anspruch 6, wobei die Editiereinrichtung eine eine repräsentative Position einer Klasse, deren Zuverlässigkeit nicht geringer ist als ein Schwellenwert, darstellende Information anzeigt, die auf dem Eingabebild überlagert wird, und eine Editierbedienung von dem Benutzer für die repräsentative Position annimmt.
  12. Vorrichtung gemäß Anspruch 1, wobei die Editiereinrichtung die repräsentative Position gemäß einer Bewegungsanweisung von dem Benutzer für die repräsentative Position bewegt, die repräsentative Position gemäß einer Löschanweisung von dem Benutzer für die repräsentative Position löscht, und eine repräsentative Position gemäß einer Anweisung von dem Benutzer zum Hinzufügen einer neuen repräsentativen Position hinzufügt.
  13. Vorrichtung gemäß Anspruch 1, zusätzlich mit einer Lerneinrichtung zum Durchführen des Belernens des Erkenners unter Verwendung der durch die Speichereinrichtung gespeicherten Lerndaten.
  14. Vorrichtung gemäß Anspruch 13, zusätzlich mit einer Aktualisierungseinrichtung zum Aktualisieren des Erkenners auf den Erkenner, der dem Belernen unterzogen wurde.
  15. Vorrichtung gemäß Anspruch 14, wobei, wenn ein Bewertungswert für den Erkenner vor dem Belernen höher ist als ein Bewertungswert für den Erkenner nach dem Belernen, die Aktualisierungseinrichtung den Erkenner vor dem Belernen auf den Erkenner nach dem Belernen aktualisiert.
  16. Bildverarbeitungsvorrichtung mit: einer Erfassungseinrichtung zum Erfassen einer Vielzahl von Erkennungspositionen/-orientierungen, von denen jede durch einen Erkenner als eine Position/Orientierung eines Zielobjekts auf einem Eingabebild erkannt wird; einer Recheneinrichtung zum Erhalten von zumindest einer repräsentativen Position/Orientierung durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen/-orientierungen; einer Editiereinrichtung zum Editieren der repräsentativen Position/Orientierung gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position/Orientierung; und einer Speichereinrichtung zum Speichern des Eingabebilds und der repräsentativen Position/Orientierung als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
  17. Bildverarbeitungsverfahren mit: Erfassen einer Vielzahl von Erkennungspositionen, von denen jede durch einen Erkenner als eine Position eines Zielobjekts auf einem Eingabebild erkannt wird; Erhalten von zumindest einer repräsentativen Position durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen; Editieren der repräsentativen Position gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position; und Speichern des Eingabebilds und der repräsentativen Position als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
  18. Bildverarbeitungsverfahren mit: Erfassen einer Vielzahl von Erkennungspositionen/-orientierungen, von denen jede durch einen Erkenner als eine Position/Orientierung eines Zielobjekts auf einem Eingabebild erkannt wird; Erhalten von zumindest einer repräsentativen Position/Orientierung durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen/ -orientierungen; Editieren der repräsentativen Position/Orientierung gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position/Orientierung; und Speichern des Eingabebilds und der repräsentativen Position/Orientierung als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
  19. Nicht-vorübergehendes computerlesbares Speichermedium, das ein Computerprogramm speichert, das konfiguriert ist zum Veranlassen eines Computers zum Funktionieren als: eine Erfassungseinrichtung zum Erfassen einer Vielzahl von Erkennungspositionen, von denen jede durch einen Erkenner als eine Position eines Zielobjekts auf einem Eingabebild erkannt wird; eine Recheneinrichtung zum Erhalten von zumindest einer repräsentativen Position durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen; eine Editiereinrichtung zum Editieren der repräsentativen Position gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position; und eine Speichereinrichtung zum Speichern des Eingabebilds und der repräsentativen Position als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
  20. Nicht-vorübergehendes computerlesbares Speichermedium, das ein Computerprogramm speichert, das konfiguriert ist zum Veranlassen eines Computers zum Funktionieren als: eine Erfassungseinrichtung zum Erfassen einer Vielzahl von Erkennungspositionen/-orientierungen, von denen jede durch einen Erkenner als eine Position/Orientierung eines Zielobjekts auf einem Eingabebild erkannt wird; eine Recheneinrichtung zum Erhalten von zumindest einer repräsentativen Position/Orientierung durch Durchführen einer Clusterbildung für die Vielzahl von Erkennungspositionen/-orientierungen; eine Editiereinrichtung zum Editieren der repräsentativen Position/Orientierung gemäß einer Editieranweisung von einem Benutzer für die repräsentative Position/Orientierung; und eine Speichereinrichtung zum Speichern des Eingabebilds und der repräsentativen Position/Orientierung als Lerndaten, die zum Belernen des Erkenners zu verwenden sind.
DE102018119682.2A 2017-08-17 2018-08-14 Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium Pending DE102018119682A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-157618 2017-08-17
JP2017157618A JP6970553B2 (ja) 2017-08-17 2017-08-17 画像処理装置、画像処理方法

Publications (1)

Publication Number Publication Date
DE102018119682A1 true DE102018119682A1 (de) 2019-02-21

Family

ID=65235373

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018119682.2A Pending DE102018119682A1 (de) 2017-08-17 2018-08-14 Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium

Country Status (4)

Country Link
US (1) US10769473B2 (de)
JP (1) JP6970553B2 (de)
CN (1) CN109409398B (de)
DE (1) DE102018119682A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020200897A1 (de) 2020-01-27 2021-09-23 Zf Friedrichshafen Ag Verfahren zur Erzeugung gelabelter Trainingsdaten

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020169382A1 (en) * 2019-02-18 2020-08-27 Signify Holding B.V. A controller for controlling light sources and a method thereof
KR20200123584A (ko) * 2019-04-22 2020-10-30 한국전자통신연구원 어노테이션 오류 예측 장치 및 방법
US20220207863A1 (en) * 2019-05-23 2022-06-30 Konica Minolta, Inc. Object detection device, object detection method, program, and recording medium
EP3975111A4 (de) * 2019-05-23 2022-07-20 Konica Minolta, Inc. Objekterfassungsvorrichtung, objekterfassungssystem, objekterfassungsverfahren, programm und aufzeichnungsmedium
US11170264B2 (en) * 2019-05-31 2021-11-09 Raytheon Company Labeling using interactive assisted segmentation
JP2020197795A (ja) * 2019-05-31 2020-12-10 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理方法、プログラム
CN110210456A (zh) * 2019-06-19 2019-09-06 贵州理工学院 一种基于3d卷积神经网络的头部姿态估计方法
JP2021010970A (ja) * 2019-07-05 2021-02-04 京セラドキュメントソリューションズ株式会社 ロボットシステム及びロボット制御方法
JP2021033572A (ja) * 2019-08-22 2021-03-01 株式会社豊田自動織機 画像データ収集装置及び画像データ仕分け方法
JP7353875B2 (ja) 2019-09-04 2023-10-02 株式会社東芝 センサシステム、およびセンシング方法
CN111400533B (zh) * 2020-03-02 2023-10-17 北京三快在线科技有限公司 图像筛选方法、装置、电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5953151A (ja) 1982-09-16 1984-03-27 Toshiba Corp 研磨装置の研磨布張付け方法および装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5953151B2 (ja) 1979-07-24 1984-12-24 三菱電機株式会社 シ−ム溶接機のスクラツプ除去方法
JP5388291B2 (ja) * 2009-09-14 2014-01-15 住友電気工業株式会社 識別器生成方法、コンピュータプログラム、識別器生成装置及び所定物体検出装置
JP4696278B2 (ja) * 2009-09-14 2011-06-08 国立大学法人 東京大学 領域分割画像生成方法、領域分割画像生成装置及びコンピュータプログラム
JP5075924B2 (ja) * 2010-01-13 2012-11-21 株式会社日立製作所 識別器学習画像生成プログラム、方法、及びシステム
US20120213426A1 (en) * 2011-02-22 2012-08-23 The Board Of Trustees Of The Leland Stanford Junior University Method for Implementing a High-Level Image Representation for Image Analysis
US8498448B2 (en) * 2011-07-15 2013-07-30 International Business Machines Corporation Multi-view object detection using appearance model transfer from similar scenes
JP5623358B2 (ja) * 2011-09-06 2014-11-12 三菱電機株式会社 ワーク取り出し装置
KR101175597B1 (ko) * 2011-09-27 2012-08-21 (주)올라웍스 아다부스트 학습 알고리즘을 이용하여 얼굴 특징점 위치를 검출하기 위한 방법, 장치, 및 컴퓨터 판독 가능한 기록 매체
US9076065B1 (en) * 2012-01-26 2015-07-07 Google Inc. Detecting objects in images
JP5953151B2 (ja) 2012-07-13 2016-07-20 日本放送協会 学習装置、及びプログラム
CN103440318B (zh) * 2013-08-29 2016-08-17 王靖洲 移动终端的景观识别系统
KR102216049B1 (ko) * 2014-04-21 2021-02-15 삼성전자주식회사 시맨틱 라벨링 시스템 및 방법
JP6339872B2 (ja) * 2014-06-24 2018-06-06 オリンパス株式会社 画像処理装置、内視鏡システム及び画像処理方法
US9947090B2 (en) * 2014-09-06 2018-04-17 RaPID Medical Technologies, LLC Medical image dectection system and method
US10410096B2 (en) * 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
CN105139390A (zh) * 2015-08-14 2015-12-09 四川大学 一种检测胸透dr片中肺结核病灶的图像处理方法
US11205103B2 (en) * 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
KR20180069452A (ko) * 2016-12-15 2018-06-25 삼성전자주식회사 뉴럴 네트워크의 학습 방법 및 뉴럴 네트워크를 이용한 인식 방법, 및 그 장치
US10963503B2 (en) * 2017-06-06 2021-03-30 SparkCognition, Inc. Generation of document classifiers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5953151A (ja) 1982-09-16 1984-03-27 Toshiba Corp 研磨装置の研磨布張付け方法および装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020200897A1 (de) 2020-01-27 2021-09-23 Zf Friedrichshafen Ag Verfahren zur Erzeugung gelabelter Trainingsdaten

Also Published As

Publication number Publication date
CN109409398B (zh) 2022-04-26
JP2019036167A (ja) 2019-03-07
CN109409398A (zh) 2019-03-01
US20190057274A1 (en) 2019-02-21
JP6970553B2 (ja) 2021-11-24
US10769473B2 (en) 2020-09-08

Similar Documents

Publication Publication Date Title
DE102018119682A1 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium
DE102018215826B4 (de) Robotersystem und Werkstückgreifverfahren
DE102017220307B4 (de) Vorrichtung und Verfahren zum Erkennen von Verkehrszeichen
DE102017001667A1 (de) Bildverarbeitungseinrichtung zum Anzeigen eines Objekts, das anhand einer Eingabebildaufnahme erkannt wird
DE102019008142A1 (de) Lernen von Darstellungen unter Nutzung gemeinsamer semantischer Vektoren
DE112016004535T5 (de) Universelles Übereinstimmungsnetz
DE102018121039A1 (de) Informationsverarbeitungsvorrichtung, verfahren zur steuerung von informationsverarbeitungsvorrichtung und speichermedium
DE112020000279T5 (de) Erlernen eines erkennungsmodells unter verwenden einer verlustfunktion
DE112017005651T5 (de) Vorrichtung zur Klassifizierung von Daten
DE102018102688A1 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und Bildverarbeitungssystem
DE19705757A1 (de) Verfahren und Gerät für das Design eines hoch-zuverlässigen Mustererkennungs-Systems
DE102020211851A1 (de) Auf bayes&#39;scher optimierung basierende abfrageeffiziente gegnerische black-box-angriffe
DE102018207414A1 (de) Bildverarbeitungssystem
DE112017007492T5 (de) System und Verfahren zur Erfassung von Objekten in einem digitalen Bild und System und Verfahren zur Neubewertung von Objekterfassungen
DE112010002677T5 (de) Verfahren und vorrichtung zum bestimmen einer formübereinstimmung in drei dimensionen
EP3557487B1 (de) Generieren von validierungsdaten mit generativen kontradiktorischen netzwerken
DE112022002858T5 (de) Bildbasierte anomalieerkennung basierend auf einer maschinellen lernanalyse eines objekts
DE112019000093T5 (de) Diskriminierungsvorrichtung und Maschinenlernverfahren
DE102005025220B4 (de) Gerät, Verfahren und Programm zum Beseitigen von Poren
WO2018077745A1 (de) Analyseverfahren für objektmarkierungen in bildern auf basis von modellen
DE112021005070T5 (de) Multi-hop-transformer für räumlich-zeitliches denken und lokalisierung
DE102018003903A1 (de) Vorrichtung und Verfahren zur Klassifizierung von Daten zum überwachten Maschinenlernen
DE102018113621A1 (de) Verfahren zum Trainieren eines konvolutionellen neuronalen Netzwerks zum Verarbeiten von Bilddaten zur Anwendung in einem Fahrunterstützungssystem
DE102021201124A1 (de) Trainieren von bildklassifizierernetzen
DE102020209080A1 (de) Bildverarbeitungssystem

Legal Events

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

Representative=s name: TBK, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009000000

Ipc: G06V0010000000