一种基于陀螺仪硬件平台的图像全局运动补偿方法

文档序号:9376869阅读:578来源:国知局
一种基于陀螺仪硬件平台的图像全局运动补偿方法
【技术领域】
[0001] 本发明属于运动目标的检测和跟踪技术领域,具体涉及一种基于陀螺仪硬件平台 的图像全局运动补偿方法。
【背景技术】
[0002] 运动目标检测的算法依照目标与摄像机之间的关系可以分为静态背景下的运动 目标检测和动态背景下的运动目标检测两大类。静态背景下的运动目标检测是指摄像机在 整个拍摄过程中不发生移动,只有被拍摄的运动目标在摄像机的视场内运动;动态背景下 的运动目标检测是指摄像机在整个拍摄过程中发生了移动,被拍摄目标在摄像机的视场内 也发生了运动,从而产生了目标与摄像机之间的复杂相对运动。但在实际应用中主要是动 态背景下运动目标的检测。
[0003] 在动态背景下,静止的物体会对动目标检测带来干扰,同时不能得到动目标真实 的运动状态。为了弥补由于摄像机移动造成的背景全局性的运动对图像中动目标检测造成 的影响,需要对图像进行全局运动补偿。对图像进行全局运动补偿的主要有两种思路:一是 通过软件的算法获得背景的运动参数,主要方法有背景差法、光流法等等;二是利用传感器 检测摄像机的运动参量,再转化为图像背景的运动参数。由于现有的软件跟踪算法都是面 向特定的应用环境,具有一定的使用范围,所以不存在一个算法能适应于所有不同的环境。

【发明内容】

[0004] 本发明的目的是提供了一种基于陀螺仪硬件平台的图像全局运动补偿方法,旨在 弥补由于摄像机移动造成的背景全局性的运动对图像中运动目标检测造成的影响,克服软 件算法只适用于特定环境、不具有通用性的特点。
[0005] 为了解决上述技术问题,本发明提供一种基于陀螺仪硬件平台的图像全局运动补 偿方法:使用摄像机拍摄目标场景图像序列;使用陀螺仪硬件平台获取摄像机在拍摄目标 场景图像时的运动参数,包括摄像机旋转角速度和平移加速度;建立摄像机运动参数的卡 尔曼滤波模型,对摄像机运动参数进行卡尔曼滤波去除噪声;使用欧拉动力学方程将摄像 机的旋转角速度转换成欧拉坐标系的欧拉角,使用运动公式将摄像机的平移加速度转换成 摄像机的平移运动;根据图像像素光流与摄像机运动参数的关系,使用RANSAC算法估计出 目标场景图像的全局光流;使用全局光流对目标场景图像序列进行全局运动补偿。所述陀 螺仪硬件平台包括FPGA核心控制处理器、三轴数字陀螺仪,FPGA核心控制处理器、三轴数 字陀螺仪集成在同一块电路板上,陀螺仪硬件平台固定在摄像机上;FPGA核心控制处理器 通过控制摄像机的快门控制摄像机拍摄目标场景图像序列;在拍摄如后两帧图像的时间间 隔内,FPGA核心控制处理器控制三轴数字陀螺仪获取多组摄像机的运动参数,取该多组运 动参数的平均值作为摄像机在拍摄前一帧图像时的运动参数。
[0006] 本发明与现有技术相比,其显著优点在于:(1)由于三轴数字陀螺仪体积小、灵敏 度高,所以硬件平台简单易行,只需要将硬件平台电路板绑定在摄像机上即可;(2)基于 FPGA核心控制处理器的并发执行特点,结合本算法的简洁性,可以实现全局运动补偿的实 时性;(3)本发明利用摄像机的运动参数来推算全局运动光流,通用性较强,弥补了软件算 法使用的局限性和不通用性:(4)本发明从摄影几何角度出发,结合欧式空间的刚体变化 关系得到图像背景光流与摄像机运动参数的关系,在参数获取与处理过程中,与图像亮度 没有关系,所以在亮度突变的情况下,仍然有着较高的精度。
【附图说明】
[0007] 图1是本发明流程图。
[0008] 图2是本发明中陀螺仪硬件平台的结构示意图。
【具体实施方式】
[0009] 如图1所示,本发明基于陀螺仪硬件平台的图像全局运动补偿方法为:
[0010] 使用摄像机拍摄目标场景图像序列,使用陀螺仪硬件平台获取摄像机在拍摄目标 场景图像时的运动参数,包括摄像机旋转角速度和平移加速度;建立摄像机运动参数的卡 尔曼滤波模型,对摄像机运动参数进行卡尔曼滤波去除噪声;使用欧拉动力学方程将摄像 机的旋转角速度转换成欧拉坐标系的欧拉角,使用运动公式将摄像机的平移加速度转换成 摄像机的平移运动;根据图像像素光流与摄像机运动参数的关系,使用RANSAC算法估计出 目标场景图像的全局光流;使用全局光流对目标场景图像序列进行全局运动补偿。
[0011] 所述陀螺仪硬件平台如图2所示,包括FPGA核心控制处理器、三轴数字陀螺仪, FPGA核心控制处理器、三轴数字陀螺仪集成在同一块电路板上,陀螺仪硬件平台固定在摄 像机上;FPGA核心控制处理器通过控制摄像机的快门控制摄像机拍摄目标场景图像序列, 同时,在拍摄前后两帧图像的时间间隔内,FPGA核心控制处理器控制三轴数字陀螺仪获取 多组摄像机的运动参数,取该多组运动参数的平均值作为摄像机在拍摄前一帧图像时的运 动参数。
[0012] 实施例:
[0013] 本实施例选用的摄像机为Basler acA640-90gc、三轴数字陀螺仪为ADIS16405 ; 摄像机采集到的视频存储至计算机。
[0014] 一、使用摄像机拍摄目标场景图像序列,使用陀螺仪硬件平台获取摄像机在拍摄 目标场景图像时的运动参数,包括摄像机旋转角速度和平移加速度。
[0015] 首先,根据三轴数字陀螺仪ADIS16405说明书的要求,设置SPI协议的控制信息, 其中主要包括:主从设备之间数据传输的单位为16位,且高位优先;主从设备之间地址总 线的宽度为16位;时钟极性CPOL = 1,即设备在空闲态时,CLK为高电平;时钟相位=1,即 在CLK的下降沿进行数据采样;设置豆=〇,使三轴数字陀螺仪作为从器件。
[0016] 当FPGA核心控制处理器检测到DIOl的下降沿时,表明三轴数字陀螺仪ADIS16405 已准备好,开始进行摄像机运动参数信息的采集。三轴数字陀螺仪ADIS16405输出的三轴 运动角速度w x,wy,Wz和三轴平移运动加速度ax,ay,a z分别存放在FPGA核心控制处理器中 的寄存器里。FPGA核心控制处理器在摄像机拍摄前后两帧图像,即第N帧图像和第N+1帧 图像的间隔T内,以t为间隔重复η次三轴数字陀螺仪ADIS16405输出数据的采集,再根据 串口协议的通信速率和通信协议,读取RAM中的数据通过串口传输至计算机端。
[0017] 在计算机端,使用MFC编写串口界面,将计算机端串口接收到的摄像机运动参数 数据显示、处理并存储。一般来说,三轴数字陀螺仪直接获取的摄像机运动参数是三轴数字 陀螺仪的测量值,因为三轴数字陀螺仪的寄存器位数有限,得到的测量值是真实值按照一 定比例缩小后的结果,所以需要根据三轴数字陀螺仪说明书要求,对摄像机旋转角速度测 量值[w x,wy,wj和摄像机平移运动加速度测量值[ax,ay,a z]进行数值转换及倍率处理,获 得每组运动参数的真实值。本实施例根据三轴数字陀螺仪ADIS16405的说明书要求,分别 将旋转角速度测量值[w x,wy,wj和平移运动加速度测量值[ax,ay,a z]乘以各自的比例系数 获得角速度参数中间量P和加速度参数中间量q,如公式(1)、(2)所示:
[0018] p = w*0.05° /s (1)
[0019] q = a*3. 333mg (2)
[0020] 其中,w代表角速度参数测量值[wx,wy,wj,a代表加速度参数测量值[a x,ay,aj ; 0. 05和3. 333分别为摄像机旋转角速度参数测量值和摄像机平移运动的加速度测量值所 需要乘以的比例系数;然后判断中间量P和q的二进制首位,若为0,则直接将中间量P和 q转换成十进制表示,若为1,则说明当前P和q为补码形式,需要将其转换为原码后再转换 成十进制表示,获得摄像机旋转角速度参数和摄像机平移运动的加速度的真实值,分别表 示为[W x,Wy,WJ 和[Ax,Ay,AJ。
[0021] 然后,将T时间内所得的η组参数求取平均值,作为第N帧图像的摄像机运动参 数。用W和A分别表示摄像机运动参数中旋转角速度参数和平移加速度参数。公式如(3) (4)所示:
[0022]
[0023]
[0024] 即通过倍率处理、数值转换以及取平均值之后,第N帧图像的摄像机运动参数表 示为为了区别每一帧图像的摄像机运动参数,在摄像机运 动参数数据的开始加入包头正整数N,其中N = 1,2, 3…从而第N帧图像的摄像机运动参数 最终表TK为:
[0025]
[002
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1