2011-07-14 94 views
3

我的問題是跟蹤裸體手在視頻中,簽名者坐在身體上半身的統一背景前面。從背景分離整個身體 很容易,但手與身體分離給人真正的痛苦。 當我GOOGLE時,我遇到了諸如「基於模型的方法」,「基於外觀的方法」,CCMSPF,哈爾,HOG,光流等主題,我迷路了。裸手跟蹤

我對http://thepaintballworld.info/play/W801F97DSfI/hand_detection.html(視頻)所取得的成績印象非常深刻。

什麼是解決我的問題的最佳方法?

回答

1

你實際上有兩個獨立的問題(heh)。

  1. 檢測手擺在首位
  2. 保持跟蹤手的,一旦你發現他們。

1是兩者中較難。起初,你不知道手在哪裏,他們有什麼顏色,他們如何定位以及他們有多大。一旦找到它們,就會有各種限制條件幫助您在後續幀中找到它們。他們不會像跳來跳去,他們將保持大致相同的顏色,他們會不會突然變得非常大或非常小,等。根據您的使用情況下,這裏有幾個方法:

  • 在視頻開始時,您可以要求擁有者用手掌將它們與開放的手掌對準相機一會兒,讓您根據膚色和形狀(五根手指)檢測它們。
  • 您可以在圖像中搜索膚色部分。這會對手持人的衣服造成一些限制,並要求您以某種方式檢測頭部,或根據位置消除頭部。 (這需要更多關於手持人位置的假設)。
  • 基於模型的方法假設手可以移動的方式。一隻手基本上是通過鉸鏈(手腕)附着到棒(腋下)上的一定顏色的斑點。只是手腕和腋下組合提供了一個可以跟蹤的受限但略微變形的形狀。

OpenCV是一個高級計算機視覺庫,可以幫助您完成上述任何方法所需的大量任務。一旦你發現在手區域的手goodFeaturesToTrack將幫助你跟蹤他們。而motion analysis and object tracking section中的一些功能也可以幫助你。

正如我所說,檢測手是更困難的問題。我不太瞭解基於模型的方法。如果您可以要求手持人在框架開始時雙手握住相機一段時間(並且您可以保證手會留在框架中的視頻的其餘部分),您可以在屏幕上使用template matching functionedge image用手輪廓圖像找到手。

至於皮膚檢測,this is some sample code這可能會幫助你,但你需要創建皮膚/非皮膚直方圖。只是googeling "opencv skin detection"也產生大量有用的鏈接。

正如你所看到的,這是一個相當廣泛的話題。我希望這有助於你開始。

+0

我沒有空間在這裏添加評論。你能檢查我的回覆嗎? – chemicalkt