CN115457074A - 用于对象检测和跟踪的神经网络 - Google Patents
用于对象检测和跟踪的神经网络 Download PDFInfo
- Publication number
- CN115457074A CN115457074A CN202210633150.0A CN202210633150A CN115457074A CN 115457074 A CN115457074 A CN 115457074A CN 202210633150 A CN202210633150 A CN 202210633150A CN 115457074 A CN115457074 A CN 115457074A
- Authority
- CN
- China
- Prior art keywords
- video
- real
- composite
- video sequence
- simulated
- 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
Images
Classifications
-
- 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/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/047—Probabilistic or stochastic 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/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative 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
- G06N3/094—Adversarial learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/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/30241—Trajectory
-
- 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)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了“用于对象检测和跟踪的神经网络”。训练双变分自动编码器‑生成式对抗网络(VAE‑GAN)以通过将真实视频数据输入到真实视频解码器和真实视频编码器中并将模拟视频数据输入到合成视频编码器和合成视频解码器中来变换所述真实视频序列和所述模拟视频序列。分别基于来自真实视频鉴别器和模拟视频鉴别器的输出来确定真实损失函数和模拟损失函数。通过真实视频编码器和真实视频解码器反向传播真实损失函数以基于真实损失函数来训练真实视频编码器和真实视频解码器。通过合成视频编码器和合成视频解码器反向传播合成损失函数以基于合成损失函数来训练合成视频编码器和合成视频解码器。可以使用真实损失函数和合成损失函数来训练真实视频鉴别器和合成视频鉴别器以根据伪视频序列确定真实视频序列。用双VAE‑GAN的合成视频编码器和真实视频解码器来变换标注的模拟视频序列,以生成包括基于真实视频序列的风格元素的重构的标注的真实视频序列。使用重构的标注的真实视频序列来训练第二神经网络以检测和跟踪对象。
Description
技术领域
本公开涉及车辆中的深度神经网络。
背景技术
可以训练深度神经网络以执行各种计算任务。例如,可以训练神经网络以从图像中提取数据。计算装置可以使用从图像中提取的数据来操作系统,所述系统包括车辆、机器人、安保和产品处理(例如,用于制造)系统。图像可以由包括在系统中的传感器获取并使用深度神经网络进行处理以确定关于系统周围环境中的对象的数据。系统的操作可以依赖于获取关于系统环境中的对象的准确且及时的数据。
发明内容
可以使用包括大量(通常>1000个)标注图像的训练数据集来训练深度神经网络以确定由系统传感器获取的图像数据中的对象。标注图像是包括与图像中所包括的对象相对应的数据的图像。在其中深度神经网络包括在车辆中的示例中,对象可以包括车辆和行人。在其中深度神经网络包括在机器人中的示例中,对象可以是要组装的零件或要运送的包裹。在安保或安全应用中,对象可以是人类或人类的各部分,即,人类的手和脚。标注用于训练深度神经网络的大型数据集可能需要数千小时的大量成本。本文描述的技术可以通过使用双变分自动编码器-生成式对抗网络生成包括环境条件的真实感渲染的标注模拟视频序列来大幅提高数据收集和包括视频序列的数据集标注的效率,并且由此减少生成标注数据集所需的时间和费用。
与对象相对应的数据可以包括识别对象类型的标签,以及对象相对于获取图像的相机的位置(以像素坐标或真实世界坐标表示)。与对象相对应的数据还可以包括对象的大小(以像素或真实世界坐标表示)以及对象相对于获取图像的相机的取向。获取和标注视频数据允许获取可以用于训练深度神经网络以进行诸如对象跟踪等感知任务的大量训练数据。对象跟踪是通过确定视频帧序列中的对象位置并确定包括对象方向和速度的对象轨迹来实现的。通过这种方式获取的视频数据帧可以用于训练深度神经网络以检测和跟踪对象,其中在这种背景下检测对象意味着确定标签和对象在图像中的位置并且跟踪意味着确定多个视频帧中的对象位置。
获取和标注视频数据以用于训练深度神经网络可能是昂贵且耗时的任务。通常,使用安装在车辆上并通过包括要检测的对象的场景驱动的相机来获取视频数据。然后使用图像处理工作站来处理所获取的视频,所述图像处理工作站允许人类暂停每个视频数据帧,定位并标记帧中的对象,并且将标签和位置数据与识别标签和位置数据所对应的视频和视频帧的数据一起存储。本文讨论的技术通过使用真实感视频渲染软件生成模拟视频数据来改进所获取的视频数据的数据收集和手动标注。真实感视频渲染软件的示例是北卡罗来纳州凯瑞市(邮编27518)的英佩数码公司生产的虚幻引擎(Epic Games)。与获取和标注真实视频数据通常所需的资源相比,真实感视频渲染软件可以更有效地生成标注的视频数据,包括以更少的时间和更少的计算循环生成标注视频数据。
通过首先用场景描述文件描述包括对象的场景来生成模拟视频数据。场景描述文件包括在背景和对象的三维(3D)体积和位置方面描述背景和对象的数据。场景描述文件还可以包括要应用于3D体积的表面纹理和颜色。真实感视频渲染软件包括模拟相机,所述模拟相机产生由场景描述文件描述的模拟场景的图像,所述模拟场景模拟具有镜头和图像传感器的真实世界相机,所述镜头和图像传感器从相对于场景的指定位置和取向获取图像。然后,真实感视频渲染软件可以在生成图像的同时将模拟相机沿着路径移动通过场景以模拟用真实世界摄像机获取视频数据。因为模拟相机相对于场景描述文件中的对象的位置和取向由模拟相机在模拟场景中所沿着移动的路径来确定,所以可以基于场景描述文件和关于模拟相机的数据来自动地生成包括对象标签和对象位置的标注。
在训练深度神经网络时,训练数据集与深度神经网络在真实世界操作中将遇到的图像中所包括的真实世界环境条件的范围相比越接近,可以预期深度神经网络就越准确。在深度神经网络检测和跟踪对象的背景下的准确度意味着深度神经网络正确地检测和跟踪输入图像数据中的对象的等级。环境条件包括范围可以从明亮的白天到黑夜的照明(包括人工照明)以及天气(其可以包括诸如雨、雪和雾等大气效应)以及季节(其可以包括诸如光秃秃的树枝或树叶等枝叶和积雪)。生成涵盖在真实世界中操作的环境条件系统的范围的标注的真实视频数据是非常昂贵且耗时的任务。例如,获取包括各种环境条件的真实视频序列是极其耗时、昂贵且有时危险的任务。例如,获取真实的视频序列可能需要等待正确的环境条件(即,夜晚、暴风雪)、确保正确的对象(即,车辆、行人)在场景中、然后在极端条件下获取视频数据和地面实况。
本文讨论的技术通过变换真实视频数据以模拟各种环境条件并变换标注的模拟视频数据以生成包括逼真的真实世界环境条件的合成视频数据来增强标注的真实世界视频数据。通过将真实视频数据和模拟视频数据两者变换为包括各种环境条件,可以为深度神经网络生成训练数据集,所述训练数据集覆盖真实世界车辆中的深度神经网络预期在一小部分时间内遇到的环境条件以及获取真实世界视频数据集的成本。例如,可以在晴朗的晴天获取真实视频序列。本文讨论的技术可以将真实视频序列输入到训练过的深度神经网络,并输出包括更多样化的一组环境条件(诸如雨、雪、夜间等)的多个视频序列。本文讨论的技术还可以生成模拟视频序列,并将模拟视频序列输入到训练过的深度神经网络,以快速且廉价地生成包括多样化的一组环境条件的多个逼真视频序列。
用于使标注的真实数据集多样化并转译标注的模拟数据使其具真实感的典型视频风格转变技术依赖于监督学习,其中需要来自两个域(模拟/真实、白天/夜晚等)的配对视频。本文讨论的技术使用无监督学习,其中可以训练双变分自动编码器-生成式对抗网络以将真实视频数据变换为包括多个环境条件,并且可以对模拟数据进行变换以生成包括多个环境条件的逼真视频数据。无监督训练不需要配对数据来允许通过使用包括如下面将关于图2所讨论的共享的潜在空间的双变分自动编码器-生成式对抗网络架构来进行训练。在这种背景下,配对数据是指除了环境条件和模仿真实视频序列的模拟视频序列之外完全相同的真实视频序列。
此外,本文讨论的技术通过提供用于对真实数据和合成数据两者采用视频鉴别器的技术来改进重构的视频序列的生成。视频鉴别器可以减少在递归或三维(3D)卷积神经网络上生成重构的视频序列所需的时间和计算资源,同时获得等效结果。使用单帧神经网络技术生成视频序列可能会产生帧之间的闪烁和平滑对象运动困难的问题。用于使用神经网络重构视频序列的技术通常包括条件生成式对抗网络(GAN)和递归神经网络。本文讨论的技术使用视频鉴别器来训练变分自动编码器-生成式对抗网络以生成真实视频序列和合成视频序列两者,由此需要比递归神经网络少得多的计算机资源。条件GAN技术使用监督学习,其通常需要配对数据或详细标注,诸如识别和定位视频数据中的对象的分割掩模。本文讨论的技术通过使用既不依赖于配对数据也不依赖于任何类型的标注的无监督学习来改进条件GAN技术。
使用通过本文讨论的技术生成的标注的合成视频数据进行训练的深度神经网络可以用于包括车辆引导、机器人引导、安保应用、安全应用和产品跟踪应用的任务。安保应用包括其中计算机从观察安全区域的相机获取视频数据的应用。例如,在计算机上执行的深度神经网络可以检测人类对安全区域的入侵。在安全应用中,计算机中的深度神经网络可以通过例如确定人的手在相对于机器操作循环的特定时间的位置来检测制造操作中的机器的不安全操作。例如,在产品跟踪系统中,深度神经网络可以检测到有人从架子上取下物品并将其放入购物车中,并自动向人收取对象的费用。
本文中将车辆引导描述为使用标注的合成数据来训练深度神经网络的非限制性示例。例如,车辆中的计算装置可以被编程为获取关于车辆的外部环境的图像数据并使用深度神经网络检测图像数据中的对象。所述数据可以包括从静态相机或摄像机获取的图像数据、从激光雷达传感器获取的测距数据或从雷达传感器获取的雷达数据。可以训练深度神经网络以标记和定位图像数据、测距数据或雷达数据中的对象。计算装置可以使用检测到的对象的身份和位置来确定在其上以自主或半自主模式操作车辆的车辆路径。车辆可以基于车辆路径通过确定命令来指示车辆的动力传动系统、制动和转向部件操作车辆以沿着所述路径行驶,而在道路上操作。
本文公开了一种方法,所述方法包括:训练双变分自动编码器-生成式对抗网络(VAE-GAN)以通过将真实视频序列输入到真实视频解码器和真实视频编码器中并将模拟视频序列输入到合成视频编码器和合成视频解码器中来变换所述真实视频序列和所述模拟视频序列;以及分别基于来自真实视频鉴别器和合成视频鉴别器的输出来确定真实损失函数和合成损失函数。真实损失函数可以通过真实视频编码器和真实视频解码器进行反向传播以基于真实损失函数来训练真实视频编码器和真实视频解码器,并且合成损失函数可以通过合成视频编码器和合成视频解码器进行反向传播以基于所述合成损失函数来训练合成视频编码器和合成视频解码器。可以使用真实损失函数和合成损失函数来训练真实视频鉴别器和合成视频鉴别器以根据伪视频序列确定真实视频序列。可以用双VAE-GAN的合成视频编码器和真实视频解码器来变换标注的模拟视频序列,以生成包括基于真实视频序列的风格元素的标注的重构的真实视频序列,并且可以使用重构的标注的真实视频序列来训练深度神经网络以检测和跟踪视频数据中的对象。
可以基于将对象的地面实况与来自深度神经网络的输出进行比较来训练深度神经网络。可以基于描述包括在标注的重构的真实视频序列中的对象的数据来确定地面实况。风格元素可以包括环境条件,包括照明、天气和季节。可以用真实感视频渲染软件生成标注的模拟视频序列。标注可以基于描述包括在标注的重构的真实视频序列中的对象的数据。双VAE-GAN可以包括共享的潜在空间,所述共享的潜在空间包括与真实视频序列和模拟视频序列两者相对应的潜在变量。真实视频鉴别器和合成视频鉴别器可以是卷积神经网络。深度神经网络可为递归卷积深度神经网络。可以基于用递归卷积深度神经网络检测和跟踪视频数据中的对象来操作车辆。可以分别针对真实视频序列和模拟视频序列使用损失函数VA2A-VA和VB2B-VB来训练双VAE-GAN以实现重构损失。可以分别针对真实视频序列和模拟视频序列使用损失函数VA2B2A-VA和VB2A2B–VB来训练双VAE-GAN以实现循环一致性。可以使用损失函数DIA(VB2A)-1、DIB(VA2B)-1、DIA(VA2B2A)-1和DIB(VB2A2B)-1来训练真实图像鉴别器和合成图像鉴别器以实现交叉转译和循环一致性。可以使用损失函数DVA(V’B2A)-1、DVB(V’A2B)-1、DVA(V’A2B2A)-1和DVB(V’B2A2B)-1来训练真实视频鉴别器和合成视频鉴别器以实现交叉转译和循环一致性。
还公开了一种计算机可读介质,所述计算机可读介质存储用于执行上述方法步骤中的一些或全部的程序指令。还公开了一种计算机,所述计算机被编程用于执行上述方法步骤中的一些或全部,所述计算机包括计算机设备,所述计算机设备被编程为:训练双变分自动编码器-生成式对抗网络(VAE-GAN)以通过将真实视频序列输入到真实视频解码器和真实视频编码器中并将模拟视频序列输入到合成视频编码器和合成视频解码器中来变换所述真实视频序列和所述模拟视频序列;以及分别基于来自真实视频鉴别器和合成视频鉴别器的输出来确定真实损失函数和合成损失函数。真实损失函数可以通过真实视频编码器和真实视频解码器进行反向传播以基于真实损失函数来训练真实视频编码器和真实视频解码器,并且合成损失函数可以通过合成视频编码器和合成视频解码器进行反向传播以基于所述合成损失函数来训练合成视频编码器和合成视频解码器。可以使用真实损失函数和合成损失函数来训练真实视频鉴别器和合成视频鉴别器以根据伪视频序列确定真实视频序列。可以用双VAE-GAN的合成视频编码器和真实视频解码器来变换标注的模拟视频序列,以生成包括基于真实视频序列的风格元素的标注的重构的真实视频序列,并且可以使用重构的标注的真实视频序列来训练深度神经网络以检测和跟踪视频数据中的对象。
所述计算机还可以被编程为可以基于将对象的地面实况与来自深度神经网络的输出进行比较来训练深度神经网络。可以基于描述包括在标注的重构的真实视频序列中的对象的数据来确定地面实况。风格元素可以包括环境条件,包括照明、天气和季节。可以用真实感视频渲染软件生成标注的模拟视频序列。标注可以基于描述包括在标注的重构的真实视频序列中的对象的数据。双VAE-GAN可以包括共享的潜在空间,所述共享的潜在空间包括与真实视频序列和模拟视频序列两者相对应的潜在变量。真实视频鉴别器和合成视频鉴别器可以是卷积神经网络。深度神经网络可为递归卷积深度神经网络。可以基于用递归卷积深度神经网络检测和跟踪视频数据中的对象来操作车辆。可以分别针对真实视频序列和模拟视频序列使用损失函数VA2A-VA和VB2B-VB来训练双VAE-GAN以实现重构损失。可以分别针对真实视频序列和模拟视频序列使用损失函数VA2B2A-VA和VB2A2B–VB来训练双VAE-GAN以实现循环一致性。可以使用损失函数DIA(VB2A)-1、DIB(VA2B)-1、DIA(VA2B2A)-1和DIB(VB2A2B)-1来训练真实图像鉴别器和合成图像鉴别器以实现交叉转译和循环一致性。可以使用损失函数DVA(V’B2A)-1、DVB(V’A2B)-1、DVA(V’A2B2A)-1和DVB(V’B2A2B)-1来训练真实视频鉴别器和合成视频鉴别器以实现交叉转译和循环一致性。
附图说明
图1是示例性对象识别系统的框图。
图2是示例性双变分自动编码器生成式对抗神经网络的图式。
图3是示例性变分自动编码器神经网络的图式。
图4是示例性图像的图式。
图5是示例性深度神经网络的图式。
图6是递归深度神经网络的图式。
图7是用于训练深度神经网络的示例性过程的流程图。
图8是使用深度神经网络操作车辆的示例性过程的流程图。
具体实施方式
图1是用于训练和部署被编程用于对象识别的深度神经网络的对象识别和跟踪系统100的图式,如将关于图2至图5描述的。所示的示例中的对象识别和跟踪系统100包括具有如所示的示例中被编程用于进行对象识别和跟踪的计算装置115的车辆110,但是应理解,对象识别和跟踪系统100同样可以包括被编程用于结合其他环境(例如,用于机器人、安保系统、安全系统或某个其他系统的环境)进行对象识别和跟踪的计算装置115。对象识别和跟踪系统100可以包括一个或多个计算装置115,所述一个或多个计算装置从一个或多个传感器116接收数据,并且基于从一个或多个传感器116接收的数据来确定要传送到一个或多个控制器112以控制车辆、机器人、安保系统、安全系统或产品跟踪系统的操作的命令。在其中对象识别和跟踪系统100包括在车辆110的示例中,一个或多个计算装置115可以从传感器116接收关于车辆110的操作的数据。计算装置115可以以如下文描述的自主模式、半自主模式或非自主模式操作车辆110。
计算装置(或计算机)115包括诸如已知的处理器和存储器。此外,存储器包括一种或多种形式的计算机可读介质并且存储指令,所述指令可由处理器执行来执行包括如本文所公开的各种操作。例如,计算装置115可以包括编程以操作车辆制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,并且确定计算装置115(而不是人类操作员)是否以及何时控制此类操作。在其他示例中,计算装置可以操作机械臂或夹持器、锁定或解锁门、启用或阻止机器的操作或记录产品的移动。
计算装置115可以包括多于一个计算装置(例如,包括在对象识别和跟踪系统100中以用于经由一个或多个控制器112监测和/或控制各种系统部件的控制器等)或例如经由如下文进一步描述的通信总线与它们通信地耦合。例如,车辆110中的对象识别和跟踪系统100可以包括动力传动系统控制器、制动控制器、转向控制器等。计算装置115通常被布置用于在通信网络上通信,例如,所述通信网络包括对象识别和跟踪系统100中的总线,诸如控制器局域网(CAN)等;对象识别和跟踪系统100的网络可以另外或替代地包括诸如已知的有线或无线通信机制,例如以太网或其他通信协议。
经由网络,计算装置115可以向对象识别和跟踪系统100中的各种装置传输消息和/或从各种装置(例如,控制器、致动器、传感器等,包括传感器116)接收消息。替代地或另外,在计算装置115实际上包括多个装置的情况下,可使用车辆通信网络来在本公开中表示为计算装置115的装置之间通信。另外,如下文所提及,各种控制器或感测元件(诸如传感器116)可以经由通信网络向计算装置115提供数据。
另外,计算装置115可以被配置用于经由网络通过接口111与远程服务器计算机120(例如,云服务器)通信,如下所述,所述网络包括允许计算装置115经由诸如无线互联网或蜂窝网络的网络与远程服务器计算机通信的硬件、固件和软件。接口111可以相应地包括被配置为利用各种有线和/或无线联网技术(例如,蜂窝、以及有线和/或无线分组网络)的处理器、存储器、收发器等。计算装置115可以被配置用于使用例如在邻近车辆110之间在移动自组网的基础上形成或通过基于基础设施的网络形成的短程网络(例如,根据蜂窝通信(称为CV2X)、专用短程通信(DSRC)等)通过接口111与其他车辆110通信。计算装置115还包括诸如已知的非易失性存储器。计算装置115可以通过将数据存储在非易失性存储器中来记录数据,以供稍后检索并且经由系统通信网络和经由接口111传输到服务器计算机120或用户移动装置。
如已经提及的,用于在没有人类操作员干预的情况下操作一个或多个车辆110部件(例如,制动、转向、推进等)的编程通常包括在存储器中所存储的并可由计算装置115的处理器执行的指令中。使用在计算装置115中接收的数据(例如,来自传感器116的传感器数据、服务器计算机120等的数据),计算装置115可在没有驾驶员的情况下进行各种确定和/或控制各种车辆110部件和/或操作以操作车辆110。例如,计算装置115可包括编程以调节车辆操作行为(即,车辆操作的物理表现),诸如速度、加速度、减速度、转向等,以及策略性行为(即,通常以意图实现路线的安全而有效的穿越的方式控制操作行为),诸如车辆之间的距离和/或车辆之间的时间量、车道改变、车辆之间的最小间隙、左转跨过路径最小值、到特定位置处的到达时间以及从到达到穿过十字路口的十字路口(无信号灯)最短时间。
用于车辆110的一个或多个控制器112可以包括常规的电子控制单元(ECU)等,作为非限制性示例,包括一个或多个动力传动系统控制器、一个或多个制动控制器以及一个或多个转向控制器。一个或多个控制器112中的每一者可以包括相应的处理器和存储器以及一个或多个致动器。控制器112可以被编程并连接到对象识别和跟踪系统100的通信总线,诸如控制器局域网(CAN)总线或局域互连网(LIN)总线,以从计算装置115接收指令并基于指令来控制致动器。
传感器116可以包括已知可经由车辆110的通信总线提供数据的各种装置。例如,固定到车辆的前保险杠(未示出)的雷达可以提供从车辆到车辆前方的下一车辆的距离,或者设置在车辆中的全球定位系统(GPS)传感器可以提供车辆的地理坐标。例如,由雷达和/或其他传感器116提供的距离和/或由GPS传感器提供的地理坐标可由计算装置115用来自主或半自主地操作车辆。
车辆110可以是能够自主和/或半自主操作并且具有三个或更多个车轮的陆基车辆(例如,客车、轻型卡车等)。车辆110包括一个或多个传感器116、接口111、计算装置115以及一个或多个控制器112。传感器116可以收集与车辆110和车辆110的操作环境相关的数据。作为举例而非限制,传感器116可以包括例如测高仪、相机、LIDAR、雷达、超声传感器、红外传感器、压力传感器、加速度计、陀螺仪、温度传感器、压力传感器、霍尔传感器、光学传感器、电压传感器、电流传感器、机械传感器(诸如开关)等。传感器116可以用于感测车辆110的操作环境,例如,传感器116可检测诸如天气状况(降雨、外部环境温度等)的现象、道路坡度、道路位置(例如,使用道路边缘、车道标记等)或目标对象(诸如邻近车辆)的位置。传感器116还可用于收集数据,包括与车辆110的操作相关的动态车辆110数据,诸如速度、横摆率、转向角度、发动机转速、制动压力、油压、施加到车辆110中的控制器112的功率电平、在部件之间的连接性以及车辆110的部件的准确且及时的执行。
对象识别和跟踪系统100可以包括在车辆110中,可以自主(“自主”本身在本公开中意指“完全自主”)模式、半自主模式和乘员驾驶(也被称为非自主)模式操作。半自主模式或完全自主模式意指车辆110可以由作为具有传感器116和控制器112的系统的一部分的计算装置部分地或完全地驾驶的操作模式。车辆110可能被占用或未被占用,但是在任一种情况下,都可在没有乘员协助的情况下部分地或完全地驾驶车辆110。出于本公开的目的,自主模式被定义为车辆推进(例如,经由包括内燃发动机和/或电动马达的动力传动系统)、制动和转向中的每一者由一个或多个车辆计算装置115控制的模式;在半自主模式中,车辆计算装置115控制车辆推进、制动和转向中的一者或多者。在非自主模式下,这些都不由计算机计算装置115控制。
对象识别和跟踪系统100可以包括机器人、安保系统、安全系统或产品跟踪系统代替车辆110。计算装置115可以从包括在机器人、安保系统、安全系统或产品跟踪系统中的传感器116获取数据,并经由一个或多个控制器112控制包括在机器人、安保系统、安全系统或产品跟踪系统中的致动器。例如,包括在机器人中的对象识别和跟踪系统100可以获取关于传感器116的视野中的对象的数据,并指示一个或多个控制器112使机械臂将机器人的末端执行器(诸如夹持器)移动就位到适当位置以抓握对象。然后,可以将被抓握的对象移动到适当位置以与其他对象组装在一起或放置到例如运送容器中。安保系统中的计算装置115可以基于识别寻求进入建筑物或房间的人来锁定或解锁门。当检测到人的手相对于机器处于非安全位置中时,安全系统中的计算装置115可以防止机器操作。产品跟踪系统中的计算装置115可以监测产品的移动,例如,从架子上取下、放置在输送机或平台上等。
图2是双变分自动编码器生成式对抗网络(VAE-GAN)200的图式。双VAE-GAN 200是在服务器计算机120或计算装置115上执行的软件程序。双VAE-GAN 200接收包括多个真实图像(RIMG)206的真实视频序列208作为输入,并用真实编码器(RENC)210处理真实视频序列。真实视频序列208是由摄像机从真实世界场景获取的数据,并且包括多个真实图像206,例如,视频序列中的帧。真实编码器210是2D卷积神经网络,其输入真实视频序列208作为批次大小等于序列长度的一批真实图像206,并对其进行处理以形成与真实视频序列208相对应的潜在变量。潜在变量是真实视频序列208的压缩版本,其保留真实视频序列208的选定特征,所述选定特征包括被选择以识别对象的位置和身份的特征以及在真实视频序列208中捕获的特征。真实视频序列208中的对象和特征可以包括环境条件,其包括真实视频序列208的照明、天气和季节方面。
真实编码器210通过将k个帧视频数据批处理成包括k个帧的三维阵列来处理视频序列208。例如,RGB视频数据帧可以包括三个通道(字节)的颜色数据。如果帧是h个像素高乘以w个像素宽,则单个帧包括3XhXw字节的数据。在k个视频数据帧上对输入数据进行批处理包括输入视频序列208中的kX3XhXw字节的数据。例如,真实编码器210可以被配置为通过将每个帧的深度从3个字节增加到256个字节同时将高度和宽度减小四倍来处理输入视频序列208,从而产生包括kX256X(h/4)X(w/4)字节的潜在变量数据的输出。在其他示例中,真实编码器210可以在其他配置中输出视频序列,例如kX1024X(h/8)X(w/8)等等,其中位深度随着高度和宽度的减小而增加。
双VAE-GAN 200还将包括多个模拟图像(SIMG)212的模拟视频序列214输入到VAE-GAN 200的合成编码器(SENC)216。如上文所讨论的,模拟视频序列214由真实感渲染软件基于描述待渲染场景的场景描述文件生成,所述场景包括与场景中的对象相对应的位置、形状、大小和纹理。场景描述文件还可以包括环境条件,包括照明、天气和季节影响。照明可以包括阳光,包括当日时间和云层以及人工照明。天气可以包括大气条件,包括雨、雪或雾。季节影响可以包括积雪和枝叶,即,树叶或光秃秃的树枝。以与上文关于真实编码器210所讨论的方式类似的方式,合成编码器216处理大小为k X3XhXw字节的批量模拟视频序列214的k个帧以形成大小为kX256X(h/4)X(w/4)字节的潜在可变数据的输出数据。以与真实编码器210类似的方式,合成编码器216可以在其他配置中输出视频序列,例如kX1024X(h/8)X(w/8)等等,其中位深度随着高度和宽度的减小而增加。
真实编码器210和合成编码器216两者都将潜在变量输出到共享的潜在空间(SLS)218。可以训练共享的潜在空间218以使用与真实视频序列208和模拟视频序列214相对应的单个潜在变量集。共享的潜在空间218是从真实编码器210和合成编码器216两者输出的潜在变量的集合。在共享的潜在空间218中,单个潜在变量对应于从真实编码器210和合成编码器216两者中的同一相对位置输出的潜在变量。在共享的潜在空间218中使用单个潜在变量集允许将真实视频序列208和模拟视频序列214输入到真实解码器(RDEC)220或合成解码器(SDEC)222。使用真实图像206来训练真实解码器220。真实解码器220以与真实编码器210类似的方式处理批处理的真实视频208序列,其中真实解码器220被配置为处理固定数量的真实视频序列208帧。真实解码器220输出由重构的真实图像(RRIMG)224组成的重构的真实视频序列226。
以与真实解码器220类似的方式,合成解码器222输入潜在变量并输出由重构的合成图像(RSIMG)228组成的重构的合成视频序列230。合成解码器222处理批处理的模拟视频序列214,如上文关于合成编码器216所讨论的。以与合成编码器216类似的方式,合成解码器222被布置为处理与批处理的模拟视频序列214相对应的固定数量的帧的模拟视频序列214数据。合成解码器222输出由重构的合成图像(RSIMG)228组成的帧的重构的合成视频序列230。双VAE-GAN200可以将真实视频序列208转译成重构的真实视频序列226(真实到真实),其中转译包括修改视频序列以包括不同的环境条件。双VAE-GAN 200还可以将模拟视频序列214转译成合成视频序列230(模拟到合成),其中转译包括修改输入的模拟视频序列214以使输出的合成视频序列230看起来更像真实视频数据。通过包括共享的潜在空间218,双VAE-GAN 200还可以通过将来自合成解码器222的输出引导到真实解码器224来将模拟视频214数据转译成真实视频序列226(模拟到真实)并将真实视频序列208转译成合成视频序列230(实时到合成)。
在训练时,将来自实解码器220和合成解码器222的输出与输入数据进行比较,以每批视频帧确定一次损失函数。为双VAE-GAN 200的生成器部分确定损失函数,所述生成器部分包括实编码器210、合成编码器216、真实解码器224和合成解码器228。首先,基于VAE重构损失来训练VAE-GAN 200的生成器部分。真实视频序列208被标记为VA,并且模拟视频序列214被标记为VB。使用该符号,真实视频序列208的真实到真实转译被标记为VA2A,并且模拟到合成转译被标记为VB2B。以类似方式,真实到合成转译被标记为VA2B,并且模拟到真实转译被标记为VB2A。遵循该符号,将其中来自真实解码器220的输出与输入进行比较的重构损失函数被标记为VA2A-VA,而将其中来自合成解码器222的输出与输入进行比较的模拟重构损失函数被标记为VB2B-VB。损失函数VA2A-VA和VB2B-VB分别被应用于真实编码器210/真实解码器220和合成编码器216/合成解码器222。可以基于循环一致性来训练VAE-GAN 200的生成器部分。当输出交叉重构的视频序列时,循环一致性用于训练生成器。当从真实编码器220输出的潜在变量输入到合成解码器228或从合成编码器222输出的潜在变量输入到真实解码器224时,产生交叉重构的视频序列。除了重构损失函数之外,也可以针对真实到合成和模拟到真实转译确定循环一致性损失函数。为了确定循环一致性,来自真实到合成和模拟到真实转译的输出分别通过双VAE-GAN 200的模拟到合成和真实到真实数据路径传递回来。这允许确定损失函数VA2B2A-VA和VB2A2B–VB并将所述损失函数分别应用于真实编码器210/真实解码器220和合成编码器216/合成解码器222。
除了重构损失和循环一致性损失函数之外,还可以基于来自鉴别器232、234、236238的输出来确定对抗损失函数。鉴别器232、234、236 238输出0至1之间的值,其中0值指示鉴别器已经检测到伪视频序列,而1指示鉴别器已经检测到真实视频序列。上文介绍的符号用于指示来自VAE-GAN 200的输出,并且函数DIA()、DIB()、DVA()和DVB()用于分别指示来自真实图像鉴别器232、合成鉴别器234、真实视频鉴别器236和合成视频鉴别器238的输出。用于交叉转译和循环一致性两者的真实图像鉴别器232和合成图像鉴别器236的对抗损失函数是DIA(VB2A)-1、DIB(VA2B)-1、DIA(VA2B2A)-1和DIB(VB2A2B)-1。用于交叉转译和循环一致性两者的真实视频鉴别器234和合成视频鉴别器238的对抗损失函数是DVA(V'B2A)-1、DVB(V'A2B)-1、DVA(V'A2B2A)-1和DVB(V'B2A2B)-1,其中符号V'指示输出视频序列数据被重新布置以沿着与RGB颜色通道相对应的维度堆叠视频帧。通过这种方式将对抗损失函数与上文确定的重构和循环一致性损失函数组合并返回到真实编码器210、合成编码器216、真实解码器224和合成解码器230以通过层进行反向传播以基于最小损失确定权重。
鉴别器232、234、236、238的对抗损失函数是基于鉴别器232、234、236、238的输出而确定的,并用于训练鉴别器232、234、236、238。使用上文讨论的相同符号,图像鉴别器232、236的对抗损失函数是[DIA(VB2A)-0]+[DIA(RA)-1]、[DIB(VA2B)-0]+[DIB(RB)-1]、[DIA(VA2B2A)-0]+[DIA(RA)-1]和[DIB(VB2A2B)-0]+[DIB(RB)-1]。用于视频鉴别器234、238的对抗损失函数是[DVA(V’B2A)-0]+[DVA(R’A)-1]、[DVB(V’A2B)-0]+[DVB(R’B)-1]、[DVA(V’A2B2A)-0]+[DVA(R’A)-1]和[DVB(V’B2A2B)-0]+[DVB(R’B)-1],其中符号V'和R'指示视频序列被重新布置以沿着与RGB颜色通道相对应的维度堆叠视频帧。将鉴别器232、234、236、238的对抗损失函数返回到相应的鉴别器232、234、236、238,以通过鉴别器232、234、236、238的层进行反向传播以基于最小损失函数确定权重。
双VAE-GAN 200的训练包括将重构的真实视频序列226输出到真实图像鉴别器(RIDIS)232、将重构的真实视频序列226输出到真实视频鉴别器(RVDIS)234、将合成视频序列230输出到合成图像鉴别器(SIDIS)236,以及将合成视频序列230输出到合成视频鉴别器(SVDIS)238。真实图像鉴别器232包括2D卷积层,真实视频鉴别器234包括2D和3D卷积层,合成图像鉴别器236包括2D卷积层,并且合成视频鉴别器238包括2D和3D层。使用真实视频序列来训练真实图像鉴别器232、真实视频鉴别器234、合成图像鉴别器236和合成视频鉴别器238,以确定输入到鉴别器的视频是真实视频序列还是伪视频序列。在真实鉴别器232、234的这种背景下,真实是指转译成真实图像或视频的模拟图像或视频与真实图像或视频(sim2real)在纹理、照明等方面有多接近。类似地,合成鉴别器236、238的背景中,真实是指real2sim转译看起来有多接近模拟图像。在这种背景下,外观上的类似意味着观察者无法将输出图像或视频序列与输入图像或视频序列区分开。例如,伪图像或视频通常不会被观察者误认为是真实的图像或视频。
图3是被配置用于如上文关于图2所讨论的训练之后的操作的双VAE-GAN 300的图式。如关于图3所讨论的训练双VAE-GAN 200允许双VAE-GAN 300被配置为用作风格转变网络。风格转变网络是一种神经网络,其可以被训练为保留来自一个图像域的风格元素并将所述风格元素应用于另一个图像域。在本文讨论的示例中,风格元素对应于包括环境条件,包括照明、天气和季节。图像域包括真实域和模拟域,所述真实域包括由真实图像206组成的真实视频序列208,所述模拟域包括由模拟图像212组成的模拟视频序列214。双VAE-GAN200可以通过被训练以对真实视频序列和模拟视频序列两者进行编码和解码来执行风格转变。因为使用共享的潜在空间218来处理真实视频序列和模拟视频序列两者,所以由模拟图像212组成的模拟视频序列214可以由模拟编码器216编码成共享的潜在空间218中的潜在变量。与模拟视频序列214中的模拟图像212相对应的潜在变量可以从共享的潜在空间218输出到真实解码器220,在所述真实解码器中,所述潜在变量被转译成就像它们是真实视频序列208中的真实图像206一样,由此将来自真实域的风格元素转变到来自模拟域的输入模拟视频序列214。
双VAE-GAN 300可以被配置为模拟将由编码器216和真实解码器220处理的由模拟图像212组成的模拟视频序列214,以输出由转译图像(S2R)302组成的转译的视频序列304,所述转译图像已经从模拟域转译成真实域以看起来像由真实图像206组成的真实视频序列208。可以训练诸如双VAE-GAN 200等风格转变网络以将真实视频序列208从一个特定环境条件(例如,白天条件)转译成包括不同环境条件(例如,夜间)的输出真实视频序列226,即,真实到真实变换。还可以训练双VAE-GAN 200以将模拟视频序列214从一组环境条件转译成包括看起来比输入的模拟视频序列214更逼真的不同环境条件的合成视频序列230,即,模拟到合成变换。因为双VAE-GAN 200包括共享的潜在空间218,所以来自真实编码器210的输出可以输入到合成解码器228,而来自合成编码器216的输出可以输入到真实解码器224。这提供了从模拟视频输入或模拟到真实转译输出的真实视频,以及从真实视频输入或真实到合成转译输出的合成视频。
如关于图2所讨论的那样训练的双VAE-GAN 300可以用于生成用于训练深度神经网络以标记和定位和跟踪对象的视频序列。对象标签是识别图像206、212中的对象(诸如“车辆”或“行人”)的文本串。对象位置是对象相对于获取图像或视频数据的相机的位置(以像素坐标或真实世界坐标表示)。如上文所讨论的,训练深度神经网络可能需要数千个标注图像。用于训练深度神经网络的视频序列可能要求用关于对象标签和位置的数据来标注每个视频数据帧。训练数据集中的每种类型的环境条件都应具有相对于相机在不同取向下处于不同位置处的不同对象的多个示例。获取和标注与大量环境条件组合相对应的真实视频数据可能需要非常昂贵的数据获取任务和需要非常昂贵且耗时的工作量来标注数据。本文讨论的技术可以生成具有基于用于生成模拟数据的场景描述文件生成的标注的大量模拟图像和视频序列,而无需输入标签。需要较少费用和时间的较少数量的真实图像和真实视频序列可以用于训练多个双VAE-GAN 200以生成多个环境条件。训练过的双VAE-GAN 200可以被配置为生成由标注的重构的真实视频序列302组成的大量标注和转译的/逼真的视频序列304,以用于以诸如上文提及的比用标注的真实图像和视频进行训练更高的效率来训练深度神经网络。
如本文所讨论的双VAE-GAN 200、300通过包括真实视频鉴别器234和模拟视频鉴别器238来改进用于训练深度神经网络的视频序列的风格转变。通常,转变视频序列的风格的风格转变网络是基于递归神经网络。递归神经网络结合存储器以通过保存递归神经网络的多个副本来处理视频序列。真实视频鉴别器234和模拟视频鉴别器238减少或甚至消除了对递归神经网络的需要,并且因此减少了对视频序列执行风格转变处理所需的计算资源。
图4是来自模拟视频序列和经模拟到真实转译的视频序列的图像400的图式。模拟图像402、404是来自由照片逼真渲染软件程序生成的视频序列的原始模拟图像。图像406、408是来自由使用2D视频鉴别器234、238训练的VAE-GAN 200处理的模拟视频序列214的经模拟到真实转译的图像。图像410、412是来自由使用3D视频鉴别器234、238训练的VAE-GAN200处理的模拟视频214的重构的模拟图像。真实视频鉴别器234和模拟视频鉴别器238可以包括2D或3D卷积。2D卷积一次对视频序列的一个图像进行空间卷积。除了通过在视频鉴别器234、238的输入处沿着VAE-GAN 200中的通道维度堆叠输入图像提供的连续性之外,3D卷积还可以在空间和时间上同时对多个视频帧进行卷积以保持转译的视频帧之间的连续性。2D卷积比3D卷积更快并且需要更少的计算资源。3D卷积可以以需要更多时间和计算资源为代价提供更准确的结果。为了生成用于训练深度神经网络的标注的视频数据集,通常值得花费额外的时间和计算资源来提高3D卷积的准确性。
图5是可以通过使用来自上文讨论的双VAE-GAN 200、300的输出来训练的深度神经网络(DNN)500的图式。在生成包括多个标注的模拟到真实转译的模拟视频序列304的训练数据集之后,所述训练数据集可以用于训练DNN,所述多个标注的模拟到真实转译的模拟视频序列由包括多个环境条件的标注的模拟到真实转译的模拟图像302组成。DNN 500包括卷积层(CONV)504和全连接层(FCON)508。图像数据(IMG)502被输入到卷积层504,所述卷积层将潜在变量506输出到全连接层508。全连接层508输出结果(RES)510,所述结果可以包括与输入图像502中所包括的对象相对应的标签和位置。
通过输入图像502数据并基于输出结果510和地面实况数据来训练DNN 500,所述地面实况数据基于描述与输入图像502相对应的标注的重构的模拟视频序列304中所包括的对象的数据来确定。损失函数确定可以反馈到卷积层504和全连接层508的损失值,在所述全连接层中所述损失值通过层504、508反向传播以确定提供正确结果510的权重。损失函数的处理和计算发生多次,直到损失值最小化为止,这意味着输出结果510与地面实况最接近。存储与最小损失值相对应的权重。在处理数据集时,可以选择为最大数量的输入图像提供最小损失值的权重作为用于训练过的DNN 500的编程保留的权重。
图6是被配置为提供用于跟踪对象的视频输出的递归DNN 600的图式。递归DNN600包括卷积层和全连接层(LAY)604,从而使递归DNN 600成为递归卷积深度神经网络。递归DNN 600将输入612和输出608以及存储器610添加到递归DNN 600的卷积层和全连接层604。输入图像序列602,x1,x2,…xn。当每个输入图像xi由递归DNN600的层604处理时,由层604生成的隐藏变量从层604输出608并存储在存储器610中。当将下一输入图像xi+1输入到层604时,基于输入图像xi生成的隐藏变量从存储器610重新调用、与输入图像xi+1一起被输入612到层604以生成输出预测606。通过这种方式,来自输入视频序列x1,x2,…xn的所有帧的数据可以用于确定输出预测606。因为基于视频帧xn的最终输出预测606包括来自所有视频帧的数据,所以最终输出预测606可以包括视频序列中的对象的跟踪数据。
以与DNN 500类似的方式训练递归DNN 600,其中将输出预测606与地面实况进行比较以确定损失函数。然后可以提供训练过的递归DNN 600以在诸如车辆、机器人、安保系统、安全系统或产品跟踪系统等系统100中使用。在一个示例中,可以将训练过的递归DNN600下载到车辆以在计算装置115上执行,所述计算装置从车辆传感器116获取图像数据以输入到递归DNN 600。计算装置115可以使用从递归DNN 600输出的预测606来操作车辆110。计算装置115可以基于由递归DNN 600输出的跟踪对象来确定在其上操作车辆110的车辆路径。车辆路径可以由基于车辆110的位置和方向的多项式函数来指定,所述多项式函数描述了车辆110相对于道路的位置。例如在被跟踪对象包括其他车辆和行人的情况下,可以确定车辆路径以避免与由递归DNN 600输出的被跟踪对象接触。计算装置115可以命令一个或多个控制器112控制车辆动力传动系统、车辆制动器和车辆转向以使车辆110沿着车辆路径行驶,同时维持对纵向加速度和横向加速度的上限和下限。
图7是关于图1至图5所描述的用于训练双VAE-GAN 200以生成用于训练DNN 500的标注的图像和视频数据集的过程的流程图的图式。过程700可以由计算装置的处理器实施,例如,将来自传感器的信息作为输入,并且执行命令,并且输出对象信息。过程700包括可以所示顺序执行的多个框。替代地或另外,过程700可以包括更少的框,或者可以包括以不同次序执行的框。
过程700开始于框702,其中可以位于基于云的服务器计算机120中的计算装置训练双VAE-GAN 200以分别生成重构的真实视频序列226、基于输入的真实视频序列208的重构的模拟视频序列230以及输入的模拟视频序列214,如上文关于图2所讨论的。双VAE-GAN200被训练以执行风格转变,在该示例中,将与环境条件相对应的风格元素从真实视频序列208转变到基于输入的模拟视频序列214确定的重构的真实视频序列304。
在框704处,训练过的双VAE-GAN 300可以被配置为输入模拟图像212和模拟视频序列214,并输出包括与来自真实图像206和真实视频序列208的环境条件相对应的风格元素的重构的模拟图像302和重构的模拟图像序列304。重构的模拟图像302和重构的模拟视频序列304包括基于场景描述文件的对应标注数据,所述场景描述文件用于生成输入到VAE-GAN 300的模拟图像212和模拟视频序列214。
在框706处,可以使用如上文关于图5所讨论的重构的真实图像302和重构的合成视频序列304以及对应的标注数据来训练递归DNN600。
在框708处,将训练过的递归DNN 600下载到例如车辆110。在其他应用中,可以将训练过的递归DNN 600下载到计算装置并用于如上文讨论的安保、安全或产品跟踪应用。在框708之后,过程700结束。
图8是关于图1至图6所描述的用于使用训练过的递归DNN 600来操作车辆110的过程的流程图的图式。过程800可以由计算装置的处理器实施,例如,将来自传感器的信息作为输入,并且执行命令,并且输出对象信息。过程800包括可以以所示顺序执行的多个框。替代地或另外,过程800可以包括更少的框,或者可以包括以不同次序执行的框。
过程800开始于框802,其中在包括于车辆110中的计算装置115上执行训练过的递归DNN 600。递归DNN 600已经根据如图7所述的过程700进行了训练,并被下载到包括于车辆110中的计算装置115。在框802处,从包括于车辆110中的传感器116获取图像502并将其输入到递归DNN 600。
在框804处,递归DNN 600处理图像502以确定包括于图像502中的至少一个对象的标签、位置和跟踪数据。例如,递归DNN 600可以确定包括“车辆”或“行人”的标签,确定对象的位置并通过视频序列跟踪对象。对象位置可以根据图像内的像素位置来描述,或者如果传感器相对于地平面(诸如道路表面)的取向和位置是已知的,则可以描述相对于车辆的对象位置(以真实世界坐标表示)。基于视频数据帧之间的时间,对象位置可以由递归DNN 600处理,可以通过确定对象的轨迹来跟踪对象,其中轨迹包括方向和速度。
在框806处,可以使用对象标签和跟踪数据来操作车辆110。如上文关于图5所讨论,计算装置115可以命令控制器112、113、114控制车辆动力传动系统、车辆制动器和车辆转向以使车辆110在确定的车辆路径上操作。在框806之后,过程800结束。
诸如本文讨论的那些的计算装置通常各自包括命令,所述命令可由诸如上文所识别的那些的一个或多个计算装置执行并且用于实施上文描述的过程的框或步骤。例如,上文论述的过程框可体现为计算机可执行命令。
计算机可执行命令可由使用各种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术包括但不限于以下的单一形式或组合形式:JavaTM、C、C++、Python、Julia、SCALA、Visual Basic、Java Script、Perl、HTML等。通常,处理器(例如,微处理器)接收例如来自存储器、计算机可读介质等的命令,并且执行这些命令,从而执行包括本文所描述的过程中的一者或多者的一个或多个过程。此类命令和其他数据可存储在文件中并且使用多种计算机可读介质来传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
计算机可读介质包括参与提供可由计算机读取的数据(例如,命令)的任何介质。此种介质可采用许多形式,包括但不限于非易失性介质、易失性介质等。非易失性介质包括例如光盘或磁盘以及其他持久性存储器。易失性介质包括通常构成主存储器的动态随机存取存储器(DRAM)。计算机可读介质的常见形式包括例如软磁盘、软盘、硬盘、磁带、任何其他磁性介质、CD-ROM、DVD、任何其他光学介质、穿孔卡片、纸带、具有孔图案的任何其他物理介质、RAM、PROM、EPROM、快闪EEPROM、任何其他存储器芯片或盒式磁带、或者计算机可从中读取的任何其他介质。
除非本文作出相反的明确指示,否则权利要求中使用的所有术语意在给出如本领域技术人员所理解的普通和通常的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
术语“示例性”在本文中以表示示例的意义使用,例如,对“示例性小部件”的引用应被解读为仅指代小部件的示例。
修饰值或结果的副词“大约”意味着形状、结构、测量值、值、确定、计算等可能因材料、机加工、制造、传感器测量、计算、处理时间、通信时间等的缺陷而与确切描述的几何结构、距离、测量值、值、确定、计算等有偏差。
在附图中,相同的附图标记指示相同的要素。另外,可改变这些要素中的一些或全部。相对于本文描述的介质、过程、系统、方法等,应理解,尽管此类过程等的步骤或框已被描述为根据特定的有序顺序发生,但是此类过程可通过以本文描述的次序以外的次序执行所描述的步骤来实践。还应理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文描述的某些步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供的,并且决不应解释为限制所要求保护的发明。
根据本发明,提供了一种计算机,其具有:处理器;以及存储器,所述存储器包括可由所述处理器执行以进行以下操作的指令:训练双变分自动编码器-生成式对抗网络(VAE-GAN)以通过将真实视频序列输入到真实视频解码器和真实视频编码器中并将模拟视频序列输入到合成视频编码器和合成视频解码器中来变换所述真实视频序列和所述模拟视频序列;分别基于来自真实视频鉴别器和合成视频鉴别器的输出来确定真实损失函数和合成损失函数;通过所述真实视频编码器和所述真实视频解码器反向传播所述真实损失函数以基于所述真实损失函数来训练所述真实视频编码器和所述真实视频解码器;通过所述合成视频编码器和所述合成视频解码器反向传播所述合成损失函数以基于所述合成损失函数来训练所述合成视频编码器和所述合成视频解码器;使用所述真实损失函数和所述合成损失函数来训练所述真实视频鉴别器和所述合成视频鉴别器以根据伪视频序列确定真实视频序列;用所述双VAE-GAN的所述合成视频编码器和所述真实视频解码器来变换标注的模拟视频序列,以生成包括基于所述真实视频序列的风格元素的标注的重构的真实视频序列;以及使用所述重构的标注的真实视频序列来训练深度神经网络以检测和跟踪视频数据中的对象。
根据一个实施例,所述指令包括用于进行以下操作的其他指令:基于将所述对象的地面实况与来自所述深度神经网络的输出进行比较来训练所述深度神经网络。
根据一个实施例,基于描述包括在所述标注的重构的真实视频序列中的所述对象的数据来确定所述地面实况。
根据一个实施例,所述风格元素包括环境条件,包括照明、天气和季节。
根据一个实施例,所述指令包括用于进行以下操作的其他指令:利用真实感视频渲染软件生成所述标注的模拟视频序列。
根据一个实施例,所述指令包括用于进行以下操作的其他指令:基于描述包括在所述标注的重构的真实视频序列中的所述对象的数据来生成地面实况。
根据一个实施例,所述双VAE-GAN包括共享的潜在空间,所述共享的潜在空间包括与所述真实视频序列和所述模拟视频序列两者相对应的潜在变量。
根据一个实施例,所述真实视频鉴别器和所述合成视频鉴别器是卷积神经网络。
根据一个实施例,所述深度神经网络是递归卷积深度神经网络。
根据一个实施例,所述指令包括用于进行以下操作的其他指令:基于用所述递归卷积深度神经网络检测和跟踪所述视频数据中的所述对象来操作车辆。
根据本发明,一种方法包括:训练双变分自动编码器-生成式对抗网络(VAE-GAN)以通过将真实视频序列输入到真实视频解码器和真实视频编码器中并将模拟视频序列输入到合成视频编码器和合成视频解码器中来变换所述真实视频序列和所述模拟视频序列;分别基于来自真实视频鉴别器和合成视频鉴别器的输出来确定真实损失函数和合成损失函数;通过所述真实视频编码器和所述真实视频解码器反向传播所述真实损失函数以基于所述真实损失函数来训练所述真实视频编码器和所述真实视频解码器;通过所述合成视频编码器和所述合成视频解码器反向传播所述合成损失函数以基于所述合成损失函数来训练所述合成视频编码器和所述合成视频解码器;使用所述真实损失函数和所述合成损失函数来训练所述真实视频鉴别器和所述合成视频鉴别器以根据伪视频序列确定真实视频序列;用所述双VAE-GAN的所述合成视频编码器和所述真实视频解码器来变换标注的模拟视频序列,以生成包括基于所述真实视频序列的风格元素的标注的重构的真实视频序列;以及使用所述重构的标注的真实视频序列来训练深度神经网络以检测和跟踪视频数据中的对象。
在本发明的一个方面,所述方法包括基于将所述对象的地面实况与来自所述深度神经网络的输出进行比较来训练所述深度神经网络。
在本发明的一个方面,基于描述包括在所述标注的重构的真实视频序列中的所述对象的数据来确定所述地面实况。
在本发明的一个方面,所述风格元素包括环境条件,包括照明、天气和季节。
在本发明的一个方面,所述方法包括用真实感视频渲染软件生成所述标注的模拟视频序列。
在本发明的一个方面,基于描述包括在所述标注的重构的真实视频序列中的所述对象的数据来生成标注。
在本发明的一个方面,所述双VAE-GAN包括共享的潜在空间,所述共享的潜在空间包括与所述真实视频序列和所述模拟视频序列两者相对应的潜在变量。
在本发明的一个方面,所述真实视频鉴别器和所述合成视频鉴别器是卷积神经网络。
在本发明的一个方面,所述深度神经网络是递归卷积深度神经网络。
在本发明的一个方面,所述方法包括基于用所述递归卷积深度神经网络检测和跟踪所述视频数据中的所述对象来操作车辆。
Claims (15)
1.一种方法,其包括:
训练双变分自动编码器-生成式对抗网络(VAE-GAN)以通过将真实视频序列输入到真实视频解码器和真实视频编码器中并将模拟视频序列输入到合成视频编码器和合成视频解码器中来变换所述真实视频序列和所述模拟视频序列;
分别基于来自真实视频鉴别器和合成视频鉴别器的输出来确定真实损失函数和合成损失函数;
通过所述真实视频编码器和所述真实视频解码器反向传播所述真实损失函数以基于所述真实损失函数来训练所述真实视频编码器和所述真实视频解码器;
通过所述合成视频编码器和所述合成视频解码器反向传播所述合成损失函数以基于所述合成损失函数来训练所述合成视频编码器和所述合成视频解码器;
使用所述真实损失函数和所述合成损失函数来训练所述真实视频鉴别器和所述合成视频鉴别器以根据伪视频序列确定真实视频序列;
用所述双VAE-GAN的所述合成视频编码器和所述真实视频解码器来变换标注的模拟视频序列,以生成包括基于所述真实视频序列的风格元素的标注的重构的真实视频序列;以及
使用所述重构的标注的真实视频序列来训练深度神经网络以检测和跟踪视频数据中的对象。
2.根据权利要求1所述的方法,其还包括基于将所述对象的地面实况与来自所述深度神经网络的输出进行比较来训练所述深度神经网络。
3.根据权利要求2所述的方法,其中基于描述包括在所述标注的重构的真实视频序列中的所述对象的数据来确定所述地面实况。
4.根据权利要求1所述的方法,其中所述风格元素包括环境条件,包括照明、天气和季节。
5.根据权利要求1所述的方法,其还包括用真实感视频渲染软件生成所述标注的模拟视频序列。
6.根据权利要求5所述的方法,其还包括基于描述包括在所述标注的重构的真实视频序列中的所述对象的数据来生成标注。
7.根据权利要求1所述的方法,其中所述双VAE-GAN包括共享的潜在空间,所述共享的潜在空间包括与所述真实视频序列和所述模拟视频序列两者相对应的潜在变量。
8.根据权利要求1所述的方法,其中所述真实视频鉴别器和所述合成视频鉴别器是卷积神经网络。
9.根据权利要求1所述的方法,其中所述深度神经网络是递归卷积深度神经网络。
10.根据权利要求9所述的方法,其还包括基于用所述递归卷积深度神经网络检测和跟踪所述视频数据中的所述对象来操作车辆。
11.根据权利要求1所述的方法,其中分别针对真实视频序列和模拟视频序列使用损失函数VA2A-VA和VB2B-VB来训练所述双VAE-GAN以实现重构损失。
12.根据权利要求1所述的方法,其中分别针对真实视频序列和模拟视频序列使用损失函数VA2B2A-VA和VB2A2B–VB来训练所述双VAE-GAN以实现循环一致性。
13.根据权利要求1所述的方法,其中使用损失函数DIA(VB2A)-1、DIB(VA2B)-1、DIA(VA2B2A)-1和DIB(VB2A2B)-1来训练所述真实图像鉴别器和所述合成图像鉴别器以实现交叉转译和循环一致性。
14.根据权利要求1所述的方法,其中使用损失函数DVA(V’B2A)-1、DVB(V’A2B)-1、DVA(V’A2B2A)-1和DVB(V’B2A2B)-1来训练所述真实视频鉴别器和所述合成视频鉴别器以实现交叉转译和循环一致性。
15.一种系统,其包括被编程为执行根据权利要求1至14中任一项所述的方法的计算机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/342,640 | 2021-06-09 | ||
US17/342,640 US11922320B2 (en) | 2021-06-09 | 2021-06-09 | Neural network for object detection and tracking |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115457074A true CN115457074A (zh) | 2022-12-09 |
Family
ID=84192508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210633150.0A Pending CN115457074A (zh) | 2021-06-09 | 2022-06-07 | 用于对象检测和跟踪的神经网络 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11922320B2 (zh) |
CN (1) | CN115457074A (zh) |
DE (1) | DE102022114201A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11975738B2 (en) * | 2021-06-03 | 2024-05-07 | Ford Global Technologies, Llc | Image annotation for deep neural networks |
US20230066897A1 (en) * | 2021-09-01 | 2023-03-02 | Electronic Arts Inc. | Generating Visual Assets for Video Games |
CN116052724B (zh) * | 2023-01-28 | 2023-07-04 | 深圳大学 | 肺音增强方法、系统、设备和存储介质 |
CN116504068A (zh) * | 2023-06-26 | 2023-07-28 | 创辉达设计股份有限公司江苏分公司 | 车道级车流量的统计方法、装置、计算机设备及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190287217A1 (en) * | 2018-03-13 | 2019-09-19 | Microsoft Technology Licensing, Llc | Machine learning system for reduced network bandwidth transmission of content |
US10614310B2 (en) * | 2018-03-22 | 2020-04-07 | Viisights Solutions Ltd. | Behavior recognition |
KR102565279B1 (ko) * | 2018-08-23 | 2023-08-09 | 삼성전자주식회사 | 객체 검출 방법, 객체 검출을 위한 학습 방법 및 그 장치들 |
US11170256B2 (en) | 2018-09-26 | 2021-11-09 | Nec Corporation | Multi-scale text filter conditioned generative adversarial networks |
US10885776B2 (en) * | 2018-10-11 | 2021-01-05 | Toyota Research Institute, Inc. | System and method for roadway context learning by infrastructure sensors |
US11106903B1 (en) * | 2018-11-02 | 2021-08-31 | Amazon Technologies, Inc. | Object detection in image data |
US11367268B2 (en) * | 2019-08-27 | 2022-06-21 | Nvidia Corporation | Cross-domain image processing for object re-identification |
US20210081843A1 (en) * | 2019-09-17 | 2021-03-18 | Seyed Ershad BANIJAMALI | Methods and systems for observation prediction in autonomous vehicles |
CN110728203B (zh) | 2019-09-23 | 2022-04-12 | 清华大学 | 基于深度学习的手语翻译视频生成方法及系统 |
KR102236788B1 (ko) * | 2019-10-21 | 2021-04-06 | 주식회사 픽스트리 | 이미지 복원 방법 및 장치 |
US11577757B2 (en) * | 2019-11-01 | 2023-02-14 | Honda Motor Co., Ltd. | System and method for future forecasting using action priors |
EP4042318A1 (en) | 2019-12-05 | 2022-08-17 | Huawei Technologies Co., Ltd. | System and method of generating a video dataset with varying fatigue levels by transfer learning |
US11170568B2 (en) * | 2020-01-23 | 2021-11-09 | Rockwell Collins, Inc. | Photo-realistic image generation using geo-specific data |
US11625839B2 (en) * | 2020-05-18 | 2023-04-11 | Toyota Research Institute, Inc. | Bird's eye view based velocity estimation via self-supervised learning |
US11328402B2 (en) * | 2020-09-29 | 2022-05-10 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and system of image based anomaly localization for vehicles through generative contextualized adversarial network |
US11568576B1 (en) * | 2020-12-10 | 2023-01-31 | Amazon Technologies, Inc. | Generation of synthetic image data |
-
2021
- 2021-06-09 US US17/342,640 patent/US11922320B2/en active Active
-
2022
- 2022-06-03 DE DE102022114201.9A patent/DE102022114201A1/de active Pending
- 2022-06-07 CN CN202210633150.0A patent/CN115457074A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220398461A1 (en) | 2022-12-15 |
DE102022114201A1 (de) | 2022-12-15 |
US11922320B2 (en) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593950B2 (en) | System and method for movement detection | |
Kabzan et al. | AMZ driverless: The full autonomous racing system | |
US20230127115A1 (en) | Three-Dimensional Object Detection | |
US20230415788A1 (en) | Multi-Task Machine-Learned Models for Object Intention Determination in Autonomous Driving | |
US11922320B2 (en) | Neural network for object detection and tracking | |
CN107246876B (zh) | 一种无人驾驶汽车自主定位与地图构建的方法及系统 | |
WO2020094033A1 (en) | Method and system for converting point cloud data for use with 2d convolutional neural networks | |
CN112752950A (zh) | 修改与地图数据相关联的地图元素 | |
US11042758B2 (en) | Vehicle image generation | |
CN113496510A (zh) | 使用神经网络进行逼真的图像透视变换 | |
CN112633465A (zh) | 车辆神经网络训练 | |
CN113525416A (zh) | 车辆数据增强 | |
CN115439401A (zh) | 用于深度神经网络的图像标注 | |
CN116182875A (zh) | 一种基于图神经网络的临时道路路径规划方法及系统 | |
Valente et al. | Evidential SLAM fusing 2D laser scanner and stereo camera | |
CN113525349A (zh) | 增强的车辆操作 | |
CN112440970A (zh) | 车辆神经网络 | |
CN116311216A (zh) | 三维对象检测 | |
CN115731531A (zh) | 对象轨迹预测 | |
US11562571B2 (en) | Vehicle neural network | |
US11663807B2 (en) | Systems and methods for image based perception | |
Jahoda et al. | Autonomous car chasing | |
EP4145352A1 (en) | Systems and methods for training and using machine learning models and algorithms | |
RU2808469C2 (ru) | Способ управления роботизированным транспортным средством | |
US11966452B2 (en) | Systems and methods for image based perception |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |