Sie können MNIST im Beispiellehrbuch verwenden, um das analoge Messgerät mit künstlicher Intelligenz abzulesen.
Befestigen Sie zuerst die Kamera und die Beleuchtung so, dass die Aufnahmebedingungen konstant sind. Wenn Sie garantieren können, dass Sie innerhalb eines bestimmten Bereichs schießen können, verbessert sich die Vorhersagegenauigkeit durch künstliche Intelligenz. Machen Sie als Nächstes im Voraus ein Bild eines bestimmten analogen Messgeräts und bereiten Sie den Status jeder Nadelposition vor. Wie viele Daten vorbereitet werden müssen, hängt von der erforderlichen Auflösung ab. Eine Auflösung von 20 bis 30 scheint jedoch ausreichend zu sein. Dies liegt daran, dass die Genauigkeit (Fehler) des analogen Messgeräts selbst etwa ± 2,5% oder ± 1,6% beträgt, dh bei Verwendung des analogen Messgeräts ist ein Fehler von etwa 5% oder 3% zulässig. Analoge Messgeräte eignen sich nicht zum Messen von 3 oder 4 effektiven Ziffern.
Um viele Daten im Voraus vorzubereiten, schütteln Sie die Aufnahme- und Lichtbedingungen, um so viel wie möglich innerhalb des zulässigen Bereichs aufzunehmen, oder blasen Sie die Daten mit Bildverarbeitung auf.
Das Programm selbst hat die gleiche Klassifizierung wie MNIST. Mit genügend Daten können Sie diese in Schulungen und Tests unterteilen, Überkompatibilität überprüfen, Parameter anpassen und vieles mehr.
ana00.png
ana01.png
Quellcode Datenaufbereitung Die Bilddatei wird unten gespeichert. 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
Lernen und Vorhersagen 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)))
Künstliche Intelligenz betrachtet die Bilder einfach und klassifiziert sie. Wir kennen das Konzept der analogen Zähler nicht und verstehen keine Nadeln und Skalen. Wenn Sie nicht nach übermäßigen Anforderungen fragen, können Sie das analoge Messgerät am Beispiel MNIST ablesen.
Recommended Posts