2010-06-22 34 views
0

相機距拍攝對象約5英尺遠,當我捕捉到一幀畫面時,我需要能夠判斷畫面中是否有人物。如何在網絡攝像頭Feed中識別人類喜歡的圖案?

我有一些複雜的實施計劃,只是想知道您是否知道我現在可以使用的現有解決方案。

+2

這是一個很大的問題。 – 2010-06-22 19:26:36

+1

http://www.face-rec.org/algorithms/ – 2010-06-22 19:27:08

+0

由於低分辨率和缺乏工作模式識別算法,我說這是不可能的。除非你能忍受幀到幀的閾值變化識別(人類與其他物體無法區分)。 – 2010-06-22 19:28:48

回答

3

你偶然發現的問題實際上很複雜,它有自己的專用領域:計算機視覺。

這是一個相當普遍的事情,你可能會這樣做,而且正如你所建議的那樣,你肯定不應該重新發明輪子。我不確定是否有任何算法或開源項目在流動。

我認爲你最好的選擇是開始尋找學術論文和計算機科學講義。

這裏有一個紙:A Line-Scan Algorithm for Identifying the Human Body

1

OpenCV是一個成熟的工具集來使用開始與計算機視覺的工作。但請注意,這是一個非常困難的問題,而且這些工具相應難以理解和使用。

如果你不使用C++,OpenCV可能已經包裝好了,可以用你最喜歡的語言進行訪問。我用C#使用Emgu CV:http://www.emgu.com/wiki/index.php/Main_Page

+0

我知道有人與OpenCV一起工作,而且這個人自從開始使用時就已經說出了各種各樣響亮的聲音。我聽說OpenCV和VS與令人沮喪的晦澀錯誤發生衝突。 OpenCV本身有可怕的,可怕的代碼。 – 2010-06-22 20:39:27

+0

@ rlb.usa - 也許這是真的,但我沒有任何問題。當然,我只是編譯它並將它用作庫... – codekaizen 2010-06-22 21:42:27

+0

@ rlb.usa這肯定是不正確的。 OpenCV具有高度優化的代碼,如果您不知道爲什麼/如何優化代碼,您可能會理解它。儘管如此,閱讀文檔應該足夠了。 OpenCV和VS一起工作得很好,從來沒有給我任何「晦澀的錯誤」,我一直在使用它很多 – zerm 2010-06-23 13:47:23

1

梯度方向直方圖是用於檢測人體的技術:Wikipedia HoG

簡單地說,該算法通過圖像中的梯度方向的分佈識別人類:一個圓將具有均勻的梯度方向的分佈,因爲沿邊界的所有方向同樣頻繁。正方形的分佈在0°,90°,180°和270°處有四個峯值,因爲這是其邊界的唯一方向。人類也有一個獨特的方向直方圖,直方圖可以通過經典的機器學習算法如支持向量機或人工神經網絡來識別。我認爲OpenCV包含HoG算法的實現。