-3

我如何使用深度學習進行手部檢測。是否有任何文章或教程或任何有關手部檢測使用深度學習的相關鏈接。請告訴我。手部檢測的方法或步驟是什麼深度學習手部檢測

+2

Google?我對這個主題一無所知,但是在這個標題中輸入了數以百計的結果。一種過於寬泛的問題。 – gilliduck

回答

5

雖然問題可能很廣泛,但有一個非常高層次的合理答案。

可能最成功的是通過微調預先訓練的圖像分類卷積神經網絡模型,如VGG16,Inception,VGG19或ResNet。

對於這種情況,您可以使用Python,VGG19和Keras。你可以在這裏爲Keras抓一個預先訓練好的VGG19模型。

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

首先,收集的手,你可以儘可能多的圖像(2000年將是一個非常堅實的號碼開始),以及接近相等數量不手的圖像,並把它們納入自己的各自的目錄。預處理圖像,使其全部爲224x224像素。這是VGG19預先訓練的模型所必需的。

接下來,您需要微調模型。您可以在鏈接中找到詳細信息,但要點是您從最終的1000節點完全連接圖層彈出,並替換爲由手和非手圖像組成的雙節點完全連接圖層。

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

匯入圖像轉換成其中每個圖像由50176維向量表示的numpy的陣列。實際上,您可以創建一個包含50176行的矩陣和圖像的數量。

另外,爲您的標籤創建2維一次熱向量,其中[1 0]爲手部圖像,[0 1]爲非手部圖像。

通過抓取對VGG19中Keras模型對象的引用,將數據擬合到預先訓練的模型中。

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

我不會去的時代,batch_size時,驗證數據等細節,但你要確保你留意如何您的驗證數據的預測,它通常是用於測試的下降預測準確性在預先訓練的模型。您可以使用評估函數來獲得準確性分數。

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

一旦模型進行訓練,並驗證準確性是合理的,你可以使用預測功能來測試你是否有一隻手的形象。

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

欲瞭解更多信息,我強烈推薦fast.ai課程。

關於卷積神經網絡的更詳細的解釋,所有的數學和理論,斯坦福的CS231n類是必須的。