[发明专利]一种基于CUDA技术的视觉SLAM前端加速方法在审

专利信息
申请号: 202110394546.X 申请日: 2021-04-13
公开(公告)号: CN113112394A 公开(公告)日: 2021-07-13
发明(设计)人: 严海蓉;贾子健 申请(专利权)人: 北京工业大学
主分类号: G06T1/20 分类号: G06T1/20;G06K9/46;G06K9/62
代理公司: 北京思海天达知识产权代理有限公司 11203 代理人: 刘萍
地址: 100124 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 cuda 技术 视觉 slam 前端 加速 方法
【权利要求书】:

1.一种基于CUDA技术的视觉SLAM前端加速方法,其特征在于:加速过程需要GPU参与计算,使用CUDA技术实现运算并行化;特征检测过程包含:图像高斯金字塔构建模块、特征点提取模块、特征点方向计算模块、特征点描述子计算模块;

图像高斯金字塔构建模块用于将输入图像降采样至不同的大小,以匹配不同尺寸下的相同图像特征;特征点提取模块用于得到图像中的角点,根据像素点和邻域点的关系判断当前点是否为特征点;特征点方向计算模块用于计算特征点的梯度方向和大小,以便在图像视角发生变化时顺利匹配;特征点描述子计算模块用于为每一个特征点建立二进制描述子,为下一步特征点匹配做准备;

图像高斯金字塔构建模块具体包括以下步骤:

首先初始化Device设备,申请设备端数据空间以存放图像金字塔;然后扩展检测区域边界,使用OpenCV中CUDA模块改写的cuda::copyMakeBorder替换原方法中copyMakeBorder的默认实现,并将变量对齐到申请的空间,调用OpenCV中CUDA实现版缩放函数cuda::resize将输入图像缩放到金字塔对应大小,此过程使用双线性插值算法实现,并利用cudastream流将此过程并行化;

特征点提取模块具体包括以下步骤:

首先遍历每层金字塔,将当前层金字塔图像及边界信息传入给检测函数处理;根据图像大小申请对应的Grid和Block,这里Block设置为32*8代表一个待检测区域,Grid可根据图像大小和Block大小划分为对应的网格;每个线程对应一个像素,因而可以并行地检测FAST特征点;调用特征检测核函数,根据Thread及Block索引求出邻域点,判断当前点是否为特征点;如果某像素点满足FAST特征点的条件,则将像素的坐标存入全局存储器;同时,将特征点的数量进行累加并存储在全局存储器中;

特征点方向计算模块具体包括以下步骤:

首先根据特征点的总数来申请线程,保证每个特征点和一个线程相对应,根据灰度质心法调用核函数计算出特征点的梯度方向和大小,并存储到内存中;此处核函数的block大小设置为32*8,Grid大小设置为特征点数量,这样设置以便将特征点平均分配给不同核函数计算方向;

特征点描述子计算模块具体包括以下步骤:

首先将金字塔中高斯图像传送到显存中,申请对应特征点数量的Grid,对于每一个特征点申请32个线程块,将每个特征点邻域内的像素进行比较建立二进制描述子,将计算出来的描述子放到共享变量内;

所述图像高斯金字塔构建、特征点提取、方向计算、描述子计算模块均采用cuda流的形式实现,其特征是只在函数返回前调用一次同步函数等待device端计算结果。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110394546.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top