【图像灰度匹配在多核环境下的优化】 多核

  摘 要: 随着计算机技术的不断发展,图像匹配已经成为图片处理的一个重要部分。在图像匹配中,图像的灰度匹配虽然具有匹配精度高的优点但却需要大量的计算时间,且计算时间随着使用模版的增大而大幅度增长。文章在多核的环境下使用内存优化与处理器亲和力优化方法来解决计算时间长的问题。实验结果表明,使用并行技术并结合内存优化与处理器优化方法可大幅度减少计算时间、提高缓存的命中率、避免乒乓效应的产生使并行程序的加速比与并行效率有所提高。
  关键词:图像灰度匹配;多核;内存优化;处理器亲和力
  中图分类号:TP301.6 文献标识码:A DoI: 10.3969/j.issn.1003-6970.2012.06.040
  【Abstract】with the rapid development of science and technology, image matching technology has become very important in
  the modern image processing. In image matching filed, image gray matching is a method with high accuracy but cost a lot of time on calculation. and it will cost more time when template is too large. Point to this problem, parallel computing technology based on Cache optimization and CPU affinity optimization in multi core environment are used in this paper to reduce the computation time. Test show that Cache optimization and CPU affinity optimization can reduce the matching time in image gray matching through improving the Cache hit rate.
  【Key words】Image grey match; multi core; Cache optimization; CPU affinity;
  随着科学技术的快速发展,图像匹配技术已经成为近代图像处理领域中一项重要的技术,并在计算机视觉、导弹地形匹配、飞行器巡航制导、医学图像配准、资源分析、航空摄影测量等多个领域得到了广泛的应用。因此,对图像匹配技术进行研究具有十分重要的理论意义和现实意义。
  目前图像匹配的方法有很多,根据使用的匹配特征可大致分为两类[1]。他们分别是基于图像灰度信息的匹配方法和基于图像特征的匹配方法。其中基于图像灰度信息匹配方法包括归一化互相关匹配、模板匹配、快速傅立叶算法、投影匹配、序贯相似性匹配、平均绝对差匹配、图像不变矩匹配等多种方法。本文讨论的是基于多核的使用模板匹配方法进行图像灰度匹配的相关研究。
  匹配的图像被称为模板,记为T(m,n),大小为M×M。被匹配的图像记为S(m,n),大小为N×N,其中被匹配图像被模板覆盖的部分称为子图,记为S(m,n)i,j,在陌生图像中起始位置为(i,j),由模板从源图像左下角进行逐点匹配。 示意图1如下:
  由上面(1)式可知D(i,j)越小,S(m,n)i,j与T(m,n)匹配的精确度越高,所以当D(i,j)取得最小值时,S(m,n)i,j与T(m,n)获得最高精确匹配。再由(3)可知,前两项为模板的平方和与模板对应的陌生图像子图的平方和。第三项S(m,n)i,jT(m,n)则可表示模板与子图的相互关系,当S(m,n)i,jT(m,n)最大是可使得D(i,j)最小从而使得S(m,n)i,j与T(m,n)匹配的精确度最高。因此可以定义相关函数:
  的2个线程绑定到CPU0,CPU1 (CPU0 表示第一个核心,CPU1 表示第二个核心),运行结果如图3 所示为在4线程情况下,不使用CPU 亲和力与使用 CPU 亲和力的程序平均运行时间比较图。
  文中针对多核编程环境的特点,在使用传统的多线程并行编程技术的基础上,介绍了在图像匹配中基于 Cache 优化和CPU 亲和力的多线程程序优化思路,在实际实验中,单线程原始程序平均耗时 110.4秒,最快的4线程优化方案为33.8 秒。基于 Cache和CPU 亲和力的优化方法具有一定的通用性,在软件开发过程中,可以根据实际情况采用这两种优化方法,从而有效地提高软件的运行效率。

推荐访问:多核 灰度 匹配 图像