数据清洗是数据处理的一项重要步骤,对于深度学习算法至关重要,通常在采集到大量数据进行标注训练前需要做一些数据清洗工作。数据清洗一般包含以下方法:
一. 去除重复和冗余样本
在采集到的数据样本中,可能会存在大量重复或高相似度样本,这些数据可能会导致模型过拟合、降低模型泛化能力。可以通过感知哈希等算法去除重复样本,减少数据冗余
二. 检测和处理损坏数据
图像在采集和存储过程中可能会被损坏,这些损坏的文件无法被正确读取,无法用于训练,可能会导致训练出现错误,因此要对损坏的数据进行筛选过滤
三. 处理标注错误
在数据标注过程中,可能会出现标注错误或者不一致的情况,例如:标签分配错误、拼写错误等,需要通过人工审查的方式,对标注进行修正,确保标注的无误
四. 数据均衡
在分类检测任务中,数据集通常会出现类别不均衡的问题,某些类别样本特别多,某些类别样本特别少。这样就会在模型训练效果在样本较少的类别识别效果差
五. 数据增强
为了提高模型的鲁棒性和泛化能力,常用的手段之一是数据增强。数据增强方法有旋转、裁剪、添加噪声、调整亮度对比度、mosaic算法、CutMix算法、Cutout算法等,能够使模型更好的适应不同的场景和变化。同时,也可以利用生成对抗网络(GAN)来生成新的样本,增加数据集规模(GAN不建议使用)
六. 注意
针对不同的识别场景、不同的需求、不同的样本,需要使用的数据清洗/筛选方法也不一样,需要根据需求分析。