Non-Maximum Suppression
我们基于上一步计算的分数值,通过非极大值抑制的方法过滤keypoint,在ORB中使用的NMS一般在3x3大小上进行。
方案一:
“S5”由8个比较器与其他8个分值进行比较,并且使用逻辑运算来计算比较值。如果结果“r”等于1,则“S5”大于其他8个分值,并保持为更稳健的角点。否则,“S5”将从角点集中删除。此外,非角点的分值定义为0。[3]
方案二:
候选B被串行缓冲到3个寄存器中,使得RegB1、RegB2和RegB3中的数据是3个相邻像素。比较器B(CMPB)测试RegB2中的像素是否是候选点并且在这三个像素中具有最高得分。如果是,则RegB2中的像素与其关键点标志一起存储在为第二NMS准备的候选缓冲器中。否则,它也存储在缓冲区中,但关键点标志设置为“0”。然后,候选缓冲器中的一个像素被提取到RegA中,同时RegB2中的像素正是RegA中像素下方的像素。只有当候选a通过第二个NMS时,它才会被写入关键点缓冲器[10]。 但该方法不能保证分数高于前一行。
上一节
SLAM硬件加速之FPGA-base ORB(3)——Score Calculation
下一节
SLAM硬件加速之FPGA-base ORB(5)——Feature Point Sorting
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