一种获取图像局部区域的方法、装置和电子设备与流程

文档序号:13217440阅读:295来源:国知局
技术领域本发明涉及数字图像处理技术领域,尤其涉及一种获取图像局部区域的方法、装置和电子设备。

背景技术:
加速鲁棒性特征(speed-uprobustfeatures,SURF)算法是目前效率最高的局部区域特征提取和描述算法,非常适用于目标识别和目标跟踪等对实时性要求较高的领域。该算法大体上由以下四步构成:一、计算积分图像;二、快速Hessian矩阵计算;三、确定特征点;四、计算SURF描述算子。但是,传统的SURF算法仍然存在着时间花费多、内存消耗大的问题。例如:SURF算法的第一步是求取积分图像,传统方法是对像素值加和进行反复的迭代,算法结构简单,但是只能串行计算,因此,耗费时间较长且需占用较多内存资源。在对实时性要求高的场合中,传统SURF算法的速度是很大的限制因素。

技术实现要素:
为解决现有存在的技术问题,本发明实施例提供一种获取图像局部区域的方法、装置和电子设备。本发明实施例提供了一种获取图像局部区域的方法,包括:从原始图像中的首行和首列开始,计算每行像素点或每列像素点的像素之和得到积分图像;以所述原始图像中的每个像素点为中心进行遍历,对不包括图像边缘的像素点进行卷积运算,建立所述原始图像的尺度空间;特征点初步定位以及特征点精确定位。本发明实施例还提供了一种获取图像局部区域的装置,包括:特征点定位模块、积分图像并行计算模块和尺度空间建立模块;其中,所述积分图像并行计算模块,用于从原始图像中的首行和首列开始,计算每行像素点或每列像素点的像素之和得到积分图像;所述尺度空间建立模块,用于以所述原始图像中的每个像素点为中心进行遍历,对不包括图像边缘的像素点进行卷积运算,建立所述原始图像的尺度空间;所述特征点定位模块,用于特征点初步定位以及特征点精确定位。本发明实施例还提供了一种电子设备,所述电子设备包括:上文所述的装置。本发明实施例提供的获取图像局部区域的方法、装置和电子设备,从原始图像中的首行和首列开始,计算每行像素点或每列像素点的像素之和得到积分图像;以所述原始图像中的每个像素点为中心进行遍历,对不包括图像边缘的像素点进行卷积运算,建立所述原始图像的尺度空间;特征点初步定位以及特征点精确定位。因此,本发明实施例相比于现有的图像积分值计算方法,按照特定计算顺序同时计算多行像素的积分值,适于并行实现,能够减少计算周期、提升计算速度;而且,本发明实施例对不包括图像边缘的像素点进行卷积运算,在基本保持原有图像质量的基础上,可降低运算复杂度,节省存储空间。可见,本发明实施例所提出的获取图像局部区域的方法,非常适于应用FPGA等并行器件实现,能充分利用并行器件的计算能力,极大地提高图像处理的速度,提升图像处理系统的实时性,有广泛的应用前景。附图说明在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。图1为本发明实施例所述获取图像局部区域的方法实现流程示意图;图2为本发明实施例所述获取图像局部区域的装置结构示意图;图3为本发明另一实施例所述获取图像局部区域的方法实现流程图;图4为本发明实施例所述并行积分图像算法的示意图;图5为本发明实施例所述舍边法构建尺度空间的示意图;图6为本发明另一实施例所述实现所述获取图像局部区域的方法的并行装置结构示意图。具体实施方式本发明的实施例中,从原始图像中的首行和首列开始,计算每行像素点或每列像素点的像素之和得到积分图像;以所述原始图像中的每个像素点为中心进行遍历,对不包括图像边缘的像素点进行卷积运算,建立所述原始图像的尺度空间;特征点初步定位以及特征点精确定位。本发明实施例中,所述行和列的概念可以互换。下面结合附图及具体实施例对本发明作进一步详细说明。图1为本发明实施例所述获取图像局部区域的方法实现流程示意图,如图1所示,该方法包括:步骤101:从原始图像中的首行和首列开始,计算每行像素点或每列像素点的像素之和得到积分图像;步骤102:以所述原始图像中的每个像素点为中心进行遍历,对不包括图像边缘的像素点进行卷积运算,建立所述原始图像的尺度空间;其中,所述N行中的像素点不包括已计算完成的所述第一列的像素点。步骤103:特征点初步定位以及特征点精确定位。本发明实施例的积分图像计算方法相比于现有技术,按照特定计算顺序同时计算至少两行两列像素的积分值,适于并行实现,能够减少计算周期、提升计算速度;在图像尺度空间建立过程中,被遍历的像素点不包括图像边缘的像素点,在基本保持原有图像质量的基础上,降低运算复杂度,节省存储空间。可见,本发明实施例所提出的方法,非常适于应用FPGA等并行器件实现,能充分利用并行器件的计算能力,极大地提高图像处理的速度,提升图像处理系统的实时性,有广泛的应用前景。在本发明实施例中,所述首行可为图像最上边的一行,首列可为图像最左边的一列,当然,本发明实施例不限定所述首行和首列的选取方法,例如:首行也可为图像最下边的一行,首列可为图像最右边的一列等等。在本发明实施例中,所述从原始图像中的首行和首列开始,计算每行像素点或每列像素点的像素之和得到积分图像,包括:计算所述原始图像中的首行和首列的像素积分值;从第二行或第二列开始,在每个计算周期内同时计算至少两行或两列中每个像素点位置的像素之和,直至计算完所有行像素或列像素的积分图像。本发明实施例中,所述原始图像为N行像素与M列像素的矩阵;相应的,所述在每个计算周期内同时计算至少两行或两列中每个像素点位置的像素之和,包括:在所述N行像素点或M列像素点中确定每个子周期需要进行像素积分值计算的像素点的位置;计算所述确定位置处的像素积分值。其中,所述确定每个子周期需要进行像素积分值计算的像素点的位置,包括:对所述N行或M列中每个像素点的位置进行编号;在同一个子周期内同时对编号相同的位置处的像素点的像素积分值进行计算;所述N行或M列像素点中的第一行或第一列的第m个像素点的编号与第二行或第二列的第m-1个像素点、…以及,与第N行或第M列的第m-N+1个像素点的编号相同,所述m为正整数。例如:可对所述像素点进行如下编号:所述N行中的第一行像素点的编号从第一个像素点开始为:m、m+1、m+2、…m+n;所述N行中的第二行像素点的编号从第一个像素点开始为:m+1、m+2、…m+n+1;所述N行中的最后一行像素点的编号从第一个像素点开始为:m+N-1、m+N、…m+N-1。当然,所述编号也可为字母或其他符号等等。在本发明实施例中,所述图像边缘的像素点与所述卷积模板的大小相关,具体的,在采用卷积模板对图像中的像素点进行遍历时,如果卷积模板超出图像边缘,则此时与所述卷积模板对应位置处的像素点被认为是图像边缘的像素点。在本发明一个实施例中,该方法还包括:当所述至少两行或两列像素点中的相应像素点位置的像素积分值均计算完成后,将计算所得的所述至少两行或两列中每个像素点的像素积分值均覆盖写入所述原始图像对应行的存储位置,将所述至少两行或两列中最后一行或一列像素积分值覆盖写入已保存首行像素积分值的存储位置,以节省内存空间。本发明实施例中,特征点初步定位以及特征点精确定位过程包括:特征点初步定位方法与尺度不变特征转换(SIFT)算法类似,将经过Hessian矩阵计算的,即:经过积分计算得到的每个像素点与三维领域的26个点的大小进行比较,如果所述像素点是这26个点中的最大值或最小值,则记为初步的特征点;特征点精确定位方法也可以和SIFT算法类似,采用三维线性插值法得到亚像素级的特征点,同时去除小于阈值的特征点,此处不再详述。本发明实施例还提供了一种获取图像局部区域的装置,如图2所示,该装置包括:特征点定位模块22、积分图像并行计算模块20和尺度空间建立模块21;其中,所述积分图像并行计算模块20,用于从原始图像中的首行和首列开始,计算每行像素点或每列像素点的像素之和得到积分图像;所述尺度空间建立模块21,用于以所述原始图像中的每个像素点为中心进行遍历,对不包括图像边缘的像素点进行卷积运算,建立所述原始图像的尺度空间;所述特征点定位模块22,用于特征点初步定位以及特征点精确定位。在本发明实施例中,所述首行可为图像最上边的一行,首列可为图像最左边的一列,当然,本发明实施例不限定所述首行和首列的选取方法,例如:首行也可为图像最下边的一行,首列可为图像最右边的一列等等。本发明实施例中,所述积分图像并行计算模块20从原始图像中的首行和首列开始,计算每行像素点或每列像素点的像素之和得到积分图像,包括:计算所述原始图像中的首行和首列的像素积分值;从第二行或第二列开始,在每个计算周期内同时计算至少两行或两列中每个像素点位置的像素之和,直至计算完所有行像素或列像素的积分图像。本发明实施例中,所述原始图像为N行像素与M列像素的矩阵;相应的,所述积分图像并行计算模块20在每个计算周期内同时计算至少两行或两列中每个像素点位置的像素之和,包括:在所述N行像素点或M列像素点中确定每个子周期需要进行像素积分值计算的像素点的位置;计算所述确定位置处的像素积分值。其中,所述积分图像并行计算模块20确定每个子周期需要进行像素积分值计算的像素点的位置,包括:对所述N行或M列中每个像素点的位置进行编号;在同一个子周期内同时对编号相同的位置处的像素点的像素积分值进行计算;所述N行或M列像素点中的第一行或第一列的第m个像素点的编号与第二行或第二列的第m-1个像素点、…以及,与第N行或第M列的第m-N+1个像素点的编号相同,所述m为正整数。例如:可对所述像素点进行如下编号:所述N行中的第一行像素点的编号从第一个像素点开始为:m、m+1、m+2、…m+n;所述N行中的第二行像素点的编号从第一个像素点开始为:m+1、m+2、…m+n+1;所述N行中的最后一行像素点的编号从第一个像素点开始为:m+N-1、m+N、…m+N-1。当然,所述编号也可为字母或其他符号等等。在本发明实施例中,所述图像边缘的像素点与所述卷积模板的大小相关,在采用卷积模板对图像中的像素点进行遍历时,如果卷积模板超出图像边缘,则此时与所述卷积模板对应位置处的像素点被认为是图像边缘的像素点。在一个实施例中,所述积分图像并行计算模块20,还用于确定所述至少两行或两列像素点中的相应像素点位置的像素积分值均计算完成后,将计算所得的所述至少两行或两列像素积分值均覆盖写入所述原始图像对应行的存储位置,将所述至少两行或两列中最后一行或一列像素积分值覆盖写入已保存首行像素积分值的存储位置。在一个实施例中,该装置还包括:第一缓存模块24、第二缓存模块25和图像存储模块23;其中,所述第一缓存模块24,用于存储计算所得的首行的像素积分值,还存储所述至少两行或两列中最后一行或一列像素积分值;所述第二缓存模块25,用于存储计算所得的首列的像素积分值;所述图像存储模块23,用于存储原始图像数据以及计算所得的所述至少两行或两列行中每个像素点的像素积分值。其中,所述图像存储模块为:双口RAM。本发明实施例还提供了一种电子设备,所述电子设备包括:上文所述的装置。图3为本发明另一实施例所述获取图像局部区域的方法实现流程图,如图3所示,该方法包括:步骤301:采用并行积分方法计算积分图像;步骤302:采用舍边法、并基于所述积分图像和方框滤波器构建尺度空间;步骤303:对同一尺度空间内的特征点进行初步定位;步骤304:对不同尺度空间内的特征点进行精确定位。这里,所述步骤303和步骤304的实现方法与现有技术相同,此处不再详述。其中,所述步骤301中所述求取原始图像的积分图像过程,可改变传统的SURF算法计算积分图像的迭代方法,在计算过程中按照特定计算顺序同时计算N行像素的积分值,适于并行实现,能够减少计算周期、提升计算速度。其计算流程如图4所示:步骤一:进行原始图像矩阵中首行和首列积分值的计算,积分结果储存在所示行向量A中,第一列结果储存在所示的列向量B中,图4中所示C行数据为N行中的第一行;其中,每个像素点的积分值计算公式如下:S(i,0)=S(i-1,0)+I(i,0);S(0,j)=S(0,j-1)+I(0,j);其中,所述I(i,j)表示像素点得坐标,所述(i,j)表示像素值,S(i,j)表示该点的积分值。步骤二:并行计算N行积分值,计算顺序如图4中每个像素点的位置编号所示,同一个子周期内同时对编号相同的位置处的像素点的像素积分值进行计算,像素积分值计算公式如下:S(i,j)=I(0,j)+S(i-1,j)+S(i,j-1)-S(i-1,j-1)。步骤三:写入替换,当本轮的N行像素积分值计算完成后,用所述N行中最后一行计算完成的数据替换写入A,并将计算完成的N行结果整体写回原图像对应存储位置,以节省内存空间。之后,重复步骤二和步骤三,如此反复,每次N行,计算剩余图像积分值。直至图像最后一行像素积分值计算并写入完毕,得到完整的积分图。在步骤302构造尺度空间金字塔时,传统的SURF算法是将卷积模板以图像的每个像素点为中心,遍历整个图像。则卷积模板与图像的位置形成如图5中所示的九种关系,其中八种虚线表示的位置关系中,卷积模板超出原始图像。在利用FPGA实现时,这一部分的卷积运算需要对超出图像的位置补零,由于每一层的卷积模板大小、补零位置都不相同,需要设计不同结构的运算器进行处理,这增加了运算模块的复杂度。实际上,边缘像素点对于图像处理的影响是很小的。因此本发明实施例的方法,使用方框滤波器或矩形滤波器建立尺度空间时,忽略对边缘像素点的计算,只保留中间一种情况(实线表示)的图像范围进行卷积,如图5所示,从而大大降低了运算复杂度,有效提高了图像处理速度。本发明另一实施例还提供了实现所述获取图像局部区域的方法的并行装置,如图6所示,包括:积分图像并行计算模块、舍边法尺度空间构建模块、特征点初步定位模块、特征点精确定位模块和对应的存储空间,包括:图像存储双口RAM存储模块、积分图像缓存模块A、积分图像缓存模块B,尺度空间缓存双口RAM存储模块、特征点初步定位双口RAM存储模块和特征点精确定位存储模块。原始图像与积分图像存储采用同一个双口RAM存储模块,积分图像缓存模块A用于存储计算所得的首行的像素积分值,还存储N行中最后一行像素积分值;积分图像缓存模块B用于存储计算所得的首列的像素积分值,积分图像计算完后覆盖写入双口RAM中原始图像相应的存储地址,可以节省存储空间。本发明实施例的积分图像计算方法相比于现有技术,按照特定计算顺序同时计算N行像素的积分值,适于并行实现,能够减少计算周期、提升计算速度;在图像尺度空间建立过程中,被遍历的像素点不包括图像边缘的像素点,在基本保持原有图像质量的基础上,降低运算复杂度,节省存储空间。可见,本发明实施例所提出的方法,非常适于应用FPGA等并行器件实现,能充分利用并行器件的计算能力,极大地提高图像处理的速度,提升图像处理系统的实时性,有广泛的应用前景。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1