Deep Learning-basierte Re-Identifikation in der Logistik

Demonstrator „NaturIdent“
© Silicon Economy

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.

Beispielhafte Vorgehensweise bei der Re-Identifikation
Beispielhafte Vorgehensweise bei der Re-Identifikation: Für ein gegebenes Probebild und eine Reihe von aufgezeichneten Videobildern wird die Ähnlichkeit zwischen den Merkmalen berechnet und in absteigender Reihenfolge der Ähnlichkeit mit dem Probebild in einer Liste sortiert.
© https://arxiv.org/abs/2005.00355

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.

Autos fahren auf einer Autobahn.
Beispiel Objekt Tracking: Im Bereich der Videoanalyse wird Objekt-Tracking nicht nur zur Bestimmung der Position und der Klasse eines Objektes verwendet, sondern es behält auch eine eindeutige ID für jedes erkannte Objekt im Verlauf des Videos bei.
© Lance Chang/unsplash.com & Fraunhofer IML

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.

Darstellung einer Siamese Network-Architektur
Die Siamese Network-Architektur akzeptiert zwei Eingabebilder (zwei Unterschriften in diesem Beispiel), verfügt über identische Subnetze für jeden Eingang und bestimmt aus der berechneten Distanz zwischen den Ausgängen die Ähnlichkeit der Eingabebilder.
© https://arxiv.org/abs/1707.02131

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}]

Visualisierung des Triplet Loss
Visualisierung des Triplet Loss anhand eines positiven Paares (oberes und mittleres Gesicht) und negativen Paares (oberes und unteres Gesicht).
© Christian Buehner/unsplash.com & Fraunhofer IML

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.

Funktionsweise eines PCB
Funktionsweise eines PCB: Das Eingabebild durchläuft das Convolutional Network sowie den speziellen Pooling-Layer. Jeder entstandene Spaltenvektor wird in einen jeweiligen Klassifikator gegeben, welcher während des Trainings die Identität des Eingabebildes voraussagt.
© https://arxiv.org/abs/1711.09349

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.

Beispielaufnahmen von Palettenklötzen
Beispielaufnahmen von Palettenklötzen: Aus den Aufnahmebildern der Palettenklötze werden die relevanten visuellen Merkmale erfasst. Diese Merkmale dienen als Grundlage für die Berechnung der Fingerprints.
© https://ieeexplore.ieee.org/abstract/document/10068869

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.

Demonstrator „NaturIdent“
Demonstrator „NaturIdent“: Jede Palette kann aus den Palettenspeichern entnommen und auf die Förderstrecke gezogen werden. Dort wird die Palette von einem Kamerasystem erfasst, die Signatur erstellt und beim Empfänger identifiziert.
© https://www.silicon-economy.com/one-in-500-million-algorithm-identifies-pallets-by-its-grain/

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

Christian Pionzewski, Antonia Ponikarov,

17. Januar 2024

Themen

Christian Pionzewski

Christian Pionzewski 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.

Antonia Ponikarov

Antonia Ponikarov ist studentische Hilfskraft am Fraunhofer IML in der Abteilung für Software & Information Engineering und studiert Informatik im Masterstudium an der Technischen Universität in Dortmund. Sie beschäftigt sich mit Softwareentwicklung und dem Einsatz von ML-basierter Bildverarbeitung in Industrie- und Forschungsprojekten in der Logistik.

Weitere Blogartikel