自动车辆的相机评估技术

文档序号:621637 发布日期:2021-05-07 浏览:5次 >En<

阅读说明:本技术 自动车辆的相机评估技术 (Camera assessment techniques for automated vehicles ) 是由 C.W.克拉多科 A.温德尔 X.胡 于 2019-08-19 设计创作,主要内容包括:本公开涉及评估两个或更多个相机(310、320、410、420、430)的操作。这些相机可以是具有自动驾驶模式的车辆(100)的感知系统(172)的一组相机(300、400)。可以接收由第一相机捕获到的第一图像(500)和由第二相机捕获到的第二图像(600)。可以生成第一图像的第一特征向量和第二图像的第二特征向量。可以使用第一特征向量和第二特征向量来确定相似性分数。该相似性分数可以用于评估两个相机的操作,并且可以采取适当的行动。(The present disclosure relates to evaluating operation of two or more cameras (310, 320, 410, 420, 430). The cameras may be a set of cameras (300, 400) of a perception system (172) of a vehicle (100) having an autonomous driving mode. A first image (500) captured by a first camera and a second image (600) captured by a second camera may be received. A first feature vector of the first image and a second feature vector of the second image may be generated. A similarity score may be determined using the first feature vector and the second feature vector. The similarity score may be used to evaluate the operation of the two cameras and appropriate action may be taken.)

自动车辆的相机评估技术

相关申请的交叉引用

本申请要求2018年8月20日提交的申请序列号16/105,069的权益,其公开内容通过引用结合于此。

背景技术

自动车辆(诸如不需要人类驾驶员的车辆)可以用于协助乘客或物品从一个位置到另一个位置的运输。这种车辆可以在完全自动驾驶模式下操作,在完全自动驾驶模式下,乘客可以提供一些初始输入(诸如目的地),并且车辆操纵自身到达该目的地。因此,这种车辆可以在很大程度上依赖于能够在任何给定时间确定自动车辆的位置以及检测和识别车辆外部的对象(诸如其他车辆、停车灯、行人等)的系统。例如,这些系统可以包括安装在车辆上不同位置处的传感器(诸如激光扫描装备和相机)。因此,能够实时评估这种传感器的操作对于确保车辆在做出驾驶决策时不依赖于来自未起作用或被碎屑覆盖的传感器的传感器数据是重要的。

发明内容

本公开的各方面提供了一种用于评估两个或更多个相机的操作的方法。该方法包括由一个或多个处理器接收由第一相机捕获到的第一图像;由一个或多个处理器接收由第二相机捕获到的第二图像,第一相机和第二相机具有重叠的视场(field of view);由一个或多个处理器生成第一图像的第一特征向量(feature vector)和第二图像的第二特征向量;由一个或多个处理器使用第一特征向量和第二特征向量来确定相似性分数(similarity score);以及由一个或多个处理器使用相似性分数来评估两个相机的操作。

在一个示例中,第一图像和第二图像被不同地曝光。在另一个示例中,第一相机包括ND滤光器,而第二相机不包括ND滤光器。在另一个示例中,第一图像的曝光时间(exposure period)比第二图像的曝光时间长。在另一个示例中,第一图像和第二图像在预定时间段内被捕获,以便在重叠的视场内的给定位置捕获对象。在另一个示例中,该方法还包括在生成第一特征向量和第二特征向量之前,缩小第一图像和第二图像。在该示例中,缩小第一图像和第二图像包括裁剪(crop)第一图像和第二图像以便仅包括与重叠的视场相对应的像素。附加地或可替代地,缩小第一图像和第二图像包括缩略图化(thumbnail)第一图像和第二图像。

在另一个示例中,第一特征向量和第二特征向量还基于一天中的时间来生成。在另一个示例中,第一特征向量和第二特征向量被生成以便仅包括与发光对象相对应的特征。在另一个示例中,生成相似性分数包括使用结构相似性指数。在另一个示例中,使用相似性分数包括将相似性分数与阈值进行比较。在另一个示例中,使用相似性分数包括将相似性分数与随着时间从来自第一相机和第二相机的图像生成的其他相似性分数进行比较。在该示例中,将相似性分数与其他相似性分数进行比较包括使用累积和控制图(cumulative sum control chart)。在另一个示例中,该方法还包括基于评估向远程计算设备发送协助请求,该请求包括第一图像和第二图像。在该示例中,该方法还包括在发送请求之后,向远程计算设备发送来自第一相机的更新后的图像和来自第二相机的更新后的图像。附加地或可替代地,该方法还包括响应于该请求,响应于请求接收停止车辆的指令并而停止车辆。在另一个示例中,该方法还包括为第一相机和第二相机中的一个或两个激活清洁系统。在另一个示例中,该方法还包括由一个或多个处理器通过基于评估做出驾驶决策来控制自动驾驶模式下的车辆。在该示例中,控制车辆包括在做出驾驶决策时丢弃第一图像和第二图像中的一个或两个的全部或部分。

在另一个示例中,生成相似性分数包括将第一特征向量和第二特征向量输入模型。在这个示例中,模型是决策树模型。附加地或可替代地,生成相似性分数还包括输入附加信息,该附加信息包括第一图像的深度数据、第二图像的深度数据、太阳的位置或一天中的时间信息中的至少一个。

附图说明

图1是根据本公开的各方面的示例车辆的功能图。

图2是根据本公开的各方面的图1的示例车辆的示例外部视图。

图3是根据本公开的各方面的相机组的示例。

图4是根据本公开的各方面的相机组的另一示例。

图5是根据本公开的各方面的示例图像。

图6是根据本公开的各方面的另一示例图像。

图7是根据本公开的各方面的示例系统的示意图。

图8是根据本公开的各方面的图7的系统的功能图。

图9是根据本公开的各方面的裁剪和缩小图像的示例。

图10是根据本公开的各方面的示例图像。

图11是根据本公开的各方面的另一示例图像。

图12是根据本公开的各方面的示例流程图。

具体实施方式

概述

本技术涉及评估两个或更多个相机的操作,或者更确切地,涉及确认相机正常工作。例如,很难知道相机是否正确地“看见”了世界、或者镜头上是否存在异物碎屑、是否存在冷凝(condensation)、是否存在未起作用的像素等。对于依赖于这种相机来做出驾驶决策的自动车辆的情况下,这尤其重要。

例如,自动车辆的感知系统可以包括多个相机和其他传感器。相机可以具有不同的配置,例如,不同的滤光器等,但是可以被配置为周期性地捕获图像。这些相机中的至少一些,以及因此捕获到图像中的一些,可以具有重叠的视场。具有重叠视场的一对相机的功能可以通过选择从每个相机捕获到的一对图像来验证(validate)。理想地,这些图像在非常接近的时间内或者在某个预定时间段内被捕获,以便在重叠的视场内的相同位置捕获相同对象中的一个或多个。

为了简化处理,可以减小图像的尺寸。例如,图像可以在尺寸上减小,和/或以其他方式被裁剪为仅包括与重叠的视场相对应的部分。

然后可以分析缩小的图像以生成特征向量。因此,这些特征向量将表示在缩小的图像中的特征。然后可以比较这些特征向量,以确定相似性分数或者它们彼此之间的相似程度。可以使用余弦相似性测量、聚类技术、其他向量相似性测量技术或模型来确定相似性分数。

可以将相似性分数与阈值进行比较,以确定缩小的图像之间的相似性是否太低,或者更确切地说,图像如此不同以至于相机之一可能有问题或被遮挡。在许多情况下,阈值可能足以识别变化,诸如当相机镜头之一上缓慢地形成冷凝时。然而,在一些情况下,阈值不一定能识别问题。在这种情况下,可以随着时间比较来自两个相机的许多图像的相似性分数,以便识别突然的变化。

如果满足阈值或者如果检测到突然的变化,则车辆的计算设备可以假设相机中的一个或两个有问题。因此,可以采取适当的响应。此外,该过程可以被周期性地执行,诸如每当在具有重叠的视场的两个相机之间捕获到一对图像时,或者更不频繁。

尽管上述技术在环境照明良好的白天工作良好,但在较暗或夜间环境中,相似性分数和SSIM可能变得不可靠。在此期间,可以只比较亮点(bright spot)或高强度(intensity)区域,而不是比较匹配两个缩小图像中的所有特征。此外,可以再次确定这些向量的相似性分数,并将相似性分数与阈值进行比较和/或跟踪相似性分数,以识别相机之一是否有问题。此后,可以采取适当的响应。

本文描述的特征允许在各种照明条件下的可靠的相机评估。如上所述,确定相机是否正确地“看见”了世界、或者确定是否存在镜头上的一些异物碎屑、冷凝、未起作用的像素等是极具挑战性的。这在依赖于这种相机来做出驾驶决策的自动车辆的情况下尤其重要。

示例系统

如图1所示,根据本公开一个方面的车辆100包括各种组件。尽管本公开的某些方面对于特定类型的车辆特别有用,但是车辆可以是任何类型的车辆,包括但不限于轿车、卡车、摩托车、公共汽车、房车等。车辆可以具有一个或多个计算设备,诸如包含一个或多个处理器120、存储器130和通常存在于通用计算设备中的其他组件的计算设备110。

存储器130存储可由一个或多个处理器120访问的信息,包括可由处理器120执行或以其他方式使用的指令132和数据134。存储器130可以是能够存储可由处理器访问的信息的任何类型,包括计算设备可读介质、或存储可以借助电子设备来读取的数据的其他介质,诸如硬盘驱动、存储卡、ROM、RAM、DVD或其他光盘、以及其他可写和只读存储器。系统和方法可以包括前述的不同组合,由此指令和数据的不同部分被存储在不同类型的介质上。

指令132可以是由处理器直接执行(诸如机器代码)或间接执行(诸如脚本)的任何指令集。例如,指令可以作为计算设备代码存储在计算设备可读介质上。在这方面,术语“指令”和“程序”在这里可以互换使用。指令可以以目标代码格式存储以便由处理器直接处理、或者以任何其他计算设备语言存储,包括按需解释或预先编译的脚本或独立源代码模块的集合。下面更详细地解释指令的功能、方法和例程。

数据134可以由处理器120根据指令132检索、存储或修改。例如,尽管要求保护的主题不受任何特定数据结构的限制,但是数据可以存储在计算设备寄存器中、存储在关系数据库中作为具有多个不同的字段和记录的表、存储在XML文档或平面文件(flat file)中。数据也可以以任何计算设备可读格式被格式化。

一个或多个处理器120可以是任何常规处理器,诸如商业上可获得的CPU。可替代地,一个或多个处理器可以是专用设备,诸如ASIC或其他基于硬件的处理器。尽管图1在功能上示出了计算设备110的处理器、存储器和其他元件在同一块内,但是本领域普通技术人员将理解,处理器、计算设备或存储器实际上可以包括多个处理器、计算设备或存储器,这些处理器、计算设备或存储器可以存储在或不存储在同一物理外壳内。例如,存储器可以是位于不同于计算设备110的外壳的外壳中的硬盘驱动或其他存储介质。因此,对处理器或计算设备的引用将被理解为包括对并行操作或不并行操作的处理器或计算设备或者存储器的集合的引用。

计算设备110可以包括通常与计算设备结合使用的所有组件,诸如上述处理器和存储器,以及用户输入150(例如,鼠标、键盘、触摸屏和/或麦克风)和各种电子显示器(例如,具有屏幕的监视器或可操作来显示信息的任何其他电子设备)。在该示例中,车辆包括内部电子显示器152以及一个或多个扬声器154,以提供信息或视听体验。在这方面,内部电子显示器152可以位于车辆100的车舱内,并且可以由计算设备110用来向车辆100内的乘客提供信息。

计算设备110还可以包括一个或多个无线网络连接156,以便利于与其他计算设备的通信,诸如下面详细描述的客户端计算设备和服务器计算设备。无线网络连接可以包括短程通信协议(诸如蓝牙、蓝牙低能量(LE)、蜂窝连接),以及各种配置和协议(包括互联网、万维网、内联网、虚拟专用网、广域网、局域网、使用专属于一个或多个公司的通信协议的专用网络、以太网、WiFi和HTTP),以及前述的各种组合。

在一个示例中,计算设备110可以是结合到车辆100中的自动驾驶计算系统。自动驾驶计算系统能够与车辆的各种部件通信,以便在完全自动驾驶模式和/或半自动驾驶模式下操纵车辆100。例如,回到图1,计算设备110可以与车辆100的各种系统通信,诸如减速系统160、加速系统162、转向系统164、信号系统166、导航系统168、定位系统170、感知系统172和动力系统174(例如,汽油或柴油动力马达或电动机),以便根据存储器130的指令132控制车辆100的运动、速度等。此外,尽管这些系统被示出为在计算设备110的外部,但是实际上,这些系统也可以被结合到计算设备110中,同样作为用于控制车辆100的自动驾驶计算系统。

例如,计算设备110可以与减速系统160和加速系统162交互,以便控制车辆的速度。类似地,计算设备110可以使用转向系统164来控制车辆100的方向。例如,如果车辆100被配置为在道路上使用,诸如轿车或卡车,则转向系统可以包括控制车轮的角度以转动车辆的部件。计算设备110可以使用信号系统166,以便用信号向其他驾驶员或车辆告知(例如,在需要时通过点亮转向信号灯或刹车灯)车辆的意图。

计算设备110可以使用导航系统168,以便确定并遵循(follow)到某个位置的路线。在这方面,导航系统168和/或数据134可以存储详细的地图信息,例如,识别道路、车道线、交叉路口、人行横道、速度限制、交通信号、建筑物、标志、实时交通信息、植被或其他这样的对象和信息的形状和高度的高度详细的地图。换句话说,该详细的地图信息可以定义车辆的预期环境的几何形状,包括道路以及对这些道路的速度限制(法定速度限制)。此外,该地图信息可以包括关于交通控制的信息,诸如交通信号灯、停车标志、让行标志等,结合从感知系统172接收的实时信息,可以被计算设备110用来确定在给定位置哪些交通方向具有通行权(right of way)。

感知系统172还包括用于检测车辆外部对象(诸如其他车辆、道路上的障碍物、交通信号、标志、树木等)的一个或多个组件。例如,感知系统172可以包括一个或多个LIDAR传感器、声纳设备、雷达单元、相机和/或记录可以由计算设备110处理的数据的任何其他检测设备。感知系统的传感器可以检测车辆外部环境中的对象,并生成描述这些对象的特性(诸如位置、朝向、尺寸、形状、类型、运动的方向和速度等)的传感器数据。来自传感器的原始传感器数据和/或前述特性可以被量化或排列为(arranged into)描述性函数或向量,并被发送到计算设备110以供进一步处理。如下面进一步详细讨论的,计算设备110可以使用定位系统170来确定车辆的位置,并且使用感知系统172来在需要安全到达该位置时检测对象并做出响应。

例如,图2是车辆100的示例外部视图。在这个示例中,顶部外壳210和外壳212、214可以包括LIDAR传感器以及各种相机和雷达单元。此外,位于车辆100前端的外壳220和位于车辆的驾驶员以及乘客侧的外壳230、232,每个可以存储LIDAR传感器。例如,外壳230位于驾驶员车门260的前面。车辆100还包括同样位于车辆100的顶部的雷达单元和/或相机的外壳240、242。附加的雷达单元和相机(未示出)可以位于车辆100的前端和后端和/或位于沿着顶部或顶部外壳210的其他位置。

感知系统172的相机可以布置在车辆上,使得至少有两个相机周期性地捕获车辆环境中的大多数点。车辆前方(即行驶方向)的一些点也可以被远距相机“看见”。因此,用于评估目的,感知系统的每个相机可以与“相机组”中的一个或多个其它相机组队(groupwith)。

图3是包括具有重叠的视场312、322的两个相机310、320的相机组300的示例。图4是包括具有视场412、422、432的三个相机410、420、430的相机组400的示例,其中视场412、422、432具有重叠的部分302、402。这样,这些组的相机,以及因此由这些组捕获到的图像,可能具有重叠的视场。相机组的每个相机可以具有清洁系统314、324、414、424、434,这些清洁系统可以包括擦拭器(wiper)和/或清洗液,以便清洁相机的镜头。例如,清洁系统的操作可以由计算设备110控制。每个相机组的相机可以相对于彼此以及相对于车辆被固定,以确保重叠的视场保持一致。

此外,这些组中的每一个相机可以具有相同或不同的配置,例如,不同的滤光器等。在一些情况下,图像可以被不同地曝光,也就是说,可以使用不同的滤光技术和/或曝光时间来捕获图像。例如,参考图5和图6的图像500和600,一个图像500可以使用第一相机(诸如相机310)在第一曝光时间内用ND滤光器捕获,而第二图像600可以使用第二相机(诸如相机320)在第二曝光时间内不用ND滤光器捕获。第一曝光时间和第二曝光时间可以相同或不同,例如,第二曝光时间可以短于第一曝光时间。作为示例,第一图像500可以包括交通灯510和车辆520以及可能的其他对象的粗略轮廓。第二图像600可以包括过度曝光的交通灯510和过度曝光的车辆520。

车辆100的计算设备110还可以从其他计算设备(诸如作为运输服务的一部分的那些计算设备以及其他计算设备)接收信息或向其传送信息。图7和图8分别是示例系统700的示意图和功能图,示例系统700包括经由网络760连接的多个计算设备710、720、730、740和存储系统750。系统700还包括车辆100和可以被配置为与车辆100相同或相似的车辆100A、100B。尽管为了简单起见,仅描述了一些车辆和计算设备,但是典型的系统可以包括显著更多的车辆和计算设备。

如图7所示,计算设备710、720、730、740中的每一个可以包括一个或多个处理器、存储器、数据和指令。这种处理器、存储器、数据和指令可以被配置为类似于计算设备110的一个或多个处理器120、存储器130、指令132和数据134。

网络760和中间节点可以包括各种配置和协议,包括短程通信协议,诸如蓝牙、蓝牙LE、互联网、万维网、内联网、虚拟专用网、广域网、局域网、使用专属于一个或多个公司的通信协议的专用网络、以太网、WiFi和HTTP,以及前述的各种组合。可以由能够向其他计算设备发送和从其他计算设备接收数据的任何设备(诸如调制解调器和无线接口)来便利于这样的通信。

在一个示例中,一个或多个计算设备710可以包括具有多个计算设备的一个或多个服务器计算设备(例如负载平衡服务器群),出于从其他计算设备接收数据、处理数据和向其他计算设备发送数据的目的,与网络的不同节点交换信息。例如,一个或多个计算设备710可以包括能够经由网络760与车辆100的计算设备110或车辆100A的类似计算设备以及计算设备720、730、740通信的一个或多个服务器计算设备。例如,车辆100、100A可以是可由服务器计算设备派遣到各个位置的车队的一部分。在这方面,服务器计算设备710可以用作验证计算系统,该验证计算系统可以用于验证自动控制软件,诸如车辆100和车辆100A的车辆可以使用该自动控制软件在自动驾驶模式下操作。此外,服务器计算设备710可以使用网络760向用户(诸如用户722、732、742)发送信息并在显示器(诸如计算设备720、730、740的显示器724、734、744)上向用户呈现信息。在这方面,计算设备720、730、740可以被认为是客户端计算设备。

如图7所示,每个客户端计算设备720、730、740可以是意图供用户722、732、742使用的个人计算设备,并且具有通常与个人计算设备结合使用的所有组件,包括一个或多个处理器(例如,中央处理单元(CPU))、存储数据和指令的存储器(例如,RAM和内部硬盘驱动器)、诸如显示器724、734、744的显示器(例如,具有屏幕、触摸屏、投影仪、电视机或可操作来显示信息的其他设备的监视器)和用户输入设备726、736、746(例如,鼠标、键盘、触摸屏或麦克风)。客户端计算设备还可以包括用于记录视频流的相机、扬声器、网络接口设备以及用于将这些元件彼此连接的所有组件。

尽管客户端计算设备720、730和740每个可以包括全尺寸的个人计算设备,但是它们可以可替代地包括能够通过诸如互联网的网络与服务器无线交换数据的移动计算设备。仅作为示例,客户端计算设备720可以是移动电话或能够经由互联网或其他网络获得信息的设备,诸如支持无线的PDA、平板PC、可穿戴计算设备或系统、或者上网本。在另一个示例中,客户端计算设备730可以是可穿戴计算系统,如图7所示的手表。作为示例,用户可以使用小型键盘、小键盘、麦克风、利用相机使用可视信号或触摸屏来输入信息。

在一些示例中,客户端计算设备740可以是由管理员或诸如用户742的其他操作员使用的操作工作站,以响应从车辆(诸如车辆100和车辆100A)的计算设备接收到的协助请求。尽管在图7和图8中仅示出了单个操作工作站740,但是任意数量的这样的工作站可以包括在典型的系统中。此外,尽管操作工作站被描绘为台式计算机,但是操作工作站可以包括各种类型的个人计算设备,诸如膝上型计算机、上网本、平板计算机等。

与存储器130一样,存储系统750可以是能够存储可由服务器计算设备710访问的信息的任何类型的计算机化存储,诸如硬盘驱动器、存储卡、ROM、RAM、DVD、CD-ROM、可写存储器和只读存储器。此外,存储系统750可以包括分布式存储系统,其中数据存储在物理上位于相同或不同地理位置的多个不同的存储设备上。如图7和图8所示,存储系统750可以经由网络760连接到计算设备,和/或可以直接连接到或结合到计算设备110、710、720、730、740等的任何一个中。

示例方法

除了上述和附图中所示的操作之外,现在将描述各种操作。应当理解,以下操作不必以下面描述的精确顺序来执行。相反,可以以不同的顺序或同时处理各种步骤,并且也可以添加或省略步骤。

如上所述,当车辆100四处行驶时,其感知系统172可以使用各种传感器来检测和识别车辆环境中的对象。此外,这些传感器中的至少一些可以包括前述的相机组。为了确保给定相机组的相机正常操作,这些相机的功能可以被评估。为此,计算设备110可以从诸如相机组300(或相机组400)的相机组的相机接收两个或更多个图像,诸如图像500和600。理想地,这些图像在非常接近的时间内或者在某个预定时间段内被捕获,以便在重叠的视场内的相同位置捕获相同对象中的一个或多个。

为了简化对图像的处理,可以减小图像的尺寸。例如,计算设备110可以减小每个图像的尺寸,例如通过缩略图化和/或以其他方式裁剪,以便仅包括与重叠的视场相对应的部分。转向图9,图像500和600可以被裁剪成裁剪后的区域950、960。这些裁剪后的区域仅包括与视场312和322的重叠的部分302相对应的部分。裁剪后的区域950、960然后可以被缩小或缩略图化以减少像素的数量。结果是缩小的图像952和962,它们可以仅包括与相机310和320的视场的重叠的部分302相对应的像素。在这方面,两个缩小的图像在相同位置包括相同对象的可能性非常高。尽管在一些情况下,使用原始分辨率的图像,可以避免裁剪以便检测非常小的遮挡,但这可能会使处理对相机对准中的较小误差更加敏感,并且对视差更加敏感。

然后可以分析缩小的(或未缩小的)图像以生成特征向量。例如,可以为缩小的图像952生成第一特征向量,并且可以为缩小的图像962生成第二特征向量。因此,这些特征向量表示缩小的图像中的特征,诸如颜色、边缘、亮度、对比度等。在一些情况下,特征向量可以包括图像本身的像素。

可以使用来自相机组的缩小的图像的第一特征向量来确定一个或多个相似性分数。例如,计算设备110可以比较每个特征向量对(来自相机组的不同相机的缩小的图像对),以确定相似性分数或者它们彼此之间有多相似。

相似性分数可以使用余弦相似性测量、聚类技术或其他向量相似性测量技术来确定。例如,结构相似性(SSIM)指数可以用于测量缩小的图像的特征向量之间的相似性,并确定相似性分数。在这方面,高相似性分数将指示两个缩小的图像之间的特征的高相似性,而低相似性分数将指示两个缩小的图像之间的特征的低相似性。

作为另一个示例,可以使用模型来确定相似性分数。在使用中,第一特征向量和第二特征向量可以被输入到模型中,并且模型可以提供表示图像的不同部分(诸如左手边、右手边、内部等)有多相似的相似性分数或一系列相似性分数。

模型可以是决策树模型、随机森林模型、神经网络或其他经机器学习的模型。在有限数据中训练更复杂的神经网络的情况下,决策树可能特别实用。模型可以本地存储在计算设备110中,例如存储在存储器130中。例如,模型可以在一个或多个服务器计算设备710处被离线训练,然后经由网络760被发送到计算设备110和/或被直接加载到存储器130中。

模型可以使用来自相机组的相机(诸如相机组300、400的相机310、320、410、420、430)的图像的真实世界示例作为训练输入、并且使用相应的相似性分数作为训练输出来训练。因为出于训练的目的,可能存在有限数量的负面(negative)示例,所以附加地或者可替代地,训练可以包括使用故障注入(fault injection)技术来模拟不同于良好图像的具有典型问题(诸如障碍物、脏镜头等)的“坏”图像。然后,来自好图像的特征向量可以与来自坏图像的特征配对,并且被识别为具有低相似性分数,作为训练数据。类似地,来自好图像的特征向量可以与其自身配对,并且被识别为具有高相似性分数,作为训练数据。当然,对于所有训练,用于训练模型的训练数据或示例越多,由模型生成的相似性值(similarityvalue)就越可靠。

在一些情况下,可以用附加信息来训练和使用模型。例如,附加信息诸如第一图像的深度数据、第二图像的深度数据、太阳的位置(例如,太阳相对于捕获图像的相机的角度)或一天中的时间信息。深度数据可以是深度图,其通过将由感知系统172的一个或多个LIDAR传感器提供的传感器数据投影到每个图像中的视场(或坐标系)中而生成。例如,可以由捕获图像的相机来提供一天中的时间,并且可以从存储在存储器130中的与一天中的时间相关的数据中识别出太阳相对于相机的角度。换句话说,给定数据以及一天中的时间和捕获图像的相机中的一个或两个的位置,计算设备可以确定太阳相对于车辆的当前位置的角度。

相似性分数可以用于评估相机的操作。例如,计算设备110可以将相似性分数与阈值进行比较,以确定缩小的图像之间的相似性是否太低、或者更确切地说,缩小的图像如此不同以至于其中相机之一可能有问题或者被遮挡。在一些情况下,在第一图像和第二图像的不同部分具有相似性分数的情况下,通过将那些不同部分的相似性分数与阈值进行比较,这可以帮助精确地识别相机镜头的哪个部分可能有问题或被遮挡。在许多情况下,阈值可以足以识别变化,诸如当相机镜头之一上缓慢地形成冷凝时。可以选择阈值,以便对这种变化足够敏感,而不会产生太多的误判(false-positive)。例如,如果SSIM分数的范围从-1到1,则阈值可以被设置为0.25或者更多或更少。其本身并不是一个很有意义的数字。

然而,在一些情况下,诸如在相机的一个镜头上出现裂纹,阈值不必能够识别该问题。在这种情况下,计算设备110可以随着时间比较两个相机之间的多个图像,以便识别突然的变化。例如,累积和控制图(CUSUM)可以用于识别相似性分数随着时间的突然变化,该变化不必满足阈值,但是也可指示相机之一有问题。

如果满足阈值或者如果检测到突然的变化,车辆的计算设备可以假设相机中的一个或两个有问题。这样,车辆的计算设备可以采取适当的响应。例如,用于一个或两个相机的清洁系统(诸如清洁系统314、324、414、424、434)可以被自动激活。附加地或可替代地,计算设备110可以例如经由网络760向远程协助操作员(诸如向计算设备740和用户742)发送请求,以检查相机图像(原始的或缩小的)。远程协助操作员或用户742可能能够确定简单的清洁(通过激活清洁系统,诸如擦拭器和清洗液)是否足以纠正该问题,车辆是否应该靠边停车,或者如果该相机不是关键的传感器,则车辆是否应该简单地停止使用来自该相机的信息来做出驾驶决策。在一些情况下,远程协助操作员或用户742可能能够远程激活(并且在一些情况下还去激活)清洁系统中的一个或多个,并且查看第二组图像以确认清洁是否足够。计算设备110还可以经由网络160发送来自相机组的每个相机的更新后的图像,以便允许远程协助操作员或用户742确认问题已经被解决。

在一些情况下,计算设备110可以基于相机组的一个或多个相机有问题的信息来避免处理无效图像或图像的无效部分。附加地或可以替代地,计算设备110可以简单地控制自动驾驶模式下的车辆靠边停车,直到问题得到解决。

上述处理图像、检测变化和采取适当响应的过程可以被周期性地执行,诸如每当由相机组捕获到一组图像时,或者更不频繁地。

为了避免误判,还可以采取额外的步骤。例如,当车辆离开隧道或靠近相机之一的对象造成一些视差时,由相机捕获到的若干帧可能会随着时间而聚集在一起。如上所述,这些聚集的图像可以被缩小并用于生成特征向量。附加地或可替代地,从感知系统172的一个或多个LIDAR传感器提供的传感器数据生成的深度图可以用于“跳过”或以其他方式忽略图像或缩小的图像的区域,以便由于车辆100的运动而可能出现视差的位置。在这方面,特征向量可以从预期相似的图像或缩小图像的部分生成,而不是从预期由于视差而不同的图像或缩小图像的部分生成。

尽管上述技术在白天或环境照明良好的白天情况下可以很好地工作,但是在较暗或夜间的环境中,相似性分数和SSIM可能变得不可靠。在这方面,在与夜晚或夜间时间相对应的一天中的某些时间,不匹配两个缩小的图像中的所有特征,而是可以仅比较亮点或高强度区域。例如,典型地,因为法律要求,诸如交通灯和尾灯的光源具有已知的恒定亮度,所以这样的灯在缩小的图像中应该可见。这种亮点方法不依赖于法律对灯的要求,也不仅适用于车灯。相反,这种方法取决于这样的事实,即如果亮点在具有ND滤光器的相机(其阻挡大部分的光)中是可见的,那么相同的亮点在其他的相机(其接收更多的光)中也应该是可见的。

例如,参考图10和图11的图像1000和1100,第一图像1000可以使用第一相机(诸如相机310)在第一曝光时间内用ND滤光器捕获,而第二图像1100可以使用第二相机(诸如相机320)在第二曝光时间内不用ND滤光器捕获。第一曝光时间和第二曝光时间可以相同或不同,例如,第二曝光时间可以短于第一曝光时间。为了便于理解,尽管是在夜间时间拍摄的,但是图像1000和1100分别对应于图像500和600。因此,两个图像都包括交通灯510和车辆520,尽管它们在图像1100中依稀可见,而在图像1000中由于对ND滤光器的使用和曝光时间而不可见。在这个示例中,尽管图像看起来是暗的,但是在图像1000和1100两者中都可以看到交通灯510的亮点1010和车辆520的尾灯的亮点1020、1022。

此外,在生成这些图像的特征向量之前,可以如上所述地裁剪和缩小图像。此外,可以简化为这些缩小的图像生成的特征向量。例如,可以生成图像1000和1100的特征向量,以便仅描述与亮点相对应的特征的特性,诸如形状、位置和尺寸。换句话说,特征向量可以仅包括与缩小的图像中的发光对象相对应的特征的数据。因此,如果区域中的光源非常少,这个过程可能不太有效。然而,因为图像的曝光参数(快门速度、模拟增益、ND滤光器等)是已知的,所以也可以针对较宽范围的曝光参数来校正图像。例如,SSIM方法可以相对较好地处理多达6次方(6stops)(64倍的因数)的差异。

这些向量的相似性分数可以再次使用上述任何示例来确定,包括SSIM。当然,描述亮点的位置的特征将是在这种情况下用于比较的最重要的特性。此外,可以将相似性分数与阈值进行比较和/或使用CUSUM跟踪相似性分数,以识别相机之一是否有问题。此后,可以如上所述地采取适当的响应。

图12是根据本文所述的一些方面并且可以由一个或多个计算设备的一个或多个处理器(诸如计算设备110的处理器120)执行的用于评估两个或更多个相机的操作的示例流程图1200。在该示例中,在框1210,接收由第一相机捕获到的第一图像。在框1220,接收由第二相机捕获到的第二图像。第一相机和第二相机具有重叠的视场。在框1230,可以生成第一图像的第一特征向量和第二图像的第二特征向量。在框1240,可以使用第一特征向量和第二特征向量来确定相似性分数。在框1250,相似性分数可以用于评估两个相机的操作。

本文所描述的特征允许在各种照明条件下的可靠的相机评估。如上所述,确定相机是否正确地“看见”了世界、或者确定是否存在镜头上的一些异物碎屑、冷凝、未起作用的像素等是非常困难的。这在依赖这种相机来做出驾驶决策的自动车辆的情况下尤其重要。

除非另有说明,否则前述替代示例并不相互排斥,而是可以以各种组合来实现,以实现独特的优点。由于在不脱离由权利要求所限定的主题的情况下,可以利用上述特征的这些和其他变化和组合,所以对实施例的前述描述应该通过说明的方式进行,而不是通过限制由权利要求所限定的主题进行。此外,对本文描述的示例的提供,以及措辞为“诸如”、“包括”等的子句不应该被解释为将权利要求的主题限制到特定示例;相反,这些示例旨在仅说明多种可能实施例中的一个。此外,不同附图中的相同附图标记可以标识相同或相似的元件。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于感兴趣区域的视频数据编码方法、装置和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!