目录
yolo v4是一个高度优化的目标检测网络,它通过这些精心设计的组件和优化技术,实现了在保持较高检测速度的同时,也能达到较高的检测精度。
一、相关介绍(导图)
二、项目实现
在本项目中由本人及另外5位小伙伴共同收集120个jpg格式不重复的动物图片,每人分别设立不同标准的标签类型并进行各自的目标检测等。其本人的具体实现过程如下:
1.建立两个文件夹,分别命名为“img”和“mark”,其中“img”文件夹用于存放用于存放训练需要使用的图片,“mark”用于存放用于存放训练图片对应的xml标注文件(xml文件是由图像标注工具labelimg从“img”文件夹中的jpg文件进行摘取主要特征并进行分类等,将命名后的xml文件放在“mark”文件夹中)。如下图所示:
图 2 安装图像标注工具labelimg使用代码:
安装代码:(其他镜像网站地址也是可以的)
pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple
图 3 创建文件夹
图 4 原图片相关设置
图 5 标签类型设置
2.准备数据集,将自己标注的数据集整理好,通常需要将图片和对应的标签文件放在指定的文件夹内。
将训练所需的图片拷贝至jpegimages文件夹下,将训练图片对应的xml标注文件拷贝至annotations下。确保原有文件夹下没有文件及隐藏文件并且确保训练图片和标注一一对应。如下图所示:
图 6 转移文件
3.修改文件标签名称,如图所示:
图 7 更新类名列表
4. 训练自己的数据集
图 8 在pycharm中导入
图 9 运行代码步骤
其中在运行train.py中,需要完善缺少的安装包以便程序的进行等,如图所示:
图 10 安装缺失包
图 11 train.py的运行(共计迭代次数为110次)
图 12 predict.py的运行
三.结果展示
根据其实验检测的结果,另外摘取6张不同的动物图片作为测试集,其结果如图所示:
图13 测试集猫
图14 测试集狗
图15 测试集鹦鹉
图146 测试集老虎
图14 测试集熊猫
如上图所示,猫和狗的测试都是正确的,但是鹦鹉和老虎的测试为鸟和猫,实际上鹦鹉也是属于鸟类老虎也是猫科的,但是在进行标签类别划分时明确标明了鹦鹉和老虎两个类,但是并未检测出,即使最后的检测结果好像也没毛病。至于熊猫被检测为狗,本人也是……还是需要加大迭代次数等
四.实验收获与思考
通过本次实验理解深度学习在目标检测中的应用,加深对卷积神经网络(cnn)和深度学习在图像识别和目标检测领域的应用的理解;熟悉yolo v4模型结构,一个高效的目标检测模型,通过实验可以了解其架构;掌握模型训练技巧,实验中需要收集和标注动物图像数据集,了解数据预处理、增强的重要性和方法,以及模型训练过程中的损失函数、优化器选择和学习率调整策略。
最后就是误差分析和改进,通过实验结果的误差分析,可以找出模型的不足之处,并探索改进方法,如增加数据多样性、使用更复杂的模型或者采用集成学习方法。
发表评论