0
点赞
收藏
分享

微信扫一扫

欢度中秋节!从零开始实现一个月饼检测器

在这里插入图片描述

《欢度中秋节!从零开始实现一个月饼🥮检测器》

文章目录

大家好,马上要到中秋节了,今天给大家分享一个非常适合新手的Ai小项目—月饼🥮检测器,跟着我的博文,我会带你一步一步的从零开始实现属于自己的月饼🥮检测器

第一步:准备一些月饼图片

在这里插入图片描述


第二步:标注数据

由于Labelimg和Labelme安装起来比较麻烦,所以这次我选择使用make sense:https://www.makesense.ai

这是一款在线标注数据集的工具,用起来非常的方便

进入网页后点击Get Started开始使用

在这里插入图片描述

首先点击Drop images然后Ctrl+A选中整个数据集里面的图片

在这里插入图片描述

随后添加标签信息,因为我这里只检测月饼一类,所以只添加一个标签 Moon Cake

在这里插入图片描述

随后就进入了漫长的标注环节,这里大家一定要认真标注,不然对最终模型的影响还是很大的

在这里插入图片描述
请添加图片描述

大约3个小时以后就标注完毕了。。。。

我们点击Action->Export Annotation 导出yolo格式的标签文件

在这里插入图片描述

导出之后的标签文件就是这个样子的

在这里插入图片描述


第三步:划分数据集

导出后按一定比例划分训练集和验证集,我这里训练集选择了273张图片,验证集选择了31张图片

按照以下格式放置:

在这里插入图片描述

数据集准备好之后就可以着手训练模型啦


第四步:训练模型

我们这次选择yolov5模型作为基线训练

首先去yolov5的官方项目里下载代码:https://github.com/ultralytics/yolov5

也可以使用我个人基于yolov5官方项目改进的项目Yolov5_Magic:https://github.com/WangQvQ/Yolov5_Magic

我这里选择我个人改进的yolov5项目

首先在data的文件夹里新建一个MoonCake.yaml,我们要在这个MoonCake.yaml文件里放上我们数据集的路径和类别信息

在这里插入图片描述

MoonCake.yaml我们按照如下的格式书写,因为没有划分测试集,所以这里我们可以不写test的路径

新手我推荐直接写绝对路径,这样可以减少一些错误

在这里插入图片描述

接下来我们在项目里找到train.py ,在--data这里放上我们刚刚写好的MoonCake.yaml的路径

在这里插入图片描述

所以在这里放上yolov5_ShuffleNetv2的路径,当然用默认的也是可以的

在这里插入图片描述

随后我们就可以开始训练模型啦

我们可以在终端里键入:python train.py --epoch 100

当出现这样的画面的时候就说明开始训练啦,我们只要耐心的等待结果就可以了

在这里插入图片描述

我的设备是3060显卡,100轮12分钟就训练好了,最终准确率达到了86.5%,召回率达到了78.7%,效果还是很不错的,最终的模型数据就保存在红框中的路径里,记住这里,一会儿会用得到

在这里插入图片描述

接下来我们就可以找一些图片测试一下我们的模型实际的检测效果了


第五步:测试模型

找到detect.py ,将这里的权重路径换成我们刚刚训练好的那个模型的路径

在这里插入图片描述

然后找到data/images文件夹,在这个文件夹中放上我们想检测的图片

在这里插入图片描述

放完后我们就可以执行detece.py了,执行后会打印出检测后图片的路径,我们直接打开就可以看到了

在这里插入图片描述

下面就可以看到月饼的检测效果啦

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

小彩蛋🎉

在这里插入图片描述

举报

相关推荐

0 条评论