位置: IT常识 - 正文

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

编辑:rootadmin
旋转目标检测【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写接口)

  • iqoo8pro抬起亮屏怎么设置(iqoo7抬起亮屏)

    iqoo8pro抬起亮屏怎么设置(iqoo7抬起亮屏)

  • 荣耀20有红外遥控功能吗(荣耀20有红外遥控吗)

    荣耀20有红外遥控功能吗(荣耀20有红外遥控吗)

  • qq黄钻能退款吗(qq黄钻能退款吗怎么退)

    qq黄钻能退款吗(qq黄钻能退款吗怎么退)

  • 华为mate30pro双模是什么意思(华为mate30 5g双模怎么设置)

    华为mate30pro双模是什么意思(华为mate30 5g双模怎么设置)

  • 微信怎么取消黑名单的人(微信怎么取消黑名单上的人)

    微信怎么取消黑名单的人(微信怎么取消黑名单上的人)

  • 微信号必须用手机注册吗(微信号必须用手机号才能申请吗,手机号码必须实名制吗)

    微信号必须用手机注册吗(微信号必须用手机号才能申请吗,手机号码必须实名制吗)

  • 腾讯视频录屏没有声音是怎么回事(腾讯视频录屏没有图像)

    腾讯视频录屏没有声音是怎么回事(腾讯视频录屏没有图像)

  • 微信登录失败代码10003(微信登录失败代表什么?)

    微信登录失败代码10003(微信登录失败代表什么?)

  • 朋友圈发闪现什么意思(最近朋友圈都发闪现)

    朋友圈发闪现什么意思(最近朋友圈都发闪现)

  • 抖音名字改不了怎么回事(抖音名字改不了一直说今日已达上限)

    抖音名字改不了怎么回事(抖音名字改不了一直说今日已达上限)

  • 苹果前置摄像头不可以放大吗(苹果前置摄像头有红点在闪)

    苹果前置摄像头不可以放大吗(苹果前置摄像头有红点在闪)

  • 淘宝追评什么时候才能显示出来(淘宝追评什么时候能看到)

    淘宝追评什么时候才能显示出来(淘宝追评什么时候能看到)

  • 一个人可以有几个淘宝实名账号(一个人可以有几个微信号)

    一个人可以有几个淘宝实名账号(一个人可以有几个微信号)

  • bilibili流量包怎么退订(bilibili流量包怎么取消)

    bilibili流量包怎么退订(bilibili流量包怎么取消)

  • 通过internet发送或接收电子邮件的首要条件(通过internet发送或接收电子邮件 正确的)

    通过internet发送或接收电子邮件的首要条件(通过internet发送或接收电子邮件 正确的)

  • 身份证读卡器无法读取(身份证读卡器无法读取怎么办)

    身份证读卡器无法读取(身份证读卡器无法读取怎么办)

  • 小红书有访客记录吗(小红书有访客记录没)

    小红书有访客记录吗(小红书有访客记录没)

  • 电视盒子有什么用(电视盒子有什么好玩的游戏)

    电视盒子有什么用(电视盒子有什么好玩的游戏)

  • netware是网络操作系统吗(netsh network)

    netware是网络操作系统吗(netsh network)

  • 联想管理员密码是多少(联想管理员密码忘记了怎么办)

    联想管理员密码是多少(联想管理员密码忘记了怎么办)

  • netframework40安装失败(netframework40安装未成功一般信任)

    netframework40安装失败(netframework40安装未成功一般信任)

  • 货拉拉要提前多久预约(货拉拉需要提前多长时间)

    货拉拉要提前多久预约(货拉拉需要提前多长时间)

  • 2g3g4g5g的区别(焊接2g3g4g5g的区别)

    2g3g4g5g的区别(焊接2g3g4g5g的区别)

  • 小米手环4可以接电话吗(小米手环4可以自定义壁纸吗)

    小米手环4可以接电话吗(小米手环4可以自定义壁纸吗)

  • 苹果手机怎么看有没有病毒(苹果手机怎么看wifi密码显示)

    苹果手机怎么看有没有病毒(苹果手机怎么看wifi密码显示)

  • 电脑管家怎么重装系统(电脑管家怎么重新安装)

    电脑管家怎么重装系统(电脑管家怎么重新安装)

  • 文化事业建设税怎么申报
  • 增值税怎么做账务处理
  • 服务行业人工费计入什么科目
  • 金蝶可以自动结转成本吗
  • 企业所得税季度申报表A类
  • 房地产收入成本确认
  • 企业所得税纳税调增调减怎么确定
  • 收到三代手续费返还
  • 冲回上年多提的费用会计分录
  • 代垫款收到的发票在哪里
  • 加计扣除要交企业所得税吗
  • 境内所得境外发放工资
  • 企业的其他账簿怎么做
  • 跨年度收入计算的增值税如何入账?
  • 发票添加商品编码怎么填
  • 普票抵扣税
  • 关于小规模纳税人的说法错误的有
  • 餐饮费发票税率是多少
  • 进项税额转出是什么意思
  • 个体户在银行开户
  • 财政部2019年39号第七条
  • 本月已认证发票还能撤销吗
  • 销售蔬菜免税账务处理
  • 生产企业原材料的订购与运输建模
  • 固定资产折旧转入什么科目
  • 远程怎么控制电脑
  • 酒店安装监控费用谁出
  • 炫龙dd3笔记本怎么样
  • tkinter美观界面
  • macOS 11 Big Sur beta 4值得升级吗?macOS 11 Big Sur beta 4更新详解
  • WIN10怎么禁止始终处于活动状态
  • php数组函数题目
  • 农产品销售发票抵扣政策
  • 企业租地建厂流程
  • php 数据库操作
  • AI:ModelScope(一站式开源的模型即服务共享平台)的简介、安装、使用方法之详细攻略
  • web漏洞扫描器的设计与实现
  • 政府补贴什么时候开始的
  • ffmpeg png to mp4
  • 借贷公司借钱给别的公司需要开什么会
  • mysql union和join
  • mongodb安装过程
  • 年金终值系数是指已知( ),求终值
  • 所得税多交退回分录
  • 商品流通企业存货计价方法
  • 交强险必须要买驾乘险才能投保
  • 企业给灾区捐款可以抵税吗
  • 公司刚成立没有员工需要申报个税吗
  • 小微企业能申请高新吗
  • 可以以公司名义贷款吗
  • 货物运输发票的开票要求
  • 收到返利怎么做会计分录
  • 递延所得税会计处理全过程
  • 非在职人员和其他人员的区别
  • 无形资产原值变更 摊销
  • 直接减免增值税计入其他收益
  • 营改增对企业税负影响
  • 2020年工伤赔偿标准表
  • 本月合计结账
  • 几个常见的收敛级数
  • 打印机向windows发送消息
  • Windows 2008R2 HyperV下安装CentOS6,网卡无痛设置
  • wlltweak.exe
  • ubuntu怎么解压缩文件
  • spool.exe - spool是什么进程
  • win10无法uefi
  • 电脑w7系统怎么保存图片
  • windows8为什么不好用
  • linux中sed命令
  • win7怎么截屏幕
  • linux文件批处理命令
  • view组件属性
  • 安卓机的返回键
  • 深入解析抑郁症:什么是它的表现?别小看它的危害程度!
  • 简述linux与windows相比,有哪些优势
  • 批处理 !!
  • python matplotlab
  • jquery示例
  • 一个简单的javaweb项目
  • 河南省土地使用税税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设