@yolo v4 图像识别实现
yolo v4 图像识别实现
1、源码下载
https://github.com/AlexeyAB/darknet
2、环境准备
要求
平台:Windows或Linux
环境要求:
CMake> = 3.12:https : //cmake.org/download/
CUDA 10.0
OpenCV> = 2.4 使用vcpkg从源代码构建或从OpenCV官方网站下载(在Windows上,设置系统变量OpenCV_DIR=C:\opencv\build- include和x64文件夹图像)
CUD 10.0 的cuDNN> = 7.0 https://developer.nvidia.com/rdp/cudnn-archive
3、编译(Windows版本)
(参考:https://www.freesion.com/article/2527903651/)
3.1、环境配置
CUDA 10.0+cudnn-10.1-windows10-x64-v7.6.4.38+OpenCV 3.4.11-vc14_vc15
(详见博客:https://editor.csdn.net/md?articleId=107891502)
3.2、visual Studio 2017 打开build\darknet\darknet.sln,设置x64并释放
3.3、项目配置
(1)同时检查注意检查Windows SDK版本和平台工具集
3.4修改包含目录和库目录
添加opencv3.4的包含目录和库目录(按照自己的opencv3.4的路径)
(右键单击项目)->属性-> C / C +±>常规->其他包含目录,放在这里:
D:\opencv\build\include
D:\opencv\build\include\opencv
D:\opencv\build\include\opencv2
库目录:
D:\opencv\build\x64\vc15\lib
3.5.附加依赖项
添加附加依赖项(按照自己的opencv3.4的路径)
D:\opencv\build\x64\vc15\lib\opencv_world3411.lib
3.6、构建->构建Darknet
编译后在darknet\build\darknet\x64\ 目录下生成可执行文件darknet.exe:
3.7、下载YOLOV4预训练权重文件
下载后拷贝到
D:\darknet\build\darknet\x64 下
完成了以上所有环境的配置,即可使用开源权重 yolov4.weights实现目标检测,方法如下:
yolov4.weights: 添加链接描述
(1)图片检测
在D:\darknet\build\darknet\x64\ 目录下CMD执行:
darknet.exe detector test cfg\coco.data cfg\yolov4.cfg yolov4.weights data\dog.jpg
结果如下:
(2)视频检测:
调用本地摄像头实时监测,在D:\darknet\build\darknet\x64\ 目录下CMD执行:
darknet-master\build\darknet\x64>darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights
检测本地已有视频,在D:\darknet\build\darknet\x64\ 目录下CMD执行:
darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights data/test.mp4
结果示例:
4、训练自己的数据集
(详见博客:https://editor.csdn.net/md/?articleId=107878846)
D:\opencv\build\x64\vc15\lib
5、自己的模型进行检测(图片&视频)
5.1
训练后,请使用以下命令进行检测:对以下命令中:
darknet.exe detector test cfg\coco.data cfg\yolov4.cfg yolov4.weights data\dog.jpg
coco.data、 cfg、及weights文件改为自己训练的相关文件即可。