CN113838060A - 用于自主车辆的感知*** - Google Patents
用于自主车辆的感知*** Download PDFInfo
- Publication number
- CN113838060A CN113838060A CN202110690742.1A CN202110690742A CN113838060A CN 113838060 A CN113838060 A CN 113838060A CN 202110690742 A CN202110690742 A CN 202110690742A CN 113838060 A CN113838060 A CN 113838060A
- Authority
- CN
- China
- Prior art keywords
- image
- camera
- determining
- vehicle
- points
- 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
- 230000008447 perception Effects 0.000 title abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 92
- 239000011159 matrix material Substances 0.000 claims description 24
- 238000007620 mathematical function Methods 0.000 claims description 18
- 230000003287 optical effect Effects 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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/11—Region-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]
-
- 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/0025—Planning or execution of driving tasks specially adapted for specific operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
- 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/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
- 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
- G06V20/584—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
-
- 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/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- 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/30196—Human being; Person
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- 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/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
- Image Processing (AREA)
Abstract
本公开涉及用于自主车辆的感知***。描述了图像处理技术以进行以下步骤:在车辆正被驾驶时,从位于车辆上的相机获得图像;裁剪所获得的图像的对应于感兴趣区域的一部分;在被裁剪部分中检测物体;围绕被检测物体添加边界框;确定(多个)参考点在边界框上的(多个)位置;以及基于第二组一个或多个参考点在边界框上的所确定的一个或多个位置来确定被检测物体在车辆正在其中被驾驶的空间区域中的位置。
Description
技术领域
本文件涉及用以裁剪从与自主车辆相关联的相机获得的图像的一部分并确定该被裁剪部分中的物体的位置的技术。
背景技术
车辆可包括出于几种目的而附接到车辆的相机。例如,出于安全目的、为进行驾驶辅助或为促进自主驾驶,相机可附接到车辆的车顶。安装在车辆上的相机可以获得车辆周围的一个或多个区域的图像。可以处理这些图像以获得关于道路或关于自主车辆周围的物体的信息。因此,从自主车辆上的相机获得的图像可以用于在直通交通(through traffic)时或在高速公路上安全地操纵自主车辆。
发明内容
公开了用于对从自主车辆(诸如,自主半拖车卡车)上的一个或多个相机获得的图像执行图像处理的技术。
在示例性实施例中,图像处理方法包括:在车辆正被驾驶时,从位于车辆上的相机获得图像;裁剪所获得的图像的对应于感兴趣区域的一部分,该感兴趣区域是基于在所获得的图像上选择的第一组一个或多个参考点的一个或多个位置而识别的;在图像的被裁剪部分中检测物体;围绕在图像的被裁剪部分中的被检测物体添加边界框;从边界框以及在图像的被裁剪部分中确定第二组一个或多个参考点在边界框上的一个或多个位置;以及基于第二组一个或多个参考点在边界框上的所确定的一个或多个位置来确定被检测物体在车辆正在其中被驾驶的空间区域中的位置。在一些实施例中,由示例性图像处理方法通过针对第二组的每个参考点的每个所确定的位置执行以下步骤来确定被检测物体的位置:确定位于穿过参考点的位置的射线上的相机中心点的相机坐标,其中该相机中心点位于相机坐标平面上,该相机坐标平面位于远离接收到图像的图像平面一焦距距离处;至少基于相机坐标来确定参考点的位置的第一世界坐标;以及基于地形图来确定参考点和道路表面的交点的第二世界坐标,其中该地形图提供在车辆正在其中被驾驶的空间区域中的点的坐标。示例性图像处理方法将第二组一个或多个参考点的第二世界坐标分配给被检测物体在空间区域中的位置。
在一些实施例中,基于机器学习技术在图像的被裁剪部分中检测物体。在一些实施例中,通过基于地形图和车辆的位置获得第一组一个或多个参考点的三维世界坐标来选择第一组一个或多个参考点,其中该地形图提供在车辆正在其中被驾驶的空间区域中的点的坐标。
在一些实施例中,通过以下步骤来确定第一组一个或多个参考点在所获得的图像上的所述一个或多个位置:通过使用与所获得的图像相关联的相机姿态信息,将第一组一个或多个参考点的三维世界坐标投影到图像。在一些实施例中,相机姿态信息表征相机的光学性质、取向或位置。在一些实施例中,其中第一组的单个参考点在所获得的图像上的位置是感兴趣区域的中心点,并且其中被裁剪部分具有小于所获得的图像的第二分辨率的第一分辨率。在一些实施例中,其中第一组的两个参考点在所获得的图像上的两个位置分别对应于距车辆的位置的第一距离和第二距离。
在一些实施例中,通过以下步骤来确定交点的第二世界坐标:沿着射线获得第一组点,其中第二组的参考点属于该第一组点;确定对应于第一组点的第一组世界坐标,其中第一世界坐标属于该第一组世界坐标;基于地形图且对应于第一组点来确定道路表面上的第二组点;确定对应于第二组点的第二组世界坐标;确定与第一组世界坐标相关联的每个点和与第二组世界坐标相关联的对应点之间的多个高度;从所述多个高度中确定最小高度;从与该最小高度相关联的第二组点中识别一个点;以及获得该点的世界坐标,其中第二世界坐标被确定为与该点的世界坐标相同。
在一些实施例中,通过以下步骤来确定交点的第二世界坐标:确定描述射线的第一数学函数;基于地形图来确定边界框上的两个或更多个点的世界坐标;确定描述包括所述两个或更多个点的平面的第二数学函数;确定第一数学函数和第二数学函数的交点;以及获得该交点的世界坐标,其中第二世界坐标被确定为与该交点的世界坐标相同。
在一些实施例中,边界框包括位于边界框的多个拐角处的多个顶点,第二组一个或多个参考点包括位于边界框的两个顶点之间的中点处的参考点,并且与边界框的其他顶点相比,这两个顶点最靠近道路的表面。在一些实施例中,相机内在矩阵用于确定相机中心点在相机坐标平面中的相机坐标,且相机外在矩阵与相机坐标一起用于确定参考点的第一世界坐标。
在一些实施例中,被检测物体包括汽车、卡车、卡车拖车、半卡车、紧急车辆、行人、摩托车或道路上的障碍物。在一些实施例中,车辆是自主半拖车卡车。在一些实施例中,图像来自车辆正被驾驶朝向的第一区域,或者其中图像来自靠车辆的一侧的第二区域,或者其中图像来自车辆正被驾驶远离的第三区域。
在一些实施例中,在车辆正被驾驶时,实时执行与裁剪该部分、检测物体、添加边界框、确定所述一个或多个位置、确定相机坐标、确定第二世界坐标、以及分配第二世界坐标相关联的操作。在一些实施例中,在图像的被裁剪部分中的被检测物***于在500米和1000米之间的距离处。
在又一示例性方面中,上述方法以处理器可执行代码的形式体现并存储在计算机可读程序介质或计算机可读存储介质中。因此,非暂态计算机可读存储介质可以具有存储在其上的代码,其中该代码在由处理器执行时致使处理器实施在一些实施例中所描述的方法。
在又一示例性实施例中,公开了一种图像处理设备或装置,其包括被配置为或可操作以执行上述方法的处理器。
在附图、描述和权利要求书中更详细地描述了以上和其他方面及其实施方式。
附图说明
图1示出了示例性远距离感知***的框图,该示例性远距离感知***用以对从自主车辆之中或之上的一个或多个相机获得的图像执行图像处理。
图2进一步示出了由远距离感知***的画中画(PIP)模块执行的操作。
图3A示出了第一示例性技术的流程图,该第一示例性技术用以通过使用单个参考点从图像中选择要裁剪的感兴趣区域。
图3B示出了第二示例性技术的流程图,该第二示例性技术用以通过使用至少两个参考点从图像中选择要裁剪的感兴趣区域。
图4A至图4D示出了其中可以使用画中画特征来选择和裁剪感兴趣区域的几个场景。
图5进一步描述了由远距离感知***的深度估计模块执行的操作。
图6示出了来自正被自主车辆上的相机接收的目标物体的射线。
图7示出了示例性技术的流程图,该示例性技术用以识别一个或多个参考点在被检测物体的边界框上的3D位置。
图8示出了包括在自主车辆中的计算机或服务器的示例性框图。
图9示出了示例性技术的流程图,该示例性技术用以裁剪图像的一部分、检测被裁剪部分中的物体并围绕该物体添加边界框、以及识别一个或多个参考点在被检测物体的边界框上的3D位置。
图10示出了用以检测和选择图像中的感兴趣区域(ROI)的流程图的示例。
图11示出了示例性技术,该示例性技术用以通过确定位于自主车辆周围的感兴趣区域并且通过对所确定的感兴趣区域中的至少一些进行过滤来裁剪图像的一部分。
具体实施方式
自主车辆可使用传感器或相机,这些传感器或相机提供自主车辆周围的一个或多个区域的数据或图像。位于自主车辆中的计算机可执行图像处理以确定在距自主车辆的位置一有限范围内物体(例如,车辆或行人)的存在或不存在。例如,自主车辆中的计算机可以感知在距自主车辆的位置300米距离内的物体。然而,如果自主车辆是半拖车卡车,则有限的感知范围可能是不够的。自主半拖车卡车被设计成在道路上安全地驾驶。然而,在一些情况下,有限的感知范围(例如,高达300米)可能不足以主动地检测道路上的物体,使得自主半拖车卡车可在与该物体碰撞之前安全地停车或绕过该物体安全地操纵。
针对以下各个部分的示例标题用于促进对所公开的主题的理解并且不以任何方式限制所要求保护的主题的范围。因此,一个示例部分的一个或多个特征可以与另一个示例部分的一个或多个特征进行组合。
I.远距离感知***
图1示出了示例性远距离感知***100的框图,该示例性远距离感知***用以对从自主车辆101(诸如,自主半拖车卡车)之中或之上的一个或多个相机102获得的图像执行图像处理。一些实施例中所描述的示例性图像处理技术可以用于得到位于远距离处(诸如,距自主车辆101的位置大约1000米)的物体的准确三维(3D)位置。示例性图像处理技术还可以用于跟踪和构建所感知的每个物体的运动模型。因此,示例性远距离感知***100可以用于增强在道路上驾驶的自主车辆101的安全性。
a.相机、机载计算机和数据库
远距离感知***100包括安装在自主车辆101之上或之中的一个或多个相机102。在自主车辆101处于操作中时,诸如在道路上驾驶或停在停车标志处,每个相机102可以实时生成高分辨率图像。在一些实施例中,术语图像可以包括来自相机102的视频馈送的图像帧。来自所述一个或多个相机102的图像帧的分辨率可以是例如1024×576个像素。所述一个或多个相机102可以以例如每秒20帧(FPS)的速度或频率获得图像。
图1示出了可以基于从所述一个或多个相机102接收到的图像执行图像处理的几个模块和数据库。模块104、108、110、112和地形图数据库106的特征或操作由位于自主车辆101中的机载计算机114执行。在自主车辆101正被驾驶时,实时执行模块104、108、110、112和地形图数据库106的特征或操作。位于自主车辆101中的机载计算机114包括至少一个处理器和具有存储在其上的指令的存储器。这些指令在由处理器执行时将机载计算机114配置为执行与本专利文件中所描述的模块和/或数据库相关联的操作。
地形图数据库106可存储在机载计算机114中,并提供自主车辆101正在其中或围绕其被驾驶或所在的空间区域(例如,道路表面或山海拔)中的各个点的坐标。地形图数据库106存储可以在3D空间或3D世界坐标中表示的地形信息,其中坐标信息表征包围自主车辆101的空间区域中的各个点。例如,地形图数据库106可以包括自主车辆101正在其上被驾驶的道路表面的一个或多个点的3D世界坐标。在另一个示例中,地形图数据库106可以包括自主车辆101正被驾驶朝向或正在其内被驾驶的空间区域中的一个或多个点的3D世界坐标。
在以下各个部分中描述由图1中所示的各种模块执行的图像处理技术。为便于解释,针对从单个相机获得的单个帧来描述图像处理技术。然而,可以对在一时间段中从所述一个或多个相机102中的每一个获得的每个帧或帧的子集执行一些实施例中所描述的图像处理技术。
b.由画中画模块进行的第一示例图像处理技术
在图1中,自主车辆上的机载计算机114可以执行图像处理以从由传感器(诸如,相机)提供的信息感知物体(例如,车辆、行人、障碍物)。画中画(PIP)模块104可以处理从(多个)相机102获得的图像以改进对可以位于远离自主车辆101的位置处的物体的感知。
如图1中所示,从每个相机102获得的图像被发送到PIP模块104。如在该部分中所解释的,PIP模块104从相机获得原始图像以选择和裁剪图像中的一个或多个感兴趣区域。接下来,PIP模块104将图像中的(多个)感兴趣的被裁剪区域发送到如图1中所示的一个或多个下游模块,诸如检测模块110。
PIP模块104可以选择和裁剪从相机102获得的图像中的一个或多个感兴趣区域。由PIP模块104选择的(多个)区域可包括位于自主车辆前方的(多个)区域(例如,道路、高速公路匝道或交叉口)。所选择的(多个)区域要么在自主车辆的位置前方超过预定距离(例如,在自主车辆的位置前方超过大约500米的距离),要么在自主车辆的位置前方一预定距离范围内(例如,在自主车辆的位置前方500米至1000米之间)。
PIP模块104可以以几种方式中的一种方式选择和裁剪(多个)感兴趣区域,如图3A和图3B中进一步描述的。通常,PIP模块104可以获得关于在自主车辆前方的道路的信息以选择其(多个)感兴趣区域。例如,如果PIP模块104确定道路是直的(例如,通过识别车道标记的曲率或形状),则PIP模块104可以选择和裁剪原始图像的中心区域,该中心区域包括道路或高速公路匝道或交叉口的区域,其中该中心区域具有预定的像素分辨率。在另一个示例中,PIP模块104可以从地形图数据库106获得道路上的点的坐标信息,使得无论道路是弯曲的还是直的,PIP模块104都可以选择和裁剪一个或多个感兴趣区域,所述一个或多个感兴趣区域包括道路或高速公路匝道或交叉口的(多个)区域。在这两个示例中,所选择和裁剪的(多个)区域位于自主车辆的位置前方,并且要么在自主车辆的位置前方超过预定距离,要么在自主车辆的位置前方一预定距离范围内。在图2至图3B中进一步描述了PIP模块104的特征。
图2进一步描述了由PIP模块200执行的操作。存在可以被提供给PIP模块200的四个输入。第一,来自相机204的图像202作为源图像被提供给PIP模块200。第二,PIP模块200接收自主车辆的实时位置206作为从全球定位***(GPS)装置提供的另一个输入,其中由PIP模块200使用该位置来识别自主车辆在地形图上的位置。第三,PIP模块200从车辆位置和相机姿态估计模块(图1中的108)接收内在相机矩阵和外在相机矩阵208,以计算用于获得(多个)感兴趣区域的一个或多个参考点。第四,PIP模块200从地形图数据库210接收地形图的坐标信息。如在图3A和图3B中进一步解释的,PIP模块200执行(多个)参考点计算212以计算所述(多个)参考点在图像202上的(多个)位置。使用所述(多个)参考点的(多个)位置来裁剪(多个)感兴趣区域214。因此,PIP模块200的输出是来自原始输入图像的一个或多个被裁剪的感兴趣区域。
PIP模块可使用预定义的(多个)感兴趣区域来计算一个或多个参考点。预定义的(多个)感兴趣区域可包括在自主车辆前方的区域(例如,在自主车辆前方超过500米或在500米和1000米之间)。一旦PIP模块确定了图像的(多个)感兴趣区域,PIP模块就计算每个区域的对应参考点。PIP模块可通过执行图3A和图3B中所描述的两种示例性技术而使用预定义的(多个)感兴趣区域来选择(多个)感兴趣区域。
图3A示出了第一示例性技术的流程图,该第一示例性技术用以通过使用单个参考点从图像中选择要裁剪的感兴趣区域。在图3A的示例性技术中,PIP模块可以选择参考点,该参考点可为预定义的感兴趣区域的中心点。在获得操作301处,在自主车辆正被驾驶时,PIP模块从位于自主车辆上的相机获得图像。
在确定操作302处,PIP模块确定自主车辆在地形图中的位置。地形图提供在自主车辆正在其中被驾驶的空间区域中的各个点的3D世界坐标,使得可以用3D世界坐标来表征自主车辆的位置。自主车辆在地形图中的位置可基于自主车辆的实时位置或者可与自主车辆的实时位置相同。在一些实施例中,PIP模块从自主车辆中的GPS装置获得实时位置信息。PIP模块可以使用自主车辆的实时位置信息来确定或识别自主车辆在地形图上的位置。车辆的位置和/或实时位置与自主车辆正在其中被驾驶的空间区域相关联,并且自主车辆的位置与由相机102获得图像的时间相关联。
在选择操作304处,PIP模块可以选择图像中的参考点,该参考点对应于距自主车辆的位置的预定距离。例如,参考点可以对应于空间区域中的位于在自主车辆的位置前方750米的预定距离处的点。自主车辆的前方可以是自主车辆正被驾驶朝向的区域。在一些实施例中,参考点可以位于靠自主车辆的一侧。在一些其他实施例中,参考点可以位于在自主车辆的后方并且自主车辆正被驾驶远离的区域中。
在一些实施例中,在选择操作304处,PIP模块可以使用地形图和自主车辆的位置来获得所选择的参考点的3D世界坐标。因此,在上文所描述的示例中,可以首先通过使用地形图和基于自主车辆的位置的定位技术来确定在车辆前方750米处的参考点的3D坐标。接下来,如下文在确定操作306中进一步描述的,可以通过使用相机内在矩阵和外在矩阵来确定该参考在由相机获得的图像中的位置。在一些实施例中,PIP模块可以将参考点选择为在自主车辆的位置前方超过预定距离。在一些实施例中,PIP模块可以将参考点选择为在自主车辆的位置前方一预定距离范围内。
在确定操作306处,PIP模块通过将参考点的3D世界坐标投影到二维(2D)原始图像来确定参考点在2D原始图像上的位置(例如,像素的坐标)。PIP模块可通过使用从车辆位置和相机姿态估计模块108(在图1中)获得的原始图像的相机姿态信息来将参考点的3D世界坐标投影到2D原始图像。相机姿态信息可以包括描述相机相对于世界坐标系的位置和/或取向的相机外在矩阵,其中相机外在矩阵表示相机中心在世界坐标中的位置。因此,例如,可以将参考点的3D世界坐标乘以相机外在矩阵以获得图像平面中的一个点,且然后,通过使用透视投影方程x=f(X/Z)和y=f(Y/Z)来获得该点在图像空间中的2D坐标,其中x和y是该点的2D坐标,且X、Y和Z是该点的相机坐标。
相机姿态信息可以表征在获得操作301处获得图像的相机的光学性质、相机取向和/或位置。相机姿态信息可以包括相机内在矩阵以表征例如相机的光学、几何和/或数字特性。在由PIP模块104执行确定操作306之前(或在图3B的确定操作356之前),车辆位置和相机姿态估计模块108可以基于被车辆位置和相机姿态估计模块108接收的一个或多个先前的被裁剪图像来生成或获得相机姿态信息。
在裁剪操作308处,PIP模块裁剪所获得的图像的对应于感兴趣区域的一部分,其中该感兴趣区域是基于参考点在原始图像上的所确定的位置而识别的。例如,参考点在原始图像上的位置(在选择操作304处确定)被用作中心点,使得PIP模块可以从原始图像裁剪分辨率小于原始图像的分辨率(例如,原始图像的分辨率的一半)的区域,其中参考点的位置在从原始图像裁剪的区域的中心处。
图3B示出了第二示例性技术的流程图,该第二示例性技术用以通过使用至少两个参考点从图像中选择要裁剪的感兴趣区域。在图3B的示例性技术中,PIP模块可以选择多个参考点来确定图像的被裁剪部分的大小。在获得操作351处,在自主车辆正被驾驶时,PIP模块从位于自主车辆上的相机获得图像。在确定操作352处,PIP模块确定自主车辆在地形图中的位置,如针对图3A的确定操作302所描述的。
在选择操作354处,PIP模块可以选择两个参考点,这两个参考点位于距自主车辆的位置两个预定距离处。作为示例,第一参考点和第二参考点可以对应于空间区域中的在自主车辆的位置前方分别位于1000米和500米的预定距离处的点。自主车辆的前方可以是自主车辆正被驾驶朝向的区域。在一些实施例中,两个参考点可以位于靠自主车辆的一侧。在一些其他实施例中,两个参考点可以位于在自主车辆的后方并且自主车辆正被驾驶远离的区域中。因此,预定义的感兴趣区域可以在1000米处具有上界且在500处具有下界。在选择操作354处,PIP模块可以使用地形图和自主车辆的位置来获得两个所选择的参考点的3D世界坐标,如针对图3A的选择操作304所解释的。
在确定操作356处,PIP模块通过将两个参考点的3D世界坐标投影到2D原始图像来确定两个参考点在2D原始图像上的位置(例如,像素的坐标)。PIP模块可通过使用原始图像的相机姿态信息将两个参考点的3D世界坐标投影到2D原始图像,如针对图3A的确定操作306所描述的。
在裁剪操作358处,PIP模块裁剪所获得的图像的对应于感兴趣区域的一部分,其中该感兴趣区域是基于两个参考点在原始图像上的所确定的位置而识别的。两个参考点对应于距自主车辆的位置的第一距离和第二距离,其中第一距离可以与感兴趣区域的上界位置相关联,且第二距离可以与感兴趣区域的下界位置相关联。PIP模块可以使用两个参考点在原始图像上的位置以及预定义的左边界位置和预定义的右边界位置,以获得感兴趣区域的裁剪边界或裁剪区域。因此,在对感兴趣区域的左边界位置和右边界位置不敏感的情况下,PIP模块可以使用裁剪边界来裁剪感兴趣区域。在一些实施例中,裁剪边界或裁剪区域可为框,诸如矩形或正方形。在一些实施例中,裁剪边界或裁剪区域可为圆形或某种其他对称或不对称形状。在一些实施例中,在自主车辆正被驾驶时,由自主车辆中的机载计算机实时执行图3A和图3B中所描述的操作。
在图3A和图3B中所描述的方法的一些实施例中,对所述一个或多个参考点的选择包括:基于地形图和车辆的位置来获得所述一个或多个参考点的三维世界坐标。在图3A和图3B中所描述的方法的一些实施例中,通过以下步骤来确定所述一个或多个参考点在所获得的图像上的所述一个或多个位置:通过使用与所获得的图像相关联的相机姿态信息,将所述一个或多个参考点的三维世界坐标投影到图像,并且该相机姿态信息表征相机的光学性质、取向或位置。
在图3A和图3B中所描述的方法的一些实施例中,单个参考点在所获得的图像上的位置是感兴趣区域的中心点,并且被裁剪部分具有小于所获得的图像的第二分辨率的第一分辨率。
在图3A和图3B中所描述的方法的一些实施例中,两个参考点在所获得的图像上的两个位置分别对应于距车辆的位置的第一距离和第二距离。在图3A和图3B中所描述的方法的一些实施例中,所获得的图像来自车辆正被驾驶朝向的第一区域,或者所获得的图像来自靠车辆的一侧的第二区域,或者所获得的图像来自车辆正被驾驶远离的第三区域。
在图3A和图3B中所描述的方法的一些实施例中,在车辆正被驾驶时,实时执行与获得图像、获得车辆的位置、选择所述一个或多个参考点、确定所述一个或多个位置、以及裁剪所获得的图像的该部分相关联的操作。
在图3A和图3B中所描述的方法的一些实施例中,所述一个或多个预定距离包括500米、750米或1000米。在图3A和图3B中所描述的方法的一些实施例中,车辆是自主半拖车卡车,使得自主半拖车卡车的机载计算机可以执行图3A和/或图3B中所描述的操作以裁剪所获得的图像的一部分,从而使得可以基于从被裁剪图像获得的信息来自主地操作半拖车卡车。
在图3A和图3B中所描述的方法的一些实施例中,可以在地形图中预定义感兴趣区域(例如,匝道或交叉口),使得也可以预先确定感兴趣区域的边界的3D世界坐标。在这种实施例中,当自主车辆的实时位置信息指示自主车辆在这些感兴趣区域中的一个的预定距离内附近时,该区域在图像中的边界可以基于相机姿态信息和该区域的边界的3D世界坐标来计算。
在图3A和图3B中所描述的方法的一些实施例中,PIP模块可以应用平滑技术来稳定被裁剪图像,因为在一些情况下,被裁剪图像可能在时间上是不稳定的。不稳定的被裁剪图像可能是视觉上模糊的,或者可受到振动或抖动的影响。为了改进图像处理,PIP模块可以应用平滑技术来稳定被裁剪图像。
出于几个有益的技术原因,PIP模块裁剪原始图像。第一,通过使PIP模块裁剪原始图像,得以更加高效地使用机载计算机的计算资源来处理图像中的感兴趣区域,而不是处理整个图像。对于自主驾驶,各种计算操作的运行时速度可以很重要。因此,执行各种计算的算法的运行时间应被保持在小范围中而不能太大。第二,在自主驾驶上下文中,机载计算机可能并未对以高帧率(例如,20或更多个像素)拍摄的高分辨率图像(例如,1024×576个像素或2048×1152个像素)充分地实时执行计算或图像处理。
第三,通过将(多个)感兴趣区域裁剪到较低分辨率(例如,512×288个像素),PIP模块可以保留来自原始图像的尽可能多的信息,使得检测模块110可以处理(多个)感兴趣的被裁剪区域以感知小的物体,诸如位于距自主车辆的位置高达1000米处的物体。当对原始图像简单地调整大小时,可能丢失来自原始图像的一些信息。结果,当检测模块110处理调整大小后的图像时,它可能无法感知小的物体,诸如位于距自主车辆的位置高达1000米处的物体。因此,针对PIP模块所描述的裁剪技术的益处是:可以考虑对(多个)感兴趣的被裁剪区域调整大小,而不丢失来自原始图像的很多信息,这至少是因为(多个)感兴趣的被裁剪区域的分辨率通常小于原始图像的分辨率。
第四,对于来自相机的给定图像,可存在对于自主驾驶上下文中的图像处理而言不相关的许多区域。例如,在图4B中,原始图像的唯一相关部分可为裁剪区域404,该裁剪区域包括道路和道路上的物体。因此,在一些实施例中所描述的几种图像处理技术可仅在由裁剪区域404指示的感兴趣区域中而不是在图4B中的包括树木和/或天空的区域上执行。因此,PIP模块可以允许图1中所示的其余模块更加高效地执行其各自的自主图像处理技术以进行自主驾驶。
图4A至图4D示出了其中可以使用画中画特征来选择和裁剪感兴趣区域的几个场景。图4A示出了具有感兴趣区域的所选择的裁剪区域402的原始图像,其中该感兴趣区域被认为相对于自主车辆的位置而位于远距离范围处(例如,在自主车辆前方500米到1000米之间)。图4B示出了具有感兴趣区域的所选择的裁剪区域404的原始图像,其中该感兴趣区域位于十字路口或交叉口的一侧上。原始图像由相机获得,该相机可以获得在自主车辆的一侧上到其中一侧上的图像。当自主车辆接近十字路口或交叉口时,PIP模块可以选择裁剪区域404来裁剪可能与自主车辆的路线相关的(多个)感兴趣区域。因此,一些实施例中提到的相机可位于自主车辆之上或之中,以获得在自主车辆前方或后方或靠两侧的图像。
图4C示出了具有感兴趣区域的所选择的裁剪区域406的原始图像,其中该感兴趣区域被定位为包括高速公路上由自主车辆接近的汇入或汇出匝道。PIP模块可以对裁剪区域406进行裁剪,使得检测模块110(在部分I.(c)中进一步描述)和/或深度估计模块112(在部分I.(e)中进一步描述)可以更有效地感知入口匝道(on-ramp)上的物体。图4D示出了具有感兴趣区域的所选择的裁剪区域408的原始图像,其中该感兴趣区域位于弯路的一部分上。
c.由检测模块进行的图像处理
如图1中所示,示例性远距离感知***包括检测模块110,该检测模块从PIP模块104接收一个或多个感兴趣区域的一个或多个被裁剪图像。在一些实施例中,术语“被裁剪图像”或“被裁剪区域”指代从相机获得的图像的被裁剪部分。检测模块110采用机器学习技术来检测由PIP模块104提供的(多个)被裁剪图像中的物体并围绕(多个)被裁剪图像中的每个被检测物体来放置边界框。例如,检测模块110可通过使用深度学习神经网络(与每个被裁剪部分相关的数据通过该深度学习神经网络)来检测图像的被裁剪部分中的一个或多个物体,其中该深度学习神经网络可包括输入神经网络层、两个或更多个隐藏的神经网络层、以及输出神经网络层。在本专利文件中,术语“边界框”或任何类型的边界可包括四拐角式几何形状或圆形形状或任何对称或不对称形状。
检测模块110接收被裁剪图像作为输入,并输出检测模块110检测到的每个物体的一个或多个边界框。例如,检测模块110的深度学习神经网络可以在被裁剪图像中识别几种类型的物体,诸如汽车、卡车、卡车拖车、半卡车、紧急车辆、行人、摩托车或道路上的障碍物。深度学习神经网络还可以围绕被裁剪图像中的每个所识别的物体添加边界框,其中边界框表示对应被检测物体在从PIP模块104获得的被裁剪图像中的位置。边界框的示例包括立方体、正方形、长方体或矩形。
检测模块110可以对来自车载相机的实时图像馈送执行图像处理,以检测实时图像馈送中存在的物体。检测模块110还可以保留被检测物体在实时图像馈送的不同图像区域中的空间信息,这至少是因为不同相机可以得到单个物体的检测结果。结果,可以保留检测结果及其投影结果的信息。如在部分I.(e).中进一步描述的,深度估计模块112(在图1中示出)可以从检测模块110接收与所述一个或多个边界框相关的信息。对于每个边界框,深度估计模块112可以确定被检测物体在图像中的位置。
在一些实施例中,分割技术可以用于检测物体并获得被检测物体的边界框信息。在美国专利公开号2018/0336421和2018/0365835中描述了示例性分割技术。这些文件的内容通过引用整体地并入本专利文件中。
d.由车辆位置和相机姿态估计模块提供的信息
在图1中,示例性远距离感知***包括车辆位置和相机姿态估计模块108,该车辆位置和相机姿态估计模块可以基于从PIP模块104接收到的被裁剪图像来生成或获得相机姿态信息。如图1中所示,车辆位置和相机姿态估计模块108将当前被裁剪图像的相机姿态信息发送到深度估计模块112。车辆位置和相机姿态估计模块108还可以将当前被裁剪图像的相机姿态信息反馈到PIP模块104,使得PIP模块104可以将相机姿态信息用于由PIP模块104获得的下一个被裁剪图像,如上文在部分I.(b)中所描述的。如上文在部分I.(b)中所解释的,相机姿态信息可以包括内在相机矩阵和/或外在相机矩阵。车辆位置和相机姿态估计模块108还可以计算自主卡车的准确位置,并且可以将此信息提供给PIP模块104。
e.由深度估计模块进行的图像处理
自主车辆可以检测和定位包围自主车辆的物体(例如,车辆、行人、障碍物)的位置,使得自主车辆可以绕过这种物体安全地驾驶或与这种物体一同安全地驾驶。在图1中,示例性远距离感知***包括深度估计模块112,该深度估计模块可以计算由检测模块110检测到的物体在世界坐标中的3D位置。因此,深度估计模块112可以确定和/或生成由检测模块110在被裁剪图像中所感知的每个物体的对应3D位置的估计值。
图5进一步描述了由远距离感知***的深度估计模块执行的操作。深度估计模块500可以基于地形图信息、相机姿态信息和被检测物体的边界框信息来执行其操作。基于接收到的数据,深度估计模块500可以输出被裁剪图像中的一个或多个被检测物体的3D位置514的估计值。在一些实施例中,深度估计模块500可从相机接收具有边界框信息的图像,而不使这些图像由PIP模块200进行裁剪。因此,在被裁剪图像的上下文中在该深度估计部分I.(e).中所描述的技术可以用于确定围绕物体的边界框的一个或多个点的3D位置,该物***于由深度估计模块500从相机接收到的原始未裁剪图像中。
由于原始图像或被裁剪图像可与在500米和1000米之间的距离相关联(如在部分I.(b)中所描述的),因此在原始图像或被裁剪图像中的被检测物体也可位于在距自主车辆的位置500米和1000米之间的距离处。在一些实施例中,在原始图像或被裁剪图像中的被检测物体可以位于高达、包括以及远于1000米的距离处。
深度估计模块500基于针对被裁剪图像中的每个被检测物体接收到的边界框信息504来执行参考点计算506,其中边界框信息504是从检测模块(图1中的110)接收到的。边界框信息504可包括位于边界框的拐角处的顶点的图像平面位置。基于顶点的位置,深度估计模块500可以确定或者可以获得一个或多个参考点在边界框上的一个或多个位置。如图6中所示,参考点602可以是目标物体上的点,诸如与道路表面接触的目标物体的后轮胎中的一个或者在目标物体的两个后轮胎之间的点。例如,参考点602可以是在包围被检测物体的边界框的底线的两个顶点之间的中点。在一些实施例中,参考点602可以是包围被检测物体的边界框的底线上的点。目标物体的参考点602的3D位置可以对应于该车辆的位置。因此,如在该部分中进一步描述的,深度估计模块500可以确定给定的边界框的一个或多个参考点的3D位置,以获得目标物体或被检测物体的位置的估计值。深度估计模块500可使用几种参考点来确定给定的边界框的3D位置的估计值。例如,深度估计模块500可使用车辆的四个轮胎与道路表面的接触点、或者四个接触点的中心底部点、或者(多个)后轮胎与道路表面的两个接触点的中心。
深度估计模块500通过计算参考点在图像平面中的位置来执行参考点计算506。例如,图6中的参考点604在被裁剪图像上的位置(x,y)可以是如下的:
x=mean(x1,x2)
y=mean(y1,y2)
其中[x1,y1,x2,y2...]是图像平面606中的给定的边界框,其中(x1,y1)可以指代边界框的左下方,(x2,y2)可以指代边界框的右下方,且位置(x,y)可以描述后轮胎与道路表面的两个接触点的中心。
深度估计模块500基于相机姿态信息502以及基于参考点的从参考点计算506接收到的位置(x,y)来执行射线计算508。相机姿态信息502是从车辆位置和相机姿态估计模块(图1中的108)接收到的。相机姿态信息502包括相机内在矩阵、相机外在矩阵和/或相机失真。相机内在矩阵和外在矩阵是为由相机提供的每个图像实时提供的,因为这些相机矩阵可从一个图像到另一个图像而不同。相机内在矩阵表征光学性质,且相机外在矩阵表征相机取向和/或相机的位置,当相机在自主车辆上经历振动和/或其他真实世界影响时,所述光学性质、相机取向和/或相机的位置可在图像之间不同。因此,为每个图像实时提供相机内在矩阵和外在矩阵的益处是:可以由深度估计模块110使用这种信息以在自主车辆正被驾驶时消除相机的振动的影响,从而可以导致更精确的3D位置估计。
深度估计模块500执行射线计算508以基于相机内在矩阵来确定射线612穿过的参考点位置(x,y)的相机坐标。如图6中所示,相机坐标描述了相机坐标平面608上的点,其中这些点包括相机中心,其中该相机坐标平面位于在图像平面606后面或远离图像平面606一焦距距离处,其中焦距描述了相机的(多个)镜头的光学性质,并且其中相机坐标平面608可以平行于图像平面。如图6中所示,图像上的参考点604对应于3D空间或3D世界坐标中的射线612。射线612上的不同点相对于图像平面606的深度对应于3D世界坐标空间中的不同点。射线612的起始点是相机中心(在图6中被示为610),这可以意味着在3D世界坐标中射线上的所有点都由图像平面606中的同一点表示,其中相机坐标中的在图像平面606中的点表示3D世界坐标中的对应射线612。因此,深度估计模块500执行射线计算508以通过使用相机内在矩阵来确定射线612穿过的参考点位置(x,y)的相机坐标。在射线计算操作508处,深度估计模块500通过使用相机外在矩阵将参考点位置(x,y)的所确定的相机坐标转化或转换为3D世界坐标。
深度估计模块500执行3D位置计算512,以确定射线与道路表面的交点。如果射线上的参考点是参考点位置(x,y),则参考点可以被认为是物体与道路表面接触或最靠近道路表面的点。如下文进一步解释的,3D位置计算512从地形图数据库510接收地形图信息,其中地形图信息提供自主车辆正在其上或其附近被驾驶的道路表面上的每个点的3D位置信息。
深度估计模块500以几种方式中的一种方式执行3D位置计算512,以找到参考点位置(x,y)和道路表面之间的交点。例如,深度估计模块500可以在3D世界坐标中对射线上的几个点进行采样或获得射线上的几个点。对于每个被采样点,深度估计模块500可以通过使用被采样点的3D世界坐标连同来自地形图数据库510的地形图信息来找到对应的道路表面点的3D世界坐标。深度估计模块500计算每个被采样点的世界坐标和其对应的道路表面点在地形图中的世界坐标之间的高度差。接下来,深度估计模块500确定具有最小高度差的被采样点。具有最小高度差的被采样点的3D世界坐标被认为与参考点位置(x,y)和道路表面之间的交点的3D世界坐标相同。由深度估计模块500确定的交点的3D世界坐标可以被认为是被检测物体在包括自主车辆的空间区域中的3D位置的估计值。
在一些实施例中,可以通过计算参考点位置(x,y)和道路表面之间的交点来确定参考点位置。在这种实施例中,确定包围自主车辆的位置的地形的地形表面(g(x,y)),并且通过找到射线(f(x,y))和拟合的地形表面(g(x,y))的交点来以数学方式确定交点。在这种实施例中,射线穿过相机中心点和参考点位置(x,y),其中射线上的两个或更多个点的3D世界坐标可以用于确定描述射线的数学函数f。另一个函数g可以表示包括目标物体(在图6中示出)周围的两个或更多个地形点的平面或表面。在一些实施例中,可以从包围目标物体的边界框获得地形点的3D世界坐标。例如,深度估计模块500可以通过从边界框信息504确定位于边界框的最靠近道路表面的线上的两个或更多个参考点(例如,沿着矩形边界框或正方形边界框的基部的参考点)来确定目标物体下方的地形点的3D世界坐标。
深度估计模块500可以通过找到两个函数f和g的交点的数学解来执行射线和拟合的地形表面(g(x,y))的交点的3D位置计算512。深度估计模块500可以从地形图确定或获得该交点的3D世界坐标。深度估计模块500确定参考点位置的3D世界坐标与两个数学函数f和g的交点的3D世界坐标相同。因此,交点的3D世界坐标可以被认为是被检测物体在包括自主车辆的空间区域中的3D位置的估计值。
在该深度估计部分I.(e).中所描述的技术可以用于确定边界框的其他点的3D位置。例如,深度估计模块500可以确定左后轮胎和右后轮胎的3D位置,左后轮胎和右后轮胎对应于边界框的左后顶点和右后顶点。在另一个示例中,如果边界框是立方体或长方体,则在该深度估计部分I.(e).中所描述的技术可以用于计算边界框的最靠近道路表面的所有四个底部顶点的3D位置。在一些实施例中,射线计算508可以通过考虑到由相机姿态信息提供的相机失真信息(例如,相机失真系数)来确定射线穿过的参考点位置(x,y)。
图7示出了示例性技术的流程图,该示例性技术用以识别一个或多个参考点在被检测物体的边界框上的3D位置。在接收操作702处,深度估计模块接收描述位于图像中的被检测物体周围的边界框的边界框信息,其中该边界框信息是在车辆正被驾驶时接收到的。在一些实施例中,从自位于车辆上的相机接收到的第二图像来裁剪该图像,并且在车辆正被驾驶时裁剪该图像。在确定操作704处,深度估计模块从边界框信息以及在图像中确定一个或多个参考点在边界框上的一个或多个位置。
深度估计模块针对每个参考点的每个所确定的位置执行操作706至710。在确定操作706处,深度估计模块确定穿过参考点的位置的射线上的相机中心点的相机坐标。相机中心点位于相机坐标平面上,该相机坐标平面位于远离接收到图像的图像平面一焦距距离处。在确定操作708处,深度估计模块至少基于相机坐标来确定参考点的位置的第一世界坐标。在确定操作710处,深度估计模块基于地形图和参考点的位置的至少第一世界坐标来确定参考点和道路表面的交点的第二世界坐标。该地形图提供在车辆正在其中被驾驶的空间区域中的点的坐标。
在分配操作712处,深度估计模块将所述一个或多个参考点中的每一个的第二世界坐标分配给被检测物体在空间区域中的位置。
在图7中所描述的方法的一些实施例中,通过以下步骤来确定交点的第二世界坐标:沿着射线获得第一组点,其中参考点属于该第一组点;确定对应于第一组点的第一组世界坐标,其中第一世界坐标属于该第一组世界坐标;基于地形图且对应于第一组点来确定道路表面上的第二组点;确定对应于第二组点的第二组世界坐标;确定与第一组世界坐标相关联的每个点和与第二组世界坐标相关联的对应点之间的多个高度;从所述多个高度中确定最小高度;从与该最小高度相关联的第二组点中识别一个点;以及获得该点的世界坐标,其中第二世界坐标被确定为与该点的世界坐标相同。
在图7中所描述的方法的一些其他实施例中,通过以下步骤来确定交点的第二世界坐标:确定描述射线的第一数学函数;基于地形图来确定边界框上的两个或更多个点的世界坐标;确定描述包括所述两个或更多个点的平面的第二数学函数;确定第一数学函数和第二数学函数的交点;以及获得该交点的世界坐标,其中第二世界坐标被确定为与该交点的世界坐标相同。在图7中所描述的方法的一些实施例中,通过以下步骤来确定交点的第二世界坐标:确定射线和边界框上的两个或更多个点的交点;以及获得该交点的世界坐标,其中第二世界坐标被确定为与该交点的世界坐标相同。
在图7中所描述的方法的一些实施例中,边界框包括位于边界框的多个拐角处的多个顶点,所述一个或多个参考点包括位于边界框的两个顶点之间的中点处的参考点,并且与边界框的其他顶点相比,这两个顶点最靠近道路的表面。在图7中所描述的方法的一些实施例中,相机内在矩阵用于确定相机中心点在相机坐标平面中的相机坐标,且相机外在矩阵与相机坐标一起用于确定参考点的第一世界坐标。
在图7中所描述的方法的一些实施例中,被检测物体包括汽车、卡车、卡车拖车、半卡车、紧急车辆、行人、摩托车或道路上的障碍物。在图7中所描述的方法的一些实施例中,被检测物体包括另一个车辆。在图7中所描述的方法的一些实施例中,车辆是自主半拖车卡车,使得自主半拖车卡车的机载计算机可以执行图7中所描述的操作以确定物体在半拖车卡车正在其中被驾驶的空间区域中的位置,从而使得可以基于物体的位置来自主地操作半拖车卡车。
在图7中所描述的方法的一些实施例中,图像来自车辆正被驾驶朝向的第一区域,或者其中图像来自靠车辆的一侧的第二区域,或者其中图像来自车辆正被驾驶远离的第三区域。在图7中所描述的方法的一些实施例中,在车辆正被驾驶时,实时执行与接收边界框信息、确定所述一个或多个位置、确定相机坐标、确定第二世界坐标、以及分配第二世界坐标相关联的操作。在图7中所描述的方法的一些实施例中,图像中的被检测物***于在500米和1000米之间的距离处。
在一些实施例中,如在该深度估计部分I.(e).中所描述的,将来自2D图像平面的参考点投影到3D空间,并且确定所投影的射线和道路表面的交点。在一些实施例中,深度估计模块可以将3D地形点投影到2D图像平面,并使用参考点找到与参考点最靠近的地形点以作为参考点的3D位置。这两种方法都可使用单个相机和地形图来执行3D位置估计。
针对深度估计模块所描述的图像处理技术的益处是:对从相机而非从其他种类的传感器(例如,LiDAR)接收到的图像执行图像处理,这些传感器往往比相机更昂贵。结果,深度估计模块可以帮助将自主车辆***的成本保持为低的。深度估计模块的另一个益处是:由于它可以接收描述在自主车辆前方约1000米的位置的被裁剪图像,因此深度估计模块可以估计位于约1000米或甚至更远的半径内的物体的3D位置。因此,深度估计模块可以促进对自主车辆的远距离感知。深度估计模块的另一个益处是:它可以在相对短的时间段内执行计算,因为这些计算往往很少。通过将计算时间保持到最低限度,深度估计模块可以在自主车辆正被驾驶时实时执行图像处理。
图8示出了包括在自主车辆中的计算机或服务器800的示例性框图。计算机800包括至少一个处理器810和具有存储在其上的指令的存储器805。这些指令在由处理器810执行时将计算机800配置为执行针对各种模块所描述的操作(如图1至图7和图9至图11中所描述)和/或在本专利文件中的各种实施例或部分中所描述的操作。
图9示出了示例性技术的流程图,该示例性技术用以裁剪图像的一部分、检测被裁剪部分中的物体并围绕该物体添加边界框、以及识别一个或多个参考点在被检测物体的边界框上的3D位置。在获得操作902处,在车辆正被驾驶时,从位于车辆上的相机获得图像。
裁剪操作904包括:裁剪所获得的图像的对应于感兴趣区域的一部分,该感兴趣区域是基于在所获得的图像上选择的第一组一个或多个参考点的一个或多个位置而识别的。在一些实施例中,通过基于地形图和车辆的位置获得第一组一个或多个参考点的三维世界坐标来选择第一组一个或多个参考点,其中该地形图提供在车辆正在其中被驾驶的空间区域中的点的坐标。在一些实施例中,通过以下步骤来确定第一组一个或多个参考点在所获得的图像上的所述一个或多个位置:通过使用与所获得的图像相关联的相机姿态信息,将第一组一个或多个参考点的三维世界坐标投影到图像,并且该相机姿态信息表征相机的光学性质、取向或位置。
在一些实施例中,第一组的单个参考点在所获得的图像上的位置是感兴趣区域的中心点,并且被裁剪部分具有小于所获得的图像的第二分辨率的第一分辨率。在一些实施例中,第一组的两个参考点在所获得的图像上的两个位置分别对应于距车辆的位置的第一距离和第二距离。
在检测操作906处,在图像的被裁剪部分中检测物体。在一些实施例中,基于机器学习技术在图像的被裁剪部分中检测物体。在添加操作908处,围绕在图像的被裁剪部分中的被检测物体添加边界框。
确定操作910包括:从边界框以及在图像的被裁剪部分中确定第二组一个或多个参考点在边界框上的一个或多个位置。在一些实施例中,边界框包括位于边界框的多个拐角处的多个顶点,第二组一个或多个参考点包括位于边界框的两个顶点之间的中点处的参考点,并且与边界框的其他顶点相比,这两个顶点最靠近道路的表面。
确定操作912包括:基于第二组一个或多个参考点在边界框上的所确定的一个或多个位置来确定被检测物体在车辆正在其中被驾驶的空间区域中的位置。在一些实施例中,通过针对第二组的每个参考点的每个所确定的位置执行操作912(a)至912(c),来确定被检测物体的位置。确定操作912(a)包括:确定位于穿过参考点的位置的射线上的相机中心点的相机坐标,其中该相机中心点位于相机坐标平面上,该相机坐标平面位于远离接收到图像的图像平面一焦距距离处。在一些实施例中,相机内在矩阵用于确定相机中心点在相机坐标平面中的相机坐标,且相机外在矩阵与相机坐标一起用于确定参考点的第一世界坐标。
确定操作912(b)包括:至少基于相机坐标来确定参考点的位置的第一世界坐标。确定操作912(c)包括:基于地形图来确定参考点和道路表面的交点的第二世界坐标,其中该地形图提供在车辆正在其中被驾驶的空间区域中的点的坐标。
在一些实施例中,通过以下步骤来确定交点的第二世界坐标:沿着射线获得第一组点,其中第二组的参考点属于该第一组点;确定对应于第一组点的第一组世界坐标,其中第一世界坐标属于该第一组世界坐标;基于地形图且对应于第一组点来确定道路表面上的第二组点;确定对应于第二组点的第二组世界坐标;确定与第一组世界坐标相关联的每个点和与第二组世界坐标相关联的对应点之间的多个高度;从所述多个高度中确定最小高度;从与该最小高度相关联的第二组点中识别一个点;以及获得该点的世界坐标,其中第二世界坐标被确定为与该点的世界坐标相同。
在一些实施例中,通过以下步骤来确定交点的第二世界坐标:确定描述射线的第一数学函数;基于地形图来确定边界框上的两个或更多个点的世界坐标;确定描述包括所述两个或更多个点的平面的第二数学函数;确定第一数学函数和第二数学函数的交点;以及获得该交点的世界坐标,其中第二世界坐标被确定为与该交点的世界坐标相同。
在分配操作918处,将第二组一个或多个参考点的第二世界坐标分配给被检测物体在空间区域中的位置。
在一些实施例中,被检测物体包括汽车、卡车、卡车拖车、半卡车、紧急车辆、行人、摩托车或道路上的障碍物。在一些实施例中,车辆是自主半拖车卡车。在一些实施例中,图像来自车辆正被驾驶朝向的第一区域,或者其中图像来自靠车辆的一侧的第二区域,或者其中图像来自车辆正被驾驶远离的第三区域。
在一些实施例中,在车辆正被驾驶时,实时执行与裁剪该部分、检测物体、添加边界框、确定所述一个或多个位置、确定相机坐标、确定第二世界坐标、以及分配第二世界坐标相关联的操作。在一些实施例中,在图像的被裁剪部分中的被检测物***于在500米和1000米之间的距离处。
f.由画中画模块进行的第二示例图像处理技术
本专利文件中所描述的PIP模块可以在自主驾驶期间使用地图相关信息、定位信息和导航信息以提供高效的图像处理框架,如在该部分中进一步描述的。
自主驾驶***可包括多对相机,其中一对相机可具有不同于另一对相机的镜头。为了冗余,每对相机可在感知范围上有重叠。在在线自主驾驶***的一般感知管线中,来自相机的输出图像可以被馈送到图1中所描述的模块(诸如,用于裁剪、物体检测和/或分割的模块)中。然而,在一些场景中,只有一部分图像与自主驾驶操作相关,且对于每个图像而言,只有一部分图像可以与自主驾驶操作相关。图像的相关部分可以被称为感兴趣区域(ROI),其可以包括道路上的车道、道路标记、行人、车辆以及会影响自主驾驶操作或行为的其他物体。因此,在图像中可存在与自主驾驶可能不相关的区域(例如,天空、树木等)。
因此,在一些场景中,可能不需要对所有图像和/或对整个图像执行本专利文件中针对各种模块所描述的图像处理。此外,如果在由不同相机获得的图像之间发生ROI重叠,则可以忽略来自相机中的一个的ROI,因为可以处理来自另一相机的ROI。通过这样做,可以改进计算效率,并且可以改进自主驾驶管线的延时。以下技术描述可以用于在在线自主驾驶***的相机图像中检测和选择ROI。
图10示出了用以检测和选择图像中的ROI的流程图的示例。在操作1002处,PIP模块可以在自主驾驶期间使用定位技术和地图信息来定位自主车辆。在一些实施例中,PIP模块可从自主车辆中的GPS装置获得实时位置信息。由于由PIP模块获得的每个图像都可以与指示何时获得该图像的时间戳值相关联,因此PIP模块还可以针对每个时间戳获得自主车辆的3D世界坐标。基于自主车辆的3D世界坐标,PIP模块可以通过查询地图数据库(例如,地形图数据库)来执行操作1004,以获得包围自主车辆的地标(例如,有杆车道)、道路标记、道路标志、交通灯等)(例如,位于自主车辆前方或后面或旁边)的3D世界坐标位置。在一些实施例中,PIP模块可以查询地图数据库以获得在自主车辆的位置的预定距离(例如,500米、750米、1000米等)内的地标的3D世界坐标。
在得到周围地标的3D坐标之后,PIP模块可以通过选择可能影响自主车辆的行为或可能具有影响自主车辆的行为的潜在性的地标中的一些或全部来执行过滤操作1006。在一些实施例中,影响自主车辆行为或具有影响自主车辆行为的潜在性的一组地标可先前存储在位于自主车辆中的机载计算机中。例如,当自主车辆在高速公路上时,前方汇入匝道可能影响该自主车辆,这至少是因为汽车可在自主车辆前方汇入。在这种示例中,自主车辆可选择变更车道,以便避免与汇入车辆发生碰撞的潜在性。在另一个示例中,当自主车辆接近局部区域中的十字路口时,交通灯或停车标志也可能对该自主车辆具有影响。因此,基于被认为对自主车辆具有影响的一组先前存储的地标,PIP模块可以选择图像中可能影响自主车辆行为的地标。
在PIP模块选择包围自主车辆并且可能影响自主车辆操作的地标之后,PIP模块可以通过使用本专利文件中所描述的技术使用例如计算机视觉算法将所选择的地标的3D坐标投影到图像中来执行投影操作1008。因此,PIP模块可以获得所选择的地标在图像中的位置,这些地标被认为是图像中的相关ROI。
在PIP模块获得所选择的地标的位置之后,PIP模块执行裁剪操作1010,其中PIP模块选择和/或裁剪ROI。PIP模块可以在图像中选择有限数量的裁剪以覆盖尽可能多的ROI。PIP模块可以使用例如集合覆盖技术和/或贪婪算法以选择一个或多个区域来裁剪出一个或多个ROI。
当自主车辆的机载相机正提供自主车辆周围的区域的图像时,PIP模块可以实时执行图10中所描述的操作。在示例实施例中,PIP模块可以分配来自相机的图像可以被处理的顺序,如下文进一步描述的。在第一步骤中,PIP模块可以定义由相机获得的图像的顺序。例如,如果5个不同相机中的每一个针对一个时间戳产生5个图像,则PIP模块可以将图像顺序定义为1、2、3、4、5,其中每个数字可以表示一个相机图像的索引。在第二步骤中,PIP模块可以使用图10中所描述的操作在每个相机的图像1中定位相关ROI。在第三步骤中,PIP模块可以去除由先前图像选择或裁剪的ROI,这些先前图像是在获得图像1-5之前适时地获得的。这些先前图像可由获得图像1的同一个相机或由另一个相机获得。如果当前图像中没有留下ROI,则PIP模块确定不继续处理当前图像并移到下一个图像(例如,图像2)。如果PIP模块确定当前图像中留下了一些ROI,则PIP模块可以确定尽可能少的裁剪以覆盖所有剩余的ROI,其中这些裁剪是针对该图像的选择结果。PIP模块可以针对其他图像(例如,图像2-5)中的每一个而重复上文提到的三个步骤。
使用该部分I.e.中所描述的技术有几个技术优点。所描述的技术可以用于检测和选择ROI,并且它可以减少在线计算资源的浪费,这至少是因为感知算法(诸如,图像检测和分割)往往严重依赖于图形处理器单元(GPU)或类似装置。所描述的技术还可以减少感知管线的在线计算运行时间和延时。最后,通过将被裁剪图像而不是整个图像馈送到感知算法中,所描述的技术可以增加感知范围(例如,高达1000米甚至更远)。
图11示出了示例性技术,该示例性技术用以通过确定位于自主车辆周围的感兴趣区域并且通过对所确定的感兴趣区域中的至少一些进行过滤来裁剪图像的一部分。在操作1102处,在车辆正被驾驶时,PIP模块从位于车辆上的相机获得图像,其中该图像与描述何时获得图像的时间相关联。在操作1104处,PIP模块确定车辆在车辆正在其中被驾驶的空间区域中的位置,其中该位置与获得图像的时间相关联。
在操作1106处,PIP模块确定多个感兴趣区域(ROI)相对于车辆的位置的存在。在一些实施例中,所述多个ROI的存在是通过查询数据库并获得位于距车辆的位置一预定距离内的所述多个ROI的三维世界坐标来确定的。在一些实施例中,所述多个ROI在图像中的位置是通过将所述多个ROI的三维世界坐标投影到图像来确定的。在一些实施例中,预定距离包括500米、750米或1000米。在一些实施例中,所述多个ROI包括高速公路入口匝道、交通灯、停车标志、道路车道、道路标志或道路标记,并且所述一个或多个ROI包括高速公路入口匝道、交通灯或停车标志。
在一些实施例中,所述多个ROI的存在是通过查询数据库并获得位于距车辆的位置一预定距离内的所述多个ROI的三维世界坐标来确定的。
在操作1108处,PIP模块在图像中确定来自所述多个ROI的一个或多个ROI的位置。在一些实施例中,所述一个或多个ROI是响应于确定所述一个或多个ROI影响车辆的操作或具有影响车辆的操作的潜在性而从所述多个ROI中选择的。在一些实施例中,在确定所述一个或多个ROI的位置之前,该方法包括:响应于确定所述一个或多个ROI影响车辆的操作或具有影响车辆的操作的潜在性,从所述多个ROI中选择所述一个或多个ROI。在一些实施例中,所述一个或多个ROI影响车辆的操作或具有影响车辆的操作的潜在性。在操作1110处,PIP模块裁剪图像的与来自所述一个或多个ROI的第一ROI相关联的一部分。
在一些实施例中,在确定所述一个或多个ROI在图像中的位置之后,该方法进一步包括:确定该图像包括来自所述一个或多个ROI的第二ROI,该第二ROI与在第二图像中选择或裁剪的ROI相同,该第二图像是在获得该图像的时间之前的第二时间获得的;以及确定在裁剪图像的与第一ROI相关联的部分之前该第二ROI从所述一个或多个ROI中被排除。在一些实施例中,第二图像由位于车辆上的另一个相机获得。在一些实施例中,第二图像由位于车辆上的相机获得。
在一些实施例中,该方法进一步包括:选择相对于车辆的位置而位于一个或多个预定距离处的一个或多个参考点;确定所述一个或多个参考点在图像上的一个或多个位置;以及裁剪图像的对应于另一个ROI的另一个部分,该另一个ROI是基于所述一个或多个参考点在图像上的所述一个或多个位置而识别的。在一些实施例中,对所述一个或多个参考点的选择包括基于地形图和车辆的位置来获得所述一个或多个参考点的三维世界坐标,通过以下步骤来确定所述一个或多个参考点在图像上的所述一个或多个位置:通过使用与图像相关联的相机姿态信息,将所述一个或多个参考点的三维世界坐标投影到图像,并且该相机姿态信息表征相机的光学性质、取向或位置。在一些实施例中,单个参考点在图像上的位置是另一个ROI的中心点。在一些实施例中,所述一个或多个预定距离包括500米、750米或1000米。
在一些实施例中,该方法进一步包括:确定该图像包括来自所述一个或多个ROI的第二ROI,该第二ROI与在第二图像中选择或裁剪的ROI相同,该第二图像是在获得该图像的时间之前的第二时间获得的;以及确定在裁剪图像的与第一ROI相关联的部分之前该第二ROI从所述一个或多个ROI中被排除。在一些实施例中,图像来自车辆正被驾驶朝向的第一区域,或者图像来自靠车辆的一侧的第二区域,或者图像来自车辆正被驾驶远离的第三区域。
在本文件中,术语“示例性”用于意指“……的示例”,并且除非另有陈述,否则并不暗示理想的或优选的实施例。
本文中所描述的一些实施例是在方法或过程的一般上下文中描述的,所述方法或过程可在一个实施例中由体现在计算机可读介质中的计算机程序产品实施,该计算机程序产品包括由联网环境中的计算机执行的计算机可执行指令(诸如,程序代码)。计算机可读介质可包括可移除和不可移除的存储装置,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、紧凑型光盘(CD)、数字通用光盘(DVD)等。因此,计算机可读介质可以包括非暂态存储介质。通常,程序模块可包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。计算机或处理器可执行指令、相关联的数据结构和程序模块表示用于执行本文中所公开的方法的步骤的程序代码的示例。这种可执行指令或相关联的数据结构的特定序列表示用于实施在这种步骤或过程中所描述的功能的对应动作的示例。
所公开的实施例中的一些可以使用硬件电路、软件或其组合被实施为装置或模块。例如,硬件电路实施方式可以包括例如作为印刷电路板的一部分被集成的离散的模拟和/或数字部件。替代地或附加地,所公开的部件或模块可以被实施为专用集成电路(ASIC)和/或被实施为现场可编程门阵列(FPGA)装置。一些实施方式可附加地或替代地包括数字信号处理器(DSP),该DSP是专用微处理器,其具有针对与本申请的公开功能相关联的数字信号处理的操作需求而优化的架构。类似地,每个模块内的各种部件或子部件可以以软件、硬件或固件来实施。可使用本领域中已知的任何一种连接方法和介质来提供模块之间和/或模块内的部件之间的连接,包括但不限于通过因特网、有线或无线网络使用适当的协议的通信。
尽管本文件包含许多细节,但是这些细节不应被解释为对要求保护的发明或可要求保护的内容的范围的限制,而是作为特定于特定实施例的特征的描述。在单独的实施例的上下文中在本文件中所描述的某些特征也可以在单个实施例中以组合实施。相反,在单个实施例的上下文中所描述的各种特征在多个实施例中也可以单独地或以任何合适的子组合实施。此外,虽然上文可将特征描述为以某些组合起作用且甚至最初照此要求保护,但是在一些情况下,可以从该组合中删除来自要求保护的组合的一个或多个特征,并且要求保护的组合可涉及子组合或子组合的变型。类似地,尽管在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或以连续的顺序执行这种操作,或者执行所有图示的操作,以实现期望的结果。
仅描述了几个实施方式和示例,并且可以基于本公开中所描述和图示的内容来产生其他实施方式、增强和变化。
Claims (20)
1.一种图像处理方法,包括:
在车辆正被驾驶时,从位于所述车辆上的相机获得图像;
裁剪所获得的图像的对应于感兴趣区域的一部分,所述感兴趣区域是基于在所获得的图像上选择的第一组一个或多个参考点的一个或多个位置而识别的;
在所述图像的被裁剪部分中检测物体;
围绕在所述图像的被裁剪部分中的被检测物体添加边界框;
从所述边界框以及在所述图像的被裁剪部分中,确定第二组一个或多个参考点在所述边界框上的一个或多个位置;以及
基于所述第二组一个或多个参考点在所述边界框上的所确定的一个或多个位置,来确定被检测物体在所述车辆正在其中被驾驶的空间区域中的位置。
2.根据权利要求1所述的方法,其中通过执行以下来确定被检测物体的所述位置:
针对所述第二组的每个参考点的每个所确定的位置:
确定位于穿过参考点的位置的射线上的相机中心点的相机坐标,其中所述相机中心点位于相机坐标平面上,所述相机坐标平面位于远离接收到所述图像的图像平面一焦距距离处;
至少基于所述相机坐标来确定所述参考点的所述位置的第一世界坐标;以及
基于地形图来确定所述参考点和道路表面的交点的第二世界坐标,其中所述地形图提供在所述车辆正在其中被驾驶的所述空间区域中的点的坐标;以及
将所述第二组一个或多个参考点的所述第二世界坐标分配给被检测物体在所述空间区域中的所述位置。
3.根据权利要求2所述的方法,其中通过以下来确定所述交点的所述第二世界坐标:
沿着所述射线获得第一组点,其中所述第二组的所述参考点属于所述第一组点;
确定对应于所述第一组点的第一组世界坐标,其中所述第一世界坐标属于所述第一组世界坐标;
基于所述地形图且对应于所述第一组点来确定所述道路表面上的第二组点;
确定对应于所述第二组点的第二组世界坐标;
确定与所述第一组世界坐标相关联的每个点和与所述第二组世界坐标相关联的对应点之间的多个高度;
从所述多个高度中确定最小高度;
从与所述最小高度相关联的所述第二组点中识别一个点;以及
获得所述点的世界坐标,其中所述第二世界坐标被确定为与所述点的所述世界坐标相同。
4.根据权利要求2所述的方法,其中通过以下来确定所述交点的所述第二世界坐标:
确定描述所述射线的第一数学函数;
基于所述地形图来确定所述边界框上的两个或更多个点的世界坐标;
确定描述包括所述两个或更多个点的平面的第二数学函数;
确定所述第一数学函数和所述第二数学函数的交点;以及
获得所述交点的世界坐标,其中所述第二世界坐标被确定为与所述交点的所述世界坐标相同。
5.根据权利要求2所述的方法,其中相机内在矩阵用于确定所述相机中心点在所述相机坐标平面中的所述相机坐标。
6.根据权利要求2所述的方法,其中相机外在矩阵与所述相机坐标一起用于确定所述参考点的所述第一世界坐标。
7.一种非暂态计算机可读存储介质,具有存储在其上的代码,所述代码在由处理器执行时致使所述处理器实施一种方法,所述方法包括:
在车辆正被驾驶时,从位于所述车辆上的相机获得图像;
裁剪所获得的图像的对应于感兴趣区域的一部分,所述感兴趣区域是基于在所获得的图像上选择的第一组一个或多个参考点的一个或多个位置而识别的;
在所述图像的被裁剪部分中检测物体;
围绕在所述图像的被裁剪部分中的被检测物体添加边界框;
从所述边界框以及在所述图像的被裁剪部分中,确定第二组一个或多个参考点在所述边界框上的一个或多个位置;以及
基于所述第二组一个或多个参考点在所述边界框上的所确定的一个或多个位置,来确定被检测物体在所述车辆正在其中被驾驶的空间区域中的位置。
8.根据权利要求7所述的非暂态计算机可读存储介质,其中所述第一组的单个参考点在所获得的图像上的位置是所述感兴趣区域的中心点。
9.根据权利要求7所述的非暂态计算机可读存储介质,其中被裁剪部分具有小于所获得的图像的第二分辨率的第一分辨率。
10.根据权利要求7所述的非暂态计算机可读存储介质,其中所述第一组的两个参考点在所获得的图像上的两个位置分别对应于距所述车辆的所述位置的第一距离和第二距离。
11.根据权利要求7所述的非暂态计算机可读存储介质,其中通过执行以下步骤来确定被检测物体的所述位置:
针对所述第二组的每个参考点的每个所确定的位置:
确定位于穿过参考点的位置的射线上的相机中心点的相机坐标,其中所述相机中心点位于相机坐标平面上,所述相机坐标平面位于远离接收到所述图像的图像平面一焦距距离处;
至少基于所述相机坐标来确定所述参考点的所述位置的第一世界坐标;以及
基于地形图来确定所述参考点和道路表面的交点的第二世界坐标,其中所述地形图提供在所述车辆正在其中被驾驶的所述空间区域中的点的坐标;以及
将所述第二组一个或多个参考点的所述第二世界坐标分配给被检测物体在所述空间区域中的所述位置。
12.一种用于自主车辆的图像处理设备,所述图像处理设备包括处理器,所述处理器被配置为实施一种方法,所述方法包括:
在车辆正被驾驶时,从位于所述车辆上的相机获得图像;
裁剪所获得的图像的对应于感兴趣区域的一部分,所述感兴趣区域是基于在所获得的图像上选择的第一组一个或多个参考点的一个或多个位置而识别的;
在所述图像的被裁剪部分中检测物体;
围绕在所述图像的被裁剪部分中的被检测物体添加边界框;
从所述边界框以及在所述图像的被裁剪部分中,确定第二组一个或多个参考点在所述边界框上的一个或多个位置;以及
基于所述第二组一个或多个参考点在所述边界框上的所确定的一个或多个位置来确定被检测物体在所述车辆正在其中被驾驶的空间区域中的位置。
13.根据权利要求12所述的图像处理设备,其中所述第一组一个或多个参考点由所述处理器选择,所述处理器被配置为执行所述方法,所述方法包括:基于地形图和所述车辆的位置来获得所述第一组一个或多个参考点的三维世界坐标。
14.根据权利要求13所述的图像处理设备,其中所述地形图提供在所述车辆正在其中被驾驶的所述空间区域中的点的坐标。
15.根据权利要求13所述的图像处理设备,其中通过以下步骤来确定所述第一组一个或多个参考点在所获得的图像上的所述一个或多个位置:通过使用与所获得的图像相关联的相机姿态信息,将所述第一组一个或多个参考点的所述三维世界坐标投影到所述图像。
16.根据权利要求15所述的图像处理设备,其中所述相机姿态信息表征所述相机的光学性质、取向或位置。
17.根据权利要求12所述的图像处理设备,其中所述边界框包括位于所述边界框的多个拐角处的多个顶点。
18.根据权利要求17所述的图像处理设备,其中所述第二组一个或多个参考点包括位于所述边界框的两个顶点之间的中点处的参考点。
19.根据权利要求18所述的图像处理设备,其中与所述边界框的其他顶点相比,所述两个顶点最靠近道路的表面。
20.根据权利要求12所述的图像处理设备,其中在所述图像的被裁剪部分中的被检测物***于在500米与1000米之间的距离处。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/909,950 | 2020-06-23 | ||
US16/909,950 US11715277B2 (en) | 2020-06-23 | 2020-06-23 | Perception system for autonomous vehicles |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113838060A true CN113838060A (zh) | 2021-12-24 |
Family
ID=78962748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110690742.1A Pending CN113838060A (zh) | 2020-06-23 | 2021-06-22 | 用于自主车辆的感知*** |
Country Status (2)
Country | Link |
---|---|
US (2) | US11715277B2 (zh) |
CN (1) | CN113838060A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10909368B2 (en) * | 2018-01-23 | 2021-02-02 | X Development Llc | Crop type classification in images |
US11975738B2 (en) * | 2021-06-03 | 2024-05-07 | Ford Global Technologies, Llc | Image annotation for deep neural networks |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8942483B2 (en) | 2009-09-14 | 2015-01-27 | Trimble Navigation Limited | Image-based georeferencing |
US8253797B1 (en) | 2007-03-05 | 2012-08-28 | PureTech Systems Inc. | Camera image georeferencing systems |
DE102008000255A1 (de) | 2008-02-08 | 2009-08-20 | Evonik Goldschmidt Gmbh | Siloxanzusammensetzungen |
US8897541B2 (en) | 2009-09-14 | 2014-11-25 | Trimble Navigation Limited | Accurate digitization of a georeferenced image |
WO2015155628A1 (en) | 2014-04-07 | 2015-10-15 | Eyeways Systems Ltd. | Apparatus and method for image-based positioning, orientation and situational awareness |
US9916703B2 (en) * | 2015-11-04 | 2018-03-13 | Zoox, Inc. | Calibration for autonomous vehicle operation |
US20190356936A9 (en) | 2016-03-16 | 2019-11-21 | Adcor Magnet Systems, Llc | System for georeferenced, geo-oriented realtime video streams |
US10395117B1 (en) | 2016-08-29 | 2019-08-27 | Trifo, Inc. | Visual-inertial positional awareness for autonomous and non-autonomous tracking |
US10318822B2 (en) | 2017-04-06 | 2019-06-11 | GM Global Technology Operations LLC | Object tracking |
US10558864B2 (en) | 2017-05-18 | 2020-02-11 | TuSimple | System and method for image localization based on semantic segmentation |
US10762635B2 (en) | 2017-06-14 | 2020-09-01 | Tusimple, Inc. | System and method for actively selecting and labeling images for semantic segmentation |
JP6689006B2 (ja) | 2017-08-25 | 2020-04-28 | ベイジン・ボイジャー・テクノロジー・カンパニー・リミテッド | 車両の環境情報を検出するための方法およびシステム |
US10438371B2 (en) * | 2017-09-22 | 2019-10-08 | Zoox, Inc. | Three-dimensional bounding box from two-dimensional image and point cloud data |
WO2019093532A1 (ko) | 2017-11-07 | 2019-05-16 | 공간정보기술 주식회사 | 스트레오 카메라 드론을 활용한 무기준점 3차원 위치좌표 취득 방법 및 시스템 |
US10936922B2 (en) | 2018-06-20 | 2021-03-02 | Zoox, Inc. | Machine learning techniques |
US20200082561A1 (en) | 2018-09-10 | 2020-03-12 | Mapbox, Inc. | Mapping objects detected in images to geographic positions |
US10839234B2 (en) | 2018-09-12 | 2020-11-17 | Tusimple, Inc. | System and method for three-dimensional (3D) object detection |
US10977501B2 (en) * | 2018-12-21 | 2021-04-13 | Waymo Llc | Object classification using extra-regional context |
TWI720447B (zh) * | 2019-03-28 | 2021-03-01 | 財團法人工業技術研究院 | 影像定位方法及其系統 |
CN116539052A (zh) | 2020-01-03 | 2023-08-04 | 御眼视觉技术有限公司 | 用于车辆导航的***、方法和装置 |
US11195033B2 (en) | 2020-02-27 | 2021-12-07 | Gm Cruise Holdings Llc | Multi-modal, multi-technique vehicle signal detection |
-
2020
- 2020-06-23 US US16/909,950 patent/US11715277B2/en active Active
-
2021
- 2021-06-22 CN CN202110690742.1A patent/CN113838060A/zh active Pending
-
2023
- 2023-06-15 US US18/335,785 patent/US20230326168A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210397857A1 (en) | 2021-12-23 |
US20230326168A1 (en) | 2023-10-12 |
US11715277B2 (en) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11823460B2 (en) | Image fusion for autonomous vehicle operation | |
EP3418943B1 (en) | Object detecting apparatus, object detecting method, and computer-readable medium | |
US11386567B2 (en) | Systems and methods for weakly supervised training of a model for monocular depth estimation | |
US10860870B2 (en) | Object detecting apparatus, object detecting method, and computer program product | |
KR102275310B1 (ko) | 자동차 주변의 장애물 검출 방법 | |
CN108647638B (zh) | 一种车辆位置检测方法及装置 | |
US9568611B2 (en) | Detecting objects obstructing a driver's view of a road | |
US8630806B1 (en) | Image processing for vehicle control | |
EP3349143B1 (en) | Nformation processing device, information processing method, and computer-readable medium | |
CN111815641A (zh) | 相机和雷达融合 | |
US20170359561A1 (en) | Disparity mapping for an autonomous vehicle | |
US20230326168A1 (en) | Perception system for autonomous vehicles | |
CN109074653B (zh) | 用于检测机动车辆的道路旁边的物体的方法、计算设备、驾驶员辅助***以及机动车辆 | |
CN114066929A (zh) | 预测目标车辆相对于自主车辆的轨迹的方法 | |
US11577748B1 (en) | Real-time perception system for small objects at long range for autonomous vehicles | |
CN114419098A (zh) | 基于视觉变换的运动目标轨迹预测方法及装置 | |
CN110378836B (zh) | 获取对象的3d信息的方法、***和设备 | |
CN112824997A (zh) | 用于局部行进车道感知的方法和*** | |
US11373389B2 (en) | Partitioning images obtained from an autonomous vehicle camera | |
CN116524454A (zh) | 物体追踪装置、物体追踪方法及存储介质 | |
US11461922B2 (en) | Depth estimation in images obtained from an autonomous vehicle camera | |
WO2022133986A1 (en) | Accuracy estimation method and system | |
Nedevschi et al. | On-board stereo sensor for intersection driving assistance architecture and specification | |
US20240212194A1 (en) | Vehicle and control method thereof | |
US20240127603A1 (en) | Unified framework and tooling for lane boundary annotation |
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 |