CN107665479A - 一种特征提取方法、全景拼接方法及其装置、设备及计算机可读存储介质 - Google Patents
一种特征提取方法、全景拼接方法及其装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107665479A CN107665479A CN201710790764.9A CN201710790764A CN107665479A CN 107665479 A CN107665479 A CN 107665479A CN 201710790764 A CN201710790764 A CN 201710790764A CN 107665479 A CN107665479 A CN 107665479A
- Authority
- CN
- China
- Prior art keywords
- image
- characteristic point
- point
- matrix
- calculated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 239000011159 matrix material Substances 0.000 claims abstract description 229
- 230000009466 transformation Effects 0.000 claims abstract description 59
- 238000013519 translation Methods 0.000 claims abstract description 24
- 238000006243 chemical reaction Methods 0.000 claims abstract description 17
- 238000000605 extraction Methods 0.000 claims abstract description 16
- 241000251468 Actinopterygii Species 0.000 claims description 37
- 238000004422 calculation algorithm Methods 0.000 claims description 27
- 238000012937 correction Methods 0.000 claims description 22
- 238000003860 storage Methods 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 10
- 238000010606 normalization Methods 0.000 description 6
- 241000208340 Araliaceae Species 0.000 description 4
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 4
- 235000003140 Panax quinquefolius Nutrition 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 235000008434 ginseng Nutrition 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002203 pretreatment Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 206010044565 Tremor Diseases 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供一种特征提取方法、全景拼接方法及其装置、设备、计算机可读存储介质。所述全景拼接方法包括:接收输入的需要拼接的图像;根据所述图像计算特征点并进行特征点匹配;根据所述图像上的特征点计算变换矩阵;利用变换矩阵对所述图像进行变换以得到变换后的图像;对变换后的图像进行投影以完成拼接;对拼接的图像进行融合以得到融合后的全景图像;其中,所述根据所述图像计算特征点并进行特征点匹配是根据特征提取方法计算出关键点以及所述关键点的特征向量,所述关键点即为特征点,根据所述图像中的特征点以及所述特征点的特征向量进行特征点匹配。本发明实施例提高了特征提取的速度、特征点匹配的速度、全景拼接的速度。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种特征提取方法、全景拼接方法及其装置、设备及计算机可读存储介质。
背景技术
在许多商业展示项目中,应用全景虚拟现实技术已经成为了一种发展趋势和新思路。在实现全景拼接的过程中,拼接的精度和速度都非常重要。现有的一些全景拼接算法,拼接的精度和速度不够,导致实用性较差。
发明内容
本发明实施例提供了一种特征提取方法、全景拼接方法及其装置、设备及计算机可读存储介质,在全景拼接方法中使用该特征提取方法,在保证精度的前提下,提高了全景拼接的速度,实用性较强。
第一方面,本发明实施例提供了如下方法:
一种特征提取方法,该方法包括:
接收输入的图像;
生成所述图像的尺度空间;
检测所述图像的尺度空间中的极值点;
根据所述极值点计算关键点;
计算每个关键点的方向参数;
在每个关键点所在的尺度空间上,获取以关键点所在的位置为中心的圆形区域;
将所述圆形区域分成N块扇形小区域,其中,N为大于1的自然数;
计算每一块扇形小区域中分配到的M个方向上的梯度累计值,其中,M为方向参数中的方向个数,为大于1的自然数;
根据计算出的N*M个梯度累计值确定所述关键点的特征向量。
一种全景拼接方法,该方法包括:
接收输入的需要拼接的图像;
根据所述图像计算特征点并进行特征点匹配;
根据所述图像上的特征点计算变换矩阵;
利用变换矩阵对所述图像进行变换以得到变换后的图像;
对变换后的图像进行投影以完成拼接;
对拼接的图像进行融合以得到融合后的全景图像;
其中,所述根据所述图像计算特征点并进行特征点匹配是根据上述特征提取方法计算出关键点以及所述关键点的特征向量,所述关键点即为特征点,根据所述图像中的特征点以及所述特征点的特征向量进行特征点匹配。
第二方面,本发明实施例提供了一种装置,该装置包括用于执行上述第一方面所述的特征提取方法的单元或者包括用于执行上述第一方面所述的全景拼接方法的单元。
第三方面,本发明实施例还提供了一种设备,所述设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储实现特征提取的程序数据,所述处理器用于运行所述存储器中存储的程序数据,以执行上述第一方面所述的特征提取方法;或者
所述存储器用于存储实现全景拼接的程序数据,所述处理器用于运行所述存储器中存储的程序数据,以执行上述第一方面所述的全景拼接方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序数据,所述一个或者一个以上程序数据可被一个或者一个以上的处理器执行,以实现上述第一方面所述的特征提取方法或者全景拼接方法。
本发明实施例,接收输入的需要拼接的图像;根据所述图像计算特征点并进行特征点匹配;根据所述图像上的特征点计算变换矩阵;利用变换矩阵对所述图像进行变换以得到变换后的图像;对变换后的图像进行投影以完成拼接;对拼接的图像进行融合以得到融合后的全景图像。其中,计算所述图像的特征点时,在每个关键点所在的尺度空间上,获取以关键点所在的位置为中心的圆形区域;将所述圆形区域分成N块扇形小区域;计算每一块扇形小区域中分配到的M个方向上的梯度累计值,其中,M为方向参数中的方向个数;根据计算出的N*M个梯度累计值确定所述关键点的特征向量。本发明实施例在计算特征点的特征向量时,不是在特征点所在的正方形区域内,而是在特征点所在的圆形区域内,一方面,在特征点所在的圆形区域内,无需将坐标轴旋转到特征点的方向就可以满足旋转不变性,另一方面,减少了计算量,提高了计算的效率。计算出特征点以及特征点的特征向量,再根据特征点和特征点的特征向量进行匹配,提高了匹配的速度,同时也提高了全景拼接的速度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种特征提取方法的流程示意图;
图2是本发明实施例提供的一种特征提取方法的子流程示意图;
图3是本发明实施例提供的一种计算出的特征向量的示意图;
图4是本发明实施例提供的一种全景拼接方法的流程示意图;
图5是本发明实施例提供的一种全景拼接方法的子流程示意图;
图6是本发明另一实施例提供的一种全景拼接方法的子流程示意图;
图7是本发明另一实施例提供的一种全景拼接方法的子流程示意图;
图8是本发明另一实施例提供的一种全景拼接方法的流程示意图;
图9是本发明实施例提供的一种特征提取装置的示意性框图;
图10是本发明实施例提供的特征向量确定单元的示意性框图;
图11是本发明实施例提供的全景拼接装置的示意性框图;
图12是本发明实施例提供的变换矩阵计算单元的示意性框图;
图13是本发明另一实施例提供的变换矩阵计算单元的示意性框图;
图14是本发明另一实施例提供的变换矩阵计算单元的示意性框图;
图15是本发明另一实施例提供的全景拼接装置的示意性框图;
图16是本发明实施例提供的一种特征提取设备的示意性框图;
图17是本发明实施例提供的一种全景拼接设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
也应当理解,尽管术语第一、第二等可以在此用来描述各种元素,但这些元素不应该受限于这些术语。这些术语仅用来将这些元素彼此区分开。例如,在不脱离本发明范围的前提下,第一旋转矩阵可以被称为第二旋转矩阵,并且类似地,第二旋转矩阵可以被称为第一旋转矩阵。第一旋转矩阵和第二旋转矩阵均为旋转矩阵,但他们并非同一旋转矩阵。
图1为本发明实施例提供的一种特征提取方法的流程示意图。该方法包括S101~S106。
S101,接收输入的图像。
S102,生成该图像的尺度空间。其中,尺度空间指的是:通过连续变化尺度参数获得多尺度下的尺度空间表示序列。使用尺度空间对图像进行进一步的处理,更容易获取图像的本质特征。尺度空间满足平移不变性、尺度不变性、欧几里德不变性以及仿射不变性。一个图像的尺度空间定义为一个变化尺度的高斯函数与原图像的卷积。图像的尺度空间在实现时使用高斯金字塔表示,高斯金字塔的构建分为两部分:对图像做不同尺度高斯模糊;对图像做降采样。如此得到原图像以及原图像在不同尺度上的图像,即生成了该图像的尺度空间。
S103,检测该图像的尺度空间中的极值点。使用高斯金字塔每组中相邻上下两层图像相减,得到高斯差分图像。在高斯差分图像上,寻找高斯差分函数的极值点。具体地,每一个像素点和它所有的相邻点比较,所有的相邻点包括该像素点所在的尺度空间上的相邻点和该像素点上下相邻尺度上对应的相邻点,看该像素点是否比它的相邻点大或者小,取相邻点中最大或者最小的像素值所对应的点,将该点作为一个极值点。如在3*3的像素区域内,假设中间的像素点为检测点,该检测点和它同尺度的其他8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,选取26个点中最大或者最小的像素值所对应的点,将该点作为一个极值点。其中,每个极值点包括该极值点所在的尺度空间的尺度、位置。
S104,根据极值点计算关键点。离散空间的极值点并不一定是真正的极值点。为了提高稳定性,需要从离散的极值点中找到真正的极值点,并且剔除不稳定的边缘极值点。具体地,对尺度空间高斯差分函数进行曲线拟合。
S105,计算每个关键点的方向参数。其中方向参数中包括M个方向,M为大于1的自然数。对于检测出的关键点,采集其所在高斯金字塔图像一定邻域内像素的梯度和方向分布特征。具体地,使用直方图统计邻域内像素的梯度和方向,如直方图将0~360度的方向范围分为36个柱(bins),其中每柱10度。选取其中每柱的梯度值较大的M柱,将该M柱所在的方向作为关键点的方向。优选地,M=8。
S106,在每个关键点所在的尺度空间上,获取以关键点所在的位置为中心的圆形区域。其中,每个关键点包括该关键点所在的尺度空间的尺度、位置。因为得出的多个关键点可能位于不同的尺度空间上,需要知道关键点所在的尺度,在该尺度所对应的尺度空间上,获取以关键点所在的位置为中心的圆形区域。其中,圆形区域的半径与输入的图像的分辨率有关,图像的分辨率表示图像的质量。输入的图像的分辨率越高,圆形区域的半径越小;输入的图像的分辨率越低,圆形区域的半径越大。如此,保证能提取到有用的特征信息。优选地,该圆形区域的直径为原sift算法(David Lowe提出的算法)中关键点尺度空间内4*4的窗口所在的正方形对角线的长度。在其他实施例中,圆形区域的半径也可以是其他某个固定的值等。
S107,将圆形区域分成N块扇形小区域,其中,N为大于1的自然数。优选地,N=8。
S108,计算每一块扇形小区域中分配到的M个方向上的梯度累计值,其中,M为方向参数中的方向个数,为大于1的自然数。优选地,M=8。计算每一块扇形小区域内像素点的梯度和方向,将该扇形小区域内的像素点的梯度值分配到8个方向上,统计8个方向上的梯度累计值。其中,计算梯度累计值的具体公式与原sift算法相同,在此不再赘述。当N=8,M=8时,提取的特征向量,可以很好的表示该关键点的特征。
S109,根据计算出的N*M个梯度累计值确定关键点的特征向量。具体地,如图2所示,S109包括S201-S202。S201,将计算出的N*M个梯度累计值进行降序排列。将计算出的梯度累计值进行排序以为了更好的进行特征点(关键点)匹配。S202,对排列后的梯度累计值进行归一化,以得到关键点的特征向量。进行归一化的目的是为了消除光照的影响。在具体实现中,进行排列和归一化的顺序没有限制,可以理解为,可以对梯度累计值先排列再归一化,也可以先归一化再排列。
图3是一种计算出的特征向量的示意图。如图3所示,圆形区域30分成8个扇形小区域31,其中,直径32是圆形区域的直径的长度,每个扇形小区域所对应的特征33是通过将该扇形小区域内的像素点的梯度值分配到8个方向上,统计8个方向上的梯度累计值得出的。关键点的特征向量包括8个扇形小区域内的8个方向上的梯度累计值,需要注意的是,该梯度累计值经过归一化和降序排列。
上述方法实施例,计算关键点的特征向量时,直接将原sift算法的关键点的4*4区域换成圆形区域,无需对4*4区域中关键点的主方向进行判定,也无需对原sift的4*4区域进行旋转就可以满足旋转不变性。将圆形区域分成8块,计算每一块中分配到8个方向上的累计剃度值。最后计算出来的每个关键点的特征向量从原来的4*4*8(8个方向)维变成8*8(8个方向),即由原来的128维变成64维,每个关键点的特征向量的维数减少了一半。在保持精度的前提下大大提高了图像特征提取的速度。
图4是本发明实施例提供的一种全景拼接方法的示意性框图。该全景拼接方法包括S401-S406。
S401,接收输入的需要拼接的图像。该全景拼接方法输入的需要拼接的图像在进行特征点提取之前是无需进行畸变校正的,如通过普通的单反摄像机/手机摄像头拍摄的。需要注意的是,根据实际需求对输入的需要拼接的图像可能会做一些预处理,比如去除一些干扰噪音等。
S402,根据输入的需要拼接的图像计算特征点并进行特征点匹配。具体地,通过如图1-图2所示的实施例计算出特征点以及特征点的特征向量,在此不再赘述。根据计算出的特征点以及特征点的特征向量进行特征点匹配,如此可以找到两两可以相互匹配的图像。可以理解为,两两可以相互匹配的图像上有相同的特征点。由于图1-图2所示的实施例可以在保持精度的前提下大大提高图像特征提取的速度,利用图1-图2所示的实施例计算出每张图像的特征点和特征点的特征向量,再进行图像间的特征点匹配,可以大大提高图像匹配的速度。
S403,根据图像上的特征点计算变换矩阵。变换矩阵的精度直接影响着全景拼接的结果。
具体地,如图5所示,S403包括S501-S503。S501,根据图像上的特征点利用最小二乘法计算第一旋转矩阵,其中,第一旋转矩阵包括旋转参数。具体地,输入两两可以相互匹配的图像的特征点,利用最小二乘法计算出两两可以相互匹配的图像之间的旋转矩阵,所有的两两可以相互匹配的图像之间的旋转矩阵计算出来后,将所有两两可以相互匹配的图像之间的旋转矩阵调整到同一标准,将调整后的同一标准的旋转矩阵称为第一旋转矩阵。其中,旋转矩阵是图像之间的摄像机参数的表示。其中,调整到同一标准,可以理解为,比如对于尺度参数,第一个两两可以相互匹配的图像的旋转矩阵的尺度是1,第二个两两可以相互匹配的图像的旋转矩阵的尺度为1.5,那么可以以第一个两两可以相互匹配的图像的旋转矩阵的尺度为基准,将第二个两两可以相互匹配的图像的旋转矩阵的尺度调整到与第一个的尺度相同;也可以以第二个两两可以相互匹配的图像的旋转矩阵的尺度为基准,将第一个的尺度变为1.5;也可以将两个的尺度调整到3。同样对其他的参数如旋转参数、平移参数也需要进行如此的变换。S502,根据图像上的特征点计算单应性矩阵。该单应性矩阵中的参数包括旋转参数、平移参数和缩放参数。具体地,输入两两可以相互匹配的图像上的特征点,通过对极几何的原理,计算出单应性矩阵。具体计算的思想,请参看第一旋转矩阵计算的描述。S503,利用计算出来的第一旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。通过根据最小二乘法计算出的第一旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数,得到的变换矩阵更加的精确。
S404,利用变换矩阵对图像进行变换以得到变换后的图像。由于每张图像在拍摄时的摄像机参数可能有变化,摄像机参数变化,会导致拍摄出来的图像也存在对应的不同。如果对图像不进行相应的调整,直接做拼接,那么会出现重影,直接影响了最后拼接的效果,因此需要利用变换矩阵对输入的需要拼接的图像进行变换。变换后的图像的摄像机参数一样,不存在相对的旋转、相对尺度的变化、相对的平移。
S405,对变换后的图像进行投影以完成拼接。由于每张图像是摄像机在不同角度下拍摄得到的,所以每张图像并不在同一投影平面上,如果对重叠的图像直接进行无缝拼接,会破坏实际景物的视觉一致性,需要先对图像进行投影变换,再进行拼接。其中,若是360度拼接需使用柱面投影,若是720度拼接需使用球面投影。具体方法可以为:以其中某一张图像的对应的摄像机参数为基准,将该图像可以匹配的另一张图像使用该摄像机参数进行投影变换,直至所有的图像都投影变换完毕。最终所有的图像都在同一个坐标系、同一个投影面,并且两两可以匹配的图像之间的特征点是对应的。
S406,对拼接的图像进行融合以得到融合后的全景图像。融合的方法具体包括:图像亮度与颜色的均衡处理等,以使拼接后的全景图像看起来更自然。
上述方法实施例通过计算需要拼接的图像的特征点并进行匹配,利用变换矩阵对图像进行变换以得到变换后的图像,对变换后的图像进行投影以完成拼接,对拼接的图像进行融合以得到融合后的全景图像。上述方法实施例通过图1-图2所示的实施例的方法计算图像的特征点并进行匹配,加快了图像匹配的速度,提高了全景图像拼接的效率。另外,计算变换矩阵时,通过根据最小二乘法计算出的第一旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数,得到的变换矩阵更加的精确,提高了全景拼接的精度。
在其他实施例中,如图6所示,根据图像上的特征点计算变换矩阵,即步骤S103,包括S601-S603。S601,根据图像上的特征点,利用随机抽样一致性算法(Random SampleConsensus,RANSAC)计算第二旋转矩阵,该第二旋转矩阵包括旋转参数。其中,RANSAC算法通过输入两两可以匹配的图像上的特征点,利用模型和一些可信的参数,找到最优的第二旋转矩阵使得满足第二旋转矩阵的特征点个数最多。S602,根据图像上的特征点计算单应性矩阵。该单应性矩阵中的参数包括旋转参数、平移参数和缩放参数。具体地,输入两两可以相互匹配的图像上的特征点,通过对极几何的原理,计算出单应性矩阵。S603,利用计算出来的第二旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。通过根据RANSAC算法计算出的第二旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数,得到的变换矩阵更加的精确,提高了全景拼接的精度。
在其他实施例中,如图7所示,根据图像上的特征点计算变换矩阵,即步骤S103,包括S701-S704。S701,根据图像上的特征点利用最小二乘法计算第一旋转矩阵,其中,第一旋转矩阵包括旋转参数。S702,根据图像上的特征点,利用RANSAC算法和第一旋转矩阵计算第三旋转矩阵,该第三旋转矩阵包括旋转参数。具体地,将第一旋转矩阵中的旋转参数当成是RANSAC算法中参数的初始值。在该初始值的基础上利用RANSAC算法计算第三旋转矩阵。S703,根据图像上的特征点计算单应性矩阵。该单应性矩阵中的参数包括旋转参数、平移参数和缩放参数。具体地,输入两两可以相互匹配的图像上的特征点,通过对极几何的原理,计算出单应性矩阵。S704,利用计算出来的第三旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。利用RANSAC算法和第一旋转矩阵计算出的第三旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数,得到的变换矩阵精确度上大大提高,大大提高了全景拼接的精度。
图8是本发明另一实施例提供的一种全景拼接方法的流程示意图。该方法包括S801-S808。该方法实施例与图4所述的实施例的区别在于:在计算图像的特征点之前,增加了步骤S802-S803。其他的步骤请参看图4所述的实施例的描述。
S802,判断输入的需要拼接的图像是否为鱼眼图像。具体地,可以通过判断输入的参数,如输入的图像的类型的参数/是否需要进行鱼眼畸变校正的参数,来判断输入的图像是否为鱼眼图像。如若输入的图像的类型为鱼眼图像的类型或者需要进行鱼眼畸变校正,那么判断输入的图像为鱼眼图像。因为鱼眼摄像机相对于普通的单反摄像机/手机摄像头来说,无需拍摄很多张图片,提高了采集图像的效率。另外,图像采集的越少,降低了全景拼接过程中出现误差的概率,提高全景拼接的精度。
S803,若为鱼眼图像,对输入的鱼眼图像进行畸变校正。具体地,畸变校正的方法包括球面坐标定位法、经纬映射法等。其中,经纬映射法的主要思想是:将鱼眼图像的坐标转换到规格化坐标,即将鱼眼图像平面像素坐标(i,j)转化为范围在-1到1之间的规格化坐标(u,v);计算极坐标平面的r和Q角,即对于规格化坐标上任一点P(u,v),计算P点到极坐标原点的距离r以及P点与U轴的夹角Q;将极坐标换算到球面坐标;重新选取球坐标系,得到经纬映射后的坐标。接着对进行鱼眼畸变校正后的图像提取特征点并进行特征点匹配。
上述方法实施例对输入的图像是否为鱼眼图像进行判断,若为鱼眼图像,对鱼眼图像进行畸变校正,再对鱼眼图像进行特征点匹配。上述方法实施例通过图1-图2所示的实施例的方法计算图像的特征点并进行匹配,加快了图像匹配的速度,提高了全景拼接的效率;而且,可以通过多种方式计算出变换矩阵,计算出的变换矩阵更加准确,提高了全景拼接的精度和准确度;另外,可以对鱼眼图像进行处理,由于鱼眼图像采集的图像较少,降低了全景拼接过程中出现误差的概率,提高全景拼接的精度。
图9为本发明实施例提供的一种特征提取装置的示意性框图。该装置90包括第一接收单元901、生成单元902、检测单元903、关键点计算单元904、方向计算单元905、获取单元906、分块单元907、计算分配单元908、特征向量确定单元909。
第一接收单元901用于接收输入的图像。
生成单元902用于生成该图像的尺度空间。其中,尺度空间指的是:通过连续变化尺度参数获得多尺度下的尺度空间表示序列。使用尺度空间对图像进行进一步的处理,更容易获取图像的本质特征。尺度空间满足平移不变性、尺度不变性、欧几里德不变性以及仿射不变性。一个图像的尺度空间定义为一个变化尺度的高斯函数与原图像的卷积。图像的尺度空间在实现时使用高斯金字塔表示,高斯金字塔的构建分为两部分:对图像做不同尺度高斯模糊;对图像做降采样。如此得到原图像以及原图像在不同尺度上的图像,即生成了该图像的尺度空间。
检测单元903用于检测该图像的尺度空间中的极值点。使用高斯金字塔每组中相邻上下两层图像相减,得到高斯差分图像。在高斯差分图像上,寻找高斯差分函数的极值点。具体地,每一个像素点和它所有的相邻点比较,所有的相邻点包括该像素点所在的尺度空间上的相邻点和该像素点上下相邻尺度上对应的相邻点,看该像素点是否比它的相邻点大或者小,取相邻点中最大或者最小的像素值所对应的点,将该点作为一个极值点。如在3*3的像素区域内,假设中间的像素点为检测点,该检测点和它同尺度的其他8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,选取26个点中最大或者最小的像素值所对应的点,将该点作为一个极值点。其中,每个极值点包括该极值点所在的尺度空间的尺度、位置。
关键点计算单元904用于根据极值点计算关键点。离散空间的极值点并不一定是真正的极值点。为了提高稳定性,需要从离散的极值点中找到真正的极值点,并且剔除不稳定的边缘极值点。具体地,对尺度空间高斯差分函数进行曲线拟合。
方向计算单元905用于计算每个关键点的方向参数。其中方向参数中包括多个方向。对于检测出的关键点,采集其所在高斯金字塔图像一定邻域内像素的梯度和方向分布特征。具体地,使用直方图统计邻域内像素的梯度和方向,如直方图将0~360度的方向范围分为36个柱(bins),其中每柱10度。选取其中每柱的梯度值较大的M柱,将该M柱所在的方向作为关键点的方向。优选地,M=8。
获取单元906用于在每个关键点所在的尺度空间上,获取以关键点所在的位置为中心的圆形区域。其中,每个关键点包括该关键点所在的尺度空间的尺度、位置。因为得出的多个关键点可能位于不同的尺度空间上,需要知道关键点所在的尺度,在该尺度所对应的尺度空间上,获取以关键点所在的位置为中心的圆形区域。其中,圆形区域的半径与输入的图像的分辨率有关,图像的分辨率表示图像的质量。输入的图像的分辨率越高,圆形区域的半径越小;输入的图像的分辨率越低,圆形区域的半径越大。如此,保证能提取到有用的特征信息。优选地,该圆形区域的直径为原sift算法中关键点尺度空间内4*4的窗口所在的正方形对角线的长度。在其他实施例中,圆形区域的半径也可以是某个固定的值等。
分块单元907用于将圆形区域分成N块扇形小区域,其中,N为大于1的自然数。优选地,N=8。
计算分配单元908用于计算每一块扇形小区域中分配到的M个方向上的梯度累计值,其中,M为方向参数中的方向个数,为大于1的自然数。优选地,M=8。计算每一块扇形小区域内像素点的梯度和方向,将该扇形小区域内的像素点的梯度值分配到8个方向上,统计8个方向上的梯度累计值。其中,计算梯度累计值的具体公式与原sift算法相同,在此不再赘述。当N=8,M=8时,提取的特征向量,可以很好的表示该关键点的特征。
特征向量确定单元909用于根据计算出的N*M个梯度累计值确定关键点的特征向量。具体地,如图10所示,特征向量确定单元包括排序单元101、归一化单元102。排序单元101用于将计算出的梯度累计值进行降序排列。将计算出的梯度累计值进行排序以为了更好的进行特征点(关键点)匹配。归一化单元102用于对排列后的梯度累计值进行归一化,以得到关键点的特征向量。进行归一化的目的是为了消除光照的影响。在具体实现中,进行排列和归一化的顺序没有限制,可以理解为,可以对梯度累计值先排列再归一化,也可以先归一化再排列。
上述实施例,计算关键点的特征向量时,直接将原sift算法的关键点的4*4区域换成圆形区域,无需对4*4区域中关键点的主方向进行判定,也无需对原sift的4*4区域进行旋转就可以满足旋转不变性。将圆形区域分成8块,计算每一块中分配到8个方向上的累计剃度值。最后计算出来的每个关键点的特征向量从原来的4*4*8(8个方向)维变成8*8(8个方向),即由原来的128维变成64维,每个关键点的特征向量的维数减少了一半。在保持精度的前提下大大提高了图像特征提取的速度。
上述特征提取装置可以实现为一种计算机程序的形式,该计算机程序可以在如图16所示的特征提取设备上运行。
图11是本发明实施例提供的全景拼接装置的示意性框图。该装置110包括第二接收单元111、匹配单元112、变换矩阵计算单元113、变换单元114、投影单元115、融合单元116。
第二接收单元111用于接收输入的需要拼接的图像。该图像是通过如普通的单反摄像机/手机摄像头拍摄的。需要注意的是,根据实际需求对输入的需要拼接的图像可能会做一些预处理,比如去除一些干扰噪音等。
匹配单元112用于根据输入的需要拼接的图像计算特征点并进行特征点匹配。具体地,可以通过如图9-图10所示的特征提取装置计算出特征点以及特征点的特征向量,匹配单元112根据计算出的特征点以及特征点的特征向量进行特征点匹配。在其他实施例中,匹配单元包括图9所示的特征提取装置的第一接收单元901、生成单元902、检测单元903、关键点计算单元904、方向计算单元905、获取单元906、分块单元907、计算分配单元908、特征向量确定单元909。其中,特征向量确定单元906包括排序单元101、归一化单元102。匹配单元112再根据计算出的特征点以及特征点的特征向量进行特征点匹配。如此可以找到两两可以相互匹配的图像。可以理解为,两两可以相互匹配的图像上有相同的特征点。由于图9-图10所示的特征提取装置可以在保持精度的前提下大大提高图像特征提取的速度,利用图9-图10所示的特征提取装置或者匹配单元(匹配单元中包括图9所示的特征提取装置对应的单元)计算出每张图像的特征点和特征点的特征向量,再进行图像间的特征点匹配,可以大大提高图像匹配的速度。
变换矩阵计算单元113用于根据图像上的特征点计算变换矩阵。
具体地,如图12所示,变换矩阵计算单元包括第一旋转矩阵计算单元121、单应性矩阵计算单元122、第一替换单元123。第一旋转矩阵计算单元121用于根据图像上的特征点利用最小二乘法计算第一旋转矩阵,其中,第一旋转矩阵包括旋转参数。具体地,输入两两可以相互匹配的图像的特征点,利用最小二乘法计算出两两可以相互匹配的图像之间的旋转矩阵,所有的两两可以相互匹配的图像之间的旋转矩阵计算出来后,将所有两两可以相互匹配的图像之间的旋转矩阵调整到同一标准,将调整后的同一标准的旋转矩阵称为第一旋转矩阵。其中,旋转矩阵是图像之间的摄像机参数的表示。其中,调整到同一标准,可以理解为,比如对于尺度参数,第一个两两可以相互匹配的图像的旋转矩阵的尺度是1,第二个两两可以相互匹配的图像的旋转矩阵的尺度为1.5,那么可以以第一个两两可以相互匹配的图像的旋转矩阵的尺度为基准,将第二个两两可以相互匹配的图像的旋转矩阵的尺度调整到与第一个的尺度相同;也可以以第二个两两可以相互匹配的图像的旋转矩阵的尺度为基准,将第一个的尺度变为1.5;也可以将两个的尺度调整到3。同样对其他的参数如旋转参数、平移参数也需要进行如此的变换。单应性矩阵计算单元122用于根据图像上的特征点计算单应性矩阵。该单应性矩阵中的参数包括旋转参数、平移参数和缩放参数。具体地,输入两两可以相互匹配的图像上的特征点,通过对极几何的原理,计算出单应性矩阵。具体计算的思想,请参看第一旋转矩阵计算的描述。第一替换单元123用于利用计算出来的第一旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。通过根据最小二乘法计算出的第一旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数,得到的变换矩阵更加的精确。
变换单元114用于利用变换矩阵对图像进行变换以得到变换后的图像。由于每张图像在拍摄时的摄像机参数可能有变化,摄像机参数变化,会导致拍摄出来的图像也存在对应的不同。如果对图像不进行相应的调整,直接做拼接,那么会出现重影,直接影响了最后拼接的效果,因此需要利用变换矩阵对输入的需要拼接的图像进行变换。变换后的图像的摄像机参数一样,不存在相对的旋转、相对尺度的变化、相对的平移。
投影单元115用于对变换后的图像进行投影以完成拼接。由于每张图像是摄像机在不同角度下拍摄得到的,所以每张图像并不在同一投影平面上,如果对重叠的图像直接进行无缝拼接,会破坏实际景物的视觉一致性,需要先对图像进行投影变换,再进行拼接。其中,若是360度拼接需使用柱面投影,若是720度拼接需使用球面投影。具体地,投影单元可以为:以其中某一张图像的对应的摄像机参数为基准,将该图像可以匹配的另一张图像使用该摄像机参数进行投影变换,直至所有的图像都投影变换完毕。最终所有的图像都在同一个坐标系、同一个投影面,并且两两可以匹配的图像之间的特征点是对应的。
融合单元116用于对拼接的图像进行融合以得到融合后的全景图像。融合的方法具体包括:图像亮度与颜色的均衡处理等,以使拼接后的全景图像看起来更自然。
上述实施例通过计算需要拼接的图像的特征点并进行匹配,利用变换矩阵对图像进行变换以得到变换后的图像,对变换后的图像进行投影以完成拼接,对拼接的图像进行融合以得到融合后的全景图像。上述方法实施例通过图9-图10所示的实施例计算图像的特征点并进行匹配,加快了图像匹配的速度,提高了全景图像拼接的效率。另外,计算变换矩阵时,通过根据最小二乘法计算出的第一旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数,得到的变换矩阵更加的精确,提高了全景拼接的精度。
在其他实施例中,如图13所示,变换矩阵计算单元113包括第二旋转矩阵计算单元131、单应性矩阵计算单元132、第二替换单元133。第二旋转矩阵计算单元131用于根据图像上的特征点,利用RANSAC算法计算第二旋转矩阵,该第二旋转矩阵包括旋转参数。其中,RANSAC算法通过输入两两可以匹配的图像上的特征点,利用模型和一些可信的参数,找到最优的第二旋转矩阵使得满足第二旋转矩阵的特征点个数最多。单应性矩阵计算单元132用于根据图像上的特征点计算单应性矩阵。该单应性矩阵中的参数包括旋转参数、平移参数和缩放参数。具体地,输入两两可以相互匹配的图像上的特征点,通过对极几何的原理,计算出单应性矩阵。第二替换单元133用于利用计算出来的第二旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。通过根据RANSAC算法计算出的第二旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数,得到的变换矩阵更加的精确,提高了全景拼接的精度。
在其他实施例中,如图14所示,变换矩阵计算单元113包括第一旋转矩阵计算单元141、第三旋转矩阵计算单元142、单应性矩阵计算单元143、第三替换单元144。第一旋转矩阵计算单元141用于根据图像上的特征点利用最小二乘法计算第一旋转矩阵,其中,第一旋转矩阵包括旋转参数。第三旋转矩阵计算单元142用于根据图像上的特征点,利用RANSAC算法和第一旋转矩阵计算第三旋转矩阵,该第三旋转矩阵包括旋转参数。具体地,将第一旋转矩阵中的旋转参数当成是RANSAC算法中参数的初始值。在该初始值的基础上利用RANSAC算法计算第三旋转矩阵。单应性矩阵计算单元143用于根据图像上的特征点计算单应性矩阵。该单应性矩阵中的参数包括旋转参数、平移参数和缩放参数。具体地,输入两两可以相互匹配的图像上的特征点,通过对极几何的原理,计算出单应性矩阵。第三替换单元144用于利用计算出来的第三旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。利用RANSAC算法和第一旋转矩阵计算出的第三旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数,得到的变换矩阵精确度上大大提高,大大提高了全景拼接的精度。
图15是本发明另一实施例提供的全景拼接装置的示意性框图。该装置150包括第二接收单元151、判断单元152、畸变校正单元153、匹配单元154、变换矩阵计算单元155、变换单元156、投影单元157、融合单元158。其中,该实施例与图11实施例的区别在于:增加了判断单元152、畸变校正单元153。该实施例中的其他单元请参看图11实施例的相对应的单元,在此不再赘述。
判断单元152用于判断输入的需要拼接的图像是否为鱼眼图像。具体地,可以通过判断输入的参数,如输入的图像的类型的参数/是否需要进行鱼眼畸变校正的参数,来判断输入的图像是否为鱼眼图像。如若输入的图像的类型为鱼眼图像的类型或者需要进行鱼眼畸变校正,那么判断输入的图像为鱼眼图像。因为鱼眼摄像机相对于普通的单反摄像机/手机摄像头来说,无需拍摄很多张图片,提高了采集图像的效率。
畸变校正单元153用于若输入的需要拼接的图像为鱼眼图像,对输入的鱼眼图像进行畸变校正。具体地,畸变校正的方法包括球面坐标定位法、经纬映射法等。其中,经纬映射法的主要思想是:将鱼眼图像的坐标转换到规格化坐标,即将鱼眼图像平面像素坐标(i,j)转化为范围在-1到1之间的规格化坐标(u,v);计算极坐标平面的r和Q角,即对于规格化坐标上任一点P(u,v),计算P点到极坐标原点的距离r以及P点与U轴的夹角Q;将极坐标换算到球面坐标;重新选取球坐标系,得到经纬映射后的坐标。接着对进行鱼眼畸变校正后的图像提取特征点并进行特征点匹配。
上述方法实施例对输入的图像是否为鱼眼图像进行判断,若为鱼眼图像,对鱼眼图像进行畸变校正,再对鱼眼图像进行特征点匹配。上述实施例通过图9-图10所示的实施例计算图像的特征点并进行匹配,加快了图像匹配的速度,提高了全景拼接的效率;而且,可以通过多种方式计算出变换矩阵,计算出的变换矩阵更加准确,提高了全景拼接的精度和准确度;另外,可以对鱼眼图像进行处理,由于鱼眼图像采集的图像较少,降低了全景拼接过程中出现误差的概率,提高全景拼接的精度。
上述全景拼接装置可以实现为一种计算机程序的形式,该计算机程序可以在如图17所示的全景拼接设备上运行。
图16为本发明实施例提供的一种特征提取设备的示意性框图。该特征提取设备160包括输入装置161、输出装置162、存储器163以及处理器164,上述输入装置161、输出装置162、存储器163以及处理器164通过总线165连接。
输入装置161用于输入需要进行特征提取的图像。具体实现中,本发明实施例的输入装置161可包括键盘、鼠标、语音输入装置、触摸式输入装置等。
输出装置162用于输出特征向量等。具体实现中,本发明实施例的输出装置162可包括语音输出装置、显示器、显示屏、触摸屏等。
存储器163用于存储实现特征提取的程序数据。具体实现中,本发明实施例的存储器163可以是***存储器,比如非易失性的(诸如ROM,闪存等)。具体实现中,本发明实施例的存储器163还可以是***之外的外部存储器,比如,磁盘、光盘、磁带等。
处理器164用于运行存储器163中存储的程序数据,以执行如下操作:
接收输入的图像;生成所述图像的尺度空间;检测所述图像的尺度空间中的极值点;根据所述极值点计算关键点;计算每个关键点的方向参数;在每个关键点所在的尺度空间上,获取以关键点所在的位置为中心的圆形区域;将所述圆形区域分成N块扇形小区域,其中,N为大于1的自然数;计算每一块扇形小区域中分配到的M个方向上的梯度累计值,其中,M为方向参数中的方向个数,为大于1的自然数;根据计算出的N*M个梯度累计值确定所述关键点的特征向量。其中,圆形区域的半径跟输入的图像的分辨率有关,输入的图像的分辨率越高,圆形区域的半径越小;输入的图像的分辨率越低,圆形区域的半径越大。
优选地,N=8,M=8。
处理器114还执行如下操作:
将计算出的N*M个梯度累计值进行降序排列;对排列后的梯度累计值进行归一化,以得到所述关键点的特征向量。
图17是本发明实施例提供的一种全景拼接设备的示意性框图。该全景拼接设备170包括输入装置171、输出装置172、存储器173以及处理器174,上述输入装置171、输出装置172、存储器173以及处理器174通过总线175连接。
输入装置171用于输入需要进行全景拼接的图像。具体实现中,本发明实施例的输入装置171可包括键盘、鼠标、语音输入装置、触摸式输入装置等。
输出装置172用于输出全景图像等。具体实现中,本发明实施例的输出装置172可包括显示器、显示屏、触摸屏等。
存储器173用于存储实现全景拼接的程序数据。具体实现中,本发明实施例的存储器173可以是***存储器,比如非易失性的(诸如ROM,闪存等)。具体实现中,本发明实施例的存储器173还可以是***之外的外部存储器,比如,磁盘、光盘、磁带等。
处理器174用于运行存储器173中存储的程序数据,以执行如下操作:
接收输入的需要拼接的图像;根据所述图像计算特征点并进行特征点匹配;根据所述图像上的特征点计算变换矩阵;利用变换矩阵对所述图像进行变换以得到变换后的图像;对变换后的图像进行投影以完成拼接;对拼接的图像进行融合以得到融合后的全景图像;其中,所述根据所述图像计算特征点并进行特征点匹配可以是通过获取如图16所述的特征提取设备160计算出的关键点以及所述关键点的特征向量来实现的,所述关键点即为特征点,根据所述图像中的特征点以及所述特征点的特征向量进行特征点匹配。可理解地,在其它实施例中,也可将以上特征提取设备160中存储器163所存储的相关程序数据存储到存储器173中,以实现所述根据所述图像计算特征点并根据计算出的特征点进行特征点匹配。
处理器174还执行如下操作:
根据所述图像上的特征点利用最小二乘法计算第一旋转矩阵,所述第一旋转矩阵包括旋转参数;根据所述图像上的特征点计算单应性矩阵,所述单应性矩阵包括旋转参数;利用计算出来的第一旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。
处理器174还执行如下操作:
根据所述图像上的特征点,利用RANSAC算法计算第二旋转矩阵,所述第二旋转矩阵包括旋转参数;根据所述图像上的特征点计算单应性矩阵,所述单应性矩阵包括旋转参数;利用计算出来的第二旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。
处理器174还执行如下操作:
根据所述图像上的特征点利用最小二乘法计算第一旋转矩阵,所述第一旋转矩阵包括旋转参数;根据所述图像上的特征点,利用RANSAC算法和第一旋转矩阵计算第三旋转矩阵,所述第三旋转矩阵包括旋转参数;根据所述图像上的特征点计算单应性矩阵,所述单应性矩阵包括旋转参数;利用计算出来的第三旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。
在所述根据所述图像计算特征点并进行特征点匹配之前,处理器174还执行如下操作:
判断所述图像是否为鱼眼图像;若所述图像为鱼眼图像,对所述鱼眼图像进行畸变校正;所述根据所述图像计算特征点并进行特征点匹配,包括:根据校正后的图像计算特征点并进行特征点匹配。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序数据,所述一个或者一个以上程序数据可被一个或者一个以上的处理器执行,以实现以下步骤:
接收输入的图像;生成所述图像的尺度空间;检测所述图像的尺度空间中的极值点;根据所述极值点计算关键点;计算每个关键点的方向参数;在每个关键点所在的尺度空间上,获取以关键点所在的位置为中心的圆形区域;将所述圆形区域分成N块扇形小区域,其中,N为大于1的自然数;计算每一块扇形小区域中分配到M个方向上的梯度累计值,其中,M为方向参数中的方向个数,为大于1的自然数;根据计算出的N*M个梯度累计值确定所述关键点的特征向量。其中,圆形区域的半径跟输入的图像的分辨率有关,输入的图像的分辨率越高,圆形区域的半径越小;输入的图像的分辨率越低,圆形区域的半径越大。
优选地,N=8,M=8。
在其中一个实施例中,该程序数据被处理器执行时还可以实现以下步骤:
将计算出的N*M梯度累计值进行降序排列;对排列后的梯度累计值进行归一化,以得到所述关键点的特征向量。
本发明还提供另一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序数据,所述一个或者一个以上程序数据可被一个或者一个以上的处理器执行,以实现以下步骤:
接收输入的需要拼接的图像;根据所述图像计算特征点并进行特征点匹配;根据所述图像上的特征点计算变换矩阵;利用变换矩阵对所述图像进行变换以得到变换后的图像;对变换后的图像进行投影以完成拼接;对拼接的图像进行融合以得到融合后的全景图像;其中,所述根据所述图像计算特征点并进行特征点匹配可以是通过获取前述计算机可读存储介质计算出的关键点以及所述关键点的特征向量来实现的,所述关键点即为特征点,根据所述图像中的特征点以及所述特征点的特征向量进行特征点匹配。可理解地,在其它实施例中,也可将前述计算机可读存储介质所存储的相关程序数据存储到该计算机可读存储介质中,以实现所述根据所述图像计算特征点并根据计算出的特征点进行特征点匹配。
在其中一个实施例中,该程序数据被处理器执行时还可以实现以下步骤:
根据所述图像上的特征点利用最小二乘法计算第一旋转矩阵,所述第一旋转矩阵包括旋转参数;根据所述图像上的特征点计算单应性矩阵,所述单应性矩阵包括旋转参数;利用计算出来的第一旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。
在其中一个实施例中,该程序数据被处理器执行时还可以实现以下步骤:
根据所述图像上的特征点,利用RANSAC算法计算第二旋转矩阵,所述第二旋转矩阵包括旋转参数;根据所述图像上的特征点计算单应性矩阵,所述单应性矩阵包括旋转参数;利用计算出来的第二旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。
在其中一个实施例中,该程序数据被处理器执行时还可以实现以下步骤:
根据所述图像上的特征点利用最小二乘法计算第一旋转矩阵,所述第一旋转矩阵包括旋转参数;根据所述图像上的特征点,利用RANSAC算法和第一旋转矩阵计算第三旋转矩阵,所述第三旋转矩阵包括旋转参数;根据所述图像上的特征点计算单应性矩阵,所述单应性矩阵包括旋转参数;利用计算出来的第三旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。
在其中一个实施例中,在所述根据所述图像计算特征点并进行特征点匹配之前,该程序数据被处理器执行时还可以实现以下步骤:
判断所述图像是否为鱼眼图像;若所述图像为鱼眼图像,对所述鱼眼图像进行畸变校正;所述根据所述图像计算特征点并进行特征点匹配,包括:根据校正后的图像计算特征点并进行特征点匹配。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种特征提取方法,其特征在于,所述方法包括:
接收输入的图像;
生成所述图像的尺度空间;
检测所述图像的尺度空间中的极值点;
根据所述极值点计算关键点;
计算每个关键点的方向参数;
在每个关键点所在的尺度空间上,获取以关键点所在的位置为中心的圆形区域;
将所述圆形区域分成N块扇形小区域,其中,N为大于1的自然数;
计算每一块扇形小区域中分配到的M个方向上的梯度累计值,其中,M为方向参数中的方向个数,为大于1的自然数;
根据计算出的N*M个梯度累计值确定所述关键点的特征向量。
2.如权利要求1所述的方法,其特征在于,所述根据计算出的N*M个梯度累计值确定所述关键点的特征向量,包括:
将计算出的N*M个梯度累计值进行降序排列;
对排列后的梯度累计值进行归一化,以得到所述关键点的特征向量。
3.一种全景拼接方法,其特征在于,所述方法包括:
接收输入的需要拼接的图像;
根据所述图像计算特征点并进行特征点匹配;
根据所述图像上的特征点计算变换矩阵;
利用变换矩阵对所述图像进行变换以得到变换后的图像;
对变换后的图像进行投影以完成拼接;
对拼接的图像进行融合以得到融合后的全景图像;
其中,所述根据所述图像计算特征点并进行特征点匹配是根据如权利要求1-2任一项所述的方法计算出关键点以及所述关键点的特征向量,所述关键点即为特征点,根据所述图像中的特征点以及所述特征点的特征向量进行特征点匹配。
4.如权利要求3所述的方法,其特征在于,所述根据所述图像上的特征点计算变换矩阵,包括:
根据所述图像上的特征点利用最小二乘法计算第一旋转矩阵,所述第一旋转矩阵包括旋转参数;
根据所述图像上的特征点计算单应性矩阵,所述单应性矩阵包括旋转参数;
利用计算出来的第一旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。
5.如权利要求3所述的方法,其特征在于,所述根据所述图像上的特征点计算变换矩阵,包括:
根据所述图像上的特征点,利用随机抽样一致性算法计算第二旋转矩阵,所述第二旋转矩阵包括旋转参数;
根据所述图像上的特征点计算单应性矩阵,所述单应性矩阵包括旋转参数;
利用计算出来的第二旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。
6.如权利要求3所述的方法,其特征在于,所述根据所述图像上的特征点计算变换矩阵,包括:
根据所述图像上的特征点利用最小二乘法计算第一旋转矩阵,所述第一旋转矩阵包括旋转参数;
根据所述图像上的特征点,利用随机抽样一致性算法和第一旋转矩阵计算第三旋转矩阵,所述第三旋转矩阵包括旋转参数;
根据所述图像上的特征点计算单应性矩阵,所述单应性矩阵包括旋转参数;
利用计算出来的第三旋转矩阵中的旋转参数替换单应性矩阵中的旋转参数以得到变换矩阵。
7.如权利要求3所述的方法,其特征在于,所述根据所述图像计算特征点并进行特征点匹配之前,所述方法还包括:
判断所述图像是否为鱼眼图像;
若所述图像为鱼眼图像,对所述鱼眼图像进行畸变校正;
所述根据所述图像计算特征点并进行特征点匹配,包括:根据校正后的图像计算特征点并进行特征点匹配。
8.一种装置,其特征在于,所述装置包括用于执行如权利要求1-2任一项所述的特征提取方法的单元或者包括用于执行如权利要求3-7任一项所述的全景拼接方法的单元。
9.一种设备,其特征在于,所述设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储实现特征提取的程序数据;所述处理器用于运行所述存储器中存储的程序数据,以执行如权利要求1-2任一项所述的方法;或者
所述存储器用于存储实现全景拼接的程序数据,所述处理器用于运行所述存储器中存储的程序数据,以执行如权利要求3-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其特征在于,所述计算机可读存储介质存储有一个或者一个以上程序数据,所述一个或者一个以上程序数据可被一个或者一个以上的处理器执行,以实现如权利要求1-2任一项所述的方法或者如权利要求3-7任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710790764.9A CN107665479A (zh) | 2017-09-05 | 2017-09-05 | 一种特征提取方法、全景拼接方法及其装置、设备及计算机可读存储介质 |
PCT/CN2017/102871 WO2019047284A1 (zh) | 2017-09-05 | 2017-09-22 | 特征提取、全景拼接方法及其装置、设备、可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710790764.9A CN107665479A (zh) | 2017-09-05 | 2017-09-05 | 一种特征提取方法、全景拼接方法及其装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107665479A true CN107665479A (zh) | 2018-02-06 |
Family
ID=61098406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710790764.9A Pending CN107665479A (zh) | 2017-09-05 | 2017-09-05 | 一种特征提取方法、全景拼接方法及其装置、设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107665479A (zh) |
WO (1) | WO2019047284A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108305281A (zh) * | 2018-02-09 | 2018-07-20 | 深圳市商汤科技有限公司 | 图像的校准方法、装置、存储介质、程序产品和电子设备 |
CN109102464A (zh) * | 2018-08-14 | 2018-12-28 | 四川易为智行科技有限公司 | 全景图像拼接方法及装置 |
CN109272442A (zh) * | 2018-09-27 | 2019-01-25 | 百度在线网络技术(北京)有限公司 | 全景球面图像的处理方法、装置、设备和存储介质 |
CN109600584A (zh) * | 2018-12-11 | 2019-04-09 | 中联重科股份有限公司 | 观察塔机的方法和装置、塔机及机器可读存储介质 |
CN110223222A (zh) * | 2018-03-02 | 2019-09-10 | 株式会社理光 | 图像拼接方法、图像拼接装置和计算机可读存储介质 |
CN110298817A (zh) * | 2019-05-20 | 2019-10-01 | 平安科技(深圳)有限公司 | 基于图像处理的目标物统计方法、装置、设备及存储介质 |
CN111797860A (zh) * | 2019-04-09 | 2020-10-20 | Oppo广东移动通信有限公司 | 特征提取方法、装置、存储介质及电子设备 |
CN112037130A (zh) * | 2020-08-27 | 2020-12-04 | 江苏提米智能科技有限公司 | 一种自适应图像拼接融合方法、装置、电子设备及存储介质 |
CN112712518A (zh) * | 2021-01-13 | 2021-04-27 | 中国农业大学 | 鱼类计数方法、装置、电子设备及存储介质 |
WO2022267287A1 (zh) * | 2021-06-25 | 2022-12-29 | 浙江商汤科技开发有限公司 | 图像配准方法及相关装置、设备和存储介质 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110111287A (zh) * | 2019-04-04 | 2019-08-09 | 上海工程技术大学 | 一种织物多角度图像融合***及其方法 |
CN110232656B (zh) * | 2019-06-13 | 2023-03-28 | 上海倍肯智能科技有限公司 | 一种解决特征点不足的图像拼接优化方法 |
CN110689485B (zh) * | 2019-10-14 | 2022-11-04 | 中国空气动力研究与发展中心超高速空气动力研究所 | 一种应用于大型压力容器红外无损检测的sift图像拼接方法 |
CN111080525B (zh) * | 2019-12-19 | 2023-04-28 | 成都海擎科技有限公司 | 一种基于sift特征的分布式图像和图元拼接方法 |
CN111223073A (zh) * | 2019-12-24 | 2020-06-02 | 乐软科技(北京)有限责任公司 | 一种虚拟探测*** |
CN111242221B (zh) * | 2020-01-14 | 2023-06-20 | 西交利物浦大学 | 基于图匹配的图像匹配方法、***及存储介质 |
CN111738920B (zh) * | 2020-06-12 | 2023-08-29 | 山东大学 | 一种面向全景拼接加速的fpga芯片及全景图像拼接方法 |
CN111585535B (zh) * | 2020-06-22 | 2022-11-08 | 中国电子科技集团公司第二十八研究所 | 一种反馈式数字自动增益控制电路 |
CN111899158B (zh) * | 2020-07-29 | 2023-08-25 | 北京天睿空间科技股份有限公司 | 考虑几何畸变的图像拼接方法 |
CN112163996B (zh) * | 2020-09-10 | 2023-12-05 | 沈阳风驰软件股份有限公司 | 一种基于图像处理的平角视频融合方法 |
CN112102169A (zh) * | 2020-09-15 | 2020-12-18 | 合肥英睿***技术有限公司 | 一种红外图像拼接方法、装置和存储介质 |
CN112419383B (zh) * | 2020-10-30 | 2023-07-28 | 中山大学 | 一种深度图的生成方法、装置及存储介质 |
CN112465702B (zh) * | 2020-12-01 | 2022-09-13 | 中国电子科技集团公司第二十八研究所 | 一种多路超高清视频同步自适应拼接显示处理方法 |
CN112837223B (zh) * | 2021-01-28 | 2023-08-29 | 杭州国芯科技股份有限公司 | 一种基于重叠子区域的超大图像配准拼接方法 |
CN112785505B (zh) * | 2021-02-23 | 2023-01-31 | 深圳市来科计算机科技有限公司 | 一种昼夜图像拼接方法 |
CN113034362A (zh) * | 2021-03-08 | 2021-06-25 | 桂林电子科技大学 | 一种高速公路隧道监控全景影像拼接方法 |
CN113066012B (zh) * | 2021-04-23 | 2024-04-09 | 深圳壹账通智能科技有限公司 | 场景图像的确认方法、装置、设备及存储介质 |
CN113256492B (zh) * | 2021-05-13 | 2023-09-12 | 上海海事大学 | 一种全景视频拼接方法、电子设备及存储介质 |
CN113538399A (zh) * | 2021-07-28 | 2021-10-22 | 柔胜刚智能科技(苏州)有限公司 | 一种用于获取工件精准轮廓的方法、机床及存储介质 |
CN113724176B (zh) * | 2021-08-23 | 2024-07-16 | 广州市城市规划勘测设计研究院 | 一种多摄像头动作捕捉无缝衔接方法、装置、终端及介质 |
CN114339157B (zh) * | 2021-12-30 | 2023-03-24 | 福州大学 | 一种观察区域可调式多相机实时拼接***及方法 |
CN114627262B (zh) * | 2022-05-11 | 2022-08-05 | 武汉大势智慧科技有限公司 | 基于倾斜网格数据的图像生成方法及*** |
CN115861927A (zh) * | 2022-12-01 | 2023-03-28 | 中国南方电网有限责任公司超高压输电公司大理局 | 电力设备巡检图像的图像识别方法、装置和计算机设备 |
CN116452426B (zh) * | 2023-06-16 | 2023-09-05 | 广汽埃安新能源汽车股份有限公司 | 一种全景图拼接方法及装置 |
CN117011137B (zh) * | 2023-06-28 | 2024-07-02 | 深圳市碧云祥电子有限公司 | 基于rgb相似度特征匹配的图像拼接方法、装置及设备 |
CN117011147B (zh) * | 2023-10-07 | 2024-01-12 | 之江实验室 | 一种红外遥感影像特征检测及拼接方法及装置 |
CN117168344B (zh) * | 2023-11-03 | 2024-01-26 | 杭州鲁尔物联科技有限公司 | 单目全景环视形变监测方法、装置及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354254A (zh) * | 2008-09-08 | 2009-01-28 | 北京航空航天大学 | 一种飞行器航向跟踪方法 |
US20120148164A1 (en) * | 2010-12-08 | 2012-06-14 | Electronics And Telecommunications Research Institute | Image matching devices and image matching methods thereof |
CN105608667A (zh) * | 2014-11-20 | 2016-05-25 | 深圳英飞拓科技股份有限公司 | 一种全景拼接的方法及装置 |
CN106558072A (zh) * | 2016-11-22 | 2017-04-05 | 重庆信科设计有限公司 | 一种基于改进sift特征在遥感图像上配准的方法 |
-
2017
- 2017-09-05 CN CN201710790764.9A patent/CN107665479A/zh active Pending
- 2017-09-22 WO PCT/CN2017/102871 patent/WO2019047284A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354254A (zh) * | 2008-09-08 | 2009-01-28 | 北京航空航天大学 | 一种飞行器航向跟踪方法 |
US20120148164A1 (en) * | 2010-12-08 | 2012-06-14 | Electronics And Telecommunications Research Institute | Image matching devices and image matching methods thereof |
CN105608667A (zh) * | 2014-11-20 | 2016-05-25 | 深圳英飞拓科技股份有限公司 | 一种全景拼接的方法及装置 |
CN106558072A (zh) * | 2016-11-22 | 2017-04-05 | 重庆信科设计有限公司 | 一种基于改进sift特征在遥感图像上配准的方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108305281B (zh) * | 2018-02-09 | 2020-08-11 | 深圳市商汤科技有限公司 | 图像的校准方法、装置、存储介质、程序产品和电子设备 |
CN108305281A (zh) * | 2018-02-09 | 2018-07-20 | 深圳市商汤科技有限公司 | 图像的校准方法、装置、存储介质、程序产品和电子设备 |
CN110223222A (zh) * | 2018-03-02 | 2019-09-10 | 株式会社理光 | 图像拼接方法、图像拼接装置和计算机可读存储介质 |
CN109102464A (zh) * | 2018-08-14 | 2018-12-28 | 四川易为智行科技有限公司 | 全景图像拼接方法及装置 |
CN109272442A (zh) * | 2018-09-27 | 2019-01-25 | 百度在线网络技术(北京)有限公司 | 全景球面图像的处理方法、装置、设备和存储介质 |
CN109600584A (zh) * | 2018-12-11 | 2019-04-09 | 中联重科股份有限公司 | 观察塔机的方法和装置、塔机及机器可读存储介质 |
CN111797860A (zh) * | 2019-04-09 | 2020-10-20 | Oppo广东移动通信有限公司 | 特征提取方法、装置、存储介质及电子设备 |
CN111797860B (zh) * | 2019-04-09 | 2023-09-26 | Oppo广东移动通信有限公司 | 特征提取方法、装置、存储介质及电子设备 |
CN110298817A (zh) * | 2019-05-20 | 2019-10-01 | 平安科技(深圳)有限公司 | 基于图像处理的目标物统计方法、装置、设备及存储介质 |
CN112037130A (zh) * | 2020-08-27 | 2020-12-04 | 江苏提米智能科技有限公司 | 一种自适应图像拼接融合方法、装置、电子设备及存储介质 |
CN112037130B (zh) * | 2020-08-27 | 2024-03-26 | 江苏提米智能科技有限公司 | 一种自适应图像拼接融合方法、装置、电子设备及存储介质 |
CN112712518A (zh) * | 2021-01-13 | 2021-04-27 | 中国农业大学 | 鱼类计数方法、装置、电子设备及存储介质 |
CN112712518B (zh) * | 2021-01-13 | 2024-01-09 | 中国农业大学 | 鱼类计数方法、装置、电子设备及存储介质 |
WO2022267287A1 (zh) * | 2021-06-25 | 2022-12-29 | 浙江商汤科技开发有限公司 | 图像配准方法及相关装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019047284A1 (zh) | 2019-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107665479A (zh) | 一种特征提取方法、全景拼接方法及其装置、设备及计算机可读存储介质 | |
Li et al. | Parallax-tolerant image stitching based on robust elastic warping | |
JP7149692B2 (ja) | 画像処理装置、画像処理方法 | |
CN110211043B (zh) | 一种用于全景图像拼接的基于网格优化的配准方法 | |
Cyganek et al. | An introduction to 3D computer vision techniques and algorithms | |
CN104169965B (zh) | 用于多拍摄装置***中图像变形参数的运行时调整的***、方法和计算机程序产品 | |
Pollefeys | Visual 3D Modeling from Images. | |
WO2015139574A1 (zh) | 一种静态物体重建方法和*** | |
US6476803B1 (en) | Object modeling system and process employing noise elimination and robust surface extraction techniques | |
CN107666606A (zh) | 双目全景图像获取方法及装置 | |
CN107833181A (zh) | 一种基于变焦立体视觉的三维全景图像生成方法及*** | |
CN107079141A (zh) | 用于三维视频的图像拼接 | |
CN107633526A (zh) | 一种图像跟踪点获取方法及设备、存储介质 | |
WO2022222077A1 (zh) | 基于反射分解的室内场景虚拟漫游方法 | |
CN109035334A (zh) | 位姿的确定方法和装置、存储介质及电子装置 | |
CN108470324A (zh) | 一种鲁棒的双目立体图像拼接方法 | |
CN106997579A (zh) | 图像拼接的方法和装置 | |
CN107895377A (zh) | 一种前景目标提取方法、装置、设备及存储介质 | |
CN110288511A (zh) | 基于双相机图像的最小化误差拼接方法、装置、电子设备 | |
CN109978760A (zh) | 一种图像拼接方法及装置 | |
CN109241345A (zh) | 基于人脸识别的视频定位方法和装置 | |
CN110414593A (zh) | 图像处理方法及装置、处理器、电子设备及存储介质 | |
Fan et al. | Wide-angle image rectification: A survey | |
CN109948575A (zh) | 超声图像中眼球区域分割方法 | |
CN108093188A (zh) | 一种基于混合投影变换模型的大视场视频全景图拼接的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180206 |
|
RJ01 | Rejection of invention patent application after publication |