[PYTHON] Ich möchte ein System erstellen, um zu verhindern, dass vergessen wird, den Schlüssel 1 festzuziehen

Dies ist der erste Beitrag! Ich bin bis zu einem gewissen Grad ein Anfänger, aber ich dachte plötzlich, ich möchte ein Bilderkennungssystem erstellen, das mich davor warnt, das Festziehen des Schlüssels zu vergessen.

Ich möchte es als Memorandum meiner Arbeit veröffentlichen.

Ziel

Ob dies möglich ist, ist völlig unbekannt, aber ich werde aufschreiben, was ich anstrebe.

(Ich träume davon, es wenn möglich wie eine App aussehen zu lassen, aber ich frage mich, ob es möglich ist ...)

Diese Arbeit

Meine Träume wachsen einfach, aber ich werde nach und nach versuchen, was ich tun kann.

Das Ziel dieser Zeit ist also wie folgt.

** "Verwenden Sie opencv, um mehrere Fotos Ihres Hauseingangs in numerische Daten umzuwandeln" **

Da die Straße von Senri auch nur einen Schritt entfernt ist, würde ich es gerne versuchen, wenn auch nur ein wenig.

Ausführungsumgebung

Google Colab Notebook (Python)

Importieren Sie die erforderlichen Bibliotheken

key.py


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

Da ich pytorch später verwenden möchte, werde ich den Datentyp torch.tensor erstellen.

Mit opencv in numerische Daten konvertieren

Wir werden einen Datensatz erstellen.

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

Jetzt können Sie ein Dataset erstellen, indem Sie den Pfad angeben. Das richtige Antwortetikett erhalten Sie, indem Sie es am Anfang des Pfadnamens der Bilddaten hinzufügen.

key.py


X_data = np.array([])  #Für Bilddaten
y_data = np.array([])  #Für korrektes Etikett#Geschlossen = 0 offen=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)

Vorerst habe ich es mit zwei Bildern versucht. (~~ Es war mühsam, den Eingang viele Male zu fotografieren ~~) Der Grund, warum ich 10 Mal geloopt habe, ist, dass ich mir wünschte, ich könnte die Trainingsdaten erhöhen, indem ich die Daten danach (Zuschneiden usw.) verarbeite. Dies kann sich später ändern.

Stellen Sie sicher, dass X_data die erwarteten Abmessungen hat.

key.py


X_data.shape
## => torch.Size([20, 4032, 3024, 3])

Die Bildgröße ist zu groß für maschinelles Lernen, aber ich sollte dies später tun können ...!

Wie auch immer, ich konnte die Fotodaten erfolgreich in Tensol konvertieren!

Die Geschichte nach dem nächsten Mal

Ich habe gelernt, wie man Qiita postet und wie man MarkDown schreibt, also hoffe ich, dass ich ab dem nächsten Mal weiter posten kann.

Endlich das nächste Ziel. ** "Bringen Sie es zu dem Punkt, an dem Sie mit dem erstellten Datensatz maschinelles Lernen durchführen können" **

Entschuldigen Sie, dass ich einen Anfänger gepostet habe!

Recommended Posts

Ich möchte ein System erstellen, um zu verhindern, dass vergessen wird, den Schlüssel 1 festzuziehen
Ich möchte vorerst eine Docker-Datei erstellen.
Ich möchte einfach ein Rauschmodell erstellen
Ich möchte eine Art von Implementierung erstellen, die angeschlossen werden kann
Ich möchte manuell eine Legende mit matplotlib erstellen
[Python] Ich habe ein System erstellt, um "das Rezept, das ich wirklich will" von der Rezeptseite einzuführen!
Ich möchte zum ersten Mal eine Django-Studie zur Mittagsdatenbank [EP1] erstellen
Ich möchte zum ersten Mal eine Django-Studie zum Mittagessen [EP1-4] erstellen
Ich wollte den AWS-Schlüssel nicht in das Programm schreiben
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
Qiskit: Ich möchte eine Schaltung erstellen, die beliebige Zustände erzeugt! !!
Ich möchte eine Pipfile erstellen und im Docker wiedergeben
Ich möchte einen maschinellen Lerndienst ohne Programmierung erstellen! Web-API
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
Ich möchte Spyder an die Taskleiste anheften
Ich möchte kühl auf die Konsole ausgeben
Ich möchte in der Einschlussnotation drucken
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
Ich möchte mit dem Reim Teil1 umgehen
Ich möchte mit dem Reim part3 umgehen
Ich möchte ein Histogramm erstellen und die Normalverteilungskurve darauf überlagern. matplotlib edition
Ich möchte den Fortschrittsbalken anzeigen
Ich möchte mit dem Reim part2 umgehen
Ich möchte mit dem Reim part5 umgehen
Ich möchte mit dem Reim part4 umgehen
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
Ich möchte einen maschinellen Lerndienst ohne Programmierung erstellen! Textklassifizierung
Ich möchte Matplotlib zu einem dunklen Thema machen
Ich möchte einen DataFrame in MSSQL einfügen
Wenn Sie Word Cloud erstellen möchten.
Ich möchte mit dem Reim part7 (BOW) umgehen
Ich möchte leicht einen leckeren Laden finden
Ich möchte das Erscheinungsbild von zabbix anpassen
Ich möchte mit Python in eine Datei schreiben
Erstellen Sie einen Befehl, um das Arbeitsprotokoll abzurufen
Ich möchte die Aktivierungsfunktion Mish verwenden
Ich möchte den Fortschritt in Python anzeigen!
Ich möchte eine Django-App auf Heroku hochladen
[LINE Messaging API] Ich möchte eine Nachricht vom Programm an alle LINE senden
Ich möchte eine schöne Python-Entwicklungsumgebung für meinen neuen Mac erstellen
Die Geschichte der IPv6-Adresse, die ich auf ein Minimum beschränken möchte
Ich möchte eine Prioritätswarteschlange erstellen, die mit Python (2.7) aktualisiert werden kann.
Ich möchte gleichzeitig einen Musik-Player erstellen und Musik ablegen
Ich möchte dem Anfang einer WAV-Datei 1 Sekunde lang Stille hinzufügen
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Ich möchte eine WEB-Anwendung mit den Daten von League of Legends ① erstellen
Ich habe versucht, ein Modell mit dem Beispiel von Amazon SageMaker Autopilot zu erstellen
Ich möchte eine API erstellen, die ein Modell mit einer rekursiven Beziehung im Django REST Framework zurückgibt
Ich möchte den Dateinamen von DataLoader sehen
Ich möchte eine Variable in einen Python-String einbetten
Ich möchte Timeout einfach in Python implementieren
Ich möchte einen Python-Generator viele Male iterieren
Erstellen Sie eine Funktion zur Visualisierung / Auswertung des Clustering-Ergebnisses
Ich möchte, dass DQN Puniki einen Homerun macht
100 Klopfen bei der Bildverarbeitung !! (021-030) Ich möchte eine Pause machen ...
Ich möchte einem Pandas-Datenrahmen eine group_id geben
Ich möchte schnell UUID generieren (Gedenknotiz) ~ Python Edition ~
Ich möchte mit einem Knopf am Kolben übergehen
Ich möchte das Ausführungsergebnis von strace erfassen