在开始训练模型之前,确保数据集的一致性是至关重要的一步。预处理涉及到训练集、验证集和测试集中的所有图像(与仅应用于训练集的增强不同)。Roboflow平台提供了多种预处理选项,包括自动定向、调整大小、灰度转换、自动调整对比度、隔离对象、静态裁剪、平铺、修改类别、过滤空值、按标签过滤等。下面将详细解释每个选项。
自动定向功能会去除图像的EXIF数据,确保图像在不同设备上的显示方式与其在磁盘上的存储方式相同。EXIF数据决定了图像的方向,应用程序(如Mac上的预览)会使用这些数据来以特定的方向显示图像,即使其存储方向不同。这种差异可能会悄无声息地破坏对象检测模型。Roboflow建议默认开启此功能,并检查推理时图像是如何输入模型的。如果想了解更多关于是否应该自动定向图像的信息,可以查看博客文章。
调整大小功能可以改变图像的尺寸,并可选地缩放到一组期望的尺寸。注释会成比例调整(除了下面的“填充”情况)。目前,只支持缩小尺寸。会提供一些关于哪种调整大小选项可能最适合用例的指导。
拉伸到指定尺寸:将图像拉伸到首选的像素尺寸。注释成比例缩放。图像是正方形的,可能会扭曲,但不会丢失源图像数据。
填充(中心裁剪):生成的图像是期望输出尺寸的中心裁剪。例如,如果源图像是2600x2080,调整大小选项设置为640x640,输出的调整大小是源图像的中心640x640。保持长宽比,但会丢失源图像数据。
适应内:源图像的尺寸被缩放到输出图像的尺寸,同时保持源图像的长宽比。例如,如果源图像是2600x2080,调整大小选项设置为640x640,较长的尺寸(2600)被缩放到640,次要尺寸(2080)被缩放到约512像素。保持图像长宽比和原始数据,但它们不是正方形。
填充(反射边缘):源图像的尺寸被缩放到输出图像的尺寸,同时保持源图像的长宽比,任何新创建的填充是源图像的反射。例如,如果源图像是2600x2080,调整大小选项设置为416x416,较长的尺寸(2600)被缩放到416,次要尺寸(2080)被缩放到约335.48像素。剩余的像素区域(416-335.48,或80.52像素)是源图像的反射像素。值得注意的是,Roboflow默认也会反射注释。图像是正方形的,填充了反射像素,保持了长宽比和原始数据。
填充(黑色边缘):源图像的尺寸被缩放到输出图像的尺寸,同时保持源图像的长宽比,任何新创建的填充是黑色区域。例如,如果源图像是2600x2080,调整大小选项设置为416x416,较长的尺寸(2600)被缩放到416,次要尺寸(2080)被缩放到约335.48像素。剩余的像素区域(416-335.48,或80.52像素)是黑色像素。图像是正方形的,填充了黑色像素,保持了长宽比和原始数据。
填充(白色边缘):源图像的尺寸被缩放到输出图像的尺寸,同时保持源图像的长宽比,任何新创建的填充是白色区域。例如,如果源图像是2600x2080,调整大小选项设置为416x416,较长的尺寸(2600)被缩放到416,次要尺寸(2080)被缩放到约335.48像素。剩余的像素区域(416-335.48,或80.52像素)是白色像素。图像是正方形的,填充了白色像素,保持了长宽比和原始数据。
将具有RGB通道的图像转换为具有单个灰度通道的图像,这可以节省内存。每个灰度像素的值是相应红色、绿色和蓝色像素的加权和:Y = 0.2125 R + 0.7154 G + 0.0721 B。这些权重由CRT荧光粉使用,因为它们比等权重更好地代表了人类对红色、绿色和蓝色的感知。(来源:Scikit-Image)。
增强对比度低的图像。已经探讨了是否使用对比度作为预处理步骤。对比度拉伸:图像被重新缩放以包含所有落在第2和第98百分位的强度。直方图均衡化:“在图像中分散最常见的强度值”。均衡化的图像具有大致均匀的分布,所有颜色的像素大致相等。自适应均衡化:对比度限制的自适应直方图均衡化(CLAHE)。这是一种局部对比度增强算法,它使用在图像的不同瓦片区域计算的直方图。因此,即使在比图像的大部分更暗或更亮的区域,也可以增强局部细节。(来源:Scikit-Image)。
这些功能适用于公共工作区,以及获得许可的Starter计划和企业账户。在沙盒工作区(用于商业用途,创建初始概念验证)需要高级功能的用户应该联系销售部门获取访问权限。
隔离对象:隔离对象转换将每个边界框裁剪并提取为单独的图像。这一步将对象检测数据集转换为分类数据集。在数据集中的许多类别相似的情况下,通常使用两个模型依次进行。第一个模型(对象检测)找到对象,第二个模型(分类)确定对象是什么。隔离对象转换对于创建训练第二个模型所需的数据集非常有用。
静态裁剪:平铺可以帮助检测小对象(特别是在航拍图像和显微镜下)。默认设置是2x2平铺,但可以根据自己的需要进行调整。平铺是在预处理流程中调整大小之前进行的。
修改类别:这是一个预处理工具,用于在生成数据集的新版本时省略特定类别或重新映射(重命名)类别。这些更改只影响版本,不影响底层数据集。
过滤空值:过滤空值转换允许用户要求数据集中的一定比例的图像被注释。在应用修改类别工具后被标记为null注释或“未注释”的图像是使用过滤空值时唯一受影响的。这种转换在数据集的大部分不包含感兴趣的对象的情况下非常有用。