聲明:創(chuàng)作不易鸵熟,未經(jīng)授權(quán)不得復(fù)制轉(zhuǎn)載
statement:No reprinting without authorization
0、編程環(huán)境:
python >= 3.6
tensorflow >= 1.10.0
OpenCV >= 3.4.4
低一點(diǎn)的版本應(yīng)該也能運(yùn)行
完整代碼已經(jīng)更新至GitHub,歡迎star or fork~GitHub鏈接
項(xiàng)目效果展示
視頻地址
一、數(shù)據(jù)集介紹與劃分
????????手勢識別的數(shù)據(jù)集來自于 Turkey Ankara Ayranc? Anadolu High School'sSignLanguageDigitsDataset享郊,注意到這個(gè)數(shù)據(jù)集由土耳其人制作搪哪, 所以用來表示數(shù)字3的手勢會和中國人表示3的手勢有略微差異宋税,按照這個(gè)數(shù)據(jù)集的手勢訓(xùn)練與測試即可摊崭。
圖像大小:100*100 像素
顏色空間:RGB 種類:
圖片種類:6 種(0,1,2,3,4,5)
每種圖片數(shù)量:200 張
數(shù)據(jù)集git鏈接
一共6種手勢杰赛,每種手勢200張圖片呢簸,共1200張圖片(100x100RGB)
二、圖片預(yù)處理及CNN模型(輸入/輸出)
實(shí)際圖片處理展示:resize前先高斯模糊乏屯,提取邊緣后可以根據(jù)實(shí)際需要增加一次中值濾波去噪:
三根时、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及具體參數(shù)
使用tensorflow的框架:
Dropout: 增加魯棒性幫助正則化和避免過擬合
????????一個(gè)相關(guān)的早期使用這種技術(shù)的論文((ImageNet Classification with Deep Convolutional Neural Networks, by Alex Krizhevsky, Ilya Sutskever, and Geoffrey Hinton (2012).))中啟發(fā)性的dropout解釋是:這種技術(shù)減少了神經(jīng)元之間復(fù)雜的共適性。因?yàn)橐粋€(gè)神經(jīng)元不能依賴其他特定的神經(jīng)元瓶珊。因此啸箫,不得不去學(xué)習(xí)隨機(jī)子集神經(jīng)元間的魯棒性的有用連接。換句話說伞芹。想象我們的神經(jīng)元作為要給預(yù)測的模型忘苛,dropout是一種方式可以確保我們的模型在丟失一個(gè)個(gè)體線索的情況下保持健壯的模型。在這種情況下唱较,可以說他的作用和L1和L2范式正則化是相同的扎唾。都是來減少權(quán)重連接,然后增加網(wǎng)絡(luò)模型在缺失個(gè)體連接信息情況下的魯棒性南缓。在提高神經(jīng)網(wǎng)絡(luò)表現(xiàn)方面效果較好胸遇。
四、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及具體參數(shù)
激活函數(shù):relu
損失函數(shù)計(jì)算:
ce=tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y, labels=tf.argmax(y_, 1))
cem = tf.reduce_mean(ce)
loss = cem + tf.add_n(tf.get_collection('losses’))
動(dòng)態(tài)調(diào)整學(xué)習(xí)率汉形,采用指數(shù)衰減
采用梯度下降優(yōu)化:tf.train.GradientDescentOptimizer
使用滑動(dòng)平均纸镊,增加模型泛化能力
使用L2正則化,超參為:0.0001
tf.add_to_collection('losses', tf.contrib.layers.l2_regularizer(regularizer)(w))
五概疆、實(shí)驗(yàn)訓(xùn)練過程及結(jié)果
經(jīng)過約4800輪的訓(xùn)練后逗威,loss基本收斂,在0.6左右岔冀,在120份的測試樣本上的模型準(zhǔn)確率能夠達(dá)到約96%
六凯旭、進(jìn)行實(shí)際應(yīng)用
1、對輸入圖片處理后進(jìn)行手勢識別使套,分別測試在簡單背景下罐呼,一般復(fù)雜背景下、以及復(fù)雜背景下的模型識別效果:
結(jié)果:
2、復(fù)雜背景干擾:
結(jié)果:
3、對輸入視頻進(jìn)行實(shí)時(shí)的識別:文件鏈接
4恕酸、分析:
對于一般手勢的角度與數(shù)據(jù)集中一樣比較正直的有較高的識別準(zhǔn)確率,但是對于傾斜較大或噪聲很難去除的情況會干擾識別差凹,導(dǎo)致出錯(cuò)期奔。
應(yīng)對方法:
進(jìn)一步縮小膚色的RGB值范圍,對手勢結(jié)構(gòu)進(jìn)行更精確的提取危尿,目前的膚色提取范圍為: