复杂气象条件下的机器人视觉
田建东1,2, 刘连庆1,2
1.中国科学院沈阳自动化研究所 机器人学国家重点实验室 沈阳 110016
2.中国科学院机器人与智能制造创新研究院 沈阳 110016

作者简介:

田建东,博士,研究员,主要研究方向为机器人视觉.E-mail:tianjd@sia.cn.

刘连庆,博士,研究员,主要研究方向为机器人感知.E-mail:lqliu@sia.cn.

摘要

文中系统地总结了近年来团队提出的雨雪及散射的建模与去除算法,包括基于近场光照散射成像模型的深度估计和散射去除算法、基于远场平行光照散射成像模型和区域优化的远场图像去雾算法及基于低秩分解的雪花去除算法和基于矩阵分解的雨雪去除算法.

关键词: 机器人视觉; 雨雪去除; 去雾; 散射去除
中图分类号:TP 391.41
Robot Vision under Complex Weather Conditions
TIAN Jiandong1,2, LIU Lianqing1,2
1.State Key Laboratory of Robotics, Shenyang Institute of Automation, Chinese Academy of Sciences, Shenyang 110016
2.Institutes for Robotics and Intelligent Manufacturing, Chinese Academy of Sciences, Shenyang 110016

About the Author:TIAN Jiandong, Ph.D., professor. His research interests include robot vision.

LIU Lianqing, Ph.D., professor. His research interests include robot perception.

Abstract

This paper systematically introduces the research achievements of modeling and removal algorithms for rain, snow and fog in recent years from authors' team. It includes a depth estimation and scattering removal algorithm based on near-filed illumination, a fog removal algorithm based on far parallel illumination and region optimization, and a snowflake removal algorithm based on low-rank decomposition as well as a raindrop & snowflake removal algorithm based on matrix decomposition.

Key words: Key Words Robot Vision; Rain and Snow Removal; Fog Removal; Scattering Removal

与人共融的新一代机器人需要工作在动态、非结构化的环境中, 此时机器人自主行为能力低下.因此, 提高机器人对环境及人的感知能力, 对于发展新一代与人共融机器人的行为能力和安全性具有重要作用.研究表明, 人类有超过70%的信息依靠视觉进行感知.与之相似, 智能机器人视觉系统同样至关重要, 基本成为机器人的标配.它是机器人理解环境、执行任务的基础, 也是实现机器人智能的重要入口.

机器人视觉广泛应用于海陆空等各种机器人.视觉系统通常以相机为工具, 以图像为媒介, 同时兼备图像输入和处理的功能, 提取有用的信息提供给机器人, 使其可以实现定位导航、路径规划、避障、理解环境、检测目标等功能, 进而具有自主适应环境和作业的能力.

图像是由相机在一定光照和气象传输条件下记录的场景信息, 它是机器人视觉完成对环境感知、认知的数据之源.恶劣的气象条件对图像质量影响很大, 它改变图像的像素值分布, 影响机器人视觉算法的根基, 进而影响机器人的一些基本能力, 如基于视觉的同步定位与地图构建(Visual Simultaneous Lo-calization and Mapping, vSLAM)、自主导航、视觉伺服、环境理解及作业.

近年来, 随着深度学习技术的飞速发展, 视觉中面向具体任务的研究, 如视觉伺服、目标识别、跟踪及图像理解等已取得显著进展.需要注意的是, 这些视觉算法都是针对质量较好、光照条件稳定的图像而开发的.实际上, 机器人经常需要工作在复杂、动态或非结构化的环境中, 此时视觉算法通常缺乏对环境的自适应能力及鲁棒性, 这是机器人视觉及相关学科的重要研究内容, 但一直未得到较好解决.

在室外环境下, 天气对机器人视觉的影响主要有雾霾和雨雪, 相对应的主要研究内容包括图像去雾及图像雨雪消除.本文详细系统地论述针对复杂天气环境下机器人视觉系统的图像预处理技术, 对于提高机器人的环境感知和环境共融能力具有一定的科学意义.同时, 这些内容对于其它的户外视觉系统, 如自动驾驶、城市监控、水下视觉及一些军事应用, 也具有一定的借鉴意义和应用价值.

1 图像散射去除技术
1.1 散射模型

光线在雾霾天气或水下浑浊介质中传输时, 会受到粒子散射影响, 造成场景进入相机的光线受到衰减, 同时光路外的杂散光进入相机.这两者共同作用会造成图像模糊不清、饱和度降低及对比度下降等问题.图像散射模型与光照条件关系很大, 夜晚的雾霾或水下浑浊一般是主动光源, 属于近场光照, 而对于白天的雾霾天气, 光源是日光, 属于无穷远的平行光照.

1.1.1 近场光照散射成像模型

以相机镜头中心为原点, 令图像坐标系(x, y)平行于世界坐标系(X, Y), Z轴与相机光轴重合,

X=(X, Y, Z)

为目标坐标点,

x=(x, y)

为相应的图像坐标点, 它们之间的关系为

x= (fXZ, fYZ)t.

S=(Xs, Ys, Zs)为光源点的世界坐标, 并定义D(X)=S-X为从目标到光源的矢量.

图1为散射环境下的图像成像及光线传播示意图, 光线从大气中射入场景点(X, Y, Z), 经过场景反射后又在介质中传输距离

X= X2+Y2+Z2

后进入相机, 相机感知到的辐射强度为后向散射与反射光的直接投射率的总和:

I(x)=Id(x)+Ib(x), (1)

其中, Id表示直射分量, Ib表示散射分量.

图1 散射环境下图像成像及光线传播示意图Fig.1 Illustration of imaging and light propagation in a scattering environment

如图1所示, 假设一个辐射强度为E的各向同性点光源, 它发出的光经过距离 D(X)后到达物体, 然后, 光线经过反射率为ρ (X)的物体表面反射后, 又传播 X距离到达相机, 直接辐射项可描述为

Id(x)= ED(X)2 e-σD(X)ρ (X) e-σX,

其中σ 表示介质的消光系数.定义需要恢复的清晰图像为

J(x)= ED(X)2ρ (X),

Id(x)=J(x)exp(-σ ( D(X)+ X(2)

光被介质直接散射到相机而未达到目标的部分称为后向散射.光散射到每个方向上的强度由散射因子β 和相函数P(g, α )决定, α 为原始光与散射光的夹角.这里采用常用的Henyey-Greenstein相函数:

P(g, α )= 14π1-g2[1+g2-2gcosα]3/2.

散射角α

cos(α )= D︿· X︿

( D︿, X︿均表示归一化向量)确定, α ∈ [0, π ].参数g∈ (-1, 1)表示前向散射和后向散射的比重.根据文献[1]和文献[2], 后向散射

Ib(x)=FLb,

其中

Lb(x)= 0Xexp(-σD(rX︿))D(rX︿)2P(α )e-σ rdr, F=Eβ ,

β 为散射系数.

1.1.2 远场平行光照散射成像模型

当光照变成无穷远平行光时, 方程(1)可以大幅简化为McCartney模型, 后经Narasimhan等[3]的改进, 广泛应用于图像去雾算法中.模型可表示为

I(x)=t(x)J(x)+(1-t(x))A. (3)

其中:I为由相机拍摄的有雾图像; J为待恢复的清晰图像; A为一个全局常数参数, 表示大气中的环境光, 也称为天空光; t为传播介质的透射率, 反映场景反射光未受散射影响而到达相机的组分.模型假设天空光同质, 则t(x)与场景深度成反比, 可表示为

t(x)=exp(-β d(x)),

其中, β 为天空光散射系数, d(x)为每个场景表面点到相机的深度.

1.2 图像去散射算法

图像去雾是一个严重的病态问题, 核心问题是光传播介质透射率的求取.基于无雾图像的对比度高于有雾图像的观察, Tan[4]提出最大化图像局部对比度的去雾算法, 但结果常会出现过饱和现象, 并且在深度非连续的区域会产生光晕.Tarel等[5]运用快速中值滤波实时估计大气透射率.He等[6]提出暗通道先验, 估计有雾图像的场景深度.运用暗通道先验, 首先生成一个初始透射率图, 再应用软抠图算法优化初始透射率.该方法的去雾效果非常显著, 不足之处在于软抠图算法的计算速度缓慢.

为了提高计算速度, He等[7]进一步提出边缘保持平滑因子— — 导向滤波, 可以避免强边缘附近的梯度逆转现象.运用导向滤波优化初始透射率, 计算速度得到显著提高, 恢复的结果质量也与软抠图方法相当.Ancuti等[8]提出无需优化的像素级透射率估计算法.基于原始有雾图像和其半逆反图像的色差, 确定有雾区域和无雾区域, 然后运用分层方法恢复无雾图像, 算法处理速度很快.Meng等[9]运用基于辐射立方体的边界限定以估计透射率, 并应用权重的L1范数纹理正则化迭代优化场景透射率.

随着机器学习研究的发展, 学者们提出一些基于学习的图像去雾方法.Tang等[10]通过研究几种与雾相关的多尺度特征(暗通道、色差、局部最大对比度和局部最大饱和度), 运用学习方法确定对图像去雾进行最有效的特征组合.

在图像散射去除的研究上, 针对近场散射和远场散射, Tian等[11]提出基于光场图像的深度估计和散射去除算法, Cui等[12]提出基于区域优化的去雾算法.

1.2.1 基于光场图像的深度估计和散射去除

将式(2)代入式(1), 可得

I(x)=J(x)exp(-σ ( D(X)+ x))+Ib(x).(4)

为了恢复清晰图像, 需要求解式中的J, 这需要估计未知的介质参数Fσ g及每个像素的深度.为了简化求解过程, 首先检测只包含后向散射的像素和假设一个固定的深度值Zref, 用于估计介质参数.

1.2.1.1 散射参数估计

V为一个只包含后向散射的像素点的集合, 通过最小化下式估计Fσ g:

mingminσ, FxVI(x)-Ib(x).

为了找到一个只包含后向散射的像素点集合V, 改进由He等[6]提出的暗通道先验(Dark Channel Prior, DCP).DCP表明在大多数的自然图像块中, 至少有一个颜色通道有一些亮度非常低的像素.为了使本文算法更鲁棒, 首先将输入图像转换至HSV颜色空间, 然后提取亮度和饱和度都非常低的区域.在这些区域里, 在XY方向上每间隔20个像素采样一个点, 然后在这些采样点周围5个像素范围的区域内取最小值, 生成集合V.将求得的散射参数以及通过对中央视图进行DCP得到的像素级深度Z代入方程(4), 可以得到初始的恢复结果, 如图2所示.

图2 水下近场散射去除初始结果Fig.2 Initial removal result by underwater near-field scattering method

1.2.1.2 深度估计与重聚焦

初始结果噪声较大, 本节结合深度切分和光场图像重聚焦的强散射环境图像恢复算法以得到更好的结果.利用光场图像的切分将每个像素点重聚焦到不同的深度, 采用如下方程切分光场数据:

Jκ (x, u)=J(x+u(1- 1κ), u),

其中, J为光场图像的初始恢复结果, Jκ 为在κ 深度被切分的光场图像, x为空间坐标, u为角坐标.光场图像均值和方差定义为

Jκ¯(x)= 1NuJκ (x, u), Vκ (x)= 1Nu|κ (x, u)- Jκ¯(x) |

利用JPG质量评价准则找出最佳重聚焦图像, 并由此估计得到最佳深度.然后利用这一深度信息与上述的切分重聚焦, 迭代求解最终恢复结果, 结果如图3所示.

图3 重聚焦恢复结果Fig.3 Restoration results by refocusing

1.2.2 基于区域优化的远场图像去雾

He等[6]提出暗通道先验, 估计有雾图像的场景深度.由于暗通道先验是由不包含天空的室外清晰图像统计而得, 因此当场景目标本身反射强度近似于大气光强度或目标表面无阴影覆盖(天空、浓雾及亮度较高区域, 统称为亮区域)时, 暗通道先验会失效.这主要是因为在亮区域像素各通道值均很高, 因此不符合暗通道先验室外清晰图像总有至少一个通道接近于零的假设.从暗通道算法的假设有如下公式成立:

Jd(x)= minc( minxΩ(y)(Jc(x))=0, (5)

其中, Jd表示图像J的暗通道图像, c表示图像颜色通道, Ω (y)表示以y为中心的局部区域.将式 (3)两端取最小, 可得

minc(minxΩ(y)(Ic(x)Ac))=  t(x)minc(minxΩ(y)(Jc(x)Ac))+(1-t(x)), (6)

由式(5)和式(6)可得

t(x)= 1-minc(minxΩ(y)(Ic(x)Ac))1-Jd(x)A.(7)

暗通道先验认为, 图像中的所有Jd(x)应近似为零, 因此透射率应表示为

td(x)=1- minc( minxΩ(y)( Ic(x)Ac))(8)

其中, td(x)为暗通道先验算法求得的每点初始透射率值.然而在亮区域式(7)中的Jd(x)并非接近于零, 相反具有很高的值, 因此式(7)中的分母1- Jd(x)A不应接近于1, 而应该为一个非零的较小值, 即在亮区域暗通道算法对于透射率的估值过低.被低估的透射率值会导致去雾结果的过饱和现象.

尽管在非亮区域Jd(x)符合暗通道假设, 但式(8)中对于 Ic(x)Ac采用块操作的最小值化滤波会导致对透射率的过高估计.例如, 当具有最小值的像素点与块中心点属于深度相差较大的不同目标时, minc(minxΩ(y)Ic(x)Ac)将小于真实值, 因此相比真实值, 会高估透射率值.从雾图像成像模型中可以看出, 被高估的透射率值会导致去雾结果的像素值低于该点真实的表面辐射度, 使得恢复结果过暗.

通过上述分析得出结论, 暗通道先验会导致在亮区域低估透射率值, 而在普通非亮区域高估透射率, 从而导致去雾结果过饱和或过暗的现象出现.针对上述暗通道缺陷, 本文提出基于物理先验的隐区域分割透射率估计算法, 可以自然、准确地将雾图像分割为亮区域和非亮区域, 对两区域的透射率估计进行具有针对性的改进.透射率的范围为(0, 1), 根据图像去雾模型可得

tc(x)= A-Ic(x)A-Jc(x).

事实上在天空、水面、玻璃及浓雾等亮区域中, 大部分像素的值要略高于全局大气光强度, 因此在亮区域Ic(x)往往高于A, 可得

tc(x)= Ic(x)-AA-Jc(x).

为了避免透射率在亮区域被低估, 不像暗通道算法将无雾图像辐射度假设为0, 根据亮区域中J(x)具有较高值且J(x)≤ 255的先验, 可得不等式:

tc(x)= Ic(x)-AA-Jc(x)Ic(x)-AA-255,

假定A已知, 将上式中tc(x)的最大值作为亮区域透射率的下边界, 有

tb(x)= maxc(tc(x))= Ic(x)-AA-255.

为了避免过高估计透射率, 没有如暗通道算法进行块操作的最小化滤波处理.因为在非亮区域Ic(x)低于A值, 并将分母放缩后可得不等式:

tc(x)= A-Ic(x)A-Jc(x)A-Ic(x)A-min(Jc(x)),

因为在非亮区域像素符合暗通道先验, 因此min(Jc(x))应该接近于0, 上式改写为

tc(x)≥ A-Ic(x)A=1- Ic(x)A.

仍假定A已知, 将上式中tc(x)的最大值作为非亮区域透射率的下边界, 有

tn(x)= maxc(tc(x))=1- minc(Ic(x))A.

综上所述, 整幅图像的初始透射率可描述为

to(x)= min􁀄 maxmaxc(Ic(x)-A)A-255, 1-minc(Ic(x))A, 1

上式可以将亮区域与非亮区域自然平滑地分离, 保证无突兀、明显的分割边界, 并且能够矫正暗通道算法在两类区域中对于透射率的不准确估计.图4为本文方法的深度估计结果与去雾效果.

图4 本文透射率估计算法的去雾结果与深度图Fig.4 Defogging and depth map results of the proposed ransmittance estimation algorithm

2 图像雨雪去除算法

相比图像去雾的研究, 图像去雨雪的研究较少, 尤其是图像去雪的研究.雨雪天气的光照传输特性发生较大变化, 这里既包括雨滴和雪花的散射问题, 也含有遮挡问题, 既有其稀疏性也有稠密性, 并且具有动态特性.对于雨对成像系统的影响, Garg等[13]进行一个全面分析, 根据雨的动态特性和物理性质提出相关性模型, 解释雨的光学特性.随后, 基于相关性模型, Chen等[14]通过相机参数(曝光时间、景深)的调整以达到去除雨雪的目的.但是当场景中存在运动物体时, 文献[13]、文献[14]算法将会失效.

为了去除动态场景中较大的雨, Barnum等[15]首先根据光流法和场景分类分割运动物体, 然后自适应运用时域和空域信息恢复受雨滴影响的像素.在文献[16]、文献[17]中, 作者提出基于稀疏表达的单幅图像分解算法进行雨的去除.通过运用合适的滤波器, 一幅输入图像首先分解为高频和低频成分, 然后通过字典学习和稀疏表达, 高频成分又分解为有雨和无雨的部分.Yao等[18]提出基于贝叶斯概率的方法, 解决雨雪检测的问题, 但是对于稠密的雪, 性能显著下降.Sakaino等[19]提出半透明光流法, 检测视频中的运动粒子, 可以准确检测粒子运动, 但是作者只是检测雨雪, 并未提出有效的去除算法.Chen等[20]根据雨雪的物理和统计模型抑制时空中的某些频率, 达到去除雨雪的效果, 但是杂乱状态雨雪不具有特定的频率状态, 因此并不总是有效.

由于雪与雨具有不同的物理形态和光学特性, 上述算法对去雪往往无效.根据雨滴(雪花)的大小和光学特性, 检测潜在的雨滴(雪花), 进一步估计雨滴(雪花)的方向, 确认是否是雨滴(雪花).由于需要假设雨滴(雪花)具有均一的方向和速度, Bossu等[21]的雨雪去除效果受到一定的影响.

本文针对视频中的雪花去除, 提出基于全局和局部低秩分解的雪花去除算法[22].针对视频雨雪去除, 提出基于矩阵分解的统一表达模型和去除算法[23].

2.1 基于全局和局部低秩分解的雪花去除

对于雨雪视频来说, 通常可以认为场景的背景固定不变, 即使场景背景有所移动, 也可以通过现有的配准算法进行对齐.对于雨雪场景来说, 背景的相似性具有低秩特性, 可以通过低秩表达的方式进行背景重建, 获得较清晰的背景.此外, 对于场景中的运动物体来说, 可以认为其形态变化较缓慢, 将不同帧中的运动物体堆放在一起时, 具有低秩特性, 同样使用矩阵分解的方式, 可以获得去除雨雪后的前景.

2.1.1 低秩分解建模

K帧的雨雪视频F= {fk}k=1K分解为静态背景、运动物体和下落的雪:

fk=stk+mvk+snk.

通常来说

ST= {stk}k=1K

为静态背景, 并且一般被运动物体MV= {mvk}k=1K和雪花SN= {snk}k=1K所遮挡.将上述的各个部分写成向量形式:

视频

I=[vec(f1), vec(f2), …, vec(fk)],

静态背景

S=[vec(st1), vec(st2), …, vec(stk)],

运动物体

M=[vec(mv1), vec(mv2), …, vec(mvk)],

雪花

E=[vec(sn1), vec(sn2), …, vec(snk)].

如上所述, 静态背景和对准后的运动物体都具有低秩特性, 此外下落的雪花具有稀疏特性, 那么可将雪花去除建模为鲁棒PCA问题[24]:

minS, M, Erank(S)+λ1rank(η(M))+λ2E0s.t.I=S+M+E,

其中, η (· )为视频局部变换, 即通过旋转和平移将视频中的运动部分进行对齐.因为低秩和l0范数都是非凸、非连续性的问题, 很难直接求解, 因此将上述模型进行松弛, 得到如下问题进行求解:

minS, M, ES* +λ 1η (M)‖ * +λ 2E1s.t. I=S+M+E.9)

2.1.2 静态背景抽取

静态背景S为视频I中的低秩成分, 它的求解可以通过上述问题的子问题进行求解:

minS, M, ES* +λL1s.t.I=S+L,

其中, L=M+E, 包含运动物体和雪花两部分, 上述核范数问题可以通过增广拉格朗日乘子法(Augmented Lagrangian Method, ALM)求解.将上述问题进一步改写为

L=‖ S* +‖ L1+< Y, I-S-L> + μ2I-S-L F2

其中, Y为拉格朗日乘子, μ 为一个正的常数.ALM通过迭代的优化拉格朗日函数求解最优值.因此, 上述模型的最优值可以通过迭代求解如下3个变量获得:

Si+1=argminS(S, Li, Yi), Li+1=argminS(Si+1, L, Yi), Yi+1=Yi+μiL(Si+1, Li+1).

如图5所示, 输入视频经过低秩重建后, 可以较好去除背景上的雪花, 下一步利用低秩特性滤除运动物体前面的雪花.

图5 静态背景重建结果Fig.5 Static background reconstruction

2.1.3 运动前景的分离

经过分离背景后, 剩余部分L为运动物体和雪花的混合.如何滤除运动物体前面的雪花是目前面临的问题.根据模型(9)前景分离的子问题可表达为如下形式:

minM, E(η(M)* +λE1), s.t.L=M+E.

处理运动前景的困难在于对准运动的部分并一起提取它们的低秩结构.因为在视频帧中物体的运动方式多变, 所以估计一个统一的η 函数十分困难.因此, 基于块的方法用于移除视频中降落的雪花.首先将L从矩阵的形式转化为帧序列的形式, MS= {msk}k=1K.令

MS=MV+SN

表示移动物体和降落雪花的混合.在这里, 利用文献[25]中的方法分割这些动态的部分.然后, 从运动目标中将雪花移除.在这一步中, 考虑雪花的特有属性, 例如, 雪花具有小的尺寸和窄的像素值波动范围.运动前景区域表示为MV= {mvk}k=1K.

对于每一帧, 生成一些区域块作为运动物体的最小的矩形边界框.对于每一个块, 记为pi, j, k, 其中, 下标i表示第i个块, j表示这个块的中心, k表示帧数.在每帧中寻找与当前帧中的块相似的块.文献[26]、文献[27]中提出的针对运动估计的块匹配方法取得较好的效果.这里采用平均绝对差值(Mean Absolute Difference, MAD)进行块匹配操作:

MADx0, y0(x, y)=1nx·ny·i=0W-1j=0H-1pk(x0+i, y0+j)-pk+1(x0+x+i, y0+y+j).

对于一个nx× ny像素块, (x0, y0)为当前块, (x0+x, y0+y)为对比帧块.假设在时域中搜索到m个相似的块, 令所有匹配的块的像素作为一个(nx× nym的矩阵Pj, k, 通过这种方法定义Pj, k

Pj, k=(p1, j, k, p2, j, k, …, pm, j, k), pi, j, k∈ R2,

Pj, k的矩阵形式为

Pj, k=Mj, k+Ej, k,

其中, Mj, k 表示潜在的没有雪的矩阵块, 如运动的物体, Ej, k表示降落的雪花.

因为Mj, k中所有的列向量具有相似的潜在图像结构, Mj, k应该为一个低秩矩阵, 现在这一步中的子问题仍然可以当作一个鲁棒PCA问题,

minM, EM* +λE1, s.t.P=M+E.

图6显示通过在匹配块上应用低秩矩阵分解获得无雪运动背景的过程.因为移动物体M之外的区域没有低秩属性(每个块不同), 所以它们会被背景像素代替以避免产生失真效果.最终将移动的前景粘贴到静止的背景中就可以去除雪花, 结果如图7所示.

图6 对匹配帧进行局部低秩分解去除物体前面的雪花Fig.6 Low-rank decomposition for aligned objects in different frames used to filter out the snowflakes in front of the moving objects

图7 基于低秩分解的雪花去除结果Fig.7 Snowflake removal results by low-rank decomposition

2.2 基于矩阵分解的雨雪去除

传统的雨雪去除算法通常认为雨滴或雪花在场景中是稀疏的, 因此基于雨滴或雪花的亮度变化、下落方向及形状, 这些算法会检测雨滴或雪花.虽然对于小的雨雪和相对静态的场景, 这些算法是有效的, 但是它们难以应对较大的雨雪、高动态场景及相机移动的情况.在较大的雨雪天气和其它复杂场景下, 雨和雪同时呈现稀疏和稠密的特性.从直观上说, 场景不仅被稀疏的雨雪遮挡, 而且被稠密、难以检测到的雨雪模糊.

以一个高动态雨雪场景为例.图8为一般雨雪天气情况下雨雪的组成:稀疏雨雪SS、稠密雨雪Sd、背景B及前景F.已知的雨雪去除算法可以检测到稀疏雨雪, 但是稠密雨雪Sd会使检测失效, 因此雨雪的去除也会失败.据作者所知, 已知的雨雪去除方法未考虑稠密的雨雪Sd, 这是它们难以应对较大雨雪天气和复杂场景的原因.本文根据矩阵分解的技术将输入视频分解为低秩背景、运动物体、稀疏雨雪和稠密雨雪这4部分.背景通常是低秩的, 可以重建一个清晰的背景.运动物体和稀疏的雪都是稀疏的, 但是引起的背景变化不一样.本文利用马尔科夫随机场(Markov Random Field, MRF)分别提取.对于稠密的雨雪, 本文假设它们为高斯分布.

图8 基于矩阵分解的雨雪去除算法框图Fig.8 Rain and Snow removal method based on matrix decomposition

如图8 所示, 本文算法认为一个输入视频由稀疏雨雪SS 、稠密雨雪Sd 、背景B 及前景F 组成:

I = B + Sd+ SS + F.

针对视频中的每一部分, 分别进行相应处理. 在动态的雨雪场景中, 虽然存在雨雪引起的亮度波动和运动物体带来的场景变化, 但是所有的背景之间是相关的, 因此背景B 是低秩的:rank(B) 臆资, 资为

一个常数, 它只和背景的复杂程度有关. 稠密的雪很难被检测到, 并且Sd 将会模糊整个场景, 很难使用一个准确的物理模型进行描述. 本文假设Sd 服从高斯分布:

P(Sd)= 1(2πσd)Nexp( SdF22σd2)

其中, σ d为高斯分布的标准差, N为图像像素的数量.雨雪的下落方向和形状并不固定, 一些靠近镜头或远离镜头的稀疏雨雪往往具有较大或较小的形状, 因此它们不会被检测到.本文使用马尔科夫模型描述Ss的稀疏性和连续性, 详情见2.2.1节.

前景F, 即运动物体, 在视频中具有相似结构, 可以通过群组稀疏性进行建模.参考文献[25], 通过解决矩阵分解问题以检测和去除雨雪:

minB, F, Ss, Sd12σd2Sd F2+η · rank(B)+λ 1Ss+F0+‖ P (F)‖ G,

s.t. I=B+F+Ss+Sd, (10)

其中, σ dη λ 1为调节参数.这些参数的正确选择将在下文讨论.矩阵范数‖ P (F)‖ G表示在获得前景F之后, 算子P 在前景上应用图像块匹配, 随后进行前景组稀疏运算.

为了处理由移动摄像机拍摄的动态场景, 首先将相邻帧对准到目标帧. 设Ij􀳱τ j表示由τ j变换后的帧, 则有

Ioτ =B+F+Sd+Ss,

I=[I11, I22, , Inn].

还使用核范数代替式(10)中的秩运算符, 最终的模型可写成

minB, E, τ12σ2D|| Ioτ -B- Ss-F F2+η ||B||* +λ || Ss+F‖ 0+‖ P (F)‖ G (11)

2.2.1 运动物体和雨雪的马尔科夫建模

在雨雪天气中很难处理运动物体.如果直接过滤帧而不知道其中运动物体的确切位置, 通常会在运动物体上产生变形和伪影.为了避免这个问题, 本文使用MRF检测移动对象, 进行组稀疏度过滤.由于存在稀疏异常值SsF, 方程(11)难以优化.令M∈ {0, 1}m× n为表征稀疏异常值的二值矩阵:

Mij= 0,  Iij为背景1,  Iij为稀疏前景或雨雪(12)

假设E=Ioτ -B, 表示背景波动, 只要Eij≠ 0, 即Mij≠ 0, 一定会有Eij=FijEij=(Ss)ij 以最小化式(11).因此, 式(11)可以写成

minB, M12σ2d|| (1-M) ⊙E F2+λ 1||M‖ 1+η ||B||* +‖ P (F)‖ G.

Bτ 固定时, M的最优化由λ 1和背景变化E确定.上式可进一步写成

minMijλ1-12σd2(Eij)2Mij.

当考虑相邻像素之间的依赖关系时, 上式可以重写为一阶MRF:

minMijλ1-12σd2(Eij)2Mij+  ijklNijγψ(Mij-Mkl), (13)

其中, γ 为一个正则化参数, Nij为与Mij相邻像素,

ψ (x)= 0,  x=01,  x0

虽然上式可以将背景和稀疏异常值分开, 但是仍然很难区分FSs.

在雨雪场景中难以处理运动物体, 通常的做法是将运动物体分割进行单独的滤波以避免振铃出现.在本文算法中, 稀疏部分包括稀疏雨雪和运动物体两部分, 如何有效分割这两个部分显得尤其重要.通过分析大量的雨雪视频发现, 由运动物体和雨雪引起的背景波动强度相差很大.如图9所示, 画出在100帧之内一个有雨雪场景的背景波动情况.在曲线的两端可以发现, 由于受到雨雪的影响, 背景波动非常不规律, 但是可以大概使用阈值λ 1区分稀疏雨雪和背景.从60帧至75帧, 有一个运动物体经过并引起很大波动, 可以使用阈值λ 2较易地分割运动物体.为了区分FSs, 重写式(12)为

M¯ij= 0, Iij为背景1, Iij为稀疏的雨雪Ss, 2, Iij为运动物体F

同时, 还将式(13)重写为多标签MRF:

minM¯(Ed+ ijklNijγ · ψ ( M¯ij- M¯kl)), (14)

其中

Ed= 12σd2(Eij)2, M¯ij=0λ1-12σd2(Eij)2, M¯ij=1λ2-12σd2(Eij)2, M¯ij=2

图9 由运动物体和雨雪引起的视频背景波动Fig.9 Video background fluctuations caused by moving bjects, rain and snow

为了应对帧与帧之间物体的变换和遮挡, 使用块匹配的算法匹配前景物体.当相似的块摆放在一起时, 这些块之间就具有组稀疏特性, 可以较好滤除运动物体前面的雨雪.

2.2.2 运动物体的组稀疏性

基于局部或非局部滤波算法, 现有方法通常以像素方式去除运动物体内的雨痕, 该过程经常导致运动物体上的模糊和伪影.由于图像块在空间中具相似性[28-29], 本文设计群稀疏项, 以逐块方式过滤运动物体.基于从式(14)获得的 M¯, 运算符P (F)首先从I中提取前景.然后, 将前景划分为重叠区域, 并在以参考区域为中心的特定搜索窗口内组合类似的区域.对于目标帧, 仅在其两个相邻帧中搜索类似区域, 即3个连续帧.有关匹配的更多详细信息, 请参阅文献[30].

然后利用伪矩阵范数 ·G寻求匹配过的图像块集合的组稀疏性, 在处理补丁集之后, 通过加权平均方法将图像块贴回图像背景.设(P (F))i, j为P (F)中的某个图像块集合, 参考图像块为第i帧中的第j个补丁, 令Y=(P (F))i, j, 根据群组结构稀疏性[31-32], 群稀疏项 YG可由下式求得:

(U, Σ , V)=arg minU, Σ, VY-VTF2+μ i=1rσ i, (15)

其中

Σ =diag{σ 1, σ 2σ r}, r=rank(Y).

由于雨雪在空间和时间场中随机分布, 可以通过式(15)去除运动物体前面的雨雪.

图10为基于矩阵分解雨雪去除方法的结果, 不但可以去除背景中的雨雪, 对于快速运动的物体(汽车)来说, 也可以较好去除前面的雨雪.本文算法可以处理大部分的雨雪场景, 但是对于一些复杂场景, 如场景中包含大量运动目标, 往往不能够准确分割和匹配运动目标, 这会导致视频恢复结果出现模糊.另外, 由于采用矩阵分解的方式去除雨雪, 会带来计算量的提高.

图10 基于矩阵分解的雨雪去除结果Fig.10 Rain and snow removal results based on matrix ecomposition

3 结 束 语

在计算机技术、视觉理论和低成本视觉传感器推动下, 视觉系统的性价比和信息获取具备较大优势, 成为目前复杂未知环境下机器人自主环境感知和自主行为决策控制中不可或缺的重要配置和工具, 并在某些环境下具有不可替代性.目前机器人视觉中面向具体任务的上层算法(如导航、识别等)的研究虽然取得长足进步, 但是在恶劣天气等条件下, 现有方法仍存在很大的不确定性, 使视觉任务的可靠性难以满足实际需求.复杂气象条件下的机器人视觉仍是一个亟需解决的关键技术问题, 十分匮乏有效的技术方法.虽然学术界已认识到天气变化对视觉算法稳定性的重要影响并进行广泛研究, 但是从研究成果到实际大范围应用还有一些距离.

目前, 针对坏天气下的图像处理算法有如下2个主要问题.1)算法鲁棒性较差, 以去雾为例, 目前的算法只对轻雾霾有效, 对浓雾基本无效, 因此在工程上一般还需要配置昂贵的透雾相机以解决雾的问题.2)算法实时性较差, 以去雨雪为例, 目前的算法处理一帧图像都需要几十秒甚至数分钟.这两个缺点导致目前算法的研究结果尚无法满足机器人视觉的应用需求.其原因主要在于自然环境过于复杂, 精确建模非常困难.其次, 模型参数众多, 图像信息缺失, 此种条件下的图象恢复是一个病态问题.最后就是针对雨雪雾去除的图像数据库的缺乏, 一个视觉算法往往需要包含有大量原图像及相应预期的理想结果(Ground Truth)图像的数据库, 用于训练、检测、恢复或评价算法.在某些领域, 如人脸识别, 已经存在成熟和公认的数据库, 但在雨雪雾去除领域, 尚缺少这样的数据库.这是一项耗时费力且艰难的工作, 需要针对不同的场景采集照度一致的图像, 其中尤以雪的Ground Truth图像采集最困难, 需要避免地面、树枝及车辆等物体上积雪的影响.

未来以算法的稳定性和实时性为出发点, 采用软硬件结合、多模信号融合的方式解决问题会是一个有前途的方案.无论去雾还是去雨雪, 问题的关键都是深度信息的估计.雾随着深度增大越来越浓, 雨雪随着深度增大越来越小.因此, 考虑引入深度感知技术, 辅助估计场景中的深度信息, 有望得到具有鲁棒性和实时性的雨雪雾去除算法.

另外, 还需深入研究关于雨雪雾的物理模型.目前的主流算法仍然停留在图像数据处理层面, 对模型的研究无论在视觉领域还是图形学领域均涉及较少.当前的模型太过简化以至于无法精确描述雨雪雾的复杂表现.

本文总结当前主流的雨雪雾去除算法, 并系统介绍团队近年来在该方向上的研究成果.团队在未来也将致力于建立统一的雨雪雾处理模型, 这是因为它们在物理成像机理上有相似之处:都是场景反射加入一部分杂散光, 在数学上都是二者加和的形式.在视觉表现上, 雨雪天气近处是雨雪, 远处看起来是雾, 也有统一处理的必要.

参考文献
[1] NARASIMHAN S G, GUPTA M, DONNER C, et al. Acquiring Scattering Properties of Participating Media by Dilution. ACM Transactions on Graphics, 2006, 25(3): 1003-1012. [本文引用:1]
[2] SUN B, RAMAMOORTHI R, NARASIMHAN S G, et al. A Practical Analytic Single Scattering Model for Real Time Rendering. ACM Transactions on Graphics, 2008, 24(3): 1040-1049. [本文引用:1]
[3] NARASIMHAN S G, NAYAR S K. Contrast Restoration of Weather Degraded Images. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2003, 25(6): 713-724. [本文引用:1]
[4] TAN R T. Visibility in Bad Weather From a Single Image // Proc of the IEEE Conference on Computer Vision and Pattern Recognition. Washington, USA: IEEE, 2008. DOI: DOI:10.1109/CVPR.2008.4587643. [本文引用:1]
[5] TAREL J P, HAUTIÈRE N. Fast Visibility Restoration from a Single Color or Gray Level Image // Proc of the 12th IEEE International Conference on Computer Vision. Washington, USA: IEEE, 2009: 2201-2208. [本文引用:1]
[6] HE K M, SUN J, TANG X O. Single Image Haze Removal Using Dark Channel Prior. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 33(12): 2341-2353. [本文引用:1]
[7] HE K M, SUN J, TANG X O. Guided Image Filtering. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(6): 1397-1409. [本文引用:1]
[8] ANCUTI C O, ANCUTI C, HERMANS C, et al. A Fast Semi-inverse Approach to Detect and Remove the Haze From a Single Image // Proc of the Asian Conference on Computer Vision. Berlin, Germany: Springer, 2010: 501-514. [本文引用:1]
[9] MENG G F, WANG Y, DUAN J Y, et al. Efficient Image Dehazing with Boundary Constraint and Contextual Regularization // Proc of the IEEE International Conference on Computer Vision. Washington, USA: IEEE, 2013: 617-624. [本文引用:1]
[10] TANG K T, YANG J C, WANG J. Investigating Haze-Relevant Features in a Learning Framework for Image Dehazing // Proc of the IEEE Conference on Computer Vision and Pattern Recognition. Washington, USA: IEEE, 2014: 2995-3002. [本文引用:1]
[11] TIAN J D, MUREZ Z, CUI T, et al. Depth and Image Restoration from Light Field in a Scattering Medium // Proc of the IEEE International Conference on Computer Vision. Washington, USA: IEEE, 2017: 2420-2429. [本文引用:1]
[12] CUI T, TIAN J D, WANG E D, et al. Single Image Dehazing by Latent Region-Segmentation Based Transonission Estimation and Weighted L1-norm Regularisation. IET Image Processing, 2017, 11(2): 145-154. [本文引用:1]
[13] GARG K, NAYAR S K. Detection and Removal of Rain from Videos // Proc of the IEEE Conference on Computer Vision and Pattern Recognition. Washington, USA: IEEE, 2004: 528-535. [本文引用:1]
[14] CHEN Z, SHEN J H. A New Algorithm of Rain(Snow) Removal in Video. Journal of Multimedia, 2013, 8(2): 168-174. [本文引用:2]
[15] BARNUM P C, NARASIMHAN S, KANADE T. Analysis of Rain and Snow in Frequency Space. International Journal of Computer Vision, 2010, 86(2/3): 256-274. [本文引用:1]
[16] KANG L W, LIN C W, FU Y H. Automatic Single-Image-Based Rain Streaks Removal via Image Decomposition. IEEE Transactions on Image Processing, 2012, 21(4): 1742-1755. [本文引用:1]
[17] CHEN D Y, CHEN C C, KANG L W. Visual Depth Guided Color Image Rain Streaks Removal Using Sparse Coding. IEEE Transac-tions on Circuits and Systems for Video Technology, 2014, 24(8): 1430-1455. [本文引用:1]
[18] YAO C, WANG C, HONG L J, et al. A Bayesian Probabilistic Framework for Rain Detection. Entropy, 2014, 16(6): 3302-3314. [本文引用:1]
[19] SAKAINO H. A Semitransparency-Based Optical-Flow Method with a Point Trajectory Model for Particle-Like Video. IEEE Transactions on Image Processing, 2012, 21(2): 441-450. [本文引用:1]
[20] CHEN J, CHAU L P. A Rain Pixel Recovery Algorithm for Videos with Highly Dynamic Scenes. IEEE Transactions on Image Processing, 2014, 23(3): 1097-1104. [本文引用:1]
[21] BOSSU J, HAUTIÈRE N, TAREL J P. Rain or Snow Detection in Image Sequences through Use of a Histogram of Orientation of Streaks. International Journal of Computer Vision, 2011, 93(3): 348-367. [本文引用:1]
[22] TIAN J D, HAN Z, REN W H, et al. Snowflake Removal for Videos via Global and Local Low-rank Decomposition. IEEE Transactions on Multimedia, 2018, 20(10): 2659-2669. [本文引用:1]
[23] REN W H, TIAN J D, HAN Z, et al. Video Desnowing and Deraining Based on Matrix Decomposition // Proc of the IEEE Conference on Computer Vision and Pattern Recognition. Washington, USA: IEEE, 2017: 2838-2847. [本文引用:1]
[24] CANDÉS E J, LI X D, MA Y, et al . Robust Principal Component Analysis? Journal of the ACM, 2011, 58(3). DOI: DOI:10.1145/1970392.1970395. [本文引用:1]
[25] ZHOU X W, YAN J, YU W C. Moving Object Detection by Detecting Contiguous Outliers in the Low-Rank Representation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(3): 597-610. [本文引用:1]
[26] ORCHARD M T, SULLIVAN G J. Overlapped Block Motion Compensation: An Estimation-theoretic Approach. IEEE Transactions on Image Processing, 1994, 3(5): 693-699. [本文引用:1]
[27] ELAD M, AHARON M. Image Denoising via Sparse and Redundant Representations over Learned Dictionaries. IEEE Transactions on Image Processing, 2006, 15(12): 3736-3745. [本文引用:1]
[28] DONG W S, SHI G M, LI X. Nonlocal Image Restoration with Bilateral Variance Estimation: A Low-Rank Approach. IEEE Transactions on Image Processing, 2013, 22(2): 700-711. [本文引用:1]
[29] JI H, LIU C Q, SHEN Z W, et al. Robust Video Denoising Using Low Rank Matrix Completion // Proc of the IEEE Conference on Computer Vision and Pattern Recognition. Washington, USA: IEEE, 2009: 1791-1798. [本文引用:1]
[30] DABOV K, FOI A, KATKOVNIK V, et al. Image Denoising by Sparse 3-D Transform-Domain Collaborative Filtering. IEEE Transactions on Image Processing, 2007, 16(8): 2080-2095. [本文引用:1]
[31] MAIRAL J, BACH F, PONCE J, et al. Non-local Sparse Models for Image Restoration // Proc of the 12th IEEE International Conference on Computer Vision. Washington, USA: IEEE, 2009: 2272-2279. [本文引用:1]
[32] ZORAN D, WEISS Y. From Learning Models of Natural Image Patches to Whole Image Restoration // Proc of the International Conference on Computer Vision. Washington, USA: IEEE, 2011: 479-486. [本文引用:1]