本文章主要介绍如何使用Darknet在windows下训练自己的数据集,其中模型使用的是yolov4-tiny,数据集使用的是自己垃圾分类数据集(需要的自取:在我上传的资源中有)
PS:这是我的第一篇博客,如果不足之处请多多指正,谢谢!
知识概要:
YOLO是什么?
目标检测算法主要是由卷积层+全连接层组成
卷积层是由卷积神经网络构成,作用是对图片进行特征提取
全连接层是由目标检测特有的网络构成,如yolo系列使用的就是yolo算法来实现全连接层
值得注意的是,yolo系列的目标检测可以将卷积层进行替换其他卷积网络以实现不同的效果。yolo原作者使用的卷积层就叫Darknet。
YOLO-TINY是什么?
对于yolo大家应该很熟悉了。那么为什么要加上一个tiny后缀呢?
主要是由于深度学习的算法研究的最终目的是为了解决社会中的问题,但是由于yolo等一系列模型算法的参数太大,即使识别效果十分好但一旦部署到移动端或是嵌入式设备中进行工业的运用的话,由于硬件资源限制,导致运行速度十分缓慢甚至无法运行。所以业界为解决这一问题研究出了tiny系列的算法(仅针对于yolo模型而言,其他模型不一定是以tiny来表示轻量级优化),对yolo系列进行了轻量级的优化,在模型参数下降2/3的前提下,只降低了10%以内的准确度。
甚至不止2/3。。。。。。。。。
ok,废话不多说,我们直接进入主题。
Darknet在Windows下的安装:
这一步内容比较多,如果要详细讲的话还需要再写一篇博客。
附上yolov4官方github网站链接 和 一个b站教学视频链接,如果英文好的小伙伴可以直接看GitHub的说明进行安装,稍差的跟着up安装就可以啦。
在windows下进行Darknet安装的b站教学视频
yolov4官方GitHub
如何训练?
第一步:收集数据
1.通过爬虫收集数据集,但是要进行人工清理
2.网上寻找资源,推荐网站:和鲸社区、AI studio社区
3.自己制作数据集
ps:对于不同的深度学习框架和模型算法,需要的数据集格式也不尽相同。
本文采用的是VOC格式数据集,是适用于Darknet训练的
第二步:制作数据集
VOC格式的数据集共有三个文件夹Annotations是放标注数据xml的文件夹
JPEGImages是放原图的文件夹
ImageSets是放训练集,验证集和测试集图片路径的文件夹
数据集的标注,可以使用labelimg软件进行标注。
通过cmd进入命令提示界面,输入:
<