Eine ML-Lösung für Markenanalysen und -berichte

Eine ML-Lösung für Markenanalysen und -berichte

Itransition lieferte eine ML-gestützte Lösung für intelligente Markenverfolgung und -analyse, die Marken in Bildern identifizieren und maßgeschneiderte Berichte erstellen kann.

Herausforderung

Unser Kunde ist ein weltweit tätiges Unternehmen für die Bewertung von Event-Sponsoring, das Kunden im Sport- und Unterhaltungsbereich mithilfe datengesteuerter Software Geschäftseinblicke verschafft. Das Angebot des Unternehmens umfasste eine Lösung zur Identifizierung von Marken (Bild- und Textlogos) in sportbezogenen Bildern, einschließlich Fotos von Spielen, Turnieren, sportbezogenen Veranstaltungen und sozialen Medien. Die Lösung enthielt auch Funktionen zum Sammeln und Aggregieren von Daten zu verschiedenen Metriken, wie Logogröße und -anzahl, und zum Erstellen von Berichten. Die Lösung richtete sich an Marken, Organisatoren von Sportereignissen und Marketingagenturen und half ihnen, die Markenleistung und die Wirksamkeit ihrer Marketingkampagnen zu bewerten.

Der Kunde hatte jedoch in verschiedener Hinsicht ernsthafte Probleme mit der Lösung:

  • Technischer Aufbau
    Die Lösung konnte aufgrund ihres technischen Aufbaus keine ausreichende Genauigkeit der automatischen Erkennung bieten. Daher mussten die Mitarbeiter des Kunden eine manuelle Prüfung durchführen, indem sie alle Bilder durchsuchten und Fehler bei der Erkennungsausgabe in CSV-Dateien korrigierten.
  • Berichterstellung
    Die Lösung generierte nur einen Standardberichtstyp, der nicht alle Anforderungen der Kunden abdeckte. Daher musste der Kunde eine Reihe von benutzerdefinierten Skripten verwenden, um den Standardbericht zu formatieren und mit zusätzlichen Daten zusammenzuführen.
  • Geschäftsprozesse
    Die Lösung verlangsamte die Geschäftsabläufe, da die Bilder direkt in die Lösung hochgeladen werden mussten. Außerdem nahm die Verarbeitung tausender neuer Bilder pro Tag einen großen Teil der Zeit in Anspruch.
  • Automatisierung
    Der Lösung fehlte die Automatisierung von Routinevorgängen wie der Aufgabenplanung, dem Abrufen von Bildern und der Erstellung vorgeplanter Berichte.
  • UX/UI
    Die Lösung verfügte über unintuitive Benutzerabläufe, die den täglichen Betrieb und die Einarbeitung neuer Benutzer erschwerten.

Mit der Zeit beschloss der Kunde, die alte Lösung durch eine modernere Software zu ersetzen. Unser Kunde war auf der Suche nach einem IT-Anbieter, der das neue System entwickeln, seine Architektur und Infrastruktur entwerfen, eine neue UX/UI erstellen und DevOps-Praktiken einrichten würde.
Der Kunde wählte Itransition für das Projekt aufgrund unserer Erfahrung in der Entwicklung von Analyselösungen und Bereitstellung von maschinellen Lerndiensten sowie aufgrund unserer umfassenden Expertise im Sport- und Unterhaltungsbereich.

Lösung

Itransition entwickelte eine neue ML-basierte Markenerkennungslösung, um Marken in Bildern zu identifizieren und Berichte zu erstellen. Durch die Kombination mehrerer ML- und Nicht-ML-Modelle ermöglichten wir es der Lösung, nicht nur Logos in Medien zu erkennen, sondern auch zu bestimmen, wo sich das Logo genau befindet (Plakat, Sportkleidung, Interviewtafel usw.). Für die Lösung entwickelten wir eine AWS-Microservices-Infrastruktur und richteten eine CI/CD-Pipeline ein. Um die Lösung benutzerfreundlicher zu gestalten und eine gute Benutzerakzeptanz zu gewährleisten, entwarf unser Team eine neue Schnittstelle mit einfachen Navigationsmöglichkeiten.

Eine PoC-Entwicklung

Zu Beginn des Projekts analysierte Itransition das bestehende System des Kunden und dessen Möglichkeiten und Grenzen. Unser Team kommunizierte auch mit dem Kunden, um die Probleme und geschäftlichen Anforderungen der Benutzer zu erfahren und Verbesserungsmöglichkeiten zu identifizieren.

Für die Bilderkennung nutzte die alte Lösung eine Brute-Force-Methode. Dabei handelt es sich um einen Nicht-ML-Algorithmus, der eine Marke durch den Vergleich eines bestimmten Bildes mit allen Markenbeispielen im System identifiziert. Der Prozess war langsam, da die Lösung alle verfügbaren Bilder durchsuchen musste, um ein Logo zu identifizieren.

Nach Klärung der anfänglichen Anforderungen schlugen wir vor, eine ML-gestützte Lösung zu entwickeln, da diese im Vergleich zur Brute-Force-Methode eine höhere Erkennungsgeschwindigkeit und -genauigkeit bieten würde. Um die Machbarkeit des Systems zu demonstrieren, schlugen wir vor, mit einer PoC-Entwicklung zu beginnen und einen voll funktionsfähigen Teil des ML-Modells zu erstellen.

Für den PoC entschied sich unser Team für die Entwicklung eines ML-Detektors, der automatisch Bildsegmente findet, die möglicherweise ein Markenlogo enthalten. Ergänzt wird es durch weitere ML-Modelle, die erkennen, welche Marke in dem Segment enthalten ist. Nachdem unser Team den PoC erfolgreich entwickelt hatte, beschloss unser Kunde, das Projekt fortzusetzen und eine umfassende Lösung zur Markenerkennung zu entwickeln.

Hauptentwicklungsphase

Markenerkennung

Die Markenerkennungspipeline umfasst verschiedene ML-Modelle und kann in mehrere Phasen unterteilt werden:

Brand recognition process

Allerdings kann es vorkommen, dass das System die Marke aufgrund einer unkonventionellen Logoposition oder Beleuchtung nicht erkennen kann, selbst wenn es das ML-Modell nutzt. Um diesem Problem entgegenzuwirken, wandte das Team von Itransition einen Brute-Force-Algorithmus an, der dem der alten Lösung ähnelt und den die Benutzer bei der Überprüfung der Markenerkennungsergebnisse manuell aktivieren können.

Marken einrichten

Damit das ML-Modell ein bestimmtes Markenlogo in Bildern identifizieren kann, müssen die Nutzer zunächst die gewünschte Marke aus dem Menü der Markenfunktion auswählen. Die Liste der verfügbaren Marken ist auf die internen Lösungen unserer Kunden abgestimmt, um die Markenkonsistenz zu wahren. Beim Hinzufügen einer Marke müssen die Benutzer auch Bilder und Textbeispiele hochladen, z. B. ein Markenlogo, einen Werbeslogan oder alternative Markennamen.

Uploading brand image examples

Das ML-Modell nutzt diese Beispiele, um den Erkennungsprozess in den Bereichen Detektor und Klassifikator durchzuführen. Um jedoch sicherzustellen, dass der Bildklassifikator ordnungsgemäß funktioniert, haben wir eine Vektorisierungsfunktion entwickelt, die Bildvektordarstellungen auf der Grundlage von Markenbildbeispielen erstellt. Die Vektordarstellungen werden dann für die Bilderkennung im Bildklassifikator verwendet.

Konfiguration der Markenerkennung

Benutzer können den Erkennungsprozess konfigurieren und starten, seine Ergebnisse überprüfen und Berichte über Arbeitsbereiche herunterladen. Neben der Erstellung eines Arbeitsbereichs für ein bestimmtes Projekt (z. B. eine Reihe von Sportspielen) können sie auch Bilder hinzufügen, Marken auswählen und Parameter für die Standortbestimmung konfigurieren.

Setting up a brand recognition process
Detektor und Texterkennung

Zunächst werden die Bilder mit dem Detektor verarbeitet, der rechteckige Bereiche markiert, die möglicherweise ein Markenbild enthalten.

Bei der Entwicklung des Detektors bestand eine der Herausforderungen darin, ein einheitliches Segment aus einer komplexen Form mit mehreren Elementen zu erstellen, z. B. ein Logo, das ein Bild und einen Markennamen enthält. Wir konnten nicht sowohl das Bild als auch den Namen mit einem großen Rechteck markieren, da der zusätzliche Leerraum an den Ecken die Marke größer erscheinen lassen würde. Wenn wir das Bild des Logos und den Markennamen mit zwei separaten Rechtecken markierten, begann das System, ein Logo als zwei separate Einheiten wahrzunehmen, was sich auf die Quantität der Marke auswirkte.

Inaccurately assessed logo area or quantity

Um das Problem zu lösen, entwickelte das Team von Itransition die Funktion zum Zusammenführen. Zunächst markiert das System das komplexe Logo mit mehreren Rechtecken, wobei jedes Rechteck als eigenes Logo gekennzeichnet wird. Um sie automatisch zu einem einzigen zusammenzuführen, haben wir ein System von Regeln und Parametern entwickelt, mit deren Hilfe die Lösung feststellen kann, ob mehrere Rechtecke ein Logo darstellen. Auf diese Weise konnten wir das System in die Lage versetzen, komplizierte Markenformen genau zu verarbeiten, ohne die Formeln des Kunden zur Bewertung der Markenpräsenz zu beeinträchtigen.

Merging process

Nachdem der Detektor die Bilder verarbeitet hat, werden die identifizierten Segmente durch den Textklassifikator verarbeitet, der aus zwei Teilen besteht. Zunächst identifiziert der Textdetektor im Textklassifikator die genaue Textposition innerhalb des markierten Segments. Nach der Texterkennung aktiviert das ML-Modell den Textklassifikator, der den tatsächlichen Text identifiziert und ihn mit Textbeispielen aus der Markenseite vergleicht. Für den Textklassifikator verwendete unser Team das Hamming-Distanz-Prinzip, das dem System hilft, den Unterschied zwischen bedeutenden und geringfügigen Änderungen am Markennamen oder Slogan zu erkennen. So kann beispielsweise ein Werbeslogan ein zusätzliches Ausrufezeichen enthalten, und die Lösung würde die Marke dennoch korrekt erkennen.

Bilderkennung

Wenn das System nicht in der Lage ist, eine Marke mit Hilfe der Texterkennung zu identifizieren (z. B. weil ein Markenlogo keinen Text enthält), wird ein Bildklassifikator aktiviert. Der Detektor und der Textklassifikator sind also nur für die Markenerkennungsstufen erforderlich. Wir haben den Bildklassifikator optional gemacht, da wir beim Training des ML-Modells festgestellt haben, dass der Textklassifikator sehr genaue Ergebnisse liefert und die zusätzliche Aktivierung des Bildklassifikators die Erkennungsqualität nicht wesentlich beeinträchtigt.

Unterschiedliche ML-Modelle, selbst wenn sie auf demselben Datensatz trainiert wurden, liefern unterschiedliche Ergebnisse. Um die Erkennungsgenauigkeit zu verbessern, hat unser Team daher mehrere ML-Modelle für den Bildklassifikator kombiniert. Bei der Entwicklung des Bildklassifizierers wählten unsere ML-Ingenieure nicht nur mehrere neuronale Netze aus, sondern verwendeten auch verschiedene Datensätze und Parameter und änderten den Trainingsprozess, um die maximale Vielfalt der Ergebnisse der neuronalen Netze zu gewährleisten.

Eine weitere Herausforderung bei der Entwicklung der Lösung bestand darin, ein einheitliches System zu schaffen, das jede Marke identifizieren kann. Normalerweise wird ein neuronales Netz darauf trainiert, bestimmte Objektgruppen zu erkennen. Damit die Lösung neue Arten von Objekten erkennen kann, müsste sie vollständig neu trainiert und konfiguriert werden, was sehr zeit- und arbeitsaufwändig ist. Unser Kunde benötigte jedoch ein vielseitiges Tool, das es den Benutzern ermöglicht, eine neue Marke hinzuzufügen, die das System noch nicht kannte, ohne dass das neue Logo die Genauigkeit der Markenerkennung beeinträchtigt.

Um ein ständiges Neutrainieren des ML-Modells zu vermeiden, schlugen wir vor, die letzte Schicht, die für die Erstellung des Outputs verantwortlich ist, aus dem Bildklassifikator zu entfernen, da sie am stärksten von der Hinzufügung neuer Objekte betroffen ist, wodurch eine Neukonfiguration des Systems erforderlich wird. Ohne die letzte Schicht wandelt der Bildklassifikator die vom Detektor identifizierten Segmente in Vektoren um und vergleicht sie mit den Vektoren der Markenbeispiele. Anschließend vergleicht der Bildklassifikator die Vektoren mit dem Algorithmus der k-ächsten Nachbarn. Der Algorithmus ermöglicht es jedem neuronalen Netz, auf der Grundlage der größten Ähnlichkeiten zwischen den Vektoren drei Schlussfolgerungen über eine Marke in dem markierten Segment zu formulieren.

Um die Schlussfolgerungen ohne die letzte Schicht zu bewerten, hat unser Team einen Konfidenz-Score-Algorithmus entwickelt, der verschiedene Ergebniskombinationen berücksichtigt, um zu bestimmen, welche Marke das ML-Modell als endgültige Ausgabe betrachten sollte. Wenn zum Beispiel zwei neuronale Netze die gleiche Marke als erste Wahl bestimmen, wird das System diese Marke als endgültige Schlussfolgerung betrachten. Dasselbe geschieht, wenn zwei Netze zwei ähnliche Marken als zweite Wahl haben.

Example of a confidence score algorithm

Wir mussten auch eine zufriedenstellende Geschwindigkeit der Bildverarbeitung sicherstellen. Anfänglich verarbeitete das System die Bilder nacheinander, beginnend mit dem Detektor und dann mit dem Bildklassifikator. Unser Team räumte ein, dass dies zu einem Ungleichgewicht bei der Arbeitsbelastung führte, denn wenn ein Teil des ML-Modells aktiviert wurde, warteten andere. Um die Bildverarbeitung zu beschleunigen, führte unser Team eine asynchrone Verarbeitung ein, so dass alle Bilder zuerst den Detektor, dann den Textklassifikator und so weiter durchlaufen würden. Dadurch konnten wir die Geschwindigkeit der Dateiverarbeitung um 50 % auf bis zu 0,5 FPS erhöhen, wobei die aktuelle Geschwindigkeit den Geschäftsanforderungen des Kunden voll entspricht.

Standortbestimmung

Eine Funktion zur Standortbestimmung war einer der wichtigsten Wünsche unseres Kunden, da die alte Lösung nicht erkennen konnte, wo sich ein Markenlogo befindet (auf einer Plakatwand, einem T-Shirt usw.). Folglich mussten die Benutzer bei der Überprüfung der Ergebnisse des Erkennungsprozesses jedem identifizierten Markenlogo den Standort manuell zuordnen. Nach der Analyse der Anforderungen unseres Kunden entwickelte Itransition die Funktion auf der Grundlage eines algorithmischen Ansatzes.

Configuring location determination parameters

Wir haben es den Benutzern ermöglicht, komplexe Regeln für die Bestimmung der Markenposition zu erstellen, indem sie verschiedene Parameter wie Logogröße, Farbe usw. nutzen. Jeder Arbeitsbereich kann einen eigenen Satz von Regeln für bestimmte Marken haben. So können die Benutzer beispielsweise Informationen über die direkte Verbindung zwischen einer bestimmten Farbe einer Marke und ihrem Standort eingeben. Wenn das System also diese bestimmte Farbe identifiziert, muss sich das Logo auf einem T-Shirt befinden. Nachdem das System den Markenerkennungsprozess durchlaufen hat, prüft es alle vom Benutzer aufgestellten Regeln und wendet Algorithmen an, um den genauen Standort der Marke zu bestimmen.

Berichtsfunktionalität

Neben der Bearbeitung von Berichten mit benutzerdefinierten Skripten in der alten Lösung mussten die Benutzer große Datenmengen manuell überprüfen, um Fehler zu finden und fehlende Daten und Inhalte zu den Berichten hinzuzufügen.

Generating reports via workplace

Bei der Entwicklung einer neuen Lösung erstellten die Entwickler von Itransition eine Berichtsfunktion, die verschiedene Arten von maßgeschneiderten Berichten mit Statistiken und Berechnungen auf der Grundlage von Markenerkennungsergebnissen erstellt. Wir automatisierten den Berichtsprozess, indem wir die mathematischen Formeln implementierten, die der Kunde zur Berechnung der Markenpräsenz auf bestimmten Bildern verwendet. Außerdem entwarfen wir Berichtsvorlagen, die dem Bedarf der Kunden an umfassenden Informationen voll und ganz gerecht werden und dafür sorgen, dass unser Kunde die Berichte nicht mehr manuell bearbeiten muss.

Beispiele für Berichtstypen:

  • Zusammenfassung - gibt einen Überblick über alle Marken und ihre Logos bei einem Sportereignis und zeigt Statistiken über die Effektivität des Markenauftritts an.
  • Zeile für Zeile - listet detaillierte Parameter für jedes identifizierte Markenlogo auf (Höhe, Breite, Position, Prozentsatz des Bildes, den das Logo einnimmt, usw.).
  • Soziale Medien - fasst Daten zu Marken zusammen, die über verschiedene Quellen in Beiträgen in sozialen Medien identifiziert wurden, und zeigt das Quellmaterial an.

Aufgabenmanager

Im Rahmen der langfristigen Zusammenarbeit mit einigen seiner Kunden führte der Kunde wiederkehrende Aufgaben zur Markenerkennung durch. Zum Beispiel konnte ein Veranstalter unseren Kunden bitten, eine Meisterschaft mit einer bereits festgelegten Anzahl von Marken zu überwachen. Die alte Lösung konnte den Markenerkennungsprozess jedoch nicht planen, so dass die Benutzer beim Erscheinen neuer Bilder den Erkennungsprozess manuell einrichten und starten mussten.

Creating scheduled tasks

Wir haben eine Aufgabenverwaltungsfunktion entwickelt, die die Planung der Erkennung, die Priorisierung, die Überwachung und die automatische Verarbeitung ermöglicht. Wir haben das System auch so konfiguriert, dass die Benutzer einmalig eine Aufgabe für das ML-Modell einrichten können. Das System aktiviert dann automatisch den Erkennungsprozess, ruft die Bilder aus dem Objektspeicher ab und verarbeitet sie, erstellt Berichte und legt sie im ausgewählten Ordner ab. Beim Einrichten der Aufgabe ermöglichte unser Team den Benutzern, einen Arbeitsbereich, einen Bildordner, eine Zeit, einen Berichtstyp, einen Zielordner für den Bericht und mehr auszuwählen.

Unser Team hat auch das Hinzufügen neuer Bilder zum Arbeitsbereich teilweise automatisiert, indem es das System so einrichtete, dass es den ausgewählten Bildordner im AWS-Dateispeicher routinemäßig überprüft und den Markenerkennungsprozess durchführt, wenn neue Dateien vorhanden sind. Um die Lösung benutzerfreundlicher zu gestalten, haben wir außerdem eine Aufgabenübersichtsliste mit geplanten Aufgaben und deren Status erstellt, mit der die Benutzer den Erkennungsprozess leicht überwachen können.

Task manager overview

UX/UI-Design

Da die Lösung ausschließlich für den internen Gebrauch bestimmt war und der Kunde die Veröffentlichung beschleunigen wollte, legten wir bei der Entwicklung des UX/UI-Designs den Schwerpunkt auf Intuitivität, Benutzerfreundlichkeit und nahtlose Integration zwischen Frontend- und Backend-Teilen.

Nach der Erhebung der Designanforderungen des Kunden erstellte unser Business Analyst vorläufige Wireframes, die wir auf der Grundlage des Kundenfeedbacks anpassten, um das System leichter navigierbar zu machen.

Brands page wireframe
Final brands page

Wir schlugen vor, Ant Design, eine UI-Designsprache der Unternehmensklasse, und eine React UI-Bibliothek mit hochwertigen vorgefertigten Komponenten wie Layouts, Menüs und Schaltflächen zu nutzen. Am Ende verwendeten wir nur die vorgefertigten Komponenten und mussten keine neuen Elemente entwerfen, was die Entwicklung der Benutzeroberfläche beschleunigte und die Kosten für UX/UI deutlich senkte. Darüber hinaus vereinfachte der gewählte Designansatz die Integration mit dem Frontend-Teil, da alle Assets in der Bibliothek bereits getestet und feinabgestimmt worden waren.

Technologien

Für das Backend haben wir die Sprache Java und das Spring-Framework verwendet. Der Frontend-Teil ist in React geschrieben und kommuniziert mit dem Backend und dem ML-Modell über die REST-API. Wir haben MySQL als Datenbank gewählt und eine CI/CD-Bereitstellungspipeline mit Teamcity eingerichtet.

Technischer Aufbau des ML-Modells

Der Detektor wird von YOLO v4 angetrieben, das wir ausgewählt haben, weil es das schnellste ML-basierte Objekterkennungstool ist, das in der Lage ist, grafische Objekte in Bildern zu erkennen. Da Python die Standardoption bei der Arbeit mit YOLO ist, haben wir es für die Anpassung, Konfiguration und das Training des ML-Modells verwendet. Unser Team verwendete auch die OpenCV-Bibliothek, die Programmierfunktionen für die Arbeit mit Computerbildern enthält.

Für die Entwicklung des Textklassifikators verwendeten wir vgg_15 und SATRN, wodurch der Kunde eine beeindruckende Texterkennungsgenauigkeit und -geschwindigkeit erzielen konnte. Um die höchste Erkennungsqualität im Bildklassifikator zu ermöglichen, wählten wir neuronale Netze wie EfficientNet, EfficientNet_augm75 und Xception und verwendeten ImageNet, eine Bilddatenbank, die auf die visuelle Objekterkennung zugeschnitten ist, um sie zu trainieren.

Zusätzlich zur Standard-Bilddatenbank verwendeten wir auch Bilder und Markenbeispiele, die uns der Kunde zur Verfügung stellte, um die genauen Verarbeitungsbedingungen zu emulieren. Um das ML-Modell zu trainieren, nutzte unser Team PyTorch, ein Open-Source-Framework für maschinelles Lernen.

Microservices

Bei der Entwicklung der Lösungsarchitektur schlugen wir vor, sich für Microservices zu entscheiden, da dies im Vergleich zu einer monolithischen Architektur mehr Flexibilität und eine einfachere Skalierbarkeit ermöglicht hätte. Außerdem wollte unser Team alle ML-Funktionen auf separaten Microservices bereitstellen, damit sich Änderungen an anderen Teilen des Systems nicht auf die Konfiguration des ML-Modells auswirken. Aus demselben Grund haben wir uns auch dafür entschieden, die verschiedenen ML-Modelle auf separate Microservices zu verteilen:

  • Detektor
  • Textklassifikator
  • Bildklassifikator
  • Brute Forcing

Unser Team entwickelte auch den fünften Microservice für alle Nicht-ML-Funktionen wie Reporting und Task Manager. Außerdem vereint der fünfte Microservice alle anderen Microservices, überwacht den Erkennungsprozess und den Taskmanager und stellt die Frontend-API bereit.

AWS

Da unser Kunde keine IT-Spezialisten für die Verwaltung lokaler Server hatte, schlug das Team von Itransition vor, die neue Plattform auf AWS zu hosten, da dies eine einfachere, skalierbarere und kosteneffizientere Option sei.

AWS microservices infrastructure

Amazon ECS

Behälterverwaltung

Amazon Route 5

Zuweisung von Domänennamen an den Load Balancer

Amazon S3

Speicherung von Bildern und Beispielen zur Markenerkennung

Amazon EC2

Eine Recheninstanz für Anwendungskomponenten und eine Sicherheitsgruppen-Instanz für die Kontrolle des eingehenden Datenverkehrs

Amazon CloudWatch

Anwendungsprotokolle sammeln

AWS-Backup für S3

Vorbeugung gegen versehentliches Löschen oder Beschädigen von Dateien und Dateisicherung mit 14-tägiger Aufbewahrungsfrist

Auto Scaling Group

EC2-Instanzenverwaltung für Leistungs- und Kostenoptimierung

Amazon RDS

Datenbankeinrichtung, -verwaltung und -skalierung sowie automatische nächtliche Systemsicherung

Amazon S3 File Gateway

Streamlined image upload to the cloud

AWS Elastic Load Balancing

Integriert mit Auto Scaling Group zur Optimierung der Last

   

Um die Wartung und den Support der Infrastruktur zu automatisieren, verwendete unser Team Terraform-Skripte, die Informationen über die Dienste und ihre Konfigurationen enthalten und so den Zeit- und Arbeitsaufwand für die manuelle Anpassung der Einstellungen verringern. Außerdem bewahren die Terraform-Skripte den Versionsverlauf der Infrastruktur auf, so dass das Team bei Bedarf auf ältere Versionen zurückgreifen kann.

Verfahren

Das Team von Transition bestand aus einem Projektmanager, einem Business-Analysten, einem UX/UI-Designer, einem technischen Leiter, einem ML-Ingenieur, einem Frontend-Entwickler, Backend-Ingenieuren und einem QA-Spezialisten.

Um die Vision des Projekts zu erarbeiten, arbeiteten unser Projektmanager und unser Business Analyst mit dem Product Owner des Kunden zusammen, der für die Strategie und die Entscheidungsfindung verantwortlich ist.

Wir und das Team des Kunden schufen ein Umfeld, das eine effiziente Zusammenarbeit in beide Richtungen ermöglichte. Um ein Höchstmaß an Transparenz und Vorhersehbarkeit in Bezug auf den Zeitplan und die Ergebnisse des Projekts zu gewährleisten, hatten wir ein Projekt mit fester Zeit und festem Budget. Bevor wir mit der Entwicklung der Lösung begannen, erstellte unser Team in Zusammenarbeit mit dem Product Owner eine umfassende Liste der technischen und funktionalen Anforderungen, die dann in Aufgaben aufgeteilt wurden.

Wir schlugen vor, die Scrum-Methodik zu verwenden, da sie die notwendigen Planungswerkzeuge bietet, um eine flexible Definition des Umfangs auf niedriger Ebene während des Entwicklungsprozesses zu gewährleisten. Wir verwendeten alle typischen Scrum-Elemente, darunter zweiwöchige Sprints mit zweiwöchentlichen Planungssitzungen, Retro-Meetings, tägliche Synchronisationen und Demos mit den Beteiligten.

Ergebnisse

Itransition lieferte eine ML-gestützte Markenerkennungslösung zur Identifizierung von Marken und deren Standorten und zur Erstellung maßgeschneiderter Berichte auf der Grundlage konfigurierbarer Erkennungsparameter. Wir entwickelten ein umfassendes ML-Modell für die Bilderkennung und -verarbeitung und erreichten eine 50%ige Steigerung der Bildverarbeitungsgeschwindigkeit. Unser Team richtete außerdem eine AWS-basierte Microservice-Infrastruktur ein, um die Verwaltung der Lösung zu optimieren, und schuf eine einfach zu navigierende Benutzeroberfläche.