我目前正在進行人員檢測和計數項目。它基本上可以通過USB網絡攝像頭檢測現場的任何人,然後統計路過的人。目前,我的設置是:OpenGL人臉檢測
- OpenCV的2.4.6,使用檢測方法哈爾(浮點處理)
- ARM板與ARM A9四核心和Mali四核GPU
不幸的人頭上,處理時間不夠快,每幀70 - 100毫秒(14 - 10 fps),因此不會計算以正常速度或更快速度行走的人。瓶頸在於OpenCV HaarDetection方法,基本上每幀處理時間的90%被該進程消耗。
我試着在Haar旁邊使用另一個模型,這是基於整數處理的LBP模型,但到目前爲止,我的LBP模型並不令人滿意,我仍在努力創建新模型。此外,我嘗試使用TBB與OpenCV(原生在OpenCV中實現的多線程)但以某種方式導致Odroid崩潰,如果我不使用TBB,應用程序運行穩定。
我能想到的唯一優化就是利用板上的Mali GPU,使用修改後的HaarDetection重新編譯OpenCV以利用某些GPU處理能力。我的問題是,這是可以使用OpenGL庫嗎?我看到大多數OpenGL的例子都是渲染圖形,而不是處理圖像。
今天大多數Mali四核處理器都是Mali-400 MP,它只支持OpenGL ES 2.0,並且沒有GPGPU api的說法。你可能有很多意志力和時間可能使用頂點/片段着色器將某些東西拼湊在一起,但它似乎很難實現(你不僅需要重寫算法,而且要以非常尷尬的分區方式重寫它)。拋出硬件或調整算法/改變你的方法。 – PeterT
您可以嘗試使用latentsvm檢測器,但這意味着需要爲不直觀的人員培訓新模型。告訴我,如果你有興趣,我會提供更多的細節。 – GilLevi
沒關係,有一個訓練有素的模特兒。 – GilLevi