Pages

2010年3月15日 星期一

Arm-removal

  在參考互動雙足式機器人之設計與實現這篇論文後,實作了去手臂的模組,目的是避免含有手臂的手會大大降低辨識率。該方法採用逆時針旋轉來統計每個膚色點與重心的距離,如下圖所示:(引用論文圖片)


  這種直方圖統計的方式在影像處理課本第十章:表示與描述就看的到。所以,有了這個觀念,剩下的我想怎麼做就怎麼做囉!底下是整個去手臂的流程:


整個流程有幾點補充:
  1. Histogram Statistics:水平為角度、垂直為最遠距離。
  2. Low-pass filter:用 7x7 的遮罩,做二值影像的低通濾波。
  3. Post-processing:在統計每個膚色點與重心的角度,會因為計算誤差,使相鄰點得到同樣的角度,導致直方圖某些角度沒有值,所以我做了平滑化。
  4. threshold1、threshold2:前者用來決定是否有手臂存在;後者則是決定去手臂的程度。
  5. Find valley:這部份需配合下圖作說明,當決定要去手勢時,就開始往兩側找山谷,也就是傾斜度逐漸平緩的點。有時候坡度會緩和一下又繼續往下降,加入 threshold2,目的就是希望找到比較正確的山谷。

  另外,我將去手臂的目標鎖定在下半圓(180~359),也就是預設手不會從上面垂下來,這樣可以避免五指併攏被判斷成手臂的問題。

程式碼下載

 
Blogger Templates