Point2RBox, 点直接生成旋转框, 代码已集成至mmrotate | CVPR 2024

论文介绍

题目:Point2RBox: Combine Knowledge from Synthetic Visual Patterns for End-to-end Oriented Object Detection with Single Point Supervision

会议:2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)

论文:http://arxiv.org/abs/2311.14758

代码:https://github.com/yuyi1005/point2rbox-mmrotate

图片

创新点

  • 基于合成图案的知识组合:通过在原始图像上叠加合成的视觉图案,来模拟具有明确尺寸和方向的目标,从而帮助模型学习如何从一个单独的点出发,推断出目标的具体形状、大小和方向。这个过程允许模型从非常有限的监督中学习框的回归。

  • 基于变换的自监督:通过强制模型学习图像变换(翻转、旋转和缩放)后目标的一致性表征,提高模型对目标尺寸、位置和方向估计的准确性和鲁棒性。

  • 端到端框架:Point2RBox是点监督的端到端解决方案,与先将点注释转换为水平框(HBox)或掩膜(Mask)然后再转换为RBox的两步方法形成对比。这种直接方法既创新又节省计算资源。

图片

区别于现有的两种“Point-to-RBox”的方式:

  • Point-to-HBox-to-RBox

    简单的结合P2B和H2RBOX两种算法,缺点是可能带来累积误差,即把P2B结果作为了真值。

<think>好的,用户想了解或实现旋转相关的自动模型,涉及计算机视觉中的物体检测和图像处理。首先,我需要整理旋转检测的基本概念和应用场景。旋转不同于传统的水平矩形,能够更精确地标注倾斜或密集的物体,这在遥感、自动驾驶和文档分析中特别有用。 接下来,应该介绍主流的旋转检测模型。例如,RoI Transformer和S2ANet,这些模型通常基于Faster R-CNN等架改进,加入旋转角度参数。需要说明它们的网络结构,如特征提取、旋转区域生成、角度回归等模块。同时,要提到数据增强技术,比如旋转和仿射变换,这对提升模型鲁棒性很重要。 然后,可能需要涉及损失函数的设计,如角度回归的周期性处理,使用交叉熵或Smooth L1损失。另外,评估指标如mAP的计算方式也需要调整,考虑旋转的交并比(IoU)计算方法,比如使用旋转矩阵或多边形顶比较。 用户可能对实现步骤感兴趣,所以应该分步说明:数据准备(标注格式如cx, cy, w, h, θ)、模型选择(MMRotate等开源架)、训练调参(学习率、数据增强策略)、部署应用。此外,还要提到挑战,比如角度周期性带来的回归难度,以及密集场景下的漏检误检问题。 最后,生成相关问题时要覆盖算法原理、实际应用、数据标注工具、性能优化和与传统检测的对比。确保引用相关文献,比如RoI Transformer和MMRotate的论文或文档,以增强可信度。同时,注意使用中文回答,保持结构清晰,技术细节准确,符合LaTeX格式要求。</think>### 旋转自动检测模型详解 旋转检测是计算机视觉中针对倾斜或密集物体的检测任务,其边界包含中心坐标$(x_c,y_c)$、宽高$(w,h)$和旋转角度$\theta$,表示为$(x_c,y_c,w,h,\theta)$[^1]。 #### 核心原理 1. **旋转表示方法** 常用角度参数化方式: - 直接回归角度$\theta \in [0,180°)$或$\theta \in [-90°,90°)$ - 使用$\sin\theta$和$\cos\theta$组合回归 2. **网络架构改进** 典型模型如RoI Transformer[^3]: $$ \text{Feature Map} \rightarrow \text{Rotated RoI Align} \rightarrow \text{Angle Regression} \rightarrow \text{Box Refinement} $$ #### 实现步骤 1. **数据准备** - 标注格式示例:`PASCAL VOC`扩展格式或`DOTA`数据集格式 ```xml <object> <rotated_bndbox> <cx>320.5</cx> <cy>240.3</cy> <w>45.2</w> <h>30.1</h> <angle>-30.5</angle> </rotated_bndbox> </object> ``` 2. **模型选择** - **MMRotate**(OpenMMLab开源架) - **DRN**(动态精炼网络) - **R3Det**(密集场景优化) 3. **关键代码模块** ```python # 旋转IoU计算示例 def rotated_iou(box1, box2): # 将旋转转换为多边形坐标 poly1 = cv2.boxPoints(tuple(box1)) poly2 = cv2.boxPoints(tuple(box2)) # 计算多边形交并比 return poly_iou(poly1, poly2) ``` #### 技术挑战与解决方案 | 挑战 | 解决方法 | |------|----------| | 角度周期性 | 使用交叉熵分类代替回归[^4] | | 密集目标检测 | 动态标签分配策略 | | 小目标检测 | 特征金字塔网络增强 | #### 应用案例 1. **遥感图像**:飞机、船舶检测(DOTA数据集) 2. **文档分析**:表格结构识别 3. **自动驾驶**:路边交通标志检测
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值