[发明专利]一种基于FPGA的ORB_SLAM重定位特征点检索加速方法有效
申请号: | 202110918561.X | 申请日: | 2021-08-11 |
公开(公告)号: | CN113536024B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 张磊;汪成亮;张寻;任骜;陈咸彰;刘铎 | 申请(专利权)人: | 重庆大学 |
主分类号: | G06F16/583 | 分类号: | G06F16/583;G06V10/762;G06V10/46;G06F7/501 |
代理公司: | 重庆天成卓越专利代理事务所(普通合伙) 50240 | 代理人: | 王宏松 |
地址: | 400030 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga orb_slam 定位 特征 检索 加速 方法 | ||
1.一种基于FPGA的ORB_SLAM重定位特征点检索加速方法,其特征在于,包括:
S1,将输入的图片缓冲,提取描述子;
S2,然后进入工作空间Workspace,通过计算电路对结点的距离求解;
所述计算电路包括:先通过异或门再通过累计并行计数器APC或并行计数器PC;
所述累计并行计数器APC为在计数器PC前加上X级近似单元AU;
所述近似单元AU包括:一级AU近似单元即一列的与门和或门;
所述并行计数器PC包括多个全加器;
所述并行计数器PC包括:每三个bit一组送入全加器,每个全加器会有一个权重,其中三个输入就是同样的这种权重,输出本位和Sum会往同级权重全加器送值,而向相邻高位的进位数Cout则会往高一级权重送值;用同样的操作将中间结果“打一拍”,接着计算输入都已有值的全加器,一直将中间结果打拍,直至输出结果的最高位算出,最后输出的每个箭头都是一个bit;
S3,每个计算电路的结果会一起流向一个并行比较电路,求出最小值所在的点;
S4,最后再判断是否是底层,若是则搜索结束,得出最终结点;
S5,每个结点会有一个偏移值,用于寻找求子结点的地址,从而获得关键帧,然后根据关键帧集合进行重新定位;
根据关键帧集合进行重新定位包括:S51,从关键帧集合中任意选取I个特征点,所述I为大于或者等于1的正整数,计算出当前帧的位姿(α,γ),其中α表示旋转角度;
S52,根据步骤S51的位姿(α,γ),计算剩余关键帧的重投影误差,若计算得到的重投影误差小于或者等于所设定的误差阈值,则该点为关键点;
S53,统计关键点的个数及对应的位姿(α,γ);
S54,利用步骤S53的位姿(α,γ)作为位姿初始值,对当前帧的位姿进行局部优化,其优化的目标函数为:
其中,ex为相机观测到的第x个重投影误差,||·||表示范数,hx为观测数;O表示相机观测到的重投影个数;
S55,若优化出的关键点数超过设定的关键点数,则认为重定位成功。
2.根据权利要求1所述的一种基于FPGA的ORB_SLAM重定位特征点检索加速方法,其特征在于,所述并行计数器PC还包括:
v表示输出位宽,输入位宽N=2v,输出每增加一位消耗的全加器数量会变成2倍再加上v-1,即:
f(v)=2*f(v-1)+v-1
其中,f(v)代表输出位宽为v需要的全加器数量,f(v-1)代表输出位宽为v-1需要的全加器数量。
3.根据权利要求1所述的一种基于FPGA的ORB_SLAM重定位特征点检索加速方法,其特征在于,并行计数器PC消耗的门级资源为:
g(v)=(2v-v-1)*5=(N-log2N-1)*5
其中N表示输入位宽,v表示输出位宽。
4.根据权利要求1所述的一种基于FPGA的ORB_SLAM重定位特征点检索加速方法,其特征在于,累计并行计数器APC在全加器前加上X级近似单元AU,消耗的门级资源为:
其中N表示输入位宽,N=2v,v表示输出位宽;X表示近似单元的级数。
5.根据权利要求1所述的一种基于FPGA的ORB_SLAM重定位特征点检索加速方法,其特征在于,所述全加器包括:
两个异或门,两个与门和一个或门,具体逻辑表达式为:
Sum=(A^B)^Cin
Cout=(AB)|((A^B)Cin)
其中A、B、Cin为全加器的输入,分别为被加数、加数、相邻低位来的进位数,Sum、Cout为全加器的输出,分别为输出本位和、向相邻高位的进位数,^表示异或运算,表示与运算,|表示或运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110918561.X/1.html,转载请声明来源钻瓜专利网。