SLAM硬件加速之FPGA-base ORB(7)——Rotated-BRIEF

Rotated-BRIEF

描述子部分的加速时整个ORB加速的重头戏,为了保证旋转不变形,在brief基础上增加了旋转属性,但无论是旋转角度的计算还是将角度应用到原始坐标,这部分的计算设计到三角函数,并且256维的描述子需要512个点来完成,可以看出这部分优化的重要性。

原始实现流程

1.image moments:

2.orientation: 

3.Steered point: 

4.BRIEF Descriptor:  

                                    

Centroid Unit

计算37×37个patch的矩。该方法其实是一种递归,所提出的策略在数学上通过以下方式进行操作:1)相对于输入值表达当前值和下一个值;2) 从当前值减去下一个值,并简化减法运算;以及3)关于当前值和减法重写下一个值表达式。[4] 

Centroid Unit

 

在质心单元中实现多块。无乘法器电路使用移位器和加法器而不是实际乘法器来执行与常数的乘法[4]

Angle Unit

通过Abs提取m01、m10的绝对值,使得所需角度落在象限[0;(π/2))内。角度在象限中被离散为NT个值。因此θ只能是NT个可能值之一,并且它们的切线可以预先计算。不使用除法和tan2运算,θ可以近似为θi,通过满足如下公式:

 

abs(m10)和NT个可能的正切值之间的乘法是使用常数乘法器块来执行的。[4]

Rotator Unit

理论上,总共需要2048次乘法运算和1024次加法/减法运算。首先,使用无乘数常数乘法器块将样本集的坐标与cosθ和sinθ值相乘。然后,AddSubVector块执行乘法结果的加法/减法,以生成旋转的坐标。[4]

Generator Unit 

生成关键点的256位描述符需要256个周期,如果在256个周期的持续时间内识别出新的关键点,则其对应的图像补丁无法加载到窗口缓冲器中,如果只使用一个发电机组,就必须放弃这个新的关键点。我们使用多个组件,可以并行计算几个关键点补丁的描述符。[4]

RS-BRIEF( rotationally symmetric BRIEF)

 RS-BRIEF是一个对硬件非常友好的近似实现,在ORB优化中是最重要的贡献之一。

32-fold旋转对称BRIEF patterns:
根据高斯分布选择两组位置,LS1(S1、S2、…、S8)和LD1(D1、D2、…、D8)。两套中的每一套都包含8个位置。然后,它以每11.25度的增量旋转LS1和LD1,即11.25、22.5、…、348.75,以生成LS2、LS3、…、。。。,LS32和LD2、LD3、。。。,LD32.这两个集合L′S(LS1õLS2õ…õLS32)和L′D(LD1õLD2Ş…ŞLD32)是最终的测试位置。[5]

在我们的实现中,我们决定不计算方向的确切值。相反,我们将特征点分配给32个区间中的一个。[6]

假设特征点的方向是n,其中n∈{0,…,31},则BRIEF向量应从描述符的开始到结束应位移8×n。[6]

CORDIC

CORDIC是一种迭代逼近来实现如三角函数的复杂算法,这里也介绍如果通过CORDIC来实现旋转。

Simplified CORDIC calculation module to achieve one-degree angular quantization.[7]

Assume that the current angle value is θ, the next value is acquired as:

Can be simplified to:

If set 

迭代次数和收敛状态:

上一节

SLAM硬件加速之FPGA-base ORB(6)——Gaussian Blur​​​​​​​

Reference

[1]FPGA-based ORB Feature Extraction for Real-Time Visual SLAM. 2017

[2]FPGA Acceleration of Multilevel ORB Feature Extraction for Computer Vision. 2017

[3]A New FPGA Architecture of FAST and BRIEF Algorithm for On-Board Corner Detection and Matching. 2018

[4]High-throughput and area-optimized architecture for rbrief feature extraction. 2018

[5]eSLAM: An Energy-Efficient Accelerator for Real-Time ORB-SLAM on FPGA Platform. 2019

[6]An Efficient Real-Time FPGA-Based ORB Feature Extraction for an UHD Video Stream for Embedded Visual SLAM. 2022

[7]HcveAcc: A High-Performance and Energy-Efficient Accelerator for Tracking Task in VSLAM System. 2020 [8]ac2SLAM: FPGA Accelerated High-Accuracy SLAM with Heapsort and Parallel Keypoint Extractor. 2023

[9]Area-Time Efficient Streaming Architecture for FAST and BRIEF Detector. 2018

[10]A Low Latency Feature Extraction Accelerator with Reduced Internal Memory. 2017

[11]A 42fps Full-HD ORB Feature Extraction Accelerator with Reduced Memory Overhead.2017

[12]A Flexible and Efficient Real-Time ORB-Based Full-HD Image Feature Extraction Accelerator. 2020

[13]ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras. 2016

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值