Windows下基于yolov3二维码识别与解码(环境配置+训练过程)

因为项目上需要识别QR码与DataMatrix码,在这里记录一下基于深度学习的二维码识别效果。

一、编译darknet

这里我采用的是AlexeyAB的版本

https://github.com/AlexeyAB/darknet

安装文件版本

cmake-3.20.1-windows-x86_64

opencv 4.2.0

cuda_10.2.89_441.22_win10

cudnn-10.2-windows10-x64-v8.1.0.77

1、安装CUDA与cuDNN

CUDA根据安装提示安装不作修改,cuDNN按照教程将以下文件拷贝到下面的路径

Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第1张图片

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2

2、配置OpenCV

系统环境变量添加 OpenCV_DIR = D:\opencv420\build(添加你自己的安装路径)并在Path中添加 D:\opencv420\build\x64\vc15\bin

Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第2张图片

3、用cmake编译darknet

我的VS版本是2015版本,所以选择Visual Studio 14 2015,选好后点击“Configure”直到没有红色提示,点击“Generate”就完成了编译。

Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第3张图片

编译之前需要修改Makefile文件(由于我的电脑不支持CUDNN_HALF所以没修改)

Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第4张图片

接着打开编译好的darknet.sln选择X64平台点击生成就会在Release目录下生成darknet.exe文件

Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第5张图片

二、训练模型文件

1、用labelImg标注数据

Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第6张图片

2、准备配置文件

.data文件包含类别数量与文件路径信息

Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第7张图片

我标注了QR与DataMatrix所以classes是2类

train.txt与val.txt分别是用于训练的数据和校验的数据

Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第8张图片Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第9张图片

.names文件包含了类别名称

yolov3-tiny.cfg文件在已有的基础上修改,主要有以下几项

Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第10张图片

[yolo]修改,由于我使用的是tiny.cfg所以只有两处需要修改,修改项为filters与classes

Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第11张图片

3、下载预训练文件开始训练

yolov3-tiny.conv.11

 .\darknet.exe detector train data/detect.data cfg/yolov3-detect-tiny.cfg yolov3-tiny.conv.11 -map

在此之前需要将darknet.exe以及一些文件放到

D:\darknet-master\build\darknet\x64下

cudnn64_8.dll

opencv_world420.dll

opencv_videoio_ffmpeg420_64.dll

三、效果及模型文件

Windows下基于yolov3二维码识别与解码(环境配置+训练过程)_第12张图片

资源下载

二维码识别模型 yolov3-tiny.weights

 

 

 

你可能感兴趣的:(yolo,深度学习,机器学习,opencv)