Ceci est le premier post! Je suis un peu débutant, mais j'ai soudain pensé que j'aimerais créer un système de reconnaissance d'image qui me prévient d'oublier de resserrer la clé.
Je voudrais l'afficher comme mémorandum de mon travail.
On ne sait absolument pas si cela peut être fait, mais j'écrirai ce que je vise.
(Je rêve de la faire ressembler à une application si possible, mais je me demande si cela peut être fait ...)
Mes rêves grandissent, mais j'essaierai petit à petit de ce que je peux faire.
Donc, l'objectif de cette fois est le suivant.
** "Utilisez opencv pour convertir plusieurs photos de l'entrée de votre maison en données numériques" **
La route de Senri étant à un pas, j'aimerais bien l'essayer, mais seulement un peu.
Google Colab Notebook (Python)
key.py
import cv2
import numpy as np
import matplotlib.pyplot as plt
import torch
Puisque je veux utiliser pytorch plus tard, je vais créer le type de données torch.tensor.
Nous allons créer un ensemble de données.
key.py
def make_datasets(path,X_data,y_data):
img = cv2.imread(path, cv2.IMREAD_UNCHANGED).astype("float32") / 255
img = np.array([img])
if len(X_data)==0:
X_data = img.copy()
else:
X_data = np.concatenate((X_data,img),axis=0)
y_data = np.append(y_data, int(path[0]))
return X_data, y_data
Vous pouvez maintenant créer un ensemble de données en spécifiant simplement le chemin. L'étiquette de réponse correcte peut être obtenue en l'ajoutant au début du nom de chemin des données d'image.
key.py
X_data = np.array([]) #Pour les données d'image
y_data = np.array([]) #Pour une étiquette correcte#Fermé = 0 ouvert=1
path_names = ["0-1.jpg ", "1-1.jpg "]
for i in range(10):
for path in path_names:
X_data,y_data = make_datasets(path,X_data,y_data)
X_data,y_data = torch.tensor(X_data),torch.tensor(y_data)
Pour le moment, je l'ai essayé avec deux images. (~~ C'était difficile de prendre des photos de l'entrée plusieurs fois ~~) La raison pour laquelle j'ai bouclé 10 fois est que j'aimerais pouvoir augmenter les données d'entraînement en traitant les données (recadrage, etc.) après cela. Cela peut changer plus tard.
Assurez-vous que X_data a les dimensions attendues.
key.py
X_data.shape
## => torch.Size([20, 4032, 3024, 3])
La taille de l'image est trop grande pour l'apprentissage automatique, mais je devrais pouvoir le faire plus tard ...!
Quoi qu'il en soit, j'ai réussi à convertir les données photo en Tensol!
J'ai appris à publier Qiita et à écrire MarkDown, donc j'espère pouvoir continuer à poster à partir de la prochaine fois.
Enfin, le prochain objectif. ** "Allez au point où vous pouvez faire du machine learning avec l'ensemble de données créé" **
Excusez-moi de poster un débutant!
Recommended Posts