前提:本文是因本人后续需参加竞赛在网上边查边做的一个集合(也是第一次写文),内容有用到别人的东西,如有侵权请联系本人进行更改或者删除。
电脑配置:windows10、1650ti
使用软件与文件:OpenCV4.5.3、VS2019、Cmake、CUDA10.2、CUDnn8.4、YOLO4
ps:本教程暂无描述步骤有报错的情况下如何解决,如果有可以去网上看看其他人的怎么做,多遇到错误下次再回来搭的时候就会更简单了。
最后修改日期:23年2月25日下午。
---------------------------------------------------------------------------------------------------------------------------
一、下载与配置OpenCV
OpenCV 4.5.3网址:OpenCV - Browse /4.5.3 at SourceForge.net
安装完成后为OpemCV添加环境变量。
win10添加变量环境操作路径为:windows设置 - 系统 - 关于 - 右边的高级系统设置 - 高级 - 变量环境。
变量名可自定义,变量值指向OpenCV在自己电脑安装的位置。
二、下载Cmake
Cmake windows x64版本:https://github.com/Kitware/CMake/releases/download/v3.26.0-rc3/cmake-3.26.0-rc3-windows-x86_64.msi
注意这里要选择第三个:
三、下载与安装VS 2019
Visual Studio 2019网址:Visual Studio 2019 Preview Release Notes | Microsoft Learn
下载器装好之后,选择 C++ 桌面开发组件,然后下载安装。
上步骤完成后,点击安装位置更改路径
这两个路径不能放到同一个文件夹中,可以在同一个主目录里创两个子目录
四、下载与安装 CUDA和CUDnn
这里就引用别的博主文章
下载与安装教程:(23条消息) Cuda和cuDNN安装教程(超级详细)_jhsignal的博客-CSDN博客_cudnn下载
检查安装是否成功:(23条消息) Windows10检查Cuda和cuDNN是否安装成功?_jhsignal的博客-CSDN博客
五、YOLOv4
下载地址:百度网盘 请输入提取码
提取码:2odz
5.1.在 darknet-master\build\darknet 路径下的 darknet.vcxproj 文件。右键,然后选择打开方式,用记事本打开;
<Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 11.5.props" />
<Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 11.5.targets" />
文件中这两个地方的版本号均需要修改为电脑安装的版本(官方默认的是11.1,我这里已经修改过了)
5.2.对上述文件夹中的 yolo_cpp_dll.vcxproj 文件也做相同的操作。
六、Cmake编译
6.1.使用GPU加速,需要修改 darknet-master 目录下的 Makefile,使用记事本打开,将 GPU=1 CUDN=1 OPENCV=1;
6.2.打开 Cmake,根据自己的电脑具体情况选择源代码与编译后的输出位置,像我这里就放在了D盘;
6.3.点击第一个 Configure,第一个选择 VS2019,第二个选择 X64;
6.4.等待完成后再点击第二个 Generate;
完成后:
6.5.点击第三个 Open Project 打开项目。
七、VS编译
7.1.这里选择 Release & x64;
7.2.右键项目,点击生成;
等待无报错之后输出提示成功;
7.3.将 darknet-master\Release 文件中的 darknet.exe 复制到 darknet-master\build\darknet\x64;
7.4.将 OpenCV\opencv\build\x64\vc14\bin 中的 opencv_videoio_ffmpeg453_64.dll 和 opencv_world453.dll (这里的数字会根据之前下载的版本不同而改变)复制到 darknet-master\build\darknet\x64 ;
7.8.将 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin(这个是CUDA默认安装路径)中的 cudnn64_8.dll 复制到 darknet-master\build\darknet\x64 ;
7.9.将 zlib 123dllx64 放到 darknet-master\build\darknet\x64 ;
下载链接:百度网盘 请输入提取码
提取码:lsr7
7.10.打开 darknet-master\build\darknet 中的 yolo_cpp_dll.vcxproj 项目文件;
7.11.选择 Release & x64 ;
7.12.选中项目;
7.13.打开属性页;
7.14.选择 VC++目录,打开库目录编辑界面;
7.15.添加 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib 路径(这是CUDA默认安装路径);
如果上述步骤没有做好则会:
7.16.选择项目,右键点击生成;
7.17.等待片刻,提示无报错完成即可。
八、图像验证测试
8.1.yolov4.weights文件:百度网盘 请输入提取码
提取码:aib0
8.2.下载后将文件放到 darknet-master\build\darknet\x64;
8.3.在 darknet-master\build\darknet\x64 目录下 的路径栏输入 cmd;
8.4.输入:
darknet.exe detector test cfg/coco.data yolov4.cfg yolov4.weights -ext_output dog.jpg
8.5. 输出: