Eine mobile Android-Anwendung für Bildklassifizierung schreiben
Diese App nutzt Bildklassifizierung, um die Objekte, die sie von der Kamera des Geräts sieht, in Echtzeit kontinuierlich zu klassifizieren und zeigt die wahrscheinlichsten Inferenz-Ergebnisse auf dem Bildschirm an.
Dieses Beispiel basiert lose auf Google CodeLabs - Getting Started with CameraX
Das vortrainierte TorchVision MOBILENET V2 wird in dieser Beispiel-App verwendet.
Inhalt
- Voraussetzungen
- Vorbereitung des Modells und der Daten für die Anwendung
- Erstellen der Android-Anwendung
Voraussetzungen
- Android Studio 4.1+ (installiert auf Mac/Windows/Linux)
- Android SDK 29+
- Android NDK r21+
- Android-Gerät mit Kamera im Entwicklermodus mit aktiviertem USB-Debugging
- Klonen des onnxruntime-inference-examples Quellcode-Repos
Vorbereitung des Modells und der Daten für die Anwendung
-
Konvertieren des Modells in das ORT-Format
Öffnen Sie das Notebook "Mobilenet v2 Quantisierung mit ONNX Runtime". Dieses Notebook zeigt Ihnen, wie Sie
- Das vortrainierte MobileNet V2 FP32-Modell von PyTorch in ein FP32 ONNX-Modell exportieren
- Das FP32 ONNX-Modell in ein uint8 ONNX-Modell quantisieren
- Beide FP32- und uint8-ONNX-Modelle in ORT-Modelle konvertieren
Hinweis: Dieser Schritt ist optional. Sie können die FP32- und uint8-ORT-Modelle hier herunterladen.
-
Herunterladen der Modellklassen-Labels
wget https://raw.githubusercontent.com/pytorch/hub/master/imagenet_classes.txt -
Kopieren Sie die Labels-Datei und die Modelle in das Ressourcenverzeichnis der Beispielanwendung
cd onnxrutime-inference-examples cp *.ort mobile/examples/image_classification/android/app/src/main/res/raw/ cp imagenet_classes.txt mobile/examples/image_classification/android/app/src/main/res/raw/
Als Alternative zu den Schritten 1-3 können Sie dieses vorab erstellte Skript verwenden, um die Modelle und Daten in das richtige Verzeichnis herunterzuladen.
cd onnxruntime-inference-examples
mobile/examples/image_classification/android/download_model_files.sh
Erstellen der Android-Anwendung
-
Öffnen der Beispielanwendung in Android Studio
Öffnen Sie Android Studio und wählen Sie
Open an existing project(Ein bestehendes Projekt öffnen), navigieren Sie zu den Ordnern und öffnen Sie den Ordnermobile/examples/image_classification/android/.
Dieses Projekt verwendet das veröffentlichte Android-Paket für ONNX Runtime. Sie können ONNX Runtime auch anpassen, um die Größe der Anwendung zu reduzieren, indem Sie nur die Operatoren aus dem Modell einbeziehen. Weitere Informationen, wie Sie dies tun und wie Sie das resultierende Paket in Ihre Android-Anwendung aufnehmen, finden Sie in der Anleitung für benutzerdefinierte Builds für Android.
-
Erstellen der Anwendung
Wählen Sie
Build -> Make Projectin der oberen Symbolleiste von Android Studio aus und überprüfen Sie, ob das Projekt erfolgreich erstellt wurde.

-
Verbinden Sie Ihr Android-Gerät und führen Sie die App aus
Verbinden Sie Ihr Android-Gerät mit dem Computer und wählen Sie Ihr Gerät in der Dropdown-Gerätleiste oben aus.

Wählen Sie dann
Run -> Run appaus, und die App wird auf Ihrem Gerät installiert.Jetzt können Sie die App
ort_image_classifierauf Ihrem Gerät testen und ausprobieren. Die App fragt möglicherweise nach der Berechtigung, die Kamera zu verwenden.Hier ist ein Beispiel-Screenshot der App.
