CN112750133A - 计算机视觉训练***和用于训练计算机视觉***的方法 - Google Patents
计算机视觉训练***和用于训练计算机视觉***的方法 Download PDFInfo
- Publication number
- CN112750133A CN112750133A CN202011179933.3A CN202011179933A CN112750133A CN 112750133 A CN112750133 A CN 112750133A CN 202011179933 A CN202011179933 A CN 202011179933A CN 112750133 A CN112750133 A CN 112750133A
- Authority
- CN
- China
- Prior art keywords
- image
- supervised
- loss
- unsupervised
- estimated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012549 training Methods 0.000 title claims abstract description 62
- 238000002645 vision therapy Methods 0.000 title claims abstract description 21
- 230000006870 function Effects 0.000 claims description 122
- 230000003287 optical effect Effects 0.000 claims description 59
- 230000033001 locomotion Effects 0.000 description 29
- 238000013528 artificial neural network Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 14
- 238000013135 deep learning Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 8
- 230000009977 dual effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000002679 ablation Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
- G06T3/4076—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution using the original low-resolution images to iteratively correct the high-resolution images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/647—Three-dimensional objects by matching two-dimensional images to three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19167—Active pattern learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/248—Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Mathematical Optimization (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
公开了一种计算机视觉训练***和用于训练计算机视觉***的方法。所述计算机视觉(CV)训练***,包括:监督学习***,监督学习***根据目标CV应用从一个或多个输入图像估计监督输出,并且根据监督输出和监督输出的地面真值来确定监督损失;无监督学习***,无监督学习***根据监督输出和所述一个或多个输入图像来确定无监督损失;弱监督学习***,弱监督学习***根据监督输出和与所述一个或多个输入图像对应的弱标签来确定弱监督损失;以及联合优化器,联合优化器并发地优化监督损失、无监督损失和弱监督损失。
Description
本申请要求于2019年10月29日提交的名称为“用于基于用于计算机视觉应用的多学习技术提供深度学习框架的***和方法(SYSTEM AND METHOD FOR PROVIDING A DEEPLEARNING FRAMEWORK BASED ON MULTIPLE LEARNING TECHNIQUES FOR COMPUTER VISIONAPPLICATION)”的第62/927,625号美国临时申请的优先权和权益,并且还要求于2020年1月28日提交的名称为“基于用于具有多帧输入的计算机视觉应用的多学习策略的深度学习框架(DEEP LEARNING FRAMEWORK BASED ON MULTIPLE LEARNING STRATEGIES FOR CVAPPLICATIONS WITH MULTI-FRAME INPUT)”的第62/966,975号美国临时申请的优先权和权益,所有这些申请的全部内容通过引用包含于此。
技术领域
本公开的一个或多个示例实施例涉及一种计算机视觉***以及使用机器学习来训练计算机视觉***的方法。
背景技术
计算机视觉应用(例如,诸如深度估计和图像/视频增强)在真实场景中具有广泛的用途。例如,深度估计可用在图像散景(Bokeh)的前景/背景分割中,并且图像/视频增强已成为当今大多数现代蜂窝电话相机的许多图像信号处理器(ISP)中的标准特征。
最近,计算机视觉领域已经从统计方法转移到深度学习神经网络方法。例如,深度学习神经网络方法可实现单个模型从图像学习含义以执行特定的计算机视觉任务,从而避免对专门的手工方法的流水线的需要。通常,深度学习神经网络方法可利用单个机器学习技术和相应的损失函数来针对特定的计算机视觉应用进行训练,这可限制深度学习神经网络方法的准确性。
在本背景技术部分中公开的以上信息用于增强对本公开的背景技术的理解,因此可包含不构成现有技术的信息。
发明内容
本公开的一个或多个示例实施例涉及具有用于针对各种计算机视觉应用进行训练的多机器学习策略框架的计算机视觉***,以及用于训练计算机视觉***的方法。
根据本公开的一个或多个示例实施例,一种计算机视觉(CV)训练***包括:监督学习***,被配置为:根据目标CV应用从一个或多个输入图像估计监督输出,并且根据监督输出和监督输出的地面真值来确定监督损失;无监督学习***,被配置为:根据监督输出和所述一个或多个输入图像来确定无监督损失;弱监督学习***,被配置为:根据监督输出和与所述一个或多个输入图像对应的弱标签来确定弱监督损失;以及联合优化器,被配置为:优化监督损失、无监督损失和弱监督损失。
在一个示例实施例中,目标CV应用可对应于单目深度估计,并且监督输出可对应于从所述一个或多个输入图像之中的目标图像估计的深度。
在一个示例实施例中,无监督学习***可被配置为:根据估计的深度将与所述一个或多个输入图像对应的2维(2D)图像坐标转换为3维(3D)坐标,并且至少基于3D坐标计算无监督损失。
在一个示例实施例中,目标CV应用可对应于立体匹配,并且监督输出可对应于所述一个或多个输入图像之中的左图像与右图像之间估计的视差。
在一个示例实施例中,无监督学习***可被配置为:根据估计的视差来将左图像和右图像中的一个移位以生成变形图像,并且至少基于变形图像来计算无监督损失。
在一个示例实施例中,目标CV应用可对应于图像/视频增强,并且监督输出可对应于从所述一个或多个输入图像之中的低分辨率输入图像估计的高分辨率图像。
在一个示例实施例中,无监督学习***可被配置为:估计与估计的高分辨率图像对应的光流,并且至少基于估计的光流和估计的高分辨率图像来计算无监督损失。
在一个示例实施例中,目标CV应用可对应于多视图深度估计,并且监督输出可对应于在所述一个或多个输入图像之中的多个输入帧中的每个输入帧中估计的深度。
在一个示例实施例中,无监督学习***可被配置为:根据所述多个输入帧中的每个输入帧中的估计的深度生成针对所述多个输入帧中的每个输入帧的3D点云,并且至少基于3D点云的对齐的坐标之间的距离来计算无监督损失。
在一个示例实施例中,联合优化器可被配置为:根据联合损失函数并发地优化监督损失、无监督损失和弱监督损失,联合损失函数包括监督损失、无监督损失和弱监督损失的相应的权重。
在一个示例实施例中,所述***还可包括:弱标签生成器,弱标签生成器用于将弱标签生成为基于图像块的弱标签,基于图像块的弱标签具有与所述一个或多个输入图像的不同的裁剪区域对应的图像块对,基于图像块的弱标签定义与图像块对的裁剪区域之间的监督输出对应的关系。
根据本公开的一个或多个示例实施例,一种用于训练计算机视觉(CV)***的方法包括:根据目标CV应用从一个或多个输入图像估计监督输出;根据监督输出和监督输出的地面真值来确定监督损失;根据监督输出和所述一个或多个输入图像来确定无监督损失;根据监督输出和与所述一个或多个输入图像对应的弱标签来确定弱监督损失;以及优化监督损失、无监督损失和弱监督损失。
在一个示例实施例中,目标CV应用可对应于单目深度估计,并且监督输出可对应于从所述一个或多个输入图像之中的目标图像估计的深度。
在一个示例实施例中,所述方法还可包括:根据估计的深度将与所述一个或多个输入图像对应的2维(2D)图像坐标转换为3维(3D)坐标;以及至少基于3D坐标计算无监督损失。
在一个示例实施例中,目标CV应用可对应于立体匹配,并且监督输出可应于所述一个或多个输入图像之中的左图像与右图像之间估计的视差。
在一个示例实施例中,所述方法还可包括:根据估计的视差将左图像和右图像中的一个移位以生成变形图像;以及至少基于变形图像来计算无监督损失。
在一个示例实施例中,目标CV应用可对应于图像/视频增强,并且监督输出可对应于从所述一个或多个输入图像之中的低分辨率图像估计的高分辨率图像。
在一个示例实施例中,所述方法还可包括:估计与估计的高分辨率图像对应的光流;以及至少基于估计的光流和估计的高分辨率图像来计算无监督损失。
在一个示例实施例中,目标CV应用可对应于多视图深度估计,并且监督输出可对应于在所述一个或多个输入图像之中的多个输入帧中的每个输入帧中估计的深度。
在一个示例实施例中,所述方法还可包括:根据所述多个输入帧中的每个输入帧中的估计的深度生成针对所述多个输入帧中的每个输入帧的3D点云;以及至少基于3D点云的对齐的坐标之间的距离来计算无监督损失。
在一个示例实施例中,优化的步骤包括:根据联合损失函数并发地优化监督损失、无监督损失和弱监督损失,联合损失函数包括监督损失、无监督损失和弱监督损失的相应的权重。
在一个示例实施例中,所述方法还可包括:将弱标签生成为基于图像块的弱标签,基于图像块的弱标签具有与所述一个或多个输入图像的不同的裁剪区域对应的图像块对,基于图像块的弱标签定义与图像块对的裁剪区域之间的监督输出对应的关系。
附图说明
从下面参照附图对示例实施例的详细描述,本公开的以上以及其他方面和特征对于本领域技术人员将变得更清楚。
图1是根据本公开的一个或多个示例实施例的计算机视觉训练***的框图。
图2是根据本公开的一个或多个示例实施例的计算机视觉训练***的多学习策略框架的示图。
图3是根据本公开的一个或多个示例实施例的用于单目深度估计的计算机视觉训练***的多学习策略框架的示图。
图4是根据本公开的一个或多个示例实施例的用于立体匹配的计算机视觉训练***的多学习策略框架的示图。
图5A至图5B是根据本公开的一个或多个示例实施例的用于图像/视频增强的计算机视觉训练***的多学习策略框架的示图。
图6是根据本公开的一个或多个示例实施例的用于多视图深度估计的计算机视觉训练***的多学习策略框架的示图。
图7A至图7B是示出根据本公开的一个或多个示例实施例的应用于各种计算机视觉应用的计算机视觉训练***的多学习策略框架的概述的表。
图8是根据本公开的一个或多个示例实施例的训练计算机视觉训练***的方法的流程图。
具体实施方式
在下文中,将参照附图更详细地描述示例实施例,其中,相同的参考标号始终表示相同的元件。然而,本公开可以以各种不同的形式来实现,并且不应被解释为仅限于在此所示的实施例。相反,这些实施例被提供作为示例,使得本公开将是彻底的和完整的,并且将向本领域技术人员充分地传达本公开的方面和特征。因此,可不描述对于本领域技术人员完全理解本公开的方面和特征而言不必要的过程、元件和技术。除非另有说明,否则贯穿附图和书面描述,相同的参考标号表示相同的元件,因此将不重复其描述。
本公开的一个或多个示例实施例涉及用于计算机视觉训练***的多学习策略框架。多学习策略框架可组合多达三种不同的机器学习技术以提高用于各种不同的计算机视觉应用的训练的准确性,而没有用于预测过程的额外计算成本。例如,在一些实施例中,多学习策略框架可将监督学习技术、无监督学习技术和弱监督学习技术(weakly supervisedlearning technique)组合以针对各种不同的计算机视觉应用和场景进行训练。
在一些实施例中,可根据监督学习技术生成(例如,可估计)监督输出(例如,监督目标输出或监督目标项)。监督输出可从一个或多个输入图像生成,并且可对应于从可被相应的计算机视觉(CV)应用期望的一个或多个输入图像估计的信息。例如,监督输出可对应于深度、视差、高分辨率图像、多视图深度等。在一些实施例中,可根据监督学习技术来计算监督输出与监督输出的地面真值(ground-truth)之间的监督损失。
在一些实施例中,监督输出可用作根据无监督学习技术计算无监督损失的输入,并且用作根据弱监督学习技术计算弱监督损失的输入。例如,监督输出可用于将可用于根据无监督学习技术计算无监督损失的输入图像进行变换(例如,变形(warp)),并且监督输出可与弱标签进行比较以根据弱监督学习技术计算弱监督损失。因此,在无监督损失和弱监督损失的优化期间,可进一步改善(refine)(例如,进一步提高)监督输出的准确性。
在一些实施例中,用于计算弱监督损失的弱标签可以是基于像素的(pixel-based)或基于图像块的(patch-based),并且可从输入图像或从地面真值生成。因此,在一些实施例中,与可仅支持基于像素的弱标签的计算机视觉***相比,灵活性可被提高。
在一些实施例中,多学习策略框架可应用于具有多帧/多图像输入的任何合适的基于计算机视觉的应用。多帧/多图像输入可从相同的源(例如,来自单个相机的连续帧)或从不同的源(例如,来自双相机或不同相机的具有不同视角或不同视场的图像)生成。
在一些实施例中,可通过彼此并发地(例如,联合地、同时地或同时)优化监督损失函数、无监督损失函数和弱监督损失函数来针对目标计算机视觉应用对计算机视觉***进行端到端训练。在一些实施例中,彼此并发地优化监督损失函数、无监督损失函数和弱监督损失函数可包括监督损失函数、无监督损失函数和弱监督损失函数的优化过程可在时间上至少部分地彼此重叠的情况。
图1是根据本公开的一个或多个示例实施例的计算机视觉训练***的框图。
简要概述,计算机视觉(CV)训练***102可包括深度学习神经网络(DNN)框架,深度学习神经网络(DNN)框架根据多种机器学习技术针对各种不同种类的计算机视觉(CV)应用进行训练。例如,在一些实施例中,CV训练***102可利用监督学习技术(S)、无监督学习技术(U)和弱监督学习技术(W)以针对各种不同的CV应用情境进行训练。CV应用的一些非限制性示例可包括单目深度估计、立体匹配、图像/视频增强、多视图深度估计等。
在一些实施例中,CV训练***102可生成(例如,可估计)与目标CV应用对应的监督输出,并且可根据监督学习技术(S)生成(例如,可最小化)监督输出和监督输出的对应的地面真值之间的监督损失函数。监督输出可对应于从可被目标CV应用期望(例如,可以是目标CV应用的目标)的一个或多个输入图像获得的(例如,估计的、计算的、提取的、转换的等)信息(例如,诸如深度、视差、相应的高分辨率图像、多视图深度等)。换句话说,从一个或多个输入图像获得的监督输出可以是相应的CV应用的目标,相应的CV应用用于根据相应的目标CV应用对一个或多个输入图像进行处理、分析、分类、变换、变形等。
在一些实施例中,监督输出可用作根据无监督学习技术(U)生成无监督损失函数的输入以及根据弱监督学习技术(W)生成弱监督损失函数的输入。例如,在一些实施例中,CV训练***102可基于监督输出将输入图像中的一个或多个进行变换或变形,以根据无监督学习技术(U)生成无监督损失函数,并且可将与一个或多个输入图像对应的弱标签与监督输出进行比较,以根据弱监督学习技术(W)生成弱监督损失函数。结果,例如,在无监督损失函数和弱监督损失函数的优化期间,可进一步提高监督输出的准确性。
更详细地,参照图1,在一些实施例中,CV训练***102可接收多帧/多视图图像104和地面真值(例如,地面真值的值、地面真值图像等)106。例如,可从一个或多个成像装置(例如,一个或多个相机)拍摄多帧/多视图图像104。在这种情况下,多帧/多视图图像104可来自相同的成像装置(例如,来自相同的相机),或者可来自不同的成像装置(例如,来自双相机、两个或更多个不同的相机等)。例如,在一些实施例中,多帧/多视图图像104可包括从相同的相机(例如,从单个相机)拍摄的多个连续帧,或者可包括从两个或更多个相机(例如,双相机、两个或更多个不同的相机等)拍摄的多个视图(例如,立体视图、不同视场等)。
在一些实施例中,地面真值126可包括与监督输出的目标值或者图像对应的一个或多个值或者图像。例如,在一些实施例中,CV训练***102可生成(例如,可估计)根据目标CV应用的(例如,被目标CV应用期望的)监督输出,并且可将监督输出和监督输出的对应的地面真值126进行比较。例如,在一些实施例中,CV训练***102可根据监督输出和对应的地面真值来生成(例如,可最小化或可减少)监督损失函数。
在一些实施例中,CV训练***102可包括一个或多个处理电路106,一个或多个处理电路106包括一个或多个处理器108和存储器110。处理器108中的每个可以是通用处理器或专用处理器、专用集成电路(ASIC)、一个或多个现场可编程门阵列(FPGA)、一组处理组件或者其他合适的处理组件。处理器108中的每个可集成在单个装置内或者分布在多个单独的***、服务器或装置(例如,计算机)上。例如,处理器108中的每个可以是相对于CV训练***102的内部处理器,或者处理器108中的一个或多个可以是外部处理器(例如被实现为一个或多个服务器的部分或者被实现为基于云的计算***)。处理器108中的每个可被配置为执行存储在存储器110中和/或从其他计算机可读介质(例如,CDROM、网络存储装置、远程服务器等)接收的计算机代码或指令。
存储器110可包括用于存储数据和/或计算机代码的一个或多个装置(例如,存储器单元、存储器装置、存储装置等),所述数据和/或计算机代码用于执行和/或促进本公开中描述的各种处理。存储器110可包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动存储装置、临时存储装置、非易失性存储器、闪存、光学存储器或用于存储软件对象和/或计算机指令的任何其他合适的存储器。存储器110可包括数据库组件、目标代码组件、脚本组件和/或用于支持本公开中描述的各种活动和信息结构的任何其他种类的信息结构。在一个或多个处理电路106中,存储器110可以可通信地连接到一个或多个处理器108,并且存储器110可包括用于执行(例如,通过一个或多个处理器108执行)在此描述的一个或多个处理的计算机代码。
在一些实施例中,存储器110可包括监督学习(S)模块(例如,监督学习***、监督学习神经网络、监督学习框架等)112、无监督学习(U)模块(例如,无监督学习***、无监督学习神经网络、无监督学习框架等)114、弱监督学习(W)模块(例如,弱监督学习***、弱监督学习神经网络、弱监督学习框架等)116、弱标签生成器118和联合优化器120。
在各种实施例中,监督学习模块112、无监督学习模块114、弱监督学习模块116、弱标签生成器118和联合优化器120可在单个装置(例如,单个计算机、单个服务器、单个壳体(housing)等)内实现,或者监督学习模块112、无监督学习模块114、弱监督学习模块116、弱标签生成器118和联合优化器120中的至少一些可分布在多个装置上(例如,在多个计算机、多个服务器、多个壳体等上)。在各种实施例中,监督学习模块112、无监督学习模块114、弱监督学习模块116、弱标签生成器118和联合优化器120中的每个可包括任何合适的处理器(例如,一个或多个处理器108)、存储器(例如,存储器110的一个或多个存储器装置)、编码器-解码器对、逻辑器件、神经网络(例如,卷积神经网络(CNN)、递归神经网络(RNN)等)、控制器、电路(例如,集成电路(IC))等,以支持本公开中描述的各种功能、处理、活动等。
在一些实施例中,监督学习模块112可使用训练示例(例如,使用地面真值)被训练以生成与目标CV应用对应的预测模型(例如,监督输出)。例如,训练示例可包括指示标签的地面真值的标签。在一些实施例中,可在没有地面真值的益处的情况下训练无监督学习模块114。根据一个或多个示例实施例,无监督学习模块114可根据由监督学习模块112生成的监督输出来对一个或多个输入图像进行分析、提取、组织、变换、变形等。在一些实施例中,弱监督学习模块116可用标签数据和无标签数据两者来训练。例如,在一些实施例中,弱监督学习模块116可根据弱标签和监督输出来训练。
例如,如下面将参照图2更详细地描述,在一些实施例中,监督学习模块112可根据目标CV应用基于多帧/多视图图像104生成(例如,可估计)监督输出。监督学习模块112可生成(例如,可最小化)监督输出与对应的地面真值126之间的监督损失函数。无监督学习模块114可根据多帧/多视图图像104和监督输出来生成(例如,可最小化)无监督损失函数。例如,在一些实施例中,无监督学习模块114可根据监督输出将多帧/多视图图像104变换或变形,并且变换的或变形的图像可用于生成(例如,最小化)无监督损失函数。
弱监督学习模块116可根据监督输出生成(例如,可最小化)弱监督损失函数。例如,在一些实施例中,弱监督学习模块116可生成(例如,可最小化)可由弱标签生成器118生成的与多帧/多视图图像104对应的弱标签与监督输出之间的弱监督损失函数。弱标签生成器118可从多帧/多视图图像104或从与监督输出对应的地面真值126生成(例如,基于像素的或基于图像块的)弱标签。
在一些实施例中,联合优化器120可根据监督损失函数、无监督损失函数和弱监督损失函数来生成(例如,可最小化)联合损失函数,以根据目标CV应用来训练CV训练***102。在一些实施例中,可在联合损失函数中使用相应的权重来在联合损失函数中平衡监督损失函数、无监督损失函数和弱监督损失函数中的每个的重要性。
图2是根据本公开的一个或多个示例实施例的计算机视觉训练***的多学习策略框架的示图。
参照图2,在一些实施例中,对于可由单个源(例如,单个相机)或多个源(例如,双相机或多个相机)生成的多帧/多视图图像(例如,Ia,Ib,Ic)的输入,监督学习模块112可根据目标CV应用(例如,通过O=S(I))生成(例如,可估计)监督输出(例如,Oa,Ob,Oc)。在这种情况下,可通过最小化或减小监督输出(例如,Oa,Ob,Oc)与对应的地面真值(例如,)之间的监督损失(LS)函数来优化网络。例如,在一些实施例中,监督学习模块112可最小化或减小监督损失函数
对于非限制性示例,当CV应用对应于单目深度估计时,监督学习模块112可估计多帧/多视图图像(例如,Ia,Ib,Ic)中的对象的深度(例如,Dt)作为监督输出(例如,Oa,Ob,Oc)。在另一非限制性示例中,当CV应用对应于立体匹配时,监督学习模块112可估计多帧/多视图图像(例如,Ia,Ib,Ic)的左图像(例如,Il)与右图像(例如,Ir)之间的视差(例如,D)作为监督输出(例如,Oa,Ob,Oc)。在又一非限制性示例中,当CV应用对应于图像/视频增强时,监督学习模块112可将与多帧/多视图图像(例如,Ia,Ib,Ic)的低分辨率输入帧(例如,)对应的高分辨率帧(例如,)估计为监督输出(例如,Oa,Ob,Oc)。在又一非限制性示例中,当CV应用对应于多视图深度估计时,监督学习模块112可估计多帧/多视图图像(例如,Ia,Ib,Ic)中的多个视图中的每个视图的多视图深度(例如,Da,Db)作为监督输出(例如,Oa,Ob,Oc)。
在一些实施例中,无监督学习模块114可接收多帧/多视图图像(例如,Ia,Ib,Ic)和监督输出(例如,Oa,Ob,Oc)作为输入,并且可最小化或减小无监督损失(LU)函数。例如,在一些实施例中,无监督学习模块114可最小化或减小无监督损失函数LU(Ia Ib Ic,Oa,Ob,Oc)。在一些实施例中,弱监督学习模块116可接收估计的监督输出(例如,Oa,Ob,Oc),并且可最小化或减小弱标签(例如,)与监督输出(例如,Oa,Ob,Oc)之间的弱监督损失(Lw)函数。例如,在一些实施例中,弱监督学习模块116可最小化或减小弱监督损失函数在一些实施例中,在训练期间,弱监督损失函数可被优化。
在一些实施例中,弱标签生成器118可从多帧/多视图图像(例如,Ia,Ib,Ic)或直接从地面真值(例如,)生成弱标签(例如,)。例如,在一些实施例中,弱标签生成器118可根据辅助任务(例如,经由语义分割)生成弱标签(例如,)。在这种情况下,弱标签(例如,)可根据与辅助任务相关联的启发式规则来生成。作为非限制性示例,可利用一些现有知识(例如,诸如天空总是比树远)从语义分割图生成弱标签深度。
在一些实施例中,由弱标签生成器118生成的弱标签(例如,)可以是基于像素的或基于图像块的。基于像素的弱标签定义图像的各个像素之间的关系,而基于图像块的弱标签定义图像的不同裁剪区域(cropped region)之间的关系,其中,每个区域包括多个像素。也就是说,基于图像块的弱标签可具有与一个或多个输入图像的不同的裁剪区域对应的图像块对(patch pair),并且基于图像块的弱标签可定义与图像块对的裁剪区域之间的监督输出对应的关系。因此,基于图像块的弱标签可比基于像素的序数弱标签更灵活。例如,在基于图像块的弱标签情况下,在一些实施例中,弱标签生成器118可将基于图像块的弱标签生成为图像块对(p,q)和因子(例如,二元关系、分布、统计信息等)。在训练期间,弱监督学习模块116可检查监督输出(例如,Oa,Ob,Oc)的图像块对(p,q)与生成的弱标签是否一致(例如,是否类似)。对于非限制性示例,在CV应用用于图像/视频增强的情况下,如果p来自天空并且q来自树,则在超分辨率下p应当比q“蓝”。
在一些实施例中,CV训练***102可例如通过并发地优化监督损失(LS)函数、无监督损失(LU)函数和弱监督损失(Lw)函数进行端到端训练。例如,在一些实施例中,联合优化器120(例如,参见图1)可根据监督损失(LS)函数、无监督损失(LU)函数、弱监督损失(Lw)函数和相应的权重(ws,wu,ww)来生成联合损失函数(Lall)。权重(ws,wu,ww)可用于平衡用于目标CV应用的联合损失函数(Lall)中的监督损失(LS)函数、无监督损失(LU)函数和弱监督损失(Lw)函数中的每个。在一些实施例中,权重(ws,wu,ww)可根据用于目标CV应用的消融(ablation)研究来确定(例如,可设置)。例如,在一些实施例中,联合优化器120可根据等式1中所示的联合损失函数(Lall)来生成(例如,可最小化或减小)联合损失函数(Lall)以训练用于相应的CV应用的CV训练***102。
等式1:
Lall=wsLs+wuLu+wwLw
在等式1中,Ls可对应于监督损失函数,ws可对应于施加到监督损失函数(Ls)的权重,Lu可对应于无监督损失函数,wu可对应于施加到无监督损失函数(Lu)的权重,Lw可对应于弱监督损失函数,ww可对应于施加到弱监督损失函数(Lw)的权重。
虽然图2示出多帧/多视图图像(Ia,Ib,Ic)包括三个输入帧或视图,但是本公开不限于此。例如,CV训练***102的多学习策略框架可应用于针对具有任何合适数量的帧或视图的任何合适的CV应用的训练。此外,虽然图2示出CV训练***102包括监督学习模块112、无监督学习模块114和弱监督学习模块116,但是本公开不限于此,并且CV训练***102可使用(例如,可包括)监督学习模块112、无监督学习模块114和弱监督学习模块116之中的任何合适的组合。例如,如果监督项的地面真值不可用,则CV训练***102可使用无监督学习模块114和弱监督学习模块116。作为另一示例,如果多帧/多视图图像104仅包括单个帧/单个图像输入,则CV训练***102可使用监督学习模块112和弱监督学习模块116。
在一些实施例中,多帧/多视图图像(Ia,Ib,Ic)可用于训练CV训练***102(例如,在训练和/或开发期间),但是多帧/多视图图像(Ia,Ib,Ic)可能不被用于目标CV应用的预测过程的终端用户(end-user)装置需要(例如,可能不被使用或可能不被需求),以便利用用于目标CV应用的CV训练***102的训练。例如,终端用户装置的目标CV应用的预测过程可基于单帧图像输入,并且预测时间可不增加或实质上不增加。因此,除了基于视频的CV应用之外,CV训练***102可用于具有单帧图像输入的基于图像的CV应用。
图3是根据本公开的一个或多个示例实施例的用于单目深度估计的计算机视觉训练***的多学习策略框架的示图。
在本公开的一个或多个示例实施例中,CV训练***102的多学习策略框架可应用于单目深度估计。通常,单目深度估计是可用于估计图像的逐像素的(pixelwise)深度图的CV应用。
简要概述,给出多个连续的输入帧,监督学习模块可估计在输入帧中示出的对象的深度作为监督输出,并且可计算估计的深度与深度的地面真值之间的监督损失。无监督学习模块114可使用估计的深度来补偿3D空间中的输入帧中的对象的刚性运动,并且可根据3D空间的3D坐标和刚性运动来计算输入帧之间的无监督光度损失(photometric loss)。弱监督学习模块114可计算估计的深度与可从输入帧或从地面真值生成的弱标签深度之间的弱监督损失。在一些实施例中,CV训练***102可通过并发地优化监督损失、无监督光度损失和弱监督损失来进行训练。
更详细地,参照图3,在一些实施例中,CV训练***102可接收可由单个源(例如,单个相机)生成的多个连续的输入图像帧(It-1,It,It+1)。例如,输入图像帧(It-1,It,It+1)可包括可彼此相邻的前一帧(t-1)、目标帧(t)和下一帧(t+1)。
在一些实施例中,监督学习模块112可估计目标帧(t)中的对象的深度(Dt)作为监督输出。例如,在一些实施例中,监督学习模块112可包括深度估计器(例如,深度估计网络)308,以使用如本领域技术人员已知的任何合适的深度估计方法或算法(例如,诸如条件随机场、编码器-解码器网络等)来估计深度(Dt)。例如,在一些实施例中,深度估计器308可包括一个或多个编码器-解码器对(例如,编码器-解码器对的网络)以估计目标帧(t)中的对象的深度(Dt)。
等式2:
在一些实施例中,无监督学习模块114可使用估计的深度(Dt)来补偿3D空间中的输入图像帧(It-1,It,It+1)中的对象的刚性运动。例如,在一些实施例中,无监督学习模块114可包括姿势估计器(例如,姿势估计网络)302以及投影和变形图像变换器304。
在一些实施例中,姿势估计器302可确定输入图像帧(It-1,It,It+1)的从帧到帧的对象的刚性运动。例如,在一些实施例中,姿势估计器302可确定从目标帧(t)到前一帧(t-1)的对象的刚性运动(例如,作为Mt→t-1),以及从目标帧(t)到下一帧(t+1)的对象的刚性运动(例如,作为Mt→t+1)。这里,M可以是对象的运动向量,并且每个运动向量M可包括旋转(R)和平移(T)。姿势估计器302可使用如本领域技术人员已知的任何合适的姿势估计方法或算法(例如,诸如线性n点估计、姿势CNN或其他合适的深度神经网络等)来确定对象的刚性运动,以输出运动向量M。例如,在一些实施例中,姿势估计器302可包括一个或多个编码器-解码器对(例如,编码器-解码器对的网络),以根据从帧到帧的对象的刚性运动来输出对象的运动向量M。
在一些实施例中,姿势估计器302可具有与深度估计器308的编码器-解码器架构类似(例如,相同或基本相同)的编码器-解码器架构。在一些实施例中,姿势估计器302的编码器-解码器对中的至少一个可与深度估计器308的编码器-解码器对共享。因此,计算成本可减少。然而,本公开不限于此。
在一些实施例中,投影和变形图像变换器304可补偿在输入图像帧(It-1,It,It+1)的2D图像中的对象的刚性运动,并且可根据估计的深度(Dt)将补偿的2D图像变换到3D空间(例如,3D坐标)中。例如,在一些实施例中,投影和变形图像变换器304可根据从姿势估计器302输出的运动向量M将输入图像帧(It-1,It,It+1)的2D图像变形,以将输入图像帧(It-1,It,It+1)中的2D图像中的对象与刚性运动分离(isolate)。在一些实施例中,投影和变形图像变换器304可根据估计的深度(Dt)将补偿的2D图像中的对象的2D坐标投影(例如,可转换)为3D坐标。例如,2D坐标可对应于在补偿的2D图像中的对象的图像坐标(x,y),并且估计的深度(Dt)可提供与3D坐标的第三坐标(z)对应的对象的深度维度。因此,在一些实施例中,投影和变形图像变换器304可根据由监督学习模块112生成的估计的深度(Dt)来补偿在3D空间(例如,3D坐标)中的对象的刚性运动。
在一些实施例中,无监督学习模块114可计算根据3D坐标的输入图像帧(It-1,It,It+1)与刚性运动补偿之间的无监督光度损失(Lu)。例如,在一些实施例中,无监督学习模块114可根据等式3中所示的无监督损失函数来计算无监督光度损失(Lu)。
等式3:
Lu=||It-1-K·Mt→t-1°(DtK-1·It)||2+||It+1-K·Mt→t+1°(DtK-1·It)||2
在等式3中,Lu可对应于无监督损失,It-1可对应于前一输入图像帧,It可对应于目标输入图像帧,It+1可对应于下一输入图像帧,K可对应于固有矩阵,Mt→t-1可对应于从目标输入图像帧(It)到前一输入图像帧(It-1)的刚性运动的运动向量,Mt→t+1可对应于从目标输入图像帧(It)到下一输入图像帧(It+1)的刚性运动的运动向量,Dt可对应于由监督学习模块112输出的估计的深度,“·”可对应于2D与3D之间的坐标投影,“°”可对应于3D空间中的刚性运动补偿。
在一些实施例中,弱监督学习模块116可计算与目标帧(t)对应的弱标签深度和由监督学习模块112基于目标帧(t)生成的估计的深度(Dt)之间的弱监督损失(Lw)。例如,在一些实施例中,弱标签生成器118可从自输入图像帧(It-1,It,It+1)(或自地面真值深度)得到的信息(例如,诸如语义分割图、粗略深度估计结果等)生成弱标签深度在各种实施例中,弱标签深度可以是基于像素的或基于图像块的。因此,弱标签深度可包括像素对(i,j)或图像块对(p,q),并且可定义像素对(i,j)的像素之间或图像块对(p,q)的区域之间的深度关系(例如,更近/更远)。
等式4:
其中,
Pij=-rij(logDt,i-logDt,j)
在等式4中,Lw可对应于弱监督损失,Dt,i可对应于帧t中的像素i的估计的深度,Dt,j可对应于帧t中的像素j的估计的深度,δ可对应于常数以避免不连续性,Pij可对应于像素i和像素j的常数像素对值。在这种情况下,如果像素i比像素j远,则rij=1,否则(例如,如果像素j比像素i远),则rij=-1。
等式5:
其中,
Pij=-rij(log(mean(Dt,p))-log(mean(Dt,q)))
在等式5中,Lw可对应于弱监督损失,Dt,p可对应于帧t中的区域p的估计的深度,Dt,q可对应于帧t中的区域q的估计的深度,var可对应于方差以抑制离群值(例如,当计算Pij时),mean(mean)可对应于平均值运算。在这种情况下,如果区域p比区域q远,则rij=1,否则(例如,如果区域q比区域p远),则rij=-1。
在一些实施例中,当弱标签深度被生成以包括图像块对(p,q)时,在估计的深度(Dt)中来自区域p和区域q的深度统计的差可被评估。例如,如果区域p和区域q来自相同的语义类,则区域p和区域q的深度分布可彼此相似。在这种情况下,弱监督学习模块116可根据区域p的估计的深度(Dt,p)的直方图与区域q的估计的深度(Dt,g)的直方图之间的卡方(Chi-square)直方图距离来计算弱监督损失(Lw)。例如,在一些实施例中,弱监督学习模块116可根据等式6中所示的弱监督损失函数来计算弱监督损失(Lw)。
等式6:
Lw=ChiSquare(hist(Dt,p),(Dt,q))
在等式6中,Lw可对应于弱监督损失,ChiSquare可对应于两个直方图之间的卡方距离,hist可对应于直方图运算,Dt,p可对应于帧t中的区域p的估计的深度,Dt,q可对应于帧t中的区域q的估计的深度。
在一些实施例中,CV训练***102可被训练以通过并发地优化监督损失函数(例如,等式2中所示)、无监督损失函数(例如,等式3中所示)和弱监督损失函数(例如,等式4、等式5或等式6中所示)来改进单目深度估计。例如,在一些实施例中,因为估计的深度(Dt)用于计算监督损失(Ls)、无监督损失(Lu)和弱监督损失(Lw)中的每个,所以联合优化器120可根据联合损失函数(Lall)(例如,如等式1中所示)来联合优化监督损失函数、无监督损失函数和弱监督损失函数。
图4是根据本公开的一个或多个示例实施例的用于立体匹配的计算机视觉训练***的多学习策略框架的示图。
在本公开的一个或多个示例实施例中,CV训练***102的多学习策略框架可应用于立体匹配(例如,视差估计)。通常,立体匹配(例如,视差估计)是可用于匹配来自具有同一场景的不同视角(例如,不同立体视图)的图像(例如,左图像和右图像)的像素的CV应用。
简要概述,给出与同一场景的不同立体视图对应的多个输入图像(例如,左图像和右图像),监督学习模块112可估计第一图像(例如,左图像)与第二图像(例如,右图像)之间的视差作为监督输出,并且可计算估计的视差与视差的地面真值之间的监督损失。无监督学习模块114可使用估计的视差来生成与根据估计的视差补偿的第一图像和第二图像中的一个对应的变形图像,并且可计算变形图像与第一图像和第二图像中的另一个(例如,未用于生成变形图像的图像)的真实图像(例如,原始图像)之间的无监督光度损失。弱监督学习模块116可计算估计的视差与可从多个输入图像中的相应的输入图像或从地面真值生成的弱标签视差之间的弱监督损失。在一些实施例中,CV训练***102可通过并发地优化监督损失、无监督光度损失和弱监督损失来进行训练。
更详细地,参照图4,在一些实施例中,CV训练***102可接收与同一场景的不同视角(例如,不同立体视图)对应的多个输入图像(Il,Ir)。例如,多个输入图像(Il,Ir)可包括可由不同的源(例如,双相机或不同的相机)(例如,诸如左相机和右相机)生成的左图像(Il)和右图像(Ir)。
在一些实施例中,监督学习模块112可估计多个输入图像(Il,Ir)之间的视差(D)。例如,视差可对应于左图像(Il)与右图像(Ir)之间的差,视差可类似于刚性运动但是在一个方向(例如,左图像(Il)与右图像(Ir)之间的移位方向)上。在这种情况下,在一些实施例中,监督学习模块112可包括视差估计器(例如,视差估计网络)406,以使用如本领域技术人员已知的任何合适的视差估计方法或算法(例如,诸如像素匹配、PSMNet或其他合适的深度神经网络等)来估计左图像(Il)与右图像(Ir)之间的视差(D)。例如,在一些实施例中,视差估计器406可包括被训练为估计左图像(Il)与右图像(Ir)之间的视差(D)的神经网络(例如,CNN、RNN等)。
在一些实施例中,监督学习模块112可计算估计的视差(D)与视差的地面真值(D*)之间的监督损失(Ls)。例如,在一些实施例中,监督学习模块112可根据等式7中所示的监督损失函数来计算监督损失(Ls)。
等式7:
Ls=|D-D*|
在等式7中,Ls可对应于监督损失,D可对应于由视差估计器406输出的估计的视差,D*可对应于估计的视差(D)的地面真值。
在一些实施例中,无监督学习模块114可使用估计的视差(D)来生成变形图像(I′)。在这种情况下,变形图像(I′)可从多个输入图像(Il,Ir)中的任何一个生成。例如,在一些实施例中,无监督学习模块114可包括变形图像变换器402。
在一些实施例中,变形图像变换器402可通过根据估计的视差(D)将左图像(Il)和右图像(Ir)中的任何一个变形来生成变形图像(I′)。例如,变形图像变换器402可基于估计的视差(D)将左图像(Il)和右图像(Ir)中的一个移位来生成变形图像(例如,Il′或Ir′)。在这种情况下,因为视差可对应于左图像(Il)与右图像(Ir)之间的差,所以如果估计的视差(D)被正确地生成,则变形图像(I′)可与另一图像(例如,左图像(Il)和右图像(Ir)中的另一个的原始图像或真实图像)相同或基本相同。例如,如果左图像(Il)用于根据估计的视差(D)生成变形图像(Il′),则如果估计的视差(D)被正确地生成,则变形图像(Il′)可与右图像(Ir)相同或基本相同。类似地,如果右图像(Ir)用于根据估计的视差(D)生成变形图像(Ir′),则如果估计的视差(D)被正确地生成,则变形图像(Ir′)可与左图像(Il)相同或基本相同。
在一些实施例中,无监督学习模块114可根据基于估计的视差(D)生成的变形图像(I′)和多个输入图像(Il,Ir)中的另一个(例如,未用于生成变形图像(I′)的图像)的原始图像来计算无监督光度损失(Lu)。例如,在一些实施例中,无监督学习模块114可根据等式8中所示的无监督损失函数来计算无监督光度损失(Lu)。
等式8:
Lu=||Ir-Il′||2=||Ir-W(Il,D)′||2
在等式8中,Lu可对应于无监督损失,Il′可对应于变形图像(例如,对应于如图4的示例中所示的左图像(Il)),Il可对应于变形图像(例如,在图4中所示的示例中的左图像(Il))的原始图像(或真实图像),Ir可对应于多个输入图像(Il,Ir)之中的另一图像(例如,在图4中所示的示例中的右图像(Ir))的原始图像(或真实图像),D可对应于由监督学习模块112输出的估计的视差,W可对应于变形运算符。
在一些实施例中,弱监督学习模块116可计算弱标签视差与由监督学习模块112生成的估计的视差(D)之间的弱监督损失(Lw)。因为视差可与深度成反比,所以在一些实施例中,弱标签视差可由弱标签生成器118以与弱标签深度类似的方式生成。例如,在一些实施例中,弱标签生成器118可从自变形图像(I′)的原始图像(或自地面真值视差(D*))得到的信息(例如,诸如语义分割图等)生成弱标签视差在各种实施例中,弱标签视差可以是基于像素或基于图像块的。因此,弱标签视差可包括像素对(i,j)或图像块对(p,q),并且可定义视差关系(例如,更小/更大),视差关系(例如,更小/更大)可与像素对(i,j)的像素或图像块对(p,q)的区域之间的深度成反比(例如,如果块p的深度比块q远,则块p的深度大于块q的深度,并且块p的视差小于块q的视差)。
在一些实施例中,除了与估计的视差(D)和弱标签视差对应的信息可用作计算弱标签视差与估计的视差(D)之间的弱监督损失(Lw)的输入之外,弱监督学习模块116可使用与上面参照图3讨论的用于单目深度估计的弱监督损失函数相同或基本相同的弱监督损失函数(例如,等式4、等式5或等式6)来计算用于立体匹配的弱监督损失(Lw)。例如,如本领域普通技术人员将理解,弱监督损失(Lw)可通过使用与弱标签视差对应的像素(i,j)或区域(p,q)中的每个的估计的视差信息,而不是使用如上面参照图3讨论的单目深度估计情况下的对应于与弱标签深度的像素(i,j)或区域(p,q)中的每个的与估计的深度(Dt)对应的深度关系,根据以上讨论的等式4、等式5或等式6中的任何合适的等式来计算。因此,可不重复其冗余描述。
在一些实施例中,CV训练***102可被训练以通过优化监督损失函数(例如,等式7中所示)、无监督损失函数(例如,等式8中所示)和弱监督损失函数(例如,具有与估计的视差(D)和弱标签视差对应的适当的替代的等式4、等式5或等式6中所示)来改进立体匹配。例如,在一些实施例中,因为估计的视差(D)可用于计算监督损失(Ls)、无监督损失(Lu)和弱监督损失(Lw)中的每个,所以联合优化器120可根据联合损失函数(Lall)(例如,如等式1所示)来联合优化监督损失函数、无监督损失函数和弱监督损失函数。
图5A和图5B是根据本公开的一个或多个示例实施例的用于图像/视频增强的计算机视觉训练***的多学习策略框架的示图。
在本公开的一个或多个示例实施例中,CV训练***102的多学习策略框架可应用于图像/视频增强。通常,图像/视频增强是可用于将低分辨率图像调整(例如,增强)为高分辨率图像的CV应用。下文中,可参照图5A和图5B描述超分辨率(SR)网络的环境下的图像/视频增强的非限制性示例,但本公开不限于此,如本领域普通技术人员将理解,参照图5A和图5B描述的相同或基本相同(例如,类似)的架构(例如,多学习策略框架)可用于具有适当修改的其他图像/视频增强的CV应用。
简要概述,给出多个连续的低分辨率(LR)输入帧,监督学习模块112可估计相应的高分辨率(HR)图像作为监督输出,并且可计算估计的HR图像与HR图像的地面真值之间的监督损失。无监督学习模块114可生成(例如,可估计)与估计的HR图像对应的光流,并且可根据光流补偿估计的HR图像中的光学运动。无监督学习模块114可计算变形的估计的HR图像之间的无监督光度损失。弱监督学习模块114可计算估计的HR图像与可从LR输入帧或从地面真值生成的弱标签HR图像之间的弱监督损失。在一些实施例中,可通过并发地优化监督损失、无监督光度损失和弱监督损失来训练CV训练***102。
更详细地,参照图5A和图5B,在一些实施例中,CV训练***102可接收可由单个源(例如,单个相机)生成的多个连续的LR输入图像帧例如,LR输入图像帧可包括可彼此相邻的第一帧(t-1)、第二帧(t)和第三帧(t+1)。
在一些实施例中,监督学习模块112可从LR输入帧估计HR图像作为监督输出。例如,在一些实施例中,监督学习模块112可包括单个图像超分辨率(SISR)网络510,以使用如本领域技术人员已知的任何合适的方法或算法(例如,诸如上采样(例如,双线性/双三次上采样)、基于稀疏码的字典学习、CT-SRCNN或其他合适的神经网络等)从LR输入帧估计HR图像例如,在一些实施例中,SISR网络510可包括被训练为从LR输入帧估计HR图像的神经网络(例如,CNN、RNN等)。
在一些实施例中,监督学习模块112可计算估计的HR图像和HR图像的地面真值(或称为地面真值HR图像)之间的监督损失(Ls)。例如,在一些实施例中,监督学习模块112可根据等式9中所示的监督损失函数来计算估计的HR图像和地面真值HR图像的每个相应的帧对(frame-pair)之间的监督损失(Ls)。
等式9:
Ls=||IHR-IHR*||2
在一些实施例中,无监督学习模块114可补偿估计的HR图像中的光学运动。例如,在一些实施例中,无监督学习模块114可生成(例如,可估计)HR光流以补偿估计的HR图像中的光学运动。光学运动可类似于刚性运动,但是可以是基于全局的而不是基于对象的。因此,虽然刚性运动考虑3D运动(例如,包括深度维度),但是光学运动可考虑估计的HR图像的2D空间(2D图像坐标)中的运动。
在各种实施例中,无监督学习模块114可例如如图5A中所示生成(例如,可估计)LR输入帧的从帧到帧的HR光流或者可例如如图5B中所示直接生成(例如,可估计)估计的HR图像的从帧到帧的HR光流因此,在一些实施例中,无监督学习模块114可如图5A中所示包括光流估计器502和光流SR生成器504以从LR输入帧生成HR光流或者可如图5B中所示包括光流估计器503以从估计的HR图像直接生成HR光流
参照图5A,在一些实施例中,光流估计器502可生成LR输入帧的从帧到帧的LR光流例如,在一些实施例中,光流估计器502可生成LR输入帧的从帧(t)到帧(t-1)的LR光流以及从帧(t)到帧(t+1)的LR光流光流估计器502可使用如本领域技术人员已知的任何合适的光流估计方法或算法(例如,诸如TV-L1光流估计、PWCNet或其他合适的神经网络等)来生成LR光流例如,在一些实施例中,光流估计器502可包括被训练为估计LR输入帧的从帧到帧的LR光流的神经网络(例如,CNN,RNN等)。
在一些实施例中,光流SR生成器504可对LR光流进行上采样以生成(例如,估计)HR光流例如,在一些实施例中,光流SR生成器504可使用任何合适的上采样方法或算法(例如,诸如双线性/双三次插值)对LR光流进行上采样,或者可包括被训练为从LR光流生成HR光流的深度神经网络(例如,CNN、RNN等)。
参考图5B,在一些实施例中,光流估计器503可直接生成估计的HR图像的从帧到帧的HR光流在这种情况下,光流SR生成器504(例如,参见图5A)可被省略。例如,在一些实施例中,光流估计器503可从估计的HR图像直接生成从帧(t)到帧(t-1)的HR光流以及从帧(t)到帧(t+1)的HR光流光流估计器503可使用如本领域技术人员已知的任何合适的光流估计方法或算法(例如,诸如TV-L1光流估计、PWCNet或其他合适的神经网络等)来生成HR光流例如,在一些实施例中,光流估计器503可包括被训练为直接估计估计的HR图像的从帧到帧的HR光流的神经网络(例如,CNN、RNN等)。
在一些实施例中,无监督学习模块114可使用HR光流(例如,由光流SR生成器504或由光流估计器503输出)和估计的HR图像来补偿估计的HR图像中的光学运动。例如,如图5A和图5B所示,在一些实施例中,无监督学习模块114可包括2D变形图像变换器506。在一些实施例中,2D变形图像变换器506可根据HR光流将估计的HR图像的2D图像变形,以将光学运动与估计的HR图像分离。
在一些实施例中,无监督学习模块114可基于HR光流和估计的HR图像来计算无监督光度损失(Lu)。例如,在一些实施例中,无监督学习模块114可根据等式10中所示的无监督损失函数来计算无监督光度损失(Lu)。
等式10:
在等式10中,Lu可对应于无监督损失,可对应于第一LR输入图像帧的估计的高分辨率图像,可对应于第二LR输入图像帧的估计的高分辨率图像,可对应于第三LR输入图像帧的估计的高分辨率图像,可对应于从帧t到帧t-1的光流,可对应于从帧t到帧t+1的光流,“°”可对应于2D变形,W可对应于变形运算符。
在一些实施例中,弱监督学习模块116可计算弱标签HR帧 与由监督学习模块112生成的相应的估计的HR图像之间的弱监督损失(Lw)。例如,在一些实施例中,弱标签生成器118可从自LR输入图像帧得到的信息(例如,诸如语义分割图等)生成弱标签LR帧在这种情况下,在一些实施例中,弱监督学习模块116可包括用于对弱标签LR帧进行上采样以生成弱标签HR帧的上采样器514,但是本公开不限于此。例如,在其他实施例中,弱标签生成器118可从地面真值HR图像直接生成弱标签HR帧并且在这种情况下,上采样器514可被省略。
在各种实施例中,弱标签HR帧可以是基于像素的或基于图像块的。因此,弱标签HR帧可包括像素对(i,j)或图像块对(p,q),并且可定义像素对(i,j)的像素或图像块对(p,q)的区域之间的强度关系(例如,更亮/更暗)。
在一些实施例中,除了与估计的HR图像和弱标签HR帧对应的信息可用作计算弱标签HR帧与估计的HR图像之间的弱监督损失(Lw)的输入之外,弱监督学习模块116可使用与上面参照图3讨论的用于单目深度估计的弱监督损失函数相同或基本相同的弱监督损失函数(例如,等式4、等式5或等式6)来计算用于图像/视频增强的弱监督损失(Lw)。例如,如本领域普通技术人员将理解,弱监督损失(Lw)可通过使用对应于与弱标签HR帧对应的像素(i,j)或区域(p,q)中的每个的估计的HR图像的强度关系(例如,更亮/更暗),而不是使用如上面参照图3讨论的单目深度估计情况下的对应于与弱标签深度对应的像素(i,j)或区域(p,q)中的每个的估计的深度(Dt)的深度关系(例如,更近/更远),根据以上讨论的等式4、等式5或等式6中的任何合适的等式来计算。因此,可不重复其冗余描述。
在一些实施例中,CV训练***102可被训练以通过优化监督损失函数(例如,等式9中所示)、无监督损失函数(例如,等式10中所示)和弱监督损失函数(例如,具有与估计的HR图像和弱标签HR帧对应的适当的替代的等式4、等式5或等式6中所示)来改进图像/视频增强。例如,在一些实施例中,因为估计的HR图像可用于计算监督损失(Ls)、无监督损失(Lu)和弱监督损失(Lw)中的每个,所以联合优化器120可根据联合损失函数(Lall)(例如,如等式1所示)来联合优化监督损失函数、无监督损失函数和弱监督损失函数。
图6是根据本公开的一个或多个示例实施例的用于多视图深度估计的计算机视觉训练***的多学习策略框架的示图。
在本公开的一个或多个示例实施例中,CV训练***102的多学习策略框架可应用于多视图深度估计。通常,多视图深度估计是可用于将不同的输入图像的逐像素的深度图与不同的视图(例如,不同的视场)彼此对齐的CV应用。与立体匹配类似,用于多视图深度估计的输入图像可从不同的源(例如,不同的相机)生成,但是与其中不同的源可彼此良好对齐的立体匹配不同,生成用于多视图深度估计的多个视图的源(例如,相机)可能不是很好地对齐。对于非限制性示例,一个视图可以是对象或场景的前视图,并且另一视图可以是对象或场景的侧视图。
简要概述,给出包括彼此不同的视图(例如,不同的视场)的多个输入图像,监督学习模块可估计在每个输入图像中示出的对象的深度作为监督输出,并且可计算每个输入图像的估计的深度和与每个输入图像的估计的深度对应的地面真值之间的监督损失。无监督学习模块114可根据每个输入图像的估计的深度来生成每个输入图像的3D点云(3D pointcloud),并且可基于输入图像的3D点云中的对齐的特征点的3D坐标之间的距离来计算无监督光度损失。弱监督学习模块114可计算每个输入图像的估计的深度与可从输入图像或从地面真值生成的每个输入图像的弱标签深度之间的弱监督损失。在一些实施例中,CV训练***102可通过并发地优化监督损失、无监督光度损失和弱监督损失来进行训练。
更详细地,参照图6,在一些施例中,CV训练***102可接收与同一场景的不同视图(例如,不同视场)对应的多个输入图像(Ia,Ib)。例如,多个输入图像(Ia,Ib)可包括可由彼此具有不同的视场的不同的源(例如,不同的相机)(例如,诸如前相机和侧相机)生成的第一图像(Ia)和第二图像(Ib)。虽然作为简化示例,图6示出两个图像(Ia)和(Ib)作为输入图像(Ia,Ib),但是本公开不限于此,并且输入图像可包括多于两个的输入图像(Ia,Ib)。
在一些实施例中,监督学习模块112可估计每个输入图像(Ia,Ib)中的对象的深度(Da,Db)作为监督输出。例如,在一些实施例中,监督学习模块112可包括深度估计器(例如,深度估计网络)606,以使用如本领域技术人员已知的任何合适的深度估计方法或算法(例如,诸如条件随机场、编码器-解码器网络等)来估计每个输入图像(Ia,Ib)中的深度(Da,Db)。例如,在一些实施例中,深度估计器606可包括一个或多个编码器-解码器对(例如,编码器-解码器对的网络)以估计每个输入图像(Ia,Ib)中的对象的深度(Da,Db)。
在一些实施例中,监督学习模块112可计算每个输入图像(Ia,Ib)的估计的深度(Da,Db)与每个输入图像(Ia,Ib)的估计的深度的地面真值之间的监督损失(Ls)。例如,在一些实施例中,监督学习模块112可根据等式11中所示的监督损失函数来计算监督损失(Ls)。
等式11:
在一些实施例中,无监督学习模块114可包括逆投影和校准图像变换器602,以根据输入图像(Ia,Ib)的估计的深度(Da,Db)将每个输入图像(Ia,Ib)逆投影到3D空间(例如,相机坐标),并且进一步通过非固有矩阵逆投影到世界坐标。在一些实施例中,逆投影和校准图像变换器602可生成每个输入图像(Ia,Ib)的世界坐标中的3D点云,并且可校准(例如,可对齐)每个3D点云中的彼此对应的公共特征点。换句话说,在一些实施例中,逆投影和校准图像变换器602可基于估计的深度(Da,Db)根据3D世界坐标识别输入图像(Ia,Ib)中的公共区域,并且可根据识别的公共区域将输入图像(Ia,Ib)的3D世界坐标彼此校准(例如,可对齐)。
在一些实施例中,无监督学习模块114可基于每个输入图像(Ia,Ib)的3D点云中的对齐的特征点的3D坐标之间的距离来计算无监督光度损失(Lu)。例如,在一些实施例中,无监督学习模块114可根据等式12中所示的无监督损失函数来计算无监督光度损失(Lu)。
等式12:
在等式12中,Lu可对应于无监督损失,x可对应于在两个相机的公共区域中出现的像素,Ia(x)可对应于由第一相机对齐的像素x的3D世界坐标,Ib(x)可对应于由第二相机对齐的像素x的3D世界坐标,||.||2可对应于两个坐标之间的欧氏距离(Euclideandistance)。
在一些实施例中,弱监督学习模块116可计算与每个输入图像(Ia,Ib)对应的弱标签深度和由监督学习模块112生成的每个输入图像(Ia,Ib)的估计的深度(Da,Db)之间的弱监督损失(Lw)。例如,在一些实施例中,弱标签生成器118可生成每个输入图像(Ia,Ib)的弱标签深度并且弱监督学习模块116可以以与上面参照图3在单目深度估计情况下描述的方式相同或基本相同的方式来计算弱标签深度与估计的深度(Da,Db)之间的弱监督损失(Lw),因此,可不重复其冗余描述。
在一些实施例中,CV训练***102可被训练以通过并发地优化监督损失函数(例如,等式11中所示)、无监督损失函数(例如,等式12中所示)和弱监督损失函数(例如,等式4、等式5或等式6中所示)来改进多视图深度估计。例如,在一些实施例中,因为估计的深度(Da,Db)可用于计算监督损失(Ls)、无监督损失(Lu)和弱监督损失(Lw)中的每个,所以联合优化器120可根据联合损失函数(Lall)(例如,如等式1中所示)来联合优化监督损失函数、无监督损失函数和弱监督损失函数。
下面的表1示出根据本公开的一个或多个示例实施例的CV训练***102的各种不同的多学习策略框架的有效性。作为非限制性示例,表1示出使用KITTI街景数据集作为训练数据集,如应用于上面参照图3描述的单目深度估计CV应用的CV训练***102的各种不同的学习策略框架。
表1:
在表1中,RMSE可对应于均方根误差,REL可对应于相对误差,S可仅表示监督学习框架,S+U可表示监督学习框架加上无监督学习框架,S+W可表示监督学习框架加上弱监督学习框架,S+U+W可表示监督学习框架加上无监督学习框架加上弱监督学习框架。
如表1中所示,监督学习框架加上无监督学习框架S+U和监督学习框架加上弱监督学习框架S+W中的每个比仅监督学习框架S执行得好。此外,监督学习框架加上无监督学习框架加上弱监督学习框架S+U+W可比监督学习框架加上无监督学习框架S+U和监督学习框架加上弱监督学习框架S+W中的每个执行得好。因此,如根据以上本公开的一个或多个示例实施例所描述的,可通过组合这些框架中的至少两个来提供更准确的深度学习神经网络。
图7A和图7B是示出根据本公开的一个或多个示例实施例的应用于上面描述的各种不同的计算机视觉应用的计算机视觉训练***的多学习策略框架的概述的表。图8是根据本公开的一个或多个示例实施例的训练计算机视觉训练***的方法的流程图。本公开不限于图8中所示的方法800的操作的顺序或数量,并且可被改变成如本领域普通技术人员所认识的任何期望的操作的顺序或数量。例如,在一些实施例中,顺序可变化,或者方法可包括更少的或附加的操作。此外,方法800中所示的操作可由上面描述的一个或多个示例实施例的组件中的任何合适的组件之一或任何合适的组件组合来执行。
参照图7A、图7B和图8,多帧/多图像输入可被CV训练***102接收,并且方法800可开始。例如,根据目标CV应用,多帧/多图像输入可由单个源(例如,单个相机)或由多个源(例如,双相机或不同相机)生成。在块805,可估计多帧/多图像输入的监督输出。在一些实施例中,监督学习模块112可根据目标CV应用估计监督输出。例如,如果目标CV应用对应于单目深度估计,则监督输出(例如,估计的监督项)可对应于深度(Dt),如果目标CV应用对应于立体匹配,则监督输出(例如,估计的监督项)可对应于视差(D),如果目标CV应用对应于图像/视频增强,则监督输出(例如,估计的监督项)可对应于HR图像和/或如果目标CV应用对应于多视图深度估计,则监督输出(例如,估计的监督项)可对应于多视图深度(Da,Db)。
在一些实施例中,在块810,可根据估计的监督输出和地面真值来确定监督损失。例如,在一些实施例中,监督学习模块112可根据估计的监督输出和与监督输出对应的地面真值来确定(例如,可生成、可计算、可最小化等)监督损失(Ls)函数。在此情况下,例如,如果目标CV应用对应于单目深度估计,则监督损失(Ls)可在深度(Dt)与地面真值深度之间对应,如果目标CV应用对应于立体匹配,则监督损失(Ls)可在视差(D)与地面真值视差(D*)之间对应,如果目标CV应用对应于图像/视频增强,则监督损失(Ls)可在HR图像与地面真值HR图像之间对应,和/或如果目标CV应用对应于多视图深度估计,则监督损失(Ls)可在多视图深度(Da,Db)与地面真值多视图深度之间对应。
在一些实施例中,在块815,可根据多帧/多图像输入和估计的监督输出来确定无监督损失。例如,在一些实施例中,无监督学习模块114可使用监督输出将与多帧/多图像输入中的一个或多个对应的图像变换或变形。例如,如果目标CV应用对应于单目深度估计,则变换的或变形的图像可对应于刚性运动补偿和基于估计的深度(Dt)的2D到3D坐标投影,如果目标CV应用对应于立体匹配,则变换的或变形的图像可对应于基于估计的视差(D)的生成的变形图像(I′),如果目标CV应用对应于图像/视频增强,则变换的或变形的图像可对应于光流估计和基于估计的HR图像的2D HR图像变形,和/或如果目标CV应用对应于多视图深度估计,则变换的或变形的图像可对应于透视投影和基于估计的多视图深度(Da,Db)的3D点云中的对齐的点的校准。
在一些实施例中,无监督学习模块114可使用变换的或变形的图像来确定(例如,生成、计算、最小化等)无监督损失(Ls)函数。例如,在一些实施例中,如果目标CV应用对应于单目深度估计,则无监督损失(Lu)函数可对应于刚性运动补偿与基于估计的深度(Dt)和多帧/多图像输入的相应的原始(或真实图像)的2D到3D坐标投影之间的光度损失,如果目标CV应用对应于立体匹配,则无监督损失(Lu)函数可对应于基于估计的视差(D)的生成的变形图像(I′)与变形图像的原始(或真实图像)之间的光度损失,如果目标CV应用对应于图像/视频增强,则无监督损失(Lu)函数可对应于光流估计与基于估计的HR图像和估计的HR光流的2D HR图像变形之间的光度损失,和/或如果目标CV应用对应于多视图深度估计,则无监督损失(Lu)函数可对应于基于估计的多视图深度(Da,Db)的3D点云中的对齐的点之间的距离。
在一些实施例中,在块820,可生成与多帧/多图像输入对应的弱标签(例如,弱监督标签)。例如,在一些实施例中,弱标签生成器118可从多帧/多图像输入或从对应的地面真值生成弱标签。由弱标签生成器118生成的弱标签可以是基于像素的或基于图像块的,并且可定义用于目标CV应用的弱标签的像素对或图像块对之间的合适的关系(例如,深度关系、视差关系、强度关系等)。
在一些实施例中,在块825,可根据弱标签和估计的监督输出来确定弱监督损失。例如,在一些实施例中,弱监督学习模块116可确定(例如,可生成、可计算、可最小化等)用于将弱标签与估计的监督输出进行比较的弱监督损失(Lw)函数。在此情况下,如果目标CV应用对应于单目深度估计,则弱监督损失(Lw)函数可用于评估弱标签深度与估计的深度(Dt)之间的一致性,如果目标CV应用对应于立体匹配,则弱监督损失(Lw)函数可用于评估弱标签视差与估计的视差(D)之间的一致性,如果目标CV应用对应于图像/视频增强,则弱监督损失(Lw)函数可用于评估弱标签HR帧与估计的HR图像之间的一致性,和/或如果目标CV应用对应于多视图深度估计,则弱监督损失(Lw)函数可用于评估弱标签深度与估计的深度(Da,Db)之间的一致性。
在一些实施例中,在块830,可根据监督损失、无监督损失和弱监督损失来计算组合损失函数。例如,在一些实施例中,联合优化器120可根据监督损失(LS)函数、无监督损失(LU)函数和弱监督损失(Lw)函数生成(例如,可确定、可计算、可最小化等)联合损失函数(Lall)(例如,如等式1中所示)。在一些实施例中,联合优化器120可应用合适的权重(ws,wu,ww)来平衡联合损失函数(Lall)中的监督损失(LS)函数、无监督损失(LU)函数和弱监督损失(Lw)函数中的每个。例如,在一些实施例中,权重(ws,wu,ww)可根据针对相应的CV应用的消融研究来确定(例如,可设置)。
在一些实施例中,在块835,可优化组合损失函数,并且方法800可结束。例如,在一些实施例中,CV训练***102可通过优化(例如,最小化)与监督损失(LS)函数、无监督损失(LU)函数和弱监督损失(Lw)函数对应的联合损失函数(Lall)来针对相应的CV应用进行端到端训练。根据本公开的一个或多个示例实施例,因为估计的监督输出可用于计算监督损失(Ls)、无监督损失(Lu)和弱监督损失(Lw)中的每个,所以联合优化器120可使用联合损失函数(Lall)(例如,如等式1所示)并发地优化监督损失(LS)函数、无监督损失(LU)函数和弱监督损失(Lw)函数。因此,CV训练***102的性能可提高。
在附图中,为了清楚,元件、层和区域的相对尺寸可被夸大和/或简化。为了便于解释,在此可使用诸如“在……之下”、“在……下方”、“下面的”,“在……下面”,“在……之上”,“上面的”等的空间相对术语来描述如图中所示的一个元件或特征与另一元件或特征的关系。将理解,空间相对术语意在包含除了附图中描绘的方向之外的装置在使用中或在操作中的不同方向。例如,如果附图中的装置被翻转,则被描述为“在”其他元件或特征“之下”或“下方”或“下面”的元件将位于其他元件或特征“之上”。因此,示例术语“在……下方”和“在……下面”可包含“在……之上”和“在……下方”两种方向。装置可被另外定位(例如,旋转90度或在其他方向),并且这里使用的空间相对描述符应被相应地解释。
将理解,尽管在此可使用术语“第一”、“第二”、“第三”等来描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受这些术语限制。这些术语用于将一个元件、组件、区域、层或部分与另一元件、组件、区域、层或部分区分开来。因此,在不脱离本公开的精神和范围的情况下,下面描述的第一元件、第一组件、第一区域、第一层或第一部分可被称为第二元件、第二组件、第二区域、第二层或第二部分。
将理解,当元件或层被称为“在”另一元件或层“上”、“连接到”或“结合到”另一元件或层时,该元件或层可直接“在”另一元件或层上,直接“连接到”或直接“结合到”另一元件或层,或者可存在一个或多个中间元件或层。另外,还将理解,当元件或层被称为“在”两个元件或层“之间”时,该元件或层可以是两个元件或层之间的唯一元件或层,或者还可存在一个或多个中间元件或层。
在此使用的术语用于描述特定实施例的目的,而不意在限制本公开。如在此所使用的,除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。还将理解,当在本说明书中使用术语“包括”、“包含”和“具有”及其变型时,说明存在叙述的特征、整体、步骤、操作、元件和/或组件,但并不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组。如在此所使用的,术语“和/或”包括相关联的所列项中的一个或多个的任何组合和所有组合。当诸如“……中的至少一个”的表述在一列元素之后时,该表述修饰整列元素而不是修饰列中的单个元素。
如在此所使用的,术语“基本上”、“约”和类似术语用作近似的术语而不用作程度的术语,并且意在解释将由本领域普通技术人员认可的测量或计算的值的固有偏差。此外,当描述本公开的实施例时,“可”的使用表示“本公开的一个或多个实施例”。如在此所使用的,术语“使用”、“正在使用”和“被使用”可被分别认为与术语“利用”、“正在利用”和“被利用”同义。此外,术语“示例性”意在表示示例或说明。
根据在此描述的本公开的实施例的电子或电气装置和/或任何其他相关装置或组件可利用任何合适的硬件、固件(例如,专用集成电路)、软件或者软件、固件和硬件的组合来实现。例如,这些装置的各种组件可形成在一个集成电路(IC)芯片上或形成在分开的IC芯片上。此外,这些装置的各种组件可被实现在柔性印刷电路膜、带载封装(TCP)、印刷电路板(PCB)上,或者形成在一个基底上。此外,这些装置的各种组件可以是在一个或多个计算装置中的一个或多个处理器上运行的、执行计算机程序指令并与其他***组件交互以用于执行在此描述的各种功能的进程或线程。计算机程序指令被存储在存储器中,其中,可使用标准存储器装置(诸如,以随机存取存储器(RAM)为例)在计算装置中实现该存储器。计算机程序指令还可被存储在其他非暂时性计算机可读介质(诸如,以CD-ROM、闪存驱动器等为例)中。此外,本领域技术人员应认识到:在不脱离本公开的示例性实施例的精神和范围的情况下,各种计算装置的功能可被组合或集成到单个计算装置,或者特定计算装置的功能可被分布在一个或多个其他计算装置上。
除非另外定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。还将理解,除非在此明确地如此定义,否则术语(诸如,在通用词典中定义的术语)应被解释为具有与它们在相关领域和/或本说明书的上下文中的含义一致的含义,并且不应以理想化或过于形式化的意义进行解释。
尽管已经描述了一些示例实施例,但是本领域技术人员将容易地理解,在不脱离本公开的精神和范围的情况下,在示例实施例中进行各种修改是可行的。将理解,除非另有描述,否则每个实施例内的特征或方面的描述通常应当被认为可用于其他实施例中的其他类似特征或方面。因此,将理解,前述内容是各种示例实施例的说明,而不应被解释为限于在此公开的特定示例实施例,并且对公开的示例实施例以及其他示例实施例的各种修改意在被包括在如所附权利要求及其等同物中限定的本公开的精神和范围内。
Claims (20)
1.一种计算机视觉训练***,包括:
监督学习***,被配置为:根据目标计算机视觉应用从一个或多个输入图像估计监督输出,并且根据监督输出和监督输出的地面真值来确定监督损失;
无监督学习***,被配置为:根据监督输出和所述一个或多个输入图像来确定无监督损失;
弱监督学习***,被配置为:根据监督输出和与所述一个或多个输入图像对应的弱标签来确定弱监督损失;以及
联合优化器,被配置为:优化监督损失、无监督损失和弱监督损失。
2.根据权利要求1所述的***,其中,目标计算机视觉应用对应于单目深度估计,并且监督输出对应于从所述一个或多个输入图像之中的目标图像估计的深度。
3.根据权利要求2所述的***,其中,无监督学习***被配置为:根据估计的深度将与所述一个或多个输入图像对应的2维图像坐标转换为3维坐标,并且至少基于3维坐标计算无监督损失。
4.根据权利要求1所述的***,其中,目标计算机视觉应用对应于立体匹配,并且监督输出对应于所述一个或多个输入图像之中的左图像与右图像之间估计的视差。
5.根据权利要求4所述的***,其中,无监督学习***被配置为:根据估计的视差来将左图像和右图像中的一个移位以生成变形图像,并且至少基于变形图像来计算无监督损失。
6.根据权利要求1所述的***,其中,目标计算机视觉应用对应于图像/视频增强,并且监督输出对应于从所述一个或多个输入图像之中的低分辨率输入图像估计的高分辨率图像。
7.根据权利要求6所述的***,其中,无监督学习***被配置为:估计与估计的高分辨率图像对应的光流,并且至少基于估计的光流和估计的高分辨率图像来计算无监督损失。
8.根据权利要求1所述的***,其中,目标计算机视觉应用对应于多视图深度估计,并且监督输出对应于在所述一个或多个输入图像之中的多个输入帧中的每个输入帧中估计的深度。
9.根据权利要求1至8中的任意一项所述的***,其中,联合优化器被配置为:根据联合损失函数并发地优化监督损失、无监督损失和弱监督损失,联合损失函数包括监督损失、无监督损失和弱监督损失的相应的权重。
10.根据权利要求1至8中的任意一项所述的***,还包括:弱标签生成器,弱标签生成器用于将弱标签生成为基于图像块的弱标签,基于图像块的弱标签具有与所述一个或多个输入图像的不同的裁剪区域对应的图像块对,基于图像块的弱标签定义与图像块对的裁剪区域之间的监督输出对应的关系。
11.一种用于训练计算机视觉***的方法,所述方法包括:
根据目标计算机视觉应用从一个或多个输入图像估计监督输出;
根据监督输出和监督输出的地面真值来确定监督损失;
根据监督输出和所述一个或多个输入图像来确定无监督损失;
根据监督输出和与所述一个或多个输入图像对应的弱标签来确定弱监督损失;以及
优化监督损失、无监督损失和弱监督损失。
12.根据权利要求11所述的方法,其中,目标计算机视觉应用对应于单目深度估计,并且监督输出对应于从所述一个或多个输入图像之中的目标图像估计的深度。
13.根据权利要求12所述的方法,还包括:
根据估计的深度将与所述一个或多个输入图像对应的2维图像坐标转换为3维坐标;以及
至少基于3维坐标计算无监督损失。
14.根据权利要求11所述的方法,其中,目标计算机视觉应用对应于立体匹配,并且监督输出对应于所述一个或多个输入图像之中的左图像与右图像之间估计的视差。
15.根据权利要求14所述的方法,还包括:
根据估计的视差将左图像和右图像中的一个移位以生成变形图像;以及
至少基于变形图像来计算无监督损失。
16.根据权利要求11所述的方法,其中,目标计算机视觉应用对应于图像/视频增强,并且监督输出对应于从所述一个或多个输入图像之中的低分辨率输入图像估计的高分辨率图像。
17.根据权利要求16所述的方法,还包括:
估计与估计的高分辨率图像对应的光流;以及
至少基于估计的光流和估计的高分辨率图像来计算无监督损失。
18.根据权利要求11所述的方法,其中,目标计算机视觉应用对应于多视图深度估计,并且监督输出对应于在所述一个或多个输入图像之中的多个输入帧中的每个输入帧中估计的深度。
19.根据权利要求11至18中的任意一项所述的方法,其中,优化的步骤包括:
根据联合损失函数并发地优化监督损失、无监督损失和弱监督损失,联合损失函数包括监督损失、无监督损失和弱监督损失的相应的权重。
20.根据权利要求11至18中的任意一项所述的方法,还包括:
将弱标签生成为基于图像块的弱标签,基于图像块的弱标签具有与所述一个或多个输入图像的不同的裁剪区域对应的图像块对,基于图像块的弱标签定义与图像块对的裁剪区域之间的监督输出对应的关系。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962927625P | 2019-10-29 | 2019-10-29 | |
US62/927,625 | 2019-10-29 | ||
US202062966975P | 2020-01-28 | 2020-01-28 | |
US62/966,975 | 2020-01-28 | ||
US16/872,199 US11429805B2 (en) | 2019-10-29 | 2020-05-11 | System and method for deep machine learning for computer vision applications |
US16/872,199 | 2020-05-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112750133A true CN112750133A (zh) | 2021-05-04 |
Family
ID=75585924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011179933.3A Pending CN112750133A (zh) | 2019-10-29 | 2020-10-29 | 计算机视觉训练***和用于训练计算机视觉***的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11429805B2 (zh) |
KR (1) | KR20210053202A (zh) |
CN (1) | CN112750133A (zh) |
TW (1) | TW202117611A (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868439B2 (en) * | 2020-11-13 | 2024-01-09 | Toyota Research Institute, Inc. | Mixed-batch training of a multi-task network |
US20220189049A1 (en) * | 2020-12-12 | 2022-06-16 | Niantic, Inc. | Self-Supervised Multi-Frame Monocular Depth Estimation Model |
US20230035454A1 (en) * | 2021-07-23 | 2023-02-02 | Waymo Llc | Generating optical flow labels from point clouds |
CN113780390B (zh) * | 2021-08-31 | 2023-06-09 | 中国人民解放军战略支援部队信息工程大学 | 基于重构映射一致的无监督密集匹配方法及*** |
US20230080638A1 (en) * | 2021-09-13 | 2023-03-16 | Toyota Research Institute, Inc. | Systems and methods for self-supervised learning of camera intrinsic parameters from a sequence of images |
CN114299429A (zh) * | 2021-12-24 | 2022-04-08 | 宁夏广天夏电子科技有限公司 | 一种基于深度学习的人体识别方法、***及装置 |
US20230245450A1 (en) * | 2022-02-03 | 2023-08-03 | Robert Bosch Gmbh | Learning semantic segmentation models in the absence of a portion of class labels |
US11856203B1 (en) * | 2022-03-22 | 2023-12-26 | Apple Inc. | Neural face video compression using multiple views |
CN114972758B (zh) * | 2022-06-06 | 2024-05-31 | 上海人工智能创新中心 | 一种基于点云弱监督的实例分割方法 |
TWI823416B (zh) * | 2022-06-08 | 2023-11-21 | 鴻海精密工業股份有限公司 | 深度估計網路之訓練方法、裝置、電子設備及存儲介質 |
CN116563549B (zh) * | 2023-05-16 | 2023-12-15 | 中国人民解放军国防科技大学 | 基于粗粒度弱标注的磁共振图像心脏分割方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003044687A1 (en) | 2001-11-16 | 2003-05-30 | Yuan Yan Chen | Pausible neural network with supervised and unsupervised cluster analysis |
US7039239B2 (en) | 2002-02-07 | 2006-05-02 | Eastman Kodak Company | Method for image region classification using unsupervised and supervised learning |
US8296247B2 (en) | 2007-03-23 | 2012-10-23 | Three Palm Software | Combination machine learning algorithms for computer-aided detection, review and diagnosis |
US9104186B2 (en) | 2012-06-04 | 2015-08-11 | Brain Corporation | Stochastic apparatus and methods for implementing generalized learning rules |
US9224071B2 (en) | 2012-11-19 | 2015-12-29 | Microsoft Technology Licensing, Llc | Unsupervised object class discovery via bottom up multiple class learning |
US9594983B2 (en) | 2013-08-02 | 2017-03-14 | Digimarc Corporation | Learning systems and methods |
US10115055B2 (en) | 2015-05-26 | 2018-10-30 | Booking.Com B.V. | Systems methods circuits and associated computer executable code for deep learning based natural language understanding |
US10824916B2 (en) * | 2018-09-10 | 2020-11-03 | Sri International | Weakly supervised learning for classifying images |
-
2020
- 2020-05-11 US US16/872,199 patent/US11429805B2/en active Active
- 2020-10-21 KR KR1020200136606A patent/KR20210053202A/ko unknown
- 2020-10-26 TW TW109137018A patent/TW202117611A/zh unknown
- 2020-10-29 CN CN202011179933.3A patent/CN112750133A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
TW202117611A (zh) | 2021-05-01 |
US20210124985A1 (en) | 2021-04-29 |
US11429805B2 (en) | 2022-08-30 |
KR20210053202A (ko) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112750133A (zh) | 计算机视觉训练***和用于训练计算机视觉***的方法 | |
US11308638B2 (en) | Depth estimation method and apparatus, electronic device, program, and medium | |
Loo et al. | CNN-SVO: Improving the mapping in semi-direct visual odometry using single-image depth prediction | |
Shivakumar et al. | Dfusenet: Deep fusion of rgb and sparse depth information for image guided dense depth completion | |
JP7106665B2 (ja) | 単眼深度推定方法およびその装置、機器ならびに記憶媒体 | |
US11763433B2 (en) | Depth image generation method and device | |
Zhu et al. | Cross-modality 3d object detection | |
Guizilini et al. | Full surround monodepth from multiple cameras | |
US12019706B2 (en) | Data augmentation for object detection via differential neural rendering | |
US11875490B2 (en) | Method and apparatus for stitching images | |
Yan et al. | Learning complementary correlations for depth super-resolution with incomplete data in real world | |
Mehl et al. | M-fuse: Multi-frame fusion for scene flow estimation | |
Zhang et al. | Simbar: Single image-based scene relighting for effective data augmentation for automated driving vision tasks | |
Abraham et al. | A survey on video inpainting | |
Zhang et al. | The farther the better: Balanced stereo matching via depth-based sampling and adaptive feature refinement | |
Arampatzakis et al. | Monocular depth estimation: A thorough review | |
Liu et al. | Unsupervised optical flow estimation for differently exposed images in ldr domain | |
CN111882613B (zh) | 基于边缘语义的视觉里程计方法、装置、存储介质及设备 | |
Long et al. | Detail preserving residual feature pyramid modules for optical flow | |
CN115239559A (zh) | 一种融合视图合成的深度图超分辨率方法及*** | |
Pan et al. | An automatic 2D to 3D video conversion approach based on RGB-D images | |
US12026627B2 (en) | System and method for deep machine learning for computer vision applications | |
Karpur et al. | Lfm-3d: Learnable feature matching across wide baselines using 3d signals | |
US20220391632A1 (en) | System and method for deep machine learning for computer vision applications | |
Han et al. | A visual slam algorithm based on dual attention semantic segmentation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |