[PYTHON] La lecture du compteur analogique peut être effectuée avec l'exemple MNIST.

Vous pouvez utiliser MNIST dans l'exemple de manuel pour lire le compteur analogique à l'aide de l'intelligence artificielle.

Tout d'abord, fixez l'appareil photo et l'éclairage afin que les conditions de prise de vue soient constantes. Si vous pouvez garantir que vous pouvez tirer dans une certaine plage, la précision des prévisions par l'intelligence artificielle s'améliorera. Ensuite, prenez une photo d'un compteur analogique spécifique à l'avance et préparez l'état de chaque position d'aiguille. La quantité de données à préparer dépend de la résolution requise, mais une résolution de 20 à 30 semble être suffisante. En effet, la précision (erreur) du compteur analogique lui-même est d'environ ± 2,5% ou ± 1,6%, c'est-à-dire qu'une erreur d'environ 5% ou 3% est autorisée lors de l'utilisation du compteur analogique. Les compteurs analogiques ne conviennent pas pour mesurer 3 ou 4 chiffres effectifs.

Afin de préparer un grand nombre de données à l'avance, secouez les conditions de prise de vue et les conditions d'éclairage pour filmer autant que possible dans la plage autorisée, ou gonflez les données avec le traitement d'image.

Le programme lui-même a la même classification que MNIST. Avec suffisamment de données, vous pouvez les diviser en entraînement et en tests, vérifier la surcompatibilité, ajuster les paramètres et bien plus encore.

ana00.png ana00.png

ana01.png ana01.png

Code source Préparation des données Le fichier image est stocké ci-dessous. https://bono0.com/

import numpy as np import matplotlib.pyplot as plt import cv2

i=np.ndarray([32,32,3]) data=np.ndarray([10,32,32,3]) data[:]=0

i=plt.imread("ana00.png ") plt.imshow(i) plt.show() i = cv2.resize(i, (32,32)) data[0,:,:,:]=i plt.imshow(i) plt.show()

i=plt.imread("ana01.png ") i = cv2.resize(i, (32,32)) data[1,:,:,:]=i

i=plt.imread("ana02.png ") i = cv2.resize(i, (32,32)) data[2,:,:,:]=i

i=plt.imread("ana03.png ") i = cv2.resize(i, (32,32)) data[3,:,:,:]=i

i=plt.imread("ana04.png ") i = cv2.resize(i, (32,32)) data[4,:,:,:]=i

i=plt.imread("ana05.png ") i = cv2.resize(i, (32,32)) data[5,:,:,:]=i

i=plt.imread("ana06.png ") i = cv2.resize(i, (32,32)) data[6,:,:,:]=i

i=plt.imread("ana07.png ") i = cv2.resize(i, (32,32)) data[7,:,:,:]=i

i=plt.imread("ana08.png ") i = cv2.resize(i, (32,32)) data[8,:,:,:]=i

i=plt.imread("ana09.png ") i = cv2.resize(i, (32,32)) data[9,:,:,:]=i

Apprentissage et prédiction import matplotlib.pyplot as plt from sklearn import datasets, svm, metrics from sklearn.model_selection import train_test_split

x = data.reshape((10,-1)) y=np.array([0,1,2,3,4,5,6,7,8,9])

X_train=x X_test=x y_train=y y_test=y

classifier = svm.SVC(gamma=0.001) classifier.fit(X_train, y_train) predicted = classifier.predict(X_test)

print("Classification report for classifier %s:\n%s\n" % (classifier, metrics.classification_report(y_test, predicted)))

L'intelligence artificielle regarde simplement les images et les classe. Nous ne reconnaissons pas le concept des compteurs analogiques ni ne comprenons les aiguilles et les balances. Si vous ne demandez pas d'exigences excessives, vous pouvez lire le compteur analogique avec l'exemple MNIST.

Recommended Posts

La lecture du compteur analogique peut être effectuée avec l'exemple MNIST.
La lecture du compteur analogique peut être effectuée avec l'exemple MNIST.
Jusqu'à ce que vous puissiez lire le journal des erreurs
Lisez la puissance du compteur intelligent avec M5StickC (édition BP35C0-J11-T01)
Pouvez-vous supprimer ce fichier?
lire le tag qui vous est attribué dans ec2 avec boto3
Ce que vous pouvez faire avec les statistiques de la bibliothèque Python standard
Considérez ce que vous pouvez faire avec Python dans l'article Qiita
Python | Ce que vous pouvez faire avec Python
Vous pouvez également vérifier la communication de la base de données et du cache avec curl
18 beaux termes Python que vous voulez lire à haute voix. R18 avec des exemples de phrases
À partir de Django 1.8, vous pouvez choisir Jinja2 comme moteur de modèle #djangoja
Ce que vous pouvez faire avec l'API vol.1
Ce que vous pouvez faire avec des compétences en programmation
Jusqu'à ce que vous puissiez utiliser opencv avec python
Si vous les gars dans la cuisine de portée pouvez le faire avec une marge ~ ♪
Jusqu'à ce que vous utilisiez l'API Kaggle avec Colab
Pouvez-vous défier Kaggle avec seulement votre iPad?
Vous pouvez gérer les caractères qui se chevauchent avec plusieurs plt.text.
Vous pouvez facilement créer une interface graphique même avec Python
Jusqu'à ce que vous puissiez utiliser l'API Google Speech
Vous pouvez maintenant afficher des diapositives avec nbviewer! [Jupyter]
Jusqu'à ce que vous puissiez installer Blender et l'exécuter avec python pour le moment