CN116630929A - 姿态估计 - Google Patents
姿态估计 Download PDFInfo
- Publication number
- CN116630929A CN116630929A CN202310131397.7A CN202310131397A CN116630929A CN 116630929 A CN116630929 A CN 116630929A CN 202310131397 A CN202310131397 A CN 202310131397A CN 116630929 A CN116630929 A CN 116630929A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- image
- dimensional
- bounding box
- fisheye
- 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
- 238000013528 artificial neural network Methods 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 72
- 230000008569 process Effects 0.000 description 31
- 238000013527 convolutional neural network Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 15
- 238000012549 training Methods 0.000 description 11
- 238000004088 simulation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 241000251468 Actinopterygii Species 0.000 description 3
- 238000012884 algebraic function Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/54—Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/04—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/18—Conjoint control of vehicle sub-units of different type or different function including control of braking systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/20—Conjoint control of vehicle sub-units of different type or different function including control of steering systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/402—Type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30236—Traffic on road, railway or crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/08—Detecting or categorising vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Computation (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
Abstract
本公开提供“姿态估计”。包括对象的轮廓的二维图像段可以在自上而下的鱼眼图像中确定。可以基于确定三维边界框来确定对象的六自由度(DoF)姿态,所述三维边界框通过以下各者中的一者或多者确定:(1)在自上而下的鱼眼图像中包括的地平面中的二维图像段的轴线和对象的三维模型;以及(2)将二维图像段输入到深度神经网络,所述深度神经网络被训练以确定对象的三维边界框。
Description
技术领域
本公开涉及车辆中的感测系统。
背景技术
图像可以由传感器获取并使用计算机进行处理以确定关于系统周围环境中的对象的数据。感测系统的操作可以包括获取关于系统环境中的对象的准确且及时的数据。计算机可以从一个或多个图像传感器获取图像,所述图像可以被处理以确定对象的位置。计算机可以使用从图像中提取的对象位置数据来操作系统,包括车辆、机器人、安全和对象跟踪系统。
发明内容
感测系统可以获取关于系统周围的环境的数据(例如图像数据),并且处理所述数据以确定对象的身份和/或位置。例如,可以训练并然后使用深度神经网络(DNN)来确定由系统中的传感器获取的图像数据中的对象,所述系统包括车辆引导系统、机器人操作系统、安全系统、制造系统和产品跟踪系统。车辆引导可以包括车辆在包括多个对象的环境中在自主或半自主模式下操作。机器人引导可以包括引导机器人末端执行器(例如夹持器)来拾取零件并对零件进行取向以在包括多个零件的环境中进行组装。安全系统包括其中计算机从观察安全区域的相机获取视频数据以向授权用户提供访问权限并检测包括多个用户的环境中的未经授权进入的特征。在制造系统中,DNN可以确定包括多个零件的环境中的一个或多个零件的位置和取向。在产品跟踪系统中,深度神经网络可以确定包括多个包裹的环境中的一个或多个包裹的位置和取向。
车辆引导在本文中将被描述为使用计算机来检测交通场景中的对象(例如,车辆和行人)并且基于检测到的对象来确定操作车辆的车辆路径的非限制性示例。交通场景是交通基础设施系统或车辆周围的环境,其可以包括道路的一部分以及包括车辆和行人等的对象。例如,车辆或交通基础设施系统中的计算装置可以被编程为从包括在车辆或交通基础设施系统中的一个或多个传感器获取一个或多个图像,检测图像中的对象,并传送标识对象的标签连同对象的位置。
传感器可以包括获取对应于可见或红外波长的光的图像的视频或静态图像相机。传感器可以包括在车辆中或者可以是固定的,并且可以安装在杆、建筑物或其他结构上,以给予传感器包括交通场景中的对象的交通场景的视野。传感器还可以包括通常发射红外波长的光的激光雷达传感器、发射无线电波的雷达传感器以及发射声波的超声波传感器。激光雷达传感器、雷达传感器和超声波传感器都测量到环境中的点的距离。在一些示例中,包括在车辆中的传感器可以获取交通场景的一个或多个图像并处理所述图像以确定所述图像中包括的对象的位置。对象的位置可以允许车辆中的计算装置确定在其上操作车辆的车辆路径。包括在交通基础设施系统中的固定传感器可以提供关于交通场景中的对象的数据以增强由包括在车辆中的传感器获取的数据。在本文讨论的示例中,包括在交通基础设施系统中的鱼眼相机可以获取关于包括在交通场景中的对象的数据并将所述数据传送到车辆。
有利地,本文描述的技术可以提高交通基础设施系统中的计算装置确定使用包括鱼眼镜头的相机获取的车辆周围环境中的对象的六自由度(DoF)姿态的能力。鱼眼镜头是一种极广角镜头,其提供全景或半球形视野,同时引入导致直线看起来弯曲的凸形失真。鱼眼镜头的优点是它允许单个相机查看整个场景。鱼眼镜头的缺点是由于凸形失真,可能需要额外的处理来从用鱼眼镜头获取的图像数据中提取定量数据。本文中的鱼眼相机意指包括鱼眼镜头的相机。
本文公开了一种方法,所述方法包括:在自上而下的鱼眼图像中确定包括对象的轮廓的二维图像段;以及基于确定三维边界框来确定对象的六自由度(DoF)姿态,所述三维边界框通过以下各者中的一者或多者确定:(1)在自上而下的鱼眼图像中包括的地平面中的二维图像段的轴线和对象的三维模型;以及(2)将二维图像段输入到深度神经网络,所述深度神经网络被训练以确定对象的三维边界框。可以将六DoF姿态传输到包括在车辆中的第二计算机。第二计算机可以基于对象的六DoF姿态来确定车辆路径。可以通过控制车辆动力传动系统、车辆转向和车辆制动器中的一者或多者来在车辆路径上操作车辆。所述对象可以是第二车辆。
可以通过包括在交通基础设施系统中的包括鱼眼镜头的相机获取自上而下的鱼眼图像。二维图像段可以由深度神经网络确定。可以通过确定车辆多边形来确定二维图像段的轴线。地平面可以基于包括在自上而下的鱼眼图像中的道路。可以基于二维图像段的大小和形状来确定对象的三维模型。可以基于将对象的三维模型投影到道路平面上来确定三维边界框。道路平面可以由平面方程ax+by+cz=d定义,并且与道路的表面重合。车辆多边形可以是矩形。可以基于投射对着车辆多边形的前边缘和后边缘的两条射线来确定三维边界框。
还公开了一种计算机可读介质,所述计算机可读介质存储用于执行上述方法步骤中的一些或全部的程序指令。还公开了一种计算机,所述计算机被编程用于执行上述方法步骤中的一些或全部,所述计算机包括计算机设备,所述计算机设备被编程为:在自上而下的鱼眼图像中确定包括对象的轮廓的二维图像段并且基于确定三维边界框来确定对象的六自由度(DoF)姿态,所述三维边界框通过以下各者中的一者或多者确定:(1)在自上而下的鱼眼图像中包括的地平面中的二维图像段的轴线和对象的三维模型;以及(2)将二维图像段输入到深度神经网络,所述深度神经网络被训练以确定对象的三维边界框。可以将六DoF姿态传输到包括在车辆中的第二计算机。第二计算机可以基于对象的六DoF姿态来确定车辆路径。可以通过控制车辆动力传动系统、车辆转向和车辆制动器中的一者或多者来在车辆路径上操作车辆。所述对象可以是第二车辆。
指令可以包括用于进行以下操作的另外的指令:通过包括在交通基础设施系统中的包括鱼眼镜头的相机获取自上而下的鱼眼图像。二维图像段可以由深度神经网络确定。可以通过确定车辆多边形来确定二维图像段的轴线。地平面可以基于包括在自上而下的鱼眼图像中的道路。可以基于二维图像段的大小和形状来确定对象的三维模型。可以基于将对象的三维模型投影到道路平面上来确定三维边界框。道路平面可以由平面方程ax+by+cz=d定义,并且与道路的表面重合。车辆多边形可以是矩形。可以基于投射对着车辆多边形的前边缘和后边缘的两条射线来确定三维边界框。
附图说明
图1是示例性交通基础设施系统的框图。
图2是包括鱼眼相机的交通场景的示例性图像的图示。
图3是用鱼眼相机获取的交通场景的示例性图像的图示。
图4是交通场景的示例性分割图像的图示。
图5是示例性三维边界框构造的图示。
图6是示例性三维模型匹配的图示。
图7是示例性卷积神经网络的图示。
图8是用于确定鱼眼图像中的对象的六自由度姿态的示例性过程的流程图。
图9是基于六自由度对象姿态来操作车辆的示例性过程的流程图。
具体实施方式
图1是可以包括交通基础设施系统105的感测系统100的图示,所述交通基础设施系统包括服务器计算机120和固定传感器122。感测系统100包括车辆110,所述车辆可在自主(“自主”本身在本公开中意指“完全自主”)模式、半自主模式和乘员驾驶(也被称为非自主)模式下操作。一个或多个车辆110的计算装置115可从传感器116接收关于车辆110的操作的数据。计算装置115可以自主模式、半自主模式或非自主模式操作车辆110。
计算装置115包括诸如已知的处理器和存储器。此外,存储器包括一种或多种形式的计算机可读介质并且存储指令,所述指令可由处理器执行来执行包括如本文所公开的各种操作。例如,计算装置115可以包括编程以操作车辆制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆110的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,以及确定计算装置115(而不是人类操作员)是否以及何时控制此类操作。
计算装置115可以包括多于一个计算装置(例如,包括在车辆110中以用于监测和/或控制各种车辆部件的控制器等(例如,动力传动系统控制器112、制动控制器113、转向控制器114等)),或例如经由如下面进一步描述的车辆通信总线通信地联接到所述多于一个计算装置。计算装置115通常被布置用于通过车辆通信网络(例如,包括车辆110中的总线,诸如控制器局域网络(CAN)等)通信;车辆110网络可另外或替代地包括诸如已知的有线或无线通信机制,例如以太网或其他通信协议。
计算装置115可经由车辆网络向车辆中的各种装置(例如,控制器、致动器、传感器(包括传感器116)等)传输消息和/或从所述各种装置接收消息。替代地或另外,在计算装置115实际上包括多个装置的情况下,可使用车辆通信网络来在本公开中表示为计算装置115的装置之间通信。另外,如下文所提及,各种控制器或感测元件(诸如传感器116)可经由车辆通信网络向计算装置115提供数据。
另外,计算装置115可被配置用于通过车辆对基础设施(V2I)接口111经由网络130与远程服务器计算机120(诸如云服务器)通信,如下所描述的,所述接口包括硬件、固件和软件,所述硬件、固件和软件准许计算装置115经由诸如无线互联网或蜂窝网络的网络130与远程服务器计算机120通信。因此,V2I接口111可以包括被配置为利用各种有线和/或无线联网技术(例如,蜂窝、/>以及有线和/或无线分组网络)的处理器、存储器、收发器等。计算装置115可以被配置为用于使用例如在附近车辆110间在移动自组网的基础上形成或通过基于基础设施的网络形成的车辆对车辆(V2V)网络(例如,根据专用短距离通信(DSRC)和/或类似的通信)通过V2I接口111与其他车辆110通信。计算装置115还包括诸如已知的非易失性存储器。计算装置115可以通过将数据存储在非易失性存储器中来记录数据,以便以后检索并经由车辆通信网络和车辆对基础设施(V2I)接口111传输到服务器计算机120或用户移动装置160。
如已经提及的,通常包括在存储在存储器中并可由计算装置115的处理器执行的指令中的是用于在没有人类操作员干预的情况下操作一个或多个车辆110部件(例如,制动、转向、推进等)的编程。使用在计算装置115中接收的数据(例如,来自传感器116的传感器数据、服务器计算机120等的数据),计算装置115可在没有驾驶员的情况下进行各种确定和/或控制各种车辆110部件和/或操作以操作车辆110。例如,计算装置115可包括编程以调节车辆110操作行为(即,车辆110操作的物理表现),诸如速度、加速度、减速度、转向等,以及策略性行为(即,通常以意图实现路线的有效穿越的方式控制操作行为),诸如车辆之间的距离和/或车辆之间的时间量、车道改变、车辆之间的最小间隙、左转跨过路径最小值、到特定位置处的到达时间以及从到达到穿过十字路口的十字路口(无信号灯)最短时间。
如本文所使用的术语控制器包括通常被编程来监测和/或控制特定车辆子系统的计算装置。示例包括动力传动系统控制器112、制动控制器113和转向控制器114。控制器可为诸如已知的电子控制单元(ECU),可能包括如本文所描述的附加的编程。控制器可通信地连接到计算装置115并且从所述计算装置接收指令以根据指令来致动子系统。例如,制动控制器113可从计算装置115接收指令以操作车辆110的制动器。
用于车辆110的一个或多个控制器112、113、114可以包括已知的电子控制单元(ECU)等,作为非限制性示例,包括一个或多个动力传动系统控制器112、一个或多个制动控制器113和一个或多个转向控制器114。控制器112、113、114中的每一者可包括相应的处理器和存储器以及一个或多个致动器。控制器112、113、114可被编程并且连接到车辆110通信总线,诸如控制器局域网(CAN)总线或局域互连网(LIN)总线,以从计算装置115接收指令并且基于指令而控制致动器。
传感器116可以包括已知的多种装置,以经由车辆通信总线提供数据。例如,固定到车辆110的前保险杠(未示出)的雷达可提供从车辆110到车辆110前方的下一车辆的距离,或者设置在车辆110中的全球定位系统(GPS)传感器可提供车辆110的地理坐标。例如,由雷达和/或其他传感器116提供的距离和/或由GPS传感器提供的地理坐标可由计算装置115用来自主或半自主地操作车辆110。
车辆110通常是能够自主和/或半自主操作并且具有三个或更多个车轮的基于地面的车辆110(例如,客车、轻型货车等)。车辆110包括一个或多个传感器116、V2I接口111、计算装置115和一个或多个控制器112、113、114。传感器116可以收集与车辆110和车辆110的操作环境相关的数据。以举例的方式但非限制,传感器116可以包括例如测高仪、摄像机、激光雷达(LIDAR)、雷达、超声传感器、红外传感器、压力传感器、加速度计、陀螺仪、温度传感器、压力传感器、霍尔传感器、光学传感器、电压传感器、电流传感器、机械传感器(诸如开关)等。传感器116可以用来感测车辆110的操作环境,例如,传感器116可以检测诸如天气条件(降雨、外界温度等)的现象、道路坡度、道路位置(例如,使用道路边缘、车道标记等)或目标对象(诸如邻近车辆110)的位置。传感器116还可以用于收集数据,包括与车辆110的操作相关的动态车辆110数据,诸如速度、横摆率、转向角度、发动机转速、制动压力、油压、施加到车辆110中的控制器112、113、114的功率电平、在部件之间的连接性以及车辆110的部件的准确且及时的性能。
车辆可被配备成以自主模式和乘员驾驶模式两者操作。半自主模式或完全自主模式意指车辆可由作为具有传感器和控制器的系统的一部分的计算装置部分地或完全地驾驶的操作模式。车辆可能被占用或未被占用,但是在任一种情况下,都可在没有乘员协助的情况下部分地或完全地驾驶车辆。出于本公开的目的,自主模式被定义为车辆推进(例如,经由包括内燃发动机和/或电动马达的动力传动系统)、制动和转向中的每一者由一个或多个车辆计算机控制的模式;在半自主模式中,车辆计算机控制车辆推进、制动和转向中的一者或多者。在非自主模式下,这些都不由计算机控制。
图2是交通场景202的图像200的图示。交通场景202包括道路204和车辆206。交通场景202还包括鱼眼相机208,所述鱼眼相机可以是包括在交通基础设施系统105中的固定传感器122。鱼眼相机208可以安装在相机支架210上,所述相机支架可以包括交通信号杆、灯杆、专用杆或支架、建筑物、或现有结构(诸如桥梁、立交桥或标志杆)。例如,鱼眼相机208可以是摄像机并且获取多个RGB彩色图像帧。由鱼眼相机208获取的图像或从由鱼眼相机208获取的图像中提取的数据可以由包括在交通基础设施系统105中的服务器计算机120传送到车辆110中的计算装置115。
图3是由鱼眼相机208获取的交通场景302的鱼眼图像300的图示。鱼眼图像300包括道路308、其上安装有鱼眼相机208的安装杆以及车辆304。鱼眼图像300提供了鱼眼相机208下方的交通场景302的全景视图,然而,鱼眼图像300中包括的凸形失真可能导致在真实世界中是笔直的线条在鱼眼图像300中看起来是弯曲的,例如道路308的边缘。
用鱼眼相机208获取图像可以在数学上被描述为首先将世界坐标(即,真实世界交通场景中包括的全局坐标)投影到相机坐标(即,相对于相机传感器平面测量的坐标)中:
在方程1中,XW、YW、ZW是真实世界坐标中的点的三轴坐标,XC、YC、ZC是相机坐标中的点的三轴坐标,cRW是3×3旋转矩阵,其使三维空间中的点旋转,并且ctW是1×3矩阵,其使三维空间中的点平移。用鱼眼镜头对三维空间中的点进行成像可以被建模为通过以下方程将点投影到单位球面上:
在方程2中,Xs、Ys、Zs是投影到单位球面上的点的三轴坐标。然后将单位球面上的点投影到归一化平面上以通过以下方程产生归一化坐标xud、yud:
与鱼眼镜头失真相关的失真参数k1、k2、p1、p2可以通过确定鱼眼镜头的固有校准来估计。除了由于球面镜头引起的失真之外,固有校准还包括确定发生的鱼眼镜头失真的参数。将鱼眼镜头失真参数应用于归一化坐标以将未失真坐标xud、yud变换为失真坐标xd、yd:
广义相机投影矩阵使用焦距fx,fy(以x和y表示)、光学中心cx、cy(以x和y表示)以及偏斜s将失真的归一化鱼眼坐标转换为相机坐标
将方程(1)至(5)应用于真实世界坐标XW、YW、ZW可以产生相机坐标p,即,将方程(1)至(5)应用于真实世界交通场景202可以产生鱼眼图像300。这由以下方程概括:
其中F(p)是鱼眼图像,Π是包括方程(1)至(5)的变换,并且是三维真实世界坐标中的一组数据点。
图4是通过将鱼眼图像300输入到图像分割软件而划分为多个段的分割的鱼眼图像400的图示。图像分割软件的示例是Mask-RCNN。截至本申请的提交日期,Mask-RCNN是基于神经网络的分割算法,可在网站viso.ai上获得。图像分割确定图像中在包括具有类似强度或颜色的像素的边缘内的区域。可以通过处理图像以确定通常指示对象边界的像素强度或颜色值的大变化来确定图像中的边缘。可以用整数值标记每个段的像素,所述整数值可以用于将段与图像的其余部分分开。一旦在诸如分割的鱼眼图像400的图像中确定了段,就可以通过位置、大小和形状来识别段。分割的鱼眼图像400包括被识别为道路段402和车辆段404的段。例如,车辆段404可以由于其在道路段402上的大小、形状和位置而被识别。
图5是示出用于确定包括在鱼眼图像300中的对象(诸如车辆502)的全局坐标中的三维(3D)边界框的几何方法的图示。图像段包括车辆502,所述车辆的轮廓或边缘形成或用于限定本文中称为多边形的形状。多边形可以是例如矩形,其中多边形具有两条相对的长边和两条相对的短边。可以使用关于鱼眼相机508固有参数、全局坐标514中的道路平面516的几何形状和车辆模型518的数据来变换限定车辆502多边形的主轴的线。车辆模型518是车辆的外表面的数学表示。例如,车辆模型518可以是基于3D计算机辅助设计(CAD)绘图的多边形网格。将图像平面坐标506变换为全局坐标514的变换是基于以上通过反转方程(1)至(5)中的矩阵运算来使方程(1)至(5)反向。对着车辆502多边形的前边缘和后边缘的两条射线512(虚线)通过鱼眼相机508镜头投射以与道路平面516相交。道路平面516可以由平面方程(即,ax+by+cz=d)限定。选择参数a、b、c和d以使道路平面516与道路204的表面重合。例如,通过在安装鱼眼相机508时用勘测设备测量道路204,可以在全局坐标中相对于鱼眼相机508的位置确定道路平面516。
因为车辆502多边形通常具有比另外两条边长的两条边,所以可以构建对着车辆502多边形的椭圆,并且可以确定椭圆的长轴与多边形的交点以定位射线512的起始端。可以基于射线512与道路平面516的相交来限定线520,所述线对准车辆模型518的轴线,所述轴线相对于全局坐标514限定横摆角。可以基于车辆模型518的大小和道路平面516来构建3D边界框522,使得3D边界框522的中心与车辆模型518的中心重合。
以这种方式确定3D边界框提供了3D边界框522的中心的位置、3D边界框522的横摆角以及3D边界框522的大小,所有这些都在全局坐标514中。在全局坐标514中指定的关于3D边界框522的位置、横摆角和大小的数据可以从交通基础设施系统105中的服务器计算机120传送到车辆110中的计算装置115并由计算装置115使用来操作车辆110。在道路平面516上确定的横摆角可以偏离180度,即,可以假设车辆模型518指向错误方向。
因为将在一系列时间步长内在多个图像中确定车辆模型518的位置、横摆角和大小,所以可以跟踪车辆模型518的位置并且可以使用车辆模型518的跟踪运动来确定车辆模型518的正确取向。以六自由度(DoF)确定3D边界框522。六DoF分别包括正交x、y和z轴上的三个位置坐标以及绕x、y和z轴的侧倾、俯仰和横摆中的三个旋转坐标。假设3D边界框522的侧倾和俯仰为零,因为假设鱼眼相机510周围的道路平面516是平坦的。如果道路平面516的原始测量结果确定道路相对于鱼眼相机510倾斜,则可以将道路平面516的所确定的侧倾和俯仰添加到3D边界框522的六DoF姿态。
图6是用于改进车辆六DoF姿态的确定的3D车辆模型602匹配的图示。例如,3D车辆模型602可以是基于如上所讨论的3D CAD绘图的车辆的外表面的数学表示。3D边界框522的尺寸可以使用投影到道路平面516上的车辆502多边形的尺寸来初始化,并且使用车辆502的2D图像来更新。然而,如果3D车辆模型602可用,则3D车辆模型602可以用于确定3D边界框522的尺寸。另外,可以将3D车辆模型602投影到鱼眼相机508的图像平面坐标506上,以进一步优化车辆502相对于相机的姿态。
可以使用有符号距离函数(SDF)来将3D车辆模型602进行参数化。SDF是通过将对象边界内的像素进行参数化来表示图像数据中的对象的函数。像素通过赋予它们等于它们到对象边界的最小距离的值来进行参数化。远离边界的像素的值增加,直到到达对象的中心。边界内的像素被赋予正值,而边界外的像素被赋予负值。使用上面在方程(1)至(5)中讨论的鱼眼相机510固有投影函数来将SDF 3D车辆模型602投影到鱼眼相机510的图像平面坐标506上。将3D车辆模型602的SDF版本投影到鱼眼相机510的图像平面坐标506上产生模型掩模图像606。单独地,使用Mask-RCNN分割算法来将车辆608转换为分割的多边形图像,如上面所讨论的,从而产生车辆掩模图像610。通过应用交并比(IoU)算子来确定模型掩模图像606与车辆掩模图像610之间的差异,而确定残差图像612。IoU运算将模型掩模图像606与车辆掩模图像610之间的交集中的像素数量除以模型掩模图像606与车辆掩模图像610之间的并集中的像素数量。残差图像612可以用于通过在每次迭代改变3D车辆模型602的姿态的同时迭代生成模型掩模图像606的过程直到残差图像612最大化,来优化3D车辆模型602姿态与车辆608之间的匹配。可以将3D车辆模型602和车辆608输入到像Ceres的标准非线性最小二乘优化器,所述标准非线性最小二乘优化器迭代Levenberg-Marquardt/Gauss-Newton算法以确定最大残差图像612。
图7是卷积神经网络(CNN)700的框图。CNN 700可以用于确定鱼眼图像300中的车辆502多边形的3D边界框522。当车辆502多边形不接触遮蔽或改变车辆502的轮廓的另一个对象时,如上面关于图6所讨论的几何方法给出了良好的结果。CNN 700可以被训练来确定3D边界框522,尽管改变或模糊了车辆502的轮廓。使用几何方法和CNN 700两者的技术可以通过在各种输入条件下用车辆502处理输入图像来产生改进的结果,所述输入条件包括车辆502被部分遮挡或轮廓被相邻车辆改变的示例。
CNN 700输入图像702并输出一个或多个预测710,所述一个或多个预测包括输入图像702中所包括的车辆502的3D边界框522。CNN 700可以包括卷积层704,所述卷积层使用多个卷积核对输入图像702进行卷积并将潜在变量706输出到全连接层708。全连接层708用多个线性和/或非线性代数函数处理潜在变量706,以确定与包括在输入图像702中的移动对象322相对应的一个或多个预测710。
使用训练数据集来训练CNN 700,所述训练数据集包括多个输入图像702和与输入图像702相对应的用户确定的地面实况。地面实况包括关于训练数据集中所包括的车辆502的真实世界3D边界框522的数据。可以使用逼真的图像渲染软件来生成训练数据,以在交通场景中生成车辆的模拟图像,所述模拟图像逼真地模拟鱼眼相机208周围的环境中的交通场景302。示例性逼真渲染软件为由北卡罗来纳州卡里镇(邮编27518)的Epic Games公司生产的虚幻引擎(UnrealEngine)。模拟软件生成鱼眼图像300,所述鱼眼图像模拟真实世界鱼眼相机208的图像获取。因为已经确定了真实世界鱼眼相机208的六DoF姿态和鱼眼相机208的参数,所以模拟软件可以使用方程(1)至(5)来基于模拟图像生成鱼眼图像300,所述模拟图像看起来好像它们是从真实世界交通场景中获取的那样。因为逼真渲染软件使用车辆502的3D位置和3D模型作为输入,所以要由CNN 700输出的关于3D边界框522的地面实况可容易地用于所有模拟图像。
在训练期间,可以随机地或伪随机地选择与卷积核和代数函数相对应的参数,并且处理输入图像702以确定一个或多个3D边界框预测710。可以将3D边界框预测710与对应于输入图像702的地面实况进行比较,并且可以确定损失函数。损失函数被输入到卷积层704和全连接层708,以选择产生3D边界框预测710与地面实况之间的最佳对应关系的卷积核和代数函数的参数,从而训练CNN 700。
使用车辆段404掩模来训练和操作CNN 700的优点是它独立于模拟的保真度。模拟的保真度是模拟图像与由真实世界场景的真实世界相机获取的图像匹配的程度。匹配是指比较模拟图像和真实世界图像中的像素值。使用模拟数据来训练CNN 700可能是困难的,因为虽然视觉外观模拟图像随着时间的推移变得越来越逼真,但模拟图像通常仍然无法与人眼看到的真实世界图像完全或不可察觉地匹配。模拟图像通常与真实图像数据略有不同。这意指在模拟图像上训练的CNN 700并不总是在真实世界图像上产生预期的结果。这被称为模拟数据与真实世界数据之间的域间隙问题。使用来自模拟数据的车辆段404掩模并使用车辆段404掩模来训练CNN 700避免了域间隙问题,因为来自真实世界数据和模拟数据的车辆段404掩模是相同的。一旦CNN 700被训练为使用来自模拟数据的车辆段404掩模生成3D边界框522,CNN 700就可以基于从真实世界数据生成的车辆段404掩模来生成3D边界框522,而没有域间隙问题。
生成包括地面实况的训练数据集可能是训练CNN 700的问题。在真实世界交通场景中获取车辆的准确3D边界框数据可能需要获取激光雷达数据并使用计算资源来处理激光雷达数据。对所获取的鱼眼图像进行注释可以包括采用昂贵的计算机资源来获取和处理数据。使用模拟数据解决了获取和注释大型数据集的需要。使用模拟数据来生成训练数据集通过消除对获取和注释训练数据集的人力和计算机资源的需要来改进CNN 700的训练。
如关于图5所讨论的几何方法和如关于图7所讨论的基于CNN700的方法在基于鱼眼图像300确定3D边界框522方面具有优点和缺点。当在鱼眼图像300中可见车辆304的不同轮廓时,几何方法在使用计算机资源从鱼眼图像300确定3D边界框522方面非常准确且非常有效。CNN 700可能需要更多的计算机资源来操作。然而,即使在鱼眼图像300中可见不完整或部分遮挡的车辆304轮廓,CNN 700也可以确定准确的3D边界框522。有利地,本文描述的技术使用几何方法和CNN 700方法两者来确定3D边界框522,从而解决上述缺点,同时获得上述优点。例如,可以将来自分割的鱼眼图像400的车辆段404输入到图像处理软件,以确定车辆段404是否具有将允许几何方法确定准确的3D边界框522的大小和形状参数。当车辆段404的大小和形状参数在用户确定的可接受范围之外时,可以使用CNN700来确定3D边界框522。以这种方式,当确定鱼眼图像300中的车辆304的3D边界框522的全局坐标时,本文描述的技术可以最小化计算机资源的使用,同时保证准确的结果。
可以根据分割的图像确定大小和形状参数的图像处理软件的示例是来自上面讨论的OpenCV库的“contourArea”和“moments”例程。contourArea例程测量分割的图像部分内的像素数。moments例程确定分割的图像部分周围的最小封闭矩形或椭圆的参数。从contourArea和moments例程返回的参数可以用于确定是应使用几何方法还是CNN 700方法来处理分割的鱼眼图像400的车辆段404部分。
图8是关于图1至7描述的用于确定包括在鱼眼图像300中的车辆304的3D边界框522的过程800的流程图。过程800可以由计算装置115或服务器计算机120的处理器来实施,所述处理器将来自传感器116、122的图像数据作为输入,执行命令,并且输出包括在鱼眼图像300中的车辆304的3D边界框522。过程800包括可以按所示次序执行的多个框。替代地或另外,过程800可以包括更少的框,或者可以包括以不同次序执行的框。
过程800开始于框802,其中服务器计算机120获取包括车辆304的鱼眼图像300。鱼眼图像由如上关于图4所述的图像处理软件处理以确定车辆段404。
在框804处,服务器计算机120处理车辆段404以确定是应使用几何方法还是CNN700方法来确定3D边界框522的六DoF姿态,所述3D边界框是通过用如上关于图7讨论的图像处理软件处理车辆段404来基于车辆段404确定的。当从图像处理软件输出的参数在与几何方法一致的值范围内时,过程800转到框806。当从图像处理软件输出的参数在与几何方法一致的范围之外时,过程800转到框808。
在框806处,服务器计算机120基于车辆段404使用如上面关于图5和图6所讨论的几何方法来确定3D边界框522的六DoF姿态。
在框808处,服务器计算机120基于车辆段404使用如上面关于图7所讨论的CNN700方法来确定3D边界框522的六DoF姿态。
在框810处,服务器计算机120基于车辆段404将3D边界框522的六DoF姿态输出到车辆110中的计算装置115。在框810之后,过程800结束。
图9是关于图1至图8所描述的用于基于基于车辆段404的3D边界框522的六DoF姿态而操作车辆110的过程的流程图的图示。过程900可以由计算装置115的处理器来实施,所述处理器将来自服务器计算机120和传感器116的数据作为输入,执行命令,并且操作车辆110。过程900包括可以按所示次序执行的多个框。替代地或另外,过程900可以包括更少的框,或者可以包括以不同次序执行的框。
过程900开始于框902,其中车辆110中的计算装置115基于包括在鱼眼图像300中的车辆段404来下载3D边界框522的六DoF姿态,所述鱼眼图像通过包括在例如交通基础设施系统105中的鱼眼相机208获取。
在框904处,计算装置115基于3D边界框522的六DoF姿态来确定车辆路径。车辆路径是多项式函数,其包括当车辆沿着车辆路径行进时要施加到车辆运动的最大和最小横向加速度和纵向加速度。因为3D边界框522被供应给计算装置115,所以计算装置115不必确定关于车辆110周围的环境中的车辆304的位置和大小数据,从而减少操作车辆110所需的计算资源。
在框906处,计算装置115向控制器112、113、114输出命令以控制车辆动力传动系统、车辆转向和车辆制动器以控制车辆运动以沿着在框904处确定的车辆路径操作车辆110。在框906之后,过程900结束。
诸如本文讨论的那些的计算装置通常各自包括命令,所述命令可由诸如上文所识别的那些的一个或多个计算装置执行并且用于实施上文描述的过程的框或步骤。例如,上文论述的过程框可体现为计算机可执行命令。
计算机可执行命令可由使用各种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术包括但不限于以下的单一形式或组合形式:JavaTM、C、C++、Python、Julia、SCALA、Visual Basic、Java Script、Perl、HTML等。通常,处理器(例如,微处理器)接收例如来自存储器、计算机可读介质等的命令,并且执行这些命令,从而执行包括本文所描述的过程中的一者或多者的一个或多个过程。此类命令和其他数据可存储在文件中并且使用多种计算机可读介质来传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
计算机可读介质(也称为处理器可读介质)包括参与提供可由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。此类介质可采用许多形式,包括但不限于非易失性介质和易失性介质。指令可通过一种或多种传输介质来传输,所述一种或多种传输介质包括光纤、线、无线通信,包括构成耦合到计算机的处理器的系统总线的内部件。常见形式的计算机可读介质包括例如RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
除非本文作出相反的明确指示,否则权利要求中使用的所有术语意在给出如本领域技术人员所理解的普通和通常的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
术语“示例性”在本文中以表示示例的意义使用,例如,对“示例性小部件”的引用应被解读为仅指代小部件的示例。
修饰值或结果的副词“大约”意味着形状、结构、测量值、值、确定、计算等可能因材料、机加工、制造、传感器测量、计算、处理时间、通信时间等的缺陷而与确切描述的几何结构、距离、测量值、值、确定、计算等有偏差。
在附图中,相同的附图标记指示相同的元素。另外,可改变这些元素中的一些或全部。相对于本文描述的介质、过程、系统、方法等,应理解,尽管此类过程等的步骤或框已被描述为根据特定的有序顺序发生,但是此类过程可通过以本文描述的次序以外的次序执行所描述的步骤来实践。还应理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文描述的某些步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供的,并且决不应解释为限制所要求保护的发明。
根据本发明,提供了一种系统,所述系统具有第一计算机,所述第一计算机包括:处理器;以及存储器,所述存储器包括可由处理器执行以进行以下操作的指令:在自上而下的鱼眼图像中确定包括对象的轮廓的二维图像段;以及基于确定三维边界框来确定对象的六自由度(DoF)姿态,所述三维边界框通过以下各者中的一者或多者确定:(1)在自上而下的鱼眼图像中包括的地平面中的二维图像段的轴线和对象的三维模型;以及(2)将二维图像段输入到深度神经网络,所述深度神经网络被训练以确定对象的三维边界框。
根据实施例,指令包括用于进行以下操作的另外的指令:将六DoF姿态输出到包括在车辆中的第二计算机。
根据实施例,第二计算机中的指令包括用于进行以下操作的指令:基于对象的六DoF姿态来确定车辆路径。
根据实施例,第二计算机中的指令包括用于进行以下操作的指令:通过控制车辆动力传动系统、车辆转向和车辆制动器中的一者或多者来在车辆路径上操作车辆。
根据实施例,所述对象是第二车辆。
根据实施例,通过包括在交通基础设施系统中的包括鱼眼镜头的相机获取自上而下的鱼眼图像。
根据实施例,二维图像段由深度神经网络确定。
根据实施例,二维图像段的轴线由车辆多边形确定。
根据实施例,地平面是基于包括在自上而下的鱼眼图像中的道路。
根据实施例,基于二维图像段的大小和形状来确定对象的三维模型。
根据实施例,基于将对象的三维模型投影到道路平面上来确定三维边界框。
根据本发明,一种方法包括:在自上而下的鱼眼图像中确定包括对象的轮廓的二维图像段;以及基于确定三维边界框来确定对象的六自由度(DoF)姿态,所述三维边界框通过以下各者中的一者或多者确定:(1)在自上而下的鱼眼图像中包括的地平面中的二维图像段的轴线和对象的三维模型;以及(2)将二维图像段输入到深度神经网络,所述深度神经网络被训练以确定对象的三维边界框。
在本发明的一个方面,所述方法包括将六DoF姿态传输到包括在车辆中的第二计算机。
在本发明的一个方面,第二计算机基于对象的六DoF姿态来确定车辆路径。
在本发明的一个方面,第二计算机通过控制车辆动力传动系统、车辆转向和车辆制动器中的一者或多者来在车辆路径上操作车辆。
在本发明的一个方面,所述对象是第二车辆。
在本发明的一个方面,通过包括在交通基础设施系统中的包括鱼眼镜头的相机获取自上而下的鱼眼图像。
在本发明的一个方面,二维图像段由深度神经网络确定。
在本发明的一个方面,通过确定车辆多边形来确定二维图像段的轴线。
在本发明的一个方面,地平面是基于包括在自上而下的鱼眼图像中的道路。
Claims (15)
1.一种方法,其包括:
在自上而下的鱼眼图像中确定包括对象的轮廓的二维图像段;以及
基于确定三维边界框来确定所述对象的六自由度(DoF)姿态,所述三维边界框通过以下各者中的一者或多者确定:(1)在所述自上而下的鱼眼图像中包括的地平面中的所述二维图像段的轴线和所述对象的三维模型;以及(2)将所述二维图像段输入到深度神经网络,所述深度神经网络被训练以确定所述对象的所述三维边界框。
2.如权利要求1所述的方法,其还包括将所述六DoF姿态传输到包括在车辆中的第二计算机。
3.如权利要求2所述的方法,其中所述第二计算机基于所述对象的所述六DoF姿态来确定车辆路径。
4.如权利要求3所述的方法,其中所述第二计算机通过控制车辆动力传动系统、车辆转向和车辆制动器中的一者或多者来在所述车辆路径上操作所述车辆。
5.如权利要求4所述的方法,其中所述对象是第二车辆。
6.如权利要求1所述的方法,其中所述自上而下的鱼眼图像通过包括在交通基础设施系统中的包括鱼眼镜头的相机来获取。
7.如权利要求1所述的方法,其中所述二维图像段由深度神经网络确定。
8.如权利要求1所述的方法,其中通过确定车辆多边形来确定所述二维图像段的所述轴线。
9.如权利要求1所述的方法,其中所述地平面是基于包括在所述自上而下的鱼眼图像中的道路。
10.如权利要求1所述的方法,其中基于所述二维图像段的大小和形状来确定所述对象的所述三维模型。
11.如权利要求1所述的方法,其中基于将所述对象的所述三维模型投影到道路平面上来确定所述三维边界框。
12.如权利要求11所述的方法,其中所述道路平面由平面方程ax+by+cz=d定义,并且与道路的表面重合。
13.如权利要求8所述的方法,其中所述车辆多边形是矩形。
14.如权利要求13所述的方法,其中基于投射对着所述车辆多边形的前边缘和后边缘的两条射线来确定所述三维边界框。
15.一种系统,其包括被编程为执行权利要求1至14中任一项所述的方法的计算机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/676,432 US20230267640A1 (en) | 2022-02-21 | 2022-02-21 | Pose estimation |
US17/676,432 | 2022-02-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116630929A true CN116630929A (zh) | 2023-08-22 |
Family
ID=87518885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310131397.7A Pending CN116630929A (zh) | 2022-02-21 | 2023-02-17 | 姿态估计 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230267640A1 (zh) |
CN (1) | CN116630929A (zh) |
DE (1) | DE102023104063A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10078789B2 (en) * | 2015-07-17 | 2018-09-18 | Magna Electronics Inc. | Vehicle parking assist system with vision-based parking space detection |
US11262759B2 (en) * | 2019-10-16 | 2022-03-01 | Huawei Technologies Co., Ltd. | Method and system for localization of an autonomous vehicle in real time |
US20220277472A1 (en) * | 2021-02-19 | 2022-09-01 | Nvidia Corporation | Single-stage category-level object pose estimation |
US12043278B2 (en) * | 2021-07-23 | 2024-07-23 | Rivian Ip Holdings, Llc | Systems and methods for determining drivable space |
-
2022
- 2022-02-21 US US17/676,432 patent/US20230267640A1/en active Pending
-
2023
- 2023-02-17 DE DE102023104063.4A patent/DE102023104063A1/de active Pending
- 2023-02-17 CN CN202310131397.7A patent/CN116630929A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102023104063A1 (de) | 2023-08-24 |
US20230267640A1 (en) | 2023-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11312372B2 (en) | Vehicle path prediction | |
US10949684B2 (en) | Vehicle image verification | |
US11042758B2 (en) | Vehicle image generation | |
CN111209790A (zh) | 使用相邻车辆的姿态观察进行路面表征 | |
CN112912920A (zh) | 用于2d卷积神经网络的点云数据转换方法和系统 | |
US20200020117A1 (en) | Pose estimation | |
CN111986128A (zh) | 偏心图像融合 | |
US11299169B2 (en) | Vehicle neural network training | |
US11138452B2 (en) | Vehicle neural network training | |
US20210323555A1 (en) | Vehicle data augmentation | |
US11975738B2 (en) | Image annotation for deep neural networks | |
CN112172778A (zh) | 车辆姿势确定 | |
US11189049B1 (en) | Vehicle neural network perception and localization | |
US11562571B2 (en) | Vehicle neural network | |
US20230237783A1 (en) | Sensor fusion | |
CN115457074A (zh) | 用于对象检测和跟踪的神经网络 | |
CN114114239A (zh) | 组对象跟踪 | |
CN116091611A (zh) | 相机定位 | |
CN116580374A (zh) | 车辆定位 | |
CN115640832A (zh) | 对象姿态估计 | |
US11887317B2 (en) | Object trajectory forecasting | |
CN115937306A (zh) | 神经网络对象姿态确定 | |
US20230267640A1 (en) | Pose estimation | |
US12100189B2 (en) | Three-dimensional object detection | |
US20230186587A1 (en) | Three-dimensional object detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |