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

图像处理的方法、设备和计算机可读存储介质与流程

2022-06-25 05:08:57 来源:中国专利 TAG:


1.本公开的实施例涉及图像处理领域,并且更具体地,涉及用于图像处理的方法、设备和计算机可读存储介质。


背景技术:

2.在许多场景中,通常使用不具有深度的单个相机对感兴趣对象成像。例如,在医疗领域中,使用单目内窥镜对患者的内脏器官(诸如,胃)成像,以确定病灶或实施手术。又如,在游戏休闲领域中,使用终端设备的相机对用户成像,以跟踪用户肢体。
3.以这种方式获取的图像不具有深度信息。因此,已经提出了各种方法来从多个图像获得感兴趣对象的深度信息或重建感兴趣对象的三维(3d)图像。然而,所获得的深度信息或所重建的3d图像的准确性还有待提高。


技术实现要素:

4.本公开的实施例提供了用于图像处理的方法、设备和计算机可读存储介质。
5.在本公开的第一方面,提供一种图像处理的方法。该方法包括:获取参考对象的第一参考图像和第二参考图像,第一参考图像和第二参考图像由参考相机在相对于参考对象的不同位置捕获;基于第一参考图像和第二参考图像,确定第一损失和第二损失,第一损失与相同参考图像的不同深度图之间的差异有关,并且第二损失与不同参考图像的深度一致性有关;以及至少基于第一损失和第二损失,训练深度估计模型,以获得经训练的深度估计模型。
6.在本公开的第二方面,提供一种图像处理的方法。该方法包括:获取目标对象的序列目标图像,序列目标图像由目标相机在相对于目标对象的不同位置捕获;以及利用根据第一方面的方法训练的深度估计模型,生成与序列目标图像中的至少一个目标图像相对应的深度图。
7.在本公开的第三方面,提供一种电子设备。该电子设备包括至少一个处理电路。至少一个处理电路被配置为:获取参考对象的第一参考图像和第二参考图像,第一参考图像和第二参考图像由参考相机在相对于参考对象的不同位置捕获;基于第一参考图像和第二参考图像,确定第一损失和第二损失,第一损失与相同参考图像的不同深度图之间的差异有关,并且第二损失与不同参考图像的深度一致性有关;以及至少基于第一损失和第二损失,训练深度估计模型,以获得经训练的深度估计模型。
8.在本公开的第四方面,提供一种电子设备。该电子设备包括至少一个处理电路。至少一个处理电路被配置为:获取目标对象的序列目标图像,序列目标图像由目标相机在相对于目标对象的不同位置捕获;以及利用根据第一方面的方法训练的深度估计模型,生成与序列目标图像中的至少一个目标图像相对应的深度图。
9.本公开的第五方面,提供一种计算机可读存储介质。该计算机可读存储介质具有在其上存储的机器可执行指令,该机器可执行指令在由设备执行时使该设备执行根据本公
开的第一方面所描述的方法。
10.本公开的第六方面,提供一种计算机可读存储介质。该计算机可读存储介质具有在其上存储的机器可执行指令,该机器可执行指令在由设备执行时使该设备执行根据本公开的第二方面所描述的方法。
11.提供发明内容部分是为了以简化的形式来介绍一系列概念,它们在下文的具体实施方式中将被进一步描述。发明内容部分不旨在标识本公开的关键特征或必要特征,也不旨在限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
12.从下文的公开内容和权利要求中,本发明的目的、优点和其他特征将变得更加明显。这里仅出于示例的目的,参考附图来给出优选实施例的非限制性描述,在附图中:
13.图1a示出了根据本公开的实施例的图像处理系统的示意性框图;
14.图1b示出了根据本公开的一些实施例的图像处理设备的示意性框图;
15.图2示出了根据本公开的一些实施例的图像间的特征匹配的示意图;
16.图3示出了根据本公开的一些实施例的图像间的特征匹配的示意图;
17.图4a示出了根据本公开的一些实施例的训练深度估计模型的示意图;
18.图4b示出了根据本公开的另一些实施例的训练深度估计模型的示意图;
19.图5示出了根据本公开的实施例的用于图像处理的示例方法的流程图;
20.图6示出了根据本公开的实施例的用于图像处理的示例方法的流程图;以及
21.图7示出了可以用来实施本公开的实施例的示例计算设备的示意性框图。
22.在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
23.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
24.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
25.在本文中所使用的术语“电路”可以指硬件电路和/或硬件电路和软件的组合。例如,电路可以是模拟和/或数字硬件电路与软件/固件的组合。作为另一示例,电路可以是具有软件的硬件处理器的任何部分,硬件处理器包括(多个)数字信号处理器、软件和(多个)存储器,其一起工作以使装置能够工作以执行各种功能。在又一示例中,电路可以是硬件电路和/或处理器,例如微处理器或微处理器的一部分,其需要用于操作的软件/固件,但是当不需要用于操作时软件可以不存在。如本文所使用的,术语“电路”也涵盖仅硬件电路或处理器或者硬件电路或处理器的一部分及其(或它们)随附软件和/或固件的实现。
26.在本公开的实施例中,术语“模型”能够处理输入并且提供相应输出。以神经网络
模型为例,其通常包括输入层、输出层以及在输入层与输出层之间的一个或多个隐藏层。在深度学习应用中使用的模型(也称为“深度学习模型”)通常包括许多隐藏层,从而延长网络的深度。神经网络模型的各个层按顺序相连以使得前一层的输出被用作后一层的输入,其中输入层接收神经网络模型的输入,而输出层的输出作为神经网络模型的最终输出。神经网络模型的每个层包括一个或多个节点(也称为处理节点或神经元),每个节点处理来自上一层的输入。在本文中,术语“神经网络”、“模型”、“网络”和“神经网络模型”可互换使用。
27.在本公开的实施例中,术语“稠密深度图”可以是指如下的深度图,这种深度图具有足以重建对象的完整三维图像的深度信息。例如,表示稠密深度图的矩阵中的每个元素均包括深度信息。相应地,表示稀疏深度图的矩阵中的多个元素可以不包括深度信息。
28.如上文所简要提及的,在许多场景中,通常使用不具有深度的单个相机对感兴趣对象成像。因此,需要从不具有深度信息的多个图像来获得感兴趣对象的深度信息或重建感兴趣对象的3d图像,其在本文中统称为“单目视觉的3d重建”。
29.以医疗领域为例,机器人手术已得到广泛应用。在机器人手术过程中,集成有相机的内窥镜通常用于为外科医生提供外科手术可视化,以使得医生能够操纵机器人手术中的各种手术工具。由于各种限制,内窥镜通常仅配备单个相机,因此所捕获的器官的视频不具有深度信息。在这种情况下,医生很难仅通过视频的帧来感知深度信息。此外,诸如侵入式医疗检查机器人的一些医疗机器人应用程序可以帮助进行检查和治疗,这需要精确的3d重建和导航。
30.这种医疗图像的深度估计面临诸多挑战。一种挑战归因于照明条件差。由于人体组织的封闭结构,内窥镜在使用时需要配备光源。在检查或手术过程中,光源随内窥镜一起移动。由于光源的移动,无法保证内窥镜所获得的视频(以下简称为“内窥镜视频”)的帧之间的光度恒定。另一挑战归因于图像质量问题。由于在检查或手术过程中内窥镜一直在移动,因此内窥镜视频的许多帧中存在运动伪影和模糊。另外,内窥镜视频的帧的对比度通常不高,并且纹理不明显,因为人的组织通常具有相似的纹理。
31.已经提出了一些方案来基于医疗图像或其他场景中的图像进行3d重建。例如,随着机器学习技术的发展,已经提出使用神经网络来预测图像的稠密深度图的方案。由于缺少用于网络训练的真值,使用神经网络的传统方案通常是无监督的或自监督的。这些传统方案中的一些没有考虑光源移动带来的影响,另一些方案受限于自训练中用作真值的稀疏深度信息的准确性。
32.本公开的实施例提出了一种用于图像处理的方案,以解决上述问题和/或其他潜在问题中的一个或多个。在该方案中,使用与相同参考图像的不同深度图之间的差异有关的第一约束和与不同参考图像的深度一致性有关的第二约束来一起训练深度估计模型,以实现对深度估计模型更好的监督训练。第一约束例如可以是稀疏深度损失,并且第二约束例如可以是深度一致性损失。第一约束和第二约束的结合使用可以避免过度平滑问题。以此方式,所获得的深度估计模型能够提供更准确的深度信息。
33.以下将结合附图来详细描述本公开的示例实施例。
34.示例系统
35.图1a示出了根据本公开的实施例的图像处理系统100的示意性框图。如图1a所示,系统100可以包括数据收集装置110、数据预处理装置120、稀疏重建装置130、模型训练装置
140和模型应用装置150。在一些实施例中,上述多个装置可以分别实现在不同的物理设备中。备选地,上述多个装置中的至少一部分装置可以被实现在同一物理设备中。例如,数据收集装置110、数据预处理装置120、稀疏重建装置130和模型训练装置140可以被实现在同一物理设备中,而模型应用装置150可以被实现在另一物理设备中。
36.数据收集装置110可以收集原始数据101。原始数据101可以包括任何格式的图像数据。原始数据101可以是由同一相机捕获的对象的视频。在视频捕获过程中,相机或对象可以在运动。备选地,原始数据101可以是由同一相机在相对于对象的不同位置处捕获的一系列静态图像。
37.数据预处理装置120可以处理原始数据101,以生成用于训练模型的序列图像集102。序列图像集102可以包括多个序列的图像。同一序列中的多个图像可以包括相同对象。不同序列的图像可以包括相同或不同对象。在原始数据101包括视频的情况下,每个序列的图像可以包括持续预定时间(例如,5秒)的多个帧。作为示例,每个序列的图像可以包括在检查或手术过程中由单目内窥镜捕获的患者胃部的视频中的多个帧。
38.数据预处理装置120可以对原始数据101中的图像(例如,视频的帧或静态图像)进行筛选,例如以移除清晰度不满足阈值或亮度不满足阈值的图像。数据预处理装置120还可以将经筛选的图像分组成多个序列的图像。在本文中,用于训练模型的序列图像集102中的图像也可以称为“参考图像”,并且参考图像所捕获的对象也可以称为“参考对象”。
39.序列图像集102可以被提供给稀疏重建装置130。稀疏重建装置130可以基于序列图像集102,生成参考对象的稀疏点云103。为此,稀疏重建装置130可以从不同参考图像中确定特征匹配点,并利用特征匹配点进行稀疏深度图的重建,以生成稀疏点云103。下文将参考图2和图3来描述稀疏重建装置130生成稀疏点云103的示例操作。尽管图1a中未示出,稀疏重建装置130还可以基于序列图像集102,估计捕获参考图像的相机(其在本文中也可以称为“参考相机”)在捕获每个参考图像时的姿态。
40.序列图像集102和稀疏点云103可以被一起提供给模型训练装置140,以用于训练深度估计模型104。深度估计模型104可以被训练用于基于目标对象的不同图像来生成目标对象的稠密深度图。可以利用任何合适的网络结构来实现深度估计模型104,本公开的范围在此方面不受限制。
41.经训练的深度估计模型104可以被提供给模型应用装置150。模型应用装置150可以获取目标对象的序列目标图像105。序列目标图像105可以包括由同一相机(其在本文中也称为“目标相机”)在相对于目标对象的不同位置捕获的多个图像。例如,序列目标图像105可以是在检查或手术过程中,由单目内窥镜捕获的目标患者胃部的视频中的多个帧。
42.模型应用装置150可以利用深度估计模型104,生成与序列目标图像105中的至少一个图像相对应的稠密深度图106。例如,模型应用装置150可以生成与序列目标图像105中的每个图像相对应的稠密深度图。根据具体场景,稠密深度图106还可以被进一步处理。
43.在一些实施例中,模型应用装置150或其他合适的装置可以基于与序列目标图像105相对应的多个稠密深度图106,生成目标对象的3d图像。也即,稠密深度图106可以进一步用于目标对象的3d重建。在一些实施例中,模型应用装置150或其他合适的装置可以基于与序列目标图像105相对应的多个稠密深度图106,识别目标对象的姿态。也即,稠密深度图106可以进一步用于目标对象的姿态识别。
44.深度估计模型104可以被应用到各种领域。例如,在医疗领域中,深度估计模型104可以在对患者进行检查或手术过程中用于生成患者器官的稠密深度图,以重建患者器官的3d图像。所重建的3d图像可以更好地辅助医生确定病灶或实施手术。又如,在游戏休闲领域中,深度估计模型104可以在与用户的交互过程中用于生成用户的稠密深度图,以识别用户的姿态。利用所识别的姿态,可以增强趣味性和互动性。以上仅是深度估计模型104可以应用的领域的示例,而无意限制本公开的范围。
45.应当理解,图1a所示的系统100仅仅是本公开的实施例可实现于其中的一种示例,不旨在限制本公开的范围。本公开的实施例同样适用于其他系统或架构。例如,在一些实施例中,图像处理系统可以不包括数据收集装置110、数据预处理装置120和稀疏重建装置130。模型训练装置140可以从外部接收或以其他合适的方式获取用于训练深度估计模型104的训练数据,例如序列图像集102、稀疏点云103或与序列图像集102中的参考图像相对应的稀疏深度图。
46.图1b示出了根据本公开的一些实施例的图像处理设备160的示意性框图。图像处理设备160可以包括或部署有经训练的深度估计模型104。应当理解,图像处理设备160还可以包括或部署有其他的模型。
47.如图1b所示,图像处理设备160可以接收序列输入图像107。在一些实施例中,序列输入图像107可以是由图像收集装置(例如,图1a中所示的数据收集装置110)获得的目标对象的一系列原始图像。在这种实施例中,图像处理设备160可以对序列输入图像107进行预处理,以获得用于输入到深度估计模型104的序列图像集。例如,图像处理设备160可以包括图1a所示的数据预处理装置120。在一些实施例中,序列输入图像107可以是经预处理而获得的目标对象的序列图像集。
48.图像处理设备160可以基于序列输入图像107根据深度估计模型104,生成并提供处理结果108。例如,图像处理设备160可以基于序列输入图像107根据深度估计模型104,生成目标对象的多个稠密深度图。然后,图像处理设备160可以对多个稠密深度图进行进一步处理,以生成处理结果108。
49.在一些实施例中,图像处理设备160可以基于多个稠密深度图,生成目标对象的3d图像,作为处理结果108。也即,在这种实施例中,图像处理设备160可以是用于目标对象的3d重建的设备。在一些实施例中,图像处理设备160可以基于多个稠密深度图,识别目标对象的姿态。也即,在这种实施例中,稠密深度图106可以是用于目标对象的姿态识别的设备。
50.作为示例,在医疗领域中,图像处理设备160可以是内窥镜检查或手术中所使用的设备。序列输入图像107可以是由内窥镜配备的相机获得的患者器官的图像。处理结果108可以是患者器官的3d图像,以供医生确定病灶或实施手术。
51.以上描述了根据本公开的实施例的图像处理系统和图像处理设备的示例。下文结合图2至图4b中来描述一些装置的示例操作。
52.稀疏重建装置的示例操作
53.以下将进一步结合图2和图3来详细描述如图1a所示的稀疏重建装置130所执行的操作。图2示出了从序列图像集102中获取的参考对象250的参考图像201和参考图像202。参考图像201和参考图像202由参考相机在相对于参考对象250的不同位置捕获。参考图像201和参考图像202可以是同一序列的图像中的两个参考图像。在一些实施例中,参考图像201
和参考图像202可以是视频流中相邻的两帧。在一些实施例中,参考图像201和参考图像202可以是视频流中相隔预定数目的两帧。例如,参考图像201可以是第i帧,而参考图像202可以是第i j帧,其中i为正整数,j例如可以是2、3等。
54.尽管图2中仅示出了从序列图像集102中获取一对参考图像进行处理,应当理解这仅仅用于示例目的,而不暗示对本公开范围的任何限制。在一些实施例中,稀疏重建装置130可以从序列图像集102中获取多于两个的参考图像进行处理。此外,稀疏重建装置130可以依次从序列图像集102中获取多对参考图像进行处理。
55.如图2所示,稀疏重建装置130可以包括特征匹配模块210。特征匹配模块210可以基于参考图像201和参考图像202的图像特征,在参考图像201和参考图像202中确定多对像素。每对像素可以包括参考图像201中的第一像素和参考图像202中的第二像素。第一像素和第二像素按照图像特征相匹配。因此,这样的一对像素也可以称为匹配像素或匹配特征点。图2中示意性地示出了三对匹配像素,包括第一像素211和第二像素221、第一像素212和第二像素222、第一像素213和第二像素223。
56.特征匹配模块210可以利用任何合适的特征匹配算法来确定匹配像素,例如最大稳定极值区域(mser)和harries仿射(harries-affine)。所考虑的图像特征可以包括但不限于颜色特征、纹理特征、梯度特征、形状特征等。本公开的范围在此方面不受限制。此外,图2中所示出的匹配像素的数目仅是示意性的。特征匹配模块210可以确定按图像特征相匹配的更多像素。
57.在一些实施例中,稀疏重建装置130可以基于通过特征匹配而确定的匹配像素,来生成参考对象250的稀疏点云103。例如,稀疏重建装置130可以基于匹配像素,生成与稀疏深度图有关的数据。然后,稀疏重建装置130可以使用运动恢复结构(sfm)通过匹配像素来构建稀疏点云103。所构建的稀疏点云103可以包括分别与多对像素相对应的多个点。除了稀疏点云103之外,稀疏重建装置130还可以估计参考相机在捕获参考图像201和参考图像202的姿态。备选地,也可以使用任何合适的方法来构建稀疏点云103,例如同时定位与地图构建(slam)。
58.在一些实施例中,稀疏重建装置130可以对通过特征匹配而确定的匹配像素进行扩展,以在参考图像201和参考图像202中确定更多匹配像素。例如,稀疏重建装置130可以利用局部区域扩展算法来确定更多匹配像素。
59.参考图3。在这种实施例中,稀疏重建装置130还可以包括区域扩展模块310。区域扩展模块310可以基于区域仿射变换,确定更多匹配像素。附加地,区域扩展模块310还可以基于区域仿射变换,从初始确定的匹配像素中消除误匹配像素。
60.具体地,区域扩展模块310可以基于已确定的匹配像素,确定参考图像201和参考图像202之间的仿射变换,并且基于该仿射变换和已确定的匹配像素来确定更多的匹配像素。例如,区域扩展模块310可以基于第一像素211和第二像素221,确定用于第一像素211和第二像素221附近的局部区域的仿射变换。然后,区域扩展模块310可以以第一像素211为中心向外扩展,以确定第一像素211周围的更多像素或像素块(例如,向八个方向扩展)。可以基于仿射变换将所扩展的像素或像素块映射到参考图像202中,以确定对应的像素或像素块。接下来,区域扩展模块310可以基于参考图像201中的所扩展的像素与参考图像202中的对应的像素按照图像特征是否匹配,来确定新的匹配像素或调整仿射变换。
61.在图3的示例中,参考图像201中的第一像素311和参考图像202中的第二像素321被确定为匹配像素。以类似的方式,参考图像201中的第一像素312和参考图像202中的第二像素322被确定为匹配像素,并且参考图像201中的第一像素313和参考图像202中的第二像素323被确定为匹配像素。从图3中可以看出,利用区域扩展可以增加两个参考图像中的匹配像素的数目。
62.区域扩展模块310可以利用任何合适的算法来实现区域仿射变换。此外,图3中所示的利用区域仿射变换而增加的匹配像素的数目仅是示意性的,而无意限制本公开的范围。
63.然后,稀疏重建装置130可以使用sfm通过匹配像素(包括通过特征匹配而初始确定的匹配像素和通过区域扩展而增加的匹配像素)来构建稀疏点云103。除了稀疏点云103之外,稀疏重建装置130还可以估计参考相机在捕获参考图像201和参考图像202的姿态。
64.匹配像素的数目和位置精度在相机姿态估计和稀疏重构中起着至关重要的作用。通过区域扩展,可以获得更多的匹配像素,并且消除误匹配像素。作为示例,利用harris放射而初步确定的匹配像素约为120,并且具有较多的误匹配像素。在经过区域扩展后,匹配像素的数目可以增加至约2600,并且可以消除原本的误匹配像素。误匹配像素的消除可以提升匹配的准确性,并且可以进一步提高相机姿态估计的准确性。匹配像素的数目的增加使得稀疏点云更加丰富,以更好地约束深度估计模型104的训练,如下文将具体描述的。
65.此外,在医疗领域中,特别是在内窥镜的使用中,光源快速移动、纹理信息不足以及图像对比度较低等因素给内窥镜图像中的特征点匹配带来的挑战。在这种场景中,利用在此提出的基于局部区域扩展的特征匹配可以有效地改善稀疏重建。
66.模型训练装置的示例操作
67.以下将进一步结合图4a和图4b来详细描述如图1a所示的模型训练装置140所执行的操作。模型训练装置140可以基于参考图像201和参考图像202来训练深度估计模型104。具体地,模型训练装置140可以确定用于训练深度估计模型104的约束。这样的约束可以包括与相同参考图像的不同深度图之间的差异有关的第一约束和与不同参考图像的深度一致性有关的第二约束。第一约束可以与相同参考图像的稠密程度不同的深度图之间的差异有关,例如,第一约束可以是下文所描述的稀疏深度损失(sdl)。备选地,第一约束可以与相同参考图像的稠密程度相同但深度信息不同的两个或更多个深度图之间的差异有关。例如,这样的两个或更多个深度图可以是用不同方法获得。
68.在用神经网络实现深度估计模型104的情况下,用于训练深度估计模型104的约束可以被视为训练深度估计模型104的目标函数或损失。作为示例,第一约束可以是与稠密程度不同的深度图之间的差异有关的稀疏深度损失(sdl),并且第二损失可以是与不同图像的深度一致性有关的深度一致性损失(dcl)。在用其他方式实现深度估计模型104的情况下,用于训练深度估计模型104的约束可以是其他类型的优化目标。下面以sdl和dcl分别作为第一约束和第二约束的示例来描述模型训练装置104的操作。
69.如图4a所示,模型训练装置140可以获取与参考图像201相对应的稀疏深度图401和与参考图像202相对应的稀疏深度图402。模型训练装置140可以以任何合适的方式获取稀疏深度图。在一些实施例中,模型训练装置140可以从另一装置接收稀疏深度图401和稀疏深度图402。该另一装置例如可以用于基于序列图像的图像特征来生成与序列图像中的
给定图像相对应的稀疏深度图。
70.在一些实施例中,模型训练装置140可以基于稀疏点云103来生成稀疏深度图401和稀疏深度图402。具体地,稀疏重建装置130在执行如参考图2和图3所描述的操作后,可以获得由表示的稀疏点云103,其中w表示世界坐标系,n表示稀疏点云103中的第n个点。稀疏重建装置130还可以获得捕获参考图像201的参考相机的相机姿态和其中f表示参考图像201,和分别表示从世界坐标系到参考图像201的相机坐标系的旋转和平移。此外,稀疏重建装置130还可以获得点的可见性信息其表示稀疏点云中的第n个点在参考图像201中是否可见。
71.模型训练装置140可以利用稀疏重建装置130所获得的以上数据来生成稀疏深度图401和稀疏深度图402。稀疏深度图是通过利用坐标变换将稀疏点云中的点投影到特定的参考图像上而获得的。以与参考图像201相对应的稀疏深度图401为例,首先将相对于世界坐标系的所有点变换为相对于相机坐标系的点该变换可以表达为:
[0072][0073]
然后,可以获得每个点相对于参考图像201的相机坐标系的深度即,沿z轴的分量。最后,将点投影到参考图像201上,以获得每个点的2d坐标其可以表达为:
[0074][0075]
其中k表示相机的本征矩阵。因此,与参考图像201相对应的稀疏深度图401可以表达为:
[0076][0077]
其中s表示是稀疏深度图,而是上述的点的可见性信息。的值表示是否将第n个点投影到参考图像201。
[0078]
如果用g表示参考图像202,可以类似地获得与参考图像202相对应的稀疏深度图402
[0079]
模型训练装置140可以通过自监督的方式来训练深度估计模型104。如图4a所示,可以基于参考图像201和参考图像202,根据深度估计模型104,生成与参考图像201相对应的稠密深度图403-1和与参考图像202相对应的稠密深度图404-1。模型训练装置140进而可
以基于稀疏深度图401、稠密深度图403-1、稀疏深度图402和稠密深度图404-1中的至少一部分,确定sdl和dcl。
[0080]
下面描述sdl的确定。模型训练装置140可以基于稀疏深度图401、稠密深度图403-1、稀疏深度图402和稠密深度图404-1,来确定sdl。由于稠密深度图(例如,稠密深度图403-1)的分布与对应的稀疏深度图(例如,稀疏深度图401)的分布不一致,因此在一些实施例中,模型训练装置140可以根据稀疏深度图的范围缩放对应的稠密深度图的范围,以确保后续损失计算的正确性。
[0081]
具体地,模型训练装置140可以确定稠密深度图403-1相对于稀疏深度图401的缩放系数(也称为“第一缩放系数”)和稠密深度图404-1相对于稀疏深度图402的缩放系数(也称为“第二缩放系数”)。模型训练装置140可以包括缩放层410。缩放层410可以按照第一缩放系数将稠密深度图403-1缩放为稠密深度图403-2,并且按照第二缩放系数将稠密深度图404-1缩放为稠密深度图404-2。
[0082]
如图4a所示,模型训练装置140进而可以确定稀疏深度图401与稠密深度图403-2之间的差异(也称为“第一差异”),并且确定稀疏深度图402与稠密深度图404-2之间的差异(也称为“第二差异”)。模型训练装置140可以基于第一差异和第二差异,确定sdl。
[0083]
以参考图像201为例,如果用df来表示由深度估计模型104输出的稠密深度图403-1,则第一缩放系数θ可以表示为:
[0084][0085]
与参考图像201相对应的经缩放的稠密深度图403-2可以表示为:
[0086][0087]
经缩放操作后,稀疏深度图401的深度分布与经缩放的稠密深度图403-2的深度分布基本一致。以此方式,可以确保sdl计算的正确性。
[0088]
考虑到通过以上描述的方式获得的稀疏深度图被认为足够准确来确保所估计的稠密深度图的一致性,可以以稀疏深度图401作为真值来训练深度估计模型104,例如,通过最小化sdl来训练深度估计模型104。与参考图像201相对应的稀疏深度损失分量l
sdl
(f)可以表达为:
[0089][0090]
由于使用诸如sfm的方法获得的稀疏深度图具有任意的标度,如果序列图像集102中的参考图像具有不同来源,例如来自不同单目内窥镜视频,则均方差(mse)可能产生相对较大的损失值,从而导致过拟合。在本公开的实施例中,使用式(6)中定义的sdl可以确保损
失函数在训练过程中具有缩放不变性。
[0091]
与式(4)至式(6)类似,可以确定与参考图像202相对应的稀疏深度损失分量l
sdl
(g)。
[0092]
以上描述了稀疏深度损失的计算。可以理解的是,仅当存在稀疏深度信息时,sdl才能约束参考图像的局部区域。然而,稀疏深度信息实际上只仅覆盖了参考图像的一小部分像素。这导致如果仅考虑sdl,在训练过程中参考图像中的大部分像素将不被约束。因此,还需要使用参考图像之间的几何约束来进一步确保对应的稠密深度图的一致性。相应地,模型训练装置140还可以利用与不同图像的深度一致性有关的dcl来训练深度估计模型104。
[0093]
模型训练装置140可以从稀疏重建装置130获得相机参数407。相机参数407可以包括参考相机的本征矩阵k以及参考相机在捕获参考图像201和参考图像202时的姿态。模型训练装置140从而可以确定参考相机在捕获参考图像201和参考图像202时的相对姿态和其中和分别表示参考图像201的相机坐标系和参考图像202的相机坐标系之间的旋转和平移。
[0094]
模型训练装置140可以包括转换层420。转换层420可以利用相对姿态,将稠密深度图404-2转换成与参考图像201相对应的转换深度图405,并且将稠密深度图403-2转换成与参考图像202相对应的转换深度图406。转换深度图405和转换深度图406可以视为扭曲稠密深度图。然后,模型训练装置140可以基于稠密深度图403-2与转换深度图405之间的差异、以及稠密深度图404-2与转换深度图406之间的差异,确定dcl。
[0095]
具体来说,参考图像201和参考图像202分别表示为f和g,并且经缩放的稠密深度图403-2和404-2分别表示为和可以通过双线性采样获得从参考图像201到参考图像202的扭曲稠密深度图即图4a中所示的转换深度图406。首先,参考图像202的像素坐标(xg,yg)在参考图像201中对应的像素坐标(xf,yf)可以通过如下表达式获得:
[0096][0097][0098]
其中a是3
×
3的矩阵b是3
×
1的矩阵
[0099]
然后,可以根据式(9)获得参考图像201中的像素(xf,yf)的新的深度值
[0100][0101]
其中c是3
×
3的矩阵d是3
×
1的矩阵如式(9)所示的深度值表示在将像素(xf,yf)投影到参考图像202的情况下,该像素(xf,yf)的深度。
[0102]
通过对参考图像201的所有像素实施上述的双线性采样,可以获得从参考图像201到参考图像202的扭曲稠密深度图通过对参考图像202的所有像素实施类似的双线性采样,可以获得从参考图像202到参考图像201的扭曲稠密深度图即图4a中所示的转换深度图405。最后,深度一致性损失可以表达为:
[0103][0104]
其中σ表示对相应图像的所有像素的计算结果求和。与l
sdl
类似,l
dcl
也具有缩放不变性。
[0105]
在图4a的示例和以上描述中,模型训练装置140将经缩放的稠密深度图403-2和经缩放的稠密深度图404-2转换成对应的转换深度图,即扭曲稠密深度图。在其他的一些实施例中,模型训练装置140可以基于未经缩放的稠密深度图403-1和稠密深度图404-1来生成扭曲稠密深度图,并确定深度一致性损失。
[0106]
在这种实施例中,在输入参考图像201和参考图像202时的总损失l(f,g)可以表达为:
[0107]
l(f,g)=λ1(l
sdl
(f) l
sdl
(g)) λ2l
dcl
(f,g)
ꢀꢀꢀꢀ
(11)
[0108]
其中λ1和λ2是对应的损失的权重。当序列图像集102中的参考图像被依次输入模型训练装置140时,可以相应地如式(11)所示的确定总损失,以训练深度估计模型104。
[0109]
在一些实施例中,除了sdl和dcl之外,还可以使用与不同图像的强度之间的差异有关的光度损失(photometric loss,pl)来训练深度估计模型104。模型训练装置140可以将基于参考相机在捕获参考图像201和参考图像202时的相对姿态、参考图像201的强度分布和参考图像202的强度分布,来确定光度损失。
[0110]
具体地,模型训练装置140可以基于相对姿态,将参考图像201的强度图if转换成与参考图像202相对应的转换强度图i
f,g
,即扭曲强度图。然后,模型训练装置140可以计算转换强度图i
f,g
与参考图像202的强度图ig之间的差异,作为光度损失的一部分。在获得如上文提及的时,模型训练装置140已经确定了参考图像202中的像素(xg,yg)在参考图像201中的对应像素(xf,yf)。那么,模型训练装置140可以直接通过双线性采样将参考图像201的强度图if转换成扭曲强度图i
f,g

[0111]
类似地,可以通过双线性采样将参考图像202的强度图ig转换成扭曲强度图i
g,f
。在获得扭曲深度图之后,光度损失l
pl
(f,g)可以表达为:
[0112][0113]
其中σ表示对相应图像的所有像素的计算结果求和。
[0114]
在这种实施例中,在输入参考图像201和参考图像202时的总损失l(f,g)可以表达为:
[0115]
l(f,g)=λ1(l
sdl
(f) l
sdl
(g)) λ2l
dcl
(f,g) λ3l
pl
(f,g)
ꢀꢀꢀꢀ
(13)其中λ1、λ2和λ3是对应的损失的权重。当序列图像集102中的参考图像被依次输入模型训练装置140时,可以相应地如式(13)所示的确定总损失,以训练深度估计模型104。
[0116]
深度一致性损失可以调整两个参考图像的稠密深度图的一致性。利用深度一致性损失,经训练的深度预测模型104所估计的稠密深度图的整体结构可以更真实。然而,这不能保证没有稀疏深度信息约束的位置处的深度估计的准确性。因此,在这种实施例中,通过所添加的光度损失可以进一步提高所估计的深度的准确性。
[0117]
如上文所提及的,在一些实施例中,第一约束可以与相同参考图像的稠密程度相同但深度信息不同的两个或更多个深度图之间的差异有关。图4b示出了根据本公开的另一些实施例的训练深度估计模型的示意图。下面仅描述图4b与图4a的不同之处。
[0118]
如图4b所示,替代获得如图4a所示的稀疏深度图401和稀疏深度图402,模型训练装置140可以获取与参考图像201相对应的稠密深度图408(也称为“第三稠密深度图”)和与参考图像202相对应的稠密深度图409(也称为“第四稠密深度图”)。可以理解的是,稠密深度图408与稠密深度图403-1可以具有相同的稠密程度,但不同的深度信息。同样地,稠密深度图409与稠密深度图404-1可以具有相同的稠密程度,但不同的深度信息。
[0119]
稠密深度图408和稠密深度图409可以是用除深度估计模型104之外的任何合适的方式获得的。例如,稠密深度图408和稠密深度图409可以是利用经训练的神经网络(诸如,卷积神经网络cnn)生成的。又如,稠密深度图408和稠密深度图409可以是利用传感器测量得到的。
[0120]
如图4b所示,模型训练装置140可以基于稠密深度图403-1、稠密深度图408、稠密深度图404-1和稠密深度图409,确定第一约束,例如所示的深度损失(dl)。如果稠密深度图403-1与稠密深度图408之间以及稠密深度图404-1与稠密深度图409之间的深度分布不同,还可以利用缩放层410对稠密深度图403-1和稠密深度图404-1进行缩放,如参考图4a所描述的。
[0121]
示例方法
[0122]
图5示出了根据本公开的实施例的用于图像处理的示例方法500的流程图。例如,方法500可以由如图1a所示的系统100的至少一部分(例如,模型训练装置140)来执行。以下结合图1a至图4b来描述方法500。应当理解,方法500还可以包括未示出的附加框和/或可以省略所示出的某些框。本公开的范围在此方面不受限制。
[0123]
在框510处,获取参考对象的第一参考图像(例如,参考图像201)和参考对象的第二参考图像(例如,参考图像202)。第一参考图像和第二参考图像由参考相机在相对于参考对象的不同位置捕获。
[0124]
在框520处,基于第一参考图像和第二参考图像,确定第一约束和第二约束。第一
约束与相同参考图像的不同深度图之间的差异有关,并且第二约束与不同参考图像的深度一致性有关。
[0125]
在一些实施例中,为了确定第一约束和第二约束,可以获取与第一参考图像相对应的第一稠密深度图(例如,稠密深度图403-1)和第三稠密深度图(例如,稠密深度图408)以及与第二参考图像相对应的第二稠密深度图(例如,稠密深度图404-1)和第四稠密深度图(例如,稠密深度图409)。例如,可以基于第一参考图像和第二参考图像,根据深度估计模型,来生成第一稠密深度图和第二稠密深度图。第一稠密深度图和第三稠密深度图具有不同的深度信息,并且第二稠密深度图和第四稠密深度图具有不同的深度信息。还可以基于第一稠密深度图、第二稠密深度图、第三稠密深度图和第四稠密深度图,确定第一约束。还可以基于第一稠密深度图和第二稠密深度图,确定第二约束。
[0126]
在一些实施例中,为了确定第一约束和第二约束,可以获取与第一参考图像相对应的第一稀疏深度图(例如,稀疏深度图401)和第一稠密深度图(例如,稠密深度图403-1)以及与第二参考图像相对应的第二稀疏深度图(例如,稀疏深度图402)和第二稠密深度图(例如,稠密深度图404-1)。可以基于第一稀疏深度图、第一稠密深度图、第二稀疏深度图和第二稠密深度图,确定第一约束,可以基于第一稠密深度图和第二稠密深度图,确定第二约束。
[0127]
在一些实施例中,为了获取第一稀疏深度图和第二稀疏深度图,可以基于第一参考图像和第二参考图像的图像特征,确定多对像素。每对像素包括第一参考图像中的第一像素(例如,图2中所示的像素211)和第二参考图像中的第二像素(例如,图2中所示的像素221),第二像素按照图像特征与第一像素相匹配。还可以至少基于多对像素,构建参考对象的点云,例如图1a中所示的稀疏点云103。该点云至少包括分别与多对像素相对应的多个点。还可以基于点云和参考相机在捕获第一参考图像时的姿态,确定第一稀疏深度图,并且基于点云和参考相机在捕获第二参考图像时的姿态,确定第二稀疏深度图。
[0128]
在一些实施例中,构建参考对象的点云可以包括:基于多对像素,确定第一参考图像与第二参考图像之间的仿射变换;基于多对像素和仿射变换,从第一参考图像和第二参考图像中确定另外的多对像素(例如,图3中所示的像素311和像素321、像素312和像素322、像素313和像素323);以及基于多对像素和另外的多对像素,构建点云,点云还包括与另外的多对像素相对应的多个点。
[0129]
在一些实施例中,可以确定第一稠密深度图相对于第一稀疏深度图的第一缩放系数和第二稠密深度图相对于第二稀疏深度图的第二缩放系数,例如根据式(4)来确定缩放系数。还可以确定第一稀疏深度图与按照第一缩放系数而缩放的第一稠密深度图(例如,图4所示的稠密深度图403-2)之间的第一差异。还可以确定第二稀疏深度图与按照第二缩放系数而缩放的第二稠密深度图(例如,图4所示的稠密深度图404-2)之间的第二差异。还可以进一步基于第一差异和第二差异,确定第一约束。
[0130]
在一些实施例中,可以利用参考相机在捕获第一参考图像和第二参考图像时的相对姿态,将第二稠密深度图转换成与第一参考图像相对应的第一转换深度图(例如,图4所示的转换深度图405)。还可以利用相对姿态,将第一稠密深度图转换成与第二参考图像相对应的第二转换深度图(例如,图4所示的转换深度图406)。还可以基于第一稠密深度图与第一转换深度图之间的差异、以及第二稠密深度图与第二转换深度图之间的差异,确定第
二约束。
[0131]
在一些实施例中,可以利用参考相机在捕获第一参考图像和第二参考图像时的相对姿态,将经缩放的第二稠密深度图(例如,图4所示的稠密深度图404-2)转换成与第一参考图像相对应的第一转换深度图(例如,图4所示的转换深度图405)。还可以利用相对姿态,将经缩放的第一稠密深度图(例如,图4所示的稠密深度图403-2)转换成与第二参考图像相对应的第二转换深度图(例如,图4所示的转换深度图406)。还可以基于经缩放的第一稠密深度图与第一转换深度图的差异、以及经缩放的第二稠密深度图与第二转换深度图的差异,确定第二约束。
[0132]
在框530处,至少基于第一约束(例如,稀疏深度损失)和第二约束(例如,深度一致性损失),训练深度估计模型,以获得经训练的深度估计模型。
[0133]
在一些实施例中,可以基于参考相机在捕获第一参考图像和第二参考图像时的相对姿态、第一参考图像的强度分布和第二参考图像的强度分布,确定第三约束。第三约束与不同图像的强度之间的差异有关。例如,可以根据式(12)来确定光度损失。然后可以基于第一约束、第二约束和第三约束,训练深度估计模型104。
[0134]
在一些实施例中,第一参考图像和第二参考图像可以包括以下至少一项:视频中相邻的两帧,或视频中相隔预定数目的两帧。
[0135]
在一些实施例中,视频可以是由单目内窥镜生成的。
[0136]
表1示出了利用不同损失来训练的深度估计模型的性能比较。表1示出了深度估计模型所输出的稠密深度图与稀疏深度图之间的均方差作为性能比较的指标。
[0137]
表1
[0138]
图像数据方案1方案2方案3方案151(
±
40)33(
±
16)30(
±
17)方案248(
±
45)30(
±
15)25(
±
16)方案356(
±
43)36(
±
18)32(
±
20)
[0139]
在表1中,“方案1”表示仅使用sdl来训练深度估计模型的方案。“方案2”表示使用稀疏光流损失(sfl)和dcl的方案。“方案3”为根据本公开的实施例的使用sdl和dcl的方案。通过如表1所示的实验数据能够证明,根据本公开的实施例的方案能够有效提升所训练的深度估计模型的性能。
[0140]
图6示出了根据本公开的实施例的用于图像处理的示例方法600的流程图。例如,方法600可以由如图1a所示的系统100的至少一部分(例如,模型应用装置150)或图1b所示的图像处理设备160来执行。应当理解,方法600还可以包括未示出的附加框和/或可以省略所示出的某些框。本公开的范围在此方面不受限制。
[0141]
在框610处,获取目标对象的序列目标图像,例如图1a中所示的序列目标图像105。序列目标图像由目标相机在相对于目标对象的不同位置捕获。
[0142]
在框620处,利用经训练的深度估计模型104,生成与序列目标图像中的至少一个目标图像相对应的深度图。
[0143]
在一些实施例中,在框620处,可以生成与序列目标图像相对应的序列深度图。方法600还可以包括基于序列深度图,生成目标对象的三维图像。在一些实施例中,方法600还可以基于序列深度图来识别目标对象的姿态。
[0144]
示例设备
[0145]
图7示出了可以用来实施本公开的实施例的示例计算设备700的示意性框图。例如,如图1a所示的系统100中的一个或多个装置可以由设备700来实施。如图所示,设备700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序指令,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。cpu 701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
[0146]
设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0147]
处理单元401可被配置为执行上文所描述的各个过程和处理,例如方法500和600。例如,在一些实施例中,方法500和600可以被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到ram 703并由cpu 701执行时,可以执行上文描述的方法500和600中的一个或多个步骤。
[0148]
在一些实施例中,电子设备包括至少一个处理电路。至少一个处理电路被配置为:获取参考对象的第一参考图像和第二参考图像,第一参考图像和第二参考图像由参考相机在相对于参考对象的不同位置捕获;基于第一参考图像和第二参考图像,确定第一约束和第二约束,第一约束与相同参考图像的不同深度图之间的差异有关,并且第二约束与不同参考图像的深度一致性有关;以及至少基于第一约束和第二约束,训练深度估计模型,以获得经训练的深度估计模型。
[0149]
在一些实施例中,至少一个处理电路被配置为:获取与第一参考图像相对应的第一稀疏深度图和第一稠密深度图以及与第二参考图像相对应的第二稀疏深度图和第二稠密深度图;基于第一稀疏深度图、第一稠密深度图、第二稀疏深度图和第二稠密深度图,确定第一约束;以及基于第一稠密深度图和第二稠密深度图,确定第二约束。
[0150]
在一些实施例中,至少一个处理电路被配置为:获取与第一参考图像相对应的第一稠密深度图和第三稠密深度图以及与第二参考图像相对应的第二稠密深度图和第四稠密深度图,第一稠密深度图和第三稠密深度图具有不同的深度信息,并且第二稠密深度图和第四稠密深度图具有不同的深度信息;基于第一稠密深度图、第二稠密深度图、第三稠密深度图和第四稠密深度图,确定第一约束;以及基于第一稠密深度图和第二稠密深度图,确定第二约束。
[0151]
在一些实施例中,至少一个处理电路被配置为:基于第一参考图像和第二参考图像的图像特征,确定多对像素,每对像素包括第一参考图像中的第一像素和第二参考图像中的第二像素,第二像素按照图像特征与第一像素相匹配;至少基于多对像素,构建参考对象的点云,点云至少包括分别与多对像素相对应的多个点;基于点云和参考相机在捕获第一参考图像时的姿态,确定第一稀疏深度图;以及基于点云和参考相机在捕获第二参考图像时的姿态,确定第二稀疏深度图。
[0152]
在一些实施例中,至少一个处理电路被配置为:基于多对像素,确定第一参考图像
与第二参考图像之间的仿射变换;基于多对像素和仿射变换,从第一参考图像和第二参考图像中确定另外的多对像素;以及基于多对像素和另外的多对像素,构建点云,点云还包括与另外的多对像素相对应的多个点。
[0153]
在一些实施例中,至少一个处理电路被配置为:确定第一稠密深度图相对于第一稀疏深度图的第一缩放系数和第二稠密深度图相对于第二稀疏深度图的第二缩放系数;确定第一稀疏深度图与按照第一缩放系数而缩放的第一稠密深度图之间的第一差异;确定第二稀疏深度图与按照第二缩放系数而缩放的第二稠密深度图之间的第二差异;以及基于第一差异和第二差异,确定第一约束。
[0154]
在一些实施例中,至少一个处理电路被配置为:利用参考相机在捕获第一参考图像和第二参考图像时的相对姿态,将第二稠密深度图转换成与第一参考图像相对应的第一转换深度图;利用相对姿态,将第一稠密深度图转换成与第二参考图像相对应的第二转换深度图;以及基于第一稠密深度图与第一转换深度图之间的差异、以及第二稠密深度图与第二转换深度图之间的差异,确定第二约束。
[0155]
在一些实施例中,至少一个处理电路被配置为:基于参考相机在捕获第一参考图像和第二参考图像时的相对姿态、第一参考图像的强度分布和第二参考图像的强度分布,确定第三约束,第三约束与不同参考图像的强度之间的差异有关;以及基于第一约束、第二约束和第三约束,训练深度估计模型。
[0156]
在一些实施例中,第一参考图像和第二参考图像包括以下至少一项:视频中相邻的两帧,或视频中相隔预定数目的两帧。
[0157]
在一些实施例中,视频是由单目内窥镜生成的。
[0158]
在一些实施例中,计算设备包括:至少一个处理电路。至少一个处理电路被配置为:获取目标对象的序列目标图像,序列目标图像由目标相机在相对于目标对象的不同位置捕获;以及利用根据权利要求1-8中任一项的方法训练的深度估计模型,生成与序列目标图像中的至少一个目标图像相对应的深度图。
[0159]
在一些实施例中,至少一个处理电路被配置为:生成与序列目标图像相对应的序列深度图,并且至少一个处理电路还被配置为:至少基于序列稠密深度图和目标相机的内部参数,生成目标对象的三维图像。
[0160]
本公开可以被实现为系统、方法和/或计算机程序产品。当本公开被实现为系统时,除了能够在单个设备上实现之外,本文所描述的部件还可以以云计算架构的形式来实现。在云计算环境中,这些部件可以被远程布置,并且可以一起工作以实现本公开所描述的功能。云计算可以提供计算、软件、数据访问和存储服务,它们不需要终端用户知晓提供这些服务的系统或硬件的物理位置或配置。云计算可以使用适当的协议通过广域网(诸如因特网)提供服务。例如,云计算提供商通过广域网提供应用,并且它们可以通过浏览器或任何其他计算组件被访问。云计算的部件以及相应的数据可以被存储在远程服务器上。云计算环境中的计算资源可以在远程数据中心位置处被合并,或者这些计算资源可以被分散。云计算基础设施可以通过共享数据中心提供服务,即使它们表现为针对用户的单一访问点。因此,可以使用云计算架构从远程服务提供商提供本文所描述的各种功能。备选地,它们可以从常规服务器被提供,或者它们可以直接或以其他方式被安装在客户端设备上。此外,本公开还可以被实现为计算机程序产品,该计算机程序产品可以包括计算机可读存储
介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
[0161]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0162]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0163]
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0164]
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0165]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0166]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0167]
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0168]
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

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

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

相关文献