加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~
初学OpenCV开发,配置开发环境,大家都一般都是配置为debug模式,其实时间一长就会给大家带来很多困扰,就是发现OpenCV速度比较慢,感觉有点不真实。其实这个时候只要切换到Release模式下,一行代码都不用改,程序重新编译生成一下,速度都会得到明显的提升。这个就是Debug与Release模式的不同。但是我还一直没有尝试过OpenCV DNN模块在Release模式的表现如何,今天我在编译OpenCV4.1.2时候,一时兴起在Debug与Release模式下都测试了一下DNN模块的人脸检测功能,结果我自己惊讶到下巴掉下来了。没想到差距如此之大,详细看下面的对比试验。
以人脸检测OpenCV DNN代码为例,计算后台设置为OpenCV,设备为CPU,代码如下:
net.setPreferableBackend(DNN_BACKEND_OPENCV);
net.setPreferableTarget(DNN_TARGET_CPU);
我刚开始在OpenCV4.1.2 DEBUG模式下跑OpenCV DNN的人脸检测:
实时人脸检测看上去是个梦,OpenCV DNN真相扎心,其实不用这么悲观,继续往下看。
切换到release模式下,同样的代码,运行速度如下:
没想到,居然可以对DNN模块十倍以上加速,我好喜欢Release模式,实时无压力。
修改IE加速为计算后台,其余代码跟上述保持不,变如下:
face_detector.setPreferableBackend(DNN_BACKEND_INFERENCE_ENGINE);
face_detector.setPreferableTarget(DNN_TARGET_CPU);
运行结果如下:
重写代码,使用OpenCV4.1.2最新的 DetectionModel 方式运行:
什么,CPU人脸检测居然跑到 700 FPS,如果不是事实摆在我的眼前,我自己都不敢相信,这个就是在最新OpenCV4.1.2 Release模式下使用IE加速加持之后的真实结果。真实测试1280x720的同样可以达到同等水平FPS。以后千万别跟我说OpenCV DNN速度有点慢!
最后说一下我的系统环境与硬件配置
CORE i7 8th
Windows 10 64bit
VS2015 + OpenCV4.1.2
OpenVINO2019R03
OpenCV是我自己编译的release版本!
测试视频 Frame 大小为 632x360
什么还不支持如何编译OpenCV,去看这里吧:
https://space.bilibili.com/365916694/#/
-End-
*延伸阅读
人脸检测交流群
添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可进群。(已经添加小助手的好友直接私信)
△长按添加极市小助手
其他方向如目标检测、目标跟踪、工业检测、医学影像、三维&SLAM、图像分割、姿态估计、超分辨率、嵌入式视觉、OCR 等,也可扫码添加极市小助手拉你进群,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~
△长按关注极市平台
觉得有用麻烦给个在看啦~