YOLO-MASK对图像数据集进行清洗

时间:2024-04-14 14:50:43

一、前情介绍

之前在捣鼓yolo系列模型,尝试着对coco的羊数据集进行训练,可是发现不管怎么调参,Map一直在60几,死活上不了70。
后来在一位资深老算法师的指点下,才明白,精度很大程度取决于数据集,因此一直围绕着数据集进行优化,这篇博客大概记录了对脏数据的清洗方法。

二、下载模型

代码地址:https://github.com/AlexeyAB/Yolo_mark

因为该模型是使用了底层工具开发的,所以笔友们在使用前需要先安装VS studio(博主装的是VS studio 2019),CMake(CMake安装可以使用VS或者自己下包安装),opencv(博主装的是opencv4.2)
具体安装可以参照此博客

三、模型安装

在安装Yolo_mask之前,请笔友们先安装CMake和OpenCV,安装结束后导入main.cpp文件(根文件中)
YOLO-MASK对图像数据集进行清洗
点击属性→VC++目录→包含目录与库目录,将opencv这个库导进去,具体教程网上很多,这里写下来篇幅就更长了,故一笔带过。
YOLO-MASK对图像数据集进行清洗
注!!!一定有要根据自己的系统位数,博主的系统是64位的,平台要选择x64,如上图,配置一定要选择活动(Release),不要默认为debug,无法运行!!!

四、运行与结果

4.1 配置文件
首先将数据集的image和label文件复制粘贴进img文件中
YOLO-MASK对图像数据集进行清洗
然后修改下data文件和names文件
YOLO-MASK对图像数据集进行清洗

YOLO-MASK对图像数据集进行清洗
点击yolo_mark.cmd脚本文件,会自动弹出终端窗口,以及操作界面,具体如下:
YOLO-MASK对图像数据集进行清洗
YOLO-MASK对图像数据集进行清洗
YOLO-MASK对图像数据集进行清洗
此时,我们就可以对数据进行处理了,通过这个脚本文件可以看出哪些是遮挡严重或者标注不正确的数据(黄线为标注不正确的label),如下:
YOLO-MASK对图像数据集进行清洗
YOLO-MASK对图像数据集进行清洗
最后,对这些脏数据进行清洗,就可以提高模型map,博主就是通过这种方式,将模型精度从最开始的67,直接飙到了89,不吹不黑,精度靠数据,性能靠硬件。