[发明专利]基于多核处理器的哈里斯特征点检测并行实现方法在审
申请号: | 201410818183.8 | 申请日: | 2014-12-24 |
公开(公告)号: | CN104572027A | 公开(公告)日: | 2015-04-29 |
发明(设计)人: | 史再峰;扈立超;曹清洁;高天野;徐江涛;李斌桥 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 刘国威 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多核 处理器 里斯 特征 检测 并行 实现 方法 | ||
技术领域
本发明涉及一种图像并行处理技术的方法,特别涉及基于多核处理器的哈里斯(Harris)特征点检测并行实现方法。
技术背景
从处理器诞生时代直到21世纪初,处理器性能可以不断提高的原因,主要基于两个方面:一是半导体工艺的逐渐进步;二是处理器体系结构的不断发展。它们相辅相成,互相促进彼此的发展,但由于工艺技术的限制,半导体工艺已经达到了物理极限,处理器的频率也就很难再有所提高,如此,各处理器厂商转而向单个芯片上集成多个处理器内核,即所谓的多核处理器诞生了。多核处理器诞生后,并行计算得到的关注度越来越多,所谓的并行计算是指,由运行在多个部件上的分任务合作来求解一个规模很大的问题的一种计算方法,它可以降低单个问题的求解时间、增加问题的求解规模、提高问题的求解精度、具有更高的容错性、可用性及系统吞吐率等。
随着计算机技术的发展,如今人们所使用的计算机多为双核乃至4核处理器,且4核处理器已逐渐成为主流。多核时代的来临使得高性能计算的并行编程成为主要研究方向。传统程序在执行时只运行一个线程,这些程序在多核处理器平台上不能有效地利用多核处理器资源,所以必须使用多线程编写程序才能让各个处理器内核得到充分利用。早在单核处理器时代,应用程序已经能够支持多线程技术,但是不同的是,单核内的多线程运行是串行的,多个线程交替执行,在同一时刻只能有一个线程执行;而多核处理器是通过增加计算机中物理处理器的数量,它能够有效利用线程实现并行性,因此多核处理器系统支持真正意义上的并行执行,表现出多个线程能够在多个处理器内核上同时执行。
OpenMP用于共享内存并行系统的多线程程序设计的一套指导性编译处理方案,常用于多核处理器环境下的多线程并行程序设计。通过在原串行程序的基础上增加编译制导语句,显示地实现串行程序的并行化;且OpenMP提供了对并行算法高层的抽象描述,通过在源代码中加入专用的pragma来指明意图,由此编译器可以自动将程序并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma语句,或者编译器不支持OpenMP时,程序又可以退化为串行程序,代码仍然可以正常运作,只是不能利用多线程来加速程序执行。
Harris特征点检测作为基于图像灰度信息的检测方法被广泛使用。其是通过泰勒级数展开法扩展了思路,计算窗口沿着任何方向移动后的灰度变化情况,利用数学解析式来进一步确定特征点,定位精度高。同时引入了平滑因子,增强了该算法的鲁棒性。整个算法是受到信号处理中自相关函数的启发,引入与自相关函数相联系的矩阵M。矩阵M的特征值可以表示某一点的图像灰度自相关函数的极值曲率,如果两个曲率极值都高,那么就取该像素点为特征点。Harris特征点检测算法原理参考图1,其中λ1和λ2是矩阵M的两个特征值。虽然Harris特征点定位准确,但由于涉及到卷积运算,计算量较大,时间复杂度高,影响后续诸如场景分析、目标识别、图像配准等一系列的图像处理应用。
发明内容
为克服现有技术的不足,本发明旨在提出一种基于多核处理器的Harris特征点检测并行实现方法。该方法在当今多核处理器的应用前景下,大大提高Harris特征点检测算法的运算速度,增加其实用性。为此,本发明采取的技术方案是,基于多核处理器的哈里斯特征点检测并行实现方法,包括如下步骤:
步骤一:并行梯度计算:将输入图像的梯度计算分配给不同的线程以实现并行计算;
步骤二:并行高斯滤波步骤:将Ix2梯度图像、Iy2梯度图像和Ixy梯度图像的高斯滤波操作分配给不同的线程以实现并行计算;
步骤三:并行特征点响应函数计算步骤:将自相关矩阵图像的特征点响应函数计算分配给不同的线程以实现并行计算;
步骤四:并行非极大值抑制步骤:将特征点响应函数图像的非极大值抑制操作分配给不同的线程以实现并行计算。
并行梯度计算步骤进一步具体为:将输入图像划分为N×N的图像块,即每块含N行,每行含N个像素点;将每个图像块分配给不同的线程,即需要N2个线程;每个线程并行计算每个图像块的水平梯度Ix和垂直梯度Iy;每个线程并行计算每个图像块的水平梯度的平方Ix2、垂直梯度的平方y2和水平梯度与垂直梯度的乘积Ixy;其中,Ix和Iy分别表示图像在水平和垂直方向上的梯度,Ix2表示图像在水平方向上梯度的平方;Iy2表示图像在垂直方向上梯度的平方;Ixy表示图像在水平和垂直方向上梯度的乘积,N为正整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410818183.8/2.html,转载请声明来源钻瓜专利网。