发布时间:2022-12-28 12:30
上周的时候yolov4作者发表了其最新研究作品yolov7,将yolo系列的模型带到了一个新的高度,突然就是感觉最新模型迭代更新的速度有点太快了一点,也就是半个月的时间间隔吧,美团先是发表了yolov6的模型,刚刚拿来体验了一把,没隔多久yolov7居然就出来了,真心感觉自己看的速度都赶不上大佬发论文的速度了。
闲话不多说还是老样子,先看效果:
这里我基于CAM将其heatmap进行了可视化,如下所示:
为了能够更加直观地对比分析,我将其二者进行叠加展示,如下所示:
建议可以先看看作者大神的论文《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors》,我还没来得及好好去看看,就想先上手这个项目实践一下,切实体验一下yolov7模型的性能。
论文地址在这里。截图如下所示:
官方提供的项目在这里。截图如下所示:
短短一周的时间就已经有2.4k+的star量,足可以yolo系列的受欢迎程度。
作者是基于COCO数据集进行的训练,在项目的README中页提供了train/test/val数据集以及对应的labels的下载链接,这个感兴趣的话可以自行前去使用,本质上讲自yolov5起模型的训练基本上所需的数据集格式都保持了一致,且模型的配置都采用了yaml的形式,这里关于数据集的格式就不介绍了,感兴趣的话可以看我前面的一篇文章。
《基于FastestDet目标检测模型实现火点烟雾检测》
这里主要是为了方便,所以使用的数据集与前面的这篇文章中所用到的数据集完全一致,所以就不再多解释了。
编写fire.yaml文件,如下:
train: train.txt # 1400 images
val: val.txt # 200 images
test: test.txt # 200 images
# number of classes
nc: 3
# class names
names: [ 'fire', 'smoke', 'blacksmoke' ]
官方提供了COCO.yaml,只需要对照着修改成自己的即可。
数据集格式对照着COCO的数据集格式来即可。
准备好数据集之后就可以启动模型的训练工作了。
默认设定了300次的迭代计算
训练输出如下:
训练过程中会对得到的权重进行存储,我们可以下载所需的权重文件进行测试,随机选取图片测试结果如下:
相信目标检测模型会有更多的应用场景,这篇文章仅仅是简单的试水,后面有时间继续研究。