ml_top

Eine kleine Einführung: ML Kit von Firebase

Von am 19.01.2019

Maschinelles Lernen für mobile Entwickler

Mit ML Kit kann man leistungsstarke Machine-Learning-Funktionen für Applikationen bereitstellen. Es ist egal ob für Android oder iOS und ob man ein erfahrener Machine-Learning-Entwickler ist oder gerade erst anfängt. Es ist für alle gedacht.

ML Kit wird mit einer Reihe von gebrauchsfertigen APIs für häufige mobile Anwendungsfälle geliefert: Erkennen von Text, Erkennen von Gesichtern, Erkennen von Landmarken, Scannen von Barcodes und Beschriften von Bildern. Man muss einfach Daten in die ML Kit-Bibliothek übergeben und man erhält die Informationen, die man benötigt.

Die Auswahl der APIs von ML Kit wird auf dem Gerät oder in der Cloud ausgeführt. Die On-Device-APIs können die Daten schnell verarbeiten und sind auch ohne Netzwerkverbindung funktionsfähig. Auf der anderen Seite nutzen die Cloud-basierten APIs die Möglichkeiten der Machine-Learning-Technologie von Google Cloud Platform, um eine noch höhere Genauigkeit zu bieten.

Wenn die APIs von ML Kit die Anwendungsfälle nicht abdecken, kann man immer die eigenen TensorFlow-Lite-Modelle verwenden. Man muss einfach das Modell in Firebase hochladen, und Google kümmert sich um das Hosting und die Bereitstellung für die App. Das ML-Kit fungiert als API-Ebene für das benutzerdefinierte   Modell und vereinfacht die Ausführung und Verwendung.

Wie funktioniert es?

Mit ML Kit kann man ML-Techniken in Apps problemlos anwenden, indem man die ML-Technologien von Google wie das Google Cloud Vision-API, TensorFlow Lite und das Android Neural Networks-API in einem einzigen SDK zusammenfasst. Egal, ob man die Leistung von Cloud-basierter Verarbeitung, die Echtzeitfunktionen mobiler optimierter Gerätemodelle oder die Flexibilität der benutzerdefinierten TensorFlow Lite-Modelle benötigt, ML Kit macht dies mit nur wenigen Zeilen Code möglich.

Implementierungspfad

  1. Integrieren des SDK: Füge das SDK schnell ein, indem du Gradle oder CocoaPods verwendest.
  2. Eingabedaten vorbereiten: Wenn man beispielsweise eine Vision-Funktion verwendet, nimm ein Bild von der Kamera auf und generiere die erforderlichen Metadaten (z. B. Bilddrehung) oder fordere den Benutzer auf, ein Foto aus seiner Galerie auszuwählen.
  3. Anwenden des ML-Modells auf Ihre Daten: Durch die Anwendung des ML-Modells auf die Daten generiert man abhängig von der verwendeten Funktion Erkenntnisse wie den emotionalen Zustand der erkannten Gesichter oder die Objekte und Konzepte, die im Bild erkannt wurden. Nutze diese Erkenntnisse, um Funktionen in der App zu verwenden, z. B. Foto-Verschönerung, automatische Metadaten-Generierung oder was auch immer man sich vorstellen kann.

Man kann zwischen On-Device- und Cloud-APIs wählen:

On-Device Cloud
Preis Kostenlos Kostenlos für die ersten 1000

Verwendungen dieser Funktion pro Monat: https://firebase.google.com/pricing/

Ideale Anwendungsfälle Echtzeitverarbeitung – ideal für eine Kamera oder einen Videofeed

Erkennen von spärlichem Text in Bildern

Texterkennung mit hoher Genauigkeit

Erkennen von spärlichem Text in Bildern

Erkennen von dichtem Text in Dokumenten

Siehe die Cloud Vision API-Demo

Sprachunterstützung Erkennt lateinische Zeichen Erkennt ein breites Spektrum an Sprachen und Sonderzeichen

 

 

Texterkennung

Mit den Texterkennungs-APIs von ML Kit kann man Text in jeder lateinischen Sprache (und mehr, in der Cloud-basierten Texterkennung) erkennen.

Die Texterkennung kann die mühsame Dateneingabe für Kreditkarten, Quittungen und Visitenkarten automatisieren. Mit der Cloud-basierten API kann man auch Text aus Dokumenten extrahieren, mit denen man die Barrierefreiheit verbessern oder Dokumente übersetzen kann. Apps können sogar reale Objekte verfolgen, beispielsweise durch Lesen der Zahlen in Zügen.

Mittels eines Tutorials (https://www.youtube.com/watch?v=lILIg0XeJoY) habe ich eine Texterkennungsapplikation nachgebaut und es sind mir ein paar wichtige Punkte aufgefallen:

  • Es ist sehr wichtig, dass alle Versionen im Gradle (vor allem von Firebase selbst) auf den aktuellen Stand sind. Hier kann man die aktuellen Versionen vergleichen: https://firebase.google.com/support/release-notes/android
  • Man muss sich nur mit Firebase verbinden.
    • Das kann man in Android Studios einfach machen, indem man auf Firebase in der oberen Leiste drückt. Dann drückt man auf eines der Unterpunkte wie z.B. Authentication und drückt auf „Connect to Firebase“.
  • Um die Cloud Versionen der Produkte zu verwenden, muss man sich bei Google Cloud Platform registrieren (https://console.cloud.google.com/). Es kostet eigentlich nichts und man bekommt 300 US-Dollar für das erste Jahr geschenkt, jedoch muss man seine Kreditkartennummer angeben. Man kann natürlich jederzeit das Konto kündigen.

Die Applikation war recht einfach zu implementieren, jedoch könnte es mit der Funktion von Erkennung von Text noch Verbesserungen geben. Folgend findet ihr gute Bespiele, wo die Applikation keine Probleme mit dem Erkennen von Text hatte.

 

Hier findet ihr meine Mini-App zum Downloaden:

http://dm171561.students.fhstp.ac.at/OCR/app-debug.apk

Quellen:

The comments are closed.