Von Grund auf neu erstellen und die Anwendung ausführen, um Inferenz für Bilder durchzuführen
Die Einrichtung einer virtuellen Umgebung wird empfohlen, um nicht mit anderen vorhandenen und möglicherweise nicht kompatiblen Versionen von Python (zwischen 3.8 und 3,11) zu konflikt. Python-Versionen sind aufgrund der Anforderungen an die Scikit-Learn-Bibliothek begrenzt. Diese scikit-larn-Version (1.4.0) wird von den Anforderungen behandelt.txt. Wenn Sie sich dafür entscheiden, keine virtuelle Umgebung zu verwenden, sollten Sie andere nicht kompatible Versionen von Python deinstallieren. Überprüfen Sie auch, ob vorhandene nicht kompatible Versionen von Abhängigkeiten, die in der Datei "Anforderungen.txt" aufgeführt sind. Dies kann eine Art lästiger Aufgabe sein. Daher ist es am besten, stattdessen eine virtuelle Umgebung zu verwenden und Python alle akzeptablen Versionen für Sie herauszufinden.
1 - Download/Installation Usable 64 -Bit -Python -Version (alles zwischen 3.8 und 3.11)
2 - Von der Windows -Eingabeaufforderung Eingabeaufforderung Installieren Sie Virtualenv –Exampel: PIP Virtualenv installieren
3 -Erstellen Sie in Ihrem Projektverzeichnis ein virtualenv -Beispiel: Python -m Virtualenv - -Python Python310 ASL [Wenn Sie Python 3.10 verwenden -, um zu sehen, welche Versionen von Python in Ihrem System installiert sind: py -0 -! Warnung: Wenn Sie Windows/PowerShell verwenden. Set -executionPolicy -Scope Currentuser -executionPolicy Unrted -Force
4 -Aktivieren Sie Ihr neues Virtualenv in Ihrem Projektverzeichnis -Beispiel: ASL Skripte aktivieren
5 -sollte eine aktualisierte Eingabeaufforderung sehen, die ein aktiviertes Virtualenv -Beispiel: (ASL) PS C: Projects Capstone ASL zeigt
6 -Überprüfen Sie die Version von Python, die von Virtualenv -Beispiel: Python --version -Output: Python 3.10.0 [oder was auch immer Ihre Version ist.
7 -CD in das Virtualenv -Verzeichnis -Beispiel: CD ASL
8-Klon Github Repo zu lokaler Maschine-Beispiel: Git Clone https://github.com/cpetrella-sketch/asl-recognition.git-Output: Klonen in 'ASL-Recognition' ... Remote: Aufzählungsobjekte: 518, fertig. Fernbedienung: Zählen von Objekten: 100% (88/88), fertig. Fernbedienung: Komprimierungsobjekte: 100% (54/54), fertig. Fernbedienung: Insgesamt 518 (Delta 35), Wiederverwendung 72 (Delta 27), Pack-Re-verwendete 430 Empfangsobjekte: 100% (518/518), 40,60 MIB | 3.62 MIB/S, fertig. Lösung von Deltas: 100% (270/270), fertig.
9 -Installieren Sie die erforderlichen Python -Abhängigkeiten -Verzeichnis Change
-Installieren Sie Abhängigkeiten -Beispiel: PIP Install -Anforderungen.txt -Output: ... Installieren gesammelter Pakete:
10 - Laden Sie sowohl Trainings- als auch Testen von Datensätzen von den folgenden Links herunter - Full_training_dataset.zip (2.51 GB) https://drive.google.com/file/d/1ups86xkwbjnrwf7qnHexk4Infllgjvtk/vtk/vtk/vtk/vtk/v.shing/aslm/lhslsp=sharing - und ~/aSlm/lyShing. -Pfad zu DIR sollte sein: ~./ASL-Erkenntnis/ASLML/Images/full_training_dataset/-Verzeichnis sollte ein Sub-Verzeichnis für jeden Buchstaben in Alphabet haben (ohne J, Z)
–Full_testing_dataset.zip (38.8 mb) https://drive.google.com/file/d/1urn66jntxcs-s_1kvrsh11pe3vbp3vd-/view?usp=sharing-Extract und Save ~. ~./ASL-Recognition/ASLML/Images/full_testing_dataset/-Verzeichnis sollte ein Sub-Verzeichnis für jeden Buchstaben in Alphabet haben (ohne J, Z)
11 - Erstellen Sie ein Landmark -Datensatz aus full_training_dataset -Bildern - Beispiel: Von innen ./asl-recognition/aslml/ - In der create_dataset.py ändern Sie die „ProbeSizeperCentage“ in die gewünschte Beispielrate. Der Standardwert wird auf 100% aller Bilder eingestellt. - Python. Create_dataset.py - Ausgabe: Derzeit arbeitet am Verzeichnis A… derzeit am Verzeichnis B…… derzeit am Verzeichnis v… derzeit am Verzeichnis arbeitet y ...
Ausgewählte Datensatzgröße für Datensatz: 10% Gesamtzahl der verarbeiteten Bilder (10% des vollständigen Datensatzes): 8033 erfolgreiche Erkennungen (79,73359890451886%): 6405 fehlgeschlagene Erkennungen: 1628 Landmark Erkennung vollständig
12 - Suchen Sie die besten zufälligen Waldklassifikatorparamien und trainieren Sie ein Modell auf dem Datensatz - Beispiel: Aus ~./ASL -Erkennung/ASLML - Python. Train_classifier.py - Ausgabe: Daten in Testen und Schulungen mit 20,0% für das Testen reserviert.
Startgittersuche ... 5 -fach für jeden der 16 Kandidaten anpassen, insgesamt 80 Anpassungen [CV] End -Bootstrap = true, max_depth = keine, min_samples_leaf = 1, min_samples_split = 2, n_estimators = 100; Gesamtzeit = 5.1s [CV] End Bootstrap = true, max_depth = keine, min_samples_leaf = 1, min_samples_split = 2, n_estimators = 100; Gesamtzeit = 5,4s… [CV] End Bootstrap = False, max_depth = 10, min_samples_leaf = 2, min_samples_split = 2, n_estimators = 200; Gesamtzeit = 9,6S [CV] End Bootstrap = False, max_depth = 10, min_samples_leaf = 2, min_samples_split = 2, n_estimators = 200; Gesamtzeit = 9,2s Hier sind die besten Parameter gefunden:
{'Bootstrap': false, 'max_depth': none, 'min_samples_leaf': 1, 'min_samples_split': 2, 'n_estimators': 200} Klassifizierungsbericht:
precision recall f1-score support
S 0.74 0.95 0.83 58
T 0.94 0.96 0.95 53
U 0.67 0.73 0.70 56
V 0.81 0.75 0.78 59
W 1.00 0.96 0.98 56
X 0.98 0.94 0.96 52
Y 0.97 0.97 0.97 58
accuracy 0.91 1281
MACRO AVG 0,92 0,91 0,91 1281 Gewichtete AVG 0,92 0,91 0,92 1281
91.49102263856362% der Proben wurden korrekt klassifiziert
Ausführungszeit: 103.08926582336426 Sekunden
13 - Testen Sie die Genauigkeit des neu erstellten Modells für neue Testdaten - Beispiel: Aus ~./ASL -Recognition/ASLML - Python. Inferencetester.py - Ausgabe: Bilddatei: Hand2_A_DIF_SEG_2_CROPPED.
Bilddateg
Das Modell hat einen DirName vorausgesagt, ist: ein richtiger !!
Bilddatei: a0024_test.jpg erfolgreich die Orientierungspunkte in Benutzerbild: a0024_test.jpg
Das Modell hat einen DirName vorausgesagt, ist: ein richtiger !! …
Bilddatei: Hand3_Y_DIF_SEG_5_CROPPED.jpeg erfolgreich die Wahrzeichen im Benutzer Bild: Hand3_Y_DIF_SEG_5_CROPPED.JPEG
Das Modell hat einen Y -Dirname vorausgesagt ist: y richtig !!
Verwendung von RandomforestClassifer -geschulter Modell: Prozentsatz erfolgreicher Wahrzeichen Erkennung: 69% Prozentsatz erfolgreicher Briefvorhersage Erkennung: 76%
Gesamtzahl der verfügbaren Testbilder: 2510 26% zufällige Stichproben. Gesamtzahl der verarbeiteten Bilder: 622 Gesamtzahl der korrekten Vorhersagen: 332 Gesamtzahl der falschen Vorhersagen: 103 Gesamtzahl der erfolgreichen Wahrzeichen Erkennungen: 435 Gesamtzahl der erfolglosen Landmark -Erkennungen: 187
Anwendung verwenden
14 - Kopieren Sie neu erstelltes Modell in CGI -bin - Beispiel: Kopieren Sie 'AslModel.Job' von ' . .
Anwendung verwenden
1 - Öffnen Sie einen Webbrowser und greifen Sie auf die Webseite zu - Beispiel: http: // localhost: 8990 2 - laden Sie ein .jpg ASL Gestenbild für Inferenz hoch - Klicken Sie auf die Schaltfläche "Datei hochladen" - Wählen Sie ein Bild aus. Aus Ihrem lokalen Speicher warten Sie auf Status -Pop -up - Beispiel: Lokalhost: 8990 Says Uplod Uplow -Klicken Sie auf "OK" -Schirsch -Updates mit dem Bildschirm mit dem Bild mit dem Bild mit dem Bild mit dem Bild mit dem Bild und in den Bildschirm - und im Inferenz - Beispiel: Inferenz: