Forschungsbericht 2013 - Max-Planck-Institut für Informatik
Skalierbares Lernen und Wahrnehmen
Einleitung
Die Objekterkennung besitzt ein breites Anwendungsspektrum, das von bildbasierter Suche über Fahrerassistenzsystem hin zu Anwendungen in der Robotik reicht. Insbesondere verlangen diese Anwendungen nach der Erkennung von ganzen Objektkategorien wie „Auto”, „Fahrrad”, „Tasse” im Gegensatz zu einzelnen Objektinstanzen wie „mein Auto” oder „meine Tasse”. Während die bestehenden Ansätze heutzutage eine bemerkenswerte Erkennungsleistung für einzelne Klassen erreicht haben, bleibt die simultane Erkennung mehrerer Klassen eine große Herausforderung. Zur Trainingszeit bedarf das Erstellen von Objektklassenmodellen einer ausreichenden Anzahl von repräsentativen Trainingsbeispielen. Zur Testzeit muss die Vorhersage effizient sein, sodass die korrekte Bezeichnung über eine große Anzahl von möglichen Klassen vorhergesagt werden kann.
Um die Effizienz der Trainingsprozeduren zu verbessern, untersuchen wir probabilistische Modelle der unüberwachten Segmentierung und Gruppierung von Bildern und Videos in einzelne Segmente und Objekte. Dabei werden insbesondere Bewegungen von Objekten in Videos und Ähnlichkeiten von Objekten zwischen Videos modelliert, um Objektsegmente zu erzeugen.
Eine Verbesserung der Skalierbarkeit zur Testzeit erreichen wir sowohl durch ein effizienteres Inferenzschema, das Berechnungen zwischen den Klassen teilt, als auch durch Methoden, die lernen, Rechenleistung effektiver zu nutzen, indem die Erkennungsstragie unter einem Rechenzeitbudget optimiert wird.
Ko-Segmentierung mehrerer Objektklassen in Videos

Videodaten sind eine der am schnellsten wachsenden Datenmengen, die über Internetquellen in großen Mengen verfügbar sind. Sie stellen eine reichhaltige Informationsquelle dar, die das Potenzial hat, den „Datenhunger” heutiger Lernalgorithmen zu stillen. Wir stellen einen Gruppierungsprozess vor, der sowohl räumliche also auch zeitliche Abhängigkeiten von Objekten in Videos modelliert [1]. Dieser Gruppierungsprozess basiert auf einem nicht-parametrischen Model, wodurch die Anzahl der Objektinstanzen und -klassen nicht vorher festgelegt werden muss (Abb.1, links). Obwohl Erscheinungsbild, Form und Bewegung von Objekten in Videos starke Hinweise auf Objektgrenzen geben, können oftmals nicht alle Mehrdeutigkeiten aufgelöst werden. Deshalb modelliert unser Ansatz das Erscheiningsbild der Objektklassen über mehrere Videos hinweg. Während solche Information dem Model oft mittels vom Menschen generierter Annotation zugeführt wird, geschieht dies in unserem Ansatz unüberwacht. Der Ansatz generiert eine plausible Segmentierung aller Videos, die gleichzeitig mit den Objektklassenmodellen konsistent ist (Abb.1, rechts).
Wiederverwendung von Berechnungen zwischen Objektklassen

Die besten Ansätze zur Objektdetektion, die uns heutzutage zur Verfügung stehen, erreichen die Detektion mehrerer Klassen durch die Kombination mehrerer Einzeldetektoren [2]. Dies ist unerwünscht, da die Rechenzeit linear mit der Anzahl der Klassen ansteigt. Eine genauere Analyse der am meisten verbreiteten Architekturen zeigt, dass diese unabhängigen Detektionsschemen Redundanz aufweisen. Intuitiv suchen ein Auto- und ein Fahrraddetektor nach Rädern, aber die Algorithmen nutzen dies nicht aus und suchen vielmehr zweimal nach Rädern. Deshalb führen wir das Konzept von „sparselet” ein, das die Gemeinsamkeiten zwischen solchen Teilen mittels einer gemeinsamen Basis erfasst, die wir durch „sparse coding” berechnen [3]. Im Gegenzug müssen wir nur die Aktivierung dieser Basis berechnen, die von allen Objektklassen geteilt wird (Abb.2). Aus dieser resultierenden Zwischenrepräsentation können wir die Aktivierungen der originalen Teildetektoren mit guter Genauigkeit zurückgewinnen. Die resultierende Methode nutzt zusätzlich die Hardware-Beschleunigung der Grafikkarte, was zu einer 35-fachen Beschleunigung der Detektion führt und uns somit eine Erkennung in Echtzeit erlaubt.
Effektive Erkennungsstrategien unter einem Rechenzeitbudget

In praktischen Anwendungen sind Echtzeitsysteme ebenso wie große bildbasierte Suchanwendungen durch ein Rechenbudget beschränkt. Derzeitige Detektionssysteme beziehen diese Beschränkung nicht mit ein und ändern ihre Verarbeitungsabfolge nicht bezüglich des zu erwartenden Gewinns oder Rechenaufwands eines Klassifikators oder Detektors. Wir schlagen deshalb eine Methode vor, die Zugang zu mehreren Bildklassifikatoren und -detektoren hat und lernt, diese mit einer optimalen Strategie anzuwenden, sodass eine durch die Anwendung definierte Belohnung unter den Rechenbudgetbeschränkungen optimiert wird [4] (Abb. 3). Zwischenergebnisse werden benutzt, um zu bestimmen, welcher Algorithmus als nächstes ausgeführt werden soll. Im Gegensatz zu früheren Ansätzen wählt unser „reinforcement learning”-Ansatz auch Aktionen aus, die sich nicht unmittelbar durch eine Detektion auszahlen. Beispielsweise kann der Ansatz die Ausführung eines Bildklassifikators auswählen, der uns über den möglichen Inhalt des Bildes informiert. Obwohl dies zu keiner Objektdetektion führt, ist die extrahierte Information sehr hilfreich, um den nächsten Detektor auszuwählen. Wir konnten die Vorzüge dieses Ansatzes in verschiedenen Situationen zeigen und eine deutliche Steigerung der Effizienz bei der simultanen Detektion von mehreren Klassen erzielen.