2013-04-21 40 views
7

對於一個教育項目,我們目前正在研究基本的運動和手勢檢測系統。我們的主要目標是在相機流上檢測人體。使用這些信息,我們想要檢測身體的基本骨架,以進一步檢測人員所做的手勢。上身骨骼檢測

我們正在使用EmguCV/OpenCV來處理我們的流。我在Youtube上發現了這個視頻:http://www.youtube.com/watch?v=fYZtmkfWh5g。他能夠探測到上身並在其中放置一個基本的骨架,但是如何?他沒有提及任何使用的算法。

我們已經嘗試使用背景減法(BackgroundSubtractorMOG2)檢測身體輪廓,但相機噪音和閃電條件使我們失敗。

有沒有人有一個想法來檢測身體完全像視頻中所示?

+0

如果您的項目在室內,人們將站在離照相機較近的地方,請嘗試使用Kinect。它的SDK有一個與你想要的相同的示例代碼。 – 2013-06-30 18:40:12

+0

只需從頭部檢測開始,然後肩部檢測就會很容易,因爲它將成爲近似於捻線的軀幹的上線。我認爲上臂和下臂檢測仍然是矩形近似。但爲了區分這兩種檢測,他們也使用了顏色檢測。我想這就是爲什麼他用低臂展示自己的皮膚。 – 2013-10-16 10:51:00

回答

1

我認爲你應該執行下面的步驟:

  1. 人臉檢測。
  2. 檢測指針。
  3. 估計身體形象的規模。
  4. 放置上身運動模型(骨架),使用頭部位置 信息並設置其比例尺檢測到的頭部尺寸。
  5. 匹配模型頭部和手與人類 頭部和手前的位置檢測。
  6. 更新人體姿態估計模型的逆運動學。
  7. 我想,這裏應該非常好用一些統計濾波器,如粒子濾波器或卡爾曼濾波器。
  8. 轉到步驟1

對於動態模型,你可以使用一些2D物理endine(Box2D爲例)。

0

更多複雜的模型,像Caffe這樣的NeuralNetworks可以通過Websearch - >「人體姿勢估計」找到,例如https://github.com/ZheC/Realtime_Multi-Person_Pose_Estimation 似乎在較新的操作系統上不容易安裝(舊的編譯器...?)和一些資源飢餓1 GB-HW它現在不會運行) 。

最後,它可能會很有趣,deeplearnjs將如何上升或整合(直到現在它需要鉻和樣品顯示物體識別,但看起來很有前途)。