日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

动态手势识别实战

發布時間:2024/1/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 动态手势识别实战 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Github:Wonderseen_Gesture_Net
Author:Wonderseen | Xiamen University | 2018.04.27

如需轉載本文,請先聯系作者本人,謝謝。

因為工程維護需要時間,代碼陸續在上傳。具體請跟進上面的鏈接,如果覺得項目對您有幫助,請您給予一點鼓勵,送個star。

  • 大三上的課余時間基本都花在手勢識別的項目上,其中最困難的部分是選擇手勢識別問題的解決方案。最近看到有些朋友也在做手勢識別的項目,所以整理一下自己的方案,以作參考。
  • 設備選項:

    RGB傳感器(單相機single-view或者多相機multi-view)、深度傳感器(相機方面根據精度選擇設備,一般的雙目精度【較少毫米級】不如TOF或者結構光精度高)以及前兩者結合的傳感器(截至去年為止,某寶能搜到的提供完整sdk的成品有SR系列、Kinect、圖漾等)

  • 傳統方案:在深度學習大行其道之前,出現過許多識別手勢的方法。
  • 閾值分割在匹配手部mask,再根據手指尖的關系對指尖伸展情況,進行指端伸展情況判斷(數手指頭之類的),進而判斷設定的若干個手勢
    比如內切圓記錄為掌心,凸集形成的多邊形頂點數記錄為指尖等,這里可以衍生的形態學方法比較多,翻墻也可以找到會議論文可以參考。
  • 利用提取到的手部灰度圖(這里覺得有困難的可以嘗試用標記來識別手部,比如藍手套等)和提前設定好的手部模板進行匹配
    方案2:涉及的是圖像相似度的計算,比如基于圖像灰度圖的NCC方法或者基于形狀的匹配方法等。
    這類方法主要用在工業視覺項目,其表現為其檢測范圍內的背景相對簡單,同時光照被人為提前設定;不過,在復雜環境下或者被測物體多自由度的情況下,方案2的表現比較差。這個方案我沒有怎么嘗試,目前尚不清楚優化效果。
  • 制作好手勢圖數據集,用adaboost算法選出Haar或者Hog特征,獲得手部特征描述子,并用來檢測和識別手勢。
    方案3:用Opencv比較容易實現,庫和示例比較完整。
    (1) 首先,訓練手部的檢測器,用來獲得手部局部圖;
    (2)接著,利用多種手勢檢測器對局部圖進行檢測分類。
    這個方案實施過程中,要注意用于訓練的正負樣本的選擇,以及訓練參數的設定,留好裕度。用Opencv自帶的adaboost進行迭代前要了解到,Hard 的正樣本是會被丟棄的,并會從未訓練的樣本中,抽取新的樣本,用以補充訓練隊列。
    轉載自知乎作者【白裳丶】adaboost+haar工程實現過程及細節
  • 必須提一句:上述的3種方案,適用于特定環境的試驗中,但是對光照比較敏感,難以適應各種光照,不過好在實現起來會比較輕松,如果是作為視覺入門項目,建議初學者走走這三個方案的彎路,對鞏固基礎知識比較有幫助。
  • 同時方案1和方案2較為死板,因為這兩種方案限定了手部與相機的相對關系,比如限定了”手部必須正對相機”這樣隱性的要求。

深度學習大背景下,提出方案4。


深度學習應用背景:
手勢估計任務可以歸結為關鍵點估計的一類問題。這兩年關鍵點估計在學術上是解決得比較通透的問題,該方向目前亟待解決的新問題,主要出現在以下兩種情況中:
(1)在待檢測目標存在大面積被遮擋的情況下
(2)在同一視野中,目標對象的尺寸短時間內發生快速變化時
如何對關鍵點或者圖像語義進行準確的實例估計,即instance segmentation。就普通愛好者而言,做手勢識別任務,先從基礎情況入手。這里假設任務環境:在圖像采集過程中,被捕捉的手部圖像是穩定的、并且不被其他物體所遮擋


我所用的方案 :
整個流程包括【手部分割】(Handmask Semantic Segmentation)、【手勢關鍵點估計】(HandUV Estimation)、【手勢分類】(Gesture Classification)。

  • 手部分割:為了縮小檢測范圍,減少圖像噪聲的影響,這個做法和mtcnn的two-stream做法類似。為了實現這個目的,你也可以不使用FCN;實現的途徑是多樣的,比如你如果愿意換而采用RPN(Region Proposal Net)實現,那么mask rcnn、ssd、yolo v3等均可以進行一番嘗試。
    原創作者:雷鳴–基于深度學習的目標檢測算法綜述

  • 關鍵點估計:對手部的21dofs 或者 26dofs (或者更多)的2d坐標進行估計。2d估計的方案就比較多了,基于像素預測的cpm、hg或者基于邊框回歸的mask-rcnn及其變種。因為vgg網絡太沉,所以我沒有完全采用它的結構。出于減少網絡復雜度的考慮,我綜合GoogleNet的特征提取結構和u-net的優點,寫了比較淺層的網絡,在這個關鍵點估計任務中,優化后表現還不錯,關鍵點和ground truth的平均距離差在1.4個像素。對于有更多精力的朋友,建議您不要止步于此,繼續延伸,利用KL散度等信息從2d往3d進行深度的回歸估計。

  • 手勢分類:單類定長輸入的分類問題,想必大家一定不陌生。這里我的trick是:為關鍵點設置高斯監督,并結合Part cropped at Proposal Region作優化。
    我的小demo測試視頻,用五個簡單手勢,控制單點的運動

  • 總結

    以上是生活随笔為你收集整理的动态手势识别实战的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。