数据清洗是算法工作的重要组成部分,对算法模型的成功有着至关重要的作用。数据清洗总体目标是将数据中不符合算法设定的情况的数据筛除,否则会干扰模型收敛。数据清洗一种是针对“野生”数据进行清洗,然后再做进一步处理;还有一部分是已经经过一阶段清洗,还需要进行人工标注,人工标注后再做一次清洗。特别是人工标注难免会有出错的时候,错标、漏标经常难以避免。进行数据清洗最好要提前做好规划,有利于后续清洗的条理清晰。下面以个人工作总结经验:
针对分割任务;人工标注数据进行清洗;
数据情况:每种情况的数据、mask存在一个文本文件中如csv;
数据模式要提前划分好,不能有混淆。
比如空扫数据、单指、双指、三指、四指等各种情况,分别采集,其中有交叉的部分在人工标注前就应该提前裁掉,比如每次采集单多指数据的前若干帧是空扫数据,人工标注前就应该先行剔除。这样在人工标注后数据便比较容易的根据单个文件进行分情况判断、清洗。
连通域分析
单指数据标注的 mask中应该只有一个连通域;双指mask应该只有两个连通域,以此类推三指、四指、五指等。虽然实际采集过程中途可能会有手指无意抬起的情况,但这也是我们执行数据清洗的目的,将与所属模式类别不符的数据保存(注意维持编号,方便查找)拿出来进行二次人工检查,可以比直接人工筛查减少大量工作量。