法律状态公告日
法律状态信息
法律状态
2016-06-29
授权
授权
2013-09-11
实质审查的生效 IPC(主分类):G06T7/00 申请日:20130517
实质审查的生效
2013-08-14
公开
公开
技术领域
本发明涉及视觉测量领域中的实时定位技术,尤其涉及一种基于现场可编 程门阵列(FPGA)的目标观瞄点实时定位装置和方法。
背景技术
计算机视觉是一门采用图像传感器,如:电荷耦合元件(CCD)摄像机, 获得客观世界的图像信息,并由计算机对图像进行分析与处理从而获知所需信 息的新兴技术。视觉测量技术是计算机视觉的工程应用,在国民经济、科学研 究以及国防建设等领域有着越来越广泛的应用,它具有非接触、精度高、动态 响应快、自动化程度高等优点,是解决光点实时定位的有效途径,光点定位是 视觉测量技术的一种典型应用。
所述目标观瞄是指目标的观测与瞄准,在目标跟踪仿真实验中,经常采用 激光光点实时定位并跟踪空间成像平面上的目标,若通过空间平面上的真实光 点获知原投影图像中目标所在位置,就可以将获得的位置与实际设定的目标位 置比较从而评价定位准确度,可应用于射击手射击模拟训练、武器瞄准装置的 研究等。
在视觉测量系统中,视觉传感器起着至关重要的作用,传统视觉传感器基 于个人计算机(Personal Computer,PC)架构,即由一台或多台摄像机、采集 卡和PC组成,还包括其它辅助测量的装置,如激光器、光栅投射器等。所述 视觉传感器的工作原理是:摄像机完成图像的捕获,采集卡完成图像采集和传 输,最终由PC机完成图像处理并发出执行响应。
传统的视觉测量系统的优势体现在其通用性和可扩充性上,但是,由于这 种系统的组成结构复杂,且视觉传感器需多个辅助装置,整体结构庞大,因此 系统的开发工作较繁琐,且成本高、功耗大,也受工作环境的限制、移动性能 较差,因此不利于维护、控制和使用。此外,图像的处理基于PC机,不仅处 理速度缓慢、智能化程度低,且实时性差、精度不高。
传统的视觉测量系统采用单目视觉处理技术,单目视觉是指仅利用一台摄 像机拍摄单张相片进行分析与处理,因此具有结构简单、现场安装、调试容易 等优点,同时可避免双目视觉中匹配难的问题。然而,对于单目视觉技术,目 前并没有空间成像平面上的光点在原投影图像上的定位研究。此外,目前应用 较为广泛的激光测距也仅限于空间物理坐标的测量,从实时性、自动化程度方 面考虑,不适用于光点的实时定位。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于FPGA的目标观瞄点实时 定位装置和方法,可克服现有视觉测量系统体积庞大、功耗大,且实时性差、 不利于使用和维护的缺点。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种基于现场可编程门阵列FPGA的目标观瞄点实时定位装 置,该装置包括:光学镜头、图像采集模块、处理器模块和存储模块;其中,
所述光学镜头,用于对图像的原始光信号进行校正并映射成像到所述图像 采集模块上;
所述图像采集模块,用于将所述经校正的图像的光信号转换成图像的数字 信号,并传输给所述处理器模块;
所述处理器模块设置于FPGA芯片上,用于将从图像采集模块接收的图像 的数字信号缓存到存储模块中;之后从存储模块中读取所述数字信号,并进行 光斑中心坐标快速提取运算;
所述存储模块,用于缓存所述图像的数字信号。
进一步地,该装置还包括:通信模块和上位机界面模块;其中,
所述通信模块,用于将所述处理器模块提取的光斑中心坐标输出给所述上 位机界面模块;
所述上位机界面模块设置于个人计算机上,用于光斑中心坐标的显示,还 用于图像的显示以及目标观瞄点运动轨迹的绘制。
其中,所述处理器模块,还用于通过所述通信模块将所述光斑中心坐标的 提取结果输出给所述上位机界面模块。
优选的,所述处理器模块包括:处理模块和控制模块;其中,
所述处理模块,用于将从图像采集模块接收的图像的数字信号缓存到存储 模块中;之后从存储模块中读取数字信号,并进行光斑中心坐标快速提取运算, 通过通信模块将所述光斑中心坐标的提取结果输出给所述上位机界面模块;
所述控制模块,用于控制所述图像采集模块、存储模块、处理模块和通信 模块执行相应操作。
其中,所述控制模块通过硬件描述语言VHDL或Verilog编写状态机实现。
上述方案中,所述图像采集模块设置于互补金属氧化物半导体CMOS、或 电荷耦合元件CCD图像传感器芯片上。
其中,所述光学镜头的光轴垂直于所述图像采集模块的图像传感器阵列面, 且所述光轴与图像传感器阵列面的几何中心同心。
上述方案中,所述存储模块为同步动态随机存取存储器SDRAM或快速闪 存flash。
上述方案中,所述处理器模块为主频在100MHz及100MHz以上的FPGA 芯片。
其中,所述通信模块采用以太网高速通信接口。
本发明还提供了一种基于现场可编程门阵列FPGA的目标观瞄点实时定位 方法,该方法包括:
将图像的原始光信号进行校正并映射成像;将所述经校正的图像的光信号 转换成图像的数字信号,并进行缓存;读取所述数字信号,并进行光斑中心坐 标快速提取运算。
进一步地,该方法还包括:将所述已提取的光斑中心坐标输出并显示,显 示图像并进行目标观瞄点运动轨迹的绘制。
其中,所述光斑中心坐标快速提取运算方法包括:目标观瞄点区域预测、 光斑中心点提取以及光点定位。
其中,所述目标观瞄点区域预测,为:采用卡尔曼滤波器预测目标观瞄点 的位置。
其中,所述光斑中心点提取,为:采用基于Hessian矩阵的光斑中心坐标 精确提取方法,达到亚像素精度。
其中,所述光点定位过程采用光点定位模型,即:摄像机像平面上点到原 仿真图像上对应点的关系模型。
本发明提供的基于FPGA的目标观瞄点实时定位装置和方法,将图像的原 始光信号进行校正并映射成像;将所述经校正的图像的光信号转换成图像的数 字信号,并进行缓存;读取所述数字信号,并进行光斑中心坐标快速提取运算。 所述光斑中心坐标快速提取运算由本发明设置于FPGA芯片上的处理器模块实 现,相对现有的PC机对图像处理,本发明不需等所有数据都采集完成后再进 行数据的处理,而是基于FPGA采用串行方式处理图像数据,实时性强。此外, 本发明的光斑中心坐标快速提取方法结合卡尔曼滤波器和Hessian矩阵,计算 精度更高。
此外,本发明图像数据处理过程由FPGA芯片实现,可见本发明的装置相 对现有视觉测量系统中处理图像数据的PC来说,体积大大减小,而且便于使 用和维护,FPGA芯片相对PC的功耗也大大减小。另外,本发明所述图像采集 模块对应的电路板尺寸很小,如:4.6cm××4.6cm,相比传统相机而言,体积也 大大减少,从而提高本发明所述装置的集成度,同样较小了体积。
附图说明
图1为本发明所述基于FPGA的目标观瞄点实时定位装置结构示意图;
图2为本发明所述控制模块对其他模块的控制状态示意图;
图3为本发明所述基于FPGA的目标观瞄点实时定位装置一实施例的结构 示意图;
图4为本发明实施例所述处理模块的处理流程示意图;
图5为本发明实施例所述卡尔曼滤波器状态一步预测FPGA实现方法示意 图;
图6为本发明实施例所述Hessian矩阵求目标观瞄点亚像素中心点的方法 流程示意图;
图7为本发明实施例所述高斯滤波器FPGA实现方法示意图;
图8(a)为本发明实施例所述数字仿真图像到显示器的成像变换关系;
图8(b)为本发明实施例所述空间平面到摄像机像平面的成像变换关系。
具体实施方式
×随着以计算机技术、通信技术和软件技术为核心的信息技术的迅速发展, 嵌入式系统得到了广泛应用。嵌入式系统具有专用性、小体积、低功耗、低成 本、高性能等优点。嵌入式系统与视觉测量系统的结合可以弥补视觉测量系统 的缺点,因此,嵌入式视觉测量系统是一种发展趋势。
本发明的基本思想是:基于嵌入式FPGA的视觉测量技术,利用光学镜头 与图像传感器完成图像采集,使用FPGA芯片处理图像、进行光点定位,并传 输光点定位结果,并使用上位机软件显示测量结果,从而改善了目标观瞄点的 定位实时性,且大大减小了定位装置的体积,可降低功耗、便于维护和使用。
下面结合附图及具体实施例对本发明作进一步详细说明。
图1为本发明所述基于FPGA的目标观瞄点实时定位装置结构示意图,如 图1所示,该装置包括:光学镜头、图像采集模块、处理器模块、存储模块, 还包括通信模块和上位机界面模块。实际应用过程中,可将所述光学镜头、图 像采集模块、处理器模块、存储模块以及通信模块设置于一个小型外壳内,上 位机界面模块可安装在PC上,构成一种基于FPGA的目标观瞄点实时定位装 置。
所述光学镜头,用于对图像的原始光信号进行校正并映射成像到所述图像 采集模块上;
所述光学镜头的光轴与所述图像采集模块的图像传感器阵列面之间是垂直 的位置关系,且光轴与图像传感器阵列面的几何中心同心,这个位置关系是为 了保证光信号成像在图像传感器阵列面上而确保图像清晰。所述垂直关系和同 心关系可通过机械结构实现。
所述图像采集模块,用于将所述经校正的图像的光信号转换成图像的数字 信号,并传输给所述处理器模块;
所述处理器模块设置于FPGA芯片上,包括处理模块,所述处理模块,用 于将从图像采集模块接收的图像的数字信号缓存到存储模块中;之后从存储模 块中读取数字信号,并进行光斑中心坐标快速提取运算,通过通信模块将所述 光斑中心坐标的提取结果传输给所述上位机界面模块;
所述存储模块,用于缓存所述图像的数字信号;
所述通信模块,用于将所述处理器模块提取的光斑中心坐标传输给上位机 界面模块;
所述上位机界面模块,用于光斑中心坐标的显示,还可用于图像的显示以 及目标观瞄点运动轨迹的绘制,实现人机交互。
优选的,所述处理器模块还包括:控制模块,用于控制所述图像采集模块、 存储模块、处理模块和通信模块执行相应操作,可通过硬件描述语言VHDL或 Verilog编写状态机来实现各个模块间的协调工作,如图2所示。
图3为本发明所述基于FPGA的目标观瞄点实时定位装置一实施例的结构 示意图,具体的,
所述图像采集模块,是使用以互补金属氧化物半导体(CMOS)或CCD图 像传感器为核心直接设计出来的,设置于CMOS或CCD图像传感器芯片上。 图像采集模块包括:两个数字电源(3.3V和1.8V)和一个模拟电源(3.3V)、 用于存储控制字的EEPROM、CMOS图像传感器芯片MLX75412和用于提供 时钟的有源晶振。图像采集模块是由FPGA编写时序驱动的,准确的时序是图 像采集模块工作的前提,FPGA芯片,即处理器模块通过I2C总线接口,即SCL 和SDA两根数据线控制CMOS图像传感器芯片。
这里,所述图像采集模块电路板的尺寸大小为4.6cm××4.6cm,相比传统 相机而言,体积大大减少,从而可提高整个装置的集成度。
所述存储模块,通过存储速度快且存储量较大的同步动态随机存取存储器 (SDRAM)或快速闪存(flash)实现,可以有效地起到图像缓存作用,避免处 理速度过慢而造成数据丢失。图像采集模块的帧频较高时,两帧之间的时间间 隔t较小时,在t时间内,FPGA芯片不能完成一帧数据的处理,所以需要缓存 图像,图像大小为1024×512,采集模块最高帧频为60fps,为了匹配存储容量 和存储速度,选择IS42S83200G,存储容量为256Mb,最高存储速度为200MHz。
所述处理器模块,采用主频可以达到100MHz及100MHz以上的FPGA芯 片,可以是Xilinx公司的FPGA产品或Altera公司的FPGA产品。FPGA为Xilinx 公司Virtex-4系列的XC4VSX35芯片,封装形式为ff668。主要的指标为:逻 辑门数相当于300万门,可编程逻辑单元为34560个,内置存储块600K字节, 192个XtremeDSP模块,最高支持500MHz,实际可用IO数为448个。内部核 心应用1.2V的电源,辅助电压应用2.5V的电源,外部IO应用3.3V的电源。 所述Virtex-4芯片主要由可配置逻辑模块(Configurable Logic Block,CLB)、 输入输出接口模块(Input/Output Block,IOB)、BlockRAM、乘法器、数字时 钟管理器(Digital Clock Manager,DCM)和XtremeDSP模块组成。
其中,所述CLB,用于实现FPGA芯片的大部分逻辑功能;所述IOB,用 于提供封装管脚与内部逻辑之间的接口;所述BlockRAM,用于实现FPGA芯 片内部数据的随机存取;所述DCM,用于FPGA芯片内部的时钟控制和管理, 利用DCM模块能够轻松的对时钟进行管理,从而对输出的CMOS驱动时序进 行微调,XtremeDSP是乘法器、累加器等处理模块,最高时钟高达500MHz, 特别适合信号处理。
图3中所述虚线框中的I2C控制器、总控制器和SDRAM控制器共同组成 所述控制模块,所述总控制器用于控制所述I2C控制器和所述SDRAM控制器 执行相应操作,所述实线框中的先入先出队列(FIFO)模块、卡尔曼滤波器、 Hessian矩阵求取模块和光点定位模块共同组成所述处理模块。此外,所述FIFO 缓存同样起到缓存数据的作用,防止帧频过高。
所述处理模块,是图像处理的核心部分,主要完成光斑中心坐标快速提取, 主要包括目标观瞄点区域预测、光斑中心点提取和光点定位;具体的,
所述处理模块执行的运算方法为:采用卡尔曼滤波实时预测光斑在图像中 的初始位置,从而得到一个较小的光斑区域,在此区域内再对光斑中心坐标精 确提取,提取方法通过计算光斑图像灰度函数的Hessian矩阵判断得到光斑中 心的像素级坐标,经泰勒展开式求得光斑中心亚像素级坐标。具体实施步骤为:
(1)给定第一帧图像中光斑的精确位置,作为卡尔曼滤波器的初始状态, 并设定预估计阵;
(2)依据光斑位置预测的卡尔曼滤波器模型计算基本方程,得到下一帧光 斑位置的预测值;
(3)在以预测位置为中心,略大于光斑大小的区域内,基于Hessian矩阵 的提取方法提取光斑中心亚像素坐标;
(4)更新卡尔曼滤波器的参数,返回步骤(2)。
所述处理模块的目标观瞄点区域预测采用卡尔曼滤波器,预测目标观瞄点 的位置,达到实时跟踪目标观瞄点的目的。卡尔曼滤波是解决状态最优估计的 一种常用算法,以递推算法简单、数据存储量小、实时性好等优点被广泛应用 于目标轨迹预测。
目标观瞄点卡尔曼滤波器模型,在摄像机图像采集过程中,相邻两帧间的 时间间隔较短,且光点跟随运动目标变化比较平稳,因此可认为,光点在相邻 两帧的时间间隔内做匀速直线运动。考虑到实际情况中速度在有随机扰动的情 况下会发生轻微变化,通常假定这个随机扰动是零均值的高斯白噪声Wk。
令状态向量为Xk=[xk,yk,x′k,y′k]T,其中,xk、yk分别表示光斑中心在图像 平面U轴、V轴上的坐标分量;x′k、y′k分别表示光斑中心在U轴、V轴上的运 动速度。由牛顿运动定律有
xk=xk-1+x′k-1t+wkxt2/2,x′k=x′k-1+wkxt (1)
yk=yk-1+y′k-1t+wkyt2/2,y′k=y′k-1+wkyt (2)
其中,t为两帧间的间隔时间,Wk=[wkx,wky]T,wkx、wky为分别进入U、 V坐标的系统噪声,且相互独立。由上式可建立卡尔曼滤波器的状态方程为
令观测向量为Zk=[xmk,ymk]T,xmk、ymk分别为观测到的光斑中心在U、 V轴上的坐标信息。则有卡尔曼滤波器的观测方程
其中,Vk=[vkx,vky]T为观测噪声,与Wk为相互独立的零均值高斯白噪声序 列,Wk的协方差矩阵为Q,Vk的协方差矩阵为R。
卡尔曼滤波器的工作过程可以通过两个方程表述:时间更新方程和观测更 新方程。
时间更新方程:
状态一步预测:Xk/k-1=AXk-1 (5)
一步预测均方差:Pk/k-1=APk-1AT+ΓQΓT (6)
观测更新方程:
滤波增益:Kk=Pk/k-1HT(HPk/k-1HT+R)-1 (7)
状态估值计算:Xk=Xk/k-1+Kk(Zk-HXk/k-1) (8)
估计均方差:Pk=[I-KkH]Pk/k-1 (9)
Xk-1,Xk,Xk/k-1表示当前时刻状态值、下一时刻状态值和由当前时刻而预 测下一时刻的状态值。Pk,Pk-1,Pk/k-1表示下一时刻状态误差、当前时刻状态 误差、由当前时刻预测下一时刻的误差,Kk是kalman滤波增益,A和H分别 表示状态转移矩阵和观测矩阵。时间更新方程负责及时向前推算当前状态变量 和误差协方差估计值,以便为下一个时刻状态构造先验估计。测量更新方程负 责反馈,它将先验估计和新的测量变量结合以构造改进的后验估计。时间更新 方程也可视为预估方程,测量更新方程可视为校正方程。
式(1)与式(2)即为卡尔曼滤波器模型,式(5)、(6)是时间更新方程,式(7)、 (8)、(9)是观测更新方程,依据四个方程,以观测值作为输入,预测状态量作为 输出通过卡尔曼滤波的时间更新方程和观测更新方程计算,便可递归预测光斑 在图像中的位置。卡尔曼滤波器FPGA实现的结构框图如图4所示,其中状态 一步预测结果如图5所示,采用FPGA并行结构实现,图5中所示表示 乘法器延时,所示表示加法器延时,其他方程的FPGA实现结构类似。
所述处理模块的光斑中心点提取采用基于Hessian矩阵的光斑中心坐标精 确提取,达到亚像素精度,从而提高定位精度。基于Hessian矩阵的光斑中心 坐标精确提取过程,如图6所示,待处理的图像数据串行输入,经FIFO缓冲 后先进行行卷积滤波,再由串行转为并行FIFO,并进行列卷积滤波;进行像素 级判断之后,执行亚像素坐标求取,得到所需结果。Hessian矩阵可以判断曲面 或曲线的极值点,且对于二维图像,光斑中心处为灰度曲面的极大值点,因此 首先通过光斑图像的Hessian矩阵判断得到光斑中心像素级坐标。设光斑区域 的图像灰度分布函数为I(x,y),其Hessian矩阵表达式为
其中,Ixx、Ixy、Iyy为I(x,y)对x,y的二阶偏导数,由I(x,y)与二阶微分 形式的高斯卷积核得到。光斑中心像素级判定条件为:①Ix(xp,yp)=Iy(xp,yp)=0; ②Hess(xp,yp)负定。依据判定条件即可得到光斑中心像素级坐标(xp,yp)。
记光斑中心亚像素坐标为(xp+s,yp+t),其中(s,t)∈[-0.5,0.5]×[-0.5,0.5],通过 亚像素坐标处的灰度函数泰勒展开,并由极大值点处一阶导数为零的性质可得 到
其中Ix、Iy为图像灰度分布函数I(x,y)在(xp,yp)处的一阶偏导数,Ixx、Ixy、 Iyy为图像灰度分布函数I(x,y)在(xp,yp)处的二阶偏导数。
在FPGA实现Hessian矩阵时,根据高斯函数可分离性,可推出高斯滤波 卷积可分离。对二维图像进行高斯卷积时,可以分成两步,先对行卷积之后, 再对列进行卷积,把二维卷积转化成两次一维卷积,大幅降低运算量。同时结 合高斯函数的对称性,可以先对具有对称性的数据进行加减运算再进行乘法运 算,这样保证处理速度不变的情况下,可以减少乘法的数量,解决FPGA资源, 高斯滤波器具体结构如图7所示,所示表示加法或减法,具体由高斯滤波 系数的对称性决定;所示表示加减法器延时。
处理模块的光点定位采用光点定位模型,即:摄像机像平面上点到原仿真 图像上对应点的关系模型。记q为原仿真图像上一点,Q为其在显示器上的成 像点,q′为点Q在摄像机像平面上的成像点。首先,数字仿真图像成像到显示 器上,因数字仿真图像在显示器上的成像为射影变换,如图8(a)所示,于是 存在单应性矩阵H1,满足
其中s1为一比例因子,分别表示点Q与q的齐次坐标。
显示器上的图像再经摄像机采集,最终成像到摄像机的像平面。基于摄像 机小孔成像原理,空间平面到摄像机像平面上的成像也是一种射影变换关系, 如图8(b)所示。同样,也存在单应性矩阵H2,使得
其中s2为一比例因子,为点q′的齐次坐标。联立式(1)、式(2)则有
记s=s1s2,H=H2H1,可得
其中H即为数字仿真图像与摄像机像平面间的映射矩阵。
因det[H1]≠0,det[H2]≠0,所以det[H]≠0,记
其中H的求解可通过两平面上已知特征点的坐标建立线性方程组,通过 LM优化算法求解。
所述通信模块采用以太网高速通信接口,可以方便连接和实时控制。
所述上位机界面模块设置,如安装在PC机上,可采用VS2010软件编写, 用于图像的显示、光斑中心坐标的显示,即定位结果的显示以及目标观瞄点运 动轨迹的绘制,实现人机交互。
本发明还提供了一种基于FPGA的目标观瞄点实时定位方法,该方法包括: 将图像的原始光信号进行校正并映射成像;将所述经校正的图像的光信号转换 成图像的数字信号,并进行缓存;读取所述数字信号,并进行光斑中心坐标快 速提取运算。
进一步地,该方法还包括:将所述已提取的光斑中心坐标输出并显示,显 示图像并进行目标观瞄点运动轨迹的绘制。
具体的,所述光斑中心坐标快速提取运算方法包括:目标观瞄点区域预测、 光斑中心点提取以及光点定位。
其中,所述目标观瞄点区域预测,为:采用卡尔曼滤波器预测目标观瞄点 的位置,达到实时跟踪目标观瞄点的目的。
其中,所述光斑中心点提取,为:采用基于Hessian矩阵的光斑中心坐标 精确提取方法,达到亚像素精度,从而提高定位精度。
其中,所述光点定位采用光点定位模型,即:摄像机像平面上点到原仿真 图像上对应点的关系模型。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。
机译: 基于FPGA的实时处理系统和方法应用于水下声学定位和实现重新配置性和多个输出
机译: 基于FPGA的实时处理系统和方法,用于水声定位,可重构性和多输出
机译: 一种基于镍的超硬磨料的点处理方法及一种用于超硬磨料的点处理工具