CN114972050A - 一种图像修复方法及装置 - Google Patents
一种图像修复方法及装置 Download PDFInfo
- Publication number
- CN114972050A CN114972050A CN202110221887.7A CN202110221887A CN114972050A CN 114972050 A CN114972050 A CN 114972050A CN 202110221887 A CN202110221887 A CN 202110221887A CN 114972050 A CN114972050 A CN 114972050A
- Authority
- CN
- China
- Prior art keywords
- image
- repaired
- video frame
- sequence
- optical flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 117
- 230000003287 optical effect Effects 0.000 claims abstract description 150
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000013528 artificial neural network Methods 0.000 claims description 57
- 230000033001 locomotion Effects 0.000 claims description 47
- 238000012549 training Methods 0.000 claims description 43
- 230000015654 memory Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 13
- 230000003068 static effect Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 16
- 230000003993 interaction Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 15
- 230000008439 repair process Effects 0.000 description 8
- 230000005236 sound signal Effects 0.000 description 8
- 230000003042 antagnostic effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000003708 edge detection Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 210000003169 central nervous system Anatomy 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013107 unsupervised machine learning method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/38—Registration of image sequences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种图像修复方法及装置,涉及图像处理技术领域。本申请中,获取待修复图像以及至少一个与所述待修复图像相关的参考图像,得到第一图像序列;确定所述第一图像序列中相邻图像间的光流;根据所述相邻图像间的光流,确定所述待修复图像中的污染区域;根据所述第一图像序列以及所述相邻图像间的光流,对所述待修复图像中的污染区域进行图像修复。采用本申请可提高图像修复的可靠性。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像修复方法及装置。
背景技术
在自动驾驶、智慧驾驶等场景中,经常使用车辆上安装的图像采集装置,检测车辆周围环境信息,用以进行判断和决策。比如,使用车辆上安装的摄像头采集车辆周围的人车障碍物、道路旁的交通标志、交通信号灯等图像,用以判断道路交通拥堵情况或者进行车辆控制决策。
安装在车辆上用于采集车辆周围环境的摄像头通常裸露在外,在长时间使用后,由于静电、泼溅等原因,摄像头的镜头上极易粘附灰尘等污渍。这些粘附在镜头上的污渍导致摄像头采集的图像中部分区域被污渍遮挡,导致局部图像缺失。这部分被污渍遮挡的区域称为污染区域。将存在污染区域的图像用于车辆环境判断或者车辆控制决策,将影响判断和决策的准确性,产生行车安全风险。
发明内容
本申请的目的之一在于提供一种图像修复方法及装置,用以对存在污染区域的图像进行修复,并提高图像修复的可靠性。
第一方面,提供一种图像修复方法,包括:
获取待修复图像以及至少一个与所述待修复图像相关的参考图像,得到第一图像序列;
确定所述第一图像序列中相邻图像间的光流;
根据所述相邻图像间的光流,确定所述待修复图像中的污染区域;
根据所述第一图像序列以及所述相邻图像间的光流,对所述待修复图像中的污染区域进行图像修复。
上述实现方式中,由于参考图像与待修复图像具有相关性,并且相邻图像间的光流可以反映图像中物体或对象的运动信息,对待修复图像中的污染区域内的图像恢复具有参考价值,因此基于第一图像序列(包括待修复图像和参考图像)中相邻图像间的光流,对待修复图像进行修复,可以提高图像修复的可靠性。
在一种可能的实现方式中,所述至少一个与所述待修复图像相关的参考图像和所述待修复图像是同一图像采集装置在同一时间段内采集的,且所述至少一个参考图像的采集时间在所述待修复图像的采集时间之前。
上述实现方式中,由于参考图像和待修复图像是同一图像采集装置在同一时间段内采集的,参考图像的采集时间在待修复图像的采集时间之前,因此参考图像和待修复图像在时间和/或空间上具有一定相关性,进而根据参考图像对待修复图像进行图像修复,可以提高图像修复的可靠性。
在一种可能的实现方式中,所述确定所述第一图像序列中相邻图像间的光流,以及所述根据所述相邻图像间的光流,确定所述待修复图像中的污染区域,包括:
将所述第一图像序列输入第一生成对抗网络;
获得所述第一生成对抗网络的输出,所述第一生成对抗网络的输出包括:所述第一图像序列中相邻图像间的光流以及所述待修复图像中的污染区域。
上述实现方式中,由于使用生成对抗网络得到第一图像序列中相邻图像间的光流和待修复图像的污染区域,因此可以基于生成对抗网络的高可靠性优势,保证相邻图像间的光流以及图像污染区域的计算具有高可靠性。
在一种可能的实现方式中,所述根据所述相邻图像间的光流,对所述待修复图像中的污染区域进行图像修复,包括:
将所述第一图像序列、所述相邻图像间的光流、污染区域掩码图像输入第二生成对抗网络,所述污染区域掩码图像用于指示所述待修复图像中的污染区域;
获得所述第二生成对抗网络的输出,所述第二生成对抗网络的输出包括:修复后的所述待修复图像。
上述实现方式中,由于使用生成对抗网络得到第一图像序列中相邻图像间的光流和待修复图像的污染区域,因此可以基于生成对抗网络的高可靠性优势,保证图像修复的可靠性。
在一种可能的实现方式中,所述确定所述第一图像序列中相邻图像间的光流,包括:确定所述第一图像序列中,相邻图像间的正时序光流和反时序光流中的至少一项。
上述实现方式中,由于相邻图像间的正时序光流或反时序光流可以反映出物体或对象的运动信息,因此根据相邻图像间的光流进行图像修复,可以提高图像修复的可靠性。进一步的,由于污渍遮挡镜头的原因,正时序光流和反时序光流可能存在微小差异,将图像间的正时序光流以及反时序光流用于后续的图像修复过程,相较于仅将正时序光流或者仅将反时序光流用于后续图像修复过程,能够为图像修复过程提供更多信息,因此可以进一步提高图像修复的可靠性。
在一种可能的实现方式中,所述获取待修复图像以及至少一个参考图像,得到第一图像序列,包括:
获取所述待修复图像;
若所述待修复图像中存在污染区域,且所述污染区域的面积大于或等于设定阈值,则获取与所述待修复图像相关的至少一个参考图像,得到所述第一图像序列。
上述实现方式中,当待修复图像中的污染区域的面积大于或等于设定阈值时,才对该图像进行修复,而在其他情况下(比如图像中存在污染区域但污染区域小于设定阈值,或者图像中不存在污染区域)可不启动图像修复,以减小计算开销。
进一步的,若所述待修复图像中存在污染区域,或者所述修复图像中存在污染区域且所述污染区域的面积大于或等于设定阈值,则所述方法还包括:启动出风口朝向目标图像采集装置的风扇,所述目标图像采集装置用于采集所述第一图像序列。
上述实现方式中,在满足图像修复条件时,还可以进一步通过启动风扇,使得风扇的出风口吹出的风朝向图像采集装置,以试图通过物理方式去除该图像采集装置的镜头上的污渍,以减小或消除后续该图像采集装置采集的图像中的污染区域。
在一种可能的实现方式中,所述获取待修复图像以及至少一个参考图像之前,还包括:
获取车辆运动状态;
若根据所述车辆运动状态确定车辆处于静止,则指示图像采集装置采集第二图像序列,所述第二图像序列中各图像对应的采集参数不相同;或者,若根据所述车辆运动状态确定车辆处于运动,则获取图像采集装置按照设定采集频率采集的第二图像序列;
所述获取待修复图像以及至少一个与所述待修复图像相关的参考图像,得到第一图像序列,包括:
从所述第二图像序列中获取所述待修复图像以及所述至少一个参考图像,得到所述第一图像序列。
上述实现方式中,当车辆静止时,通过使用不同的采集参数进行图像采集,可以针对同一时间段内的同一场景,使得采集得到的图像有所差异,相对于采集单张图像或者不调整采集参数采集的多张图像,可以获得更多信息,有助于图像修复,从而可以提高图像修复的可靠性。
第三方面,提供一种第一神经网络训练方法,包括:第一阶段训练和第二阶段训练;
所述第一阶段训练包括:
将第一样本输入第一神经网络,得到第一视频帧和第三视频帧间的光流,所述第一样本包括所述第一视频帧、第二视频帧和所述第三视频帧;
根据所述第一视频帧、所述第三视频帧,以及所述第一视频帧和所述第三视频帧间的光流,得到预测的第二视频帧;
根据所述预测的第二视频帧以及所述第一样本中的第二视频帧,确定所述预测的第二视频帧的重建损失;
根据所述重建损失,调整所述第一神经网络的参数;
所述第二阶段训练包括:
将第二样本输入所述第一阶段训练后得到的第一神经网络,得到预测的第二视频帧中的污染区域,所述第二样本包括第一视频帧、第二视频帧和第三视频帧,所述第一视频帧、第二视频帧和第三视频帧均包含污染区域;
确定预测的第二视频帧中的污染区域与所述第二样本中的第二视频帧的污染区域的重合度;
根据所述重合度,调整所述第一神经网络的参数。
第四方面,提供一种第二神经网络训练方法,包括:
将第三样本中的前N-1个视频帧输入第一神经网络,得到相邻图像间的光流以及污染区域掩码图像,所述第三样本为包含有N个视频帧的视频帧序列,所述视频帧序列中的前N-1个视频帧包含有污染区域,N为大于2的整数;
将所述相邻图像间的光流、污染区域掩码图像,以及所述第三样本中的前N-1个视频帧输入第二神经网络,得到预测的第N个视频帧;
根据所述第三样本中的第N个视频帧以及所述预测的第N个视频帧在污染区域内的图像,确定所述预测的第N个视频帧在污染区域内的图像的重建损失;
根据所述重建损失,调整所述第二神经网络的参数。
第四方面,提供一种图像修复装置,包括:
获取模块,用于获取待修复图像以及至少一个与所述待修复图像相关的参考图像,得到第一图像序列;
第一处理模块,用于确定所述第一图像序列中相邻图像间的光流,以及,根据所述相邻图像间的光流,确定所述待修复图像中的污染区域;
第二处理模块,用于根据所述第一图像序列以及所述相邻图像间的光流,对所述待修复图像中的污染区域进行图像修复。
在一种可能的实现方式中,所述至少一个与所述待修复图像相关的参考图像和所述待修复图像是同一图像采集装置在同一时间段内采集的,且所述至少一个参考图像的采集时间在所述待修复图像的采集时间之前。
在一种可能的实现方式中,所述第一处理模块,具体用于:
将所述第一图像序列输入第一生成对抗网络;
获得所述第一生成对抗网络的输出,所述第一生成对抗网络的输出包括:所述第一图像序列中相邻图像间的光流以及所述待修复图像中的污染区域。
在一种可能的实现方式中,所述第二处理模块,具体用于:
将所述第一图像序列、所述相邻图像间的光流、污染区域掩码图像输入第二生成对抗网络,所述污染区域掩码图像用于指示所述待修复图像中的污染区域;
获得所述第二生成对抗网络的输出,所述第二生成对抗网络的输出包括:修复后的所述待修复图像。
在一种可能的实现方式中,所述第一处理模块,具体用于:确定所述第一图像序列中,相邻图像间的正时序光流和反时序光流中的至少一项。
在一种可能的实现方式中,所述获取模块,具体用于:
获取所述待修复图像;
若所述待修复图像中存在污染区域,且所述污染区域的面积大于或等于设定阈值,则获取与所述待修复图像相关的至少一个参考图像,得到所述第一图像序列。
进一步的,还包括第三处理模块;
所述第三处理模块,用于若所述待修复图像中存在污染区域,或者所述修复图像中存在污染区域且所述污染区域的面积大于或等于设定阈值,则启动出风口朝向目标图像采集装置的风扇,所述目标图像采集装置用于采集所述第一图像序列。
在一种可能的实现方式中,所述获取模块,还用于:
获取待修复图像以及至少一个参考图像之前,获取车辆运动状态;
若根据所述车辆运动状态确定车辆处于静止,则指示图像采集装置采集第二图像序列,所述第二图像序列中各图像对应的采集参数不相同;或者,若根据所述车辆运动状态确定车辆处于运动,则获取所述图像采集装置按照设定采集频率采集的第二图像序列;
所述获取模块,具体用于:从所述第二图像序列中获取所述待修复图像以及所述至少一个参考图像,得到所述第一图像序列。
第五方面,提供一种车载终端,所述车载终端包括:一个或多个处理器;一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述车载终端执行如上述第一方面、第二方面或第三方面中任一项所述的方法。
第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在车载终端上运行时,使得所述车载终端执行如上述第一方面、第二方面或第三方面中任一项所述的方法。
第七方面,提供一种计算机程序产品,所述计算机程序产品在被计算机调用时,使得所述计算机执行如上述第一方面、第二方面或第三方面中任一项所述的方法。
以上第二方面到第七方面的有益效果,请参见第一方面的有益效果,不重复赘述。
附图说明
图1为本申请实施例提供的一种可能的网络架构示意图;
图2为本申请实施例提供的一种车辆结构示意图;
图3为本申请实施例提供的图像修复方法的流程示意图;
图4为本申请实施例中污染区域掩码图像示意图;
图5为本申请实施例中图像修复原理示意图;
图6a为本申请实施例中第一生成对抗网络的结构示意图;
图6b为本申请实施例中第二生成对抗网络的结构示意图;
图7为本申请实施例中的一种实际场景下的图像修复流程示意图;
图8为本申请实施例中图像修复方法的效果示意图;
图9为本申请实施例中的第一神经网络训练方法的流程示意图;
图10为本申请实施例中的第二神经网络训练方法的流程示意图;
图11为本申请实施例提供的图像修复装置的结构示意图;
图12为本申请实施例提供的电子设备的结构示意图。
具体实施方式
本申请实施例中的术语“***”和“网络”可被互换使用。“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C、A和B、A和C、B和C、或A和B和C。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
方法实施例中的具体操作方法也可以应用于装置实施例或***实施例中。
为了更清楚地理解本申请实施例,下面首先对本申请实施例中涉及的技术以及技术术语进行说明。
(1)人工神经网络
人工神经网络(artificial neural network,ANN),简称神经网络(neuralnetwork,NN)或类神经网络,在机器学习和认知科学领域,是一种模仿生物神经网络(如动物的中枢神经***,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。神经网络由大量的人工神经元联结进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应***,通俗的讲就是具备学习功能。现代神经网络是一种非线性统计性数据建模工具,神经网络通常是通过一个基于数学统计学类型的学习方法(learning method)得以优化,所以也是数学统计学方法的一种实际应用,通过统计学的标准数学方法能够得到大量的可以用函数来表达的局部结构空间;另一方面,在人工智能学的人工感知领域,通过数学统计学的应用可以来做人工感知方面的决定问题(也就是说通过统计学的方法,人工神经网络能够类似人一样具有简单的决定能力和简单的判断能力),这种方法比起正式的逻辑学推理演算更具有优势。
人工神经网络在使用过程中一般分两个阶段:训练阶段和应用阶段。在训练阶段需要使用大量数据集对人工神经网络进行训练,在应用阶段使用经过训练的人工神经网络解决问题,比如使用人工神经网络进行图像修复。
在本申请的一些实施例中,可使用人工神经网络对图像进行修复。本申请实施例描述了在应用阶段使用人工神经网络进行图像修复。人工神经网络的图像修复能力,取决于人工神经网络的设计以及输入训练集的多样性。
(2)生成对抗网络
生成对抗网络(generative adversarial network,GAN)属于人工神经网络的一种,采用非监督式机器学习方法,通过让两个人工神经网络相互博弈的方式进行学习。生成对抗网络由一个生成网络与一个判别网络组成。生成网络从潜在空间(latent space)中随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入则为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。而生成网络则要尽可能地欺骗判别网络。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。
在本申请的一些实施例中,可使用生成对抗网络确定图像间光流以及图像的污染区域;在另一些实施例中,可使用生成对抗网络对图像进行修复。
(3)光流
光流(optical flow or optic flow)是关于计算机视频领域中的物体运动检测中的概念。用来描述相对于观察者的运动所造成的观测目标、表面或边缘的运动。光流法在样型识别、计算机视觉以及其他影像处理领域中非常有用,可用于运动检测、物件切割、碰撞时间与物体膨胀的计算、运动补偿编码,或者通过物体表面与边缘进行立体的测量等。光流表达了图像的变化,由于它包含了目标运动的信息,因此可被观察者用来确定目标的运动情况。由光流的定义可以引申出光流场,它是指图像中所有像素点构成的一种二维瞬时速度场。
在计算机视觉中,图像中对象的移动可以是相机移动或者物体移动引起的。本申请实施例中,采用光流的方式来描述图像采集装置(如摄像头)所拍摄的对象的移动。具体的,可利用图像序列中的像素在时间域上的变化、相邻帧之间的相关性来找到的上一帧跟当前帧间存在的对应关系,计算出相邻帧之间物体的运动信息。可以计算相邻图像间的正时序光流也可以计算反时序光流。以相邻图像为第一图像和第二图像,且第一图像的采集时间在前为例,正时序光流为第一图像到第二图像的光流,可表征物体或对象从第一图像到第二图像的运动信息,反时序光流为第二图像到第一图像的光流,可表征物体或对象从第二图像到第一图像的运动信息。
光流可采用多种工具计算,比如经典的Lucas-Kanade方法和基于深度学习的FlowNet2.0,本申请实施例对光流计算方法不做限制。
下面结合附图对本申请实施例进行详细描述。
参见图1,为本申请实施例适用的一种***架构的示意图。
如图1所示,该***架构包括:车端、路侧端和云端。
其中,车端包括至少一辆车,或一辆车中的车载终端。所述车辆或车载终端中可包括处理模块、通信模块等。处理模块可以运行一个或多个应用程序,一个或多个应用程序中可以包括用于实现图像修复功能的应用程序、地图类应用程序等。处理模块还可以激活通信模块。通信模块可以用于与外界(例如路侧设备、路侧服务器、云服务器等)进行通信。
路侧端可以包括一个或多个路侧设备。路侧设备可以包括通信模块等。其中,通信模块可以与车辆进行信息交互。可选的,路侧设备还可以包括处理模块,处理模块用于对通信模块接收到的多个车辆的信息进行处理,例如,合并打包,然后通过通信模块发送出去。示例性地,路侧设备可以是路侧单元(road side unit,RSU)。
路侧端还可以包括一个或多个路侧服务器。类似的,路侧服务器可以接收至少一辆车发送的信息,或者接收RSU发送的至少一辆车的信息。
云端可包括云服务器等,可以接收至少一辆车发送的信息。
应理解,图1仅为示意,1)该***架构还可以包含更多或者更少的设备。2)该***架构中的每一设备还可以包括更多或者更少的部件。
参见图2,为本申请实施例提供的一种车辆结构示意图。
本申请实施例提供的图像修复方法可以应用于能够实现自动驾驶的车辆中,具体的,该方法可以通过软件承载在一个单独的车载终端中。该车载终端还可以称为车载电子设备、车载电脑、驾驶控制装置、驾驶控制设备等,本申请实施例对此不作限定。参阅图2所示的车辆的架构图,该车辆可以包含:车载传感器、驾驶员输入装置、图像采集装置、车载终端、人机交互输入输出部件、电机等。下面对车辆中的各个部件进行介绍。
车载传感器,用于实时采集车辆的各种传感器数据。如图中所示,车载传感器的一些举例为:车速传感器、轴转速传感器、轮速传感器、加速度传感器、侧倾角传感器等。其中,车速传感器能够测量车辆在设定方向上的速度;轴转速传感器能够测量电机轴旋转速度;轮速传感器能够测量车辆的车轮的旋转速度;加速度传感器能够测量车辆在设定方向上的加速度;侧倾角传感器能够测量车辆的侧倾角。
图像采集装置,可包括安装在车辆内部或外部的摄像头,用于采集图像或视频。图像采集装置的一些举例为:相机、摄像头等。
驾驶员输入装置,当车辆处于人工驾驶模式时由驾驶员(后续简称为用户)操作,具体可以包含方向盘、油门踏板和制动踏板、手动档位摇杆、自动档位控制器等,用于接收用户的驾驶意图,生成相应的输入数据。例如,在用户对方向盘进行操作后,方向盘会生成方向盘转角。
人机交互输入输出装置,用于实现用户与车辆之间能够相互理解和识别的交流与通信,实现人机互动的部件。如图所示,人机交互输入输出装置可以但不限于包含:显示屏、物理按键、音频电路等。
其中,显示屏可以为触控显示屏,不仅能够呈现用户界面或多媒体文件的播放界面等内容,还可以收集用户在其上或附近的触摸操作,生成相应的触摸信息发送给车载设备,以使车载终端执行该触摸信息对应的指令。
物理按键,可以收集用户的按键操作,生成按键信息发送给车载终端,以使车载终端执行该按键信息对应的命令。
音频电路,包括扬声器和麦克风,可提供用户与所述车载终端之间的音频接口。音频电路可将从车载终端接收到的音频数据转换为电信号,并传输到扬声器,由扬声器将电信号转换为音频信号(即声波)输出。另一方面,麦克风可以将采集的音频信号转换为电信号,由音频电路接收后将电信号转换为音频数据,以进行传输、分析或存储等进一步处理。可选的,音频电路还可以包含耳机接口,用于连接有线耳机。
其中,扬声器,也称“喇叭”、“音箱”,用于将承载音频数据的电信号转换为音频信号,并输出。例如,车载终端可以通过扬声器播放音乐,广播,以及在车载终端开启实时导航播报时发出各种语音提示等语音信息。
麦克风,也称“话筒”、“传声器”,用于采集所述车载终端周围环境中的音频信号(例如用户发出的声音等),并将音频信号转换为承载音频信号的电信号。例如,麦克风可以采集用户说出的选择目标路径等操作的相关音频信号。
电机,能够根据车载终端发出的扭矩控制命令,或者根据用户通过驾驶员输入装置输入的输入数据,产生相应的扭矩作为车辆行驶的动力源。
车载终端,能够实现实时导航播报、路径导航、驾驶控制、定位、网络功能、信息指示、娱乐、安防、车辆稳定性控制等多种功能,能够满足用户的导航、日常事务处理、娱乐等各种需求。需要说明的是,以上功能可以集成到一个车载终端中,或者分布在多个车载终端中,但是所述多个车载终端之间可以进行通信交互,以便获取用于实现其相应功能的数据。
车载终端作为车辆的控制中心,可以利用各种接口和线路连接其他部件,并通过运行或执行存储在内部存储器内的软件程序和/或模块,以及调用存储在该存储器内的数据,执行该车载终端的各种功能。示例性的,按照车载终端具体的图像修改逻辑功能,可以将车载终端分为以下几个模块:自动驾驶模块、高精地图组件、驾驶控制模块、动力执行模块、人机交互模块、传统地图组件。
自动驾驶模块用于在车辆启动自动驾驶模式时,根据高精地图进行路径导航,以及依靠人工智能、视觉计算、雷达和车载传感器等部件传输的各种实时数据,以及根据当前车辆的行驶情况,自动检测车辆的转向需求和制动/驱动需求,并通过驾驶控制模块,进行车辆的操纵性和稳定性控制,从而使车辆自动且安全地沿用户在高精地图中选择的高精路径行驶。
高精地图组件维护有高精地图,用于根据高精地图中的高精路径为自动驾驶模块提供路径导航。所述高精地图组件也具有路径计算和实时导航播报功能。
传统地图组件维护有传统地图,用于根据传统地图为用户提供优质地路径计算和实时导航播报功能。
驾驶控制模块,作为车载终端的控制中心,能够合理安排车辆的驾驶模式。
动力执行模块,用于根据驾驶控制模块中的动力学控制单元的驱动/制动扭矩需求,省城扭矩控制命令发送给电机。
人机交互模块,与车辆的人机交互输入输出装置连接,用于与其进行通信交互。具体的,人机交互模块接收人机交互输入输出装置输入的指令,并反馈给驾驶控制模块执行该指令对应的操作;以及接收驾驶控制模块输出的交互命令,并将该交互命令发送给人机交互输入输出部件,通过显示屏、音频电路等展示或提示给用户。
本领域技术人员可以理解,图2中示出的车载终端的结构并不构成对车载终端的限定,本申请实施例提供的车载终端可以包括比图示更多或更少的模块,或者组合某些模块,或者不同的部件布置。例如,所述车载终端内还可以包括无线通信模块、通信接口、人机交互输入输出部件等。所述车辆也还可以包含其他装置和部件,本申请也不作限定。
参见图3,为本申请实施例提供的图像修复流程示意图,该流程可由图像修复装置执行。该图像修复装置可由软件实现(比如该图像修复装置可以是安装在车载终端中的应用程序),或者由软件和硬件相结合的方式实现(比如该图像修复装置可以是车载终端)。该流程可包括如下步骤:
S301:获取待修复图像以及与待修复图像相关的至少一个参考图像,得到第一图像序列。
可选的,该待修复图像和至少一个参考图像(即第一图像序列中的图像)在时间和/或空间上具有一定相关性。比如,第一图像序列可以是同一图像采集装置采集的,进一步的,可以是同一图像采集装置在同一时间段内采集的。比如,以自动驾驶场景为例,第一图像序列可以是同一车载摄像头(比如用于拍摄环境信息的外置车载摄像头)在一段时间内拍摄得到的。该段时间内拍摄的图像在时间上具有相关性,并且由于在该段时间内拍摄得到的基本上是相同场景下的图像,因此这些图像在空间上也具有一定相关性。
其中,参考图像的数量可预先设置,具体可根据图像修复可靠性要求以及计算开销等方面来设置参考图像的数量,如果参考图像的数量较多,则可以提高图像修复的可靠性,但可能导致较大计算开销。
可选的,参考图像的采集时间在待修复图像之前,即,参考图像相对于待修复图像来说,是历史采集的图像。当然,参考图像的采集时间与待修复图像的采集时间的前后顺序,也可以是其他顺序,本申请实施例对此不做限制。
可选的,上述参考图像中,或者由待修复图像以及参考图像所形成的第一图像序列中,图像间的采集时间间隔在预设范围内,使得相邻图像之间的间隔不至于太大或太小而导致图像修复可靠性降低。其中,相邻图像是指采集时间相邻的两个图像。具体的,按照采集时间从前到后或从后到前的顺序对第一图像序列中的图像进行排序,排序位置相邻的两个图像可称为相邻的两个图像。
其中,所述预设范围的设置,可根据车辆的行驶速度等因素来考虑,比如,如果车速较高,则可将该预设范围设置的较小,反之,则可将该预设范围设置的较大,从而使得相邻图像的内容可存在一定差异,进而可以获得图像间的光流,以作为图像修复的依据。在一些实施例中,该预设范围预先设定且固定不变,在另一些实施例中,该预设范围可以根据车速大小来动态调整,本申请实施例对此不做限制。
仍以自动驾驶场景为例,车载摄像头可按照设定的图像采集频率采集周围环境图像。当需要对其中当前采集的图像(即待修复图像)进行图像修复时,可从之前已经采集到的图像中获取满足预设范围要求的一个或多个参考图像,从而与该当前采集的图像一起形成第一图像序列,以用于对当前采集的图像进行图像修复。比如,如果图像采集频率为每秒24帧,且预设范围要求是100ms-300ms,则可以在第一图像序列中当前采集的图像之前且距离当前图像最近的图像序列中,每间隔5帧取一帧,从而得到参考图像,并与该当前采集的图像形成第一图像序列。
由于本申请实施例中,对待修复图像进行修复时需要参考一个或多个参考图像,因此如果图像间的时间间隔在合理范围内,可以使得参考图像对待修复图像的修复具有较高的参考价值,进而可以保证图像修复的可靠性。
在一些实施例中,待修复图像和参考图像均来自于第二图像序列。也就是说,第二图像序列可以是图像采集设备采集到的原始图像序列,从该原始图像序列中获取全部或部分图像(比如获取满足上述预设范围要求的图像)从而形成第一图像序列。该第二图像序列中的图像具有相关性(比如具有时间和/或空间上的相关性)。其中,第二图像序列可以是车辆在处于静止状态时采集得到的,也可以是车辆在运动状态(比如行驶状态)下采集得到的,从而可根据车辆的不同状态(处于静止状态或处于运动状态),采用相应方式获得参考图像以便对待修复图像进行图像修复。
在一些实施例中,在S301中,获取车辆运动状态,若根据车辆运动状态确定车辆处于静止,则指示图像采集装置采集第二图像序列,并获取图像采集装置采集的第二图像序列,其中,采集各图像时图像采集装置使用的采集参数不相同。可选的,所述采集参数可包括镜头焦距、拍摄角度等中的至少一项,本申请实施例对此不作限制。当需要对第二图像序列中的一个图像进行修复时,可从第二图像序列中获取一个或多个参考图像,并与待修复的图像形成第一图像序列,按照本申请实施例描述的方式进行图像修复。
举例来说,在车辆处于静止的状态下,可首先拍摄一个图像,然后调整镜头焦距,再拍摄一个图像,然后再调整镜头焦距,再拍摄一个图像,以此类推,这样得到一个图像序列(第二图像序列)。可选的,可按照镜头焦距从大到小的顺序进行调整,也可以按照镜头焦距从小到大的顺序进行调整,本申请实施例对此不作限制。
当车辆静止时,通过使用不同的采集参数进行图像采集,可以针对同一时间段内的同一场景,使得采集得到的图像有所差异,相对于单张图像或者不调整采集参数采集的多张图像,可以获得更多信息,有助于图像修复,从而可以提高图像修复的可靠性。
在另一些实施例中,在S301中,获取车辆运动状态,若根据车辆运动状态确定车辆处于运动,则获取图像采集装置按照设定采集频率采集的第二图像序列。该第二图像序列可以是设定帧率的视频帧序列,也可以是按照设定频率采集的由多个单张图像形成的图像序列。举例来说,在车辆处于运动的状态下(比如行驶过程中),可设置车载摄像头按照设定采集频率进行图像采集,或者设置车载摄像头按照设定帧率拍摄视频。当需要对第二图像序列中的一个图像进行修复时,可从第二图像序列中获取一个或多个参考图像,并与待修复的图像形成第一图像序列,按照本申请实施例描述的方式进行图像修复。
S302:确定第一图像序列中相邻图像间的光流。
该步骤中,可利用第一图像序列中的像素在时间域上的变化、相邻图像之间的相关性来找到的相邻两帧图像间存在的对应关系,计算出相邻图像之间物体或对象的运动信息。
可选的,该步骤中,可计算第一图像序列中每两个相邻图像间的光流。比如,第一图像序列包含五帧图像,分别为第一帧图像到第五帧图像,其中,第五帧图像为待修复图像,第一帧图像到第四帧图像为参考图像,则可计算第一帧图像和第二帧图像间的光流、第二帧图像和第三帧图像间的光流、第三帧图像和第四帧图像间的光流,以及第四帧图像和第五帧图像间的光流。
可选的,可仅确定相邻图像间的正时序光流,也可仅确定相邻图像间的反时序光流,还可以确定相邻图像间的正时序光流以及反时序光流。计算出的图像间的光流将用于后续的图像修复过程。其中,因为污渍遮挡镜头的原因,正时序光流和反时序光流可能存在微小差异。将图像间的正时序光流以及反时序光流用于后续的图像修复过程,相较于仅将正时序光流或者仅将反时序光流用于后续图像修复过程,能够为图像修复过程提供更多信息,因此可以进一步提高图像修复的可靠性。
S303:根据相邻图像间的光流,确定待修复图像中的污染区域。
其中,根据相邻图像间的光流,可将变化极缓慢的区域确定为污染区域。
由于相邻图像间的光流可以表征物体或对象的运动信息,因此根据相邻图像间的光流来确定待修复图像中的污染区域,可以获得较高精度的污染区域。在传统的污染区域确定方法中,需要确定一个图像中的污染区域时,通常将该图像中颜色较暗的区域确定为污染区域,采用该方法确定出的污染区域往往存在较大误差。本申请实施例中,在确定待修复图像的污染区域时,获取该待修复图像对应的参考图像,形成第一图像序列,并根据第一图像序列中相邻图像间的光流来确定待修复图像的污染区域,由于图像间光流可以表征物体或对象(比如污染区域)的运动信息,这样,可以基于多个图像识别出基本静止的污染区域,相比于上述传统方法,具有较高的识别精度。
可选的,可通过神经网络得到相邻图像间的光流以及待修复图像中的污染区域,可选的,该神经网络可以是生成对抗网络。具体的,可将第一图像序列输入第一生成对抗网络,获得第一生成对抗网络的输出。其中,第一生成对抗网络的输出包括:第一图像序列中相邻图像间的光流以及待修复图像中的污染区域。采用生成对抗网络来确定图像间的光流以及图像的污染区域,可以利用生成对抗网络的高可靠性优势,保证图像间光流以及图像污染区域计算的可靠性。
需要说明的是,在使用第一生成对抗网络确定图像间光流和污染区域之前,需要对第一生成对抗网络进行训练,本申请实施例对第一生成对抗网络的训练过程不做限制。
S304:根据第一图像序列以及相邻图像间的光流,对待修复图像中的污染区域进行图像修复。
可选的,可通过神经网络对待修复图像进行修复,可选的,该神经网络可以是生成对抗网络。具体的,可将第一图像序列(包括待修复图像和参考图像)、相邻图像间的光流、污染区域掩码图像等,输入第二生成对抗网络,获得第二生成对抗网络的输出,第二生成对抗网络的输出包括:修复后的待修复图像。
其中,污染区域掩码图像用于指示待修复图像中的污染区域。污染区域掩码图像可以过滤图像中不必要的干扰,仅指示出污染区域。比如,污染区域掩码图像可以是二值图像,如图4所示,图4的(a)示出了原始图像,其中存在污染区域;图4中的(b)示出了污染区域掩码图像,其中,白色区域为污染区域,非污染区域的图像被黑色覆盖,二值图像可以减小图像数据占用的空间。
需要说明的是,在使用第二生成对抗网络进行图像修复之前,需要对第二生成对抗网络进行训练,本申请实施例对第二生成对抗网络的训练过程不做限制。
在使用人工神经网络进行图像修复的传统方法中,输入到人工神经网络的信息中不包含图像间的光流,其修复可靠性较大依赖于训练样本的多样性,因而使得修复可靠性受限。本申请的上述实施例中,由于在对待修复图像进行修复时,需要将图像间光流作为修复依据,这样,可以根据图像间的相关信息,修复得到图像中污染区域的图像,由于修复依据来自于与待修复图像具有一定相关性的参考图像,因此可以提高修复可靠性,即,使得修复的图像尽可能还原实际场景。
在一些场景中,第一图像序列中可能仅包含一个图像,比如当前刚开启摄像头拍摄到一个图像,即第一图像序列中仅包含该图像,此时若需要对该图像进行图像修复。则可采用传统方法对该图像进行修复,比如将该图像输入人工神经网络,得到该人工神经网络输出的修复后的图像。
可选的,在本申请的一些实施例中,当待修复图像满足预设条件下,才启动上述图像修复过程,以降低计算开销。具体的,在S210中,若有一图像中存在污染区域,且该污染区域的面积大于或等于设定阈值,表明该污染区域较大,该较大面积的污染区域所导致的图像缺失,可能会影响自动驾驶的判断或决策,需要对该图像进行修复,因此获取该图像对应的参考图像,并执行后续的图像修复过程。若该图像中不存在污染区域,则没有必要执行图像修复过程。若该图像中存在污染区域,但该污染区域小于上述设定阈值,则表明该污染区域较小,该较小面积的污染区域所导致的图像缺失,不会对自动驾驶的判断或决策造成太大影响,因此可以不进行图像修复,以降低计算开销。
可选的,可以通过边缘检测方法得到图像中的污染区域,以实现对污染区域的快速检测,降低计算开销,通过快速检测确定出污染区域后,可根据污染区域的大小判断是否需要启动图像修复。具体的,通过检测图像中颜色较暗且平坦的区域的边缘轮廓,得到该图像的污染区域,该种方法适用于车辆处于静止状态时,对图像中的污染区域进行检测。可选的,也可以通过中值滤波方法得到图像中的污染区域,具体的,可对图像中的像素进行中值滤波,以去除噪声,然后采用边缘检测法得到污染区域,该种方法适用于车辆处于运动状态时,对图像中的污染区域进行检测。上述方法中,先采用边缘检测等方法粗略检测图像中的污染区域,以判断该污染区域的大小,进而决定是否需要对图像进行修复;在决定对图像进行修复后,根据图像间的光流以精确确定图像中的污染区域,以提高图像修复的可靠性,从而兼顾了运行效率与准确度。
可选的,上述用于判断污染区域面积大小的设定阈值,可以预先设定,也可以根据需要调整。该设定阈值的取值可根据自动驾驶决策场景等因素来考虑,本申请实施例对此不做限制。比如,如果将采集到的图像用于自动驾驶过程中车辆控制(比如车辆变道)的决策,则对图像要求较高,此种情况可以将该设定阈值设置得较小;如果将采集到的图像用于自动驾驶过程中周围环境的判断,则对图像要求较低,此种情况可以将该设定阈值设置的较大。
在一些应用场景中,不同位置的车载摄像头拍摄的图像可能用于不同目的的自动驾驶判断或决策,可以根据自动驾驶的判断或决策的需要,设置相应位置上的摄像头所对应的设定阈值,以用于判断是否启动对相应位置的摄像头拍摄的图像进行图像修复。在另一些应用场景中,在不同阶段,同一位置的车载摄像头拍摄的图像可能用于不同目的的自动驾驶判断或决策,可以根据当前所在阶段,设置摄像头所对应的设定阈值,以用于判断是否启动对摄像头拍摄的图像进行图像修复。
进一步的,若判断图像中存在污染区域(无论该污染区域的面积是否大于或等于设定阈值),或者判断图像中存在污染区域且该污染区域的面积大于或等于设定阈值,则还可以在启动对图像进行修复的基础上,进一步采用物理方式去除图像采集装置上的污渍,以减小或消除后续该图像采集装置采集的图像中的污染区域。具体的,若判断待修复图像中存在污染区域,或者判断待修复图像中存在污染区域且该污染区域的面积大于或等于设定阈值,则启动出风口朝向目标图像采集装置的风扇,以试图通过风扇的出风口吹出的风,将粘附在该图像采集装置镜头上的污渍去除,该目标图像采集装置是采集上述待修复图像和参考图像的图像采集装置。
为了更清楚地理解本申请的实施例,下面结合图5,对本申请实施例中图像修复原理进行说明。
参见图5,为本申请实施例中图像修复原理示意图。其中,图像帧序列500中的当前帧为需要进行图像修复的图像,历史帧为采集时间在待修复图像的采集时间之前的参考图像。历史帧的数量可以是一个或多个。图像帧序列500中图像帧间的时间间隔满足预设范围要求。
在图像修复流程中,首先将图像帧序列500(包括当前帧和历史帧)输入第一生成对抗网络510,获得第一生成对抗网络510输出的图像序列500中相邻帧间的光流520以及污染区域掩码图像530。可选的,污染区域掩码图像530为二值图像,用于指示当前帧中的污染区域。可选的,相邻帧间的光流520包括图像帧序列500中每两个相邻图像帧间的正时序光流和/或反时序光流。
然后,将图像帧序列500、相邻帧间的光流520、污染区域掩码图像530输入第二生成对抗网络540,得到第二生成对抗网络540输出的修复后的图像帧550。
基于图5所示的图像修复原理,图6a示出了本申请实施例中第一生成对抗网络的结果示意图,图6b示例性示出了第二生成对抗网络的结构示意图。
如图6a所示,第一图像序列被输入第一生成对抗网络后,经过逐层卷积、maxpooling、上卷积等处理最终得到输出的图像帧间光流以及污染区域掩码图像。
具体的,第一图像序列经过卷积(convolution)以增加图像数据深度depth(如图中水平向右方向的三角形箭头所示),经过max pooling以在不损坏识别结果的情况下降低采样(如图中垂直向下方向的线型箭头所示)。max pooling的操作可包括:将整个图片被不重叠的分割成若干个同样大小的小块(pooling size),每个小块内只取最大的数字,再舍弃其他节点后,保持原有的平面结构得到输出结果。再经过拼接(concat)处理(如图中水平向右方向的线型箭头所示),以及上卷积(up convolution)(如图中垂直向上方向的线型箭头所示),最终输出相邻图像的帧间光流以及污染区域掩码图像。其中,图中深色立方体表示卷积后的图像数据,深色立方体上的数字表示对应图像数据的深度;部分深色和部分浅色构成的立方体表示拼接(concat)后图像数据,其中深色部分表示的数据是浅色部分表示的数据经过max pooling以及卷积处理得到的。
其中,污染区域掩码图像是对第一层卷积得到的图像数据跳跃连接(skipconnection)到相应层进行卷积以及基于损失函数(如entropy loss)得到的。
如图6b所示,第一图像序列、第一图像序列中图像帧间的光流、污染区域掩码图像被输入第二生成对抗网络后,经过逐层卷积、max pooling、上卷积等处理最终得到输出的修复后的图像。第二生成对抗网络的结构与第一生成对抗网络的结构类似,在此不再重复。
需要说明的是,图6a仅示例性示出了第一生成对抗网络的结构,图6b仅示例性示出了第二生成对抗网络的结构,本申请实施例对生成对抗网络的结构不做限制。
基于上述一个实施例或多个实施例的组合,图7示出了一种实际场景下的图像修复流程示意图。
参见图7,车载终端上安装有用于实现上述实施例给出的图像修复功能的应用程序,该应用程序也可称为图像修复装置,或者安装有该应用程序的车载终端被称为图像修复装置。该应用程序可以定期检测车载摄像头采集的图像,判断是否需要进行图像修复,并在判断需要进行图像修复时,按照本申请上述实施例进行图像修复。
具体的,如图7所示:
S700:在设定时间或设定周期到达时,应用程序(或图像修复装置)检测车辆当前的状态,比如,检测车辆当前是刚启动并处于静止状态,还是车辆处在行驶状态。
可选的,可根据车辆上安装的传感器(比如车速传感器、加速度传感器等)来检测车辆的状态。
S710:如果检测到车辆刚启动并处于静止状态,则转入S720,如果检测到车辆处于运动状态,则转入S740。
S720:应用程序(或图像修复装置)调整车载摄像头的采集参数,使得车载摄像头拍摄一组图像,该组图像中各图像使用的采集参数均不同,然后转入S730。
举例来说,应用程序(或图像修复装置)可指示车载摄像头按照设定步长由近及远调整镜头焦距,并在每次调整镜头焦距后拍摄一张图像,这样,拍摄得到的一组图像中各图像按照时间先后顺序,焦距逐渐增加。
S730:应用程序(或图像修复装置)检测S720中拍摄到的一组图像中最后一个图像中的污染区域,然后转入S760。
该步骤中,应用程序(或图像修复装置)可采用边缘检测方法或其他快速检测方法来检测图像中的污染区域。
S740:应用程序(或图像修复装置)获取当前一段时间内车载摄像头拍摄的一组图像,然后转入S740。
S750:应用程序(或图像修复装置)检测S740中拍摄到的一组图像中最后一个图像的污染区域,然后转入S760。
S760:若图像中存在污染区域且污染区域的面积大于或等于设定阈值,则转入S770,否则返回S700。
该步骤中,若图像中的污染区域的面积大于或等于设定阈值,则表明需要对该图像进行修复,因而转入S770以进入图像修复处理流程;若图像中的污染区域的面积小于设定阈值或者图像中不存在污染区域,则表明无需对该图像进行修复,因而转入S700,以便在设定时间或设定周期到达时,重复执行上述过程。
S770:执行图像修复流程,该图像修复流程的具体实现过程,可参见前述实施例的相关内容,在此不再重复。
进一步的,在检测到图像中存在污染区域,或者检测到图像中的污染区域大于或等于设定阈值时,还可以启动风扇,以通过物理方式去除车载摄像头镜头上的污渍。
通过上述流程,可以在车辆刚启动和行驶中都进行污渍检测。检测到图像中存在污染区域后,表明图像采集装置的镜头上粘附有污渍,此种情况下,可开启风扇以尝试去除污渍,同时开启图像修复处理流程,将图像中被污渍遮挡的区域内的图像进行修复。在图像修复过程中,可基于待修复的图像以及相关参考图像构成的图像序列中相邻图像间的光流实现图像修复,该图像序列中的图像具有相关性,且为真实场景下的图像,因此修复结果真实可靠。
图8示例性示出了采用本申请实施例提供的图像修复方法的效果示意图。
如图8所示,在车辆处于运动状态下时,按照采集时间先后顺序,车载摄像头采集得到第一图像800、第二图像810、第三图像820。由于车载摄像头的镜头粘附有污渍,导致第一图像800、第二图像810以及第三图像820中存在污染区域830。上述三个图像中的污染区域的位置固定。可以看出,由于车辆处于运动状态,上述三个图像中的对象840相对于污染区域的位置有所不同,具体的,在第一图像800中,对象840未被污染区域遮挡,在第二图像810中,对象840的小部分被污染区域遮挡,在第三图像830中,对象840大部分被污染区域遮挡。
对于第三图像820,采用边缘检测方法检测出第三图像820存在污染区域,且该污染区域的面积大于设定阈值,因此需要对第三图像820进行修复。
在进行图像修复时,使用第一生成对抗网络,计算第一图像800和第二图像810间的第一光流850,以及第二图像810和第三图像820间的第二光流851,并根据第一光流850、第二光流851,得到污染区域掩码图像860,污染区域掩码图像860指示出了第三图像820的污染区域;然后使用第二生成对抗网络,基于第一图像800、第二图像810第三图像820、第一光流850、第二光流851以及污染区域掩码图像860,对第三图像820进行修复,得到修复后的图像870。
由于第一图像800和第二图像810中的对象840未被污染区域遮挡或者很少部分被污染区域遮挡,基于图像间光流的计算,可以获得对象840从第一图像到第三图像的运动信息。由于在对第三图像820进行修复时,需要依据相邻图像间的光流(其中包含对象840的运动信息),因此可以判断第三图像中的污染区域覆盖的是对象840,从而可以根据第一图像800和第二图像810中的对象840,将第三图像820中污染区域内的对象840恢复出来。由于第一图像800和第二图像810均为与第三图像820相关的真实场景下的图像,因此修复后的第三图像中对象840真实可靠。
本申请实施例可适用于对具有任何形状和分布的污染区域的图像进行修复,尤其适用于对具有块状污染区域的图像进行修复。
本申请实施例还提供了一种第一神经网络训练方法。基于该第一神经网络,当输入第一图像序列后,可以得到第一图像序列中相邻图像间的光流以及污染区域掩码图像。可选的,该第一神经网络可以是上述第一生成对抗网络。下面以第一生成对抗网络为例,对该神经网络的训练方法进行说明。
如图9所示,该训练过程可包括两个训练阶段:
第一训练阶段,训练生成光流;
第二序列阶段,训练生成污染区域掩码图像。
如图9所示,该训练过程可包括:
第一序列阶段:
S901:将一个第一样本中的第一视频帧和第三视频帧输入第一生成对抗网络,得到第一视频帧和第三视频帧间的光流。
其中,一个第一样本为一个视频帧序列,按照时间顺序,该视频帧序列中包括第一视频帧I_1、第二视频帧I_2和第三视频帧I_3。
其中,第一视频帧和第三视频帧间的光流可包括:第一视频帧和第三视频帧间的正向光流,或者包括反向光流,或者包括正向光流和反向光流。
举例来说,将第一视频帧I_1和第三视频帧I_3输入第一生成对抗网络,得到第一视频帧I_1到第三视频帧I_3的光流F_1_3(即正向光流),以及第三视频帧I_3到第一视频帧I_1的光流F_3_1(即反向光流),即得到第一视频帧和第三视频帧间的双向光流。
S902:根据第一视频帧、第三视频帧,以及第一视频帧和第三视频帧间的光流,预测中间视频帧(即预测得到第二视频帧)。
由于光流可以反应像素运动,因此根据原始图像以及光流可以得到运动后的图像,即根据第一视频帧、第三视频帧,以及第一视频帧和第三视频帧间的光流,可以构建出中间视频帧。
可选的,可根据以下公式预测中间视频帧:
I_2_pre=0.5*g(I_1,F_1_3)+0.5*g(I_3,F_2_1)
其中,I_2_pre表示预测得到的中间视频帧,F_1_3表示第一视频帧到第三视频帧的光流,F_3_1表示第三视频帧到第一视频帧的光流,g()表示图像预测函数。
S903:根据预测得到中间视频帧和该第一样本中的第二视频帧(即真实视频帧),确定该中间视频帧的重建损失,该重建损失用于表征重建得到的中间视频帧与真实的第二视频帧之间的差异。
S904:根据重建损失,进行反向传播,调整第一生成对抗网络的参数。
可选的,可计算每个像素的重建损失:L_reconstruction=|I_2_pre,I_1|,其中,“||”表示绝对值,然后对每个像素的重建损失进行求和运算。
上述S901~S904可执行一次,也可执行多次。可选的,可预设训练结束条件,当根据预设训练结束条件判断重建结果比较自然时,结束第一训练阶段。
第二训练阶段:
S905:将一个第二样本中的第一视频帧和第三视频帧输入通过上述第一阶段训练好的第一生成对抗网络,预测得到第二视频帧中的污染区域。
其中,一个第二样本为一个视频帧序列,按照时间顺序,该视频帧序列中包括第一视频帧、第二视频帧和第三视频帧,每个视频帧中均包含污染区域。
S906:确定预测得到的第二视频帧中的污染区域,与第二样本中的第二视频帧中的污染区域的重合度。
可选的,重合度计算公式可以是:
IOU=(I_mask∩I_mask_pre)/(I_mask∪I_mask_pre)
其中,IOU表示重合度的取值,I_mask_pre表示预测得到的第二视频帧的污染区域,I_mask表示第二样本中的第二视频帧的污染区域。
S907:根据上述重合度,对第一生成对抗网络进行微调。
上述S905~S907可以执行一次,也可以执行多次。可以在满足预设结束条件时结束上述训练过程。
本申请实施例还提供了一种第二神经网络训练方法。基于该第二神经网络可以实现图像修复。可选的,该第二神经网络可以是上述第二生成对抗网络。下面以第二生成对抗网络为例,对该第二神经网络的训练方法进行说明。
用于训练第二生成网络的一个样本为一个视频帧序列,除最后一个视频帧以外,其他视频帧中包含污染区域,最后一帧为真实图像。该视频帧序列中可包括N个图像帧,N为大于2的整数。比如,该视频帧序列中可包括5个视频帧,其中第一图像帧至第四图像帧包含污染区域,第五图像帧为真实图像(不包含污染区域)。下面以5个视频帧为例进行描述。
如图10所示,第二生成对抗网络的训练过程可包括:
S1001:将第三样本中包含污染区域的图像(比如第一图像帧至第四图像帧)输入第一生成对抗网络,得到相邻图像间的光流以及污染区域掩码图像。
该步骤中,相邻图像间的光流可包括每相邻图像间的正向光流和/或反向光流。
S1002:将第一生成对抗网络输出的相邻图像间的光流以及污染区域掩码图像,以及第三样本中的第一图像帧至第四图像帧,输入第二生成对抗网络,得到预测的图像。
S1003:根据第三样本中的真实图像(如第五图像帧)和预测得到的图像在污染区域内的图像,确定该预测得到的图像在污染区域内的图像的重建损失。
可选的,可计算污染区域内每个像素的重建损失:L_reconstruction=|I_5,I_pre|,其中,“||”表示绝对值,I_5表示第五图像帧污染区域内的部分,I_pre表示预测到的图像在污染区域内的部分;然后对每个像素的重建损失进行求和运算。
S1004:根据重建损失,进行反向传播,调整第二生成对抗网络的参数。
上述S1001~S1004可执行一次,也可执行多次。可选的,可预设训练结束条件,当根据预设训练结束条件判断重建结果比较自然时,结束第一训练阶段。
基于相同的技术构思,本申请实施例还提供了一种图像修复装置。
参见图11,为本申请实施例提供的图像修复装置的结构示意图。该装置可包括获取模块901、第一处理模块902、第二处理模块903,进一步的,还可包括第三处理模块904。
获取模块901,用于获取待修复图像以及至少一个与所述待修复图像相关的参考图像,得到第一图像序列;
第一处理模块902,用于确定所述第一图像序列中相邻图像间的光流,以及,根据所述相邻图像间的光流,确定所述待修复图像中的污染区域;
第二处理模块903,用于根据所述第一图像序列以及所述相邻图像间的光流,对所述待修复图像中的污染区域进行图像修复。
可选的,所述至少一个与所述待修复图像相关的参考图像和所述待修复图像是同一图像采集装置在同一时间段内采集的,且所述至少一个参考图像的采集时间在所述待修复图像的采集时间之前。
可选的,第一处理模块902可具体用于:将所述第一图像序列输入第一生成对抗网络;获得所述第一生成对抗网络的输出,所述第一生成对抗网络的输出包括:所述第一图像序列中相邻图像间的光流以及所述待修复图像中的污染区域。
可选的,第二处理模块903可具体用于:将所述第一图像序列、所述相邻图像间的光流、污染区域掩码图像输入第二生成对抗网络,所述污染区域掩码图像用于指示所述待修复图像中的污染区域;获得所述第二生成对抗网络的输出,所述第二生成对抗网络的输出包括:修复后的所述待修复图像。
可选的,第一处理模块902可具体用于:确定所述第一图像序列中,相邻图像间的正时序光流和反时序光流中的至少一项。
可选的,获取模块901可具体用于:获取所述待修复图像;若所述待修复图像中存在污染区域,且所述污染区域的面积大于或等于设定阈值,则获取与所述待修复图像相关的至少一个参考图像,得到所述第一图像序列。
进一步的,第三处理模块904可用于:若所述待修复图像中存在污染区域,或者所述修复图像中存在污染区域且所述污染区域的面积大于或等于设定阈值,则启动出风口朝向目标图像采集装置的风扇,所述目标图像采集装置用于采集所述第一图像序列。
可选的,获取模块901可还用于:获取待修复图像以及至少一个参考图像之前,获取车辆运动状态;若根据所述车辆运动状态确定车辆处于静止,则获取图像采集装置采集的第二图像序列,所述第二图像序列中各图像对应的采集参数不相同;或者,若根据所述车辆运动状态确定车辆处于运动,则获取所述图像采集装置按照设定采集频率采集的第二图像序列。获取模块901可从所述第二图像序列中获取所述待修复图像以及至少一个参考图像。
在此需要说明的是,本申请实施例提供的上述图像修复装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
基于相同的技术构思,本申请实施例还提供一种电子设备,该电子设备可以具有如图12所示的结构,该电子设备可以是车载终端,也可以是能够支持车载终端实现上述方法的芯片或芯片***。
如图12所示的电子设备可以包括至少一个处理器1002,所述至少一个处理器2002用于与存储器耦合,读取并执行所述存储器中的指令以实现本申请实施例提供的方法中服务器涉及的步骤。可选的,该电子设备还可以包括通信接口1001,用于支持该电子设备进行信令或者数据的接收或发送。电子设备中的通信接口1001,可用于实现与其他电子设备的进行交互。处理器1002可用于实现电子设备执行如图3、图5、图7、图9、图10任一示意图所示的方法中的步骤。可选的,该电子设备通还可以包括存储器1004,其中存储有计算机程序、指令,存储器1004可以与处理器1002和/或通信接口1001耦合,用于支持处理器1002调用存储器1004中的计算机程序、指令以实现本申请实施例提供的方法中车载终端涉及的步骤;另外,存储器1004还可以用于存储本申请方法实施例所涉及的数据,例如,用于存储支持通信接口1001实现交互所必须的数据、指令,和/或,用于存储电子设备执行本申请实施例所述方法所必须的配置信息。
基于与上述方法实施例相同构思,本申请实施例还提供了一种计算机可读存储介质,其上存储有一些指令,这些指令被计算机调用执行时,可以使得计算机完成上述方法实施例、方法实施例的任意一种可能的设计中所涉及的方法。本申请实施例中,对计算机可读存储介质不做限定,例如,可以是RAM(random-access memory,随机存取存储器)、ROM(read-only memory,只读存储器)等。
基于与上述方法实施例相同构思,本申请还提供一种计算机程序产品,该计算机程序产品在被计算机调用执行时可以完成方法实施例以及上述方法实施例任意可能的设计中所涉及的方法。
基于与上述方法实施例相同构思,本申请还提供一种芯片,该芯片可以包括处理器以及接口电路,用于完成上述方法实施例、方法实施例的任意一种可能的实现方式中所涉及的方法,其中,“耦合”是指两个部件彼此直接或间接地结合,这种结合可以是固定的或可移动性的,这种结合可以允许流动液、电、电信号或其它类型信号在两个部件之间进行通信。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于终端设备中。可选地,处理器和存储媒介也可以设置于终端设备中的不同的部件中。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (21)
1.一种图像修复方法,其特征在于,包括:
获取待修复图像以及至少一个与所述待修复图像相关的参考图像,得到第一图像序列;
确定所述第一图像序列中相邻图像间的光流;
根据所述相邻图像间的光流,确定所述待修复图像中的污染区域;
根据所述第一图像序列以及所述相邻图像间的光流,对所述待修复图像中的污染区域进行图像修复。
2.如权利要求1所述的方法,其特征在于,所述至少一个与所述待修复图像相关的参考图像和所述待修复图像是同一图像采集装置在同一时间段内采集的,且所述至少一个参考图像的采集时间在所述待修复图像的采集时间之前。
3.如权利要求1或2所述的方法,其特征在于,所述确定所述第一图像序列中相邻图像间的光流,以及所述根据所述相邻图像间的光流,确定所述待修复图像中的污染区域,包括:
将所述第一图像序列输入第一生成对抗网络;
获得所述第一生成对抗网络的输出,所述第一生成对抗网络的输出包括:所述第一图像序列中相邻图像间的光流以及所述待修复图像中的污染区域。
4.如权利要求1-3任一项所述的方法,其特征在于,所述根据所述相邻图像间的光流,对所述待修复图像中的污染区域进行图像修复,包括:
将所述第一图像序列、所述相邻图像间的光流、污染区域掩码图像输入第二生成对抗网络,所述污染区域掩码图像用于指示所述待修复图像中的污染区域;
获得所述第二生成对抗网络的输出,所述第二生成对抗网络的输出包括:修复后的所述待修复图像。
5.如权利要求1-4任一项所述的方法,其特征在于,所述确定所述第一图像序列中相邻图像间的光流,包括:
确定所述第一图像序列中,相邻图像间的正时序光流和反时序光流中的至少一项。
6.如权利要求1-5任一项所述的方法,其特征在于,所述获取待修复图像以及至少一个参考图像,得到第一图像序列,包括:
获取所述待修复图像;
若所述待修复图像中存在污染区域,且所述污染区域的面积大于或等于设定阈值,则获取与所述待修复图像相关的至少一个参考图像,得到所述第一图像序列。
7.如权利要求6所述的方法,其特征在于,若所述待修复图像中存在污染区域,或者所述修复图像中存在污染区域且所述污染区域的面积大于或等于设定阈值,则所述方法还包括:
启动出风口朝向目标图像采集装置的风扇,所述目标图像采集装置用于采集所述第一图像序列。
8.如权利要求1-6任一项所述的方法,其特征在于,所述获取待修复图像以及至少一个参考图像之前,还包括:
获取车辆运动状态;
若根据所述车辆运动状态确定车辆处于静止,则指示图像采集装置采集第二图像序列,所述第二图像序列中各图像对应的采集参数不相同;或者,
若根据所述车辆运动状态确定车辆处于运动,则获取图像采集装置按照设定采集频率采集的第二图像序列;
所述获取待修复图像以及至少一个与所述待修复图像相关的参考图像,得到第一图像序列,包括:
从所述第二图像序列中获取所述待修复图像以及所述至少一个参考图像,得到所述第一图像序列。
9.一种第一神经网络训练方法,其特征在于,包括:第一阶段训练和第二阶段训练;
所述第一阶段训练包括:
将第一样本输入第一神经网络,得到第一视频帧和第三视频帧间的光流,所述第一样本包括所述第一视频帧、第二视频帧和所述第三视频帧;
根据所述第一视频帧、所述第三视频帧,以及所述第一视频帧和所述第三视频帧间的光流,得到预测的第二视频帧;
根据所述预测的第二视频帧以及所述第一样本中的第二视频帧,确定所述预测的第二视频帧的重建损失;
根据所述重建损失,调整所述第一神经网络的参数;
所述第二阶段训练包括:
将第二样本输入所述第一阶段训练后得到的第一神经网络,得到预测的第二视频帧中的污染区域,所述第二样本包括第一视频帧、第二视频帧和第三视频帧,所述第一视频帧、第二视频帧和第三视频帧均包含污染区域;
确定预测的第二视频帧中的污染区域与所述第二样本中的第二视频帧的污染区域的重合度;
根据所述重合度,调整所述第一神经网络的参数。
10.一种第二神经网络训练方法,其特征在于,包括:
将第三样本中的前N-1个视频帧输入第一神经网络,得到相邻图像间的光流以及污染区域掩码图像,所述第三样本为包含有N个视频帧的视频帧序列,所述视频帧序列中的前N-1个视频帧包含有污染区域,N为大于2的整数;
将所述相邻图像间的光流、污染区域掩码图像,以及所述第三样本中的前N-1个视频帧输入第二神经网络,得到预测的第N个视频帧;
根据所述第三样本中的第N个视频帧以及所述预测的第N个视频帧在污染区域内的图像,确定所述预测的第N个视频帧在污染区域内的图像的重建损失;
根据所述重建损失,调整所述第二神经网络的参数。
11.一种图像修复装置,其特征在于,包括:
获取模块,用于获取待修复图像以及至少一个与所述待修复图像相关的参考图像,得到第一图像序列;
第一处理模块,用于确定所述第一图像序列中相邻图像间的光流,以及,根据所述相邻图像间的光流,确定所述待修复图像中的污染区域;
第二处理模块,用于根据所述第一图像序列以及所述相邻图像间的光流,对所述待修复图像中的污染区域进行图像修复。
12.如权利要求11所述的装置,其特征在于,所述至少一个与所述待修复图像相关的参考图像和所述待修复图像是同一图像采集装置在同一时间段内采集的,且所述至少一个参考图像的采集时间在所述待修复图像的采集时间之前。
13.如权利要求11或12所述的装置,其特征在于,所述第一处理模块,具体用于:
将所述第一图像序列输入第一生成对抗网络;
获得所述第一生成对抗网络的输出,所述第一生成对抗网络的输出包括:所述第一图像序列中相邻图像间的光流以及所述待修复图像中的污染区域。
14.如权利要求11-13任一项所述的装置,其特征在于,所述第二处理模块,具体用于:
将所述第一图像序列、所述相邻图像间的光流、污染区域掩码图像输入第二生成对抗网络,所述污染区域掩码图像用于指示所述待修复图像中的污染区域;
获得所述第二生成对抗网络的输出,所述第二生成对抗网络的输出包括:修复后的所述待修复图像。
15.如权利要求11-14任一项所述的装置,其特征在于,所述第一处理模块,具体用于:
确定所述第一图像序列中,相邻图像间的正时序光流和反时序光流中的至少一项。
16.如权利要求11-15任一项所述的装置,其特征在于,所述获取模块,具体用于:
获取所述待修复图像;
若所述待修复图像中存在污染区域,且所述污染区域的面积大于或等于设定阈值,则获取与所述待修复图像相关的至少一个参考图像,得到所述第一图像序列。
17.如权利要求16所述的装置,其特征在于,还包括第三处理模块;
所述第三处理模块,用于若所述待修复图像中存在污染区域,或者所述修复图像中存在污染区域且所述污染区域的面积大于或等于设定阈值,则启动出风口朝向目标图像采集装置的风扇,所述目标图像采集装置用于采集所述第一图像序列。
18.如权利要求11-17任一项所述的装置,其特征在于:
所述获取模块,还用于:
获取待修复图像以及至少一个参考图像之前,获取车辆运动状态;
若根据所述车辆运动状态确定车辆处于静止,则指示图像采集装置采集第二图像序列,所述第二图像序列中各图像对应的采集参数不相同;或者,若根据所述车辆运动状态确定车辆处于运动,则获取所述图像采集装置按照设定采集频率采集的第二图像序列;
所述获取模块,具体用于:
从所述第二图像序列中获取所述待修复图像以及所述至少一个参考图像,得到所述第一图像序列。
19.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-10任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-10任一项所述的方法。
21.一种计算机程序产品,其特征在于,所述计算机程序产品在被计算机调用时,使得所述计算机执行如权利要求1-10任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110221887.7A CN114972050A (zh) | 2021-02-27 | 2021-02-27 | 一种图像修复方法及装置 |
PCT/CN2021/124186 WO2022179124A1 (zh) | 2021-02-27 | 2021-10-15 | 一种图像修复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110221887.7A CN114972050A (zh) | 2021-02-27 | 2021-02-27 | 一种图像修复方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114972050A true CN114972050A (zh) | 2022-08-30 |
Family
ID=82973600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110221887.7A Pending CN114972050A (zh) | 2021-02-27 | 2021-02-27 | 一种图像修复方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114972050A (zh) |
WO (1) | WO2022179124A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116866665A (zh) * | 2023-09-05 | 2023-10-10 | 中信建投证券股份有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021525B (zh) * | 2014-05-30 | 2017-02-08 | 西安交通大学 | 一种道路场景视频图像序列的背景修复方法 |
CN109816611B (zh) * | 2019-01-31 | 2021-02-12 | 北京市商汤科技开发有限公司 | 视频修复方法及装置、电子设备和存储介质 |
US11055828B2 (en) * | 2019-05-09 | 2021-07-06 | Adobe Inc. | Video inpainting with deep internal learning |
CN110533615A (zh) * | 2019-08-30 | 2019-12-03 | 上海大学 | 一种基于生成对抗网络的老电影大面积破损修复方法 |
CN111105382B (zh) * | 2019-12-31 | 2021-11-16 | 北京大学 | 视频修复方法 |
CN111787187B (zh) * | 2020-07-29 | 2021-07-02 | 上海大学 | 利用深度卷积神经网络进行视频修复的方法、***、终端 |
-
2021
- 2021-02-27 CN CN202110221887.7A patent/CN114972050A/zh active Pending
- 2021-10-15 WO PCT/CN2021/124186 patent/WO2022179124A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116866665A (zh) * | 2023-09-05 | 2023-10-10 | 中信建投证券股份有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
CN116866665B (zh) * | 2023-09-05 | 2023-11-14 | 中信建投证券股份有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022179124A1 (zh) | 2022-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112417953B (zh) | 道路状况检测和地图数据更新方法、装置、***及设备 | |
US20210365696A1 (en) | Vehicle Intelligent Driving Control Method and Device and Storage Medium | |
CN112987759A (zh) | 基于自动驾驶的图像处理方法、装置、设备及存储介质 | |
CN111709343A (zh) | 一种点云检测方法、装置、计算机设备和存储介质 | |
JP6683280B1 (ja) | センサ装置、信号処理方法 | |
CN104506804B (zh) | 一种快速道路上的机动车异常行为监测装置及其方法 | |
JP2019509534A (ja) | 将来経路を推定するシステム及び方法 | |
JP2020068008A (ja) | センサ装置、パラメータ設定方法 | |
KR100820952B1 (ko) | 단일 카메라를 이용한 불법 주정차 무인 자동 단속방법 및그 시스템 | |
JP2020068522A (ja) | センサ装置、信号処理方法 | |
CN111967396A (zh) | 障碍物检测的处理方法、装置、设备及存储介质 | |
CN112101272A (zh) | 交通灯检测的方法、装置、计算机存储介质和路侧设备 | |
WO2020080139A1 (ja) | センサ装置、パラメータ設定方法 | |
CN117015792A (zh) | 有凹图像放大用于自动驾驶生成物体检测标签的***和方法 | |
CN114972050A (zh) | 一种图像修复方法及装置 | |
CN113705272A (zh) | 可行驶区域检测方法、装置、设备及存储介质 | |
CN114821544B (zh) | 感知信息生成方法、装置、车辆、电子设备及存储介质 | |
CN110705134A (zh) | 行驶测试方法、装置、设备及计算机可读存储介质 | |
CN115565155A (zh) | 神经网络模型的训练方法、车辆视图的生成方法和车辆 | |
CN116012609A (zh) | 一种环视鱼眼多目标跟踪方法、装置、电子设备及介质 | |
CN115909126A (zh) | 目标检测方法、设备和存储介质 | |
Rachman et al. | Camera Self-Calibration: Deep Learning from Driving Scenes | |
CN114612999A (zh) | 一种目标行为分类方法、存储介质及终端 | |
Mathew et al. | Ego vehicle speed estimation using 3d convolution with masked attention | |
CN117935173B (zh) | 目标车辆的识别方法、场端服务器及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |