CN115880357A - 对象姿态估计 - Google Patents
对象姿态估计 Download PDFInfo
- Publication number
- CN115880357A CN115880357A CN202211119303.6A CN202211119303A CN115880357A CN 115880357 A CN115880357 A CN 115880357A CN 202211119303 A CN202211119303 A CN 202211119303A CN 115880357 A CN115880357 A CN 115880357A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- cameras
- camera
- image
- pose
- 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
- 239000011159 matrix material Substances 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 90
- 238000012549 training Methods 0.000 claims description 30
- 238000013528 artificial neural network Methods 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 38
- 230000006870 function Effects 0.000 description 35
- 230000008569 process Effects 0.000 description 33
- 239000003550 marker Substances 0.000 description 19
- 238000012545 processing Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 10
- 230000001413 cellular effect Effects 0.000 description 9
- 238000011960 computer-aided design Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 235000012813 breadcrumbs Nutrition 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- VHYFNPMBLIVWCW-UHFFFAOYSA-N 4-Dimethylaminopyridine Chemical compound CN(C)C1=CC=NC=C1 VHYFNPMBLIVWCW-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 240000005020 Acaciella glauca Species 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000863732 Ludisia Species 0.000 description 1
- 101100043434 Oryza sativa subsp. japonica SERR gene Proteins 0.000 description 1
- 239000006096 absorbing agent Substances 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 235000003499 redwood Nutrition 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- 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
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control 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
- G05D1/0251—Control 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 extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/028—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
- G05D1/0282—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal generated in a local control room
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- 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
- 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
- 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/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了“对象姿态估计”。随机选择分布在包括多个相机的相机阵列的参考3D平面上的多个虚拟三维(3D)点。所述多个相机包括主相机和一个或多个附加相机。基于所述相机的相应姿态来确定所述多个相机的所述多个虚拟3D点的相应二维(2D)投影。针对相应的一个或多个附加相机,基于相应相机的2D投影和主相机的2D投影来确定相应的单应性矩阵。相应的单应性矩阵将相应相机的2D投影映射到主相机的2D投影。基于由所述多个相机捕获的相应图像和所述相应的单应性矩阵来生成拼接图像。
Description
技术领域
本公开涉及车辆中的深度神经网络。
背景技术
可以训练深度神经网络以执行各种计算任务。例如,可以训练神经网络以从图像中提取数据。计算装置可以使用由深度神经网络从图像中提取的数据来操作系统,所述系统包括车辆、机器人、安全、产品制造和产品跟踪。图像可以由包括在系统中的传感器获取并使用深度神经网络进行处理以确定关于系统周围环境中的对象的数据。系统的操作可以通过获取关于系统环境中的对象的准确且及时的数据而得到支持。
发明内容
可以使用用于包括车辆引导、机器人操作、安全、制造和产品跟踪的系统的训练数据集来训练深度神经网络(DNN)以确定由传感器获取的图像数据中的对象。车辆引导可包括车辆在自主或半自主模式下的操作。机器人引导可包括引导机器人末端执行器(例如夹持器)来拾取零件并对零件进行取向以进行组装。安全系统包括其中计算机从观察安全区域的相机获取视频数据以向授权用户提供访问权限并检测未经授权进入的特征。例如,安全系统还可向授权用户提供对计算装置或蜂窝电话的访问权限。例如,在制造系统中,计算机中的DNN可通过确定人的手在特定时间相对于机器操作循环的位置来检测机器在制造操作中的不期望操作。例如,在产品跟踪系统中,深度神经网络可检测到人从搁架移除对象并将其放入购物车中,并且自动向人收取对象的费用。例如,其他产品跟踪系统包括用于运输的包裹分拣。
本文中将车辆引导描述为使用DNN来检测对象(例如车辆)的非限制性示例。例如,交通基础设施系统中的计算装置可以被编程为获取关于其环境的数据并使用DNN来检测所述数据中的对象。所述数据可包括从静态相机或视频相机获取的图像数据和从包括激光雷达传感器的距离传感器获取的距离数据。可以训练DNN以标记和定位图像数据或距离数据中的对象。包括在交通基础设施系统中的计算装置可以使用检测到的对象的身份和位置来确定以自主或半自主模式操作车辆的车辆路径。车辆可以基于车辆路径通过确定命令来指示车辆的动力传动系统、制动和转向部件操作车辆以沿着所述路径行驶而操作。
然而,来自交通基础设施系统中的多个相机中的一个相机的图像数据可能缺乏关于检测到的车辆的足够数据来正确地确定检测到的车辆的取向。例如,来自一个相机的图像数据可以包括检测到的车辆的一部分。在这种情况下,车辆的多个取向可以对应于来自一个相机的图像数据中的车辆的所检测部分。本文讨论的技术通过从多个相机获取车辆的相应图像数据并基于多个相机中的主相机与附加相机之间的相应单应性矩阵从多个图像生成拼接图像来改进对检测到的车辆的取向的确定。
一种系统包括计算机,所述计算机包括处理器和存储器,所述存储器存储指令,所述指令可由所述处理器执行以随机选择分布在包括多个相机的相机阵列的3D参考平面上的多个虚拟三维(3D)点。所述多个相机包括主相机和一个或多个附加相机。所述指令还包括用于基于所述相机的相应姿态来确定所述多个相机的所述多个虚拟3D点的相应二维(2D)投影的指令。所述指令还包括用于进行以下操作的指令:针对相应的一个或多个附加相机,基于相应相机的2D投影和主相机的2D投影来确定相应的单应性矩阵。相应的单应性矩阵将相应相机的2D投影映射到主相机的2D投影。所述指令还包括用于基于由所述多个相机捕获的相应图像和所述相应的单应性矩阵来生成拼接图像的指令。
所述指令还可以包括用于将所述拼接图像输入到神经网络中的指令,所述神经网络输出包括在所述拼接图像中的对象的姿态。
可以基于正交的x轴、y轴和z轴以及围绕z轴的横摆旋转在真实世界坐标系的坐标中确定对象的姿态。
所述对象可以是车辆。所述指令还可以包括用于基于所确定的姿态来生成所述车辆的路径的指令。所述指令还可以包括用于沿着所生成的路径操作车辆的指令。
所述指令还可以包括用于基于将所述对象的所述姿态和所述对象的3D模型输入到轮廓渲染程序来确定所述对象的第一2D轮廓的指令。所述指令还可以包括用于基于拼接图像来确定所述对象的第二2D轮廓的指令。所述指令还可以包括用于基于所述第一2D轮廓和所述第二2D轮廓之间的差异来训练所述神经网络的指令。
所述指令还可以包括用于基于由相应相机捕获并且包括基准标记的校准图像来确定所述多个相机的相应姿态的指令。
可基于正交的x轴、y轴和z轴以及分别围绕所述x轴、y轴和z轴的侧倾旋转、俯仰旋转和横摆旋转在真实世界坐标系的坐标中确定所述相应相机的所述姿态。
所述指令还可以包括用于基于所述拼接图像中的再投影误差来确定相应相机的更新的姿态的指令。
3D参考平面可以由地面或对象的表面中的一者限定。
图像可以是时间同步的。
所述多个相机可以是红-绿-蓝-深度(RGB-D)相机。
一种方法包括随机选择分布在包括多个相机的相机阵列的参考3D平面上的多个虚拟三维(3D)点。所述多个相机包括主相机和一个或多个附加相机。所述方法还包括基于所述相机的相应姿态来确定所述多个相机的所述多个虚拟3D点的相应二维(2D)投影。所述方法还包括针对相应的一个或多个附加相机,基于相应相机的2D投影和主相机的2D投影来确定相应的单应性矩阵。相应的单应性矩阵将相应相机的2D投影映射到主相机的2D投影。所述方法还包括基于由所述多个相机捕获的相应图像和所述相应的单应性矩阵来生成拼接图像。
所述方法还可以包括将所述拼接图像输入到神经网络中,所述神经网络输出包括在所述拼接图像中的对象的姿态。
可以基于正交的x轴、y轴和z轴以及围绕z轴的横摆旋转在真实世界坐标系的坐标中确定对象的姿态。
所述对象可以是车辆。所述方法还可以包括基于所确定的姿态来生成所述车辆的路径。所述方法还可以包括沿所生成的路径操作所述车辆。
所述方法还可以包括基于将所述对象的所述姿态和所述对象的3D模型输入到轮廓渲染程序来确定所述对象的第一2D轮廓。所述方法还可以包括基于所述拼接图像来确定所述对象的第二2D轮廓。所述方法还可以包括基于所述第一2D轮廓和所述第二2D轮廓之间的差异来训练所述神经网络。
所述方法还可以包括基于由相应相机捕获并且包括基准标记的校准图像来确定所述多个相机的相应姿态。
可基于正交的x轴、y轴和z轴以及分别围绕所述x轴、y轴和z轴的侧倾旋转、俯仰旋转和横摆旋转在真实世界坐标系的坐标中确定所述相应相机的所述姿态。
所述方法还可以包括基于所述拼接图像中的再投影误差来确定相应相机的更新的姿态。
本文还公开了一种计算装置,所述计算装置被编程为执行上述方法步骤中的任一者。本文还公开了一种计算机程序产品,所述计算机程序产品包括计算机可读介质,所述计算机可读介质存储可由计算机处理器执行以执行上述方法步骤中的任一者的指令。
附图说明
图1是示例性交通基础设施系统的框图。
图2是示例性操作区域的图示。
图3是校准车辆的三个示例性图像的图示。
图4是用于确定相机的六自由度姿态的示例性第二深度神经网络的图示。
图5A和图5B是示例性3D参考平面的图示。
图6是包括车辆的一部分并且由相机阵列中的相应相机获取的多个图像的图示。
图7是从图6中的多个图像生成的车辆的示例性拼接图像的图示。
图8是用于确定对象的四自由度姿态的示例性第一深度神经网络的图示。
图9是车辆的示例性三维模型的图示。
图10是车辆的示例性计算机辅助设计模型的图示。
图11是示例性自监督训练系统的图示。
图12是用于生成拼接图像的示例性过程的流程图。
图13是用于训练深度神经网络的示例性过程的流程图。
具体实施方式
参考图1至图11,示例性交通基础设施系统100包括车辆105、远程服务器计算机140和远程相机阵列145,所述远程相机阵列包括定位成获得操作区域200的相应图像的多个相机150。车辆105中的车辆计算机110被编程为使用从远程服务器计算机140接收的车辆105的四自由度(4DoF)姿态来操作车辆105,如下所述。
为了确定车辆105的4DoF姿态,远程服务器计算机140被编程为随机选择分布在远程相机阵列145的3D参考平面500上的多个虚拟三维(3D)点502。所述多个相机150包括主相机152和一个或多个附加相机154。远程服务器计算机140还被编程为基于所述相机150的相应姿态来确定所述多个相机150的所述多个虚拟3D点502的相应二维(2D)投影612。远程服务器计算机140还被编程为针对相应的一个或多个附加相机154,基于相应附加相机154的2D投影612和主相机152的2D投影612来确定相应的单应性矩阵。相应的单应性矩阵将相应附加相机154的2D投影612映射到主相机152的2D投影612。远程服务器计算机140还被编程为基于由所述多个相机150捕获的相应图像和所述相应的单应性矩阵来生成拼接图像700。
本文描述的技术可以从主相机152的视角生成拼接图像700。可以选择相机150中的任一者作为主相机152。例如,在从一个相机150的视角生成拼接图像700后,远程服务器计算机140可以选择另一个相机150作为主相机152,并且从所述另一个相机150的视角生成后续的拼接图像700。也就是说,远程服务器计算机140可以从多个相机150的相应视角生成多个拼接图像700。
现在转到图1,车辆105包括车辆计算机110、传感器115、用于致动各种车辆部件125的致动器120以及车辆通信模块130。通信模块130允许车辆计算机110例如经由消息传递或广播协议(诸如专用短程通信(DSRC)、蜂窝和/或可以支持车辆对车辆、车辆对基础设施、车辆对云通信等的其他协议)和/或经由分组网络135与远程服务器计算机140和/或其他车辆进行通信。
车辆计算机110包括诸如已知的处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且存储指令,所述指令可由车辆计算机110执行以用于执行包括如本文所公开的各种操作。车辆计算机110还可包括协同操作以实施车辆操作(包括如本文所述的操作)的两个或更多个计算装置。此外,车辆计算机110可以是具有如上所述的处理器和存储器的通用计算机,和/或可以包括用于特定功能或功能集的电子控制单元(ECU)或电子控制器等,和/或可以包括专用电子电路,所述专用电子电路包括针对特定操作而制造的ASIC,例如,用于处理传感器数据和/或传送传感器115的数据的ASIC。在另一个示例中,车辆计算机110可包括FPGA(现场可编程门阵列),所述FPGA是被制造为可由用户配置的集成电路。通常,在电子设计自动化中使用诸如VHDL(超高速集成电路硬件描述语言)的硬件描述语言来描述诸如FPGA和ASIC的数字和混合信号系统。例如,ASIC是基于制造前提供的VHDL编程而制造的,而FPGA内部的逻辑部件可以基于例如存储在电连接到FPGA电路的存储器中的VHDL编程来配置。在一些示例中,处理器、ASIC和/或FPGA电路的组合可包括在车辆计算机110中。
车辆计算机110可以自主模式、半自主模式或非自主(或手动)模式操作和/或监测车辆105,即可控制和/或监测车辆105的操作,包括控制和/或监测部件125。出于本公开的目的,自主模式被定义为其中车辆105的推进、制动和转向中的每一者都由车辆计算机110控制的模式;在半自主模式中,车辆计算机110控制车辆105的推进、制动和转向中的一者或两者;在非自主模式中,人类操作员控制车辆105的推进、制动和转向中的每一者。
车辆计算机110可包括编程以操作车辆105的制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆105的加速)、转向、变速器、气候控制、内部灯和/或外部灯、喇叭、车门等中的一者或多者,并且确定车辆计算机110(而非人类操作员)是否以及何时控制此类操作。
车辆计算机110可包括多于一个处理器或例如经由如下文进一步描述的车辆通信网络(诸如,通信总线)通信地耦接到所述多于一个处理器,所述多于一个处理器例如包括在车辆105中所包括的用于监测和/或控制各种车辆部件125的电子控制器单元(ECU)等中,例如变速器控制器、制动控制器、转向控制器等。车辆计算机110通常被布置用于在车辆通信网络上通信,所述车辆通信网络可包括车辆105中的总线,诸如控制器局域网(CAN)等,和/或其他有线和/或无线机制。
经由车辆105网络,车辆计算机110可向车辆105中的各种装置(例如,传感器115、致动器120、ECU等)传输消息和/或从各种装置接收消息(例如,CAN消息)。替代地或另外,在车辆计算机110实际上包括多个装置的情况下,车辆通信网络可用于在本公开中表示为车辆计算机110的装置之间的通信。此外,如下文提及,各种控制器和/或传感器115可以经由车辆通信网络向车辆计算机110提供数据。
车辆计算机110被编程为基本上连续地、周期性地和/或在由远程服务器计算机140指示时等从一个或多个传感器115接收数据。传感器115可以包括诸如已知的各种装置(例如光探测和测距(LIDAR)传感器、雷达传感器、相机传感器等),以向车辆计算机110提供数据。
车辆105的致动器120经由电路、芯片或可以根据如已知的适当控制信号来致动各种车辆105子系统的其他电子和/或机械部件来实现。致动器120可用于控制部件125,包括车辆125的制动、加速和转向。
在本公开的背景下,车辆部件125是适于执行机械或机电功能或操作(诸如使车辆105移动、使车辆105减速或停止、使车辆105转向等)的一个或多个硬件部件。部件125的非限制性示例包括推进部件(其包括例如内燃发动机和/或电动马达等)、变速器部件、转向部件(例如,其可包括方向盘、转向齿条等中的一者或多者)、悬架部件(例如,其可包括阻尼器(例如减振器或滑柱)、套管、弹簧、控制臂、球头节、连杆等中的一者或多者)、制动部件、停车辅助部件、自适应巡航控制部件、自适应转向部件、一个或多个被动约束系统(例如,安全气囊)、可移动座椅等。
另外,车辆计算机110可以被配置用于经由车辆对车辆通信模块130或接口与车辆外部的装置通信,例如,通过车辆对车辆(V2V)或车辆对基础设施(V2X)无线通信(蜂窝和/或短程无线电通信等)与另一车辆和/或远程服务器计算机140(通常经由直接射频通信)通信。通信模块130可包括车辆的计算机可利用来进行通信的一种或多种机制,诸如收发器,包括无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望的组合以及任何期望的网络拓扑(或当利用多种通信机制时的多种拓扑)。经由通信模块提供的示例性通信包括提供数据通信服务的蜂窝、蓝牙、IEEE 802.11、专用短程通信(DSRC)、蜂窝V2X(CV2X)和/或广域网(WAN),包括互联网。为了方便起见,标签“V2X”在本文中用于通信,所述通信可以是车辆对车辆(V2V)和/或车辆对基础设施(V2I),并且可以由通信模块130根据任何合适的短程通信机制(例如,DSRC、蜂窝等)而提供。
网络135表示车辆计算机110可以借助其来与远程计算装置(例如,远程服务器计算机140、另一个车辆计算机等)进行通信的一种或多种机制。因此,网络135可以是各种有线或无线通信机制中的一者或多者,包括有线(例如,电缆和光纤)和/或无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望的组合以及任何期望的网络拓扑(或利用多种通信机制时的多种拓扑)。示例性通信网络135包括提供数据通信服务的无线通信网络(例如,使用 低功耗(BLE)、IEEE 802.11、车辆对车辆(V2V)诸如专用短程通信(DSRC)等)、局域网(LAN)和/或广域网(WAN),包括互联网。
远程服务器计算机140可为被编程为提供诸如本文公开的操作的常规计算装置,即包括一个或多个处理器和一个或多个存储器。此外,可经由网络135(例如,互联网、蜂窝网络和/或某一其他广域网)来访问远程服务器计算机140。
远程相机阵列145中的多个相机150被定位成从上方观察操作区域200。多个相机150可以例如彼此间隔开,以便使它们相应的视野的重叠最小化。替代地,多个相机150可以彼此间隔开,以便实现例如由限定操作区域200的结构的所有者指定的期望重叠量。
相机150可以是例如能够获取配准的视觉和距离数据的任何合适类型的相机。配准的视觉和距离数据(在本文中称为RGB-D(红、绿、蓝、距离)图像数据)是其中RGB或视觉图像和D或距离图像中的对应像素从外部环境中的同一点获取数据的图像数据。相机150的一个非限制性示例是红-绿-蓝-深度(RGB-D)相机。在此类示例中,相机150可以包括光敏阵列(未示出)、红外(IR)发射器(未示出)和IR深度传感器(未示出)。在操作中,相机150确定一个或多个图像(例如,图像帧),并且每个图像帧包括与图像帧内的对象相对应的颜色信息和深度信息。例如,在同时使用IR发射器和IR深度传感器来确定深度图像数据的同时,光敏阵列可以接收彩色图像数据;并且最终,相机150的处理器(未示出)将彩色图像数据和深度图像数据两者都关联到提供给远程服务器计算机140的图像中(如下所述)。RGB-D相机的两个非限制性商业示例为Orbbec的Astra S 3D相机和Intel的Realsense D435;存在其他示例。在交通基础设施系统100的一些实现方式中,期望RGB-D相机,因为RGB-D相机通常具有在2到5米之间的前焦距(FFD)(例如,与通常具有数百米的FFD的激光雷达系统不同)。与激光雷达系统相比,RGB-D相机的较短的FFD允许RGB-D相机捕获比激光雷达系统更宽的视野。另外,与激光雷达系统相比,较短的FFD允许RGB-D相机捕获更深的景深,即,在图像中对焦的距RGB-D相机最近和最远对象之间的距离更大。
作为另一个示例,相机150可以获得操作区域200的图像数据。本文的图像数据是指数字图像数据,例如,包括具有强度值和颜色值的像素。另外,激光雷达系统可以获得深度数据,即,相机150与相机150的视野内的对象的表面之间的距离。在这种情况下,远程服务器计算机140可以采用各种技术来融合来自激光雷达传感器和相机150的数据。传感器115融合会将来自不同来源的数据组合在一起,使得所得数据与单独使用来自每个来源的数据相比具有更低的不确定性,例如,在创建车辆105的周围环境的统一模型时。传感器115融合可以用一种或多种算法来执行,所述算法例如卡尔曼滤波器、贝叶斯网络、证据理论、卷积神经网络等。
图2是示出车辆105在示例性操作区域200中操作的图示,所述示例性操作区域包括用于车辆105的所标记的子区域205(例如,停车空间)。操作区域200是用于操作和/或存放车辆105的指定地面区域。操作区域200可以包括在例如停车场(即,包括车辆可以在其上操作和/或存放的一个或多个楼层的结构)、制造设施、服务设施、隧道等结构中。所述结构包括在操作区域200上方的顶板。顶板可以平行于或可以不平行于操作区域200。包括主相机152和附加相机154a、154b、154c的多个相机150安装到顶板。例如,子区域205可以是由常规标记(例如,地面上的涂漆线)指示的停车空间,并且车辆计算机110可采用常规的图像识别技术来识别子区域205。
一般来说,操作区域200的至少一些区域可能没有有用的基于卫星的定位信号(即,不存在基于卫星的定位信号,或者替代地存在卫星定位信号但是较弱)。弱可以定义为衰减的且小于阈值;例如,阈值可以低于车辆导航装备可用的预定值。根据示例,基于卫星的定位信号可以是来自使用全球定位系统(GPS)、全球卫星导航系统(GLONASS)等的卫星的无线信号。
可以确定相机150相对于全局坐标系的相应六自由度(6DoF)姿态,并且因此确定由相机150获取的图像生成的拼接图像700中车辆105的位置可以确定车辆105相对于全局坐标系的位置。远程服务器计算机140可以与相机150通信以确定车辆105可以在其上操作以行驶通过操作区域200(例如,到达子区域205)的车辆路径210。车辆路径210可以被传送到车辆105以允许车辆105自主地或半自主地操作通过操作区域200。
远程服务器计算机140可以包括DNN,即,允许远程服务器计算机140确定车辆105相对于操作区域200的4DoF姿态的软件程序。然后,远程服务器计算机140可以基于车辆105的4DoF姿态来确定车辆路径210。车辆路径210可以包括多个位置,所述多个位置可以被称为“面包屑”,当例如通过多项式函数连结时,所述多个位置可以用于将车辆105操作到操作区域200中的某个位置,例如子区域205。当车辆105在操作区域200中操作时,相机150可以获取关于车辆105的位置的数据以确定车辆105是否正确地沿循由远程服务器计算机140确定的车辆路径210。在车辆105偏离车辆路径210的示例中,远程服务器计算机140可以向车辆计算机110传输更新的命令以例如通过致动一个或多个车辆部件125来校正车辆105的操作。
图3是包括来自RGB-D相机150的示例性RGB图像302、示例性深度图像304和示例性二进制图像306的图示。RGB图像302、深度图像304和二进制图像306各自包括校准车辆308的相同部分。RGB图像302由RGB-D相机150的视觉部分获取。
深度图像304由距离传感器(诸如激光雷达传感器)或由RGB-D相机150的深度或距离部分获取。在本文讨论的示例中,深度图像304与RGB图像302配准。这意味着对于图像302、304中的给定像素x、y位置,RGB图像302将包括位置的颜色,并且深度图像304将包括到相同位置的距离或范围。在RGB图像302和深度图像304未被配准的示例中,可以确定RGB图像302和深度图像304之间的每个像素的位置偏移,并且所述偏移可用于配准RGB图像302和深度图像304。
二进制图像306是对深度图像304进行阈值化的结果。阈值化是其中选择阈值并且将具有大于或等于阈值的值的所有像素设置为“1”并且将具有小于阈值的值的所有像素设置为“0”的图像处理操作。对深度图像304进行阈值化以确定二进制图像306允许确定通过对深度图像304进行阈值化形成的二进制图像306与通过基于车辆的三维(3D)模型渲染深度图像而确定的二进制图像中的车辆位置之间的车辆位置的差异。本文讨论的技术可以通过将拼接的深度图像输入到第一深度神经网络(DNN)800来训练第一DNN 800(如下面关于图8所述),以确定拼接的深度图像中包括的车辆105的4DoF姿态。通过确定可以用于将3D模型从输入姿态平移和旋转到与4DoF姿态相对应的姿态的平移和旋转矩阵,可以将4DoF姿态转换成用于输入到图像渲染软件程序的格式。平移在x、y平面中移动3D模型,并且旋转在选择的3D模型中心点处围绕z轴旋转3D模型。以这种方式转换4DoF姿态保留了4DoF姿态的可微分性。当使用4DoF姿态来确定用于训练第一DNN 800的损失函数时,这很重要,如下面关于图11所讨论的。
校准车辆308包括基准标记310。基准标记310可包括多个ArU co基准标记。ArUco基准标记是来自在2019年5月15日西班牙科尔多瓦大学“Aplicaciones de la VisionArtificial”在www.uco.es/grupos/ava/node/26处描述的基准标记库的二维(2D)图案。ArUco基准标记被设计成由机器视觉软件读取,所述机器视觉软件可通过处理基准标记310的2D图像来确定基准标记310中所包括的每个ArUco基准标记的相对于坐标系的姿态。
校准车辆308可以包括计算机(未示出),所述计算机包括诸如已知的第二处理器和第二存储器。第二存储器包括一种或多种形式的计算机可读介质,并且存储可由第二计算机执行以用于执行各种操作(包括如本文所公开的)的指令。
另外,校准车辆308可以包括传感器(未示出)、用于致动各种部件(未示出)的致动器(未示出)以及通信模块(未示出)。传感器、用于致动各种部件的致动器以及通信模块通常具有与传感器115、用于致动各种车辆部件125的致动器120以及车辆通信模块130有共同之处的特征,并且因此将不再进一步描述以避免冗余。
图4是用于确定相机150的六自由度(6DoF)姿态的示例性第二深度神经网络(DNN)400的图示。远程服务器计算机140可以基于由相应相机150获取的相应校准图像402来确定远程相机阵列145中的多个相机150的相应6DoF姿态。校准图像402是包括校准车辆308的至少一部分(例如,基准标记310)的RGB图像。六自由度是指对象在三维空间中的移动自由度(例如,沿着三个垂直轴线的平移和围绕三个垂直轴线中的每一者的旋转)。相机150的6DoF姿态是指相对于坐标系的位置(例如,指定在坐标系中的位置的一组坐标,例如X、Y、Z坐标)和围绕坐标系中每个轴线的取向(例如,横摆、俯仰和侧倾)。可基于正交的x轴、y轴和z轴以及分别围绕所述x轴、y轴和z轴的侧倾旋转、俯仰旋转和横摆旋转在真实世界坐标中确定相机150的6DoF姿态。相机150的6DoF姿态相对于全局坐标系定位相机150。
当校准车辆308横穿操作区域200时,校准车辆308可以将其自身定位在操作区域200内。例如,校准车辆308可从传感器、导航系统等接收位置数据。位置数据指定地面上的一个或多个点并且可为已知形式,例如经由如所已知的使用全球定位系统(GPS)的导航系统获得的地理坐标,诸如纬度和经度坐标。在这种情况下,校准车辆308中的计算机可以确定基准标记310相对于全局坐标系的6DoF姿态。例如,可以物理地测量基准标记310相对于校准车辆308的位置。然后,可以通过将地理坐标与基准标记310的物理测量位置组合来确定基准标记310的6DoF姿态。也就是说,基准标记310的6DoF姿态相对于全局坐标系定位基准标记310。然后,校准车辆308中的计算机可以向远程服务器计算机140提供基准标记310的6DoF姿态。例如,校准车辆308中的计算机可以例如经由网络135、V2I通信等向远程服务器计算机140传输基准标记310的6DoF姿态。
当校准车辆308进入一个相机150的视野时,相机150可以捕获校准图像402。然后,相机150可以向远程服务器计算机140提供校准图像402。在接收到校准图像402时,远程服务器计算机140可以将校准图像402输入到第二DNN 400中。第二DNN 400可被训练为接受校准图像402作为输入,并且基于校准图像402中的基准标记310的取向来生成对相机150相对于基准标记310的6DoF姿态的输出。
根据一个非限制性示例,第二DNN 400可以包括卷积层404、池化层406和展平408。卷积层404可以接收图像帧并使用内核或滤波器对图像帧进行卷积,例如,从而产生多个卷积特征。此后,池化层406可以减小卷积特征的空间大小。通常(尽管不是必需的),可能存在卷积的多次迭代,之后是池化。此后,展平408可以将池化输出转换为合适的列向量以输入到神经网络,其中发生分类(例如,使用至少一个预定神经网络函数,例如,诸如SoftMax),在本示例中,分类与相机150相对于基准标记310的6DoF姿态有关。也可以采用其他方面和卷积技术。
然后,远程服务器计算机140可以基于基准标记310的6Dof姿态和相机150相对于基准标记310的6DoF姿态来确定相机150相对于全局坐标系的6DoF姿态。远程服务器计算机140可以通过基准标记310姿态数据和相机150姿态数据的级联来确定相机150相对于全局坐标系的6DoF姿态。例如,可以通过使用表示基准标记310姿态数据和相机150姿态数据的矩阵值执行矩阵乘法来计算相机150相对于全局坐标系的6DoF姿态。远程服务器计算机140可以通过这种方式继续确定相应相机150相对于全局坐标系的6DoF姿态,直到针对远程相机阵列145中的所有相机150确定了相对于全局坐标系的6DoF姿态。然后,远程服务器计算机140可以将相机150的相应6DoF姿态存储在例如远程服务器计算机140的存储器中。
图5A和图5B是示例性3D参考平面500的图示。远程服务器计算机140可以基于由主相机152获取的深度图像304来确定3D参考平面500。例如,远程服务器计算机140可以通过将多个点插入到深度图像304并将平面拟合到所述点来确定3D参考平面500。远程服务器计算机140插入所述点,使得所有插入的点都存在于公共表面上。也就是说,远程服务器计算机140可以根据深度图像304中指示距相机150的共同距离的部分来将点插入到深度图像304中。作为一个示例,公共表面可以是操作区域200的地面(参见图5A)。作为另一个示例,公共表面可以是包括在深度图像304中的车辆的表面,例如,车顶、发动机罩等。例如,可使用最小二乘算法将3D参考平面500拟合到所述点。最小二乘算法最小化了点的真实世界位置与3D参考平面500的位置之间的差异。也就是说,3D参考平面500通常对应于公共表面。
可以在真实世界坐标中描述3D参考平面500。真实世界坐标可在六个轴上描述3D参考平面500的位置和取向,即三个x、y和z位置轴以及分别围绕三个位置轴的三个侧倾、俯仰和横摆旋转。3D参考平面500可以例如完全跨操作区域200延伸。
在确定3D参考平面500后,远程服务器计算机140随机选择3D参考平面500中的多个虚拟3D点502(参见图5B)。虚拟3D点502由3D参考平面500中的一组坐标限定。远程服务器计算机140选择至少四个虚拟3D点502,使得远程服务器计算机140能够为附加相机154生成相应的单应性矩阵,如下所述。也就是说,需要至少四个虚拟3D点502来完全约束图像从一个相机150的视角到另一个相机150的视角的变换。
图6是由主相机152和附加相机154a、154b、154c(参见图2)获取的示例性相应图像602、604、606、608以及相应相机152、154的2D投影612的图示。每个图像602、604、606、608包括车辆105的一部分。一个图像602、604、606、608中包括的车辆105的部分可以与一个或多个其他图像602、604、606、608中包括的车辆的部分重叠。
相应的相机150可以获取操作区域200的多个图像。然后,相应的相机150可以向远程服务器计算机140提供相应获取图像。远程服务器计算机140可以基于与对应于相同时间的相应图像602、604、606、608相关联的时间戳,例如从自相应相机150接收的所获取图像中选择图像602、604、606、608。也就是说,图像602、604、606、608可以是时间同步的。
远程服务器计算机140基于多个选择的图像602、604、606、608和相应相机152、154的2D投影612来生成拼接图像700。在图6中示出了来自三个附加相机154a、154b、154c的图像604、606、608,但是应理解,可以使用来自任何合适数量的附加相机154的相应图像来生成拼接图像700。生成拼接图像700可以改进第一DNN 800的训练以确定包括在拼接图像700中的车辆105的4DoF姿态。多个图像602、604、606、608可以是多个RGB图像、与多个RGB图像配准的多个深度图像和/或通过对多个深度图像进行阈值化而生成的二进制图像。也就是说,本文描述的技术可以生成拼接的RGB图像、拼接的深度图像和/或拼接的二进制图像。
对于相应的相机150,远程服务器计算机140然后可以基于相机150的相应的6DoF姿态来确定与虚拟3D点502相对应的2D投影612。例如,远程服务器计算机140可以通过渲染虚拟3D点502来确定与虚拟3D点502相对应的相机150的2D投影612。渲染可以通过确定将虚拟3D点502投影到2D平面614的虚拟相机视点来从虚拟3D点502产生2D投影612。
可以通过远程服务器计算机140的编程来提供虚拟相机,以从虚拟3D点502生成2D投影612。远程服务器计算机140可生成从虚拟图像传感器行进通过虚拟透镜的虚拟光线,从而遵循物理定律,就好像图像传感器和透镜是物理对象一样。远程服务器计算机140将数据插入虚拟图像传感器中,该数据对应于虚拟3D点502的外观,由虚拟3D点502发射并行进通过物理透镜的光线将在物理图像传感器上产生该外观。通过将虚拟相机定位在相对于虚拟3D点502选择的位置和取向处,可以生成与相对于3D参考平面500选择的视点相对应的2D投影612。
虚拟相机视点包括虚拟相机的光轴的位置和取向数据以及关于虚拟相机透镜的放大倍数的数据。基于虚拟相机相对于3D参考平面500的位置和取向来确定虚拟相机视点。虚拟相机的位置被选择为相应相机150的位置,并且虚拟相机的取向被选择为相应相机150的取向。根据相应相机150的6DoF姿态来确定相应相机150的位置和取向。将虚拟3D点502投影到2D平面614上对应于确定虚拟3D点502在2D平面614中相对于在选择的位置和取向处的相机150的坐标。因为2D投影612是基于选择的位置和取向处的虚拟相机从虚拟3D点502生成的,所以关于2D投影612的位置和取向的数据是已知的。
可以在真实世界坐标中描述2D平面614。真实世界坐标可在三个轴上描述2D平面614的位置和取向,即x和y位置轴以及围绕z位置轴的横摆旋转。
在确定多个相机150的2D投影612后,远程服务器计算机140可针对一个或多个附加相机154,基于相应附加相机154的2D投影612和主相机152的2D投影612来计算相应的单应性矩阵。单应性矩阵用于将相应附加相机154的2D投影612从由相应附加相机154限定的图像平面中的坐标变换为由主相机152限定的图像平面中的坐标。换句话说,单应性矩阵提供图像中的2D投影612的坐标之间的数学关系。远程服务器计算机140基于相应附加相机154的2D投影612与主相机152的对应2D投影612之间沿三个正交轴中的每一者的平移差和围绕三个正交轴中的每一者的旋转差来确定单应性矩阵。
图7是从图6中的多个图像602、604、606、608生成的拼接图像700的图示。远程服务器计算机140基于由附加相机154a、154b、154c获取的相应图像604、606、608以及相应附加相机154a、154b、154c的对应单应性矩阵来从主相机152的视角生成拼接图像700。在从一个附加相机154a、154b、154c接收到图像604、606、608时,远程服务器计算机140使图像604、606、608变形,即,通过使用相应附加相机154a、154b、154c的单应性矩阵来将图像604、606、608的像素坐标变换为例如由主相机152的图像平面定义的主像素坐标系。然后,远程服务器计算机140可以例如采用已知的计算机视觉技术,例如通过对准相应图像602、604、606、608中的2D投影612来将由附加相机154a、154b、154c获取的图像604、606、608拼接到由主相机152获取的图像602。然后,远程服务器计算机140可以对相应图像602、604、606、608的重叠部分采用α混合。α混合是一种图像处理技术,其调整拼接图像中的重叠像素的透明度,使得用于生成拼接图像的一个图像的重叠像素至少部分地透明,并且用于生成拼接图像的另一个图像中的对应重叠像素可见。如本文所使用的,“透明”意味着一个图像的重叠像素不透过另一个图像的重叠像素显示,即,一个图像的重叠像素是不可见的。也就是说,仅另一个图像的重叠像素是可见的。如本文所使用的,“部分透明”(即,半透明)意味着一个图像的重叠像素可透过另一个图像的重叠像素显示。换句话说,两个重叠像素都可以是可见的。例如,α混合技术可以为一个图像的重叠像素指定一个部分透明级别(例如,完全可见与透明之间的254个级别),这对应于一个图像的重叠像素相对于另一个图像的重叠像素的可见程度。远程服务器计算机140可以继续以这种方式将由附加相机154a、154b、154c获取的图像604、606、608拼接到由主相机152获取的图像602,直到整个车辆105包括在拼接图像700中。
拼接图像700可以包括再投影误差E,即,与拼接图像700中介于包括在多个图像602、604、606、608中用于生成拼接图像700的对应特征(例如,线、表面、标记等)之间的图像距离(即,偏移或错位)相对应的几何误差。远程服务器计算机140可以基于再投影误差E来更新相应附加相机154的6DoF姿态。例如,远程服务器计算机140可以使用非线性优化技术(例如,Levenberg-Marquardt)来优化相应附加相机154的外部校准参数,例如旋转矩阵和平移矩阵,以减小拼接图像700中介于包括在多个图像602、604、606、608中的对应特征之间的再投影误差E。然后,远程服务器计算机140可以更新相应附加相机154的6DoF姿态以对应于优化的外部校准参数。
图8是示例性第一DNN 800的图示。第一DNN 800可以是在交通基础设施系统100中包括的远程服务器计算机140上执行的软件程序。在该示例中,第一DNN 800被示为卷积神经网络(CNN)。本文描述的技术也可适用于未被实现为CNN的DNN。被实现为CNN的第一DNN800通常输入输入图像(IN)802作为输入数据。输入图像802由卷积层804处理以形成潜在变量806(即,第一DNN 800中的神经元之间传递的变量)。卷积层804包括多个层,每个层将输入图像802与卷积核进行卷积,所述卷积核变换输入图像802并使用诸如最大池化的算法来处理变换后的输入图像802,以在变换后的输入图像802由卷积层804处理时降低其分辨率。将由卷积层804输出的潜在变量806传递到全连接层808。全连接层808包括处理节点。全连接层808使用线性和非线性函数来处理潜在变量806以确定输出预测(OUT)810。在本文讨论的示例中,输出预测810包括对象标签和对象位置。服务器计算机140可以输入拼接的深度图像。
可使用包括图像和对应的地面实况的训练数据集来训练第一DNN 800。第一DNN800的训练数据集可包括数千或数百万个图像和对应的注释或地面实况。训练数据集的每个图像可被第一DNN 800处理多次。将响应于输入图像802而从第一DNN 800输出的预测810与和输入图像802相对应的地面实况进行比较以确定损失函数。损失函数是确定从第一DNN800输出的预测810与对应于输入图像802的地面实况的紧密匹配程度的数学函数。将由损失函数确定的值输入到第一DNN 800的卷积层804和全连接层808,其中进行反向传播以确定对应于最小的损失函数的层的权重。反向传播是一种用于训练第一DNN 800(其中将损失函数输入到卷积层804和距输入最远的全连接层808并从后向前传送)并且通过选择使损失函数最小化的权重来确定每个层804、808的权重的技术。下面将关于图11讨论训练第一DNN800以确定车辆的4DoF姿态。
可以训练第一DNN 800以确定车辆的4DoF姿态。可以通过在6DoF中确定对象的位置和取向来指定对象的三维姿态,如上所述。在本文讨论的示例中,假设对象(车辆)由作为平行于x轴和y轴的平面的道路或其他表面(诸如停车场或停车处)支撑,并且因此假设侧倾和俯仰旋转为零。由平面表面支撑的车辆的4DoF姿态包括x、y、z和横摆的值,其中横摆是由x轴和y轴限定的平面中的角度。本文讨论的技术通过使用从由RGB-D相机获取的距离图像获取的4DoF数据来注释RGB图像数据来改进第一DNN 800的训练以确定车辆的4DoF姿态。
通常,可能需要大量带注释的视觉或距离图像来训练DNN以检测用于车辆引导的对象。带注释的视觉或距离图像是包括关于包括在视觉或距离图像中的对象的身份和位置的数据的图像。注释视觉或距离图像可能需要许多小时的用户输入和许多小时的计算机时间。例如,一些训练数据集包括数百万个图像,并且可能需要数百万小时的用户输入和计算机时间。本文讨论的技术通过获取配准的视觉和距离图像数据并使用距离图像数据来提供用于训练DNN的地面实况来改进DNN的训练以识别和定位对象。距离图像数据提供地面实况数据以训练DNN,而无需注释视觉或距离图像数据,从而减少产生用于训练DNN的训练数据集所需的时间和计算机资源。地面实况是指从独立于DNN的源获取的可用于确定从DNN输出的结果的正确性的数据。以这种方式注释RGB图像数据可以提供大量(大于数千个)带注释的RGB图像以用于训练DNN,而无需手动注释,从而节省计算机资源和时间。
可以将输出和转换的4DoF姿态与车辆的3D模型一起输入到图像渲染软件程序(例如,UnReal Engine,可从北卡罗来纳州卡里镇27518的Epic Games获得),以生成包括车辆在输入的4DoF姿态下的3D渲染的经渲染的深度图像。车辆的3D模型可以基于车辆的计算机辅助设计(CAD)数据(下文关于图10讨论),或者可以通过用激光雷达扫描仪扫描车辆来生成(下文关于图9讨论),以生成3D模型数据。使用旋转和平移矩阵来旋转和平移3D模型数据,并且由渲染软件渲染3D模型以生成包括与4DoF姿态相对应的图像坐标处的3D模型的渲染版本的图像。可通过对经渲染的深度图像进行阈值化来生成经渲染的二进制图像。
可以将经渲染的二进制图像与例如根据上文关于图3至图7讨论的技术生成的拼接的二进制图像进行比较,以确定用于训练第一DNN 800的损失函数。经渲染的二进制图像与拼接的二进制图像之间的比较可以通过使用L1度量、倒角距离、质心距离或这些测度的组合确定拼接的二进制图像和经渲染的二进制图像中的车辆位置的差异来确定。L1度量通过对每个图像的对应像素之间的x和y距离求和来测量两个二进制图像之间的矢量距离。这有时也被称为“出租车”距离。倒角距离通过对距离进行加权来对两个二进制图像中的对应像素之间的距离进行加权,例如,距离越大,权重就越大。质心距离找到对应于拼接的二进制图像和经渲染的二进制图像中的“1”像素的区域的中心,并测量中心之间的距离。拼接的二进制图像与经渲染的二进制图像之间的差异确定要通过第一DNN 800的层反向传播的损失函数。反向传播是一种用于将损失函数从第一DNN 800的最后层传输到第一层并基于在多次处理相同的输入数据同时改变权重的同时使损失函数最小化来为每个层选择权重的技术。
本文讨论的从经渲染的4DoF姿态和拼接图像确定损失函数的技术是可微分的。可微分意味着用于确定损失函数的函数相对于用于由第一DNN 800确定4DoF姿态的权重具有偏导数。这意味着,对于给定的损失函数,可以确定改变将减小损失函数的下一次处理迭代的权重的方向。以这种方式,在多次处理迭代中,可以确定使损失函数收敛到最小值的权重,从而训练第一DNN 800。
图9是通过例如用激光雷达扫描仪扫描真实世界车辆而生成的车辆902的3D模型900的图示。3D模型900可以被输入到图像渲染软件程序,并且根据4DoF姿态进行旋转、平移和缩放以产生车辆902的经渲染的自上而下的深度图像。可以通过对车辆902的经渲染的自上而下的深度图像进行阈值化来产生车辆902的经渲染的二进制图像。车辆902的经渲染的二进制图像可以与基于通过RGB-D相机150获取的相同类型的车辆的拼接深度图像的拼接二进制图像进行比较以形成用于训练第一DNN 800的损失函数。
图10是车辆1002的CAD绘图1000的图示。CAD绘图1000是基于对应于车辆1002的CAD数据的渲染。对应于车辆1002的CAD数据包括构成车辆1002的表面的位置、取向和纹理。可以将CAD数据输入到渲染软件程序以产生经渲染的自上而下的深度图像。可通过对经渲染的自上而下的深度图像进行阈值化来生成经渲染的二进制图像。经渲染的二进制图像可以与基于通过RGB-D相机150获取的相同类型的车辆的拼接的深度图像的拼接的二进制图像进行比较以形成用于训练第一DNN 800的损失函数。
图11是用于训练DNN 1106以基于拼接的深度图像1102输入来确定4DoF姿态的自监督训练系统1100的图示。自监督训练系统1100是在包括在交通基础设施系统100中的远程服务器计算机140上执行的软件程序。自监督训练系统1100输入由深度生成传感器(例如,RGB-D相机150)获取的拼接的深度图像(DI)1102。首先将拼接的深度图像1102输入到大小调整程序(RS)1104,所述程序将高分辨率的拼接的深度图像1102(例如,1K×1K像素(1000像素乘1000像素))减小到较低分辨率(例如256×256像素)。较低分辨率的拼接的深度图像被输入到DNN(DNN)1106,在本文中也称为SiriusNet 1106。DNN或SiriusNet 1106与3D模型渲染器(3D)1110一起包括在SiriusRenderNet 1108中。DNN或SiriusNet 1106输入低分辨率的拼接的深度图像并输出估计的4DoF姿态(POSE)1112作为估计的4DoF姿态1112与车辆的3D模型一起输入到3D模型渲染器1110,所述车辆可以是与由RGB-D相机150成像以形成拼接的深度图像1102的相同品牌和型号的车辆。3D模型渲染器1110以与原始输入的拼接的深度图像1102相同的高分辨率生成经渲染的深度图像1114。
3D模型渲染器1110将经渲染的深度图像输出到第一轮廓程序(SIL1)1116,所述第一轮廓程序对经渲染的深度图像进行阈值化以形成第一二进制图像1118。将输入的拼接的深度图像1102传递到第二轮廓程序(SIL2),所述第二轮廓程序对拼接的深度图像1102进行阈值化以形成拼接的二进制图像1122。将两个二进制图像1118、1122输入到轮廓误差程序(SERR)1124以测量两个二进制图像1118、1122之间的距离以根据以下等式生成二进制轮廓误差:
误差轮廓=fdmap_距离(轮廓经渲染,轮廓深度) (I)
其中fdmap_距离是基于L1距离、倒角距离和质心距离中的一者或多者,如上面关于图8所讨论的。轮廓误差被传递到损失函数(LOSS)1126,所述损失函数生成要返回到DNN或SiriusNet 1106的损失值,其中进行反向传播以通过使损失值最小化来确定权重。
图12是根据存储在远程服务器计算机140的存储器中的程序指令在远程服务器计算机中执行的示例性过程1200的图示,所述程序指令用于根据由多个相机150获取的相应图像602、604、606、608和附加相机154的相应单应性矩阵来生成拼接图像700。过程1200包括可按所示次序执行的多个框。替代地或另外,过程1200可以包括更少的框,或者可以包括以不同次序执行的框。
过程1200在框1205中开始。在框1205中,远程服务器计算机140确定多个相机150的相应6DoF姿态。如上面所讨论的,相机150被布置在远程相机阵列145中以获取操作区域200的图像。所述多个相机150包括主相机152和一个或多个附加相机154。远程服务器计算机140可以基于基准标记310的6DoF姿态和相应相机150相对于基准标记310的6DoF姿态来确定相机150的相应6DoF姿态,如上面关于图4所讨论的。过程1200在框1210中继续。
在框1210中,远程服务器计算机140从多个相机150接收相应的图像602、604、606、608。所述图像602、604、606、608包括车辆105的至少一部分。如上所述,图像可以是RGB图像、与RGB图像配准的深度图像和/或通过对深度图像进行阈值化而生成的二进制图像。所述过程1200在框1215中继续。
在框1215中,远程服务器计算机140基于由主相机152获取的深度图像来确定3D参考平面500,如上面关于图5A所述。如上所述,3D参考平面500可以由地面或车辆105的表面(例如,发动机罩、车顶等)中的一者限定。然后,远程服务器计算机140随机选择3D参考平面500中的多个虚拟3D点502,如上面关于图5B所述。过程1200在框1220中继续。
在框1220中,远程服务器计算机140确定相应附加相机154的虚拟3D点502的2D投影612。也就是说,远程服务器计算机140基于相应附加相机154的6DoF姿态在2D平面614中渲染选择的虚拟3D点502,如上面关于图7所述。过程1200在框1225中继续。
在框1225中,远程服务器计算机140计算附加相机154的相应单应性矩阵。如上所述,单应性矩阵指定一个图像中的像素坐标与另一个图像中的像素坐标之间的数学关系。也就是说,单应性矩阵可以用于将像素坐标从由一个相机150定义的像素坐标系变换为由另一个相机150定义的像素坐标系。远程服务器计算机140计算相应的单应性矩阵以将相应附加相机154的2D投影612变换为主相机152的2D投影612,如上面关于图7所述。过程1200在框1230中继续。
在框1230中,远程服务器计算机140基于附加相机154的相应单应性矩阵来使由附加相机154获取的相应(例如,RGB、深度和/或二进制)图像604、606、608变形。也就是说,远程服务器计算机140将相应图像604、606、608的像素坐标变换为由主相机152获取的图像602的像素坐标,即由主相机152定义的像素坐标系,如上面关于图8所述。过程1200在框1235中继续。
在框1235中,远程服务器计算机140通过将相应的变形图像604、606、608中的2D投影612与由主相机152获取的图像602中的2D投影对准来生成拼接的(例如,RGB、深度和/或二进制)图像700,如上面关于图8所述。另外,远程服务器计算机140可以通过应用优化附加相机154的外部校准参数以减小拼接图像700中的再投影误差E的优化技术来更新附加相机154的相应6DoF姿态,如上所讨论。在框1235之后,过程1200结束。
图13是根据存储在远程服务器计算机140的存储器中的用于基于拼接的深度图像1102训练第一DNN 800的程序指令在远程服务器计算机中执行的示例性过程1300的图示。过程1300包括可按所示次序执行的多个框。替代地或另外,过程1300可以包括更少的框,或者可以包括以不同次序执行的框。
过程1300在框1305中开始。在框1305中,远程服务器计算机将拼接的深度图像1102(例如,根据过程1200生成)输入到DNN或SiriusNet 1106以确定拼接的深度图像1102中包括的对象的4DoF姿态,如上面关于图11所述。例如,所述对象可以是车辆105。过程1300在框1310中继续。
在框1310中,远程服务器计算机140通过将对象的4DoF姿态与对象的3D模型一起输入到3D渲染程序中以确定对象的经渲染的深度图像来确定第一轮廓图像。例如,3D模型可以是关于在框1305中输入到DNN 1106的拼接深度图像1102中包括的特定品牌和型号的车辆的CAD数据。可以通过基于用户确定的阈值对经渲染的深度图像进行阈值化来确定第一轮廓图像,如关于图11所述。过程1300在框1315中继续。
在框1315中,远程服务器计算机140基于用户确定的阈值来对拼接的深度图像1102进行阈值化,以确定为第二轮廓图像,如上面关于图11所述。过程1300在框1320中继续。
在框1320中,远程服务器计算机140将第一轮廓图像与第二轮廓图像进行比较以确定损失函数,如上面关于图11所述。过程1300在框1325中继续。
在框1325中,远程服务器计算机140基于损失函数来训练DNN 1106。损失函数可以通过DNN 1106层进行反向传播,以基于多次处理输入的拼接的深度图像并确定每个处理迭代的损失函数来确定产生最小损失函数的权重。因为用于确定损失函数的步骤是可微分的,所以关于权重确定的偏导数可以指示在哪个方向上改变将减小损失函数并由此允许训练函数收敛的后续处理迭代的权重,从而优化DNN 1106。过程1300在框1330中继续。
在框1330中,远程服务器计算机140向车辆105中的车辆计算机110提供车辆路径210。远程服务器计算机140可以将拼接的深度图像1102输入到经训练的DNN 1106,并且经训练的DNN 1106可以输出在操作区域200中操作的车辆105的4DoF姿态1112。远程服务器计算机140可以处理4DoF姿态1112以确定包括在车辆路径210中的多个位置,在本文中被称为“面包屑”。也就是说,远程服务器计算机140可以基于车辆105的输出的4DoF姿态1112来确定车辆路径210。例如,可以通过确定通过“面包屑”迭代的多项式函数来基于“面包屑”确定车辆路径210。远程服务器计算机140可以例如经由V2I通信、网络135等将车辆路径210传输到车辆计算机110。车辆计算机110可以使用车辆路径210来通过控制车辆部件125中的一者或多者以使车辆105沿车辆路径210行驶来操作车辆105。在框1330之后,过程1300结束。
如本文所使用,副词“基本上”意指形状、结构、测量结果、数量、时间等因为材料、机加工、制造、数据传输、计算速度等的缺陷而可能偏离精确描述的几何形状、距离、测量结果、数量、时间等。
一般来讲,所描述的计算系统和/或装置可采用多种计算机操作系统中的任一种,包括但决不限于以下版本和/或种类:Ford应用;AppLink/Smart Device Link中间件;Microsoft/>操作系统;Microsoft/>操作系统;Unix操作系统(例如,由加利福尼亚州红杉海岸的Oracle公司发布的/>操作系统);由纽约州阿蒙克市的International Business Machines公司发布的AIX UNIX操作系统;Linux操作系统;由加利福尼亚州库比蒂诺市的苹果公司发布的Mac OSX和iOS操作系统;由加拿大滑铁卢的黑莓有限公司发布的黑莓操作系统;以及由谷歌公司和开放手机联盟开发的安卓操作系统;或由QNX软件系统公司提供的/>CAR信息娱乐平台。计算装置的示例包括但不限于机载第一计算机、计算机工作站、服务器、台式计算机、笔记本计算机、膝上型计算机或手持式计算机,或某一其他计算系统和/或装置。
计算机和计算装置通常包括计算机可执行指令,其中所述指令可能能够由一个或多个计算装置(诸如以上所列出的那些)执行。可从使用多种编程语言和/或技术创建的计算机程序编译或解译计算机可执行指令,所述编程语言和/或技术单独地或者组合地包括但不限于JavaTM、C、C++、Matlab、Simulink、Stateflow、Visual Basic、Java Script、Perl、HTML等。这些应用程序中的一些可在诸如Java虚拟机、Dalvik虚拟机等虚拟机上编译和执行。通常,处理器(例如,微处理器)接收例如来自存储器、计算机可读介质等的指令,并执行这些指令,从而执行一个或多个过程,包括本文所述过程中的一者或多者。此类指令和其他数据可使用各种计算机可读介质来存储和传输。计算装置中的文件通常是存储在计算机可读介质(诸如存储介质、随机存取存储器等)上的数据集合。
存储器可包括计算机可读介质(也称为处理器可读介质),所述计算机可读介质包括参与提供可由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。此类介质可采用许多形式,包括但不限于非易失性介质和易失性介质。非易失性介质可包括例如光盘或磁盘以及其他持久性存储器。易失性介质可包括例如通常构成主存储器的动态随机存取存储器(DRAM)。此类指令可由一种或多种传输介质传输,所述一种或多种传输介质包括同轴电缆、铜线和光纤,包括构成耦接到ECU的处理器的系统总线的电线。常见形式的计算机可读介质包括例如RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
数据库、数据储存库或本文描述的其他数据存储区可包括用于存储、访问和检索各种数据的各种机构,包括分层数据库、文件系统中的文件集、呈专用格式的应用程序数据库、关系数据库管理系统(RDBMS)等。每个此类数据存储区通常包括在采用计算机操作系统(诸如上文所提及的那些操作系统中的一者)的计算装置内,并且经由网络以多种方式中的任一种或多种方式来访问。文件系统可以从计算机操作系统访问,并且可以包括以各种格式存储的文件。除了用于创建、存储、编辑和执行已存储的程序的语言(例如上述PL/SQL语言)之外,RDBMS还通常采用结构化查询语言(SQL)。
在一些示例中,系统元件可以实现为一个或多个计算装置(例如,服务器、个人计算机等)上的计算机可读指令(例如,软件),所述计算机可读指令存储在与其相关联的计算机可读介质(例如,磁盘、存储器等)上。计算机程序产品可包括存储在计算机可读介质上的用于实施本文描述的功能的此类指令。
关于本文描述的介质、过程、系统、方法、启发等,应理解,虽然此类过程等的步骤已经被描述为按照某一有序的顺序发生,但是可以通过以与本文所述顺序不同的顺序执行所述步骤来实践此类过程。还应理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文描述的某些步骤。换句话说,本文对过程的描述出于说明某些实施例的目的而提供,并且决不应被解释为限制权利要求。
因此,应理解,以上描述意图为说明性的而非限制性的。在阅读了以上描述之后,除了所提供的示例之外的许多实施例和应用对于本领域技术人员而言将是明显的。不应参考以上描述来确定本发明的范围,而应参考所附权利要求连同这些权利要求赋予的等效物的全部范围来确定。设想并预期未来的发展将在本文讨论的技术中发生,并且所公开的系统和方法将并入到此类未来实施例中。总之,应理解,本发明能够进行修改和变化,并且仅受所附权利要求的限制。
除非本文作出相反的明确指示,否则权利要求中使用的所有术语意在给出如本领域技术人员所理解的普通和通常的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
根据本发明,提供了一种系统,所述系统具有计算机,所述计算机包括处理器和存储器,所述存储器存储指令,所述指令可由所述处理器执行以进行以下操作:随机选择分布在包括多个相机的相机阵列的3D参考平面上的多个虚拟三维(3D)点,所述多个相机包括主相机和一个或多个附加相机;基于所述相机的相应姿态来确定所述多个相机的所述多个虚拟3D点的相应二维(2D)投影;针对相应的一个或多个附加相机,基于所述相应相机的所述2D投影和所述主相机的所述2D投影来确定相应的单应性矩阵,其中所述相应的单应性矩阵将相应相机的2D投影映射到主相机的2D投影;以及基于由所述多个相机捕获的相应图像和所述相应的单应性矩阵来生成拼接图像。
根据一个实施例,所述指令还包括用于将所述拼接图像输入到神经网络中的指令,所述神经网络输出包括在所述拼接图像中的对象的姿态。
根据一个实施例,基于正交的x轴、y轴和z轴以及围绕z轴的横摆旋转在真实世界坐标系的坐标中确定对象的姿态。
根据一个实施例,所述对象为车辆,并且其中所述指令还包括用于基于所确定的姿态来生成所述车辆的路径的指令。
根据一个实施例,所述指令还包括用于沿着所生成的路径操作车辆的指令。
根据一个实施例,所述指令还包括用于进行以下操作的指令:基于将所述对象的所述姿态和所述对象的3D模型输入到轮廓渲染程序来确定所述对象的第一2D轮廓;基于所述拼接图像来确定所述对象的第二2D轮廓;以及基于所述第一2D轮廓和所述第二2D轮廓之间的差异来训练所述神经网络。
根据一个实施例,所述指令还包括用于基于由相应相机捕获并且包括基准标记的校准图像来确定所述多个相机的相应姿态的指令。
根据一个实施例,基于正交的x轴、y轴和z轴以及分别围绕所述x轴、y轴和z轴的侧倾旋转、俯仰旋转和横摆旋转在真实世界坐标系的坐标中确定所述相应相机的所述姿态。
根据一个实施例,所述指令还包括用于基于所述拼接图像中的再投影误差来确定相应相机的更新的姿态的指令。
根据一个实施例,3D参考平面由地面或对象的表面中的一者限定。
根据一个实施例,所述图像是时间同步的。
根据一个实施例,所述多个相机是红-绿-蓝-深度(RGB-D)相机。
根据本发明,一种方法包括:随机选择分布在包括多个相机的相机阵列的3D参考平面上的多个虚拟三维(3D)点,所述多个相机包括主相机和一个或多个附加相机;基于所述相机的相应姿态来确定所述多个相机的所述多个虚拟3D点的相应二维(2D)投影;针对相应的一个或多个附加相机,基于所述相应相机的所述2D投影和所述主相机的所述2D投影来确定相应的单应性矩阵,其中所述相应的单应性矩阵将相应相机的2D投影映射到主相机的2D投影;以及基于由所述多个相机捕获的相应图像和所述相应的单应性矩阵来生成拼接图像。
在本发明的一个方面,所述方法包括将所述拼接图像输入到神经网络中,所述神经网络输出包括在所述拼接图像中的对象的姿态。
在本发明的一个方面,基于正交的x轴、y轴和z轴以及围绕z轴的横摆旋转在真实世界坐标系的坐标中确定对象的姿态。
在本发明的一个方面,所述对象为车辆,并且还包括:基于所确定的姿态生成所述车辆的路径;以及沿所生成的路径操作所述车辆。
在本发明的一个方面,所述方法包括:基于将所述对象的所述姿态和所述对象的3D模型输入到轮廓渲染程序来确定所述对象的第一2D轮廓;基于所述拼接图像来确定所述对象的第二2D轮廓;以及基于所述第一2D轮廓和所述第二2D轮廓之间的差异来训练所述神经网络。
在本发明的一个方面,所述方法包括基于由相应相机捕获并且包括基准标记的校准图像来确定所述多个相机的相应姿态。
在本发明的一个方面,基于正交的x轴、y轴和z轴以及分别围绕所述x轴、y轴和z轴的侧倾旋转、俯仰旋转和横摆旋转在真实世界坐标系的坐标中确定所述相应相机的所述姿态。
在本发明的一个方面,所述方法包括基于所述拼接图像中的再投影误差来确定相应相机的更新的姿态。
Claims (15)
1.一种方法,所述方法包括计算机,所述计算机包括处理器和存储器,所述存储器存储指令,所述指令能够由所述处理器执行以进行以下操作:
随机选择分布在包括多个相机的相机阵列的参考3D平面上的多个虚拟三维(3D)点,所述多个相机包括主相机和一个或多个附加相机;
基于所述相机的相应姿态来确定所述多个相机的所述多个虚拟3D点的相应二维(2D)投影;
针对相应的一个或多个附加相机,基于所述相应相机的所述2D投影和所述主相机的所述2D投影来确定相应的单应性矩阵,其中所述相应的单应性矩阵涉及所述2D投影在由所述相应相机限定的图像平面和由所述主相机限定的图像平面之间的变换;以及
基于由所述多个相机捕获的相应图像和所述相应的单应性矩阵来生成拼接图像。
2.如权利要求1所述的方法,其还包括将所述拼接图像输入到神经网络中,所述神经网络输出包括在所述拼接图像中的对象的姿态。
3.如权利要求2所述的方法,其中基于正交的x轴、y轴和z轴以及围绕所述z轴的横摆旋转在真实世界坐标法的坐标中确定所述对象的所述姿态。
4.如权利要求2所述的方法,其中所述对象为车辆,并且所述方法还包括基于所确定的姿态来生成所述车辆的路径。
5.如权利要求4所述的方法,其还包括沿所生成的路径操作所述车辆。
6.如权利要求2所述的方法,其还包括:
基于将所述对象的所述姿态和所述对象的3D模型输入到轮廓渲染程序来确定所述对象的第一2D轮廓;
基于所述拼接图像来确定所述对象的第二2D轮廓;以及
基于所述第一2D轮廓和所述第二2D轮廓之间的差异来训练所述神经网络。
7.如权利要求1所述的方法,其还包括基于由所述相应相机捕获并包括校准图案的校准图像来确定所述多个相机的相应姿态。
8.如权利要求1所述的方法,其中基于正交的x轴、y轴和z轴以及分别围绕所述x轴、y轴和z轴的侧倾旋转、俯仰旋转和横摆旋转在所述真实世界坐标法的坐标中确定所述相应相机的所述姿态。
9.如权利要求1所述的方法,其还包括将所述拼接图像输入到神经网络中,所述神经网络基于所述拼接图像中的再投影误差来输出相应相机的更新的姿态。
10.如权利要求1所述的方法,其中所述参考3D平面由地面或对象的表面中的一者限定。
11.如权利要求1所述的方法,其中所述图像是时间同步的。
12.如权利要求1所述的方法,其中所述多个相机是红-绿-蓝-深度(RGBD)相机。
13.一种计算机,所述计算机被编程为执行如权利要求1至12中任一项所述的方法。
14.一种计算机程序产品,所述计算机程序产品包括用于执行如权利要求1至12中任一项所述的方法的指令。
15.一种车辆,所述车辆包括计算机,所述计算机被编程为执行如权利要求1至12中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/485,746 US20230097584A1 (en) | 2021-09-27 | 2021-09-27 | Object pose estimation |
US17/485,746 | 2021-09-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115880357A true CN115880357A (zh) | 2023-03-31 |
Family
ID=85477343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211119303.6A Pending CN115880357A (zh) | 2021-09-27 | 2022-09-14 | 对象姿态估计 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230097584A1 (zh) |
CN (1) | CN115880357A (zh) |
DE (1) | DE102022123680A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116524217A (zh) * | 2023-07-03 | 2023-08-01 | 北京七维视觉传媒科技有限公司 | 人体姿态图像匹配方法、装置、电子设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116193274B (zh) * | 2023-04-27 | 2023-07-07 | 北京博瑞翔伦科技发展有限公司 | 一种多摄像头安全控制方法和系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729471A (en) * | 1995-03-31 | 1998-03-17 | The Regents Of The University Of California | Machine dynamic selection of one video camera/image of a scene from multiple video cameras/images of the scene in accordance with a particular perspective on the scene, an object in the scene, or an event in the scene |
KR100943719B1 (ko) * | 2008-11-04 | 2010-02-23 | 광주과학기술원 | 다시점 영상의 기하학적 보정 시스템 및 방법 |
US10055667B2 (en) * | 2016-08-03 | 2018-08-21 | X Development Llc | Generating a model for an object encountered by a robot |
JP2023505677A (ja) * | 2019-12-10 | 2023-02-10 | アグネティックス,インコーポレイテッド | 照射器およびカメラおよび/またはセンサーを使用した、制御された環境園芸のためのマルチ知覚撮像方法および装置 |
US11758101B2 (en) * | 2020-08-25 | 2023-09-12 | Samsung Electronics Co., Ltd. | Restoration of the FOV of images for stereoscopic rendering |
CN112040265B (zh) * | 2020-09-09 | 2022-08-09 | 河南省科学院地理研究所 | 一种多摄像机协同的地理视频直播流生成方法 |
CN112288827B (zh) * | 2020-11-22 | 2022-09-02 | 吉林大学 | 基于线光场的汽车检测无公共视场相机全局标定方法与系统 |
-
2021
- 2021-09-27 US US17/485,746 patent/US20230097584A1/en active Pending
-
2022
- 2022-09-14 CN CN202211119303.6A patent/CN115880357A/zh active Pending
- 2022-09-15 DE DE102022123680.3A patent/DE102022123680A1/de active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116524217A (zh) * | 2023-07-03 | 2023-08-01 | 北京七维视觉传媒科技有限公司 | 人体姿态图像匹配方法、装置、电子设备及存储介质 |
CN116524217B (zh) * | 2023-07-03 | 2023-08-25 | 北京七维视觉传媒科技有限公司 | 人体姿态图像匹配方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
DE102022123680A1 (de) | 2023-03-30 |
US20230097584A1 (en) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115880357A (zh) | 对象姿态估计 | |
US11670088B2 (en) | Vehicle neural network localization | |
US11887323B2 (en) | Self-supervised estimation of observed vehicle pose | |
CN113496510A (zh) | 使用神经网络进行逼真的图像透视变换 | |
CN112172778A (zh) | 车辆姿势确定 | |
CN112633465A (zh) | 车辆神经网络训练 | |
CN111107484A (zh) | 运输基础设施通信和控制 | |
US11710254B2 (en) | Neural network object detection | |
CN113298250A (zh) | 用于定位和对象检测的神经网络 | |
US11975738B2 (en) | Image annotation for deep neural networks | |
Mallik et al. | Real-time Detection and Avoidance of Obstacles in the Path of Autonomous Vehicles Using Monocular RGB Camera | |
CN112462383A (zh) | 定位移动对象 | |
US11827203B2 (en) | Multi-degree-of-freedom pose for vehicle navigation | |
CN114648639A (zh) | 一种目标车辆的检测方法、系统及装置 | |
CN114074666A (zh) | 传感器融合 | |
US20230145701A1 (en) | Neural network object pose determination | |
US11823465B2 (en) | Neural network object identification | |
US20230267640A1 (en) | Pose estimation | |
CN114648576B (zh) | 一种目标车辆的定位方法、装置以及系统 | |
CN115640832A (zh) | 对象姿态估计 | |
US12008787B2 (en) | Object pose estimation | |
US11158066B2 (en) | Bearing only SLAM with cameras as landmarks | |
US20230136871A1 (en) | Camera calibration | |
US20240054673A1 (en) | Vehicle pose management | |
CN115704695A (zh) | 车辆导航 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |