第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)

目录

前言

1.安装cuda和cudnn11.1并配置

2.Yolov4-tiny垃圾训练步骤


前言

第七届全国大学生工程训练大赛结束也有一段日子了,成绩还不错,拿了个国一,在这里总结一下,垃圾桶上用的jetson nano4B,垃圾训练用的自己的win10电脑,当然也能在服务器上训练,这里我就详细介绍一下如何用自己的电脑+显卡进行训练,话不多说,开冲!


1.安装cuda和cudnn11.1并配置

参考:【NVIDIA】Win10 + CUDA10 + cuDNN 安装教程安装cudacudnn11.1

安装VS2019 c++python(有pycharm就不用装了,没有就装)。

下载darknet源代码(下载后我的将其放在了D盘myprojecet中):

参考:yolov4-tiny文件下载

安装好OpenCV4.0以上的版本后配置环境变量(这是我的安装路径,实际情况请按自己的路径来配置):

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第1张图片

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第2张图片

这样编写环境变量能节省字符空间。

安装完成后将这两个文件移动到darknet-master\build\darknet\x64中,

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第3张图片

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第4张图片

然后用记事本打开darknet.vcxproj查找替换中的CUDA版本为对应的版本(我的这里为11.1

 第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第5张图片

打开darknet-master\build\darknet\darknet.sln 点开属性(alt+enter)后第一步:

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第6张图片

 第二步:添加包含库、库目录

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第7张图片

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第8张图片

 第三步:添加依赖

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第9张图片

 第四步: CUDA C/C++选项中,修改device  compute值:

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第10张图片

确定保存后运行生成,将生成后的yolo_cpp_dll.lib拷贝至darknet-master\build\darknet\x64目录下即可。

参考:Windows10下编译opencv以及yolov4、yolov4_cpp_dll.dll

2.Yolov4-tiny垃圾训练步骤

将图片和xml标签文件准备好

参考:使用yolov3训练自己的数据--详细过程及问题总结,(先看)

制作xml标签文件参考:为目标检测制作PASCAL VOC2007格式的数据集

我的步骤:图片准备用python摄像头拍照程序,拍完照片后重命名,用labelImg软件标注类别:

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第11张图片

完成后将所有图片放入D:\Myproject\darknetmaster\build\darknet\x64\object\VOCdevkit\VOC2021\JPEGImages中

所有xml标签文件放入Annotations中。

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第12张图片

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第13张图片

(涉及这些文件等)

修改voc_label.py文件中的class类名称与要识别的垃圾名称对应

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第14张图片
 

 修改yolov4-tiny-train.cfg和yolov4-tiny-test.cfg文件中的class变量和 filter=(class+5)*3变量(有两处)

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第15张图片

修改coco.data文件中class变量与识别种类数量一致

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第16张图片

修改coco.name文件中的识别名称与voc-label.py中的名称顺序一致(注意最后不要加回车)

 第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第17张图片

WIN+R  打开命令行

D:      转到D盘

Cd : D:\Myproject\darknet-master\build\darknet\x64\object    转到工程路径(具体路径为自己下载好darknet的代码路径)

python Python txt.py 生成txt文件

python Python voc_label.py 生成labels训练文件(数量与xml标签文件一致)

第七届全国大学生工程训练大赛智能+赛道生活垃圾分类垃圾训练步骤(win10+yolov4-tiny)_第18张图片

Cd .. 转到上一级目录

Darknet detector train object/coco.data object/yolov4-tiny-train.cfg yolov4-tiny.conv.29开始训练

你可能感兴趣的:(Jetson,nano,机器学习,python,机器学习,cuda,opencv)