BigBasket SuperMart – KI-Technologie

Feb 03 2023
Heutzutage bieten die meisten Supermärkte und physischen Geschäfte in Indien eine manuelle Abrechnung am Rechnungsschalter an. Dies hat zwei Probleme: Für die Kunden haben wir ein nahtloses Self-Billing- und Self-Checkout-Erlebnis ermöglicht.

Heutzutage bieten die meisten Supermärkte und physischen Geschäfte in Indien eine manuelle Abrechnung am Rechnungsschalter an. Dies hat zwei Probleme:

  • Bei der Skalierung sind zusätzliche Arbeitskräfte, Aufkleber und wiederholte Schulungen für das Betriebsteam im Geschäft erforderlich.
  • In den meisten Geschäften unterscheidet sich der Rechnungsschalter von den Wiegeschaltern, was die Kaufabwicklung eines Kunden zusätzlich erschwert. Wie oft haben wir den Aufkleber an der Abrechnungstheke verloren und sind zu den Wiegetheken zurückgerannt?

Für die Kunden haben wir ein nahtloses Self-Billing- und Self-Checkout-Erlebnis ermöglicht. Wir verwendeten ein Computer-Vision-Deep-Learning-Modell zur Erkennung von unverpackten/verpackten/losen Artikeln in den Kategorien Obst, Gemüse und FMCG zum Zeitpunkt der Abrechnung.

Dadurch können wir Artikel und Gewichte problemlos in den Warenkorb legen.

BigBasket SuperMart

Das folgende Diagramm zeigt, wie der Kunde den Selbstfakturierungszähler nutzen wird

Self-Checkout-Schalter

Das folgende Video zeigt, wie die Abrechnung am Self-Checkout-Schalter erfolgt.

Unsere Inference Engine ist eine cloudbasierte Lösung, die zur Erkennung des Live-Bildes zur Identifizierung der SKU verwendet wird. Es wird von den Ladenterminals aufgerufen, die das komprimierte Format eines Livebildes senden und als Antwort die SKU-ID zurückgeben. Diese SKU-ID wird von internen Diensten nachgeschlagen, um die SKU-Details wie Name, Beschreibung, Preis usw. zu laden.

Einblicke

  • Aktuelle KI-Modelle unterstützen mehr als 5.000 SKUs für FNV- und FMCG-Artikel.
  • Über 20 Big Basket-Filialen in drei Städten nutzen KI-basierte Check-out-Technologie.
  • Etwa 30.000 + Erkennungen pro Tag erfolgen, was etwa 2.000 + durchschnittlichen Erkennungen pro Stunde entspricht, und in Spitzenzeiten sind es etwa 3,3.000 + Erkennungen.
  • Alle Erkennungen erfolgen in der Cloud mit einem SLA < 300 ms.
  • Für das Training der Modelle werden etwa 7 Millionen Bilder verwendet.

Wir haben drei Deep-Learning-Modelle in unserer Pipeline verwendet. Die Zusammenfassung jedes Modells wird unten erläutert

FMCG-Modell

  • Wir haben die bildbasierte Klassifizierung zur Erkennung von FMCG-Produkten verwendet.
  • Unser Modellnetzwerk besteht aus der RESNET 152 [2]-Architektur, gefolgt von vollständig verbundenen Schichten basierend auf Gesamtklassen.
  • Von 66 Millionen Parametern sind 23 Millionen Parameter als trainierbare Parameter festgelegt und die übrigen sind eingefroren. Dies hat uns geholfen, zum Zeitpunkt des Trainings weniger Bilder zu verwenden.
  • Es wurde das Pytorch-Framework verwendet. Anfangsparameter werden durch Transferlernen [3] aus dem Imagenet-Modell ermittelt. Dies hat uns zu einer schnelleren Konvergenz und einer kürzeren Gesamttrainingszeit verholfen.
  • Wir haben die Objekterkennung für die Erkennung von FnV- und FnV-verpackten Produkten verwendet. Für viele SKUs benötigen wir eine Stückzahl.
  • Unser Modellnetzwerk besteht aus einer Yolov4-Architektur mit einem Darknet-Framework. Dies hat uns zu einer schnelleren Inferenzzeit verholfen.

Angesichts der großen Vielfalt an Produkten und Kombinationen mussten wir eine ganze Reihe von Herausforderungen lösen, um unsere Erkennungsmechanismen zu verbessern. Um diese Herausforderungen zu bewältigen, haben wir einen proprietären Algorithmus entwickelt, der zum Verknüpfen ähnlicher Elemente in einer „Eltern-Kind“-Beziehung verwendet wird. Der Algorithmus klassifiziert jedes Bild und verwendet die Gewichtsinformationen und den Text auf dem Produktetikett, um das richtige Produkt zu ermitteln. Unten finden Sie eine Liste der Herausforderungen. In den nächsten Abschnitten erklären wir sie anhand von Beispielen und wie wir sie mit unserem Design gemeistert haben.

  • Die Produkte sind auf fast allen Seiten sehr ähnlich, bis auf einige Texte auf dem Produkt
  • Produkte, bei denen die meisten Oberflächen mit Ausnahme der Vorderseite ähnlich aussehen
  • Produkte sehen optisch sehr ähnlich aus und haben eine gewichtete Variante
  • Die Produkte sehen auf allen Oberflächen nahezu identisch aus

Nur wenige Produkte derselben Marke mit unterschiedlichen Geschmacksrichtungen haben eine nahezu ähnliche Verpackung und nur ein kleiner Text auf dem Bild macht den Unterschied aus. Nachfolgend sind einige Beispiele aufgeführt

Beispiele

Während dem Training

Um dieses Szenario zu bewältigen, erstellen wir eine neue übergeordnete Klasse, die ähnliche SKU-Bilder kombiniert.

Im obigen Beispiel werden alle untergeordneten SKU-IDs der übergeordneten Klassen-ID Nivea Men zugeordnet und alle untergeordneten SKU-ID-Bilder werden für das Training der Nivea Men-Klasse verwendet.

Während der Schlussfolgerung

Zum Zeitpunkt der Schlussfolgerung verwenden wir einen Texterkennungsalgorithmus, um die richtige untergeordnete SKU zuzuordnen. Wir haben die Amazon Rekognition API [1] verwendet , um den Text auf dem Bild zu extrahieren.

Produkte, bei denen die meisten Oberflächen mit Ausnahme der Vorderseite ähnlich aussehen

Eine große Herausforderung in diesem Szenario besteht darin, dass wir nicht immer erwarten können, dass der Benutzer ein bestimmtes Produkt auf der Vorderseite platziert. Wenn der Benutzer in diesen Szenarien das Produkt auf die Rückseite legt, müssen wir eine Feedback-Nachricht an den Kunden senden: „Entschuldigung, bitte drehen Sie den Artikel auf die Vorderseite!“. Nachfolgend sind einige Beispiele aufgeführt

Beispiele

Während dem Training

Um dieses Szenario zu bewältigen, erstellen wir eine neue Klasse und trainieren das Modell mit den Problemen, mit denen Oberflächenbilder konfrontiert sind.

Für die oben genannten SKUs haben wir eine Problemklasse mit der ID „Milchmilch – Rückseite“ erstellt. Alle Rückseitenbilder werden zum Training des Modells verwendet

Während der Schlussfolgerung

Wenn unser Modell diese neue Problemklasse erkennt, senden wir eine entsprechende Feedback-Nachricht an den Kunden

Produkte sehen optisch sehr ähnlich aus und haben eine gewichtete Variante

Nur wenige Produkte derselben Marke und derselben Sorte werden unterschiedliche Mengenvarianten haben, sehen jedoch optisch sehr ähnlich aus und unterscheiden sich geringfügig in der Packungsgröße. Sogar der Text ist hier ähnlich. Wenn man bedenkt, dass sich die Kamerahöhe an den Theken geringfügig ändern wird, wird es sehr schwierig sein, die tatsächliche SKU-ID anhand der Größenvariation zu identifizieren. Nachfolgend sind einige Beispiele aufgeführt

Beispiele

Während dem Training

Um dieses Szenario zu bewältigen, erstellen wir eine neue Klasse, die als übergeordnete Klasse dieser untergeordneten SKUs bezeichnet wird. Hier trainieren wir alle untergeordneten SKU-ID-Bilder als eine Klasse, die als übergeordnete Klasse bezeichnet wird.

Während der Schlussfolgerung

Wenn das Modell die übergeordnete Klasse erkennt, verwenden wir Gewichtsinformationen, um die richtige untergeordnete SKU-ID zuzuordnen.

Die Produkte sehen auf allen Oberflächen nahezu identisch aus

Nur wenige Produkte sehen auf allen Oberflächen nahezu identisch aus und haben möglicherweise ähnliche Gewichte, Formen usw. In solchen Szenarien ist eine visuelle Erkennung nicht möglich. Möglicherweise benötigen wir externe Geräte, um diese SKU-Artikel abzurechnen. Nachfolgend sind einige Beispiele aufgeführt

Beispiele

In diesen Fällen können wir mithilfe von Computer Vision die tatsächliche SKU-ID nicht identifizieren. Für die Abrechnung dieses Artikels benötigen wir ein externes Gerät.

Während dem Training

Wir erstellen eine neue Klasse mit allen verwirrten SKUs und trainieren das Modell

Während der Schlussfolgerung

Wenn unser Modell diese neue übergeordnete Klasse erkennt, senden wir die entsprechende Feedback-Nachricht.

Glossar

FMCG – schnelllebige Konsumgüter

FnV – Obst und Gemüse

SKU – Lagerhaltungseinheit

SLA – Service Level Agreements

Verweise

[1]https://docs.aws.amazon.com/rekognition/latest/dg/what-is.html

[2]https://pytorch.org/vision/main/models/generated/torchvision.models.resnet152.html

[3]https://en.wikipedia.org/wiki/Transfer_learning