一种基于全景拼接凝视技术的双目视觉立体匹配方法与流程

文档序号:11139227阅读:2156来源:国知局
一种基于全景拼接凝视技术的双目视觉立体匹配方法与制造工艺

本发明涉及一种双目视觉立体匹配方法,尤其是涉及一种基于全景拼接凝视技术的双目视觉立体匹配方法。



背景技术:

在变电站场所,需要安装摄像机对相关区域进行监控。传统摄像机由于拍摄范围有限,只能看到摄像头前方很小一部分的场景,存在监控盲区和监控死角,影响了实际的监控效果。在这种情况下,为了进行更大范围的监控,只能安装多个摄像机,分别对不同的角度和方向进行监控,由于摄像机数量较多,不但增加了成本,而且对于监控观察也会产生不利影响。



技术实现要素:

本发明所要解决的技术问题在于提供一种基于全景凝视技术的双目视觉立体匹配方法,成本低有利监控观察,实现全景监控和定点跟踪的目标,提升用户体验。

解决上述技术问题,本发明采用的技术方案如下:

一种基于全景拼接凝视技术的双目视觉立体匹配方法,其特征是包括以下步骤:

S1,采用全景摄像机进行全景监控,获取180度全景图像;

S2,采用PTZ摄像机对全景图像中需要监控的细节目标进行重点的凝视观察;

S3,采用图像分析融合拼接技术形成全景凝视运动目标定位监测双目视觉立体匹配180度凝视图;

所述的步骤S3包括以下子步骤:

S3-0,采集多路视频图像

S3-1,特征点提取;

S3-2,特征点匹配;

S3-3,采用RanSac+4点法求单应性矩阵H;

S3-4,从H中提取焦距f与相机姿态R;

S3-5,光束法平差优化;

S3-6,将每路图像投影到统一的球面展开图;

S3-7,基于最大流算法的最优拼缝查找;

S3-8,光照补偿参数计算;

S3-9,多频带混合;

S3-10,从源图像到拼接图像映射计算;

S3-11,建立映射表;

S3-12,形成拼接图像;

S3-13,输出全景凝视双目视觉立体匹配图像。

所述的单应性矩阵是指:把源图像平面上的点集位置与目标图像平面上的点相关联。

本发明的算法分为“拼接初始化”与“主拼接”;

主拼接根据一张映射表直接将参与拼接的多路视频图像投影到最终的全景图像上,输出拼接结果后即进行下一帧的全景凝视图像;

拼接初始化的任务就是生成所述的映射表,拼接初始化又进一步划分为“初始化一”与“初始化二”;

“初始化一”根据相机组在当前状态下拍摄的图像,估计得到一组运动参数:包括每个相机的焦距f与相机的姿态矩阵R;

通过f与R,将原始图像投影到统一的球面或柱面上,完成图像从分到合的过程。

从三维点到图像中的二维点,需要经过外参矩阵与内参矩阵的投影,外参矩阵包含相机姿态矩阵R与平移矩阵t,由于假设相机光心重合,所以t默认为0,不予考虑;而内参矩阵中为图像中心点(u0,v0)以及两个方向的等效焦距fu,fv,这里默认f=fu=fv,而u0,v0分别为图像两个方向上分辨率的一半。

所述的全景摄像机为180度多镜头全景摄像机。

本发明采用全景摄像机进行全景监控,获取180度全景图像,采用PTZ摄像机对全景图像中需要监控的细节目标进行重点的凝视观察,采用图像分析技术对全景摄像机获取的180度全景图像解畸变,实现全景正常画面展现和多种分割方式显示,最终展现全景“视频地图”;通过全景摄像机和PTZ摄像机进行联动操作,实现在“视频地图”中手动锁定或预置位自动触发锁定运动目标来触发PTZ摄像机进行自主自动的PTZ跟踪,并自动控制PTZ摄像机的云台进行全方位旋转,针对被锁定的运动目标进行视觉导向的自动跟踪,以确保跟踪目标持续出现在镜头中央,实现全景监控和定点跟踪。

前述的基于全景凝视技术的运动目标定位双目视觉立体匹配方法中,所述的PTZ摄像机的云台控制可以放大或移动监控视野内的图像区域,当转变方向观察另一个图像区域时,不会发出任何噪音,隐秘且不易察觉。

有益效果:与现有技术相比,本发明通过全景摄像机和球机进行联动操作,实现全景监控和定点跟踪的目标,充分发挥了180度多摄像机全景摄像机与PTZ摄像机两类摄像机的优势,同时克服了他们各自的缺陷,满足了变电站场所对大视场监控以及对局部目标进行重点监控的需求,提升了用户体验。

附图说明

图1是本发明的全景凝视双目视觉立体匹配图像方法;

图2是本发明的双目视觉立体联动设备;

图3将每路图像投影到统一的球面展开,重合区域内的最优拼缝结果图;

图4重合区域内的最优拼缝结果图;

图5四个通道图像的最优拼缝查找结果。

具体实施方式

下面结合附图和具体实现过程对本发明作进一步的详细说明。

本发明的基于全景拼接凝视技术的双目视觉立体匹配方法实施例一,包括以下步骤:

S1,采用全景摄像机进行全景监控,获取180度全景图像;

S2,采用PTZ摄像机对全景图像中需要监控的细节目标进行重点的凝视观察;

S3,采用图像分析融合拼接技术形成全景凝视运动目标定位监测双目视觉立体匹配180度凝视图;

步骤S3包括以下子步骤:

S3-0,采集多路视频图像

S3-1,特征点提取;

S3-2,特征点匹配;

S3-3,采用RanSac+4点法求单应性矩阵H;

(单应性矩阵是指:把源图像平面上的点集位置与目标图像平面上的点相关联。)

S3-4,从H中提取焦距f与相机姿态R;

S3-5,光束法平差优化;

S3-6,将每路图像投影到统一的球面展开图;

S3-7,基于最大流算法的最优拼缝查找;

S3-8,光照补偿参数计算;

S3-9,多频带混合;

S3-10,从源图像到拼接图像映射计算;

S3-11,建立映射表;

S3-12,形成拼接图像;

S3-13,输出全景凝视双目视觉立体匹配图像。

将每路图像投影到统一的球面展开图,根据K和R就可以将每个通道的图像投影到一个统一的球面上,投影后再将球面展开为矩形图像所示,原始的矩形图像会产生一些扭曲,投影后的图像区域用白色表示,外侧的黑边为无效的像素。

直接将原始图像中的所有信息都投影到球面上是不恰当的,由于畸变、参数误差等原因,重合区域并非每个像素点都对应得非常准确,即使偏离1个像素,也会导致重合区域变得模糊。

一种解决方案是确定一条拼接缝,拼缝的两侧分别使用不同通道的图像来填充,如图4所示就使用了比较简单的直线拼缝。可以看到,这样的接缝可以避免模糊,但拼缝两侧的纹理并不能很好地“无缝连接”,也就是说拼缝过于明显了。而防止重合区域模糊与防止拼缝过于明显就构成了一个难以解决的两难问题。

基于最大流分析的最优拼缝查找算法,提供了一种解决方案,它在重合区域内寻找一条路径,该路径要求两侧的纹理差异最小。这种方案即使不能保证该拼缝使模型误差最小,也能令当前图像对在视觉上最连续、流畅。图5展示了这一模块的效果

从源图像到拼接图像的映射表计算

由于上述拼缝在处理后仍然具体一定的宽度,所以需要计算构成重合区域的原始图像的权重,进行归一化处理。由于光照补偿模块暂未实现,多频带混合模块在当前应用中只体现为权重的更新。所以,算法流程走下来,就得到了如图5所示的全景拼接图像。

当然,上述处理过程是从一无所知到拼接结束的所有过程,一些初始化在特征情况下只要执行一次,或一段时间执行一次就可以了。

a)在相机内外参数不变的前提下,拼接初始化一,只需要出厂时执行一次即可。若相机硬件无法做到震动无影响,也可以提供另外的标定软件,可不在相机前端集成。

b)最优拼缝查找、光照补偿、多频带混合模块可根据应用场景选择执行频率,一般执行一次可隔一段时间再更新。如果前端计算资源足够,每一帧图像都执行效果最好。

映射表结构体:

在运动参数R,K以及拼缝、混合权重确定之后,可以计算从源图像到全景图像的映射表,其结构体如下:

typedef struct

{

int addr;

int addr_s;

unsigned short a0;

unsigned short a1;

unsigned short a2;

unsigned short a3;

float weight;

}map_info;

映射关系算法:

由于拼缝查找和黑边切割等处理,并非源图像中的每一点都对最终的全景图像有贡献,所以map_info中同时包含addr与addr_s,在投影到球面以及球面展开时,需要使用插值以保证图像的成像质量,一般至少使用4点插值,需要记录4个系数a0~a3,为了避免系数使用浮点型带来不便,系数使用unsigned short型,最后用于归一化的分母与图像混合时的权重放在一起,作为整体的权重weight。在新一帧拼接开始前,目标缓存置0,具体映射关系如下:

p_d_Y[idx_d]+=(cur_map[i].a0*p_s_Y[idx_s]+cur_map[i].a1*

p_s_Y[idx_s+1]+cur_map[i].a2*p_s_Y[idx_s+m_widestep]+

cur_map[i].a3*p_s_Y[idx_s+m_widestep_1])*cur_map[i].weight;

若图像使用YUV格式,由于UV通道数据每2*2个像素使用同一个UV值,可以不使用4点插值,则查找表的结构体可简化为:

typedef struct

{

float weight;

int addr;

int addr_s;

}map_info_UV;

具体映射关系为:

p_d_U[idx_d]+=p_s_U[idx_s]*cur_map_UV[i].weight;

p_d_V[idx_d]+=p_s_V[idx_s]*cur_map_UV[i].weight;

特征点匹配算法:

利用特征向量的欧氏距离作为两幅图像关键点的相似性度量。例如,已知一幅图像上某一特点Xi,另一幅是待匹配图像上的某一特征点为Yj。本文中Xi和Yj表示描述特征点的128维向量。若||Xi-Yj||2小于某一个阈值,就认为两者匹配。该方法必须事先指定一个全局阈值,因此阈值大小的确定会直接影响匹配的结果,使得有时获得的匹配效果并不好。在上述方法的基础上,又有学者提出一种较好的方法:将最小值与次小值进行比较,若小于某一定值就接受。它的算法大致描述如下:

(1)SIFT算法检测两幅待拼接图像1和2,其特征点分别为Xi和Yj

(2)对图1中的每个特征点Xi与图2中的n个特征点分别求欧式距离,按从小到大对距离进行排序,记为d1,d2,…,dn;

(3)设定阈值t,若图1中点Xi与图2中的点Yj的距离最小为d1,次近邻距离为d2,并且d1/d2<t,则接受点Xi与点Yj为匹配点。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1