CN111815641A - 相机和雷达融合 - Google Patents
相机和雷达融合 Download PDFInfo
- Publication number
- CN111815641A CN111815641A CN202010266366.9A CN202010266366A CN111815641A CN 111815641 A CN111815641 A CN 111815641A CN 202010266366 A CN202010266366 A CN 202010266366A CN 111815641 A CN111815641 A CN 111815641A
- Authority
- CN
- China
- Prior art keywords
- image
- camera
- radar
- computer
- plane
- 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
- 230000004927 fusion Effects 0.000 title abstract description 7
- 230000001131 transforming effect Effects 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims description 60
- 230000009466 transformation Effects 0.000 claims description 35
- 239000003550 marker Substances 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 description 37
- 230000008569 process Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- RJMUSRYZPJIFPJ-UHFFFAOYSA-N niclosamide Chemical compound OC1=CC=C(Cl)C=C1C(=O)NC1=CC=C([N+]([O-])=O)C=C1Cl RJMUSRYZPJIFPJ-UHFFFAOYSA-N 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000226585 Antennaria plantaginifolia Species 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- 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
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
- G01S13/06—Systems determining position data of a target
- G01S13/08—Systems for measuring distance only
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
- G01S13/06—Systems determining position data of a target
- G01S13/42—Simultaneous measurement of distance and other co-ordinates
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
- G01S13/867—Combination of radar systems with cameras
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/89—Radar or analogous systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- 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
- 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/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- 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/10032—Satellite or aerial image; Remote sensing
- G06T2207/10044—Radar image
-
- 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/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Multimedia (AREA)
- Traffic Control Systems (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本公开提供“相机和雷达融合”。一种***包括计算机,所述计算机包括处理器和存储器。所述存储器存储指令,所述指令可由所述处理器执行,使得所述计算机被编程为:将竖直图像平面相机图像变换到水平图像平面,进而生成经过变换的相机图像;基于所述经过变换的相机图像的分辨率来生成经过缩放的水平图像平面雷达图像;以及随后将所述经过缩放的雷达图像叠加在所述经过变换的相机图像上,进而生成水平图像平面叠加图像。
Description
技术领域
本公开总体涉及车辆相机和传感器。
背景技术
自主车辆(或自动驾驶汽车)中的一个或多个计算机可被编程为基于车辆传感器数据来导航和操作车辆。车辆计算机可能会依赖于传感器数据(例如,相机数据、雷达数据等)来检测对象。
发明内容
一种***包括计算机,所述计算机包括处理器和存储器。所述存储器存储指令,所述指令可由处理器执行,使得所述计算机被编程为:将竖直图像平面相机图像变换到水平图像平面,进而生成经过变换的相机图像;基于经过变换的相机图像的分辨率来生成经过缩放的水平图像平面雷达图像;以及随后将经过缩放的雷达图像叠加在经过变换的相机图像上,进而生成水平图像平面叠加图像。
所述指令可还包括进行以下操作的指令:还基于从所接收的雷达图像提取的占用网格地图图像来生成经过缩放的雷达图像。
所述指令可还包括进行以下操作的指令:在相机图像数据中检测对象;在经过变换的相机图像中识别检测到的对象的第一位置;在雷达图像中识别检测到的对象的第二位置;以及重新缩放经过缩放的雷达图像以将所述雷达图像中的所述对象的所述第一位置叠加在所述经过变换的相机图像中的所述对象的所述第二位置上。
所述指令可还包括进行以下操作的指令:确定逆变换函数,所述逆变换函数将水平图像平面叠加图像变换到竖直图像平面,进而生成包括对象的纵坐标的竖直图像平面叠加图像。
所述生成竖直图像平面叠加图像的指令可还包括:向雷达图像应用逆变换函数,进而生成竖直图像平面雷达图像;以及将竖直图像平面雷达图像叠加在竖直平面相机图像上。
所述指令可还包括进行以下操作的指令:在所述经过变换的相机图像中检测两个或更多个道路标记;确定所述经过变换的图像中的所述检测到的两个或更多个道路标记之间的像素的数目;以及基于所述检测到的两个或更多个道路标记的现实世界距离以及所述经过变换的图像中的所述检测到的两个或更多个道路标记之间的所确定的像素的数目来确定相机图像的分辨率。
所述指令可还包括进行以下操作的指令:基于在经过变换的相机图像中检测到的护栏、灯杆、交通标志和墙壁中的至少一者的现实世界尺寸来确定相机图像的分辨率。
所述指令可还包括进行以下操作的指令:基于相机和图像数据的视野的重叠来裁剪雷达图像;以及从所述经过裁剪的雷达图像生成经过缩放的雷达图像。
所接收的竖直图像平面相机图像可能是失真的,并且所述指令可还包括进行以下操作的指令:在将相机图像变换到水平图像平面之前矫正所接收的相机图像。
本文还公开的是一种***,所述***包括:具有第一视野的雷达传感器和具有第二视野的相机传感器,其中所述第一视野和所述第二视野至少部分地重叠;以及计算机,所述计算机被编程为:将竖直图像平面相机图像变换到水平图像平面,进而生成经过变换的相机图像;基于经过变换的相机图像的分辨率来生成经过缩放的水平图像平面雷达图像;以及随后将经过缩放的雷达图像叠加在经过变换的相机图像上,进而生成水平图像平面叠加图像。
此外,一种方法包括:将竖直图像平面相机图像变换到水平图像平面,进而生成经过变换的相机图像;基于经过变换的相机图像的分辨率来生成经过缩放的水平图像平面雷达图像;以及随后将经过缩放的雷达图像叠加在经过变换的相机图像上,进而生成水平图像平面叠加图像。
所述方法可还包括:还基于从所接收的雷达图像提取的占用网格地图图像来生成经过缩放的雷达图像。
所述方法可还包括:在相机图像数据中检测对象;在经过变换的相机图像中识别检测到的对象的第一位置;在雷达图像中识别检测到的对象的第二位置;以及重新缩放经过缩放的雷达图像以将所述雷达图像中的所述对象的所述第一位置叠加在所述经过变换的相机图像中的所述对象的所述第二位置上。
所述方法可还包括:确定逆变换函数,所述逆变换函数将水平图像平面叠加图像变换到竖直图像平面,进而生成包括对象的纵坐标的竖直图像平面叠加图像。
生成竖直图像平面叠加图像可还包括:向雷达图像应用逆变换函数,进而生成竖直图像平面雷达图像;以及将竖直图像平面雷达图像叠加在竖直平面相机图像上。
所述方法可还包括:在所述经过变换的相机图像中检测两个或更多个道路标记;确定所述经过变换的图像中的所述检测到的两个或更多个道路标记之间的像素的数目;以及基于所述检测到的两个或更多个道路标记的现实世界距离以及所述经过变换的图像中的所述检测到的两个或更多个道路标记之间的所确定的像素的数目来确定相机图像的分辨率。
所述方法可还包括:基于在经过变换的相机图像中检测到的护栏、灯杆、交通标志和墙壁中的至少一者的现实世界尺寸来确定相机图像的分辨率。
所述方法可还包括:基于相机和图像数据的视野的重叠来裁剪雷达图像;以及从所述经过裁剪的雷达图像生成经过缩放的雷达图像。
所述方法可还包括在将所述相机图像变换到水平图像平面之前矫正水平图像平面相机图像,其中所接收的相机图像是失真的。
还公开了一种计算装置,所述计算装置被编程为执行上述方法步骤中的任一个。
还公开了一种计算机程序产品,所述计算机程序产品包括计算机可读介质,所述计算机可读介质存储指令,所述指令可由计算机处理器执行,以执行上述方法步骤中的任一个。
附图说明
图1是示出示例性车辆的框图,所述示例性车辆包括检测对象的对象检测传感器。
图2说明图1的对象以及所述对象在三维(3D)坐标系的X-Y平面和Y-Z平面上的投影。
图3说明车辆的传感器对图1的对象的不同检测。
图4A说明从车辆相机传感器接收的Y-Z平面中的失真的相机图像。
图4B说明通过矫正图4A的图像而生成的图像。
图4C说明被变换到X-Y平面中的图4B的相机图像。
图5A说明X-Y平面中的雷达图像。
图5B说明图5A的雷达图像的占用网格地图。
图6说明叠加在图4B的经过变换的相机图像上的图5B的雷达网格地图。
图7说明从X-Y平面到Y-Z平面的图6的变换。
图8A-图8C是用于将车辆雷达传感器的雷达图像叠加在车辆相机传感器的相机图像上的示例性过程的流程图。
具体实施方式
陆地车辆(例如,自主车辆和/或半自主车辆)的导航可基于获得关于对象的数据,例如,包括对象的位置、尺寸、类型或类别等的数据。车辆计算机可从多个传感器(例如,相机传感器和雷达传感器)接收数据,可从所述数据检测和/或描述对象。来自常常是不同类型(例如,相机、雷达、激光雷达等)的不同传感器的数据的融合是一种技术挑战。举例来说,由于雷达和相机传感器的参数(例如,分辨率)之间的差异,车辆计算机可基于相机数据检测到在第一位置具有第一尺寸的对象,同时检测到在与所述第一位置和/或所述第一尺寸不同的第二位置具有第二尺寸的对象。因此,在本示例中,相机和雷达数据的融合提出了问题。
为了改进传感器数据融合,除了其他益处之外,一种示例性***包括计算机,所述计算机被编程为:将竖直图像平面相机图像变换到水平图像平面,进而生成经过变换的相机图像;基于经过变换的相机图像的分辨率而生成经过缩放的水平图像平面雷达图像;以及随后将所述经过缩放的雷达图像叠加在所述经过变换的相机图像上,进而生成叠加图像并且提供相机和雷达数据的更准确且可靠的融合,以及因此对对象的更准确且可靠的检测,这继而提供车辆的更准确、可靠和安全的操作。
图1说明示例性主车辆100,所述主车辆包括计算机110、致动器120、一个或多个对象检测传感器130A、130B以及人机界面(HMI140)。在一个示例中,在图1中示出的前方安装的雷达和相机传感器130A、130B可被安装在彼此预定距离(例如,10厘米(cm))以内。可为车辆100指定参考点,诸如几何中心点150,例如,车辆100的相应的纵向中心线与横向中心线相交的点。车辆100车身可具有纵轴线A1。可通过多种已知的方式向车辆100供应动力,例如使用电动马达和/或内燃发动机。
计算机110包括诸如已知的处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且存储可由计算机110执行以用于执行各种操作(包括如本文所公开的操作)的指令。
计算机110可在自主或半自主模式下操作车辆100。出于本公开的目的,自主模式被定义为其中车辆100的推进、制动和转向中的每一者由计算机110控制的模式;在半自主模式中,计算机110控制车辆100的推进、制动和转向中的一者或两者。
计算机110可包括用于以下操作的程序设计:操作车辆制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆中的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者;以及与人类操作者相对地确定计算机110是否以及何时控制此类操作。
计算机110可包括或者(例如,经由在下文进一步描述的车辆通信总线)通信地耦接到一个以上处理器,所述处理器例如为在车辆中包括的用于监测和/或控制各种车辆控制器的控制器等,所述车辆控制器例如为动力传动***控制器、制动控制器、转向控制器等。计算机110一般被布置成用于在车辆通信网络上进行通信,所述车辆通信网络诸如车辆中的总线,诸如为控制器局域网(CAN)等。
计算机110可经由车辆网络将消息传输到车辆中的各种装置和/或从所述各种装置接收消息,所述装置例如为传感器130A、130B、致动器120等。可替代地或另外,在计算机110实际上包括多个装置的情况下,车辆通信网络可用于在本公开中表示为计算机110的装置之间的通信。此外,如下所述,各种控制器和/或传感器可经由车辆通信网络向计算机110提供数据。
可经由众所周知可根据适当的控制信号致动各种车辆子***的电路、芯片或其他电子部件来实施致动器120。致动器120可用于控制车辆100的制动、加速和/或转向。举例来说,车辆100的计算机110可输出用于控制致动器120的控制指令。
车辆100的传感器130A、130B可提供涵盖车辆100的外部中的至少一些的数据,例如为GPS(全球定位***)传感器、相机、雷达和/或激光雷达(光成像检测和测距)。举例来说,例如安装到车辆100的前方、后方和/或任何其他侧面的雷达传感器130A可提供对象检测,即,包括例如相对于三维笛卡儿坐标系的两条或三条轴线在雷达传感器130A的视野内的在车辆100的外侧的对象160的尺寸和/或相对位置(x,y,z)的数据,例如,其中限定水平的X-Z平面与竖直的X-Y平面和Z-Y平面210、220(参见图2),所述平面和相应的轴线彼此正交。坐标系的原点170,即,所有三条轴线的交叉点,可处于相对于车辆100限定的参考位置,例如,车辆100的右前隅角。作为另一示例,原点170可位于车辆100参考点150、在车辆100前方或任何其他合适的位置。计算机110可被编程为基于相机传感器130B数据而确定对象160的位置、尺寸等,如关于图2进一步论述。
雷达传感器130A传输电磁波束,接收所传输的波束的反射,并且至少基于行进时间来测量与反射所述波束的对象160的距离,所述行进时间即为雷达传感器130A传输波束与接收到同一波束的反射(即,回声)之间的时间间隔。雷达传感器130A可包括一根或多根天线以及电子部件,诸如芯片、模数转换器、数模转换器、电磁放大器等。雷达传感器130A可包括在各种相应的方向上定向的天线阵列。计算机110可被编程为基于所传输的波束的所接收的反射来检测对象160。
相机传感器130B向(例如)车辆100的计算机110提供图像数据。相机传感器可包括芯片、图像传感器和光学部件。相机传感器130B可基于由相机传感器130B的图像传感器捕获的光学信号来输出图像数据。计算机110可被编程为根据从相机传感器130B接收的图像数据来检测对象160,并且例如相对于具有原点170的坐标系的轴线而确定对象160的尺寸和/或位置,如关于图2进一步论述。
对象160可为在传感器130A、130B的视野内的第二车辆、自行车、卡车、行人、建筑、交通标志、墙壁、灯杆等。对象160是现实世界,即,物理对象。关于对象160的数据因此被称作地面实况数据;需要传感器130提供数据,计算机110可根据所述数据而确定与地面实况数据尽可能接近的表示对象160的数据。此外,在本上下文中,视野是传感器130A、130B能够检测到对象160的地表面(例如,水平面210)区域。传感器130A、130B的视野可重叠。举例来说,安装到前保险杠的雷达传感器130A的第一视野与安装到前方挡风玻璃的向前看的相机传感器130B的第二视野可重叠,即,基本上提供来自车辆100前方的区域的数据。在相机和雷达传感器130A、130B的两个视野中包括的水平面210上的区域在本文称为重叠视野。重叠视野可包括X-Y平面210上的具有不同形状(例如,椭圆形、矩形、非几何形状等)的区域。
计算机110可被编程为基于从车辆100传感器130A、130B接收的数据来操作车辆100。计算机110可被编程为基于所接收的传感器130A、130B数据来进行以下操作:致动车辆100致动器120,例如,制动、转向和/或推进;调整车辆100路径;停靠等。
图2示出示例性对象160和具有原点170的图1的笛卡儿坐标系。图2还示出坐标系的X-Y平面(或水平面210)、Y-Z平面(或竖直平面220)和X-Z平面230以及对象160分别在X-Y平面210和Y-Z平面220上的投影240、250。如图2中所示,对象160(即,其参考点)位于坐标(x,y,z)处。
在一个示例中,例如,计算机110可确定识别对象160的投影240或投影250的数据,而不是描述整个对象或三维对象的数据。也就是说,由于传感器130的物理特性和/或其他感测限制,传感器130A、130B可能能够最多检测对象的二维表示。在本上下文中,传感器的物理特性是(i)传感器部件的形状和/或表面描述,其可能导致单目相机的光学限制,所述单目相机导致生成不具有深度的图像;和/或(ii)雷达磁性检测域,其可能缺乏对对象160的高程(高度)的检测。举例来说,雷达和相机传感器130A、130B可提供二维(2D)数据。另外,雷达传感器130A可提供水平面210中的数据,而相机传感器130B可提供竖直平面220中的数据。从雷达传感器130A输出的数据可能缺乏高程或高度数据(即,关于Z轴线的数据或竖直维度上的数据),而从相机传感器130B输出的数据可能缺乏深度数据(即,纵坐标或关于X轴线的数据)。因此,计算机110可确定2D对象数据而不是3D坐标。举例来说,计算机110可基于从相机传感器130B接收的数据来确定投影240的水平或地面位置坐标(y,z)和/或尺寸,并且可基于从雷达传感器130A接收的数据来确定投影250的位置坐标(x,y)和/或尺寸。
计算机110可被编程为基于从传感器130A、130B接收的对象数据的组合而确定对象。然而,例如,由于分辨率、校准等方面的差异,从第一传感器和第二传感器130A、130B接收的第一数据和第二数据可能不匹配,即,所述第一数据和所述第二数据可能描述同一地面实况的不同属性,例如,对象160的不同位置和/或尺寸。图3说明计算机110可确定与对象160的位置(x,y,z)和/或尺寸不同的对象160的位置和/或尺寸。对象160的位置坐标(x,y,z)可为对象160参考点的坐标,例如,可基于图像处理技术检测到的对象160的轮廓上的隅角和/或任何点。
举例来说,基于雷达传感器130A数据,计算机110可确定对象160在水平图像平面210上的投影340的位置坐标(xR,yR)。因此,计算机110可检测在坐标(xR,yR)处的对象表示330,而不是在坐标(x,y,z)处的对象160。在本上下文中,“对象表示”是指定对象160的数据,其中至少一些所述数据(诸如位置、尺寸等)不同于对象160的地面实况数据,和/或其中对象表示330省略了与完全描述对象160的特定数据相对应的数据(例如,可能省略了高度或Z分量)。在一个示例中,计算机110可被编程为例如基于对象160的经过分类的类型来估计高程zR。举例来说,计算机110可:基于所接收的雷达图像数据来估计对象160在水平面210上的尺寸;对对象160进行分类,例如,分类为卡车;以及基于存储在计算机110存储器中的卡车类型对象160的预定高度来估计高程zR。
如图2中说明,基于相机传感器130B数据,计算机110可确定对象160在竖直图像平面220上的投影320的位置坐标(yC,zC)。因此,计算机110可检测在坐标(yC,zC)处的对象表示310,而不是在坐标(x,y,z)处的对象160。在一个示例中,计算机110可被编程为使用多个单目图像来估计纵坐标xC,例如,3D重构技术。
如图2中进一步说明,投影320、340的尺寸指示物理对象160的尺寸的误算。举例来说,对象160的尺寸不同于检测到的对象投影320、330的尺寸。因此,通过分析雷达传感器130A数据和相机传感器130B数据,计算机110可能无法确定两个对象表示310、330对应于同一物理对象160。
在一个示例中,计算机110可被编程为:接收失真的竖直平面相机图像400(图4A);矫正图像400,进而生成矫正的竖直平面图像410(图4B);以及将竖直图像平面相机图像410变换到水平图像平面210,进而生成经过变换的相机图像420(图4C)。计算机110可被编程为:接收水平面雷达图像510(图5A);以及基于经过变换的相机图像420的分辨率而生成经过缩放的水平图像平面雷达图像520(图5B),如在下文论述。计算机110可还被编程为随后将经过缩放的水平图像平面雷达图像520叠加在经过变换的相机图像420上,进而生成叠加图像600(图6),如在下文论述。在本上下文中,“缩放”是指改变图像的分辨率,并且“重新缩放”是指调整先前经过缩放的图像的分辨率,即,重复缩放步骤。
图4A示出表示从相机传感器130B接收的示例性图像数据的图像400。通常,从相机传感器130B接收的图像数据由于一个或多个相机镜头的设计(例如,形状、厚度、材料等)而失真或扭曲,所述一个或多个相机镜头将由传感器130B接收的光束聚焦到相机传感器130B的成像芯片上。失真是相对于直线投影的偏差,所述直线投影即为其中场景中的直线在图像中保持笔直的投影。虽然失真可能是不规则的或者遵循各种模式,但通常遇到的失真由于镜头的对称性而是径向对称的。通常可将径向失真分类为桶形失真、枕形失真等。计算机110可被编程为:校正(或矫正)图像400;以及例如基于OpenCV指令(1)等生成经过矫正的图像410(即,直线投影),如图4B中所示。可替代地,计算机110可被编程为从相机传感器130B接收经过矫正的图像410,即,相机传感器130B可输出经过矫正的图像410数据。
undist=cv2.undistort(img,mtx,dist,None,mtx) (1)
OpenCV是支持实时计算机视觉的编程函数库;参见https://opencv.org/。另外或可替代地,计算机110可包括例如通过从计算机110存储器读取图像400数据并且将经过矫正的图像420存储在计算机110存储器中来矫正图像400的芯片和/或电子电路。在作为OpenCV指令的指令1中,img表示失真的相机图像400数据;mtx表示相机130B参数,所述参数包括焦距和光学中心;以及dist表示失真系数,所述失真系数包括相机传感器130B镜头的径向和切向失真系数。
图4C说明可通过将经过矫正的竖直平面相机图像420变换到水平图像平面210而生成的经过变换的相机图像420。在本上下文中,“变换到水平图像平面”是指改变图像的视角,使得经过变换的图像的观看者从地表面上方向下(例如,沿着本文论述的示例性坐标系中的竖直轴线或Z轴线)观看图像。“视角”是观看者、相机传感器等的位置和/或取向的组合。由于视角变换,从不同的视角观看图像,例如,在图4C中从与图4A-图4B不同的视角观看对象160和具有道路标记430的道路。
在一个示例中,计算机110可被编程为例如基于OpenCV指令(2):基于一组点460(例如,通过图像处理技术检测到的道路标记430的边缘)的对应坐标来计算视角变换矩阵M(或变换矩阵M);以及基于所确定的矩阵M来执行所述变换。PS表示包括输入图像(例如,Y-Z平面220中的图像410)中的至少3个点460的Y-Z坐标的矩阵。PD表示包括输出或经过变换的图像(例如,图像420)中的点460的X-Y坐标的矩阵。M是基于指令(2)而确定的变换矩阵。计算机110可被编程为基于变换矩阵M来执行所述变换。
M=cv2.getPerspectiveTransform(PS,PD) (2)
如上文所论述,计算机110可在接收到包括预定组图像数据(例如,标记430)的图像400之后确定变换矩阵M。从相机传感器130B接收到的包括预定类型的图像(例如,道路标记430)的恰好第一(即,在时间上第一)图像400在本文称为第一图像410。在接收到具有预定图像数据的第一图像410之后,计算机110可被编程为:确定变换矩阵M;以及生成经过变换的图像420。在确定变换矩阵M之后,计算机110可被编程为基于在车辆的操作期间接收到的图像410数据(包括墙壁、灯杆、建筑、护栏等)来精细调谐变换矩阵M。因此,计算机110可确定所接收的图像410中的其他已知的现实世界尺寸(例如,灯杆高度的高度)并且精细调谐变换矩阵M。
在本上下文中,“精细调谐”是指向现有的值应用微小调整,例如精细调谐分辨率、变换矩阵M等。举例来说,精细调谐可包括比先前的参数值大或小最大3%的调整。如参考图8A-图8C所论述,可基于从相机和雷达传感器130A、130B接收的相机和雷达数据在车辆100计算机110的操作期间调整变换矩阵M。
在本上下文中,道路标记430是可基于它来确定或精细调谐相机图像420的分辨率KC的图案的示例,如上文所论述。此类图案通常具有计算机110已知的例如存储在计算机110存储器中的现实世界尺寸。图案的示例包括停车位标记、道路标记430等。
如图4C中所示,经过变换的相机图像420包括例如关于对象160的瑕疵(或污点)。在此示例中,对象160是卡车。基于车辆100相机传感器130B的视野,相机图像400可能缺乏来自(例如)所述卡车的顶表面的图像数据。因此,经过变换的相机图像420可能会由于缺乏俯视图视角的信息而包括瑕疵。
在本上下文中,相机图像420分辨率包括纵向分辨率KCx(即,沿着X轴线)和横向分辨率KCy(即,沿着Y轴线)。举例来说,可将相机图像分辨率KC指定为诸如等式(3)中所示的矢量。换句话说,分辨率KC指定图像420的像素在X轴线和Y轴线的方向中的任一者上覆盖了多少单位的现实世界距离。本文的现实世界距离是指物理世界中的距离,例如,两个道路标记430之间的以厘米(cm)为单位而指定的距离d1、d2。计算机110可基于存储在计算机110存储器中的数据来确定距离d1、d2。可基于车辆100的位置来确定距离d1、d2。举例来说,距离d2在美国可为3.7米(m),并且在欧洲是3.25m。
为了确定经过变换的相机图像420的分辨率KC,计算机110可被编程为:在经过变换的相机图像420中检测两个或更多个道路标记450;确定经过变换的图像420v中的检测到的道路标记450之间的像素的数目;以及相机130B图像的分辨率KC是基于经过变换的相机图像420中的检测到的道路标记450的现实世界距离d1、d2和在所述检测到的道路标记450之间的所确定的像素的数目n1、n2来确定。举例来说,计算机110可被编程为基于等式(4)-(5)来确定分辨率KC。另外或可替代地,计算机110可被编程为从计算机110存储器或远程计算机接收相机分辨率KC。可按照厘米(cm)/像素来指定分辨率KCx、KCy。举例来说,KCx=20cm/像素是指:针对经过变换的图像420,每个像素长度对应于现实世界中沿着X轴线的20cm。作为另一示例,KCy=25cm/像素是指:每个像素宽度对应于实际(即,物理)世界中的沿着Y轴线的25cm。
另外或可替代地,在起初确定了相机分辨率KC(例如,如上文所论述,基于道路标记430)之后,可基于从不同场景(例如,停车区域、十字路口、高速公路、道路等)接收到的图像数据在车辆100计算机110的操作期间迭代地精细调谐相机分辨率KC。在本上下文中,“精细调谐”是指在确定了基本上准确(例如,具有10%的不准确性)的初始值(基于第一图像400)之后对值的进一步修改。举例来说,计算机110可被编程为:检测对象160,诸如灯杆、交通标志、汽车、道路标记430、护栏等;以及基于所接收的图像数据来精细调谐分辨率KC。
图5A示出X-Y平面210中的雷达图像510,所述雷达图像是从雷达传感器130A接收到的雷达数据的图形表示。如上文所论述,雷达传感器130A通常提供X-Y平面210中的数据。计算机110可被编程为基于所接收的雷达图像510而生成占用网格地图(或网格地图图像520)。网格地图520包括多个单元。每个单元包括与网格地图图像520中的相应单元中的对象的存在相关的信息。一个单元可包括一个或多个像素。可通过二进制值,例如,使用白色示出的0(没有检测到对象或未被占用)、使用暗色示出的1(存在对象或被占用),来指定单元的占用,即,在单元中是否检测到对象160或对象160的部分。计算机110可被编程为在确定从与单元相对应的区域的边界内的反射的数目超过阈值(例如,5次反射)之后确定占用值是1。
计算机110可被编程为使用图像处理技术基于网格地图图像520来检测对象160。举例来说,计算机110可基于识别投影340(具有被占用的单元的区域)来检测对象160。因此,计算机110可基于投影340区域(例如,围绕被占用的区域的边界框)的形状、大小等而确定投影340中的对象160的类别,例如,汽车、卡车、自行车、建筑、灯杆、角反射器等。
雷达图像510分辨率包括纵向分辨率KRx(即,沿着X轴线)和横向分辨率KRy(即,沿着Y轴线)。可按照厘米/像素(cm/像素)来指定所述纵向分辨率和所述横向分辨率KRx、KRy。举例来说,可将雷达图像分辨率KR指定为矢量,诸如等式(3)中的指定相机分辨率KC的矢量。雷达图像510和经过变换的相机图像420处于X-Y平面210中;然而,雷达图像510的雷达图像分辨率KR可能不同于经过变换的相机图像420的分辨率KC。分辨率KR可基于雷达传感器130A的物理特性,诸如雷达传感器130A天线的频率、磁场等。换句话说,与图像520的每个像素相对应的现实世界尺寸通常不同于与图像420的每个像素相对应的现实世界尺寸。
雷达传感器130A的视野可不同于相机传感器130B的视野。在一个示例中,计算机110可被编程为:基于相机和图像数据的视野的重叠而裁剪雷达网格地图图像520;以及从所述经过裁剪的雷达图像510生成雷达图像520。在本示例中,“裁剪”包括沿着X轴线和/或Y轴线移除图像510的区段,以获得与雷达和相机传感器130A、130B的重叠视野基本上相同的视野。
计算机110可被编程为基于经过变换的相机图像420的分辨率KC和雷达图像510的分辨率KR而生成经过缩放的雷达图像520。举例来说,计算机110可被编程为通过向图像520的尺寸应用乘数KC/KR来缩放雷达图像510。因此,经过缩放的雷达图像510(或经过缩放的网格地图520)的分辨率KR’等于相机图像420的分辨率KC。如上文所论述,可精细调谐相机分辨率KC。因此,计算机110可被编程为基于确定相机分辨率KC被精细调谐而重新缩放雷达图像510。换句话说,当相机分辨率KC改变时,计算机110可被编程为维持经过缩放的雷达图像510的与经过精细调谐的相机图像分辨率KC相同的分辨率KR’。
如上文所论述,计算机110可被编程为:确定经过变换的相机图像420和雷达图像510的重叠视野;以及缩放雷达网格地图图像520以具有与经过变换的相机图像420分辨率KC相同的分辨率KR’。因此,经过缩放的雷达网格地图图像520可具有与经过变换的相机图像420基本上相同的尺寸。经过变换的图像420和经过缩放的网格地图图像520处于X-Y平面210中。因此,在此上下文中,可通过像素的数目限定的图像尺寸是指沿着X轴线和Y轴线的图像尺寸。可基于(例如)在矩阵KC中包括的纵向分辨率和横向分辨率KCx、KCy来确定以像素计的图像尺寸与沿着X轴线和Y轴线的现实世界尺寸之间的关系。
如上文参考图3所论述,从相机和雷达传感器130A、130B接收到的投影320、340的位置、尺寸和/或形状可不同。计算机110可被编程为:在相机图像数据中检测对象160(例如,基于对象160投影320);在经过变换的相机图像420中识别检测到的对象160的第一位置(xC,yC);在雷达图像520中识别检测到的对象160的第二位置(xR,yR);以及重新变换经过缩放的雷达图像520以将雷达图像420中的对象160的第一位置(xc,yc)叠加在经过变换的相机图像420中的对象160的第二位置(xR,yR)上。“叠加”是指将图像放置在另一图像上或上方,即,将图像覆盖在另一图像上,因此在所得的(即,叠加的)图像中出现来自以上两个图像的像素,但来自一个图像的像素可能会通过以下情况阻挡或掩盖来自另一图像的像素(或反之亦然):例如图像520的暗色像素放置在图像420上,同时抛弃图像520的白色像素,如此生成图6的示例性图像600。
在本上下文中,“重新变换”是确定经过调整的变换矩阵Ma,以便将竖直平面相机图像410变换为水平面图像420,使得图像420中的对象160的投影440处于第二位置(xR,yR)而不是第一位置(xc,yc)。例如,计算机110可以被编程为:确定经过调整的目的地矩阵PDa,其基于第二位置(xR,yR)(即将在矩阵PD中的位置坐标(xc,yc)替换为位置坐标(xR,yR)从而生成矩阵PDa)并基于指令(6)计算经过调整的变换矩阵Ma。因此,计算机110可确定经过调整的变换矩阵Ma来对准基于雷达数据和相机数据而生成的投影440、340。在本上下文中,“对准”是指将叠加图像中的投影440、340的位置之间的纵向误差和/或横向误差Ex、Ey减小到小于误差阈值Thx、Thy。当纵向误差和/或横向误差Ex、Ey小于阈值Thx、Thy时,实现“对准”。
在一个示例中,可基于等式(7)-(8)来确定纵向误差和横向误差Ex、Ey,所述等式将误差Ex、Ey限定为基于相机数据和雷达数据而确定的X坐标和Y坐标中的每一者之间的绝对差。计算机110可被编程为在确定纵向误差和横向误差Ex、Ey中的至少一者超过对应的纵向误差阈值和横向误差阈值Thx、Thy之后执行对相机图像410的重新变换。计算机110可被编程为基于等式(9)-(10)来确定例如以米(m)、厘米(cm)等为单位指定的阈值Thx、Thy。参数a1、a2可为大于或等于1的常数。举例来说,a1=a2=1.1。
Ex=|xR-xC| (7)
Ey=|yR-yC| (8)
Thx=a1*max(KCx,KRx) (9)
Thy=a2*max(KCy,KRy) (10)
在重新变换相机图像410之后,即,在使用经过调整的变换矩阵Ma和相机图像410生成经过重新变换的相机图像420之后,计算机110可被编程为更新叠加图像600,即,将经过缩放的雷达网格地图图像520叠加在经过重新变换的相机图像420上。所述重新变换有利地能够导致减小误差Ex、Ey。例如,当车辆100沿着路线移动并且相机传感器130B观看不同的场景时可执行一次或多次对相机图像420的重新变换,以实现对准。另外或可替代地,可对同一场景执行多次重新变换,例如,使用在场景中检测到的各种对象160的不同参考点460执行重新变换。因此,执行重新变换可取决于相机130B观看到什么对象和/或观看到对象的什么特征,例如,护栏、停车位标记、灯杆等的边缘或轮廓。
计算机110可被编程为在确定叠加图像600中的投影340、440之间的纵向误差和横向误差Ex、Ey小于对应的纵向误差阈值和横向误差阈值Thx、Thy之后确定叠加图像600中的对象160投影340、440是对准的。换句话说,参考点(诸如叠加图像600中的对象160的隅角)的投影340、440具有基本上相同的坐标。“基本上相同的坐标”是指误差Ex、Ey小于相应的阈值Thx、Thy。
通常,具有轮廓、隅角和/或几何形状等的对象160可有助于对准相机数据和雷达数据,例如,因为边缘检测技术可以可靠地检测此类形状、隅角等。在一个示例中,可将用于对准的合适的对象160和/或图案(例如,墙壁、护栏、灯杆、车辆、卡车、停车位标记、道路标记430等)的列表存储在计算机110存储器中。合适的对象160和/或图案是具有已知的现实世界尺寸的对象160或图案。所述列表可包括可由计算机110利用以对准相机数据和雷达数据的现实世界尺寸数据。此类现实世界尺寸数据可包括可基于标准、规范等指定的护栏的长度、车道宽度、停车位的尺寸等。
如上文所论述,经过缩放的网格地图图像520和经过变换的相机图像420的尺寸可基于如上文所论述裁剪重叠视野和缩放而相同。因此,计算机110可被编程为通过对准图像420、520的至少两个隅角(例如,右上隅角和左下隅角)而将经过缩放的雷达网格地图图像520叠加在经过变换的相机图像420上。如上文所论述,叠加可包括将图像放置在另一图像上,使得一起表示来自两个图像的像素。举例来说,如图6中所示,计算机110可被编程为将经过缩放的网格地图图像520的被占用的单元放置在经过变换的图像420上。计算机110可被编程为抛弃未被占用的单元(即,不将图像520的白色区段放置在图像420上,这准许相机图像数据在图像600中是明显的)。
为了基于竖直平面220图像数据来检测对象160,计算机110可被编程为例如基于等式(11)来确定逆变换变换矩阵Minv,所述逆变换变换矩阵将水平面叠加图像600变换到竖直图像平面220,进而生成如图7中所示的竖直图像平面叠加图像700,所述竖直图像平面叠加图像包括雷达图像510的深度数据,例如,对象160的纵坐标x。计算机110可被编程为根据指令(12)例如使用OpenCV技术、等来从叠加图像600生成叠加竖直平面图像700。INTER_LINEAR表示内插方法。可替代地,可使用其他内插方法,诸如INTER_NEAREST等。
Minv=inverse(M) (11)
ImgVer=cv2.warpPerspectiveTransform(ImgHor,Minv,ImgHor,flags=cv2.INTER_LINEAR) (12)
举例来说,图像700数据ImgVer可包括存储在图像数据ImgVer中的每个像素的纵坐标x。计算机110可被编程为通过以下操作来确定到对象160的参考点的纵向距离x:识别竖直叠加图像700中的对象160;识别对象160的参考点(例如,隅角等);以及然后基于存储在图像数据ImgVer中的数据来确定所述参考点的纵坐标x。可替代地,计算机110可被编程为:将网格地图图像520变换到竖直图像平面220,进而生成经过变换的投影710(即,竖直图像平面220雷达网格地图图像投影);以及然后将竖直平面雷达图像投影710叠加在竖直平面相机图像420上。
图8A-图8C示出用于基于从车辆100相机和雷达传感器130A、130B接收到的数据来操作车辆100的过程800的示例性流程图。计算机110可被编程为执行过程800的一个或多个框。虽然循序地说明过程800,但可并行地,即,在基本上相同的时间执行过程800的至少一些框,例如,可与框810-835并行地执行框840-868。换句话说,可例如在多处理器计算机110中与雷达图像处理并行地执行相机图像处理。
参考图8A,过程800开始于框810,其中计算机110接收图像数据。举例来说,计算机110可被编程为从车辆100的向前看的相机130B接收图像400数据。
接下来,在框815中,计算机110矫正失真的图像400,例如,进而生成经过矫正的图像410。计算机110可被编程为基于指令(1)而生成经过矫正的图像410。
接下来,在决策框820中,计算机110确定所接收的图像400是否为从相机传感器130B接收到的“第一(即,在时间上第一)图像”。如果计算机110确定所接收的图像400是从相机传感器130B接收到的第一图像400,那么过程800前进到框825;否则,过程800前进到框830。
在框825中,计算机110确定用于第一相机图像410(如上文所论述,第一图像410包括预定的图像数据,诸如道路标记430)的变换矩阵M。在一个示例中,计算机110可基于存储在计算机110存储器中的数据来确定变换矩阵M。
在框830中,计算机110确定重叠的视野,基于来自诸如停车区域、护栏、墙壁、道路等的场景的所接收的图像400数据来确定经过调整的变换矩阵Ma。计算机110可被编程为还基于所接收的雷达图像510和相机图像400(或经过变换的相机图像420)来确定所述重叠的视野。计算机110可被编程为基于变换矩阵Ma而生成经过变换的相机图像420。
在框825、830中的每一者之后,在框835中,计算机110确定经过变换的相机图像420的相机图像分辨率KC。如上文所论述,分辨率矩阵KC包括纵向分辨率和横向分辨率KCx、KCy。
接下来,如继续过程800的说明的图8B中所示,在框840中,计算机110接收雷达图像数据,例如,图像510。
接下来,在框845中,计算机110基于所接收的雷达图像510而生成雷达网格地图图像520。举例来说,计算机110可被编程为生成占用网格地图图像520,如上文所论述。
接下来,在决策框850中,计算机110确定所接收的雷达图像510是否为第一(即,在时间上第一)接收到的雷达图像510。举例来说,计算机110可被编程为在确定计算机110接收到包括道路标记450的第一相机图像400之后确定所接收的雷达图像510是第一雷达图像510,如上文所论述。如果计算机110确定接收到第一雷达图像510,那么过程800前进到框855;否则过程800前进到框860。
在框855中,计算机110根据经过变换的相机图像420的重叠视野来裁剪所接收的雷达图像520。可替代地,可对雷达图像510执行裁剪,即,在生成雷达网格地图图像520之前执行裁剪。
在框860中,计算机110基于所接收的经过变换的相机图像420来精细调谐雷达网格地图图像520的视野。
在框855、860中的任一者之后,接下来,在框865中,计算机110基于相机分辨率矩阵KC而缩放或重新缩放雷达网格地图图像520。计算机110可被编程为缩放第一雷达网格地图图像520或重新缩放其他雷达网格地图图像520。
接下来,在框868中,计算机110将经过缩放的雷达网格地图图像520叠加在经过变换的相机图像420上。举例来说,计算机110生成叠加图像600。
接下来,如图8C中所示,在决策框870中,计算机110确定在雷达和相机传感器130A、130B的重叠视野中是否检测到诸如墙壁、护栏、汽车、卡车、灯杆等对象160,和/或诸如道路标记430等图案。如上文所论述,计算机110可被编程为从诸如道路标记430的图案确定相机图像420的分辨率。因此,如上文所论述的第一图像420可包括诸如道路标记等图案。计算机110可被编程为使用图像处理技术来检测诸如道路上的车辆、墙壁、护栏、停车区域中的车辆、灯杆、交通标志等对象160,和/或诸如道路标记430的图案。如果计算机110检测到对象160和/或图案,那么过程800前进到框875;否则过程800前进到框810,如图8A中所示,或可替代地前进到框860,但在图8C中未示出。
在框875中,计算机110基于经过缩放的网格地图图像520和经过变换的相机图像420中的对象160的位置坐标来确定纵向误差和横向误差Ex、Ey。计算机110可被编程为基于等式(7)-(8)来确定纵向误差和横向误差Ex、Ey。
接下来,在决策框880中,计算机110确定叠加图像600中的对象160是否对准。计算机110可被编程为在确定误差Ex、Ey小于对应的纵向误差阈值和横向误差阈值Thx、Thy之后确定对象投影340、440是否对准。如果计算机110确定相机数据和雷达数据是对准的,那么过程800前进到框895;否则过程800前进到框882。
在框882中,计算机110确定经过调整的变换矩阵Ma以对准相机图像数据和雷达图像数据。计算机110可被编程为根据指令(6)来确定经过调整的变换矩阵Ma。计算机110可被编程为使用经过调整的变换矩阵Ma来重新变换相机图像410,即,使用经过调整的变换矩阵Ma来更新经过变换的相机图像420。
接下来,在框885中,计算机110将经过缩放的雷达网格地图图像520叠加在通过使用经过调整的变换矩阵Ma而生成的经过重新变换的相机图像420上,并且更新叠加的水平面图像600。计算机110可还被编程为从已更新的叠加图像600更新纵向误差和横向误差Ex、Ey。因此,计算机110可被编程为从经过重新变换的相机图像420和经过缩放的雷达网格地图图像520确定纵向误差和横向误差Ex、Ey。在框885之后,过程800返回到决策框880。
在框895中,计算机110例如基于等式(11)而确定逆变换矩阵Minv,以将水平面叠加图像600变换为竖直平面叠加图像700。
接下来,在框890中,计算机110基于水平叠加图像600而生成叠加的竖直平面图像700。计算机110可被编程为根据指令(12)从图像600数据ImgHor且通过使用逆变换矩阵Ma生成图像700数据ImgVer。
接下来,在框905中,计算机110可被编程为从竖直叠加图像700数据确定对象160的纵向坐标x。
接下来,在框910中,计算机110操作车辆100。举例来说,计算机110可被编程为基于检测到的对象160来致动车辆100的制动、转向和/或推进致动器120。举例来说,计算机110可被编程为沿着对象160的纵向坐标x确定从车辆100到对象160(诸如第二车辆)的距离,并且基于对象160的所确定的纵向坐标x来致动车辆100的致动器120。
在框910之后,过程800结束,或可替代地,返回到框810,但在图8A-图8C中未示出。
如本文所使用,副词“基本上”是指形状、结构、测量结果、数量、时间等可能会由于材料、机械加工、制造、数据传输、计算速度等方面的缺陷而偏离确切描述的几何形状、距离、测量结果、数量、时间等。
“基于”涵盖“全部基于或部分基于”。本文如果将第一物描述和/或主张为“基于”第二物,那么所述第一物是从所述第二物导出或计算得到,和/或是从接受所述第二物的一些或全部作为输入并且输出所述第一物的一些或全部的算法、过程或程序功能输出。
如本文论述的计算装置一般各自包括可由一个或多个计算装置(例如,上文所识别的计算装置)执行并且用于实行上文描述的过程的框或步骤的指令。可从使用多种编程语言和/或技术创建的计算机程序编译或解译计算机可执行指令,所述编程语言和/或技术包括(非限制,并且单独地或组合地)JavaTM、C、C++、Visual Basic、Java Script、Perl、HTML等。一般来说,处理器(例如,微处理器)例如从存储器、计算机可读介质等接收指令,并且执行这些指令,进而执行一个或多个过程,包括本文描述的过程中的一者或多者。可使用多种计算机可读介质来存储和传输此类指令和其他数据。计算装置中的文件一般是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
计算机可读介质包括参与提供可由计算机读取的数据(例如,指令)的任何介质。此类介质可采取许多形式,包括(但不限于)非易失性介质、易失性介质等。非易失性介质包括(例如)光盘或磁盘和其他持久存储器。易失性介质包括动态随机存取存储器(DRAM),其通常构成主存储器。计算机可读介质的常见形式包括(例如)软盘、柔性磁盘、硬盘、磁带、任何其他磁性介质、CD-ROM、DVD、任何其他光学介质、穿孔卡片、纸带、具有孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒、或者计算机可从其读取的任何其他介质。
关于本文描述的介质、过程、***、方法等,应理解,虽然已经将所述过程等的步骤描述为根据特定排序的序列而发生,但可使用通过本文描述的次序之外的次序而执行的所描述的步骤来实践所述过程。应进一步理解,可同时执行某些步骤、可添加其他步骤,或者可省略本文描述的某些步骤。换句话说,提供对本文的***和/或过程的描述是用于说明某些实施例,并且绝不应理解为限制所公开的主题。
因此,将理解,包括以上描述和附图和所附权利要求的本公开意图是说明性的而不是限制性的。本领域技术人员在阅读以上描述之后将明白除了所提供的示例之外的许多实施例和应用。不应参考以上描述来确定本发明的范围,而应当参考所附的和/或基于此包括在非临时专利申请中的权利要求连同此类权利要求所赋予权利的等效物的全部范围来确定本发明的范围。预期并希望在本文论述的领域中将出现未来的发展,并且所公开的***和方法将并入到此类未来的实施例中。总之,应理解,所公开的主题能够修改和变化。
在权利要求中使用的所有术语意图具有本领域技术人员所理解的它们的平常和普通的含义,除非在本文作出相反的明确指示。具体来说,使用诸如“一”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者,除非权利要求相反地叙述明确的限制。
根据本发明,提供一种***,所述***具有计算机,所述计算机包括处理器和存储器,所述存储器存储指令,所述指令可由处理器执行,使得所述计算机被编程为:将竖直图像平面相机图像变换到水平图像平面,进而生成经过变换的相机图像;基于所述经过变换的相机图像的分辨率来生成经过缩放的水平图像平面雷达图像;以及随后将所述经过缩放的雷达图像叠加在经过变换的相机图像上,进而生成水平图像平面叠加图像。
根据实施例,所述指令还包括进行以下操作的指令:还基于从所接收的雷达图像提取的占用网格地图图像来生成经过缩放的雷达图像。
根据实施例,所述指令还包括进行以下操作的指令:在相机图像中检测对象;在经过变换的相机图像中识别检测到的对象的第一位置;在雷达图像中识别检测到的对象的第二位置;以及重新缩放经过缩放的雷达图像以将所述雷达图像中的所述对象的所述第一位置叠加在所述经过变换的相机图像中的所述对象的所述第二位置上。
根据实施例,所述指令还包括进行以下操作的指令:确定逆变换函数,所述逆变换函数将水平图像平面叠加图像变换到竖直图像平面,进而生成包括对象的纵坐标的竖直图像平面叠加图像。
根据实施例,所述生成竖直图像平面叠加图像的指令还包括:向雷达图像应用逆变换函数,进而生成竖直图像平面雷达图像;以及将竖直图像平面雷达图像叠加在竖直平面相机图像上。
根据实施例,所述指令还包括进行以下操作的指令:在所述经过变换的相机图像中检测两个或更多个道路标记;确定所述经过变换的图像中的所述检测到的两个或更多个道路标记之间的像素的数目;以及基于所述检测到的两个或更多个道路标记的现实世界距离以及所述经过变换的图像中的所述检测到的道路标记之间的所确定的像素的数目来确定相机图像的分辨率。
根据实施例,所述指令还包括进行以下操作的指令:基于在经过变换的相机图像中检测到的护栏、灯杆、交通标志和墙壁中的至少一者的现实世界尺寸来确定相机图像的分辨率。
根据实施例,所述指令还包括进行以下操作的指令:基于相机和图像数据的视野的重叠来裁剪雷达图像;以及从所述经过裁剪的雷达图像生成经过缩放的雷达图像。
根据实施例,竖直图像平面相机图像是失真的,并且所述指令还包括进行以下操作的指令:在将相机图像变换到水平图像平面之前矫正所述相机图像。
根据本发明,提供一种***,所述***具有:具有第一视野的雷达传感器和具有第二视野的相机传感器,其中所述第一视野和所述第二视野至少部分地重叠;以及计算机,所述计算机被编程为:将竖直图像平面相机图像变换到水平图像平面,进而生成经过变换的相机图像;基于经过变换的相机图像的分辨率来生成经过缩放的水平图像平面雷达图像;以及随后将经过缩放的雷达图像叠加在经过变换的相机图像上,进而生成水平图像平面叠加图像。
根据本发明,一种方法,包括:将竖直图像平面相机图像变换到水平图像平面,进而生成经过变换的相机图像;基于经过变换的相机图像的分辨率来生成经过缩放的水平图像平面雷达图像;以及随后将经过缩放的雷达图像叠加在经过变换的相机图像上,进而生成水平图像平面叠加图像。
根据实施例,本发明的特征还在于:还基于从所接收的雷达图像提取的占用网格地图图像来生成经过缩放的雷达图像。
根据实施例,本发明的特征还在于:在相机图像中检测对象;在经过变换的相机图像中识别检测到的对象的第一位置;在雷达图像中识别检测到的对象的第二位置;以及重新缩放经过缩放的雷达图像以将所述雷达图像中的所述对象的所述第一位置叠加在所述经过变换的相机图像中的所述对象的所述第二位置上。
根据实施例,本发明的特征还在于:确定逆变换函数,所述逆变换函数将水平图像平面叠加图像变换到竖直图像平面,进而生成包括对象的纵坐标的竖直图像平面叠加图像。
根据实施例,所述生成竖直图像平面叠加图像还包括:向雷达图像应用逆变换函数,进而生成竖直图像平面雷达图像;以及将竖直图像平面雷达图像叠加在竖直平面相机图像上。
根据实施例,本发明的特征还在于:在所述经过变换的相机图像中检测两个或更多个道路标记;确定所述经过变换的图像中的所述检测到的两个或更多个道路标记之间的像素的数目;以及基于所述检测到的道路标记的现实世界距离以及所述经过变换的图像中的所述检测到的两个或更多个道路标记之间的所确定的像素的数目来确定相机图像的分辨率。
根据实施例,本发明的特征还在于:基于在经过变换的相机图像中检测到的护栏、灯杆、交通标志和墙壁中的至少一者的现实世界尺寸来确定相机图像的分辨率。
根据实施例,本发明的特征还在于:基于相机和图像数据的视野的重叠来裁剪雷达图像;以及从所述经过裁剪的雷达图像生成经过缩放的雷达图像。
根据实施例,本发明的特征还在于:在将所述相机图像变换到水平图像平面之前矫正竖直图像平面相机图像数据,其中所接收的相机图像是失真的。
Claims (12)
1.一种方法,所述方法包括:
将竖直图像平面相机图像变换到水平图像平面,进而生成经过变换的相机图像;
基于所述经过变换的相机图像的分辨率来生成经过缩放的水平图像平面雷达图像;以及
随后将所述经过缩放的雷达图像叠加在所述经过变换的相机图像上,进而生成水平图像平面叠加图像。
2.如权利要求1所述的方法,所述方法还包括:还基于从所接收的雷达图像提取的占用网格地图图像来生成所述经过缩放的雷达图像。
3.如权利要求1所述的方法,所述方法还包括:
在所述相机图像中检测对象;
在所述经过变换的相机图像中识别检测到的对象的第一位置;
在所述雷达图像中识别所述检测到的对象的第二位置;
以及重新缩放所述经过缩放的雷达图像以将所述雷达图像中的所述对象的所述第一位置叠加在所述经过变换的相机图像中的所述对象的所述第二位置上。
4.如权利要求1所述的方法,所述方法还包括:确定将所述水平图像平面叠加图像变换到竖直图像平面的逆变换函数,进而生成包括对象的纵坐标的竖直图像平面叠加图像。
5.如权利要求1所述的方法,其中生成所述竖直图像平面叠加图像还包括:
向所述雷达图像应用所述逆变换函数,进而生成竖直图像平面雷达图像;以及
将所述竖直图像平面雷达图像叠加在所述竖直平面相机图像上。
6.如权利要求1所述的方法,所述方法还包括:
在所述经过变换的相机图像中检测两个或更多个道路标记;
确定所述经过变换的图像中的检测到的两个或更多个道路标记之间的像素的数目;以及
基于所述检测到的道路标记的现实世界距离以及所述经过变换的图像中的所述检测到的两个或更多个道路标记之间的确定的像素的数目来确定所述相机图像的所述分辨率。
7.如权利要求6所述的方法,所述方法还包括:基于在所述经过变换的相机图像中检测到的护栏、灯杆、交通标志和墙壁中的至少一者的现实世界尺寸来确定所述相机图像的所述分辨率。
8.如权利要求1所述的方法,所述方法还包括:基于相机和图像数据的视野的重叠来裁剪所述雷达图像;以及从经过裁剪的雷达图像生成所述经过缩放的雷达图像。
9.如权利要求1所述的方法,所述方法还包括:在将所述相机图像变换到所述水平图像平面之前矫正所述竖直图像平面相机图像,其中所接收的相机图像是失真的。
10.一种计算装置,所述计算装置被编程为执行如权利要求1-9中任一项所述的方法。
11.一种计算机程序产品,所述计算机程序产品包括存储指令的计算机可读介质,所述指令能由计算机处理器执行以执行如权利要求1-9中任一项所述的方法。
12.一种***,所述***包括:
具有第一视野的雷达传感器和具有第二视野的相机传感器,其中所述第一视野与所述第二视野至少部分地重叠;以及
计算机,所述计算机被编程为:
将竖直图像平面相机图像变换到水平图像平面,进而生成经过变换的相机图像;
基于所述经过变换的相机图像的分辨率来生成经过缩放的水平图像平面雷达图像;以及
随后将所述经过缩放的雷达图像叠加在所述经过变换的相机图像上,进而生成水平图像平面叠加图像。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/382,412 US10928508B2 (en) | 2019-04-12 | 2019-04-12 | Camera and radar fusion |
US16/382,412 | 2019-04-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111815641A true CN111815641A (zh) | 2020-10-23 |
Family
ID=72613116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010266366.9A Pending CN111815641A (zh) | 2019-04-12 | 2020-04-07 | 相机和雷达融合 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10928508B2 (zh) |
CN (1) | CN111815641A (zh) |
DE (1) | DE102020110127A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678244B2 (en) | 2017-03-23 | 2020-06-09 | Tesla, Inc. | Data synthesis for autonomous control systems |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11215999B2 (en) | 2018-06-20 | 2022-01-04 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
SG11202103493QA (en) | 2018-10-11 | 2021-05-28 | Tesla Inc | Systems and methods for training machine models with augmented data |
US11196678B2 (en) | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US11150664B2 (en) | 2019-02-01 | 2021-10-19 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US10997461B2 (en) | 2019-02-01 | 2021-05-04 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
CN110619666B (zh) * | 2019-09-20 | 2022-05-27 | 阿波罗智能技术(北京)有限公司 | 用于标定相机的方法及装置 |
EP3832525A1 (en) * | 2019-12-03 | 2021-06-09 | Aptiv Technologies Limited | Vehicles, systems, and methods for determining an entry of an occupancy map of a vicinity of a vehicle |
DE102020216401B3 (de) * | 2020-12-21 | 2022-05-19 | Siemens Aktiengesellschaft | Verfahren zur automatisierten Unterstützung einer Inspektion und/oder Zustandsüberwachung von Objekten |
US20220194424A1 (en) * | 2020-12-22 | 2022-06-23 | Waymo Llc | Autonomous vehicle trajectory computed using box-based probabilistic overlap model |
TWI800140B (zh) * | 2021-12-06 | 2023-04-21 | 致伸科技股份有限公司 | 監控方法 |
CN116740944B (zh) * | 2023-08-10 | 2023-10-27 | 云南省交通投资建设集团有限公司 | 一种道路隧道内行车安全预警方法、设备及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4257356B2 (ja) * | 2006-09-26 | 2009-04-22 | 株式会社日立製作所 | 画像生成装置および画像生成方法 |
US8049658B1 (en) | 2007-05-25 | 2011-11-01 | Lockheed Martin Corporation | Determination of the three-dimensional location of a target viewed by a camera |
US9041915B2 (en) | 2008-05-09 | 2015-05-26 | Ball Aerospace & Technologies Corp. | Systems and methods of scene and action capture using imaging system incorporating 3D LIDAR |
JP5632762B2 (ja) * | 2011-01-25 | 2014-11-26 | パナソニック株式会社 | 測位情報形成装置、検出装置、及び測位情報形成方法 |
WO2013069012A1 (en) | 2011-11-07 | 2013-05-16 | Dimensional Perception Technologies Ltd. | Method and system for determining position and/or orientation |
US9128185B2 (en) | 2012-03-15 | 2015-09-08 | GM Global Technology Operations LLC | Methods and apparatus of fusing radar/camera object data and LiDAR scan points |
CN103559791B (zh) | 2013-10-31 | 2015-11-18 | 北京联合大学 | 一种融合雷达和ccd摄像机信号的车辆检测方法 |
KR20150104287A (ko) | 2014-03-05 | 2015-09-15 | 주식회사 만도 | 차량 센서 보정용 바퀴 고정유닛 및 이를 이용한 보정장치 |
US10666928B2 (en) | 2015-02-06 | 2020-05-26 | The University Of Akron | Optical imaging system and methods thereof |
US11024044B2 (en) | 2016-09-26 | 2021-06-01 | Digitalglobe, Inc. | Techniques for image co-registration |
WO2018191648A1 (en) | 2017-04-14 | 2018-10-18 | Yang Liu | System and apparatus for co-registration and correlation between multi-modal imagery and method for same |
US11328444B2 (en) * | 2017-08-22 | 2022-05-10 | Sony Corporation | Signal processing apparatus, signal processing method, program, mobile object, and signal processing system |
US11899099B2 (en) * | 2018-11-30 | 2024-02-13 | Qualcomm Incorporated | Early fusion of camera and radar frames |
US11630197B2 (en) * | 2019-01-04 | 2023-04-18 | Qualcomm Incorporated | Determining a motion state of a target object |
-
2019
- 2019-04-12 US US16/382,412 patent/US10928508B2/en active Active
-
2020
- 2020-04-07 CN CN202010266366.9A patent/CN111815641A/zh active Pending
- 2020-04-13 DE DE102020110127.9A patent/DE102020110127A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US10928508B2 (en) | 2021-02-23 |
US20200326420A1 (en) | 2020-10-15 |
DE102020110127A1 (de) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10928508B2 (en) | Camera and radar fusion | |
CN111797734B (zh) | 车辆点云数据处理方法、装置、设备和存储介质 | |
US10977504B2 (en) | Vehicle-mounted image target objection recognition device | |
US11948249B2 (en) | Bounding box estimation and lane vehicle association | |
EP3842754A1 (en) | System and method of detecting change in object for updating high-definition map | |
EP3842751B1 (en) | System and method of generating high-definition map based on camera | |
CN111337906A (zh) | 传感器校准方法和传感器校准设备 | |
CN110555407B (zh) | 路面车辆空间识别方法及电子设备 | |
CN108475471B (zh) | 车辆判定装置、车辆判定方法和计算机可读的记录介质 | |
US11544868B2 (en) | Object location coordinate determination | |
US20230326168A1 (en) | Perception system for autonomous vehicles | |
CN110780287A (zh) | 基于单目相机的测距方法及测距*** | |
KR102003387B1 (ko) | 조감도 이미지를 이용한 교통 장애물의 검출 및 거리 측정 방법, 교통 장애물을 검출하고 거리를 측정하는 프로그램을 저장한 컴퓨터 판독가능 기록매체 | |
US10249056B2 (en) | Vehicle position estimation system | |
Oniga et al. | A fast ransac based approach for computing the orientation of obstacles in traffic scenes | |
US11348278B2 (en) | Object detection | |
US11884303B2 (en) | Apparatus and method for determining lane change of surrounding objects | |
WO2022133986A1 (en) | Accuracy estimation method and system | |
US11373389B2 (en) | Partitioning images obtained from an autonomous vehicle camera | |
CN114074666A (zh) | 传感器融合 | |
US11461922B2 (en) | Depth estimation in images obtained from an autonomous vehicle camera | |
Chiwata et al. | Map Matching using Line Segment Features for Self-Vehicle Localization in Road Environments | |
US20240070916A1 (en) | Vehicle and Control Method Thereof | |
US20240144499A1 (en) | Information processing device, information processing method, and information processing program | |
Hellinckx | Lane Marking Detection Using LiDAR Sensor |
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 |