Modelle zur Objekterkennung werden in der Regel so trainiert, dass sie nur eine begrenzte Anzahl von Objektklassen erkennen. Der weit verbreitete MS COCO (Microsoft Common Objects in Context)-Datensatz enthält beispielsweise nur achtzig Klassen, von der Person bis zur Zahnbürste. Die Erweiterung dieses Datensatzes ist mühsam und erfordert in der Regel das Sammeln einer Reihe von Bildern für jede zu erkennende Objektklasse, das Beschriften dieser Bilder und die Feinabstimmung eines bestehenden Modells. Aber was wäre, wenn es eine einfache Möglichkeit gäbe, einem Modell neue Kategorien beizubringen? Es sogar um Tausende von Kategorien zu erweitern? Das ist genau das, was das kürzlich veröffentlichte Detic-Modell verspricht. In diesem Blogpost erörtern wir die Funktionsweise dieses neuen Modells und bewerten seine Stärken und Schwächen, indem wir es anhand einer Reihe von potenziellen Anwendungsfällen testen.
Die Objekterkennung besteht aus zwei Teilproblemen: dem Auffinden des Objekts (Lokalisierung) und seiner Identifizierung (Klassifizierung). Herkömmliche Methoden koppeln diese Teilprobleme und stützen sich folglich auf Box-Labels für alle Klassen. Allerdings sind die Erkennungsdatensätze in Bezug auf Größe und Anzahl der Objektklassen (Vokabular) im Vergleich zu Bildklassifizierungsdatensätzen viel kleiner. Letztere verfügen über ein umfangreicheres Vokabular, da die Datensätze größer und leichter zu erheben sind. Durch die Einbeziehung von Bildklassifizierungsdaten in das Training der Klassifizierer eines Detektors kann das Vokabular von Detektoren erweitert werden: von Hunderten auf Zehntausende von Konzepten! Detic [1](Detektormit Bildklassen) tut genau dies, indem es zusätzlich zur Überwachung der Detektion eine Überwachung auf Bildebene verwendet. Das Modell entkoppelt auch die Teilprobleme der Lokalisierung und der Klassifizierung.
Detic ist das erste bekannte Modell, das einen Detektor auf allen einundzwanzigtausend Klassen des ImageNet-Datensatzes trainiert. Folglich ist es in der Lage, eine große Anzahl von Objekten zu erkennen, was es zu einem sehr geeigneten Basismodell für eine breite Palette von Aufgaben macht. Zur Verallgemeinerung auf größere Vokabulare nutzt Detic darüber hinaus die offenen CLIP [2] (Contrastive Language-Image Pre-training) Einbettungen. Mit CLIP werden ein Bild- und ein Textencoder gemeinsam trainiert, um die korrekten Paarungen einer Reihe von Trainingsbeispielen (Bild, Text) vorherzusagen. Zum Testzeitpunkt bettet der gelernte Textkodierer die Namen oder Beschreibungen der Klassen des Zieldatensatzes ein. Durch die Verwendung von Einbettungen von Wörtern anstelle eines festen Satzes von Objektkategorien wird ein Klassifikator erstellt, der Konzepte erkennen kann, ohne explizit Beispiele dafür gesehen zu haben. Dies wird auch als Zero-Shot-Lernen bezeichnet. Mein Kollege Juta hat einen sehr schönen Artikel zum Thema CLIP und multimodale KI im Allgemeinen verfasst, lesen Sie ihn!
Durch die Kombination der vorgenannten Methoden wird das Modell mit einer Mischung aus Erkennungsdaten und mit Bildern beschrifteten Daten trainiert. Bei der Verwendung von Erkennungsdaten verwendet Detic Standard-Erkennungsverluste, um den Klassifikator(W) und den Box-Vorhersagezweig(B) eines Detektors zu trainieren. Bei der Verwendung von Bilddaten wird nur der Klassifikator mit Hilfe eines modifizierten Klassifikationsverlustes trainiert. Der Klassifizierungsverlust trainiert die Merkmale, die aus dem größten vom Netz vorhergesagten Vorschlag extrahiert werden. Ähnlich wie bei CLIP kann das Modell ein benutzerdefiniertes Vokabular von Klasseneinbettungen zum Zeitpunkt der Vorhersage verwenden, um ohne erneutes Training auf verschiedene Klassen zu generalisieren.
Stellen Sie sich vor, Sie möchten einen Social-Media-Feed automatisch auf das Vorkommen bestimmter Objekte analysieren. Objektdetektoren, die für bestimmte Anwendungsfälle in den Bereichen Sport, Tiererkennung, Gesundheitswesen usw. trainiert wurden, würden in diesem Zusammenhang nicht die gewünschten Ergebnisse liefern. Der Grund dafür ist, dass Social-Media-Beiträge nicht auf bestimmte Themen beschränkt sind und diese Bilder eine große Vielfalt möglicher Objekte enthalten. Da herkömmliche Erkennungsprogramme jedoch nur über ein relativ kleines Vokabular verfügen, ist die Anzahl der Kategorien, nach denen man suchen kann, begrenzt. Diese begrenzte Anzahl von Klassen schränkt auch die Analyse ein, die Sie mit diesen Bildtypen durchführen können. Da Detic in der Lage ist, das Vokabular erheblich zu erweitern, stellt es eine gute Lösung für dieses Problem dar.
Sie wissen nun, dass Detic in der Lage ist, eine breite Palette von Objektklassen zu erkennen, da der Imagenet-Datensatz bis zu 21K Klassen enthält. Die Verwendung von Bildklassifizierungsdaten bringt jedoch noch einen weiteren Vorteil mit sich: die Erkennung von feineren Klassen, ohne dass dem Erkennungsdatensatz weitere (feinere) Etiketten hinzugefügt werden müssen. Denn ein Objekterkennungsdatensatz wie LVIS enthält zwar eine Klasse "Hund", aber die Beschriftungen geben nicht die genaue Art des Hundes an. Damit der Detektor also zwischen verschiedenen Arten von Hunden unterscheiden kann, müssten Sie die Daten dieser feinkörnigen Kategorien manuell hinzufügen oder ändern. Nun reicht es aber aus, wenn man die mit Bildbeschriftungen versehenen Daten der verschiedenen Arten - wie sie in ImageNet enthalten sind - hinzufügt, so dass das Modell die Hunde anhand ihrer korrekten Art erkennen und benennen kann, wie im Beispiel zu sehen.
Die Möglichkeiten des Modells sind damit noch nicht erschöpft. Wie bereits erläutert, ermöglicht uns die Verwendung von CLIP die Arbeit mit benutzerdefinierten Vokabularen, die Klassen enthalten, von denen das Modell noch nie ein Bild gesehen hat. Im Beispiel auf der linken Seite hat das Modell nach der Klasse "Hoverboard" gesucht, die in keinem der Trainingsdatensätze enthalten ist. Da die Einbettung des Wortes jedoch eng an die des Wortes "Skateboard" angelehnt ist, ist es dennoch in der Lage, dieses Objekt, das es noch nie gesehen hat, zu finden! Dasselbe gilt für das Wort "Büste" in der Abbildung rechts: Mit CLIP kann das Modell auch dieses unbekannte Objekt korrekt identifizieren.
Wir haben gesehen, wie das Modell bei verschiedenen Bildern funktioniert, aber wir haben es auch auf einige Videos angewendet, wo es ähnliche Ergebnisse erzielt. Um die Möglichkeiten von Detic bei bewegten Bildern zu demonstrieren, haben wir ein einfaches Tool entwickelt, das die Einzelbilder aus einem Video extrahiert, die Erkennung (für die wiederum das Vokabular individuell angepasst werden kann) auf diese Einzelbilder anwendet und sie schließlich wieder zusammenfügt. Es ist auch möglich, die erkannten Objekte in jedem Frame in einer Textdatei zu speichern, was eine einfachere Analyse des gesamten Videos ermöglicht.
Erkennungsmodelle werden in der Regel auf spezifische Daten für einen bestimmten Anwendungsfall trainiert, aber Detic hat ein sehr breites Anwendungsfeld. Es ist das erste bekannte Modell mit einem so großen Vokabular an Objektklassen. Es kann für eine feinere Erkennung angepasst werden, indem einfach weitere bildbeschriftete Klassen hinzugefügt werden, und durch die Verwendung von CLIP-Einbettungen ist das Modell auch für Zero-Shot-Erkennungsaufgaben geeignet. Natürlich gibt es bei dieser Art von Modellen noch viel zu erforschen. Eine Einschränkung haben wir bei der Verwendung eines benutzerdefinierten Vokabulars mit Beschreibungen wie "eine Person sitzt auf einer Bank" festgestellt. Das Modell erkennt oft nicht den gesamten Kontext korrekt, sondern wählt nur ein einzelnes Wort aus dem Satz aus. Dies ist wahrscheinlich darauf zurückzuführen, dass Detic Bildbeschriftungen aus Bildunterschriften mittels eines naiven Textvergleichs extrahiert und hauptsächlich auf einzelne Wörter trainiert wird.
[1]Zhou, X., Girdhar, R., Joulin, A., Krähenbühl, P., & Misra, I. (2021). Detecting Twenty-thousand Classes using Image-level Supervision. ArXiv Preprint ArXiv:2201.02605.
[2]Radford, A., Kim, J. W., Hallacy, C., Ramesh, A., Goh, G., Agarwal, S., Sastry, G., Askell, A., Mishkin, P., Clark, J., Krueger, G., & Sutskever, I. (2021). Learning Transferable Visual Models From Natural Language Supervision. CoRR, abs/2103.00020. https://arxiv.org/abs/2103.00020
[3]Redmon, J., & Farhadi, A. (2018). YOLOv3: An Incremental Improvement. CoRR, abs/1804.02767. http://arxiv.org/abs/1804.02767