ゼロから - モデルを構築し、アプリケーションを実行して画像に推論を実行する
仮想環境を使用してセットアップすることは、Pythonの他の既存のバージョンではないバージョン(3.8〜3.11)と競合しないようにすることをお勧めします。 Scikit-Learnライブラリの要件により、Pythonバージョンは制限されています。このSCIKIT-LEARNバージョン(1.4.0)インストールは、要件によって処理されます。仮想環境を使用しないことに決めた場合は、Pythonの他のバージョンをアンインストールしてください。また、requistry.txtファイルにリストされている依存関係の既存の非適合性バージョンも確認してください。これはちょっとした雑用である可能性があるため、代わりに仮想環境を使用して、Pythonにあなたのために許容可能なバージョンをすべて把握できるようにすることが最善です。
1-使用可能な64bit Pythonバージョンをダウンロード/インストール(3.8〜3.11の間)
2 -Windowsコマンドからプロンプトインストールvirtualenv –example:pipインストールvirtualenv
3-プロジェクトディレクトリにvirtualenvを作成します - 例:python -m virtualenv - python python310 asl [python 3.10を使用する場合] - Pythonのバージョンがシステムにインストールされているかを確認します。 -Scope currentuser -executionPolicy無制限 - フォース
4-プロジェクトディレクトリ内から新しいvirtualenvをアクティブにする-example:。 asl scripts activate
5-アクティブ化されたvirtualenvを示す更新コマンドプロンプトを表示する必要があります-Example:(ASL)PS C: Projects Capstone ASL
6 -virtualenvが使用するpythonのバージョンを確認します - 例:python -version -output:python 3.10.0 [またはバージョンは何でも]
7 -virtualenvディレクトリへのcd -example:cd asl
8-ローカルマシンへのクローンgithubリポジャンプ:git clone https://github.com/cpetrella-sketch/asl-recognition.git - output: "asl- recognition 'へのクローニング...リモート:列挙オブジェクト:518、完了。リモート:オブジェクトのカウント:100%(88/88)、完了。リモート:オブジェクトの圧縮:100%(54/54)、完了。リモート:合計518(デルタ35)、再利用72(デルタ27)、パックリューズ430受信オブジェクト:100%(518/518)、40.60 MIB | 3.62 mib/s、完了。 Deltasの解決:100%(270/270)、完了。
9-必要なPython依存関係をインストールする-Change Directory:CD。 asl -recognition aslml
- インストール依存関係 - 例:pip install -r requiction.txt -output:...収集パッケージのインストール:...
10-以下のリンク–full_training_dataset.zip(2.51 GB)https://drive.google.com/file/d/1ups86xkwbjnrwf7qnhexk4infllgjvtk/viewo? 〜。
–full_testing_dataset.zip(38.8 mb)https://drive.google.com/file/d/1urn66jntxcs-s_1kvrsh11pe3vbp3vd-/view?usp = sharing - exctract and save〜。 〜。
11- full_training_dataset画像からランドマークデータセットの作成 - 例:内部から./asl-Recognition/aslml/から - create_dataset.py内部、「samplysizepercentage」を希望のサンプルレートに変更します。デフォルトは、すべての画像の100%に設定されています。 - python。 create_dataset.py - 出力:現在、ディレクトリAで作業しています...現在ディレクトリBで作業しています...
データセットのサンプルサイズ選択:10%処理された画像の総数(完全なデータセットの10%):8033の成功検出(79.73359890451886%):6405検出の失敗:1628ランドマーク検出完了... X/Y座標とラベルを「データとラベルをエクスポートします。
12-最良のランダムフォレスト分類器パラメーションを見つけて、データセットでモデルをトレーニングします - 例:〜。/asl -recognition/aslml - python。 train_classifier.py - 出力:テストのために20.0%で20.0%でデータをテストとトレーニングに分割します。
開始グリッド検索... 16人の候補者のそれぞれに5倍のフィット、合計80フィット[CV] end bootstrap = true、max_depth = none、min_samples_leaf = 1、min_samples_split = 2、n_estimators = 100;合計時間= 5.1S [CV] END BOOTSTRAP = true、max_depth = none、min_samples_leaf = 1、min_samples_split = 2、n_estimators = 100;合計時間= 5.4S…[cv] end bootstrap = false、max_depth = 10、min_samples_leaf = 2、min_samples_split = 2、n_estimators = 200;合計時間= 9.6S [CV] END BOOTSTRAP = FALSE、MAX_DEPTH = 10、MIN_SAMPLES_LEAF = 2、MIN_SAMPLES_SPLIT = 2、n_estimators = 200;合計時間= 9.2秒ここに見つかった最良のパラメージがあります:
{'bootstrap':false、 'max_depth':none、 'min_samples_leaf':1、 'min_samples_split':2、 'n_estimators':200}分類レポート:
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
マクロAVG 0.92 0.91 0.91 1281加重平均0.92 0.91 0.92 1281
91.49102263856362%のサンプルが正しく分類されました
実行時間:103.0892658236426秒
13-新しいテストデータで新しく作成されたモデルの精度をテスト - 例:〜。/asl -recognition/aslml - python。 disecetetester.py - output:emage file:hand2_a_dif_seg_2_cropped。
画像ファイル:a0001_test.jpgユーザーのランドマークが正常に検出されました画像:a0001_test.jpg
モデルは、a dirnameが次のと予測されています:正しい!!
画像ファイル:a0024_test.jpgユーザーのランドマークが正常に検出されました画像:a0024_test.jpg
モデルは、a dirnameが次のと予測されています:正しい!! …
画像ファイル:hand3_y_dif_seg_5_cropped.jpegユーザー画像でランドマークが正常に検出されました:hand3_y_dif_seg_5_cropped.jpeg
モデルは、y dirnameが次のと予測されています。
RandomForestClassiferトレーニングモデルの使用:成功したランドマーク検出率:69%の割合成功状態のレター予測検出:76%
利用可能なテスト画像の総数:2510 26%ランダムサンプリング。処理された画像の総数:622正しい予測の総数:332誤った予測の総数:103成功したランドマーク検出の総数:435失敗したランドマーク検出の総数:187
アプリケーションを使用します
14-新しく作成されたモデルをCGI -Binにコピーする - 例: 'aslmodel.job' from 'をコピーする。 asl-recognition aslml models 'to' 。 asl -recognition asllocal build models '15-内側から'〜。 asl -recognition asllocal build 'ディレクトリ、Webサーバーの起動-python -m http.server - CGI 8990 - 出力:出力:HTTPの提供::ポート8990
アプリケーションを使用します
1-ウェブブラウザーを開き、Webページにアクセスする - 例:http:// localhost:8990 2-推論のために.jpg aslジェスチャー画像をアップロード - 「アップロードファイル」ボタンをクリックします - ローカルストレージから画像を選択 - ステータスポップアップを待つ -