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

利用弱对准的异构相机的立体视觉的制作方法

2021-11-15 19:07:00 来源:中国专利 TAG:


1.本公开涉及利用弱对准的异构(heterogeneous)相机的立体系统和立体视觉。


背景技术:

2.立体视图可用于使用从不同视角拍摄的两个图像恢复场景的深度信息。深度信息可以被计算机视觉应用(包括自动驾驶中的深度感知)利用。立体视觉允许基于对极几何的三角测量来确定物体的距离,其中,该距离由左右经修正图像对中的水平像素移位(也称为视差图)表示。


技术实现要素:

3.利用两个异构相机的深度估计的第一示例,该方法包括以下至少之一:分别基于第一相机校准数据集和第二相机校准数据集来均质化第一相机图像和第二相机图像,其中所述第一相机图像和第二相机图像被失真校正并被变焦补偿;确定经均质化的第一相机图像和经均质化的第二相机图像的初始图像对修正变换矩阵;基于所述初始图像对修正变换矩阵,确定δ(delta)图像对修正变换矩阵;基于所述初始图像对修正变换矩阵和所述δ图像对修正变换矩阵,确定最终图像对修正变换矩阵,从而得到最终经修正图像对;以及,基于深度网络回归,对所述最终经修正图像对进行视差映射。
4.利用两个异构相机的深度估计的第二示例,该方法包括以下至少之一:校准具有第一相机校准数据集的第一相机;校准具有第二相机校准数据集的第二相机,所述第二相机具有与所述第一相机不同的焦距、不同的视场和不同的像素数中的至少一者;基于所述第一相机校准数据集和所述第二相机校准数据集,在第一相机图像和第二相机图像之间进行失真校正;基于所述第一相机校准数据集和所述第二相机校准数据集,在所述第一相机图像和所述第二相机图像之间进行焦距补偿;基于变换矩阵回归,在经失真校正和焦距补偿的第一相机图像和所述第二相机图像之间修正图像对;以及,基于深度网络回归,对经修正的图像对进行视差映射。
5.利用两个异构相机的深度估计的第三示例,该方法包括以下至少之一:校准具有第一相机校准数据集的第一相机;校准具有第二相机校准数据集的第二相机,所述第二相机具有与所述第一相机不同的焦距、不同的视场和不同的像素数中的至少一者;基于所述第一相机校准数据集和所述第二相机校准数据集,在第一相机图像和第二相机图像之间进行失真校正;基于所述第一相机校准数据集和所述第二相机校准数据集,在所述第一相机图像和所述第二相机图像之间进行焦距补偿;基于深度网络回归,对经失真校正和焦距补偿的第一相机图像进行视差映射;基于所述第一相机校准数据集和所述第二相机校准数据集,确定初始姿态;使用姿态网络,对所述第一相机图像和所述第二相机图像以及所述初始姿态进行姿态映射,并输出δ姿态;使所述δ姿态、所述视差映射和所述第一相机图像扭曲(warp);以及,重构该扭曲以及经失真校正和焦距补偿的第二相机图像,以使重构误差最小化。
附图说明
6.在附图中:
7.图1是根据本公开的一个实施例的第一示例系统图;
8.图2是根据本公开的一个实施例的第二示例系统图;
9.图3是根据本公开的一个实施例的来自双异构相机的深度估计的示例逻辑流程;
10.图4是根据本公开的一个实施例的用于单目深度估计的深度监控的示例逻辑流程;
11.图5是根据本公开的一个实施例的深度估计的第一示例方法;
12.图6是根据本公开的一个实施例的深度估计的第二示例方法;并且
13.图7是根据本公开的一个实施例的深度估计的第三示例方法。
具体实施方式
14.下面列出的实施例仅是为了说明这种装置和方法的应用而写的,而不是为了限制范围。对这种装置和方法的等同修改形式应被归为落在权利要求的范围内。
15.贯穿以下描述和权利要求书,使用某些术语来指代特定的系统组件。如本领域的技术人员将领会的,不同的公司可能用不同的名称来指代某一组件和/或方法。本文献并无意在名称不同但功能相同的组件和/或方法之间进行区分。
16.在以下讨论和权利要求书中,术语“包括”和“包含”以开放式方式使用,因此可解释为意指“包括但不限于
……”
。同样,术语“耦接”或“耦合”旨在意指间接连接或直接连接。因此,如果第一设备耦接到第二设备,则该连接可以是通过直接连接,或者通过经由其他设备和连接的间接连接。
17.利用立体相机的一个当前问题是相机未对准或相机失配,这可能显著地影响3d深度估计。立体相机可受到各种环境因素的影响,诸如温度变化、机械应力和振动等。除其它因素外,这些因素可能引起滚转角、俯仰角和偏航角方面的基线移位。当前,为了应对这些因素,可将立体相机固定在立体专用装备中,这可能会增加部署成本并限制其实际使用。
18.在现代的基于视觉的系统中,通常利用一个以上的相机来实现不同的功能。在一个示例中,在自动驾驶系统中,可存在具有不同视场(field of view,fov)的两个或三个前置相机,以便观察不同距离处的物体。在本技术中,将异构相机应用于立体视觉。与典型的立体相机系统相比,这些异构相机可具有不同的失真或焦距。另外,相机之间的对准可能不会像在典型的立体相机系统中那样被机械地强制执行,并且可能会随时间漂移。为了解决将异构相机用于立体系统所涉及的问题,提出了一种在图像修正之前,基于相机校准(calibration)结果来执行图像失真校正和变焦补偿的解决方案。另外,相机之间的相对姿态被近似为大体上精确,且随着时间具有轻微的漂移,其中该漂移趋于在短时间间隔内保持一致。提出的解决方案部分利用在线姿态修正来跟踪和补偿姿态移位。
19.传统的立体视觉系统由同质(homogeneous)的两个相机组成,并且深度表示为这两个相机的经修正图像之间的视差图。
20.此外,将提出一种用于单目深度估计的解决方案,在该解决方案中,仅使用单个相机。由于难以获得地面真实深度,因此通常利用间接信息(诸如,相邻视频帧之间的三角测量)来训练单目深度。在该方法中,估计帧之间的姿态变化,这比回归稳定定位的相机的姿
态漂移更具挑战性。因此,本技术提出了一种供弱对准的异构相机在训练单目深度估计器时提供深度监控信息的解决方案。
21.图1描绘了示例自动泊车辅助系统100,其可用于实现与过程700和800的一个或多个部分或步骤的操作相关联的深度神经网络。在该示例中,与混合系统相关联的处理器包括现场可编程门阵列(fpga)122、图形处理器单元(gpu)120和中央处理单元(cpu)118。
22.处理单元118、120和122具有提供深度神经网络的能力。cpu是可以执行许多不同的功能的通用处理器,其通用性导致执行多个不同任务的能力,但是,它对多个数据流的处理受限,并且其与神经网络有关的功能也非常受限。gpu是图形处理器,其具有许多小型处理核,这些小型处理核能够按顺序处理并行的任务。fpga是现场可编程设备,其具有被重新配置并以硬接线方式执行可编程到cpu或gpu中的任何功能的能力。由于fpga的编程采用电路形式,因此其速度比cpu快许多倍,并且显著地比gpu快。
23.该系统还可包含其他类型的处理器,诸如包括片上cpu与gpu元件的加速处理单元(apu)以及专用于执行高速数字数据处理的数字信号处理器(dsp)。专用集成电路(asic)也可以执行fpga的硬连线功能;然而,设计和生产asic的前置时间大约为一年的多个季度,而不是对fpga进行编程时可获得的快速周转实现。
24.图形处理器单元120、中央处理单元118和现场可编程门阵列122彼此连接,并连接至存储器接口控制器112。fpga通过可编程逻辑电路到存储器的互连130连接至存储器接口。该附加装置由于fpga以非常大的带宽工作的事实并且为了最小化用于执行存储器任务的从fpga所利用的电子电路而被使用。另外,存储器和接口控制器112还连接到持久存储器盘110、系统存储器114和只读存储器(rom)116。
25.图2的系统可被利用来编程和训练fpga。gpu能以非结构化数据很好地运作,并且可被用来进行训练,一旦已训练了数据,就可找到确定性推理模型,并且cpu可使用由gpu确定的模型数据对fpga编程。
26.存储器接口和控制器连接到中央互连124,另外,该中央互连还连接到gpu 120、cpu 118和fpga122。另外,中央互连124还连接到输入和输出接口128与网络接口126,该输入和输出接口128连接到第一相机132、第二相机134。
27.图2描绘了第二示例混合计算系统200,其可用于实现与流程500的一个或多个部分或步骤的操作相关联的神经网络。在该示例中,与该系统相关联的处理器包括现场可编程门阵列(fpga)210和中央处理单元(cpu)220。
28.fpga电连接到fpga控制器212,fpga控制器212与直接存储器访问(dma)218对接。dma连接到输入缓冲器214和输出缓冲器216,这些缓冲器耦接到fpga,以分别将数据缓冲到fpga中或从fpga中缓冲出。dma 218具有两个先入先出(fifo)缓冲器,一个先入先出缓冲器用于主机cpu而另一个先入先出缓冲器用于fpga,dma允许将数据写入适当的缓冲器,以及从适当的缓冲器读取数据。
29.在dma的cpu侧设有主开关228,该主开关228使数据和命令梭动(shuttle)到dma。dma还连接到同步动态随机存取存储器(sdram)控制器224,这允许数据被梭动到fpga以及在fpga到cpu 220之间往返梭动,sdram控制器还连接到外部sdram 226和cpu 220。主开关228连接到外围设备接口230,外围设备接口230连接到第一相机232和第二相机234。闪存控制器222控制持久存储器,并连接到cpu 220。
30.双异构相机的深度估计
31.图3描绘了来自具有第一相机校准数据集的第一相机的第一图像310以及来自具有第二相机校准数据集的第二相机的第二图像312,第二相机具有与第一相机不同的焦距、不同的视场和不同的像素数中的至少一者。第一图像310经历失真校正314,并且第二图像312经历失真校正316。经失真校正的第一图像经历变焦补偿318,并且经失真校正的第二图像经历变焦补偿320。失真校正和变焦补偿过程使得第一图像和第二个图像变为同质。经失真校正和变焦补偿的第一图像经历初始第一图像修正322,其利用了变换矩阵h1,从而产生经初始修正的第一图像326。经失真校正和变焦补偿的第二图像经历初始第二图像修正324,其利用了变换矩阵h2,从而产生经初始修正的第二图像328。经初始修正的第一图像和经初始修正的第二图像经历变换矩阵回归330从而产生移位,即移位δh1和移位δh2,该移位导致最终的第一图像修正332和最终的第二图像修正334。将最终的第一图像修正332和最终的第二图像修正334发送到深度网络336,从而产生视差图338,深度信息可以从该视差图338获得。
32.为了处理来自异构相机的图像,利用预处理来均质化经修正的图像。预处理由以下两个步骤组成:失真校正314、316和变焦补偿318、320。利用神经网络h来回归修正变换矩阵的漂移。
33.该方法可以包括:
34.1)校准第一相机和第二相机;
35.2)基于在步骤1)获得的固有参数进行图像失真校正;
36.3)变焦补偿用于补偿第一相机和第二相机之间的任何焦距差。例如,基于透视几何,可以用和将视图2312中的图像投影到视图1 310。
37.4)可以利用若干种方法来修正图像。例如,其可以通过相机校准或通过用基本矩阵求解方程连同其它方法来完成。
38.5)修正网络330回归变换矩阵h的微小移位。到修正网络的输入是经修正的图像对326、328,而输出是移位δh1和移位δh2。可以端到端地训练或独立地训练修正网络。来自经修正的图像的视差图338可以通过深度网336获得。
39.用于单目深度估计的深度监控
40.图4描绘了来自具有第一相机校准数据集的第一相机的第一图像410以及来自具有第二相机校准数据集的第二相机的第二图像412,第二相机具有与第一相机不同的焦距、不同的视场和不同的像素数中的至少一者。第一相机校准数据集和第二相机校准数据集通过初始校准420确定。深度网络414被用于经失真校正和焦距补偿的第一相机图像的视差映射416回归。初始姿态422基于初始校准420。姿态网络418接收第一图像410、第二图像412和初始姿态以确定δ姿态。初始姿态422和δ姿态被求和。然后,系统使初始图像、视差映射416以及经求和的初始姿态和δ姿态扭曲426。扭曲426以及第二图像被回归以使重建误差428最小化。
41.如图4所示,训练单目深度估计器的总体逻辑与基于视频的逻辑相似。关键差别在于姿态估计。在基于视频进行训练的同时,在相邻帧之间回归相机姿态变化p,并确定对小的增量变化δp的估计,这个的挑战性要小得多,并且得到的估计是稳定而准确的。姿态网
络取图像对和初始姿态p作为输入,并输出姿态漂移δp。最终的相对姿态是初始姿态p和δp的重叠。
42.利用深度图z和经回归的姿态p δp={r,t},根据视图1来重构视图2可通过以下来扭曲:
[0043][0044]
其中,k是相机固有矩阵,并且p是其同质形式的像素坐标。
[0045]
训练目标函数用于使重构误差最小化
[0046]
l=∑
p
|i1(p)

i2(p)| α|δp|,
[0047]
其中,δp的大小是受约束的,并且其被期望具有非常受限的值。在此示例中,深度网络和姿态网路参数是最优的。
[0048]
示例
[0049]
图5描绘了利用两个异构相机的深度估计的第一示例,包括分别基于第一相机校准数据集和第二相机校准数据集来均质化(510)第一相机图像和第二相机图像,其中第一相机图像和第二相机图像被失真校正并被变焦补偿。该方法包括:确定(512)经均质化的第一相机图像和经均质化的第二相机图像的初始图像对修正变换矩阵,并基于该初始图像对修正变换矩阵,确定(514)δ图像对修正变换矩阵。该方法还包括基于初始图像对修正变换矩阵和δ图像对修正变换矩阵,确定(516)最终图像对修正变换矩阵,从而得到最终经修正图像对,并基于深度网络回归,对最终经修正图像对进行视差映射(518)。
[0050]
第一相机和第二相机可弱对准,并且失真校正和/或焦距补偿可以在图像对修正之前执行。可以使用神经网络来回归图像对修正的修正变换矩阵的漂移和/或映射经修正的图像对的视差。
[0051]
图6描绘了利用两个异构相机的深度估计的第二示例,包括校准(610)具有第一相机校准数据集的第一相机,并校准(612)具有第二相机校准数据集的第二相机,第二相机具有与第一相机不同的焦距、不同的视场和不同的像素数中的至少一者。该方法包括基于第一相机校准数据集和第二相机校准数据集,在第一相机图像和第二相机图像之间进行失真校正(614),并基于第一相机校准数据集和第二相机校准数据集,在第一相机图像和第二相机图像之间进行焦距补偿(616)。该方法还包括基于变换矩阵回归,在经失真校正和焦距补偿的第一相机图像和第二相机图像之间修正(618)图像对,并基于深度网络回归,对经修正的图像对进行视差映射(620)。
[0052]
第一相机和第二相机可弱对准,并且失真校正和/或焦距补偿可以在图像对修正之前执行。可以使用神经网络来回归图像对修正的修正变换矩阵的漂移和/或映射经修正的图像对的视差。
[0053]
图7描绘了利用两个异构相机的深度估计的第三示例,包括校准(710)具有第一相机校准数据集的第一相机,并校准(712)具有第二相机校准数据集的第二相机,第二相机具有与第一相机不同的焦距、不同的视场和不同的像素数中的至少一者。该方法包括基于第一相机校准数据集和第二相机校准数据集,在第一相机图像和第二相机图像之间进行失真校正(714),并基于第一相机校准数据集和第二相机校准数据集,在第一相机图像和第二相机图像之间进行焦距补偿(716)。该方法还包括基于深度网络回归,对经失真校正和焦距补偿的第一相机图像进行视差映射(718),并基于第一相机校准数据集和第二相机校准数据
集,确定(720)初始姿态。该方法进一步包括使用姿态网络,对第一相机图像和第二相机图像以及初始姿态进行姿态映射(722),并输出δ姿态。该方法还包括使δ姿态、视差映射和第一相机图像扭曲(724),并重构(726)该扭曲以及经失真校正和焦距补偿的第二相机图像,以使重构误差最小化。
[0054]
姿态映射可以在线执行,并且被跟踪。第一相机和第二相机可弱对准,并且失真校正和/或焦距补偿可以在图像对修正之前执行。可以使用神经网络来回归姿态图变换矩阵的漂移和/或映射第一相机图像的视差。
[0055]
本领域技术人员将理解,本文描述的各个说明性框、模块、元件、组件、方法和算法可以实现为电子硬件、计算机软件或其组合。为了说明硬件和软件的这种可互换性,已在上文大体上根据各个说明性框、模块、元件、组件、方法和算法的功能对其进行了描述。将这样的功能实现为硬件还是软件取决于特定的应用和整个系统上施加的设计约束。技术人员可以用不同的方式为每一特定应用实现所描述的功能。在不背离本主题技术的范围的情况下,各个组件和框可完全不同地布置(例如,以不同的顺序布置,或者以不同的方式划分)。
[0056]
应理解,所公开的过程中的步骤的特定顺序或分层结构是对示例方法的示意性说明。应理解,可以基于设计偏好,重新布置这些过程中的步骤的特定顺序或分层结构。一些步骤可以同时执行。随附的方法权利要求以样本顺序呈现了各个步骤的元素,而不意味着限于所呈现的特定顺序或分层结构。
[0057]
提供前面的描述以使得本领域的技术人员能够实践本文描述的各个方面。前面的描述提供了本主题技术的各种示例,并且本主题技术不限于这些示例。对这些方面的各种修改对于本领域技术人员而言将是显而易见的,并且本文所定义的一般原理可以应用于其它方面。因此,并非意在将权利要求限制于本文所示的方面,而是要被赋予与语言权利要求一致的全部范围,其中,除非特别声明,否则以单数形式对元件的引用并非意在指明“一个且仅一个”,而是意在“一个或多个”。除非另有具体说明,否则术语“一些”指代一个或多个。男性代词(例如,他的)包括女性和中性(例如,她的和它的),反之亦然。标题和副标题(如果有的话)仅仅是为了方便而使用,并不限制本发明。谓词单词“被配置为”、“可操作为”和“被编程为”不暗示对主题的任何特定的有形或无形修改,而是旨在可互换地使用。例如,处理器被配置为监测和控制操作或部件也可以意味着处理器被编程为监测和控制操作,或者处理器可操作为监测和控制操作。同样地,处理器被配置为执行代码可被解释为处理器被编程为执行代码或可操作为执行代码。
[0058]
例如“方面”的短语不暗示这样的方面对于主题技术是必要的,或者这样的方面适用于主题技术的所有配置。与一个方面有关的公开内容可以应用于所有配置、或者一个或多个配置。一个方面可以提供一个或多个示例。例如方面的短语可以指代一个或多个方面,反之亦然。例如“实施例”的短语不暗示这样的实施例对于主题技术是必要的,或者这样的实施例适用于主题技术的所有配置。与一个实施例有关的公开内容可以应用于所有实施例、或者一个或多个实施例。实施例可以提供一个或多个示例。例如“实施例”的短语可以指代一个或多个实施例,反之亦然。例如“配置”的短语不暗示这样的配置对于主题技术是必要的,或者这样的配置适用于主题技术的所有配置。与一个配置有关的公开内容可以应用于所有配置、或者一个或多个配置。配置可以提供一个或多个示例。例如“配置”的短语可以指代一个或多个配置,反之亦然。
[0059]
词语“示例”在本文中用于意指“用作示例或例示”。在本文中描述为“示例”的任何方面或设计不必被解释为比其他方面或设计优选或有利。
[0060]
本领域普通技术人员已知或以后将知道的贯穿本公开内容描述的各个方面的元素的所有结构和功能等同物以引证的方式明确并入本文,并且旨在被权利要求所涵盖。而且,本文所公开的内容都不旨在奉献给公众,无论这种公开是否在权利要求中明确地陈述。此外,就说明书或权利要求书中使用的术语“包括”、“具有”等而言,这种术语旨在以与术语“包括”类似的方式为包括性的,如同“包括”在权利要求书中用作过渡词时所解释的那样。
[0061]
对“一个实施例”、“实施例”、“一些实施例”、“各种实施例”等的引用指示特定元素或特性被包括在本发明的至少一个实施例中。尽管这些短语可以出现在各个地方,但是这些短语不一定指代同一实施例。结合本公开,本领域技术人员将能够设计和结合适于实现上述功能的各种机制中的任何一种。
[0062]
应当理解,本公开仅示教了例示性实施例的一个示例,并且本领域技术人员在阅读本公开之后可以容易地设计出本发明的许多变型,并且本发明的范围由所附权利要求确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献