位置: IT常识 - 正文

旋转目标检测【1】如何设计深度学习模型(旋转 目标检测)

发布时间:2024-01-15
旋转目标检测【1】如何设计深度学习模型 前言

推荐整理分享旋转目标检测【1】如何设计深度学习模型(旋转 目标检测),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:旋转目标检测ssd方法,旋转目标检测ssd方法,yolov5旋转目标检测,旋转目标跟踪,旋转目标检测方法,旋转目标检测ssd方法,旋转 目标检测,旋转目标检测方法,内容如对您有帮助,希望把文章链接给更多的朋友!

平常的目标检测是平行的矩形框,“方方正正”的;但对于一些特殊场景(遥感),需要倾斜的框,才能更好贴近物体,旋转目标检测来啦~

一、如何定义旋转框

常见的水平框参数表达方式为(x,y,w,h),四个参数分别表示水平框中心的横纵坐标、宽度以及高度。常用的YOLOv5也是用这边表示方式的。

旋转框参数表示目前有两种:

五参数表示法 (𝑥,𝑦,ℎ,𝑤,𝜃),它在原来基础上添加多了一个角度𝜃,表示框的旋转情况。八参数表示法量(𝑥1,𝑦1,𝑥2,𝑦2,𝑥3,𝑦3,𝑥4,𝑦4),分别表示框的四个顶点。1.1 五参数表示法 (𝑥,𝑦,ℎ,𝑤,𝜃)

五参数旋转框表示法相比水平框多了旋转角度的信息,边界框参数可由一个5d向量(𝑥,𝑦,ℎ,𝑤,𝜃)确定,其中:

(𝑥,𝑦) 为待检测目标最小外接矩形的中心

ℎ 为该外接矩形的高

𝑤 为该外接矩形的宽

𝜃 为该外接矩形的高与x轴所呈角度

常见的五参数表示法根据角度周期的不同可分为

Opencv定义法长边定义法

在opencv法中,将与x轴成锐角的矩形边视为高,此时𝜃的取值范围为[0,𝜋⁄2),在此种定义法中,当旋转角度跨越𝜋⁄2时,定义的宽和高将进行互换,网络的回归目标也将发生突变,影响网络的收敛。针对这个问题,长边法将矩形框的长边定义为高,矩形框的短边定义为宽,此时𝜃的取值范围为[0,𝜋)。长边法能够有效的避免宽和高的互换问题。(推荐长边法)

注意:五参数表示法对边界框形状进行了限制,任何形状的边界框均表示成矩形。

1.2 八参数表示法量(𝑥1,𝑦1,𝑥2,𝑦2,𝑥3,𝑦3,𝑥4,𝑦4)

八参数表示法中并没有直接表示角度值,而是利用有序四边形中四个角坐标的方式表达旋转框,也叫有序四边形定义法。

旋转边界框可以由一个8d向量(𝑥1, 𝑦1, 𝑥2, 𝑦2, 𝑥3, 𝑦3, 𝑥4, 𝑦4)唯一确定,其中(𝑥𝑛, 𝑦𝑛)表示边界框四个顶点的坐标

 旋转框基于一个最小的外接矩形,并将左边的点看作起始点,逆时针对外接矩形相交的四个点依次表达:

优点:这种表示方法的灵活性高,边框形状可以表示为任意四边形。

旋转目标检测【1】如何设计深度学习模型(旋转 目标检测)

缺点:但是其需要回归的参数较多,计算复杂度较高,并且四个顶点之间不存在显著的区分关系,可能需要额外的后处理算法确定顶点的顺序。

1.3 存在问题与待改进

各种表示方法待改进地方:

长边表示法中角度在边界值0°和180°会重合,但此时数值上却相差180,由于角度的周期性问题而导致损失值,影响了角度的预测精度。Opencv表示法不仅会在边界值由于角度的周期性问题产生突变,旋转框的宽和高也会在边界处发生交换,由此产生边的交换问题进而导致旋转框角度和形状预测都会受到影响产生突变。有序四边形定义法虽然可以以设定的起始点进行表示,但是同样在临界处起始点容易发生位移现象,从而产生突变影响最终四边形的预测。

解析一下,什么是边的交换性(Opencv表示法存在的问题)

下图在预测目标框时,发生了宽高互换现象,Opencv定义法规定的角度值是指目标框与x轴所成的锐角。范围为[-90°, 0°),由于理想的回归方式超出了角度设定范围,需要顺时针旋转至过渡框,再进行边的交换得到最终预测框,这样的回归方式导致损失值较大。

  解析一下,什么是角度周期性问题(长边表示法和Opencv表示法存在的问题)

下图中蓝框是标签位置,角度为0°,当蓝框逆时针旋转2°时到达红框位置,此时检测框的角度为2°;当蓝框顺时针旋转2°时到达绿框的位置,此时检测框的角度为178°,这两种旋转方式的实际角度误差值很小,损失值却产生了一个周期的突变,增加了稳定收敛的难度.

提出了问题,有解决方案吗?有的,后面文章结合具体的模型设计再介绍。

二、如何设计深度学习模型2.1 模型损失函数

如果采用五参数表示法 (𝑥,𝑦,ℎ,𝑤,𝜃),那么我们重点考虑𝜃角度,如何衡量计算损失函数,有两种思路:

𝜃角度,采用分类思路,把角度划分为180个类别,每间隔一个度,划分为一个类别;所用的损失函数,可以用交叉熵损失。𝜃角度,采用回归思路,把角度值先转为弧度值,然后对弧度值进行映射(sin、cos等函数),制作为标签;然后损失函数,可以用L1(绝对值损失)或L2(均方差损失)。

这样会存在问题吗,当前有一些问啦,后面再解释原理和方案,还结合具体的案例。

如果采用八参数表示法量(𝑥1,𝑦1,𝑥2,𝑦2,𝑥3,𝑦3,𝑥4,𝑦4),那么我们可以直接四个边框顶点坐标进行回归,然后损失函数,可以用L1(绝对值损失)或L2(均方差损失)。

这样会存在问题吗,也是会的,后面再解释原理和方案。

2.2 模型结构

目标检测通常分为单阶段(YOLO、FCOS)和两阶段(R-CNN、Faster R-CNN)。

这里以单阶段YOLO为示例,看看是如何设计模型结构的,来自百度的PP-YOLOE-R

论文名称:PP-YOLOE-R: An Efficient Anchor-Free Rotated Object Detector

论文地址:https://arxiv.org/abs/2211.02386

 它是采用五参数表示法 (𝑥,𝑦,ℎ,𝑤,𝜃),在检测头的分支中,添加多一个分支进行角度𝜃预测。

后面再详细解释,这篇文章先作入门啦~

后面介绍在YOLOv5、FOCS、R-CNN等基础上实现旋律目标检测。

本文链接地址:https://www.jiuchutong.com/zhishi/296098.html 转载请保留说明!

上一篇:Yolov5算法解读(yolov1算法)

下一篇:java怎么写接口,java开发api接口教程(如何用java写接口)

  • word如何在正文前添加标题(word如何在正文上添加页眉)

    word如何在正文前添加标题(word如何在正文上添加页眉)

  • GT2手表与手机分离可以用吗(gt2能和其他手机)

    GT2手表与手机分离可以用吗(gt2能和其他手机)

  • 计算机网络由哪几个部份组成(计算机网络由哪些硬件组成)

    计算机网络由哪几个部份组成(计算机网络由哪些硬件组成)

  • 无法验证app需要互联网连接以认证(无法验证app需要互联网连接以验证是否信任开发者苹果8)

    无法验证app需要互联网连接以认证(无法验证app需要互联网连接以验证是否信任开发者苹果8)

  • pr导出格式一般用什么(pr导出格式一般选什么)

    pr导出格式一般用什么(pr导出格式一般选什么)

  • 怎么隐藏零钱通的钱数显示(怎么隐藏零钱通里面的钱数)

    怎么隐藏零钱通的钱数显示(怎么隐藏零钱通里面的钱数)

  • 抖音活跃状态是什么意思(抖音活跃状态是不是就是在线状态)

    抖音活跃状态是什么意思(抖音活跃状态是不是就是在线状态)

  • 买家怎么拉黑店铺(卖家怎么拉黑买家不让买东西)

    买家怎么拉黑店铺(卖家怎么拉黑买家不让买东西)

  • 笔记本电脑不插耳机能说话吗(笔记本电脑不插电源就关机怎么回事)

    笔记本电脑不插耳机能说话吗(笔记本电脑不插电源就关机怎么回事)

  • 华为nova7pro是什么操作系统(华为nova7pro是什么处理器)

    华为nova7pro是什么操作系统(华为nova7pro是什么处理器)

  • 网页版是什么意思(网页版的)

    网页版是什么意思(网页版的)

  • 空间厘米秀怎么关闭(空间厘米秀怎么开启)

    空间厘米秀怎么关闭(空间厘米秀怎么开启)

  • vivoy93怎么关机重启(vivoy93怎么关机开机)

    vivoy93怎么关机重启(vivoy93怎么关机开机)

  • 手机没音了怎么办(手机没音怎么回事儿)

    手机没音了怎么办(手机没音怎么回事儿)

  • 电脑怎么快速打开运行(电脑怎么快速打开记事本)

    电脑怎么快速打开运行(电脑怎么快速打开记事本)

  • 苹果手机怎么开机(苹果手机怎么开微信分身)

    苹果手机怎么开机(苹果手机怎么开微信分身)

  • 中国制造2050是什么(中国制造2050是邦信罪吗)

    中国制造2050是什么(中国制造2050是邦信罪吗)

  • 电脑屏幕休眠时间怎么调(电脑屏幕休眠时间怎么调win11)

    电脑屏幕休眠时间怎么调(电脑屏幕休眠时间怎么调win11)

  • 会声会影如何导出mp4(会声会影如何导入字幕文件)

    会声会影如何导出mp4(会声会影如何导入字幕文件)

  • 淘宝子账号如何设置(淘宝子账号如何接待顾客)

    淘宝子账号如何设置(淘宝子账号如何接待顾客)

  • vivos1防水吗(vivos1pro手机防水吗)

    vivos1防水吗(vivos1pro手机防水吗)

  • MAC怎么用Winclone备份win7还原苹果电脑系统(Mac怎么用有线网络)

    MAC怎么用Winclone备份win7还原苹果电脑系统(Mac怎么用有线网络)

  • Win11如何解决界面不断刷新 Win11界面不断刷新解决方法

    Win11如何解决界面不断刷新 Win11界面不断刷新解决方法

  • 特卡波湖岸上的羽扇豆,新西兰 (© Stanislav Kachyna/Shutterstock)(特卡波小镇旅游攻略)

    特卡波湖岸上的羽扇豆,新西兰 (© Stanislav Kachyna/Shutterstock)(特卡波小镇旅游攻略)

  • 模具费怎么入账
  • 城建税和教育费附加可以税前扣除吗
  • 税后经营净利润加折旧与摊销
  • 一个人可以做多少家公司法人
  • 买原材料怎么记账
  • 弱电系统多少钱
  • 支付劳务派遣管理费现金流量表里放在哪里
  • 收到保险公司开票怎么做账
  • 中小企业存货内部控制存在的问题以公司为例
  • 运输业务增值税
  • 外出经营活动结束纳税人应当向经营地税务机关填报
  • 企业所得税年度申报表A类
  • 个体工商年报怎么弄
  • 企业所得税逾期申报怎么补报
  • 短期借款的会计凭证
  • 出口预收货款发生的时间和报表上的时间不一样怎么办
  • 取得农产品流通环节免税发票可以扣抵吗?
  • 出口退税逾期未申报的可以申请免税吗
  • 小规模纳税人没有收入怎么报税
  • 文化建设事业费按季度申报吗
  • 冲抵货款销售返利会计分录怎么写?
  • 增值税纳税申报表怎么填
  • 进口货物取得什么证书
  • 个税申报初始密码一定要去所属税局看吗
  • 发票开出多久可以作废
  • 坏账收不回怎么做账
  • win10如何删除windows账户
  • WIN10显示缩略图
  • 银行 环保
  • 应交税费贷方余额负数表示什么
  • Linux系统中怎么定位到java代码的方法级
  • win10补丁kb5005543
  • 安克雷奇的秃鹰怎么打
  • 库存现金盘亏会计分录无法查明原因
  • 日出时的麦克拱岩,俄勒冈南海岸 (© Dennis Frates/Alamy)
  • 一二级公路增值税税率
  • php 返回
  • 季度缴纳企业所得税计算方法
  • Request获取请求数据中文乱码问题
  • vue2.
  • vue cannot set property
  • 股东投资款超过多少,必须股东会
  • 金税盘税控盘和税务Ukey有什么区别
  • 企业所得税是先预缴吗
  • 如何禁用笔记本键盘触摸板
  • 发票收到款项未付做什么凭证编制
  • 期初和期末余额是什么意思
  • 征地补偿需要去村委会吗
  • 酒店成本控制有哪些
  • sql server 视图排序
  • 收据可以入账报销吗
  • 经营性应收项目的减少调增 为什么是减
  • 会计核算的内容包括
  • 请问申报残保金怎么操作
  • 出差补助办法
  • 第三方代缴社保合法吗最新规定
  • 支付一年房租费怎么做账
  • 小规模纳税人销售自己使用过固定资产
  • 哪些行业不能开电子发票
  • 保险公司理赔款如何入账
  • 新会计准则2021执行科目
  • sqlserver的主数据库是什么
  • sql语句大全实例教程
  • linux 文件
  • 电脑游戏战争策略游戏
  • windows xp无法更改密码
  • 加强 提升 优化
  • 触发器csdn
  • linux怎么添加新用户
  • 硬盘逻辑锁源码
  • html+css网页布局
  • js格式化日期yyyy-mm-dd hh:mm:ss
  • jquery的checked
  • node.js批量添加数据
  • python中urllib.unquote乱码的原因与解决方法
  • nodejs webp
  • node使用
  • unity3d应用
  • 职称评定专业一览表
  • 委托人全权代理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号