基于SSE指令集的运动目标模板匹配算法设计

时间:2022-08-18 04:02:55

基于SSE指令集的运动目标模板匹配算法设计

摘要: 本文针对序列图像中运动目标识别的广泛需求,分析了模板匹配算法的实现过程及特点,研究、设计了一种基于SSE指令集的运动目标模板匹配算法。该算法利用SSE4指令集实现多位数据并行计算,显著提高了模板匹配算法的处理速度。实验结果表明,该算法对于序列图像中的运动目标识别具有速度快、识别精度高的特点,具有一定的应用价值。

Abstract: According to the moving objects in sequence images to identify a wide range of needs, the realization process and characteristics of the template matching algorithm is analyzed, and one kind algorithm based on the SSE instructions moving target template matching is studied. The algorithm, which can improve the processing speed of template matching algorithm, uses the SSE4 instructions to achieve a number of data parallel computing. The experimental results show that the algorithm for sequence images of moving target recognition is fast speed, a high identification precision characteristic, which has certain application value.

关键词: SSE4指令集;并行计算;模板匹配算法

Key words: the SSE4 instructions;parallel computing;template matching algorithm

中图分类号:TP391 文献标识码:A 文章编号:1006-4311(2012)29-0177-03

0 引言

运动目标探测和追踪在实时监控和侦察上有广阔的应用前景,是计算机视觉的重要研究领域。实现运动目标探测和追踪最重要的两点包括目标匹配的准确度和匹配的速度即实时性。目前用于图像匹配的方法主要有基于图像灰度相关方法、基于图像特征方法、基于神经网络和遗传算法等人工智能方法。基于图像特征方法计算量相对较小、对灰度变化、形态变化及遮挡有较好适应性,但匹配精度不高;基于神经网络和遗传算法等人工智能方法发展较晚,算法不成熟;基于图像灰度相关方法就是对图像灰度值进行匹配分析,虽然计算量较大,但匹配准确率较高,经常用于硬件实现[1]。

随着计算机技术发展,近年来并行计算技术发展较快。因此为了达到准确率和实时性的要求,本文设计采用图像灰度方法,在多核计算机中采用软件方法,即基于SSE4指令集完成运动目标模板匹配算法。

1 基于SSE4指令集的模板匹配算法分析

1.1 模板匹配算法 模板匹配是通过使用模板在待测图像上进行全方位全角度的搜索的一种基于相关性匹配相似度的图像辨识方法[2]。模板匹配算法描述简单,被广泛的用于各种图像识别领域。

运动目标模板匹配算法的基本思想是将每一帧图像中所有或部分与运动目标模板大小相同的子块图像与运动目标模板进行差值运算,计算出差值最小即最相似的子块图像即为当前帧中运动目标的位置。设运动目标模板大小为64×64像素大小,某子块图像与运动目标模板的相似度的数学表示如下:

Sim=■■(Ni,j-Mi,j)

其中Ni,j为某子块图像中第i行,第j列的图像灰度值,Mi,j为运动目标模板第i行,第j列的图像灰度值。处理过程如下:

①确定运动目标模板图像;②为使程序处理速度更快,在采用目标匹配算法前先对当前帧图像进行二值化和膨胀、腐蚀处理;③为保证图像匹配精度,算法设计在整帧图像中将所有子块图像与目标模板进行匹配运算;④取当前帧图像中某点位置开始的子块图像中的所有点像素值与模板中像素值依次进行匹配取其差值之和作为该点开始的子块图像与模板的相似度;⑤求当前帧图像中下一点位置开始的子块图像与模板的相似度,过程如③,直到求出所有子块图像与模板的相似度值最小(最相似)的位置即为当前帧图像中运动目标位置,为提高程序执行速度可通过parallel_for完成并行调用;⑥为保证程序稳定性,排除当前帧图像中无与模板相似目标却将最相近子块图像误计算为目标情况,在求得当前帧中与目标模板最小相似度值时,判断当前最小相似度值是否小于某个阈值(经验值),若小于等于阈值则认为是当前帧中目标子块,若大于阈值则认为当前帧中无相似目标子块。

由此可见,模板匹配算法较为简单,匹配精度较高,但计算量大、处理速度较慢,一般采用硬件完成模板匹配运算。但随着各种并行技术不断发展,模板匹配算法也可以通过软件方法实现运动目标实时跟踪。本文讨论采用循环调用SSE4.1指令集完成运动目标实时跟踪。

1.2 SSE4指令集 自英特尔奔腾MMX处理器开始,处理器新加入了SIMD(Single Instruction Multiple Data)多媒体指令集。该指令集可以把多批次的指令组编辑成为一条单一的指令,从而达到提升数据处理的能力。后来,英特尔了基于MMX指令的SSE指令集,全名Streaming SIMD Extensions(单指令多数据流扩展)[3]。SSE4指令集可以说是处理器众多新技术之一。Intel SSE4构建于英特尔64位指令集架构,改进了整数和浮点运算,支持双字和四字操作。

上一篇:国内博物馆:有多少担得起一级的分量 下一篇:“我们也要去打工!”