DE102021201031A1 - Programmerstellungsvorrichtung, Objekterkennungssystem, Ankersetzverfahren und Ankersetzprogramm - Google Patents

Programmerstellungsvorrichtung, Objekterkennungssystem, Ankersetzverfahren und Ankersetzprogramm Download PDF

Info

Publication number
DE102021201031A1
DE102021201031A1 DE102021201031.8A DE102021201031A DE102021201031A1 DE 102021201031 A1 DE102021201031 A1 DE 102021201031A1 DE 102021201031 A DE102021201031 A DE 102021201031A DE 102021201031 A1 DE102021201031 A1 DE 102021201031A1
Authority
DE
Germany
Prior art keywords
anchor
program
image
information
unit
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
DE102021201031.8A
Other languages
English (en)
Inventor
Satoshi Iio
Kiichi Sugimoto
Kenta Nakao
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.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
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 Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Publication of DE102021201031A1 publication Critical patent/DE102021201031A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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/22Matching criteria, e.g. proximity measures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Geometry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

ProblemErfassen eines Objekts mit hoher Genauigkeit, während die Menge an Verarbeitung unterdrückt wird.LösungEine Programmerstellungsvorrichtung, die so konfiguriert ist, dass sie ein Objekterkennungsprogramm zum Erkennen, ob ein Objekt in einem Bild enthalten ist, erzeugt, Trainingsdaten einschließlich einer Vielzahl von Bilddaten, die Flächeninformationen des Objekts einschließen, eine Einstelleinheit, die so konfiguriert ist, dass sie einen Anker setzt, der eine Information eines Rahmens darstellt, der einen Bereich für jede Zelle zum Erkennen des Vorhandenseins oder Nichtvorhandenseins des Objekts aus dem Bild spezifiziert, und eine Lerneinheit einschließt, die so konfiguriert ist, dass sie maschinelles Lernen der Trainingsdaten auf der Grundlage der Information der Einstelleinheit ausführt und ein erlerntes Programm zum Extrahieren des Objekts aus dem Bild erzeugt. Die Setzeinheit erfasst Informationen über einen Zielbereich der Trainingsdaten und über Seitenverhältnisse des Ankers, berechnet einen Grad der Übereinstimmung zwischen dem Anker und dem Zielbereich für jedes Seitenverhältnis, während eine Größe des Ankers geändert wird,

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft eine Programmerstellungsvorrichtung, ein Objekterkennungssystem, ein Ankersetzverfahren und ein Ankersetzprogramm.
  • Stand der Technik
  • Als System zum Erkennen eines Objekts aus einem erfassten Bild gibt es ein System zum Erkennen eines Objekts unter Verwendung eines erlernten Programms, bei dem Deep Learning (maschinelles Lernen) an einer Vielzahl von Bildern durchgeführt wird. Bei der Objekterkennung unter Verwendung von allgemeinem Deep Learning wird zuerst eine Faltungsverarbeitung unter Verwendung eines bestimmten Filterkoeffizienten an einem Bild durchgeführt, das als Eingabe verwendet wird, um Merkmale zu extrahieren. Als nächstes werden rechteckige Bereiche (Begrenzungsrahmen), die als Anker bezeichnet werden, in Merkmalsräumen mit unterschiedlichen Auflösungen angeordnet, die während des Prozesses der Faltungsverarbeitung erhalten werden, und eine Bewertung, welche die Wahrscheinlichkeit eines Objekts angibt, wird aus Merkmalen in dem Bereich für jeden Anker berechnet. Unter Verwendung der berechneten Bewertung wird die Größe des Ankers, dessen Bewertung gleich oder größer als der Schwellenwert ist, durch Regressionsverarbeitung angepasst, und der Anker wird als Detektionsergebnis ausgegeben.
  • Liste der Entgegenhaltungen
  • Patentliteratur
    • Patentdokument 1: JP 2018-22484 A
    • Patentdokument 2: JP 5172749 B
  • Kurzdarstellung der Erfindung
  • Technisches Problem
  • Beim Deep Learning werden eine Vielzahl von Arten von Ankerformen festgelegt, und die Erfassung eines Objekts wird unter Verwendung von Ankern mit unterschiedlichen Formen durchgeführt, wodurch die Genauigkeit der Erfassung eines Objekts verbessert wird. Mit zunehmender Anzahl von Ankern nimmt jedoch der Rechenaufwand zu. Die Anzahl der einsetzbaren Anker ist daher in Abhängigkeit von der Verarbeitungskapazität und der Zeitdauer bis zum Erhalt des Berechnungsergebnisses begrenzt. Wie vorstehend beschrieben, ist es wünschenswert, die Genauigkeit der Erfassung eines Objekts zu verbessern, während eine Erhöhung der Anzahl von zu setzenden Ankern unterdrückt wird.
  • Mindestens eine Ausführungsform der vorliegenden Offenbarung stellt, um das obige Problem zu lösen, eine Programmerstellungsvorrichtung, ein Objekterkennungssystem, ein Ankersetzverfahren und ein Ankersetzprogramm bereit, die in der Lage sind, eine Form eines Ankers geeignet einzustellen und ein Objekt mit hoher Genauigkeit zu erkennen.
  • Lösung des Problems
  • Die vorliegende Offenbarung stellt eine Programmerstellungsvorrichtung bereit, die konfiguriert ist, um ein Objekterkennungsprogramm zum Erfassen zu erstellen, ob ein Objekt in einem Bild enthalten ist. Die Programmerstellungsvorrichtung schließt Trainingsdaten einschließlich einer Vielzahl von Bilddaten, die Bereichsinformationen des Objekts einschließen, eine Setzeinheit, die konfiguriert ist, um einen Anker zu setzen, der Informationen eines Rahmens darstellt, der einen Bereich für jede Zelle zum Erkennen des Vorhandenseins oder Nichtvorhandenseins des Objekts in dem Bild spezifiziert, und eine Lerneinheit ein, die konfiguriert ist, um maschinelles Lernen der Trainingsdaten basierend auf den Informationen der Setzeinheit auszuführen und ein erlerntes Programm zum Extrahieren des Objekts aus dem Bild zu erzeugen. Die Setzeinheit erfasst Informationen über einen Zielbereich der Trainingsdaten und über Seitenverhältnisse des Ankers, berechnet einen Grad der Übereinstimmung zwischen dem Anker und dem Zielbereich für jedes Seitenverhältnis, während eine Größe des Ankers geändert wird, und berechnet eine Annahmerate des Zielbereichs, dessen Grad der Übereinstimmung ein Anteil ist, der nicht kleiner als ein Schwellenwert ist, und bestimmt, basierend auf einem Ergebnis der Berechnung, die Größe des Ankers, der in dem erlernten Programm verwendet wird.
  • Darüber hinaus stellt die vorliegende Offenbarung ein Objekterkennungssystem bereit, das die oben beschriebene Programmerstellungsvorrichtung und eine Objekterkennungsvorrichtung einschließt, die eine Berechnungseinheit, die so konfiguriert ist, dass sie ein erlerntes, von der Programmerstellungsvorrichtung erstelltes Programm ausführt, eine Kameraeinheit, die so konfiguriert ist, dass sie ein Bild erfasst, und eine Benachrichtigungseinheit, die so konfiguriert ist, dass sie einen Bediener benachrichtigt, einschließt. Die Recheneinheit analysiert durch das erlernte Programm ein von der Kameraeinheit erfasstes Bild, und die Benachrichtigungseinheit benachrichtigt, wann erfasst wird, dass das Objekt in dem Bild enthalten ist.
  • Ferner stellt die vorliegende Offenbarung ein Ankersetzverfahren zum Setzen eines Ankers bereit, der in einem Objekterkennungsprogramm zum Erfassen verwendet wird, ob ein Objekt in einem Bild enthalten ist. Das Ankersetzverfahren schließt die folgenden Schritte ein: Erfassen von Trainingsdaten einschließlich einer Vielzahl von Bilddaten, die Flächeninformationen des Objekts einschließen, Erfassen von Ankerinformationen, die Informationen eines Rahmens sind, der einen Bereich für jede Zelle spezifiziert, um das Vorhandensein oder Nichtvorhandensein des Objekts aus dem Bild zu erkennen, Erfassen von Informationen über einen Zielbereich der Trainingsdaten und über Seitenverhältnisse des Ankers, Berechnen eines Grades der Übereinstimmung zwischen dem Anker und dem Zielbereich für jedes Seitenverhältnis, während die Größe des Ankers geändert wird, und Berechnen einer Annahmerate des Zielbereichs, dessen Grad der Übereinstimmung ein Anteil ist, der nicht kleiner als ein Schwellenwert ist, und Bestimmen der Größe des Ankers, der in dem erlernten Programm verwendet wird, basierend auf einem Ergebnis der Berechnung.
  • Zusätzlich stellt die vorliegende Offenbarung ein Ankersetzprogramm bereit, um zu bewirken, dass eine Verarbeitung des Setzens eines Ankers ausgeführt wird, wobei der Anker in einem Objekterkennungsprogramm verwendet wird, um zu erkennen, ob ein Objekt in einem Bild enthalten ist. Das Ankersetzprogramm bewirkt die folgenden Schritte: Erfassen von Trainingsdaten einschließlich einer Vielzahl von Bilddaten, die Flächeninformationen des Objekts einschließen, Erfassen von Ankerinformationen, die Informationen eines Rahmens sind, der einen Bereich für jede Zelle spezifiziert, um das Vorhandensein oder Nichtvorhandensein des Objekts aus dem Bild zu erkennen, Erfassen von Informationen über einen Zielbereich der Trainingsdaten und über Seitenverhältnisse des Ankers, Berechnen eines Grades der Übereinstimmung zwischen dem Anker und dem Zielbereich für jedes Seitenverhältnis, während die Größe des Ankers geändert wird, und Berechnen einer Annahmerate des Zielbereichs, dessen Grad der Übereinstimmung ein Anteil ist, der nicht kleiner als ein Schwellenwert ist, und Bestimmen der Größe des Ankers, der in dem auszuführenden erlernten Programm verwendet wird, basierend auf einem Ergebnis der Berechnung.
  • Vorteilhafte Wirkungen der Erfindung
  • Mit der vorstehend beschriebenen Konfiguration ist es möglich, die Form des Ankers geeignet einzustellen und das Objekt mit hoher Genauigkeit zu erkennen.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Objekterkennungssystems veranschaulicht.
    • 2 ist ein Erläuterungsdiagramm zum Beschreiben eines Ausführungsbeispiels der Bildverarbeitung des Objekterkennungssystems.
    • 3 ist ein Erläuterungsdiagramm zum Beschreiben eines Ausführungsbeispiels der Bildverarbeitung.
    • 4 ist ein Erläuterungsdiagramm zum Beschreiben eines Ausführungsbeispiels der Bildverarbeitung.
    • 5 ist ein Erläuterungsdiagramm zum Beschreiben eines Ausführungsbeispiels der Bildverarbeitung.
    • 6 ist ein Erläuterungsdiagramm zum Beschreiben eines Ankers.
    • 7 ist ein Erläuterungsdiagramm zum Beschreiben eines Ankers.
    • 8 ist ein Flussdiagramm, das ein Ausführungsbeispiel einer Verarbeitung veranschaulicht, die von einer Ankersetzeinheit durchgeführt wird.
    • 9 ist ein Erläuterungsdiagramm zum Beschreiben eines Ausführungsbeispiels für die Verarbeitung einer Ankersetzeinheit.
    • 10 ist ein Erläuterungsdiagramm zum Beschreiben eines Ausführungsbeispiels für die Verarbeitung einer Ankersetzeinheit.
    • 11 ist ein Graph, der ein Ausführungsbeispiel der Beziehung zwischen einer Ankergröße und einer Annahmerate zeigt.
    • 12 ist ein Graph, der ein Ausführungsbeispiel der Beziehung zwischen einer Erkennungsrate und einer falschen Erkennungsrate für jede Ankergröße zeigt.
    • 13 ist ein Flussdiagramm, das ein Ausführungsbeispiel eines Betriebs einer Lerneinheit veranschaulicht.
    • 14 ist ein Flussdiagramm, das ein Ausführungsbeispiel für den Betrieb einer Objekterkennungsvorrichtung veranschaulicht.
    • 15 ist ein Flussdiagramm, das ein anderes Ausführungsbeispiel der Verarbeitung der Ankersetzeinheit veranschaulicht.
    • 16 ist ein Erläuterungsdiagramm zum Beschreiben eines anderen Ausführungsbeispiels der Verarbeitung der Ankersetzeinheit.
    • 17 ist ein Flussdiagramm, das ein anderes Ausführungsbeispiel der Verarbeitung der Ankersetzeinheit veranschaulicht.
    • 18 ist ein Erläuterungsdiagramm zum Beschreiben eines anderen Ausführungsbeispiels der Verarbeitung der Ankersetzeinheit.
  • Beschreibung von Ausführungsformen
  • Nachfolgend werden Ausführungsformen gemäß der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen detailliert beschrieben. Es ist zu beachten, dass die Erfindung nicht auf die Ausführungsformen beschränkt ist. Außerdem schließen Komponenten in den folgenden Ausführungsformen Komponenten ein, die von Fachleuten leicht ersetzt werden können, oder im Wesentlichen die gleichen Komponenten. Außerdem können die nachstehend beschriebenen Komponenten in geeigneter Weise kombiniert werden, und wenn es eine Vielzahl von Ausführungsformen gibt, kann jede Ausführungsform kombiniert werden.
  • Objekterkennu ngssystem
  • 1 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Objekterkennungssystems veranschaulicht. Das Objekterkennungssystem 100 gemäß der vorliegenden Ausführungsform schließt eine Programmerstellungsvorrichtung 10 und eine Objekterkennungsvorrichtung 102 ein. In einem Objekterkennungssystem 100 erzeugt eine Programmerstellungsvorrichtung 10 ein erlerntes Programm, das in der Lage ist, eine Bildbestimmungsverarbeitung zum Erfassen eines Objekts aus einem Bild unter Verwendung von maschinellem Lernen, zum Beispiel Deep Learning, auszuführen, und eine Objekterkennungsvorrichtung 102 führt das erlernte Programm zum Erfassen des Objekts aus. Die Objekterkennungsvorrichtung 102 ist beispielsweise in einem sich bewegenden Objekt, wie einem Fahrzeug oder einem Flugobjekt, oder einem Gebäude installiert.
  • Die Programmerstellungsvorrichtung 10 schließt eine Eingabeeinheit 12, eine Ausgabeeinheit 14, eine Recheneinheit 16 und eine Speichereinheit 18 ein. Die Eingabeeinheit 12 schließt eine Eingabevorrichtung wie eine Tastatur und eine Maus, ein Touchpanel oder ein Mikrofon ein, das Sprache von einem Bediener aufnimmt und gibt ein Signal an die Recheneinheit 16 aus, welches einer durch den Bediener auf der Eingabevorrichtung durchgeführten Bedienung entspricht. Die Ausgabeeinheit 14 schließt eine Anzeigevorrichtung wie eine Anzeige ein und zeigt einen Bildschirm an, der verschiedene Arten von Informationen wie ein Verarbeitungsergebnis und ein zu verarbeitendes Bild einschließt, basierend auf einem Anzeigesignal, das von der Recheneinheit 16 ausgegeben wird. Die Ausgabeeinheit 14 kann ein Aufzeichnungsgerät einschließen, das Daten auf einem Aufzeichnungsträger ausgibt. Die Programmerstellungsvorrichtung 10 kann eine Kommunikationseinheit einschließen, die Daten über eine Kommunikationsschnittstelle als Eingabeeinheit 12 und Ausgabeeinheit 14 überträgt. Die Kommunikationseinheit überträgt verschiedene Daten und Programme, die durch Kommunikation mit einem externen Gerät erfasst werden, an die Speichereinheit 18 und speichert die Daten und Programme. Die Kommunikationseinheit kann über eine drahtgebundene Kommunikationsleitung oder eine drahtlose Kommunikationsleitung mit einer externen Vorrichtung verbunden sein.
  • Die Recheneinheit 16 schließt eine integrierte Schaltung (Prozessor), wie eine Zentraleinheit (CPU) oder eine Grafikverarbeitungseinheit (GPU), und einen Speicher ein, der als Arbeitsbereich dient, und führt verschiedene Prozesse aus, indem sie verschiedene Programme unter Verwendung dieser Hardwareressourcen ausführt. Insbesondere liest die Recheneinheit 16 ein in der Speichereinheit 18 gespeichertes Programm, setzt das Programm in den Speicher ein und veranlasst den Prozessor, Anweisungen auszuführen, die in dem in den Speicher eingesetzten Programm enthalten sind, wodurch verschiedene Verarbeitungen ausgeführt werden. Die Recheneinheit 16 schließt eine Trainingsdatenerzeugungseinheit (ein Beispiel einer Datenerzeugungseinheit) 30, eine Ankersetzeinheit (ein Beispiel einer Setzeinheit) 32, eine Lerneinheit 34 und eine Objekterkennungsverarbeitungseinheit (ein Beispiel einer Verarbeitungseinheit) 36 ein. Bevor jede Einheit der Recheneinheit 16 beschrieben wird, wird die Speichereinheit 18 beschrieben.
  • Die Speichereinheit 18 schließt eine nichtflüchtige Speichervorrichtung wie eine magnetische Speichervorrichtung oder eine Halbleiterspeichervorrichtung ein und speichert verschiedene Programme und Daten. Die Speichereinheit 18 schließt Bilddaten 40, Konfigurationsdaten 42, ein Lernausführungsprogramm 44, ein Ankersetzprogramm 46, ein Objekterkennungsprogramm 48 und ein erlerntes Programm 50 ein.
  • Die in der Speichereinheit 18 gespeicherten Daten schließen die Bilddaten 40 und die Konfigurationsdaten 42 ein. Die Bilddaten 40 schließen Trainingsdaten ein, die zum Lernen verwendet werden. Die Trainingsdaten sind Daten, die Daten eines Bildes und eines Bereichs (Begrenzungsrahmens) zuordnen, in dem ein Objekt angezeigt wird, wenn das Objekt in das Bild aufgenommen wird. Das Bild der Trainingsdaten kann Daten einschließen, die zum Lernen verwendet werden, und Daten zum Bewerten der Genauigkeit des Programms nach dem Lernen. Zusätzlich können die Bilddaten Bilddaten einschließen, in denen ein Objekt erfasst werden muss. Die Konfigurationsdaten 42 schließen später beschriebene Ankersetzinformationen, Informationen über Bedingungen zum Ausführen des erlernten Programms oder dergleichen ein.
  • Die in der Speichereinheit 18 gespeicherten Programme schließen ein Lernausführungsprogramm 44, ein Ankersetzprogramm 46, ein Objekterkennungsprogramm 48 und ein Lernprogramm 50 ein.
  • Das Lernausführungsprogramm 44 führt eine Deep-Learning-Verarbeitung der in den Bilddaten 40 enthaltenen Trainingsdaten basierend auf der Einstellung der Konfigurationsdaten 42 durch und erstellt ein erlerntes Programm 50. Als Deep-Learning-Modell ist es möglich, ein Deep-Learning -Modell wie Regionen mit Convolutional Neural Networks (R-CNN), You Only Look Once (YOLO) oder Single Shot Multibox Detector (SSD) zu verwenden, in dem ein Begrenzungsrahmen, Anker genannt, für ein Bild eingestellt wird und ein Merkmal in dem Anker basierend auf der Einstellung verarbeitet wird, um zu erkennen, ob ein Objekt in dem Bild enthalten ist.
  • Das Ankersetzprogramm 46 führt mit dem Lernausführungsprogramm 44 und dem erlernten Programm 50 eine Verarbeitung des Setzens eines Ankers aus, der bei der Durchführung einer Bildverarbeitung unter Verwendung des Deep-Learning-Modells verwendet werden soll. Das Ankersetzprogramm 46 führt eine Bearbeitung zum Setzen der Größe des Ankers aus. Ferner führt das Ankersetzprogramm 46 vorzugsweise eine Verarbeitung zum Setzen des Seitenverhältnisses des Ankers und der Anzahl der zu verwendenden Anker aus. Die vom Ankersetzprogramm 46 gesetzten Informationen sind in den Konfigurationsdaten 42 gespeichert.
  • Das Objekterkennungsprogramm 48 ist ein Programm, das eine Objekterkennungsverarbeitung unter Verwendung des erlernten Programms 50 ausführt. Das Objekterkennungsprogramm 48 ist ebenfalls auf eine Erfassungsverarbeitung für ein Bild und eine Ausgabeverarbeitung eines Bestimmungsergebnisses eingestellt. Das Objekterkennungsprogramm 48 kann die Verarbeitung zur Verarbeitung von Bilddaten setzen. Das erlernte Programm 50 ist ein Programm, das durch Ausführen des Lernausführungsprogramms 44 erzeugt wird. Das Objekterkennungsprogramm 48 kann das Merkmal (Punktzahl) des erlernten Bestimmungskriteriums berechnen, indem es das erlernte Programm 50 durch eine Recheneinheit ausführt, die eine Bildverarbeitung durchführt, und kann die Verarbeitung des Erfassens eines Objekts basierend auf dem Merkmal ausführen.
  • In der Speichereinheit 18 können das Lernausführungsprogramm 44, das Ankersetzprogramm 46 und das Objekterkennungsprogramm 48 durch Lesen des Lernausführungsprogramms 44, des Ankersetzprogramms 46 und des Objekterkennungsprogramms 48 installiert werden, die auf dem Aufzeichnungsmedium aufgezeichnet sind, oder alternativ können das Lernausführungsprogramm 44, das Ankersetzprogramm 46 und das Objekterkennungsprogramm 48 installiert werden, indem das Lernausführungsprogramm 44, das Ankersetzprogramm 46 und das Objekterkennungsprogramm 48, die in dem Netzwerk bereitgestellt werden, gelesen werden.
  • Die Funktion jeder Einheit der Recheneinheit 16 wird beschrieben. Jede Einheit der Recheneinheit 16 kann durch Ausführen eines in der Speichereinheit 18 gespeicherten Programms ausgeführt werden. Wenn sich ein Objekt in den Bilddaten befindet, ordnet die Trainingsdatenerzeugungseinheit 30 die Bilddaten Rahmeninformationen (Begrenzungsrahmen) zu, die einen Bereich des Objekts angeben. Der zu setzende Rahmen ist rechteckig. Die Trainingsdatenerzeugungseinheit 30 setzt Rahmeninformationen von einer Bedieneingabe an die Eingabeeinheit 12 in einen Zustand, in dem beispielsweise ein Bild auf der Ausgabeeinheit 14 angezeigt wird. Die Bedieneingabe in die Eingabeeinheit 12 ist eine Bedienung, bei der der Bediener Informationen über eine Position eingibt, welche die Position des Rahmens (Objekts) umgibt, während er das Bild betrachtet. Ferner kann die Trainingsdatenerzeugungseinheit 30 das Ergebnis der Bildextraktionsverarbeitung erkennen, die von der Objekterkennungsverarbeitungseinheit 36 ausgeführt wird. In diesem Fall kann eine vom Bediener durchgeführte Operation zum Bestimmen, ob die Position des extrahierten Rahmens korrekt ist, Daten der Trainingsdaten erfasst werden, und Daten, bei denen die Position des Rahmens vom Bediener als korrekt bestimmt wird, können als die Trainingsdaten erfasst werden.
  • Die Ankersetzeinheit 32 führt die Verarbeitung des Ankersetzprogramms 46 aus und setzt Informationen eines Ankers, der in der Bildverarbeitung des Deep-Learning-Modells verwendet wird, das von der Lerneinheit 34 und der Objekterkennungsverarbeitungseinheit 36 ausgeführt wird. Die Verarbeitung der Ankersetzeinheit 32 wird später beschrieben.
  • Die Lerneinheit 34 führt die Verarbeitung des Lernausführungsprogramms 44 unter Verwendung der durch die Ankersetzeinheit 32 festgelegten Ankersetzung aus, führt Deep Learning als Trainingsdaten der Bilddaten 40 durch und erzeugt ein erlerntes Programm. Die Verarbeitung der Lerneinheit 34 wird später beschrieben.
  • Die Objekterkennungsverarbeitungseinheit 36 verarbeitet das erlernte Programm 50 unter Verwendung des Objekterkennungsprogramms 48 und führt eine Verarbeitung zum Bestimmen aus, ob ein Objekt in dem erfassten Bild enthalten ist, d.h. eine Objekterkennungsverarbeitung. Die Verarbeitung der Objekterkennungsverarbeitungseinheit 36 wird später beschrieben.
  • In der vorliegenden Ausführungsform umfasst die Programmerstellungsvorrichtung 10 zwar die Trainingsdatenerzeugungseinheit 30 und die Objekterkennungsverarbeitungseinheit 36. Die Programmerstellungsvorrichtung 10 schließt jedoch möglicherweise nicht die Trainingsdatenerzeugungseinheit 30 und die Objekterkennungsverarbeitungseinheit 36 ein. Das heißt, die Trainingsdaten können von einer anderen Vorrichtung erzeugt werden. Die Objekterkennungsverarbeitungseinheit 36, welche die Verarbeitung der Erfassung eines Objekts aus einem Bild ausführt, kann nur in der Objekterkennungsvorrichtung 102 bereitgestellt werden.
  • Die Objekterkennungsvorrichtung 102 ist wie oben beschrieben in einem sich bewegenden Körper oder einem Gebäude installiert. Die Objekterkennungsvorrichtung 102 kann in der Lage sein, mit der Programmerstellungsvorrichtung 10 zu kommunizieren, hat aber möglicherweise keine Kommunikationsfunktion. In der Objekterkennungsvorrichtung 102, die keine Kommunikationsfunktion aufweist, werden vorab verschiedene Verarbeitungsbedingungen eingestellt, und die Objekterkennungsverarbeitung wird basierend auf den eingestellten Bedingungen ausgeführt. Die Objekterkennungsvorrichtung 102 kann das Erfassungsergebnis an eine Steuervorrichtung ausgeben, die einen installierten Mechanismus steuert. Somit kann zum Beispiel im Fall eines sich bewegenden Körpers, wenn ein Objekt erfasst wird, eine Verarbeitung des Anhaltens des sich bewegenden Körpers, eine Verarbeitung des Vermeidens des Objekts oder dergleichen durchgeführt werden.
  • Die Objekterkennungsvorrichtung 102 schließt eine Kameraeinheit 112, eine Recheneinheit 114, eine Speichereinheit 116 und eine Benachrichtigungseinheit 118 ein. Die Kameraeinheit 112 erfasst ein Bild des Zielsichtfeldes. Die Kameraeinheit 112 kann kontinuierlich Bilder mit einer vorbestimmten Bildrate erkennen oder kann Bilder erkennen, die durch eine vorbestimmte Operation ausgelöst werden.
  • Die Recheneinheit 114 schließt eine integrierte Schaltung (Prozessor), wie eine CPU oder eine GPU, und einen Speicher, der als Arbeitsbereich dient, ein, und führt verschiedene Verarbeitungen durch, indem sie verschiedene Programme unter Verwendung dieser Hardwareressourcen ausführt. Insbesondere liest die Recheneinheit 114 ein in der Speichereinheit 116 gespeichertes Programm, setzt das Programm in den Speicher ein und veranlasst den Prozessor, Anweisungen auszuführen, die in dem in den Speicher eingesetzten Programm enthalten sind, wodurch verschiedene Verarbeitungen ausgeführt werden. Die Recheneinheit 114 führt ein in der Speichereinheit 116 gespeichertes Programm aus, um eine Verarbeitung zum Erkennen eines Objekts aus einem Bild auszuführen.
  • Die Speichereinheit 116 schließt eine nichtflüchtige Speichervorrichtung wie eine magnetische Speichervorrichtung oder eine Halbleiterspeichervorrichtung ein und speichert verschiedene Programme und Daten. In der Speichereinheit 116 sind ein Objekterkennungsprogramm 120 und ein erlerntes Programm 122 gespeichert.
  • Die Benachrichtigungseinheit 118 benachrichtigt den Bediener. Die Benachrichtigungseinheit 118 schließt einen Lautsprecher, eine lichtemittierende Vorrichtung, eine Anzeige oder dergleichen ein. Wenn die Recheneinheit 114 eine Verarbeitung ausführt und ein in einem Bild enthaltenes Objekt erkennt, benachrichtigt die Benachrichtigungseinheit 118 den Bediener, dass es ein Objekt gibt. Wenn das Objekt eine Person ist, kann die Person, die das Erfassungsziel ist, benachrichtigt werden.
  • 2 ist ein Erläuterungsdiagramm zum Beschreiben eines Ausführungsbeispiels der Bildverarbeitung des Objekterkennungssystems. 3 bis 5 sind Erläuterungsdiagramme zur Beschreibung eines Ausführungsbeispiels für die Bildverarbeitung.
  • Die Objekterkennungsverarbeitungseinheit 36 der vorliegenden Ausführungsform bestimmt, ob ein Objekt in einem Bild enthalten ist, indem sie eine Bildverarbeitung durch das eingestellte Deep Learning durchführt. Die Lerneinheit 34 führt ein maschinelles Lernen, beispielsweise ein Deep Learning, unter Verwendung der von der Trainingsdatenerzeugungseinheit 30 erzeugten Trainingsdaten durch, um ein von der Objekterkennungsverarbeitungseinheit 36 auszuführendes erlerntes Programm zu erzeugen.
  • Hier wird beim Deep Learning der vorliegenden Ausführungsform eine Faltungsverarbeitung an einem Zielbild durchgeführt, und ein Merkmal, das aus einer Vielzahl von Pixeln erhalten wird, wird als eine Zelleninformation festgelegt. Dann wird, wie in 2 veranschaulicht, der Prozess des Einstellens der Merkmale, die aus einer Vielzahl von Zellen erhalten werden, als eine Einheit von Zelleninformationen wiederholt. Auf diese Weise kann für ein Bild eine Vielzahl von Merkmalskarten mit unterschiedlichen Zellengrößen erhalten werden. Beim Deep Learning wird eine Verarbeitung unter Verwendung eines Ankers, der jeder Zelle zum Zeitpunkt der Erfassung einer Merkmalskarte zugeordnet ist, ausgeführt, um ein Objekt zu erkennen.
  • Das heißt, wie in 2 veranschaulicht, es wird eine Merkmalskarte (unterteilte Karte) 202 für ein Bild verarbeitet, um eine Merkmalskarte 202A mit einer geringeren Anzahl von Unterteilungen als die Bilddaten 202 zu erzeugen. In der Funktionskarte 202A belegt eine Zelle 210A einen größeren Anteil des gesamten Bildes als die Zelle 210. Dieselbe Verarbeitung wird auf der Merkmalskarte 202A mehrmals durchgeführt, um eine Merkmalskarte 202B zu erzeugen, in der nur eine Zelle (ein Bereich) 210 B gesetzt ist. Dabei werden für die Verarbeitung beim Wechsel in eine unterschiedliche Anzahl von Unterteilungen verschiedene Parameter bei der im Deep Learning ausgeführten Rechenverarbeitung eingestellt.
  • Dabei wird bei der Einstellung von Deep Learning zur Berechnung der Auswertung einer Zelle der Anker 212 als Information des Rahmens zur Erfassung der Information eingestellt. Der Anker 212 der vorliegenden Ausführungsform ist so eingestellt, dass sein Zentrum mit dem Zentrum der auszuwertenden Zelle zusammenfällt. Die Größe des Ankers 212 in Bezug auf die Zelle ist festgelegt, und je größer die Zelle ist, desto größer ist der Anker 212. Außerdem sind mehrere Anker 212 zur Durchführung einer Verarbeitung im Deep Learning gesetzt.
  • Als nächstes werden die Trainingsdaten beschrieben. 3 ist ein Bild 220 einschließlich eines Hundes 230 und einer Katze 232. Bei der Erkennung eines Objekts wird, wenn das Objekt ein Hund ist, ein Rahmen 224 in einem Bereich gesetzt, in dem der Hund 230 angezeigt wird. Ein Rahmen 224 ist eine Bereichsinformation und eine Information, die angibt, dass das Objekt angezeigt wird, d.h. ein Begrenzungsrahmen. Der Rahmen 224 ist eine Positionsinformation auf dem Bild 220. Wenn das Objekt eine Katze ist, wird ein Rahmen 226 in einem Bereich festgelegt, in dem die Katze 232 angezeigt wird. Wenn das Objekt ein Tier ist, können sowohl der Rahmen 224 als auch der Rahmen 226 für ein Bild 220 festgelegt werden. Wie in 3 veranschaulicht, sind Informationen, in denen Informationen von Rahmen 224 und 226, die das Objekt umgeben, einem Bild 220 zugeordnet sind, Bilddaten korrekter Daten und Trainingsdaten.
  • Das Objekterkennungssystem 100 erzeugt ein erlerntes Modell, das in der Lage ist, ein Objekt zu extrahieren, indem es eine Lernverarbeitung einer Vielzahl von Bildern durchführt, die Bild 220 einschließt, das Informationen über Rahmen 224 und 226 der Bilddaten enthält, während die Anker, die für die Lehrerdaten gesetzt sind, an jede Zelle angepasst werden.
  • 4 und 5 veranschaulichen schematisch einen Zustand, in dem das Bild von 3 analysiert wird. In einer Merkmalskarte (unterteilte Karte) 240, die in 4 veranschaulicht ist, wird ein Bild in 8 Zeilen und 8 Spalten unterteilt. Die in 5 dargestellte Merkmalskarte 240a ist in vier Zeilen und vier Spalten unterteilt. In der Merkmalskarte 240, wie in der Ankereinheit 242 dargestellt, die der Zelle 252 entspricht, werden eine Vielzahl von Ankern 250a, 250b, 250c und 250d mit unterschiedlichen Seitenverhältnissen auf jede Zelle angewendet, und Merkmale von Bildern, die in Regionen der Anker eingeschossen sind, werden für jeden Anker verglichen. Gleiches gilt für die Merkmalskarte 240a.
  • Im Falle des in 3 veranschaulichten Bildes 220 wird im Rahmen 226 der Katze 232 ein Anker, der mit der Ankereinheit 244 übereinstimmt, die durch Teilen des Bereichs des Bildes durch die Größe der Zelle 242 erhalten wird, in der in 4 veranschaulichten Merkmalskarte 240 erkannt. Der Anker, der dem Rahmen 224 des Hundes 230 entspricht, wird in der Merkmalskarte 240 nicht als Anker erkannt, da die Größe des Ankers unterschiedlich ist. Der Anker, der dem Rahmen 224 des Hundes 230 entspricht, wird als ein Anker erkannt, der in der Ankereinheit 246 enthalten ist, die in der Merkmalsabbildung 240a mit einer geringen Anzahl von Unterteilungen festgelegt ist.
  • Auf diese Weise wendet das Objekterkennungssystem 100 den Anker auf jede Zelle der Merkmalskarte an und verarbeitet das Bild im Anker durch Deep Learning, um zu erkennen, ob das Objekt in den Bilddaten enthalten ist.
  • Wenn hier der Grad der Übereinstimmung, d. h. das Verhältnis der Überlappung zwischen dem Bereich, in dem das Objekt angezeigt wird, d. h. des Begrenzungsrahmens im Fall der Trainingsdaten, und dem Anker hoch ist, steigt auch die Genauigkeit des Lernens, und das Objekt kann mit hoher Genauigkeit erkannt werden. Hier wird der Grad der Übereinstimmung durch Intersection over Union (IoU) bewertet. Insbesondere ist es ein Prozentsatz von (Anpassungsabschnitt zwischen dem Begrenzungsrahmen und dem Anker)/(Vereinigung des Begrenzungsrahmens und des Ankers). Wenn sich andererseits der Bereich, in dem das Objekt angezeigt wird, der im Fall der Trainingsdaten der Begrenzungsrahmen ist, an der Grenze des Ankers befindet, ist der Übereinstimmungsgrad in jedem Anker zum Zeitpunkt des Deep Learning gering, der Lernumfang beim Deep Learning nimmt nicht zu und das Objekt kann durch das erlernte Programm nicht erkannt werden. Außerdem wird selbst zum Zeitpunkt der tatsächlichen Erfassung kein Anker erzeugt, der einen hohen Grad an Übereinstimmung mit dem Bereich aufweist, der das Objekt einschließt, und eine Erfassung kann möglicherweise nicht durchgeführt werden. Andererseits führt das Objekterkennungssystem 100 die folgende Verarbeitung durch.
  • Ankersetzverfahren
  • Als nächstes wird ein Ankersetzverfahren mit Bezug auf die 6 bis 12 beschrieben. 6 und 7 sind Erläuterungsdiagramme zum Beschreiben jeweils eines Ankers. 8 ist ein Flussdiagramm, das ein Ausführungsbeispiel für die Verarbeitung einer Ankersetzeinheit veranschaulicht. 9 und 10 sind Erläuterungsdiagramme zur Beschreibung eines Ausführungsbeispiels für die Verarbeitung der Ankersetzeinheit. 11 ist ein Graph, der ein Ausführungsbeispiel der Beziehung zwischen einer Ankergröße und einer Annahmerate zeigt. 12 ist ein Graph, der ein Ausführungsbeispiel der Beziehung zwischen einer Erkennungsrate und einer falschen Erkennungsrate für jede Ankergröße zeigt.
  • In dem in 6 und 7 dargestellten Ausführungsbeispiel werden vier Formen von Ankern 212a, 212b, 212c und 212d als Anker 212 veranschaulicht. Die Anker 212a, 212b, 212c und 212d weisen die gleichen Flächen und unterschiedliche Seitenverhältnisse auf. Anker 212a, 212b, 212c und 212d zeigen Zustände an, die für die Zelle 282 eingestellt sind. Die Abmessungen der Anker 212a, 212b, 212c und 212d in vertikaler Richtung nehmen in dieser Reihenfolge ab. Der Anker 212a ist ein vertikal langes Rechteck. Der Anker 212d ist ein horizontal langes Rechteck.
  • Beim Deep Learning ist es aufgrund der Form des Ankers 212, die eine Vielzahl von Formen aufweist, einen Anker nahe der Form der Begrenzungsrahmen 280 und 280a bereitzustellen, die Bereiche sind, die so eingestellt sind, dass sie ein Objekt einschließen. Beispielsweise beträgt bei 6 der Übereinstimmungsgrad zwischen dem Begrenzungsrahmen 280 und dem Anker 212a 45 %, der Übereinstimmungsgrad zwischen dem Begrenzungsrahmen 280 und dem Anker 212b 80 %, der Übereinstimmungsgrad zwischen dem Begrenzungsrahmen 280 und dem Anker 212c 60 % und der Übereinstimmungsgrad zwischen dem Begrenzungsrahmen 280 und dem Anker 212d 30 %. Im Fall von 7 beträgt der Übereinstimmungsgrad zwischen dem Begrenzungsrahmen 280a und dem Anker 212a 30 %, der Übereinstimmungsgrad zwischen dem Begrenzungsrahmen 280 a und dem Anker 212b 30 %, der Übereinstimmungsgrad zwischen dem Begrenzungsrahmen 280a und dem Anker 212c 30 % und der Übereinstimmungsgrad zwischen dem Begrenzungsrahmen 280a und dem Anker 212d 5 %. Hier wird der Grad der Übereinstimmung durch IoU ausgewertet.
  • Die Ankersetzeinheit 32 gemäß der vorliegenden Ausführungsform setzt den Anker basierend auf dem Begrenzungsrahmen der Trainingsdaten, wodurch die Erfassungsgenauigkeit des Objekts erhöht wird. Die Ankersetzverarbeitung wird unter Bezugnahme auf 8 beschrieben. Die in 8 dargestellte Verarbeitung kann dadurch realisiert werden, dass die Ankersetzeinheit 32 die Verarbeitung ausführt.
  • Die Ankersetzseinheit 32 erfasst Trainingsdaten, die Bereichsinformationen eines Objekts, d. h. Informationen einer Begrenzungsrahmen, einschließen (Schritt S12). Die Ankersetzeinheit 32 liest das Setzen des Ankers (Schritt S14). Hier ist das Setzen des Ankers eine Information über das Seitenverhältnis des Ankers und die Referenzgröße in Bezug auf die Zelle für alle beim Lernen verwendeten Anker.
  • 9 und 10 veranschaulichen einen Fall, in dem der Begrenzungsrahmen 284 über die Zelle 285a und die Zelle 285b angeordnet ist. 9 und 10 veranschaulichen einen Fall, in dem die Größe des Ankers, der derselben Zelle 285a und Zelle 285b zugeordnet ist, unterschiedlich ist. 9 veranschaulicht einen Anker 286a, der in der Zelle 285a verwendet wird, und einen Anker 286b, der in der Zelle 285b neben der Zelle 285a verwendet wird. 10 veranschaulicht einen Anker 288a, der in der Zelle 285a verwendet wird, und einen Anker 288b, der in der Zelle 285b neben der Zelle 285a verwendet wird. Der Anker 288a und 288b von 10 ist größer als der Anker 286a und 286b von 9. Das Seitenverhältnis der Anker 288a und 288b in 10 ist das gleiche wie das Seitenverhältnis der Anker 286a und 286b in 9. In 9 und 10 wird der Begrenzungsrahmen 284 des Objekts über die Zellen 285a und 285b gesetzt.
  • Wie in 9 veranschaulicht, nimmt in einer Größe, in der es eine Lücke zwischen einem Anker 286a und einem benachbarten Anker 286b gibt, der Grad der Übereinstimmung der Fläche zwischen den Ankern 286a und 286b und dem Begrenzungsrahmen des Objekts tendenziell weniger wahrscheinlich zu. Andererseits ist, wie in 10 dargestellt, in einer Größe, in der keine Lücke zwischen dem Anker 288a und dem benachbarten Anker 288b vorhanden ist, der Grad der Übereinstimmung der Fläche zwischen den Ankern 288a und 288b und dem Begrenzungsrahmen des Objekts je nach Position weniger wahrscheinlich extrem niedrig, und die Erfassungsrate ist tendenziell hoch. Daher ist es bevorzugt, die Größe des Ankers in einem Fall zu bewerten, in dem die Größe des Ankers so eingestellt ist, dass sie größer oder kleiner als die Größe des Ankers ohne Zwischenraum zwischen dem Anker 288a und dem benachbarten Anker 288b ist, was in 10 als eine Mittengröße veranschaulicht ist.
  • Die Ankersetzeinheit 32 berechnet die IoU an jeder Position basierend auf den Bereichsinformationen des Objekts und den Informationen des Ankers (Schritt S16).
  • Die Ankersetzeinheit 32 ermittelt, ob die Bewertung der Größen aller Anker abgeschlossen ist (Schritt S18). Wenn die Ankersetzeinheit 32 bestimmt, dass die Bewertung der Größen aller Anker nicht abgeschlossen ist (Nein in Schritt S18), ändert die Ankersetzeinheit 32 die Größen der Anker (Schritt S20) und kehrt zum Prozess von Schritt S16 zurück. Das heißt, der Anker wird in eine unbewertete Größe geändert, und die IoU wird für die geänderte Größe berechnet.
  • Wenn die Ankersetzeinheit 32 bestimmt, dass die Bewertungen der Größen aller Anker abgeschlossen sind (Ja in Schritt S18), bestimmt die Ankersetzeinheit 32 die Abmessungen (Größen) der Anker basierend auf den Ergebnissen der Bewertungen (Schritt S22).
  • Die Ankersetzeinheit 32 kann die Größe des Ankers erkennen, mit dem die Bereichsinformationen des Objekts, die in den Trainingsdaten enthalten sind, extrahiert werden können, indem die Größe des Ankers mit den Bereichsinformationen des Objekts verglichen wird und die Annahmerate bewertet wird, in einem Fall, in dem sich die Größen der Anker voneinander unterscheiden.
  • Wie in 11 gezeigt, wird, wenn der Schwellenwert von IoU (IoU-Schwellenwert) auf verschiedene Werte eingestellt ist, die Annahmerate der Zielregion der Trainingsdaten berechnet. Die Annahmerate ist (die Anzahl von Objekten, für die IoU gleich oder größer als der Schwellenwert ist)/(die Anzahl von Objekten, die in allen Bilddaten der Trainingsdaten enthalten sind). Die Ankersetzeinheit 32 vergleicht die Bereichsinformationen des Objekts mit jedem einer Vielzahl von Ankern, die mit der eingestellten Größe erzeugt wurden, und wenn die IoU gleich oder größer als der Schwellenwert für einen beliebigen Anker wird, wird die Anzahl von Objekten, die gleich oder größer als der Schwellenwert wird, hochgezählt. Beispielsweise berechnet die Ankersetzeinheit 32 für diesen Wert die Größe des Ankers mit der jeweils höchsten Annahmerate, wenn der IoU-Schwellenwert unterschiedlich ist.
  • 12 zeigt die Ergebnisse der Auswertung der Bilddaten zur Bewertung und Berechnung der Erkennungsrate und der Falscherkennungsrate durch Setzen der Anker der Größe, welche die höchste Annahmequote hatten, wenn die IoU-Schwellenwerte IoU-Schwellenwertbedingung D, IoU-Schwellenwertbedingung E und IoU-Schwellenwertbedingung F sind. Hier kann die Auswertung der Erkennungsrate und der Falscherkennungsrate aus einem Ergebnis extrahiert werden, das durch das Erzeugen eines erlernten Programms durch ein Verfahren zum Erzeugen eines erlernten Programms, das unter Bezugnahme auf 13 beschrieben ist, und das Durchführen einer Extraktionsverarbeitung eines Objekts einer Einheit von Bilddaten zur Auswertung unter Verwendung des erzeugten erlernten Programms erhalten wurde. Wie in 12 dargestellt, kann die Erkennungsrate bei gleicher Falscherkennungsrate in jedem Fall höher sein als die Referenz. Hier wird der IoU-Schwellenwert zum Zeitpunkt des Lernens des Deep Learning als Parameter verwendet. Der IoU-Schwellenwert wird auf der Grundlage des Ergebnisses des in 12 dargestellten Graphen als ein IoU-Schwellenwert bestimmt, der eine gewünschte Erkennungsrate und Falscherkennungsrate erhält. Der ermittelte IoU-Schwellenwert wird zum Zeitpunkt des Lernens als Parameter verwendet. Die Ankersetzeinheit 32 kann die Größe des Ankers nur basierend auf den Informationen in 11 bestimmen, ohne die Erkennungsrate und die Falscherkennungsrate in 12 zu berechnen.
  • Erlerntes Programmerstellungsverfahren
  • 13 ist ein Flussdiagramm, das ein Beispiel eines Betriebs der Lerneinheit veranschaulicht. Die in 13 veranschaulichte Verarbeitung wird ausgeführt, indem die Lerneinheit 34 eine Rechenverarbeitung des Lernausführungsprogramms durchführt. Die Lerneinheit 34 erstellt ein erlerntes Programm unter Verwendung von Informationen über die Größe des Ankers, die von der Ankersetzeinheit 32 bestimmt wird. Wenn die Ankersetzeinheit 32 die Verarbeitung zur Bestimmung der Größe des Ankers durchführt, d.h. wenn die Ankersetzeinheit 32 den Anker im oben beschriebenen Schritt S22 bestimmt, kann die Lerneinheit 34 außerdem ein erlerntes Programm unter Verwendung von Informationen über die Größen von Kandidatenankern erstellen.
  • Die Lerneinheit 34 erfasst Trainingsdaten einschließlich Bereichsinformationen eines Objekts (Schritt S30). Die Lerneinheit 34 liest das Setzen des Ankers (Schritt S32). Das heißt, die Lerneinheit 34 liest die Größeninformationen und Seitenverhältnisinformationen der Anker, die von der Ankersetzeinheit 32 gesetzt wurden. Die Lerneinheit 34 führt ein Deep Learning basierend auf den Trainingsdaten und den Ankerinformationen durch (Schritt S34). Die Lerneinheit 34 setzt ein Deep-Learning-Modell für das Bild der Trainingsdaten basierend auf den Informationen des Ankers und führt das Lernen des Bildes der Trainingsdaten unter Verwendung des gesetzten Modells durch. Dementsprechend erzeugt die Lerneinheit 34 ein erlerntes Programm, in dem das Lernen unter Verwendung der Trainingsdaten ausgeführt wird.
  • Die Lerneinheit 34 wertet das Lernergebnis anhand eines Bildes zur Auswertung aus (Schritt S36). Hier ist das auszuwertende Bild ein Datensatz, der sowohl ein Bild mit dem Objekt als auch ein Bild ohne das Objekt einschließt. Dem zu bewertenden Bild wird eine Information zugeordnet, ob das Objekt enthalten ist oder nicht. Die Lerneinheit 34 erkennt das Objekt im Auswertungsbild unter Verwendung des erlernten Programms zum Auswertungszeitpunkt und wertet dabei aus, ob das Objekt im Auswertungsbild, welches das Objekt einschließt, erkannt wurde, ob das Auswertungsbild, welches das Objekt nicht einschließt, fälschlicherweise als das Objekt enthaltend erkannt wurde, oder ähnliches. Die Lerneinheit 34 berechnet als Auswertung eine Erkennungsrate, eine Falscherkennungsrate oder ähnliches.
  • Nach Berechnung der Auswertung ermittelt die Lerneinheit 34, ob das Lernen beendet werden soll (Schritt S38). Das Bewertungskriterium für das Lernende kann beliebig eingestellt werden. Beispielsweise kann die Anzahl der Lernvorgänge oder der Rechenaufwand als Kriterium verwendet werden, und der Prozess kann beendet werden, wenn die Erkennungsrate oder die Falscherkennungsrate die eingestellte Leistung erfüllt.
  • Wenn festgestellt wird, dass das Lernen nicht beendet ist (Nein in Schritt S38), passt die Lerneinheit 34 den Zustand des Deep Learning an (Schritt S40) und kehrt zu Schritt S34 zurück. Somit wird die Lernverarbeitung erneut ausgeführt. Hier sind die Bedingungen des Deep Learning nicht besonders eingeschränkt, aber als Lernprogramm beim Start des Lernens in Schritt S34 gibt es die Einstellung eines aktuellen Lernprogramms oder die teilweise Ersetzung eines Bildes der Trainingsdaten oder ähnliches. Wenn die Lerneinheit 34 feststellt, dass das Lernen beendet ist (Ja in Schritt S38), setzt die Lerneinheit 34 das Programm des Lernergebnisses als das erlernte Programm (Schritt S42) und beendet die Verarbeitung.
  • Wie oben beschrieben, führt die Lerneinheit 34 die Deep-Learning-Verarbeitung unter Verwendung des von der Ankersetzeinheit 32 gesetzten Ankers aus und erstellt ein erlerntes Programm.
  • Objekterkennungsverfahren
  • Als Nächstes wird ein Objekterkennungsverfahren unter Verwendung eines erlernten Programms unter Bezugnahme auf 14 beschrieben. 14 ist ein Flussdiagramm, das ein Ausführungsbeispiel eines Betriebs der Objekterkennungsvorrichtung veranschaulicht. 14 wird als Verarbeitung beschrieben, die von der Objekterkennungsvorrichtung 102 ausgeführt wird, aber Bilddaten können der Programmerstellungsvorrichtung 10 zugeführt werden, und eine ähnliche Verarbeitung kann von der Objekterkennungsverarbeitungseinheit 36 ausgeführt werden.
  • Die Objekterkennungsvorrichtung 102 liest das erlernte Programm (Schritt S50). Die Objekterkennungsvorrichtung 102 erfasst das von der Programmerstellungsvorrichtung 10 erstellte erlernte Programm. Die Objekterkennungsvorrichtung 102 erfasst Bilddaten (Schritt S52). Konkret erfasst die Objekterkennungsvorrichtung 102 ein Bild durch die Kameraeinheit 112.
  • Die Objekterkennungsvorrichtung 102 analysiert die Bilddaten anhand des erlernten Programms (Schritt S54). In der Objekterkennungsvorrichtung 102 erfasst die Recheneinheit 114, ob ein Objekt in den Bilddaten enthalten ist, indem sie das erlernte Programm verwendet, das durch Ausführen von Deep Learning unter der Bedingung der Anker erzeugt wird, die durch die Ankersetzeinheit 32 gesetzt werden.
  • Die Objekterkennungsvorrichtung 102 ermittelt aus dem Analyseergebnis des Schrittes S54 (Schritt S56), ob ein Objekt vorliegt. Wenn festgestellt wird, dass ein Objekt vorhanden ist (Ja in Schritt S56), benachrichtigt die Objekterkennungsvorrichtung 102 die Erfassung des Objekts von der Benachrichtigungseinheit 118 (Schritt S58). Wenn festgestellt wird, dass kein Objekt vorhanden ist (Nein in Schritt S56), oder nachdem die Bearbeitung von Schritt S58 ausgeführt wurde, ermittelt die Objekterkennungsvorrichtung 102, ob der Prozess beendet ist (Schritt S60). Wenn bestimmt wird, dass die Verarbeitung nicht beendet ist (Nein in Schritt S60), kehrt die Objekterkennungsvorrichtung 102 zu Schritt S52 zurück, erfasst die nächsten Bilddaten und führt eine Objekterkennungsverarbeitung durch. Wenn die Objekterkennungsvorrichtung 102 feststellt, dass die Verarbeitung beendet ist (Ja in Schritt S60), beendet die Objekterkennungsvorrichtung die aktuelle Verarbeitung.
  • In der vorliegenden Ausführungsform wird, wie oben beschrieben, in verschiedenen Fällen, in denen die Größe (Skalierung) des Ankers unter Verwendung der Regionsinformationen des Objekts der Trainingsdaten geändert wird, ein Vergleich zwischen den Regionen durchgeführt, um den Grad der Übereinstimmung zu berechnen, die Größe des Ankers berechnet, in der die Anzahl der übereinstimmenden Anker mit einer Rate gleich oder größer als der Schwellenwert zunimmt, und das Deep Learning unter Verwendung der berechneten Größe des Ankers durchgeführt. Dadurch kann die Erkennungsgenauigkeit des Objekts weiter verbessert werden. Durch die Bestimmung der Größe des Ankers in der Verarbeitung der Durchführung des Vergleichs zwischen den Regionen ist es außerdem möglich, die Größe des Ankers zu bestimmen, mit der die Erkennungsgenauigkeit des Objekts mit deutlich weniger Berechnungen weiter verbessert werden kann als im Fall der Durchführung von Deep Learning für verschiedene Kombinationen von Ankern und der Suche nach einem optimalen Zustand. Ferner ist es durch Verwenden der Informationen der Trainingsdaten, in denen die Bereichsinformationen festgelegt sind, möglich, die Verarbeitung auszuführen, ohne neue Daten zu erzeugen.
  • Ein weiteres Beispiel für ein Ankersetzverfahren
  • Hier kann die Ankersetzeinheit 32 das Seitenverhältnis des Ankers basierend auf Informationen des Rahmens der Zielregion der Trainingsdaten bestimmen. 15 ist ein Flussdiagramm, welches das andere Ausführungsbeispiel der Verarbeitung der Ankersetzeinheit veranschaulicht. 16 ist ein Erläuterungsdiagramm zum Beschreiben des anderen Ausführungsbeispiels der Verarbeitung der Ankersetzeinheit.
  • Die Ankersetzeinheit 32 erfasst die Trainingsdaten (Schritt S70). Die Ankersetzeinheit 32 extrahiert die Verteilung des Seitenverhältnisses des Objektbereichs (Schritt S72). Die Ankersetzeinheit 32 erfasst das Seitenverhältnis des gesetzten Bereichs für alle Bilder der Trainingsdaten. Wenn die Informationen des Seitenverhältnisses im Voraus eingestellt werden, kann die Ankersetzeinheit 32 die Informationen des eingestellten Seitenverhältnisses lesen.
  • Die Ankersetzeinheit 32 berechnet eine Verteilung von Seitenverhältnissen (Schritt S74). Infolgedessen wird, wie in 16 gezeigt, die Verteilung des Seitenverhältnisses des Begrenzungsrahmens berechnet, der in den Trainingsdaten festgelegt ist, bei denen es sich um die Lerndaten handelt.
  • Die Ankersetzeinheit 32 bestimmt eine Vielzahl von Seitenverhältnissen des Ankers basierend auf der Verteilung der Seitenverhältnisse (Schritt S76). Insbesondere werden basierend auf der Verteilung von Seitenverhältnissen in den Trainingsdaten zum Beispiel die Seitenverhältnispositionen bei 2 % und 98 % des Prozentsatzes der Verteilung und die Seitenverhältnisposition, die sich gleichmäßig zwischen diesen zwei Positionen teilt, als die Seitenverhältnisse des zu verwendenden Ankers verwendet. Alternativ kann das Seitenverhältnis des Ankers an der Spitzenposition der Verteilung verwendet werden.
  • Auf diese Weise kann durch Einstellen des Seitenverhältnisses des Ankers basierend auf der Verteilung der Seitenverhältnisse der Trainingsdaten das Seitenverhältnis des Ankers basierend auf dem Seitenverhältnis des zu erkennenden Objekts auf dem Bild bestimmt werden. Dementsprechend ist es möglich, die Erfassungsgenauigkeit des Objekts durch den Anker weiter zu verbessern.
  • Ein weiteres Beispiel für ein Ankersetzverfahren
  • Nach dem Bestimmen der Größe des Ankers kann die Ankersetzeinheit 32 den zu verwendenden Anker bewerten und die Anzahl der Anker reduzieren. Das heißt, eine Kombination von Seitenverhältnissen von zu verwendenden Ankern kann ausgewertet werden, und Anker mit Seitenverhältnissen, die einen geringen Einfluss auf die Detektionsrate haben, können nicht verwendet werden. 17 ist ein Flussdiagramm, das ein anderes Ausführungsbeispiel der Verarbeitung der Ankersetzeinheit veranschaulicht. 18 ist ein Erläuterungsdiagramm zum Beschreiben des anderen Ausführungsbeispiels der Verarbeitung einer Ankersetzeinheit.
  • Die Ankersetzeinheit 32 führt die vorliegende Verarbeitung nach dem Bestimmen der Größe des Ankers aus, der in 8 veranschaulicht ist. Die Ankersetzeinheit 32 erfasst Größeninformationen des Ankers (Schritt S80). Die Ankersetzeinheit 32 liest die Trainingsdaten (Lerndaten) aus (Schritt S82). Die Ankersetzeinheit 32 berechnet die Annahmerate der Lerndaten für jede Kombination der Seitenverhältnisse der Anker (Schritt S84).
  • Zum Beispiel werden in dem in 18 veranschaulichten Beispiel in der Anfangseinstellung, wie in dem Muster P1 gezeigt, fünf Anker mit unterschiedlichen Seitenverhältnissen von 3, 2, 1, 1/2 und 1/3 verwendet. Andererseits wird die Annahmerate bei Verwendung von vier Ankern berechnet. Das Muster P2 ist eine Kombination von Ankern mit Seitenverhältnissen von 2, 1, 1/2 und 1/3, die von 3 verschieden sind. Das Muster P3 ist eine Kombination von Ankern mit Seitenverhältnissen von 3, 1, 1/2 und 1/3, die von 2 verschieden sind. Das Muster P4 ist eine Kombination von Ankern mit Seitenverhältnissen von 3, 2, 1/2 und 1/3, die von 1 verschieden sind. Das Muster P5 ist eine Kombination von Ankern mit Seitenverhältnissen von 3, 2, 1 und 1/3, die von 1/2 verschieden sind. Das Muster P6 ist eine Kombination von Ankern mit Seitenverhältnissen von 3, 2, 1 und 1/2, die von 1/3 verschieden sind. Die Ankersetzeinheit 32 berechnet die Annahmerate für alle Muster.
  • Die Ankersetzeinheit 32 vergleicht die Annahmeraten der jeweiligen Ankerkombinationen (Schritt S86). Wie in 18 dargestellt, vergleicht die Ankersetzeinheit 32 die Annahmeraten der Lerndaten in den jeweiligen Mustern. Die Ankersetzeinheit 32 bestimmt eine Kombination von zu verwendenden Seitenverhältnissen (Schritt S88). Die Ankersetzeinheit 32 setzt eine Kombination, bei der die Verringerung der Annahmerate der Lerndaten innerhalb des Schwellenwerts liegt und die Anzahl der zu verwendenden Anker kleiner ist als eine Kombination von zu verwendenden Seitenverhältnissen. Wenn die Anzahl der Anker gleich ist, wird eine Kombination mit der höchsten Annahmerate von Lerndaten als eine Kombination von Ankern mit zu verwendenden Seitenverhältnissen eingestellt. In dem in 18 gezeigten Ausführungsbeispiel wird eine Kombination von P6-Ankern verwendet.
  • Auf diese Weise wertet die Ankersetzeinheit 32 die Kombination von Ankern aus und berücksichtigt die Kombination des Reduzierens der Anzahl von zu verwendenden Ankern, während eine Reduzierung der Annahmerate unterdrückt wird, und somit ist es möglich, die Berechnungsmenge zu reduzieren, während eine Reduzierung der Erfassungsgenauigkeit eines Objekts unterdrückt wird. Darüber hinaus ist es möglich, durch Auswertung unter Verwendung von Trainingsdaten eine Kombination von Ankern zu erhalten, die zur Erfassung eines Objekts geeignet sind.
  • Bezugszeichenliste
  • 10
    Programmerstellungsvorrichtung
    12
    Eingabeeinheit
    14
    Ausgabeeinheit
    16
    Recheneinheit
    18
    Speichereinheit
    30
    Trainingsdatenerzeugungseinheit
    32
    Ankersetzeinheit
    34
    Lerneinheit
    36
    Objekterkennungsverarbeitungseinheit
    40
    Bilddaten
    42
    Konfigurationsdaten
    44
    Lernausführungsprogramm
    46
    Ankersetzprogramm
    48, 120
    Objekterkennungsprogramm
    50, 122
    Lernprogramm
    100
    Objekterkennungssystem
    102
    Objekterkennungsvorrichtung
    112
    Kameraeinheit
    114
    Recheneinheit
    116
    Speichereinheit
    118
    Benachrichtigungseinheit
    212
    Anker
    230, 232
    Begrenzungsrahmen
  • 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 2018022484 A [0002]
    • JP 5172749 B [0002]

Claims (9)

  1. Programmerstellungsvorrichtung, die konfiguriert ist, um ein Objekterkennungsprogramm zum Erfassen, ob ein Objekt in einem Bild enthalten ist, zu erzeugen, wobei die Programmerstellungsvorrichtung Folgendes umfasst: Trainingsdaten einschließlich einer Vielzahl von Bilddaten einschließlich Bereichsinformationen des Objekts; eine Setzeinheit, die konfiguriert ist, um einen Anker zu setzen, der Informationen eines Rahmens darstellt, der einen Bereich für jede Zelle zum Erfassen des Vorhandenseins oder Nichtvorhandenseins des Objekts aus dem Bild spezifiziert; und eine Lerneinheit, die so konfiguriert ist, dass sie maschinelles Lernen der Trainingsdaten auf der Grundlage der Informationen der Setzeinheit ausführt und ein erlerntes Programm zum Extrahieren des Objekts aus dem Bild erzeugt, wobei die Setzeinheit Informationen über einen Zielbereich der Trainingsdaten und über Seitenverhältnisse des Ankers erfasst, einen Grad der Übereinstimmung zwischen dem Anker und dem Zielbereich für jedes Seitenverhältnis berechnet, während eine Größe des Ankers geändert wird, und eine Annahmerate des Zielbereichs berechnet, dessen Grad der Übereinstimmung ein Anteil ist, der nicht kleiner als ein Schwellenwert ist, und, basierend auf einem Ergebnis der Berechnung, die Größe des Ankers bestimmt, der in dem erlernten Programm verwendet wird.
  2. Programmerstellungsvorrichtung nach Anspruch 1, wobei die Setzeinheit eine Vielzahl von Werten des Übereinstimmungsgrads als die Schwellenwerte setzt, die Annahmerate für jeden der Schwellenwerte berechnet und die Größen einer Vielzahl der Anker basierend auf einem Ergebnis der Berechnung bestimmt.
  3. Programmerstellungsvorrichtung nach Anspruch 1 oder 2, wobei die Setzeinheit basierend auf den Schwellenwerten die Größe des Ankers mit der höchsten Annahmerate als die zu bestimmende Größe des Ankers festlegt.
  4. Programmerstellungsvorrichtung nach einem der Ansprüche 1 bis 3, wobei die Setzeinheit das Seitenverhältnis der Zielregion der Trainingsdaten berechnet und das Seitenverhältnis des Ankers basierend auf einer Verteilung der Seitenverhältnisse der Zielregion bestimmt.
  5. Programmerstellungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die Setzeinheit basierend auf der ermittelten Größe des Ankers eine Erkennungsrate für jedes der eingestellten Seitenverhältnisse für die Trainingsdaten berechnet und basierend auf einem Ergebnis der Berechnung eine Kombination der Seitenverhältnisse der Anker bestimmt, die in dem erlernten Programm zu verwenden ist.
  6. Programmerstellungsvorrichtung nach Anspruch 5, wobei die Setzeinheit einige der Anker mit den Seitenverhältnissen, für die die Erkennungsraten berechnet wurden, als in dem erlernten Programm zu verwendende Anker setzt.
  7. Objekterkennungssystem, umfassend: die Programmerstellungsvorrichtung nach einem der Ansprüche 1 bis 6; und eine Objekterkennungsvorrichtung, die eine Berechnungseinheit, die so konfiguriert ist, dass sie ein erlerntes Programm ausführt, das von der Programmerstellungsvorrichtung erzeugt wurde, eine Kameraeinheit, die so konfiguriert ist, dass sie ein Bild erfasst, und eine Benachrichtigungseinheit einschließt, die so konfiguriert ist, dass sie einen Bediener benachrichtigt, wobei die Berechnungseinheit durch das erlernte Programm ein Bild analysiert, das von der Kameraeinheit erfasst wurde, und die Benachrichtigungseinheit benachrichtigt, wenn erkannt wird, dass das Objekt in dem Bild enthalten ist.
  8. Ankersetzverfahren zum Setzen eines Ankers, der in einem Objekterkennungsprogramm verwendet wird, um zu erkennen, ob ein Objekt in einem Bild enthalten ist, wobei das Ankersetzverfahren die folgenden Schritte umfasst: Erfassen von Trainingsdaten, einschließlich einer Vielzahl von Bilddaten, die Bereichsinformationen des Objekts einschließen; Erfassen von Ankerinformationen, die Informationen eines Rahmens sind, der einen Bereich für jede Zelle angibt, um das Vorhandensein oder Nichtvorhandensein des Objekts aus dem Bild zu erkennen; Erfassen von Informationen über einen Zielbereich der Trainingsdaten und über Seitenverhältnisse des Ankers, Berechnen eines Übereinstimmungsgrads zwischen dem Anker und dem Zielbereich für jedes Seitenverhältnis, während die Größe des Ankers geändert wird, und Berechnen einer Annahmerate des Zielbereichs, dessen Übereinstimmungsgrad ein Anteil von nicht weniger als einem Schwellenwert ist; und Bestimmen, basierend auf einem Ergebnis der Berechnung, der Größe des Ankers, der in dem erlernten Programm verwendet wird.
  9. Ankersetzprogramm zum Bewirken, dass eine Verarbeitung des Setzens eines Ankers ausgeführt werden soll, wobei der Anker in einem Objekterkennungsprogramm zum Erfassen, ob ein Objekt in einem Bild enthalten ist, verwendet wird, wobei das Ankersetzprogramm die folgenden Schritte, die ausgeführt werden sollen, bewirkt: Erfassen von Trainingsdaten einschließlich einer Vielzahl von Bilddaten, die Bereichsinformationen des Objekts einschließen, Erfassen von Ankerinformationen, die Informationen eines Rahmens sind, der einen Bereich für jede Zelle zum Erfassen des Vorhandenseins oder Nichtvorhandenseins des Objekts aus dem Bild spezifiziert, Erfassen von Informationen über einen Zielbereich der Trainingsdaten und über Seitenverhältnisse des Ankers, Berechnen eines Grades der Übereinstimmung zwischen dem Anker und dem Zielbereich für jedes Seitenverhältnis, während die Größe des Ankers geändert wird, und Berechnen einer Annahmerate des Zielbereichs, dessen Grad der Übereinstimmung ein Anteil ist, der nicht kleiner als ein Schwellenwert ist, und Bestimmen, basierend auf einem Ergebnis der Berechnung, der Größe des Ankers, der in dem erlernten Programm verwendet wird.
DE102021201031.8A 2020-03-31 2021-02-04 Programmerstellungsvorrichtung, Objekterkennungssystem, Ankersetzverfahren und Ankersetzprogramm Pending DE102021201031A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-063281 2020-03-31
JP2020063281A JP7340487B2 (ja) 2020-03-31 2020-03-31 プログラム作成装置、対象物検知システム、アンカー設定方法及びアンカー設定プログラム

Publications (1)

Publication Number Publication Date
DE102021201031A1 true DE102021201031A1 (de) 2021-09-30

Family

ID=77659092

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021201031.8A Pending DE102021201031A1 (de) 2020-03-31 2021-02-04 Programmerstellungsvorrichtung, Objekterkennungssystem, Ankersetzverfahren und Ankersetzprogramm

Country Status (4)

Country Link
US (1) US11769322B2 (de)
JP (1) JP7340487B2 (de)
CN (1) CN113470040A (de)
DE (1) DE102021201031A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3221844A1 (en) 2022-12-09 2024-06-09 Kabushiki Kaisha Toyota Jidoshokki Object detection device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5172749B2 (ja) 2009-03-13 2013-03-27 株式会社東芝 信号探索装置、信号探索方法及びプログラム
JP2018022484A (ja) 2016-08-02 2018-02-08 三菱電機株式会社 画像内の物体を検出する方法及び物体検出システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5172749U (de) 1975-12-05 1976-06-08
JP6972756B2 (ja) * 2017-08-10 2021-11-24 富士通株式会社 制御プログラム、制御方法、及び情報処理装置
CN109658455B (zh) * 2017-10-11 2023-04-18 阿里巴巴集团控股有限公司 图像处理方法和处理设备
US10007865B1 (en) * 2017-10-16 2018-06-26 StradVision, Inc. Learning method and learning device for adjusting parameters of CNN by using multi-scale feature maps and testing method and testing device using the same
JP2020027405A (ja) * 2018-08-10 2020-02-20 コニカミノルタ株式会社 物体検出プログラム、および物体検出装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5172749B2 (ja) 2009-03-13 2013-03-27 株式会社東芝 信号探索装置、信号探索方法及びプログラム
JP2018022484A (ja) 2016-08-02 2018-02-08 三菱電機株式会社 画像内の物体を検出する方法及び物体検出システム

Also Published As

Publication number Publication date
US20210303823A1 (en) 2021-09-30
JP2021163127A (ja) 2021-10-11
CN113470040A (zh) 2021-10-01
JP7340487B2 (ja) 2023-09-07
US11769322B2 (en) 2023-09-26

Similar Documents

Publication Publication Date Title
DE60037919T2 (de) Verfahren zum Wiederauffinden von Bildtexturen und Vorrichtung dafür
DE10317917B4 (de) System und Verfahren zum Umgrenzen und Klassifizieren von Regionen innerhalb einer graphischen Abbildung
DE19521346C2 (de) Bilduntersuchungs/-Erkennungsverfahren, darin verwendetes Verfahren zur Erzeugung von Referenzdaten und Vorrichtungen dafür
DE102018119682A1 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium
DE112016007498T5 (de) Untersuchungseinrichtung und untersuchungsverfahren
DE10346690B4 (de) Verfahren und Vorrichtung zum Detektieren eines Linearobjekts
DE102004004528A1 (de) Verfahren, Vorrichtung und Programm zur Verarbeitung eines Stereobildes
DE60303138T2 (de) Vergleichen von mustern
DE112017006891T5 (de) Bewegungslerneinrichtung, fertigkeitendiskriminationseinrichtung und fertigkeitendiskriminationssystem
EP2787485B1 (de) Verfahren und Vorrichtung zur automatischen Fehlerstellenerkennung bei biegeschlaffen Körpern
DE102018102833A1 (de) Positionskontrollsystem, positionserkennungsvorrichtung und steuerprogramm
DE112019000093T5 (de) Diskriminierungsvorrichtung und Maschinenlernverfahren
DE102019133685A1 (de) Informationsverarbeitungssystem und -verfahren
DE102021201124A1 (de) Trainieren von bildklassifizierernetzen
WO2018077745A1 (de) Analyseverfahren für objektmarkierungen in bildern auf basis von modellen
DE60217748T2 (de) Verfahren und Gerät zur Anzeige eines Bildraumes
DE102016100134B4 (de) Verfahren und Vorrichtung zum Untersuchen eines Objekts unter Verwendung von maschinellem Sehen
EP3123393B1 (de) Verfahren zur optischen erkennung von zeichen
DE3718620A1 (de) Verfahren und vorrichtung zur ermittlung des drehwinkels eines objektmusters
DE60024535T2 (de) Verfahren zur Zeichentrennung
DE102021201031A1 (de) Programmerstellungsvorrichtung, Objekterkennungssystem, Ankersetzverfahren und Ankersetzprogramm
WO2003034327A1 (de) Automatische ermittlung von geometrischen modellen für optische teilerkennungen
DE112020006593T5 (de) Datenerzeugungsvorrichtung, Programmerzeugungsvorrichtung, Objektdetektionsvorrichtung, Datenerzeugungsverfahren und Objektdetektionsverfahren
DE102023105432A1 (de) Zielerfassungsvorrichtung, zielerfassungsverfahren und zielerfassungsprogramm
EP3529745A1 (de) Analyseverfahren für objektmarkierungen in bildern

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009640000

Ipc: G06V0030192000