摘要:本次實驗中的代碼基於python,用pytorch識別手勢所代表的數字。首先利用opencv打開攝像頭採集分辨率爲64*48的手勢灰度圖像,接着使用pytorch建立卷積神經網絡來對圖片進行訓練,得到訓練模型,最後調用模型,用opencv打開攝像頭實時採集人的手勢照片,最後在pycharm終端顯示檢測結果。
github代碼地址:https://github.com/1240117300/pytorch-opencv-Gesture-Recognition
一、方法和材料:
1.首先撰寫用於採集手勢訓練集的opencv代碼,如下圖所示。代碼中按下s鍵對圖片進行保存,保存地址爲與項目相同根目錄下
得到數據集,如下圖所示,這裏的數據集爲作者本人的手勢照片,只是爲了驗證算法的邏輯性和合理性,因此採集的數據集比較少。理論上,後期想要得到比較完美的訓練模型,需要大量的訓練模型。
2.導入數據集,轉換圖片格式爲Tensor,並建立卷積神經網絡對數據集進行訓練。本次實驗中,我建立了三層網絡(如下圖所示),建立神經網絡後,開始訓練模型,之後將模型保存
3.導入模型,打開攝像頭採集實時手勢照片,並在終端顯示檢測結果。檢測結果如下圖所示。左邊爲檢測到的數字,右邊的圖像爲展示的手勢
總結:還是要好好學習一下卷積神經網絡的理論知識,這樣才能知道如何調參數,以達到更好的訓練模型