一种基于CUDA的全景视频监控系统,首先,利用相位相关法估计多个视频图像间的重叠区域,在重叠区域内提取SURF特征点并进行配准,这样做缩短了算法时间,也减少了后续的误匹配;然后,本发明专利技术提出了基于改进的最佳融合线与多分辨率算法相结合的融合算法,消除了边缘跳变和鬼影现象,改善了视频的视觉效果;最后在融合阶段利用了GPU加速,进一步提高了拼接速度。实验结果表明,该方法能够有效的实现3路监控视频的实时拼接,帧率达到20帧,相比于传统CPU版本更能能够满足视频拼接的实时要求。
【技术实现步骤摘要】
本专利技术属于视频图像处理及并行计算领域,涉及一种基于CUDA的全景视频监控 系统。
技术介绍
人类每天都会获取大量信息,其中视觉信息对人类非常重要。图像作为人类获取 视觉信息的重要途径由此显得十分重要。然而随着人们对更广视觉范围的场景信息需求越 来越多,普通的相机或摄像机能够拍摄到的场景的角度和视野范围是非常有限的,很多时 候需要得到更大更完整的视频图像来获取信息。因此,为了获得更宽阔的视角,多摄像头视 频拼接技术是极其必要的。 视频拼接即是从多个视频图像采集设备上同步获得位置及角度不同并有部分重 叠区域的视频图像,通过配准及融合等技术而得到全景视频图像。视频拼接技术的基础是 图像拼接。图像拼接的基本步骤包括:图像采集、图像配准、投影变换、图像融合。其中最算 法最复杂也是计算最耗时的步骤为图像配准和图像融合。 图像配准是图像处理的一个基本问题,用于将不同时间、不同视角、不同传感器及 不同拍摄条件下获取的图像进行匹配,其最终目的是建立两幅图像之间的对应关系,以确 定一幅图像与另一幅图像的几何变换关系式。 Kuglin在1975年提出了相位相关配准法,该方法利用了傅里叶变换的平移性质 对图像进行配准,但该方法只适合于存在纯平移关系的两幅图像之间的像素级别配准由于 傅里叶变换的基本性质,决定了该配准模型也只适合平行视角,在仿射和透视变换模型中, 该方法就不能成功配准。而实际过程中还很难做到相机位置以及其成像平面的绝对平行, 一般成像平面都有一定的夹角,故需要采取新的办法。 2004年,David. Lowe总结了已有基于不变量技术的特征检测算法,正式提出了一 种基于尺度空间的,对图像平移、旋转、缩放、甚至仿射变换保持不变性的图像局部特征,即 SIFT (Scale Invariant Feature Transform)特征检测算法。该算法的基本思想:首先利 用高斯差分金字塔从图像中提取候选极值点,然后使用候选点邻域梯度的主方向作为该点 的方向,最后提取出稳定的特征描述符。2006年,在SIFT算法研究的基础上,Bay等人提出 SURF (SpeededUp Robust Transform)特征检测算法。SURF特征检测算法的主要优点是保 持了 SIFT高鲁棒性的同时,大大降低了特征检测的时间,这对整个视频拼接系统来说是很 重要的。 图像融合技术是将前一步配准好的图像融合成一幅全景图像,在图像的融合中, 由于不同的图像之间存在着曝光差异,使得直接拼接后的图像存在着明显的拼接细缝。因 此,Szeliski提出了用对重叠区域的像素值做加权平均,通过赋予一个权重函数,使得图像 之间的过渡平滑。 通过对像素值进行加权平均处理可以一定程度上解决过渡问题,但是当两幅图像 的曝光差异过大时,可以利用Uyttendaele提出的基于块的曝光调整技术,它可以把图像 分成若干块,将每一块进行曝光校正,然后再把这些校正过的块进行融合。该方法能够较好 的解决因曝光而产生的过度不连续问题,但是若配准的时候存在误匹配的话,即投影矩阵 有误差,则之后的融合将会造成图像的模糊,使得重叠区域产生重影。 针对重叠区域出现的模糊和虚影问题,一个较好的解决办法就是在重叠区域找出 一条周围像素变换最小的缝合线,在这条线的左右两边只选择一幅图像中的像素值进行投 影,而不再将两幅图像进行简单加权融合。Efros利用了动态规划的思想来进行最优路径求 解。目前使用最广泛的一类融合方法就是利用图像不同尺度的多分辨率特性进行融 合。多分辨率融合法最初是由Brown和Burt提出的,其主要思想是利用高斯-拉普拉斯金 字塔分解图像的高频部分和低频部分。不同部分采用不同的融合策略。低频部分采用加权 求和,起到模糊的效果;高频部分则利用最大权值的信息,保留边缘等变化的信息,最后将 两部分组合起来,得到融合效果相对较好的结果。但是对于实时的视频流拼接来说,这个算 法的处理速度尚不能满足实时性要求,而且同样的在配准不好的时候,会存在虚影。 视频拼接由于视频图像本身的像素点较多,处理速度一直是一个难点,算法阶段 的优化很难保证拼接的实时性。所以从编程模型出发,对视频拼接系统利用CUDA对视频图 像融合阶段的算法进行优化加速。CUDA是由英伟达公司提出的一个并行计算架构,它是基 于高速图像处理单元GPU的,在GPU上高速并发执行,极大的提高了程序算法的运行速度。 在CUDA编程环境中,主要包括CPU和GPU两个部分。CPU作为主机,即Host端,GPU作为设 备,即Device端。Host端与Device端有专用的通道进行数据通信,Host端负责对逻辑性事 务进行处理,以及对串行化运算的控制;Device端负责执行大规模的并行化处理任务。将 运行在图像处理单元GPU上的CUDA并行计算函数称为核函数,即kernel函数。
技术实现思路
本文专利技术了一种基于CUDA的全景视频监控系统,在保证拼接效果的前提下,提高 了算法的效率,使得实时监控视频更加流畅。 用三个相同的网络摄像头在同一水平面采集不同角度不同方位的视频图像,同步 抓取各个摄像头的首帧图像,图1从左到右为采集的相邻三路视频帧图像I 1U, y),I2 (X,y) 和l3(x,y)。首先,利用傅里叶变换计算出视频图像之间的平移位置关系(Αχ,Ay),通过 平移参数(A X,Ay)能够近似计算出视频图像之间的重叠区域。 利用SURF算法原理,使用盒子滤波和积分图像为图像构建尺度空间金字塔,通过 改变盒子滤波器的大小,用不同大小的滤波器在原始图像的x、y和xy三个不同方向上做卷 积,即可形成多尺度空间函数D xx,Dyy,Dxy,如图2所示。选择6的倍数作为基本尺度间隔,下 一层的尺度间隔每次都会翻倍。 构建完尺度空间金字塔后,需要对提取局部极值点。利用一个非常逼近det(H)的 表达式A (H)来判断,若△ (H)的值为正,则能够确定该点为局部极值点。得到局部极值点 后,对它们在3 X 3 X 3的领域内进行非最大值抑制,把符合条件的点选为特征点,图3是视 频帧图像I1 (X,y),I2 (X,y)和I3(X,y)在重叠区域内采集到的特征点。 在特征点检测之后,为保证特征点具有旋转和尺度不变性,用Haar小波对特征点 分配主方向。在特征点周围60度的圆形邻域内(灰色区域),计算尺寸为4 〇的Haar小波 响应,其中σ是特征点所在的尺度。然后将响应以dx和dy建立坐标系,将各响应点映射 到该坐标系并进行累加。最后将获得最大响应的方向定义为主方向。 以特征点为中心将坐标轴旋转到主方向,选取边长为20 〇的正方形窗口,将这个 窗口划分成4X4个子窗口。对于边长为5〇的子窗口区域,以采样间隔为〇,分别计算每 个子窗口水平和垂直方向上的小波响应,得到的小波系数记为dx和dy。然后对响应系数求 和得Σ dx和Σ dy,求响应系数绝对值之和得到每个子窗口得到一个4 维向量,特征点描述符由周围所有子窗口的向量构成,因 此特征向量长度为4 X 4 X 4 = 64。由此得到的描述符对旋转、尺度、亮度以及对比对都具有 较好的鲁棒性。 在检测到SURF特征之后由于两幅图像的重叠区域是相似的,寻找SURF特征点的 匹本文档来自技高网...
【技术保护点】
一种基于CUDA的全景视频监控系统,其特征在于:用三个相同的网络摄像头在同一水平面采集不同角度不同方位的视频图像,同步抓取各个摄像头的首帧图像,从左到右为采集相邻三路视频帧图像I1(x,y),I2(x,y)和I3(x,y);首先,利用傅里叶变换计算出视频图像之间的平移位置关系(Δx,Δy),通过平移参数(Δx,Δy)能够近似计算出视频图像之间的重叠区域;利用SURF算法原理,使用盒子滤波和积分图像为图像构建尺度空间金字塔,通过改变盒子滤波器的大小,用不同大小的滤波器在原始图像的x、y和xy三个不同方向上做卷积,即可形成多尺度空间函数Dxx,Dyy,Dxy;选择6的倍数作为基本尺度间隔,下一层的尺度间隔每次都会翻倍;构建完尺度空间金字塔后,需要对提取局部极值点;利用一个非常逼近det(H)的表达式Δ(H)来判断,若Δ(H)的值为正,则能够确定该点为局部极值点;得到局部极值点后,对它们在3×3×3的领域内进行非最大值抑制,把符合条件的点选为特征点;在特征点检测之后,为保证特征点具有旋转和尺度不变性,用Haar小波对特征点分配主方向;在特征点周围60度的圆形邻域内(灰色区域),计算尺寸为4σ的Haar小波响应,其中σ是特征点所在的尺度;然后将响应以dx和dy建立坐标系,将各响应点映射到该坐标系并进行累加;最后将获得最大响应的方向定义为主方向;以特征点为中心将坐标轴旋转到主方向,选取边长为20σ的正方形窗口,将这个窗口划分成4×4个子窗口;对于边长为5σ的子窗口区域,以采样间隔为σ,分别计算每个子窗口水平和垂直方向上的小波响应,得到的小波系数记为dx和dy;然后对响应系数求和得∑dx和∑dy,求响应系数绝对值之和得到∑|dx|和∑|dy|每个子窗口得到一个4维向量(∑dx,∑dy,∑|dx|,∑|dy|),特征点描述符由周围所有子窗口的向量构成,因此特征向量长度为4×4×4=64;由此得到的描述符对旋转、尺度、亮度以及对比对都具有较好的鲁棒性;在检测到SURF特征之后由于两幅图像的重叠区域是相似的,寻找SURF特征点的匹配点时,把搜索区域限制在对应平移位置的一个邻域内;这个邻域可以为半径32的一个圆形区域;只需要在这个圆形区域里寻找匹配的特征点;这样能够减少需要进行比较的特征点数量,提高了算法速度;首先对图像I1(x,y)的样本特征点P1,在I2(x,y)中对应重叠区域半径32的圆域内寻找与它距离最近特征点P12和次近特征点P12′,然后计算这两个特征点与样本点之间欧式距离的比值;对于比值小于阈值N的特征点,则认为是正确匹配的特征点,否则是错误匹配的特征点;同理,对图像I3(x,y)的样本特征点P3,在I2(x,y)中对应重叠区域半径32的圆域内寻找最近邻特征点P32和次近邻特征点P32′,然后计算欧式距离的比值来判断匹配点;通过最近邻匹配,这样就得到相邻两幅图像一系列的匹配点对,但由于算法的局限性,这些特征点得集合中难免有许多误匹配点,同时特征点提取的精度也存在一定的误差,这样就会影响拼接的质量和效率,因此采用RANSAC算法来提纯特征点并且求取变换矩阵;RANSAC算法的基本思想为:对于某个数据集合,首先随机选取两个点确定出一条直线;然后对该直线设定一个容许误差阈值,把处在阈值范围内的点判定为直线的内点集合;不断迭代这一随机采样过程,直至内点的数目最大且不再改变,那么此时确定的内点集合为最大内点集合;视频图像配准完成之后,下一步就是对图像进行融合;采用基于最佳缝合线的多分辨率融合法;首先需要求得视频图像重叠区域的最佳缝合线,求得缝合线后,获得图像的高斯金字塔表示,然后通过高斯金字塔获得图像的拉普拉斯金字塔表示,接着在各层拉普拉斯金字塔上在重叠区域的缝合线周围构建一个过渡融合带,按照加权平均将各层图像融合在一起,之后通过扩展每层金字塔,并累加每层扩展后的图像获得最终的拼接图像;由于拼接算法的耗时,不能满足实时性要求;算法阶段的优化基本已经达到极致,本专利技术从编程模型出发,利用多线程原理和GPU编程模型,对图像融合阶段进行GPU优化,实现了实时全景视频拼接系统,拼接效果完好,画面流畅。...
【技术特征摘要】
【专利技术属性】
技术研发人员:陶荷梦,禹晶,肖创柏,段娟,
申请(专利权)人:北京工业大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。