发明名称 一种多路实时视频拼接处理系统
摘要 一种多路实时视频拼接处理系统属于实时视频图像处理领域,其特征在于在离线阶段求取当前场景下的多路视频图像之间的模型变换参数、颜色亮度伽马校正系数、最佳缝合线以及对应的加权融合矩阵,使得最终融合的全景视频图像在重叠区域平滑过渡;在实时阶段,直接利用离线阶段求解出来的伽马校正系数对图像的亮度值进行调整,在服务器中利用CUDA对多路实时视频流进行多线程并行投影变换计算和加权融合,生成实时全景视频图像。本发明的优点是在实时阶段直接利用离线阶段求得的相应参数,以及通过CUDA并行编程的实现,使得计算速度提高了至少5倍,而且相邻两两图像间的缝合线过渡带比传统方法更加平滑。
申请公布号 CN103856727B 申请公布日期 2017.01.25
申请号 CN201410111457.X 申请日期 2014.03.24
申请人 北京工业大学 发明人 刘李纬;张银钱;肖创柏
分类号 H04N5/262(2006.01)I;G06T7/00(2006.01)I 主分类号 H04N5/262(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 楼艮基
主权项 一种多路实时视频拼接处理系统,其特征在于,是一个带有支持CUDA的NVIDIA显卡的服务器,设有:视频采集单元(U1)、视频流同步单元(U2)、视频初始化逻辑控制单元(U3)、视频初始化配准单元(U4)、视频初始化融合单元(U5)、实时视频拼接单元(U6),其中:视频采集单元(U1),是三路具有相同镜头、焦距的同款摄像机依次从左到右水平排开且固定位置,使采集的多路视频图像在水平方向有30%的重合度,并将原始数据从YUV格式转换为图像处理所需的RGB格式,向所述视频流同步单元(U2)传入三路视频图像:I<sub>1</sub>(x,y)、I<sub>2</sub>(x,y)和I<sub>3</sub>(x,y),其中0≤y≤H‑1,0≤x≤W‑1,H为高度、W为宽度,x、y、H、W均为非负整数;视频流同步单元(U2),设有:大小为5帧连续图像的三个缓冲区队列,依次缓存所述的三路视频图像流I<sub>1</sub>(x,y)、I<sub>2</sub>(x,y)和I<sub>3</sub>(x,y),采用先进先出FIFO的队列置换方式,利用操作系统生产者‑消费者机制对所述三路实时视频流进行同步互斥控制,确保视频流全景图像的正确拼接;视频初始化逻辑控制单元(U3),判断从所述视频流同步单元(U2)传入的三路同步视频图像的实时性:若当前为离线阶段,则将三路图像送到视频初始化配准单元(U4),若当前为实时阶段,则将三路图像送到实时视频拼接单元(U6);视频初始化配准单元(U4),利用SURF算子对当前的三路同步视频图像提取特征点,找到图像之间特征点的对应关系,再利用RANSAC算法求解图像间的空间变换模型,设有:特征点提取子单元(U41)、特征点匹配子单元(U43)和模型变换子单元(U44),其中:特征点提取子单元(U41)以及特征点描述子单元(U42),利用Herbert Bay在“SURF:Speeded Up Robust Features”中提出的SURF算子进行特征点提取和描述,其中:特征点提取子单元(U41),对所述的三路同步视频图像I<sub>1</sub>(x,y)、I<sub>2</sub>(x,y)和I<sub>3</sub>(x,y)利用SURF算法提取特征点:用不同尺寸的盒子滤波模板近似高斯二阶微分,构造尺度空间,并利用积分图像加速所述盒子滤波模板的卷积操作,在所述尺度空间进行非极大值抑制,得到特征点的位置(x,y)和尺度信息s;特征点描述子单元(U42),首先在以特征点为中心,以6s为半径的区域内,分别计算出x方向和y方向的Haar小波响应,其中Haar小波模板的大小为4s;将一个60度的扇形作为滑动窗口,对窗口内的Haar响应值利用高斯权重进行累加;以36度为步长,旋转一圈,当Haar响应累加值最大时,对应的方向即为所求特征点的主方向;以特征点为中心,沿着特征点的主方向,在20s×20s大小区域内,划分4×4个子区域,在每一个子区域中,计算5*5=25次Haar响应值,生成4维的SURF特征描述符v=(∑dx,∑|dx|,∑dy,∑|dy|),其中dx和dy分别为每个像素点经过Haar小波后得到在x方向和y方向的响应值;∑dx和∑dy分别为对子区域内所有像素点在x方向上和y方向上,以特征点为中心进行高斯加权的累加响应值,最终得到16×4=64维的SURF特征点描述符;特征点匹配子单元(U43),对相邻两幅图像[I<sub>1</sub>(x,y),I<sub>2</sub>(x,y)]中检测到的特征点集合P<sub>1</sub>和特征点集合P<sub>2</sub>进行匹配,步骤如下:a.先建立带优先级的KD树索引,b.从特征点集合P<sub>1</sub>中任意选取一点<img file="FDA0001058104330000021.GIF" wi="75" he="62" />在特征点集合P<sub>2</sub>中找出其的最近邻点<img file="FDA0001058104330000022.GIF" wi="57" he="61" />和次近邻点<img file="FDA0001058104330000023.GIF" wi="115" he="63" />其中i∈{1,2,...,N<sub>1</sub>}、j∈{1,2,...,N<sub>2</sub>},N<sub>1</sub>和N<sub>2</sub>分别为特征点集合P<sub>1</sub>和P<sub>2</sub>中特征点的个数,c.计算<img file="FDA0001058104330000024.GIF" wi="51" he="63" />到所述最近邻点<img file="FDA0001058104330000025.GIF" wi="168" he="70" />到所述次邻点<img file="FDA0001058104330000026.GIF" wi="86" he="69" />的距离的比值<img file="FDA0001058104330000027.GIF" wi="454" he="139" />若比值Ratio小于0.8,则判断<img file="FDA0001058104330000028.GIF" wi="51" he="66" />与<img file="FDA0001058104330000029.GIF" wi="56" he="60" />是一对特征匹配点,分别记录其在特征点集合P<sub>1</sub>和特征点集合P<sub>2</sub>中的索引,d.重复步骤b和步骤c,直到遍历完特征点集合P<sub>1</sub>为止;模型变换子单元(U44),利用单应矩阵计算一个三维平面上的点在不同二维图像中的投影位置,通过RANSAC算法精确求出所述单应矩阵的8个参数,使得两组相邻两幅图像[I<sub>1</sub>(x,y),I<sub>2</sub>(x,y)]和[I<sub>2</sub>(x,y),I<sub>3</sub>(x,y)]分别得以配准;视频初始化融合单元(U5),包括颜色亮度校正子单元(U51),最佳缝合线子单元(U52)以及加权融合子单元(U53),以便对重叠区域中图像的颜色亮度和结构差异进行调整,其中:颜色亮度校正子单元(U51),步骤如下:把所述相邻的两幅图像I<sub>1</sub>(x,y)、I<sub>2</sub>(x,y)从RBG颜色空间转换到lαβ颜色空间,分离亮度通道l和颜色通道αβ,对所述相邻两幅图像的重叠区域,求出图像I<sub>1</sub>(x,y)在所述重叠区域部分的归一化亮度通道均值<img file="FDA00010581043300000210.GIF" wi="67" he="79" />以及图像I<sub>2</sub>(x,y)在所述重叠区域部分的归一化亮度均值<img file="FDA00010581043300000211.GIF" wi="82" he="78" />最终对应的伽马校正参数γ<sub>1</sub>∈(0,10)和γ<sub>2</sub>∈(0,10)通过以下最优化方程求解得到:<img file="FDA00010581043300000212.GIF" wi="1085" he="175" />其中σ<sub>N</sub>为图像归一化灰度误差标准差和σ<sub>g</sub>为伽马增益标准差,取值σ<sub>N</sub>=2.0/255,σ<sub>g</sub>=0.5/255,<img file="FDA0001058104330000031.GIF" wi="1374" he="127" />求解得到最终的颜色亮度伽马校正参数γ′<sub>1</sub>和γ'<sub>2</sub>,在对原来的图像I<sub>1</sub>(x,y)、I<sub>2</sub>(x,y)的亮度通道进行伽马变换,得到校正后的图像;最佳缝合线子单元(U52),在所述两幅图像的重叠区域,寻找一条缝合线,使得缝合线的两侧图像之间的颜色和结构差异最小,颜色差异用对应像素值之差进行度量、结构差异用梯度差进行度量,综合颜色和结构差异,用一个二维矩阵表示,从第一行随机选取10个像素点作为缝合线生长起始点,在最后一行选取值最小的那个像素点为缝合线终点;利用人工智能中的启发式A*搜索算法,分别计算出每个生长点对应的一条缝合线的平均累计误差值,选取平均累计误差值最小的线作为最佳缝合线,再在所述最佳缝合线的两侧分别选择一幅图像的重叠部分,进行全景图像的合成,加权融合子单元(U53),传入待合成全景的两幅图像I′<sub>1</sub>(x,y)和I'<sub>2</sub>(x,y),分别建立一个二值图像表示初始化权重矩阵R<sub>1</sub>(x,y)和R<sub>2</sub>(x,y),以所述最佳缝合线为边界,在其两侧,R<sub>1</sub>(x,y)的值分别为1和0,R<sub>2</sub>(x,y)的值分别为0和1,分别对每个初始化权重矩阵用距离变换函数计算出对应初始化权重矩阵中所有非零像素点到与其相邻的最近的零像素点的街区距离,再通过一个设定的平滑过渡带区域大小参数ε∈(0,1]和阈值T=1,得到对应全景图像的所述两个相邻图像的归一化加权融合矩阵α<sub>1</sub>(x,y)和α<sub>2</sub>(x,y);实时视频拼接单元(U6),对传入的两幅相邻的实时视频图像进行以下步骤来求出最终融合的图像:利用所述颜色亮度校正子单元(U51)在离线阶段计算出的最终伽马校正参数γ′<sub>1</sub>和γ'<sub>2</sub>,直接对采集的实时视频图像在亮度通道进行颜色校正;调用预置所述服务器内的基于并行编程模型指令集架构,直接利用离线阶段计算出的单应矩阵,通过实现CUDA的核函数mapFunc&lt;&lt;&lt;grid,block&gt;&gt;&gt;(src,mapMatrix,dst),在图像处理器GPU上实现多线程并发的图像变换计算,对相邻图像进行配准,确定图像的重叠区域;用离线阶段求出的加权融合矩阵α<sub>1</sub>(x,y)和α<sub>2</sub>(x,y)对所述服务器得到的投影变换图像通过CUDA实现进行加权融合,从而得到在缝合线处更为平滑过渡的实时全景视频图像;最后通过cudaMemcpy2D接口的cudaMemcpyDeviceToHost参数,将在GPU中计算得到的全景图像数据返回给CPU,供界面显示。
地址 100124 北京市朝阳区平乐园100号
您可能感兴趣的专利