CN103617624A - 用于高速视觉测量的基于合作目标的实时全局搜索方法 - Google Patents

用于高速视觉测量的基于合作目标的实时全局搜索方法 Download PDF

Info

Publication number
CN103617624A
CN103617624A CN201310681591.9A CN201310681591A CN103617624A CN 103617624 A CN103617624 A CN 103617624A CN 201310681591 A CN201310681591 A CN 201310681591A CN 103617624 A CN103617624 A CN 103617624A
Authority
CN
China
Prior art keywords
pixel
gauge point
current
module
real
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310681591.9A
Other languages
English (en)
Other versions
CN103617624B (zh
Inventor
叶东
于潇宇
郭玉波
陈刚
赵振庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201310681591.9A priority Critical patent/CN103617624B/zh
Publication of CN103617624A publication Critical patent/CN103617624A/zh
Application granted granted Critical
Publication of CN103617624B publication Critical patent/CN103617624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

用于高速视觉测量的基于合作目标的实时全局搜索方法,涉及标记点搜索方法。它为了解决高速视觉测量中,全局搜索过程耗时过长、对相机分辨率敏感、系统更新率受制于目标的运动速度的问题。本发明的数据预处理模块中并行化的数据同时输出到数据缓冲控制模块和标记点实时检测模块。标记点实时检测模块检测到标记点像素后,将标记点后续相关数据发送到运算模块,运算模块为多流水线结构,当一帧图像传输结束后,即可输出所有标记点的坐标,经计算得出标记点质心数据并存入对应缓存。本发明具有全局搜索过程耗时短、鲁棒性好、对相机分辨率不敏感、对目标的运动速度不敏感的优点。本发明适用于图像处理领域及视觉测量领域。

Description

用于高速视觉测量的基于合作目标的实时全局搜索方法
技术领域
本发明涉及一种标记点实时搜索方法,属于图像处理领域及视觉测量领域。
背景技术
在视觉测量中,合作目标的实现方式通常采用红外主动或被动光源结合滤光片的方法,将被测目标与背景进行良好的分离,进而简化后端处理算法,在保证精度的前提下提高系统的实时性。在图像处理过程中,需对合作目标的标记点进行搜索,以确定其质心,而后进行空间坐标解算。其搜索方式主要分为全局搜索和邻域搜索两种。全局搜索即在图像中,将所有像素与阈值逐点比较,搜索到大于阈值的点后,在其周围完成所属合作目标的像素遍历,而后得出该标记点的质心特征。然而全局搜索的耗时随着视觉传感器分辨率的增加而增加。在分辨率为2048×2048的嵌入式双目视觉测量系统中,采用工作频率为1GHz的DSP对来自两台相机的图像进行标记点全局搜索时,耗时约为100~200ms,严重影响了视觉测量系统的数据更新率。
为解决这一问题,基于邻域的搜索方式得到了广泛的应用,即仅在系统初始化时执行全局搜索,确定标记点在当前帧中的位置;在后续帧中,以上一帧标记点质心为中心,设定邻域范围,仅搜索邻域范围中的像素。通过这种方式,使标记点的搜索耗时减少95%以上。
然而采用邻域搜索方式时还需要解决以下问题:
第一,系统的数据更新率要与目标的运动速度相匹配。当帧频保持不变、目标在与像面平行的平面中运动时,目标的运动速度决定了图像中,同一标记点在相邻帧间的移动距离。随着目标速度的增加,简单的邻域设定已经不再适合,为了避免邻域范围设置过大带来的种种问题,需加入对目标运动轨迹的估计。此时,邻域的范围取决与估计的偏差。当目标进行高速复杂运动时,较大的估计偏差会造成多点邻域重合等情况,对标记点的识别造成干扰。同时,较大的邻域增加了像素读取数量,使更新率进一步降低。这种情况在高速运动目标的测量领域中尤为明显,如航空航天、交通安全、军事侦察、靶场测试、运动分析等。
第二,当被测目标存在俯仰、偏航、滚转等运动或测量过程中受到其他物体遮挡时,置于其上的标记点在图像中会有消失和重现的现象发生。当标记点消失时,视觉测量系统需将搜索方式重新从邻域搜索切换到全局搜索进行初始化。此时,受到搜索耗时的影响,系统的数据更新率会产生一定的波动,从而影响了系统的实时性。当标记点重现时,帧间的邻域搜索方式并不能及时的发现重现的标记点,直到下一次切换到全局搜索时,该标记点才被搜索到,在一定程度上影响了目标的位姿解算过程。
综上所述,视觉测量中,在串行结构体系的计算机、DSP等处理器上执行全局、邻域搜索都有各自的局限性,在高速运动目标的测量中尤为明显。若能找到一种高速的全局搜索方法或逻辑结构,解决全局搜索中实时性差的缺点,并将其应用在视觉测量系统中,则会大大扩展测量系统的应用领域,使对高速运动目标的测量成为可能。
发明内容
本发明目的是为了解决高速视觉测量中,全局搜索过程耗时过长、对相机分辨率敏感、系统更新率受制于目标的运动速度的问题,提供一种在FPGA中实现的用于高速视觉测量的基于合作目标的实时全局搜索方法。
本发明所述的用于高速视觉测量的基于合作目标的实时全局搜索方法中的FPGA内部嵌入有相机数据传输与控制模块、数据预处理模块、数据缓存控制模块、标记点实时检测模块和运算模块,所述运算模块通过DSP EMIF数据通信接口与外部的DSP芯片相连;
相机数据传输与控制模块:用于完成相机通讯接口控制,并将高速相机的像素数据并行输入到数据预处理模块,同时输出相机的同步时钟信号给数据预处理模块;
数据预处理模块:用于保证后续的时钟频率在50MHz以下,该时钟频率来自于相机数据传输与控制模块输出的同步时钟信号;若该同步时钟信号在50MHz以上,则通过将数据位宽倍增的方式将该信号二分频;在本方法应用的嵌入式系统中,输入时钟为85MHz,数据预处理模块将二分频后并行的16像素数据同时输出到数据缓存控制模块和标记点实时检测模块;
数据缓存控制模块:用于对h行像素进行缓冲,为t时刻高阈值搜索到的标记点像素提供t时刻之前h行的像素数据;
标记点实时检测模块:采用双阈值法对合作目标的标记点进行搜索;
运算模块:用于通过多级流水线实时计算出标记点的质心坐标,所述质心坐标
Figure BDA0000437042780000021
的计算公式为:
x ‾ = ( Σ i = t - m t - 1 x i p i 2 + Σ i = t n x i p i 2 ) / ( Σ i = t - m t - 1 p i 2 + Σ i = t n p i 2 )
y ‾ = ( Σ i = t - m t - 1 y i p i 2 + Σ i = t n y i p i 2 ) / ( Σ i = t - m t - 1 p i 2 + Σ i = t n p i 2 ) - - - ( 1 )
其中,m是指t时刻之前,属于相同标记点且灰度值大于低阈值的像素的个数,pi是指第i个像素点的灰度值;
所述运算模块包括目标识别与集中运算单元、n个目标像素积分模块、多目标参数存储模块和帧间除法与存储模块,n为大于1的整数;
其中,标记点实时检测模块对标记点进行检测基于如下四点假设:
假设一:假设安放在同一目标上的多个标记点在同一帧图像中具有相同尺寸的外切矩形,且其长宽分别为Dx和Dy
假设二:假设当相邻两帧图像之间,同一标记点的外切矩形面积的差异小于5%,此时两帧图像中,运动目标上标记点的外切矩形满足公式(2):
|Dx(t)-Dx(t-1)|<e    (2)
|Dy(t)-Dy(t-1)|<e
其中,e为允许偏差;
假设三:在图像中,定义标记点区域为以标记点质心为中心,长和宽分别为a和b的矩形,则n个标记点区域之间不重合,即
Figure BDA0000437042780000033
假设四:在相邻的两个标记点区域中,位于同一行且距离最近的两个标记点的像素之间的距离L大于12个像素,即L>12pixels;
所述的a和b的取值通过如下方法确定:
标记点区域的长和宽在第t帧图像的取值a(t)和b(t)为:
a(t)=α1Dx(t-1)/2+β1    (4)
b(t)=α2Dy(t-1)/2+β2
当外切矩形为正方形时,则有
D x ( t - 1 ) = D y ( t - 1 ) = Af &lambda;z t - 1 &times; 10 - 3 + c - - - ( 5 )
其中,α1与α2为比例系数,A为标记点物理尺寸,f为标定后的镜头焦距,λ为图像传感器的像元尺寸,Zt-1为上一帧的空间坐标定位中,深度方向计算结果,β1和β2为标记点外切矩形到标记点区域范围补偿值,c为补偿值;当DSP处理完一帧图像,根据式公式(4)和公式(5)计算后出a(t)和b(t),将a(t)和b(t)的取值写回FPGA作为公式(6)和公式(7)的判定依据。
所述的标记点实时检测模块对标记点进行检测的方法为:
每个时钟周期内,进入标记点实时检测模块的并行的16像素数据经过两级D触发器缓冲后,以高阈值Th_H进行判断:
相邻的三个像素定义为一个像素段,16个像素段的首像素分别分第1至第16像素,第15个像素段的三个像素为第15像素、第16像素和下一时钟周期的第1像素,第16个像素段的三个像素为第16像素和下一时钟周期的前两个像素,下一时钟周期的像素数据可从上一级D触发器的缓存中读取,并将标记点判定条件定义为同一像素段中的三个像素的灰度值同时大于高阈值Th_H,在同一周期内完成该时钟周期内所有像素段的判别,当在检测中发现某一像素段满足标记点判定条件后,将该像素段中首像素Pth在当前16像素中的偏移量△x输出给状态机与地址生成模块,所述偏移量△x为所述像素段中的首像素Pth与该时钟周期的第1像素在x方向上的差值,状态机与地址生成模块根据△x计算生成地址后,分别与标记点实时检测模块中的n个标记点位置子模块中,已使能的k个标记点位置子模块中的标记点位置计算水平方向的欧式距离,判定该像素段所属的标记点区域,即通过公式(6)判定该像素段所属的标记点区域,所述标记点区域为矩形,其长和宽分别为a和b,
{ P th &Element; Area _ j | | x current + &Delta;x - x j | < a / 2 } j = 1 k - - - ( 6 )
其中,k为大于等于1、且小于n的整数,j为大于等于1且小于等于k的整数,xcurrent为16个像素的首像素地址;
若该像素段不属满足公式(6),则说明该像素段为新出现的标记点所属区域,此时,使能第k+1个标记点位置子模块,顺序检测n个标记点位置子模块,将该像素段存入序号最小且未使用的标记点位置子模块,并发送使能信号Cen[j]使能该标记点位置子模块对应的目标像素积分模块,记录当前像素段的首像素坐标(xcurrent,ycurrent)和当前像素段偏移量Δx,计算当前像素段对应的新标记点位置的坐标(xj,yj),同时,根据当前行数ycurrent,根据公式(7)计算已使能的k个标记点位置坐标中,每个标记点位置坐标yj与当前行数ycurrent的偏差,如果所述偏差超过阈值b/2,表明当前传输行已超出该标记点位置子模块对应的标记点区域,此时,将Cen[j]置低关闭该标记点位置子模块,并通过使能信号Aen[j]关闭与之对应的目标像素积分模块,
{ Cen [ j ] = 0 , Aen [ j ] = 0 | | y current - y j | > b / 2 } j = 1 k - - - ( 7 )
其中,ycurrent为16个像素的首像素y方向的地址,每个标记点位置子模块的输出包括区域使能Aen[j]、像素使能Pen[j]和标记点位置(xj,yj),区域使能Aen[j]表示当前传输的像素行ycurrent是否满足条件|ycurrent-yi|<b/2,Pen[j]表示在当前输出的像素值是否满足|xcurrent+Δx-xj|<a/2,即当前输出的像素值是否参与标记点位置(xj,yj)的质心计算。
所述的状态机与地址生成模块中的状态机包括以下状态:
IDLE状态:变量初始化,并判断fval是否到达上升沿,如果判断结果为是,跳转到FVAL_H1状态;否则,跳转回IDLE状态;
FVAL_H1状态:判断是否发现标记点,如果判断结果为是,跳转到FVAL_H2状态;否则,判断fval是否到达下降沿,如果判断结果为是,跳转到FVAL_L状态;否则,跳转到FVAL_H1状态;
FVAL_H2状态:判断fval是否到达下降沿,如果判断结果为是,跳转到FVAL_L状态;否则,跳转回FVAL_H2状态;
FVAL_L状态:判断延时是否结束,如果判断结果为是,跳转到FVAL_WT状态;否则,跳转回FVAL_L状态;
FVAL_WT状态:判断fval是否到达上升沿,如果判断结果为是,跳转到FVAL_H1状态;否则,跳转回FVAL_WT状态;
所述的fval为相机输出的帧有效信号。
目标识别与集中运算单元计算获得pi 2、xipi 2、yipi 2等参数的方法为:
同一时钟周期内的16个像素数据即像素灰度Pixel_R1至Pixel_R16从数据缓冲控制模块输出,进行低阈值Th_L比较,当像素灰度值低于低阈值Th_L时,比较结果为0,当像素灰度值高于低阈值Th_L时,比较结果为该像素的灰度值,计算16个比较结果的平方单元,获得pi 2,而后求得
Figure BDA0000437042780000052
在此过程中,将整个乘方与求和的过程使用7级流水线实现,而后延迟到3个流水周期,
Figure BDA0000437042780000054
的计算方法与
Figure BDA0000437042780000055
相比,多了一步乘法运算;在获得xipi 2和yipi 2的过程中,使用pi 2的计算过程在第3级流水周期实现,即:完整的运算单元共使用10级流水线;
地址生成单元将当前像素地址xcurrent和ycurrent转换为缓冲输出端与像素同步的地址,即将xcurrent延时10个流水周期后输出x_r,ycurrent减去缓冲行数h后输出y_r;
流水延时单元将区域使能Aen[j]延迟10个流水周期后输出Aen_r[j],以保持区域使能与其他输出的同步。
目标像素积分单元用来完成属于同一标记点,且其像素分布在多行间的
Figure BDA0000437042780000061
Figure BDA0000437042780000062
的计算,以获得
Figure BDA0000437042780000064
求和之前,需对当前输入的数据x_r与y_r是否属于当前目标像素积分单元进行判定,若满足|x_r-xj|<a/2,则将求和结果输入加法器,当y_r继续增加,导致|y_r-yj|>b/2时,则结束该标记点的积分过程,此时使能自加加法器后端移位模块,将获得的48位数据转换为64位数据后左移10位。
本发明所述的用于高速视觉测量的基于合作目标的实时全局搜索方法适用于一台或多台相机,对相机个数不敏感。图1所示的是应用于两台相机的情况,当有多台相机时,相应增加相机数据传输与控制模块、数据预处理模块、数据缓存控制模块、标记点实时检测模块和运算模块的数量即可。当相机分辨率为2048×2048时,相机完成初始化后,经数据预处理模块,8像素的64位数据分频扩展为16像素的128位数据,来改善时序中对建立时间和保持时间的限制,提高系统的稳定性。在数据预处理模块中,并行化的数据同时输出到数据缓冲控制模块和标记点实时检测模块。标记点实时检测模块检测到标记点像素后,将标记点后续相关数据发送到运算模块,利用FPGA的并行结构的特点,将运算模块建立为多流水线结构,在图像传输的过程中即时完成多个标记点的搜索与质心计算,当一帧图像传输结束后,即可输出所有标记点的坐标,经计算得出标记点质心数据并存入对应缓存,DSP读取缓存中的数据,进行空间坐标解算。通过这种方式,使系统更新率不再受制于目标的运动速度,后端的DSP等嵌入式处理器可以专注于目标的空间位姿解算,从而增强了系统的实时处理能力。另外,本实施方式采用的全局搜索方法,避免了领域搜索带来的标记点遮挡和重现的问题,提高了鲁棒性。基于FPGA的实时处理部分对图像分辨率并不敏感。当采用更高分辨率、更高帧频的高速相机,只需根据相机数据时钟更改系统时钟和数据预处理部分即可。
附图说明
图1为实施方式一所述的用于高速视觉测量的基于合作目标的实时全局搜索方法的FPGA的功能模块框图;
图2为实施方式一中标记点实时检测模块对标记点进行检测的标记点分布图,其中,
Figure BDA0000437042780000071
表示灰度值大于低阈值且小于高阈值的像素,
Figure BDA0000437042780000072
表示第一个搜索到的灰度值大于高阈值的像素,□表示灰度值大于高阈值的像素,A表示标记点区域1,B表示标记点区域2;
图3为实施方式二中标记点实时检测模块的原理框图;
图4为实施方式二中标记点实时检测模块能够同时处理的标记点的数目分析图;
图5为实施方式五中帧间除法与存储模块的原理图;
图6为实施方式四中目标识别与集中运算单元的乘方运算流水线的结构示意图,其中Pipeline1至Pipeline10分别表示第一至第十级流水线。
具体实施方式
具体实施方式一:结合图1和图2说明本实施方式,本实施方式所述的用于高速视觉测量的基于合作目标的实时全局搜索方法中的FPGA内部嵌入有相机数据传输与控制模块、数据预处理模块、数据缓存控制模块、标记点实时检测模块和运算模块,所述运算模块通过DSP EMIF数据通信接口与外部的DSP芯片相连;
相机数据传输与控制模块:用于完成相机通讯接口控制,并将高速相机的像素数据并行输入到数据预处理模块,同时输出相机的同步时钟信号给数据预处理模块;
数据预处理模块:用于保证后续的时钟频率在50MHz以下,该时钟频率来自于相机数据传输与控制模块输出的同步时钟信号;若该同步时钟信号在50MHz以上,则通过将数据位宽倍增的方式将该信号二分频;所述的实时全局搜索方法所应用的嵌入式系统,输入时钟为85MHz,数据预处理模块将二分频后并行的16像素数据同时输出到数据缓存控制模块和标记点实时检测模块;
数据缓存控制模块:用于对h行像素进行缓冲,为t时刻高阈值搜索到的标记点像素提供t时刻之前h行的像素数据;
标记点实时检测模块:采用双阈值法对合作目标的标记点进行搜索;
运算模块:用于通过多级流水线实时计算出标记点的质心坐标,所述质心坐标
Figure BDA0000437042780000073
Figure BDA0000437042780000074
的计算公式为:
x &OverBar; = ( &Sigma; i = t - m t - 1 x i p i 2 + &Sigma; i = t n x i p i 2 ) / ( &Sigma; i = t - m t - 1 p i 2 + &Sigma; i = t n p i 2 )
y &OverBar; = ( &Sigma; i = t - m t - 1 y i p i 2 + &Sigma; i = t n y i p i 2 ) / ( &Sigma; i = t - m t - 1 p i 2 + &Sigma; i = t n p i 2 ) - - - ( 1 )
其中,m是指t时刻之前,属于相同标记点且灰度值大于低阈值的像素的个数,pi是指第i个像素点的灰度值;
所述运算模块包括目标识别与集中运算单元、n个目标像素积分模块、多目标参数存储模块和帧间除法与存储模块,n为大于1的整数;
其中,标记点实时检测模块对标记点进行检测基于如下四点假设:
假设一:假设安放在同一目标上的多个标记点在同一帧图像中具有相同尺寸的外切矩形,且其长宽分别为Dx和Dy
假设二:假设当相邻两帧图像之间,同一标记点的外切矩形面积的差异小于5%,此时两帧图像中,运动目标上标记点的外切矩形满足公式(2):
|Dx(t)-Dx(t-1)|<e     (2)
|Dy(t)-Dy(t-1)|<e
其中,e为允许偏差;
假设三:在图像中,定义标记点区域为以标记点质心为中心,长和宽分别为a和b的矩形,则n个标记点区域之间不重合,即
Figure BDA0000437042780000083
假设四:在相邻的两个标记点区域中,位于同一行且距离最近的两个标记点的像素之间的距离L大于12个像素,即L>12pixels;
所述的a和b的取值通过如下方法确定:
标记点区域的长和宽在第t帧图像的取值a(t)和b(t)为:
a(t)=α1Dx(t-1)/2+β1     (4)
b(t)=α2Dy(t-1)/2+β2
当外切矩形为正方形时,则有
D x ( t - 1 ) = D y ( t - 1 ) = Af &lambda;z t - 1 &times; 10 - 3 + c - - - ( 5 )
其中,α1与α2为比例系数,A为标记点物理尺寸,f为标定后的镜头焦距,λ为图像传感器的像元尺寸,Zt-1(单位:mm)为上一帧的空间坐标定位中,深度方向计算结果,β1和β2为标记点外切矩形到标记点区域范围补偿值,c为补偿值;当DSP处理完一帧图像,根据式公式(4)和公式(5)计算后出a(t)和b(t),将a(t)和b(t)的取值写回FPGA作为公式(6)和公式(7)的判定依据。
本实施方式所述的用于高速视觉测量的基于合作目标的实时全局搜索方法适用于一台或多台相机,对相机个数不敏感。图1所示的是应用于两台相机的情况,当有多台相机时,相应增加相机数据传输与控制模块、数据预处理模块、数据缓存控制模块、标记点实时检测模块和运算模块的数量即可。当相机分辨率为2048×2048时,相机完成初始化后,经数据预处理模块,8像素的64位数据分频扩展为16像素的128位数据,来改善时序中对建立时间和保持时间的限制,提高系统的稳定性。在数据预处理模块中,并行化的数据同时输出到数据缓冲控制模块和标记点实时检测模块。标记点实时检测模块检测到标记点像素后,将标记点后续相关数据发送到运算模块,利用FPGA的并行结构的特点,将运算模块建立为多流水线结构,在图像传输的过程中即时完成多个标记点的搜索与质心计算,当一帧图像传输结束后,即可输出所有标记点的坐标,经计算得出标记点质心数据并存入对应缓存,DSP读取缓存中的数据,进行空间坐标解算。通过这种方式,使系统更新率不再受制于目标的运动速度,后端的DSP等嵌入式处理器可以专注于目标的空间位姿解算,从而增强了系统的实时处理能力。另外,本实施方式采用的全局搜索方法,避免了领域搜索带来的标记点遮挡和重现的问题,提高了搜索的鲁棒性。
为了准确提取标记点,同时保证质心计算的亚像素精度,对于标记点的搜索采用双阈值法。双阈值法的核心思想是,通过高阈值Th_H搜索标记点的大致位置,通过低阈值Th_L搜索该位置附近所有属于该标记点的像素,而后计算加权平均值,从而获得基于亚像素的质心坐标。
当采用双阈值法按照像素到来顺序搜索时,在t时刻搜索到大于高阈值的像素点Pt后,则在Pt的邻域中继续使用低阈值搜索。此时,需搜索t时刻之前,属于相同标记点且大于低阈值的像素Pt-1~Pt-m,和t时刻之后,属于相同标记点且大于低阈值的像素Pt~Pn,而后对这两项求和进行质心计算,即将质心计算公式变形为公式(1)。
上述过程在FPGA中实现。其中,t时刻之前的像素区域即图2中,h行所在区域。
图2中,h的值为3。在基于双阈值法的标记点检测中,需根据测量范围,统计h的最大取值hmax,从而将缓存容量设定为hmax行像素的容量。根据实验结果,当调整曝光时间后,相机镜头焦距为35mm,Th_H=90,Th_L=30,测量距离为0.5m~10m时,取hmax=8。此时,数据缓存控制模块的缓存大小为2048×8bit,使用8个级联的128bit×128的双端口RAM。当图像开始传输,写满8行缓冲区后,在缓冲区的输出端每个周期输出16个像素灰度Pixel_R1~Pixel_R16。
针对每个标记点,系统中共有三个运算处理单元,即标记点实时检测模块,运算模块,以及执行空间位姿解算算法的DSP。其中,标记点实时检测模块和运算模块均由多级流水线构成,前者完成像素的检测与识别,后者完成标记点的质心搜索、计算与相关缓存调度。在整个系统中,FPGA以协处理器的模式完成以定点操作为主的部分算法,由DSP来处理浮点运算。
本实施方式中,邻域矩形长宽在第t帧的取值a(t)和b(t)分别为标记点外切矩形尺寸Dx(t)和Dy(t)的函数。由于当前帧的标记点外切矩形尺寸在数据传输时未知,根据假设二,采用Dx(t-1)、Dy(t-1)代替Dx(t)、Dy(t)。当采用主动式标记点,相关参数保持不变时,且外切矩形为正方形时,标记点区域的长和宽可被定义为公式(5)。当取f=35mm,A=6mm,λ=5.5μm,设定α1=α2=2.8,β1=β2=2,c=0。当DSP处理完一帧图像,根据公式(4)和公式(5)计算a(t)和b(t)后,将结果写回FPGA作为公式(6)和公式(7)的判定依据。
通过这种反馈,可以更加精确的估计标记点的成像尺寸,以自适应的方式设定标记点像素的判定范围,避免因为标记点范围划分不当产生的像素的错误划分。当被测目标沿着z方向远离相机运动时,图像中的相邻标记点不会因为之间距离的缩小而出现在同一个标记点范围中。
具体实施方式二:结合图3和图4说明本实施方式,本实施方式是对实施方式一所述的用于高速视觉测量的基于合作目标的实时全局搜索方法的进一步限定,本实施方式中,所述的标记点实时检测模块对标记点进行检测的方法为:
每个时钟周期内,进入标记点实时检测模块的并行的16像素数据经过两级D触发器缓冲后,以高阈值Th_H进行判断:
相邻的三个像素定义为一个像素段,16个像素段的首像素分别分第1至第16像素,第15个像素段的三个像素为第15像素、第16像素和下一时钟周期的第1像素,第16个像素段的三个像素为第16像素和下一时钟周期的前两个像素,下一时钟周期的像素数据可从上一级D触发器的缓存中读取,并将标记点判定条件定义为同一像素段中的三个像素的灰度值同时大于高阈值Th_H,在同一周期内完成该时钟周期内所有像素段的判别,当在检测中发现某一像素段满足标记点判定条件后,将该像素段中首像素Pth在当前16像素中的偏移量△x输出给状态机与地址生成模块,所述偏移量△x为所述像素段中的首像素Pth与该时钟周期的第1像素在x方向上的差值,状态机与地址生成模块根据△x计算生成地址后,分别与标记点实时检测模块中的n个标记点位置子模块中,已使能的k个标记点位置子模块中的标记点位置计算水平方向的欧式距离,判定该像素段所属的标记点区域,即通过公式(6)判定该像素段所属的标记点区域,所述标记点区域为矩形,其长和宽分别为a和b,
{ P th &Element; Area _ j | | x current + &Delta;x - x j | < a / 2 } j = 1 k - - - ( 6 )
其中,k为大于等于1且小于n的整数,j为大于等于1且小于等于k的整数,xcurrent为16个像素的首像素地址;
若该像素段不属满足公式(6),则说明该像素段为新出现的标记点所属区域,此时,使能第k+1个标记点位置子模块,顺序检测n个标记点位置子模块,将该像素段存入序号最小且未使用的标记点位置子模块,并发送使能信号Cen[j]使能该标记点位置子模块对应的目标像素积分模块,记录当前像素段的首像素坐标(xcurrent,ycurrent)和当前像素段偏移量Δx,计算当前像素段对应的新标记点位置的坐标(xj,yj),同时,根据当前行数ycurrent,根据公式(7)计算已使能的k个标记点位置坐标中,每个标记点位置坐标yj与当前行数ycurrent的偏差,如果所述偏差超过阈值b/2,表明当前传输行已超出该标记点位置子模块对应的标记点区域,此时,将Cen[j]置低关闭该标记点位置子模块,并通过使能信号Aen[j]关闭与之对应的目标像素积分模块,
{ Cen [ j ] = 0 , Aen [ j ] = 0 | | y current - y j | > b / 2 } j = 1 k - - - ( 7 )
其中,ycurrent为16个像素的首像素y方向的地址,每个标记点位置子模块的出包括区域使能Aen[j]、像素使能Pen[j]和标记点位置(xj,yj),区域使能Aen[j]表示当前传输的像素行ycurrent是否满足条件|ycurrent-yi|<b/2,Pen[j]表示在当前输出的像素值是否满足|xcurrent+Δx-xj|<a/2,即当前输出的像素值是否参与标记点位置(xj,yj)的质心计算。
本实施方式中,在并行的16像素数据进入数据缓存控制模块的同时,另一路数据进入标记点实时检测模块,经2级D触发器缓冲后,以高阈值Th_H进行判断,如图3所示。在检测中,为了避免干扰,提高检测的准确性,将相邻的三个像素定义为一个像素段。每个时钟周期,同时对到来的像素分成图3中的16个像素段,在同一周期内完成所有像素段的判别。当像素时钟为42.5MHz,忽略帧间曝光等延时的情况下,每秒完成6.8×108次检测判别。在对第15、第16像素段数据判别时,使用下一个周期中的前两个像素,像素数据可从上一级D触发器的缓存中读取,如图3中虚线部分所示。
在上述检测过程中,标记点位置子模块(即图3中的Area_1至Area_n)的数量n受限于视觉测量系统的设计指标和FPGA内部资源的占用,在同一时间段内,能够处理标记点的个数是有限的。设在像素传输过程中的某时间段ti内,按照标记点所属像素的出现顺序,有垂直方向上彼此靠近的5个标记点,如图4所示。在同一行像素中,标记点实时检测模块中检测出的多个像素段可能归属于不同的标记点。在图中m行区域,像素段可能归属的标记点个数达到最大值,为4点。此时,当在检测中发现第一个搜索到的灰度值大于高阈值的像素Pth时,需将Pth的列地址同时与4个标记点位置的xj计算欧式距离。在设计中,可根据系统需求和可用资源设计n个标记点位置子模块及其后续目标像素积分单元,以满足图4中需同时处理多个标记点区域的情况。本实施方式中,取n=4。
具体实施方式三:本实施方式是对实施方式二所述的用于高速视觉测量的基于合作目标的实时全局搜索方法的进一步限定,本实施方式中,所述的状态机与地址生成模块中的状态机包括以下状态:
DLE状态:变量初始化,并判断fval是否到达上升沿,如果判断结果为是,跳转到FVAL_H1状态;否则,跳转回IDLE状态;
FVAL_H1状态:判断是否发现标记点,如果判断结果为是,跳转到FVAL_H2状态;否则,判断fval是否到达下降沿,如果判断结果为是,跳转到FVAL_L状态;否则,跳转到FVAL_H1状态;
FVAL_H2状态:判断fval是否到达下降沿,如果判断结果为是,跳转到FVAL_L状态;否则,跳转回FVAL_H2状态;
FVAL_L状态:判断延时是否结束,如果判断结果为是,跳转到FVAL_WT状态;否则,跳转回FVAL_L状态;
FVAL_WT状态:判断fval是否到达上升沿,如果判断结果为是,跳转到FVAL_H1状态;否则,跳转回FVAL_WT状态;
所述的fval为相机输出的帧有效信号。
本实施方式中,fval为相机输出的帧有效信号,lval为相机输出的行有效信号。在FVAL_H1状态中,列自加,并根据lval行自加;在FVAL_H2状态中,列自加,根据lval行自加,计算当前像素段的偏移量,比较与现存的标记点区域的距离并判断是否创建新的标记点区域,根据当前的行坐标判断已存在的多个标记点区域是否超出区域范围;在FVAL_L状态中,当前帧传输结束,为帧间的运算提供延时。
具体实施方式四:结合图6说明本实施方式,本实施方式是对实施方式一所述的用于高速视觉测量的基于合作目标的实时全局搜索方法的进一步限定,本实施方式中,目标识别与集中运算单元计算获得pi 2、xipi 2、yipi 2等参数的方法为:
同一时钟周期内的16个像素数据即像素灰度Pixel_R1至Pixel_R16从数据缓冲控制模块输出,进行低阈值Th_L比较,当像素灰度值低于低阈值Th_L时,比较结果为0,当像素灰度值高于低阈值Th_L时,比较结果为该像素的灰度值,计算16个比较结果的平方单元,获得pi 2,而后求得
Figure BDA0000437042780000131
在此过程中,将整个乘方与求和的过程使用7级流水线实现,而后延迟到3个流水周期,
Figure BDA0000437042780000132
Figure BDA0000437042780000133
的计算方法与
Figure BDA0000437042780000134
相比,多了一步乘法运算;在获得xipi 2和yipi 2的过程中,使用pi 2的计算过程在第3级流水周期实现,即:完整的运算单元共使用10级流水线;
地址生成单元将当前像素地址xcurrent和ycurrent转换为缓冲输出端与像素同步的地址,即将xcurrent延时10个流水周期后输出x_r,ycurrent减去缓冲行数h后输出y_r;
流水延时单元将区域使能Aen[j]延迟10个流水周期后输出Aen_r[j],以保持区域使能与其他输出的同步。
具体实施方式五:结合图5说明本实施方式,本实施方式是对实施方式一所述的用于高速视觉测量的基于合作目标的实时全局搜索方法的进一步限定,本实施方式中,目标像素积分单元用来完成属于同一标记点,且其像素分布在多行间的
Figure BDA0000437042780000135
Figure BDA0000437042780000136
的计算,以获得
Figure BDA0000437042780000137
求和之前,需对当前输入的数据x_r与y_r是否属于当前目标像素积分单元进行判定,若满足|x_r-xj|<a/2,则将求和结果输入加法器,当y_r继续增加,导致|y_r-yj|>b/2时,则结束该标记点的积分过程,此时使能自加加法器后端移位模块,将获得的48位数据转换为64位数据后左移10位。
本实施方式中,将获得的48位数据转换为64位数据后左移10位,目的是解决FPGA的定点运算无法满足对小数精度要求的问题。
n个目标像素积分单元的使能端同时连接多目标参数的存储模块。当一帧数据到来后,检测到n个目标像素积分单元中,有积分过程结束时,则将与其对应的求和结果Acc_p2、Acc_xp2、Acc_yp2分别写入3个RAM中。在当前帧传输结束后,停止对目标像素积分单元的检测,输出写RAM的当前地址作为该帧的标记点计数值,并输出除法使能信号。
由于除法运算中的Acc_p2、Acc_xp2、Acc_yp2都具有较高的位宽,计算时需较多周期,并不适合应用在对实时性要求较高场合。因此,除法运算设计在每幅图像传输完成后,利用帧间延时执行计算。利用帧间除法与存储模块通过对除法使能信号DivEn的边沿检测触发状态机,分别从3个RAM中读取当前帧中所有标记点的Acc_p2、Acc_xp2、Acc_yp2数据,依次输入div1和div2两个除法器进行除法运算,如图5所示。除法结果为64位数据。由于在除法前做了数据移位,在保证计算精度的前提下,舍去余数。完成除法计算后,将图中的
Figure BDA0000437042780000141
合并为128位数据存入深度为64的RAM。RAM的数据输出端口调整为16位,以适应DSP的外部存储器接口的位宽。
具体实施方式六:本实施方式是实施方式一所述的用于高速视觉测量的基于合作目标的实时全局搜索方法中FPGA的实现方法与性能测试。
1,FPGA的结构实现。在FPGA的实现过程中,平方、乘法、除法等操作使用设计软件自带的算法IP,数据缓存控制模块中使用的双端口RAM,以及多目标参数的存储模块、帧间除法存储模块中的双端口RAM,均使用设计软件自带的存储器)IP。将设计通过Altera FPGA工具QuartusII应用于CycloneIII系列中的EP3C120F780C7器件,进行双相机合作目标的后端处理。综合后,当标记点位置子模块和目标像素积分单元的并行处理数目n=4时,基于双相机的算法各部分各功能模块资源占用如表1所示,逻辑单元LE、存储位、DSP块分别占用了所用FPGA的21%、8%、11%。按照资源余量计算,设计中可满足并行处理数目n=200的设计,即200个标记点出现在图像同一行中的情况。
表1:基于全局搜索算法的FPGA各模块的资源占用情况
模块名称 模块数量 LE 存储kbit DSP单元
数据缓存控制模块 2 169 131.7 0
标记点实时检测模块 2 578 0 0
目标识别与集中运算模块 2 2695 0.96 32
目标像素积分单元模块 8 280 0 0
多目标参数存储模块 2 482 10.24 0
帧间除法与存储模块 2 7474 11.62 0
总计 25234 307.77 64
2,嵌入式视觉测量平台与全局搜索算法的应用
将基于FPGA的全局搜索算法应用于嵌入式视觉测量系统中。工业相机采用型号为GZL-CL-41C6的灰度相机。测试时,将光学靶标安装在高精度转台上,先增加相机曝光时间,通过与嵌入式视觉测量平台VGA接口相连的两台显示器确定视场,而后降低曝光时间至标记点与背景良好分离,进行系统测试。本实施方式中的嵌入式视觉测量硬件平台主要由FPGA和DSP组成。在该平台上完成了双目视觉测量功能。FPGA完成接口逻辑部分,DSP读取图像,经全局搜索初始化后,在后续帧中进行邻域搜索来提升处理速度,测量数据的更新率达到68.66帧/秒。当DSP采用TMS320C6416时,基于DSP的各部分耗时如表2“DSP全局”和“DSP邻域”所示。从更新率上看,在基于DSP的全局算法和邻域算法中,数据读取和质心提取耗时之和分别占总耗时的97.06%和63.19%,成为阻碍更新率提高的主要因素。
表2:基于质心提取的全局与邻域算法耗时分析
Figure BDA0000437042780000151
将基于FPGA的全局搜索算法应用后,系统各部分耗时如表2中“FPGA全局”所示。其中,数据传输部分包括DSP读取标记点质心坐标的读取耗时和空间坐标结果写RS232缓存耗时。对表中数据进行比较,在采用常用的5点靶标时,由于FPGA对标记点的实时处理节约了DSP处理中的数据传输和质心提取耗时,在忽略相机帧频限制的情况下,同为全局搜索,基于FPGA的全局算法的数据更新率提高了33.5倍;即使与速度较快的DSP邻域方法相比较,数据更新率也提高了2.7倍。
DSP的性能决定了空间坐标解算的耗时,从而决定了视觉测量系统的数据更新率。在系统中,当亚像素质心提取在FPGA内实现后,这部分耗时成为提升视觉测量系统数据更新率的主要瓶颈。解决这一问题,可以通过在FPGA中增加浮点运算单元数目来实现,例如增加内部软核、采用具有硬核CPU的FPGA来完成部分浮点运算,或采用新型多核DSP。
3,亚像素精度估计
为验证FPGA中基于全局搜索的质心提取重复性,采用35mm镜头,在3m距离下对5标记点的靶标连续采集100帧,通过DSP读取FPGA质心坐标的输出值,重复性如表3所示。表中,5点的标准差基本在0.015像素以下,具有较好的稳定性。
表3:标记点重复性验证(单位:Pixels)
标记点 1 2 3 4 5
x标准差 0.0131 0.0133 0.0136 0.0148 0.0118
x标准差 0.0131 0.0133 0.0136 0.0148 0.0118
y标准差 0.0165 0.0142 0.0148 0.0155 0.0167
本实施方式对基于嵌入式平台的视觉测量系统进行改进,将DSP中基于双阈值的搜索算法向FPGA中的移植,解决了传统方法的全局搜索与邻域搜索中,目标提取准确性与数据更新率之间的矛盾。通过在FPGA中构建多个并行的关键处理单元,并在每个处理单元中设计多级流水线,使处理能力大大增加,能够在图像的传输过程中完成多项像素级算法,如标记点像素检测、像素区域识别、基于10级流水的质心提取、基于多标记点的并行运算等。经移植后,相比于DSP的全局搜索和邻域搜索,忽略相机帧频限制的情况下,DSP的处理耗时分别减少了97.06%和63.19%,使视觉测量系统的数据更新率分别提高了33.5倍和2.7倍。此时,由于使用全局搜索替代系统初始化后的邻域搜索,避免了高速运动标记点的邻域搜索中,目标丢失、错误识别、帧频降低等问题,使双目视觉测量系统可以在2048×2048分辨率、5标记点的情况下,数据更新率达到186.33fps。由于所有的系统耗时消耗在DSP的空间坐标解算中,通过在FPGA中添加软、硬核或更换高性能的多核DSP,可以使系统工作在更高的数据更新率下。
本实施方式使用的FPGA资源最多可满足图像同一行中出现200个标记点的情况,仅需在设计中增加目标像素积分单元的并行数量。本实施方式中的基于FPGA的实时处理部分对图像分辨率并不敏感。当采用更高分辨率、更高帧频的高速相机,只需根据相机数据时钟更改系统时钟和数据预处理部分即可。

Claims (5)

1.用于高速视觉测量的基于合作目标的实时全局搜索方法,其特征在于:FPGA内部嵌入有相机数据传输与控制模块、数据预处理模块、数据缓存控制模块、标记点实时检测模块和运算模块,所述运算模块通过DSP EMIF数据通信接口与外部的DSP芯片相连;
相机数据传输与控制模块:用于完成相机通讯接口控制,并将高速相机的像素数据并行输入到数据预处理模块,同时输出相机的同步时钟信号给数据预处理模块;
数据预处理模块:用于保证后续的时钟频率在50MHz以下,该时钟频率来自于相机数据传输与控制模块输出的同步时钟信号;若该同步时钟信号在50MHz以上,则通过将数据位宽倍增的方式将该信号二分频;所述的实时全局搜索方法所应用的嵌入式系统,输入时钟为85MHz,数据预处理模块将二分频后并行的16像素数据同时输出到数据缓存控制模块和标记点实时检测模块;
数据缓存控制模块:用于对h行像素进行缓冲,为t时刻高阈值搜索到的标记点像素提供t时刻之前h行的像素数据;
标记点实时检测模块:采用双阈值法对合作目标的标记点进行搜索;
运算模块:用于通过多级流水线实时计算出标记点的质心坐标,所述质心坐标
Figure FDA0000437042770000011
的计算公式为:
x &OverBar; = ( &Sigma; i = t - m t - 1 x i p i 2 + &Sigma; i = t n x i p i 2 ) / ( &Sigma; i = t - m t - 1 p i 2 + &Sigma; i = t n p i 2 )
y &OverBar; = ( &Sigma; i = t - m t - 1 y i p i 2 + &Sigma; i = t n y i p i 2 ) / ( &Sigma; i = t - m t - 1 p i 2 + &Sigma; i = t n p i 2 ) - - - ( 1 )
其中,m是指t时刻之前,属于相同标记点且灰度值大于低阈值的像素的个数,pi是指第i个像素点的灰度值;
所述运算模块包括目标识别与集中运算单元、n个目标像素积分模块、多目标参数存储模块和帧间除法与存储模块,n为大于1的整数;
其中,标记点实时检测模块对标记点进行检测基于如下四点假设:
假设一:假设安放在同一目标上的多个标记点在同一帧图像中具有相同尺寸的外切矩形,且其长宽分别为Dx和Dy
假设二:假设当相邻两帧图像之间,同一标记点的外切矩形面积的差异小于5%,此时两帧图像中,运动目标上标记点的外切矩形满足公式(2):
|Dx(t)-Dx(t-1)|<e    (2)
|Dy(t)-Dy(t-1)|<e
其中,e为允许偏差;
假设三:在图像中,定义标记点区域为以标记点质心为中心,长和宽分别为a和b的矩形,则n个标记点区域之间不重合,即
Figure FDA0000437042770000023
假设四:在相邻的两个标记点区域中,位于同一行且距离最近的两个标记点的像素之间的距离L大于12个像素,即L>12pixels;
所述的a和b的取值通过如下方法确定:
标记点区域的长和宽在第t帧图像的取值a(t)和b(t)为:
a(t)=α1Dx(t-1)/2+β1    (4)
b(t)=α2Dy(t-1)/2+β2
当外切矩形为正方形时,则有
D x ( t - 1 ) = D y ( t - 1 ) = Af &lambda;z t - 1 &times; 10 - 3 + c - - - ( 5 )
其中,α1与α2为比例系数,A为标记点物理尺寸,f为标定后的镜头焦距,λ为图像传感器的像元尺寸,Zt-1为上一帧的空间坐标定位中,深度方向计算结果,β1和β2为标记点外切矩形到标记点区域范围补偿值,c为补偿值;当DSP处理完一帧图像,根据式公式(4)和公式(5)计算后出a(t)和b(t),将a(t)和b(t)的取值写回FPGA作为公式(6)和公式(7)的判定依据。
2.根据权利要求1所述的用于高速视觉测量的基于合作目标的实时全局搜索方法,其特征在于:所述的标记点实时检测模块对标记点进行检测的方法为:
每个时钟周期内,进入标记点实时检测模块的并行的16像素数据经过两级D触发器缓冲后,以高阈值Th_H进行判断:
相邻的三个像素定义为一个像素段,16个像素段的首像素分别分第1至第16像素,第15个像素段的三个像素为第15像素、第16像素和下一时钟周期的第1像素,第16个像素段的三个像素为第16像素和下一时钟周期的前两个像素,下一时钟周期的像素数据可从上一级D触发器的缓存中读取,并将标记点判定条件定义为同一像素段中的三个像素的灰度值同时大于高阈值Th_H,在同一周期内完成该时钟周期内所有像素段的判别,当在检测中发现某一像素段满足标记点判定条件后,将该像素段中首像素Pth在当前16像素中的偏移量△x输出给状态机与地址生成模块,所述偏移量△x为所述该像素段中的首像素Pth与该时钟周期的第1像素在x方向上的差值,状态机与地址生成模块根据△x计算生成地址后,分别与标记点实时检测模块中的n个标记点位置子模块中,已使能的k个标记点位置子模块中的标记点位置计算水平方向的欧式距离,判定该像素段所属的标记点区域,即通过公式(6)判定该像素段所属的标记点区域,所述标记点区域为矩形,其长和宽分别为a和b,
{ P th &Element; Area _ j | | x current + &Delta;x - x j | < a / 2 } j = 1 k - - - ( 6 )
其中,k为大于等于1且小于n的整数,j为大于等于1且小于等于k的整数,xcurrent为16个像素的首像素地址;
若该像素段不属满足公式(6),则说明该像素段为新出现的标记点所属区域,此时,使能第k+1个标记点位置子模块,顺序检测n个标记点位置子模块,将该像素段存入序号最小且未使用的标记点位置子模块,并发送使能信号Cen[j]使能该标记点位置子模块对应的目标像素积分模块,记录当前像素段的首像素坐标(xcurrent,ycurrent)和当前像素段偏移量Δx,计算当前像素段对应的新标记点位置的坐标(xj,yj),同时,根据当前行数ycurrent,根据公式(7)计算已使能的k个标记点位置坐标中,每个标记点位置坐标yj与当前行数ycurrent的偏差,如果所述偏差超过阈值b/2,表明当前传输行已超出该标记点位置子模块对应的标记点区域,此时,将Cen[j]置低关闭该标记点位置子模块,并通过使能信号Aen[j]关闭与之对应的目标像素积分模块,
{ Cen [ j ] = 0 , Aen [ j ] = 0 | | y current - y j | > b / 2 } j = 1 k - - - ( 7 )
其中,ycurrent为16个像素的首像素y方向的地址,每个标记点位置子模块的输出包括区域使能Aen[j]、像素使能Pen[j]和标记点位置(xj,yj),区域使能Aen[j]表示当前传输的像素行ycurrent是否满足条件|ycurrent-yi|<b/2,Pen[j]表示在当前输出的像素值是否满足|xcurrent+Δx-xj|<a/2,即当前输出的像素值是否参与标记点位置(xj,yj)的质心计算。
3.根据权利要求2所述的用于高速视觉测量的基于合作目标的实时全局搜索方法,其特征在于:所述的状态机与地址生成模块中的状态机包括以下状态:
IDLE状态:变量初始化,并判断fval是否到达上升沿,如果判断结果为是,跳转到FVAL_H1状态;否则,跳转回IDLE状态;
FVAL_H1状态:判断是否发现标记点,如果判断结果为是,跳转到FVAL_H2状态;否则,判断fval是否到达下降沿,如果判断结果为是,跳转到FVAL_L状态;否则,跳转到FVAL_H1状态;
FVAL_H2状态:判断fval是否到达下降沿,如果判断结果为是,跳转到FVAL_L状态;否则,跳转回FVAL_H2状态;
FVAL_L状态:判断延时是否结束,如果判断结果为是,跳转到FVAL_WT状态;否则,跳转回FVAL_L状态;
FVAL_WT状态:判断fval是否到达上升沿,如果判断结果为是,跳转到FVAL_H1状态;否则,跳转回FVAL_WT状态;
所述的fval为相机输出的帧有效信号。
4.根据权利要求1所述的用于高速视觉测量的基于合作目标的实时全局搜索方法,其特征在于:目标识别与集中运算单元计算获得pi 2、xipi 2、yipi 2等参数的方法为:
同一时钟周期内的16个像素数据即像素灰度Pixel_R1至Pixel_R16从数据缓冲控制模块输出,进行低阈值Th_L比较,当像素灰度值低于低阈值Th_L时,比较结果为0,当像素灰度值高于低阈值Th_L时,比较结果为该像素的灰度值,计算16个比较结果的平方单元,获得pi 2,而后求得
Figure FDA0000437042770000041
在此过程中,将整个乘方与求和的过程使用7级流水线实现,而后延迟到3个流水周期,
Figure FDA0000437042770000042
Figure FDA0000437042770000043
的计算方法与
Figure FDA0000437042770000044
相比,多了一步乘法运算;在获得xipi 2和yipi 2的过程中,使用pi 2的计算过程在第3级流水周期实现,即:完整的运算单元共使用10级流水线;
地址生成单元将当前像素地址xcurrent和ycurrent转换为缓冲输出端与像素同步的地址,即将xcurrent延时10个流水周期后输出x_r,ycurrent减去缓冲行数h后输出y_r;
流水延时单元将区域使能Aen[j]延迟10个流水周期后输出Aen_r[j],以保持区域使能与其他输出的同步。
5.根据权利要求1所述的用于高速视觉测量的基于合作目标的实时全局搜索方法,其特征在于:目标像素积分单元用来完成属于同一标记点,且其像素分布在多行间的
Figure FDA0000437042770000046
Figure FDA0000437042770000047
的计算,以获得
Figure FDA0000437042770000048
求和之前,需对当前输入的数据x_r与y_r是否属于当前目标像素积分单元进行判定,若满足|x_r-xj|<a/2,则将求和结果输入加法器,当y_r继续增加,导致|y_r-yj|>b/2时,则结束该标记点的积分过程,此时使能自加加法器后端移位模块,将获得的48位数据转换为64位数据后左移10位。
CN201310681591.9A 2013-12-13 2013-12-13 用于高速视觉测量的基于合作目标的实时全局搜索方法 Active CN103617624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310681591.9A CN103617624B (zh) 2013-12-13 2013-12-13 用于高速视觉测量的基于合作目标的实时全局搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310681591.9A CN103617624B (zh) 2013-12-13 2013-12-13 用于高速视觉测量的基于合作目标的实时全局搜索方法

Publications (2)

Publication Number Publication Date
CN103617624A true CN103617624A (zh) 2014-03-05
CN103617624B CN103617624B (zh) 2016-05-25

Family

ID=50168328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310681591.9A Active CN103617624B (zh) 2013-12-13 2013-12-13 用于高速视觉测量的基于合作目标的实时全局搜索方法

Country Status (1)

Country Link
CN (1) CN103617624B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105374048A (zh) * 2014-09-01 2016-03-02 天津拓视科技有限公司 运动目标的检测方法和系统
CN108175504A (zh) * 2017-11-27 2018-06-19 北京理工大学 血管介入手术导管/导丝轴向操作位移检测装置及方法
CN109102540A (zh) * 2018-08-16 2018-12-28 杭州电子科技大学 基于fpga的标记面积块下限分离分道方法
CN111159150A (zh) * 2019-12-19 2020-05-15 北京文安智能技术股份有限公司 一种数据扩充方法及装置
CN111242908A (zh) * 2020-01-07 2020-06-05 青岛小鸟看看科技有限公司 一种平面检测方法及装置、平面跟踪方法及装置
CN116592899A (zh) * 2023-04-28 2023-08-15 哈尔滨工业大学 一种基于模块化红外靶标的位姿测量系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447083A (zh) * 2008-12-29 2009-06-03 北京航空航天大学 基于时空相关特征的运动目标免信标视觉测量技术
CN102438118A (zh) * 2011-11-30 2012-05-02 哈尔滨工业大学 一种运动目标特征高速视觉捕捉装置
CN102494675A (zh) * 2011-11-30 2012-06-13 哈尔滨工业大学 一种运动目标特征高速视觉捕捉方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447083A (zh) * 2008-12-29 2009-06-03 北京航空航天大学 基于时空相关特征的运动目标免信标视觉测量技术
CN102438118A (zh) * 2011-11-30 2012-05-02 哈尔滨工业大学 一种运动目标特征高速视觉捕捉装置
CN102494675A (zh) * 2011-11-30 2012-06-13 哈尔滨工业大学 一种运动目标特征高速视觉捕捉方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
仲思东,隋莉斌,张望先: "基于空间虚拟点阵的双目视觉测量技术", 《微电子学与计算机》, vol. 22, no. 4, 30 April 2005 (2005-04-30) *
唐巍,叶东,袁峰,陈刚: "灰色关联分析法在双目视觉测量系统误差分析中的应用", 《光学 精密工程》, vol. 21, no. 2, 28 February 2013 (2013-02-28) *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105374048A (zh) * 2014-09-01 2016-03-02 天津拓视科技有限公司 运动目标的检测方法和系统
CN105374048B (zh) * 2014-09-01 2019-03-26 天津拓视科技有限公司 运动目标的检测方法和系统
CN108175504A (zh) * 2017-11-27 2018-06-19 北京理工大学 血管介入手术导管/导丝轴向操作位移检测装置及方法
CN108175504B (zh) * 2017-11-27 2023-09-05 深圳市爱博医疗机器人有限公司 血管介入手术导管/导丝轴向操作位移检测装置及方法
CN109102540A (zh) * 2018-08-16 2018-12-28 杭州电子科技大学 基于fpga的标记面积块下限分离分道方法
CN109102540B (zh) * 2018-08-16 2022-01-28 杭州电子科技大学 基于fpga的标记面积块下限分离分道方法
CN111159150A (zh) * 2019-12-19 2020-05-15 北京文安智能技术股份有限公司 一种数据扩充方法及装置
CN111242908A (zh) * 2020-01-07 2020-06-05 青岛小鸟看看科技有限公司 一种平面检测方法及装置、平面跟踪方法及装置
CN111242908B (zh) * 2020-01-07 2023-09-15 青岛小鸟看看科技有限公司 一种平面检测方法及装置、平面跟踪方法及装置
CN116592899A (zh) * 2023-04-28 2023-08-15 哈尔滨工业大学 一种基于模块化红外靶标的位姿测量系统
CN116592899B (zh) * 2023-04-28 2024-03-29 哈尔滨工业大学 一种基于模块化红外靶标的位姿测量系统

Also Published As

Publication number Publication date
CN103617624B (zh) 2016-05-25

Similar Documents

Publication Publication Date Title
CN103617624B (zh) 用于高速视觉测量的基于合作目标的实时全局搜索方法
CN105894542B (zh) 一种在线目标跟踪方法及装置
CN109059895B (zh) 一种基于手机摄像头和传感器的多模态室内测距及定位方法
CN100595792C (zh) 基于视频技术的车辆检测与跟踪方法
CN104200495B (zh) 一种视频监控中的多目标跟踪方法
CN102278990B (zh) 基于fpga的星敏感器图像处理方法
Wang et al. ICIoU: Improved loss based on complete intersection over union for bounding box regression
CN102289948A (zh) 高速公路场景下一种多特征融合的多车辆视频跟踪方法
CN102509071A (zh) 光流计算系统和方法
CN106447698B (zh) 一种基于距离传感器的多行人跟踪方法和系统
CN103325115A (zh) 一种基于头顶摄像头的监控行人计数的方法
Su et al. Real-time dynamic SLAM algorithm based on deep learning
Li et al. A binocular MSCKF-based visual inertial odometry system using LK optical flow
He et al. Fast online multi-pedestrian tracking via integrating motion model and deep appearance model
CN113256683B (zh) 目标跟踪方法及相关设备
CN114689038A (zh) 基于机器视觉的果实检测定位与果园地图构建方法
CN104091352A (zh) 基于结构相似度的视觉跟踪方法
CN101169693B (zh) 光学运动感知方法
CN116758311A (zh) 一种适合弱光环境的视觉slam构建方法
CN110634154B (zh) 一种面向速度大范围变化目标跟踪的模板匹配方法
CN116563376A (zh) 基于深度学习的lidar-imu紧耦合语义slam方法及相关装置
Zhang et al. Machine learning-based multitarget tracking of motion in sports video
CN105761504B (zh) 基于非均匀视频图像帧采集的车速实时测量方法
Li et al. Review of Multi-Object Tracking Based on Deep Learning
Su et al. Real-time multiple object tracking based on optical flow

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant