YOLO hat längst seinen Weg aus der Jugendsprache in die Welt von Künstlicher Intelligenz und Maschinellem Lernen gefunden – nach semantischer Abwandlung verbirgt sich dahinter das Akronym You Only Look Once. Erstmals stellten Redmon et al. 2016 YOLO als neuen Ansatz für eine Echtzeit-Objekterkennung vor. Wie das YOLO-Netzwerk aufgebaut ist, worin seine Vorteile aber auch Schwierigkeiten liegen, eruiere ich in diesem Beitrag.
Der YOLO Ansatz
Dem YOLO-Algorithmus liegt ein „faltendes“ neuronales Netzwerk (convolutional neuronal network CNN) zugrunde. Wie der Name vermuten lässt, benötigt dieser Algorithmus nur eine einzige Vorwärtspropagation (d.h. Durchlauf) durch das CNN um Objekte zu erkennen. Das CNN sagt in diesem Durchlauf sowohl verschiedene Klassenwahrscheinlichkeiten als auch bounding boxes gleichzeitig vorher. Bounding boxes – Hüllkörper – beschreiben die räumliche Ausdehnung des Objekts. Die Klassenwahrscheinlichkeit gibt an mit welcher Wahrscheinlichkeit das Objekt zu einer bestimmten Klasse, z.B. ’Katze’, gehört.
In einem ersten Schritt wird das Bild in ein S x S großes Gitter unterteilt. Fällt ein Objekt in eine der Gitterzellen, ist diese Zelle für die Erkennung des Objekts verantwortlich. Dafür bestimmt jede Zelle bounding boxes und Bewertungszahl (confidence scores). Die Bewertungszahlen geben an, wie sicher sich das Modell ist, dass die Bounding Box ein Objekt beeinhaltet und wie akkurat die Box zum Objekt passt. Die Bewertungszahl ist das Gleiche wie der Schnittpunkt über die Vereinigung (intersection over union) von Vorhersage und tatsächlichem Objekt. Befindet sich kein Objekt in der Zelle, ist die Bewertungszahl gleich null. Gleichzeitig wird die Klassenwahrscheinlichkeit für jede Zelle bestimmt. Auf Basis eines bestimmten Grenzwertes, der üblicherweise bei 0,5 liegt, trifft der Algorithmus die finale Vorhersage, aus der dann die Detektion erfolgt.
Das Modell
Vorteile des YOLO Netzwerkes
Die YOLO-Objekterkennung wird als ein einziges Regressionsproblem betrachtet, was den Algorithmus extrem schnell macht und eine komplexe Netzarchitektur ausschließt. So kann ein Video in Echtzeit mit weniger als 25 ms Verzögerung verarbeitet werden. Zudem lernt YOLO verallgemeinerbare Darstellungen von Objekten. Das ermöglicht es, nach einem Training auch auf unerwartete Inputs zu testen. In der Schnelligkeit der Objekterkennung liegt das YOLO-Netz deutlich vor anderen üblichen Netzen, wie z.B. RetinaNet.
Aber auch YOLO ist nicht perfekt und weist Limitierungen auf.
Limitierungen von YOLO
Dadurch, dass die Anzahl der Boxen pro Zelle festgelegt ist, erkennt das Netz kleinere, nah beieinander liegende Objekte oftmals nicht. Die Genauigkeit von YOLO ist demnach üblichen Ansätzen nicht überlegen und schneidet im Schnitt sogar etwas schlechter ab.
Aussichten
In den vergangenen Jahren wurde YOLO stetig weiterentwickelt und durch einige Features erweitert. Der Ansatz zählt nach wie vor zur state-of-the-art Objekterkennung und ist äußerst vielversprechend.