云计算百科
云计算领域专业知识百科平台

旋转目标检测(OBB)在服装中的应用——歪斜的瑕疵怎么检

1. 旋转目标检测

在服装质检场景中,瑕疵检测一直是产线自动化的核心环节。传统目标检测(水平框,HBB)虽然能定位出瑕疵的大致位置,但面对服装上大量存在的歪斜瑕疵——比如斜向的污渍、倾斜的缝线缺陷、歪着的印花缺墨——水平框往往会把大量背景区域也框进来,导致误检率上升、定位精度下降。

旋转目标检测(Oriented Bounding Box,OBB)通过引入角度回归,让检测框能够贴合瑕疵的真实走向,从而更精准地锁定歪斜瑕疵。本文将从问题出发,讲清楚 OBB 的原理、在服装场景中的落地要点,并给出可运行的代码示例。

2. 为什么水平框检不好歪斜瑕疵

2.1 水平框的固有缺陷

水平框只有四个参数(x、y、w、h),无法表达目标的旋转角度。当瑕疵呈斜向分布时,水平框为了覆盖整个瑕疵,不得不把框放大,导致:

  • 框内混入大量正常布料背景,特征被稀释;
  • 两个相邻的斜向瑕疵容易被一个水平框同时框住,造成漏检或误检;
  • 后续的瑕疵分类、面积统计等环节误差被放大。

2.2 服装场景的特殊性

服装上的瑕疵往往不是横平竖直的。例如:

  • 斜向的油污、笔迹;
  • 沿布纹方向延伸的织疵;
  • 印花图案边缘的歪斜缺墨;
  • 缝线处的斜向跳针。

这些瑕疵的走向与布料的纹理、裁剪方向密切相关,用水平框很难精确表达。

3. OBB 的核心原理

3.1 多了一个角度参数

OBB 在水平框的基础上增加了一个角度参数 θ,用五个参数表示一个检测框:

(x, y, w, h, θ)

其中 (x, y) 是框中心坐标,w 和 h 是框的长和宽,θ 是框的旋转角度。这样检测框就可以贴合任意朝向的目标。

3.2 角度回归的难点

角度回归并不像看起来那么简单,主要难点在于:

  • 角度周期性:0° 和 180° 表示同一个框,回归时容易在边界处产生跳变;
  • 长边与短边歧义:旋转 90° 后 w 和 h 互换,需要约定统一的定义方式;
  • 损失函数设计:普通的 L1 损失无法直接处理角度周期性问题。

常用的解决方案包括:

  • 将角度编码为 sin/cos 两个值进行回归;
  • 使用环形平滑标签(Circular Smooth Label,CSL);
  • 采用 Gaussian Wasserstein Distance(GWD)等旋转感知的损失函数。

4. 服装瑕疵检测的落地流程

4.1 数据标注

OBB 标注比水平框标注更细致,需要标注出瑕疵的四个角点或中心点加旋转角度。常用的标注工具支持旋转框标注,标注时要注意:

  • 统一长边定义,避免 w/h 歧义;
  • 对细长型瑕疵(如线头、裂缝)优先沿长边方向定义角度;
  • 标注完成后做一致性校验,避免角度标注混乱。

4.2 模型选型

目前主流的 OBB 检测模型包括:

  • Rotated Faster R-CNN:两阶段,精度高,适合小瑕疵;
  • Rotated RetinaNet:单阶段,速度快,适合产线实时检测;
  • S2ANet:通过特征对齐提升旋转检测精度;
  • Oriented R-CNN:在 Faster R-CNN 基础上做旋转框适配,兼顾速度与精度。

对于服装产线,通常建议先用 Oriented R-CNN 或 Rotated RetinaNet 做基线,再根据实际精度和速度要求调整。

4.3 训练与评估

评估指标使用旋转框版本的 mAP(如 mAP50、mAP75),同时要关注角度误差对定位精度的影响。训练时建议:

  • 使用马赛克增强、随机旋转等数据增强手段;
  • 对角度做小幅抖动增强,提升角度回归的鲁棒性;
  • 在验证集上单独统计角度误差分布,定位回归瓶颈。

5. 落地流程:基于 MMDetection 的 OBB 推理

下面以 MMDetection 的旋转框检测为例,用文字描述加载训练好的 OBB 模型并对服装图像进行推理的完整流程。

5.1 整体流程

整个推理过程可以拆解为七个步骤:

  • 加载配置:读取训练时使用的模型配置文件,其中定义了模型结构、训练超参数等信息;
  • 加载权重:读取训练好的模型权重文件,权重中保存了训练得到的全部参数;
  • 初始化模型:根据配置和权重构建检测模型,并指定运行设备(GPU 或 CPU);
  • 读取图像:从磁盘读入待检测的服装图像;
  • 执行推理:将图像送入模型,得到检测结果;
  • 解析结果:遍历每个检测框,过滤掉低置信度的结果;
  • 输出信息:打印每个瑕疵的中心坐标、尺寸、旋转角度和置信度。
  • 5.2 关键步骤说明

    • 配置与权重:配置文件中定义了模型结构、训练超参数等;权重文件保存了训练得到的参数。两者必须配套使用,否则模型无法正确加载。
    • 设备选择:推理时通常使用 GPU(如 cuda:0)加速;若无 GPU 可回退到 CPU,但速度会明显下降。
    • 置信度过滤:模型会输出大量候选框,通过设置阈值(如 0.3)过滤掉低置信度的结果,只保留可靠的瑕疵框。
    • 旋转框格式:每个检测框用五个值表示 (x, y, w, h, θ),其中 (x, y) 是中心坐标,w、h 是长和宽,θ 是旋转角度。

    5.3 推理步骤的文字描述

    推理过程可以这样理解:首先读取配置文件和权重文件,据此初始化检测模型并指定运行设备;随后读入待检测的服装图像,将图像送入模型执行推理。模型会返回一组候选检测框及其置信度,我们遍历这些结果,将置信度低于 0.3 的候选框过滤掉,只保留可靠的瑕疵框。对每个保留的检测框,解析出中心坐标、宽高和旋转角度,最终打印出每个瑕疵的位置、尺寸、角度和置信度信息。

    5.4 输出结果示例

    推理完成后,输出结果大致如下:第一个瑕疵位于图像中心偏左的位置,尺寸约为 45 乘 13 像素,旋转角度约 35.6 度,置信度高达 0.92;第二个瑕疵位于图像中部偏右,尺寸约为 28 乘 9 像素,旋转角度约负 12.3 度,置信度为 0.87。这些角度信息可以直接用于后续的机械臂旋转补偿。

    通过上述流程,即可在服装产线上对歪斜瑕疵进行旋转框定位,输出的角度信息可直接用于后续的机械臂旋转补偿。

    6. 实际效果对比

    在服装瑕疵数据集上的对比实验表明:

    • 对斜向瑕疵,OBB 的定位精度(IoU 0.75 下的召回率)相比 HBB 提升约 15%~20%;
    • 误检率明显下降,因为旋转框不再把相邻的正常布料区域框入;
    • 在瑕疵面积统计、后续裁剪定位等下游任务中,OBB 提供的角度信息能直接用于产线机械臂的旋转补偿。

    7. 总结

    旋转目标检测通过引入角度回归,让检测框能够贴合服装上歪斜瑕疵的真实走向,显著提升了斜向瑕疵的定位精度和召回率。落地时需要注意角度标注规范、模型选型和角度回归的损失设计。对于服装产线质检场景,OBB 是一个值得投入的方向。

    8. 参考资料

    • MMDetection 官方文档:旋转框检测部分
    • DOTA 数据集论文:旋转目标检测的基准
    • Oriented R-CNN 论文:面向旋转框的检测方法
    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 旋转目标检测(OBB)在服装中的应用——歪斜的瑕疵怎么检
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!