测量是人类从认知世界到精确描述世界的重要手段,也是推动科技发展的动力。机械式量测是最常用的方法,但由于其受限于测量工具的误差,精度已经难以满足现代测量的要求。随着光学、声学和电磁波技术的发展,各种新型测试手段已经应用于科研生产的各个环节。基于视频的测量技术随着光电子、图像处理、机器视觉等技术的不断发展而日益成熟[1],它通过图像传感器形成对待测量目标的视频图像,然后利用图像处理、目标检测、图像标定等技术实现对检测目标进行相关测量[2]。与雷达、声波、激光等技术手段相比,视频图像测量系统是被动式工作系统,具有直观性、可呈现性、隐蔽性和通用性,抗干扰能力强,低空探测,跟踪性能好等特点,同时还可进行无人工操作,因此可用在危险区域。基于视频的图像测量最早出现在美国、德国等西方先进国家,随后其他国家也先后开展了该领域的研究[3, 4]。近年来,视频图像测量计算快速发展,已经成功应用于工业生产、精密零件微小加工、裂纹检测等领域[5]。
军事领域的视频测量技术完成军事相关领域的测量,由于视频图像测量所具有的被动型、抗干扰强等特点,所以其应用更为广泛[6]。但是考虑到实际战场环境下的复杂性,采用阵列摄像机技术开展视频图像测量来提高系统的测量精度和抗打击性是当前一种新技术。本文构建了整体系统,并通过实测验证了系统的可行性和有效性,该系统算法将有利于工程技术人员在该领域的应用实践。
1 总体架构本文设计的系统需要解决监控视场内的实时情况的回传,同时在每个摄像机端完成对目标的检测与提取,形成定位信息,最后利用融合系统完成定位信息的融合,实现从二维信息到三维地理空间上的转换。因为本文采用3个信息采集点组成整体系统,每个采集点都有8部相同参数的高速相机形成阵列,将采集点的信息传递到后端的信息融合处理点完成最终处理。
在信息融合处理模块上完成接收各个阵列相机组块获得的视频和其计算的测量信息,然后进行最终的数据融合,从而提高系统的可靠性和精度。整体设计结构如图 1所示。
阵列图像采集模块主要完成对功能图像的预处理和对图像内容的判读,最终获得目标位置的初始定位信息,组成模块如图 2所示。
为了更好实现对图像内容的理解判读,在预处理阶段采用灰度化和直方图均衡处理算法并结合图像校准来提高输入图像的信噪比和光照调节。
2.1 图像判读 2.1.1 基于差分图像的关键帧提取采用基于背景学习的图像内容解读有利于实现对目标的测量,因此如何建立适合的背景信息是系统的关键内容[7]。目前背景学习算法主要采用非回归和回归递推两种方式来实现[8],其中非回归方法对所有像素建立一个统计模型来区分背景和前景[9]。这些算法并没有深入分析所有像素的特性,统计模型难以满足各种场景下的应用,所以其鲁棒性不强[10]。尤其是针对小目标的应用,不仅需要对复杂背景建模,同时要能判别噪声与小目标的区别[11]。本文设计的算法对ViBe算法进行了改进,在利用其算法有效性的情况下加入对小目标的判别,从而有利于实现本文系统需解决的实际应用情况。
改进的ViBe算法利用原先算法采用的像素空间一致性进行背景建模,同时采用Top-hat实现对小目标的快速检索,两个过程结合实现对背景区域的更新操作。
视频测量系统需要快速精准的定位目标,采用关键帧提取完成对监视环境的建模。若目标出现,则利用背景减除算法将实时目标检测出来。但是考虑到背景的变化,如光照,随风摆动的场景等,需要更智能化的处理算法来学习背景,提取出更为合理的关键帧。针对本文设计系统所处理的目标特性,对ViBe算法进行了适应性更改,利用小目标运行轨迹特征完成对背景学习更新算法,有利于达到目标测量的目的。ViBe采用指数平滑衰减的方式建立目标背景模型,可以在减少内存需求的情况下凸显像素变化的马尔可夫性,其关系可表述为:
$ \rho (t,t+{{d}_{t}})={{\left( \frac{N-1}{N} \right)}^{(t+{{d}_{t}})-t}} $ | (1) |
式(1)表明背景像素的变化仅与期望时间间隔t有关,与更长时间之前无关。这种思路没有利用记忆模板,适应场景变化频度比较高的环境。
考虑到小目标与噪声点的区分性,利用其航迹的关联性,在传统的ViBe算法上进行优化,根据邻域变化特性实现对当前图像的变化,有利于小目标快速检测与提取。依据上述思路,对ViBe算法所构建的像素分类和背景模型更新进行改进。
ViBe算法采用区域建模的方式实现对背景的认知。算法利用背景更新因子Φ构建一个小区域的背景特征。Φ值一般选取为16,即图像中16×16区域构建一个背景模型。背景模型的定义是,ViBe算法对每个像素点利用二维欧几里德色度空间进行描述,任意像素x处的值可写为v(x)。该模型代表所观察的Φ区域内背景所呈现的色度规律特点[12]。ViBe采用N个样本组成背景模型M(x),有:
$ {{M}_{x}}=\{{{v}_{1}},{{v}_{2}},\cdots ,{{v}_{N}}\} $ | (2) |
式中, ${{v}_{i}}$ 代表第i个选取的样本值。式(2)表明模型利用所选取的N个样本值代表对背景的认知,即背景知识涵盖于这N个样本所代表的特性之内。
ViBe算法首先进行初始化,对任意的一个Φ区域,随机选取N个样本处的色度空间值y构成,有:
$ {{M}^{0}}(x)=\{{{v}^{0}}(y)\left| y\in {{N}_{G}}(x) \right.\} $ | (3) |
式中,上标0代表初始时刻信息; $ {{v}^{0}}(y) $ 则代表第一帧图像上y像素点的色度值。
随后的图像上需要按照背景模型对每个像素值进行分类,即分为背景像素和前景像素(目标像素)。分类原则为对每个像素x在欧几里德色度空间以其色度值v(x)建立一个半径为R的圆形区域,然后计算背景模型中M(x)在该圆形区域出现的样本个数,圆形区域用 ${{S}_{R}}(v(x)) $ 表示,则有:
$ \#\{{{S}_{R}}(v(x))\bigcap M(x)\}=\#\{{{S}_{R}}(v(x))\bigcap \{{{v}_{1}},{{v}_{2}},\cdots ,{{v}_{N}}\}\} $ | (4) |
式中, $\#$ 代表所计算的个数。该计算实际上制定了两个阈值进行搜索。
1) 什么范围是两个像素点的色度空间距离的可接受范围,该值表现了图像传感器对所成像的稳定程度。如果成像稳定则该距离可以设定的比较小,如不稳定则需要设置较大阈值。但是较大阈值会增加图像误判的概率。2) 落在有效范围内的个数,该参数比较难确定。设定该参数的主要因素有:所形成背景区域的变化特性,如背景是白墙则比较稳定,相应获得的样本值较集中;类似树林、天空云彩等环境变化比较大,所以样本分散程度较大。
传统的ViBe算法采用一个固定阈值 $ {{i}_{\text{count}}} $进行判断,如选择为2,若样本与像素色度的欧式距离偏差小于半径阈值,则计数,当达到所设定的阈值后,可停止计算。如果像素与背景模型中的样本匹配个数达到阈值,则该像素被判断为背景,反之则为前景目标。该过程的示意图如图 3所示。
ViBe算法中另一个重要部分是更新背景模型,从上面的分析可以看出,ViBe算法的准确程度与背景模型是否满足背景统计规律紧密相关。所以对背景模型进行更新是ViBe算法对环境变化适应的重要体现。为体现对各种背景的适应性,采用混合更新的方式对不同背景进行更新。无记忆更新主要在前后背景之间没有太大的相关性时采用,该方法对所有的背景模型样本值按照1/N概率值随机选取背景区域当前像素值进行替换。
考虑到背景区域一般在一个小区域内具有相似性,可以利用繁殖的方式进行样本更新。对于一个16×16区域每一个像素按照空间八邻域进行特性分析,如果所选择的色度值在空间八邻域很稳定,则可作为一个候选点,然后在所有的候选点内随机选择N个样本作为背景模型。
上述算法为常规的ViBe算法,考虑到本文的测量目标为小目标,所以需要利用小目标与噪声的区分增加对小目标的检测。同时常规算法在对像素进行分类时所采用的 $ {{i}_{\text{count}}} $ 阈值是按照经验进行判断,该方法是一种普适方案,但是其效果对于各种环境不是最佳方案。考虑到$ {{i}_{\text{count}}} $是基于背景模型的认知而进行设定的(背景的特性有两种基本情况,一是背景比较均匀,大部分色度具有比较相似的值;而另外一种背景比较复杂,色度分散比较大),针对环境和所需检测的小目标,本文对ViBe算法进行优化,以适应所要达到的关键帧的提取目的。
优化首先设定像素分类的$ {{i}_{\text{count}}} $阈值,采用自适应的方式进行选取。该优化方案利用对背景模型中的随机样本进行聚类分析产生所需要的阈值$ {{i}_{\text{count}}} $。如果所获得的背景模型中的随机样本比较分散,则$ {{i}_{\text{count}}} $可以设为较小;反之,$ {{i}_{\text{count}}} $设定为较大阈值。定义聚类公式为:
$ {{M}_{\text{cluster}}}=\frac{1}{\prod\limits_{i=1}^{N}{|{{v}_{i}}-\bar{v}|}} $ | (5) |
式中, $\bar{v} $ 为背景样本的均值,有:
$ \bar{v}=\frac{({{v}_{1}}+{{v}_{2}}+\cdots +{{v}_{N}})}{N} $ | (6) |
利用式(5)可以计算出背景样本的聚集情况。如果 ${{M}_{\text{cluster}}} $ 大于1,则表明该像素所在背景区域比较聚集,所以选择大的阈值作为$ {{i}_{\text{count}}} $;反之则选择小的阈值作为$ {{i}_{\text{count}}} $。
利用上述改进方法可以实现自适应的像素分类阈值的自适应选择。在此基础上,针对小目标本文提出采用基于Top-hat的小目标记忆模板来增加小目标与噪声的区分性。Top-hat算法是一种适应背景抑制的形态学滤波算子,利用与目标结构比较相似的结构元素b进行小目标检测,其公式为:
$ \text{TH}(f)=f-(f\circ b) $ | (7) |
式中, $f(x,y)$ 是原始图像; $f\circ b$ 是利用结构元素b对原始图像进行开运算。小目标记忆模板利用目标运行的连续性,记录在连续m帧内Top-hat内出现目标的位置,如果在当前图像上进行的Top-hat检测出的目标与之前记录的小目标记忆模板在时间上形成航迹,则可判断当前Top-hat检出目标为前景目标区域,反之则进行ViBe算法的背景像素分类。
依据上述分析,本文提出的改进关键帧提取算法流程为:1) 输入第一帧,初始化背景模板,进行Top-hat形成小目标记忆模板。2) 输入当前帧,首先进行Top-hat运算,新检测的区域结合之前的小目标记忆模板如果满足航迹特征,则检出区域为小目标区域。3) 如果当前区域不满足小目标记忆条件,计算当前区域背景模板内样本之间的聚类特性,由该特性选择像素分类阈值。然后按照色度空间与背景模型的样本进行欧式距离计算,计算在半径阈值内的样本个数。如果大于之前有聚类特性选择的阈值则该像素定义为背景,否则为前景目标。4) 按照像素分类形成背景区域,对背景区域进行膨胀运算,形成较为完整的关键帧区域,降低高频噪声影响。
上述过程为本文提出的改进关键帧提取算法,该算法更适应小目标测量计算的要求。
2.1.2 基于领域灰度特征的滤波虽然关键帧提取过程采用形态学滤波降低噪声对后期处理的影响,但是还是会存在一定的噪声,使图像具有一定的失真信息。由于图像测量需要高精度,所以要进行多次滤波,矫正图像获得的目标检测失真结果。
基于邻域灰度特征的滤波方法利用大区域范围的灰度特征进行图像滤波,再结合所需要检出目标的特性来进行处理。该方法采用高频像素的连通性进行计算,对高频像素在八邻域方向进行梯度计算。如果在一个方向上具有连续性,则可判断该点具有边界特性,反之如果八邻域的梯度不具有连续特性,则可认为该点为高斯特性的噪声点。采用基于邻域灰度特征的滤波算法结合关键帧提取算法,对实际获得的图像进行测试,可以得到更好的目标检出率,同时降低虚假目标对系统测量精度的影响。
2.2 目标方位角及落点位置计算利用2.1节方法检出目标后,可实现对目标信息的计算。首先计算目标的方位。
1) 利用GPS差分信号计算摄像机与两个参考标相对于中心坐标的偏差;2) 通过人工点击方式在摄像机图像上精确获得参考标的横坐标(两个参考标的横坐标分别为 ${{u}_{1}} $ 和${{u}_{2}} $)。设检出目标的位置横坐标为x,则可由 $({{u}_{2}}-{{u}_{1}})/\alpha =(x-{{u}_{1}})/\beta $ 计算摄像机、参考标和目标之间的夹角β,即为目标的方位角。
按照图像测量原理,对目标位置的计算需要至少两个摄像机信息来进行解算。采用的摄像机数据越多,摄像机清晰度越高,目标检出算法越准确,则融合获得的精度更高。但是在实际系统设计过程中还要考虑系统需要完成视频的实时传输、目标检出和位置解算等多个过程保持实时性,所以必须进行优化设计来解决上述矛盾。
本文采用多级计算实现解算的并行化,利用精度的不断提高来满足实时性的情况下,最大化测量的精度。具体计算过程为:
1) 固定观测摄像机,利用GPS差分信号计算其坐标,在检出目标后计算目标方位角β,则计算大地坐标下目标落点与观察相机之间的直线方程为:
$ {{A}_{i}}x+{{B}_{i}}y+{{C}_{i}}=0 $ | (8) |
2) 设当前具有N个观测点,每个观测点都获得式(8)的直线方程。对直线方程按照式(9)进行两两相交计算,可求解出误差最小的 $ C_{N}^{2} $ 个交汇点(由于存在测量误差,很多直线不能直接相交,所以只能选择误差最小的交汇点):
$ \left\{ \begin{align} & {{A}_{i}}x+{{B}_{i}}y+{{C}_{i}}=0 \\ & {{A}_{j}}x+{{B}_{j}}y+{{C}_{j}}=0 \\ \end{align} \right.\ \ \ \ \ \ \ \ i\ne j $ | (9) |
因为目标具有航迹运动特性,可以从运动方向上去除一些虚假的交汇点。设经过运动方向判断后还存在K个交汇点 ${{L}_{i}}(i=1,2,\cdots ,K) $ 。
3) 对剩余的交汇点,利用距离函数 $d(\cdot ) $ 和代价函数 $F(\cdot ) $ 寻找最佳的交汇点所构成的凸多边形,最终的落点则选择凸多边形最优化的方法获得,有:
$ \left\{ \begin{align} & \underset{i=1,2,\cdots ,K}{\mathop{\min }}\,\{F(d({{L}_{f}},{{L}_{i}}))\} \\ & \text{s}\text{.t}\text{.}\ \ \ {{L}_{f}}\in P({{L}_{1}},{{L}_{2}},\cdots ,{{L}_{K}}) \\ \end{align} \right. $ | (10) |
采用本文设计的算法,实现了利用阵列摄像机完成对小目标的测量系统。该系统可以在3台摄像机同时进行采集时完成对小目标实时落点的计算。图 4为本文所构建系统实际获得的目标图像。
图 4分别显示了3台摄像机同时拍摄的图像。摄像机之间的同步信号利用GPS系统的授时信息完成。由于具有一定的噪声,所以在摄像机2和摄像机3中检出的目标落点具有一定的误差,该误差如果不能用其他信息进行校正,则为后续计算引入误差。摄像机1检出的目标精度较高。利用2.2节的阵列摄像机目标位置融合计算公式可对3台摄像机计算的偏差进行纠正,最终获得的落点结果如图 5所示。
图 5显示了本文设计系统计算的目标落点,为了便于观察,在该结果图上也显示了3台拍摄的阵列摄像机的位置。在实际设计过程中,如果能预测出目标的落点,则将3台摄像机进行分布放置,其计算结果满足落在3台摄像机中心位置,则能获得最好精度解算。本文构建的实际系统在具体实践过程中进行测试表明,在测量半径高的情况下能获得可接受的解算结果。同时该系统可实现实时成对目标的检出和落点估计,满足了实际系统的需要。
4 结 论为构建能满足实时性和精度要求的图像测量系统,本文设计了阵列摄像机组成的智能图像目标测量系统。该系统针对所需要完成的任务在ViBe算法难以实现的小目标检出难题上提出了背景模型聚类分析自适应阈值选取和Top-hat小目标记忆模板判决改进方案,使整体系统在满足实时性要求下具有更好的目标检出效果。所搭建的3台阵列摄像机目标测量系统经过实际测量满足了系统技术指标,达到实用性要求,从而实现了其社会及经济价值。
[1] | 王吉林, 赵力. 基于图像处理的电缆护套厚度精密测量[J]. 电子器件, 2013, 36(6): 849-853. WANG Ji-lin,ZHAO Li. Cable sheath materials thickness precision measurement based on image processing[J]. Chinese Journal of Electron Devices, 2013, 36(6): 849-853. |
[2] | LUO Gang, CHEN Zhi-yuan, FEI Zhi-gen. The research on autofocus system of miniature five-coordinate image measuring machine[J]. Applied Mechanics and Materials, 2012, 121-126: 1286-1290. |
[3] | TANIGUCHI M, KANAZAWA M. Application of digital image measuring system (DIMS) and shadow image processing technique (SIPT) to damage analysis of electrical sliding contact surface[J]. IEICE Transactions on Electronics, 1998, E81-C(3): 377-383. |
[4] | SUN Y D, XU W Q, ZHOU B Q, et al. Design and research on touch-sensitive image measuring instrument with high precision[J]. Advanced Materials Research, 2011, 215: 397-400. |
[5] | ZHOU Ning, LI Xiao-feng, LI Zai-ming. Dim target detection based on spatio-morphological and wavelet transform clutter suppression[J]. Opto-Electronic Engineering, 2009, 36(11): 163-168. |
[6] | FU Zhi-zhong, LIU Ling-qiao, XIAN Hai-ying. Human computer interaction research and realization based on leg movement analysis[C]//ICACIA 2010. [S.l.]: IEEE, 2010: 124-127. |
[7] | FU Zhi-zhong, XIAN Hai-ying, XU Jin, et al. Evaluation of motion blur parameter based on cepstrum domain of the intentional restored image[C]//ICCP2010. [S.l.]: [s.n.], 2010: 95-101. |
[8] | KIANI A, EBADI H, AHMADI F F, et al. Design and implementation of an expert interpreter system for intelligent acquisition of spatial data from aerial or remotely sensed images[J]. Journal of the International Measurement Confederation, 2014, 47(1): 676-685. |
[9] | ROY S, BROWN M S, SHIH G L. Visual interpretation with three-dimensional annotations (VITA): Three-dimensional image interpretation tool for radiological reporting[J]. Journal of Digital Imaging, 2014, 27(1): 49-57. |
[10] | CUCCHIARA R, GRANA C, PICCARDI M, et al. Detecting moving objects, ghosts, and shadows in video streams[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2003, 25: 1337-1342. |
[11] | LI Q, SHAO C F, YUE H, et al. Real-time foreground-background segmentation Based on improved codebook model[C]//International Conference on BioMedical Engineering and Informatics. [S.l.]: IEEE, 2010(1): 269-273. |
[12] | HARITAOGLU I, HATWOOD D, DAVIS L W. Real-time surveillance of people and their activities[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 22(8): 809-830. |