Mosaic数据增强会从训练集中取多张图像,把它们缩放并放到同一画布的不同区域,再把相应检测标注映射到新坐标。它改变了目标的相对尺度、背景组合与每张训练样本中的对象密度。模型因而能看到更多位置和上下文变化,但前提是像素与标签始终同步。只要一个缩放比例、裁剪边界或偏移量写错,训练仍会运行,监督信号却会系统性偏移。
先确定画布十字,再决定每张图保留哪一块
设最终画布宽高固定,随机采样一个拼接中心,把画布分成左上、右上、左下和右下四个目标区域。每张原图按策略缩放后,与对应区域计算交集;目标画布坐标决定写到哪里,原图坐标决定从缩放图的哪一段取像素。二者的宽高必须完全相等,否则赋值时会报错或发生隐式错位。
- 为当前样本选取四个索引,并明确是否允许同一图重复出现。
- 采样拼接中心与各图尺度,计算缩放后的宽高。
- 分别求四个象限的画布切片和源图切片。
- 复制像素并记录该图的缩放比例与目标区域偏移。
- 用同一组参数变换标注,随后统一裁剪和过滤。
拼接中心的分布控制四个区域的面积。如果中心总在画布正中,增强多样性有限;范围过宽时,某些象限只剩极窄条带,大量目标会被裁到不可辨认。较稳妥的做法是把中心限制在画布附近的合理区间,并统计各象限实际占比,而不是只确认最终图像尺寸正确。

边界框要按缩放、平移、裁剪的顺序变换
以角点框为例,先把原坐标乘以横纵缩放比例,再加上该图在画布上的偏移;然后把四个坐标限制到画布边界。若源图还经过翻转、旋转或透视变换,就必须把这些操作纳入同一几何链,并对框角点或分割多边形使用相应矩阵。不要先裁框再缩放,也不要用图像整数取整后的比例去混算浮点标签。
x1' = clip(x1 × scale_x + offset_x, 0, canvas_w);y1' = clip(y1 × scale_y + offset_y, 0, canvas_h)
裁剪后仍需过滤退化标注。宽或高接近零的框没有学习价值;保留面积相对原框太小的目标可能只剩难以识别的碎片;极端长宽比也可能是被十字线切坏的结果。阈值应结合任务中真实小目标分布设定,不能为了图面整齐把所有小框都删除。
| 过滤信号 | 想排除的问题 | 需要防止的副作用 |
|---|---|---|
| 最小宽高 | 零面积和一像素碎片 | 误删合法微小目标 |
| 保留面积比例 | 目标被大幅裁断 | 遮挡场景覆盖不足 |
| 长宽比上限 | 细条状错误框 | 排除本就细长的类别 |
| 中心是否可见 | 只剩边角的无效标签 | 与现有匹配规则冲突 |
它与MixUp、Cutout、CutMix改变的对象不同
MixUp对两张图的像素和标签按权重混合,画面会出现半透明叠加;Cutout遮住一个区域但通常不引入另一张图;CutMix把另一张图的局部贴进来,并按任务规则处理标签;Mosaic则把多张图放进不同空间区域,目标标签仍对应可见实例。分类任务中的标签比例不能直接照搬到检测任务,检测需要保留每个实例的位置和类别。
增强名称相似不代表标签策略相同。先写清楚像素发生了什么,再推导标签应该如何变化,能避免在不同任务之间复制错误实现。

Mosaic还会改变一个批次中目标数量和尺度分布。大图被压进象限后,小目标比例可能上升;多张图共存也会增加单样本框数。数据加载器的最大标注数、内存预估和损失归一化方式都要重新检查。若后期训练需要贴近真实图像分布,可以在最后若干阶段降低或关闭Mosaic概率,但具体安排应通过对照实验决定。
组合增强时维护一条明确的坐标变换链
若先做颜色变化,再做Mosaic,颜色操作不会改变坐标;若加入随机透视、翻转或裁剪,标注必须和像素共享同一变换对象。建议每次变换返回新图、标签和变换记录,避免不同函数各自猜测前一步状态。对分割、关键点和旋转框任务,简单角点裁剪可能不够,还要处理多边形截断、关键点可见性或角度规范化。
- 几何操作使用可追踪的矩阵或显式比例与偏移。
- 光度操作只改像素,不应悄悄改变标注数组。
- 最终统一检查坐标范围、有限数、类别索引和实例数量。
- 验证与推理管线关闭随机拼接,保持真实输入分布。
质检要看分布,也要逐张看错位
单元测试可以用四色图和预设方框:每张源图颜色不同、框位置已知,固定拼接中心后即可精确断言像素区域和新坐标。再覆盖图像小于区域、图像大于区域、框跨越裁剪线、空标注图和最小画布等边界。随机测试则检查所有框都在范围内、面积为正、输出始终可解码。
训练前随机渲染数百张结果,把框、类别和来源象限画在图上,并统计每类保留率、框面积分布、裁剪比例与空样本比例。若某一类常位于边缘而被大量过滤,Mosaic可能放大数据偏差。最后用无增强、单独Mosaic和组合增强三组实验比较收敛、总体指标及小中大目标切片,才能判断收益是否来自正确的几何多样性。
Mosaic的可靠实现可以概括为一张双向清单:每次像素变换都能指出标签对应的数学变化,每次标签过滤都能解释它排除哪类无效监督。做到坐标链可追踪、退化规则可统计、样本结果可视化,四图拼接才是可控的数据扩展,而不是把标注噪声藏进一张热闹的画布。
本文《四张图拼成一个训练样本:Mosaic的坐标变换、裁剪与标注质检》由 xkmchenmu 发布于 xkmchenmu Blog。 转载请保留原文链接并注明出处。
支付宝扫一扫