YOLOv3Tiny 仅需2.17ms,OpenCV 4.2 DNN with CUDA 示例
The following article is from OpenCV学堂 Author 小庄头发很多
加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~
来源:OpenCV中文网@微信公众号
软件安装准备
1. OpenCV 4.2
2. OpenCV 4.2 contrib
3. CUDA
以及,
4. cuDNN
5. CMake
OpenCV DNN with CUDA
其中会下载一些第三方文件,可以自行下载,否则速度较慢。第一次configure完成之后,勾选BUILD_opencv_world.
以及,勾选OPENCV_DNN_CUDA,选择解压好的opencv_contrib中modules路径添加进来。
勾选WITH_CUDA。
进行第二次Configure,Configure完成之后可能会报错,此时不管他,根据GPU算力表选择合适的CUDA_ARCH_BIN值,如我的是RTX2080Ti,则将CUDA_ARCH_BIN其余值删除,只留下7.5。然后勾选CUDA_FAST_MATH,点击Configure。
等待Configure完成之后,查看是否检测到了CUDA和cuDNN,都出现YES之后,说明没有问题。这边是一个坑,需要注意,如果没有检测到的话,需要确认是否CUDA和cuDNN版本正确,否则后面的编译将不会编译CUDA模块,白白浪费时间。确认之后,点击Generate。
点击Open Project打开工程,在Release模式下右键点击ALL_BUILD,生成,时间较长。
生成之后,右击INSTALL->仅用于项目->仅生成INSTALL。
到这边就编译好了,Debug版本同理。
在测试代码中配置包含目录和库目录,添加附加依赖项,opencv_world420.lib.。
测试结果
CUDA版本(RTX 2080Ti),推理时间是2.16ms。提升了10倍左右。
顺便贴一个OpenVINO推理引擎的运行效率,大概是8.17ms左右
OpenCV和OpenCV_contrib版本要对应
在下载部分第三方库时也要找好对应版本。
勾选WITH_CUDA 、OPENCV_DNN_CUDA。
一定要查看cuDNN版本是否正确,否则几个小时的编译将是浪费时间。
最好使用VS2017版本,VS2015测试出现异常,编译失败。
-End-
*延伸阅读
红包口令【5】
↓↓↓
PS:新年假期,极市将为大家分享计算机视觉顶会 ICCV 2019 大会现场报告系列视频,欢迎前往B站【极市平台】观看,春节也学习,极市不断更,快来打卡点赞吧~
https://www.bilibili.com/video/av83390901
CV细分方向交流群
添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群(已经添加小助手的好友直接私信),更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~
△长按添加极市小助手
△长按关注极市平台
觉得有用麻烦给个在看啦~