CN113496510A - 使用神经网络进行逼真的图像透视变换 - Google Patents
使用神经网络进行逼真的图像透视变换 Download PDFInfo
- Publication number
- CN113496510A CN113496510A CN202110355103.XA CN202110355103A CN113496510A CN 113496510 A CN113496510 A CN 113496510A CN 202110355103 A CN202110355103 A CN 202110355103A CN 113496510 A CN113496510 A CN 113496510A
- Authority
- CN
- China
- Prior art keywords
- image
- perspective
- point cloud
- depth map
- neural network
- 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/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/50—Depth or shape recovery
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/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/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/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了“使用神经网络进行逼真的图像透视变换”。本公开公开了一种系统和一种方法。在示例性实现方式中,所述系统和所述方法可以包括:接收具有第一视角的图像;经由深度神经网络生成与具有所述第一视角的所述图像对应的深度图;经由所述深度神经网络,基于所述深度图生成点云表示;将所述点云表示投影到与具有第二视角的图像对应的点云表示上;生成与具有所述第二视角的所述图像对应的深度图;以及基于与具有所述第二视角的所述图像对应的所述深度图和与具有所述第一视角的所述图像对应的语义分割图来生成具有所述第二视角的合成图像,其中所述第二视角与所述第一视角不同。
Description
技术领域
本公开总体上涉及深度神经网络。
背景技术
深度神经网络(DNN)可以用于执行许多图像理解任务,包括分类、分割和生成字幕。通常,DNN需要大量的训练图像(数万至数百万)。另外,为了训练和预测的目的,通常需要对这些训练图像进行注解。
发明内容
一种系统可以包括计算机,所述计算机包括处理器和存储器。所述存储器包括指令,使得所述处理器被编程为接收具有第一视角的图像;经由深度神经网络生成与具有所述第一视角的所述图像对应的深度图;经由所述深度神经网络,基于所述深度图生成点云表示;将所述点云表示投影到与具有第二视角的图像对应的点云表示上;生成与具有所述第二视角的所述图像对应的深度图;并且基于与具有所述第二视角的所述图像对应的所述深度图和与具有所述第一视角的所述图像对应的语义分割图来生成具有所述第二视角的合成图像,其中所述第二视角与所述第一视角不同。
在其他特征中,所述处理器还被编程为基于相机位姿变换矩阵来生成与具有所述第二视角的所述图像对应的所述点云表示。
在其他特征中,所述相机位姿变换矩阵包括旋转矩阵和平移矩阵。
在其他特征中,根据计算与具有所述第二视角的所述图像对应的所述点云表示,其中包括与具有所述第二视角的所述图像对应的所述点云表示的点云坐标,R-1是所述旋转矩阵的逆矩阵,包括与具有所述第一视角的所述图像对应的所述点云表示的点云坐标,并且[T]包括所述平移矩阵。
在其他特征中,所述深度神经网络包括编码器-解码器架构。
在其他特征中,所述深度神经网络包括条件式生成对抗网络。
在其他特征中,具有所述第一视角的所述图像由车辆相机传感器捕获。
在其他特征中,具有所述第一视角的所述图像包括红-蓝-绿(RGB)图像。
在其他特征中,所述处理器还被编程为基于具有所述第二视角的所述合成图像来操作车辆。
在其他特征中,所述深度神经网络包括鉴别器,所述鉴别器生成指示具有所述第二视角的合成图像是机器生成的还是源自真实数据分布的预测。
一种方法包括:接收具有第一视角的图像;经由深度神经网络生成与具有所述第一视角的所述图像对应的深度图;经由所述深度神经网络,基于所述深度图生成点云表示;将所述点云表示投影到与具有第二视角的图像对应的点云表示上;生成与具有所述第二视角的所述图像对应的深度图;以及基于与具有所述第二视角的所述图像对应的所述深度图和与具有所述第一视角的所述图像对应的语义分割图来生成具有所述第二视角的合成图像,其中所述第二视角与所述第一视角不同。
在其他特征中,所述方法还包括基于相机位姿变换矩阵来生成与具有所述第二视角的所述图像对应的所述点云表示。
在其他特征中,所述相机位姿变换矩阵包括旋转矩阵和平移矩阵。
在其他特征中,根据计算与具有所述第二视角的所述图像对应的所述点云表示,其中包括与具有所述第二视角的所述图像对应的所述点云表示的点云坐标,R-1是所述旋转矩阵的逆矩阵,包括与具有所述第一视角的所述图像对应的所述点云表示的点云坐标,并且[T]包括所述平移矩阵。
在其他特征中,所述深度神经网络包括编码器-解码器架构。
在其他特征中,所述深度神经网络包括条件式生成对抗网络。
在其他特征中,具有所述第一视角的所述图像由车辆相机传感器捕获。
在其他特征中,具有所述第一视角的所述图像包括红-蓝-绿(RGB)图像。
在其他特征中,所述方法还包括基于具有所述第二视角的所述合成图像来操作车辆。
在其他特征中,所述深度神经网络包括鉴别器,所述鉴别器生成指示具有所述第二视角的合成图像是机器生成的还是源自真实数据分布的预测。
附图说明
图1是示例性车辆系统的图示。
图2是系统内的示例性服务器的图示。
图3是示出可以使用深度神经网络生成的各种图像视角的图示。
图4是示例性深度神经网络的图示。
图5是示例性深度神经网络的图示。
图6是示例性深度神经网络的图示。
图7是示例性深度神经网络的图示。
图8是用于使用具有第一视角的图像来生成具有第二视角的合成图像的示例性过程的流程图。
具体实施方式
自主车辆通常采用感知算法或代理来感知车辆周围的环境。然而,训练感知算法通常需要大量数据。感兴趣的对象可以包括其他车辆、挂车、行人、街道标记、标志等。然而,合成数据可能看起来不是“真实的”。因此,使用合成数据训练感知算法可能不对应于使用真实(即,非生成的)数据训练感知算法。
例如,当前的计算机视觉技术使用在两个视角之间使用一组匹配的像素坐标计算出的单应性矩阵来互相变形。然而,由于在透视变换期间并非所有像素信息都可用以重构看起来逼真的图像,因此这会引入失真并且图像看起来被拉伸。
从后面看车辆的相机没有关于车辆从侧面或顶部可能看起来如何的信息。计算机视觉技术,用于使图像变形成使得新构建的图像是来自从侧面或顶部观察车辆的相机的视角,在某些情况下使图像失真到无法识别车辆的程度。从不同视角生成图像的能力将有助于算法改善诸如对象检测和定位等挑战的解决方案。
本公开针对深度神经网络,其生成具有与输入图像不同的视角的合成图像。例如,具有第一视角的输入图像可以由相机捕获。如本文所述,域转换网络可以采用编码器-解码器架构。编码器部分可以将具有第一序列的图像编码为图像的潜在表示。然后,解码器部分可以接收一个或多个矩阵和潜在表示以生成深度图,所述深度图可以用于构建输入图像的点云表示。点云表示可以用于将点映射到与具有第二视角的图像对应的点云。然后,深度图可以被构建并用于生成具有第二视角的合成图像。
在各种实现方式中,深度神经网络可以包括条件式生成对抗网络(cGAN)。这些网络可以使用附加输入(诸如输入向量)来调节深度神经网络的输出。例如,生成器可以使用指定特定条件或特性(例如,与图像或图像视角相关联的标签)的输入向量来调节生成器的输出。在本公开内,带条件的输入可以包括与相机、图像分布等相关联的矩阵。
虽然本公开描述了车辆系统和服务器,但应理解,可以使用任何合适的计算机系统来执行本文描述的对抗神经网络的技术和/或功能。
图1是示例性车辆系统100的框图。系统100包括车辆105,所述车辆是陆地车辆,诸如汽车、卡车等。车辆105包括计算机110、车辆传感器115、用于致动各种车辆部件125的致动器120以及车辆通信模块130。经由网络135,通信模块130允许计算机110与服务器145通信。
计算机110包括处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且存储可由计算机110执行以执行各种操作(包括如本文所公开的操作)的指令。
计算机110可以以自主模式、半自主模式或非自主(手动)模式来操作车辆105。出于本公开的目的,自主模式被限定为其中由计算机110控制车辆105推进、制动和转向中的每一者的模式;在半自主模式下,计算机110控制车辆105推进、制动和转向中的一者或两者;在非自主模式下,人类操作员控制车辆105推进、制动和转向中的每一者。
计算机110可以包括编程以操作车辆105制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆的加速)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,以及确定计算机110(而非人类操作员)是否以及何时控制此类操作。另外,计算机110可以被编程为确定人类操作员是否以及何时控制此类操作。
计算机110可以包括多于一个处理器,或者例如经由如以下进一步描述的车辆105通信模块130而通信地耦接到所述多于一个处理器,所述多于一个处理器例如包括在车辆105中所包括的用于监测和/或控制各种车辆部件125的电子控制器单元(ECU)等(例如动力传动系统控制器、制动控制器、转向控制器等)中。此外,计算机110可以经由车辆105通信模块130与使用全球定位系统(GPS)的导航系统通信。作为示例,计算机110可以请求并接收车辆105的位置数据。位置数据可以是已知的形式,例如地理坐标(纬度坐标和经度坐标)。
计算机110通常被布置用于依靠车辆105通信模块130并且还利用车辆105内部有线和/或无线网络(例如车辆105中的总线等,诸如控制器局域网(CAN)等)和/或其他有线和/或无线机制进行通信。
经由车辆105通信网络,计算机110可以向车辆105中的各种装置传输消息和/或从所述各种装置接收消息,所述各种装置例如车辆传感器115、致动器120、车辆部件125、人机界面(HMI)等。替代地或另外,在其中计算机110实际上包括多个装置的情况下,车辆105通信网络可以用于在本公开中表示为计算机110的装置之间的通信。此外,如以下所提及,各种控制器和/或车辆传感器115可以向计算机110提供数据。
车辆传感器115可以包括诸如已知的用于向计算机110提供数据的多种装置。例如,车辆传感器115可以包括设置在车辆105的顶部上、在车辆105的前挡风玻璃后面、在车辆105周围等的光探测和测距(激光雷达)传感器115等,所述传感器提供车辆105周围的对象的相对位置、大小和形状和/或周围的情况。作为另一示例,固定到车辆105保险杠的一个或多个雷达传感器115可以提供数据以提供对象(可能地包括第二车辆106)等相对于车辆105的位置的速度并进行测距。车辆传感器115还可以包括一个或多个相机传感器115(例如,前视、侧视、后视等),所述相机传感器提供来自车辆105内部和/或外部的视野的图像。
车辆105致动器120经由如已知那样可以根据适当控制信号致动各种车辆子系统的电路、芯片、马达或者其他电子和/或机械部件来实现。致动器120可以用于控制部件125,包括车辆105的制动、加速和转向。
在本公开的上下文中,车辆部件125是适于执行机械或机电功能或操作(诸如使车辆105移动、使车辆105减速或停止、使车辆105转向等)的一个或多个硬件部件。部件125的非限制性示例包括推进部件(其包括例如内燃发动机和/或电动马达等)、变速器部件、转向部件(例如,其可以包括方向盘、转向齿条等中的一者或多者)、制动部件(如以下所描述)、停车辅助部件、自适应巡航控制部件、自适应转向部件、可移动座椅等。
此外,计算机110可以被配置用于经由车辆对车辆通信模块或接口130与车辆105外部的装置通信,例如,通过车辆对车辆(V2V)或车辆对基础设施(V2X)无线通信与另一车辆、远程服务器145(通常经由网络135)通信。模块130可以包括计算机110可借以通信的一种或多种机制,包括无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望组合以及任何期望网络拓扑(或者当利用多个通信机制时为多个拓扑)。经由模块130提供的示例性通信包括提供数据通信服务的蜂窝、IEEE 802.11、专用短程通信(DSRC)和/或广域网(WAN),包括互联网。
网络135可以是各种有线或无线通信机制中的一者或多者,包括有线(例如,缆线和光纤)和/或无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何所需组合和任何期望的网络拓扑(或在利用多个通信机制时的多个拓扑)。示例性通信网络包括提供数据通信服务的无线通信网络(例如,使用蓝牙、低功耗蓝牙(BLE)、IEEE 802.11、车辆对车辆(V2V)(诸如专用短程通信(DSRC))等)、局域网(LAN)和/或广域网(WAN),包括互联网。
计算机110可以基本上连续地、周期性地和/或当由服务器145指示时等从传感器115接收并分析数据。此外,对象分类或识别技术可以在例如计算机110中基于激光雷达传感器115、相机传感器115等的数据用于识别对象的类型(例如,车辆、人、岩石、坑洞、自行车、摩托车等)以及对象的物理特征。
图2是示例性服务器145的框图。服务器145包括计算机235和通信模块240。计算机235包括处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且存储可由计算机235执行以用于执行各种操作(包括如本文所公开的操作)的指令。通信模块240允许计算机235与其他装置(诸如车辆105)通信。
描述了一个或多个示例性系统,其可以基于相机传感器115从第一视角捕获的图像而从各种视角(例如位姿)生成合成图像。只要在来自第一视角的图像中描绘了来自各个视角的场景的一部分,就可以从第一视角的图像生成合成图像。图3示出了包括车辆302、304的示例性环境300。相机传感器115被示出为定位成使得相机传感器115可以从第一视角306捕获图像。如本文所述,计算机110包括可以从第二视角308和/或第三视角310生成合成图像的深度神经网络。深度神经网络可以部分地利用旋转矩阵RB、RC和变换矩阵TB、TC来生成相应视角的合成图像。旋转矩阵和变换矩阵可以用于形成相机位姿变换矩阵,所述相机位姿变换矩阵用于将与来自第一视角的图像对应的点云转换为与来自期望视角的图像对应的点云。旋转矩阵和变换矩阵可以被提供作为本文描述的深度神经网络的输入。
参考图4,示出了深度神经网络400,其基于输入图像生成深度图和语义分割图。深度神经网络400可以包括对抗神经网络。对抗神经网络可以是软件程序,例如,可以加载在存储器中并由车辆105和/或服务器145中的处理器执行的软件程序。如图所示,对抗神经网络300包括编码器-解码器架构中实现的生成器和鉴别器。在本上下文内,生成器和鉴别器包括条件式生成对抗网络(cGAN)。GAN是深度神经网络,其采用一类人工智能算法,所述算法在机器学习中使用并且由在对抗零和博弈框架中彼此竞争的两个神经网络的系统来实现。
编码器402接收由相机传感器115捕获的图像404。图像404可以包括由相机传感器115捕获的红-绿-蓝(RGB)图像。编码器402将所接收的图像编码成潜在的(即,隐藏的)表示空间(例如,潜在特征)406。用于相机传感器115的固有相机矩阵412在重整形层410处被重整形,并且重整形的相机矩阵被输出到潜在表示空间406。如图所示,将编码的图像数据提供给语义分割解码器412,所述语义分割解码器从第一视角生成与编码的图像数据对应的语义分割图414。所生成的语义分割图包括将编码的图像的每个像素与类别标签(例如,道路标签、车辆标签、背景标签等)相关联的映射图。
深度解码器416接收编码的图像数据和重整形的相机矩阵作为输入,并生成与编码的图像对应的深度图418。重整形的相机矩阵包括对抗框架的带条件的输入。所生成的深度图418包括关于编码的图像内的表面与对象之间的距离的信息。在一个实现方式中,深度图418是使用编码的图像数据内的信息和重整形的相机矩阵内的信息生成的。
深度神经网络400还包括鉴别器420、422。鉴别器420、422基于其各自的输入来生成预测。所述预测指示所接收的输入是由生成器来机器生成还是源自真实数据分布。鉴别器420为了训练目的而接收与图像404对应的地面实况语义分割图和所生成的语义分割图414。鉴别器422为了训练目的而接收与图像404对应的地面实况深度图420和所生成的深度图418。
使用损失函数,经由合适的过程,诸如基于输入是源自真实数据分布还是合成的(例如机器生成的)鉴别器420、422预测的反向传播,来更新编码器-解码器架构(例如生成器)和鉴别器。
在以下方程式中示出用于生成式对抗网络以生成语义分割图的损失函数:
其中G包括Generator函数,D包括鉴别器函数,包括语义分割图生成损失函数,xA RGB包括第一视角的地面实况RGB图像,xA 深度包括第一视角的地面实况深度图,x′A 深度包括第一视角的预测深度图,xA 语义分割包括第一视角的地面实况语义分割图,x′A 语义分割包括第一视角的预测语义分割图,xB RGB包括相机位姿B处的地面实况RGB图像,x′B RGB包括相机位姿B处的预测RGB图像,xB 深度包括相机位姿B处的地面实况深度图,x′B 深度包括相机位姿B处的预测深度图,包括所有真正RGB和深度图上的预期值,包括所有真正RGB和合成语义分割图上的预期值,minGmaxD包括minmax函数,其中鉴别器工作来将值最大化,而生成器工作来将值最小化,其中包括深度图重构损失,包括语义分割重构损失,包括针对深度合成的完整GAN损失,包括针对语义分割图合成的完整GAN损失,以及λ1用于提供加权的深度图重构损失作为完整深度重构损失的添加成分。
一旦经过训练,编码器-解码器架构就生成并输出所生成的深度图418和语义分割图414。计算机120使用所生成的深度图来生成点云。在示例性实现方式中,给出所生成的深度图418的情况下,使用以下方程式生成所生成的深度图418的点云表示:
在方程式8和9中,(x,y,z)是世界坐标,(fx,fy)是相机传感器115的焦距,(u,v)是图像坐标,并且(ox,oy)是相机传感器115的图像中心。
以下方程式提供点云的三维(3D)坐标:
z=x′A 深度(u,v)(方程式10),
生成在的方深程度图式41108。中,项x′A 深度表示基于从第一视角捕获的图像404
使用点云(x,y,z)的所生成的3D坐标,计算机120可以使用相机位姿变换矩阵来将与第一视角对应的点云(x,y,z)坐标变换为与第二视角(例如期望的相机视角或位姿)对应的点云(x’,y’,z’)坐标。相机位姿变换矩阵可以包括3×3旋转矩阵R3x3和平移矩阵T3x1。相机位姿变换矩阵可以包括表示期望的图像视角(例如,第二视角)的输入。与第二视角对应的点云(x',y',z')坐标可以根据以下方程式来生成:
使用所生成的点云(x’,y’,z’)坐标,然后可以将每个点投影到与具有第二视角的图像对应的新深度图上。可以基于期望的视角提供平移矩阵和/或旋转矩阵作为计算机115的输入。在一个实现方式中,可以根据以下方程式生成深度图:
x′B 深度(u′,v′)=z′(方程式16),
其中x′B 深度表示与第二视角对应的深度图。
图5示出了示例性深度神经网络500,其生成与第二视角对应的图像,该视角与相机传感器115捕获的图像404的视角不同。在示例性实现方式中,与第二视角对应的图像包括RGB图像。与第二视角对应的图像包括与图像404相同的场景特性,并且深度神经网络500使所生成的图像适应于图像404的RGB分布上。与深度神经网络400类似,深度神经网络500包括对抗网络,所述对抗网络包括生成器(例如编码器-解码器)和鉴别器,如下面更详细描述。
深度神经网络500可以通过以语义分割图414、旋转矩阵R和平移矩阵T为条件来推断在图像404内捕获的对象信息。相机固有矩阵K还用于调节深度神经网络500的深度图编码器,使得生成器学习深度图、2D投影的RGB图像和相机固有矩阵之间的关系。
与具有第二视角的图像对应的深度图502被输入到深度图编码器504,所述深度图编码器将深度图502编码到潜在空间506中。相机固有矩阵K 408被输入到重整形层508,以生成重整形的相机固有矩阵。所生成的语义分割图414被作为输入提供给语义分割图编码器510,所述语义分割图编码器将语义分割图414编码到潜在空间506中。旋转矩阵R 512被提供给重整形层508,以生成重整形的旋转矩阵,其然后被提供给潜在空间506。平移矩阵T514被提供给潜在空间506。
深度图解码器516接收与第二视角对应的编码深度图和重整形的相机固有矩阵,以生成编码深度图和重整形的相机固有矩阵的解码表示。语义分割变换图解码器518接收编码的语义分割图、重整形的旋转矩阵和平移矩阵514作为输入,并生成编码的语义分割图、重整形的旋转矩阵和平移矩阵514的解码表示。由解码器516、518生成的解码表示用于生成解耦的分割深度图520。
解耦的分割深度图编码器522接收解耦的分割深度图520作为输入,并且生成解耦的分割深度图520的编码的潜在表示,所述编码的潜在表示被提供给潜在空间524。深度神经网络500还包括图像色彩分布编码器526,所述图像色彩分布编码器接收输入图像404,并基于输入图像404生成图像分布(诸如RGB分布)的编码表示。图像分布的经编码的潜在表示被提供给潜在空间524。变换图像解码器528基于解耦的分割深度图520的经编码的潜在表示和图像分布的编码表示来生成与第二视角对应的图像,例如合成图像。
深度神经网络500还包括鉴别器530。鉴别器530基于其所接收的输入来生成预测。例如,鉴别器530可以接收与第二视角对应的地面实况图像532和与第二视角对应的合成图像。所述预测指示所接收的输入是由生成器来机器生成还是源自真实数据分布。
使用损失函数,经由合适的过程,诸如基于输入是源自真实数据分布还是合成的鉴别器530预测的反向传播,来更新编码器-解码器架构(例如生成器)和鉴别器。
图6示出了示例性深度神经网络600,其接收来自相机传感器115的从第一视角捕获的输入图像,并生成与第二视角对应的图像的深度图。上面关于图4描述的所生成的深度图418被提供给潜在空间602。旋转矩阵R 512被提供给重整形层604以生成重整形的旋转矩阵,所述重整形的旋转矩阵被提供给潜在空间602。平移矩阵T 514也被提供给潜在空间602。
深度图418、重整形的旋转矩阵和平移矩阵T被提供给变换深度图解码器606,并且变换深度图解码器606生成与具有第二视角的图像对应的深度图608。在训练期间,将所生成的深度图608和地面实况610提供给鉴别器612以进行评估。与上述鉴别器类似,鉴别器612生成指示输入是源自真实数据分布还是机器生成的预测。所述预测可以用于更新编码器-解码器架构的权重和/或鉴别器。在各种实现方式中,地面实况610包括具有第二视角的真实图像。所生成的变换深度图被提供给深度神经网络500,使得深度神经网络500可以生成具有第二视角的诸如RGB图像的图像。
图7是示例性深度神经网络(DNN)700的图示。DNN 700可以表示上述深度神经网络中的一个或多个。DNN 700包括多个节点705,并且节点705被布置成使得DNN 700包括输入层、一个或多个隐藏层,以及输出层。DNN 700的每个层可以包括多个节点705。尽管图7示出了三(3)个隐藏层,但是应理解,DNN 700可以包括附加的或更少的隐藏层。输入层和输出层还可以包括多于一(1)个的节点705。
节点705有时被称为人工神经元705,因为它们被设计成仿真生物(例如,人类)神经元。每个神经元705的一组输入(由箭头表示)各自乘以相应的权重。然后,可以将经加权输入在输入函数中求和,以在可能通过偏差进行调整的情况下提供净输入。然后,可以将净输入提供给激活函数,所述激活函数进而为连接的神经元705提供输出。所述激活函数可以是通常基于经验分析而选择的各种合适的函数。如图7中的箭头所示,接着可以提供神经元705的输出以将其包括在到下一层中的一个或多个神经元705的一组输入中。
可以训练DNN 700以接受数据作为输入并基于输入生成输出。DNN 700可以用地面实况数据(即关于真实状况或状态的数据)进行训练。例如,DNN 700可以用地面实况数据进行训练或者由处理器用附加数据进行更新。例如,可以通过使用高斯分布初始化权重,并且可以将每个节点705的偏差设置为零。训练DNN 700可以包括经由合适技术(诸如反向传播与优化)来更新权重和偏差。地面实况数据可以包括但不限于指定图像内的对象的数据或指定物理参数(例如,对象相对于另一对象的角度、速度、距离或角度)的数据。例如,地面实况数据可以是表示对象和对象标签的数据。在另一个示例中,地面实况数据可以是表示具有各种视角的图像的数据、与具有各种视角的图像对应的深度图数据、和/或具有各种观点的语义分割图。
图8是用于基于具有第一视角的捕获图像来生成具有第二视角的图像的示例性过程800的流程图。过程800的各个框可以由计算机110或计算机235执行。在框805处,确定是否接收到具有第一视角的输入图像。如果没有接收到图像,则过程800返回到框805。否则,在框810处,诸如编码器412、416等编码器将所接收的图像编码为图像的潜在表示(例如,潜在特征)。在框815处,用于相机传感器115的固有相机矩阵412在重整形层406处被重整形。在框820处,诸如解码器412、416等解码器基于输入图像的编码表示分别生成语义分割图414和深度图418。所生成的深度图414基于编码的图像和重整形的相机矩阵。
在框825处,创建所生成的深度图418的点云表示。在框830处,生成与具有第二视角的图像对应的点云表示。通过映射所生成的深度图418的点云表示来生成与具有第二视角的图像对应的点云表示。在框835处,将点云表示内的每个点投影到与具有第二视角的图像对应的深度图502上。在框840处,诸如解码器516、518等解码器分别使用深度图502和语义分割图414形成解耦的分割深度图520。在框845处,诸如编码器522、526等编码器分别将解耦的分割深度图520和图像404编码为潜在表示。在框850处,解码器528使用解耦的分割深度图520和图像404的潜在表示来生成具有第二视角的图像。在框855处,可以基于具有第二视角的所生成的图像来操作车辆105。例如,计算机110可以根据所生成的图像来发送一个或多个信号以使车辆105运转。
通常,所描述的计算系统和/或装置可以采用多个计算机操作系统中的任一者,包括但绝不限于以下版本和/或变型:福特应用程序、AppLink/Smart Device Link中间件、微软操作系统、微软操作系统、Unix操作系统(例如,由加州红杉海岸的Oracle公司发布的操作系统)、由纽约阿蒙克市的InternationalBusiness Machines公司发布的AIX UNIX操作系统、Linux操作系统、由加州库比蒂诺的苹果公司发布的Mac OSX和iOS操作系统、由加拿大滑铁卢的黑莓有限公司发布的BlackBerryOS以及由谷歌公司和开放手机联盟开发的Android操作系统、或由QNX Software Systems供应的CAR信息娱乐平台。计算装置的示例包括但不限于车载计算机、计算机工作站、服务器、台式机、笔记本、膝上型计算机或手持计算机、或一些其他计算系统和/或装置。
计算机和计算装置一般包括计算机可执行指令,其中所述指令可能够由一个或多个计算装置(诸如以上所列出的那些)执行。可以由使用多种编程语言和/或技术创建的计算机程序编译或解译计算机可执行指令,所述编程语言和/或技术单独地或者组合地包括但不限于JavaTM、C、C++、Matlab、Simulink、Stateflow、Visual Basic、Java Script、Perl、HTML等。这些应用程序中的一些可以在诸如Java虚拟机、Dalvik虚拟机等虚拟机上编译和执行。通常,处理器(例如,微处理器)接收来自例如存储器、计算机可读介质等的指令,并执行这些指令,从而执行一个或多个过程,包括本文所述过程中的一者或多者。此类指令和其他数据可以使用各种计算机可读介质来存储和传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
存储器可以包括计算机可读介质(也称为处理器可读介质),所述计算机可读介质包括参与提供可以由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。此类介质可以采取许多形式,包括但不限于非易失性介质和易失性介质。非易失性介质可以包括例如光盘或磁盘以及其他持久性存储器。易失性介质可以包括例如通常构成主存储器的动态随机存取存储器(DRAM)。此类指令可以由一种或多种传输介质传输,所述传输介质包括同轴电缆、铜线和光纤,包括构成耦接到ECU的处理器的系统总线的电线。计算机可读介质的常见形式包括(例如)软盘、柔性磁盘、硬盘、磁带、任何其他磁性介质、CD-ROM、DVD、任何其他光学介质、穿孔卡片、纸带、具有孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒,或者计算机可以从其读取的任何其他介质。
数据库、数据存储库或本文所述的其他数据存储装置可以包括用于存储、访问和检索各种数据的各种机构,包括分层数据库、文件系统中的文件集、呈专用格式的应用数据库、关系数据库管理系统(RDBMS)等。每个此类数据存储装置通常包括在采用计算机操作系统(诸如以上所提到的那些操作系统中的一个操作系统)的计算装置内,并且经由网络以多种方式中的任一种或多种方式来访问。文件系统可以从计算机操作系统访问,并且可以包括以各种格式存储的文件。除了用于创建、存储、编辑和执行已存储的程序的语言(例如上述PL/SQL语言)之外,RDBMS还通常采用结构化查询语言(SQL)。
在一些示例中,系统元件可以被实现为一个或多个计算装置(例如,服务器、个人计算机等)上、存储在与其相关联的计算机可读介质(例如,磁盘、存储器等)上的计算机可读指令(例如,软件)。计算机程序产品可以包括存储在计算机可读介质上的用于执行本文所描述功能的此类指令。
关于本文描述的介质、过程、系统、方法、启发等,应当理解,虽然此类过程等的步骤已被描述为按照某一有序的顺序发生,但是可以通过以与本文所述顺序不同的顺序执行所述步骤来实践此类过程。还应当理解,可以同时执行某些步骤,可以添加其他步骤,或者可以省略本文描述的某些步骤。换句话说,本文对过程的描述出于说明某些实施例的目的而提供,并且决不应被解释为限制权利要求。
因此,应理解,以上描述旨在是说明性的而非限制性的。在阅读以上描述时,除了所提供的示例之外的许多实施例和应用对于本领域的技术人员将是明显的。不应参考以上描述来确定本发明的范围,而应参考所附权利要求连同这些权利要求赋予的等效物的全部范围来确定。设想并预期未来的发展将在本文讨论的技术中发生,并且所公开的系统和方法将结合到此类未来实施例中。总之,应当理解,本发明能够进行修改和变化,并且仅受所附权利要求的限制。
除非本文做出明确的相反指示,否则权利要求中使用的所有术语意图给出如本领域技术人员所理解的普通和一般的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
根据本发明,提供了一种系统,其具有计算机,所述计算机包括处理器和存储器,所述存储器包括指令,使得所述处理器被编程为:接收具有第一视角的图像;经由深度神经网络生成与具有所述第一视角的所述图像对应的深度图;经由所述深度神经网络,基于所述深度图生成点云表示;将所述点云表示投影到与具有第二视角的图像对应的点云表示上;生成与具有所述第二视角的所述图像对应的深度图;并且基于与具有所述第二视角的所述图像对应的所述深度图和与具有所述第一视角的所述图像对应的语义分割图来生成具有所述第二视角的合成图像,其中所述第二视角与所述第一视角不同。
根据一个实施例,所述处理器还被编程为基于相机位姿变换矩阵来生成与具有所述第二视角的所述图像对应的所述点云表示。
根据一个实施例,所述相机位姿变换矩阵包括旋转矩阵和平移矩阵。
根据一个实施例,根据[■(x'@y'@z')]=[R^(-1)]{[■(x@y@z)]-┤├[T]}计算与具有所述第二视角的所述图像对应的所述点云表示,其中[■(x'@y'@z')]包括与具有所述第二视角的所述图像对应的所述点云表示的点云坐标,R^(-1)是所述旋转矩阵的逆矩阵,[■(x@y@z)]包括与具有所述第一视角的所述图像对应的所述点云表示的点云坐标,并且[T]包括所述平移矩阵。
根据一个实施例,所述深度神经网络包括编码器-解码器架构。
根据一个实施例,所述深度神经网络包括条件式生成对抗网络。
根据一个实施例,具有所述第一视角的所述图像由车辆相机传感器捕获。
根据一个实施例,具有所述第一视角的所述图像包括红-蓝-绿(RGB)图像。
根据一个实施例,所述处理器还被编程为基于具有所述第二视角的所述合成图像来操作车辆。
根据一个实施例,所述深度神经网络包括鉴别器,所述鉴别器生成指示具有所述第二视角的合成图像是机器生成的还是源自真实数据分布的预测。
根据本发明,一种方法包括:接收具有第一视角的图像;经由深度神经网络生成与具有所述第一视角的所述图像对应的深度图;经由所述深度神经网络,基于所述深度图生成点云表示;将所述点云表示投影到与具有第二视角的图像对应的点云表示上;生成与具有所述第二视角的所述图像对应的深度图;以及基于与具有所述第二视角的所述图像对应的所述深度图和与具有所述第一视角的所述图像对应的语义分割图来生成具有所述第二视角的合成图像,其中所述第二视角与所述第一视角不同。
在本发明的一个方面,所述方法包括基于相机位姿变换矩阵来生成与具有所述第二视角的所述图像对应的所述点云表示。
在本发明的一个方面,所述相机位姿变换矩阵包括旋转矩阵和平移矩阵。
在本发明的一个方面,根据[■(x'@y'@z')]=[R^(-1)]{[■(x@y@z)]-┤├[T]}计算与具有所述第二视角的所述图像对应的所述点云表示,其中[■(x'@y'@z')]包括与具有所述第二视角的所述图像对应的所述点云表示的点云坐标,R^(-1)是所述旋转矩阵的逆矩阵,[■(x@y@z)]包括与具有所述第一视角的所述图像对应的所述点云表示的点云坐标,并且[T]包括所述平移矩阵。
在本发明的一个方面,所述深度神经网络包括编码器-解码器架构。
在本发明的一个方面,所述深度神经网络包括条件式生成对抗网络。
在本发明的一个方面,具有所述第一视角的所述图像由车辆相机传感器捕获。
在本发明的一个方面,具有所述第一视角的所述图像包括红-蓝-绿(RGB)图像。
在本发明的一个方面,所述方法包括:基于具有所述第二视角的所述合成图像来操作车辆。
在本发明的一个方面,所述深度神经网络包括鉴别器,所述鉴别器生成指示具有所述第二视角的合成图像是机器生成的还是源自真实数据分布的预测。
Claims (10)
1.一种包括计算机的系统,所述计算机包括处理器和存储器,所述存储器包括指令,使得所述处理器被编程为:
接收具有第一视角的图像;
经由深度神经网络生成与具有所述第一视角的所述图像对应的深度图;
经由所述深度神经网络,基于所述深度图生成点云表示;
将所述点云表示投影到与具有第二视角的图像对应的点云表示上;
生成与具有所述第二视角的所述图像对应的深度图;并且
基于与具有所述第二视角的所述图像对应的所述深度图和与具有所述第一视角的所述图像对应的语义分割图来生成具有所述第二视角的合成图像,其中所述第二视角与所述第一视角不同。
2.如权利要求1所述的系统,其中所述处理器还被编程为:
基于相机位姿变换矩阵来生成与具有所述第二视角的所述图像对应的所述点云表示。
3.如权利要求2所述的系统,其中所述相机位姿变换矩阵包括旋转矩阵和平移矩阵。
5.如权利要求1所述的系统,其中所述深度神经网络包括编码器-解码器架构。
6.如权利要求5所述的系统,其中所述深度神经网络包括条件式生成对抗网络。
7.如权利要求1所述的系统,其中具有所述第一视角的所述图像由车辆相机传感器捕获。
8.如权利要求1所述的系统,其中具有所述第一视角的所述图像包括红-蓝-绿(RGB)图像。
9.如权利要求1所述的系统,其中所述处理器还被编程为:
基于具有所述第二视角的所述合成图像来操作车辆。
10.如权利要求1所述的系统,其中所述深度神经网络包括鉴别器,所述鉴别器生成指示具有所述第二视角的合成图像是机器生成的还是源自真实数据分布的预测。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/838,448 | 2020-04-02 | ||
US16/838,448 US11107228B1 (en) | 2020-04-02 | 2020-04-02 | Realistic image perspective transformation using neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113496510A true CN113496510A (zh) | 2021-10-12 |
Family
ID=77465099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110355103.XA Pending CN113496510A (zh) | 2020-04-02 | 2021-04-01 | 使用神经网络进行逼真的图像透视变换 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11107228B1 (zh) |
CN (1) | CN113496510A (zh) |
DE (1) | DE102021108470A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11783510B2 (en) * | 2020-08-25 | 2023-10-10 | Nvidia Corporation | View generation using one or more neural networks |
WO2022061289A1 (en) * | 2020-09-21 | 2022-03-24 | Nvidia Corporation | Simulating viewpoint transformations for sensor independent scene understanding in autonomous systems |
US11842544B2 (en) * | 2021-06-04 | 2023-12-12 | Fujitsu Limited | Automatic perspective transformation |
US20230056657A1 (en) * | 2021-08-03 | 2023-02-23 | Abdullah ABUOLAIM | System and method of dual-pixel image synthesis and image background manipulation |
KR20230049969A (ko) * | 2021-10-07 | 2023-04-14 | 삼성전자주식회사 | 글로벌 측위 장치 및 방법 |
WO2023081095A1 (en) * | 2021-11-05 | 2023-05-11 | Subtle Medical, Inc. | Systems and methods for multi-contrast multi-scale vision transformers |
DE102022110232A1 (de) | 2022-04-27 | 2023-11-02 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und vorrichtung zur ermittlung eines von einem kraftfahrzeug befahrbaren pfades oder einer semantischen segmentierungskarte mit blick aus einer vogelperspektive auf das kraftfahrzeug |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452927B2 (en) | 2017-08-09 | 2019-10-22 | Ydrive, Inc. | Object localization within a semantic domain |
JP6766844B2 (ja) | 2018-06-01 | 2020-10-14 | 株式会社デンソー | 物体識別装置、移動体用システム、物体識別方法、物体識別モデルの学習方法及び物体識別モデルの学習装置 |
GB2576548B (en) * | 2018-08-23 | 2021-11-03 | Sony Interactive Entertainment Inc | Method and system for reconstructing colour and depth information of a scene |
US11017586B2 (en) * | 2019-04-18 | 2021-05-25 | Adobe Inc. | 3D motion effect from a 2D image |
CN110378838B (zh) | 2019-06-25 | 2023-04-18 | 达闼机器人股份有限公司 | 变视角图像生成方法,装置,存储介质及电子设备 |
US11468585B2 (en) * | 2019-08-27 | 2022-10-11 | Nec Corporation | Pseudo RGB-D for self-improving monocular slam and depth prediction |
-
2020
- 2020-04-02 US US16/838,448 patent/US11107228B1/en active Active
-
2021
- 2021-04-01 CN CN202110355103.XA patent/CN113496510A/zh active Pending
- 2021-04-01 DE DE102021108470.9A patent/DE102021108470A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102021108470A1 (de) | 2021-10-07 |
US11107228B1 (en) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11107228B1 (en) | Realistic image perspective transformation using neural networks | |
CN112184844A (zh) | 车辆图像生成 | |
US11887323B2 (en) | Self-supervised estimation of observed vehicle pose | |
US11586865B2 (en) | Apparatus, system and method for fusing sensor data to do sensor translation | |
US11657635B2 (en) | Measuring confidence in deep neural networks | |
CN112784867A (zh) | 利用合成图像训练深度神经网络 | |
CN113298250A (zh) | 用于定位和对象检测的神经网络 | |
CN116136963A (zh) | 自适应地修剪神经网络系统 | |
US11710254B2 (en) | Neural network object detection | |
CN114119625A (zh) | 点云数据的分割与分类 | |
CN113379654A (zh) | 动态路由的块鉴别器 | |
US20240046619A1 (en) | Holographic display calibration using machine learning | |
US11620475B2 (en) | Domain translation network for performing image translation | |
US11823465B2 (en) | Neural network object identification | |
US20230360331A1 (en) | Multi-plane augmented reality image generation | |
CN113298696A (zh) | 具有深度神经网络的rccc到rgb域转化 | |
US10977783B1 (en) | Quantifying photorealism in simulated data with GANs | |
US20220188621A1 (en) | Generative domain adaptation in a neural network | |
CN114581865A (zh) | 深度神经网络中的置信度测量 | |
CN113159271A (zh) | 时间cnn后部碰撞警报系统 | |
CN112700001A (zh) | 用于深度强化学习的认证对抗鲁棒性 | |
US11321587B2 (en) | Domain generation via learned partial domain translations | |
US20240046627A1 (en) | Computationally efficient unsupervised dnn pretraining | |
US20230316728A1 (en) | Robust neural network learning system | |
CN117095266A (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 |