一种基于图像和制造技术

技术编号:39802415 阅读:17 留言:0更新日期:2023-12-22 02:33
本发明专利技术涉及一种基于图像和

【技术实现步骤摘要】
一种基于图像和imu数据的硬件实现光流跟踪的系统


[0001]本专利技术涉及一种基于图像和
imu
数据的硬件实现光流跟踪的系统,应用于
slam
在追踪阶段,前端计算上一帧的特征点到当前帧的光流,根据光流结果计算图像位姿


技术介绍

[0002]光流追踪目前都是在嵌入式系统或者
FPGA
上实现,在嵌入式平台运行时,由于这些设备资源设限,需要经过优化才能确保实时性以及低功耗,但是在精度性能上有所下降;如果采用
FPGA
平台进行开发,成本会比较高,功耗也不会小


技术实现思路

[0003]本专利技术的目的在于提供一种基于图像和
imu
数据的硬件实现光流跟踪的系统,以解决上述
技术介绍
中提出的问题

[0004]为实现上述目的,本专利技术提供如下技术方案:一种基于图像和
imu
数据的硬件实现光流跟踪的系统
,
包括:
imu
和图像同步模块,旋转矩阵计算模块,图像金字塔模块,特征点预测模块,
LK
光流计算模块,剔除误匹配模块,更新特征点模块和
DDR
控制模块;
imu
和图像同步模块,将
imu
数据和图像数据进行时间上的同步,将同步后
imu
数据流输出至旋转矩阵计算模块,将同步后的图像流输出至图像金字塔模块; 图像金字塔模块接收到图像流后建立图像金字塔数据流;
DDR
控制模块实现图像金字塔数据流的控制存储;旋转矩阵计算模块将对两帧图像之间的
imu

gyro
数据进行积分操作然后通过坐标系转换得到
camera
坐标系下旋转矩阵;特征点预测模块根据
camera
坐标系下旋转矩阵,预测上一帧的特征点在当前帧图像上的坐标输出至
LK
光流计算模块,其中上一帧的特征点由更新特征点模块输出得到;
LK
光流计算模块通过金字塔
Lucas

Kanade 光流方法计算预测后跟踪点的光流,得到当前帧的跟踪点坐标输出至剔除误匹配模块;
LK
光流计算模块通过
DDR
控制模块读取当前帧和上一帧的图像金字塔数据;剔除误匹配模块滤除误匹配的特征点;更新特征点模块使用当前帧提取到的特征点对剔除误匹配模块处理后的数据进行特征点更新,得到的特征点信息输出给下一级模块使用,以及迭代给特征点预测模块作为上一帧的特征点使用

[0005]作为本专利技术进一步的方案:旋转矩阵计算模块的获得旋转矩阵的硬件实现方法包括以下步骤:积分段控制引擎得到每段的
imu
时间戳,图像时间戳以及
imu

gyro
数据之后产生积分使能脉冲触发进行每段的积分运算,然后进行累加运算,积分段控制引擎会产生累加结束脉冲来结束累加操作,得到旋转向量,随后通过指数运算得到旋转矩阵,随后通过旋转坐标系变换运算得到
camera
坐标系下旋转矩阵

[0006]作为本专利技术进一步的方案:图像金字塔模块将
imu
和图像同步模块同步后的图像进行两次高斯滤波以及2倍下采样操作,得到三层金字塔图像

[0007]作为本专利技术进一步的方案:特征点预测模块预测上一帧的特征点在当前帧图像上的坐标方法,包括以下步骤:将上一帧追踪后的特征点坐标从像素坐标转换为归一化坐标,采用光学对应畸变模型进行去畸变得到特征点去畸变后的坐标,考虑欧式变换中的旋转关系,得到预测后的特征点归一化坐标,通过加畸变操作将将预测后特征点的归一化坐标转换成像素坐标,供
LK
光流计算模块使用

[0008]作为本专利技术进一步的方案:
LK
光流计算模块的计算方法,包括以下步骤:计算光流时,先从顶层的图像开始计算,然后把上一层的追踪结果,作为下一层的光流初始值;每一层的光流估计值的计算,进行光流计算的多次迭代,直至满足迭代终止条件,在迭代过程中,不断更新光流向量,使其更准确地表示特征点在下一帧中的位置

[0009]作为本专利技术进一步的方案:
LK
光流计算模块包括
: 引擎管理

多个
LK
计算引擎

图像窗口数据仲裁器和输出缓冲单元:引擎管理调度空闲的
LK
计算引擎,给被调度的
LK
计算引擎特征点坐标;每一个
LK
计算引擎根据分配到的特征点坐标进行
LK
光流计算;图像窗口数据仲裁器通过轮询的方式接收各个
LK
计算引擎发过来的图像窗口数据的请求,然后通过
DDR
控制模块获得数据并返回给对应的
LK
计算引擎;输出缓冲单元将并行过来的各个
LK
计算引擎输出的结果进行串行输出

[0010]作为本专利技术进一步的方案:剔除误匹配模块滤除误匹配的特征点的方法,包括以下步骤:将所有特征点坐标进行归一化来增加数值的稳定性,将上一帧的坐标与当前帧的坐标作为一个点对,求每个点对的距离,如果距离大于一个像素对应归一化平面的距离,则判断为误匹配,去除该特征点

[0011]作为本专利技术进一步的方案:剔除误匹配模块滤除误匹配的特征点的方法,还包括以下步骤:所有点对判断结束后求得平均距离,如果剩余的特征点小于3个,或者平均距离小于一个像素对应归一化平面的距离,则认为此次匹配失败,剔除掉所有特征点;如果剩余的特征点大于等于3个,并且平均距离小于一个像素对应归一化平面的距离,则将剩余的点对采用两点
RANSAC
的方法对误匹配的特征点进行剔除

[0012]作为本专利技术进一步的方案:更新特征点模块进行特征点更新的方法,包括以下步骤:将图像分成多个网格,其中每个网格的特征点的个数不超过4个;每个网格比较当前帧提取的特征点和追踪的特征点的距离,挑选出与同一网格内所有追踪特征点的距离都大于阈值的当前帧提取的特征点,对剔除误匹配模块处理之后的特征点以及挑选出来的当前帧提取的特征点按照
ID
进行从小到大进行排序,选择前4个的特征点作为该网格的追踪特征点输出

[0013]作为本专利技术进一步的方案:
imu
和图像同步模块,定义一个
timeshift
参数对图像时间戳的偏移以对齐
imu
时间戳和图像时间戳

[0014]与现有技术相比,本专利技术的有益效果是:提供一种基于图像和
imu
数据的硬件实现
光流跟踪的系统达到低功耗

低成本

...

【技术保护点】

【技术特征摘要】
1.
一种基于图像和
imu
数据的硬件实现光流跟踪的系统
,
其特征在于,包括:
imu
和图像同步模块,旋转矩阵计算模块,图像金字塔模块,特征点预测模块,
LK
光流计算模块,剔除误匹配模块,更新特征点模块和
DDR
控制模块;所述
imu
和图像同步模块,将
imu
数据和图像数据进行时间上的同步,将同步后
imu
数据流输出至所述旋转矩阵计算模块,将同步后的图像流输出至所述图像金字塔模块; 所述图像金字塔模块接收到图像流后建立图像金字塔数据流;所述
DDR
控制模块实现所述图像金字塔数据流的控制存储;所述旋转矩阵计算模块将对两帧图像之间的
imu

gyro
数据进行积分操作然后通过坐标系转换得到
camera
坐标系下旋转矩阵;所述特征点预测模块根据
camera
坐标系下旋转矩阵,预测上一帧的特征点在当前帧图像上的坐标输出至所述
LK
光流计算模块,其中上一帧的特征点由所述更新特征点模块输出得到;所述
LK
光流计算模块通过金字塔
Lucas

Kanade 光流方法计算预测后跟踪点的光流,得到当前帧的跟踪点坐标输出至所述剔除误匹配模块;所述
LK
光流计算模块通过所述
DDR
控制模块读取当前帧和上一帧的图像金字塔数据;所述剔除误匹配模块滤除误匹配的特征点;所述更新特征点模块使用当前帧提取到的特征点对所述剔除误匹配模块处理后的数据进行特征点更新,得到的特征点信息输出给下一级模块使用,以及迭代给所述特征点预测模块作为上一帧的特征点使用
。2.
根据权利要求1所述的一种基于图像和
imu
数据的硬件实现光流跟踪的系统,其特征在于,所述旋转矩阵计算模块的获得旋转矩阵的硬件实现方法包括以下步骤:积分段控制引擎得到每段的
imu
时间戳,图像时间戳以及
imu

gyro
数据之后产生积分使能脉冲触发进行每段的积分运算,然后进行累加运算,积分段控制引擎会产生累加结束脉冲来结束累加操作,得到旋转向量,随后通过指数运算得到旋转矩阵,随后通过旋转坐标系变换运算得到
camera
坐标系下旋转矩阵
。3.
根据权利要求1所述的一种基于图像和
imu
数据的硬件实现光流跟踪的系统,其特征在于,所述图像金字塔模块将所述
imu
和图像同步模块同步后的图像进行两次高斯滤波以及2倍下采样操作,得到三层金字塔图像
。4.
根据权利要求1所述的一种基于图像和
imu
数据的硬件实现光流跟踪的系统,其特征在于,所述特征点预测模块预测上一帧的特征点在当前帧图像上的坐标方法,包括以下步骤:将上一帧追踪后的特征点坐标从像素坐标转换为归一化坐标,采用光学对应畸变模型进行去畸变得到特征点去畸变后的坐标,考虑欧式变换中的旋转关系,得到预测后的特征点归一化坐标,通过加畸变操作将预测后特征点的归一化坐标转换成像素坐标,供所述
LK
光流计算模块使用
。5.
根据权利要求1所述...

【专利技术属性】
技术研发人员:吴杰姜爱鹏郑明肖陈钊储继慎杨恪
申请(专利权)人:南京耀宇视芯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1