一种基于事件相机的雨滴检测方法

文档序号:31024619发布日期:2022-08-05 23:39阅读:321来源:国知局
一种基于事件相机的雨滴检测方法

1.本发明涉及图像处理领域,具体的,涉及一种基于事件相机的雨滴检测方法。


背景技术:

2.雨雪天气下,雨滴与雪花的存在会使得能见度大幅降低,严重影响户外的相机,或其他视觉信号采集系统所采集的图像、视频质量。一般情况下,近处的雨滴会严重遮挡后方的物体,远处的雨滴会形成薄雾,密集的雨雪还会带来严重的光线折射,对图像信息的完整性与后续的图像处理带来了严重影响。
3.近年来,国内外的研究人员开始致力于研发各种雨滴识别与除雨算法。这些算法按照应用对象大致可分为两大类,分别为针对视频的雨滴识别算法和针对单幅图像的雨滴识别算法。其中,前者相对较为简单,因为数据量更大,且存在时间戳上的信息,可以通过分析同一个像素点在一小段连续帧内的像素值变化,或者寻找视频中的雨条纹,构建出基于传统的时间-空间模型或深度学习模型的雨滴识别与去除算法。
4.针对单幅图像的雨滴识别与去除算法可以大致分为三种思路。一种是基于雨滴的光学性质和动力学特征,设计滤波器,通过滤波将有雨图像处理成无雨图像。第二种思路下,先用先验信息给出一个原图像与目标图像之间的约束条件,再通过优化算法求解得到除雨后的目标图像。同样的,近年来深度学习也被广泛应用于构建针对单幅图像的雨滴识别算法。
5.公开号为cn107909556的中国专利申请公开了“基于卷积神经网络的视频图像去雨方法”,其使用卷积神经网络处理每帧图像中的高频部分,输出无雨图像并与低频部分综合得到除雨后的视频图像。
6.公开号为cn104978718的中国专利申请公开了“一种基于图像熵的视频雨滴去除方法及系统”,其通过计算图像局部熵,结合面积与角度确定图像含雨部分。该方法容易受到视频中高速运动物体的干扰。
7.公开号为cn103337061的中国专利申请公开了“一种基于多次引导滤波的图像去雨雪方法”,其以图像的低频部分作为引导图像,对高频部分进行引导滤波后与低频部分叠加得到除雨后的图像,然而,该方法会降低图像的清晰度。
8.公开号为cn109886900a的中国专利申请公开了“一种基于字典训练和稀疏表示的合成雨图除雨方法”,其通过构造“有雨-无雨”训练集得到有雨字典和无语字典,将稀疏表示处理后的有雨字典与无雨字典相结合得到除雨后的图像。这一方法暂时只适用于人工合成的降雨图像。
9.公开号为cn110111267的中国专利申请公开了“一种基于优化算法结合残差网络的单幅图像除雨方法”,其公开使用交替方向乘子法admm求解雨天图像成像模型,并将残差网络和降噪算法嵌入admm框架中,将雨天拍摄的图像分成无雨清晰背景部分和雨迹部分,相对而言,该方法在图像除雨效果上弱于其他几例。
10.公开号为cn113947538的中国专利申请公开了“一种多尺度高效卷积自注意力单
幅图像除雨方法”,其将有雨图像传入融合了改进型transformer自注意力模块和多尺度空间特征融合模块的网络模型进行迭代训练,经过混合损失函数优化输出与无雨图像接近的处理图像,这一方法需要一个规模超过大多数现有雨滴数据集的数据集,以实现良好的训练效果。
11.然而,目前尚不存在适用于事件相机的雨滴识别算法。事件相机是一种特殊的相机,事件相机(event camera)是一种受生物启发的视觉传感器,与传统相机不同,事件相机当且仅当某个像素点的亮度变化累计达到一定阈值时,会输出一个数据,即一个“事件”(t,x,y,p),其中,t表示该事件发生的时间,(x,y)表示该事件发生的位置,p=0代表像素点因亮度下降被事件相机记录,p=1代表像素点因亮度上升被事件相机记录。与传统相机相比,事件相机具有异步响应、低时延、高动态范围、低功耗等特点,在机器视觉、自动驾驶、光流、运动捕捉等领域有着广泛的应用。
12.因此,需要发明一种基于事件相机的雨滴识别算法。


技术实现要素:

13.针对现有技术的缺陷,本发明的目的在于提供一种基于事件相机的雨滴识别算法,从事件相机所记录下的所有事件中,找到来源于雨滴的事件点。该算法通过对雨滴下落过程中的物理特征进行分析,建立了一个基于上述物理特征的时空相关模型,通过该模型,预测事件相机记录下的每一个事件产生自雨滴的概率,从而实现雨滴识别工作。
14.按照本发明的一个方面,提供一种基于事件相机的雨滴检测方法,其其包括如下步骤:
15.s1:使用事件相机采集一段降雨场景的数据,对于降雨或降雪场景的数据中的每个事件a,设置其初始概率p(a)=0,搜寻并确定事件a在时间、空间上的所有相邻事件(b1,b2,...,bi),其中,bi表示与事件a在时间、空间上相邻的第i个事件;
16.s2:依据雨滴下落过程中的动力学特征与光学特征,对每个事件a,计算事件a与所有相邻事件b之间的概率函数score(a,bi),概率函数score(a,bi)值越大,代表a事件与相邻事件b之间的时空关系越符合同一雨条纹内两个相邻事件点的时空关系;
17.s3:按照时间戳由小到大的顺序,逐步更新每个事件点a的概率;
18.s4:根据迭代完成后每个事件点a的概率值,将所有数据点区分为雨滴事件和非雨滴事件,从而完成雨滴识别工作。
19.进一步的,步骤s2中所述雨滴下落过程中的光学特征是指,对于rgb相机,一帧图像内,单个雨滴所占据的像素不大于一个像素点,
20.当背景被雨滴覆盖时,对应像素点的亮度将会上升,发生一次“一个雨滴出现在镜头上某个位置”这一事件,事件相机会记录下一个事件点(t,x,y,1),而当发生一次“一个雨滴从镜头上某个位置离开”这一事件时,事件相机会记录下一个事件点(t,x,y,0),按照时间戳方向将所有事件点(t,x,y,0)或者事件点(t,x,y,1)连接起来,能获得准确的雨滴运动轨迹,
21.其中,t表示事件点发生的时刻,x表明事件点发生处对应的横坐标,y表明事件点发生处对应的纵坐标,1表示事件点亮度增大,0表示时间点亮度降低。
22.进一步的,步骤s2中所述雨滴下落过程中的动力学特征是指,在镜头视野内,雨滴
将呈匀速直线运动状态,不考虑风的影响,理想情况下竖直方向上雨滴最终速度可近似表示为:
[0023][0024]
其中,v为竖直方向上雨滴下落的最终速度,ρ为雨滴密度,g为重力加速度,d为雨滴直径,μ为空气粘滞系数,
[0025]
认为雨滴下落过程中做匀速直线运动,且y方向上的速度分量必然会是匀速向下,水平方向上,相机视野内雨滴的运动速度由风速和相机自身在水平方向上的移动所决定,认为雨滴在水平方向上的运动速度u满足高斯分布:
[0026]
u~n(0,σ2)
[0027]
通过对雨滴条纹的观察,认为高斯分布标准差σ满足:
[0028]
σ=0.2v。
[0029]
进一步的,s1中,如果a、b两个事件所发生的时间差、在空间上的x方向与y方向上的坐标差小于“相邻阈值”(相邻阈值包括事件差dt,x方向坐标差dx,y方向上的坐标差dy,相邻阈值根据实际情况选定,相邻阈值没有具体的物理含义,表示两个点在x轴上的坐标差小于dx,y轴上的坐标差小于dy,事件发生的时间差小于dt,就认为是相邻的),则认为a、b两个事件为相邻事件。
[0030]
进一步的,对于事件a(t1,x1,y1,p1)与事件b(t2,x2,y2,p2),事件a先于事件b发生,t1《t2,有如下概率分布函数:
[0031][0032]
其中,score(a,b)为事件a与事件b之间的概率函数,(x1,y1)表示事件a发生位置的坐标,t1表示事件a的发生时间,p1表示事件a的极性,(x2,y2)表示事件b发生位置的坐标,t2表示事件b的发生时间,p2表示事件b的极性,
[0033]
当y方向上随着时间轴下降,且x方向上变化幅度小于y时,认为a-b之间符合雨滴的运动规律,得分为1,
[0034]
当y方向上随时间轴前进反而上升时,认为a-b之间不可能存在雨条纹,得分为-1,
[0035]
当y方向上随着时间轴下降,但x方向变化过大时(x方向变化值大于y方向变化值),得分为0,
[0036]
当y方向上没有运动,x方向上运动幅度也很小时(小于两个像素),得分为0.4。
[0037]
进一步的,步骤s3中,首先,按照每个事件点的t值,从小到大进行排列,沿着时间戳,从前往后依次更新每个事件点a的概率值p,事件点a的对应的概率值记为p1,然后,将时间戳反向排序,按照t值从大到小的顺序排列事件点,重复迭代,并将迭代后得到的事件点a对应的概率值记为p2,对每个事件点a,取p1、p2中较大的那一个,记为事件点a的真正概率值,
[0038]
具体的,概率值p的迭代计算为:
[0039][0040]
其中,p(a)为事件点a产生于雨滴运动的概率,(b1,b2,...,bi)为采集到的数据中事件点a在时间、空间上的相邻点事件,num(b1,b2,...,bi)是指事件a的相邻点的数量,score(a,bi)为事件a与所有相邻事件bi之间的概率函数,α∈[0,1]为相邻两个事件点之间的状态传递参数,p(bi)是指对于事件a的一个相邻点bi,事件点bi产生于雨滴运动的概率。
[0041]
进一步的,步骤s4中,设置一个概率阈值p0,对于每一个事件点a,若p(a)》p0,则将事件点a识别为雨滴事件,否则将事件点a识别为非雨滴事件,将所有事件点遍历完成后,即可实现雨滴识别工作。概率阈值p0取值经验为0.6-0.7。
[0042]
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
[0043]
本发明提出一种基于事件相机的图像处理方法,通过对雨滴下落过程中的物理特征进行分析,建立了基于上述事件相机中雨滴下落过程物理特征的时空相关模型,通过该模型,预测事件相机记录下的每一个事件产生自雨滴的概率,从而在缺少先验信息与真值图像的情况下,针对户外采集到的雨雪天气下的真实数据,完成雨滴识别工作。
附图说明
[0044]
图1为本发明实施例提供的一种基于事件相机的雨滴识别算法流程图。
[0045]
图2为本发明实施例中拍摄半空中降雨场景时,事件相机原始数据可视化结果。
[0046]
图3为与图2对应的雨滴检测结果。
[0047]
图4为本发明实施例中拍摄道路上降雨场景时,事件相机原始数据可视化结果。
[0048]
图5为与图4对应的雨滴检测结果
具体实施方式
[0049]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0050]
通常,雨雪天气会降低室外工作的相机所采集到的图像、视频的清晰度,且使得相机更不容易捕捉到目标物体从而造成信息缺失,对后续工作造成极大的负面影响。经过调查发现,目前不存在基于事件相机的雨滴检测方法,本发明提出一种基于事件相机的图像处理方法,通过对雨滴下落过程中的物理特征进行分析,建立了一个基于上述物理特征的时空相关模型,通过该模型,预测事件相机记录下的每一个事件产生自雨滴的概率,从而在缺少先验信息与真值图像的情况下,针对户外采集到的雨雪天气下的真实数据,完成雨滴识别工作。
[0051]
具体的,光学特征方面,对于传统rgb相机而言,一帧图像内,单个雨滴所占据的像素点很小。且由于雨滴带来的光线折射,可以将很大角度内的光线折射到镜头上,通常,当背景被雨滴覆盖时,这一像素点的亮度将会上升。上文中提到的,使用非深度学习方式的针对视频的雨滴识别与去除算法,绝大多数都建立在两个基本假设之上。两个基本假设是指假设单个雨滴所占据的像素点小于一个像素,假设雨滴是做均速直线运动。
[0052]
对于事件相机而言,则意味着某一时刻,“一个雨滴出现在镜头上某个位置”这一事件,最多只会产生一个被事件相机记录下的事件点,即前文中提到的,事件相机的一个输出数据(t,x,y,p),具体的,由于p=1表示亮度增大,p=0表示亮度降低,当发生一次“一个雨滴出现在镜头上某个位置”这一事件,事件相机会记录下一个事件点(t,x,y,1),而当发生一次“一个雨滴从镜头上某个位置离开”这一事件时,事件相机会记录下一个事件点(t,x,y,0)。因此,与其他一些占据多个像素点的物体不同(如数据采集过程中经常出现的行人、车辆、落叶、飞鸟等,或者当镜头本身运动时,背景中的所有物体都将处于运动状态),如果得到一段只由一个雨滴运动形成的事件点,那么按照时间戳方向将所有事件点(t,x,y,0)或者事件点(t,x,y,1)连接起来,即可得到准确的雨滴运动轨迹。
[0053]
运动特征方面,与其他运动形式(常出现在数据采集过程中的有行人的步行,车辆运动,树木树叶晃动及镜头本身移动时背景的整体移动等)相比,雨滴下落过程具有一些独特的物理特征。
[0054]
首先,在镜头视野内,由于下落距离已经足够长,雨滴将呈匀速直线运动状态。不考虑风的影响,理想情况下竖直方向上最终速度可近似表示为:
[0055][0056]
其中,v为竖直方向上雨滴下落的最终速度,ρ为雨滴密度,g为重力加速度,d为雨滴直径,μ为空气粘滞系数。
[0057]
由于短时间内风速可视为不变,因此,可认为雨滴下落过程中做匀速直线运动,且y方向上的速度分量必然会是匀速向下,水平方向上,相机视野内雨滴的运动速度由风速和相机自身在水平方向上的移动所决定,可认为雨滴在水平方向上的运动速度u满足高斯分布:
[0058]
u~n(0,σ2)
[0059]
通过对雨滴条纹的观察,可近似认为高斯分布标准差满足:
[0060]
σ=0.2v
[0061]
本发明是这样实现的,对事件相机记录下的每一个事件a,设置概率函数p(a)∈[0,1],p(a)越大,表示该事件a产生自雨滴的概率越大,初始值设为0。对于事件a在时间、空间上的相邻事件(b1,b2,...,bi),设置概率函数score(a,bi)∈[0,1],score(a,bi)越大,表示a-bi在物理特征上越接近雨滴下落轨迹。从而,综合考虑事件a的每个相邻事件产生自雨滴的概率,以及事件a与每个相邻事件之间的概率函数score(a,bi),即可得到事件a产生自雨滴的概率。
[0062]
进一步的,所述的基于事件相机的雨滴识别算法包含以下步骤:
[0063]
步骤一,使用事件相机采集一段降雨或降雪场景的数据,对于数据中的每个事件a,设置初始概率p(a)=0,并找到事件a在时间、空间上的所有相邻事件(b1,b2,...,bi);
[0064]
步骤二,依据前文总结出的,雨滴下落过程中的动力学特征与光学特征,对每个事件a,计算a与所有相邻事件之间的概率函数score(a,bi),该值越大,代表a事件与相邻事件之间的时空关系越符合同一雨条纹内两个相邻事件点的时空关系;
[0065]
步骤三,按照时间戳由小到大的顺序,逐步更新每个事件点a的概率;
[0066]
步骤四,根据迭代完成后每个事件点a的概率值,将所有数据点区分为雨滴事件和
非雨滴事件,从而完成雨滴识别工作。
[0067]
具体的,步骤一中,如果a、b两个事件所发生的时间差、在x方向与y方向上的坐标差都较小,则认为a、b两个事件为相邻事件。
[0068]
步骤二中,考虑到绝大多数情况下,雨滴下落过程接近匀速,且在y方向上单调下降,绝大多数情况下x方向运动速度小于y方向运动速度,对于事件a(t1,x1,y1,p1)与事件b(t2,x2,y2,p2),事件a先于事件b发生,t2《t2,给出如下概率分布函数:
[0069][0070]
当且仅当y方向上随着时间轴下降,且x方向上变化幅度小于y时,认为a-b之间符合雨滴的运动规律,得分为1。由于雨滴几乎不可能上升,当y方向上随时间轴前进反而上升时,认为a-b之间不可能存在雨条纹,得分为-1。当y方向上随着时间轴下降,但x方向变化过大时,得分为0,最后根据前文中提到的关于水平速度的高斯分布,95%的情况下,水平方向位移小于0.4倍竖直方向位移,因此设置当y方向上没有运动,x方向运动幅度也很小时,得分为0.4。
[0071]
步骤三中,首先将事件相机采集并记录下来的所有事件按照时间戳进行排序,即按照每个事件点的t值,从小到大进行排列。这样一来,当沿着时间戳,从前往后依次更新每个事件点的p值时,同时也在进行迭代工作。因此,对于时间戳上较为靠前的事件点,p值可能因为迭代次数偏少而准确度不高,为了解决这一问题,可将上述步骤得到的,事件点a的p值记为p1,然后将时间戳反向排序,按照t值从大到小的顺序排列事件点,重复上述算法,并将迭代后得到的,事件点a对应的p值记为p2,此时,对于时间戳上较为靠后的事件点,p2值可能因为迭代次数偏少而准确度不高,对此,对每个事件点a,取p1、p2中较大的那一个,记为事件点a的p值,即可规避迭代次数偏少影响准确率的问题。
[0072]
具体的,针对p值的迭代算法为:
[0073][0074]
其中,p(a)为事件点a产生于雨滴运动的概率,(b1,b2,...,bi)为采集到的数据中事件点a在时间、空间上的相邻点,score(a,bi)为步骤二所给出的雨滴相关性得分,α∈[0,1]为相邻两个事件点之间的状态传递参数。
[0075]
步骤四中,可设置一个概率阈值p0,对于每一个事件点a,若p(a)》p0,则将事件点a识别为雨滴事件,否则将事件点a识别为非雨滴事件。将所有事件点遍历完成后,即可实现雨滴识别工作。
[0076]
为了更为详细的说明本发明方法,本发明实施例提供一种基于事件相机的雨滴识别方法,属于图像处理技术领域。
[0077]
图1为本发明实施例提供的一种基于事件相机的雨滴识别算法流程图,如图1所示,本发明实例包括以下步骤:
[0078]
步骤一,使用事件相机采集雨雪天气下的待处理数据:采用prophesee生产的
prophesee gen4事件相机进行实验。prophesee gen4镜头视角达82
°
,芯片分辨率为1280x720,相机通过usb3.0与笔记本进行连接进行数据传输。数据采集过程中,在雨雪天气下,使用gen4相机对户外场景进行一段时间的拍摄录制。
[0079]
步骤二,数据的初步处理:将事件相机记录下的数据转化为.csv文件(gen4事件相机记录下的数据格式为.raw),文件的每一行代表一个事件点的全部信息(t,x,y,p),所有数据点的排列方式为沿着时间戳排列,即按照t值递增的方向排列所有事件点。
[0080]
步骤三,对于数据中的每个事件a,设置初始概率p(a)=0,并找到事件a在时间、空间上的所有相邻事件(b1,b2,...,bi),寻找方法为,给定阈值dt,dx,dy,若事件a(t1,x1,y1,p1)与事件b(t2,x2,y2,p2)满足:
[0081]
|t
1-t2|《dt
[0082]
|x
1-x2|《dx
[0083]
|y
1-y2|《dy
[0084]
则认为事件a与事件b是时空上的相邻事件。
[0085]
步骤四,按沿时间戳由小到大的顺序,依次计算事件a与所有相邻事件之间的概率函数score(a,bi),计算方法已在上文中提及,具体为:
[0086][0087]
步骤五,按沿时间戳从小到大的顺序,依次更新每个事件点的p值,计算公式已在上文中给出:
[0088][0089]
其中,p(a)为事件点a产生于雨滴运动的概率,(b1,b2,...,bi)为采集到的数据中事件点a在时间、空间上的相邻点事件,num(b1,b2,...,bi)是指事件a的相邻点的数量,score(a,bi)为事件a与所有相邻事件bi之间的概率函数,α∈[0,1]为相邻两个事件点之间的状态传递参数,p(bi)是指对于事件a的一个相邻点bi,事件点bi产生于雨滴运动的概率。本次数据处理过程中,取相邻两个事件点之间的,状态传递参数α=0.8。
[0090]
对于雨条纹上的事件点而言,不存在随着时间戳的延伸,y方向上反而上升的情况,因此步骤四中得到的score值不可能为-1,在收敛前p值将随着迭代次数的增加而不断增大,因此,对于p值小于下述步骤六中所给出概率阈值的事件点,将这一计算出的概率值记为p1,将所有事件点按时间轴反向排列后,计算出的概率值记为p2,最终的概率值p可表示为:
[0091]
p=max(p1,p2)
[0092]
接着进入步骤六。
[0093]
步骤六,设置一个概率阈值p0。对于每个事件点a,若:
[0094]
p(a)》p0[0095]
则认为事件a是由雨滴运动形成的,反之则认为事件a与雨滴运动无关。将一段时
间内的,所有被认为产生自雨滴运动的事件点绘制到同一张图上,如图3、图5所示,图片中的灰色部分代表该像素点位置上存在事件点,作为对照,将同一时间段内所有事件点绘制到另一幅图上,如图2、图4所示。
[0096]
图2为本发明实施例中拍摄半空中降雨场景时,事件相机原始数据可视化结果,图3为与图2对应的雨滴检测结果;图4为本发明实施例中拍摄道路上降雨场景时,事件相机原始数据可视化结果,图5为与图4对应的雨滴检测结果。综合对比可知,图2至图5展示了不同情况下,原始数据与识别出的雨滴事件点间的对比情况,检测结果与事实相吻合。通过本发明提供的雨滴识别方法,不同于以往所有基于传统rgb相机的雨滴识别与去除方法,可以以事件相机记录下的“事件”为处理对象,有效的识别出所有与雨滴运动相关的事件点。
[0097]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1