我想開發一個使用OpenCV(或Emgu CV)的「人數統計系統」。人數統計系統
請指導我如何實施或引導我使用一些示例或開源項目。
(我已經做了一些工作:提取DIFF然後門檻刪除背景,利用運動歷史和像,仍然沒有很好的效果)
編輯1:我指望較高的人流量(一打他們可能會同時通過)。
編輯2:它必須至少80%準確。人們走過幾乎5米寬的門。問題是我無法控制相機的位置或角度。相機在距離2.5米高的地方從10米距離呼喊。
謝謝
我想開發一個使用OpenCV(或Emgu CV)的「人數統計系統」。人數統計系統
請指導我如何實施或引導我使用一些示例或開源項目。
(我已經做了一些工作:提取DIFF然後門檻刪除背景,利用運動歷史和像,仍然沒有很好的效果)
編輯1:我指望較高的人流量(一打他們可能會同時通過)。
編輯2:它必須至少80%準確。人們走過幾乎5米寬的門。問題是我無法控制相機的位置或角度。相機在距離2.5米高的地方從10米距離呼喊。
謝謝
退房自帶的OpenCV的最新版本(> = 2.2)的HOG行人檢測。
請參閱modules/objdetect/src/hog.cpp
和samples/cpp/peopledetect.cpp
在OpenCV源代碼。遺憾的是,目前還沒有官方文檔。
謝謝;我已經檢查過HOG。這是不適合擁擠的流量,它是如此不可預測。 –
這將幫助你算搬東西,包括人:Motion Detection project on CodeProject
是人們唯一的一種場景「實體」的?如果情況並非如此,你是否在考慮在場景中出現其他類型的事物?因爲如果是這樣的話,你可以只計算出現在或來自現場的斑點。這可能聽起來有點天真,但我會採取某種運動圖像,按羣集中的距離分組運動像素。您的距離度量標準可能會考慮到一些限制,例如人們會「經常」站立,因此羣集中的像素應該圍繞某種迴歸線(如果相機與de floor平齊,則爲直線)。不必在場景中跟蹤他們,只是在他們進入或離開時注意他們,儘管您會遇到一些問題,例如,人們在場景中自行進入併成對或成組離開。 ..祝你好運:)
這真的取決於相機的位置。假設您可以獲得圖像中人物的正面輪廓:
此問題基本上是人臉檢測和識別。
尋找面孔的方法有很多,但這是我稍微熟悉的方法。
對於人臉檢測,您需要對膚色進行圖像分割。這將提取皮膚區域。 [手臂,胸部(適合那些穿V字形上衣的人),臉部,腿部等]然後,您需要將皮膚區域的輪廓與訓練過的臉部輪廓對齊。
[你需要使用特徵臉創造一個什麼樣的臉看起來像普通的資料]
如果皮膚區域排隊,不從配置文件太遠devate,那麼它被認爲是一個面對。一旦臉部被確認,然後將其添加到特徵臉數據存儲[用於識別]。爲了節省處理時間,如果您正在查找以前的臉部,您可能需要考慮限制搜索區域。 [鑑於幀速率和上次看到此人的時間]
如果您指的是「人羣流量」,我認爲您只是指人羣中人臉的密度。
現在您已確認視頻中的移動對象是一個人。現在你只需要注意一下,然後確保你不再把它們視爲一個新的人。
這種方法:真的取決於您檢測人臉區域的能力。如果視頻中的人看不起,不適合訓練的數據等等,那麼這可能不起作用。如果有人在視頻中戴太陽鏡,也可能會產生影響。 [可能會被認爲是一個「新面孔」]
我認爲如果你有很多閉塞的密集人羣,你必須使用一些機器學習算法,例如你可以使用隱式形狀模型來獲取特徵。
您可能想指定的一些觀點:系統必須有多精確?什麼是「高人流量」?這是否意味着它有10個人的寬度,或者它是大量人們通過的1米大的拱門? – Tipx
感謝您的評論。我已更新了我的問題。 –
你還沒有描述「人流」的範圍。我們有多少人在聊天?多人經常同時進入嗎?你說你的系統「仍然沒有好的結果」,儘管與背景不同。你能描述你已經看到了什麼樣的結果以及爲什麼他們有問題嗎? – Gravity