回覆列表
-
1 # 山海皆可平z
-
2 # 碼匯
幾個方案:
1、確認演算法效率,人臉識別成熟方法很多,不知道你用的哪種。
2、最佳化python程式碼,即使是同一個問題,程式碼實現方式不同,效率也天差地別。
3、如果對c系列語言熟悉的話,轉到c++,opencv很好移植。
4、考慮GPU加速。
5、換庫,opencv很多演算法的實現效率本身就不行。
6、換機器.....
加油
-
3 # 編碼之道
你這個問題描述資訊太少,沒有辦法具體回答,只能說說大概的思路。
雖然Python簡單易學,使用方便,但是他的效率並不高,所以一般也就適合做試驗性程式碼開發,這樣能快速驗證思路或者演算法的正確性。比如你說的人臉識別,不管是用深度學習,還是用常規演算法,首先要設計一個演算法並驗證它能否正常工作,只有能正確檢測人臉的演算法,才是一個可行的演算法,至於效率是下一步最佳化的目標。
一般情況下影象處理的計算量都比較大,所以在驗證了演算法的正確性之後,一般會將Python的程式碼移植到效率更高的C/C++平臺,對於OpenCV來說就更是如此,因為OpenCV的開發語言正是C++。至於怎麼在C++裡面呼叫Python模型,可參考本人寫的一篇文章,正好也是影象處理方面的。
此外,對於運算量更大的任務,比如深度學習,CPU往往已經很難滿足計算要求,這時候就需要用GPU來加速。
可以呼叫opencv的動態庫,這樣效能高。
不過這個應該是硬體效能跟不上吧。具體得看下你怎麼測試的?這樣才能具體問題具體分析。