CN114072840A - 自动驾驶的深度引导视频修复 - Google Patents
自动驾驶的深度引导视频修复 Download PDFInfo
- Publication number
- CN114072840A CN114072840A CN202080003518.4A CN202080003518A CN114072840A CN 114072840 A CN114072840 A CN 114072840A CN 202080003518 A CN202080003518 A CN 202080003518A CN 114072840 A CN114072840 A CN 114072840A
- Authority
- CN
- China
- Prior art keywords
- image frame
- pixel
- depth
- frame
- image
- 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
- 230000008439 repair process Effects 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 claims abstract description 79
- 239000003086 colorant Substances 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 230000015654 memory Effects 0.000 claims description 7
- 238000005067 remediation Methods 0.000 abstract description 2
- 238000002379 ultrasonic velocimetry Methods 0.000 description 34
- 238000013459 approach Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 230000008447 perception Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 208000009119 Giant Axonal Neuropathy Diseases 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 201000003382 giant axonal neuropathy 1 Diseases 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000035876 healing Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- 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/50—Depth or shape recovery
- G06T7/521—Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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/10—Image acquisition modality
- G06T2207/10024—Color image
-
- 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/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- 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/30236—Traffic on road, railway or crossing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Optics & Photonics (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
公开了用于自动驾驶的视频修复的系统与方法。例如,该方法将多重深度帧拼接到3D图中,其中之前已经移除了深度帧中的一个或多个对象。该方法还将3D图投影到第一图像帧上以生成相应的深度图,其中第一图像帧包括目标修复区域。对于第一图像帧的目标修复区域内的每个目标像素,基于相应的深度图,该方法还将第一图像帧的目标修复区域内的目标像素映射到第二图像帧中的候选像素。该方法还确定填充目标像素的候选颜色。该方法还对第一图像帧执行泊松图像编辑以在第一图像帧的目标修复区域的边界处以及内部与外部之间实现颜色一致性。对于第一图像帧的目标修复区域中的每个像素,该方法还跟踪像素到相邻帧中,并用从相邻帧采样的颜色的平均值替换像素的原始颜色。
Description
技术领域
本公开的实施方式一般涉及自动驾驶。更具体地,本公开的实施方式涉及自动驾驶的深度引导视频修复的系统与方法。
背景技术
随着计算能力的提高,近年来多模态感测变得越来越流行。特别地,在自动驾驶(AD)领域中,将多个传感器结合以克服单独的传感器的缺点,这可以为安全性提供冗余。目前,大多数自驾驶车辆都配备有光探测和测距(LIDAR)以及用于感知和映射的摄像机。此外,仿真系统对于AD技术的开发和验证已经变得至关重要。代替使用计算机图形来创建虚拟驾驶场景,之前已经提出了具有模拟交通流的增强现实世界图片来创建真实感模拟图像和渲染图。这种真实感模拟图像和渲染图的流水线中的一个关键组件是移除道路上的移动代理,以生成干净的背景街道图像。这些种类的数据可使用基于深度学习技术的增强平台和视频修复方法来生成。
除了图像传感器,在其图应用程序(Apps)中显示街道级全景视图的图服务公司还选择将除深度传感器放置在其捕获车辆上。然而,由于隐私保护,这些街景图像必须在发布以供公众访问之前进行后处理以模糊人脸和车辆牌照。这样,为了更好的隐私保护和更清晰的街道图像,强烈希望完全移除道路上的那些代理。
近年来在图像修复方面已经取得了显著进展。主流途径采用基于补丁的方法,以通过从已知区域或其它源图像采样和粘贴类似的补丁来使缺失区域完整。该方法已经自然地延伸到视频修复,其中不仅保持了空间相干性,而且保持了时间相干性。
视频修复背后的基本思想是在同一视频的一些其它帧中观察到帧内的缺失区域/像素。在这种观察下,一些现有技术的方法使用光流作为引导以显式地或隐式地填充缺失的像素。它们成功地应用在不同的场景中,并获得无缝修复结果。然而,不管流计算是否是基于学习的,它都会受到无纹理区域的影响。此外,视频中的透视变化也会降低光流估计的质量。当从时间距离帧中填充缺失的像素时,这些逐帧的流动误差被累积,从而导致失真的修复结果。
深度学习的出现,特别是生成对抗网络(GAN)的出现,为修复工作提供了有力的工具。对于图像,一些传统的方法已经将修复制定为条件图像生成问题。尽管以不同的方式制定,但是基于GAN的修复途径基本上与基于补丁的途径相同,因为精神仍然是在训练数据中寻找类似的纹理并填充孔洞。因此,尽管输入图像一旦来自不同的场景,域自适应就不是容易的工作,但是那些常规的方法必须精细地选择它们的训练数据以匹配输入图像的域。此外,基于GAN的途径与基于补丁的方法具有相同的问题,即,它们在处理图像中的透视变化方面很差。
关于修复,修复的原理是通过从已知源借用外观信息来填充目标孔洞。该源可以是除同一图像中的孔洞之外的区域、来自同一视频的图像或类似场景的图像/视频。减小正确像素的搜索空间是至关重要的。遵循不同的提示,现有的工作可分为3大类:基于传播的修复、基于补丁的修复和基于学习的修复。
基于传播的方法外推孔周围的边界像素以完成图像。这些途径成功地应用于统一颜色的区域。然而,填充具有丰富纹理变化的大孔洞是困难的。因此,基于传播的途径通常修补图像中的小孔洞和划痕。
另一方面,基于补丁的方法不仅查看边界像素,而且在其它区域/图像中搜索类似的外观,以便使缺失区域完整。这种途径已经延伸到视频修复时域。例如,共同估计缺失区域中的光流和颜色以解决时间一致性问题。通常,基于补丁的方法可更好地处理非平稳可视数据。顾名思义,基于补丁的方法依赖于可靠的像素匹配以复制图像补丁并将图像补丁粘贴到缺失区域。当无法稳健地获得像素匹配时(例如在大的透视变化或照明变化的情况下),修复结果是有问题的。
至于基于学习的修复,深度学习技术的成功启示近期将其应用于图像修复的工作。例如,一种现有技术的方法在新的Shepard层中添加了一些特征映射,以获得比更深的网络结构更强的结果。首先引入GaN以生成新型照片。通过将修复制定为条件图像生成问题可以很容易地将其延伸到修复领域。另一种现有技术方法提出了上下文编码器-卷积神经网络,其被训练以生成以其周围环境为条件的任意图像区域的内容。上下文编码器被训练成既理解整个图像的内容,又产生缺失部分的合理假设。还有另一种现有技术的方法使用全局和局部上下文鉴别器以将实际图像与伪图像区分开。全局鉴别器查看整个图像以确保它作为整体是一致的,而局部鉴别器仅查看以完整的区域为中心的小区域以确保生成的补丁的局部一致性。最近,出现了生成修复框架中的上下文关注机制,进一步提高了修复质量。对于视频修复,制定了专门设计以运用跨视频帧的冗余信息的有效框架。它们首先合成跨视频帧的空间上和时间上相干的光流场,然后使用合成的流场引导像素的传播以填充视频中的缺失区域。
发明内容
本公开的实施方式提供了视频修复的计算机实现的方法、非暂时性机器可读介质以及数据处理系统。
在第一方面,本公开的一些实施方式提供了视频修复的计算机实现的方法,该方法包括:接收包括深度帧和图像帧的多个传感器数据集;对于每个深度帧,从深度帧移除一个或多个对象,从而产生没有一个或多个对象的多个结果深度帧;将多个结果深度帧拼接到三维(3D)图中;优化具有目标修复区域的第一图像帧的摄像机姿态;并将3D图投影到第一图像帧上,以生成相应的深度图。
在第二方面中,本发明的一些实施方式提供了其中存储有指令的非暂时性机器可读介质,该指令在由处理器执行时使得处理器执行操作,该操作包括:接收包括深度帧和图像帧的多个传感器数据集;对于每个深度帧,从深度帧移除一个或多个对象,从而产生没有一个或多个对象的多个结果深度帧;将多个结果深度帧拼接到三维(3D)图中;优化具有目标修复区域的第一图像帧的摄像机姿态;并将3D图投影到第一图像帧上,以生成相应的深度图。
在第三方面,本公开的一些实施方式提供了数据处理系统,该方法包括:处理器;以及联接到处理器以存储指令的存储器,该指令在由所述处理器执行时使得处理器执行操作,该操作包括:接收包括深度帧和图像帧的多个传感器数据集;对于每个深度帧,从深度帧移除一个或多个对象,从而产生没有一个或多个对象的多个结果深度帧;将多个结果深度帧拼接到三维(3D)图中;优化具有目标修复区域的第一图像帧的摄像机姿态;将3D图投影到第一图像帧上,以生成相应的深度图;并且对于第一图像帧的目标修复区域内的每个目标像素,基于相应的深度图,将第一图像帧的目标修复区域内的目标像素映射到包括在图像帧中的第二图像帧中的候选像素,并确定填充目标像素的候选颜色。
附图说明
在附图的各图中以举例而非限制的方式示出了本公开的实施方式,附图中相同的参考标记指示相似元件。
图1是示出根据一个实施方式的网络化系统的框图。
图2是示出根据一个实施方式的自动驾驶车辆的示例的框图。
图3A-3B是示出根据一个实施方式的与自动驾驶车辆一起使用的自动驾驶系统的示例的框图。
图4A是示出根据一个实施方式的示例视频修复系统的框图。
图4B是示出根据一个实施方式的包括在深度图构建模块中的示例模块的框图。
图4C是示出根据一个实施方式的视频修复系统的示例流水线的图。
图4D是示出根据一个实施方式的目标区域内的点云投影和图像像素的示例的图。
图5是示出根据一个实施方式的示例图像及其相应的密集深度图的图。
图6是示出根据一个实施方式的示例颜色候选选择标准的图。
图7是示出根据一个实施方式的另一颜色候选选择标准的示例的图。
图8是示出根据一个实施方式的示例颜色协调结果的图。
图9是示出根据一个实施方式的构造深度图的示例方法的流程图。
图10是示出根据一个实施方式的视频修复的方法的示例的流程图。
具体实施方式
将参考以下讨论的细节描述本发明的各种实施方式和方面,并且附图将示出各种实施方式。下面的描述和附图可说明本发明,而并不构成对本发明的限制。描述了许多具体细节以提供对本发明的各种实施方式的透彻理解。然而,在某些实例中,为了提供对本发明的实施方式的简洁讨论,没有描述公知的或常规的细节。
在说明书中提及“一个实施方式”或“实施方式”意味着结合该实施方式描述的特定特征、结构或特性可包括在本发明的至少一个实施方式中。在说明书的各个地方出现的短语“在一个实施方式中”不一定都指同一实施方式。
根据一些实施方式,为了在自动驾驶中获得清晰的街道视图和照片真实感模拟,在本文中描述了自动视频修复算法,其能够从视频中移除交通代理,并且利用深度/点云的引导来合成缺失区域。通过从拼接的点云构造密集3D图,视频内的帧经由该公共3D图是几何相关的。为了填充帧内的目标修复区域,可将来自其它帧的像素转换为具有正确遮挡的当前像素。此外,可通过3D点云配准来融合多个视频,从而可利用多个源视频修复目标视频。本文中描述的本公开的实施方式的动机是解决遮挡区域在整个视频中从未可见的长时间遮挡问题。因此,本公开的实施方式是新颖的,并且首先使得能够融合多个视频用于视频修复,以便解决这种长时间的遮挡问题。
根据一些实施方式,本文中描述了在AD场景中三维(3D)图的引导下的视频修复方法与系统。在一个实施方式中,可避免使用基于深度学习的方法,以便整个流水线只能在中央处理单元(CPU)上运行。这使得它易于推广到不同的平台和不同的用例,因为它不需要图形处理单元(GPU)和训练数据的域自适应。在一些实施方式中,假定越来越多的视频伴随有深度数据,3D图引导的修复是修复团体探索的新方向。
根据一些实施方式,本文中描述了在深度的引导下对街景视频进行修复的方法,因为图像+深度传感器成为AD车辆的标准。例如,根据任务,在彩色图像中手动标记或自动探测目标对象,然后从它们的深度对应物中移除目标对象。可通过将所有点云拼接在一起构造3D图并将3D图投影回单个帧上。大多数帧像素经由3D投影分配有深度值,并且那些剩余像素通过插值获得它们的深度。利用密集深度图和已知的外部摄像机参数,可从其它帧中采样颜色以填充当前帧中的孔洞。这些颜色充当那些缺失像素的初始猜测,接着正则化强化空间平滑度和光度平滑度。之后,可应用色彩协调来生成平滑且无缝的混合边界。最后,沿着光流施加移动平均值,以使得最终修复的视频在时间上平滑。
与基于学习的方法不同,如果遮挡区域在视频中从未可见,则上述途径不能对遮挡区域进行修复。为了解决这个问题,可利用使用多个视频剪辑来修复目标区域的融合修复。与现有技术的修复途径相比,本文描述的本公开的实施方式能够以正确的透视失真在缺失区域中保持更好的细节。由于3D图在所有帧中是一致的,因此隐含地强化了时间一致性。此外,可通过将所有帧配准到公共3D点图中来修复在不同时间捕获的多个视频剪辑。在一个实施方式中,从AD车辆捕获或采集的传感器数据集可充当本文描述的本公开的实施方式的输入,尽管可利用其它合适的数据集(诸如涉及室内和室外场景的数据集),只要利用了同步图像+深度数据即可。
在一个方面,描述了视频修复的计算机实现的方法。该方法可接收包括深度帧和图像帧的多个传感器数据集。对于每个深度帧,该方法还可从深度帧中移除一个或多个对象,从而产生没有一个或多个对象的多个结果深度帧。该方法还可将多个结果深度帧拼接到3D图中。该方法还可优化具有目标修复区域的第一图像帧的摄像机的姿态。该方法还可将3D图投影到第一图像帧上,以生成相应的深度图。
在一个实施方式中,对于第一图像帧的目标修复区域内的每个目标像素,基于相应的深度图,该方法还可将第一图像帧的目标修复区域内的目标像素映射到包括在图像帧中的第二图像帧中的候选像素。该方法还可确定填充目标像素的候选颜色。该方法还可对第一图像帧执行泊松图像编辑,以实现第一图像帧的目标修复区域的内部与外部之间的颜色一致性。该方法还可使用视频融合修复以对目标修复区域内的遮挡区域进行修复。对于第一图像帧的目标修复区域中的每个像素,该方法可跟踪像素到相邻帧中,并用从相邻帧采样的颜色的平均值来替换像素的原始颜色。
图1是示出根据本公开的一个实施方式的自动驾驶网络配置的框图。参照图1,网络配置100包括:自动驾驶车辆(ADV)101,其可通过网络102通信地联接到一个或多个服务器103-104。尽管示出了一个ADV,但是多个ADV可以彼此联接和/或通过网络102联接到服务器103-104。网络102可以是任何类型的有线或无线的网络,诸如局域网(LAN)、广域网(WAN)(诸如因特网、蜂窝网络、卫星网络),或其组合。服务器103-104可以是任何种类的服务器或服务器群集,诸如Web或云服务器、应用服务器、后端服务器或其组合。服务器103-104可以是数据分析服务器、内容服务器、交通信息服务器、图和兴趣点(MPOI)服务器,或位置服务器等。
ADV指的是可配置为自动模式的车辆,在该自动模式中,车辆在驾驶员很少输入或没有输入的情况下导航通过环境。这种ADV可包括:具有一个或多个传感器的传感器系统,该传感器配置为探测关于车辆运作环境的信息。车辆及其相关联的控制器使用所探测的信息来导航通过环境。ADV 101可在手动模式、全自动模式或部分自动模式下运作。
在一个实施方式中,ADV 101包括但不限于:自动驾驶系统(ADS)110、车辆控制系统111、无线通信系统112、用户接口系统113以及传感器系统115。ADV 101还可包括:包括在普通车辆中的某些公共组件,诸如发动机、车轮、方向盘,变速器等,其可由车辆控制系统111和/或ADS 110使用各种通信信号和/或命令来控制,例如,加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
组件110-115可经由互连、总线、网络或其组合彼此通信地联接。例如,组件110-115可经由控制器区域网络(CAN)总线彼此通信地联接。CAN总线是车辆总线标准,其被设计成允许微控制器和装置在没有上位机的应用中彼此通信。它是最初是为汽车内的复用电气布线设计的基于消息的协议,但也用于许多其它环境。
现参照图2,在一个实施方式中,传感器系统115包括但不限于:一个或多个摄像机211、全球定位系统(GPS)单元212、惯性测量单元(IMU)213、雷达单元214和光探测与测距(LIDAR)单元215。GPS系统212可包括:收发器,其可操作以提供关于ADV的位置的信息。IMU单元213可基于惯性加速度来感测ADV的位置和定向变化。雷达单元214可表示利用无线电信号感测ADV的本地环境内的对象的系统。在一些实施方式中,除了感测对象之外,雷达单元214还可感测对象的速度和/或前进方向。LIDAR单元215可使用激光来感测ADV所处的环境中的对象。除其它系统部件之外,LIDAR单元215还可包括:一个或多个激光源、激光扫描仪以及一个或多个探测器。摄像机211可包括:一个或多个捕获ADV周围环境的图像的装置。摄像机211可以是静态摄像机和/或视频摄像机。例如,通过将摄像机安装在旋转和/或倾斜平台上,摄像机可以是机械上可移动的。
传感器系统115还可包括其它传感器,诸如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器以及音频传感器(例如,麦克风)。音频传感器可配置为从ADV周围的环境捕获声音。转向传感器可配置为感测方向盘、车辆的车轮或其组合的转向角。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情况下,油门传感器和制动传感器可集成为集成油门/制动传感器。
在一个实施方式中,车辆控制系统111包括但不限于:转向单元201、油门单元202(也称为加速单元)以及制动单元203。转向单元201用于调节车辆的方向或前进方向。油门单元202用于控制电动机或发动机的速度,该电动机或发动机反过来又控制车辆的速度和加速度。制动单元203通过提供摩擦来使车辆的车轮或轮胎减速,以使车辆减速。注意,如图2所示的组件可以用硬件、软件或其组合来实现。
返回参照图1,无线通信系统112用于允许ADV 101与外部系统之间的通信,诸如装置、传感器、其它车辆等。例如,无线通信系统112可直接或经由通信网络与一个或多个装置进行无线通信,例如,通过网络102与服务器103至104通信。无线通信系统112可使用任何蜂窝通信网络或无线局域网(WLAN),例如,使用WiFi与另一组件或系统进行通信。无线通信系统112可例如使用红外链路、蓝牙等与装置(例如,乘客的移动装置、显示装置、车辆101内的扬声器)直接通信。用户接口系统113可以是在车辆101内实现的外围装置的一部分,包括:例如,键盘、触摸屏显示装置、麦克风以及扬声器等。
ADV 101的一些或全部功能可以由ADS 110控制或管理,尤其是当在自动驾驶模式下运作时。ADS 110包括:用以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息的必要硬件(例如,处理器、存储器、存储装置)和软件(例如,操作系统、规划和路线安排程序),处理所接收的信息,规划从起始点到目的点的路线或路径,然后基于规划和控制信息驾驶车辆101。或者,ADS 110可与车辆控制系统111集成在一起。
例如,作为乘客的用户可例如经由用户接口指定行程的起始位置和目的地。ADS110获得行程相关数据。例如,ADS 110可以从MPOI服务器获得位置和路线数据,该MPOI服务器可以是服务器103-104的一部分。位置服务器提供位置服务,MPOI服务器提供图服务和特定位置的POI。或者,这种位置和MPOI信息可本地缓存在ADS 110的永久存储装置中。
当ADV 101沿着路线移动时,ADS 110还可从交通信息系统或服务器(TIS)获得实时交通信息。注意,服务器103-104可以由第三方实体操作。或者,服务器103-104的功能可以与ADS 110集成在一起。基于由传感器系统115探测或感测的实时交通信息、MPOI信息和位置信息,以及实时本地环境数据(例如,障碍物、对象、附近车辆),ADS 110可规划最佳路线并且根据所规划的路线例如经由控制系统111来驾驶车辆101,以安全且高效到达特定目的地。
图3A和3B是示出根据一个实施方式的与ADV一起使用的自动驾驶系统的示例的框图。系统300可被实现为图1的ADV 101的一部分,包括但不限于:ADS 110、控制系统111以及传感器系统115。参照图3A-3B,ADS 110包括但不限于:定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路线安排模块307以及传感器数据采集308。
模块301-308中的一些或全部可以用软件、硬件或其组合来实现。例如,这些模块可安装在永久存储装置352中、加载到存储器351中,并由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可通信地联接到图2的车辆控制系统111的一些或全部模块或与图2的车辆控制系统111的一些或全部模块集成。模块301-308中的一些可被集成在一起作为集成模块。
定位模块301确定ADV 300的当前位置(例如,利用GPS单元212)并管理与用户的行程或路线相关的任何数据。定位模块301(也称为图和路线模块)管理与用户的旅行或路由有关的任何数据。用户可例如经由用户界面登录并指定行程的起始位置和目的地。定位模块301与ADV 300的其它组件(诸如,地图和路线数据311)进行通信,以获得行程相关数据。例如,定位模块301可从位置服务器以及图和POI(MPOI)服务器获得位置和路线数据。位置服务器提供位置服务,并且MPOI服务器提供图服务和特定位置的POI,其可高速缓存作为地图和路线数据311的一部分。当ADV 300沿着路线移动时,定位模块301还可从交通信息系统或服务器获得实时交通信息。
基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,由感知模块302确定对周围环境的感知。感知信息可表示普通驾驶员将感知到驾驶员正在驾驶的车辆周围的东西。该感知可包括:例如,对象形式的车道配置、交通灯信号、另一车辆的相对位置、行人、建筑物、人行道,或其它交通相关标志(例如,停车标志、让路标志)等。车道配置包括:描述一条或多条车道的信息,例如,车道的形状(例如,直线或弯曲)、车道的宽度、道路中的车道数量、单向或双向车道、合并或分开车道、出口车道等。
感知模块302可包括:计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个摄像机捕获的图像,以便识别ADV环境中的对象和/或特征。对象可包括:交通信号、道路边界、其它车辆、行人和/或障碍物等。计算机视觉系统可使用对象识别算法、视频跟踪和其它计算机视觉技术。在一些实施方式中,计算机视觉系统可绘制环境、跟踪对象以及估计对象的速度等。感知模块302还可基于由其它传感器(诸如雷达和/或LIDAR)提供的其它传感器数据来探测对象。
对于每个对象,预测模块303预测对象在环境下将如何表现。鉴于一组图/路线信息311和交通规则312,基于在时间点感知驾驶环境的感知数据执行预测。例如,如果对象是处于相对方向的车辆并且当前驾驶环境包括交叉路口,则预测模块303将预测车辆是否可能将向前直行或转弯。如果感知数据指示交叉路口没有交通灯,则预测模块303可预测车辆在进入交叉路口之前可能不得不完全停止。如果感知数据指示车辆当前处于仅左转弯车道或仅右转弯车道,则预测模块303可预测车辆将更可能分别进行左转弯或右转弯。
对于每个对象,决策模块304做出关于如何处理对象的判定。例如,对于特定对象(例如,交叉路口中的另一车辆)及其描述该对象的元数据(例如,速度、方向、转向角),决策模块304决定如何与对象相遇(例如,超车、让路、停止、超过)。决策模块304可根据可存储在永久存储装置352中的一组规则(诸如交通规则或驾驶规则312)来作出这种决策。
路线安排模块307配置为提供从起始点到目的点的一条或多条路线或路径。对于从起始位置到目的位置的给定行程(例如,从用户接收的给定行程),路线安排模块307获得路线和图信息311,并确定从起始位置到目的位置的所有可能的路线或路径。路线安排模块307可为它确定的从起始位置到达目的位置的每条路线生成地形图形式的参考线。参考线指的是没有来自其它诸如车辆、障碍物或交通状况的任何干扰的理想路线或路径。也就是说,如果在道路上没有其它车辆、行人或障碍物,则ADV应该精确地或紧密地遵循参考线。然后将地形图提供给决策模块304和/或规划模块305。决策模块304和/或规划模块305检查所有可能的路线,以鉴于由其它模块提供的其它数据(诸如来自定位模块301的交通状况、由感知模块302感知的驾驶环境以及由预测模块303预测的交通状况)选择和修改最佳路线之一。用于控制ADV的实际路径或路线可接近或不同于由路线安排模块307提供的参考线,这取决于在该时间点的特定驾驶环境。
基于对所感知的每个对象的决策,规划模块305使用由路线安排模块307提供的参考线作为基础来规划ADV的路径或路线,以及驱动参数(例如,距离、速度和/或转向角)。也就是说,对于给定的对象,决策模块304决定对该对象做什么,而规划模块305确定如何去做。例如,对于给定的对象,决策模块304可决定超过该对象,而规划模块305可确定是在该对象的左侧还是右侧超过。规划和控制数据由规划模块305生成,规划模块305包括描述车辆300将如何在下一移动周期(例如,下一路线/路径段)中移动的信息。例如,规划和控制数据可指示车辆300以每小时30英里(mph)的速度移动10米,然后以25mph的速度变更到右车道。
基于规划和控制数据,控制模块306根据规划和控制数据所定义的路线或路径,通过向车辆控制系统111发送适当的命令或信号来控制并驾驶ADV。规划和控制数据包括足够的信息,以沿着路径或路线在不同时间点使用恰当的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。
在一个实施方式中,规划阶段在多个规划周期(也称为驾驶周期)中执行,例如,在100毫秒(ms)的每个时间间隔中执行。对于每个规划周期或每个驾驶周期,将基于规划和控制数据发布一个或多个控制命令。也就是说,对于每100ms,规划模块305规划下一个路线段或路径段,例如,包括:目标位置和ADV到达目标位置所需的时间。或者,规划模块305还可指定具体的速度、方向和/或转向角等。在一个实施方式中,规划模块305为下一预定时间段(诸如5秒)规划路线段或路径段。对于每个规划周期,规划模块305基于在前一个周期中规划的目标位置来规划当前周期的目标位置(例如,下一个5秒)。控制模块306然后基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门、制动器、转向控制命令)。
注意,决策模块304和规划模块305可集成为集成模块。决策模块304/规划模块305可包括:导航系统或导航系统的功能,以为ADV确定行驶路径。例如,导航系统可确定一系列速度和前进方向,以影响ADV沿着路径的移动,该路径基本上避免了感知到的障碍物,同时通常使ADV沿着通往最终目的地的基于道路的路径前进。可根据经由用户接口系统113的用户输入来设定目的地。导航系统可在ADV正在运行的同时动态地更新驾驶路径。导航系统可将来自GPS系统和一个或多个图的数据合并,以便确定ADV的驾驶路径。
在一个实施方式中,当ADV沿着路线移动时,传感器数据采集模块308可捕获或采集从传感器系统115(例如,摄像机211、雷达单元214、LIDAR单元215等)生成的传感器数据,诸如摄像机数据、LIDAR数据或帧、雷达数据等,并将传感器数据存储为传感器数据集313的一部分,传感器数据集313可存储在永久存储装置352中。或者可选地,存储在服务器(例如,服务器103-104)上,用于后续处理。在一个实施方式中,传感器数据集313可包括在一段时间内记录的视频的大规模数据集。例如,视频可包括:同步图像、深度图像的点云等。在一些实施方式中,数据集313可包括:挑战性的场景,例如,由交叉路口中的大型车辆(诸如,客车、公共汽车或卡车)遮挡的背景、前方车辆始终阻挡前方视野等。对于那些长时间遮挡场景,背景可能在整个视频序列中缺失。因此,那些挑战性的场景可被捕获一次以上,以提供用于视频融合修复的数据,如下文更详细地描述。
图4A是示出根据一个实施方式的示例视频修复系统的框图。参照图4A(以及图4B-4C),视频修复系统400包括:深度图构建模块401、候选颜色采样模块402、正则化模块403、颜色协调模块404以及时间平滑模块405。在一个实施方式中,深度图构建模块401接收(或检索)传感器数据集313,例如,从永久存储装置352或服务器(例如,服务器103-104)接收。传感器数据集313可包括:深度帧510(例如,LIDAR帧),其中每个深度图像包括:表示一个或多个对象的逐帧点云和场景的背景。传感器数据集313还可包括:例如,从系统115的摄像机211捕获的图像帧560。
如图4B所示,深度图构建模块401可包括:动态对象移除模块421、图拼接模块422以及姿态优化模块423。对于深度帧510的每个深度帧,动态对象移除模块421可从点云中移除运动对象,并只在最终的3D图中保留背景点。一旦执行了深度传感器(例如,LIDAR单元215)与图像传感器(例如,摄像机211)之间的校准,则可相对容易地执行该操作。例如,为了移除每个移动对象,可移除在围绕其各自对象的图像的一个或多个边界框(或目标区域)(例如,图像530的边界框531-532)中投影的所有点。边界框可被自动探测或手动标记。或者,可利用点云上的机器学习(例如,PointNet++)以直接从点云中探测并移除那些运动对象。
使用深度帧510的结果点云,在移除移动对象的情况下,图拼接模块422可将那些结果点云拼接在3D图520中。例如,在一个实施方式中,模块422可实时地调用测程法和映射方法或工具(诸如,LIDAR测程法和映射(LOAM)方法),以融合结果深度帧来构造3D图520。在另一个实施方式中,可使用实时3D重建和交互方法以基于结果深度帧来重建3D图520。该方法还可下采样以生成具有合理分辨率的最终点云。
在一个实施方式中,姿态优化模块423配置为优化每个图像(例如,图像530)的摄像机姿态。例如,可预先校准深度传感器与图像传感器之间的相对姿态。然而,在点云与图像像素之间仍然存在一些未对准。振动、不准确的同步,和/或来自点云拼接的累积误差可导致图像传感器与深度传感器之间的姿态偏移。作为示例,参照图4D,点云被投影到具有颜色的目标区域610中。左边的图像显示校准结果投影。显然,可在边界处看到未对准。右边的图像显示优化的旋转R投影,其中点与周围的像素更有效地匹配。目标区域620与目标区域630之间的区域是将投影的3D点(例如,3D图520中的点云)的颜色与图像像素(例如,图像530中的像素)进行比较以优化摄像机旋转矩阵R的区域。
为了产生无缝修复结果,即使这种偏移较小,也应该对其进行补偿。从图像传感器与深度传感器之间的初始非本征校准,通过最小化光度投影误差来优化它们各自的旋转R和平移T。误差定义为:
E=∑p∈Ω|c(p)-c(q)|2,
其中p是来自3D图的像素投影,Φ是围绕目标修复区域的区域,其在图4D中作为目标区域620与目标区域630之间的区域被示出,并且q是图像中被p覆盖的原始像素。函数c返回像素的值。
注意,像素的颜色和位置是离散值,从而使得误差函数E在R和T上不连续。上述等式不能直接使用标准解算器(诸如Levenberg-Marquardt算法或Gauss-Newton算法)来求解。相反,搜索R和T的离散空间以最小化E。然而,R和T可总共具有六个自由度(DoF),从而使得搜索空间非常大。因此,T可以是固定的,并且仅优化R,因为当3D图的大部分是远处点时,R在确定投影位置时占主导地位。此外,在一些实施方式中,仅投影像素需要在图像空间中的垂直和水平方向上轻微地移动,这由摄像机(例如,图2的摄像机211)的俯仰角和偏航角确定的。最后,可将搜索空间减小到2DoF,这显着地加速了优化过程。
返回参照图4B-4C,一旦由模块423优化摄像机姿态,3D图520就被投影到每个图像帧(例如,图像530)上以生成相应的深度图540。注意,一些点云是在远离当前图像处捕获的,其可在投影过程中被遮挡和去遮挡。因此,可采用z-缓冲器来获得最近的深度。
为了获得完全密集深度图,可采用深度估计方法从稀疏深度图学习并产生密集深度图,尽管线性插值可能足以生成密集3D图。在一些实施方式中,中值滤波器可被应用以移除一些单独的噪声点,并且在图5中示出最终的示例密集深度图。在图5中,示出了图像及其相应的密集深度图。注意,仅为背景点渲染深度,并且已经移除了所有移动对象。
继续参考图4A,在一个实施方式中,候选颜色采样模块402配置为将来自一个图像的像素映射到来自其它图像的像素。当每个像素都分配有深度值时,有可能将像素从一个图像映射到其它图像。存在填充目标修复区域的像素的多种颜色选择,并且应当遵循准则以找到最佳候选颜色。例如,有两个原则来选择最佳候选颜色:1)从时间上更接近当前帧的帧中进行选择,以及2)从3D背景更接近摄像机的帧中进行选择。第一个要求确保了本文中描述的视频修复途径受到较少的透视失真和遮挡。第二个要求是因为图像在更靠近对象时记录更多的纹理细节,更多的细节可留存在修复区域中。
在该准则和传感器仅在捕获期间向前移动的事实下,模块402配置为首先在时间上向前搜索至视频的末尾,然后向后搜索直到开始。选择第一有效像素作为候选像素,并且有效像素意味着其位置不落入目标修复区域。现在参照图6,图6示出了根据一个实施方式的候选选择标准的示例,在顶行中,帧810的像素812可在两个后续的帧820和帧830中找到其候选颜色,其中道路纹理清楚地出现在帧820和帧830中。在这种情况下,选择时间上接近当前帧(例如,帧810)的帧,以便最小化透视变化和潜在遮挡或去遮挡的影响。在底部行中,帧850的像素852可在前一帧840和后续帧860中找到其候选颜色。在这种情况下,由于道路纹理在帧840中丢失,因此在前一帧840上选择后续帧860。
在这点处,每个像素单独获得颜色值。如果摄像机姿态和深度值是100%正确的,则可以用平滑的边界和邻域生成完美的修复结果。然而,这不是现实世界中的情况,特别是深度图经常携带误差。因此,正则化模块403被调用以强化平滑度约束。在一个实施方式中,颜色选择可被制定为离散全局优化问题,并且使用例如置信传播(BP)来解决它。然而,在解释该制定之前,首先定义目标像素的颜色空间和邻域。现在参照图7,如左图像对(图像910-图像920)中所示,帧910中的目标像素912从源图像920中找到其候选像素922。由于深度不精确,真实颜色可能没有完全位于候选像素上,而是位于周围的小窗口921上。然后,可采集来自n×n窗口921的所有像素颜色,以形成目标像素912的颜色空间,其中n是正整数。
仍然参照图7,右图像对(图像930-图像940)示出了如何找出邻域的预期颜色。由于透视变化,目标像素932的四个邻域933不必是源图像940中的邻域。因此,相邻像素943可扭曲到源图像940中其深度值以采样期望的颜色。
更详细地,在一个实施方式中,设P是目标修复区域(例如,图7的区域911/931)中的一组像素,以及L是一组标签。标签对应于颜色空间中潜在颜色的索引。标记函数l为每个像素p∈P分配lp∈L。假设标签应几乎在任何地方平滑地变化,但是可在诸如对象边界的一些地方处急剧改变。标记的质量由能量函数给出:
其中N表示四连通图像网格图中的边缘的数目。V(lp,lq)是将标签lp和lq分配给两个相邻像素的成本,并可称为不连续成本。DP(lp)是将标签lp分配给像素p的成本,其可称为数据成本。确定具有最小能量的标记对应于最大后验(MAP)估计问题。
因此,可以将边界平滑度约束合并到数据成本中,如下所示:
其中Cp1、CpR、Cpt、Cpb分别返回像素p的左侧、右侧、顶部和底部邻域的预期颜色。q是在目标图像中的修复区域之外的p的邻域像素,因此它具有已知的颜色,该颜色由函数I(q)返回。在一个实施方式中,将真实邻域颜色和预期邻域颜色的差作为标记质量的量度。对于不在修复边界上的像素,通过分配常数值α向所有标签提供相等的机会。不连续成本定义为:
这里,Cp(·)和Cq(·)在标签lp和lq处为p和q抓取颜色。L,R,T,B分别是q在左侧、右侧、顶部和底部的缩写。对于一对相邻的两个像素p和像素q,可计算p的颜色与p的q的预期颜色之间的差,反之亦然。
在一个实施方式中,色彩协调模块404配置为使用泊松图像编辑来生成平滑且无缝混合边界。作为示例,由于改变摄像机曝光时间和白平衡,来自不同帧的像素可具有不同的颜色,从而引起颜色不连续(如在图8中可见)。这些问题可使用泊松图像编辑来解决。泊松图像编辑最初被提议用以将来自源图像的图像补丁克隆到具有无缝边界和原始纹理的目的图像中。它通过解决以下最小化问题来实现这一点:
这里,使用来自置信传播步骤的输出来计算v,除了一个例外。如果Ω内的两个相邻像素来自不同帧,则可将它们的梯度设置为0。这允许在修复区域内的颜色一致性。图8展示了这种解决方案的有效性。在图8中,左图像1010是输入图像。中间图像1020是修复结果。注意,区域1022中的颜色不连续和区域1021中的空白像素。注意,空白像素区域1021也被填充。由于空白像素具有0梯度值,因此在该部分上求解泊松方程等价于平滑颜色插值。最后,右图像1030是颜色协调之后的结果。
这里,假设修复区域在一些其它帧中是可见的。否则,一些像素将保持空白,如从图8在区域1021中可见。基于学习的方法可根据他们的训练数据幻现修复颜色。相反,如果遮挡区域在视频中从未可见,则本文描述的本公开的实施方式无法对遮挡区域进行修复,从而留下空白像素。
对于空白像素的小区域,平滑插值足以填充这些孔洞。然而,在一些实施方式中,例如,前方的车辆可在整个视频期间内阻挡大视场,从而留下大的空白孔洞。简单的插值不能处理这个问题。这个问题可通过捕获同一场景的另一个视频来解决,在该视频中被遮挡的部分变得可见。幸运的是,可使用LOAM方法将新捕获的帧配准到现有的3D图中。一旦新的帧被配准并合并到现有的3D图中,就以完全相同的方式执行修复。
继续参考图4A,时间平滑模块405可以为所有结果帧计算前向和后向光流。也就是说,对于目标修复区域中的每个像素,模块405可使用光流跟踪像素到相邻帧中,并用从相邻帧采样的颜色的平均值来替换像素的原始颜色。
图9是示出根据一个实施方式的构造深度图的示例方法的流程图。方法900可由硬件、软件或两者的组合来执行。例如,方法900可由图4B的深度图构造模块401执行。
参照图9,在框901处,该方法接收包括深度帧和图像帧的多重传感器数据集。在框902处,对于每个深度帧,该方法从深度帧中移除一个或多个对象,从而产生没有一个或多个对象的多个结果深度帧。在框903处,该方法将结果深度帧拼接到3D图中。在框904处,该方法优化具有目标修复区域的第一图像帧的摄像机姿态。在框905处,该方法将3D图投影到第一图像帧上以生成相应的深度图。
图10是示出根据一个实施方式的视频修复方法的示例的流程图。方法1000可由硬件、软件或两者的组合来执行。例如,方法1000可由图4A的系统400执行。
参照图10,在框1001处,该方法将多重深度帧拼接到3D图中,其中之前已经移除了深度帧中的一个或多个对象。在框1002处,该方法将3D图投影到第一图像帧上以生成相应的深度图,其中第一图像帧包括目标修复区域。在框1003处,对于第一图像帧的目标修复区域内的每个目标像素,基于相应的深度图,该方法将第一图像帧的目标修复区域内的目标像素映射到第二图像帧中的候选像素。在框1004处,该方法确定填充目标像素的候选颜色。在框1005处,该方法对第一图像帧执行泊松图像编辑,以实现第一图像帧的目标修复区域的内部与外部之间的颜色一致性。在框1006处,对于第一图像帧的目标修复区域中的每个像素,该方法跟踪该像素到相邻帧中,并用从相邻帧中采样的颜色的平均值来替换该像素的原始颜色。
应注意,如上文示出和描述的部件中的一些或全部可在软件、硬件或其组合中实施。例如,此类部件可实施为安装并存储在永久性存储装置中的软件,软件可通过处理器(未示出)加载在存储器中并在存储器中执行以实施贯穿本申请的过程或操作。可替代地,此类部件可实施为编程或嵌入到专用硬件(诸如,集成电路(例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA))中的可执行代码,可执行代码可经由来自应用的对应驱动程序和/或操作系统来访问。此外,此类部件可实施为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。
前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
然而,应当牢记,所有这些和类似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或类似电子计算装置的动作和处理,计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将数据变换成计算机系统存储器或寄存器或者其它此类信息存储装置、传输或显示装置内类似地表示为物理量的其它数据。
本公开的实施方式还涉及用于执行本文中的操作的设备。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器装置)。
前述附图中所描绘的过程或方法可由处理逻辑来执行,处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,操作中的一些可按不同的顺序执行。此外,一些操作可并行地执行而不是顺序地执行。
本公开的实施方式并未参考任何特定的编程语言进行描述。应认识到,可使用多种编程语言来实施如本文描述的本公开的实施方式的教导。
在以上的说明书中,已经参考本公开的具体示例性实施方式对本公开的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本公开的更宽泛精神和范围的情况下,可对本发明作出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。
Claims (21)
1.视频修复的计算机实现的方法,包括:
接收包括深度帧和图像帧的多个传感器数据集;
对于每个深度帧,从所述深度帧移除一个或多个对象,从而产生没有一个或多个对象的多个结果深度帧;
将所述多个结果深度帧拼接到三维图中;
优化具有目标修复区域的第一图像帧的摄像机姿态;以及
将所述三维图投影到所述第一图像帧上,以生成相应的深度图。
2.根据权利要求1所述的方法,还包括:
对于所述第一图像帧的所述目标修复区域内的每个目标像素,
基于所述相应的深度图,将所述第一图像帧的所述目标修复区域内的所述目标像素映射到包括在所述图像帧中的第二图像帧中的候选像素,以及
确定填充所述目标像素的候选颜色。
3.根据权利要求2所述的方法,还包括:对所述第一图像帧执行泊松图像编辑,以实现所述第一图像帧的所述目标修复区域的内部与外部之间的颜色一致性。
4.根据权利要求1所述的方法,其中,每个深度帧包括:表示一个或多个对象和场景背景的点云。
5.根据权利要求3所述的方法,还包括:对于所述第一图像帧的所述目标修复区域中的每个像素,跟踪所述像素到相邻帧中,并用从所述相邻帧采样的颜色的平均值来替换所述像素的原始颜色。
6.根据权利要求2所述的方法,其中,所述第二图像帧在时间上接近于所述第一图像帧。
7.根据权利要求2所述的方法,其中,所述第二图像帧是来自所述第一图像帧的前一帧或来自所述第一图像帧的后续帧。
8.根据权利要求2所述的方法,其中,确定填充所述目标像素的所述候选颜色包括:(i)从所述候选像素周围的像素窗口找到所述候选颜色,或(ii)将所述候选像素周围的相邻像素扭曲到所述第二图像帧中所述相邻像素的深度值,以对期望颜色进行采样以填充所述目标像素。
9.根据权利要求8所述的方法,其中,将所述候选像素周围的所述相邻像素扭曲到所述第二图像帧中包括:
基于所述目标修复区域中的一组像素和与颜色空间中的候选颜色的索引对应的一组标签来计算能量函数,以及
基于所述相邻像素各自的预期颜色将边界平滑度约束并入到数据成本中。
11.其中存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使得所述处理器执行操作,所述操作包括:
接收包括深度帧和图像帧的多个传感器数据集;
对于每个深度帧,从所述深度帧移除一个或多个对象,从而产生没有一个或多个对象的多个结果深度帧;
将所述多个结果深度帧拼接到三维图中;
优化具有目标修复区域的第一图像帧的摄像机姿态;以及
将所述三维图投影到所述第一图像帧上,以生成相应的深度图。
12.根据权利要求11所述的非暂时性机器可读介质,其中,所述操作还包括:
对于所述第一图像帧的所述目标修复区域内的每个目标像素,
基于所述相应的深度图,将所述第一图像帧的所述目标修复区域内的所述目标像素映射到包括在所述图像帧中的第二图像帧中的候选像素,以及
确定填充所述目标像素的候选颜色。
13.根据权利要求12所述的非暂时性机器可读介质,其中,所述操作还包括:对所述第一图像帧执行泊松图像编辑,以实现所述第一图像帧的所述目标修复区域的内部与外部之间的颜色一致性。
14.根据权利要求11所述的非暂时性机器可读介质,其中,每个深度帧包括:表示一个或多个对象和场景背景的点云。
15.根据权利要求13所述的非暂时性机器可读介质,其中,所述操作还包括:对于所述第一图像帧的所述目标修复区域中的每个像素,跟踪所述像素到相邻帧中,并用从所述相邻帧采样的颜色的平均值来替换所述像素的原始颜色。
16.根据权利要求12所述的非暂时性机器可读介质,其中,所述第二图像帧在时间上接近于所述第一图像帧。
17.根据权利要求12所述的非暂时性机器可读介质,其中,所述第二图像帧是来自所述第一图像帧的前一帧或来自所述第一图像帧的后续帧。
18.根据权利要求12所述的非暂时性机器可读介质,其中,确定填充所述目标像素的所述候选颜色包括:(i)从所述候选像素周围的像素窗口找到所述候选颜色,或(ii)将所述候选像素周围的相邻像素扭曲到所述第二图像帧中所述相邻像素的深度值,以对期望颜色进行采样以填充所述目标像素。
19.根据权利要求18所述的非暂时性机器可读介质,其中,将所述候选像素周围的所述相邻像素扭曲到所述第二图像帧中包括:
基于所述目标修复区域中的一组像素和与颜色空间中的候选颜色的索引对应的一组标签来计算能量函数,以及
基于所述相邻像素各自的预期颜色将边界平滑度约束并入到数据成本中。
21.数据处理系统,包括:
处理器;以及
存储器,联接到所述处理器以存储指令,所述指令在由所述处理器执行时使得所述处理器执行操作,所述操作包括:
接收包括深度帧和图像帧的多个传感器数据集;
对于每个深度帧,从所述深度帧移除一个或多个对象,从而产生没有一个或多个对象的多个结果深度帧;
将所述多个结果深度帧拼接到三维图中;
优化具有目标修复区域的第一图像帧的摄像机姿态;
将所述三维图投影到所述第一图像帧上,以生成相应的深度图;以及
对于所述第一图像帧的所述目标修复区域内的每个目标像素,基于所述相应的深度图,将所述第一图像帧的所述目标修复区域内的所述目标像素映射到包括在所述图像帧中的第二图像帧中的候选像素,并确定填充所述目标像素的候选颜色。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/092390 WO2021237471A1 (en) | 2020-05-26 | 2020-05-26 | Depth-guided video inpainting for autonomous driving |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114072840A true CN114072840A (zh) | 2022-02-18 |
Family
ID=78705052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080003518.4A Pending CN114072840A (zh) | 2020-05-26 | 2020-05-26 | 自动驾驶的深度引导视频修复 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11282164B2 (zh) |
EP (1) | EP3942794B1 (zh) |
CN (1) | CN114072840A (zh) |
WO (1) | WO2021237471A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082701A (zh) * | 2022-08-16 | 2022-09-20 | 山东高速集团有限公司创新研究院 | 一种基于双摄像头的多水线交叉识别定位方法 |
CN115118948A (zh) * | 2022-06-20 | 2022-09-27 | 北京华录新媒信息技术有限公司 | 一种全景视频中无规则遮挡的修复方法及装置 |
CN117274148A (zh) * | 2022-12-05 | 2023-12-22 | 魅杰光电科技(上海)有限公司 | 基于深度学习的无监督晶圆缺陷检测方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102273377B1 (ko) * | 2020-12-14 | 2021-07-06 | 국방기술품질원 | 영상 합성 방법 |
US11935214B2 (en) * | 2021-01-27 | 2024-03-19 | Baidu Usa Llc | Video content removal using flow-guided adaptive learning |
CN115424232B (zh) * | 2022-11-04 | 2023-02-14 | 深圳市城市交通规划设计研究中心股份有限公司 | 一种路面坑槽的识别和评价方法、电子设备及存储介质 |
CN116299383B (zh) * | 2023-02-14 | 2024-02-02 | 北京建筑大学 | 多传感器融合综合管廊巡检小车定位方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8861868B2 (en) * | 2011-08-29 | 2014-10-14 | Adobe-Systems Incorporated | Patch-based synthesis techniques |
CN103561258B (zh) * | 2013-09-25 | 2015-04-15 | 同济大学 | 一种Kinect深度视频时空联合修复方法 |
US9361524B2 (en) * | 2014-10-20 | 2016-06-07 | King Abdullah University Of Science & Technology | System and method for crowd counting and tracking |
CN104780355B (zh) | 2015-03-31 | 2017-01-04 | 浙江大学 | 一种视点合成中基于深度的空洞修复方法 |
US9818232B2 (en) * | 2015-08-26 | 2017-11-14 | Adobe Systems Incorporated | Color-based depth smoothing of scanned 3D model to enhance geometry in 3D printing |
US10678256B2 (en) * | 2017-09-28 | 2020-06-09 | Nec Corporation | Generating occlusion-aware bird eye view representations of complex road scenes |
US10650531B2 (en) * | 2018-03-16 | 2020-05-12 | Honda Motor Co., Ltd. | Lidar noise removal using image pixel clusterings |
US10984583B2 (en) | 2018-03-28 | 2021-04-20 | Apple Inc. | Reconstructing views of real world 3D scenes |
US11164326B2 (en) * | 2018-12-18 | 2021-11-02 | Samsung Electronics Co., Ltd. | Method and apparatus for calculating depth map |
-
2020
- 2020-05-26 EP EP20815705.7A patent/EP3942794B1/en active Active
- 2020-05-26 CN CN202080003518.4A patent/CN114072840A/zh active Pending
- 2020-05-26 US US16/770,904 patent/US11282164B2/en active Active
- 2020-05-26 WO PCT/CN2020/092390 patent/WO2021237471A1/en unknown
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118948A (zh) * | 2022-06-20 | 2022-09-27 | 北京华录新媒信息技术有限公司 | 一种全景视频中无规则遮挡的修复方法及装置 |
CN115118948B (zh) * | 2022-06-20 | 2024-04-05 | 北京华录新媒信息技术有限公司 | 一种全景视频中无规则遮挡的修复方法及装置 |
CN115082701A (zh) * | 2022-08-16 | 2022-09-20 | 山东高速集团有限公司创新研究院 | 一种基于双摄像头的多水线交叉识别定位方法 |
CN115082701B (zh) * | 2022-08-16 | 2022-11-08 | 山东高速集团有限公司创新研究院 | 一种基于双摄像头的多水线交叉识别定位方法 |
CN117274148A (zh) * | 2022-12-05 | 2023-12-22 | 魅杰光电科技(上海)有限公司 | 基于深度学习的无监督晶圆缺陷检测方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3942794A1 (en) | 2022-01-26 |
WO2021237471A1 (en) | 2021-12-02 |
EP3942794A4 (en) | 2022-04-06 |
EP3942794B1 (en) | 2023-11-29 |
US20210374904A1 (en) | 2021-12-02 |
US11282164B2 (en) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11282164B2 (en) | Depth-guided video inpainting for autonomous driving | |
US11861790B2 (en) | Procedural world generation using tertiary data | |
US10498966B2 (en) | Rolling shutter correction for images captured by a camera mounted on a moving vehicle | |
CN109215433B (zh) | 用于自动驾驶仿真的基于视觉的驾驶场景生成器 | |
CN112204343B (zh) | 高清晰地图数据的可视化 | |
US11852729B2 (en) | Ground intensity LIDAR localizer | |
JP7052174B2 (ja) | 将来経路を推定するシステム及び方法 | |
JP2019109219A (ja) | ダイクロイックミラーを使用する、自律走行車のための3d−lidarシステム | |
EP3825958B1 (en) | A new way to generate tight 2d bounding boxes for autonomous driving labeling | |
CN115451977A (zh) | 车道标注数据的获取方法、计算机设备及存储介质 | |
CN111402387A (zh) | 从用于导航自主车辆的高清晰度地图的点云中移除短时点 | |
EP4275182A1 (en) | Synthesizing three-dimensional visualizations from perspectives of onboard sensors of autonomous vehicles | |
CN115407364A (zh) | 点云地图处理方法、车道标注数据获取方法、设备及介质 | |
CN112837209B (zh) | 对鱼眼镜头生成具有畸变的图像的新方法 | |
US11801865B2 (en) | Object tracking by generating velocity grids | |
CN113366488A (zh) | 具有自动对象标记方法和设备的自主驾驶数据集生成 | |
CN115390088A (zh) | 点云地图建立方法、车道标注数据获取方法、设备及介质 | |
JP2022091474A (ja) | 情報処理装置、情報処理方法、プログラムおよび車両制御システム |
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 |