1. Einführung
ML Kit ist ein mobiles SDK, mit dem Sie die Technologie für das maschinelle Lernen von Google in einem leistungsstarken und dennoch benutzerfreundlichen Paket einfach auf Android- und iOS-Apps anwenden können. Ganz gleich, ob Sie neu im Bereich des maschinellen Lernens sind oder bereits Erfahrung haben – Sie können die benötigten Funktionen ganz einfach mit nur wenigen Codezeilen implementieren. Sie benötigen kein tiefes Wissen über neuronale Netze oder Modelloptimierung, um loszulegen.
Wenn Sie bei der Bearbeitung dieses Codelabs auf Probleme stoßen (z. B. Codefehler, Grammatikfehler oder unklare Formulierungen), melden Sie das Problem bitte über den Link Fehler melden unten links im Codelab.
Wie funktioniert das?
Mit ML Kit können Sie ML-Techniken ganz einfach in Ihre Apps einbinden, da die ML-Technologien von Google wie Mobile Vision und TensorFlow Lite in einem einzigen SDK zusammengefasst sind. Ganz gleich, ob Sie die Echtzeitfunktionen der On-Device-Modelle von Mobile Vision oder die Flexibilität benutzerdefinierter TensorFlow Lite-Modelle benötigen – ML Kit bietet die passende Lösung.
In diesem Codelab erfahren Sie, wie Sie Ihre eigene Android-App erstellen, die automatisch Text und Gesichtsmerkmale in einem Bild erkennen kann.
Überblick
In diesem Codelab erstellen Sie eine Android-App mit ML Kit. Mit der Anwendung können Sie Folgendes tun:
|
|
Lerninhalte
- So fügen Sie mit dem ML Kit SDK ganz einfach erweiterte Funktionen für maschinelles Lernen wie Texterkennung und Gesichtserkennung hinzu
Voraussetzungen
- Eine aktuelle Version von Android Studio (ab Version 3.0)
- Android Studio-Emulator oder physisches Android-Gerät
- Der Beispielcode
- Grundkenntnisse der Android-Entwicklung in Java
- Grundlegendes Verständnis von Modellen für maschinelles Lernen
In diesem Codelab geht es um ML Kit. Auf irrelevante Konzepte wird nicht genauer eingegangen und entsprechende Codeblöcke können Sie einfach kopieren und einfügen.
2. Einrichtung
Code herunterladen
Klicken Sie auf den folgenden Link, um den gesamten Code für dieses Codelab herunterzuladen:
Entpacken Sie die heruntergeladene ZIP-Datei. Dadurch wird ein Stammordner (mlkit-android-master) mit allen erforderlichen Ressourcen entpackt. Für dieses Codelab benötigen Sie nur die Ressourcen im Unterverzeichnis vision.
Das Unterverzeichnis vision im Repository mlkit-android-master enthält zwei Verzeichnisse:
starter: Der Startcode, auf dem Sie in diesem Codelab aufbauen.
final: Der vollständige Code der fertigen Beispiel-App.
3. Abhängigkeiten für ML Kit prüfen
Abhängigkeiten für ML Kit prüfen
Die folgenden Zeilen sollten bereits am Ende der Datei „build.gradle“ im Verzeichnis app Ihres Projekts hinzugefügt worden sein. Prüfen Sie das bitte:
build.gradle
dependencies {
// Face features
implementation 'com.google.mlkit:face-detection:16.0.0'
// Text features
implementation 'com.google.android.gms:play-services-mlkit-text-recognition:16.0.0'
}
Dies sind die spezifischen ML Kit-Abhängigkeiten, die Sie zum Implementieren der Funktionen in diesem Codelab benötigen.
4. Start-App ausführen
Nachdem Sie das Projekt in Android Studio importiert und die Abhängigkeiten für ML Kit geprüft haben, können Sie die App zum ersten Mal ausführen. Starten Sie den Android Studio-Emulator und klicken Sie in der Android Studio-Symbolleiste auf Ausführen (
).
Die App sollte auf Ihrem Emulator gestartet werden. Sie sollten jetzt ein einfaches Layout mit einem Drop-down-Feld sehen, in dem Sie zwischen drei Bildern auswählen können. Im nächsten Abschnitt fügen Sie Ihrer App die Texterkennung hinzu, um Text in Bildern zu erkennen.
5. Texterkennung auf dem Gerät hinzufügen
In diesem Schritt fügen wir Ihrer App die Funktion hinzu, Text in Bildern zu erkennen.
Texterkennung auf dem Gerät für ein Bild einrichten und ausführen
Fügen Sie der Methode runTextRecognition der Klasse MainActivity Folgendes hinzu:
MainActivity.java
private void runTextRecognition() {
InputImage image = InputImage.fromBitmap(mSelectedImage, 0);
TextRecognizer recognizer = TextRecognition.getClient();
mTextButton.setEnabled(false);
recognizer.process(image)
.addOnSuccessListener(
new OnSuccessListener<Text>() {
@Override
public void onSuccess(Text texts) {
mTextButton.setEnabled(true);
processTextRecognitionResult(texts);
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Task failed with an exception
mTextButton.setEnabled(true);
e.printStackTrace();
}
});
}
Der Code oben konfiguriert den Detektor für die Texterkennung und ruft die Funktion processTextRecognitionResult mit der Antwort auf.
Antwort der Texterkennung verarbeiten
Fügen Sie der Datei processTextRecognitionResult in der Klasse MainActivity den folgenden Code hinzu, um die Ergebnisse zu parsen und in Ihrer App anzuzeigen.
MainActivity.java
private void processTextRecognitionResult(Text texts) {
List<Text.TextBlock> blocks = texts.getTextBlocks();
if (blocks.size() == 0) {
showToast("No text found");
return;
}
mGraphicOverlay.clear();
for (int i = 0; i < blocks.size(); i++) {
List<Text.Line> lines = blocks.get(i).getLines();
for (int j = 0; j < lines.size(); j++) {
List<Text.Element> elements = lines.get(j).getElements();
for (int k = 0; k < elements.size(); k++) {
Graphic textGraphic = new TextGraphic(mGraphicOverlay, elements.get(k));
mGraphicOverlay.add(textGraphic);
}
}
}
}
App im Emulator ausführen
Klicken Sie jetzt in der Android Studio-Symbolleiste auf Ausführen (
). Wenn die App geladen wurde, prüfen Sie, ob Test Image 1(Text) im Drop-down-Feld ausgewählt ist, und klicken Sie auf die Schaltfläche FIND TEXT.
Ihre App sollte jetzt wie im Bild unten aussehen. Die Texterkennungsergebnisse und Begrenzungsrahmen werden über das Originalbild gelegt.

Foto: Kai Schreiber / Wikimedia Commons / CC BY-SA 2.0
Sie haben Ihrer App mit ML Kit gerade die Texterkennung auf dem Gerät hinzugefügt. Die On-Device-Texterkennung eignet sich für viele Anwendungsfälle, da sie auch dann funktioniert, wenn Ihre App keine Internetverbindung hat. Außerdem ist sie schnell genug, um sowohl für Standbilder als auch für Live-Videoframes verwendet zu werden.
6. On-Device-Erkennung von Gesichtskonturen hinzufügen
In diesem Schritt fügen wir Ihrer App Funktionen hinzu, mit denen die Konturen von Gesichtern auf Bildern erkannt werden können.
On-Device-Gesichtskonturerkennung für ein Bild einrichten und ausführen
Fügen Sie der Methode runFaceContourDetection der Klasse MainActivity Folgendes hinzu:
MainActivity.java
private void runFaceContourDetection() {
InputImage image = InputImage.fromBitmap(mSelectedImage, 0);
FaceDetectorOptions options =
new FaceDetectorOptions.Builder()
.setPerformanceMode(FaceDetectorOptions.PERFORMANCE_MODE_FAST)
.setContourMode(FaceDetectorOptions.CONTOUR_MODE_ALL)
.build();
mFaceButton.setEnabled(false);
FaceDetector detector = FaceDetection.getClient(options);
detector.process(image)
.addOnSuccessListener(
new OnSuccessListener<List<Face>>() {
@Override
public void onSuccess(List<Face> faces) {
mFaceButton.setEnabled(true);
processFaceContourDetectionResult(faces);
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Task failed with an exception
mFaceButton.setEnabled(true);
e.printStackTrace();
}
});
}
Im Code oben wird der Gesichtskontur-Detektor konfiguriert und die Funktion processFaceContourDetectionResult mit der Antwort aufgerufen.
Antwort zur Erkennung von Gesichtskonturen verarbeiten
Fügen Sie der Datei processFaceContourDetectionResult in der Klasse MainActivity den folgenden Code hinzu, um die Ergebnisse zu parsen und in Ihrer App anzuzeigen.
MainActivity.java
private void processFaceContourDetectionResult(List<Face> faces) {
// Task completed successfully
if (faces.size() == 0) {
showToast("No face found");
return;
}
mGraphicOverlay.clear();
for (int i = 0; i < faces.size(); ++i) {
Face face = faces.get(i);
FaceContourGraphic faceGraphic = new FaceContourGraphic(mGraphicOverlay);
mGraphicOverlay.add(faceGraphic);
faceGraphic.updateFace(face);
}
}
App im Emulator ausführen
Klicken Sie jetzt in der Android Studio-Symbolleiste auf Ausführen (
). Wenn die App geladen ist, prüfen Sie, ob Test Image 2 (Face) im Drop-down-Feld ausgewählt ist, und klicken Sie auf die Schaltfläche FIND FACE CONTOUR.
Ihre App sollte jetzt wie im Bild unten aussehen. Die Ergebnisse der Gesichtskonturerkennung und die Konturen des Gesichts werden als Punkte über dem Originalbild angezeigt.

Herzlichen Glückwunsch! Sie haben Ihrer App mit ML Kit gerade die Gesichtskonturerkennung auf dem Gerät hinzugefügt. Die Erkennung von Gesichtskonturen auf dem Gerät eignet sich für viele Anwendungsfälle, da sie auch dann funktioniert, wenn Ihre App keine Internetverbindung hat. Außerdem ist sie schnell genug, um sowohl für Standbilder als auch für Live-Videoframes verwendet zu werden.
7. Glückwunsch!
Sie haben ML Kit erfolgreich verwendet, um Ihrer App ganz einfach erweiterte Funktionen für maschinelles Lernen hinzuzufügen.
Behandelte Themen
- ML Kit in Ihre Android-App einbinden
- Texterkennung auf dem Gerät in ML Kit verwenden, um Text in Bildern zu finden
- Mit der Funktion „Gesichtskontur auf dem Gerät“ in ML Kit Gesichtsmerkmale in Bildern erkennen
Nächste Schritte
- ML Kit in Ihrer eigenen Android-App verwenden