WIN10实现YOLO v3编译

系统:win10家庭版
显卡:GTX1660Ti
驱动版本:441.22
cuda版本:10.2.89
cudnn版本:7.6.5.32
vs版本:2015
opencv:3.20

1.cuda、cudnn安装
参考:https://blog.csdn.net/u013925378/article/details/91046639

2.vs2015安装
参考:https://jingyan.baidu.com/article/adc81513bba93ef723bf73ce.html

3.opencv配置
参考:https://blog.csdn.net/gcs6564157/article/details/72870257

4.darknet下载
摘自一名叫小花同学的妹子的一片博客:https://blog.csdn.net/Yvette_Lucifer/article/details/82856664

链接:https://pan.baidu.com/s/18FYScT9DSRaS7et520wN4Q
提取码:i20h

https://github.com/AlexeyAB/darknet#how-to-use

yolov3.weights下载:https://pjreddie.com/media/files/yolov3.weights

5.解压darknet-master.zip,并进入…\darknet-master\build\darknet,用记事本或者notepad++打开darknet.vcxproj,修改其第55行和第293行

将CUDA 9.1替换为CUDA 10.2(注意中间有一个空格)
在这里插入图片描述
在这里插入图片描述
6. 进入…\darknet-master\build\darknet中,没有GPU的打开darknet_no_gpu.sln,有GPU的打开darknet.sln,将项目修改为Release x64。

7.配置项目属性
先配置opencv环境变量:
我的电脑—>属性—>高级系统设置—>高级—>环境变量—>系统变量—>path—>编辑,
将OpenCV安装目录的bin目录添加进去::…\opencv320\build\x64\vc14\bin

VC++目录》》包含目录和库目录,添加:
在这里插入图片描述
链接器》》输入,添加opencv_world320.lib
在这里插入图片描述
8.拷贝CUDA 10.2.props等文件:
CUDA 10.2.props 等文件在cuda的安装目录下:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\visual_studio_integration\MSBuildExtensions
在这里插入图片描述
拷贝所有文件到:C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations

9.darknet工程重新生成解决方案,没有报错。
在这里插入图片描述
成功后会在…\darknet-master\build\darknet\x64目录下生成一个darknet.exe,然后将…\opencv320\build\x64\vc14\bin下的opencv_world320.dll 和opencv_ffmpeg320_64.dll 复制到 darknet.exe的同级别目录下。
在这里插入图片描述
把下载好的yolov3.weight权重文件也放在…\darknet-master\build\darknet\x64里面。双击darknet_yolo_v3.cmd即可出现下面的结果。
在这里插入图片描述
在这里插入图片描述
也可cmd到…\darknet-master\build\darknet\x64目录下输入命令完成。

darknet.exe detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 person.jpg

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(注意:person.jpg图片在…\darknet-master\build\darknet\x64\data目录下,需要将其复制到…\darknet-master\build\darknet\x64目录下才可对其进行检测)

错误记录:

C4996    'cudaThreadSynchronize': 被声明为已否决
    cudaThreadSynchronize()在cuda10.0以后被弃用,可以用 cudaDeviceSynchronize() 来代替。

在这里插入图片描述

参考链接:
https://blog.csdn.net/Yvette_Lucifer/article/details/82856664 (小花同学:YOLO V3在windows下配置)

https://blog.csdn.net/qq_36492210/article/details/80421393 (YOLOV3+Windows7+vs2015安装过程)

https://github.com/AlexeyAB/darknet#how-to-use (GitHub:Yolo-v3 and Yolo-v2 for Windows and Linux)

YOLO(You Only Look Once)是一种实时目标检测算法。YOLO v3YOLO的第三个版本,它采用了新的Darknet架构,并具有更高的准确性和更快的速度。它可以同时识别成千上万个目标,因此它适用于大规模场景和实时视频应用程序。YOLO v3的原理和实现如下: 原理: YOLO v3的核心原理是将图像分成不同的网格单元,这些单元是由卷积层创建的。然后,在每个单元中,使用边界框来检测物体,并使用神经网络对物体进行分类。一旦所有单元都完成分类和定位,算法将把它们的输出合并起来,生成最终的检测结果。 实现: - 输入层: YOLO v3的输入层是一张图像,这张图像是通过Darknet预处理后输入到网络中的。 - 特征提取层: 特征提取层采用了卷积神经网络来提取输入图像的特征。该层包含多个卷积层和池化层。 - 检测层: 检测层是整个算法的核心。该层采用具有跨通道卷积的残差网络结构,并通过使用边界框来定位物体。 - 非极大值抑制(NMS)层: NMS层用于通过筛选掉过多的框来提高检测数据的质量,例如降低重复检测率。 - 类别的softmax层: Softmax层用于根据先前分类预测来确定每个物体的类别。 总结: YOLO v3 算法的原理和实现很简单,它能实现实时物体检测,具有较高的检测准确度和速度,适用于大规模场景和实时视频应用程序。 它目前被广泛应用于许多行业,例如安防监控、自动驾驶汽车和人脸识别等方面。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值