CN115082874A - 用于车辆中深度估计的系统和方法 - Google Patents

用于车辆中深度估计的系统和方法 Download PDF

Info

Publication number
CN115082874A
CN115082874A CN202111528067.9A CN202111528067A CN115082874A CN 115082874 A CN115082874 A CN 115082874A CN 202111528067 A CN202111528067 A CN 202111528067A CN 115082874 A CN115082874 A CN 115082874A
Authority
CN
China
Prior art keywords
data
vehicle
loss
neural network
semantic segmentation
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
Application number
CN202111528067.9A
Other languages
English (en)
Inventor
A.沙鲁莫夫
M.斯卢茨基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US17/198,954 external-priority patent/US12008817B2/en
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN115082874A publication Critical patent/CN115082874A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/16Image acquisition using multiple overlapping images; Image stitching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/778Active pattern-learning, e.g. online learning of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/274Syntactic or semantic context, e.g. balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

用于训练用于车辆中深度估计的神经网络的方法和系统。该方法和系统从至少两个摄像机接收相应的训练图像数据。至少两个摄像机的相邻摄像机的视场部分重叠。通过提供深度数据和语义分割数据作为输出的神经网络来处理相应的训练图像数据。基于损失函数来训练神经网络。损失函数组合多个损失项,所述损失项至少包括语义分割损失项和全景损失项。全景损失项包括关于各个图像数据的重叠图像块的相似性度量,每个重叠图像块对应于相邻相机的重叠视场区域。语义分割损失项量化了地面真实语义分割数据和从神经网络输出的语义分割数据之间的差异。

Description

用于车辆中深度估计的系统和方法
技术领域
本公开总体上涉及基于来自安装在车辆上的摄像机的图像数据的深度估计,并且更具体地涉及用于基于环绕视图图像数据估计深度的方法和系统。
背景技术
精确的深度数据对于现有和未来的许多车辆系统都很重要。从障碍物预测到信息丰富的用户界面,深度数据有助于车辆的使用。获取深度数据的一种方法是将激光雷达添加到车辆传感器套件中。采用的另一种方法是使用一对紧密放置的前置摄像头并求解深度。
激光雷达增加了车辆的硬件和维护成本,并有很大的功率需求。此外,激光雷达提供稀疏的深度测量,因此仍然需要额外的处理来将其转换为密集数据。立体摄像机还需要在车辆上安装额外的传感器。
因此,期望提供能够以最小的硬件成本向已经包括覆盖车辆周围的摄像机的车辆提供密集深度数据的系统和方法。此外,结合附图和前述技术领域和背景技术,从随后的详细描述和所附权利要求中,本发明的其他期望特征和特性将变得显而易见。
发明内容
本发明公开了一种控制车辆的方法,该方法包括:经由至少一个处理器从至少两个摄像机接收相应的图像数据,其中所述至少两个摄像机的相邻摄像机的视场部分重叠,并且其中所述至少两个摄像机安装在所述车辆上;通过神经网络处理相应的图像数据,其中所述神经网络被训练以提供深度数据和语义分割数据作为输出,并且其中所述神经网络使用损失函数来训练,该损失函数组合多个损失项,所述多个损失项至少包括语义分割损失项和全景损失项,其中所述全景损失项包括关于相应图像数据的重叠块的相似性度量,每个重叠块对应于相邻相机的重叠视场的区域;基于所述深度数据,经由所述至少一个处理器控制所述车辆的功能。
在一实施方式中,至少四个摄像机安装在所述车辆上,以提供所述车辆的环绕视图。
在一实施方式中,所述多个损失项包括视差损失项,其中视差是深度的倒数。
在一实施方式中,所述多个损失项包括视差平滑度损失项,其中视差是深度的倒数。
在一实施方式中,所述视差平滑度损失项是可变的,以便在图像边缘处更低。
在一实施方式中,所述方法包括基于所述深度数据和所述语义分割数据,经由所述至少一个处理器控制所述车辆的功能。
在一实施方式中,所述方法包括基于所述深度数据和所述语义分割数据执行障碍物检测和回避处理,以及基于所述障碍物检测和回避处理的输出来控制所述车辆的转向、制动和推进中的至少一个。
本发明还涉及一种训练神经网络并使用训练的神经网络来控制车辆的方法,该方法包括:经由至少一个处理器接收表示从至少两个摄像机接收的图像数据的相应训练图像数据,其中所述至少两个摄像机的相邻摄像机的视场部分重叠;通过神经网络处理相应训练图像数据,以提供深度数据和语义分割数据作为输出;经由所述至少一个处理器接收包括地面真实语义分割数据的地面真实数据;基于损失函数,经由所述至少一个处理器训练所述神经网络,其中所述损失函数组合多个损失项,所述多个损失项至少包括语义分割损失项和全景损失项;其中所述全景损失项包括关于相应训练图像数据的重叠图像块的相似性度量,每个重叠图像块对应于相邻摄像机的重叠视场区域;以及其中所述语义分割损失项量化了所述地面真实语义分割数据和从所述神经网络输出的语义分割数据之间的差异;使用训练的神经网络来处理从安装到所述车辆的至少两个车辆摄像机接收的图像数据,其中所述至少两个车辆摄像机的相邻车辆摄像机的视场部分重叠,从而提供实时深度数据和实时语义分割数据作为输出;基于所述实时深度数据,经由所述至少一个处理器控制所述车辆的功能。
在一实施方式中,至少四个车辆摄像机安装在所述车辆上,提供所述车辆的环绕视图。
在一实施方式中,所述多个损失项包括视差损失项,其中视差是深度的倒数,其中所述地面真实数据包括地面真实视差数据,并且其中所述视差损失项量化所述地面真实视差数据和从所述神经网络输出的深度数据推导出的视差数据之间的差异。
附图说明
下文将结合以下附图描述本公开,其中相同的附图标记表示相同的元件,并且其中:
图1是根据示例性实施例的用于推断阶段的深度估计的系统的功能框图;
图2是根据示例性实施例的用于训练阶段的深度估计的系统的功能框图;
图3A和3B提供了根据示例性实施例的与图像投影相关的图;
图4是根据示例性实施例的用于训练神经网络的方法的流程图;和
图5是根据示例性实施例的使用来自训练的神经网络的输出来控制车辆的方法的流程图。
具体实施方式
以下详细描述本质上仅仅是示例性的,并不旨在限制本公开或其应用和用途。此外,不打算受前面背景技术或下面详细描述中提出的任何理论的约束。
如本文所使用的,术语模块指的是任何硬件、软件、固件、电子控制组件、处理逻辑和/或处理器设备,单独地或以任何组合,包括但不限于:专用集成电路(ASIC)、电子电路、处理器(共享的、专用的或成组的)和执行一个或多个软件或固件程序的存储器、组合逻辑电路和/或提供所述功能的其他合适组件。
这里可以根据功能和/或逻辑块组件和各种处理步骤来描述本公开的实施例。应当理解,这种块组件可以由被配置为执行指定功能的任何数量的硬件、软件和/或固件组件来实现。例如,本公开的实施例可以采用各种集成电路组件,例如存储元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其他控制设备的控制下执行各种功能。此外,本领域技术人员将理解,本公开的实施例可以结合任何数量的系统来实践,并且这里描述的系统仅仅是本公开的示例性实施例。
为了简洁起见,这里可能不详细描述与信号处理、数据传输、信令、控制和系统的其他功能方面(以及系统的各个操作组件)相关的传统技术。此外,本文包含的各种附图中所示的连接线旨在表示各种元件之间的示例功能关系和/或物理联接。应当注意,在本公开的实施例中可以存在许多替代的或附加的功能关系或物理连接。
本文描述了根据来自安装在车辆上的多个摄像机的输入图像来估计密集深度图的系统和方法。通过使用深度神经网络(DNN)处理图像来估计密集深度图:一种可能的DNN包括编码器-解码器架构,以生成深度数据和语义分割数据。在一个实施例中,基于组合损失项的损失函数来训练DNN,所述损失项包括视差(1/深度)损失、视差平滑度损失、语义分割损失和全景损失。损失函数是单个多任务学习损失函数。由训练的DNN输出的深度数据可以用于各种车辆应用,包括图像拼接或接合、估计与障碍物的距离和控制车辆避开障碍物、密集深度预测、视图视角改变和周围视图生成。
在一些实施例中,来自环绕摄像机的图像数据由DNN处理,以强制深度估计的一致性。环绕摄像机可以是宽镜头摄像机。作为损失函数的一部分,全景损失项使用对周围摄像机图像的公共视点的重新投影。具体而言,采用相似性度量来比较来自相邻环绕视图摄像机的重叠图像块。
本文描述的系统和方法使用DNN从车辆环绕摄像机生成密集深度估计。DNN采用多任务学习,并且共同学习深度和语义分割。作为评估全景损失项的一部分,已知的相机外部和内部参数以及推断的深度被用于生成3D点云。3D点云被投影到公共平面以提供全景图像。全景损失项评估全景图像的重叠区域的相似性,作为损失函数的一部分。损失函数可以在单个损失函数中结合视差、其平滑度、语义分割和全景损失。
图1示出了用于对从安装在车辆12上的多个摄像机14a至14d接收的图像数据16进行深度估计和语义分割的系统30。深度估计系统30包括在车辆12中,并且包括处理器24、存储器26和神经网络18。摄像机14a至14d安装在车辆12的多个不同位置,以提供环绕图像。在所示实施例中,有四个摄像机14a至14d。第一摄像机14a是正面摄像机。第二摄像机14b是面向左侧的摄像机。第三摄像机14c是面向后面的摄像机。第四摄像机14d是面向右侧的摄像机。车辆12中可以包括更少或更多数量的摄像机14a至14d。在一个实施例中,摄像机14a至14d是广角摄像机,也称为鱼眼镜头摄像机。第一/前摄像机14a具有与第二/左摄像机14b和第四/右摄像机14d部分重叠的视场。第二/左摄像机14b具有与第三/后摄像机14c和第一/前摄像机14a部分重叠的视场。第四/右摄像机14d具有与第三/后摄像机14c和第一/前摄像机14a部分重叠的视场。这样,从摄像机14a至14d输出的图像数据16提供了车辆12周围的360°环绕视图。摄像机14a至14d可以提供彩色图像数据16,例如红、绿、蓝(RGB)图像数据16。
系统30被示出在车辆12,特别是汽车的环境中(例如被包括在其中)。然而,系统30在其他车辆环境中是有用的,例如飞机、船只等。在各种实施例中,车辆12是自动驾驶车辆,并且系统30被结合到自动驾驶车辆12中。然而,系统30可用于任何类型的车辆(自主或其他),其包括产生图像数据16的环绕摄像机14a至14d,图像数据16可由神经网络18组合和处理以推断深度数据20和语义分割数据22。自动驾驶车辆12例如是被自动控制以将乘客从一个位置运送到另一个位置的车辆。车辆12在所示实施例中被描绘为客车,但是应当理解,也可以使用任何其他车辆,包括摩托车、卡车、运动型多功能车(SUV)、休闲车(RVs)、船舶、飞机等。在示例性实施例中,自动驾驶车辆12是所谓的四级或五级自动化系统。四级系统表示“高度自动化”,指的是自动驾驶系统在动态驾驶任务的所有方面的特定驾驶模式性能,即使人类驾驶员没有适当响应干预请求。五级系统表示“完全自动化”,指的是自动驾驶系统在人类驾驶员可以管理的所有道路和环境条件下,对动态驾驶任务的所有方面的全时性能。
在实施例中,车辆12包括车辆控制器40,其至少基于深度数据20并且可选地还基于语义分割数据22来控制一个或多个车辆功能。车辆控制器40可以包括一个或多个高级驾驶员辅助系统,该系统基于来自神经网络18的输出提供电子驾驶员辅助。车辆控制器40可以包括基于深度数据20和语义分割数据22通过一个或多个车辆致动器(例如推进、制动和转向系统的致动器)控制车辆12的自主驾驶员或半自主驾驶员。在实施例中,车辆控制器40包括接收深度数据20和语义分割数据22的控制模块,以便确定要应用于车辆致动器的控制指令。车辆控制器40的控制模块可以运行处理深度数据20和语义分割数据22的定位和环境感知算法,以便确定控制指令。控制模块可以包括障碍物检测和避免模块,该模块处理深度数据20和语义分割数据22以评估障碍物的类型和障碍物的三维位置。障碍物被跟踪,并且它们的三维轨迹可以被预测。车辆控制器40可以响应性地控制车辆12,以避免与被跟踪的障碍物碰撞。
继续参考图1,深度估计系统30包括至少一个处理器24、存储器26等。处理器24可以执行存储在存储器26中的程序指令28。处理器24可以指中央处理单元(CPU)、图形处理单元(GPU)或执行根据本公开的方法和功能的专用处理器。存储器26可以由易失性存储介质和/或非易失性存储介质构成。例如,存储器26可以由只读存储器和/或随机存取存储器构成。存储器26存储由处理器24执行的计算机程序指令28,以便实现这里描述的块、模块和方法步骤。由深度估计系统30实现的方法包括在推断阶段接收图像数据16,通过神经网络18传递图像数据16,并输出深度数据20和语义分割数据22。在图2所示的训练阶段,评估包括多个概念上不同的损失项的损失函数52,这将在下面进一步描述。神经网络18可以是多种神经网络中的一种,包括诸如卷积神经网络(CNN)的DNN。在一个实施例中,神经网络18用编码器-解码器神经网络架构或作为生成式对抗网络(GAN)来实现。
在图2中,示出了训练阶段的深度估计系统50。在神经网络18已经被训练之后,它可以在推断阶段被部署在车辆12中的深度估计系统30中,如图1所示。训练阶段的深度估计系统50具有处理器62和存储计算机程序指令66的存储器64。处理器62、存储器64和计算机程序指令66可以根据上面关于图1的处理器24、存储器26和计算机程序指令28所描述的来实现。计算机程序指令66由处理器62执行,以控制训练过程。在训练过程中,通过迭代调整神经网络18的权重来计算和优化损失函数52,直到实现最大或最小解。在一个实施例中,损失函数L为:
L=λ1·L12·Smoothness+λ3·SemSeg+λ4·Panoramic(等式1)
在等式1中,L1是视差损失,其测量从神经网络18输出的深度数据20导出的视差图和包括在地面真实数据58中的地面真实深度数据之间的差异。平滑度或视差平滑度损失是对视差图在图像边缘之外的图像区域的平滑度的度量。图像边缘处视差平滑度的缺乏被赋予很小的权重,这是由平滑度控制功能控制的。SemSeg或语义分割损失是从神经网络18输出的语义分割数据22和包含在地面真实数据58中的地面真实语义分割数据之间的相似性的度量。全景或全景损失是输入图像重叠区域的图像块不相似性的度量。输入图像的重叠区域是通过首先将来自每个不同摄像机的图像数据放置到公共的全局三维坐标系中,然后将图像数据投影到等矩形全景图中来确定的。λ123andλ4是可调的加权因子。视差被定义为深度的倒数。
地面真实数据58和训练图像数据54在训练阶段作为输入被提供给深度估计系统50。地面真实数据58包括地面真实深度数据和地面真实语义分割数据。训练图像数据54可以取自已经由安装在车辆12上的摄像机14a至14d记录的周围图像数据的数据库,如上面参考图1所述。在其他实施例中,可以模拟训练图像数据54。当使用模拟来生成训练图像数据54时,可以从模拟中输出地面真实数据58。地面真实深度数据可以基于立体摄像机系统、激光雷达设备、雷达设备或安装在车辆12上并在记录训练图像数据54时与摄像机14a至14d协同工作的任何其他深度感测设备的深度感测能力来生成。语义分割地面真实数据可以通过基于训练图像数据54的物体的自动或人工标记来生成。各种类型的障碍物和物体可以被标记为由神经网络18输出的语义分割的一部分和地面真实数据58的一部分,例如其他车辆、车辆类型、行人、树木、车道标记、路边、骑车人等等。
如关于等式1所讨论的,损失函数52包括多个损失项,这将根据一个示例性实施例进一步详细描述。给定
Figure BDA0003409690620000071
组预测视差图和
Figure BDA0003409690620000072
组地面真实视差图,那么L1损失项可以通过下式计算:
Figure BDA0003409690620000073
等式2表示由神经网络18输出的深度数据20和地面真实深度数据之间的误差的度量。也就是说,等式2量化了与地面事实相比,系统推断深度数据20的正确程度。损失函数52可以使用量化视差损失项的其他度量。该组预测视差图可以基于神经网络18输出的、作为深度数据20的一部分的深度图的逆来导出。该组地面真实视差图可以基于包括在地面真实深度数据中的地面真实深度图的逆(inverse)来导出。
损失函数52的视差平滑度损失项通过包括第一近似输入图像边缘Δxy的过程来计算。可以通过多种方式检测图像边缘。一种方法将为彩色图像数据的训练图像数据54转换成灰度强度图。沿着x轴和y轴确定绝对强度差,以确定强度增量图Δxy。计算相邻像素的视差值的绝对差值以提供Dx,Dy。视差增量图和强度增量图使用以下表达式进行组合:
Figure BDA0003409690620000081
在等式3中,αs是平滑度控制因子,
Figure BDA0003409690620000082
Figure BDA0003409690620000083
是平滑度控制函数。等式3提供了由神经网络18的深度数据20在可变函数中输出的平滑度的度量,该可变函数在确定的图像边缘具有较小的权重。也就是说,平滑度控制函数是可变的,使得在图像边缘(其中Δxy相对较高),深度平滑度乘以比远离图像边缘的图像区域更小的平滑度控制变量。在等式3中,图像边缘被定义为图像强度具有相对较大步长的那些区域。以这种方式,深度平滑度约束被更严格地应用于非图像边缘区域,而局部深度变化在图像边缘处预期深度变化的情况下被更容忍。在另一个实施例中,可以用替代的方式确定图像边缘。例如,机器学习技术已经被证明能够精确地定位图像边缘,并且可以基于此生成非图像边缘的图,使得深度平滑仅在非图像边缘区域中执行(或者以偏置的方式应用)。
使用分类交叉熵函数来计算损失函数52的语义分割损失项。给定包括在从神经网络18输出的语义分割数据22中的预测类别
Figure BDA0003409690620000084
和包括在地面真实数据58中的地面事实类别yi,语义分割损失项被定义为:
Figure BDA0003409690620000085
等式4是神经网络18输出的语义分割数据22相对于地面真实分类标签的正确性的度量。尽管提出了交叉熵计算,但是量化来自神经网络18的分类预测和地面事实之间的相似性的其他方法也是可能的。
损失函数52的全景损失项是通过首先使用图像投影方法从公共全局坐标框架中的训练图像数据54创建全景图像来计算的。然后,从全景图像中提取重叠图像块,并采用重叠图像块之间的图像相异度度量来量化全景损失项。在一个示例性实施例中,并且参考图3A,来自其中一个摄像机的图像65中的每个像素60被不投影到摄像机的局部坐标帧中的三维笛卡尔坐标中,并且使用包括在内在和外在摄像机数据56和深度数据20中的摄像机内在参数。也就是说,对于图像65中像素60的每个u/v坐标,基于摄像机固有参数,在XYZ笛卡尔坐标中存在对应的坐标,提供方向向量。方向向量乘以由神经网络18预测的深度数据20中包括的深度,以在摄像机的局部笛卡尔坐标框架中提供完整的局部3D坐标。根据内在和外在摄像机数据56,通过使用摄像机的外在参数旋转和平移它们,将在前一步骤中导出的3D局部坐标转换成全局3D坐标。这样就产生了一个三维点云,它是一个全局公共坐标框架中的环绕图像的组合。通过计算,从环绕训练图像数据54中的每个图像的全局3D坐标导出等矩形全景图:
Figure BDA0003409690620000091
在等式5中,距离d和角度
Figure BDA0003409690620000092
θ可以参考图3B来理解,该图也示出了全景图中对应于图3A的图像中的像素60的一个点63。x、y和z坐标是在前一步骤中确定的全局3D坐标。等矩形坐标被归一化为全景尺寸,以提供组合全景图像,其中来自每个摄像机的图像数据与来自相邻摄像机的图像数据在空间上部分重叠。构建的全景投影中的重叠图像数据被提取为重叠图像块,并且执行相似性度量以量化图像相似度。
在一个实施例中,训练图像数据54包括来自如图1所示的安装在车辆12上的相邻摄像机对(或模拟为来自)的训练图像数据,例如前左摄像机对、前右摄像机对、右后摄像机对以及左后摄像机对。对于来自每对相邻摄像机的训练图像数据54,基于与两个摄像机中的有效数据相交的区域来创建全景图中的重叠区域的掩模(mask),并且计算结构相似性指数度量(例如,SSIM)SSIM,以量化所构建的全景图中重叠图像块的相似性。SSIM函数可以定义为:
Figure BDA0003409690620000093
等式6测量从构建的全景图中提取的两个重叠图像块之间的相似性。μ_是数据平均值,σ_是协方差,c_是常数。
现在参考图3和4,并继续参考图1和2,流程图示出了根据本公开的方法100、200,其可以由图1的推断阶段的深度估计系统30和训练阶段的深度估计系统50来执行。根据本公开可以理解,该方法中的操作顺序不限于如图3和4所示的顺序执行,而是可以根据本公开且适用的话以一个或多个不同的顺序执行。在各种实施例中,图5的方法200可以基于一个或多个预定事件被调度运行,和/或可以在车辆12的运行期间连续运行。
图4的示例性方法100是训练神经网络18的方法。方法10可以由执行编程指令66的处理器62来实现,如图2所示。方法100包括接收训练图像数据54的步骤110。训练图像数据54表示从安装在车辆上的多个摄像机接收的图像数据,这些摄像机提供车辆的环绕视图,相邻摄像机在视场中部分重叠。训练图像数据54可以被模拟或从运行的车辆系统获得。此外,接收地面真实数据58,其包括地面真实深度数据和地面真实语义分割数据。地面真实语义分割数据可以被模拟,从人类标记或人工生成的标记中获得。地面真实深度数据可以从与运行的车辆系统相关联的深度传感器中模拟或导出,该深度传感器与多个摄像机的视场配准。
在步骤130中,从训练图像数据54的每一帧生成全景图像。全景图像可以通过多种方式生成。在一个实施例中,如上所述,通过使用从神经网络18输出的深度数据20将来自每个摄像机的图像转换成摄像机的局部坐标帧中的三维点云来生成全景图像。使用包括在内部和外部摄像机数据56中的相机的非固有参数,局部坐标框架中的三维图像或点云被转换成全局坐标框架中的三维坐标。全局坐标框架中的3D点云被投影到具有重叠图像块的组合全景图像中。在步骤140中,从全景图中提取重叠的图像块。
在步骤150中,计算损失函数52。损失函数52包括如上所述的多个损失项。在一个实施例中,损失项包括全景损失项,其中量化了来自步骤140的重叠图像块的图像相似性。损失项包括量化由神经网络输出的语义分割数据22和地面事实语义分割数据之间的相似性的语义分割。损失项可以另外包括平滑度损失项,该平滑度损失项以可变的方式量化深度数据20的平滑度,以便在不对应于图像内边缘的区域中承载更大的权重。损失项可以另外包括视差损失项,其量化从神经网络18输出的深度数据20和地面真实深度数据的相似性。各种损失项在损失函数52中被组合成加权和。
在步骤160中,神经网络18适于优化损失函数52的评估,从而训练神经网络18。优化算法可以是迭代过程。
参考图5,描述了控制车辆12的方法200。在步骤210中,从被布置成提供车辆12的环绕视图的多个摄像机14a至14d接收相应图像数据16的帧。在步骤220中,图像数据16通过神经网络18传递,该图像数据16可以是从每个摄像机14a至14d接收的相应图像数据的串联,该神经网络18已经根据图4的示例性方法100进行了训练。神经网络18输出深度数据20和语义分割数据22。在步骤230中,基于来自神经网络18的输出来控制车辆12的应用。深度数据20和语义分割数据22在障碍物识别、定位和跟踪应用以及自动控制车辆12的运动以避开任何障碍物中是有用的。深度数据20还可以用于拼接或接合来自各个摄像机14a至14d的图像,或者提供来自摄像机14a至14d的图像的环绕视图或视角变化。所得图像可以在用户界面控制应用中显示在车辆12的内部显示屏上。
应当理解,所公开的方法、系统和车辆可以不同于附图中所示和本文所述的那些。例如,车辆12、推断时的深度估计系统30、训练时的深度估计系统50和/或其各种部件可以不同于图1和图2中描述的以及与其相关的描述。此外,可以理解的是,该方法的某些步骤可以不同于图4和5所示的步骤。类似地,应当理解,上述方法的某些步骤可以同时发生,或者以不同于图4和5所示的顺序发生。
虽然在前面的详细描述中已经呈现了至少一个示例性实施例,但是应当理解,存在大量的变化。还应当理解,一个或多个示例性实施例仅是示例,并不旨在以任何方式限制本公开的范围、适用性或配置。相反,前述详细描述将为本领域技术人员提供用于实现一个或多个示例性实施例的便利路线图。应当理解,在不脱离所附权利要求及其合法等同物的范围的情况下,可以对元件的功能和布置进行各种改变。

Claims (10)

1.一种控制车辆的方法,该方法包括:
经由至少一个处理器从至少两个摄像机接收相应的图像数据,其中所述至少两个摄像机的相邻摄像机的视场部分重叠,并且其中所述至少两个摄像机安装在所述车辆上;
通过神经网络处理相应的图像数据,其中所述神经网络被训练以提供深度数据和语义分割数据作为输出,并且其中所述神经网络使用损失函数来训练,该损失函数组合多个损失项,所述多个损失项至少包括语义分割损失项和全景损失项,其中所述全景损失项包括关于相应图像数据的重叠块的相似性度量,每个重叠块对应于相邻相机的重叠视场的区域;
基于所述深度数据,经由所述至少一个处理器控制所述车辆的功能。
2.根据权利要求1所述的方法,其中至少四个摄像机安装在所述车辆上,以提供所述车辆的环绕视图。
3.根据权利要求1所述的方法,其中所述多个损失项包括视差损失项,其中视差是深度的倒数。
4.根据权利要求1所述的方法,其中所述多个损失项包括视差平滑度损失项,其中视差是深度的倒数。
5.根据权利要求4所述的方法,其中所述视差平滑度损失项是可变的,以便在图像边缘处更低。
6.根据权利要求1所述的方法,包括基于所述深度数据和所述语义分割数据,经由所述至少一个处理器控制所述车辆的功能。
7.根据权利要求1所述的方法,包括基于所述深度数据和所述语义分割数据执行障碍物检测和回避处理,以及基于所述障碍物检测和回避处理的输出来控制所述车辆的转向、制动和推进中的至少一个。
8.一种训练神经网络并使用训练的神经网络来控制车辆的方法,该方法包括:
经由至少一个处理器接收表示从至少两个摄像机接收的图像数据的相应训练图像数据,其中所述至少两个摄像机的相邻摄像机的视场部分重叠;
通过神经网络处理相应训练图像数据,以提供深度数据和语义分割数据作为输出;
经由所述至少一个处理器接收包括地面真实语义分割数据的地面真实数据;
基于损失函数,经由所述至少一个处理器训练所述神经网络,其中所述损失函数组合多个损失项,所述多个损失项至少包括语义分割损失项和全景损失项;
其中所述全景损失项包括关于相应训练图像数据的重叠图像块的相似性度量,每个重叠图像块对应于相邻摄像机的重叠视场区域;和
其中所述语义分割损失项量化了所述地面真实语义分割数据和从所述神经网络输出的语义分割数据之间的差异;
使用训练的神经网络来处理从安装到所述车辆的至少两个车辆摄像机接收的图像数据,其中所述至少两个车辆摄像机的相邻车辆摄像机的视场部分重叠,从而提供实时深度数据和实时语义分割数据作为输出;
基于所述实时深度数据,经由所述至少一个处理器控制所述车辆的功能。
9.根据权利要求8所述的方法,其中至少四个车辆摄像机安装在所述车辆上,提供所述车辆的环绕视图。
10.根据权利要求8所述的方法,其中所述多个损失项包括视差损失项,其中视差是深度的倒数,其中所述地面真实数据包括地面真实视差数据,并且其中所述视差损失项量化所述地面真实视差数据和从所述神经网络输出的深度数据推导出的视差数据之间的差异。
CN202111528067.9A 2021-03-11 2021-12-14 用于车辆中深度估计的系统和方法 Pending CN115082874A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/198,954 US12008817B2 (en) 2021-03-11 Systems and methods for depth estimation in a vehicle
US17/198,954 2021-03-11

Publications (1)

Publication Number Publication Date
CN115082874A true CN115082874A (zh) 2022-09-20

Family

ID=83005146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111528067.9A Pending CN115082874A (zh) 2021-03-11 2021-12-14 用于车辆中深度估计的系统和方法

Country Status (2)

Country Link
CN (1) CN115082874A (zh)
DE (1) DE102021129544A1 (zh)

Also Published As

Publication number Publication date
DE102021129544A1 (de) 2022-09-15
US20220292289A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
US10937186B2 (en) Techniques for precisely locating landmarks in monocular camera images with deep learning
CN111223135B (zh) 通过使用雷达和运动数据的单目相机来增强距离估计的系统和方法
US11436743B2 (en) Systems and methods for semi-supervised depth estimation according to an arbitrary camera
US9286524B1 (en) Multi-task deep convolutional neural networks for efficient and robust traffic lane detection
EP2757527B1 (en) System and method for distorted camera image correction
US11783593B2 (en) Monocular depth supervision from 3D bounding boxes
CN113228042A (zh) 自主机器应用中障碍物检测的距离
CN110618678A (zh) 自主机器应用中的行为引导路径规划
Shinzato et al. Fast visual road recognition and horizon detection using multiple artificial neural networks
US11887336B2 (en) Method for estimating a relative position of an object in the surroundings of a vehicle and electronic control unit for a vehicle and vehicle
KR20190131207A (ko) 센서 품질 저하에 강인한 딥러닝 기반 카메라, 라이더 센서 융합 인지 방법 및 시스템
US11783541B2 (en) System and method for estimating depth uncertainty for self-supervised 3D reconstruction
US20230342960A1 (en) Depth estimation based on ego-motion estimation and residual flow estimation
US11605228B2 (en) System and method for sensor fusion system having distributed convolutional neural network
CN115136148A (zh) 投影使用鱼眼镜头捕获的图像用于自主机器应用中的特征检测
CN111292366A (zh) 一种基于深度学习和边缘计算的视觉行车测距算法
US11321859B2 (en) Pixel-wise residual pose estimation for monocular depth estimation
US11380110B1 (en) Three dimensional traffic sign detection
CN115082874A (zh) 用于车辆中深度估计的系统和方法
US12008817B2 (en) Systems and methods for depth estimation in a vehicle
CN116740681B (zh) 目标检测方法、装置、车辆和存储介质
US20240029442A1 (en) Vehicle perception by adjusting deep neural network confidence valves based on k-means clustering
CN113837270B (zh) 一种目标识别方法、装置、设备及存储介质
US20240046657A1 (en) Automatic evaluation of three-dimensional vehicle perception using two-dimensional deep neural networks
US20220358316A1 (en) Vehicle lidar system with neural network-based dual density point cloud generator

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