在遥感图像分析、自动驾驶等场景中,传统的水平边界框(HBox)难以精确描述具有方向性的目标(如车辆、飞机、船舶等)。旋转边界框(RBox)通过引入角度参数成为更优解,但其标注成本是水平框的3-5倍——标注员需要手动调整旋转角度,且小目标的角度标注极易出错。这种高成本导致现有数据集存在两个突出问题:
当前解决方案呈现明显的"三难困境":
我们团队在卫星图像处理项目中深有体会:标注2000张图像时,RBox标注耗时是HBox的4.2倍,且标注员疲劳后角度误差显著增大。这促使我们思考:能否设计一种方法,仅用少量HBox/点标注(10%-30%)结合大量无标注数据,达到接近半监督方法的性能?
PWOOD采用教师-学生协同训练范式,其创新性体现在三个层面:
框架工作流程分为四个阶段:
关键设计选择:采用EMA更新而非直接权重复制,使教师模型更新更稳定。实验表明EMA系数设为0.996时,模型在DOTA-v1.5上可获得1.7 mAP提升。
传统弱监督方法常将HBox直接作为旋转框训练,导致角度预测退化为零度。我们提出对称约束损失:
python复制def symmetric_loss(pred_angle, flip_angle):
# pred_angle: 原始预测角度 [0,180)
# flip_angle: 翻转后预测角度
consistency_loss = 1 - cos(2*(pred_angle - flip_angle))
return consistency_loss
该损失函数迫使模型在图像翻转前后预测一致的角度方向。在DIOR数据集上的消融实验显示,加入该损失使船舶检测的angle accuracy提升23.6%。
对于HBox标注缺失的宽高信息,我们设计基于Wasserstein距离的尺度约束:
math复制W^2 = ||μ_1 - μ_2||^2 + Tr(Σ_1 + Σ_2 - 2(Σ_1^{1/2}Σ_2Σ_1^{1/2})^{1/2})
传统方法使用固定阈值(如0.7)过滤伪标签,但存在两个问题:
CPF的解决方案:
python复制def dynamic_threshold(conf_scores):
# 使用EM算法估计GMM参数
gmm = GaussianMixture(n_components=2).fit(conf_scores)
# 计算贝叶斯最优决策边界
threshold = (gmm.means_[0] + gmm.means_[1])/2
return threshold
实测表明,CPF使小目标伪标签的保留率提升18%,同时误检率降低7%。
为缓解训练初期伪标签噪声大的问题,采用渐进式训练计划:
| 阶段 | 训练轮次 | 弱标注权重 | 伪标签权重 | 数据增强强度 |
|---|---|---|---|---|
| 预热 | 0-5k | 1.0 | 0.0 | 弱 |
| 过渡 | 5k-15k | 0.7 | 0.3 | 中 |
| 稳定 | 15k-40k | 0.3 | 0.7 | 强 |
该策略在DOTA-v2.0上使最终mAP提升2.3,尤其对小目标检测效果显著(+4.1 mAP)。
在DOTA-v1.5测试集上的性能对比(使用20%弱标注):
| 方法 | mAP | 参数量(M) | 推理速度(FPS) |
|---|---|---|---|
| FR-O (全监督) | 76.2 | 41.2 | 14.3 |
| R3Det (半监督) | 72.8 | 38.7 | 11.6 |
| PWOOD (Ours) | 73.5 | 36.1 | 16.8 |
值得注意的是,PWOOD的推理速度优于对比方法,得益于其简洁的检测头设计。
在卫星图像分析系统中,我们总结了以下工程优化技巧:
内存优化:
加速技巧:
标注工具适配:
实测案例:某型号卫星图像处理任务中,相比传统半监督方法,PWOOD使标注成本降低57%,同时检测精度保持相当(±0.8 mAP内)。
现象:在DOTA数据集中,小于32px的目标检测AP波动较大
解决方案:
python复制def size_aware_weight(area):
return 1 + 2 * sigmoid((100 - area)/20)
现象:180°周期性导致模型对对称目标角度预测不稳定
改进措施:
math复制(x1,y1,x2,y2,x3,y3,x4,y4) → (cx,cy,w,h,θ)
针对遥感数据中类别分布差异大的问题,我们设计动态采样策略:
python复制weight = (1/f_c) / sum(1/f_c for c in classes)
在DIOR数据集上,该策略使稀有类别(如桥梁)检测AP提升5.2。