数据切分的艺术与实践

计算机视觉领域,数据切分更像是一门艺术而非科学。随着项目范围的扩大和对“最佳”定义的不断重新界定,可能需要多次经历这一过程。传统上,这一直是计算机视觉中的一个难题,因为在标记阶段选择类别名称是首先要做的事情之一。后期更改通常意味着需要重新标记图像,这既耗时又昂贵。

在完成这个项目后,Roboflow 提出了一些经验法则,以减轻迭代过程的痛苦,并提供了一些工具来帮助更快地进行实验。相关视频提供了关于类别和本体管理的额外信息。别忘了订阅YouTube频道!

图像标记提示

Roboflow 推荐在标记阶段遵循以下最佳实践进行本体管理:

尽可能标记最具体的类别。将类别合并为更广泛的类别比将一个类别拆分为更具体的部分要容易得多。例如,如果正在为清洁机器人创建数据集,会想要为餐桌、咖啡桌和边桌创建标签,而不是为桌子创建一个单一的类别,因为如果有一天需要机器人对不同类型的桌子有不同的行为,将不得不支付费用让某人回去重新对每个桌子进行分类,而不是简单地使用像Roboflow这样的工具合并类别。

确保所有标记者都在同一页面上。例如,如果自动驾驶汽车数据集中有一个半挂车类别,整个车辆包括拖车是否都被标记为半挂车,还是只有驾驶室?无论哪种方式都是有效的,但重要的是它们都被以相同的方式标记。

确保有一些空值示例。当模型部署到现实世界时,它并不总是能找到它正在寻找的东西。如果正在训练一个浣熊探测器,并且只给它提供浣熊的照片,它将学会认为一切都是浣熊,因为它不知道狗、猫和人的存在。

但不要太多空值示例。同样,如果有太多的空值示例,模型可能会学会最小化其损失函数的最佳策略是永远不预测任何东西!确保拥有多个类别同时出现的例子,如果这是现实世界中可能遇到的情况。例如,如果正在收集用于调查珊瑚礁的鱼类图像,会想要确保拥有多个鱼类的例子,而不是每个图像中只有一条鱼。

使用Roboflow进行帮助

幸运的是,RoboflowPro内置了多个功能,以帮助进行标签管理和本体,高级预处理和高级增强功能可以帮助纠正空值图像过多或过少的问题,并确保拥有广泛的包含多个类别的图像混合。

修复拼写错误和命名冲突。让面对现实,有时标记者会犯错误。也许最终得到了一些turck或Truck标签,而卡车标签却很少。或者也许其中一个注释者是英国人,他把婴儿车称为pram或carriage。或者也许最终只得到了一些黄灯,并希望完全删除它们。传统上,必须手动过滤或更正这些。Roboflow的计算机视觉数据集管理工具使这变得容易。只需添加“修改类别”预处理步骤并选择设置。

删除数据集中代表性不足的类别和修复拼写错误。通常,会想要将类别合并为一个类别。例如,如果想让模型在无人机数据集中将喷气式滑雪板、汽车和船都视为车辆,可以使用修改类别预处理步骤来实现这一点。与自己这样做不同,Roboflow的预处理步骤是非破坏性的,所以总是可以回到原来的本体,如果决定实际上需要区分船和喷气式滑雪板。

有时想要只训练数据集的一部分。例如,如果有一个珊瑚礁数据集,但只想在该数据集中的鲨鱼图像上训练模型,可以关闭所有其他类别并只提取鲨鱼。关闭所有其他标签。然后,可以使用过滤空值预处理步骤来删除所有现在未标记的图像,因为它们不包含鲨鱼。删除所有现在没有标签的图像,因为为非鲨鱼省略了边界框。

实现适当的空值图像数量。许多数据集包含大量的空值图像。例如,在使用航拍图像时,将图像划分为几个较小的图像是很常见的,其中大部分可能是空的草原或森林。会希望模型学习到有些图像没有主题存在,但不希望它倾向于预测每个图像都是空的。所以可以允许一些空值图像通过,同时过滤掉大部分。选择最佳数量的空值图像允许是一个有点艺术性的工作,Roboflow使实验多种值变得容易。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485