当前位置: 首页 > news >正文

角度回归——八参数检测四边形RSDet

文章目录

  • 一、介绍
    • (一)五参数检测方法( 基于角度)
    • (二)八参数检测方法(point-based)的边界
    • (三)五参数检测的调制旋转损失
    • (四)八参数检测的调制旋转损失
    • 附录:真值设计

一、介绍

遥感目标检测 RSDet 是四边形检测器,而且都考虑到了顺序标签点(sequential label points)的问题。

  • https://arxiv.org/abs/1911.08299

我们首先介绍两种主流的边界框参数化协议,即五参数模型和八参数模型。然后,我们正式识别了五参数系统中旋转角度的不连续性及其导致的宽高突变。此外,我们定量地展示了五参数系统中由不同测量单位引起的回归不一致性带来的负面影响。我们将这些问题统称为旋转敏感误差 ( Rotation Sensitivity Error,RSE),并提出了一种针对五参数系统的调制旋转损失函数,以实现更平滑的学习。我们进一步指出,即使是改进的八参数系统仍然存在损失不连续性的问题,然后为八参数系统设计了相应的调制旋转损失函数。

(一)五参数检测方法( 基于角度)

在当前常用的旋转检测框的角度定义下,由于存在旋转角度的边界问题,会产生不必要的损失!
在这里插入图片描述

(二)八参数检测方法(point-based)的边界

如果是蓝框是anchor,红框是ground-truth,那么通过点的排序之后,实际和理想的回归方式是一样的(按照回归的距离定义)
在这里插入图片描述

(三)五参数检测的调制旋转损失

损失不连续性仅发生在边界情况下,如图 6a 所示。在本文中,我们设计了以下边界约束来调节损失,称为
调制旋转损失 lmr
在这里插入图片描述
在这里插入图片描述

其中,lcp 是中心点损失。

lmr 中的第一项是lcp。第二项是用于使损失连续的校正,它通过消除角度周期性和高宽可互换性来实现。这种校正可以看作是关于突变位置的对称性。最后, 取校正中的最小值。

在实际应用中,通常使用边界框回归的相对值来避免不同尺度的物体造成的误差。
在这里插入图片描述
在这里插入图片描述

(四)八参数检测的调制旋转损失

为了避免固有的回归不一致性,最近开发了八参数表示 [42,46, 47]。具体而言,基于八参数回归的检测器直接对物体的四个角进行回归,因此预测结果为四边形。四边形回归的关键步骤是预先对四个角点进行排序,这样即使姿态预测正确,也能避免很大的损失。对于顶点顺序,我们采用基于叉积的算法来获取四个顶点的序列,详见算法 1。

几何排序:

  • 采用叉积算法对预测角点强制排序:
    • 确定最左侧点(水平矩形时取上方点);
    • 通过叉乘找到对角点;
    • 按顺时针/逆时针顺序确定剩余点
      在这里插入图片描述

需要注意的是,该算法适用于凸四边形,并且我们在这里使用顺时针顺序进行输出,且不失一般性。算法 1 与深度匹配先验网络 [46] 中提出的算法类似。

然而,八参数回归模型中仍然存在损失不连续性。
在这里插入图片描述

例如,我们可以假设一个真实框可以用角点序列 a → b → c → d 来描述(见图 2 中的红色框)。然而,当真实框稍微旋转一个小角度时,角点序列就变成了 d → a → b → c(见图 2 中的绿色框)。因此,考虑边界情况下的八参数回归的情况,如图 4b 所示。
在这里插入图片描述

从蓝色参考框到绿色真实框的实际回归过程是 {(a → a), (b → b), (c → c), (d → d)},但显然理想的回归过程应该是 {(a → b), (b → c), (c → d), (d → a)}。这种情况也导致了模型训练困难和回归不平滑。

这里,我们设计了八参数版本的调制旋转损失函数,它由三部分组成:

i) 将预测框的四个顶点顺时针移动一位;
ii) 保持预测框顶点的顺序不变;
iii) 将预测框的四个顶点逆时针移动一位;
iv) 取上述三种情况下的最小值。

消除了旋转检测中回归不一致性和损失不连续性的问题。
在这里插入图片描述

方法关键点表示顺序控制策略边界问题解决方案
Gliding Vertex水平框+偏移比例固定水平框顶点顺序倾斜因子过滤近水平目标
RSDet直接回归排序角点几何排序算法+调制损失多候选匹配+损失归一化

两者的设计均针对旋转目标检测的挑战,Gliding Vertex通过间接回归简化问题,而RSDet通过损失函数优化直接处理角点顺序。

附录:真值设计

在这里插入图片描述

例如,我们可以假设一个真实框可以用角点序列 a → b → c → d 来描述(见图 2 中的红色框)。然而,当真实框稍微旋转一个小角度时,角点序列就变成了 d → a → b → c(见图 2 中的绿色框)

http://www.xdnf.cn/news/586315.html

相关文章:

  • MIPI摄像头linux驱动开发步骤及说明
  • Python 数据分析基础
  • 差分探头匹配电容选择方法
  • [Linux]Linux多线程编程技术探讨(代码示例)
  • LeetCode[222]完全二叉树的节点个数
  • GraphPad Prism工作表的基本操作
  • python、R、shell兼容1
  • 深入解析Java泛型:从定义到实战应用
  • LangChain文档加载器实战:构建高效RAG数据流水线
  • 使用RUST在Arduino上进行编程(MacOS,mega板)
  • 记录Pycharm断点调试的一个BUG
  • 6.13.拓扑排序
  • 结课作业自选01. 内核空间 MPU6050 体感鼠标驱动程序(二)(完整实现流程)
  • 网络编程 之 从BIO到 NIO加多线程高性能网络编程实战
  • 嵌入式学习笔记 - Void类型的指针
  • FFmpeg解码器配置指南:为什么--enable-decoders不能单独使用?
  • YOLOv11 性能评估与横向对比
  • Vault应用广吗?我是否有学习使用的必要,难不难?
  • 解码工业转型密码,R‘AIN SUITE赋能制造业价值跃迁
  • labview设计一个虚拟信号发生器
  • 齿轮,链轮,同步轮,丝杆传动sw画法
  • 训练一个线性模型
  • Linux 线程(中)
  • 基于FPGA控制电容阵列与最小反射算法的差分探头优化设计
  • 使用pm2 部署react+nextjs项目到服务器
  • (Java基础笔记vlog)Java中常见的几种设计模式详解
  • java接口自动化(四) - 企业级代码管理工具Git的应用
  • 理解全景图像拼接
  • 动态网页爬取:Python如何获取JS加载的数据?
  • Jenkins与Maven的集成配置