Pydroid 3 - Ich habe die OpenCV- und TensorFlow-Optionen von IDE für Python 3 (Android) ausprobiert.

Pydroid 3 --IDE für Python 3 ist Python, das unter Android ausgeführt wird, aber mit Python auf dem PC kompatibel ist Hochgradig GUI-Programme wie tkinter können dieselbe Quelle verwenden. Es wird empfohlen, weil Sie eine App schreiben können, die nur mit einem Smartphone verwendet werden kann. Darüber hinaus scheint es mit OpenCV und TensorFlow zu funktionieren. Leider sind diese Bibliotheken kostenpflichtige Optionen, aber ich habe mich beworben, weil ich sie 3 Tage lang ausprobieren kann.

Bezahlter Optionsantrag

Es gibt zwei Arten von kostenpflichtigen Optionen: ・ Kauf ¥ 1160 ・ Monatlich ¥ 110 Kostenlos für die ersten 3 Tage Ich beschloss, es 3 Tage lang auszuprobieren. Sie können sich vom Produkt aus bewerben. Klicken Sie auf das Symbol oben links, um das Seitenmenü zu öffnen. Oben finden Sie das Anwendungsmenü für kostenpflichtige Optionen. Wenn Sie das Anwendungsmenü aufrufen, werden die beiden oben genannten Optionsauswahlmenüs angezeigt. Screenshot_20200913-074331.png Screenshot_20200913-074319.png Klicken Sie unten auf "3 Tage kostenlose Testversion". Screenshot_20200913-074343.png Wenn Sie auf das Abonnement klicken, wird ein Dialogfeld zur persönlichen Authentifizierung angezeigt, in dem Sie sich mit Ihrem Fingerabdruck authentifizieren können. Damit ist die Anwendung abgeschlossen.

Bibliotheksinstallation

Wenn die Anwendung abgeschlossen ist, können die abgeblendeten Elemente im Bibliotheksmenü installiert werden. Screenshot_20200913-075009.png Ich habe alles installiert. tensorflow-2.2.0, opencv-python-4.3.0, torch-1.5.0 wurden installiert.

Beispielprogramm

Sie können das Beispielprogramm von Samples im Seitenmenü herunterladen. Die abgeblendeten können jetzt ausgewählt werden. Screenshot_20200913-210722.png Tensorflow MNIST Es ist eine häufige. Es ist ein Typ, der Beispieldaten herunterlädt und trainiert. Es ist so langsam, dass es auf Epoche = 5 eingestellt ist. Es ist schwer, es nur fünfmal zu drehen. Das Modell scheint in der Lage zu sein, die übliche Keras-Quelle zu verwenden. Screenshot_20200913-173630.png Image Classification Screenshot_20200913-173816.pngScreenshot_20200913-173924.png Text classification Es scheint Kleidungsbilder zu identifizieren. Schließlich zeigt matplotlib die Bilder und Grafiken an. Screenshot_20200913-173816.png Screenshot_20200913-173924.png Als ich diese Beispielquelle zu Windows brachte und ausführte, konnte ich sie ausführen, ohne eine einzelne Zeile zu ändern. Figure_1.png Regression Wird der Kraftstoffverbrauch anhand der Fahrzeugspezifikationen geschätzt und mit dem tatsächlichen Wert verglichen? Screenshot_20200913-174249.png Die gleiche Quelle funktioniert auch unter Windows. OpenCV Einige ältere Modelle konnten OpenCV nicht herunterladen. Es gibt Probleme mit der Kamerafunktion, z. B. dass die Kamera bei einem anderen Modell nicht funktioniert oder der Betrieb selbst bei einem Modell, das die Kamera verwenden kann, nicht stabil ist. Hello camera Die Kamera ist nicht stabil. Es hat nur einmal funktioniert, aber vergessen, eine Aufnahme zu machen. Als ich es mit Zenfone3 Max ausprobierte, erhielt ich die folgende Meldung und es funktionierte nicht. Es scheint, dass es ein Modell sein muss, das die Camera NDK API unterstützt. Screenshot_20200914-140205.jpg

Wenn ich es unter Windows ausführe, wird der folgende Fehler angezeigt.

[ WARN:0] global C:\projects\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (374) `anonymous-namespace'::SourceReaderCB::OnReadSample videoio(MSMF): OnReadSample() is called with error status: -1072875772
[ WARN:0] global C:\projects\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (386) `anonymous-namespace'::SourceReaderCB::OnReadSample videoio(MSMF): async ReadSample() call is failed with error status: -1072875772
[ WARN:1] global C:\projects\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (906) CvCapture_MSMF::grabFrame videoio(MSMF): can't grab frame. Error: -1072875772
[ WARN:1] global C:\projects\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (906) CvCapture_MSMF::grabFrame videoio(MSMF): can't grab frame. Error: -2147483638
[ WARN:1] global C:\projects\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (906) CvCapture_MSMF::grabFrame videoio(MSMF): can't grab frame. Error: -2147483638

Laplacian Auch hier ist die Kamera nicht stabil. Es hat funktioniert, nachdem ich es mehrmals gemacht habe. Konturen in Echtzeit extrahieren. Screenshot_20200913-184729.png

Face detector Dies ist stabil, da sich die Erfassungsmethode von den anderen unterscheidet. Erkennt Gesichter in Echtzeit. Screenshot_20200913-185402.png Das Beispiel verwendet die Frontkamera (1) für Selbstaufnahmen. Wenn Sie jedoch die Kameranummer auf (0) setzen, funktioniert dies auch auf einem PC. Sie müssen PyQt5 installieren. Screenshot_20200913-094118.png ASCII camera Auch hier ist die Kamera nicht stabil. Wenn Sie die Puppe rechts nehmen, wird sie in ASCII-Zeichen angezeigt, wie links gezeigt. Screenshot_20200913-184036.pngIMG_20200913_184053s.jpg

Camera options Es scheint die Kamera einzustellen, aber ich bin nicht sicher. Screenshot_20200913-233723.png

PyTorch Tensors Etwas scheint zu funktionieren. Screenshot_20200913-234202.png MNIST Es scheint zu funktionieren, aber es braucht viel Zeit. Epoche = 5, aber es dauerte ungefähr 30 Minuten. Screenshot_20200913-234722.png

Pretrained model Laden Sie das Bild herunter und bestimmen Sie, was darin enthalten ist. Es dauerte mehrere zehn Sekunden, um selbst das heruntergeladene Bild zu beurteilen. Screenshot_20200913-081552.pngScreenshot_20200913-081711.png

Quantized model Diese Kamera scheint stabil zu sein. Identifiziert, was von der Kamera in Echtzeit erfasst wird. Der Edelstahlbecher wurde als Cocktail-Shaker eingestuft, kann aber ähnlich sein. Screenshot_20200913-192101.png

Zusammenfassung

Es ist sehr kompatibel und die meisten Beispiele funktionieren einwandfrei auf Ihrem PC. Ich mache mir Sorgen, dass einige OpenCV-Samples instabile Kameras haben, aber es gibt einige Samples, die sich stabil bewegen. Es scheint also einen Weg zu geben, sie zu vermeiden. Wenn Sie die Kamera mit Pydroid3 verwenden möchten, können Sie mit einer anderen App aufnehmen und diese sofort wechseln, oder Sie können diese kostenpflichtige Option verwenden, um das Kamerabild in Echtzeit zu verwenden. Wenn das Modell dies jedoch nicht unterstützt, geschieht nichts.

Sie können Modelle lernen, aber ich denke nicht, dass es praktisch sein wird, weil Smartphones langsam sind. Das Aufnehmen einer großen Datenmenge und das Lernen in einem Stapel ist nicht für Smartphones geeignet, die Bilder aufnehmen, im Internet surfen, Anrufe entgegennehmen oder viele Unterbrechungen haben, wenn sie Lust dazu haben. Es ist möglicherweise besser, Daten und Fotos unterwegs als zu Hause aufzunehmen und sie sofort lernen zu lassen.

Es scheint Spaß zu machen, ein Programm auf einem Smartphone zusammenstellen zu können. Ich habe zuvor eine solche Umgebung erstellt (Android-Anwendung zum Erstellen von Apps, "PineVentor"). Es war jedoch ziemlich schwierig, nur mit einem Smartphone zu entwickeln. Pydroid3 kann dasselbe Skript auf einem PC verwenden, daher kann es hilfreich sein, es beim Hin- und Hergehen zu erstellen. Im Moment gibt es jedoch keinen Mechanismus, um das Skript an verschiedenen Stellen einfach zu umgehen, so dass es notwendig erscheint, verschiedene Dinge zu entwickeln.

Es reicht nicht aus, einen Notebook-PC für unterwegs mitzunehmen, aber ist es für Leute, die in ihrer Freizeit programmieren möchten, Rätsel zu spielen oder in Spielen zu schummeln? Es kann möglich sein, tiefere Daten zu erfassen, wenn Daten vor Ort erfasst und sofort in ein Zeitreihendiagramm konvertiert werden können. Mit dem kostenlosen Pydroid 3 können Sie viel spielen. Wenn Sie die Kamera also nicht in Echtzeit verwenden müssen, benötigen Sie definitiv keine kostenpflichtige Option, aber ich denke, es ist eine kostenlose 3-Tage-Testversion wert. Je nach Modell funktioniert die Kamera möglicherweise nicht. Wenn es sich um ein älteres Modell handelt, funktioniert möglicherweise nicht das gesamte OpenCV. Selbst wenn Sie es kaufen, sollten Sie es versuchen.

Recommended Posts

Pydroid 3 - Ich habe die OpenCV- und TensorFlow-Optionen von IDE für Python 3 (Android) ausprobiert.
Ich habe versucht, Objekte mit Python und OpenCV zu erkennen
Ich habe versucht, Thonny (Python / IDE) zu verwenden.
Ich habe zum ersten Mal Tensorflow ausprobiert
Ich habe versucht, mit Python + opencv nicht realistisch zu rendern
[ML-Aents] Ich habe versucht, maschinelles Lernen mit Unity und TensorFlow of Python (v0.11β-kompatibel) zu lernen.
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"
vprof - Ich habe versucht, den Profiler für Python zu verwenden
Ich habe versucht, Web-Scraping mit Python und Selen
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Ich habe Jacobian und teilweise Differenzierung mit Python versucht
Ich habe zum ersten Mal versucht, Python zu programmieren.
Ich habe Funktionssynthese und Curry mit Python versucht
Ich habe versucht, das Bild mit Python + OpenCV zu "binarisieren"
Ich habe Python zum ersten Mal auf dem Mac ausprobiert.
Ich habe Python> autopep8 ausprobiert
[OpenCV / Python] Ich habe versucht, Bilder mit OpenCV zu analysieren
Ich habe eine VM erstellt, auf der OpenCV für Python ausgeführt wird
Ich habe Python zum ersten Mal mit Heroku ausprobiert
Toolchain für Python für Android
Ich habe versucht, Grad-CAM mit Keras und Tensorflow zu implementieren
Ich habe Python> Decorator ausprobiert
Ich habe versucht, TensorFlow auszuführen
Python: Ich habe es mit Lügner und Ehrlichkeit versucht
OpenCV für Python-Anfänger
Ich habe versucht, das Bild mit Python + OpenCV "morphologisch zu konvertieren"
Ich habe versucht, mit Python Modebilder und Textsätze zu [kratzen].
Ich habe versucht, den für TensorFlow geschriebenen Code nach Theano zu portieren
Ich habe versucht, das Bild mit Python + OpenCV "gammakorrektur" zu machen
Ich habe versucht, Follow Management mit Twitter API und Python (einfach)
TensorFlow-Lernmethode für Profis der freien Künste und Python-Anfänger
Ich habe versucht, das Gesicht aus dem Video zu erkennen (OpenCV: Python-Version)
Ich habe versucht, den Chi-Quadrat-Test in Python und Java zu programmieren.
Ich habe eine Klasse in Python erstellt und versucht, Enten zu tippen
Verschiedene Hinweise zur Verwendung von Python für Projekte
Ich habe versucht, die Unterschiede zwischen Java und Python aufzuzählen
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
[Python] Zugreifen auf und Zuschneiden von Bildpixeln mit OpenCV (für Anfänger)
[Für Anfänger] Ich habe versucht, die Tensorflow-Objekterkennungs-API zu verwenden
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
OpenCV3-Installation für Python3 @macOS
Ich habe Java und Python verglichen!
Python-Umgebungskonstruktion und TensorFlow
Ich habe die C-Erweiterung von Python ausprobiert
Ich habe versucht, Magenta / TensorFlow zu verwenden
Ich habe gRPC mit Python ausprobiert
Ich habe versucht, mit Python zu kratzen
Ich berührte Tensorflow und Keras
Ich habe versucht, Kwant zu verwenden, ein Python-Modul für die Quantentransportberechnung
Erstellen Sie eine gestreifte Illusion mit Gammakorrektur für Python3 und openCV3
[Pandas] Ich habe versucht, Verkaufsdaten mit Python zu analysieren. [Für Anfänger]
Ich habe versucht, die Videowiedergabezeit anzuzeigen (OpenCV: Python-Version)
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, Gesichtsmarkierungen mit Python und Dlib leicht zu erkennen
Ich habe versucht, das TensorFlow-Tutorial mit Kommentaren auszuführen (_TensorFlow_2_0_Einführung für Anfänger).
Ich habe versucht, mit Python + OpenCV eine Bildähnlichkeitsfunktion zu erstellen
Umgebungskonstruktion von Python und OpenCV
Leuchtendes Leben mit Python und OpenCV
Ich habe das TensorFlow-Tutorial als erstes ausprobiert