一种复杂场景视频阴影检测与消除方法与流程

文档序号:18903353发布日期:2019-10-18 22:17阅读:334来源:国知局
一种复杂场景视频阴影检测与消除方法与流程

本发明属视频处理技术领域,尤其涉及一种复杂场景视频阴影检测与消除方法。



背景技术:

阴影是我们日常生活中常见的自然现象,它们可以为视觉场景的理解提供重要信息,例如光照环境、场景几何等信息。这些信息对于光照分析、重光照、增强现实等应用有着重要的作用。因此,有效地检测并消除阴影在计算机视觉领域是一个重要课题。然而,自动检测并消除阴影是一项非常困难的任务,它不仅受局部纹理材质信息的影响,还需要考虑场景中的全局结构信息及光照环境信息。现有的大多数阴影检测与消除算法都是基于局部色度信息和梯度信息等进行阴影的检测与分类,没有考虑到全局结构信息,因此这类算法通常无法有效处理复杂阴影以及复杂场景中的阴影。

复杂场景中的阴影处理工作是指在复杂环境中,利用全局信息以及局部信息自动地检测并消除阴影,同时,阴影消除结果应当保留场景中的明暗渐变信息,防止视觉失真。造成复杂场景阴影消除比较困难的原因主要有两个方面,首先复杂场景中的材质纹理信息较为丰富,阴影分布也比较杂乱不集中,为检测工作增加了难度,即使借助人工交互先验知识,复杂的阴影场景会增加标注负担,且难以进行高效的批处理;其次,复杂场景阴影图像由于标注困难,缺少对应的数据集,难以利用深度学习的方法消除大场景中的阴影。针对这样的问题,本算法提出一个基于图像深度信息的复杂场景阴影自动检测与消除算法,该算法不需要人工交互与采集图像的深度信息,利用现有的图像深度估计算法估测出的图像深度信息,即可检测并消除复杂场景中的阴影。



技术实现要素:

本发明针对现有技术的不足,提供一种基于深度信息的复杂场景视频阴影检测与消除方法。

本发明的技术方案为一种复杂场景视频阴影检测消除方法,包含以下步骤:

步骤1,对于输入视频流v,获取其深度信息;

步骤2,对每一帧输入视频帧i,利用纹理滤波算子进行滤波处理,减少纹理影响的同时保留视频帧中的阴影信息;

步骤3,对每个滤波后的视频帧ti,选取其相邻的相关视频流,找出视频帧中每个像素点的初始阴影置信度和亮度置信度,并对每一帧的阴影置信度进行优化,得到最终的视频阴影检测结果;

步骤4,利用阴影置信度和亮度置信度的全变差和固有变差,进一步计算出阴影边界置信度;

步骤5,得到每一帧的阴影检测结果后,利用阴影图像模型β=i/f将当前帧图像i分解为无阴影的图像f和阴影因子β,并构造去阴影优化方程对每一帧进行约束和优化;

步骤6,对去阴影优化方程进行迭代优化求解,得到最终的视频阴影消除结果f和阴影因子β。

进一步的,步骤3的具体实现包含以下子步骤:

步骤3.1,利用每一视频帧的深度信息,结合相机参数进行点云估计,得到各像素点的点云的信息后,利用点云信息构建k-d树,对每个像素的点云找到其最相似的若干个点云,再利用这些相似点云计算该像素点所在空间切面的法线信息;

步骤3.2,对于每一个滤波后的视频帧ti,利用高斯相似度计算其中每个像素点p与其空间邻域内的点q∈rp的色度相似度,空间距离相似度和法线相似度,再将三种相似度相乘得到最终的特征相似度αpq;其中,rp为像素点p的空间邻域;

步骤3.3,利用像素点间的相似度,比较每个像素点p与其空间邻域内所有邻居像素点q∈rp的图像强度加权平均值,估算出每个像素点的阴影置信度和亮度置信度

其中,p点所在邻域的强度加权平均值ip和iq分别表示像素p和q的强度,σ为可调参数,|rp|表示邻域范围rp中的像素点个数;

步骤3.4,在每个视频帧中,利用拉普拉斯算子,结合步骤3.3中计算的初始阴影置信度和亮度置信度的结果,构造优化方程,得到最终的阴影检测结果s:

其中,前两项为数据约束项,第三项为平滑项;pk表示第k个像素点,n为图像中像素点个数,sk为第k个像素点的阴影置信度优化结果,ωk为第k个像素点所在的局部窗口,si和sj为窗口ωk内的两个像素点i和j对应的阴影置信度优化结果,用于平滑窗口内的像素点,wij是邻域内i和j点的mattinglaplacian值。

进一步的,步骤3中计算阴影边界置信度的公式为,

其中,分别为p点置信度图的全变差和固有变差,∈为常数;

其中,r(p)是以p为中心点的矩形邻域,表示由高斯滤波定义的权函数,分别为q点阴影置信度和亮度置信度,是偏导符号,表示对阴影置信度或亮度置信度进行x或y方向上的偏导。

进一步的,步骤5中所述去阴影优化方程为,

e(f,β)=edata(f,β)+λ1esmooth(f,β)+λ2echromaticity(β)+λ3econst(β)

其中,数据项edata=ωiw∑c∈{r,g,b}ωc·|ic-fc·βc|2,用于约束当前帧的各个数据项,利用阴影模型对不同色彩通道下的数据ic,fc,βc进行约束,其中,{ωr,ωg,ωb}为rgb各色彩通道约束权重;像素强度权重ωiw=1-ωintensity·(1-|i(x)|),其中,ωintensity为可调参数,i(x)为像素点x的像素强度;

平滑项esmooth=esf+γesm,其中γ为平衡因子,esf基于如下假设对去阴影后的图像f进行平滑约束:同一空间平面上,具有相似色度信息、法线信息和三维点云位置信息的像素点在阴影消除后应该具有相似的像素值(颜色值),

其中,第一项为当前帧相邻像素点间的平滑约束,第二项利用视频流中特征相似的非阴影像素点对阴影像素进行约束,rs为当前帧中阴影检测得到的阴影像素点,表示时空局部邻域内第t帧中所有非阴影像素点的点集,t为当前视频流中的总帧数;

esm利用估计出的阴影边界置信度cbound对阴影因子β进行平滑约束:

echromaticity(f)=||c(p)-cf(p)||2利用假设图像的色度不受光照变化的影响对原视频帧和阴影消除后的视频帧进行色度一致约束,c为当前帧i的色度,cf为阴影消除结果f的色度;

利用假设阴影消除后的图像非阴影区域像素点颜色应保持不变,即阴影因子趋近于1,对非阴影区域nb进行约束,非阴影像素区域为所有阴影点及其邻居像素点以外的像素点集合,阴影像素点为置信度大于0.1的点。

进一步的,步骤6中采用迭代优化的方法进行求解,令f的初始值为i,β的初始值为阴影置信度s,通过迭代优化计算最终的结果,最大迭代次数为1000。

进一步的,步骤1中,对于现场拍摄的视频,利用kinectv2实时采集视频的深度信息;对于既有的视频,利用深度学习的方法估计出视频每一帧的深度信息。

本发明有如下优点:1.本发明在估计视频帧阴影时对每一帧进行了纹理滤波预处理,可有效减少纹理信息对阴影检测的干扰;2.本发明利用拉普拉斯算子对初始阴影置信度进行优化,得到更完善的阴影检测结果的同时,保留了阴影信息的相对强度及阴影边界梯度信息,有助于复杂阴影及阴影边界的消除;3.本发明的阴影消除优化算法,利用阴影消除前后图像的色度信息保持不变的原理,对色度信息进行约束,保证了结果色度不变性;4,本发明阴影消除算法充分利用了前后帧的相关性,消除阴影的同时可有效保证结果的帧间连续性。

附图说明

图1是本发明的视频阴影消除流程图。

图2是本发明视频阴影检测的流程图。

图3是本发明处理视频实例的效果图。其中(a)为输入视频流,(b)为视频流对应的深度信息,(c)为视频流的阴影置信度估计结果,(d)为视频流的优化后的阴影检测结果(置信度),(e)为去阴影后的视频流结果。

具体实施方式

下面结合实施例子及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

参照图1,本发明的流程图,一种视频阴影消除方法,包括下述步骤:

步骤1,对于输入视频流v,需先获取其深度信息:对于现场拍摄的视频,利用kinectv2实时采集视频的深度信息;对于既有的视频,利用深度学习的方法估计出视频每一帧的深度信息。如图3(a)、(b)所示,分别为实例中的输入视频帧和对应的深度图。

步骤2,利用纹理滤波算子,对视频中的每一帧i进行滤波处理,减少小尺度纹理对阴影检测带来的影响,同时保留原有的阴影信息。

步骤3,对每个滤波后的视频帧ti,选取其对应的相关视频流{ti-2,ti-1,ti,ti+1,ti+2},找出视频帧中每个像素点的初始阴影置信度和亮度置信度,并对每一帧的阴影置信度进行优化,得到最终的视频阴影检测结果。所述的步骤3中包含以下步骤:

步骤3.1,利用了每一视频帧的深度信息,结合相机参数进行点云估计;得到各像素点的点云的信息后,利用点云信息构建k-d树,对每个像素的点云找到其最相似的300个点云,再利用这些相似点云计算该像素点所在空间切面的法线信息。

步骤3.2,如图2阴影检测流程图所示,对于每一个滤波后的视频帧ti,在其相关视频流中找出每个像素点p对应的时空局部邻域像素点q∈rp,并计算出像素点p和所有邻居点q的色度相似度,空间距离相似度和法线相似度,再将三种相似度相乘得到最终的特征相似度αpq。其中,rp为像素点p的时空邻域,通常为50×50×5的时空像素块。

步骤3.3,利用像素点间的相似度,比较每个像素点p与其空间邻域内所有邻居像素点q∈rp的图像强度加权平均值m(p),估算出每个像素点的阴影置信度和亮度置信度

如图3(c)为实例中每一帧对应的初始阴影置信度估计结果。

步骤3.4,利用优化方程得到最终的阴影置信度s的优化结果。其中,前两项为数据约束项,第三项为平滑项;pk表示第k个像素点,n为图像中像素点个数,sk为第k个像素点的阴影置信度优化结果,ωk为第k个像素点所在的局部窗口,si和sj为窗口ωk内的两个像素点i和j对应的阴影置信度优化结果,用于平滑窗口内的像素点,wij是邻域内i和j点的mattinglaplacian值。在每个视频帧中,利用拉普拉斯算子,结合步骤3.3中计算的初始阴影置信度和亮度置信度的结果,对阴影检测结果进行约束,并利用拉普拉斯抠图算子(mattinglaplacian)进行梯度相关的平滑,得到优化的阴影检测结果。实例结果如图3(d)所示,为最终的阴影置信度优化结果。

步骤4,利用阴影置信度和亮度置信度的全变差和固有变差进一步计算出阴影边界置信度:

其中,分别为全变差和固有变差,∈在实验中通常设为0.001,为了防止分母为0的情况:

其中,r(p)是以p为中心点的7×7矩形邻域,表示由高斯滤波定义的权函数,分别为q点阴影置信度和亮度置信度,表示对阴影置信度或亮度置信度进行x或方向上的偏导,全变差d通过对偏导结果取绝对值后再进行高斯滤波得到,固有变差通过对偏导结果进行高斯滤波后取绝对值得到。

步骤5,得到每一帧的阴影检测结果后,利用阴影图像模型β=i/f将当前帧图像i分解为无阴影的图像f和阴影因子β,两者皆为未知量。本发明构造如下优化方程,基于视频流对每一帧进行约束和优化,得到最终的视频阴影消除结果f和阴影因子β。

e(f,β)=edata(f,β)+λ1esmooth(f,β)+λ2echromaticity(β)+λ3econst(β)

在实验操作中,我们通常将参数λ1,λ2和λ3分别设置为1,0.5和1。

数据项edata=ωiw∑c∈{r,g,b}ωc·|ic-fc·βc|2,用于约束当前帧的各个数据项,利用阴影模型对不同色彩通道下的数据ic,fc,βc进行约束。其中,ωc为rgb三个色彩通道约束权重,各个通道的权值分别为{ωr,ωg,ωb}={0.299,0.587,0.144}。ωiw为像素强度相关的权重,ωiw=1-ωintensity·(1-|i(x)|),其中,ωintensity为可调参数,i(x)为像素点x的像素强度。

平滑项esmooth=esf+γesm,其中γ为平衡因子,实验操作中通常设为1。基于假设:同一空间平面上,具有相似色度信息、法线信息和三维点云位置信息的像素点在阴影消除后应该具有相似的像素值(颜色值)。对去阴影后的图像f进行平滑约束:

其中,第一项为当前帧相邻像素点间的平滑约束,第二项利用视频流中特征相似的非阴影像素点对阴影像素进行约束,rs为当前帧中阴影检测得到的阴影像素点,表示时空局部邻域内第t帧中所有非阴影像素点的点集,t为当前视频流中的总帧数。

利用估计出的阴影边界置信度cbound对阴影因子β进行平滑约束。

echromaticity(f)=||c(p)-cf(p)||2利用假设图像的色度不受光照变化的影响对原视频帧和阴影消除后的视频帧进行色度一致约束,c为当前帧i的色度,cf为阴影消除结果f的色度。

利用假设阴影消除后的图像非阴影区域像素点颜色应保持不变,即阴影因子趋近于1,对非阴影区域nb进行约束,阴影像素点为置信度大于0.1的点,非阴影像素区域为所有阴影点及其邻居像素点以外的像素点集合。

步骤6,由于该方程包含无阴影的图像f和阴影因子β两个未知量,本算法采用迭代优化的方法进行求解,令f的初始值为i,β的初始值为阴影置信度s,通过迭代优化计算最终的结果,最大迭代次数为1000。如图3(e)所示,为实例的阴影消除结果。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

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