CN111862226A - 用于车辆中的摄像机校准和图像预处理的硬件设计 - Google Patents
用于车辆中的摄像机校准和图像预处理的硬件设计 Download PDFInfo
- Publication number
- CN111862226A CN111862226A CN201911266987.0A CN201911266987A CN111862226A CN 111862226 A CN111862226 A CN 111862226A CN 201911266987 A CN201911266987 A CN 201911266987A CN 111862226 A CN111862226 A CN 111862226A
- Authority
- CN
- China
- Prior art keywords
- processing
- image
- preprocessing
- images
- hardware
- 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.)
- Granted
Links
- 238000007781 pre-processing Methods 0.000 title claims abstract description 119
- 238000013461 design Methods 0.000 title abstract description 5
- 230000006870 function Effects 0.000 claims abstract description 52
- 230000008447 perception Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 59
- 238000000034 method Methods 0.000 claims description 36
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000003702 image correction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 21
- 230000015654 memory Effects 0.000 description 15
- 238000012546 transfer Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 238000012937 correction Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- 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/0248—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 in combination with a laser
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- 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/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- 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
-
- 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
- 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
-
- 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/255—Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- Optics & Photonics (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Traffic Control Systems (AREA)
Abstract
公开了用于摄像机校准和图像预处理的灵活硬件设计,用于包括自动驾驶(AD)车辆的车辆。例如,传感器单元包括传感器接口、主机接口和预处理硬件。传感器接口联接到多个摄像机,多个摄像机被配置成捕捉自动驾驶车辆(ADV)周围的图像。主机接口联接到感知与规划系统。预处理硬件联接到传感器接口,以接收来自多个摄像机的图像,并对图像执行一个或多个预处理功能,并经由主机接口将预处理的图像发送到感知与规划系统。感知与规划系统被配置成基于预处理的图像来感知ADV周围的驾驶环境,并规划路径以控制ADV导航通过驾驶环境。预处理功能可针对多个摄像机的不同校准和格式进行调整。
Description
技术领域
本发明的实施方式总体涉及数据和图像处理。更具体地,本发明的实施方式涉及用于包括自动驾驶车辆的车辆的摄像机校准和图像预处理的灵活硬件设计。
背景技术
诸如自动驾驶(AD)车辆的车辆是一种能够感测其环境并在很少或没有驾驶员输入的情况下移动的车辆。AD车辆可以使用任意数量的传感器(例如,摄像机)感测其环境,以识别AD车辆周围的物体、障碍物和适当的驾驶路径。AD车辆可以具有多个摄像机,并且每个摄像机都可以用不同的像素大小和分辨率进行不同的校准,能够产生每秒30帧或更多帧的图像,这些图像被发送到AD车辆中的计算机。由于摄像机的校准和格式不同,因此AD计算机中的一个或多个处理器需要将来自摄像机的每个图像转换为适当的格式和大小,并在图像可以被处理用于AD驾驶之前对每个图像执行必要的校正。
由AD计算机中的处理器进行的这种处理消耗了大量的处理功率和计算资源,特别是当摄像机和每秒生成的图像的数量大且具有不同的数据类型、格式和大小时。也就是说,AD车辆计算机中的处理器需要具有足够的计算能力来处理每秒从摄像机接收到的图像,否则图像中的细节或者可能丢失,或者落下的图像可能对AD驾驶有害或具有破坏性,特别是在快速驾驶速度下,其中图像中的细节对驾驶AD 车辆是关键的。
发明内容
在本公开的一方面,提供了种传感器单元,包括:
传感器接口,联接至多个摄像机,所述多个摄像机配置成捕捉自动驾驶车辆(ADV)周围的图像;
主机接口,联接至感知与规划系统;以及
预处理硬件,联接至所述传感器接口,以从所述多个摄像机接收图像,对所述图像执行一个或多个预处理功能,并经由所述主机接口将预处理的图像发送到所述感知与规划系统,其中,所述感知与规划系统配置成基于所述预处理的图像来感知所述ADV周围的驾驶环境,并规划路径以控制所述ADV导航通过所述驾驶环境。
在本公开的另一方面,提供了一种用于自动驾驶的对图像进行预处理的计算机实施的方法,所述方法包括:
经由传感器接口在传感器单元处从自动驾驶车辆(ADV)周围的多个摄像机接收多个图像;
经由预处理硬件对所述图像执行一个或多个预处理功能;以及
经由主机接口将预处理的图像发送到感知与规划系统,其中,所述感知与规划系统配置成至少基于所述预处理的图像来感知所述 ADV周围的驾驶环境,并规划路径以控制所述ADV导航通过所述驾驶环境。
在本公开的又一方面,提供了一种自动驾驶系统,包括:
多个传感器,所述传感器包括一个或多个摄像机,以捕捉自动驾驶车辆(ADV)周围的图像;
感知与规划系统;以及
传感器单元,其中,所述传感器单元包括:
传感器接口,联接至所述传感器;
主机接口,联接至所述感知与规划系统;以及
预处理硬件,联接至所述传感器接口,以从所述摄像机接收图像,对所述图像执行一个或多个预处理功能,并经由所述主机接口将预处理的图像发送到所述感知与规划系统,
其中,所述感知与规划系统配置成至少基于所述预处理的图像来感知所述ADV周围的驾驶环境,并规划路径以控制所述ADV导航通过所述驾驶环境。
附图说明
附图示出了示例和实施方式,因此是示例性的,不应认为是对范围的限制。
图1示出了根据一个实施方式的具有预处理硬件的示例性车辆数据处理系统。
图2示出了根据一个实施方式的预处理硬件的框图。
图3A-3D示出了了示例性的预处理图像操作。
图4示出了根据一个实施方式的用于处理多个通道的图像数据的预处理硬件。
图5示出了根据一个实施方式的通过预处理硬件的操作的流程图。
图6示出了根据一个实施方式的自动驾驶车辆的示例。
图7示出了根据一个实施方式的自动驾驶车辆的传感器系统的示例。
图8示出了根据另一实施方式的自动驾驶车辆的示例。
图9A和9B示出了根据某些实施方式的传感器单元的示例。
具体实施方式
以下详细描述提供了用于包括自动驾驶(AD)车辆在内的车辆中的摄像机校准和图像预处理的灵活硬件设计的实施方式和示例。例如,传感器单元包括传感器接口、主机接口和预处理硬件。传感器接口联接到多个摄像机,多个摄像机被配置成捕捉自动驾驶车辆(ADV)周围的图像。主机接口联接到感知与规划系统。预处理硬件联接到传感器接口,以接收来自多个摄像机的图像,并对图像执行一个或多个预处理功能,并经由主机接口将预处理的图像发送到感知与规划系统。感知与规划系统被配置成基于预处理的图像来感知ADV周围的驾驶环境,并规划路径以控制ADV导航通过驾驶环境。预处理功能可针对多个摄像机的不同校准和格式进行调整。
例如,ADV的数据处理系统包括多个摄像机和预处理硬件。多个摄像机捕捉车辆周围的图像。预处理硬件联接到多个摄像机,并对捕捉的图像执行一个或多个预处理功能,并将预处理的图像输出到中央处理单元(CPU)或图形处理单元(GPU),其中,CPU、GPU和摄像机不执行预处理功能。该车辆可以是AD车辆或半自动驾驶车辆。
例如,预处理硬件可以是现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、专用集成电路(ASIC)或硬接线电路,以便在能够处理捕捉的图像以协助驾驶车辆之前对其执行一个或多个预处理功能。通过可编程,针对不同的应用,以及针对来自摄像机的图像的不同的校准、格式和大小,预处理硬件可灵活地调整捕捉的图像。例如,可以设计、编程、调整或配置这样的预处理硬件来执行特定的预处理功能,例如感兴趣区域(ROI)图像处理、图像格式转换、图像校正、和图像高动态范围(HDR)处理,其可以在针对摄像机的不同校准和格式进行调整。通过这种方式,预处理功能可以从CPU、GPU和摄像机执行中解除。此外,通过从CPU、GPU和摄像机上解除预处理功能, CPU、GPU和摄像机使用更少的计算功率,并将更多的计算资源用于处理用于ADV的捕捉的图像。
本具体实施方式中对“一个实施方式”或“一个实施方式”的提及意味着结合该实施方式或实施例所描述的特定特征、结构或特性可包括在本公开的至少一个实施方式或实施例中。短语“在一个实施方式中”或在一个实施例中”在本具体实施方式中各个地方的出现不必指同一实施方式或实施例。尽管以下实施方式或实施例涉及自动驾驶 (AD)车辆中的数据处理,但这些实施方式和实施例可以实现用于具有捕捉用于处理的图像的摄像机的半自动或非自动驾驶车辆。
如本文所述,将参考以下所讨论的细节来描述各种实施方式、实施例和方面,附图将示出所述各种实施方式和实施例。下列描述和附图是说明性的,而不应当解释为限制性的。描述了许多特定细节以提供对各种实施方式和实施例的全面理解。然而,在某些情况下,并未描述众所周知的或常规的细节,以便于对实施方式和实施例的简洁讨论。
图1示出了具有预处理硬件107的车辆数据处理系统100的一个示例。例如,车辆数据处理系统100包括多个摄像机1-N(106-1至 106-N)和传感器109、具有预处理硬件107的车载计算机102、中央处理单元(CPU)103、图形处理单元(GPU)104和存储器105。尽管示出了一个CPU 103、GPU 104和存储器105,但车载计算机102 可以具有多个CPU、GPU和存储器。车载计算机102可以是用于任何类型的车辆的计算机,包括自动驾驶(AD)车辆、半自动车辆或非自动车辆。摄像机1-N(106-1到106-N)和传感器109可以通过电缆或电线或通过网络(诸如控制器局域网(CAN)、本地互连网络(LIN) 或以太网网络)联接到车载计算机102。
摄像机1-N(106-1至106-N)可以是附接至车辆或在车辆上的、具有不同校准的任何数量和类型的摄像机,包括立体摄像机、RGB(红、绿、蓝)摄像机、YUV(亮度、色度)摄像机或其他摄像机,以使用像素传感器在车辆的周围、四周、前面、后面、右边或左边捕捉二维(2D)或三维(3D)图像。车辆应具有足够的摄像头,以使得车辆周围的地点或区域不会丢失。每台摄像机1-N每秒可输出任意数量的帧,具有不同的像素阵列尺寸和大小等。传感器109可以是车辆上的或附接到车辆的任意类型或数量的传感器,包括光探测和测距装置(LIDAR)、超声波装置、雷达装置、惯性测量装置(IMU)和/或用于车辆的全球定位装置(GPS)。车载计算机102使用摄像机1-N(106-1 至106-N)和传感器109来识别适当的导航路径,包括车辆周围的障碍物和物体。
预处理硬件107可以从摄像机1-N(106-1到106-N)和传感器109 接收图像和传感器数据。例如,预处理硬件107包括配置成执行特定预处理功能的FPGA、PLA、ASIC或硬接线电路,这些功能不需要由 CPU 103、GPU 104和摄像机1-N执行。预处理硬件107可以执行如图2、图3A-3D和图5所示的特定预处理功能,这些功能可针对摄像机1-N的不同校准和格式进行调整。示例性预处理功能包括感兴趣区域(ROI)图像处理、图像格式转换、图像校正、图像高动态范围(HDR) 处理或其他可解除由摄像机1-N或CPU 103或GPU 104执行的预处理功能。在预处理之后,预处理硬件107可以生成存储在存储器105中的预处理的图像。CPU或GPU104可以实施机器学习模型或神经网络,以对存储在存储器105中的来自预处理硬件107的图像进行分类。存储器105可以是任何类型的存储器,例如同步动态随机存取存储器(SDRAM)或其他类型的随机存取存储器。
图2示出了预处理硬件207的框图。预处理硬件207包括用于感兴趣区域逻辑201、格式转换逻辑202、校正逻辑203、高动态范围 (HDR)逻辑204和其他预处理逻辑205的硬件。例如,参考图3A,预处理硬件207内的感兴趣区域(ROI)逻辑201可以从摄像机1-N (106-1到106-N)之一捕捉的图像300的序列化图像数据,并丢弃图像300中不需要处理的像素区域,例如图像300边缘附近的区域。感兴趣区域(ROI)302可以由来自摄像机1-N的序列化数据中的像素的特定行(高度)和列(宽度)来识别。例如,ROI逻辑201可以确定序列化图像数据是否包含设计的ROI 302的行和列中的像素。如果否,则这些像素被丢弃,而如果在ROI 302中,则像素被保存为从预处理硬件307输出的结果图像或预处理的图像的一部分。
例如,参照图3B,格式转换逻辑202,可以接收从ROI逻辑201 导出的图像300或ROI302的序列化图像数据。例如,图像300处于 YUV(亮度、色度)304,其需要转换为RGB(红、绿、蓝)格式306。取决于捕捉图像300所处的格式,格式转换逻辑202可以使用已知的矩阵值并对图像300中的像素数据执行矩阵乘法以将YUV数据转换为RGB数据,反之亦然。其他类型的格式转换可以使用任意数量的矩阵值和乘法来计算。转换的像素可以是从预处理硬件207输出的结果图像或者预处理的图像的一部分。
例如,参照图3C,校正逻辑203,可以从ROI逻辑201和转换逻辑202接收图像300或ROI 302图像数据的序列化图像数据或转换数据。对于一些图像,图像300的某些区域中的图像可能失真或失焦。校正逻辑203可以识别需要校正的像素,例如具有与相邻像素显著不同的值,该值可以被调整以提供调整值310或在图像300中调整的像素的位置以提供调整值位置311。校正的像素可以是从预处理硬件207 输出的结果图像或预处理的图像的一部分。
例如,参照图3D,HDR逻辑204可以通过提供高动态范围(HDR) 功能来提高图像300的质量。HDR可以从摄像机1-N接收图像300的序列化图像数据或ROI 302,或者从转换逻辑202或校正逻辑203接收转换或校正的图像,并执行HDR。例如,HDR逻辑204可以确定像素是否在暗区312中,并且如果是,则将这些像素改变为黑色316。 HDR逻辑204还可以确定像素是否在明亮区域314中,并且如果是,则将这些像素改变为白色318。这种将暗区变为黑区、将亮区变为白区的过程为图像300提供了高动态范围。
以上示例不是限制性的并且其他预处理逻辑205可以执行从摄像机1-N、CPU 103和GPU 104解除的任何数量的功能。其他预处理功能可以是收集有关图像数据预处理或预处理传感器数据的统计数据。
图4示出了用于处理多个通道1-N的图像数据的一个示例性预处理硬件207。例如,如果图像300是RGB格式,则R像素、G像素和 B像素可以是单独的通道。同样,如果图像300是YUV格式,则Y、 U和V像素可以是单独的通道。在其他示例中,可以将来自摄像机1-N 的图像集指定为单独的通道。
参考图4,预处理硬件207可以具有用于接收摄像机参数402的每个通道CH_0-CH_N(407-1到407-N)的硬件,并且其中调度器401 可以控制哪个硬件执行预处理功能以生成作为预处理的图像输出417 的结果图像412。摄像机参数402可以包括用作预处理硬件207和诸如图2中描述的逻辑块201-205逻辑的输入的不同摄像机校准参数,包括ROI处理、格式转换、图像校正、HDR处理和其他图像预处理功能。参照通道CH_0的硬件407-1,像素处理块408可以从摄像机1-N (106-1到106-N)接收像素数据。例如,CH_0可以涉及图像300的 R通道或Y通道。像素处理块可以将像素数据存储在缓冲器410中,并将像素数据转发到计算块409。计算块409可以包括ROI逻辑201、格式转换逻辑202、校正逻辑203、HDR逻辑204和其他处理逻辑205,并且可以执行如图2和图3A-3D所述的各个计算。来自计算块409的计算被转发到结果生成块411。结果生成块411可以产生可具有带有格式转换、校正和HDR的ROI 302的结果图像412或预处理的图像,以提供预处理的图像。
例如,调度器401可以使下一通道CH_1(407-2)以与通道CH_0 (407-1)相同的方式执行预处理功能,通道CH_0(407-1)具有相同的硬件和组件,例如像素处理块408、计算块409、缓冲器410和结果生成块411。对于其他示例,调度器401可以控制所有通道CH_0到 CH_N(407-1到407-2)以并行地执行预处理功能,并生成多个结果图像412作为预处理的图像。结果图像412可以存储在车载计算机102 的存储器105中。CPU 103或GPU 104可以处理结果图像412,而不必执行任何预处理功能,从而释放执行这些功能的计算资源。这样, CPU 103和GPU 104可以在处理结果图像412上花费计算资源,以使用机器学习模型或神经网络来对图像分类,以便帮助导航车辆以进行 AD驾驶或半AD驾驶。
图5示出了通过预处理硬件507的操作500的流程图的一个示例。操作500包括块502到512。在操作502,预处理硬件从摄像机接收图像数据。例如,预处理硬件207可以从摄像机1-N(106-1到106-N) 接收图像数据。
在操作504,预处理硬件对所接收的图像数据执行ROI处理。例如,预处理硬件207可以执行如图3A所述的ROI处理。
在操作506,预处理硬件对所接收的图像数据执行格式转换。例如,预处理硬件207可以执行如图3B所述的格式转换。
在操作508,预处理硬件对所接收的图像数据执行校正。例如,预处理硬件207可以执行如图3C所述的校正。
在操作510,预处理硬件对所接收的图像数据执行HDR处理。例如,预处理硬件207可以执行如图3D所述的HDR处理。
在操作512,预处理硬件执行其他功能。这些功能可以是可以从摄像机1-N、CPU103和GPU 104解除的任何预处理功能。其他预处理功能可以是收集关于图像数据的预处理、或者预处理来自传感器 109的传感器数据的统计信息。在其他示例中,操作500可以执行上述块502或504中的一个或多个。例如,如果RGB格式是默认格式,则可以跳过块506,或者如果不需要HDR处理,则可以跳过块510。
根据一些实施方式和示例,上述技术可用于设计用于自动驾驶自动驾驶车辆(ADV)的自动驾驶系统中。上述图像处理操作可在传感器单元内执行,以处理由安装在ADV上的摄像机捕捉的图像,以感知ADV的驾驶环境。ADV指的是可被配置成在自动模式下的车辆,在该模式下,车辆以很少或没有来自驾驶员的输入导航通过环境。这种自动驾驶车辆可以包括具有一个或多个传感器的传感器系统,所述一个或多个传感器被配置成检测关于车辆在其中操作的环境的信息。车辆及其相关控制器使用所检测的信息来导航通过环境。
图6是示出根据本公开的一个实施方式的自动驾驶车辆网络配置的框图。参考图6,自动驾驶车辆(ADV)601包括,但不限于,感知与规划系统160、车辆控制系统611、无线通信系统612、用户接口系统613和传感器系统615。ADV 601还可包括普通车辆中包括的某些常用部件,诸如:发动机、车轮、方向盘、变速器等,所述部件可由车辆控制系统611和/或感知与规划系统160使用多种通信信号和/ 或命令进行控制,该多种通信信号和/或命令例如,加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
部件610至615可经由互连件、总线、网络或其组合通信地联接到彼此。例如,部件610至615可经由控制器局域网(CAN)总线通信地联接到彼此。CAN总线是设计成允许微控制器和装置在没有主机的应用中与彼此通信的车辆总线标准。它是最初是为汽车内的复用电气布线设计的基于消息的协议,但也用于许多其它环境。
现在参考图7,对于一个实施例,传感器系统615包括但不限于一个或多个摄像机711、全球定位系统(GPS)单元712、惯性测量单元(IMU)713、雷达单元714以及光探测和测距(LIDAR)单元715。 GPS单元712可包括收发器,所述收发器可操作以提供关于自动驾驶车辆的位置的信息。IMU单元713可基于惯性加速度来感测自动驾驶车辆的位置和定向变化。雷达单元714可表示利用无线电信号来感测自动驾驶车辆的本地环境内的对象的系统。在一些实施方式中,除感测对象之外,雷达单元714可另外感测对象的速度和/或前进方向。LIDAR单元715可使用激光来感测自动驾驶车辆所处环境中的对象。除其它系统部件之外,LIDAR单元715还可包括一个或多个激光源、激光扫描器以及一个或多个检测器。摄像机711可包括用来采集自动驾驶车辆周围环境的图像的一个或多个装置。摄像机711可以是静物摄像机和/或视频摄像机。摄像机可以是可机械地移动的,例如,通过将摄像机安装在旋转和/或倾斜平台上。
传感器系统615还可包括其它传感器,诸如:声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器以及音频传感器(例如,麦克风)。音频传感器可配置成从自动驾驶车辆周围的环境中采集声音。转向传感器可配置成感测方向盘、车辆的车轮或其组合的转向角度。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情形下,油门传感器和制动传感器可集成为集成式油门/制动传感器。
在一个实施方式中,车辆控制系统611包括但不限于转向单元 701、油门单元702(也称为加速单元)和制动单元703。转向单元701 用来调整车辆的方向或前进方向。油门单元702用来控制电动机或发动机的速度,电动机或发动机的速度进而控制车辆的速度和加速度。制动单元703通过提供摩擦使车辆的车轮或轮胎减速而使车辆减速。应注意,如图7所示的部件可以以硬件、软件或其组合实施。
返回参考图6,无线通信系统612允许自动驾驶车辆601与诸如装置、传感器、其它车辆等外部系统之间的通信。例如,无线通信系统612可以与一个或多个装置直接无线通信,或者经由通信网络进行无线通信。无线通信系统612可使用任何蜂窝通信网络或无线局域网 (WLAN),例如,使用WiFi,以与另一部件或系统通信。无线通信系统612可例如使用红外链路、蓝牙等与装置(例如,乘客的移动装置、显示装置、车辆601内的扬声器)直接通信。用户接口系统613 可以是在车辆601内实施的外围装置的部分,包括例如键盘、触摸屏显示装置、麦克风和扬声器等。
自动驾驶车辆601的功能中的一些或全部可由感知与规划系统 610控制或管理,尤其当在自动驾驶模式下操作时。感知与规划系统610包括必要的硬件(例如,处理器、存储器、存储装置)和软件(例如,操作系统、规划和路线安排程序),以从传感器系统615、控制系统611、无线通信系统612和/或用户接口系统613接收信息,处理所接收的信息,规划从起始点到目的地点的路线或路径,随后基于规划和控制信息来驾驶车辆601。可替代地,感知与规划系统610可与车辆控制系统611集成在一起。
例如,作为乘客的用户可例如经由用户接口来指定行程的起始位置和目的地。感知与规划系统610获得行程相关数据。例如,感知与规划系统610可从MPOI服务器中获得位置和路线信息。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI。可替代地,此类位置和MPOI信息可本地高速缓存在感知与规划系统 610的永久性存储装置中。
当自动驾驶车辆601沿着路线移动时,感知与规划系统610也可从交通信息系统或服务器(TIS)获得实时交通信息。基于实时交通信息、MPOI信息和位置信息以及由传感器系统615检测或感测的实时本地环境数据(例如,障碍物、对象、附近车辆),感知与规划系统610可规划最佳路线并且根据所规划的路线例如经由控制系统611来驾驶车辆601,以安全且高效到达指定目的地。
图8是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。系统800可实施为图6的ADV601的一部分,包括但不限于感知与规划系统610、控制系统611和传感器系统 615。参考图8,感知与规划系统610包括但不限于定位模块801、感知模块802、预测模块803、决策模块804、规划模块805、控制模块806和路线安排模块807。
模块801至807中的一些或全部可以以软件、硬件或其组合实施。例如,这些模块可安装在永久性存储装置852中、加载到存储器851 中,并且由一个或多个处理器(未示出)执行。应注意,这些模块中的一些或全部可通信地联接到图2的车辆控制系统611的一些或全部模块或者与它们集成在一起。模块801至807中的一些可一起集成为集成模块。
定位模块801确定自动驾驶车辆800的当前位置(例如,利用GPS 单元712)以及管理与用户的行程或路线相关的任何数据。定位模块 801(又称作为地图与路线模块)管理与用户的行程或路线相关的任何数据。用户可例如经由用户接口登录并且指定行程的起始位置和目的地。定位模块801与自动驾驶车辆800的诸如地图与路线信息811的其它部件通信,以获得行程相关数据。例如,定位模块801可从位置服务器和地图与POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI,从而可作为地图与路线信息811的一部分高速缓存。当自动驾驶车辆 800沿着路线移动时,定位模块801也可从交通信息系统或服务器获得实时交通信息。
基于由传感器系统615提供的传感器数据和由定位模块801获得的定位信息,感知模块802确定对周围环境的感知。感知信息可表示普通驾驶员在驾驶员正驾驶的车辆周围将感知到的东西。感知可包括例如采用对象形式的车道配置、交通灯信号、另一车辆的相对位置、行人、建筑物、人行横道或其它交通相关标志(例如,停止标志、让行标志)等。车道配置包括描述一个或多个车道的信息,诸如,例如车道的形状(例如,直线或弯曲)、车道的宽度、道路中的车道数量、单向或双向车道、合并或分开车道、出口车道等。
感知模块802可包括计算机视觉系统或计算机视觉系统的功能,以处理并分析由一个或多个摄像机采集的图像,从而识别自动驾驶车辆环境中的对象和/或特征。所述对象可包括交通信号、道路边界、其它车辆、行人和/或障碍物等。计算机视觉系统可使用对象识别算法、视频跟踪以及其它计算机视觉技术。在一些实施方式中,计算机视觉系统可绘制环境地图,跟踪对象,以及估算对象的速度等。感知模块 802也可基于由诸如雷达和/或LIDAR的其它传感器提供的其它传感器数据来检测对象。
针对每个对象,预测模块803预测对象在这种情况下将如何表现。预测是基于感知数据执行的,该感知数据在考虑一组地图/路线信息 811和交通规则812的时间点感知驾驶环境。例如,如果对象为相反方向上的车辆且当前驾驶环境包括十字路口,则预测模块803将预测车辆是否可能会笔直向前移动或转弯。如果感知数据表明十字路口没有交通灯,则预测模块803可能会预测车辆在进入十字路口之前可能需要完全停车。如果感知数据表明车辆目前处于左转唯一车道或右转唯一车道,则预测模块803可能预测车辆将更可能分别左转或右转。
针对每个对象,决策模块804作出关于如何处置对象的决定。例如,针对特定对象(例如,交叉路线中的另一车辆)以及描述对象的元数据(例如,速度、方向、转弯角度),决策模块804决定如何与所述对象相遇(例如,超车、让行、停止、超过)。决策模块804可根据诸如交通规则或驾驶规则812的规则集来作出此类决定,所述规则集可存储在永久性存储装置852中。
路线安排模块807配置成提供从起始点到目的地点的一个或多个路线或路径。对于从起始位置到目的地位置的给定行程,例如从用户接收的给定行程,路线安排模块807获得路线与地图信息811,并确定从起始位置至到达目的地位置的所有可能路线或路径。路线安排模块807可生成地形图形式的参考线,它确定了从起始位置至到达目的地位置的每个路线。参考线是指不受其它诸如其它车辆、障碍物或交通状况的任何干扰的理想路线或路径。即,如果道路上没有其它车辆、行人或障碍物,则ADV应精确地或紧密地跟随参考线。然后,将地形图提供至决策模块804和/或规划模块805。决策模块804和/或规划模块805检查所有可能的路线,以根据由其它模块提供的其它数据选择和更改最佳路线中的一个,其中,其它数据诸如为来自定位模块801 的交通状况、由感知模块802感知到的驾驶环境以及由预测模块803 预测的交通状况。根据时间点下的特定驾驶环境,用于控制ADV的实际路径或路线可能接近于或不同于由路线安排模块807提供的参考线。
基于针对所感知到的对象中的每个的决定,规划模块805使用由路线安排模块807提供的参考线作为基础,为自动驾驶车辆规划路径或路线以及驾驶参数(例如,距离、速度和/或转弯角度)。换言之,针对给定的对象,决策模块804决定对该对象做什么,而规划模块805 确定如何去做。例如,针对给定的对象,决策模块804可决定超过所述对象,而规划模块805可确定在所述对象的左侧还是右侧超过。规划和控制数据由规划模块805生成,包括描述车辆800在下一移动循环(例如,下一路线/路径段)中将如何移动的信息。例如,规划和控制数据可指示车辆800以80英里每小时(mph)的速度移动10米,随后以25mph的速度变到右侧车道。
基于规划和控制数据,控制模块806根据由规划和控制数据限定的路线或路径通过将适当的命令或信号发送到车辆控制系统611来控制并驾驶自动驾驶车辆。所述规划和控制数据包括足够的信息,以沿着路径或路线在不同的时间点使用适当的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。
对于一个实施例,规划阶段在多个规划周期(也称作为驾驶周期) 中执行,例如,在每个时间间隔为100毫秒(ms)的周期中执行。对于规划周期或驾驶周期中的每一个,将基于规划和控制数据发出一个或多个控制命令。即,对于每100ms,规划模块805规划下一个路线段或路径段,例如,包括目标位置和ADV到达目标位置所需要的时间。可替代地,规划模块805还可规定具体的速度、方向和/或转向角等。在一个实施方式中,规划模块805为下一个预定时段(诸如,5 秒)规划路线段或路径段。对于每个规划周期,规划模块805基于在前一周期中规划的目标位置规划用于当前周期(例如,下一个5秒) 的目标位置。控制模块806然后基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门、制动、转向控制命令)。
应注意,决策模块804和规划模块805可集成为集成模块。决策模块804/规划模块805可包括导航系统或导航系统的功能,以确定自动驾驶车辆的驾驶路径。例如,导航系统可确定用于影响自动驾驶车辆沿着以下路径移动的一系列速度和前进方向:所述路径在使自动驾驶车辆沿着通往最终目的地的基于车行道的路径前进的同时,基本上避免感知到的障碍物。目的地可根据经由用户接口系统613进行的用户输入来设定。导航系统可在自动驾驶车辆正在运行的同时动态地更新驾驶路径。导航系统可将来自GPS系统和一个或多个地图的数据合并,以确定用于自动驾驶车辆的驾驶路径。
图9A是示出根据本公开的一个实施方式的传感器系统的示例的框图。参照图9A,传感器系统615包括多个传感器910和联接至主机系统610的传感器单元900。主机系统610表示如上所述的规划和控制系统,该规划和控制系统可包括如图5中所示的模块中的至少一些。传感器单元900可以以FPGA装置或ASIC(专用集成电路)装置的形式实现。在一个实施方式中,传感器单元900当中包括一个或多个传感器数据处理模块901(也简称为传感器处理模块)、数据传送模块902 和传感器控制模块或逻辑903。模块901至模块903可经由传感器接口904与传感器910通信以及经由主机接口905与主机系统610通信。可选地,可利用内部或外部缓冲器906来缓冲数据,以进行处理。
在一个实施方式中,对于接收路径或上游方向,传感器处理模块 901配置成经由传感器接口904从传感器接收传感器数据并处理该传感器数据(例如,格式转换、错误检查),其中,传感器数据可临时存储在缓冲器906中。数据传送模块902配置成使用与主机接口905兼容的通信协议将处理的数据传送至主机系统610。类似地,对于传输路径或下游方向,数据传送模块902配置成从主机系统610接收数据或命令。数据然后由传感器处理模块901处理成与相应传感器兼容的格式。然后将处理的数据传输至传感器。
在一个实施方式中,传感器控制模块或逻辑903配置成响应于经由主机接口905从主机系统(例如,感知模块302)接收的命令来控制传感器910的某些操作,诸如,例如对激活捕捉传感器数据的定时。主机系统610可配置传感器910,从而以协作和/或同步的方式捕捉传感器数据,使得传感器数据可用于感知任一时间点下车辆周围的驾驶环境。
传感器接口904可包括以下中的一个或多个:以太网、USB(通用串行总线)、LTE(长期演进)或蜂窝、WiFi、GPS、摄像机、CAN、串行(例如,通用异步收发器或UART)、SIM(用户识别模块)卡和其它通用输入/输出(GPIO)接口。主机接口905可以是任何高速或高带宽接口,诸如PCIe(外围部件互连或PCI快速)接口。传感器910 可包括在自动驾驶车辆中使用的各种传感器,诸如,例如摄像机、 LIDAR装置、RADAR装置、GPS接收器、IMU、超声波传感器、GNSS(全球导航卫星系统)接收器、LTE或蜂窝SIM卡、车辆传感器(例如,油门、制动器、转向传感器)和系统传感器(例如,温度、湿度、压力传感器)等。
例如,摄像机可经由以太网或GPIO接口进行联接。GPS传感器可经由USB或特定GPS接口进行联接。车辆传感器可经由CAN接口进行联接。RADAR传感器或超声波传感器可经由GPIO接口进行联接。LIDAR装置可经由以太网接口进行联接。外部SIM模块可经由 LTE接口进行联接。类似地,内部SIM模块可插入到传感器单元900 的SIM插座上。出于调试的目的,诸如UART的串行接口可与控制台系统联接。
应注意,传感器910可以是任何类型的传感器并由各种销售商或供应商提供。传感器处理模块901配置成处理不同类型的传感器及其相应的数据格式和通信协议。根据一个实施方式,传感器910中的每个均与用于处理传感器数据以及将处理的传感器数据在主机系统610 与相应传感器之间传送的特定通道相关联。如图9B中所示,每个通道均包括特定的传感器处理模块和特定的数据传送模块,其中,传感器处理模块和数据传送模块已配置或编程成处理相应的传感器数据和协议。
现在参照图9B,传感器处理模块901A至传感器处理模块901C 具体地配置成分别处理从传感器910A至传感器910C中获得的传感器数据。应注意,传感器910A至传感器910C可以是相同或不同类型的传感器。传感器处理模块901A至传感器处理模块901C可配置(例如,可配置的软件)成处理用于不同类型的传感器的不同传感器过程。例如,如果传感器910A为摄像机,则处理模块901A可设计成处理关于表示由摄像机910A捕捉的图像的特定像素数据的像素处理操作。类似地,如果传感器910A为LIDAR装置,则处理模块901A具体地配置成处理LIDAR数据。即,根据一个实施方式,根据特定传感器的具体类型,它的相应处理模块可配置成使用与传感器数据的类型相对应的特定过程或方法来处理相应传感器数据。
类似地,数据传送模块902A至数据传送模块902C可配置成以不同模式操作,因为不同类型的传感器数据可具有需要不同速度或定时要求的不同大小或灵敏度。根据一个实施方式,数据传送模块902A 至数据传送模块902C中的每个均可配置成以低延迟模式、高带宽模式和存储模式(还称为固定存储模式)中的一个进行操作。
当以低延迟模式操作时,根据一个实施方式,数据传送模块(例如,数据传送模块902)配置成在没有延迟或具有最小延迟的情况下尽快地将从传感器接收的传感器数据发送至主机系统。传感器数据中的一些在时间方面非常敏感,需要尽快处理。这种传感器数据的示例包括车辆状态,诸如车辆速度、加速度、转向角等。
当以高带宽模式操作时,根据一个实施方式,数据传送模块(例如,数据传送模块902)配置成将从传感器接收的传感器数据进行累积直至预定量,但是仍然在数据传送模块与主机系统610之间的连接的带宽内。然后,累积的传感器数据批量传送至主机系统610,这使数据传送模块与主机系统610之间的连接的带宽最大化。通常,高带宽模式用于产生大量传感器数据的传感器。这种传感器数据的示例包括摄像机像素数据。
当以存储模式操作时,根据一个实施方式,数据传送模块配置成将从传感器接收的传感器数据直接写入主机系统610的映射存储器的存储位置,类似于共享存储页面。使用存储模式传输的传感器数据的示例包括系统状态数据,诸如温度、风扇速度等。
例如,预处理硬件207可以被实现为传感器系统615的传感器单元900的一部分。例如,预处理硬件207可以被实现为传感器处理模块901的一部分。传感器910可以包括一个或多个摄像机,并且传感器处理模块901被配置成如上所述处理从摄像机910接收的图像。
应注意,如上文示出和描述的部件中的一些或全部可在软件、硬件或其组合中实施。例如,此类部件可实施为安装并存储在永久性存储装置中的软件,所述软件可通过处理器(未示出)加载在存储器中并在存储器中执行以实施贯穿本申请所述的过程或操作。可替代地,此类部件可实施为编程或嵌入到专用硬件(诸如,集成电路(例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA))中的可执行代码,所述可执行代码可经由来自应用的相应驱动程序和/或操作系统来访问。此外,此类部件可实施为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。
前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
然而,应当牢记,所有这些和类似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或类似电子计算装置的动作和处理,所述计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机系统存储器或寄存器或者其它此类信息存储装置、传输或显示装置内类似地表示为物理量的其它数据。
本公开的实施方式还涉及用于执行本文中的操作的设备。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器装置)。
前述附图中所描绘的过程或方法可由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管所述过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所述操作中的一些可按不同的顺序执行。此外,一些操作可并行地执行而不是顺序地执行。
本公开的实施方式或实施例并未参考任何特定的编程语言进行描述。应认识到,可使用多种编程语言来实施如本文描述的本公开的实施方式的教导。
在以上的说明书中,已经参考本公开的具体示例性实施方式对本公开的实施方式和实施例进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本公开的更宽泛精神和范围的情况下,可对本发明作出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。
Claims (21)
1.一种传感器单元,包括:
传感器接口,联接至多个摄像机,所述多个摄像机配置成捕捉自动驾驶车辆周围的图像;
主机接口,联接至感知与规划系统;以及
预处理硬件,联接至所述传感器接口,以从所述多个摄像机接收图像,对所述图像执行一个或多个预处理功能,并经由所述主机接口将预处理的图像发送到所述感知与规划系统,其中,所述感知与规划系统配置成基于所述预处理的图像来感知所述自动驾驶车辆周围的驾驶环境,并规划路径以控制所述自动驾驶车辆导航通过所述驾驶环境。
2.根据权利要求1所述的传感器单元,其中,所述预处理功能针对所述多个摄像机的不同校准和格式进行调整。
3.根据权利要求1所述的传感器单元,其中,所述预处理硬件包括用于执行所述一个或多个预处理功能的现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、专用集成电路(ASIC)或硬接线电路。
4.根据权利要求3所述的传感器单元,其中,所述一个或多个预处理功能包括感兴趣区域(ROI)图像处理、图像格式转换、图像校正或图像高动态范围处理。
5.根据权利要求4所述的传感器单元,其中,所述高动态范围预处理功能不由所述多个摄像机执行。
6.根据权利要求1所述的传感器单元,其中,所述预处理硬件包括用于多个通道的硬件,以针对每个通道对捕捉的图像执行一个或多个预处理功能。
7.根据权利要求6所述的传感器单元,其中,所述预处理硬件包括调度器,以对在所述多个通道上执行预处理功能进行调度。
8.一种用于自动驾驶的对图像进行预处理的计算机实施的方法,所述方法包括:
经由传感器接口在传感器单元处从自动驾驶车辆周围的多个摄像机接收多个图像;
经由预处理硬件对所述图像执行一个或多个预处理功能;以及
经由主机接口将预处理的图像发送到感知与规划系统,其中,所述感知与规划系统配置成至少基于所述预处理的图像来感知所述自动驾驶车辆周围的驾驶环境,并规划路径以控制所述自动驾驶车辆导航通过所述驾驶环境。
9.根据权利要求8所述的方法,其中,所述预处理功能针对所述多个摄像机的不同校准和格式进行调整。
10.根据权利要求8所述的方法,其中,所述预处理硬件包括用于执行所述一个或多个预处理功能的现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、专用集成电路(ASIC)或硬接线电路。
11.根据权利要求10所述的方法,其中,所述一个或多个预处理功能包括感兴趣区域(ROI)图像处理、图像格式转换、图像校正或图像高动态范围处理。
12.根据权利要求11所述的方法,其中,所述高动态范围预处理功能不由所述多个摄像机执行。
13.根据权利要求8所述的方法,其中,所述预处理硬件包括用于多个通道的硬件,以针对每个通道对捕捉的图像执行一个或多个预处理功能。
14.根据权利要求13所述的方法,其中,所述预处理硬件包括调度器,以对在所述多个通道上执行预处理功能进行调度。
15.一种自动驾驶系统,包括:
多个传感器,所述传感器包括一个或多个摄像机,以捕捉自动驾驶车辆周围的图像;
感知与规划系统;以及
传感器单元,其中,所述传感器单元包括:
传感器接口,联接至所述传感器;
主机接口,联接至所述感知与规划系统;以及
预处理硬件,联接至所述传感器接口,以从所述摄像机接收图像,对所述图像执行一个或多个预处理功能,并经由所述主机接口将预处理的图像发送到所述感知与规划系统,
其中,所述感知与规划系统配置成至少基于所述预处理的图像来感知所述自动驾驶车辆周围的驾驶环境,并规划路径以控制所述自动驾驶车辆导航通过所述驾驶环境。
16.根据权利要求15所述的系统,其中,所述预处理功能针对所述多个摄像机的不同校准和格式进行调整。
17.根据权利要求15所述的系统,其中,所述预处理硬件包括用于执行所述一个或多个预处理功能的现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、专用集成电路(ASIC)或硬接线电路。
18.根据权利要求17所述的系统,其中,所述一个或多个预处理功能包括感兴趣区域(ROI)图像处理、图像格式转换、图像校正或图像高动态范围处理。
19.根据权利要求18所述的系统,其中,所述高动态范围预处理功能不由所述多个摄像机执行。
20.根据权利要求15所述的系统,其中,所述预处理硬件包括用于多个通道的硬件,以针对每个通道对捕捉的图像执行一个或多个预处理功能。
21.根据权利要求20所述的系统,其中,所述预处理硬件包括调度器,以对在所述多个通道上执行预处理功能进行调度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/399,457 | 2019-04-30 | ||
US16/399,457 US11182623B2 (en) | 2019-04-30 | 2019-04-30 | Flexible hardware design for camera calibration and image pre-procesing in autonomous driving vehicles |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111862226A true CN111862226A (zh) | 2020-10-30 |
CN111862226B CN111862226B (zh) | 2024-01-16 |
Family
ID=72970883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911266987.0A Active CN111862226B (zh) | 2019-04-30 | 2019-12-11 | 用于车辆中的摄像机校准和图像预处理的硬件设计 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11182623B2 (zh) |
CN (1) | CN111862226B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704156A (zh) * | 2021-08-30 | 2021-11-26 | 寒武纪行歌(南京)科技有限公司 | 感知数据处理装置、板卡、系统及方法 |
WO2024036618A1 (en) * | 2022-08-19 | 2024-02-22 | Apollo Intelligent Driving Technology (Beijing) Co., Ltd. | Dynamic signal transfer configuration for driverless vehicle remote monitoring |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201268230Y (zh) * | 2008-09-22 | 2009-07-08 | 交通部公路科学研究所 | 基于计算机视觉的限速标志信息车辆辅助驾驶系统 |
CN202134079U (zh) * | 2011-06-16 | 2012-02-01 | 长安大学 | 一种无人驾驶车辆车道标志线识别与报警装置 |
CN106412551A (zh) * | 2015-07-29 | 2017-02-15 | 雅马哈发动机株式会社 | 异常图像检测装置、图像处理系统及车辆 |
CN107209514A (zh) * | 2014-12-31 | 2017-09-26 | 深圳市大疆创新科技有限公司 | 传感器数据的选择性处理 |
CN107346351A (zh) * | 2016-05-06 | 2017-11-14 | 百度(美国)有限责任公司 | 用于基于源代码中定义的硬件要求来设计fpga的方法和系统 |
KR20180027242A (ko) * | 2016-09-06 | 2018-03-14 | 국방과학연구소 | 무인 차량을 위한 주변 환경 매핑 방법 및 장치 |
CN107833252A (zh) * | 2016-09-09 | 2018-03-23 | 现代摩比斯株式会社 | 用于校正摄像机的误差的系统和方法 |
CN108089571A (zh) * | 2016-11-22 | 2018-05-29 | 百度(美国)有限责任公司 | 用于预测无人驾驶车辆的车辆交通行为以做出驾驶决策的方法和系统 |
CN207557973U (zh) * | 2017-10-25 | 2018-06-29 | 北京中科慧眼科技有限公司 | 一种汽车、其自动驾驶系统及其视觉感知设备 |
US20180188060A1 (en) * | 2016-12-30 | 2018-07-05 | DeepMap Inc. | Traffic Sign Feature Creation for High Definition Maps Used for Navigating Autonomous Vehicles |
CN108859961A (zh) * | 2017-05-16 | 2018-11-23 | 泰尔美电子株式会社 | 用于自动驾驶的环绕摄像系统 |
US20180356526A1 (en) * | 2017-06-13 | 2018-12-13 | TuSimple | Sensor calibration and time method for ground truth static scene sparse flow generation |
CN109215067A (zh) * | 2017-07-03 | 2019-01-15 | 百度(美国)有限责任公司 | 基于cnn和crf模型生成高分辨率3-d点云 |
CN109214986A (zh) * | 2017-07-03 | 2019-01-15 | 百度(美国)有限责任公司 | 从下采样的低分辨率lidar 3-d点云和摄像机图像生成高分辨率3-d点云 |
CN109478335A (zh) * | 2016-07-22 | 2019-03-15 | 罗伯特·博世有限公司 | 驾驶辅助方法、驾驶辅助系统和车辆 |
EP3457313A1 (en) * | 2017-09-13 | 2019-03-20 | EVS Broadcast Equipment SA | Method and apparatus for mapping a reference view with a camera image |
CN109544648A (zh) * | 2018-11-30 | 2019-03-29 | 北京小马智行科技有限公司 | 一种标定方法及装置 |
US20190120946A1 (en) * | 2017-10-19 | 2019-04-25 | DeepMap Inc. | Calibrating sensors mounted on an autonomous vehicle |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9632502B1 (en) * | 2015-11-04 | 2017-04-25 | Zoox, Inc. | Machine-learning systems and techniques to optimize teleoperation and/or planner decisions |
US10746858B2 (en) * | 2017-08-17 | 2020-08-18 | Uatc, Llc | Calibration for an autonomous vehicle LIDAR module |
US10989538B2 (en) * | 2017-12-15 | 2021-04-27 | Uatc, Llc | IMU data offset compensation for an autonomous vehicle |
US11176760B2 (en) * | 2018-01-25 | 2021-11-16 | Micron Technology, Inc. | In-vehicle monitoring and reporting apparatus for vehicles |
US11285927B2 (en) * | 2018-09-26 | 2022-03-29 | Uatc, Llc | Brake preload system for autonomous vehicles |
US11125881B2 (en) * | 2018-12-10 | 2021-09-21 | Waymo Llc | Lidar-based trailer tracking |
US11221399B2 (en) * | 2018-12-12 | 2022-01-11 | Waymo Llc | Detecting spurious objects for autonomous vehicles |
US11281214B2 (en) * | 2018-12-19 | 2022-03-22 | Zoox, Inc. | Safe system operation using CPU usage information |
US11119492B2 (en) * | 2019-02-12 | 2021-09-14 | Sf Motors, Inc. | Automatically responding to emergency service vehicles by an autonomous vehicle |
US11126179B2 (en) * | 2019-02-21 | 2021-09-21 | Zoox, Inc. | Motion prediction based on appearance |
-
2019
- 2019-04-30 US US16/399,457 patent/US11182623B2/en active Active
- 2019-12-11 CN CN201911266987.0A patent/CN111862226B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201268230Y (zh) * | 2008-09-22 | 2009-07-08 | 交通部公路科学研究所 | 基于计算机视觉的限速标志信息车辆辅助驾驶系统 |
CN202134079U (zh) * | 2011-06-16 | 2012-02-01 | 长安大学 | 一种无人驾驶车辆车道标志线识别与报警装置 |
CN107209514A (zh) * | 2014-12-31 | 2017-09-26 | 深圳市大疆创新科技有限公司 | 传感器数据的选择性处理 |
CN106412551A (zh) * | 2015-07-29 | 2017-02-15 | 雅马哈发动机株式会社 | 异常图像检测装置、图像处理系统及车辆 |
CN107346351A (zh) * | 2016-05-06 | 2017-11-14 | 百度(美国)有限责任公司 | 用于基于源代码中定义的硬件要求来设计fpga的方法和系统 |
CN109478335A (zh) * | 2016-07-22 | 2019-03-15 | 罗伯特·博世有限公司 | 驾驶辅助方法、驾驶辅助系统和车辆 |
KR20180027242A (ko) * | 2016-09-06 | 2018-03-14 | 국방과학연구소 | 무인 차량을 위한 주변 환경 매핑 방법 및 장치 |
CN107833252A (zh) * | 2016-09-09 | 2018-03-23 | 现代摩比斯株式会社 | 用于校正摄像机的误差的系统和方法 |
CN108089571A (zh) * | 2016-11-22 | 2018-05-29 | 百度(美国)有限责任公司 | 用于预测无人驾驶车辆的车辆交通行为以做出驾驶决策的方法和系统 |
US20180188060A1 (en) * | 2016-12-30 | 2018-07-05 | DeepMap Inc. | Traffic Sign Feature Creation for High Definition Maps Used for Navigating Autonomous Vehicles |
CN108859961A (zh) * | 2017-05-16 | 2018-11-23 | 泰尔美电子株式会社 | 用于自动驾驶的环绕摄像系统 |
US20180356526A1 (en) * | 2017-06-13 | 2018-12-13 | TuSimple | Sensor calibration and time method for ground truth static scene sparse flow generation |
CN109215067A (zh) * | 2017-07-03 | 2019-01-15 | 百度(美国)有限责任公司 | 基于cnn和crf模型生成高分辨率3-d点云 |
CN109214986A (zh) * | 2017-07-03 | 2019-01-15 | 百度(美国)有限责任公司 | 从下采样的低分辨率lidar 3-d点云和摄像机图像生成高分辨率3-d点云 |
EP3457313A1 (en) * | 2017-09-13 | 2019-03-20 | EVS Broadcast Equipment SA | Method and apparatus for mapping a reference view with a camera image |
US20190120946A1 (en) * | 2017-10-19 | 2019-04-25 | DeepMap Inc. | Calibrating sensors mounted on an autonomous vehicle |
CN207557973U (zh) * | 2017-10-25 | 2018-06-29 | 北京中科慧眼科技有限公司 | 一种汽车、其自动驾驶系统及其视觉感知设备 |
CN109544648A (zh) * | 2018-11-30 | 2019-03-29 | 北京小马智行科技有限公司 | 一种标定方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704156A (zh) * | 2021-08-30 | 2021-11-26 | 寒武纪行歌(南京)科技有限公司 | 感知数据处理装置、板卡、系统及方法 |
CN113704156B (zh) * | 2021-08-30 | 2022-09-06 | 寒武纪行歌(南京)科技有限公司 | 感知数据处理装置、板卡、系统及方法 |
WO2024036618A1 (en) * | 2022-08-19 | 2024-02-22 | Apollo Intelligent Driving Technology (Beijing) Co., Ltd. | Dynamic signal transfer configuration for driverless vehicle remote monitoring |
Also Published As
Publication number | Publication date |
---|---|
US20200349361A1 (en) | 2020-11-05 |
US11182623B2 (en) | 2021-11-23 |
CN111862226B (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11592570B2 (en) | Automated labeling system for autonomous driving vehicle lidar data | |
US11758111B2 (en) | 3D lidar system using a dichroic mirror for autonomous driving vehicles | |
EP3614688B1 (en) | Trigger logic to trigger sensors of an autonomous driving vehicle for capturing data | |
CN112543876B (zh) | 用于自动驾驶车辆中的传感器同步性数据分析的系统 | |
CN111860198B (zh) | 用于自主驾驶车辆adv的处理点云数据的方法、装置和系统、及计算机可读介质 | |
US10860868B2 (en) | Lane post-processing in an autonomous driving vehicle | |
US11456890B2 (en) | Open and safe monitoring system for autonomous driving platform | |
US11338823B2 (en) | Multiple sensor data storage with compressed video stream in autonomous driving vehicles | |
US20220335728A1 (en) | Electronic device, method, and computer readable storage medium for detection of vehicle appearance | |
US20210009145A1 (en) | Automated factory testflow of processing unit with sensor integration for driving platform | |
US20240020988A1 (en) | Traffic light detection and classification for autonomous driving vehicles | |
CN111862226B (zh) | 用于车辆中的摄像机校准和图像预处理的硬件设计 | |
JP2021006448A (ja) | 単一車両走行用に設計された自動運転システムでの車両隊列実施 | |
US20240210939A1 (en) | Camera image compression for autonomous driving vehicles | |
US20240208529A1 (en) | Sensor data transfer with self adaptive configurations for autonomous driving vehicle | |
US20240051569A1 (en) | Long-term evolution computing platform for autonomous vehicles based on shell and nut architecture | |
US20240045027A1 (en) | Adaptive lidar data processing for driverless vehicle | |
US20240086264A1 (en) | Hardware adaptive vehicle os design on mcu | |
US20240171864A1 (en) | On-board tuning of image signal processor for cameras of autonomous vehicles | |
US20240211363A1 (en) | Gpu stress test with dynamic loads |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |