av日韩亚洲,一本一本a久久,亚洲一区二区三区,亚洲一区二区三区免费视频

基于ResNet-50改進的Faster R-CNN手勢識別算法

來源:期刊VIP網所屬分類:計算機信息管理時間:瀏覽:

  摘 要: 為了解決不同識別環境下光照強度的變化對手勢識別準確率影響的問題,提出了基于ResNet-50殘差網絡的改進Faster R-CNN手勢識別算法。相較于普通的Faster R-CNN算法,該算法用了ResNet-50網絡,提高網絡特征的學習能力,并在ResNet-50中加入了實例批處理標準化(IBN)方法用于對單個圖片的表征內容學習,適應不同的識別環境。實驗結果表明,該算法在測試集上的識別率高達98.7%,相較于常用手勢識別算法,有效性更高,魯棒性更好。

  關鍵詞: 手勢識別; Faster R-CNN; ResNet-50; 實例批處理標準化

電子政務

  推薦閱讀:《市場與電腦》是由國內貿易局技術開發中心中國計算機用戶協會MO分會主辦、CCID北京天利電子出版技術公司編輯出版,中國流通領域信息化主導刊物,帶給讀者最新的電腦業界動態。

  0 引言

  人機交互方式逐漸趨于簡便化、智能化,讓基于計算機視覺的手勢識別的人機交互逐漸成為現實。手勢識別發展到現在,主要是基于傳統檢測識別算法和深度學習算法。傳統的檢測識別算法是利用人體手部區域的顏色特征來實現,即YCbCr[1]、HSV[2]、YUV[3],以及其他人為選出的特征來進行判別。這種識別算法容易受光照強度變化、肢體遮擋及其他復雜環境因素影響,所以魯棒性低。

  基于深度學習的目標檢測[4]是目前在圖像處理上較為流行的方法,深度學習主要是利用卷積神經網絡[5]對大量圖像多次訓練學習,通過深層卷積自動計算提取目標圖像中的特征。深度學習相比于傳統的檢測識別算法具有識別速度快,精度高[6]的優點。

  目前用于目標檢測的深度學習算法有Faster R-CNN[7]、SSD[8]等;Faster R-CNN使用區域建議網絡[9](Region Proposal Net-work,RPN)逐個檢測每一個對象,再綜合提取信息,最終對手勢所處的位置和類別進行確定。但是該方法仍然沒能克服光照強度變化和網絡深度不能加深的問題。

  手勢識別的研究工作主要是手勢的檢測和識別。本文的手勢識別算法是在Faster R-CNN基礎上使用殘差網絡ResNet-50來優化網絡深度,加深特征學習,將 IBN結構用于深度卷積網絡實現對單個圖片表征(光照、顏色等)的多樣性學習,克服因不同環境下光照強度變化產生的漏檢、錯檢的問題。

  1 Faster R-CNN算法介紹

  Faster R-CNN算法模型主要包含了以下三個部分:CNN共享卷積、RPN區域建議網絡和感興趣區域池化[10](Region of Interest Pooling,ROI池化)檢測網絡。

  1.1 共享卷積

  共享卷積CNN作為Fast R-CNN和RPN的前端網絡,通過深度卷積計算來獲取輸入圖像的特征圖,通常使用ImageNet[11]數據集來多次訓練和微調CNN網絡使其達到最優。目前使用的主流網絡有VGG16[12]和ResNet[13]。

  1.2 區域建議網絡

  Faster R-CNN的分類檢測是利用RPN在網絡的內部計算,產生高質量區域建議框,用于后續的處理分類。

  其中,包圍盒為([x,y,w,h]),候選框的中心坐標、寬和高為([x1,y1,w1,h1])。則參考標準為GT (Ground-Truth):設標記的矩形框G的真實中心坐標、寬和高為([x*,y*,w*,h*]),預測候選區域坐標向量[ ti],[t*i]是真實目標框的坐標向量.如式(1)、(2)。

  [tx=x-x1w1;ty=y-y1w1;tw=log2ww1;th=log2hh1.] (1)

  [t*x=x*-x1w1;t*y=y*-y1h1;t*w=log2w*w1;t*h=log2h*h1.] (2)

  本文采用的損失函數是[Smooth L1]函數:

  [Smooth L1x0.5x2,x≤1x-0.5,otherwise] (3)

  1.3 感興趣池化網絡

  Faster R-CNN算法是基于SPP-Net算法[14]改進的,在此基礎上提出感興趣區域池,感興趣區域池化是SPP-Net的一個簡化版本,因為只選取了其中一層金字塔,也就是感興趣區域池化中只含有一種尺度,實驗證明,加入ROI池化進行圖像處理,使其運算速度加快數十倍。

  2 本文算法

  2.1 殘差網絡

  ResNet主要是利用殘差原理來實現網絡的加深,以此避免梯度的消失和爆炸問題.本文采用殘差網絡來解決目前手勢識別網絡深度不能加深的問題。

  殘差網絡以高速路網絡的跨層鏈接思想為基礎對其改進:利用“shortcut connections(捷徑連接)”的方法,會把輸入[x]直接傳到輸出作為初始結果輸入到下方,輸出結果為:

  [Hx=Fx+x] (4)

  當[Fx=0]時,則有[Hx=x],這就是前面所提到的恒等映射(identity)。在此基礎上,改變ResNet學習目標,不再是通過層層神經網絡學習完整的特征輸出,而是學習目標值[H(x)]和x的差值,其殘差為:

  [Fx=Hx-x] (5)

  本文采用的是ResNet-50網絡結構。但仍然無法克服因光照強度變化造成的圖片色度變化而識別不準確這一缺點。為克服此缺點,本文對原有的ResNet-50進行改進,在卷積層輸出后加入實例標準化[15](Instance Normalization,IN)和批量標準化(Batch Normalization,BN)作用。

  2.2 IBN算法

  在深度學習實驗中常用的標準化方法為BN,主要用來提高特征層對圖像的敏感度,降低風格類變化的魯棒性,即對圖像色調變化,敏感變化的魯棒性,IN方法提高對風格類變化的魯棒性。在圖2、圖3中可以看到IN和BN共同作用于ResNet。這是因為在CNN層中,表征多樣性的學習往往在網絡淺層,而內容特征的學習往往在模型深層,故據此提出如圖3的IBN結構。在淺層中BN和IN同時使用,保證了表征的多樣性和內容信息的學習,最后經過IN是為了保留深層網絡中圖像表征的識別信息。

  從式(6)、式(7)中可以看出,BN是對同一個Batch作用,而IN是對單個圖像進行作用,有效的保證了圖像表征的多樣性,其中BN函數為:

  [ytijk=xtijk-μiσ2i+ε;μi=1HWTt=1Tl=1Wm=1Hxtilm;σ2i=1HWTt=1Tl=1Wm=1Hxtilm-mμi2.] ⑹

  其中IN函數為:

  [ytijk=xtijk-μiσ2i+ε;μi=1HWt=1Tl=1Wm=1Hxtilm;σ2i=1HWl=1Wm=1H(xtilm-mμti)2.] ⑺

  式中的T為Batch的數量,[xtijk]表示第 tijk個元素,k和j是跨空間維度,i是特征通道(如果為RGB圖像就是顏色通道)t是圖像在Batch中的索引,W表示輸入特征圖的寬,H為輸入特定的通道數,其中[μi]為均值,[σ2i]為平方差。

  3 實驗分析

  實驗的訓練樣本來自于NUS Hand Posture,對數據集用LabelImg進行標定,選取訓練集手勢為2512個,測試集手勢為528個,并進行遷移學習。

  表1可以得到,在測試集上的識別率,ResNet-50和ResNet-101性能不相上下,但考慮到ResNet-101在識別率沒有較大提高的前提下,耗時卻多出45%,由此選擇ResNet-50作為基礎網絡。

  由圖3、圖4、表2可以看出,本文算法無論是在訓練時Loss收斂的速度還是在識別率上,都超過了SSD和Faster R-CNN模型,并且本文算法的召回率提升了3.8%,平均識別率提升了2%達到98.7%,檢測耗時上幾乎沒有變化。

  實驗中用不同光照強度進行測試,在 ResNet-50網絡下,利用背后窗簾打開大小來控制光照強度,實驗中處于光線比較均勻的條件下所得到的手勢照片較為清晰,都實時地識別出常用的10種手勢。當在光照不均勻或者光照較為強烈的環境下,手勢的識別效率會降低。當采用傳統的Faster R-CNN識別檢測,可以看見如圖6中(a)、(b)所示,對少數手勢會出現漏識,錯識。在Faster R-CNN加入了IBN后手勢識別檢測的正確率有所提高,如圖6(a)所示。

主站蜘蛛池模板: 辽中县| 威宁| 修水县| 大洼县| 镇雄县| 娄底市| 陕西省| 石河子市| 洮南市| 峡江县| 河津市| 鹿泉市| 霍林郭勒市| 新乐市| 武胜县| 准格尔旗| 宁乡县| 本溪市| 吉林市| 阿图什市| 雅江县| 靖边县| 方山县| 太保市| 如皋市| 广灵县| 南平市| 定远县| 南平市| 谢通门县| 苗栗市| 桑日县| 普安县| 县级市| 田林县| 久治县| 太仓市| 阜阳市| 霍山县| 庆云县| 厦门市|