Hausdorff距离多核并行技术及其应用研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
Hausdorff距离是匹配点特征的一种重要方法,在图像处理、天文、数学、网络应用、医学、经济预测等众多领域中有重要应用,特别是在图像处理的匹配识别中应用十分广泛。传统的Hausdorff距离算法计算复杂度高,计算效率低,因此提高算法效率有十分重要的。另一方面,多核计算技术是当前计算机领域的研究热点,它使计算机的计算能力显著提升,将成为一种广泛普及的计算模式。然而,要真正地凸显多核处理器的优势,软件的发展必须紧跟硬件的步伐,如何开发与多核相适应的软件日益成为计算机技术研究的热点。
     本文根据当前计算机软硬件技术的发展趋势,围绕着Hausdorff距离算法并行化展开研究,旨在寻求多核平台上高效简捷的并行化支持方案。本文首先对多核体系结构、常用开发环境和适用软件工具进行比较分析,探讨适合于发挥多核性能的编程技术和解决方案;在详细剖析Hausdorff距离算法的基础上对其进行了一定的改进,设计了基于多核架构的并行算法,并成功应用于侧视图像中建筑物目标的匹配识别系统,同时能够适用于印刷板检测系统;接下来使用OpenMP共享存储编程,结合Intel VTune Performance Analyzer、Intel Thread Checker和Intel C++ Compiler等工具和解决方案测试其性能,根据代码在多核架构上的性能表现做出相应的调整,并从代码并行化和编译器优化两方面进行优化;最后根据Amdahl定律和Gustafson定律做出扩展性分析和客观性能评价。本文研究的特色与创新一是将Hausdorff距离算法由传统的串行运算改造为IA多核架构上的高性能多核并行算法,并成功地应用于侧视建筑物识别定位系统和印刷板检测系统。二是采用崭新技术和解决方案进行并行代码的性能分析,实现计算软件的算法并行优化、编译优化,提高其运算效率和适应硬件发展的可扩展性。本文采用的技术路线和方法带有普遍性,可以推广到其它图像处理函数的并行化改造。
Hausdorff distance is an important point characteristics matching method. Widely used in image processing, astronomy, mathematics, network applications, medical, economic forecasts, and other fields, especially have a very wide range of applications in the image matching. The traditional Hausdorff distance algorithm has complex calculation and low efficiency, improves the efficiency of the algorithm is useful and important. On the other hand, multi-core technology is the current hot researching field of computer, and significantly improves the computer's calculation ability. It will be a widely popular computing model. However, to really highlight the advantages of multi-core processors, software development must keep up with the pace of hardware, how to develop in line with the multi-core software is increasingly becoming a hot research field of computer technology.
     This paper first studies the current computer hardware and software technology development trends, then studies the paralleled way around the Hausdorff distance algorithm, aiming at finding a simple and efficient parallel support scheme on multi-core platform. This paper first introduces multi-core technology, multi-core architecture, common developing environment and application of software tools for comparative analysis, then finds the technologies and solutions suitable for play on the performance of multi-core programming. After a detailed analysis of the Hausdorff distance algorithm, designs a Multi-core structure of parallel algorithms, and successfully applied to the building matching and locating system, and also can apply to the printing plate detection system; Next use OpenMP shared memory programming, the combination of Intel VTune Performance Analyzer, Intel Thread Checker and Intel C++ Compiler, and other tools and solutions for developing and testing, then according to the performance in the framework of multi-core platform to make corresponding adjustments, and make two aspects of optimization from the code Parallel and compiler optimization; Finally, according to Amdahl's and Gustafson's Law to make expansion analysis, and make an objective evaluation. One characteristic innovate is making the Hausdorff distance algorithm from the traditional serial method to multi-core parallel computing way suitable for the multi-core structure of the IA's high-performance structure, and successfully applied to the buildings matching and locating system and the printing plate detection system, the other is the performance analysis of parallel code by the newest technology, which realizes algorithm optimization, code level optimization and compiler level optimization, enhances the operation efficiency and the adaptation of hardware development. The technical route used in the subject has the universality, may promotes to the parallelization of other function libraries.
引文
[1]Huttenlocher D.P.,Klanderman G.A.,Rucklidge W.J.,Comparing images using the Hausdorff distance[J].IEEE Transactions on PAMI,1993,15(9):850-863
    [2]多核系列教材编写组.多核程序设计[M].北京:清华大学出版社,2007.9.
    [3]Intel Inc.多核白皮书.http://www.intel.com/multi-core/.2007-03-20
    [4]计算机世界.多核挑战软件开发.http://qkzz.net/magazine/CN11-0132C/2007/23/845724_2.htm.2007-07-23
    [5]彭敏.并行计算:多核时代的软件挑战[N].软件世界,2007-5-5
    [6]欧刚璟.走近多核时代—Intel公司Geoffrey Lowney院士访谈[J].程序员,2007,(4):42-43
    [7]欧阳璟,常政.多核,瓶颈在软件[J].程序员,2006,(9):44-46
    [8]Miachael J.Quinn.Parallel programming in C with MPI and OpenMP[M].北京:清华大学出版社,2005.
    [9]Huttenlocher D.P.,Rucklidge W.J.,A Multi-Resolution Technique for Comparing Images Using the Hausdorff Distance[J].Computer Vision and Pattern Recognition,1993,(6) 705-706
    [10]Rucklidge W J.Efficiently locating objects using the Hausdorff distance[J].International Journal of Computer Vision,1997,24(3):251-270.
    [11]Gualtieri J.A,LeMoigne J,Packer C.V.Distance between images[J].Frontiers of Massively Parallel Computation,1992,(10):216-223
    [12]Jane you,Edwige Pissaloux,H.A.Cohen.A Hierarchical Image Matching Scheme Based On The Dynamic Detection of Interesting Points[J].Digital Object Identifier 10.1109 /ICASSP.1995,4(5):2467-2470
    [13]Jinbo Xu,Yong Dou.Robust and real-time automatic target recognition using partial hausdorff distance measure on reconfigurable hardware[J].Field Programmable Technology.2006,(12):25-32
    [14]You J.,Bhattaharya P,Hungenahally S.Real-time object recognition: hierarchical image matching in a parallel virtual machine environment[J].Pattern Recognition,1998,(8):275-277
    [15]Dongarra.J.Parallel computing programming[M].北京:电子工业出版社,2005.
    [16]Stephen Fischer.Technical Overview of the 45nm Next Generation Intel CoreTM Microarchitecture[J].IDF 2007.
    [17]Geer,D.Chip makers turn to multicore processors[C].Computer.2005,38(5):11-13.
    [18]International Technology Roadmap for Semiconductors,http://public.itrs.net/,2005.
    [19]陈国良.并行计算—结构·算法·编程[M].北京:高等教育出版社,2003.
    [20]Shameem Akhter and Jason Roberts.Multi-core Programming[M].Publishing House of Electronics Industry.2007
    [21]陈国良.并行算法实践[M].北京:高等教育出版社,2004.
    [22]Grama,Ananth.Introduction to parallel computing[M].北京:机械工业出版社,2003.
    [23]刘凯,寇正.OpenMP在并行计算中的应用[J].微型机与应用,2003,22(12):12-14
    [24]何军,王飙.多核处理器的结构设计研究[J].计算机工程.2007,Vol.33,No.16:208-210.
    [25]Gregory R.Andrews.Foundations of Multithreaded,Parallel,and Distributed Programming[M].Higher Education Press.2002.
    [26]Victor Malyshkin.Parallel computing technologies[C],8th international conference,PaCT 2005,Krasnoyarsk,Russia,September 5-9,2005,proceedings,Berlin;New York:Springer,2005.
    [27]C.Zilles.Master/Slave Speculative Parallelization and Approximate Code[J].PhD thesis,Computer Sciences Department,University of Wisconsin-Madison,Aug.2002.
    [28]冯双洋.HT技术与双核心处理器有何区别[J].现代计算机上半月版,2006,(2):117-118
    [29]LBNL.Network Simulator[CP/OL].http://www.isi.edu/nsnam/ns/v2005.
    [30]赖建新,胡长军,赵宇迪,王生原,张素琴.OpenMP任务调度开销及负载均衡分析[J].计算机工程,2006,(18):58-60.
    [31] S. Liao, P. Wang, H. Wang, G. Hof lehner, D. Lavery, and J. Shen. Post-Pass Binary Adaptation for Software-Based Speculative Precomputation[C]. In ACM PLDI,June 2002.
    [32] Intel Corporation, Getting Start With the vTune(TM) Performance Analyer[M]:p1, 2003.
    
    [33] Intel Inc. Multi-Core Programming [M].Intel Software College. 2007.
    [34] Intel Corporation, IA-32 Intel Architecture Optimization Reference manua[M]1:p67, June 2005.
    [35] Barry Willkinson and Michael Allen. Parallel Programming[M]. China Machine Press. 2005.
    
    [36] 陈倩.并行程序性能分析系统的研究与实现[C]. 2006-9-14.
    
    [37] J. D. Collins, D. Tullsen, H. Wang, and J. P. Shen. Dynamic speculative.Precomputation[C]. In Proceedings of the 34th annual ACM/IEEE International Symposium on Microarchitecture, pages 306-317, 2001.
    [38] Gang Zhou. Amdahl 定律.http://hi. baidu. com/zglloo/blog/item/ab0addc400b70ac839db49b0. html
    [39] J A. Brown, Hong Wang et al., Speculative Precomputation on Chip Multiprocessors[C]. In the 6th Workshop on Multithreaded Execution,Architecture, and Compilation (MTEAC-6), November 2002.
    [40] H. Zhou. Dual-core execution: building a highly scalable single-thread instruction window[C]. In the 14th PACT, 2005.
    [41] Hou Rui, Longbing Zhang, Weiwu Hu. Accelerating Sequential Programs On Chip Multiprocessors Via Dynamic Prefetching Thread[M], Microprocessors and Microsystems (Journal), Elsevier publishing, 2006.
    [42] Jiwei Lu, Abhinav Das and etc. Dynamic Helper Threaded Prefetching on the Sun Ultra SPARC CMP Processor[C]. The 38th Micro. Oct, 2005.
    [43] O. Mutlu, J. Stark, C. Wilkerson, and Y. N. Patt. Runahead execution: an alternative to very large instruction windows for out-of- order processors[C].In the 9th HPCA, pages 129-140, 2003.
    
    [44] C. Luk. Tolerating memory latency through software controlled pre-execution in simultaneous multithreading processors[C].In 28th ISCA,pages 40-51,July 2001.
    [45]Hou Rui,Longbing Zhang,Weiwu Hu.A Hybrid Hardware/Software Generated Prefetching Thread Mechanism On Chip Multiprocessors[C].Euro-Par 2006,Germany,LNCS 4128,Aug 2006.
    [46]徐遵义,晏磊,宁书年,刘光军.基于Hausdorff距离的海底地形匹配算法仿真研究[J].计算机工程,2007,33(9):7-9
    [47]Huttenlocher,D.P.,Kedem,K.and Sharir,M.The upper envelope of Voronoi surfaces and its applications[C],Seventh ACM Symposium on Computational Geometry,1991,pages 194-203.
    [48]Guibas,L.J.,Mitchell,J.S.B.,and Roos,T..Voronoi diagrams of moving points in the plane[C].17th International Workshop on Graph- Theoretzc Concepts in Computer Science,June 17-19,1991,(6):17-19
    [49]舒丽霞,周成平,彭晓明,丁明跃.基于Hausdorff距离图像配准方法研究[J].中国图像图形学报,2003,8(12):1412-1417
    [50]张良国,吴江琴,高文,姚鸿勋.基于Hausdorff距离的手势识别[J].中国图像图形学报,2002,7(11):1144-1150.
    [51]D.P.Huttenlocher,K.Kedem.Efficiently computing the Hausdorff distance for point sets under translation[C].Proc.Sixth ACM Symp.Computat.Geometry,1990,pp 340-349.
    [52]P.E.Danielsson.Euclidean distance mapping[J],Comput.Graphics Image Processing,1980,14:227-248
    [53]P.J.Besl,R.C.Jain.Three dimensional object recognition[C].ACM Comput.Surveys,1985,17(1):75-154
    [54]邓敏,钮沭联,李志林.GIS空间目标的广义Hausdorff距离模型[J],武汉大学学报 信息科学版,2007,32(7):641-645.
    [55]H.At,B.Behrends,J.Blomer.Measuring the resemblance of polygonal shapes[C].Proc.Seventh ACM Symp.Comput.Geometry,1991.
    [56]Huttenlocher,D.P.,Rucklidge.W.J..A multi-resolution technique for comparing images using the Hausdorff distance[C].Proceedings CVPR'93.,1993 IEEE Computer Society Conference on 15-17 June 1993.
    [57]D.W.Paglieroni.Distance transforms:Properties and machine vision applications[J].Comput.Vision Graphics Image Processing:Graphical Models Image Processing,vol.54,no.1,pp.56-74,1992.
    [58]J.Illingworth,J.Kittleer.A survey of hough transform[J]Computer Vision Graphics Image Processing,1988,Vol.44,pp.87-116。
    [59]L Xu,E Oja,Kultanen.A new curve detection method:Randomized hough transform[J].Pattern Recognition Letters,1990,Vol.11,pp.331-338
    [60]Ballard,D.H..Generalizing the Hough transform to detect arbitrary shapes[J].Pattern Recognition,1981,13(2),111-122.
    [61]Starck,J.L.,Candes,E.J.,and Donoho,D.L..The curvelet transform for image denosing[C].IEEE Trans.Image Processing.,2002,11,pp.131-141.
    [62]Donoho,D.L..Orthonormal ridgelets and linear singularities[J].SIAM J.Math Anal.,2000,31(5),pp.1062-1099.
    [63]李昌华.智能人机交互中的图像识别技术研究[D].西安电子科技大学博士论文.2002.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700