白海亮,吕朝辉,苏志斌
(中国传媒大学信息工程学院,北京100024)
在进行立体视频采集时,各个视点的摄像机经常会出现局部或者整体的颜色差异。摄像机参数设置、CCD或CMOS感光器件的噪音、相机快门速度和曝光时间抖动也都会导致所得到各个视点视频的颜色产生差异。这些差异可能会影响到观看效果,并导致场景深度信息恢复的错误,从而影响到立体视频的进一步处理。当人们直接观看这样的立体视频或立体图像时,大脑在自动拼接这些图像时就会产生不舒适感。所以,必须对立体视频进行颜色校正。
目前存在大量的颜色校正算法,但大多数是针对单目图像的颜色校正,也存在一些算法可以应用于立体视频图像颜色校正的,文献[1]对这些目前存在的颜色校正算法进行总结和分类,并对各类算法的局限性进行评价。其中文献[2]则使用一个已知形状的颜色立方体,其对设备和环境依赖性过强;文献[3]则根据图像直方图分割结果对图像分割区域;文献[4]利用卡曼滤波器来满足颜色参数从而追踪出主域颜色并进行校正;文献[5]利用SIFT特征点提取算法分别提取各个图像中的SIFT特征点,并用OF-SIFT特征点匹配算法进行配对,并采用Mean-Shift算法进行颜色分割。
综合考虑算法的效率性、结果的准确性和实现的难易以及方法的可操作性和可推广性,本文提出了一种利用SURF算法进行特征点提取,并构建匹配点间映射关系的方法来实现图像颜色校正。
BAY等人提出了SURF(Speeded Up Robust Features)算法[6]。该算法采用了类似SIFT算法的思想,使用快速Hessian矩阵检测出特征点,并通过积分图像减少SURF算法的计算时间,提高算法效率。它的原理主要有以下四个步骤:
Hessian矩阵是SURF算法的核心,通过特定核间的卷积计算二阶偏导数,这样便能计算出H矩阵的三个矩阵元素Lxx、Lxy、Lyy,从而计算出H矩阵:
高斯函数是处理尺度空间的好方法,但是在实际过程中,它需要进行离散化和裁剪(如图1)。利用方框滤波 (boxfilters)近似高斯二阶偏导。方框滤波(boxfilters)可以通过积分图像快速的计算得到,计算量与与模板大小无关,从而提高了算法的计算效率。
图1 方框滤波(boxfilters)对高斯二阶偏导的近似
如上图所示,用的一个9×9的方框滤波(box)模板近似最低尺度σ=1.2的高斯二阶偏导数。Dxx,Dxy,Dyy为方框(box)滤波同图像卷积后的值,用于分别代替Lxx,Lxy,Lyy。为了计算简单高效和平衡在Hessian行列式中的相关权值,直接把应用到矩形区域中的权值设置0.9。这样就得到如下表达式:
按照上式所示的近似Hessian矩阵的计算方法,记录下在σ尺度下的图像中的每一点响应。
要实现特征点的尺度不变性,必须在不同尺度下该特征点的物理位置一样。尺度空间通常由图像金字塔来实现的,通过图像与不同尺度下的高斯函数卷积,并对初始图像做采样处理,得到更高阶的图像金字塔。Lowe提出的SIFT特征就是通过对图像金字塔相邻层求差,从而得到DoG空间,然后在该空间下求局部极值点来定位特征点[7]。SURF使用的方法不同,它通过不同尺度下的滤波模板来对原始图像处理,原始图像保持不变。如图2所示。
图2 尺度空间的构建(左:SIFT右:SURF)
所有小于预设极值的取值都被丢弃,增加极值使检测到的特征点数量减少,最终只有几个特征最强点会被检测出来。检测过程中使用与该尺度层图像解析度相对应大小的滤波器进行检测,以3×3的滤波器为例,该尺度层图像中9个像素点之一,图3检测特征点与自身尺度层中其余8个点和在其之上及之下的两个尺度层9个点进行比较,共26个点,图3中标记‘x’的像素点的特征值若大于周围像素则可确定该点为该区域的特征点。
图像经过特征点检测提取后,每个特征点可以用一个64维的向量表示,对于一幅图像中的每一个特征点,本文采用最大近邻向量匹配方法进行特征点匹配,设S1、S2分别为两幅图像I1、I2通过SURF方法提取的特征点集合。对S1中的每一个特征点p1i计算S2中各个特征点的欧氏距离,得到最小及次小距离值分别为d1、d2,对应S2中的特征点分别为q1i、q2i。若d1≤ad2(a为最小距离与次小距离的比值,本文取a=0.65)则认为p1i与q1i匹配,否则丢弃该点,p1i在S2中无匹配点。
图3 3×3的邻域
本文采用的颜色校正方法一种基于SURF图像特征点匹配提取和构造映射关系的颜色校正方法。其算法要求首先利用SURF特征匹配提取法分别提取待校正视点图像和参考图像间的特征点,并找到其中匹配特征点对。当两幅图像存在颜色差异时,这些匹配点对也会产生相关的颜色差异,从这些点对能够反映出目标图像与源图像的对应颜色关系。最后,利用已经构造好的映射关系,将待校正图像作为输入,输出则是校正后的图像,就完成校正过程。
首先,对所要处理的图像进行颜色转换。一般地,摄像机采集的视频图像可以以多种颜色空间格式进行保存,比较常见的包括RGB空间、YUV空间和 HIS(色调、饱和度、亮度)[8],考虑到后续 SURF特征点提取和映射关系的建立都需要用到灰度图像,而RGB是现有的图像设备最初采集到的颜色信息和最终颜色显示所用的颜色空间,因此直接选择RGB颜色空间进行处理。
然后利用SURF特征提取算法分别对待校正图像和参考图像分别进行特征点提取,并计算匹配点对。SURF特征提取算法有很强的健壮性,对于图像的旋转、平移、亮度变化和一定程序的几何形变和噪声都有一定的稳定性,因此在每幅图像中一般都能提出上千个特征点,经过匹配,一般都能找到数百个匹配点对[9]。
图像的亮度和色度差异可归为两类:乘性差异和加性差异[10];加性差异表示像素亮色度值的线性变换,如灰度级偏移等,主要由相机元件的暗电流产生;乘性差异受相机元件的感光灵敏度、放大和量化因子、以及镜头的透射系数变化所影响;因此可得出立体视频左右视点图像的亮度和颜色对应关系:
式中:f(x,y)为当前图像在位置(x,y)的像素某一颜色分量值,a、b分别为乘性因子和加性因子,Δx、Δy为左右视点对应像素存在位置上的差异,x、y设为左视点图像中对应点的数值。为求a、b值将公式变换为寻求当前图像与待校正的图像的差的平方的最小值,当取得最小值时的a、b值即为模型的参数值。接下来,把所有像素点都通过此公式进行校正,就可以完成图像校正。
直方图是立体视频颜色校正的所有方法中广泛应用并简便易行的一种办法。文献[11]通过计算待校正图像和参考图像的亮度(Y)直方图,利用当前图像和参考图像亮度直方图,寻求校正后的参考图像亮度直方图与当前图像亮度直方图的差值的最小值,当采用全搜索方法取得最小值时,此时的a,b值为最佳匹配值,即线性校正模型的参数值。其色度分量(U、V分量)的校正方法与亮度分量(Y分量)的相同。如此,便可对图像进行校正。
本次实验选择MATLAB作为实现工具,应用上面的两种算法分别进行实验。
应用320 ×240的标准视频“Race1”和“Flamenco2”。“Race1”和“Flamenco2”都由 KDDI公司提供,文件格式都为4:2:0的YUV格式,视点编号都从0开始,不同的是“Race1”有8个视点,“Flamenco2”有5个视点。实验所采用的标准立体视频的各个视点已经存在颜色偏差,不需要对图像进行加扰。在本次实验中,我们在“Racel”中选择视点3作为参考视点,在“Flamenco2”中选择视点2作为参考视点。
当待校正图像与参考图像进行SURF变换后,就可以得到了相应的特征点。寻找匹配点对,并对特征点进行预处理,来排除误匹配,这反映了SURF特征匹配的稳健高效。
对于320 ×240的图像,R,G,B三个通道各找到230,256,256 个匹配点。
这些匹配点具体位置如下图:
其中,(a)、(b)两幅图片为R通道的匹配结果,(c)、(d)两幅图片为G通道的匹配结果,(e)、(f)两幅图片为B通道的匹配结果。可以看出,SURF算法匹配特征点的准确行和高效性。
分别可得到这些匹配点的坐标和各通道颜色值。接下来,利用公式:
即可对图像进行校正,校正结果如下图:
其中,(a)为原始图像(视点0,第100帧),(b)为参考图像(视点3,第100帧),(c)为直方图校正后的图像,(d)为SURF算法校正后的图像,可以看出,SURF校正的结果还是比较明显的。校正前的图像颜色偏亮,对比度较低,而经过校正后,图像的对比度明显增强,亮度也与参考图像渐渐趋近一致。
为了使结果更具说服力,本文又采用了MPEG三维音视频专家组(3DAV)建议的立体视频的Soccer序列,来进一步验证颜色校正算法的性能。本文采用多视点序列中靠近中间视点位置的两路视频,选择其中一路视频序列作为参考视点(左视点),以另外一路编码视频序列(右视点)的颜色信息为基准对参考图像进行颜色校正,以提高编码视频序列的编码性能。
具体校正结果如下图:
其中,图(a)为待校正图像,图(b)为参考图像,图(c)为直方图校正结果,图(d)为基于SURF的校正结果。
从上述实验结果表明,本文提出的基于SURF的颜色校正方法很好地解决了立体图像对间颜色差异的问题,特征点匹配效果明显,而且速度快,校正结果比直方图校正更接近原图像。因此,基于SURF的颜色校正算法可以有效并准确地实现立体视频颜色校正。
[1]Xu W,Mulligan J.Performance Evaluation of Color Correction Approaches for Automatic Multi-view Image and Video Stitching[J].CVPR,10,2010,263–270.
[2]Unal G,Yezzi A,Soatto S,Slabaugh G.A variational approach to problems in calibration of multiple cameras[J].Pattern Analysis and Machine Intelligence,29(8):1322-1338.
[3]Yi Liu,Yongfang Wang,Zhaoyang Zhang.Color Correction Method Based on Histogram Segmentation for Multiview Video[J].Wireless Mobile and Computing(CCWMC)2009:539-542.
[4]Feng Shao,Gangyi Jiang,Mei Yu.Dominant Color Tracking Based ColorCorrection for Multi-view Video Using Kalman Filter[J].Computational Intelligence and Software Engineering(CISE)2009:1-4.
[5]王琦.基于立体视觉的边界提取研究[D].中国科学技术大学,2010,中国博士学位论文全文数据库.
[6]BAY H,TUVTELLARS T,GOOL L Van.SURF:speeded up robust features[C].Proceedings of the European Conference on Computer Vision,2006,404-417.
[7]AYERSB,BOUTELL M.Home interior classification using sift keypoint histograms [J].IEEE,2007,1-6.
[8]刘颐,王永芳,张兆杨.不同颜色空间多视点视频颜色校正的性能分析[J].电视技术,2009(11).
[9]Bay H.SURF:Speeded Up Robust Features[J].Computer Vision and Image Understanding,San Diego:Academic Press Inc Elsevier Science,2008,110(3):346-359.
[10]姜浩,张蕾.一种基于直方图匹配的立体视频颜色校正算法[J].信息通信技术,2009(5).
[11]常志华,王子立.一种基于直方图匹配的颜色校正方法[J].科技资讯,2007(13).