Dari awal - membangun model dan menjalankan aplikasi untuk melakukan inferensi pada gambar
Diatur menggunakan lingkungan virtual direkomendasikan agar tidak bertentangan dengan versi Python lainnya yang ada dan mungkin tidak kompatibel (antara 3,8 dan 3.11). Versi Python terbatas karena persyaratan perpustakaan scikit-learn. Versi scikit-learn ini (1.4.0) instalasi ini ditangani oleh persyaratan.txt. Jika Anda memutuskan untuk tidak menggunakan lingkungan virtual, pastikan untuk menghapus versi Python yang tidak kompatibel lainnya. Periksa juga versi dependensi yang tidak kompatibel yang ada dalam file persyaratan.txt. Ini bisa menjadi tugas yang sedikit, jadi sebaliknya untuk menggunakan lingkungan virtual dan biarkan Python mencari tahu semua versi yang dapat diterima untuk Anda.
1 - Unduh/Instal Versi Python 64bit yang Dapat Digunakan (apa pun antara 3.8 dan 3.11)
2 - Dari Windows Command Prompt Instal VirtualEnv –Example: Pip Instal VirtualEnv
3 -Buat virtualEnv di direktori proyek Anda -example: python -m virtualEnv --python python310 asl [jika menggunakan python 3.10] -untuk melihat versi python mana yang diinstal pada sistem Anda: py -0 -! Peringatan: jika menggunakan windows/powershell, Anda mungkin perlu untuk mengubah koki Anda ke koki Anda untuk melakukan krip Anda untuk menggunakan windows/powershell, Anda mungkin perlu mengubah KRIBER Anda. Set -ExecutionPolicy -Scope CurrentUser -ExecutionPolicy tidak dibatasi -force
4 -Aktifkan VirtualEnv baru Anda dari dalam direktori proyek Anda -Contoh :. Asl Scripts Activate
5 -Harus lihat prompt perintah yang diperbarui yang menunjukkan virtualEnv yang diaktifkan -example: (ASL) PS C: Projects Capstone Asl
6 -Periksa versi Python yang digunakan oleh VirtualEnv --Example: Python --Version -Output: Python 3.10.0 [atau apapun versi Anda]
7 -CD ke direktori VirtualEnv --Example: CD ASL
8-Klon GitHub Repo ke Mesin Lokal --Sample: Git Clone https://github.com/cpetrella-sketch/asl-recognition.git-output: mengkloning ke 'asl-regnition' ... jarak jauh: menyebutkan objek: 518, dilakukan. Remote: menghitung objek: 100% (88/88), selesai. Remote: Compressing Objects: 100% (54/54), selesai. Remote: Total 518 (Delta 35), digunakan kembali 72 (Delta 27), 430 Paket yang digunakan kembali Objek Penerima: 100% (518/518), 40.60 MIB | 3.62 MIB/S, selesai. Menyelesaikan delta: 100% (270/270), selesai.
9 -Instal Dependensi Python yang Diperlukan -Direktori Change: CD. Asl -Pengakuan Aslml
-instalasi dependensi -example: pip install -r persyaratan.txt -output: ... menginstal paket yang dikumpulkan:
10 - Unduh Dataset Pelatihan dan Pengujian dari tautan di bawah ini –FULL_TRAING_DATASET.zip (2.51 GB) https://drive.google.com/file/d/1ups86xkwbjnrwf7qnhexk4infllgjvtk/view ?usp=sharing -sharing -sharing ~. -Path to Dir harus: ~./Asl-pengakuan/aslml/gambar/full_training_dataset/-direktori harus memiliki satu sub direktori untuk setiap huruf dalam alfabet (tidak termasuk j, z)
–Full_testing_dataset.zip (38.8 MB) https://drive.google.com/file/d/1urn66jntxcs-s_1kvrshsh11pe3vbp3vd-/view?Usp=sharing –Exxtract dan save to ~./Asl-recogning/date? ~./Asl-pengakuan/aslml/gambar/full_testing_dataset/-direktori harus memiliki satu sub direktori untuk setiap huruf dalam alfabet (tidak termasuk j, z)
11 - Buat dataset tengara dari full_training_dataset gambar - Contoh: Dari dalam ./asl-recognition/aslml/ - di dalam create_dataset.py, ubah "sampelSepercentage" ke laju sampel yang Anda inginkan. Default diatur ke 100% dari semua gambar. - Python. Create_dataset.py - Output: Saat ini bekerja pada direktori A ... saat ini bekerja pada direktori B ... ... saat ini bekerja pada direktori V ... saat ini bekerja pada direktori y ...
Ukuran Sampel Dataset Dipilih: 10% Jumlah total gambar yang diproses (10% dari dataset penuh): 8033 Deteksi yang berhasil (79.73359890451886%): 6405 Deteksi Gagal: 1628 Deteksi Landmark Selesai ... Ekspor X/Y Coords dan Label ke 'Data.Pickle' Waktu Eksekusi: 218: 218. 2184 KOOTRI DOKS DAN LABELS KE 'Data.Pickle
12 - Temukan Params Classifier Hutan Acak Terbaik dan Latih Model pada Dataset - Contoh: Dari ~.
Mulai pencarian grid ... pas 5 kali lipat untuk masing -masing dari 16 kandidat, total 80 cocok [cv] bootstrap end = true, max_depth = tidak ada, min_samples_leaf = 1, min_samples_split = 2, n_estimators = 100; Total waktu = 5.1s [cv] end bootstrap = true, max_depth = tidak ada, min_samples_leaf = 1, min_samples_split = 2, n_estimators = 100; Total waktu = 5.4s ... [cv] end bootstrap = false, max_depth = 10, min_samples_leaf = 2, min_samples_split = 2, n_estimators = 200; Total waktu = 9.6s [cv] end bootstrap = false, max_depth = 10, min_samples_leaf = 2, min_samples_split = 2, n_estimators = 200; Total waktu = 9.2s Berikut adalah params terbaik yang ditemukan:
{'bootstrap': false, 'max_depth': none, 'min_samples_leaf': 1, 'min_samples_split': 2, 'n_estimators': 200} Laporan Klasifikasi:
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
Makro AVG 0,92 0,91 0,91 1281 AVG tertimbang 0,92 0,91 0,92 1281
91.49102263856362% sampel diklasifikasikan dengan benar
Waktu Eksekusi: 103.08926582336426 detik
13 - Test the accuracy of newly created model on new testing data – example : from ~./ASL-Recognition/aslml – python .InferenceTester.py – output : Image file: hand2_a_dif_seg_2_cropped.jpeg Inside failed inference classifier Failed to detect landmarks in user image: hand2_a_dif_seg_2_cropped.jpeg
File Gambar: a0001_test.jpg berhasil terdeteksi landmark dalam gambar pengguna: a0001_test.jpg
Model tersebut memprediksi nama dirname adalah: A yang benar !!
File Gambar: a0024_test.jpg berhasil terdeteksi landmark di gambar pengguna: a0024_test.jpg
Model tersebut memprediksi nama dirname adalah: A yang benar !! ...
File gambar: hand3_y_dif_seg_5_cropped.jpeg berhasil mendeteksi landmark di gambar pengguna: hand3_y_dif_seg_5_cropped.jpeg
Model tersebut memprediksi nama dirname adalah: y benar !!
Menggunakan Model Terlatih RandomForestClassifer: Persentase Deteksi Landmark yang Berhasil: 69% Persentase Deteksi Prediksi Surat Berhasil: 76%
Jumlah total gambar pengujian yang tersedia: 2510 26% pengambilan sampel acak. Jumlah total gambar yang diproses: 622 Jumlah total prediksi yang benar: 332 Jumlah total prediksi yang salah: 103 Jumlah total deteksi tengara yang berhasil: 435 Jumlah Total Deteksi Landmark yang Tidak Berhasil: 187
Gunakan aplikasi
14 - Salin model yang baru dibuat ke CGI -Bin - Contoh: Salin 'Aslmodel.job' dari ' . Asl-pengakuan aslml model 'to' . Asl -pognition asllocal build model '15 -Dari dalam' ~. Asl -pognition asllocal build 'direktori, mulai server web -Contoh: python -m http.server ---cgi 8990 -output: melayani http on:: porton 99 (cgi 8990 -output: melayani http on:::: http: http: http: http: http: http: http: http: http: http: http: http: http: http.
Gunakan aplikasi
1 - Buka browser web dan akses halaman web - Contoh: http: // localhost: 8990 2 - Unggah .jpg asl gambar gesture untuk inferensi - klik tombol "Unggah file" - pilih gambar dari penyimpanan lokal Anda - tunggu status muncul - Contoh: 899.