当前位置:网站首页>Interpretation of orientedrcnn papers
Interpretation of orientedrcnn papers
2022-06-30 08:41:00 【Wu lele~】

1、 starting point

First Rotate RPN Scale the dimensions by scattering at various angles anchor Generate OP(Oriented Proposal Abbreviation ), The disadvantages are obvious : Large amount of computation and memory .
therefore RoI Transformer Put forward the help level anchor To generate OP, Due to the abandonment of rotation anchor So the calculation goes on . The general process is :Horizental_Anchor --> RPN --> Horizental Proposal -->Roi Align–> FC --> OP. shortcoming : Introduced FC and RoIAlign, Leading to the Internet heavy And complicated .
Therefore, this paper considers direct Horizental_Anchor --> OP, Thus, the model is simplified to reduce the risk of over fitting .
2、 Model structure

The overall structure is relatively simple , Second order network structure . Let me first introduce Oriented RPN.
2.1. Oriented RPN

Here, we will focus on the dimension changes of the lower channel : First 256 Is the feature graph dimension , After that, we sprinkled... At each position of the feature map A(A=3) individual Horizental anchor, after 1*1 The convolution operation of turns the channel dimension into 6*A = 18. each anchor The predicted output value of is 6 Parameters :(x,y,w,h, delta_alpha, delta_belta), Each represents the center , The width and height of the circumscribed rectangle of the slanted box and the two quantities offset from the center position . The following is an example :
In essence OP The expression becomes 6 Parameter representation . It is easy to get by the following formula OP Of v1-v4 The horizontal and vertical coordinates of the four corners .

As predicted (delta_alpha, delta_belta) It can't be exactly the same , Therefore, the OP It's a parallelogram : Here's the picture :
and RRoI Align Only the features of the slanted rectangle can be extracted , It can not extract inclined parallelogram feature , So this article is in RPN Output OP Another step of decoding process has been added , Change a parallelogram into (x,y,w,h,theta) Format , Convenient for follow-up RRoI Align The extracted features .
The idea is to calculate the diagonal length of parallelogram first , Short edge resize Just as long as the long side . Post the code here :
polys = torch.stack([ga, y1, x2, gb, _ga, y2, x1, _gb], dim=-1) # Parallelogram four coordinates
center = torch.stack([gx, gy, gx, gy, gx, gy, gx, gy], dim=-1) # Stack quartic center coordinates
center_polys = polys - center # Calculate the relative distance between each coordinate and the center
diag_len = torch.sqrt( # Calculate the diagonal length , Namely Pythagorean theorem
torch.square(center_polys[..., 0::2]) + torch.square(center_polys[..., 1::2]))
max_diag_len, _ = torch.max(diag_len, dim=-1, keepdim=True) # Get the length of the long side
diag_scale_factor = max_diag_len / diag_len # get resize The proportion
# Compare the relative distance resize
center_polys = center_polys * diag_scale_factor.repeat_interleave(2, dim=-1)
rectpolys = center_polys + center # The relative distance is + The upper center gets four coordinates of the inclined rectangle
obboxes = rectpoly2obb(rectpolys).flatten(-2) # Turn to five point notation
2.2. RRoI Align
This section does not cover , It's extraction Oriented RPN Generated OP Eigenvector of .
summary
Experimental results SOTA, There's no more post here .
边栏推荐
- Flink SQL custom connector
- Redis design and Implementation (VII) | publish & subscribe
- Viteproject require Syntax Compatibility Problem Solving require is not defined
- layer. Open processing method when the passed value is an array or the value is too long
- C # get the current timestamp
- 酒精测试仪方案:酒精测试仪是根据什么原理测酒精溶度?
- 【付费推广】常见问题合集,推荐榜单FAQ
- 示波器探头对测量电容负荷有影响吗?
- C#訪問SQL Server數據庫兩種方式的比較(SqlDataReader vs SqlDataAdapter)
- Common tools installation, configuration, compilation, link, etc
猜你喜欢

【NVMe2.0b 14-2】Create/Delete Queue

TiDB 6.0:让 TSO 更高效丨TiDB Book Rush

Bind threads to run on a specific CPU logical kernel

Qt连接神通数据库

Self made GIF dynamic graph -gifcam
![[untitled]](/img/b8/e3f54fe5d1079663799887e62cb07c.jpg)
[untitled]

A troubleshooting of CPU bottom falling

Redis design and Implementation (IV) | master-slave replication
![[kotlin collaboration process] complete the advanced kotlin collaboration process](/img/43/9c4b337caf406537e317dea2ed5f17.png)
[kotlin collaboration process] complete the advanced kotlin collaboration process

el-input 限制只能输数字
随机推荐
Alcohol tester scheme: what principle does the alcohol tester measure alcohol solubility based on?
【付费推广】常见问题合集,推荐榜单FAQ
mysql基础入门 动力节点[老杜]课堂作业
[nvme2.0b 14-7] set features (Part 1)
小心transmittable-thread-local的这个坑
vite項目require語法兼容問題解决require is not defined
快应用中实现自定义抽屉组件
Redis设计与实现(五)| Sentinel哨兵
Flink sql -- No factory implements ‘org.apache.flink.table.delegation.ExecutorFactory‘.
Be careful of this hole in transmittable thread local
[untitled]
Map,String,Json之間轉換
127.0.0.1、0.0.0.0和localhost
Markdown支持的emoji图标
layer.open 当传值为数组或值太长时处理方法
Redis设计与实现(六)| 集群(分片)
[untitled]
Graffiti Wi Fi & ble SoC development slide strip
Occasionally, Flink data is overstocked, resulting in checkpoint failure
增强for循环的增删操作 & 迭代器删除集合元素