Object Detection: Wie Maschinen Objekte erkennen

||||||||
|© Nature Communications/ CCBY

Viele alltägliche Szenarien erfordern das gleichzeitige Erkennen und Verorten verschiedener Objekte. Als Menschen haben wir die inhärente Fähigkeit, mehrere Objekte im Sichtfeld zu erkennen und zu kategorisieren. In einem Supermarkt erkennen wir beispielsweise sowohl Einkaufswagen, andere Personen als auch verschiedenste Lebensmittel. So können wir dann bestimmte Produkte finden, auf sie zuzugehen und in den Wagen legen.

Aber auch im wirtschaftlichen Kontext sind diese Fähigkeiten besonders für die Bereiche Prozesskontrolle, Automatisierung und Autonomisierung wichtig. Eine maschinelle Nachbildung der Schritte Erkennung und Lokalisierung von Objekten ist daher von hoher Relevanz und ein viel beachtetes Forschungs- und Anwendungsfeld. Die entsprechenden Methoden und Technologien werden unter dem Themenbereich Object Detection zusammengefasst, einem Spezialgebiet der Computer Vision.

Grundsätzlich kann zwischen klassischen Verfahren und Methoden des Machine Learning unterschieden werden. In diesem Artikel behandeln wir nur Object Detection Ansätze, die auf Machine Learning beruhen, da sie die klassischen Ansätze insbesondere im Bereich Genauigkeit weit übertreffen [Zou et al, 2023].

Das Grundgerüst der Object Detection

Die Herausforderung bei der Object Detection besteht darin, mehrere Objekte gleichzeitig zu klassifizieren und in einem Bild zu verorten.  Dazu werden heutzutage üblicherweise neuronale Netze eingesetzt, die durch überwachtes Lernen trainiert werden. Neben Bildern müssen hier zudem auch Annotationen bereitgestellt werden. Diese enthalten Metadaten über ein Bild, die ein neuronales Netz benötigt, um zu lernen, wie und wo bestimmte im Bild enthaltenen Objekte zu klassifizieren und lokalisieren sind. Im Fall der Object Detection handelt es sich um rechteckige Rahmen, sogenannte “Bounding Boxen”, zur Angabe der Position von Objekten, sowie deren Objektbezeichner.

Bus Object Detection 1 - Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)
© Nature Communications/ CCBY Für Object Detection enthält die Annotation Informationen darüber, wo sich Objekte welcher Klassen befinden.

Object-Detection-Verfahren basieren auf einer Merkmalsextraktion aus den Eingabebildern. Visuelle Features (Merkmale) sind Eigenschaften in einem Bild, die Aufschluss über Bildinhalte geben, beispielsweise Unterschiede in der Helligkeit oder der Farbe. Wie Merkmalsextraktion genau funktioniert und wie aus den gefundenen Informationen eine Klassifikation durchgeführt werden kann, wird im bereits erschienen Artikel zur Computer Vision beschrieben. Geeignete Features für einen Datensatz können mittels Convolutional Neural Networks (CNN) gelernt werden. Dabei gibt es allgemeine Features, die erst in der Kombination mit anderen Features auf eine bestimmte Klasse hinweisen. Zur Erkennung dieser Basismerkmale werden CNNs häufig auf allgemeinen Datensätzen wie ImageNet oder COCO vortrainiert. Die trainierten CNNs bilden somit das Rückgrat der Object-Detection-Netze, weswegen sie auch als Backbone-Architektur beschrieben werden. Die Qualität der auf diese Weise bereitgestellten visuellen Features ist entscheidend für die Leistung der Object-Detection-Algorithmen.

Zentrale Ansätze der Object Detection

Es gibt zwei verschiedene Ansätze, um Object Detection auf Basis der Backbone-Architektur umsetzen. Die Two-Stage-Detektoren erkennen zunächst interessante Regionen in einem Bild und führen anschließend die Klassifikation und Lokalisierung in diesen Regionen durch. One-Stage-Detektoren lösen beide Schritte in einem, indem sie das Problem so umformulieren, dass beide Teilschritte im Ganzen betrachtet und gemeinsam in einem Schritt optimiert werden.

Betrachten wir die beiden Verfahrenstypen etwas genauer:

Two-Stage-Verfahren

In Two-Stage-Verfahren werden zunächst für die Lokalisierung interessante Regionen eines Bildes ermittelt, die für die Object Detection relevante Features enthalten (Region-Proposal-Schritt) [Zou et al, 2023]. Diese interessanten Regionen beschreiben also Bereiche, in denen potenziell Objekte liegen, daher werden sie für die weitere Verarbeitung als “Kandidaten-Boxen” gehandhabt. Es gibt verschiedene Methoden, um diese Boxen zu finden. Das 2015 vorgestellte Faster R-CNN nutzte etwa ein speziell für diese Aufgabe entwickeltes Region-Proposal-Netz (RPN) [Ren et al, 2015]. Anschließend werden aus den ermittelten Boxen durch ein weiteres neuronales Netzwerk Box-spezifische Merkmale abgeleitet, die in zweifacher Weise ausgewertet werden. Zum einen führt ein Klassifikator für jede Box eine Klassifikation durch, um festzulegen, um welche Klasse es sich handelt. Zum anderen werden die Kandidaten-Boxen an einen sogenannten “Bounding Box Regressor” übergeben, der die Boxen an die enthaltenen Objekte anpasst.

In nachfolgenden Verfahren wurden die Features als Eingaben des RPN oder aber die Art der Weiterverarbeitung der Kandidaten-Boxen verändert, um die Klassifikationsgüte oder die Laufzeit zu verbessern.

Architektur Two Stage Detektoren 1 - Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)
© Nature Communications/ CCBY Schematische Architektur von Two-Stage Detektoren.

One-Stage-Verfahren

Seit 2016 gibt es Netze, die anstelle der bisherigen zweistufigen Verfahren die Schritte Lokalisierung und Klassifikation gleichzeitig betrachten. Diese Verfahren bilden somit die Gruppe der One-Stage-Detektoren. Motivation hinter der Entwicklung war die hohe Komplexität der Two-Stage-Detektoren sowie die damit einhergehende hohe Laufzeit [Zou et al, 2023]. Vorreiter in diesem Gebiet sind der You-Only-Look-Once (YOLO) und der Single-Shot Detektor (SSD). Anstatt beliebige Stellen im Bild zu betrachten, untersuchen beide Verfahren das Eingabebild an festen Positionen auf Objekte unterschiedlicher Größe und Ausrichtung. Dadurch benötigen sie kein separates Modul für die Vorfilterung interessanter Regionen und können die Zusammenhänge von Klassifikation und Verortung bei der Optimierung und Anwendung berücksichtigen.

Damit waren diese Ansätze bereits zum Zeitpunkt ihrer Entwicklung deutlich schneller als Two-Stage-Verfahren. Zudem konnte SSD in der Genauigkeit von Two-Stage Object-Detection-Verfahren mithalten. Seitdem entstanden viele weitere One-Stage-Architekturen unter anderem auch Nachfolger von YOLO, die sich durch verbesserte Laufzeit und Genauigkeit auszeichnen.

Durch die ganzheitliche Betrachtung der Aufgaben Klassifikation und Verortung in einstufigen Detektornetzen, können auch Konzepte aus anderen Anwendungsfeldern eingesetzt werden, wie beispielsweise Transformer-Netze aus dem Bereich Sprachverarbeitung. Forschende sehen darin das Potenzial für einen Paradigmenwechsel in der Herangehensweise an diese Probleme [Zaidi et al, 2022].

Architektur One Stage Detektoren 1 - Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)
© Nature Communications/ CCBY Schematische Architektur von One-Stage Detektoren.

Welches Object-Detection-Verfahren passt für welchen Anwendungsfall?

Generell werden Object-Detection-Architekturen in verschiedenen Varianten entwickelt, um sie vielseitig einsetzbar zu machen. Die Varianten orientieren sich dabei an Anwendungsfällen und Endgeräten. Die Abwägung bei der Entwicklung und Anwendung von Object-Detection-Algorithmen findet im Spannungsfeld von Geschwindigkeit, Genauigkeit und Speicherplatz statt [Huang et al, 2017]. Dadurch ergibt sich eine große Bandbreite an Modellen mit spezifischen Vorteilen für die jeweiligen Anforderungen. Beispielsweise erfordert die Verwendung in Smartphones oder Kameras kleine Modelle mit weniger Modellparametern. Diese liefern zwar schnelle Ergebnisse, jedoch häufig zulasten der Genauigkeit der Bounding-Boxen oder Klassifikationen.

Je komplexer die Architektur ist, desto aufwändiger ist auch das Training. Je nach Anwendungsfall ist dann zusätzlich abzuwägen, ob es überhaupt genug Daten gibt, um ein passendes Modell mit einer angestrebten Genauigkeit zu trainieren.

Wir können also festhalten: Es gibt nicht das eine Allzweck-Modell für Object-Detection-Fragestellungen. Stattdessen muss für jeden Anwendungsfall neu abgewogen werden, welches Modell unter Berücksichtigung der spezifischen Anforderungen die besten Ergebnisse liefert. Die Unterscheidung zwischen One-Stage und Two-Stage Architekturen kann dabei als Orientierung genutzt werden, um verschiedene Modelle vorab zu kategorisieren. Darüber hinaus ist die konkrete Architektur des jeweiligen Ansatzes, sowie das gewählte Backbone-Netz zu berücksichtigen. Für einen Überblick über die verschiedenen Object-Detection-Modelle und ihre Vor- und Nachteile können die Arbeiten von Huang et al. und Zaidi et al. herangezogen werden. Sie liefern einen Anhaltspunkt für die Auswahl einer passenden Architektur für den eigenen Anwendungsfall. Darüber hinaus bietet die Webseite PapersWithCode einen Überblick über die State-of-the-Art Machine Learning Verfahren in verschiedenen Forschungsfeldern, sowie Datensätze und Code zu wissenschaftlichen Veröffentlichungen.

Quellen

Speed/accuracy trade-offs for modern convolutional object detectors
J. Huang et al, Proceedings of the IEEE conference on computer vision and pattern recognition, Pages 3296-3297, 2017, pdf

A Survey of Deep Learning-Based Object Detection
L. Jiao et al., IEEE Access, vol. 7, Pages 128837-128868, 2019, pdf

A survey of modern deep learning based object detection models.
S.S.A. Zaidi, et al., Digital Signal Processing, vol. 126, 2022 pdf

Object detection in 20 years: A survey
Z. Zou, et al., Proceedings of the IEEE, 2023

Luise Weickhmann

Luise Weickhmann arbeitet am Lamarr-Standort des Fraunhofer IML. Der Schwerpunkt ihrer Arbeit liegt in der Entwicklung industrieller Lösungen unter Anwendung von Maschinellem Lernen.

Maximilian Otten

Maximilian Otten ist wissenschaftlicher Mitarbeiter am Fraunhofer IML in der Abteilung für Software & Information Engineering. Er beschäftigt sich mit Softwareentwicklung und dem Einsatz von ML-basierter Bildverarbeitung in Industrie- und Forschungsprojekten in der Logistik.

Weitere Blogartikel