Breed Read app

Eine App, die die Rasse Ihres Hundes in wenigen Sekunden bestimmt!

Unsere App nutzt maschinelles Lernen, um die Rasse eines Hundes anhand des Fotos zu identifizieren. Die App Breed Read kann auf allen Geräten verwendet werden, sie ist leicht und schnell und sie macht viel Spaß beim Experimentieren mit verschiedenen Fotos ;)

Unsere App nutzt maschinelles Lernen, um die Rasse eines Hundes anhand des Fotos zu identifizieren. Die App Breed Read kann auf allen Geräten verwendet werden, sie ist leicht und schnell und sie macht viel Spaß beim Experimentieren mit verschiedenen Fotos ;)

Wir bemerken es vielleicht nicht, aber wir sind ständig von maschinellen Lernalgorithmen umgeben. Postämter lesen Postleitzahlen automatisch mit OCR. Streaming-Dienste verwenden Empfehlungssysteme, um uns den nächsten Film vorzuschlagen. Meteorologische Einrichtungen nutzen maschinelles Lernen, um Prognosen zu erstellen und extreme Wetterereignisse vorherzusehen. Maschinelles Lernen kann aber auch für nützliche und gleichzeitig lustige Dinge verwendet werden – wie das Klassifizieren von Hunderassen! 

Machen Sie einfach ein Foto und finden Sie es heraus!

Nehmen Sie ein Bild Ihres Hundes mit der Handykamera auf oder laden Sie ein vorhandenes Foto aus Ihrer Galerie hoch. Sobald es ausgewählt ist, analysiert die App es, um die Rasse zu bestimmen. Nach der Bearbeitung eines Fotos sehen Sie die am ehesten übereinstimmenden Rassen und ihre wichtigsten Merkmale. 

Wenn Ihnen Breed Read gefällt, dann fügen Sie es zu Ihrem Startbildschirm hinzu und verwenden es als native App!

Projektumfang

  • Sammlung eines Datensatzes von Hundefotos mit Rassenbezeichnung
  • Training eines Klassifikationsmodells mit maschinellem Lernen
  • Design und Implementierung einer Progressive Web App

Mit TensorFlow erstelltes maschinelles Lernmodell

Mobile-first PWA, die Sie auf Ihrem Smartphone installieren können

Modelltraining auf GPUs in der Google Cloud

In Python geschriebene REST-API für die Darstellung des Bildklassifikators

Anwendungsarchitektur

Breed Read ist als Progressive Web App (PWA) mit React und Next.js aufgebaut. Das maschinelle Lernmodell, das für die Klassifizierung der Bilder verantwortlich ist, wird mit den Bibliotheken TensorFlow und Keras für Python implementiert. Das neuronale Netz basiert auf Googles EfficientNet-Modell und wurde anhand zusätzlicher Daten optimiert, um Hunderassen zu klassifizieren.

Alle hochgeladenen Bilder werden kurz nach der Verarbeitung durch das maschinelle Lernmodell vollständig aus unserem Zwischenspeicher entfernt. Außer für die Berechnung der Wahrscheinlichkeit von Hunderassen verwenden wir die hochgeladenen Fotos nicht für das Training oder auf andere Weise.

Technologien

TensorFlow und Keras

Das Herzstück der Breed-Read-App ist das Klassifizierungsmodell. Heutzutage schreitet die Forschung im Bereich des maschinellen Lernens so schnell voran, dass es für die Industrie schwer ist, Schritt zu halten. Deshalb sind geeignete Tools, die schnelle Iterationszyklen ermöglichen, ein so wesentliches Element des maschinellen Lernens. TensorFlow und Keras sind Tools für Python, die genau für diese Aufgabe gemacht sind. Die automatische Unterscheidung durch TensorFlow erlaubt uns, die komplizierten Berechnungen zu abstrahieren und uns stattdessen auf das Experimentieren und die Verbesserung des Modells zu konzentrieren. Auf der anderen Seite liefert uns Keras fertige Bausteine wie EfficientNet und ResNet, die wir in unsere eigenen maschinellen Lernarchitekturen integrieren.

React und Next.js

Ein gutes Klassifizierungsmodell ist zwar wichtig, aber es nützt nichts, wenn die Benutzer nicht darauf zugreifen können. Hierfür verwenden wir Next.js, ein produktionsreifes Web-Framework, das auf React basiert. Wir haben uns für dieses Framework entschieden, weil es serverseitiges Rendering, Static Site Generation, Out-of-the-Box-Optimierung, Code-Splitting sowie die Lokalisierung unterstützt.

Docker

Docker ist die zugrunde liegende Basis für alle Komponenten des Projekts. Wir haben damit Container für die Datenanalyse, das Modelltraining, die Backend-API und die Frontend-App erstellt. Docker ermöglichte es uns, Code schnell zwischen lokalen, Staging- und Produktionsumgebungen zu verschieben, da es das Schlüsselelement unserer kontinuierlichen Integrationspipeline ist.

Google Cloud

Mit den beeindruckenden Ergebnissen von Deep-Learning-Modellen für die Bilderkennung geht ein hoher Rechenaufwand für deren Training einher. Aus diesem Grund verwenden wir GPU-fähige Instanzen in der Google Cloud für das Modelltraining. Damit sind wir in der Lage, tiefe neuronale Modelle mit mehreren zehn Millionen Parametern in nur ein bis zwei Stunden zu trainieren.

Jupyter

Die Entwicklung von maschinellen Lernmodellen ist ein hochgradig iterativer und explorativer Prozess. Es gibt nicht die eine Methode, die für alle Aufgaben und Datensätze am besten funktioniert. Daher ist es notwendig, viele verschiedene Ansätze auszuprobieren. Wir verwenden deshalb Jupyter-Notebooks für viele Aufgaben wie die Datensammlung und -bereinigung, Datenanalyse und Modelltests.

Probieren Sie jetzt selbst Breed Read aus!

Back to top