本发明涉及一种基于surf(speededuprobustfeatures)的改进图像拼接方法,属于图像处理技术领域。
背景技术:
随着社会的不断发展,以及人际关系的日益复杂化。对于复杂的环境,通常会在某一位置安装多个网络摄像头,对不同视角范围内的场景进行实时监控。捕获的视野虽然更大了,但是通过多个显示器,或对显示器进行分割显示,各路视频之间还是会出现杂乱无序,没有整体感的情况;并且该方式需要大量的人力资源,而人工监控并无法顾及所有的监控场景,也难以保证监控者长时间集中注意力观察,从而使得场景的状况常常无法被实时、准确地掌握,进而难以有效地减少甚至避免事故的发生。
为此图像拼接成为一个日渐流行的研究领域,通过对一系列空间重叠的图像,构成一个无缝的图像,比单独的图像具有更大的视野,能极大地提高我们对周围环境和事物的辨识、感受及监控能力。现有的图像拼接方法一般采用surf算法结合ransac算法,完成图像的拼接。但是在一些复杂情况下拼接效果很难保证。
技术实现要素:
本发明的目的是为解决更好地进行图像拼接的技术问题。
为达到解决上述问题的目的,本发明所采取的技术方案是提供一种基于surf的改进图像拼接方法,包括以下步骤:
步骤1:对两个摄像头拍摄的视频进行图片抓取;
步骤2:对两幅图片进行预处理;
步骤3:对图像进行特征点的提取、匹配;
步骤4:剔除误匹配的特征点对;
步骤5:计算出匹配后的特征点对的距离;
步骤6:根据最大距离和最小距离进行合适的特征点对的距离限定,剔除距离过大的特征点对;
步骤7:获取剩余的部分特征点对,算出单应性矩阵;
步骤8,通过单应性矩阵将两幅图像变换到同一坐标系中,将两幅图像进行拼接融合。
优选地,所述的步骤2包括对图像进行畸变校正。
优选地,所述的步骤3使用surf算法进行特征点的提取、匹配,步骤3包括:
步骤3-1:构建hessian矩阵生成所有的兴趣点:
对图像中的点像素为l(x,y)的点,在尺度为σ时,计算出hessian矩阵:
其中lxx(x,σ)是高斯滤波二阶导
得到每个像素的hessian矩阵行列式的近似值:
det(h(x,σ))=lxx(x,σ)lyy(x,σ)-(0.9lxy(x,σ))2
判别式的值是hessian矩阵的特征值,可以利用判别式的符号确定是否是极值,若值小于0则可判断(x,y)不是局部极值点,若值大于0则可判断点(x,y)为局部极值点;
步骤3-2:构建尺度空间:从9*9尺寸的盒子滤波器开始,对盒子滤波器的尺寸进行扩展,9*9尺寸的盒子滤波器是σ为1.2时的高斯二阶微分函数经过离散和减裁后的滤波模板;保持图像不变,仅仅改变滤波窗口的大小来获得不同尺度的图像,构成了尺度空间;
步骤3-3:特征点定位:将经过hessian矩阵处理过的每个像素点与其3维领域的26个点进行大小比较,如果它是这26个点中的最大值或者最小值,则定为初步的特征点;
步骤3-4:特征点主方向的确定:统计特征点圆形邻域内的harr小波特征,即在特征点的圆形邻域内,统计60度扇形内所有点的水平、垂直harr小波特征总和,然后扇形以0.2弧度大小的间隔进行旋转并再次统计该区域内harr小波特征值之后,最后将值最大的那个扇形的方向作为该特征点的主方向;
步骤3-5:生成特征描述子:在特征点周围取一个4*4的矩形区域块,每个子区域统计25个像素的水平方向和垂直方向的haar小波特征。该haar小波特征为水平方向值之后、垂直方向值之后、水平方向绝对值之后以及垂直方向绝对值之和4个方向;把这4个值作为每个子块区域的特征向量,所以一共有64维向量作为surf特征的描述子;
步骤3-6:特征点匹配:通过计算两组特征点的欧氏距离;欧氏距离越小,则相似度越高,当欧式距离小于设定阈值时,可以判定为匹配成功。
优选地,所述的步骤4使用ransac算法进行特征点的剔除,步骤4包括:
步骤4-1:从匹配好的特征点对中先随机选择4对,求解变换矩阵m;
步骤4-2:将剩下的特征点对中的其中一幅图像中的每个点,通过矩阵m求得该点变换后在待匹配图像中相应的点,计算该点与原先匹配的位于待匹配图像中的点两者之间的距离,如距离小于事先设定的一个阈值,则该特征点为正确匹配点,将正确的匹配点对保存;
步骤4-3:在经过步骤4-1之后,剩余的匹配点对中重新随机挑选4组特征点对,计算出对应的变换矩阵,重复步骤4-2。重复若干次之后,最终得到正确匹配点。
优选地,所述的步骤5根据所述的步骤4得到的匹配后的特征点对,计算出两幅图像直接相接时,左图像和右图像的特征点对(xn,yn)与(x'n,y'n)(n=1,2,3……n,n为特征点对的个数)之间的距离dn,公式如下:
其中l为截取的图像长度。
优选地,所述的步骤6根据所述的步骤5结果,取出特征点对的最大距离和最小距离,根据最大距离和最小距离选择合适的阈值进行特征点对的筛选,剔除监控视频获取的图片中不属于拍摄场景的内容,如时间水印、摄像机编号水印;余下特征点对的则为实际场景图片中正常匹配的特征点对。
优选地,所述的步骤7算出单应性矩阵是:从正常匹配好的m对特征点对中先取出4对,计算出对应的变换矩阵,将剩下的特征点对中的属于左边图像中的每个点,求得通过矩阵变换后在待匹配图像中相应的点,计算变换后的点与原先匹配的位于右边图像中的点两者之间的距离,如距离小于事先设定的一个阈值,则该特征点为正确匹配点,保存求得的矩阵能得到的正确匹配点个数;对剩余的m-4对特征点对重复进行上述操作,统计出每个变换矩阵对应的正确匹配点个数,正确匹配点个数最多的对应的矩阵则为两幅图像对应的单应性矩阵。
优选地,所述的步骤8根据单应性矩阵将两幅图片变换到同一坐标系中,将两幅图像拼接为一幅图像,并对图像进行平滑处理,消除图像合成时在重叠区域上出现的拼缝。
相比现有技术,本发明具有如下有益效果:
本发明在特征点匹配完成后,通过加入对特征点对距离的限定,有效的解决了拼接过程中遇到图片中含有除监控场景以外的内容如何处理的问题,提高了视频图像拼接的准确性,在某些应用场景下可以保证更好的拼接效果。
附图说明
图1是本发明的流程图;
具体实施方式
为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下:
如图1所示,本发明提供了一种基于surf的改进图像拼接方法。
图1展示的是本发明的一种基于surf的改进图像拼接方法的流程示意图,结合图1,本发明包括以下步骤:
步骤1:从两个监控视频中,在同一时刻抓取将抓取的两幅图片。
步骤2:对步骤1采集到的两幅图像进行预处理,包括:对图像进行畸变校正。
步骤3:对步骤2与处理过的图像进行特征点的提取、匹配,具体包括:
步骤3-1:构建hessian矩阵生成所有的兴趣点:对图像中的点像素为l(x,y)的点,在尺度为σ时,计算出hessian矩阵:
其中lxx(x,σ)是高斯滤波二阶导
每个像素的hessian矩阵行列式的近似值为:
det(h(x,σ))=lxx(x,σ)lyy(x,σ)-(0.9lxy(x,σ))2
判别式的值是hessian矩阵的特征值,若值小于0则可判断(x,y)不是局部极值点,若值大于0则可判断点(x,y)为局部极值点。
步骤3-2:构建尺度空间:先从9*9尺寸的盒子滤波器开始,对盒子滤波器的尺寸进行扩展,9*9尺寸的盒子滤波器是σ为1.2时的高斯二阶微分函数经过离散和减裁后的滤波模板。保持图像不变,仅仅改变高斯滤波窗口的大小来获得不同尺度的图像,即构成了尺度空间;
步骤3-3:特征点定位:将经过hessian矩阵处理过的每个像素点与其3维领域的26个点进行大小比较,如果它是这26个点中的最大值或者最小值,则保留下来,定为初步的特征点;
步骤3-4:特征点主方向的确定:在特征点的圆形邻域内,统计60度扇形内所有点的水平、垂直harr小波特征总和,然后扇形以0.2弧度大小的间隔进行旋转并再次统计该区域内harr小波特征值之后,最后将值最大的那个扇形的方向作为该特征点的主方向。
步骤3-5:生成特征描述子:在特征点周围取一个4*4的矩形区域块,每个子区域统计25个像素的水平方向和垂直方向的haar小波特征。该haar小波特征为水平方向值之后、垂直方向值之后、水平方向绝对值之后以及垂直方向绝对值之和4个方向。把这4个值作为每个子块区域的特征向量,所以一共有64维向量作为surf特征的描述子。
步骤3-6:特征点匹配:通过计算两组特征点的欧氏距离。欧氏距离越小,则相似度越高,当欧式距离小于设定阈值时,可以判定为匹配成功。
步骤4:使用ransac算法进行特征点的剔除,具体步骤包括:
步骤4-1:从匹配好的特征点对中先随机选择4对,求解变换矩阵m;
步骤4-2:将剩下的特征点对中的其中一幅图像中的每个点,通过矩阵m求得该点变换后在待匹配图像中相应的点,计算该点与原先匹配的位于待匹配图像中的点两者之间的距离,如距离小于事先设定的一个阈值,则该特征点为正确匹配点,将正确的匹配点对保存。
步骤4-3:在经过步骤4-1之后,剩余的匹配点对中重新随机挑选4组特征点对,计算出对应的变换矩阵,重复步骤4-2。重复若干次之后,最终得到正确匹配点。
步骤5:根据步骤4得到的匹配后的特征点对,计算出两幅图像直接相接时,分别位于左图像和右图像的特征点对(xn,yn)与(x'n,y'n)(n=1,2,3……n,n为特征点对的个数)之间的距离dn,公式如下:
其中l为图像长度。
步骤6:根据步骤5结果,取出特征点对的最大距离和最小距离,根据最大距离和最小距离选择合适的阈值进行特征点对的筛选,剔除监控视频获取的图片中不属于拍摄场景的内容,如时间水印、摄像机编号水印。余下特征点对的则为实际场景图片中正常匹配的特征点对。
步骤7:从正常匹配好的m对特征点对中先取出4对,计算出对应的变换矩阵,将剩下的特征点对中的属于左边图像中的每个点,求得通过矩阵变换后在待匹配图像中相应的点,计算变换后的点与原先匹配的位于右边图像中的点两者之间的距离,如距离小于事先设定的一个阈值,则该特征点为正确匹配点,保存求得的矩阵能得到的正确匹配点个数。对剩余的m-4对特征点对重复进行上述操作,统计出每个变换矩阵对应的正确匹配点个数,正确匹配点个数最多的对应的矩阵则为两幅图像对应的单应性矩阵。
步骤8:根据步骤7得出的单应性矩阵将两幅图片变换到同一坐标系中,将两幅图像拼接为一幅图像,并对图像进行平滑处理,消除图像合成时在重叠区域上出现的拼缝。
以上所述,仅为本发明的较佳实施例,并非对本发明任何形式上和实质上的限制,应当指出,对于本技术领域的普通技术人员,在不脱离本发明的前提下,还将可以做出若干改进和补充,这些改进和补充也应视为本发明的保护范围。凡熟悉本专业的技术人员,在不脱离本发明的精神和范围的情况下,当可利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对上述实施例所作的任何等同变化的更动、修饰与演变,均仍属于本发明的技术方案的范围内。
1.一种基于surf的改进图像拼接方法,其特征在于,包括以下步骤:
步骤1:对两个摄像头拍摄的视频进行图片抓取;
步骤2:对两幅图片进行预处理;
步骤3:对图像进行特征点的提取、匹配;
步骤4:剔除误匹配的特征点对;
步骤5:计算出匹配后的特征点对的距离;
步骤6:根据最大距离和最小距离进行合适的特征点对的距离限定,剔除距离过大的特征点对;
步骤7:获取剩余的部分特征点对,算出单应性矩阵;
步骤8:通过单应性矩阵将两幅图像变换到同一坐标系中,将两幅图像进行拼接融合。
2.如权利要求1所述的一种基于surf的改进图像拼接方法,其特征在于,所述的步骤2包括对图像进行畸变校正。
3.如权利要求1所述的一种基于surf的改进图像拼接方法,其特征在于,所述的步骤3使用surf算法进行特征点的提取、匹配,所述的步骤3包括:
步骤3-1:构建hessian矩阵生成所有的兴趣点:
对图像中的点像素为l(x,y)的点,在尺度为σ时,计算出hessian矩阵:
其中lxx(x,σ)是高斯滤波二阶导
得到每个像素的hessian矩阵行列式的近似值:
det(h(x,σ))=lxx(x,σ)lyy(x,σ)-(0.9lxy(x,σ))2;
判别式的值是hessian矩阵的特征值,可以利用判别式的符号确定是否是极值,若值小于0则可判断(x,y)不是局部极值点,若值大于0则可判断点(x,y)为局部极值点;
步骤3-2:构建尺度空间:从9*9尺寸的盒子滤波器开始,对盒子滤波器的尺寸进行扩展,9*9尺寸的盒子滤波器是σ为1.2时的高斯二阶微分函数经过离散和减裁后的滤波模板;保持图像不变,仅仅改变滤波窗口的大小来获得不同尺度的图像,构成了尺度空间;
步骤3-3:特征点定位:将经过hessian矩阵处理过的每个像素点与其3维领域的26个点进行大小比较,如果它是这26个点中的最大值或者最小值,则定为初步的特征点;
步骤3-4:特征点主方向的确定:统计特征点圆形邻域内的harr小波特征,即在特征点的圆形邻域内,统计60度扇形内所有点的水平、垂直harr小波特征总和,然后扇形以0.2弧度大小的间隔进行旋转并再次统计该区域内harr小波特征值之后,最后将值最大的那个扇形的方向作为该特征点的主方向;
步骤3-5:生成特征描述子:在特征点周围取一个4*4的矩形区域块,每个子区域统计25个像素的水平方向和垂直方向的haar小波特征。该haar小波特征为水平方向值之后、垂直方向值之后、水平方向绝对值之后以及垂直方向绝对值之和4个方向;把这4个值作为每个子块区域的特征向量,所以一共有64维向量作为surf特征的描述子;
步骤3-6:特征点匹配:通过计算两组特征点的欧氏距离;欧氏距离越小,则相似度越高,当欧式距离小于设定阈值时,可以判定为匹配成功。
4.如权利要求1所述的一种基于surf的改进图像拼接方法,其特征在于,所述的步骤4使用ransac算法进行特征点的剔除,所述的步骤4包括:
步骤4-1:从匹配好的特征点对中先随机选择4对,求解变换矩阵m;
步骤4-2:将剩下的特征点对中的其中一幅图像中的每个点,通过矩阵m求得该点变换后在待匹配图像中相应的点,计算该点与原先匹配的位于待匹配图像中的点两者之间的距离,如距离小于事先设定的一个阈值,则该特征点为正确匹配点,将正确的匹配点对保存;
步骤4-3:在经过步骤4-1之后,剩余的匹配点对中重新随机挑选4组特征点对,计算出对应的变换矩阵,重复步骤4-2。重复若干次之后,最终得到正确匹配点。
5.如权利要求1所述的一种基于surf的改进图像拼接方法,其特征在于,所述的步骤5根据所述的步骤4得到的匹配后的特征点对,计算出两幅图像直接相接时,左图像和右图像的特征点对(xn,yn)与(x'n,y'n)(n=1,2,3……n,n为特征点对的个数)之间的距离dn,公式如下:
其中l为截取的图像长度。
6.如权利要求1所述的一种基于surf的改进图像拼接方法,其特征在于,所述的步骤6根据所述的步骤5结果,取出特征点对的最大距离和最小距离,根据最大距离和最小距离选择合适的阈值进行特征点对的筛选,剔除监控视频获取的图片中不属于拍摄场景的内容,如时间水印、摄像机编号水印;余下特征点对的则为实际场景图片中正常匹配的特征点对。
7.如权利要求1所述的一种基于surf的改进图像拼接方法,其特征在于,所述的步骤7算出单应性矩阵是:从正常匹配好的m对特征点对中先取出4对,计算出对应的变换矩阵,将剩下的特征点对中的属于左边图像中的每个点,求得通过矩阵变换后在待匹配图像中相应的点,计算变换后的点与原先匹配的位于右边图像中的点两者之间的距离,如距离小于事先设定的一个阈值,则该特征点为正确匹配点,保存求得的矩阵能得到的正确匹配点个数;对剩余的m-4对特征点对重复进行上述操作,统计出每个变换矩阵对应的正确匹配点个数,正确匹配点个数最多的对应的矩阵则为两幅图像对应的单应性矩阵。
8.如权利要求1所述的一种改进的图像拼接方法,其特征在于,所述的步骤8根据单应性矩阵将两幅图片变换到同一坐标系中,将两幅图像拼接为一幅图像,并对图像进行平滑处理,消除图像合成时在重叠区域上出现的拼缝。
技术总结