-3

手の検出に深い学習を使用するにはどうすればいいですか?深い学習を使って手の検出に関する記事やチュートリアルや関連するリンクがありますか?私にお知らせください。手の検出のためのアプローチまたはステップは何ですか手の検出のための詳細な学習

+2

Google?私は何も知らないが、このタイトルには何百という結果がありました。過度に広い質問の種類。 – gilliduck

答えて

5

質問には幅があるかもしれませんが、非常に高いレベルの合理的な回答があります。

おそらく最も成功するのは、VGG16、Inception、VGG19、またはResNetなどの事前訓練された画像分類畳み込みニューラルネットワークモデルを微調整することでしょう。

この場合、Python、VGG19、およびKerasを使用できます。あなたはKerasのための事前に訓練されたVGG19モデルをここでつかむことができます。

https://gist.github.com/baraldilorenzo/8d096f48a1be4a2d660d

まず、(で開始する2000年はかなり固体番号をだろう)あなたができるの手のように多くの画像を収集し、ない手の画像の同数に近い、とにそれらを置く彼らのそれぞれのディレクトリ。すべての画像が224×224ピクセルになるように画像を前処理します。これはVGG19の事前訓練モデルに必要です。

次に、モデルを微調整する必要があります。リンクの詳細を見ることができますが、最後に1000ノードの完全に接続されたレイヤーをポップアップし、手でない​​画像のカテゴリで構成される2ノードの完全に接続されたレイヤーに置き換えてください。

https://flyyufelix.github.io/2016/10/03/fine-tuning-in-keras-part1.html

各画像は50176次元のベクトルで表されるnumpyの配列にあなたのイメージを読み込みます。実際には、50176行とイメージ数の行列を作成することができます。

さらに、[1 0]は手画像用、[0 1]は非手画像用の2次元ワンホットベクトルを作成します。

VGG19のKerasモデルオブジェクトへの参照を取得して、訓練されたモデルにデータをフィットさせます。

model.fit(image_data, one_hot_labels, epochs=10, batch_size=32) 

私はエポック、BATCH_SIZE、検証データなどに詳細には触れませんが、あなたはあなたの検証データが予測されてどれだけに目を維持を確認するには、通常、テストのための降下予測です事前訓練されたモデルの精度。 evaluate関数を使用して精度スコアを取得することができます。

model.evaluate(image_validation_data, validation_labels, batch_size=32) 

モデルが訓練され、検証精度が妥当であれば、予測機能を使用して手画像があるかどうかをテストできます。

model.predict(test_images, batch_size=32, verbose=0) 

詳細については、fast.aiコースをお勧めします。

畳み込みニューラルネットワークの詳細な説明については、すべての数学と理論で、スタンフォードのCS231nクラスは必須です。

関連する問題