掌桥专利:专业的专利平台
掌桥专利
首页

使用深度和多光谱相机的对象识别

文献发布时间:2023-06-19 09:33:52


使用深度和多光谱相机的对象识别

背景技术

对象识别是一种具有许多潜在应用的计算机视觉技术。然而,当条件不利于特定相机时,准确地识别对象可能极其困难甚至不可能。

发明内容

提供本发明内容以便以简化的形式介绍以下在具体实施方式述中进一步描述的概念的选集。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,亦非旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中提及的任何或所有缺点的实现。

一种相机被配置成输出包括多个像素的测试深度+多光谱图像。每个像素对应于相机的传感器阵列的多个传感器之一,并且至少包括相机的多个光谱照明器的每个光谱光子带的深度值和光谱值。对象识别机先前已用具有与测试深度+多光谱图像相同的结构的带标签的训练深度+多光谱图像集合进行了训练。对象识别机被配置成输出指示测试深度+多光谱图像包括指定对象的可能性的置信度值。

附图简述

图1A-1C是示出示例相机的各方面的分解示意图。

图2A-2C示意性地示出了传感器阵列的差分传感器。

图3示意性地示出了示例对象识别机的各方面,该示例对象识别机被配置成使用卷积神经网络来识别深度+多光谱图像中的指定对象。

图4示意性地示出了示例对象识别机的各方面,该示例对象识别机被配置成使用多个因通道而异的模型来识别深度+多光谱图像中的指定对象。

图5-7示意性地示出了示例对象识别机的不同示例输出。

图8示出了示例对象识别方法。

图9示出了示例计算系统。

详细描述

本描述涉及一种对象识别办法,该对象识别办法采用环境不变、深度和多光谱相机进行对象识别。该相机被配置成在同一传感器阵列上采集深度图像和不同光谱光子带中的多个光谱光图像两者。通过准确地计算成像主体在光谱光的每个子带中的后向散射(反射率)系数,相机准确地确定主体的受环境光而最小地偏差或没有偏差的真实光谱签名。由此,包括时间相关因素(例如,姿态)和环境因素(例如,环境色温或强度)在内的传统对象识别技术的局限性可被克服以提高对象识别的准确度。

图1A-1C示出了示例相机100的各方面。术语“相机”在本文中指代具有被配置成对场景或主体102进行成像的至少一个光学光圈和传感器阵列的任何成像组件。相机100包括可单独寻址的传感器106的传感器阵列104。在一些实现中,传感器可以是互补金属氧化物半导体(CMOS)元件,但也设想了其他合适的架构。每个传感器对一较宽波长带上的光作出响应。例如,对于基于硅的传感器,波长响应的范围可以从300至1100nm。为简单起见,示意性地例示了仅具有二十五个传感器106的传感器阵列104,但对传感器106的数目没有理论上的限制。

在一些实现中,传感器阵列104的传感器106可以是差分传感器。每个差分传感器可包括根据两个不同的时钟信号被激励的不同区域。在一个示例中,为了测量经调制的有源照明,这两个时钟信号可以是基本互补的(例如,这两个时钟信号都具有50%的占空比,它们的相位相差180度)。在其他示例中,这两个不同的时钟信号可以具有不同的关系,诸如用于测量环境照明或非经调制的有源照明。当不同区域基于对应时钟信号被激活时,会产生在不同区域中吸引并收集光电电荷的电场。这些不同区域可以被p型掺杂区分隔开,该p型掺杂区创建势垒,该势垒确保在一个区域中收集到的电荷不会转移到毗邻区域,即使一个区域处于较高的电势。

这样的操作允许使用同一传感器阵列来测量跨包括紫外光、可见光、NIR光和IR光在内的宽光谱的有源光。此外,差分传感器可减少系统噪声,因为仅需要一个读取操作即可对有源光谱光和环境光执行差分测量。具体而言,每个像素读出/复位操作可能增加每次出现时的系统噪声。因而,并非执行需要两次读出的两个分开的测量(即,主动、被动)并接着将每个结果相加(或相减)到存储器中,可以在像素内执行单次差分测量,并且可以将该单次差分测量读出到存储器。

在不包括差分传感器的传感器阵列的其他相机实现中,可能需要附加的时钟周期来执行差分测量。尽管差分传感器提供了本文中描述的优点,但是将领会,任何合适类型的传感器阵列(包括非差分传感器阵列)可被实现。

任选地,微透镜阵列108可直接被布置在传感器阵列104之上。微透镜阵列108包括多个微透镜元件110。微透镜阵列108的每个微透镜元件110可配准到传感器阵列104的差分传感器106。在被包括时,微透镜阵列108可在每个传感器处提供较大的有效填充因子,以提高收集效率并降低像素之间的串扰。

任选地,光学滤光器112可被布置在传感器阵列104之上,以便在光学上覆盖传感器阵列。当被包括时,光学滤光器112是在不同的滤光状态之间电子地可切换的。在每一滤光状态下,光学滤光器112透射特定子带中的光,并阻挡该子带之外的光到达传感器阵列104的传感器106。取决于实现,被阻挡的光可被光学滤光器112吸收、反射和/或散射。光学滤光器112可以提高由传感器阵列104采集的IR图像和光谱光图像的信噪比。光学滤光器112可以包括两个或更多个滤光状态。在一种滤光状态下,光学滤光器112可以透射IR光并且阻挡IR带之外的光(例如,可见光)。在另一滤光状态下,光学滤光器112可以透射光谱光并且阻挡光谱光子带之外的光(例如,IR光)。在一些实现中,光学滤光器112可以被配置成在各自对应于不同光谱光子带的多个滤光状态之间切换。在每一滤光状态下,光学滤光器112可以被配置成透射光谱光子带中的光并且阻挡该光谱光子带之外的光(例如,其他光谱子带中的光谱光)。光学滤光器112可在任何合适数目的不同滤光状态之间切换以透射任何合适的(诸)光子带,同时阻挡该(诸)子带之外的光。对应于光学滤光器的不同滤光状态的示例子带包括深蓝色(460nm)、蓝色(470nm)、正绿色(528nm)、黄色(587nm)、琥珀色(617nm)、红色(625nm)、超红色(645nm)、远红色(730nm)、以及近IR(810nm)。

光学滤光器112可包括在不显著降低由传感器阵列接收到的带内信号的强度的情况下透射窄带光的任何合适类型的滤光器。在一个示例中,光学滤光器可包括多个液晶层。

IR照明器114被配置成发射有源IR光以照明主体102。在一个示例中,IR照明器114包括被配置成发射IR光的IR激光器。在一些实现中,IR照明器114可任选地包括覆盖IR照明器114的照明场的漫射器。

在一些实现中,可任选地包括一个或多个光谱照明器116以提供有源光谱照明。在被包括时,多个光谱照明器116(例如,116A、116B、116C、116D、116E、116F)可被配置成发射有源光谱光以用多个不同的光谱光子带照明主体102。每个光谱照明器可以是可单独控制的——例如,单个光谱照明器可在其他光谱照明器保持停用的情况下被激活。多个光谱照明器116可采取任何合适的形式。在一个示例中,光谱照明器116包括被配置成发射光谱光的发光二极管。既不存在对可被使用的光谱照明器的数目的理论上的限制,也不存在对每个光谱照明器可被配置成发射的光谱光子带的理论上的限制。

在一个示例实现中,除了IR源之外,相机可包括六个光谱照明器,其分别被配置成发射深蓝色(460nm)、蓝色(470nm)、正绿色(528nm)、黄色(587nm)、琥珀色(617nm)、以及红色(625nm)。在一示例实现中,每个光谱照明器可具有20nm的半峰全宽(FWHM)和80度的照明场(FOI)。尽管不是必需的,但是相机100通常包括三个以上的光谱照明器。在一些实现中,光谱照明器可发射其他子带中的光,诸如超红、近IR或IR。

在其他实现中,相机可包括宽带照明源,诸如白光源。可采用宽带照明源来代替多个光谱照明器。在一些实现中,宽带照明源可以被调制。在其他实现中,宽带照明源可以不被调制。

电子控制器118可包括逻辑机和相关联的存储机。存储机可保持致使逻辑机执行本文中公开的任何操作、算法、计算或变换的指令。在一些实现中,逻辑机可以采用专用集成电路(ASIC)或片上系统(SoC)的形式,其中一些或全部指令是硬件编码或固件编码的。电子控制器118包括深度控制器机器120、光谱控制器机器122、以及输出机124。机器120、122、124可被实现为分开的物理硬件和/或固件组件,或者被并入单个硬件和/或固件组件中。

深度控制器机器120被配置成激活IR照明器114并同步地对传感器阵列104的传感器106进行寻址以采集IR图像。当光学滤光器112被包括时,深度控制器机器120被进一步配置成与IR照明器114的激活和传感器阵列104的寻址同步地切换光学滤光器112以阻挡IR光子带之外的光谱光。在图1A所示的示例中,在时间T

图1B示出了相机100在时间T

在图1B所示的示例中,光谱控制器机器122激活第一光谱照明器116A以用光谱照明器116A的子带(例如,蓝色)中的光谱光128照明主体102,同步地调整光学滤光器112以阻挡第一光谱照明器116A的该光谱光子带之外的光谱光,并对传感器阵列104的传感器106进行寻址。光谱光128’从主体102反射回相机100,通被透射过光学滤光器112,并入射到与被用来测量距对象102的深度的传感器完全相同的传感器106上。在图1B中,相同的传感器被用于光谱照明器116A的光谱光子带(例如,蓝色)中的光谱光图像采集。

进一步,如图1C所示,在时间T

在一些实现中,传感器阵列104的传感器106可以是差分传感器。图2A、2B和2C是示出传感器阵列104的示例差分传感器106的各方面的截面图,该传感器阵列104可以被实现在环境光不变的、深度+多光谱相机(诸如图1所示的相机100)中。差分传感器106包括第一和第二多晶硅栅极(PG A、PG B)202A、202B。多晶硅栅极202A可以根据时钟信号Clk_A来被激励,而多晶硅栅极202B可以根据时钟信号Clk_B来被激励。这两个时钟信号可以被不同地控制以控制传感器阵列来测量不同类型的照明。例如,为了测量有源经调制照明,这两个时钟信号可以是基本互补的(例如,Clk_A和Clk_B具有50%的占空比,它们的相位相差180度)。在其他示例中,这两个时钟信号可以具有不同的关系,诸如用于测量环境照明或非经调制的有源照明。

当基于时钟信号被激活时,多晶硅栅极202A、202B基于在区域204A,204B中的多晶硅栅极氧化物下方的到达时间而在差分传感器106的对应于不同多晶硅栅极的不同相应区域204A、204B中创建分别吸引和收集光电电荷的电场。具体而言,收集到的光电电荷保持在其中光电电荷最初被收集到的栅极下方,并最终通过在每个多晶硅栅极下方的自排斥而缓慢地扩散至收集节点。在不同区域之间的p型掺杂区206创建电势势垒,该电势势垒确保由一个多晶硅栅极收集到的电荷不会转移到毗邻的多晶硅栅极,即使一个多晶硅栅极处于较高的电势。

在图2A中,时钟信号Clk_A和Clk_B两者被偏置到低电压,使得多晶硅栅极202A、202B在区域204A、204B中收集到很少的光电电荷或收集不到光电电荷。在图2B中,时钟信号Clk_A被偏置到高电压,而Clk_B被偏置到低电压。当Clk_A变高时,多晶硅栅极202A变得被激励,并且光电电荷在区域204A中被收集,如电场线所指示的。电场线与区域204A的边界相切,所以电荷不会从区域204A转移到区域204B。另外,由于Clk_B被偏置为低,因此多晶硅栅极202B不被激励,并且因而在区域204B中收集到最小光电电荷。在图2C中,时钟信号Clk_B被偏置到高电压,而Clk_A被偏置到低电压。当Clk_B变高时,多晶硅栅极202B变得被激励,并且光电电荷在区域204B中被收集,如电场线所指示的。电场线与区域204B的边界相切,所以电荷不会从区域204B转移到区域204A。另外,由于Clk_A被偏置为低,因此多晶硅栅极202A不被激励,并且因而在区域204A中收集到最小光电电荷。

差分传感器106被配置成与时钟信号Clk_A和Clk_B的调制同步地收集和指派光电电荷。差分传感器106中的光电电荷指派(分类为PG A或B)与多晶硅栅极202A、202B下方的电荷收集同时发生,并因此不需要将电荷从一个栅极移位至另一栅极的附加步骤。由此,差分测量可以在单个积分/读出周期内被执行。在一个示例中,当多晶硅栅极202A被激励以从区域204A中的有源照明收集光电电荷时,可以通过在50%的时间段内同步地激活指定的光谱照明器来执行差分光谱测量。附加地,在指定的光谱照明器被停用以在区域204B中收集来自环境光的光电电荷的情况下,可以通过激励多晶硅栅极202B来执行环境光测量。从由区域204A收集到的光电电荷(即,有源光和环境光的量)中减去由区域204B收集到的光电电荷(即,环境光的量),以确定其中从有源照明的测量中显著地减少或移除环境光偏差的差分测量。需要注意,该示例适用于其中经调制的有源照明和环境照明被差分地测量的场景。

此类操作允许使用同一传感器阵列来测量跨包括紫外光、可见光、NIR光和IR光在内的宽光谱的有源光。此外,差分传感器可降低系统噪声,因为仅需要一个读取操作即可对有源光谱光和环境光执行差分测量。具体而言,每个像素读出/复位操作可能增加每次出现时的系统噪声。因而,并非执行需要两次读出的两个分开的测量(即,主动、被动)并接着将每个结果相加(或相减)到存储器中,可以在像素内执行单次差分测量,并且可以将该单次差分测量读出到存储器。

在不包括差分传感器的传感器阵列的其他相机实现中,可能需要附加的时钟周期来执行差分测量。尽管差分传感器提供了本文中描述的优点,但是将领会,任何合适类型的传感器阵列(包括非差分传感器阵列)可被实现。

取决于所描述的成像模式,如应用于传感器阵列104的传感器106的术语“寻址”可具有稍微不同的含义。对于平面成像——对于包括可见光和IR光两者的光谱光——对传感器106进行寻址可以包括对从指定光谱(或IR)照明器发射并在每个传感器106处接收的子带中的有源光的强度进行积分以及将子带中的有源光的经积分的强度与对应于该传感器的图像部分相关联。

对于深度成像,传感器106可以被不同地寻址。此处,对传感器进行寻址可以包括相对于IR光的经调制强度来解析来自每个传感器的相位偏移。相位偏移(任选地被转换到深度域中)可以与对应于所寻址的传感器的图像部分相关联。换言之,深度控制器机器120可以被配置成确定传感器阵列104的每个传感器106的深度值。在一些实现中,快速连贯的一系列IR图像采集(例如,6-9)可被用来获得相位偏移。在深度成像和平面成像的组合应用中,以上两种寻址模式可按复用方式来使用。

上面描述的相位辨别飞行时间(ToF)办法是本公开所涵盖的若干深度成像技术之一。通常,深度成像相机可以被配置成采集场景或主体的一个或多个深度图。术语“深度图”指代被配准至成像场景的对应区域(X

术语“光谱光图像”指代被配准至成像场景的对应区域(X

由相机100采集的深度和多光谱数据可被用来将像素的邻域拟合到规则表面(例如,朗伯平面、二次表面),并求解每个子带的反向散射(反射率)系数,以便计算该表面的环境光不变的且可被稳健地分类的光谱签名。在此类计算中,深度数据可被用来计及归因于从光源(IR照明器114或光谱照明器116)到主体102的光的光学传输的光强度降低。在一些实现中,光谱控制器机器122可以被配置成基于深度数据来为传感器阵列的多个像素中的每个像素计算表面法线。多个像素的表面法线集合可以表示通过解析函数(例如,平面或二次)建模的成像主体的表面。在一些实现中,光谱控制器机器122可以被配置成基于深度数据来为传感器阵列的多个像素中的每个像素计算曲率。多个像素的曲率集合可以表示通过解析函数(例如,平面或二次)建模的成像主体的表面。光谱控制器机器122可以被配置成基于所测得的深度和表面法线中的一者或多者来归一化不同光谱光子带中的光谱光测量。这提供了成像主体的位置不变和光不变的光谱签名。

输出机124被配置成输出在本文中被称为测试深度+多光谱图像的像素矩阵132。矩阵中的每个像素包括针对相机100的多个光谱照明器116的每个光谱光子带的深度值(Z

与由现有办法生成的分开的深度和/或多光谱图像相比,由相机100生成的测试深度+多光谱图像132可以提供更丰富和更准确的信息。例如,测试深度+多光谱图像132提供对于时间相关因素和环境因素不变的光谱签名。这样的深度+多光谱图像可被利用来执行图像分析以供视觉对象识别。具体而言,深度+多光谱图像的丰富数据可被用来识别不同类型的对象特征或地标,这些不同类型的对象特征或地标可被组合使用以提供对深度+多光谱图像包括指定对象的可能性的更准确评估。

如图3所示,相机100可以被配置成将测试深度+多光谱图像132输出到对象识别机300,该对象识别机300被配置成输出指示测试深度+多光谱图像132包括指定对象的可能性的置信度值302。对象识别机300可以被配置成识别测试深度+多光谱图像中的任何合适类型的指定对象。在一些实现中,对象识别机300可以被配置成识别测试深度+多光谱图像中的多种不同类型的对象。例如,对象识别机300可以被配置成识别人、动物、植物、建筑物、车辆、位置、或任何其他合适的指定对象或实体。而且,对象识别机300可以被配置成识别指定对象的不同部分或特征。例如,对象识别机300可以被配置成识别不同的人体部位,诸如头部、面部、手臂或腿。对象识别机300可以被配置成识别指定对象的任何合适的部分或特征。

对象识别机300可以采用现有的和/或将来的机器学习(ML)和/或人工智能(AI)技术的任何合适的组合。可结合在对象识别机300的实现中的技术的非限制性示例包括:支持向量机、多层神经网络、卷积神经网络(例如,包括用于处理图像和/或视频的空间卷积网络)、递归神经网络(例如,长短期记忆网络)、关联存储器(例如,查找表、散列表、Bloom过滤器、神经图灵机和/或神经随机存取存储器)、无监督的空间和/或聚类方法(例如,最近邻算法、拓扑数据分析、和/或k均值聚类)和/或图形模型(例如,Markov模型、条件随机场和/或AI知识库)。

在一些示例中,对象识别机300所利用的方法和过程可以使用一个或多个可微函数来实现,其中可微函数的梯度可关于可微函数的输入和/或输出(例如关于训练数据、和/或关于目标函数)进行计算和/或估计。此类方法和过程可至少部分地由可训练参数集合确定。相应地,可训练参数可以通过任何合适的训练规程来调整,以便持续地改善对象识别机300的运作。

用于对象识别机300的训练规程的非限制性示例包括监督式训练(例如,使用梯度下降或任何其他合适的优化方法)、零样本(zero-shot)、少样本(few-shot)、无监督学习方法(例如,基于从无监督聚类方法导出的类的分类)、强化学习(例如,基于反馈的深度Q学习)和/或基于生成对抗神经网络训练方法。在一些示例中,对象识别机300的多个组件可关于测量该多个组件的集体运作的性能的目标函数(例如,关于强化反馈和/或关于带标签的训练数据)同时进行训练,以便改善这种集体运作。在一些示例中,对象识别机300的一个或多个组件可独立于其他组件来被训练(例如,历史数据上的离线训练)。例如,对象识别机300可经由监督式训练在带标签的训练数据上进行训练,该带标签的训练数据包括具有与测试深度+多光谱图像132相同的结构的深度+多光谱图像的集合。换言之,训练数据包括与由相机100生成的图像相同类型的图像。训练数据集合可以用标签标记,这些标签指示指定对象是否存在于对应的深度+多光谱图像中。在一些实现中,标签可以指示存在于此类图像内的任何指定对象的位置。在一些实现中,训练数据集合的每个深度+多光谱图像中的每个像素可以用不同的指定对象或描述性类别标记。以此方式标记训练数据集合可以使对象识别机300能够被训练以执行测试深度+多光谱图像的语义分割。换言之,对象识别机300可以被配置成针对测试深度+多光谱图像的每个像素来输出对应于多种不同类型的对象的多个置信度值。每个置信度值可以指示像素被包括在该类型的对象中的可能性。对象识别机300可经由监督式训练在训练数据集合上关于目标函数进行训练,该目标函数测量与带标签的训练数据中所指示的(诸)指定对象的实际位置相比的、由对象识别机300定位指定对象的准确度、精度和/或召回率。

在所解说的示例中,对象识别机300使用卷积神经网络304来确定置信度值302。卷积神经网络304包括多个层,该多个层包括输入层306、一个或多个隐藏层308、以及输出层310。输入层306包括多个输入节点312。每个输入节点312被配置成接收与测试深度+多光谱图像132的多个像素中的一不同像素(P

卷积神经网络304被配置成将输入向量与被包括在(诸)隐藏层308中的一个或多个预定义的、随机化的和/或习得的卷积核进行卷积。通过将卷积核与输入向量(例如,表示深度+多光谱图像132)进行卷积,卷积神经网络304可以检测与卷积核相关联的特征。例如,卷积核可以与测试深度+多光谱图像进行卷积,以基于利用多个不同卷积核的各种卷积运算来检测低级视觉特征,诸如线、边、转角等。各种卷积运算的经卷积输出可以由池化层(例如,最大池化)处理,该池化层可以检测输入图像的一个或多个最显著特征和/或聚集输入图像的诸显著特征,以便在输入图像中的特定位置处检测输入图像的显著特征。池化层的经池化输出可以由其他卷积层进一步处理。

另一些卷积层的卷积核可以识别较高级二维(2D)视觉特征(例如,形状和图案),并且更一般地可识别较低级视觉特征的空间布置。卷积神经网络的一些层可以相应地识别和/或定位对象识别机300被训练来识别的指定对象的2D视觉特征。例如,如果对象识别机300被训练来识别自行车,则一些卷积层的卷积核可以识别和/或定位自行车的2D视觉特征(例如,车轮、座椅、前叉)。又一些卷积层的卷积核可以识别三维(3D)视觉特征,例如,曲率图。返回上述示例,卷积神经网络的一些层可以相应地识别和/或定位自行车的3D视觉特征(例如,踏板、车把)。卷积神经网络的一些层可以相应地识别和/或定位不同的纹理。又一些卷积层的卷积核可以识别可见光谱内和可见光谱外(例如,紫外光谱、红外光谱)的光谱特征。卷积神经网络的一些层可以相应地识别和/或定位指定对象的光谱特征(例如,涂色)。光谱特征对于时间因素(例如,姿态)和环境因素(例如,环境光照)可以是不变的。此外,卷积神经网络的一些层可基于2D、3D和光谱信息来识别组合的光谱-空间特征。

(诸)隐藏层308的经池化输出可以被输出到输出层310。输出层310可以被配置成基于由不同隐藏层308执行的处理来输出指示测试深度+多光谱图像包括指定对象的可能性的置信度值302。相应地,卷积神经网络304可以识别输入到卷积神经网络的测试图像中的指定对象。

虽然关于卷积神经网络描述了前述示例,但是其他神经网络技术可以能够基于检测低级2D视觉特征、2D较高级视觉特征、3D视觉特征、光谱特征、和/或视觉特征的空间布置来检测和/或定位指定对象和其他显著特征。

在一些实现中,对象识别机300可任选地被配置成在逐通道(channel-by-channel)的基础上分开地处理测试深度+多光谱图像的不同像素参数值。如图4所示,对象识别机300可以使用包括诸因通道而异的模型404在内的多个模型来确定置信度值302,该置信度值302指示测试深度+多光谱图像132包括指定对象的可能性。例如,对象识别机300可经由监督式训练在带标签的训练数据上进行训练,该带标签的训练数据包括具有与测试深度+多光谱图像132相同的结构的深度+多光谱图像的集合。训练数据集合可以用标签标记,这些标签指示指定对象是否存在于此类图像中。在一些实现中,标签可以指示存在于此类图像内的任何指定对象的位置。

多个因通道而异的模型(例如,深度通道模型、SV1通道模型、…、SV6通道模型)404可各自被配置成处理针对测试深度+多光谱图像132的多个像素的不同像素参数。例如,测试深度+多光谱图像132的深度值可以通过深度通道模型来处理。作为另一示例,与相机100的第一光谱照明器116A相对应的第一光谱光子带中的光谱光的光谱值可以通过SV1通道模型来处理。每个因通道而异的模型404包括多个输入节点,并且对于每个因通道而异的模型,每个输入节点被配置成接收测试深度+多光谱图像132的多个像素中的一不同像素的像素参数值。例如,深度通道模型的每个输入节点可以被配置成接收测试深度+多光谱图像132的多个像素中的一不同像素的深度值[Z

多个因信道而异的模型404可以按如上面描述的类似方式来处理不同类型的像素参数值。例如,2D视觉特征和光谱特征可以通过处理光谱值(例如,SV1-SV6)的不同的因通道而异的模型来标识,并且3D视觉特征和纹理可以通过处理深度值的因通道而异的模型来标识。将领会,对象识别机可以使用按任何合适的方式布置的任何合适类型的模型来确定置信度值302。

在一些实现中,对象识别机300可任选地被配置成使用统计模型来确定置信度值302。例如,统计模型可以包括支持向量机,该支持向量机可以被配置成通过应用一系列不同的二元分类器来确定测试深度+多光谱图像是否包括指定对象来分析测试深度+多光谱图像。支持向量机可以使用训练深度+多光谱图像集合来被训练,每个训练深度+多光谱图像被标记为要么包括指定对象要么不包括指定对象。在另一示例中,对象识别机300可任选地被配置成使用包括最近邻算法的统计模型来确定置信度值302。

在一些实现中,对象识别机300可任选地被配置成识别测试深度+多光谱图像中的多种不同类型的指定对象。在此类实现中,对象识别机300可以在包括深度+多光谱图像的训练数据集合上进行训练,这些深度+多光谱图像是用指示多种不同类型的指定对象是否存在于对应的深度+多光谱图像中的标签来标记的。在一些实现中,对象识别机300可以包括两个或更多个不同的子机器,每个子机器被训练以识别不同类型的对象。在此类实现中,测试深度+多光谱图像可以由(串联或并联的)不同子机器来分析,以识别测试深度+多光谱图像内的不同类型的对象。

在图5所示的示例中,对象识别机300接收测试深度+多光谱图像500作为输入。对象识别机300可以分析测试深度+多光谱图像500以确定测试深度+多光谱图像是否包括对象识别机被训练来识别的不同类型的指定对象。对象识别机300输出多个置信度值302(例如,302A、302B、302C、302D、30E)。每个置信度值302对应于对象识别机300被训练来识别的不同类型的指定对象。每个置信度值302指示测试深度+多光谱图像500包括该类型的指定对象的可能性。具体而言,在所解说的示例中,对象识别机300输出指示测试深度+多光谱图像500包括自行车的可能性为95%的第一置信度值302A、指示测试深度+多光谱图像500包括树的可能性为85%的第二置信度值302B,指示测试深度+多光谱图像500包括人的可能性为90%的第三置信度值302C、指示测试深度+多光谱图像500包括汽车的可能性为5%的第四置信度值302D、指示测试深度+多光谱图像500包括建筑物的可能性为5%的第五置信度值302E。需要注意,这些不同类型的对象被提供为示例,并且对象识别机300可以被配置成识别任何合适数目和/或类型的不同的指定对象。

在一些示例中,对象识别机300可任选地被配置成基于各种指定对象的置信度值大于阈值(例如,75%)来输出指示测试深度+多光谱图像500包括该对象的标签。此类标签可被用于由对象识别机300分析的不同测试深度+多光谱图像的图像分类。

在一些实现中,对象识别机300可任选地被配置成输出每个识别出的对象在测试深度+多光谱图像上的位置。换言之,对象识别机300可任选地被配置成在测试深度+多光谱图像中执行对象检测。在一个示例中,如图6所示,对象识别机300接收测试深度+多光谱图像500作为输入。对象识别机300可以分析测试深度+多光谱图像500以确定测试深度+多光谱图像是否包括对象识别机被训练来识别的不同类型的指定对象。对象识别机300输出在每个识别出的对象的测试深度+多光谱图像500上的多个位置。例如,对象识别机300可输出包围多个识别出的对象的多个边界框600(例如,600A、600B、600C)。具体而言,对象识别机300输出包围识别出的树的第一边界框600A,包围识别出的人的第二边界框600B,以及包围识别出的自行车的第三边界框600C。不同边界框的大小可以按任何合适的方式来确定。在一些示例中,对象识别机300可任选地输出指示在边界框600中识别出的对象的标签,诸如‘树’、‘人’和‘自行车’。尽管图6示出了在图像上绘制的边界框,但这不是必需的。对象识别机300可任选地输出边界框的坐标(例如,左上角和右下角的坐标)。在一些示例中,对象识别机300可任选地输出每个识别出的对象的大小。在一些示例中,对象识别机300可任选地输出指示识别出的对象的位置的其他形式的位置信息。

在一些实现中,对象识别机300可任选地被配置成针对测试深度+多光谱图像的每个像素来输出对应于对象识别机300被训练来识别的多种不同类型的对象的多个置信度值。每个置信度值可以指示像素被包括在该类型的识别出的对象中的可能性。换言之,对象识别机300可任选地被配置成执行测试深度+多光谱图像的语义分割。在图7所示的示例中,对象识别机300接收测试深度+多光谱图像500作为输入。对象识别机300可以分析测试深度+多光谱图像500以确定测试深度+多光谱图像是否包括对象识别机被训练来识别的不同类型的指定对象。对象识别机300针对测试深度+多光谱图像500的每个像素700输出多个置信度值702。在所解说的示例中,为了便于查看,放大了来自测试深度+多光谱图像500的代表区域704的四个代表像素702A、702B、702C、702D。像素702A、702B、702C、702D可以代表测试深度+多光谱图像500的任何像素。具体而言,用于第一像素700A的第一多个置信度值702A指示存在第一像素被包括在树中的较高可能性,用于第二像素700B的第二多个置信度值702B指示存在第二像素被包括在自行车中的较高可能性,用于第三像素700C的第三多个置信度值702C指示存在第三像素被包括在树中的较高可能性,并且用于第四像素700D的第四多个置信度值702D指示存在第四像素被包括在自行车中的较高可能性。需要注意,每个像素的这些置信度值702中的任何一个都可以对应于图3的置信度值302。换言之,在一些实现中,对象识别机300可以被配置成针对测试深度+多光谱图像500的每个像素输出置信度值,而无需为整个测试深度+多光谱图像输出单独的置信度值。在一些示例中,对象识别机300可任选地被配置成针对每个像素基于识别出的对象的置信度值大于阈值(例如,75%)来输出指示该像素被包括在该对象中的标签。对象识别机300可以被配置成针对任何合适数目和/或类型的不同对象逐像素地输出置信度值。

在一些实现中,对象识别机300可任选地被配置成输出除了置信度值302之外的与其中指定对象被识别的测试深度+多光谱图像有关的信息。在一些实现中,对象识别机300可任选地被配置成输出识别出的对象的一个或多个经标识的2D特征在测试深度+多光谱图像上的位置。例如,(诸)2D特征可以包括根据光谱图像数据确定的低级特征(例如,转角、片段)和/或高级特征(例如,自行车的车轮、前叉、座椅)。对象识别机300可任选地被配置成输出识别出的对象的一个或多个经标识的3D特征在测试深度+多光谱图像上的位置。(诸)3D特征可以包括根据深度数据确定的低级特征(例如,曲线)和/或高级特征(例如,自行车的踏板、车把)。对象识别机300可任选地被配置成输出识别出的对象的一个或多个经标识的光谱特征在测试深度+多光谱图像上的位置。(诸)光谱特征可以基于光谱签名来标识,这些光谱签名是基于多个光谱光子带中的多个光谱光值来确定的。

对象识别机300可以被配置成包括指示测试深度+多光谱图像中所包括的识别出的对象的图像标签、识别出的对象的位置(例如,边界框)、因像素而异的标签、和/或作为由图1的输出机124输出的分析像素矩阵132中的测试深度+多光谱图像的结果而产生的任何其他信息和/或另一合适的数据结构。

对象识别机300可以被实现为任何合适的物理硬件和/或固件组件。在一些实现中,相机100和对象识别机300可被组合在共享外壳中。在一些实现中,相机100的控制器118和对象识别机300的各方面可一起被集成为一个或多个硬件逻辑组件。在一些实现中,对象识别机300的各方面可以在位于相机100的远程的计算设备上被实现。例如,对象识别机300的各方面可以经由通过网络与相机100通信的服务计算系统来实现。

注意,对象识别机300可以被配置成将对象识别数据输出到对象识别机300内部或外部的任何合适的接收方。例如,对象识别机300可以被配置成将对象识别数据输出到另一处理组件以进行附加图像处理。在一些示例中,处理组件可以被结合到对象识别机300中。在一些示例中,处理组件可被结合到相机100中。在一些示例中,处理组件可被结合到与对象识别机300和/或相机100通信的远程计算设备中。在另一示例中,对象识别机300可以被配置成将对象识别数据输出到外部显示设备以供对象识别数据的视觉演示。

图8示出了使用深度+多光谱相机(诸如图1的相机100)的示例对象识别方法800。例如,方法800可以由图3-7的对象识别机300来执行。

在方法800的802处,用有源IR光来主动地照明对象。在方法800的804处,在用有源IR光来主动地照明对象的情况下,利用相机的多个传感器来测量对象的深度轮廓。在806处,用多个不同光谱光子带中的每一者中的有源光谱光来主动地照明对象。换言之,可一次用多个不同光谱光子带中的一个光谱光子带中的有源光谱光来照明对象,直到已用多个不同光谱光子带中的每一者中的有源光谱光相继地照明了对象。在方法800的808处,在用多个不同光谱光子带中的每一者中的有源光谱光主动地照明对象的情况下,利用相机的多个传感器测量对象在多个不同光谱光子带中的每一者中的光谱签名。换言之,同一相机的相同传感器被用来测量对象的深度轮廓和对象在多个不同光谱光子带中的光谱签名。在方法800的810处,基于所测得的深度轮廓和所测得的光谱签名来进行对象的计算机识别。可以按任何合适的方式来进行对象的计算机识别。例如,可以使用如上面讨论的一个或多个先前训练的人工神经网络或统计模型来进行对象的计算机识别。

本文所讨论的技术可以广泛地应用于对象识别,以至少通过减少或移除来自用于训练和测试此类机器学习对象识别机器的捕获图像中的环境光干扰来提供提高识别准确度的性能益处。

在一些实现中,本文中所描述的方法和过程可以与一个或多个计算设备的计算系统绑定。具体而言,这样的方法和过程可被实现为计算机应用程序或服务、应用编程接口(API)、库、和/或其他计算机程序产品。

图9示意性地示出了可执行上述方法和过程中的一个或多个的计算系统900的非限制性实现。以简化形式示出了计算系统900。例如,计算系统900可以采用图1的相机100或电子控制器118以及图3-7的对象识别机300的形式。

计算系统900包括逻辑机902和存储机904。计算系统900可任选地包括显示子系统906、输入子系统908、通信子系统910和/或在图9中未示出的其他组件。

逻辑机902包括被配置成执行指令的一个或多个物理设备。例如,逻辑机902可被配置成执行作为以下各项的一部分的指令:一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其他逻辑构造。此类指令可被实现以执行任务、实现数据类型、变换一个或多个组件的状态、实现技术效果、或以其他方式得到期望的结果。

逻辑机902可以包括被配置成执行软件指令的一个或多个处理器。附加地或替代地,逻辑机902可以包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机。逻辑机902的处理器可以是单核的或多核的,并且其上所执行的指令可以被配置成用于串行、并行和/或分布式处理。逻辑机的各个个体组件可任选地分布在两个或更多个分开的设备之中,这些设备可位于远程和/或被配置成用于协同处理。逻辑机902的各方面可以通过按云计算配置被配置的可远程访问的、联网计算设备来被虚拟化和执行。

存储机904包括被配置成保持可由逻辑机902执行的指令以实现本文中所描述的方法和过程的一个或多个物理设备。当实现这些方法和过程时,可以变换存储机904的状态-例如,以保持不同的数据。

存储机904可包括半导体存储器(例如,RAM、EPROM、EEPROM等)、和/或磁存储器(例如,硬盘驱动器、软盘驱动器、带驱动器、MRAM等)等等。存储机904可包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址、和/或内容可寻址设备。

将领会,存储机904包括一个或多个物理设备。然而,本文中所描述的指令的各方面可替代地通过不被物理设备保持达有限历时的通信介质(例如,电磁信号、光信号等)来传播。

逻辑机902和存储机904的各方面可被一起集成到一个或多个硬件逻辑组件中。此类硬件逻辑组件可包括例如现场可编程门阵列(FPGA)、程序和应用专用集成电路(PASIC/ASIC)、程序和应用专用标准产品(PSSP/ASSP)、片上系统(SOC),以及复杂可编程逻辑器件(CPLD)。

当显示子系统906时被包括时,显示子系统906可被用来呈现由存储机904保持的数据的视觉表示。此视觉表示可以采取显示图像的形式,将像素矩阵132转换为人类可感知的视觉格式。由于本文中所描述的方法和过程改变了由存储机保持的数据,并因而变换了存储机的状态,因此同样可以变换显示子系统906的状态以视觉地表示底层数据中的改变。显示子系统906可包括利用实质上任何类型的技术的一个或多个显示设备。可将此类显示设备与逻辑机902和/或存储机904组合在共享封装中,或者此类显示设备可以是外围显示设备。

当包括输入子系统908时,输入子系统908可包括诸如键盘、鼠标、触摸屏、或游戏控制器之类的一个或多个用户输入设备或者与上述用户输入设备对接。在一些实施例中,输入子系统可包括所选择的自然用户输入(NUI)部件或者与上述自然用户输入(NUI)部件相对接。此类部件可以是集成的或外围的,并且输入动作的换能和/或处理可以在板上或板外被处置。示例NUI部件可包括用于语音和/或话音识别的话筒;用于机器视觉和/或姿势识别的红外、彩色、立体、和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速度计、和/或陀螺仪;以及用于评估脑部活动的电场感测部件。

当包括通信子系统910时,通信子系统910可被配置成将计算系统900与一个或多个其他计算设备通信地耦合。通信子系统910可包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统910可被配置成用于经由无线电话网络或者有线或无线局域网或广域网来进行通信。在一些实施例中,通信子系统910可允许计算系统900经由诸如互联网之类的网络将消息发送至其他设备以及/或者从其他设备接收消息。

在一示例中,一种相机包括:包括多个传感器的传感器阵列;被配置成在红外(IR)光子带中发射有源IR光的IR照明器;多个光谱照明器,每个光谱照明器被配置成在不同光谱光子带中发射有源光谱光;深度控制器机器,其被配置成基于有源IR光来确定多个传感器中的每一者的深度值;光谱控制器机器,其被配置成针对多个传感器中的每一者确定多个光谱照明器的每个光谱光子带的光谱值;以及输出机,其被配置成输出包括多个像素的测试深度+多光谱图像,每个像素对应于传感器阵列的多个传感器之一并且至少包括深度值和多个光谱照明器的每个光谱光子带的光谱值;对象识别机,其先前已用具有与测试深度+多光谱图像相同的结构的带标签的训练深度+多光谱图像集合进行了训练,该对象识别机被配置成输出指示测试深度+多光谱图像包括指定对象的可能性的置信度值。在该示例和/或其他示例中,对象识别机还可被配置成输出与多个不同类型的对象中的每一者相对应的置信度值,每个置信度值指示测试深度+多光谱图像包括该类型的对象的可能性。在该示例和/或其他示例中,对象识别机还可被配置成输出每个识别出的对象在测试深度+多光谱图像上的位置。在该示例和/或其他示例中,对象识别机还可被配置成针对测试深度+多光谱图像的每个像素输出与多个不同类型的对象相对应的多个置信度值,每个置信度值指示像素被包括在该类型的对象中的可能性。在该示例和/或其他示例中,每个光谱值可以基于为与像素相对应的传感器确定的深度值来被确定。在该示例和/或其他示例中,对象识别机可以被配置成使用卷积神经网络来确定置信度值。在该示例和/或其他示例中,对象识别机可以包括多个输入节点,每个输入节点可以被配置成接收与测试深度+多光谱图像的多个像素中的一不同像素相对应的像素值阵列,并且该像素值阵列可以包括该像素的深度值和多个多光谱值。在该示例和/或其他示例中,像素的多个多光谱值可以包括三个以上的光谱值。在该示例和/或其他示例中,输出机可以被配置成针对测试深度+多光谱图像的每个像素输出表面法线,并且像素值阵列可以包括表面法线。在该示例和/或其他示例中,输出机可以被配置成针对测试深度+多光谱图像的每个像素输出曲率,并且像素值阵列可以包括曲率。在该示例和/或其他示例中,对象识别机可以被配置成使用多个模型来确定置信度值,该多个模型可以包括多个因通道而异的模型,每个因通道而异的模型可以被配置成处理针对测试深度+多光谱图像的多个像素的不同像素参数,每个因通道而异的模型可以包括多个输入节点,并且对于每个因通道而异的模型,每个输入节点可以被配置成接收测试深度+多光谱图像的多个像素中的一不同像素的像素参数值。在该示例和/或其他示例中,对象识别机可以被配置成使用统计模型来确定置信度值。在该示例和/或其他示例中,统计模型可以包括最近邻算法。在该示例和/或其他示例中,统计模型可包括支持向量机。在该示例和/或其他示例中,对象识别机还被配置成输出包围指定对象的边界框在测试深度+多光谱图像上的位置。在该示例和/或其他示例中,对象识别机还可被配置成针对测试深度+多光谱图像的每个像素输出指示该像素被包括在指定对象中的可能性的置信度值。在该示例和/或其他示例中,对象识别机还可被配置成输出以下一者或多者:指定对象的经标识的二维(2D)特征在测试深度+多光谱图像上的位置、指定对象的经标识的三维(3D)特征在测试深度+多光谱图像上的位置、以及指定对象的经标识的光谱特征在测试深度+多光谱图像上的位置。在该示例和/或其他示例中,传感器阵列的多个传感器可以是差分传感器,并且每个光谱值可以基于该差分传感器的深度值和差分测量来被确定。

在一示例中,一种方法包括:用有源IR光主动地照明对象;在用有源IR光主动地照明对象的情况下,利用相机的多个传感器测量对象的深度轮廓;用多个不同光谱光子带中的每一者中的有源光谱光主动地照明对象;在用多个不同光谱光子带中的每一者中的有源光谱光主动地照明对象的情况下,利用被用来测量对象的深度轮廓的相机的多个传感器来测量对象在光谱光子带中的光谱签名;以及计算机基于所测得的深度轮廓和所测得的光谱签名来识别对象。

在一示例中,一种相机包括:包括多个传感器的传感器阵列;被配置成在红外(IR)光子带中发射有源IR光的IR照明器;多个光谱照明器,每个光谱照明器被配置成在不同光谱光子带中发射有源光谱光;深度控制器机器,其被配置成基于有源IR光来确定多个传感器中的每一者的深度值;光谱控制器机器,其被配置成针对多个传感器中的每一者确定多个光谱照明器的每个光谱光子带的光谱值,其中每个光谱值是基于为与像素相对应的传感器确定的深度值来计算的;以及输出机,其被配置成输出包括多个像素的测试深度+多光谱图像,每个像素对应于传感器阵列的多个传感器之一并且至少包括深度值和多个光谱照明器的每个光谱光子带的光谱值;对象识别机,其包括先前已用具有与测试深度+多光谱图像相同的结构的带标签的训练深度+多光谱图像集合进行了训练的卷积神经网络,该对象识别机被配置成输出指示测试深度+多光谱图像包括指定对象的可能性的置信度值。

应当理解,本文中所描述的配置和/或办法本质上是示例性的,并且这些具体实施例或示例不应被视为具有限制意义,因为许多变体是可能的。本文中所描述的具体例程或方法可表示任何数目的处理策略中的一个或多个。由此,所例示和/或所描述的各种动作可以以所例示和/或所描述的顺序执行、以其他顺序执行、并行地执行,或者被省略。同样,以上所描述的过程的次序可被改变。

本公开的主题包括各种过程、系统和配置以及此处公开的其他特征、功能、动作和/或属性、以及它们的任一和全部等价物的所有新颖且非显而易见的组合和子组合。

相关技术
  • 使用深度和多光谱相机的对象识别
  • 光谱照相机控制装置、光谱照相机控制程序、光谱照相机控制系统、搭载有该系统的飞行体及光谱图像拍摄方法
技术分类

06120112211010