DE102021209212A1 - Verfahren und Vorrichtung zum Ermitteln von Objektdetektionen eines Bildes - Google Patents

Verfahren und Vorrichtung zum Ermitteln von Objektdetektionen eines Bildes Download PDF

Info

Publication number
DE102021209212A1
DE102021209212A1 DE102021209212.8A DE102021209212A DE102021209212A1 DE 102021209212 A1 DE102021209212 A1 DE 102021209212A1 DE 102021209212 A DE102021209212 A DE 102021209212A DE 102021209212 A1 DE102021209212 A1 DE 102021209212A1
Authority
DE
Germany
Prior art keywords
cluster
node
graph
image
determined
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
DE102021209212.8A
Other languages
English (en)
Inventor
Daniel Pototzky
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021209212.8A priority Critical patent/DE102021209212A1/de
Priority to US17/821,162 priority patent/US20230056387A1/en
Priority to JP2022131584A priority patent/JP2023031291A/ja
Priority to CN202211003990.5A priority patent/CN115719427A/zh
Priority to KR1020220105266A priority patent/KR20230029547A/ko
Publication of DE102021209212A1 publication Critical patent/DE102021209212A1/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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/7635Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks based on graphs, e.g. graph cuts or spectral clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • 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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • 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/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

Computerimplementiertes Verfahren (100) zum Ermitteln eines Ausgabesignals, welches eine Objektdetektion eines Objekts eines Bildes charakterisiert, wobei das Verfahren die folgenden Schritte umfasst:a. Ermitteln (101) einer Mehrzahl von Objektdetektionen bezüglich des Bildes;b. Ermitteln (102) eines Graphen basierend auf der Mehrzahl von Objektdetektionen, wobei Objektdetektionen der Mehrzahl von Objektdetektionen durch Knoten des Graphen charakterisiert werden und Überlappungen zwischen jeweils zwei Objektdetektionen durch Kanten des Graphen charakterisiert werden;c. Ermitteln (103) eines Clusters des Graphen basierend auf den Knoten und den Kanten des Graphen mittels eines dichtebasierten Clusteringverfahrens;d. Ermitteln (104) einer Objektdetektion basierend auf dem Cluster und bereitstellen der Objektdetektion im Ausgabesignal.

Description

  • Stand der Technik
  • Radosavovic et al., „Data Distillation: Towards Omni-Supervised Learning“, 2018, Conference on Computer Vision and Pattern Recognition (CVPR) offenbart ein Verfahren zum Ermitteln von Objektdetektionen eines Bildes.
  • Hintergrund der Erfindung
  • Zum Detektieren von Objekten in Bildern werden immer häufiger maschinelle Lernsysteme verwendet. Die performantesten dieser Systeme, also die mit der besten Detektionsleistung, werden typischerweise auf Basis annotierter Bilder überwacht trainiert (engl. supervised learning). Das Training dieser maschinellen Lernsysteme bedingt eine hohe Anzahl von annotierten Bildern zum Training, da typischerweise die Performanz eines maschinellen Lernsystems mit der Anzahl der annotierten Bilder im Training zunimmt.
  • Da das Annotieren von Objekten in Bildern ein zeit- und kostenintensives Unterfangen ist, gewinnen Trainingsverfahren zum teilüberwachten Lernen (engl. semi-supervised learning) von maschinellen Lernsystemen immer mehr an Bedeutung. Bei dieser Art des Trainierens werden dem maschinellen Lernsystem sowohl annotierte als auch unannotierte Bilder zur Verfügung gestellt. Es ist hierbei wünschenswert, die Annotation möglichst genau zu gestalten.
  • Offenbarung der Erfindung
  • Vor diesem Hintergrund betrifft die Erfindung ein Computerimplementiertes Verfahren zum Ermitteln eines Ausgabesignals, welches eine Objektdetektion eines Objekts eines Bildes charakterisiert, wobei das Verfahren die folgenden Schritte umfasst:
    1. a. Ermitteln einer Mehrzahl von Objektdetektionen bezüglich des Bildes;
    2. b. Ermitteln eines Graphen basierend auf der Mehrzahl von Objektdetektionen, wobei Objektdetektionen der Mehrzahl von Objektdetektionen durch Knoten des Graphen charakterisiert werden und Überlappungen zwischen jeweils zwei Objektdetektionen durch Kanten des Graphen charakterisiert werden;
    3. c. Ermitteln eines Clusters des Graphen basierend auf den Knoten und den Kanten des Graphen mittels eines dichtebasierten Clusteringverfahrens;
    4. d. Ermitteln einer Objektdetektion basierend auf dem Cluster und bereitstellen der Objektdetektion im Ausgabesignal.
  • Das ermittelte Ausgabesignal kann als eine Annotation des Bildes verstanden werden, die eine oder mehrere Objektdetektionen charakterisiert. Das Bild kann hierbei insbesondere von einem optischen Sensor aufgezeichnet worden sein, zum Beispiel einem Kamerasensor, einem LIDAR-Sensor, einem Radarsensor, einem Ultraschallsensor oder einer Thermalkamera.
  • Insbesondere können die Schritte c. und d. des Verfahren mehrfach ausgeführt werden, um so im Ausgabesignal mehrere Objektdetektionen bereitstellen zu können.
  • Eine Objektdetektion kann insbesondere durch eine Begrenzungsbox (engl. Bounding Box) charakterisiert werden. Das Ausgabesignal kann daher insbesondere eine oder mehrere Bounding Boxen umfassen. Es ist aber auch möglich, dass Objektdetektionen generell durch zusammenhängende Region charakterisiert werden, beispielsweise Polygone.
  • Zum Ermitteln der Mehrzahl von Objektdetektionen bezüglich des Bildes kann insbesondere ein bereits trainierter Objektdetektor verwendet werden. Beispielsweise ist möglich, dass das Bild als Teil eines teilüberwachten Trainingsverfahrens (engl. semi-supervised learning) annotiert wird und die Mehrzahl von Objektdetektionen von einem Objektdetektor ermittelt wird, der vorher auf bereits annotierten Bildern trainiert wurde. Generell kann ein Objektdetektor insbesondere ein neuronales Netz umfassen, wobei die Objektdetektionen auf Basis einer Ausgabe des neuronalen Netzes ermittelt werden können. Auch ist möglich, dass der Objektdetektor ein neuronales Netz ist.
  • Der Objektdetektor kann insbesondere derart konfiguriert sein, das Bild zu verarbeiten und eine Mehrzahl von Objektdetektionen zu prädizieren. Der Objektdetektor kann vorzugsweise derart konfiguriert sein, dass er zu einer jeweiligen Bounding Box einen Konfidenzwert ermittelt, mit dem es sich um eine Bounding Box eines Objekts des Bildes handelt. Der Konfidenzwert kann beispielsweise eine Prozentzahl sein.
  • In bevorzugten Ausprägungen des Verfahrens ist möglich, dass die Mehrzahl von Objektdetektionen basierend auf einer Mehrzahl von verschiedenen Vorverarbeitungen des Bildes ermittelt wird.
  • Die Vorverarbeitung des Bildes kann zum Beispiel derart gestaltet sein, dass das Bild entsprechend verschiedener Skalen skaliert wird und/oder dass das Bild gespiegelt wird (engl. horizontal flip) und/oder dass das Bild an den Rändern abgeschnitten wird (engl. cropping). Eine oder mehrere dieser Vorverarbeitungsarten können verwendet werden, um ein vorverarbeitetes Bild zu ermitteln. Die Mehrzahl von Objektdetektionen kann sich dann insbesondere aus Objektdetektionen bezüglich des Bildes und Objektdetektionen des vorverarbeiteten Bildes zusammensetzen. Vorzugsweise kann eine Mehrzahl von vorverarbeiteten Bildern durch verschiedene Anwendungen oder Parametrierungen der Vorverarbeitungsarten ermittelt werden und die Objektdetektionen bezüglich dieser Mehrzahl von vorverarbeiteten Bildern als Teil der Mehrzahl von Objektdetektionen verwendet werden.
  • Um insbesondere bei der Verwendung von verschiedenen vorverarbeiteten Varianten des Bildes Objektdetektionen bezüglich gleicher Objekte filtern zu können, wird im Verfahren vorteilhafterweise ein dichtebasiertes Ballungsanalyseverfahren (engl. Clusteringverfahren) verwendet. Als Ziel dieses Verfahrens kann verstanden werden, dass Objektdetektionen, die hinreichend ähnliche Positionen und Ausdehnungen eines Objekts des Bildes charakterisieren zusammengefasst werden. Vorteilhafterweise wird im vorgeschlagenen Verfahren zur Ermittlung von Clustern von Objektdetektionen nicht auf eine Nicht-Maximum-Unterdrückung (engl. non-maximum suppresion) oder einer Begrenzungsboxstimmabgabe (engl. bounding box voting) zurückgegriffen, sondern ein dichtebasiertes Clusteringverfahren verwendet. Die Erfinder konnten herausfinden, dass die so ermittelte Mehrzahl von Objektdetektionen genauer ist im Gegensatz zu einem Verfahren, welches auf eines der anderen Verfahren zurückgreift.
  • Um die Objektdetektionen zu clustern, kann aus der ermittelten Mehrzahl von Objektdetektionen insbesondere ein Graph ermittelt werden. Hierfür können die Objektdetektionen der Mehrzahl von Objektdetektionen jeweils als Knoten des Graphen verstanden werden, wobei die Knoten über Kanten verbunden sind, deren Gewicht jeweils einen Überlapp von durch die Kante verbundenen Knoten (und damit einen Überlapp zwischen Objektdetektionen) charakterisiert. Als Überlapp kann insbesondere eine Metrik wie das Schnittmenge-Vereinigungs-Verhältnis (engl. intersection over union, loU) zwischen den durch die Kante verbundenen Knoten und damit Objektdetektionen verwendet werden.
  • Im Folgenden kann ein Knoten und eine durch den Knoten charakterisierte Objektdetektion als synonym verstanden werden. Insbesondere kann eine durch den Objektdetektor für eine Objektdetektion ermittelte Konfidenz als eine Konfidenz des Knoten verstanden werden.
  • Falls ein Überlapp zwischen zwei Objektdetektionen kleiner oder gleich einem vorgebbaren Schwellenwert ist kann im Verfahren auch vorgesehen sein, dass im Graphen keine Kante zwischen den beiden Objektdetektionen existiert. Auch ist möglich, dass nur solche Objektdetektionen mit in den Graphen aufgenommen werden, deren vom Objektdetektor ermittelte Konfidenz einen vorgebbaren Schwellenwert übersteigt.
  • Es ist bevorzugt möglich, dass Objekte verschiedener Klassen auf dem Bild mittels des Verfahrens annotiert werden sollen. In diesem Fall ist möglich, dass pro Klasse ein separater Graph erzeugt wird und das dichtebasierte Clusteringverfahren für jeden so ermittelten Graphen durchgeführt wird. Dies kann derart verstanden werden, dass nur solche Objektdetektionen der Mehrzahl von Objektdetektionen für einen Graphen berücksichtigt werden, die zu einer gleichen Klasse gehören.
  • Vorzugsweise wird das Clusteringverfahren basierend auf einem Dichtemaß eines Clusters und basierend auf einem Verbindungsmaß des Clusters durchgeführt wird.
  • Der Vorteil diese Herangehensweise ist, dass die Anzahl an Clustern und damit die Anzahl der Objekte im Bild nicht bekannt sein muss, sondern vom Verfahren automatisch ermittelt werden kann. Hierdurch wird die Genauigkeit der Objektdetektionen des Ausgabesignals weiter verbessert.
  • Ein Ergebnis einer Anwendung des Clusteringsverfahrens können ein oder mehrere Cluster sein. Jeder Cluster umfasst vorzugsweise eine Mehrzahl von Objektdetektionen (z.B. eine Mehrzahl von Bounding Boxen). Ein Cluster kann insbesondere ein Zentrum des Clusters umfassen. Vorzugsweise kann ein Knoten ein Zentrum des Clusters charakterisieren. Vorzugsweise charakterisiert ein Knoten des Clusters das Zentrum, dessen Konfidenz unter den Konfidenzen der Knoten des Clusters am größten ist. Falls das Clusteringverfahren einen Cluster bestimmt, kann das Zentrum als eine Objektdetektion im Ausgabesignal bereitgestellt werden. Auch ist möglich, dass die Knoten eines Clusters entsprechend ihrer Konfidenz gewichtet und zusammengeführt werden können. Zum Beispiel können die Objektdetektionen eines Clusters jeweils durch einen Mittelpunkt, sowie eine Höhe und eine Breite einer Bounding Box charakterisiert sein. Der Mittelpunkt, die Höhe und die Breite können insbesondere als Vektor dargestellt werden und die Zusammenführung der Objektdetektionen durch eine gewichtete Addition der Vektoren durchgeführt werden. Insbesondere kann das Ergebnis der Addition durch die Summe der Konfidenzen der Knoten des Clusters geteilt werden, um die Objektdetektion basierend auf dem Cluster zu ermitteln.
  • In weiteren Ausführungen des Verfahrens ist auch möglich, dass statt des Mittelpunktes ein anderer Punkt der Bounding Box gewählt wird, zum Beispiel eine Ecke der Bounding box.
  • Die Erfinder konnten jedoch herausfinden, dass es durchaus angebracht sein kann, keine Objektdetektionen solcher Cluster als Objektdetektionen im Ausgabesignal bereitzustellen, die nur eine einzige Objektdetektion umfassen. Der Ausschluss solcher Zentren führt zu einer Erhöhung der Genauigkeit der Objektdetektionen des Ausgabesignals.
  • In einer bevorzugten Ausprägung des Verfahrens zum Ermitteln des Ausgabesignals kann das dichtebasierte Clusteringverfahren die folgenden Schritte umfassen:
    • e. Ermitteln eines Startknotens basierend auf einer Summe von Kantengewichten der jeweiligen Knoten im Graphen und bereitstellen des Startknotens als Knoten des Clusters;
    • f. Ermitteln eines Knotens des Graphen, dessen Verbindung zum Cluster am größten ist, wobei der Knoten nicht im Cluster enthalten ist;
    • g. Falls ein Hinzufügen des Knotens ein Dichtemaß des um den Knoten erweiterten Clusters nicht unter einen vorgebbaren ersten Schwellenwert fallen lässt und falls das Hinzufügen ein Verbindungsmaß des um den Knoten erweiterten Clusters nicht unter einen vorgebbaren zweiten Schwellenwert fallen lässt, hinzufügen des Knoten zum Cluster;
    • h. Andernfalls bereitstellen des Clusters.
  • Zum Ermitteln des Startknotens kann zunächst für jeden Knoten im Graphen eine Summe der Kanten bestimmt werden, die mit dem jeweiligen Knoten verbunden sind. Für jeden Knoten kann so eine Kennzahl ermittelt werden, wobei der Knoten mit der höchsten Kennzahl als Startknoten verwendet wird. Der Startknoten kann darüber hinaus als Zentrum eines Clusters verstanden werden, der in den folgenden Schritten des Clusteringverfahrens um weitere Knoten erweitert werden kann.
  • Anschließend wird ein Knoten des Graphen ermittelt, der eine numerische größte Verbindung mit dem Cluster hat und nicht bereits Teil des Clusters ist. Eine Verbindung eines Knoten zum Cluster kann insbesondere derart verstanden werden, dass für den Knoten eine Kante ermittelt wird, die unter allen Kanten, die den Knoten mit Knoten des Clusters verbinden, das höchste Gewicht hat. Das Gewicht dieser Kante kann anschließend als die Verbindung des Knoten zum Cluster. Unter den nicht zum Cluster gehörenden Knoten kann dann ein Knoten ermittelt werden, der eine größte Verbindung hat, d.h. dessen Verbindung zum Cluster numerisch am größten ist.
  • Falls ein Hinzufügen des Knotens ein Dichtemaß des um den Knoten erweiterten Clusters nicht unter einen vorgebbaren ersten Schwellenwert fallen lässt und falls das Hinzufügen ein Verbindungsmaß des um den Knoten erweiterten Clusters nicht unter einen vorgebbaren zweiten Schwellenwert fallen lässt, kann der Knoten dem Cluster hinzugefügt werden. Dieser Schritt kann derart verstanden werden, dass zunächst untersucht wird, welchen Einfluss eine Aufnahme des Knotens in den Cluster für eine Auswirkung für den Cluster hätte. Als Kennzahlen zur Bestimmung der Auswirkung kann das Dichtemaß sowie das Verbindungsmaß verwendet werden.
  • Das Dichtemaß kann derart verstanden werden, dass es charakterisiert, ob eine Aufnahme des Knotens gewährleistet, dass alle Knoten des Clusters nach der Aufnahme immer noch hinreichend miteinander verbunden sind, wobei die hinreichende Verbindung mittels des ersten Schwellenwertes überprüft wird. Vorzugsweise kann das Dichtemaß durch die Formel d Z = 2 ( W Z + W Z k ) n ( n + 1 )
    Figure DE102021209212A1_0001
    charakterisiert werden, wobei Wz eine Summe aller Gewichte der Kanten zwischen Knoten des Clusters Z charakterisiert, WZk eine Summe aller Gewichte der Kanten vom Knoten zu Knoten des Clusters ist und n die Anzahl der Knoten im Cluster ist, d.h. die Anzahl der Knoten im Cluster vor einer potentiellen Aufnahme des Knoten in den Cluster.
  • Das Verbindungsmaß kann derart verstanden werden, dass es charakterisiert, ob eine Aufnahme des Knotens gewährleistet, dass der Knoten selber eine hinreichende Verbindung zu den Knoten des Clusters hat, wobei die hinreichende Verbindung mittels des zweiten Schwellenwertes überprüft wird. Vorzugsweise kann das Verbindungsmaß durch die Formel c p Z = W Z k d Z ( n + 1 )
    Figure DE102021209212A1_0002
    charakterisiert werden.
  • Vorzugsweise kann im Verfahren vorgesehen sein, dass iterativ Knoten im Schritt f. ermittelt werden und zum Cluster hinzugefügt werden, bis zumindest eine der Bedingungen aus Schritt g. nicht mehr erfüllt ist, wobei falls die zumindest eine Bedingung nicht mehr erfüllt ist der Cluster bereitgestellt wird und die Knoten des Clusters aus dem Graphen entfernt werden.
  • Dies kann derart verstanden werden, dass über einen gierigen Algorithmus (engl. greedy algorithm) nach und nach Cluster ermittelt werden. In jeder Iteration wird zunächst ein neuer Startknoten gewählt, an Hand dessen anschließend durch iteratives Hinzufügen von Knoten ein Cluster gebildet wird. Insbesondere können die Schritte e. bis h. iterativ wiederholt werden, bis kein Knoten mehr im Graphen vorhanden ist. Im Gegensatz zu anderen Verfahren, die beispielsweise auf einer non-maximum suppression beruhen, konnten die Erfinder herausfinden, dass die so gewonnenen Cluster und daher die Objektdetektionen, die im Ausgabesignal bereitgestellt werden, präziser sind.
  • Ferner kann vorgesehen sein, dass die basierend auf dem Cluster ermittelte Objektdetektion im Ausgabesignal nicht bereitgestellt wird, falls der Cluster nur aus dem Startknoten besteht. Die Erfinder konnten feststellen, dass Cluster, die aus nur einer Objektdetektion bestehen, typischerweise auf falsch-positive Objektdetektionen des Objektdetektors zurückzuführen sind (engl. false positives). Ein Ausschluss von Clustern, die nur einen Knoten, nämlich den Startknoten, umfassen führt daher zu einer weiteren Verbesserung der Ergebnisse.
  • Generell ist möglich, dass der Graph alle Klassen von Objektdetektionen umfasst, die vom Objektdetektor erkannt werden können. Beispielsweise kann der Objektdetektor ausgebildet sein, dass er Fahrzeuge, Fußgänger, Fahrradfahrer und Ampeln auf Bilder einer Umgebung eines Fahrzeugs erkennen kann. Es ist jedoch bevorzugt auch möglich, dass der Graph bezüglich einer Klasse von Objektdetektionen ermittelt wird. Mit anderen Worte, es können bei der Ermittlung des Graphen auch nur die Objektdetektionen berücksichtigt werden, die zu einer gleichen Klasse gehören. Im Beispiel von oben kann entsprechend jeweils ein Graph für Objektdetektionen der Klasse Fahrzeuge, ein Graph für Objektdetektionen der Klasse Fußgänger, ein Graph für Objektdetektionen der Klasse Fahrradfahrer und ein Graph für Objektdetektionen der Klasse Ampeln ermittelt werden.
  • Insbesondere kann vorgesehen sein, dass zu jeweils einer Klasse von Objekten, die vom Objektdetektor klassifiziert werden kann, das oben beschriebene Verfahren in einer der beschriebenen Ausprägungen durchgeführt wird, vorzugsweise für jede der Klassen von Objekten, die vom Objektdetektor klassifiziert werden können. Die so ermittelten Objektdetektionen für die verschiedenen Klassen können dann im Ausgabesignal bereitgestellt werden.
  • In einem weiteren Aspekt betrifft die Erfindung ein computer-implementiertes Verfahren zum Trainieren eines maschinellen Lernsystems umfassend die Schritte:
    • i. Ermitteln eines Ausgabesignals bezüglich eines Bildes mittels einer Ausprägung des Verfahrens zum Ermitteln eines Ausgabesignals;
    • j. Trainieren des maschinellen Lernsystems, wobei das Bild als Eingabesignal des maschinellen Lernsystems verwendet wird und das ermittelte Ausgabesignal als gewünschtes Ausgabesignal.
  • Das Verfahren zum Trainieren kann insbesondere als Teil eines semiüberwachten Trainingsverfahrens verwendet werden. Insbesondere kann das maschinelle Lernsystem der Objektdetektor sein, der die Mehrzahl von Objektdetektionen ermittelt. Basierend auf dem ermittelten Ausgabesignal kann das maschinelle Lernsystem dann weiter trainiert werden. Vorzugsweise wird der Schritt mehrere Male durchgeführt, jeweils für verschiedene Bilder. Hierdurch kann insbesondere ein Datensatz von Bildern annotiert werden, also die Bilder im Datensatz mit gewünschten Ausgabesignalen, die vom maschinellen Lernsystem für das Bild prädiziert werden sollen, angereichert werden. Das maschinelle Lernsystem kann dann auf ursprünglich für das Training des maschinellen Lernsystems annotierten Bildern sowie den Bildern des Datensatzes in Kombination mit den ermittelten Ausgabesignalen trainiert werden. Durch das selbst-überwachte Training verbessert sich eine Vorhersagegenauigkeit des maschinellen Lernsystem.
  • Weiterhin ist möglich, dass mittels des Verfahrens zum Ermitteln eines Ausgabesignals für zumindest ein Bild ein erstes Ausgabesignal ermittelt wird, ein zweites maschinelles Lernsystem ein zweites Ausgabesignal ermittelt und anschließend untersucht wird, inwiefern das erste Ausgabesignal mit dem zweiten Ausgabesignal übereinstimmt. Mit anderen Worten, dass zweite maschinelle Lernsystem kann mittels des Verfahrens zum Ermitteln eines Ausgabesignals getestet werden. Zur Untersuchung der Übereinstimmung können gängige Maß verwendet werden, zum Beispiel eine durchschnittliche Erwartungspräzision (engl. mean average precision).
  • Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
    • 1 schematisch den Ablauf eines Verfahrens zum Ermitteln einer Annotation;
    • 2 schematisch ein Trainingssystem zum Trainieren eines Klassifikators;
    • 3 schematisch einen Aufbau eines Steuerungssystems zur Ansteuerung eines Aktors;
    • 4 schematisch ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;
    • 5 schematisch ein Ausführungsbeispiel zur Steuerung eines Fertigungssystems;
    • 6 schematisch ein Ausführungsbeispiel zur Steuerung eines Zugangssystems;
    • 7 schematisch ein Ausführungsbeispiel zur Steuerung eines Überwachungssystems;
    • 8 schematisch ein Ausführungsbeispiel zur Steuerung eines persönlichen Assistenten;
    • 9 schematisch ein Ausführungsbeispiel zur Steuerung eines medizinisch bildgebenden Systems.
  • Beschreibung der Ausführungsbeispiele
  • 1 zeigt schematisch den Ablauf eines Verfahrens (100) zum Ermitteln von Annotationen, wobei im Verfahren iterativ die Annotationen bezüglich einer Mehrzahl von Bildern ermittelt werden und die Annotationen jeweils Objektdetektionen von Objekten der Bilder charakterisieren. Vorzugsweise werden die Bilder und die ermittelten Annotationen am Ende des Verfahrens, z. B. wenn alle Bilder oder eine gewünschte Anzahl von Bildern annotiert wurde, als ein Trainingsdatensatz (T) bereitgestellt.
  • In einem ersten Schritt (101) wird eine einer Mehrzahl von Objektdetektionen bezüglich eines Bildes ermittelt. Hierfür kann insbesondere ein Objektdetektor verwendet werden, der ausgebildet ist, zu einem Bild Objektdetektionen von Objekten, die im Bild abgebildet sind, zu ermitteln. Vorzugsweise ist der Objektdetektor ferner ausgebildet zu jeder Objektdetektion eine Konfidenz zu ermitteln, die charakterisiert, wie wahrscheinlich es ist, dass eine jeweilige Objektdetektion ein Objekt des Bildes charakterisiert. Vorzugsweise wird das Bild mittels eines Vorverarbeitungsverfahrens verarbeitet und so ein vorverarbeitetes Bild ermittelt. Der Objektdetektor wird auf das vorverarbeitete Bild angewendet und die so ermittelten Objektdetektionen in die Mehrzahl von Objektdetektionen mit aufgenommen. Falls die Vorverarbeitung eine Spiegelung des Bildes charakterisiert, können die für das vorverarbeitete Bild ermittelten Objektdetektionen vorzugsweise wieder gespiegelt werden, bevor sie in die Mehrzahl von Objektdetektionen aufgenommen werden. Vorzugsweise können mittels jeweils verschiedenen Vorverarbeitungsverfahren und/oder mittels verschiedenerer Parametrierungen eines Vorverarbeitungsverfahrens mehrere vorverarbeitete Bilder ermittelt werden, die jeweils vom Objektdetektor verarbeitet werden und die resultierenden Objektedetektionen in die Mehrzahl von Objektdetektionen aufgenommen werden.
  • In einem zweiten Schritt (102) des Verfahrens (100) wird ein Graph basierend auf der Mehrzahl von Objektdetektionen ermittelt, wobei Objektdetektionen der Mehrzahl von Objektdetektionen durch Knoten des Graphen charakterisiert werden und Überlappungen zwischen jeweils zwei Objektdetektionen durch Kanten des Graphen charakterisiert werden. Es besteht daher eine eins zu eins Beziehung jeweils eines Knoten des Graphen mit jeweils einer Objektdetektion der Mehrzahl von Objektdetektionen. Diese eins zu eins Beziehung kann auch derart verstanden werden, dass jeweils ein Knoten mit jeweils einer Objektdetektion korrespondiert. Vorzugsweise kann vorgesehen sein, dass jeder Knoten im Graphen mit jedem anderen Knoten im Graphen durch eine Kante verbunden ist. Als Gewicht einer Kante kann insbesondere ein Maß der Überlappung der Objektdetektionen verwendet werden, deren korrespondierende Knoten durch die Kante verbunden sind. Vorzugsweise kann auch vorgesehen sein, dass eine Kante im Graphen nur dann eingefügt wird, falls ihr Gewicht einen vordefinierten Schwellenwert erreicht oder übersteigt. Darüber hinaus kann vorgesehen sein, dass der Graph nur bezüglich einer Klasse von Objektdetektionen ermittelt wird.
  • In einem dritten Schritt (103) werden basierend auf den Knoten und den Kanten des Graphen mittels eines dichtebasierten Clusteringverfahrens Cluster ermittelt. In einer bevorzugten Ausführung umfasst der dritte Schritt (103) einen ersten Unterschritt (103a), in dem zunächst ein Startknoten des Clusters ermittelt wird. Zur Ermittlung des Startknotens kann vorzugsweise folgendes Verfahren gewählt werden: Zunächst wird für jeden Knoten im Graphen eine Summer der Gewichte der Kanten bestimmt, die mit dem Knoten verbunden sind. Dadurch wird für jeden Knoten eine Kennzahl ermittelt. Als Startknoten wird dann der Knoten ausgewählt, für den die numerisch größte Kennzahl ermittelt wurde.
  • In einem zweiten Unterschritt (103b) des dritten Schritts (103) kann dann ein Knoten des Graphen ermittelt werden, der nicht bereits im Cluster enthalten ist und dessen Verbindung zum Cluster am größten ist. Eine Verbindung eines Knoten zum Cluster kann insbesondere derart verstanden werden, dass für den Knoten eine Kante ermittelt wird, die unter allen Kanten, die den Knoten mit Knoten des Clusters verbinden, das höchste Gewicht hat. Das Gewicht dieser Kante kann anschließend als die Verbindung des Knoten zum Cluster. Unter den nicht zum Cluster gehörenden Knoten kann dann ein Knoten ermittelt werden, der eine größte Verbindung hat, d.h. dessen Verbindung zum Cluster numerisch am größten ist.
  • In einem dritten Unterschritt (103c) kann für den im zweiten Unterschritt ermittelten Knoten dann überprüft werden, ob ein Hinzufügen des Knotens ein Dichtemaß des um den Knoten erweiterten Clusters nicht unter einen vorgebbaren ersten Schwellenwert fallen lässt. Ferner kann überprüft werden, ob das Hinzufügen ein Verbindungsmaß des um den Knoten erweiterten Clusters nicht unter einen vorgebbaren zweiten Schwellenwert fallen lässt. Falls beide Überprüfungen bejaht werden können, kann der Knoten dem Cluster hinzugefügt werden. Der dritte Unterschritt (103c) kann derart verstanden werden, dass zunächst untersucht wird, welchen Einfluss eine Aufnahme des Knotens in den Cluster für eine Auswirkung auf den Cluster hätte. Als Kennzahlen zur Bestimmung der Auswirkung kann das Dichtemaß sowie das Verbindungsmaß verwendet werden.
  • Das Dichtemaß kann derart verstanden werden, dass es charakterisiert, ob eine Aufnahme des Knotens gewährleistet, dass alle Knoten des Clusters nach der Aufnahme immer noch hinreichend miteinander verbunden sind, wobei die hinreichende Verbindung mittels des ersten Schwellenwertes überprüft wird. Vorzugsweise kann das Dichtemaß durch die Formel d Z = 2 ( W Z + W Z k ) n ( n + 1 )
    Figure DE102021209212A1_0003
    charakterisiert werden, wobei WZ eine Summe aller Gewichte der Kanten zwischen Knoten des Clusters Z charakterisiert, WZk eine Summe aller Gewichte der Kanten vom Knoten zu Knoten des Clusters ist und n die Anzahl der Knoten im Cluster ist, d.h. die Anzahl der Knoten im Cluster vor einer potentiellen Aufnahme des Knoten in den Cluster.
  • Das Verbindungsmaß kann derart verstanden werden, dass es charakterisiert, ob eine Aufnahme des Knotens gewährleistet, dass der Knoten selber eine hinreichende Verbindung zu den Knoten des Clusters hat, wobei die hinreichende Verbindung mittels des zweiten Schwellenwertes überprüft wird. Vorzugsweise kann das Verbindungsmaß durch die Formel c p Z = W Z k d Z ( n + 1 )
    Figure DE102021209212A1_0004
    charakterisiert werden.
  • Falls der Knoten in den Cluster aufgenommen wurde kann im Verfahren bevorzugt zum zweiten Unterschritt (103b) zurückgesprungen werden und ein neuer Knoten des Graphen ermittelt werden, für den wiederum wie oben beschrieben überprüft werden kann, ob er in den Cluster aufgenommen werden soll oder nicht.
  • Diese durch das Zurückspringen erzeugte Schleife des Verfahrens (100) kann so lange ausgeführt werden, bis ein Knoten ermittelt wird, der nicht in den Cluster aufgenommen wird oder keine weiteren Knoten mehr im Graphen vorhanden sind, die nicht bereits im Cluster enthalten sind. In diesem Fall können dann in einem vierten Unterschritt (103d) alle im Cluster enthaltenen Knoten aus dem Graphen entfernt werden und der Cluster bereitgestellt werden. Falls im Graphen noch Knoten vorhanden sind kann vorzugsweise zum ersten Unterschritt zurückgesprungen werden und ein neuer Cluster ermittelt werden. Falls der Graph leer ist, kann der dritte Schritt (103) beendet werden.
  • Basierend auf den im dritten Schritt (103) ermittelten Clustern kann dann in einem vierten Schritt (104) für jeweils einen Cluster eine Objektdetektion ermittelt werden. Hierfür können die mit den Knoten des Clusters korrespondierenden Objektdetektionen zusammengeführt werden. Vorzugsweise kann diese über eine Gewichtete Summe von Representationen der Objektdetektionen geschehen. Eine Representation kann beispielsweise eine vektorielle Darstellung der Objektdetektion sein. Zum Beispiel können über einen Vektor ein Mittelpunkt sowie eine Höhe und eine Breite dargestellt sein, wobei der Vektor eine Representation einer Objektdetektion Box ist. Die Zusammenführung kann dann mittels einer gewichteten Summe der Vektoren geschehen. Zum Beispiel können die Vektoren gemäß einer Konfidenz der jeweils mit ihnen korrespondierenden Objektdetektionen gewichtet werden. Vorzugsweise kann das Ergebnis der Summe durch die Summe der Konfidenzen geteilt werden, um die Objektdetektion für den Cluster zu ermitteln.
  • Für die im dritten Schritt (103) ermittelten Cluster können so eine oder mehrere Objektdetektionen ermittelt werden. Falls noch Bilder zu annotieren sind, kann nach dem vierten Schritt (104) wieder mit dem ersten Schritt (101) fortgefahren werden, wobei ein noch nicht annotiertes Bild verwendet werden kann. Falls alle Bilder oder eine gewünschte Anzahl von Bildern annotiert wurde, können die Bilder und ihre zugehörigen Annotationen als Trainingsdatensatz (T) bereitgestellt werden.
  • 2 zeigt ein Ausführungsbeispiel eines Trainingssystems (140) zum Trainieren des Klassifikators (60) des Steuerungssystems (40) mittels des Trainingsdatensatzes (T). Der Trainingsdatensatz (T) umfasst eine Mehrzahl von Eingabesignalen (xi), die zum Trainieren des Klassifikators (60) verwendet werden, wobei der Trainingsdatensatz (T) ferner zu jeweils einem Eingabesignal (xi) ein gewünschtes Ausgabesignal (ti) umfasst, welches mit dem Eingabesignal (xi) korrespondiert und eine Klassifikation des Eingabesignals (xi) charakterisiert.
  • Zum Training greift eine Trainingsdateneinheit (150) auf eine computerimplementierte Datenbank (St2) zu, wobei die Datenbank (St2) den Trainingsdatensatz (T) zur Verfügung stellt. Die Trainingsdateneinheit (150) ermittelt aus dem Trainingsdatensatz (T) vorzugsweise zufällig zumindest ein Eingabesignal (xi) und das zum Eingabesignal (xi) korrespondierende gewünschte Ausgabesignal (ti) und übermittelt das Eingabesignal (xi) an den Klassifikator (60). Der Klassifikator (60) ermittelt auf Basis des Eingabesignals (xi) ein Ausgabesignal (yi).
  • Das gewünschte Ausgabesignal (ti) und das ermittelte Ausgabesignal (yi) werden an eine Veränderungseinheit (180) übermittelt.
  • Basierend auf dem gewünschten Ausgabesignal (ti) und dem ermittelten Ausgabesignal (yi) werden dann von der Veränderungseinheit (180) neue Parameter (Φ') für den Klassifikator (60) bestimmt. Hierfür vergleicht die Veränderungseinheit (180) das gewünschte Ausgabesignal (ti) und das ermittelte Ausgabesignal (yi) mittels einer Verlustfunktion (engl. Loss Function). Die Verlustfunktion ermittelt einen ersten Verlustwert, der charakterisiert, wie weit das ermittelte Ausgabesignal (yi) vom gewünschten Ausgabesignal (ti) abweicht. Als Verlustfunktion wird im Ausführungsbeispiel eine negative logarithmierte Plausibilitätsfunktion (engl. negative log-likehood function) gewählt. In alternativen Ausführungsbeispielen sind auch andere Verlustfunktion denkbar.
  • Weiterhin ist vorstellbar, dass das ermittelte Ausgabesignal (yi) und das gewünschte Ausgabesignal (ti) jeweils eine Mehrzahl von Untersignalen, zum Beispiel in Form von Tensoren, umfassen, wobei jeweils ein Untersignal des gewünschten Ausgabesignals (ti) mit einem Untersignal des ermittelten Ausgabesignals (yi) korrespondiert. Zum Beispiel ist vorstellbar, dass der Klassifikator (60) zur Objektdetektion ausgebildet ist und ein erstes Untersignal jeweils eine Auftretenswahrscheinlichkeit eines Objekts bezüglich eines Teils des Eingabesignals (xi) charakterisiert und zweites Untersignal die exakte Position des Objekts charakterisiert. Für den Fall, dass das ermittelte Ausgabesignal (yi) und das gewünschte Ausgabesignal (ti) eine Mehrzahl von korrespondierenden Untersignalen umfasst, wird vorzugsweise für jeweils korrespondierende Untersignale mittels einer geeigneten Verlustfunktion ein zweiter Verlustwert ermittelt und die ermittelten zweiten Verlustwerte geeignet zum ersten Verlustwert zusammengeführt, beispielsweise über eine gewichtete Summe.
  • Die Veränderungseinheit (180) ermittelt auf Grundlage des ersten Verlustwertes die neuen Parameter (Φ'). Im Ausführungsbeispiel geschieht dies mittels eines Gradientenabstiegsverfahren, vorzugsweise Stochastic Gradient Descent, Adam, oder AdamW. In weiteren Ausführungsbeispielen kann das Training auch auf einem evolutionären Algorithmus oder einer Zweite-Grad-Optimierung (engl. second-order optimization) beruhen.
  • Die ermittelten neuen Parameter (Φ') werden in einem Modellparameterspeicher (St1) gespeichert. Vorzugsweise werden die ermittelten neuen Parameter (Φ') als Parameter (Φ) dem Klassifikator (60) bereitgestellt.
  • In weiteren bevorzugten Ausführungsbeispielen wird das beschriebene Training iterativ für eine vordefinierte Anzahl an Iterationsschritten wiederholt oder iterativ wiederholt, bis der erste Verlustwert einen vordefinierten Schwellenwert unterschreitet. Alternativ oder zusätzlich ist auch vorstellbar, dass das Training beendet wird, wenn ein durchschnittlicher erster Verlustwert bezüglich eines Test- oder Validierungsdatensatzes einen vordefinierten Schwellenwert unterschreitet. In mindestens einer der Iterationen werden die in einer vorherigen Iteration bestimmten neuen Parameter (Φ') als Parameter (Φ) des Klassifikators (60) verwendet.
  • Des Weiteren kann das Trainingssystem (140) mindestens einen Prozessor (145) und mindestens ein maschinenlesbares Speichermedium (146) umfassen, welches Befehle enthält, welche, wenn sie durch den Prozessor (145) ausgeführt werden, das Trainingssystem (140) veranlassen, ein Trainingsverfahren nach einem der Aspekte der Erfindung auszuführen.
  • 3 zeigt ein Steuerungssystem (40) zur Steuerung eines Aktor (10) in seiner Umgebung (20) basierend auf einem Ausgabesignal (y) des Klassifikators (60). In vorzugsweise regelmäßigen zeitlichen Abständen wird die Umgebung (20) in einem Sensor (30), insbesondere einem bildgebenden Sensor wie einem Kamerasensor, erfasst, der auch durch eine Mehrzahl von Sensoren gegeben sein kann, beispielsweise eine Stereokamera. Das Sensorsignal (S) - bzw. im Fall mehrerer Sensoren je ein Sensorsignal (S) - des Sensors (30) wird an das Steuerungssystem (40) übermittelt. Das Steuerungssystem (40) empfängt somit eine Folge von Sensorsignalen (S). Das Steuerungssystem (40) ermittelt hieraus Ansteuersignale (A), welche an den Aktor (10) übertragen werden.
  • Das Steuerungssystem (40) empfängt die Folge von Sensorsignalen (S) des Sensors (30) in einer optionalen Empfangseinheit (50), die die Folge von Sensorsignalen (S) in eine Folge von Eingabesignalen (x) umwandelt (alternativ kann auch unmittelbar je das Sensorsignal (S) als Eingangssignal (x) übernommen werden). Das Eingabesignal (x) kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung des Sensorsignals (S) sein. Mit anderen Worten wird das Eingabesignal (x) abhängig von Sensorsignal (S) ermittelt. Die Folge von Eingabesignalen (x) wird einem Klassifikator (60) zugeführt.
  • Der Klassifikator (60) wird vorzugsweise parametriert durch Parameter (Φ), die in einem Parameterspeicher (P) hinterlegt sind und von diesem bereitgestellt werden.
  • Der Klassifikator (60) ermittelt aus den Eingangssignalen (x) das Ausgabesignale (y). Die Ausgabesignale (y) werden einer optionalen Umformeinheit (80) zugeführt, die hieraus Ansteuersignale (A) ermittelt, welche dem Aktor (10) zugeführt werden, um den Aktor (10) entsprechend anzusteuern.
  • Der Aktor (10) empfängt die Ansteuersignale (A), wird entsprechend angesteuert und führt eine entsprechende Aktion aus. Der Aktor (10) kann hierbei eine (nicht notwendigerweise baulich integrierte) Ansteuerlogik umfassen, welches aus dem Ansteuersignal (A) ein zweites Ansteuersignal ermittelt, mit dem dann der Aktor (10) angesteuert wird.
  • In weiteren Ausführungsformen umfasst das Steuerungssystem (40) den Sensor (30). In noch weiteren Ausführungsformen umfasst das Steuerungssystem (40) alternativ oder zusätzlich auch den Aktor (10).
  • In weiteren bevorzugten Ausführungsformen umfasst das Steuerungssystem (40) zumindest einen Prozessor (45) und zumindest ein maschinenlesbares Speichermedium (46), auf dem Anweisungen gespeichert sind, die dann, wenn sie auf dem zumindest einen Prozessor (45) ausgeführt werden, das Steuerungssystem (40) veranlassen, das erfindungsgemäße Verfahren auszuführen.
  • In alternativen Ausführungsformen ist alternativ oder zusätzlich zum Aktor (10) eine Anzeigeeinheit (10a) vorgesehen.
  • 4 zeigt, wie das Steuerungssystem (40) zur Steuerung eines wenigstens teilautonomen Roboters, hier eines wenigstens teilautonomen Kraftfahrzeugs (100), eingesetzt werden kann.
  • Bei dem Sensor (30) kann es sich beispielsweise um einen vorzugsweise im Kraftfahrzeug (100) angeordneten Videosensor handeln. Die Eingabesignale (x) können in diesem Fall als Eingabebilder verstanden werden und der Klassifikator (60) als Bildklassifikator.
  • Der Bildklassifikator (60) ist eingerichtet, auf den Eingabebildern (x) erkennbare Objekte zu identifizieren.
  • Bei dem vorzugsweise im Kraftfahrzeug (100) angeordneten Aktor (10) kann es sich beispielsweise um eine Bremse, einen Antrieb oder eine Lenkung des Kraftfahrzeugs (100) handeln. Das Ansteuersignal (A) kann dann derart ermittelt werden, dass der Aktor oder die Aktoren (10) derart angesteuert wird, dass das Kraftfahrzeug (100) beispielsweise eine Kollision mit den vom Bildklassifikator (60) identifizierten Objekten verhindert, insbesondere, wenn es sich um Objekte bestimmter Klassen, z.B. um Fußgänger, handelt.
  • Alternativ oder zusätzlich kann mit dem Ansteuersignal (A) die Anzeigeeinheit (10a) angesteuert werden, und beispielsweise die identifizierten Objekte dargestellt werden. Auch ist es denkbar, dass die Anzeigeeinheit (10a) mit dem Ansteuersignal (A) derart angesteuert wird, dass sie ein optisches oder akustisches Warnsignal ausgibt, wenn ermittelt wird, dass das Kraftfahrzeug (100) droht, mit einem der identifizierten Objekte zu kollidieren. Die Warnung mittels eines Warnsignals kann auch mittels eines haptischen Warnsignals erfolgen, beispielsweise über ein Vibrieren eines Lenkrads des Kraftfahrzeugs (100).
  • Alternativ kann es sich bei dem wenigstens teilautonomen Roboter auch um einen anderen mobilen Roboter (nicht abgebildet) handeln, beispielsweise um einen solchen, der sich durch Fliegen, Schwimmen, Tauchen oder Schreiten fortbewegt. Bei dem mobilen Roboter kann es sich beispielsweise auch um einen wenigstens teilautonomen Rasenmäher oder einen wenigstens teilautonomen Putzroboter handeln. Auch in diesen Fällen kann das Ansteuersignal (A) derart ermittelt werden, dass Antrieb und/oder Lenkung des mobilen Roboters derart angesteuert werden, dass der wenigstens teilautonome Roboter beispielsweise eine Kollision mit vom Bildklassifikator (60) identifizierten Objekten verhindert.
  • 5 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem (40) zur Ansteuerung einer Fertigungsmaschine (11) eines Fertigungssystems (200) verwendet wird, indem ein die Fertigungsmaschine (11) steuernder Aktor (10) angesteuert wird. Bei der Fertigungsmaschine (11) kann es sich beispielsweise um eine Maschine zum Stanzen, Sägen, Bohren und/oder Schneiden handeln. Weiterhin ist denkbar, dass die Fertigungsmaschine (11) ausgebildet ist mittels eines Greifers ein Fertigungserzeugnis (12a, 12b) zu greifen.
  • Bei dem Sensor (30) kann es sich dann beispielsweise um einen Videosensor handeln, der z.B. die Förderfläche eines Förderbandes (13) erfasst, wobei sich auf dem Förderband (13) Fertigungserzeugnissen (12a, 12b) befinden können. Die Eingabesignale (x) sind in diesem Fall Eingabebilder (x) und der Klassifikator (60) ein Bildklassifikator. Der Bildklassifikator (60) kann beispielsweise eingerichtet sein eine Position der Fertigungserzeugnisse (12a, 12b) auf dem Förderband zu ermitteln. Der die Fertigungsmaschine (11) steuernde Aktor (10) kann dann abhängig von den ermittelten Positionen der Fertigungserzeugnisse (12a, 12b) angesteuert werden. Beispielsweise kann der Aktor (10) derart angesteuert werden, dass er ein Fertigungserzeugnis (12a, 12b) an einer vorbestimmten Stelle des Fertigungserzeugnisses (12a, 12b) stanzt, sägt, bohrt und/oder schneidet.
  • Weiterhin ist denkbar, dass der Bildklassifikator (60) ausgebildet ist, alternativ oder zusätzlich zur Position weitere Eigenschaften eines Fertigungserzeugnisses (12a, 12b) zu ermitteln. Insbesondere ist vorstellbar, dass der Bildklassifikator (60) ermittelt, ob ein Fertigungserzeugnis (12a, 12b) defekt und/oder beschädigt ist. In diesem Fall kann der Aktor (10) derart angesteuert werden, dass die Fertigungsmaschine (11) ein defektes und/oder beschädigtes Fertigungserzeugnis (12a, 12b) aussortiert.
  • 6 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines Zugangssystems (300) eingesetzt wird. Das Zugangssystem (300) kann eine physische Zugangskontrolle umfassen, beispielsweise eine Tür (401). Der Sensor (30) kann insbesondere ein Videosensor oder Wärmebildsensor sein, der eingerichtet ist, einen Bereich vor der Tür (401) zu erfassen. Der Klassifikator (60) kann daher als Bildklassifikator verstanden werden. Mittels des Bildklassifikators (60) kann ein erfasstes Bild interpretiert werden. Insbesondere kann der Bildklassifikators (60) Personen auf einem ihm übermittelten Eingabebild (x) detektieren. Sind mehrere Personen gleichzeitig detektiert worden, kann durch eine Zuordnung der Personen (also der Objekte) zueinander beispielweise die Identität der Personen besonders zuverlässig ermittelt werden, beispielsweise durch eine Analyse ihrer Bewegungen.
  • Der Aktor (10) kann ein Schloss sein, dass abhängig vom Ansteuersignal (A) die Zugangskontrolle freigibt, oder nicht, beispielsweise die Tür (401) öffnet, oder nicht. Hierzu kann das Ansteuersignal (A) abhängig vom mittels des Bildklassifikators (60) zum Eingabebild (x) ermittelten Ausgabesignal (y) gewählt werden. Beispielsweise ist denkbar, dass das Ausgabesignal (y) Informationen umfasst, die die Identität einer vom Bildklassifikator (60) detektierten Person charakterisiert, und das Ansteuersignal (A) basierend auf der Identität der Person gewählt wird.
  • An Stelle der physischen Zugangskontrolle kann auch eine logische Zugangskontrolle vorgesehen sein.
  • 7 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines Überwachungssystems (400) verwendet wird. Von dem in 4 dargestellten Ausführungsbeispiel unterscheidet sich dieses Ausführungsbeispiel dadurch, dass an Stelle des Aktors (10) die Anzeigeeinheit (10a) vorgesehen ist, die vom Steuerungssystem (40) angesteuert wird. Beispielsweise kann der Sensor (30) ein Eingabebild (x) aufzeichnen, auf dem zumindest eine Person zu erkennen ist, und die Position der zumindest einen Person mittels des Bildklassifikators (60) detektiert werden. Das Eingabebild (x) kann dann auf der Anzeigeeinheit (10a) dargestellt werden, wobei die detektierten Personen farblich hervorgehoben dargestellt werden können.
  • 8 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines persönlichen Assistenten (250) eingesetzt wird. Der Sensor (30) ist bevorzugt ein optischer Sensor, der Bilder einer Geste eines Nutzers (249) empfängt, beispielsweise ein Videosensor oder eine Wärmebildkamera. In diesem Fall ist der Klassifikator (60) ein Bildklassifikator.
  • Abhängig von den Signalen des Sensors (30) ermittelt das Steuerungssystem (40) ein Ansteuersignal (A) des persönlichen Assistenten (250), beispielsweise, indem der Bildklassifikator (60) eine Gestenerkennung durchführt. Dem persönlichen Assistenten (250) wird dann dieses ermittelte Ansteuersignal (A) übermittelt und er somit entsprechend angesteuert. Das ermittelte Ansteuersignal (A) kann insbesondere derart gewählt werden, dass es einer vermuteten gewünschten Ansteuerung durch den Nutzer (249) entspricht. Diese vermutete gewünschte Ansteuerung kann abhängig von der vom Bildklassifikator (60) erkannten Geste ermittelt werden. Das Steuerungssystem (40) kann dann abhängig von der vermuteten gewünschten Ansteuerung das Ansteuersignal (A) zur Übermittlung an den persönlichen Assistenten (250) wählen und/oder das Ansteuersignal (A) zur Übermittlung an den persönlichen Assistenten entsprechend der vermuteten gewünschten Ansteuerung (250) wählen.
  • Diese entsprechende Ansteuerung kann beispielsweise beinhalten, dass der persönliche Assistent (250) Informationen aus einer Datenbank abruft und sie für den Nutzer (249) rezipierbar wiedergibt.
  • Anstelle des persönlichen Assistenten (250) kann auch ein Haushaltsgerät (nicht abgebildet), insbesondere eine Waschmaschine, ein Herd, ein Backofen, eine Mikrowelle oder eine Spülmaschine vorgesehen sein, um entsprechend angesteuert zu werden.
  • 9 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines medizinischen bildgebenden Systems (500), beispielsweise eines MRT-, Röntgen- oder Ultraschallgeräts, verwendet wird. Der Sensor (30) kann beispielsweise durch einen bildgebenden Sensor gegeben sein. Der Klassifikator (60) kann daher als Bildklassifikator verstanden werden. Durch das Steuerungssystem (40) wird die Anzeigeeinheit (10a) angesteuert.
  • Der Sensor (30) ist eingerichtet ein Bild eines Patienten zu ermitteln, beispielsweise ein Röntgenbild, ein MRT-Bild oder ein Ultraschallbild. Zumindest ein Teil des Bildes wird als Eingabebild (x) an den Bildklassifikator (60) übermittelt. Der Bildklassifikator (60) kann beispielsweise eingerichtet sein, unterschiedlicher Arten eines auf dem Eingabebild (x) zu erkennenden Gewebes zu klassifizieren, beispielsweise über eine semantische Segmentierung.
  • Das Ansteuersignal (A) kann dann derart gewählt werden, dass die ermittelten Arten von Gewebe auf der Anzeigeeinheit (10a) farblich hervorgehoben dargestellt werden.
  • In weiteren Ausführungsbeispielen (nicht gezeigt) kann das bildgebende System (500) auch für nicht medizinische Zwecke verwendet werden, zum Beispiel um Materialeigenschaften eines Werkstücks zu ermitteln. Zu diesem Zweck kann das bildgebende System (500) ein Bild eines Werkstücks aufzeichnen. Der Bildklassifikator (60) kann in diesem Fall derart eingerichtet sein, dass er zumindest einen Teil des Bildes als Eingabebild (x) entgegennimmt und bezüglich der Materialeigenschaften des Werkstücks klassifiziert. Dies kann beispielsweise über eine semantische Segmentierung des Eingabebildes (x) geschehen. Die so ermittelte Klassifikation kann beispielsweise zusammen mit dem Eingabebild auf der Anzeigevorrichtung (10a) dargestellt werden.
  • Der Begriff „Computer“ umfasst beliebige Geräte zur Abarbeitung vorgebbarer Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware.
  • Im Allgemeinen kann eine Mehrzahl als indexiert verstanden werden, d.h. jedem Element der Mehrzahl wird ein eindeutiger Index zugewiesen, vorzugsweise durch Zuweisung aufeinanderfolgender Ganzzahlen an die in der Mehrzahl enthaltenen Elemente. Vorzugsweise, wenn eine Mehrzahl N Elemente umfasst, wobei N die Anzahl der Elemente in der Mehrzahl ist, werden den Elementen die ganzen Zahlen von 1 bis N zugewiesen.

Claims (15)

  1. Computerimplementiertes Verfahren (100) zum Ermitteln eines Ausgabesignals, welches eine Objektdetektion eines Objekts eines Bildes charakterisiert, wobei das Verfahren die folgenden Schritte umfasst: a. Ermitteln (101) einer Mehrzahl von Objektdetektionen bezüglich des Bildes; b. Ermitteln (102) eines Graphen basierend auf der Mehrzahl von Objektdetektionen, wobei Objektdetektionen der Mehrzahl von Objektdetektionen durch Knoten des Graphen charakterisiert werden und Überlappungen zwischen jeweils zwei Objektdetektionen durch Kanten des Graphen charakterisiert werden; c. Ermitteln (103) eines Clusters des Graphen basierend auf den Knoten und den Kanten des Graphen mittels eines dichtebasierten Clusteringverfahrens; d. Ermitteln (104) einer Objektdetektion basierend auf dem Cluster und bereitstellen der Objektdetektion im Ausgabesignal.
  2. Verfahren (100) nach Anspruch 1, wobei das Clusteringverfahren basierend auf einem Dichtemaß des Clusters und basierend auf einem Verbindungsmaß des Clusters durchgeführt wird.
  3. Verfahren (100) nach Anspruch 2, wobei das Clusteringverfahren die folgenden Schritte umfasst: e. Ermitteln (103a) eines Startknotens basierend auf einer Summe von Kantengewichten der jeweiligen Knoten im Graphen und bereitstellen des Startknotens als Knoten des Clusters; f. Ermitteln (103b) eines Knotens des Graphen, dessen Verbindung zum Cluster am größten ist, wobei der Knoten nicht im Cluster enthalten ist; g. Falls ein Hinzufügen des Knotens ein Dichtemaß des um den Knoten erweiterten Clusters nicht unter einen vorgebbaren ersten Schwellenwert fallen lässt und falls das Hinzufügen ein Verbindungsmaß des um den Knoten erweiterten Clusters nicht unter einen vorgebbaren zweiten Schwellenwert fallen lässt, hinzufügen (103c) des Knoten zum Cluster; h. Andernfalls (103d) bereitstellen des Clusters als ermittelter Cluster.
  4. Verfahren (100) nach Anspruch 3, wobei iterativ Knoten im Schritt f. ermittelt werden und zum Cluster hinzugefügt werden, bis zumindest eine der Bedingungen aus Schritt g. nicht mehr erfüllt ist, wobei falls die zumindest eine Bedingung nicht mehr erfüllt ist der Cluster bereitgestellt wird und die Knoten des Clusters aus dem Graphen entfernt werden.
  5. Verfahren (100) nach Anspruch 4, wobei die Schritte e. bis h. iterativ wiederholt werden, bis keine Knoten mehr im Graphen enthalten sind.
  6. Verfahren (100) nach einem der Ansprüche 4 oder 5, wobei die basierend auf dem Cluster ermittelte Objektdetektion im Ausgabesignal nicht bereitgestellt wird, falls der Cluster nur aus dem Startknoten besteht.
  7. Verfahren (100) nach einem der Ansprüche 1 bis 6, wobei die Mehrzahl von Objektdetektionen basierend auf einer Mehrzahl von verschiedenen Vorverarbeitungen des Bildes ermittelt wird.
  8. Verfahren (100) nach einem der Ansprüche 1 bis 7, wobei der Graph bezüglich einer Klasse von Objektdetektionen ermittelt wird.
  9. Computer-implementiertes Verfahren zum Trainieren eines maschinellen Lernsystems (60) umfassend die Schritte: i. Ermitteln eines Ausgabesignals (ti) bezüglich eines Bildes (xi) mittels des Verfahrens nach einem der Ansprüche 1 bis 8; j. Trainieren des maschinellen Lernsystems (60), wobei das Bild (xi) als Eingabesignal des maschinellen Lernsystems verwendet wird und das ermittelte Ausgabesignal (ti) als gewünschtes Ausgabesignal.
  10. Verfahren nach Anspruch 9, wobei für eine Mehrzahl von Bildern jeweils ein Ausgabesignal mittels des Verfahrens nach einem der Ansprüche 1 bis 8 ermittelt wird und das maschinelle Lernsystem basierend auf der Mehrzahl von Bilden und den jeweils ermittelten Ausgabesignalen trainiert wird.
  11. Verfahren nach einem der Ansprüche 1 bis 10, wobei das Dichtemaß durch die Formel d Z = 2 ( W Z + W Z k ) n ( n + 1 )
    Figure DE102021209212A1_0005
    charakterisiert wird.
  12. Verfahren nach einem der Ansprüche 1 bis 11, wobei das Verbindungsmaß durch die Formel c p Z = W Z k d Z ( n + 1 )
    Figure DE102021209212A1_0006
    charakterisiert wird.
  13. Trainingsvorrichtung (140), welche eingerichtet ist, das Verfahren nach einem der Ansprüche 9 bis 12 auszuführen.
  14. Computerprogramm, welches eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 12 auszuführen, wenn es durch einen Prozessor (45, 145) ausgeführt wird.
  15. Maschinenlesbares Speichermedium (46, 146), auf dem das Computerprogramm nach Anspruch 14 gespeichert ist.
DE102021209212.8A 2021-08-23 2021-08-23 Verfahren und Vorrichtung zum Ermitteln von Objektdetektionen eines Bildes Pending DE102021209212A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102021209212.8A DE102021209212A1 (de) 2021-08-23 2021-08-23 Verfahren und Vorrichtung zum Ermitteln von Objektdetektionen eines Bildes
US17/821,162 US20230056387A1 (en) 2021-08-23 2022-08-19 Method and device for ascertaining object detections of an image
JP2022131584A JP2023031291A (ja) 2021-08-23 2022-08-22 画像の物体検出部を特定するための方法及び装置
CN202211003990.5A CN115719427A (zh) 2021-08-23 2022-08-22 用于确定图像的对象探测的方法和设备
KR1020220105266A KR20230029547A (ko) 2021-08-23 2022-08-23 이미지의 객체 감지들을 결정하기 위한 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021209212.8A DE102021209212A1 (de) 2021-08-23 2021-08-23 Verfahren und Vorrichtung zum Ermitteln von Objektdetektionen eines Bildes

Publications (1)

Publication Number Publication Date
DE102021209212A1 true DE102021209212A1 (de) 2023-02-23

Family

ID=85132103

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021209212.8A Pending DE102021209212A1 (de) 2021-08-23 2021-08-23 Verfahren und Vorrichtung zum Ermitteln von Objektdetektionen eines Bildes

Country Status (5)

Country Link
US (1) US20230056387A1 (de)
JP (1) JP2023031291A (de)
KR (1) KR20230029547A (de)
CN (1) CN115719427A (de)
DE (1) DE102021209212A1 (de)

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CESA-BIANCHI, Nicolò [et al.]: :Fast and Optimal Algorithms for Weighted Graph Prediction . 2009. aufgerufen über: URL: http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.212.5484 [abgerufen am 31.03.2022]
Clusteranalyse. In: Wikipedia – Die freie Enzyklopädie. Bearbeitungsstand: 28.05.2021, 08:54 UTC. URL: https://de.wikipedia.org/w/index.php?title=Clusteranalyse&oldid=212450906 [abgerufen am 05.04.2022]
GÖRKE, Robert; KAPPES, Andrea; WAGNER, Dorothea: Experiments on density-constrained graph clustering. In: Journal of Experimental Algorithmics (JEA), Vol. 19, 2014, S. 6:1-6:31. ACM Digital Library [online]. DOI: 10.1145/2638551, In: Google Scholar
TANG, Peng [et al.]: PCL: Proposal Cluster Learning for Weakly Supervised Object Detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 42, 16.10.2018 , Nr. 1, S. 176-191. IEEE Xplore [online]. DOI: 10.1109/TPAMI.2018.2876304, In: Google Scholar

Also Published As

Publication number Publication date
US20230056387A1 (en) 2023-02-23
KR20230029547A (ko) 2023-03-03
CN115719427A (zh) 2023-02-28
JP2023031291A (ja) 2023-03-08

Similar Documents

Publication Publication Date Title
DE102019209565A1 (de) Verfahren und Vorrichtung zum Überprüfen der Robustheit eines künstlichen neuronalen Netzes
DE102006010607A1 (de) Wahrscheinlichkeitstheoretischer Verstärkungsbaum-Rahmen zum Lernen von Unterscheidungsmodellen
DE102018128289A1 (de) Verfahren und vorrichtung für eine autonome systemleistung und zur einstufung
DE112017008149B4 (de) Vorrichtung für eine von einem Fahrzeug ausgehende Kommunikation, Verfahren zum Kommunizieren von einem Fahrzeug nach außen Informationsverarbeitungsvorrichtung und computerlesbares Medium
DE102020210352A1 (de) Verfahren und Vorrichtung zum Transferlernen zwischen modifizierten Aufgaben
DE102019209644A1 (de) Verfahren zum Trainieren eines neuronalen Netzes
DE102020214860A1 (de) System und verfahren zum erkennen eines böswilligen angriffs
DE102021201777A1 (de) Verfahren zur Verhaltenserkennung, Vorrichtung zur Verhaltenserkennung und computerlesbares Aufzeichnungsmedium
WO2020260016A1 (de) Verfahren und vorrichtung zum trainieren eines maschinellen lernsystems
DE102022201679A1 (de) Verfahren und Vorrichtung zum Trainieren eines neuronalen Netzes
DE102021209212A1 (de) Verfahren und Vorrichtung zum Ermitteln von Objektdetektionen eines Bildes
DE102019209463A1 (de) Verfahren zur Bestimmung eines Vertrauenswertes eines Objektes einer Klasse
DE102019202523A1 (de) Verfahren und Vorrichtung zum Betreiben eines Steuerungssystems
DE102020212514A1 (de) Verfahren zur Ermittlung eines Ausgabesignals mittels eines maschinellen Lernsystems
DE102021204040A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung von Trainingsdaten im Fahrzeug
DE102021118209A1 (de) System zum Extrahieren eines Umrisses eines statischen Objekts und Verfahren dafür
DE102020208828A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102018121317A1 (de) Verfahren und Vorrichtung zur Schätzung einer durch eine Freiraumgeste vermittelten Richtungsinformation zur Bestimmung einer Benutzereingabe an einer Mensch-Maschine-Schnittstelle
DE102019220615A1 (de) Verfahren und Vorrichtung zum Erkennen und Klassifizieren von Objekten
DE102021209643A1 (de) Verfahren und Vorrichtung zur Objektdetektion und/oder zur semantischen Segmentierung
DE102019209228A1 (de) Verfahren und Vorrichtung zum Überprüfen der Robustheit eines künstlichen neuronalen Netzes
DE102022204263A1 (de) Verfahren und Vorrichtung zum Trainieren eines neuronalen Netzes
DE60309191T2 (de) System zum fuzzy-assoziativen beschreiben von multimedia-gegenständen
DE102018216078A1 (de) Verfahren und Vorrichtung zum Betreiben eines Steuerungssystems
DE102021208349B3 (de) Verfahren und Sensorsystem zum Zusammenführen von Sensordaten sowie Fahrzeug mit einem Sensorsystem zum Zusammenführen von Sensordaten

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000

R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication