[討論] OpenCV動態人臉偵測速度過慢,可用CUDA嗎?

看板C_and_CPP (C/C++)作者 (800IM)時間14年前 (2012/05/19 07:29), 編輯推噓2(208)
留言10則, 4人參與, 最新討論串1/1
VS 2010 + OpenCV 2.4 我寫了一個從 WebCam 畫面做人偵測的 code 原本很順暢的畫面,做了偵測速度變超慢!!一秒大概只剩三張 其中這一行主要的偵測程式,拖了速度 95% 以上 cascade.detectMultiScale(frameTemp,face ,1.1,10,CV_HAAR_SCALE_IMAGE,cv::Size(30,30)); 雖然把 size 限制變大速度明顯會變快,但是偵測效果也變差, 有沒有其他方式可以加快速度,偵測效果又好? 我的 NB 顯卡有 CUDA,可是沒看到 OpenCV ref manual 裡 有CUDA的人臉偵測 function,是不是 CUDA 目前只針對科學模擬運算?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.55.75

05/19 09:21, , 1F
感覺如果用i7開8個thread跑可以到12fps
05/19 09:21, 1F

05/19 09:22, , 2F
cuda不是萬靈藥,要看你的程式平行度如何。
05/19 09:22, 2F

05/19 09:23, , 3F
根據之前寫的經驗,就算完全不同步也只快cpu 20~30 倍
05/19 09:23, 3F

05/19 09:24, , 4F
感覺很難加速到,尤其是你每個frame都傳資料進去
05/19 09:24, 4F

05/19 09:25, , 5F
時間都花在cpu與gpu的傳資料了吧? 感覺不會比cpu版快多少
05/19 09:25, 5F

05/19 09:26, , 6F
也許可以改成把上一秒的30fps存下來一次算完,也許夠快?
05/19 09:26, 6F

05/19 09:27, , 7F
可是重點是你要會寫cuda,OpenCV大部份函數不支援cuda
05/19 09:27, 7F
另外補充一個問題:inline有用嗎? ※ 編輯: deo2000 來自: 61.224.55.75 (05/19 14:15)

05/19 15:02, , 8F
你測到很精細的話應該也沒辦法快多少
05/19 15:02, 8F

05/19 15:05, , 9F
我覺得1.0人臉偵測比2.0快很多 是寫法有變嗎?
05/19 15:05, 9F

05/28 22:27, , 10F
將影像縮小在偵測勒?我是用這個方法...
05/28 22:27, 10F
我有用這個方法 但是出現很奇怪的現象 在Pentium P6300上,縮越小越難偵測到, 但i7的話,長寬縮小到1/5(面積1/25)偵測效果幾乎都不會變差 ※ 編輯: deo2000 來自: 140.122.45.159 (06/11 13:03)
文章代碼(AID): #1Fjjjq07 (C_and_CPP)
文章代碼(AID): #1Fjjjq07 (C_and_CPP)