Die Bedeutung von Technologien des Maschinellen Lernens (ML) ist in der Industrie im Zuge des digitalen Wandels stark gestiegen. Der Einsatz von intelligenten Systemen erleichtert nicht nur den Mitarbeitenden die Arbeit, sondern optimiert viele Prozesse und Warenflüsse. Jedoch verlaufen bis heute noch wesentliche Bereiche nicht automatisiert, wodurch zusätzliche Arbeit entsteht, die mit mehr Zeitaufwand und Kapazitätskosten verbunden ist.
Neben der Klassifizierung und Lokalisierung von Bildern und Objekten (Object Detection) im Rahmen von Computer Vision-Verfahren, ist ein häufiger Anwendungsfall das Re-Identifizieren von bestimmten Gegenständen oder Objekten. In diesem Blog-Beitrag wird näher erläutert, wie diese Re-Identifikation funktioniert.
Re-Identifikation
Re-Identifikation (englisch: Re-Identification/Re-ID) ist der Prozess, bei dem ein Individuum, ein Objekt oder ein Muster in verschiedenen Bildern identifiziert wird. Oft erfolgt dieser Prozess auch über mehrere, sich nicht überschneidende Kameras hinweg. Ein bekanntes Beispiel für Re-Identifikation ist die Gesichtserkennung. Hier müssen neue Bilder von Gesichtern (und daraus extrahierte Merkmale) mit einer Basis von gespeicherten Gesichtern (und Merkmalen) verglichen werden, um zu entscheiden, ob sich dieses zu einem bereits bekannten Gesicht zuordnen lässt oder nicht.
Die Wiedererkennung von Objekten auf Bildern ist hier sehr ähnlich zu dem Aufgabenbereich der Klassifikation. Im Gegensatz zur Klassifikation handelt es sich im Rahmen der Re-Identifikation jedoch nicht nur um Objekte des gleichen sondern auch desselben Typs. Außerdem ist die Menge an verschiedenen Entitäten meistens nicht abgegrenzt.
Ein ähnlicher Anwendungsfall ist das Objekt-Tracking. Hierbei werden einzelne Objekte in Kamerabildern “verfolgt” und auf Basis der zeitlich im Kamerastream kurz vorangegangenen Bilder zugeordnet. Die Re-Identifikation kann über beliebige Zeiträume erfolgen und auch das Tracking von Objekten unterstützen.
Methoden der Re-Identifikation
Eine etablierte Deep Learning-basierte Methode für die Re-Identifikation sind sogenannte Siamese Networks. Dies sind neuronale Netze, welche zwei oder mehr identische Subnetze, also die gleichen Schichten, Parameter und Gewichte, beinhalten. Diese werden genutzt, um Ähnlichkeiten von verschiedenen Inputs auf Basis der berechneten Merkmalsvektoren herauszustellen.
Das Resultat der Berechnung in Siamese Networks ist ein Ähnlichkeits-Score, welcher anzeigt, wie wahrscheinlich es ist, dass zwei Inputs zu derselben Entität gehören. Im Training dieser Netze können dazu Paare von Inputs präsentiert werden – zum einen positive Paare (zum Beispiel zwei verschiedene Fotos derselben Person) und zum anderen negative Paare (zum Beispiel zwei Fotos verschiedener Personen). Die Aufgabe des Netzes ist es nun, die Distanz im Ähnlichkeits-Score positiver Paare zu minimieren und die Distanz negativer Paare zu maximieren.
Eine weitere Methode Siamese Networks zu trainieren ist der sogenannte “Triplet Loss”. Hier werden dem Netz drei anstelle von zwei Inputs präsentiert: ein sogenannter Anker als Referenzbild, ein positives Beispiel, welches derselben Entität entspricht und ein negatives Beispiel, welches eine andere Entität repräsentiert. In Bezug auf den Ähnlichkeits-Score, das Ziel im Training ist es nun, dass das positive Beispiel näher zum Anker Input liegt als das negative Beispiel mit einer vorgegebenen Spanne als Hyperparameter. Dadurch soll das Netz robustere Merkmale zum Unterscheiden verschiedener Entitäten mit einer klaren Abgrenzung zwischen ihnen lernen.
[Formel Triplet Loss: L=max{d(a,p)−d(a,n)+margin,0}]
Klassifikatoren als Basis für Re-Identifikation
Eine Alternative zum direkten Lernen von Unterschieden ist es, zunächst einen Klassifikator zu trainieren. Hier werden die IDs der Entitäten als Klassenlabel genutzt, um das Modell die Unterschiede zwischen den Entitäten implizit lernen zu lassen.
Im Falle der Re-Identifikation ist die Gesamtzahl der IDs jedoch oft – selbst zum Zeitpunkt des Trainings – nicht bekannt. Deswegen wird der eigentliche Klassifikations-Layer nach dem Training verworfen und lediglich der Merkmalsvektor extrahiert, der zur Klassifikation genutzt werden würde. Über diesen Merkmalsvektor können nun unter Verwendung von Ähnlichkeits- und Distanzmaßen (zum Beispiel Kosinus-Ähnlichkeit, Euklidische Distanz) verschiedene Inputs miteinander verglichen werden.
Dazu verwendet man eine Art Datenbank von den Merkmalsvektoren bereits bekannter Entitäten, welche mit den Vektoren neuer Inputs verglichen werden. Die Entität, bei der die Ähnlichkeit am größten ist, wird dann dem neuen Input zugeordnet. Dabei wird jedoch auf ein Mindestmaß an Ähnlichkeit geachtet. Wird dieses bei keiner der bereits bekannten Entitäten eingehalten, so handelt es sich um eine noch nicht bekannte Entität, die neu in die Datenbank aufgenommen wird.
Eine Netzarchitektur, die speziell für diesen Fall entwickelt wurde, ist die sogenannte Part-based Convolutional Baseline (PCB). Diese Architektur nutzt ein beliebiges Convolutional Network als Backbone Netzwerk und einen speziellen Pooling-Layer, um die Merkmale in eine vordefinierte Anzahl an Teilen zu zerlegen. Die Feature Vektoren der einzelnen Teile werden dann in jeweils separate Fully-Connected Layer zur Klassifizierung der IDs gegeben. Im Einsatz können so die Merkmalsvektoren der einzelnen Parts wieder zusammengefügt und als Ganzes verglichen werden.
Automatisierung in der Intralogistik durch Re-Identifikation
In der Logistik ist es oft notwendig Ladungsträger, wie zum Beispiel Euro-Paletten, in verschiedenen Prozessschritten (zum Beispiel Wareneingang und -ausgang) wiederzuerkennen. Dazu werden in der Regel Label-basierte Methoden, wie Barcodes, RFID-Tags und Ähnliches, verwendet. Diese müssen oft manuell auf den Ladungsträger oder den darauf befindlichen Waren und Paketen angebracht und die Prozesse um diese Schritte erweitert werden. Um den Automatisierungsgrad in der Intralogistik weiter zu steigern, wurden Methoden erforscht, wie das Wiedererkennen von Ladungsträgern völlig ohne manuelles Labeln auskommen kann.
Dazu wurden am Beispiel von Euro-Paletten die erläuterte Re-Identifikationsmethode Part-based Convolutional Baseline getestet. Die Vorgehensweise: Es werden Kamerabilder von Paletten, die auf einem Laufband in Umschlagslagern bewegt werden, aufgenommen. Von diesen Bildern werden mittels Objekterkennung die Verbindungsklötze der Paletten extrahiert und die Bilder dieser Klötze dann mit Hilfe eines PCB-Netzwerks einzeln in Merkmalsvektoren, sogenannte “Fingerprints”, umgewandelt.
Auf Basis der Fingerprints der einzelnen Klötze können nun ganze Palletten wiedererkannt werden. Das Aufteilen der Palette in einzelne Klötze (sechs pro Palette) sorgt dabei für eine ausreichende Redundanz in der Wiedererkennung.
Im Wareneingang werden die Fingerprints der Paletten in einer Datenbank abgelegt und können bei der Wiedererkennung im Warenausgang verglichen werden. Das Tracken von eingehenden und ausgehenden Paletten in einem Umschlagslager wird so automatisiert.
Eine aktuelle Herausforderung der Re-Identifikation besteht immerhin im Tracken über längere Zeiträume. Gerade Euro-Paletten können mit der Zeit ihr Aussehen verändern, zum Beispiel durch Alterung oder Beschädigung.
Potenziale der Re-Identifikation
Im Gegensatz zur Klassifikation können bei der Re-Identifikation tatsächliche Entitäten und nicht nur Arten von Produkten verfolgt werden. So können zum Beispiel nicht nur Mengen und Verbräuche verschiedener Produktionsmittel, sondern auch tatsächliche Warenströme erfasst werden. Auch Prozesse, die aus Gründen von Rückverfolgbarkeit oder Sicherheit eine eindeutige Wiedererkennung von Entitäten erfordern, können schneller und ohne manuelle Aufwände durchgeführt werden. Diese Erfassung ist mit Klassifikation und Objekterkennung nicht praktikabel, da alle möglichen Entitäten vorab bekannt sein müssten.
Weitere Anwendungsfälle, die durch dieses Machine-Learning-Verfahren bearbeitet werden könnten, wären die Verbesserung von Sendungsverfolgungen durch das Wegfallen physischer IDs, die Optimierung von Warenflüssen oder die Umsetzung verschiedener gesetzlicher Vorgaben der Rückverfolgbarkeit von Produkten oder Produktionsmitteln. Auch die Verfolgbarkeit von Produktkombinationen statt einzelner Entitäten ist ein möglicher Anwendungsfall.
Neugierig geworden? Dann erfahren Sie in diesen wissenschaftlichen Veröffentlichungen mehr:
PCB ref: Beyond Part Models: Person Retrieval with Refined Part Pooling: https://arxiv.org/abs/1711.09349
Deep Learning Based Re-Identification of Wooden Euro-pallets: https://ieeexplore.ieee.org/abstract/document/10068869
Towards Re-Identification for Warehousing Entities – A Work-in-Progress Study: https://ieeexplore.ieee.org/abstract/document/9613250
https://www.silicon-economy.com/one-in-500-million-algorithm-identifies-pallets-by-its-grain/
Datensätze:
https://zenodo.org/records/8125376
https://zenodo.org/records/6358607
https://zenodo.org/records/6353714