一种应用于车辆的相机系统的制作方法

文档序号:26101469发布日期:2021-07-30 18:12阅读:50来源:国知局
一种应用于车辆的相机系统的制作方法

相关申请

本申请要求于2018年12月3日提交的第16/208,483号的美国专利申请的优先权,其内容通过引用并入本文。

本公开涉及一种应用于车辆的相机系统,并且更具体地,涉及一种应用于自动驾驶车辆的多相机系统。



背景技术:

自动驾驶技术依赖于精确的感测系统。例如,自动驾驶车辆可以配置有多个集成传感器,如一个或多个相机、激光测距(lidar)传感器、无线电测距(radar)传感器以及声波和超声波传感器,以捕获如图像/视频、点云以及车辆姿态信息等数据。之后,自动驾驶车辆处理感测得到的数据以获得有助于控制车辆的各种功能的信息。例如,当车辆移动时,相机可用于捕捉周围的场景。通过处理捕获的场景图像,车辆可以了解其周围的对象以及这些对象与其自身之间的距离。例如,如果车辆探测到行人在其前方约10英尺处,其将控制制动系统施加紧急制动以停止车辆。

然而,在自动驾驶的情况下进行相机感测是具有挑战性的。已知问题包括如摄像伪影、过大的视野、光圈以及其它的相机设置。例如,某些图像问题可能是由明亮的光源引发的镜头光斑。其它图像问题可能是由镜头自身反射引发的绿光或“重影”。其它问题可能包括由互补金属氧化物半导体(cmos)设置引发的变色或图像过亮/过暗。此外,单个单目相机只能捕获二维(2d)图像,而不能提供对象的深度信息。然而,深度信息通常对于自动驾驶车辆至关重要。尽管更为复杂的相机(如双目相机)能够提供深度信息,更为复杂的相机通常也更为昂贵,因而增加了车辆的成本。因此,需要一种感测数据的改进的系统。

本公开实施例通过多相机系统解决了上述问题。



技术实现要素:

本公开实施例提供了一种用于车辆的相机系统。所述相机系统包括多个相机,每个相机各自配置有不同的相机设置。所述多个相机共同地保持向一个预定的图像空间对焦。所述预定的图像空间包括至少一个对象。所述相机系统进一步包括控制器。所述控制器被配置为接收由向所述预定的图像空间对焦的所述多个相机所捕获的图像数据,以及基于所述图像数据确定所述至少一个对象的深度信息。

本公开实施例还提供了一种车辆。所述车辆包括车身以及至少一个车轮。所述车辆还包括设置于所述车身上的多个相机,所述多个相机中,每个相机各自具有不同的相机设置。所述多个相机共同地保持向一个预定的图像空间对焦。所述预定的图像空间包括至少一个对象。所述车辆进一步包括控制器。所述控制器被配置接收由向所述预定的图像空间对焦的所述多个相机所捕获的图像数据,基于所述图像数据确定所述至少一个对象的深度信息,以及基于所述深度信息控制所述车辆的至少一个功能。

本公开实施例进一步提供了一种感测方法。所述感测包括使用多个相机获取具有至少一个对象的预定的图像空间的图像数据。所述多个相机中,每个相机各自具有不同的相机设置,以及,所述多个相机共同地保持向一个预定的图像空间对焦。所述感测方法进一步包括基于所述图像数据确定所述至少一个对象的深度信息。

应理解,如所要求地,以上的一般描述以及以下的详细描述皆仅是示例性和说明性的,并不限制本发明。

附图简要说明

图1示出了根据本公开实施例的配备有相机系统的示例性车辆的示意图。

图2示出了根据本公开实施例的示例性相机系统中的相机的示意图。

图3示出了根据本公开实施例的示例性相机系统的块状图。

图4示出了根据本公开实施例的示例性“对焦测距”(depth-from-focus)方法。

图5示出了根据本公开实施例的由相机系统执行的示例性方法的流程图。

具体实施方式

现在将详细说明示例在附图中示出的示例性实施例。尽可能地,将使用与附图相同的附图标记指代相同或相似的部件。

图1示出了根据本公开实施例的,配备有相机系统的示例性车辆100的示意图。与一些实施例相一致地,车辆100可以被配置为由占用车辆的操作者进行操作、远程控制和/或为自动驾驶车辆。可以设想,车辆100可以是电动车辆、燃料电池车辆、混合动力车辆或常规的内燃机车辆。车辆100可以包括车身110和至少一个车轮120。车身110可以是任何车身样式,如跑车、轿跑车、轿车、轻型车、旅行车、运动型多用途车(suv)、小型货车或改装货车。如图1所示,在一些实施例中,车辆100可以包括一对前车轮和一对后车轮。然而,可以设想,车辆100可以具有使车辆100能够移动的或更多或更少的车轮或等效的结构。车辆100可以被配置为全轮驱动(awd)、前轮驱动(fwr)或后轮驱动(rwd)。

如图1所示,车辆100可以配置有相机系统,包括,除其他结构之外的,多个相机130以及控制器150。相机130可以安装或以其它方式设置于车身110上或于其内部。在一些实施例中,相机130可以被配置为在车辆100沿着轨迹行进时捕获数据。与本公开相一致地,相机130可以被配置为摄取周围的照片或视频。例如,相机可以是单目或双目相机。当车辆100沿着轨迹行进时,相机130可以连续地捕捉数据。在特定时间点捕获的每组场景数被称为数据帧。例如,相机130可以记录由在多个时间点捕获的多个数据帧组成的视频。

与本公开相一致地,相机130可以包括多个配置有不同相机设置的相机。在一些实施例中,每个相机可以具有不同的焦距或视角。共同地,多个相机可以持续地向相关的图像空间对焦,并且将减轻由镜头缺陷引发的伪影。例如,相机130可以包括焦距为1m、5m、10m、20m和30m等的相机。因此,特定的相机可以覆盖预定的深度范围,并且在相应的深度范围内的对象可以与该相机对焦。结果,在相机130的30m内的整个图像空间可以对焦,并且由相机130共同地覆盖。

在一些实施例中,多个相机130可以全部安装在车身110上的相同位置处,或者可以分成几组并安装在车身110上的不同位置处。例如,图2示出了根据本公开实施例的,示例性相机系统中的相机200的示意图。如图2所示,相机200可以包括安装在车辆100的前部的共6个前置相机。6个前置相机可以分为两个组别,包括3个左相机210(l0、l1和l2)以及3个右相机220(r0、r1和r2)。可以设想,与图2所示的相机相比,可以设置或更多或更少的相机的组别,和/或在每个组别中设置或更多或更少的相机。

在一些实施例中,每个组别内的相机可以配置为具有不同的焦距,并且因此配置有不同的视角。与本公开相一致地,“焦距”指代当向对象对焦时,相机镜头与图像传感器之间的距离。焦距通常由所使用镜头的类型(正常、长焦、广角、远摄、微距、鱼眼或变焦)确定。焦距通常以毫米(例如28mm、50mm或100mm)表示。与本公开相一致地,相机的“视角”是以角度表示的,由图像传感器捕捉的场景的可见范围。广视角捕捉较大的范围,而小角度捕捉较小的范围。

在本领域中众所周知的是,相机的视角随着焦距的增加而减小。改变焦距会改变视角。焦距越短,视角越广,且捕捉的范围越大。例如,在标称焦距(称为鱼眼)下,相机可以捕获接近180°的视角的图像数据。焦距越长,角度越小,且实验对象看起来越大。具有广成像视角的镜头称为广角镜头,具有小成像视角的镜头称为远摄镜头。

在一些实施例中,示例性相机的[焦距,视角]的数据对在如下的表1中列出:

表1

在一些实施例中,左相机210中的每一个,也即,l0、l1或l2配置为具有不同的焦距。例如,可以将相机l0、l1和l2分别设置为具有28mm、70mm和100mm的焦距。由此,相机l0、l1和l2的视角将分别为75°、34°和24°。可以设想,相机可以配置有其它焦距。通过使用这种设置,相机200可以保持对焦于车辆100面前的整个图像空间。可以设想,可以使用除焦距以外的不同的光学设置或透镜。

在一些实施例中,左相机210以及右相机220之间可以配置为正交偏振。例如,当右相机220具有+45°的偏振角时,左相机210可以具有-45°的偏振角。偏振角之间相隔90°,因此彼此正交。在两个组别的相机之间使用正交偏振使得相机200能够共同地覆盖更宽的视野。尽管在图2中示出了45°偏振角,可以设想偏振角可以基于环境条件彼此偏离任何其它的角度。在使用n(n>2)组相机的情况下,在一些实施例中,不同组别的相机的偏振角可以设置为相隔180°/n。例如,如果具有三组相机,可以分别使用0°、60°、120°的偏振角为偏振方案。

返回图1,在一些实施例中,相机130可以与控制器150通信。在一些实施例中,控制器150可以是车辆100的车载控制器,例如电子控制单元。在一些实施例中,控制器150可以是本地物理服务器、云服务器(如图1所示)、虚拟服务器、分布式服务器或任何其它合适的计算设备的一部分。控制器150可以经由如无线局域网(wlan)、广域网(wan)、无线网络(如无线电波)、蜂窝网络、卫星通信网络和/或本地或短距离无线网络(例如bluetoothtm)等网络与车辆100的相机130和/或其它组件通信。

与本公开相一致地,控制器150可以负责处理由相机130捕获的图像数据并基于图像数据执行车辆功能。由于相机130提供冗余数据,控制器150可以使用在其他情况下不得使用的算法的组合,基于由相机130捕获的图像数据来估算图像空间内的对象的深度信息。在一些实施例中,控制器150可以通过识别有哪些相机130已对焦,从而估算相机到某一二维投影图像上的点的距离,并且使用这些信息来推断相机到达对象的距离。

例如,图3示出了根据本公开实施例的,示例性相机系统150的块状图。与本公开相一致地,控制器150可以从相机130接收图像数据303。控制器150可以使用图像数据303来估算对象的深度,校正图像数据303中的伪影,和/或基于图像数据303进行车辆控制决策。

在一些实施例中,如图3所示,控制器150包括通信接口302、处理器304、内存器306和存储器308。在一些实施例中,控制器150在单个设备中包括不同的模块,如集成电路(ic)芯片(实施为专用集成电路(asic)或现场可编程门阵列(fpga)),或具有专用功能的单独的设备。在一些实施例中,控制器150的一个或多个组件可以位于云服务器中,或者可替代地位于单个位置(如在车辆100或移动设备内部)或分散的多个位置中。控制器150的组件可以在集成设备中,或分布于不同的位置,但是通过网络(未示出)彼此通信。

通信接口302可以经由通信电缆、无线局域网(wlan)、广域网(wan),无线网络(如无线电波)、蜂窝网络和/或本地或短距离无线网络(例如,bluetoothtm)或其它通信方法向如相机130等组件发送数据并接收数据。在一些实施例中,通信接口302可以是集成服务数字网络(isdn)卡、电缆调制解调器、卫星调制解调器或提供数据通信连接的调制解调器。作为另一个实例,通信接口302可以是提供与兼容的局域网(lan)的数据通信连接的局域网卡。无线连接还可以由通信接口302实施。在这种实施情况下,通信接口302可以经由网络发送和接收携带表示各种类型的信息的数字数据流的电、电磁或光信号。

与某些实施例相一致地,通信接口302可以接收由相机130捕获的图像数据303。通信接口302可以进一步向存储器308提供接收到的数据以进行存储,或向处理器304提供接收到的数据以进行处理。

处理器304可以包括任何适当类型的通用或专用微处理器、数字信号处理器或微控制器。处理器304可以被配置为专用于基于由相机130捕获的图像数据执行车辆功能的单独的处理器模块。可替代地,处理器304可以被配置为用于执行其它功能的共享处理器模块。

如图3所示,处理器304包括多个模块,如深度估算单元310、伪影校正单元312以及决策单元314等。这些模块(以及任何对应的子模块或子单元)可以是处理器304的硬件单元(例如,集成电路的部分),其被设计为通过执行程序的至少一部分而与由处理器304实施的其它组件或软件单元一起使用。程序可以存储在计算机可读介质上,并且当由处理器304执行时,程序可以执行一个或多个功能。尽管图3示出了单元310-314全部在一个处理器304内的情况,但是可以设想,这些单元可以分布在彼此靠近或远离的多个处理器之间。

深度估算单元310被配置为估算相机130与对象之间的距离。在一些实施例中,深度估算单元310使用来自真实光圈相机(realaperturecameras)的多个已对焦的图像,以估算来自相机130的场景的深度(称为“对焦测距”方法)。可替代地,深度估算单元310还可以使用来自真实光圈相机的多个离焦图像,以估算深度(称为“散焦测距”方法)。真实光圈相机具有相对较短的景深,导致图像看起来仅聚焦于场景的一小部分三维切片上。

图4示出了根据本公开实施例的示例性“对焦测距”(depth-from-focus)方法。将使用光学几何结构400来解释所述方法。每个相机130的镜头是通过薄透镜定律建模的:

其中,f是相机130的焦距,u是镜头平面410与相机对焦于的对象420之间的距离,并且v是镜头平面410到图像平面430的距离。基于等式(1),可以使用等式(2)确定相机到其对焦于的对象u的距离:

通过使用指向相同场景的具有不同焦距f1,f2…,fn的多个相机130,可以使用等式(3)获得对焦的场景与n个不同的相机之间的一组距离u1,…,un:

其中,以及{f1,…,fn,v1,…,vn}是每个相机的参数。通过确定某相机(例如,相机i)对焦于某对象,可以将该对象到该相机的距离估算为相应的距离ui。

返回图3,深度估算单元310可以针对图像空间中的每个对象,确定于某对象对焦的相机(例如,相机i)。这一确定过程可以通过如图像处理方法来执行。之后,深度估算单元310可以将到该对象的距离确定为对焦于其的相机的距离ui。在一些实施例中,可以有多于一个相机(例如,相机i和j)对焦于该对象。因此,到该对象的距离可以确定为在范围ui-uj内。

例如,相机130可以包括指向3个对象的3个真实光圈相机。深度估算单元310可以首先确定3个相机的对焦距离是20、40和60米。之后,深度估计单元310可以确定哪个(哪些)相机对焦于每个对象。表2总结了获得的信息。

表2

基于表2,深度估算单元310可以估算相机到对象的距离。例如,对象1距离相机约20米,对象2距离相机约40-60米,以及对象3距离相机约60米。

在一些实施例中,当相机130被设置成定位于在不同的位置时,如在图2中,捕获的图像数据变化为提供立体视觉的立体图像。深度估算单元310可以通过使用简单的几何形状来使用立体图像进一步改进距离估算。在一些实施例中,例如,左相机210和右相机220从两个有利点捕捉相同的对象/场景的图像。深度估算单元310可以通过检查该对象在两个图像中的相对位置来提取三维(3d)信息。也即是说,左相机和右相机可以共同地充当双目相机。深度估算单元310可以比较两个图像,并且以视差图的形式确定相对深度信息。视差图对对应的图像点在水平坐标系中的差异进行编码。此视差图中的值与对应的像素位置处的场景深度成反比。因此,深度估算单元310可以使用视差图来确定附加的深度信息。

伪影校正单元312可以被配置为校正图像数据303中的伪影。由相机捕获的图像数据可以含有由镜头属性引发的伪影,如由明亮的光源引发的镜头光斑,由镜头自身反射引发的绿光或“重影”。图像数据可以附加地或替代地含有其它伪影,如由互补金属氧化物半导体(cmos)设置引发的图像变色或过亮/过暗。伪影校正单元312可以使用利用由多个相机提供的冗余数据的方法来校正伪影。例如,由不同的相机拍摄的图像可以被平均或以其它方式聚合以去除或减少伪影。

决策单元314可以基于处理后的图像数据进行车辆控制决策。例如,决策单元314可以基于对象的估算距离做出自主驾驶决策,例如躲避对象。自主驾驶决策的实例包括:加速、制动、改变车道、改变驾驶方向等。例如,如果在距离车辆100的20米处检测到行人,决策单元314可以立即自动地施加制动。如果仅在10米远处并且在车辆100的移动方向上检测到行人,决策单元314可以控制车辆100远离行人。

内存器306和存储器308可以包括被提供来存储处理器304可能需要操作的任何类型的信息的任何适当类型的大容量存储器。内存器306和存储器308可以是易失性或非易失性的、磁性的、半导体的、磁带的、光学的、可移动的、不可移动的或其它类型的存储设备或有形的(即,非暂时性的)计算机可读介质,包括但不限于只读存储器、闪存、动态随机存取存储器和静态随机存取存储器。内存器306和/或存储器308可以被配置为存储可以由处理器304执行以执行本文公开的图像数据处理和车辆控制功能的一个或多个计算机程序。例如,内存器306和/或存储器308可以被配置为存储可以由处理器304执行以估算深度信息或以其它方式基于所捕获的图像数据来实现车辆控制功能的一个或多个程序。

内存器306和/或存储器308可以进一步被配置为存储由处理器304使用过的信息和数据。例如,内存器306和/或存储器308可以被配置为存储由相机130捕获的各种类型的数据(例如,图像数据)和与相机设置有关的数据。内存器306和/或存储器308还可以存储如由深度估算单元310所估算的深度等中间数据。各种类型的数据可以在处理完每帧数据后永久存储、定期删除或立即忽略。

图5示出了根据本公开实施例的由相机系统执行的示例性方法500的流程图。在一些实施例中,方法500可以由包括除处理器304以外还包括其它部分的控制器150来实施。然而,方法500不限于这一示例性实施例。方法500可以包括如下所述的步骤s502-s512。应理解,其中的一些步骤对于执行本文提供的公开可以是可选的。此外,步骤中的一些步骤可以同时执行,或者以与图5所示不同的顺序执行。

在步骤s502中,相机130捕获预定的图像空间内的至少一个对象的图像数据。在一些实施例中,预定的图像空间可以是距离相机130的一定距离内的相机130指向的方向中的三维场景。例如,当相机130是安装在车辆100前方的前置相机时,预定的图像空间可以是车辆100前方例如60米内的三维空间。在一些实施例中,对象可以是另一车辆、摩托车、自行车、行人、建筑物、树木、交通标志、交通信号灯等。在预定的图像空间中可以具有一个或多个对象。

在一些实施例中,相机130可以配置有不同的焦距。相机130可以同时地或顺序地指向并拍摄相同的三维场景的图像。可以例如经由网络将由相机130捕获的图像数据发送到控制器150。一个或多个对象(取决于其与相机130的距离)可以被对焦于由一个或多个相机130拍摄的图像中。例如,如果一个对象在距离相机约10米的位置,对象将被对焦于在由对焦距离为10米的相机拍摄的图像中。

在一些实施例中,当相机130处于立体设置时,例如,如图2所示,在步骤s502中捕获的图像数据可以包括立体图像。可以将相机分为两组或更多组(例如,n个组),并设置于车辆100的不同位置处。在一些实施例中,第i组相机可以被配置为具有i*180°/n的偏振角。

在步骤s504中,控制器150确定每个相机130的对焦距离。相机130的参数和设置可以预先存储在控制器150中,或者由相机130与图像数据一起提供。相机参数和设置可以包括除其它以外的局部焦距、视角、光圈、快门速度、白平衡、测光和滤镜等。焦距通常由所用镜头的类型(正常、长焦距、广角、远摄、微距、鱼眼、或变焦)确定。相机参数还可以包括例如相机的镜头平面(例如,图4中的410)与图像平面(例如,图4中的430)之间的距离v。例如控制器150根据等式(2),基于其焦距f和距离v来确定每个相机的对焦距离u。

在步骤s506中,控制器150识别对象对焦的一个或多个相机。在一些实施例中,这一确定过程可以例如通过图像处理方法来执行。在步骤s508中,控制器150确定对象的深度信息。在一些实施例中,控制器150确定相机130与对象之间的距离。该距离可以使用在步骤s506中识别出的相机i的距离ui来估算。在一些实施例中,对象可以在多于一个相机(例如,相机i和j)中被对焦。因此,相机到对象的距离可以确定为在范围ui-uj内。

在一些实施例中,当相机130处于立体设置时,例如,如图2所示,控制器150可以从由相机捕获的立体图像中得出附加的深度信息。例如,控制器150可以以对对应的图像点在水平坐标系中的差异进行编码的视差图的形式确定对象的相对深度信息。控制器150可以基于此视差图中的值与对应的像素位置的深度之间的逆关系来计算场景距离。

在步骤s510中,控制器150基于图像数据控制车辆操作。例如,控制器150可以进行自主驾驶决策,如加速、制动、改变车道、改变驾驶方向等。例如,控制器150可以基于对象的估算距离做出避让对象的控制决策。例如,当在对象(例如,行人)与车辆碰撞前仍允许车辆100完全停止的距离处检测到对象时,控制器150可以控制车辆100制动。控制器150可以确定施加的制动力,以使得车辆100在到对象的估算距离内停止。如果检测到与对象的距离不再允许车辆100完全停止,则除了制动之外或替代制动,控制器150可以使车辆100偏离其面对的方向行驶。

在步骤s512中,控制器150使用由所公开的相机系统提供的冗余数据来校正由相机130捕获的图像数据中的伪影。在一些实施例中,伪影可以是由镜头和/或互补金属氧化物半导体(cmos)设置引起的。控制器150可以通过例如由不同相机拍摄的平均图像来校正伪影,以提高信噪比(snr)。控制器150还可以使用基于机器学习的方法来校正伪影。

本公开的另一方面针对一种存储指令的非暂时性计算机可读介质,该指令在被执行时,使得一个或多个处理器执行如上所述的方法。计算机可读介质可以包括易失性或非易失性的、磁性的、半导体的、磁带的、光学的、可移动的、不可移动或其它类型的计算机可读介质或计算机可读存储设备。例如,如所公开的,计算机可读介质可以是其上存储有计算机指令的存储设备或内存模块。在一些实施例中,计算机可读介质可以是其上存储有计算机指令的磁盘或闪存驱动器。

对于本领域技术人员将显而易见的是,可以对所公开的系统和相关方法进行各种修改和变化。考虑到所公开的系统和相关方法的说明书以及实践,其它实施例对于本领域技术人员将是显而易见的。

说明书和实例旨在仅被认为是示例性的,真正的范围由所附的权利要求书及其等同物表明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1