首页> 中国专利> 基于分布式计算的视频去雾系统及视频去雾方法

基于分布式计算的视频去雾系统及视频去雾方法

摘要

本发明公开了基于分布式计算的视频去雾系统及视频去雾方法,本发明系统包括部署在分布式计算架构上的输入节点、透射率估计模块、大气光照估计模块、无雾图像生成模块,输出节点,每个模块均有多台计算机以分布式架构的方式负责执行,本发明方法将输入的有雾视频将被分拆成帧流,透射率估计模块同时计算数帧的透射率,大气光照度估计模块计算出对应帧的大气光照度,无雾图像生成模块产生有雾帧所对应的无雾图像,并按照帧的正确序列顺序输出。本发明拥有更高的处理速度,具备实时处理能力。

著录项

  • 公开/公告号CN105979120A

    专利类型发明专利

  • 公开/公告日2016-09-28

    原文格式PDF

  • 申请/专利权人 华南农业大学;

    申请/专利号CN201610393336.8

  • 发明设计人 王美华;麦嘉铭;梁云;

    申请日2016-06-03

  • 分类号

  • 代理机构广州市红荔专利代理有限公司;

  • 代理人张文

  • 地址 510642 广东省广州市天河区五山路483号

  • 入库时间 2023-06-19 00:35:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-12

    授权

    授权

  • 2016-10-26

    实质审查的生效 IPC(主分类):H04N5/21 申请日:20160603

    实质审查的生效

  • 2016-09-28

    公开

    公开

说明书

技术领域

本发明涉及计算机视觉领域,更具体地,涉及到一种基于分布式计算的视频去雾系统及视频去雾方法。

背景技术

雾霾天气致使视频设备所摄取的视频数据模糊不清,严重降低了数据的质量。目标跟踪系统、目标识别系统等高度依赖于视频数据清晰度的应用将因此而无法正常运作。视频去雾能够以低清晰度的有雾视频作为输入,经一系列处理后,输出无雾的视频数据。因此,视频去雾对视频数据的分析和处理具有极其重要的意义。

目前视频去雾的方法均只针对去雾效果,并不着重于其性能,因而普遍存在着效率瓶颈,无法达到实时处理的要求。然而,大部分的视频数据分析系统,在视频数据的清晰度上有特殊要求的同时,往往还需要具备实时处理的能力。过于缓慢的视频去雾处理速度,将无法满足各大视频处理系统的性能指标,导致其实用性不高,推广和应用也受到了局限。另一方面,由于大部分视频去雾算法所涉及的一些固有的基本的运算步骤,其本身在计算时具有较高的时间复杂度,尝试从视频去雾算法本身出发提高整体效率也在一定程度上存在着困难。如何进一步提高视频去雾方法的处理效率是一个关键且有现实意义的问题。

发明内容

本发明的目的在于进一步提高视频去雾的处理速度,以使其达到实时处理的要求。

为实现上述目的,本发明公开了基于分布式计算的视频去雾系统,采用Apache Storm作为分布式计算的实现架构,包括部署在分布式计算架构上输入节点、透射率估计模块、大气光照估计模块、无雾图像生成模块,输出节点,各模块分5层部署:第1层为输入节点,读取视频帧流;第2层为透射率估计模块,由多个节点组成,每个节点都部署有一个独立的透射率估计单元,用以估计单个图像帧所对应的透射率,并将结果输出到第3层;第3层为大气光照估计模块,由多个节点组成,每个节点都部署有一个独立的大气光照估计单元,用以接收第2层的透射率并估计对应的大气光照度,将结果输出到第4层;第4层为无雾图像生成模块,由多个节点组成,每个节点都部署有一个独立的无雾图像生成单元,用以接收第3层输出的大气光照度,同时生成无雾图像帧, 并输出到第5层;第5层为输出节点,用于输出视频流。

进一步地,所述的第1层的输入节点以Apache Storm中的Spout实现,第2~5层的所有节点以Apache Storm中的Blot实现。

其中,所述的输出节点将无雾图像帧按照视频序列的正确顺序排序后输出视频流。

优选地,所述的输入节点、透射率估计模块、大气光照估计模块、无雾图像生成模块,输出节点,平均配到若干台计算机上运行。

本发明还公开了的基于分布式计算的视频去雾方法,包括以下步骤:

S1.将有雾视频以帧流的形式作为输入,以每秒n帧的速率,通过输入节点输入图像帧It1,It2,…,Itn到Redis缓冲池中;

S2.输入节点不断从Redis缓冲池中读取有雾的图像帧,并输出到透射率估计模块中;

S3.透射率估计模块同时估计n帧图像的透射率Tt1,Tt2,…,Ttn,并将结果输入到大气光照度估计模块中;

S4.大气光照度估计模块根据图像帧It1,It2,…,Itn的透射率Tt1,Tt2,..,Ttn,同时估计出其对应的大气光照度At1,At2,…,Atn,并将结果输出到无雾图像生成模块中;

S5.无雾图像生成模块根据It1,It2,…,Itn和Tt1,Tt2,..,Ttn以及At1,At2,…,Atn,生成无雾帧Jt1,Jt2,…,Jtn

S6.对无雾帧Jt1,Jt2,…,Jtn按照正确的序列顺序进行排序,得到排好序的无雾帧Jt,Jt+1,…,Jt+n-1,其中Jt表示Jt1,Jt2,…,Jtn中序列顺序最前的无雾帧;

S7.将排好序的无雾帧Jt,Jt+1,…,Jt+n-1输出到Redis缓冲池;

S8.从Redis缓冲池中不断读取无雾帧,重新合成视频流并通过输出节点输出。

其中,所述步骤S3中的透射率估计模块,由多个透射率估计单元组成,每个透射率估计单元的实现方式均相同,其具体实现如下:

给定一帧有雾图像I,透射率估计单元计算其对应的透射率:

t(x)=e-βminy=Ω(x)[α0+α1Ival(y)+α2Isat(y)],

其中,t是I所对应的透射率,Ω(x)是尺寸为15╳15的以x为中心的局部块,β是大气散射系数,β=1.0,Ival和Isat分别是HSV颜色空间下的亮度及饱和度,α0、α1和α2为线性系数,α0=0.1893,α1=1.0267,α2=-1.2966。

其中,步骤S4中大气光照度估计模块,由多个大气光照度估计单元组成,每个估 计单元的实现方式均相同,其具体实现如下:

A=I(x),x{x|y:t(y)>t(x)}

其中,A表示图像帧I所对应的大气光照度。

其中,步骤S5中无雾图像生成模块,由多个无雾图像生成单元,每个单元均采用同样的方法复原无雾图像,具体的复原方法如下:

根据有雾图像I、透射率t、大气光照度A,结合大气散射模型,可由下式计算无雾帧J,从而复原出无雾图像:

J(x)=I(x)-Amax(t(x),0.1)+A.

与现有技术相比,本发明具有以下有益效果:

1)结合分布式计算技术,可并行对多帧有雾视频进行处理,解决了视频去雾的处理效率瓶颈。大幅度缩短了对视频的处理时间,具备实时处理的能力。

2)具有更高的可扩展性,通过不断扩展计算机的数量,可进一步提高视频处理的效率,且没有上限限制,其效率主要取决于计算机的平均性能及其数量。

附图说明

图1为本发明的方法中所涉及各模块在分布式架构中的部署形式。

图2为本发明的方法执行步骤示意图。

图3为本发明方法的处理效率统计图。

具体实施方式

下面结合附图对本发明做进一步的描述,但本发明的实施方式并不限于此。

如图1所示,本发明公开了基于分布式计算的视频去雾系统,采用Apache Storm作为分布式计算的实现架构,包括部署在分布式计算架构上输入节点、透射率估计模块、大气光照估计模块、无雾图像生成模块,输出节点。

图1中每个圆表示分布式框架中的一个节点,相应代表着一个独立线程。各模块分5层部署,具体如下详述。

第1层作为输入节点,读取视频帧流,该节点以Apache Storm中的Spout实现,其余所有节点都以Apache Storm中的Bolt实现。

第2层是透射率估计模块,由多个节点组成,每个节点均部署有一个独立的透射率估计单元,用以估计单个图像帧所对应的透射率,并将结果输出到第3层,不同节点之 间的估计单元的相互独立。

第3层为大气光照度估计模块,与第2层类似,由多个节点组成,每个节点部署一个独立的大气光照度估计单元,节点间的单元同样相互独立,每个节点在空闲时接收第2层输出的透射率,估计出对应的大气光照度,并输出到第4层。

第4层为无雾图像生成模块,可分解成多个无雾图像生成单元,每个单元独立地部署在一个单独的节点上,负责接收第3层输出的大气光照度,同时生成无雾图像,输出到第5层。

第5层为单个输出节点,用于对输出的无雾图像帧按照视频序列的正确顺序重新排序,并输出视频流。

给定m台物理计算机,所有独立线程(包括各输入节点、透射率估计模块中的估计单元、大气光照度估计模块中的估计单元、无雾图像生成模块中的生成单元以及输出节点)将平均分配到这m台计算机上运行。如图3所示,独立线程分配到3台物理计算机上运行时,在同样的分辨率时,其帧率显著大于1台计算机,极大的提高了处理效率,能满足实时处理的要求。

基于上述系统,本发明还公开了视频去雾的处理方法,其执行步骤如附图2所示,具体包括如下步骤:

S1.将有雾视频以帧流的形式作为输入,以每秒n帧的速率,输入图像帧It1,It2,…,Itn到Redis缓冲池中。

S2.输入节点从Redis缓冲池中读取有雾的图像帧,并且输出到透射率估计模块;

S3.透射率估计模块由多个透射率估计单元组成,每个透射率估计单元均根据有雾图像I计算其各图像帧的透射率,计算公式如公式1所示。

其中,t是I所对应的透射率,Ω(x)是尺寸为15╳15的以x为中心的局部块,β是大气散射系数,β=1.0,Ival和Isat分别是HSV颜色空间下的亮度及饱和度,α0、α1和α2为线性系数,α0=0.1893,α1=1.0267,α2=-1.2966。

根据公式1得到n帧图像的透射率Tt1,Tt2,…,Ttn,并将结果输入到大气光照度估计模块中。

S4.大气光照度估计模块由多个大气光照度估计单元组成,根据图像帧It1,It2,…,Itn>t1,Tt2,..,Ttn,每个大气光照度估计单元按公式2计算图像帧对应的大气光照度At1,At2,…,Atn。并将结果输出到无雾图像生成模块中。

其中,A表示图像帧I所对应的大气光照度。

S5.无雾图像生成模块由多个无雾图像生成单元组成,根据It1,It2,…,Itn和Tt1,Tt2,..,Ttn以及At1,At2,…,Atn,每个无雾图像生成单元根据公式3计算生成的无雾帧Jt1,Jt2,…,Jtn

S6.输出节点对无雾帧Jt1,Jt2,…,Jtn按照正确的序列顺序进行排序,得到排好序的无雾帧Jt,Jt+1,…,Jt+n-1,其中Jt表示Jt1,Jt2,…,Jtn中序列顺序最前的无雾帧;

S7.输出节点进一步将排好序的无雾帧Jt,Jt+1,…,Jt+n-1输出到Redis缓冲池;

S8.从Redis缓冲池中不断读取无雾帧,重新合成视频流并通过输出节点输出。

综上,本发明方法将输入的有雾视频将被分拆成帧流,以每秒数帧的形式传入透射率的计算模块,该模块同时计算数帧的透射率,并将结果输出到大气光照度的估计模块,大气光照度估计模块同时计算出对应帧的大气光照度,把结果输出到无雾图像的生成模块,无雾图像生成模块产生有雾帧所对应的无雾图像,输出节点按照帧的正确序列顺序输出。本发明系统和方法可用于复原远景及近景,复原后远景的轮廓明显,色彩自然逼真,近景的图像文字清晰可见,本发明每个模块均有多台计算机以分布式架构的方式负责执行,流水线式运作,拥有更高的处理速度,具备实时处理能力,适于推广应用。

以上所述的本发明的实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神原则之内所作出的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号