一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于对象底部位置的深度估计的制作方法

2022-12-24 13:31:14 来源:中国专利 TAG:

基于对象底部位置的深度估计
1.相关申请的交叉引用
2.本技术要求于2020年6月3日提交的题为“depth estimation based on object bottom position(基于对象底部位置的深度估计)”的美国临时专利申请号63/033,964的优先权,该申请的全部内容通过引用并入本文,如同在本说明书中完整阐述一样。


背景技术:

3.立体相机可以用于确定与对象相关的距离或深度。具体而言,立体相机可以同时捕捉对象的两个或更多个图像。可以基于立体相机的图像传感器之间的已知距离和两个或更多个同时捕捉的图像中的对象的表示之间的差异来确定距离或深度。类似地,相机可以与结构化光图案投影仪结合使用,以确定对象距离或深度。具体而言,可以基于当图案被投影到在不同深度处的对象上时图案被变形、分散或以其他方式改变的程度来确定距离或深度。在每种方法中,深度或距离测量涉及在一些计算设备上可能不可用的成像硬件。


技术实现要素:

4.由相机生成的图像数据可以用于确定相机与图像数据内表示的对象之间的距离。可以通过识别对象的底部在图像数据内的垂直位置并将垂直位置除以图像数据的总高度以获得对象底部比率来确定到对象的估计距离。距离投影模型可以将对象底部比率映射到相机与对象之间的物理距离的对应估计。距离投影模型可以在假设相机被定位在环境内的特定高度处并且对象的底部与环境的地面接触的假设下操作。此外,在图像数据由以非零俯仰角定向的相机生成的情况下,偏移计算器可以确定要添加到对象底部比率以补偿非零相机俯仰的偏移。
5.在第一示例实施例中,提供了一种计算机实现的方法,该方法包括从相机接收表示环境中的对象的图像数据。该方法还包括基于图像数据来确定对象的底部在图像数据内的垂直位置,以及确定垂直位置与图像数据的高度之间的对象底部比率。该方法另外包括通过距离投影模型并且基于对象底部比率来确定相机与对象之间的物理距离的估计。距离投影模型为多个候选对象底部比率中的每个相应候选对象底部比率定义(i)相应候选对象底部比率与(ii)环境中的对应物理距离之间的映射。该方法进一步包括生成相机与对象之间的物理距离的估计的指示。
6.在第二示例实施例中,提供了一种计算系统,该计算系统包括:相机;处理器;以及非暂时性计算机可读存储介质,其上存储有指令,这些指令当由处理器执行时使处理器执行操作。这些操作包括从相机接收表示环境中的对象的图像数据。这些操作还包括基于图像数据来确定对象的底部在图像数据内的垂直位置,以及确定垂直位置与图像数据的高度之间的对象底部比率。这些操作另外包括通过距离投影模型并且基于对象底部比率来确定相机与对象之间的物理距离的估计。距离投影模型为多个候选对象底部比率中的每个相应候选对象底部比率定义(i)相应候选对象底部比率与(ii)环境中的对应物理距离之间的映射。这些操作进一步包括生成相机与对象之间的物理距离的估计的指示。
7.在第三示例实施例中,提供了一种非暂时性计算机可读存储介质,其上存储有指令,这些指令当由计算系统执行时使计算系统执行操作。这些操作包括从相机接收表示环境中的对象的图像数据。这些操作还包括基于图像数据来确定对象的底部在图像数据内的垂直位置,以及确定垂直位置与图像数据的高度之间的对象底部比率。这些操作另外包括通过距离投影模型并且基于对象底部比率来确定相机与对象之间的物理距离的估计。距离投影模型为多个候选对象底部比率中的每个相应候选对象底部比率定义(i)相应候选对象底部比率与(ii)环境中的对应物理距离之间的映射。这些操作进一步包括生成相机与对象之间的物理距离的估计的指示。
8.在第四示例实施例中,提供了一种系统,该系统包括用于从相机接收表示环境中的对象的图像数据的装置。该系统还包括用于基于图像数据来确定对象的底部在图像数据内的垂直位置的装置,以及用于确定垂直位置与图像数据的高度之间的对象底部比率的装置。该系统另外包括用于通过距离投影模型并且基于对象底部比率来确定相机与对象之间的物理距离的估计的装置。距离投影模型为多个候选对象底部比率中的每个相应候选对象底部比率定义(i)相应候选对象底部比率与(ii)环境中的对应物理距离之间的映射。该系统进一步包括用于生成相机与对象之间的物理距离的估计的指示的装置。
9.通过阅读下面的详细描述,并适当参考附图,这些以及其他实施例、方面、优点和替代方案对于本领域普通技术人员来说将变得显而易见。此外,本文提供的本发明内容和其他描述和附图旨在仅通过示例的方式来说明实施例,并且因此,许多变化是可能的。例如,结构元件和过程步骤能够被重新布置、组合、分布、消除或以其他方式改变,同时保持在所要求保护的实施例的范围内。
附图说明
10.图1示出了根据示例实施例的计算系统。
11.图2示出了根据示例实施例的计算设备。
12.图3示出了根据示例实施例的用于估计对象距离的系统。
13.图4a示出了根据示例实施例的光学模型。
14.图4b示出了根据示例实施例的对象底部比率与物理距离之间的映射。
15.图4c、图4d、图4e和图4f示出了根据示例实施例的各种模型误差。
16.图5示出了根据示例实施例的对相机俯仰的补偿。
17.图6示出了根据示例实施例的用于估计对象距离的系统的用例。
18.图7示出了根据示例实施例的流程图。
具体实施方式
19.本文描述了示例方法、设备和系统。应当理解,词语“示例”和“示例性”在本文用于意指“用作示例、实例或说明”。本文描述为“示例”、“示例性”和/或“说明性”的任何实施例或特征不一定被解释为比其它实施例或特征优选或有利,除非如此陈述。因此,在不脱离本文呈现的主题的范围的情况下,能够利用其他实施例,并且能够进行其他改变。
20.因此,本文描述的示例实施例不意味着是限制性的。将容易理解的是,如本文一般描述的和在附图中示出的,本公开的方面能够以多种不同的配置来布置、替换、组合、分离
和设计。
21.此外,除非上下文另有暗示,否则每个图中所示的特征可以彼此结合使用。因此,附图通常应被视为一个或多个总体实施例的组成方面,应理解并非所有示出的特征对于每个实施例都是必要的。
22.此外,本说明书或权利要求中的元件、框或步骤的任何列举都是出于清楚的目的。因此,这种列举不应被解释为要求或暗示这些元件、框或步骤遵从特定的安排或以特定的次序执行。除非另有说明,否则附图不是按比例绘制的。
23.i.概述
24.包括移动和/或可穿戴计算设备的计算设备可以包括能够用于捕捉环境的图像的相机。例如,当用户握持、穿戴和/或使用计算设备时,相机可以面向用户前面的环境。因此,本文提供了可以用于确定相机与由相机生成的图像数据中表示的对象之间的距离的系统和操作。这些系统和操作可以例如在包括相机的计算设备上实现,因此允许这些计算设备测量到环境内的对象的距离。
25.相机与对象之间的距离可以通过将如由相机生成的图像数据中表示的对象的底部的位置映射到对应物理距离来确定。这种方法可以提供一种计算成本低廉的方式来实时计算移动和/或静止的感兴趣对象的深度。由于计算复杂度相对较低,这些系统和操作可以在低端设备和/或功率有限设备上实现,功率有限设备包括移动电话和/或可穿戴设备(例如,智能手表、仪表板相机等)。此外,在一些情况下,该系统和操作可以用于由一次从一个视点表示环境的单目视场相机生成的图像数据视场。因此,例如,该系统和操作可以用作基于由立体相机生成的立体图像数据和/或包括由图案化光投影仪投影的结构化光图案的图像数据的深度测量的替代。然而,在其他情况下,本文公开的系统和操作可以与诸如立体成像和/或结构化光投影的用于距离/深度测量的其他方法结合使用。
26.深度测量的过程可以假设相机被设置在环境内的地面上方的已知高度处。例如,相机和/或容纳相机的计算设备可以在用户身体上的特定位置处——诸如在胸部、手臂、手腕或腰线上——耦合到用户,并且可以因此随时间保持在基本上相同的高度处。深度测量过程可以关于由相机捕捉的图像来执行,以确定到环境内的各种对象的距离。计算设备可以生成距离的视觉、听觉、触觉和/或其他表示。因此,例如,视觉受损的用户可以使用计算设备在由计算设备执行的深度测量过程的帮助下在环境中导航。
27.具体而言,在相机处于已知高度处的情况下,位于环境的地面上的特定距离处的每个点可以与相机的图像传感器上的对应位置相关联,并且期望在该对应位置处产生图像。特定距离与其在图像传感器上的对应位置之间的关系可以由经验确定的(例如,学习和/或训练的)映射来表示,该映射可以形成距离投影模型的一部分。由于映射假设相机处于已知高度处,所以可以提供多个不同的映射作为距离投影模型的一部分,每个映射与不同的高度相关联,以允许随着相机的高度改变进行距离测量。
28.为了确定相机与由相机捕捉的图像中表示的对象之间的距离,计算设备可以被配置成识别对象的底部的垂直位置。之所以可以使用对象的底部,是因为预期它与环境的地面上的某个点接触,并且距离投影模型的映射将图像位置与地面上的点的距离相关。可以将对象的底部的垂直位置除以图像的高度,以获得对象底部比率,其将对象的底部的垂直位置表示为图像高度的分数(即,对象底部比率的范围可以从0到1)。通过将垂直位置编码
为比率,而不是例如编码为像素的绝对数量,当图像被下采样或上采样时,可以使用相同的映射。也就是说,使用对象底部比率允许映射对于给定图像纵横比是分辨率不变的。
29.基于对象底部比率,距离投影模型可以确定到对象的物理距离的估计。具体而言,距离投影模型可以基于相机被定位的高度的指示、相机的定向(例如,横向对纵向)、图像的纵横比和/或一个或多个附加相机参数来选择要使用的特定映射。也就是说,由距离投影模型提供的每个映射可以与不同的对应相机参数集相关联。因此,取决于使用哪种映射,每个对象底部比率可以被映射到不同的距离。当实际相机参数与由映射假设的相机参数匹配时,距离估计可能是准确的,但是当这两个相机参数集不同时,距离估计可能是错误的。估计距离的误差可以与两个相机参数集的对应参数之间的差成比例。
30.所选择的映射可以用于通过将对象底部比率映射到对应物理距离来确定到对象的距离的估计。值得注意的是,由于在一些情况下,图像可以由单目视场相机生成,并且没有结构化光的投影,所以诸如高度、图像定向、纵横比以及其他的相机参数的指定可以用作深度提示的替代,否则深度提示将由一对立体图像或结构化光图案提供。
31.此外,当相机向上倾斜时,对象的底部的位置可能看起来在图像中移动得更低,并且当相机向下倾斜时,对象的底部的位置可能看起来在图像中移动得更高。由于相机俯仰而引起的对象底部的这种明显移位可以通过偏移计算器来补偿。具体而言,偏移计算器可以基于相机俯仰角的正切与相机的经验确定的焦距的乘积来确定根据对象底部比率来表示的估计偏移。然后,可以将估计偏移添加到对象底部比率,并且可以将该和作为输入提供给距离投影模型。添加估计偏移可以具有将对象底部的垂直位置移回到在相机处于零俯仰角时底部将处于的位置的效果。
32.ii.示例计算设备
33.图1示出了计算系统100的示例形状因素。计算系统100可以是例如移动电话、平板电脑或可穿戴计算设备。然而,其他实施例是可能的。计算系统100可以包括各种元件,诸如机身102、显示器106以及按钮108和110。计算系统100可以进一步包括前置相机104、后置相机112、前置红外相机114和红外图案投影仪116。
34.前置相机104可以被定位在机身102在操作时通常面向用户的一侧上(例如,与显示器106相同的侧上)。后置相机112可以被定位在机身102的与前置相机104相反的一侧上。将相机称为前置和后置是任意的,并且计算系统100可以包括定位在机身102的各个侧面上的多个相机。前置相机104和后置相机112可以各自被配置成捕捉可见光谱中的图像。
35.显示器106能够表示阴极射线管(crt)显示器、发光二极管(led)显示器、液晶(lcd)显示器、等离子体显示器、有机发光二极管(oled)显示器或本领域中已知的任何其他类型的显示器。在一些实施例中,显示器106可以显示由前置相机104、后置相机112和/或红外相机114捕捉的当前图像和/或能够由这些相机中的一个或多个相机捕捉或最近捕捉的图像的数字表示。因此,显示器106可以充当相机的取景器。显示器106还可以支持能够调整计算系统100的任何方面的设置和/或配置的触摸屏功能。
36.前置相机104可以包括图像传感器和相关联的光学元件,例如镜头。前置相机104可以提供变焦能力,或者能够具有固定的焦距。在其他实施例中,可互换镜头能够与前置相机104一起使用。前置相机104可以具有可变的机械光圈以及机械和/或电子快门。前置相机104也能够被配置成捕捉静止图像、视频图像或两者。此外,前置相机104能够表示单目、立
体或多目视场相机。后置相机112和/或红外相机114可以类似地或不同地布置。另外,前置相机104、后置相机112或红外相机114中的一个或多个可以是一个或多个相机的阵列。
37.前置相机104和后置相机112中的任一个或两个可以包括照明组件或与照明组件相关联,该照明组件提供可见光谱中的光场来照明目标对象。例如,照明组件能够提供目标对象的闪光或恒定照明。照明组件也能够被配置成提供包括结构化光、偏振光和具有特定光谱内容的光中的一个或多个的光场。在本文中的实施例的上下文中,已知的并且用于从对象恢复三维(3d)模型的其他类型的光场是可能的。
38.红外图案投影仪116可以被配置成将红外结构光图案投影到目标对象上。在一个示例中,红外投影仪116可以被配置成投影点图案和/或泛光图案。因此,红外投影仪116可以与红外相机114结合使用,以确定对应于目标对象的不同物理特征的多个深度值。
39.也就是说,红外投影仪116可以将已知的和/或预定的点图案投影到目标对象上,并且红外相机114可以捕捉包括投影的点图案的目标对象的红外图像。计算系统100然后可以确定捕捉的红外图像中的区域与投影的点图案的特定部分之间的对应关系。给定红外投影仪116的位置、红外相机114的位置以及捕捉的红外图像内的对应于投影点图案的特定部分的区域的位置,计算系统100然后可以使用三角测量来估计到目标对象的表面的深度。通过对对应于投影点图案的不同部分的不同区域重复这一过程,计算系统100可以估计目标对象的各种物理特征或部分的深度。以这种方式,计算系统100可以用于生成目标对象的三维(3d)模型。
40.计算系统100还可以包括可以连续地或不时地确定相机104、112和/或114能够捕捉的场景的环境亮度(例如,在可见光和/或红外光方面)的环境光传感器。在一些实施方式中,环境光传感器能够用于调节显示器106的显示亮度。此外,环境光传感器可以用于确定一个或多个相机104、112或114的曝光长度,或者帮助该确定。
41.计算系统100能够被配置成使用显示器106和前置相机104、后置相机112和/或前置红外相机114来捕捉目标对象的图像。捕捉的图像能够是多个静止图像或视频流。能够通过激活按钮108、按下显示器106上的软键或者通过某种其他机制来触发图像捕捉。取决于实施方式,能够以特定时间间隔自动捕捉图像,例如,在按下按钮108时,在目标对象的适当照明条件下,在将数字相机设备100移动预定距离时,或者根据预定捕捉时间表。
42.如上所述,计算系统100的功能可以集成到诸如无线计算设备、蜂窝电话、平板计算机、膝上型计算机等的计算设备中。出于示例的目的,图2是示出可以包括相机组件224的示例计算设备200的一些组件的简化框图。
43.作为示例而非限制,计算设备200可以是蜂窝移动电话(例如,智能手机)、静止相机、视频相机、计算机(诸如台式机、笔记本、平板或手持计算机)、个人数字助理(pda)、家庭自动化组件、数字视频录像机(dvr)、数字电视、遥控器、可穿戴计算设备、游戏控制台、机器人设备或配备有至少一些图像捕捉和/或图像处理能力的某种其他类型的设备。应当理解,计算设备200可以表示物理图像处理系统、图像感测和处理应用在其上以软件运行的特定物理硬件平台、或者被配置成执行图像捕捉和/或处理功能的硬件和软件的其他组合。
44.如图2所示,计算设备200可以包括通信接口202、用户接口204、处理器206、数据存储装置208和相机组件224,所有这些都可以通过系统总线、网络或其他连接机制210通信地链接在一起。
45.通信接口202可以允许计算设备200使用模拟或数字调制与其他设备、接入网络和/或传输网络进行通信。因此,通信接口202可以促进电路交换和/或分组交换通信,诸如普通老式电话服务(pots)通信和/或互联网协议(ip)或其他分组化通信。例如,通信接口202可以包括布置用于与无线电接入网络或接入点进行无线通信的芯片组和天线。此外,通信接口202可以采取有线接口的形式或包括有线接口,有线接口诸如为以太网、通用串行总线(usb)或高清多媒体接口(hdmi)端口。通信接口202也可以采取无线接口的形式或包括无线接口,无线接口诸如为wi-fi、bluetooth、全球定位系统(gps)或广域无线接口(例如,wimax或3gpp长期演进(lte))。然而,可以在通信接口202上使用其他形式的物理层接口和其他类型的标准或专有通信协议。此外,通信接口202可以包括多个物理通信接口(例如,wi-fi接口、bluetooth接口和广域无线接口)。
46.用户接口204可以用于允许计算设备200与人类或非人类用户交互,诸如接收来自用户的输入并向用户提供输出。因此,用户接口204可以包括输入组件,诸如小键盘、键盘、触敏面板、计算机鼠标、轨迹球、操纵杆、麦克风等等。用户接口204还可以包括一个或多个输出组件,诸如显示屏,其例如可以与触敏面板相结合。显示屏可以是基于crt、lcd和/或led技术,或者现在已知或以后开发的其他技术。用户接口204还可以被配置成经由扬声器、扬声器插孔、音频输出端口、音频输出设备、耳机和/或其他类似设备来生成听觉输出。用户接口204还可以被配置成通过麦克风和/或其他类似设备来接收和/或捕捉听觉话语、噪声和/或信号。
47.在一些实施例中,用户接口204可以包括显示器,显示器用作由计算设备200支持的静止相机和/或视频相机功能的取景器(例如,在可见和红外光谱两者中)。此外,用户接口204可以包括一个或多个按钮、开关、旋钮和/或转盘,其有助于相机功能的配置和聚焦以及图像的捕捉。这些按钮、开关、旋钮和/或转盘中的一些或全部可以通过触敏面板来实现。
48.处理器206可以包括一个或多个通用处理器,例如微处理器,和/或一个或多个专用处理器,例如数字信号处理器(dsp)、图形处理单元(gpu)、浮点单元(fpu)、网络处理器或专用集成电路(asic)。在一些情况下,专用处理器能够进行图像处理、图像对准和合并图像、以及其他可能性。数据存储装置208可以包括一个或多个易失性和/或非易失性存储组件,诸如磁、光、闪存或有机存储装置,并且可以整体或部分地与处理器206集成。数据存储装置208可以包括可移除和/或不可移除的组件。
49.处理器206能够执行存储在数据存储装置208中的程序指令218(例如,编译或非编译的程序逻辑和/或机器代码),以执行本文描述的各种功能。因此,数据存储装置208可以包括非暂时性计算机可读介质,其上存储有程序指令,该程序指令在由计算设备200执行时,使计算设备200执行本说明书和/或附图中公开的任何方法、过程或操作。由处理器206对程序指令218的执行可以导致处理器206使用数据212。
50.作为示例,程序指令218可以包括安装在计算设备200上的操作系统222(例如,操作系统内核、设备驱动程序和/或其他模块)和一个或多个应用程序220(例如,相机功能、地址簿、电子邮件、网页浏览、社交网络、音频到文本功能、文本翻译功能和/或游戏应用)。类似地,数据212可以包括操作系统数据216和应用数据214。操作系统数据216可以主要可由操作系统222访问,应用数据214可以主要可由一个或多个应用程序220访问。应用数据214可以被布置在对计算设备200的用户可见或隐藏的文件系统中。
51.应用程序220可以通过一个或多个应用编程接口(api)与操作系统222通信。这些api可以便于例如应用程序220读取和/或写入应用数据214、经由通信接口202传输或接收信息、在用户接口204上接收和/或显示信息等等。
52.在一些方言中,应用程序220可以简称为“应用”。另外,应用程序220可以通过一个或多个在线应用商店或应用市场下载到计算设备200。然而,应用程序也能够以其他方式安装在计算设备200上,诸如经由web浏览器或通过计算设备200上的物理接口(例如,usb端口)。
53.相机组件224可以包括但不限于光圈、快门、记录表面(例如,摄影胶片和/或图像传感器)、镜头、快门按钮、红外投影仪和/或可见光投影仪。相机组件224可以包括被配置用于捕捉可见光谱中的图像的组件(例如,具有380至700纳米的波长的电磁辐射)和被配置用于捕捉红外光谱中的图像的组件(例如,具有701纳米至1毫米的波长的电磁辐射)。相机组件224可以至少部分地由处理器206执行的软件来控制。
54.iii.示例深度确定系统
55.图3示出了能够用于确定相机与环境内的一个或多个对象之间的物理距离的估计的示例系统。具体而言,系统340可以包括对象底部检测器308、对象底部比率计算器310、偏移计算器312和距离投影模型314,它们中的每一个都可以表示被配置成执行本文描述的相应操作的硬件组件和/或软件组件的组合。系统340可以被配置成接收图像数据300和指示相机的参数的元数据作为输入。元数据可以包括在捕捉图像数据300时关于相机的姿态的信息,诸如相机俯仰306。图像数据300可以在其中表示一个或多个对象,诸如对象302至304。对象302至304可以包括环境的各种移动和/或静止特征,诸如人类、动物、车辆、机器人设备、邮箱、柱子(例如,灯柱、交通灯柱等)和/或长凳、以及其他可能性。
56.对象底部检测器308可以被配置成检测对象的底部在图像数据300内的垂直位置。在一些实施方式中,垂直位置可以用像素表达。例如,对象底部检测器308可以确定对象302的底部被定位在图像数据300的底部上方的250个像素处。对象底部检测器308可以实现一个或多个算法,该算法被配置成(i)检测图像数据300内的对象302,(ii)基于图像数据300内的对象302的检测来检测图像数据300内的对象302的底部,以及(iii)确定对象302的底部被定位在环境的地面上。对象底部检测器308可以关于对象304和/或由图像数据300表示的任何其他对象执行相称的操作。
57.在对象302是人类的情况下,对象底部检测器308的一个或多个算法可以被配置成检测人类,检测人类的脚和/或鞋(即,图像数据300内的人类的底部),并且确定脚和/或鞋与地面接触。类似地,当对象304是车辆时,对象底部检测器308的一个或多个算法可以被配置成检测车辆,检测车辆的车轮和/或轮胎,并且确定车轮和/或轮胎与地面接触。一个或多个算法可以包括各种图像处理算法、计算机视觉算法和/或机器学习算法。
58.对象底部检测器308可以被配置成向对象底部比率计算器310提供对象的底部的垂直位置。对象底部比率计算器310可以被配置成计算对象(例如,对象302)的底部的垂直位置与图像数据300的高度之间的比率。具体而言,对象底部比率计算器可以实现函数b=v/h,其中b是对象底部比率,v是对象的底部的垂直位置,并且h是图像数据300的高度。为此,对象底部比率计算器310可以基于与图像数据300相关联的元数据来确定图像数据300的定向。具体而言,对象底部比率计算器310可以确定图像数据300已经是以横向定向(即,
其中图像数据300的较长边水平地定向)还是纵向定向(即,其中图像数据300的较长边垂直地定向)获取的。因此,对象底部比率计算器可以基于图像数据300的定向来设置h的值。例如,对于具有3840像素乘2160像素的分辨率的图像数据300,基于确定图像数据300是纵向图像,可以将图像数据300的高度h设置为3480像素,或者基于确定图像数据300是横向图像,可以将图像数据300的高度h设置为2160。
59.距离投影模型314可以被配置成确定图像数据300中表示的对象(例如,对象302)与生成图像数据300的相机之间的估计物理距离336。具体而言,距离投影模型314可以基于由对象底部比率计算器计算的对象底部比率与由偏移计算器312计算以考虑相机俯仰306的对象底部比率的估计偏移之和来确定估计物理距离336。
60.偏移计算器312可以被配置成基于相机俯仰306来确定对象底部比率将被移位/调整以考虑非零相机俯仰角的量或偏移。具体而言,距离投影模型314可以在图像数据300已经在相机的光轴基本上平行于环境中的地面定向时被捕捉的假设下实现。当相机向上倾斜到正俯仰角时,由对象底部比率计算器310计算的对象底部比率相对于在零俯仰角时的对象底部比率减小。类似地,当相机向下倾斜到负俯仰角时,由对象底部比率计算器310计算的对象底部比率相对于在零俯仰角时的对象底部比率增大。因此,在没有偏移计算器312的情况下,估计物理距离336在正俯仰角时可能是低估的,而在负俯仰角时可能是高估的,如图4e和图4f所示并参考图4e和图4f进行解释的。
61.偏移计算器312因此可以允许距离投影模型314通过校正相机俯仰306来生成准确距离估计。在图5中示出并参考图5更详细地讨论校正过程。由对象底部比率计算器310确定的对象底部比率和由偏移计算器312计算的估计偏移可以相加,并且该和可以作为输入提供给距离投影模型314。
62.距离投影模型314可以包括多个映射316至326,并且可以通过一个或多个映射316至326来确定估计物理距离336。映射316至326中的每个映射可以将多个对象底部比率与多个对应物理对象距离相关联。例如,映射316可以将对象底部比率318至322与对应物理对象距离320至324相关联。类似地,映射326可以将对象底部比率328至332与对应物理对象距离330至334相关联。与映射316至326相关联的对象底部比率(例如,对象底部比率318至322和238至332)可以被称为候选对象底部比率,因为每个都能够被用于确定估计的物理距离336。
63.映射316至326中的每个映射可以与对应相机参数集相关联,该相机参数集可以包括例如图像数据300的定向(即,横向或纵向)、当捕捉图像数据300时相机被设置于的环境中的高度、用于捕捉图像数据300的相机的视场(例如,如由相机的图像传感器的尺寸和相机的镜头的光学属性所定义的)、和/或图像数据300的纵横比,以及其他可能性。因此,映射316至326之一可以被选择并用于基于与图像数据300相关联的相机参数的值来确定估计物理距离336,这些相机参数的值可以被指示为与图像数据300相关联的元数据的一部分。因此,对象底部比率318至322可以与对象底部比率328至332相似、重叠或相同,但是对象底部比率318至322可以映射到与对象底部比率328至332不同的物理对象距离集。也就是说,物理对象距离320至324可以不同于物理对象距离330至334,尽管这两组可能重叠。
64.iv.用于深度确定的示例模型
65.图4a示出了相机的示例几何模型。几何模型可以用作用于生成距离投影模型314
的映射316至326的基础。具体而言,图4a示出了设置在包括地面406的环境中的图像传感器400和光圈402。图像传感器400和光圈402定义了光轴404,在图4a中,光轴404基本上平行于地面406延伸。图像传感器400(即,其垂直中心)被设置在地面406上方的高度h处,并且光圈402被定位在相对于图像传感器400的(焦点)距离f处。
66.多条线从环境中的地面406上的相应点通过光圈402投影到图像传感器400上的对应点。具体而言,多条线包括1米线、5米线、10米线、20米线、30米线和无限参考线。例如,5米线(即d=5米)对应于相对于图像传感器400的中心的垂直位置d并在相对于图像传感器400的中心的垂直位置d处创建图像,并与光轴404形成角度θ。1米线对应于光圈402和可以是可观察和/或可测量的对象之间的最小距离,因为该线投影到图像传感器400的最高部分。
67.无限参考线可以对应于环境中的最大可观察距离、到地平线的距离、超过阈值距离值的距离和/或无限距离。例如,当无限参考线源自地面406上方时,无限参考线可以与无限距离相关联,并且因此不与沿着地面406的可测量距离相关联。无限参考线在图4a中示出为与光轴404近似重合。无限参考线的右边部分被绘制为略低于光轴404,并且无限参考线的左边被绘制为略高于光轴404,以在视觉上区分无限参考线和光轴404。因此,在图4a所示的配置中,无限参考线对应于图像传感器400的大致中心并在图像传感器400的大致中心处创建图像。随着图像传感器400的高度h从图4a所示的高度增大(例如,当相机被安装在飞行器上时),由无限参考线创建的图像可以沿着图像传感器400上移。类似地,随着图像传感器400的高度h从图4a所示的高度减小(例如,当相机安装在地板清洁机器人上时),由无限参考线创建的图像可以沿着图像传感器400下移。因此,随着高度h变化,无限参考线可能偏离光轴404。对应于1米线、5米线、10米线、20米线和/或30米线的图像在图像传感器400上的相应位置可以类似地响应于图像传感器400的高度h的变化。
68.图4a的示例几何模型省略了相机的一些组件,诸如镜头,这些组件可以用于生成用于深度确定的图像数据。因此,该示例几何模型可能不是一些相机的准确表示,并且明确地使用该几何模型来计算对象距离可能导致错误的距离估计。然而,几何模型示出了在图像传感器400上的垂直位置与沿着环境内的地面406的对应物理距离之间存在非线性关系(例如,tan(θ)=d/f=h/d或d=hf/d)。因此,可以基于训练数据凭经验确定非线性数值模型(例如,距离投影模型314),以校正图4a的几何模型的任何不准确性,并将图像传感器400上的位置准确地映射到沿着地面406的对应物理距离。
69.此外,图4a的几何模型示出了一些相机参数的变化,包括相机的高度h(例如,图像传感器400和/或光圈402的高度)、距离f、角度θ、相机的视场(由图像传感器400的尺寸、用于将光聚焦在图像传感器400上的镜头和/或由镜头产生的变焦水平来定义)、根据其来生成图像数据的图像传感器400的部分(例如,图像数据的纵横比)和/或图像传感器400的定向(例如,横向对纵向)可以改变沿着地面406的物理距离与图像传感器400上的位置之间的关系(例如,映射)。因此,这些相机参数可以由非线性数值模型来考虑,以便生成准确的距离估计。
70.具体而言,映射316至326中的每个映射可以对应于特定相机参数集,并且可以生成距离估计,该距离估计对于具有该特定相机参数集的相机是准确的,但是当使用具有不同相机参数集的不同相机时,该距离估计可能是不准确的。因此,可以基于与用于生成图像数据300的相机相关联的实际相机参数集来选择映射316至326之一。具体而言,可以选择与
最接近地匹配实际相机参数集的相机参数相关联的映射。
71.例如,映射316至326中的第一映射可以与对应于配备有第一相机的第一移动设备的第一相机参数集相关联,并且映射316至326中的第二映射可以与对应于配备有不同于第一相机的第二相机的第二移动设备的第二相机参数集相关联。因此,第一映射可以用于测量到由第一移动设备生成的图像数据中表示的对象的距离,并且第二映射可以用于测量到由第二移动设备生成的图像数据中表示的对象的距离。在多个不同的移动设备各自使用具有相似或基本上相同的相机参数集的相机的情况下,一个映射可以由多个不同的移动设备使用。此外,由于每个相机可以被定位在多个不同的高度h处,每个相机可以与多个映射相关联,每个映射对应于不同的高度。
72.图4b示出了对象底部比率与物理距离之间的示例映射的图形表示。该映射可以根据对应对象底部比率来表达垂直位置,而不是根据像素来表达图像传感器400上的垂直位置。这允许映射对于图像数据分辨率保持不变。因此,当图像数据被下采样或上采样时,这种映射可以用于确定对象距离,因为与对象相关联的对象底部比率没有改变(假设图像没有被裁剪和/或纵横比保持相同)。
73.具体而言,用户接口(ui)410示出了对应于包括0.0、0.25、0.35、0.24、0.47和0.5的相应对象底部比率的多条水平线。值得注意的是,与对象底部比率0.5相关联的水平线被定位在ui 410的大致中间,将ui 410划分成大致相等的上半部分和下半部分。ui 412示出了与ui 410相同的多条线,这些线标记有对应物理距离,包括1米、5米、10米、20米、30米和无限。也就是说,对象底部比率0.0、0.25、0.35、0.24、0.47和0.5分别对应于1米、5米、10米、20米、30米的物理距离以及与图4a的无限参考线相关联的距离(例如,无限)。可以通过函数f(b)将对象底部比率映射到对应距离,该函数可以表示距离投影模型314的映射316至326之一。
74.ui 410和412还显示包括对象414的图像数据,对象414可以表示人类。边界框416包围对象414。边界框416可以表示由对象底部检测器308实现的第一算法的输出,并且可以用于定义用于由对象底部检测器308实现的第二算法的搜索区域。例如,边界框416可以定义已经由第一算法确定为包含人类的表示的感兴趣区域。边界框416可以被提供作为第二算法的输入,该第二算法被配置成识别人类的脚和/或鞋,以试图识别其底部。因此,当寻找对象底部时,边界框416可以减少由第二算法考虑的搜索空间。另外,当边界框416与对象标签或分类(例如,人类、车辆、动物等)相关联时,该标签可以用于选择适当的算法用于定位与该标签相关联的对象的底部。例如,当边界框416被分类为包含汽车的表示时,可以选择寻找汽车车轮和/或轮胎的算法来搜索对象底部,而不是寻找人类的脚和/或鞋的算法。
75.ui 410和412进一步示出了对应于对象414的底部的线。在ui 410中,这条线标记有0.31的对象底部比率(指示对象414的底部被定位在ui 410的自底向上的路途的1/3稍下方),而在ui 412中,它被标记有6米的距离。0.31的对象底部比率以及在一些情况下与其对应的线可以表示对象底部比率计算器310和/或偏移计算器312的输出。0.31的对象底部比率可以通过函数f(b)映射到6米的对应物理距离。
76.f(b)可以基于经验训练数据来确定。例如,可以相对于相机测量多个物理距离,并在环境内进行视觉标记。相机可以用于捕捉表示这些视觉标记距离的训练图像数据。在捕捉训练图像数据时,相机可以被设置在环境内的预定高度处。因此,基于该训练图像数据训
练的函数或映射对于(i)使用相同相机或具有相似或基本上相同的相机参数集的另一个相机以及(ii)被定位在相似或基本上相同的预定高度处的另一个相机来测量距离可能是有效的。基于使用具有不同的相机参数集的相机和/或定位在不同高度处的相同相机获得的训练数据,可以使用类似的过程来确定附加函数或映射。
77.在一个示例中,函数f(b)可以被公式化为多项式模型f(b)=a0 a1b1 a2b2 a3b3

a
nbn
,其中b表示对象底部比率,并且a
0-an表示经验确定的系数。基于训练数据,可以使用与多个物理距离d
训练
=[d0=0.5m,d1=1.0m,...,d
t
=20.0m]相关联的多个对象底部比率b
训练
=[b0=0.0,b1=0.01,...,b
t
=0.5]来确定系数a
0-an,其中a=[a0,a1,...,an]。具体来说,a
0-an可以通过对等式ab

训练
=d
训练
求解a来计算,其中b

训练
等于因此,ab

训练
=d
训练
可以被重写为一旦基于训练数据确定了系数a
0-an,函数f(b)就可以用于基于与对象相关联的对象底部比率来确定相机与对象之间的物理距离。具体而言,ab
观察
=d
估计
,其中并且d
估计
是对应于估计物理距离336的标量值。
[0078]
在其他示例中,函数f(b)可以被实现为人工智能(ai)和/或机器学习(ml)模型。例如,人工神经网络(ann)可以用于实现对象底部比率与物理距离之间的映射。在一些实施方式中,每个相机参数集可以与对应的ann相关联。也就是说,映射316至326中的每个映射可以表示使用由具有对应相机参数集的相机捕捉的图像数据训练的单独的ann。在其他实施方式中,单个ann可以同时实现映射316至326中的每个映射。为此,该ann可以被配置成接收相机参数的至少一个子集作为输入,这可以调整ann如何将输入的对象底部比率映射到对应物理距离。因此,ann可以被配置成将每个候选对象底部比率映射到多个物理距离,并且特定对象底部比率的具体物理距离可以由ann基于相机参数的值来选择。
[0079]
值得注意的是,距离投影模型314可以被配置成基于使用单目视场相机捕捉的一个可见光谱图像来确定与对象相关联的距离,而不依赖于结构化光。也就是说,可以在不使用立体图像数据或将预定图案投影到环境上的情况下确定距离。相反,为了准确地确定到对象的距离,距离投影模型314和/或偏移计算器312可以基于相机参数来估计对象距离,这些相机参数定义了相机相对于环境的姿态和/或相机的光学特性,以及相机的其他方面。当相机的姿态改变和/或使用不同的相机时,可以更新相机参数,使得距离投影模型314和/或偏移计算器312可以通过例如使用适当的映射来补偿这种差异。然而,在一些情况下,系统340可以与依赖于立体图像数据和/或结构化光投影的其他深度确定方法结合使用。
[0080]
v.示例模型误差和误差校正
[0081]
图4c、图4d、图4e和图4f示出了当实际相机参数偏离由距离投影模型314假定或使用的相机参数时可能出现的误差。具体而言,图4c的顶部示出了图像传感器400从高度h上移到高度h

,导致光轴404向上移动成比例的量,如线418所指示。没有这种上移,最靠近图像传感器400的对象414的底部部分将在图像传感器400上在图像传感器400的中心上方的距离d处创建图像,如线422所指示。然而,上移导致代替地在图像传感器400的中心上方的距离d

(其大于d)处创建图像,如线420所指示。
[0082]
如果用于计算光圈402与对象414之间的距离d的映射对应于高度h而不是高度h

,则该映射可能错误地确定对象414被定位在距离d

处,如图4c的底部部分所指示,而不是在距离d处。具体而言,图4c的底部部分示出了向下移回的图像传感器400,使得线418与光轴404重合,并且线420从图像传感器400上的同一点延伸到地面上的距离d

,而不是距离d。距离d

比距离d短,导致距离估计是低估。通过使用对应于相机高度h

而不是h的映射,可以减少、最小化或避免该误差。
[0083]
类似地,图4d的顶部部分示出了图像传感器400从高度h下移到高度h

,导致光轴404下移成比例的量,如线424所指示。没有这种下移,最靠近图像传感器400的对象414的底部部分将在图像传感器400上在图像传感器400的中心上方的距离d处创建图像,如线422所指示。然而,下移导致代替地在图像传感器400的中心上方的距离d

(其小于d)处创建图像,如线426所指示。
[0084]
如果用于计算光圈402与对象414之间的距离d的映射对应于高度h而不是高度h

,则该映射可能错误地确定对象414被定位在距离d

处,如图4d的底部部分所指示,而不是距离d处。具体而言,图4d的底部部分示出了向上移回的图像传感器400,使得线424与光轴404重合,并且线426从图像传感器400上的同一点延伸到地面上的距离d

,而不是距离d。距离d

比距离d长,导致距离估计是高估。通过使用对应于相机高度h

而不是h的映射,可以减少、最小化或避免该误差。
[0085]
在一些实施方式中,系统340可以被配置成提供用户接口,通过该用户接口可以指定包含图像传感器400的相机的高度。基于该高度的指定,可以从映射316至326中选择对应的映射,以在确定估计物理距离336中使用。因此,当图像传感器400被维持在指定高度处或附近时,图3的系统340可以生成物理距离的准确估计。然而,当图像传感器400偏离指定高度时,对物理距离的估计可能是错误的,并且误差的大小可能与指定高度与包含图像传感器400的相机的实际高度之间的差成比例。
[0086]
在其他实施方式中,相机可以配备有被配置成测量相机的高度并且因此测量图像传感器400的高度的设备。例如,相机可以包括光发射器和检测器,该光发射器和检测器被配置成允许基于由光发射器发射、从地面反射并由光检测器检测的光的飞行时间来测量高度。惯性测量单元(imu)可以用于通过在飞行时间测量时检测相机、光发射器和/或光检测器的取向来验证测量的距离实际上是高度。具体而言,飞行时间测量结果可以指示当光在平行于由imu检测到的重力向量的方向上发射时的高度。因此,可以基于高度的测量结果从映射316至326中选择对应的映射。当检测到相机的高度的变化时,可以选择更新后的映射以保持由映射呈现的高度与相机的实际高度一致,由此允许准确的距离测量。
[0087]
图4e的顶部部分示出了图像传感器400从零俯仰角向上倾斜到正俯仰角,导致光轴404向上俯仰,如线428所指示。光圈402的高度h(以及相机的有效高度)可能不会因向上
倾斜而改变。没有这种向上倾斜,最靠近图像传感器400的对象414的底部部分将在图像传感器400上在图像传感器400的中心上方的距离d处创建图像,如图4c和图4d所示。然而,向上倾斜导致在图像传感器400的中心上方的距离s

(其大于d)处创建图像,如线430所指示。
[0088]
如果俯仰角对图像传感器400上的对象414的底部的位置的影响没有被校正,则距离投影模型314可能错误地确定对象414被定位在距离s

处,如图4e的底部部分所指示,而不是在距离d处。具体而言,图4e的底部部分示出了图像传感器400向下倾斜回去,使得线428与光轴404重合,并且线430从图像传感器400上的同一点延伸到地面上的距离s

,而不是距离d。距离s

比距离d短,导致距离估计是低估。通过将估计偏移添加到针对对象414确定的对象底部比率,由此将对象底部比率移位到俯仰角为零时的情况,可以减少、最小化或避免该误差。
[0089]
此外,图4f的顶部部分示出了图像传感器400从零俯仰角向下倾斜到负俯仰角α,导致光轴404向下俯仰,如线432所指示。光圈402的高度h不会因向下倾斜而改变。没有这种向下倾斜,最靠近图像传感器400的对象414的底部部分将在图像传感器400上在图像传感器400的中心上方的距离d处创建图像,如图4c和图4d所示。然而,向下倾斜导致代替地在图像传感器400的中心上方的距离s

(其小于d)处创建图像,如线434所指示。
[0090]
如果俯仰角α对图像传感器400上的对象414的底部的位置的影响没有被校正,则距离投影模型314可能错误地确定对象414被定位在距离s

处,如图4f的底部部分所指示,而不是被定位在距离d处。具体而言,图4f的底部部分示出了向上倾斜回去的图像传感器400,使得线432与光轴404重合,并且线434从图像传感器400上的同一点延伸到地面上的距离s

,而不是距离d。距离s

比距离d长,导致距离估计是高估。通过将估计偏移添加到针对对象414确定的对象底部比率,由此将对象底部比率移位到俯仰角α为零时的情况,可以减少、最小化或避免该误差。
[0091]
vi.示例俯仰角补偿
[0092]
图5示出了用于补偿相机的非零俯仰角的示例方法。具体而言,图5示出了分别定位在定向500a和502a中的相机的图像传感器500和光圈502,俯仰角为零,使得光轴504a平行于环境中的地面延伸(例如,垂直于环境的重力向量延伸)。无限参考线520被示为投影穿过图像传感器500,以示出当图像传感器500从定向500a向下倾斜到定向500b和/或从定向500a向上倾斜到定向500c时,无限参考线520相对于图像传感器500的位置的明显变化。此外,在图5中,无限参考线520被示为与光轴504a重合并且因此当图像传感器500处于定向500a中时,对应于0.5的对象底部比率。然而,随着图像传感器500的高度随着图像传感器500保持在定向500a中而改变,无限参考线520可能偏离光轴504a,并且可能对应于不同的对象底部比率(例如,从0.0到1.0,取决于高度)。
[0093]
随着图像传感器500和光圈502分别从定向500a和502a向上倾斜到定向500c和502c,无限参考线520相对于图像传感器500向上移动。在该向上倾斜期间,光圈502在参考轨迹506内旋转,并且图像传感器500沿着半径等于相机的焦距f的焦点轨迹508移动。因此,向上倾斜表示俯仰角的正变化,同时保持相机相对于地面的高度h不变。正俯仰角可以被认为是仰角,而负俯仰角可以被认为是俯角。
[0094]
当图像传感器500处于定向500c中时,无限参考线520与图像传感器500的最高部分重合。因此,在定向500c中,无限参考线520在对应的图像数据512内按屏幕比例δl
max仰角
下移。在图像数据512内,无限参考线520下移,而不是上移,因为在图像传感器500上形成的图像是上下颠倒的(即,倒转的),因此图像传感器500的输出被倒转,以使得当显示图像数据时对象看起来是正面朝上的。当在图像传感器500处于定向500a中时无限参考线520与图像传感器500的中间重合时,δl
max仰角
可以等于0.5。然而,根据图像传感器500被放置在环境中的高度,δl
max仰角
可以采用其他值。
[0095]
类似地,当图像传感器500和光圈502分别从定向500a和502a向下倾斜到定向500b和502b时,无限参考线520相对于图像传感器500向下移动。在该向下倾斜期间,光圈502在参考轨迹506内旋转,并且图像传感器500沿着焦点轨迹508移动。因此,向下倾斜表示俯仰角的负变化,同时保持相机相对于地面的高度h不变。当图像传感器500处于定向500b中时,无限参考线520与图像传感器500的最底部部分重合。因此,在定向500b中,无限参考线520在对应的图像数据510内按屏幕比例δl
max俯角
上移。由于在图像传感器500上形成的图像的倒转,无限参考线520在图像数据510内上移,而不是下移。
[0096]
当在图像传感器500处于定向500a中时无限参考线520与图像传感器500的中间重合时,δl
max俯角
可以等于0.5。然而,取决于图像传感器500的高度,δl
max俯角
可以采用其他值。不管图像传感器500被放置的高度如何,δl
max仰角
与δl
max俯角
之和可以等于1.0。
[0097]
几何模型514示出了图像传感器500的定向500b和500c,并且可以用于确定数学关系,该数学关系可以用于补偿相机的俯仰角的变化。具体而言,几何模型514示出了定向500b对应于负俯仰角α
max俯角
、光轴504a相对于定向504b的旋转、以及由按δl
max俯角
的与无限参考线520相关联的对象底部比率的偏移。因此,tan(α
max俯角
)=δl
max俯角
/f并且f=δl
max俯角
/tan(α
max俯角
)。因此,对于相机(即,图像传感器500和光圈502)的α
max俯角
与之间的俯仰角θ的旋转,对象底部比率的偏移δb由δb=ftan(θ)或等效地由δb=(δl
max俯角
/tan(α
max
))tan(θ)建模。偏移计算器312可以使用或实现该等式以确定补偿与图像数据300相关联的相机俯仰306的估计偏移δb。由于估计偏移δb是根据对象底部比率(而不是例如像素数量)来计算的,所以估计偏移δb可以直接添加到由对象底部比率计算器310计算的对象底部比率。
[0098]
值得注意的是,对于对称的相机,α
max俯角
和可以具有相同的大小,但是可以指示相机俯仰的不同方向。因此,对应的数学关系可以基于而不是如上所述基于α
max俯角
来确定。具体而言,定向500c对应于正俯仰角光轴504a到定向504c的旋转以及按δl
max仰角
的与无限参考线520相关联的对象底部比率的偏移。因此,并且因此,对于图像传感器500的α
max俯角
与之间的俯仰角θ的旋转,对象底部比率的偏移δb由δb=ftan(θ)或等效地由建模。对于正俯仰角,估计偏移δb可以是正的(导致对象底部比率在与偏移求和时增大),对于负俯仰角,估计偏移δb可以是负的(导致对象底部比率在与偏移求和时减小)。
[0099]
α
max俯角
和的值可以通过相机的校准过程凭经验确定。在校准过程期间,相机可以向下或向上倾斜,直到无限参考线520分别移动到图像传感器500的底部或顶部,分别导致图像510或512中示出的偏移。也就是说,可以通过将图像传感器500和光圈502分别
放置在定向500b和502b中并且测量α
max俯角
和δl
max俯角
的值,或者将图像传感器500和光圈502分别放置在定向500c和502c中并且在这些定向中测量和δl
max仰角
的值来进行校准。α
max俯角
和的确定值对于具有相似或基本上相同的光学组件布置的相机可能是有效的,相似或基本上相同的光学组件布置包括相似或基本上相同的镜头、相似或基本上相同的传感器尺寸(即长度和宽度)、相似或基本上相同的焦距f、和/或相似或基本相同的生成的图像数据的纵横比。当这些相机参数中的一个或多个不同时,α
max俯角
和的值可以凭经验重新确定。
[0100]
vii.示例用例
[0101]
图6示出了本文公开的深度确定模型、系统、设备和技术的示例用例。具体而言,图6示出了用户600在大约胸部高度处穿戴计算设备602。计算设备602可以对应于计算系统100和/或计算设备200,并且可以包括相机和系统340的实施方式。计算设备602可以通过系索、绳索、带子或其他连接机构挂在用户600的脖子上。替代地,计算设备602可以在不同的位置处和/或通过不同的连接机构连接到用户600的身体。因此,当用户600在环境中行走时,计算设备602及其相机可以被定位在环境的地面上方的基本上固定的高度(其允许由用户600的移动引起的一些高度变化)处。因此,距离投影模型314可以从映射316至326中选择对应于该基本上固定的高度的映射,并且因此可以用于确定到在环境内检测到的对象的距离。
[0102]
具体而言,计算设备602上的相机可以捕捉表示如由视场604指示的包括对象606的环境的图像数据。基于可以对应于图像数据300的该图像数据,图3的系统340可以用于确定对象606与计算设备602、其相机、和/或用户600之间的估计物理距离336。基于估计物理距离336,计算设备602可以被配置成生成物理距离336的表示。该表示可以是视觉的、听觉的和/或触觉的以及其他可能性。因此,本文讨论的深度确定技术可以用于例如通过向视觉受损的个体通知到环境中的各种对象的距离来帮助这些用户穿越环境。
[0103]
例如,计算设备602可以在其显示器上显示与对象606的显示表示接近的估计物理距离336的指示,由此指示对象606与计算设备602水平分开估计物理距离336。在另一示例中,计算设备602可以通过一个或多个扬声器生成表示估计物理距离336的话语。在一些情况下,该话语也可以指示对象的分类(例如,人类、车辆、动物、静止对象等)和/或对象606相对于计算设备602的屏幕的垂直中心线的水平方向。因此,话语可以是例如“在2米处1点钟方向的盒子”,其中1点钟方向使用时钟位置来指示相对于垂直中心线30度的水平方向。在另一示例中,估计物理距离336的触觉表示可以通过计算设备602的振动来生成,其中振动的模式编码关于对象606相对于用户600的距离和定向的信息。
[0104]
此外,在一些实施方式中,计算设备602可以允许用户600将视场604的一部分(即,计算设备602的显示器的一部分)指定为有效,并将视场604的另一部分指定为无效。基于该指定,计算设备602可以被配置成生成至少部分地包含在视场604的有效部分内的对象的距离估计,并且省略生成至少部分地不在有效部分内的对象(即,完全在视场604的无效部分内的对象)的这种距离估计。例如,视觉受损的个体可能希望使用计算设备602来测量到沿着预期步行路径在用户前方发现的对象的距离,但是可能对到步行路径旁边发现的对象的距离不感兴趣。因此,这样的用户可以将计算设备602的显示器的具有等于显示器高度的高度和小于显示器宽度的宽度的矩形部分指定为有效,因此使得计算设备602忽略图像数据
中表示的在显示器的边缘附近的对象。
[0105]
另外,在一些实施方式中,计算设备602可以允许用户600指定要为其测量距离的对象的类别或类型。基于该指定,计算设备602可以被配置成生成被分类到指定类别或类型之一的对象的距离估计,并且省略生成不在指定类别或类型内的对象的这种距离估计。例如,视觉受损的个体可能希望使用计算设备602来测量到诸如其他人类、车辆和动物的移动对象的距离,但是可能对到诸如长凳、灯柱和/或邮箱的非移动对象的距离不感兴趣。
[0106]
viii.附加示例操作
[0107]
图7示出了与确定对象与相机之间的距离的估计相关的操作的流程图。这些操作可以由计算系统100、计算设备200、系统340和/或计算设备602、和/或各种其他类型的设备或设备子系统中的一个或多个来执行。图7的实施例可以通过去除其中示出的任何一个或多个特征来简化。此外,这些实施例可以与任何先前附图的或以其他方式在本文描述的特征、方面和/或实施方式相结合。
[0108]
框700可以涉及从相机接收表示环境中的对象的图像数据。
[0109]
框702可以涉及基于图像数据来确定对象的底部在图像数据内的垂直位置。
[0110]
框704可以涉及确定垂直位置与图像数据的高度之间的对象底部比率。
[0111]
框706可以涉及通过距离投影模型并且基于对象底部比率来确定相机与对象之间的物理距离的估计。距离投影模型可以为多个候选对象底部比率中的每个相应候选对象底部比率定义(i)相应候选对象底部比率与(ii)环境中的对应物理距离之间的映射。
[0112]
框708可以涉及生成相机与对象之间的物理距离的估计的指示。
[0113]
在一些实施例中,映射可以是基于相机被设置在环境内的预定高度处的假设。
[0114]
在一些实施例中,当在捕捉图像数据时相机的物理高度高于预定高度时,相机与对象之间的物理距离的估计可以是低估。当在捕捉图像数据时相机的物理高度低于预定高度时,相机与对象之间的物理距离的估计可以是高估。
[0115]
在一些实施例中,可以通过与相机相关联的用户接口来接收预定高度的指定。基于预定高度的指定,可以通过修改映射以假设相机根据预定高度的指定来定位而配置距离投影模型。
[0116]
在一些实施例中,配置距离投影模型可以包括基于预定高度的指定来从多个候选映射中选择映射。多个候选映射中的每个相应映射可以与预定高度的对应指定相关联。
[0117]
在一些实施例中,距离投影模型可以包括机器学习模型。配置距离投影模型可以包括基于预定高度的指定来调整机器学习模型的至少一个输入参数。
[0118]
在一些实施例中,映射可以是基于相机的几何模型。几何模型可以包括:(i)相机具有焦距并且被设置在环境内的预定高度处,(ii)相机的光轴基本上平行于环境的地面定向,以及(iii)多条线中的每条相应线从相机的图像传感器上的相应点投影到环境的地面上的对应点的。每个相应候选对象底部比率可以基于几何模型与环境中的对应物理距离相关联。
[0119]
在一些实施例中,映射可以包括(i)对应于相机的纵向定向的第一映射和(ii)对应于相机的横向定向的第二映射。与第一映射相关联的每个相应候选对象底部比率可以是在纵向图像数据内的对应垂直位置与纵向图像数据的高度之间的。与第二映射相关联的每个相应候选对象底部比率可以是在横向图像数据内的对应垂直位置与横向图像数据的高
度之间的。可以基于在捕捉图像数据时相机的定向来确定图像数据的高度。基于在捕捉图像数据时相机的定向,可以选择第一映射或第二映射以在确定相机与对象之间的物理距离的估计中使用。
[0120]
在一些实施例中,可以从与相机相关联的一个或多个传感器获得指示相机的俯仰角的传感器数据。可以基于指示相机的俯仰角的传感器数据来确定对象底部比率的估计偏移。对象底部比率的估计偏移可以考虑由相机的俯仰角相对于零俯仰角引起的垂直位置的变化。可以确定对象底部比率与估计偏移之和。距离投影模型可以被配置成基于该和来确定相机与对象之间的物理距离的估计。
[0121]
在一些实施例中,确定对象底部比率的估计偏移可以包括确定相机的估计焦距与相机的俯仰角的正切的乘积。与相机的向上倾斜相关联的正俯仰角可以导致具有正值的估计偏移,使得和高于对象底部比率。与相机的向下倾斜相关联的负俯仰角可以导致具有负值的估计偏移,使得和低于对象底部比率。
[0122]
在一些实施例中,估计焦距可以是基于以下各项中的至少一项:(i)将无限参考线从相机的图像传感器上的初始位置按第一屏幕比率偏移到图像传感器的顶部的最大俯仰角的确定,或者(ii)将无限参考线从图像传感器上的初始位置按第二屏幕比率偏移到图像传感器的底部的最小俯仰角的确定,其中,第一屏幕比率与第二屏幕比率之和等于一。
[0123]
在一些实施例中,多个候选对象底部比率的范围可以从(i)零且对应于最小可测量物理距离的第一候选对象底部比率到(ii)对应于最大可测量物理距离的第二候选对象底部比率。
[0124]
在一些实施例中,确定对象的底部在图像数据内的垂直位置可以包括通过一种或多种对象检测算法来确定图像数据内对应于对象在图像数据内的位置的感兴趣区域。可以通过一种或多种对象底部检测算法并且基于感兴趣区域来识别对象的底部。基于识别对象的底部,可以确定对象的底部与环境的地面接触。基于确定对象的底部与地面接触,可以确定对象的底部在图像数据内的垂直位置。
[0125]
在一些实施例中,可以从相机接收表示环境中的附加对象的附加图像数据。可以基于附加图像数据来确定附加对象的底部在图像数据内不可见。可以基于确定附加对象的底部在图像数据内不可见来确定相机与附加对象之间的物理距离的附加估计是低于最小可测量物理距离的预定值。可以生成相机与附加对象之间的物理距离的附加估计的附加指示。
[0126]
在一些实施例中,生成相机与对象之间的物理距离的估计的指示可以包括以下各项中的一项或多项:(i)在显示器上显示物理距离的估计的视觉表示,(ii)生成表示物理距离的估计的听觉话语,或者(iii)生成物理距离的估计的触觉表示。
[0127]
在一些实施例中,可以接收相机的视场的有效部分的指派。可以确定对象的至少一部分包含在相机的视场的有效部分内。可以基于确定对象的至少该部分包含在相机的视场的有效部分内来生成相机与对象之间的物理距离的估计的指示。对于在相机的视场的有效部分之外的对象,可以省略生成相机与对应对象之间的物理距离的相应估计的指示。
[0128]
在一些实施例中,可以接收从多个对象类别中对一个或多个对象类别的选择。可以确定该对象属于一个或多个对象类别中的第一对象类别。可以基于确定对象属于第一对象类别来生成相机与对象之间的物理距离的估计的指示。对于不属于第一对象类别的对
象,可以省略生成相机与对应对象之间的物理距离的相应估计的指示。
[0129]
ix.结论
[0130]
本公开不限于本技术中描述的特定实施例,这些实施例旨在为各个方面的说明。如对本领域技术人员将显而易见的,在不脱离其范围的情况下,能够进行许多修改和变化。除了本文描述的方法和装置之外,在本公开的范围内的功能等效的方法和装置根据前面的描述对本领域技术人员将是显而易见的。这种修改和变化旨在落入所附权利要求的范围内。
[0131]
以上详细描述参考附图描述了所公开的系统、设备和方法的各种特征和操作。在附图中,相似的符号通常标识相似的组件,除非上下文另有指示。本文和附图中描述的示例实施例并不意味着是限制性的。在不脱离本文呈现的主题的范围的情况下,能够利用其他实施例,并且能够进行其他改变。将容易理解的是,如本文一般描述的和在附图中示出的,本公开的各方面能够以多种不同的配置来布置、替换、组合、分离和设计。
[0132]
关于附图中的并且如本文所讨论的任何或所有消息流程图、场景和流程图,每个步骤、框和/或通信能够表示根据示例实施例的信息的处理和/或信息的传输。替代实施例被包括在这些示例实施例的范围内。在这些替代实施例中,例如,被描述为步骤、框、传输、通信、请求、响应和/或消息的操作能够不按照所示或所讨论的次序来执行,包括基本上同时或以相反的顺序,这取决于所涉及的功能。此外,更多或更少的框和/或操作可以与本文讨论的任何消息流程图、场景和流程图一起使用,并且这些消息流程图、场景和流程图能够部分地或整体地彼此组合。
[0133]
表示信息的处理的步骤或框可以对应于能够被配置成执行本文描述的方法或技术的特定逻辑功能的电路。替代地或附加地,表示信息的处理的框可以对应于程序代码的模块、片段或一部分(包括相关数据)。程序代码可以包括可由处理器执行以实现方法或技术中的特定逻辑操作或动作的一个或多个指令。程序代码和/或相关数据可以被存储在任何类型的计算机可读介质上,计算机可读介质诸如为包括随机存取存储器(ram)的存储设备、磁盘驱动器、固态驱动器或其他存储介质。
[0134]
计算机可读介质还可以包括非暂时性计算机可读介质,诸如在短时间段内存储数据的计算机可读介质,如寄存器存储器、处理器高速缓存和ram。计算机可读介质还可以包括在更长时间段内存储程序代码和/或数据的非暂时性计算机可读介质。因此,计算机可读介质可以包括二级或永久长期存储装置,例如只读存储器(rom)、光盘或磁盘、固态驱动器、光盘只读存储器(cd-rom)。计算机可读介质也可以是任何其他易失性或非易失性存储系统。例如,计算机可读介质可以被认为是计算机可读存储介质,或者有形存储设备。
[0135]
此外,表示一个或多个信息传输的步骤或框可以对应于同一物理设备中的软件和/或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理设备中的软件模块和/或硬件模块之间进行。
[0136]
附图中所示的特定布置不应被视为限制性的。应当理解,其他实施例能够包括给定附图中所示的更多或更少的每个元件。此外,一些示出的元件能够被组合或省略。此外,示例实施例能够包括图中未示出的元件。
[0137]
虽然本文已经公开了各种方面和实施例,但是其他方面和实施例对本领域技术人员将是显而易见的。本文公开的各种方面和实施例是出于说明的目的,而不旨在为限制性
的,其真正范围由所附权利要求指示。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献