Einführung
Maschinelles Lernen und Bilder haben eine großartige Beziehung, Die Bildklassifizierung war im Laufe der Jahre eine der Hauptrollen des maschinellen Lernens. Es war während der COVID-19-Pandemie sehr nützlich, Menschen zu erkennen, die sich nicht an die Regeln wie das Tragen von Masken und das Halten von Abstand halten.
Voraussetzungen
Jedes Programm hat einige Voraussetzungen für die Lösung umweltbezogener Probleme.. Wir bauen einen Datensatz für ein Machine-Learning-Projekt, die Mindestvoraussetzung dafür ist ein Computer mit installiertem Python3 und einem OpenCV-Modul darauf.
Ich verwende Jupyter Notebook auf meinem System. Wenn Sie auch die gleichen Einstellungen verwenden möchten, Sie müssen Anaconda auf Ihrem Computer installieren und dann OpenCV installieren.
OpenCV installieren
So installieren Sie OpenCV, Öffnen Sie die Eingabeaufforderung, wenn Sie Anaconda nicht verwenden. Andererseits, Öffnen Sie die Anaconda-Eingabeaufforderung über die Windows-Suche und geben Sie den unten angegebenen Befehl ein.
pip install opencv-python=3.4.2.17
Jetzt können Sie Ihr Dataset codieren und vorbereiten.
Erforderliche Schritte
Hier werden wir alle Schritte abdecken, die zur Erstellung dieses Programms erforderlich sind.
Paso 1: Module importieren
Zuerst, wir müssen alle benötigten Module in die Programmkonsole importieren. Wir brauchen nur zwei Module, einer ist der „OpenCV“ und das andere ist das Modul „Sie“. Opencv wird verwendet, um das Bild mit der Kamera des Laptops aufzunehmen und zu rendern, und das Betriebssystemmodul wird verwendet, um ein Verzeichnis zu erstellen.
CV2 als CV importieren Importieren von OS
Paso 2: ein Kameraobjekt erstellen
Wie wir unseren eigenen Bilddatensatz erstellen müssen, Wir brauchen die Kamera, und OpenCV hilft uns, Kameraobjekte zu erstellen, die später für verschiedene Aktionen verwendet werden können.
#Streit 0 ist gegeben, um die Standardkamera des Laptops zu verwenden Kamera = cv.VideoCapture(0) #Überprüfen Sie nun, ob das Kameraobjekt erfolgreich erstellt wurde wenn nicht camera.isOpened(): drucken("Die Kamera ist nicht geöffnet....Beenden") Ausfahrt()
Paso 3: Tag-Ordner erstellen
Jetzt, Wir müssen zur Unterscheidung Ordner für jedes Tag erstellen. Verwenden Sie den unten angegebenen Code, um diese Ordner zu erstellen, Sie können so viele Tags hinzufügen, wie Sie möchten. Wir haben unsere Labels nach dem Spiel benannt: Stein, Papier, Schere. Wir bereiten einen Datensatz vor, der das Bild klassifizieren könnte, wenn es ein Stein ist, ein Papier, eine Schere oder nur ein Boden.
#Erstellen einer Liste von Labels "Sie können so viele hinzufügen, wie Sie möchten" Etiketten = ["Hintergrund","Stein","Papier","Schere"] #Erstellen Sie nun Ordner für jedes Etikett, um Bilder zu speichern für Etikett in Etiketten: wenn nicht os.path.exists(Etikett): os.mkdir(Etikett)
Paso 4: letzter Schritt zum Aufnehmen von Bildern
Dies ist der letzte und wichtigste Schritt des Programms.. Online-Kommentare wurden geschrieben, um das Verständnis zu erleichtern. Hier müssen wir Bilder aufnehmen und diese Bilder gemäß dem Tag-Ordner speichern. Code gründlich lesen, Wir haben hier jede Kleinigkeit erwähnt.
für Ordner in Labels: #Verwenden der count-Variablen, um die Bilder im Datensatz zu benennen. zählen = 0 #Eingaben nehmen, um die Aufnahme zu starten drucken("Drücken Sie 's', um die Datenerfassung für zu starten"+Mappe) Benutzereingabe = Eingabe() wenn Benutzereingabe != 's': drucken("Falsche Eingabe..........") Ausfahrt() #klick 200 Bilder pro Etikett, du könntest dich ändern wie du willst. während zählen<200: #read gibt zwei Werte zurück, einer ist der Exit-Code und der andere der Frame Status, frame = camera.read() #Überprüfen Sie, ob wir den Rahmen bekommen oder nicht wenn nicht Status: drucken("Frame wurde nicht erfasst..Beenden...") brechen #konvertieren Sie das Bild in ein graues Format für eine schnelle Berechnung grau = cv.cvtColor(Rahmen, cv.COLOR_BGR2GRAY) #Anzeigefenster mit grauem Bild cv.imshow("Videofenster",grau) #Ändern Sie die Größe des Bildes, um es zu speichern grau = cv.resize(grau, (28,28)) #Speichern Sie das Bild in einem bestimmten Etikettenordner cv.imwrite('C:/Benutzer/HP/Dokumente/AnacondaML/'+Ordner+'/img'+str(zählen)+'.png',grau) zählen=zählen+1 #um das Anzeigefenster zu verlassen, drücken Sie 'q' wenn cv.waitKey(1) == ord('Q'): brechen # Wenn alles fertig ist, lass die aufnahme los Kamera.Freigabe() cv.destroyAllWindows()
Praktische Anwendung
Jetzt, Führen Sie das Programm aus, um den Datensatz zu erstellen. Wir liefern zuerst den Hintergrund, dann der stein, das Papier und die Schere. Vor der Implementierung, Sie sollten sich immer darüber im Klaren sein, was Sie codiert haben und wie die Ausgabe Ihnen bei der Lösung der Anwendungsfallanforderung hilft. Lass es uns tun ...
Führen Sie das Programm auf einmal aus
Wir verwenden Jupyter Notebook, um dieses Programm auszuführen, Sie können jeden Python-Interpreter verwenden. Zuerst, gehe zum Zellenmenü und klicke auf „Alle ausführen“, Dadurch werden alle verfügbaren Zellen in einem Treffer ausgeführt.
Jetzt, eine Eingabenachricht wird generiert, Drücken Sie ‚S‘ und drücken Sie die Eingabetaste, um Bilder für den Hintergrund zu speichern.
Después de presionar ‚S‘, wird einfangen 200 Hintergrundbilder. Das Anzeigefenster erscheint und die Bilder werden aufgenommen., Also geh aus dem Rahmen und lass die Kamera den Hintergrund einfangen.
Jetzt, pedirá ‚S‘ und wird Bilder von aufnehmen „Stein“. Dann, Mach eine Faust und zeige sie der Kamera in verschiedenen Positionen.
Notiz: winken Sie einfach mit der Faust mit der Hand, Fixieren Sie Ihre Hand nicht in einer Position, um einen gut beschrifteten Datensatz zu erstellen.
Jetzt, Wiederholen Sie den gleichen Vorgang für die Papier- und Scherenbilder. Vergiss nicht zu drücken ‚S‘ wenn Sie dazu aufgefordert werden, andererseits, das Sichtfenster scheint festzustecken, aber es ist nicht.
Das Programm wird automatisch geschlossen. Jetzt können Sie durch Durchsuchen überprüfen, ob der Datensatz erstellt wurde oder nicht.
Notiz: Der Bilddatensatz wird im selben Verzeichnis erstellt, in dem das Python-Programm gespeichert ist. Vier Verzeichnisse werden entsprechend dem ihnen zugewiesenen Label erstellt.
Jawohl, Ordner wurden erfolgreich erstellt, Überprüfen Sie nun, ob die Bilder aufgenommen und gespeichert wurden. Die Bildgröße entspricht nicht der, die Sie während des Aufnahmevorgangs angezeigt haben. Wir haben das Bild so verkleinert, dass, bei Verwendung in einem Machine-Learning-Projekt zum Trainieren des Modells, benötigen weniger Ressourcen und Zeit.
Viva! Wir haben einen eigenen Bilddatensatz erstellt, der, was ist mehr, kann in Machine-Learning-Projekten zur Klassifizierung verwendet werden.