Pydroid 3 - J'ai essayé les options OpenCV et TensorFlow de l'IDE pour Python 3 (Android)

Pydroid 3 --IDE pour Python 3 est Python qui fonctionne sur Android, mais est compatible avec Python sur PC Les programmes hautement GUI tels que tkinter peuvent utiliser la même source. Il est recommandé car vous pouvez écrire une application utilisable uniquement avec un smartphone. De plus, il semble fonctionner avec OpenCV et TensorFlow. Malheureusement, ces bibliothèques sont des options payantes, mais j'ai postulé car je peux les essayer pendant 3 jours.

Demande d'option payante

Il existe deux types d'options payantes: ・ Acheter 1160 ¥ ・ Mensuel 110 ¥ gratuit pendant les 3 premiers jours J'ai décidé de l'essayer pendant 3 jours. Vous pouvez postuler à partir du produit. Cliquez sur l'icône en haut à gauche pour ouvrir le menu latéral, et vous trouverez le menu de l'application d'options payantes en haut. Lorsque vous entrez dans le menu de l'application, vous verrez les deux menus de sélection d'options ci-dessus. Screenshot_20200913-074331.png Screenshot_20200913-074319.png Cliquez sur "ESSAI GRATUIT DE 3 JOURS" ci-dessous. Screenshot_20200913-074343.png Lorsque vous appuyez sur l'abonnement, une boîte de dialogue d'authentification personnelle apparaît, vous permettant de vous authentifier avec votre empreinte digitale. Ceci termine l'application.

Installation de la bibliothèque

Lorsque l'application est terminée, les éléments grisés du menu de la bibliothèque peuvent être installés. Screenshot_20200913-075009.png J'ai tout installé. tensorflow-2.2.0, opencv-python-4.3.0, torch-1.5.0 ont été installés.

Exemple de programme

Vous pouvez télécharger l'exemple de programme à partir de Samples dans le menu latéral. Ceux qui étaient grisés peuvent maintenant être sélectionnés. Screenshot_20200913-210722.png Tensorflow MNIST C'est un problème courant. C'est un gars qui télécharge des échantillons de données et les forme. C'est tellement lent qu'il est réglé sur epoch = 5. Il est difficile de le tourner 5 fois. Le modèle semble pouvoir utiliser la source habituelle de Keras. Screenshot_20200913-173630.png Image Classification Screenshot_20200913-173816.pngScreenshot_20200913-173924.png Text classification Il semble identifier des images de vêtements. Enfin, matplotlib affichera les images et les graphiques. Screenshot_20200913-173816.png Screenshot_20200913-173924.png Lorsque j'ai pris cet exemple de source sur Windows et l'ai exécuté, j'ai pu l'exécuter sans changer une seule ligne. Figure_1.png Regression La consommation de carburant est-elle estimée à partir des spécifications de la voiture et comparée à la valeur réelle? Screenshot_20200913-174249.png La même source fonctionne également sur Windows. OpenCV Certains modèles plus anciens ne pouvaient pas télécharger OpenCV. Il y a des problèmes avec la fonction de l'appareil photo, tels que l'appareil photo ne fonctionne pas sur un autre modèle, ou le fonctionnement n'est pas stable même sur un modèle qui peut utiliser l'appareil photo. Hello camera La caméra n'est pas stable. Cela n'a fonctionné qu'une seule fois, mais j'ai oublié de prendre une capture. Lorsque je l'ai essayé avec Zenfone3 Max, j'ai reçu le message suivant et cela n'a pas fonctionné. Il semble que ce doit être un modèle prenant en charge l'API Camera NDK. Screenshot_20200914-140205.jpg

Lorsque je l'exécute sous Windows, j'obtiens l'erreur suivante.

[ 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 Encore une fois, la caméra n'est pas stable. Cela a fonctionné après l'avoir fait plusieurs fois. Extraire les contours en temps réel. Screenshot_20200913-184729.png

Face detector Ceci est stable car la méthode de capture est différente des autres. Détecte les visages en temps réel. Screenshot_20200913-185402.png L'exemple utilise la caméra frontale (1) pour l'autoportrait, mais si le numéro de la caméra est réglé sur (0), il fonctionnera également sur un PC. Vous devez installer PyQt5. Screenshot_20200913-094118.png ASCII camera Encore une fois, la caméra n'est pas stable. Si vous prenez la poupée à droite, elle sera affichée en caractères ASCII comme indiqué à gauche. Screenshot_20200913-184036.pngIMG_20200913_184053s.jpg

Camera options Il semble régler la caméra, mais je ne suis pas sûr. Screenshot_20200913-233723.png

PyTorch Tensors Quelque chose semble fonctionner. Screenshot_20200913-234202.png MNIST Cela semble fonctionner, mais cela prend beaucoup de temps. Epoch = 5, mais cela a pris environ 30 minutes. Screenshot_20200913-234722.png

Pretrained model Téléchargez l'image et déterminez ce qu'elle contient. Il a fallu des dizaines de secondes pour juger même l'image téléchargée. Screenshot_20200913-081552.pngScreenshot_20200913-081711.png

Quantized model Cet appareil photo semble stable. Identifie ce qui est capturé par la caméra en temps réel. Le gobelet en acier inoxydable a été jugé être un shaker à cocktail, mais il peut être similaire. Screenshot_20200913-192101.png

Résumé

Il est hautement compatible et la plupart des échantillons fonctionnent très bien sur votre PC. Je crains que certains échantillons OpenCV aient des caméras instables, mais certains échantillons se déplacent de manière stable, il semble donc y avoir un moyen de les éviter. Pour utiliser la caméra avec Pydroid3, vous pouvez prendre des photos avec une autre application et passer au traitement immédiatement, ou pour utiliser l'image de la caméra en temps réel, vous devrez utiliser cette option payante. Cependant, si le modèle ne le prend pas en charge, rien ne se passera.

Vous pouvez apprendre des modèles, mais je ne pense pas que ce sera pratique car les smartphones sont lents. Prendre une grande quantité de données et les laisser apprendre dans un lot ne convient pas aux smartphones qui prennent des photos, naviguent sur le net, reçoivent des appels ou subissent de nombreuses interruptions quand ils en ont envie. Il peut être préférable de prendre des données et des photos lors de vos déplacements plutôt que chez vous et de les laisser apprendre immédiatement.

Cela semble amusant de pouvoir assembler un programme sur un smartphone. J'ai créé un tel environnement (application Android pour créer des applications, "PineVentor") auparavant. Cependant, il était assez difficile de se développer avec seulement un smartphone. Pydroid3 peut utiliser le même script sur un PC, il peut donc être bon de le faire en faisant des va-et-vient. Cependant, pour le moment, il n'y a pas de mécanisme pour parcourir facilement le script à différents endroits, il semble donc nécessaire de concevoir diverses choses.

Il ne suffit pas d'emporter un ordinateur portable avec vous lors de vos déplacements, mais est-ce pour les personnes qui veulent programmer pendant leur temps libre pour jouer à des puzzles ou tricher dans les jeux? Il peut être possible de collecter des données plus approfondies si les données peuvent être collectées sur le terrain et immédiatement converties en un graphique chronologique. Vous pouvez jouer beaucoup avec le Pydroid3 gratuit, donc si vous n'avez pas besoin d'utiliser la caméra en temps réel, vous n'avez certainement pas besoin de l'option payante, mais je pense que cela vaut la peine d'un essai gratuit de 3 jours. Selon le modèle, la caméra peut ne pas fonctionner, ou s'il s'agit d'un modèle plus ancien, tout l'OpenCV peut ne pas fonctionner, donc même si vous l'achetez, vous devriez l'essayer.

Recommended Posts

Pydroid 3 - J'ai essayé les options OpenCV et TensorFlow de l'IDE pour Python 3 (Android)
J'ai essayé la détection d'objets en utilisant Python et OpenCV
J'ai essayé d'utiliser Thonny (Python / IDE)
J'ai essayé tensorflow pour la première fois
J'ai essayé le rendu non réaliste avec Python + opencv
[ML-Aents] J'ai essayé l'apprentissage automatique en utilisant TensorFlow de Unity et Python (compatible v0.11β)
J'ai essayé de "lisser" l'image avec Python + OpenCV
vprof - J'ai essayé d'utiliser le profileur pour Python
J'ai essayé le web scraping en utilisant python et sélénium
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé la différenciation jacobienne et partielle avec python
J'ai essayé la programmation python pour la première fois.
J'ai essayé la synthèse de fonctions et le curry avec python
J'ai essayé de "binariser" l'image avec Python + OpenCV
J'ai essayé Python sur Mac pour la première fois.
J'ai essayé Python> autopep8
[OpenCV / Python] J'ai essayé l'analyse d'image de cellules avec OpenCV
J'ai créé une VM qui exécute OpenCV pour Python
J'ai essayé python pour la première fois avec heroku
Toolchain pour Python pour Android
J'ai essayé d'implémenter Grad-CAM avec keras et tensorflow
J'ai essayé Python> décorateur
J'ai essayé d'exécuter TensorFlow
Python: j'ai essayé menteur et honnête
OpenCV pour les débutants en Python
J'ai essayé la "conversion de morphologie" de l'image avec Python + OpenCV
J'ai essayé de [gratter] des images de mode et des phrases de texte avec Python.
J'ai essayé de porter le code écrit pour TensorFlow sur Theano
J'ai essayé la "correction gamma" de l'image avec Python + OpenCV
J'ai essayé la gestion du suivi avec l'API Twitter et Python (facile)
Méthode d'apprentissage TensorFlow pour les professionnels des arts libéraux et les débutants en Python
J'ai essayé de reconnaître le visage de la vidéo (OpenCV: version python)
J'ai essayé de programmer le test du chi carré en Python et Java.
J'ai créé une classe en Python et essayé de taper du canard
Notes diverses sur l'utilisation de python pour les projets
J'ai essayé d'énumérer les différences entre java et python
J'ai essayé de créer une interface graphique à trois yeux côte à côte avec Python et Tkinter
[Python] Accès et recadrage des pixels d'image à l'aide d'OpenCV (pour les débutants)
[Pour les débutants] J'ai essayé d'utiliser l'API Tensorflow Object Detection
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
Installation d'OpenCV3 pour Python3 @macOS
J'ai comparé Java et Python!
Construction d'environnement Python et TensorFlow
J'ai essayé l'extension C de Python
J'ai essayé d'utiliser magenta / TensorFlow
J'ai essayé gRPC avec Python
J'ai essayé de gratter avec du python
J'ai touché Tensorflow et keras
J'ai essayé d'utiliser Kwant, un module python pour le calcul du transport quantique
Créez une illusion rayée avec correction gamma pour Python3 et openCV3
[Pandas] J'ai essayé d'analyser les données de ventes avec Python [Pour les débutants]
J'ai essayé d'afficher le temps de lecture de la vidéo (OpenCV: version Python)
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
J'ai essayé de détecter facilement les points de repère du visage avec python et dlib
J'ai essayé d'exécuter le didacticiel TensorFlow avec des commentaires (_TensorFlow_2_0_Introduction pour les débutants)
J'ai essayé de créer une fonction de similitude d'image avec Python + OpenCV
Construction d'environnement de python et opencv
Briller la vie avec Python et OpenCV
J'ai essayé le tutoriel TensorFlow 1er