在机器学习和计算机视觉领域,图像增强是一种提升模型性能的有效手段。通过生成增强后的图像并将其添加到数据集中,可以帮助模型更好地识别类别,尤其是在数据集中可能没有很好表示的条件下。例如,在识别航拍图像中的太阳能板时,可以应用亮度增强来生成不同亮度级别的照片。这将帮助模型在暗光和亮光条件下都能识别出太阳能板。
Roboflow平台提供了一个可视化界面,通过该界面可以对数据集应用23种不同的增强。在Roboflow仪表板中,可以在生成数据集时执行以下操作:选择要应用的增强以生成新图像;根据需求微调增强;可视化增强在数据集中的图像上的外观。
在Roboflow平台上应用图像增强,首先需要在平台上有数据。可以通过创建Roboflow账户,在Roboflow仪表板中选择“创建新项目”,并上传数据——无论是已标注还是未标注——到平台。如果还没有标注数据,可以使用Roboflow Annotate进行标注。
准备好标注后的数据集,选择项目侧边栏中的“版本”,然后滚动到页面的“增强”部分。这就是将应用图像增强的地方。图像增强是在数据集生成期间应用的。数据集是时间的快照,捕捉了Roboflow平台上所有数据的状态。生成增强数据是独立于训练的。这样做有几个优点。训练时间加快了,因为不需要在训练期间花费计算资源等待CPU创建增强图像。这将有助于降低训练成本,特别是在涉及大型数据集的项目中。
让应用一个增强!在Roboflow仪表板中点击“添加增强步骤”。然后,选择想要应用的增强。图像级增强应用于整个图像,而边界框级增强仅应用于边界框内的内容。增强应用于数据集版本,而不是底层数据集。这意味着增强将被添加到创建的新版本中,而不是在Roboflow中标注的源数据。因此,数据的新版本将不包含以前版本的任何增强。
对于太阳能板项目,让应用一个亮度增强:默认值是认为是应用增强的起点的通用建议。应该自行决定每个增强应该应用到什么程度。要决定应用哪些增强以及如何配置它们,请问自己:什么配置会生成反映用例的数据?在例子中,航拍图像可能在日出时拍摄,在天空晴朗的白天拍摄,在阴天拍摄,以及在傍晚拍摄。在这些时候,天空的亮度会有所不同,因此在图像中也会有所不同。因此,亮度是值得尝试的。
如果发现模型在应用这种增强后性能下降,总是可以通过回滚到数据集的早期版本来撤销增强。要选择合适的增强参数,请使用滑块:在上述示例视频中,选择了默认的15%亮度。一些图像将应用15%的亮度,其他图像将亮度减少15%。通过拖动滑块,可以看到不同范围的图像外观。例如,以下是数据显示50%亮度增强应用后的外观:从这个例子中,-50%亮度的图像看起来不错。可以取消选择“增亮”,只对生成的图像应用-50%的亮度增强。可以点击“应用”来应用增强。这将把增强添加到数据集版本页面上的列表中:可以向数据集中添加尽可能多的增强。也可以应用多个相同的增强。例如,可以同时应用+15%亮度增强、-15%亮度增强和-50%增强。还可以通过从增强选项列表中选择“裁剪”来添加裁剪增强:
准备好所有增强后,点击“继续”。然后,将被要求选择一个增强倍数。这指的是应该对每个图像应用的增强图像的数量。对于倍数中的每个图像,将随机应用选择的增强。例如,如果选择了裁剪、亮度和调整大小增强,并且倍数为2x,那么每个图像将随机应用这三个增强中的一个。选择增强倍数后,选择“生成”。然后Roboflow将生成一个新的快照——“版本”——数据,打包成一个数据集,准备使用。然后,可以使用这个数据集在Roboflow上训练模型,或者导出数据集以用于自定义训练过程。
如果正在寻找自定义训练的提示,请查看Roboflow Notebooks,这是一系列展示如何训练计算机视觉模型的笔记本。