checkbox wpf 改变框的大小_【论文阅读】倾斜目标范围框(标注)的终极方案

e988b8dd3ddb710fba96bc74cb4a376e.png

前言

最常用的斜框标注方式是在正框的基础上加一个旋转角度θ,其代数表示为(x_c,y_c,w,h,θ),其中(x_c,y_c )表示范围框中心点坐标,(w,h)表示范围框的宽和高[1,2,7]。对于该标注方式,如果将w和h的值互换,再将θ加上或者减去2kπ+π⁄2,就能够表示同一个范围框。由于同一个范围框有多种不同的数值表示,会导致近似范围框之间的数值差异有大大小小多种情况。如果近似范围框之间的数值差异大,对于基于监督分类的方法来说,就是损失函数的取值异常[7],不利于模型训练。此标注方式还有一种变形,标注正框时不是记录宽和高,而是记录中心点到四边的距离[6],当然同样会有损失异常的问题。

记录四个顶点的坐标也可以用于标注斜框,武大夏桂松和华科白翔团队制作的DOTA[4]数据集以及中国科学院大学模式识别与智能系统开发实验室标注的UCAS-AOD[5]数据集就采用了这种标注方式。由于可以从四个顶点中的任意一个开始记录,此标注方式导致同一个范围框有多种不同的数值表示,进而会导致损失异常[7],增加回归难度,不利于模型训练。避免损失异常的现行方式是按照坐标值排序顶点,然后计算对应坐标点之间的差异。这种处理方式也是有问题的,对坐标值排序会改变数值维度间的对应关系[8, 9],也就是说,在某次损失计算过程中预测向量的第一维对应真值向量的第二维,在另外一次损失计算过程中第一维可能对应第三维。这种对应关系的随机性同样不利于模型训练。记录四个顶点坐标的好处是可以表示任意四边形,但是在表示矩形时会有三个冗余量。一种去除冗余的方式是按顺时针顺序记录矩形四个顶点中的前两个和第二个顶点到第三个顶点的距离[7],但是同样会出现一个范围框有多种不同的数值表示。

还有一种斜框标注方式是记录斜框的外接正框以及斜框四个顶点与正框四个顶点顺时针方向的偏移量[8]。该标注方式同样可以表示任意四边形,如果只记录斜框量个顶点与正框两个顶点顺时针方向的偏移量就只能表示矩形框[9]。目前没有用该标注方式标注样本的,而是用于先预测正框再进一步预测真实的斜框,在预测正框时将锚点框向斜框的外接正框回归。但是要想斜框预测得准确就要求正框也得预测准确,增加了预测目标数量,也就增加了回归难度,同样不利于模型训练。

本文提供了一种矩形斜框标注方式,可以用作样本标注和模型的回归目标。该标注方式没有冗余量,同一个范围框只有一种数值表示,作为回归目标时不会出现损失异常,有利于模型训练。本文还将此标注方式与多种其他倾斜范围框标注方式在目标检测任务上进行了对比验证。对比实验证明此标注方式对于朝向任意、密集排布的目标检测具有一定的优势。

标注方法

本文提供的斜框标注方式用于标注的量有“中心点C的坐标、中心点到任意一个顶点D的向量□((CD) ⃗ )、C到D的一个相邻顶点E的向量□((CE) ⃗ )在□((CD) ⃗ )上的投影向量□((CP) ⃗ )与□((CD) ⃗ )的比例系数”,代数表示为(x_c,y_c,u,v,ρ),其中(x_c,y_c )为中心点C的坐标,(u,v)为向量□((CD) ⃗ )的坐标,ρ为向量□((CP) ⃗ )与□((CD) ⃗ )的比例系数。

图1中黑实线表示倾斜范围框,X表示表示图像行方向上的坐标轴,Y表示图像列方向上的坐标轴,C表示范围框的中心点,D、E为范围框的某两个顶点,P为□((CE) ⃗ )在□((CD) ⃗ )上的投影点。

由于向量□((CD) ⃗ )可以从四个中任取,□((CE) ⃗ )向量可以从两个中任取,必须提供一些外在约束确保标注方式数值表示的唯一性。首先,要求ρ的取值范围为[0,1) ,也就是□((CP) ⃗ )与□((CD) ⃗ )同向;另外要求从□((CD) ⃗ )到□((CE) ⃗ )的夹角只能是顺时针方向或者逆时针方向中的一种。

2497bca55ed89158c1e4bbee81966ec8.png
图1-用于标注范围框的量有中心点C、向量□((CD) ⃗ )、□((CP) ⃗ )与□((CD) ⃗ )的比例系数

如此一来,同一个范围框只有两种数值表示。也就是说,将向量□((CD) ⃗ )取反,但保持其它值不变,仍然表示同一个范围框。由于同一个范围框的两种表示之间只有向量(CD) ⃗是相反的,可以引入一个量s表示(CD) ⃗的两个分量是同正负的还是一正一负的(后文将称之为同号或异号,可见s只有两种取值),那么可以用(|u|,|v|,s)表示(CD) ⃗和-(CD) ⃗。同号时,(CD) ⃗和-(CD) ⃗分别为(|u|,|v| )和(-|u|,-|v| );异号时,(CD) ⃗和-(CD) ⃗分别为(-|u|,|v| )和(|u|,-|v| )。此时就可以将同一个范围框的数值表示减少到一个,其代数表示为(x_c,y_c,|u|,|v|,s,ρ)。

从图1中还可以看出,如果是正框,显然向量(CD) ⃗的坐标就是范围框宽高的一半。可以通过令(u,v)=2(CD) ⃗使该标注方式与正框的相应标注方式兼容。

求解顶点坐标和边长

在给定标注数值(x_c,y_c,|u|,|v|,s,ρ)时,向量□((CD) ⃗ )就是已知的,向量□((CP) ⃗ )可以表示为□(ρ(CD) ⃗ )。那么要获得范围框四个顶点的坐标,将引入的外部约束用方程进行表示,通过求解以下方程组的实现。

73cea27d30ce52096666f115cdcec601.png

方程组中的第一个式子表示向量□((EP) ⃗ )与向量□((CD) ⃗ )垂直,第二个式子表示向量□((CP) ⃗ )与向量□((CD) ⃗ )的长度相等,第三个式子表示从□((CD) ⃗ )到□((CE) ⃗ )的夹角只能是顺时针方向或者逆时针方向中的一种。第三个式子只取用一个即可。

范围框的边长可以用下式计算。

cb3078baae9fc91dfcccfb452b53070d.png

式中w_b是范围框的短边长度,h_b是范围框的长边长度。

正方形范围框

易知,在范围框是正方形时,即使满足前述约束条件,仍然有两种数值表示。取任意一个顶点作为参考向量□((CD) ⃗ ),中心点到其顺时针或逆时针方向的相邻顶点的向量在□((CD) ⃗ )上的投影总是0。如果ρ的取值不允许为0,就不能表示正方形范围框,虽然正方形范围框非常少见。

我们解决方案是,为正方形范围框引入额外的约束:□((CD) ⃗ )与X轴夹角的取值范围为[ 0,90) 度。这这个约束条件下,□((CD) ⃗ )只能落在X轴上或者第一、三象限。

e63882ba62c4d2e368d503cbf0d01f15.png
图2 正方形范围框

s的损失平滑

图3中实线和虚线范围框的s值不同,但是它们却是非常近似的范围框。因此s值的差异不能真实体现范围框之间的差异。容易看出,□((CD) ⃗ )与坐标轴的夹角越小,s的差异越是不能真实体现范围框之间的差异。

1b71bb67a13ccdb5ff32f7a214092a54.png
图3 s值不同,但是它们却是非常近似的范围框

□((CD) ⃗ )与坐标的夹角越小,□((CD) ⃗ )的两个分量的模之间的差异越大。当□((CD) ⃗ )的两个分量的模之间的差异大到一定程度后,为s的差值乘上一个很小的权重来平滑s的差异与范围框的真实差异间的错配

我们首先设计了一个函数用于度量□((CD) ⃗ )的两个分量的模之间的差异。

e3b2215c555f10cfaf4e441d43022858.png

其中|u|,|v|分别是□((CD) ⃗ )的两个分量的模。可见diff的取值范围为[0,1],当|u|,|v|相等时取零,当其中一个为0时取1。在公式(4)中采用了平方函数,实际应用中,为了加快计算速度推荐使用求绝对值函数。然后将diff代入反Sigmoid函数求出s损失的权重。(PS:相减除以相加是常用的评估两个数量之间相对差异的方式,比如NDVI、NDWI。)

后记

弄这个东西纯属于临时起意,早些时候为公司做了一个基于深度学习的遥感影像目标检测软件,总觉得当时用的范围框标注方式不够好。抽了个时间琢磨了一下,设计了这样一种标注方法。先写好了专利,觉得把时间投入到深度学习里纯属于浪费生命,问了几个人是否愿意参与进来做个实验,我来写个论文,一作让出去;然而他们不是没空,就是水平没到。

这个标注方式确实还有点价值,不想给埋没了,只得自己动手,设计了一个目标检测网络,在一些数据集上初步试验了效果,写了论文的初稿。恰好用了一个月的时间,下面那个分割算法仓库的提交日志记录下来了时间,2-15到3-15。

7537f8fb6914a3e1df58c5efb51e0bba.png

最终论文会发表到国内某个学报上。发论文不是目的,都是先写专利,论文从专利说明书改出来的。专利说明书中文写的,也不想翻译,发中文期刊省事。

这里仅介绍了范围框标注方式,正式发表的论文里还包含了一个用于对比验证这个标注方式的网络,还有一些试验数据和结论。关于那个目标检测网络没啥好说的,结构简单不新奇。有了这个标注方式,诸位可以轻松想到,或者想到更好的。另外……

2446e7c28174b1df6a8f883ec25c4a5b.png
神经网络的结构有啥好说的

论文出来之后,代码将会公开到tgis-top/TRD。

引用

[1] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster r-cnn: towards real-time object detection with region proposal networks. In IEEE Transactions on Pattern Analysis and Machine Intelligence, (6):1137–1149, 2017.

[2] Joseph Redmon, Santosh Divvala, Ross Girshick and Ali Farhadi. You only look once: Unified, real-time object detection. In Proc. of CVPR, p779–788, 2016.

[3] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, and Alexander C Berg. Ssd: Single shot multibox detector. In ECCV, p21–37. Springer, 2016.

[4] Gui-Song Xia, Xiang Bai, Jian Ding, Zhen Zhu, Serge Belongie, Jiebo Luo, Mihai Datcu, Marcello Pelillo, and Liangpei Zhang. DOTA: A Large-scale Dataset for Object Detection in Aerial Images. In CVPR, 2018.

[5] Haigang Zhu, Xiaogang Chen, Weiqun Dai, Kun Fu, Qixiang Ye, Jianbin Jiao. Orientation Robust Object Detection in Aerial Images Using Deep Convolutional Neural Network. IEEE Int'l Conf. Image Processing, 2015.

[6] Xinyu Zhou, Cong Yao, He Wen, Yuzhi Wang, Shuchang Zhou, Weiran He, and Jiajun Liang. East: an efficient andaccurate scene text detector. In Proc. CVPR, p2642–2651, 2017.

[7] Yingying Jiang, Xiangyu Zhu, Xiaobing Wang, Shuli Yang,Wei Li, Hua Wang, Pei Fu, and Zhenbo Luo. R2cnn: rotational region cnn for orientation robust scene text detection. arXiv:1706.09579, 2017.

[8] Xue Yang,Jirui Yang, Junchi Yan, Yue Zhang, Tengfei Zhang, Zhi Guo, Sun Xian, and Kun Fu. SCRDet: Towards More Robust Detection for Small, Cluttered and Rotated Objs. In ICCV, 2019.

[9] Yongchao Xu, Mingtao Fu, Qimeng Wang, Yukang Wang, Kai Chen, Gui-Song Xia, and Xiang Bai. Gliding vertex on the horizontal bounding box for multi-oriented obj detection. arXiv:1911.09358, 2019.

[10] Youtian Lin, Pengming Feng, and Jian Guan. IENet: Interacting Embranchment One Stage Anchor Free Detector for Orientation Aerial Object Detection. arXiv:1912.00969, 2019.

[11] Tsung-Yi Lin, Piotr Doll ́ar, Ross B Girshick, Kaiming He, Bharath Hariharan, and Serge J Belongie. Feature pyramid networks for object detection. In Proc. of CVPR, vol 1, page 4, 2017.

[12] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proc. of CVPR, pages 770–778, 2016.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

彻底理解BP之手写BP图像分类你也行

彻底理解BP之手写BP图像分类你也行 转自:https://zhuanlan.zhihu.com/p/397963213 第一节:用矩阵的视角,看懂BP的网络图 1.1、什么是BP反向传播算法 BP(Back Propagation)误差反向传播算法,使用反向传播算法的多层感知器又称为B…

h5页面禁止复制_H5移动端页面禁止复制技巧

前言:业务需要,需要对整个页面禁止弹出复制菜单。在禁止的页面中加入以下css样式定义* {-webkit-touch-callout:none;/*系统默认菜单被禁用*/-webkit-user-select:none;/*webkit浏览器*/-khtml-user-select:none;/*早起浏览器*/-moz-user-select:none;/*…

梯度下降法和牛顿法计算开根号

梯度下降法和牛顿法计算开根号 本文将介绍如何不调包,只能使用加减乘除法实现对根号x的求解。主要介绍梯度下降和牛顿法者两种方法,并给出 C 实现。 梯度下降法 思路/步骤 转化问题,将 x\sqrt{x}x​ 的求解转化为最小化目标函数&#xff…

汇博工业机器人码垛机怎么写_全自动码垛机器人在企业生产中的地位越来越重要...

全自动码垛机器人在企业生产中的地位越来越重要在智能化的各种全自动生产线中,全自动码垛机器人成了全自动生产线的重要机械设备,在各种生产中发挥着不可忽视的作用。全自动码垛机器人主要用于生产线上的包装过程中,不仅能够提高企业的生产率…

kmeans手写实现与sklearn接口

kmeans手写实现与sklearn接口 kmeans简介 K 均值聚类是最基础的一种聚类方法。它是一种迭代求解的聚类分析算法。 kmeans的迭代步骤 给各个簇中心 μ1,…,μc\mu_1,\dots,\mu_cμ1​,…,μc​ 以适当的初值; 更新样本 x1,…,xnx_1,\dots,x_nx1​,…,xn​ 对应的…

小说中场景的功能_《流浪地球》:从小说到电影

2019年春节贺岁档冒出一匹黑马:国产科幻片《流浪地球》大年初一上映后口碑、票房双丰收:截至9日下午,票房已破15亿,并获得9.2的高评分。著名导演詹姆斯卡梅隆通过社交媒体对我国春节期间上映的科幻影片《流浪地球》发出的祝愿&…

线性回归与逻辑回归及其实现

线性回归与逻辑回归及其实现 回归与分类 预测值定性分析,即离散变量预测时,称之为分类;预测值定量分析,即连续变量预测时,称之为回归。 如预测一张图片是猫还是狗,是分类问题;预测明年的房价…

hbase 页面访问_HBase

HBase 特点 海量存储 Hbase 适合存储 PB 级别的海量数据,在 PB 级别的数据以及采用廉价 PC 存储的情况下,能在几十到百毫秒内返回数据。这与 Hbase 的极易扩展性息息相关。正式因为 Hbase 良好的扩展性,才为海量数据的存储提供了便利。 2&…

深入理解L1、L2正则化

深入理解L1、L2正则化 转自:【面试看这篇就够了】L1、L2正则化理解 一、概述 正则化(Regularization)是机器学习中一种常用的技术,其主要目的是控制模型复杂度,减小过拟合。正则化技术已经成为模型训练中的常用技术&a…

rk3128屏幕占空比参数设置_瑞芯微RK3128芯片怎么样 性能全面解读

最近,笔者听说一款搭载瑞芯微RK3128芯片方案的盒子问市了,打听了一下才知道还真有其事,这款上市的RK3128盒子叫做开博尔M1,报价229元,这个价位在如今的四核网络机顶盒市场可谓是不多见,但是这款芯片的性能怎…

机器学习中的概率模型

机器学习中的概率模型 转自:https://zhuanlan.zhihu.com/p/164551678 机器学习中的概率模型 概率论,包括它的延伸-信息论,以及随机过程,在机器学习中有重要的作用。它们被广泛用于建立预测函数,目标函数,以…

访问云服务器储存的mp4_访问云服务器储存的mp4

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":6,"count":6}]},"card":[{"des":"云服务器 ECS(Elastic Compute Service)是一…

先验、后验、似然

先验、后验、似然 先验分布、后验分布和似然函数 本节转自:先验分布、后验分布、似然估计这几个概念是什么意思,它们之间的关系是什么? 通俗解释 先验分布:根据一般的经验认为随机变量应该满足的分布。先验分布是你瞎猜参数服从啥…

max std value 宏_Rust Macro/宏 新手指南

Rust语言最强大的一个特点就是可以创建和利用宏/Macro。不过创建 Rust宏看起来挺复杂,常常令刚接触Rust的开发者心生畏惧。这片文章 的目的就是帮助你理解Rust Macro的基本运作原理,学习如何创建自己的 Rust宏。相关链接:在线学编程 - 汇智网…

高斯分布及其极大似然估计

高斯分布及其极大似然估计 高斯分布 一维高斯分布 一维高斯分布的概率密度函数为: N(μ,σ2)12πσexp⁡(−(x−μ)22σ2)N(\mu,\sigma^2)\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(x-\mu)^2}{2\sigma^2}) N(μ,σ2)2π​σ1​exp(−2σ2(x−μ)2​) 多维高斯分布…

农林资金 大数据审计案例_大数据审计:现状与发展

大数据审计:现状与发展【摘要】传统手工环境下,审计人员常用的审计方法包括检查法、观察法、重新计算法、外部调查法、分析法、鉴定法等。随着信息技术的发展,被审计单位的运行越来越依赖于信息化环境。信息化环境下审计工作发生了巨大的变化…

商标45类分类表明细表_2019版注册商标分类表,商标注册45类范围明细

注册商标的时候都是要确定具体的产品或服务的,目前我国商标分类是用《类似商品和服务区分表–基于尼斯分类第十一版》2019年版这本分类书。这本分类表也是全球通用的分类表,商标分类总共有45个类别,1-34类是产品类、35-45类是服务类。这45个大…

高维高斯分布基础

高维高斯分布基础 多位高斯分布的几何理解 多维高斯分布表达式为: p(x∣μ,Σ)1(2π)p/2∣Σ∣1/2e−12(x−μ)TΣ−1(x−μ)p(x|\mu,\Sigma)\frac{1}{(2\pi)^{p/2}|\Sigma|^{1/2}}e^{-\frac{1}{2}(x-\mu)^{T}\Sigma^{-1}(x-\mu)} p(x∣μ,Σ)(2π)p/2∣Σ∣1/21​…

angularjs sill 创建项目_开源项目——博客项目MyBlogs.Core,基于.NET 5

个人博客站项目源码,高性能低占用的博客系统,这也许是我个人目前写过的性能最高的web项目了 。目前日均处理请求数80-120w次,同时在线活跃用户数30-100人,数据量累计已达到100多万条,数据库Redis网站主程序同时运行在一…

怀旧服推荐配置_【怀旧服】狂暴战P4毕业装备推荐

在怀旧服开启P4阶段之后,狂暴战玩家的输出也得到了进一步的提升。当然,狂暴战想要打出足够的伤害离不开对应的装备,现在就给大家介绍下狂暴战P4阶段的BIS装备。散件装备狂暴战在这一阶段依旧有非常不错的散件装备,个人建议玩家入手…