CN116547711A - 图像分割过程的一致性度量 - Google Patents
图像分割过程的一致性度量 Download PDFInfo
- Publication number
- CN116547711A CN116547711A CN202180075277.9A CN202180075277A CN116547711A CN 116547711 A CN116547711 A CN 116547711A CN 202180075277 A CN202180075277 A CN 202180075277A CN 116547711 A CN116547711 A CN 116547711A
- Authority
- CN
- China
- Prior art keywords
- image
- segmentation
- feature
- determining
- image frame
- 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 185
- 238000003709 image segmentation Methods 0.000 title claims abstract description 163
- 230000008569 process Effects 0.000 title claims description 88
- 230000011218 segmentation Effects 0.000 claims abstract description 446
- 238000011524 similarity measure Methods 0.000 claims abstract description 131
- 230000002123 temporal effect Effects 0.000 claims abstract description 96
- 238000013528 artificial neural network Methods 0.000 claims description 62
- 238000005259 measurement Methods 0.000 claims description 45
- 238000010801 machine learning Methods 0.000 claims description 44
- 230000015654 memory Effects 0.000 claims description 38
- 239000013598 vector Substances 0.000 claims description 32
- 238000000605 extraction Methods 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 description 63
- 230000006870 function Effects 0.000 description 41
- 238000011176 pooling Methods 0.000 description 34
- 238000012549 training Methods 0.000 description 24
- 230000004913 activation Effects 0.000 description 22
- 238000001994 activation Methods 0.000 description 22
- 230000003287 optical effect Effects 0.000 description 22
- 230000011664 signaling Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 16
- 238000013527 convolutional neural network Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 230000033001 locomotion Effects 0.000 description 8
- 230000005291 magnetic effect Effects 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 241000289581 Macropus sp. Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000009022 nonlinear effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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/174—Segmentation; Edge detection involving the use of two or more images
-
- 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
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- 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/048—Activation functions
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- 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/10016—Video; Image sequence
-
- 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/10024—Color image
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30236—Traffic on road, railway or crossing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
提供用于确定图像分割的一致性度量的技术。例如,系统可以确定与第一图像帧的第一分割掩码相关联的第一分割特征。该系统可以确定与第二图像帧的第二分割掩码相关联的第二分割特征。第二分割特征对应于第一分割特征。该系统可以确定对应于第一分割特征的第一图像帧的第一图像特征,以及对应于第二分割特征的第二图像帧的第二图像特征。该系统可以确定第一图像特征与第二图像特征之间的第一相似性测量。该系统还可以至少部分地基于第一相似性测量来确定与第一图像帧和第二图像帧相关联的时间一致性测量。
Description
技术领域
本公开大体上涉及评估图像分割过程。例如,本公开的一些方面涉及确定图像分割过程的时间一致性度量。
背景技术
许多设备和系统允许通过产生场景的图像(或帧)和/或视频数据(包括多个帧)来捕捉场景。例如,摄像机或包括摄像机的设备可以捕捉场景的帧序列(例如,场景的视频)。在一些情况下,帧序列可以被处理用于执行一个或多个功能,可以被输出用于显示,可以被输出用于由其他设备处理和/或消耗,以及其他用途。
对帧序列执行的常见类型的处理是图像分割,其涉及将图像和视频帧分割成多个部分。例如,图像和视频帧可以被分割为前景和背景部分。然后可以将分割的图像和视频帧用于各种应用。使用图像分割的应用众多,包括例如计算机视觉系统、扩展现实系统、数据压缩、图像分割、自主车辆操作以及其他应用。需要有效的技术来测量各种图像分割过程的质量和/或性能。
发明内容
本文描述了可以被实现以确定图像分割过程的一致性度量的系统和技术。根据至少一个示例,提供用于确定图像分割过程的一致性度量的装置。示例性装置可以包括至少一个存储器(一个存储器或多个存储器设备)以及耦合到该存储器的处理器或多个处理器(例如,用电路实现)。处理器(或多个处理器)被配置成:确定与多个图像帧的第一图像帧的第一分割掩码相关联的第一分割特征;确定与多个图像帧的第二图像帧的第二分割掩码相关联的第二分割特征,该第二分割特征对应于第一分割特征;确定对应于第一分割特征的第一图像帧的第一图像特征;确定对应于第二分割特征的第二图像帧的第二图像特征;确定第一图像特征与第二图像特征之间的第一相似性测量;以及至少部分地基于该第一相似性测量来确定与第一图像帧和第二图像帧相关联的时间一致性测量。
在另一示例中,提供用于确定图像分割过程的一致性度量的方法。示例性方法可以包括确定与多个图像帧的第一图像帧的第一分割掩码相关联的第一分割特征。该方法还可以包括确定与多个图像帧的第二图像帧的第二分割掩码相关联的第二分割特征,该第二分割特征对应于第一分割特征。该方法可以包括确定对应于第一分割特征的第一图像帧的第一图像特征。该方法还可以包括确定对应于第二分割特征的第二图像帧的第二图像特征。该方法可以还包括确定第一图像特征与第二图像特征之间的第一相似性测量。该方法可以还包括至少部分地基于第一相似性测量来确定与第一图像帧和第二图像帧相关联的时间一致性测量。
在另一示例中,提供用于确定图像分割过程的一致性度量的非暂时性计算机可读介质。示例性非暂时性计算机可读介质可以存储指令,这些指令在由一个或多个处理器执行时,使得一个或多个处理器:确定与多个图像帧的第一图像帧的第一分割掩码相关联的第一分割特征;确定与多个图像帧的第二图像帧的第二分割掩码相关联的第二分割特征,该第二分割特征对应于第一分割特征;确定对应于第一分割特征的第一图像帧的第一图像特征;确定对应于第二分割特征的第二图像帧的第二图像特征;确定第一图像特征与第二图像特征之间的第一相似性测量;以及至少部分地基于该第一相似性测量来确定与第一图像帧和第二图像帧相关联的时间一致性测量。
在另一示例中,提供一种装置,包括:用于确定与多个图像帧的第一图像帧的第一分割掩码相关联的第一分割特征的部件;用于确定与多个图像帧的第二图像帧的第二分割掩码相关联的第二分割特征的部件,该第二分割特征对应于第一分割特征;用于确定对应于第一分割特征的第一图像帧的第一图像特征的部件;用于确定对应于第二分割特征的第二图像帧的第二图像特征的部件;用于确定第一图像特征与第二图像特征之间的第一相似性测量的部件;以及用于至少部分地基于该第一相似性测量来确定与第一图像帧和第二图像帧相关联的时间一致性测量的部件。
在一些方面,在多个图像帧中该第一图像帧可以与第二图像帧相邻。在其他方面,多个图像帧可以包括在第一图像帧与第二图像帧之间的至少一个中间图像帧。
在一些方面,上文所描述的方法、装置和计算机可读介质可以包括:至少部分地基于以下各项来确定第二分割特征对应于第一分割特征:确定与第二分割掩码相关联的多个分割特征,该多个分割特征包括第二分割特征;确定第一分割特征和与第二分割掩码相关联的多个分割特征之间的多个相似性测量;以及确定多个相似性测量中的最高相似性测量对应于第二分割特征。
在一些方面,上文所描述的方法、装置和计算机可读介质可以包括:使用为图像分割而训练的机器学习模型来确定与第一分割掩码和第二分割掩码相关联的分割特征。在一些方面,为图像分割而训练的机器学习模型可以是包括多个层的神经网络。在一些示例中,确定与第一分割掩码和第二分割掩码相关联的分割特征可以包括获得由神经网络的多个层中的层输出的一个或多个特征图。
在一些方面,上文所描述的方法、装置和计算机可读介质可以包括:使用为特征提取而训练的机器学习模型来确定第一图像帧的图像特征和第二图像帧的图像特征。
在一些方面,上文所描述的方法、装置和计算机可读介质可以包括:确定第一图像帧内对应于第一分割特征的第一定位;至少部分地基于该第一定位来确定第一图像帧的第一图像特征;确定第二图像帧内对应于第二分割特征的第二定位;以及至少部分地基于该第二定位来确定第二图像帧的第二图像特征。
在一些方面,确定第一图像特征与第二图像特征之间的第一相似性测量可以包括比较对应于第一图像特征的第一图像数据与对应于第二图像特征的第二图像数据。
在一些方面,确定第一图像特征与第二图像特征之间的第一相似性测量可以包括比较对应于第一图像特征的第一特征向量与对应于第二图像特征的第二特征向量。在一些示例中,第一图像特征与第二图像特征之间的第一相似性测量可以是余弦相似性测量。
在一些方面,上文所描述的方法、装置和计算机可读介质可以包括:确定与第一分割掩码相关联的第三分割特征;确定与第二分割掩码相关联的第四分割特征,该第四分割特征对应于第三分割特征;确定对应于第三分割特征的第一图像帧的第三图像特征;确定对应于第四分割特征的第二图像帧的第四图像特征;以及确定第三图像特征与第四图像特征之间的第二相似性测量。一些方面可以还包括至少部分地基于第一相似性测量和第二相似性测量的代表值来确定与第一图像帧和第二图像帧相关联的时间一致性测量。
在一些方面,上文所描述的方法、装置和计算机可读介质可以包括:基于时间一致性测量,产生与第一图像帧和第二图像帧相关联的时间一致性图,其中该时间一致性图存储与第一图像特征相关联的第一相似性测量和与第二图像特征相关联的第二相似性测量。
在一些方面,上文所描述的方法、装置和计算机可读介质可以包括:确定与多个图像帧的第三图像帧的第三分割掩码相关联的第三分割特征,该第三分割特征对应于第二分割特征;确定对应于第三分割特征的第三图像帧的第三图像特征;以及确定第二图像特征与第三图像特征之间的第二相似性测量。一些方面可以还包括至少部分地基于第一相似性测量和第二相似性测量来确定与第一图像帧和第三图像帧相关联的时间一致性测量。
在一些方面,上文所描述的方法、装置和计算机可读介质可以包括:使用为图像分割而训练的机器学习模型来产生第一分割掩码和第二分割掩码;以及至少部分地基于时间一致性测量来确定该机器学习模型的质量,其中时间一致性测量的值与机器学习模型的质量相关联。
一些方面可以还包括:使用为图像分割而训练的机器学习模型来产生第一分割掩码和第二分割掩码;以及使用第一相似性测量作为反馈来训练该用于图像分割的机器学习模型。
在一些方面,计算设备和/或装置是、部分是和/或包括移动设备(例如,移动电话或所谓的“智能电话”或其他移动设备)、可穿戴设备、扩展现实(XR)设备(例如,虚拟现实(VR)设备、增强现实(AR)设备或混合现实(MR)设备)、车辆或计算设备或车辆组件(例如,自主车辆)、机器人设备或系统或者机器人设备或系统的计算设备或组件、个人计算机、膝上型计算机、服务器计算机、摄像机或其他设备。在一些方面,计算设备、装置和/或车辆包括用于捕捉一个或多个图像的摄像机或多个摄像机。在一些方面,计算设备、装置和/或车辆还包括用于显示一个或多个图像、通知和/或其他可显示数据的显示器。在一些方面,上文所描述的计算设备、装置和/或车辆可以包括一个或多个传感器(例如,一个或多个惯性测量单元(IMU),诸如一个或多个陀螺仪、一个或多个加速度计、其任何组合和/或其他传感器)。
此发明内容并不意图识别所要求保护主题的关键或基本特征,也不意图单独用于确定所要求保护主题的范围。应该通过参考本专利的整个说明书的适当部分、任何或所有附图以及每一权利要求来理解主题。
参考以下说明书、权利要求书和附图,前述内容以及其他特征和示例将变得更加明显。
附图说明
下文参考以下附图来详细描述本申请的说明性示例:
图1是示出根据一些示例的示例性图像分割系统的框图;
图2A和图2B是根据一些示例的示例性分割掩码的图示;
图3A、图3B、图3C和图3D是根据一些示例的示例性分割掩码的其他图示。
图4是示出根据一些示例的示例性图像分割评估系统的框图;
图5A和图5B是示出根据一些示例的示例性图像分割评估系统的框图;
图6A和图6B是示出根据一些示例的分割特征图的示例的图像;
图7A、图7B、图7C、图7D和图7E示出根据一些示例的与评估图像分割过程相关联的示例性实验数据;
图8是示出根据一些示例的用于评估图像分割过程的过程的示例的流程图;
图9是示出根据一些示例的深度学习网络的示例的框图;
图10是示出根据一些示例的卷积神经网络的示例的框图;
图11是示出用于实现本文描述的某些方面的系统的示例的图。
具体实施方式
下文提供本公开的某些方面和示例。这些方面和示例中的一些可以独立应用,并且其中一些可以组合应用,这对本领域技术人员来说是显而易见的。在以下描述中,出于解释的目的,阐述了具体细节,以便提供对本申请主题的透彻理解。然而,将显而易见,可以在没有这些具体细节的情况下实践各种示例。附图和描述并不意图是限制性的。
随后的描述仅提供说明性示例,并不意图限制本公开的范围、适用性或配置。相反,随后的描述将为本领域技术人员提供用于实现说明性示例的使能描述。应理解,在不脱离所附权利要求中阐述的本申请的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
视频语义分割是为视频中的连续图像帧产生分割结果的任务。例如,语义分割网络可以应用于视频的所有或部分图像帧。用于评估分割结果的一些现有技术可以包括以逐帧的方式将由分割网络产生的分割掩码与基本事实图像(例如,已知准确的图像)进行比较。此类比较可以使用平均交并比(IoU)度量、像素级精度度量或其他度量来执行。在一些情况下,这些技术可能足以进行图像级分割评估。然而,在评估视频分割时,还需要考虑分割随时间变化的一致性。一般来说,缺乏可靠和鲁棒的视频分割时间一致性的度量。
一种用于评估视频分割的技术包括仅在分割输出级测量分割时间一致性。然而,此类测量可能不涉及原始数据变化,并且当图像帧之间发生遮挡和/或大的移动时可能不可靠。另一技术包括基于计算神经网络(例如,卷积神经网络)的输出中的高时间频率的量来测量时间稳定性。然而,此类测量仅检查网络的输出,而不测量输出的变化是否反映了原始图像帧的变化。另一技术包括使用光流直接估计运动(例如,不一致性)。然而,估计光流不是容易的任务。在许多真实世界的应用中,获得准确的光流可能比一些语义分割任务更困难。此外,光流估计操作造成的误差会导致不准确和/或误导的时间一致性度量。
本文描述了用于评估图像分割(和视频分割)过程的系统、装置、方法和计算机可读介质(统称为“系统和技术”)。如下文将更详细解释,这些系统和技术可以评估图像分割过程。例如,给定与两个图像帧(例如,图像帧t1和t2)相关联的分割特征图,如果分割特征图t1的定位A处的分割特征类似于分割特征图t2的定位B处的分割特征,则对应于定位A和B的图像数据在图像(例如,感知)特征空间中应是类似的。例如,如果时间t1和时间t2处的分割特征之间的相关性“匹配”时间t1和时间t2处的原始图像特征之间的相关性,则时间t1和时间t2之间的分割在时间上是一致的(例如,相对于原始图像域)。这样,所公开的系统和技术可以利用“跨帧”和“跨特征”相关性来测量图像分割过程的时间一致性。
在一个示例中,图像分割评估系统可以交叉引用连续图像帧或附近图像帧(例如,由一个、两个、三个或其他数量的中间帧分隔的图像帧)的分割网络的输出特征和感知特征(例如,图像特征)。例如,分割网络的输出特征可以被用作跨空间和时间产生特征的亲和矩阵的工具。图像分割评估系统可以使用亲和矩阵来将感知特征从具有一个时间戳的图像帧移动到具有另一时间戳的图像帧。图像分割评估系统然后可以确定移动的感知特征与原始感知特征之间的相似性度量(例如,余弦相似性或距离或其他相似性度量)。该相似性度量可以指示两个图像帧之间在分割级别的特征相关性对应于在感知特征级别的相关性的准确程度。在一些情况下,图像分割评估系统可以通过设置具有大于1的时间采样间隙(例如,对应于非连续图像帧)的两个时间戳来确定长期时间一致性。此外,图像分割评估系统可以将确定两帧时间一致性度量的过程扩展到确定多帧时间一致性度量。
在一些情况下,图像分割评估系统可以是无监督的(例如,不使用基于标记数据的监督来训练)。例如,图像分割评估系统可能不需要基本事实注释和/或第三方光流估计网络的可用性。在一些示例中,由图像分割评估系统确定的时间一致性度量可以被用作训练损失,用于提高分割一致性和/或准确性(例如,通过利用与已标记图像帧相邻或附近的未标记图像帧)。
图1是示出图像分割系统102的示例的图。图像分割系统102包括各种组件,包括分割引擎104、运动确定引擎109和像素调整引擎108。渲染引擎110还被展示为与分割系统102通信。在一些实现方式中,渲染引擎110可以是图像分割系统102的部分。图像分割系统102和渲染引擎110的组件可以包括电子电路或其他电子硬件,其可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)、神经处理引擎(NPE)或神经处理单元(NPU)或其他合适的电子电路)、计算机软件、固件或其任何组合,以执行本文描述的各种操作。分割系统102可以利用CPU、DSP、GPU和NPU或NPE的架构来动态地确定运行神经网络的最佳方式,同时优化诸如等待时间、吞吐量、电池、存储器、CPU等度量。在一个说明性示例中,分割引擎104的操作可以使用可以运行一个或多个神经网络、GPU和/或DSP的NPE来实现。在另一示例中,运动确定引擎109的操作可以使用CPU来实现。在另一示例中,渲染引擎110的操作可以使用GPU来实现。虽然图像分割系统102被示为包括某些组件,但是普通技术人员将了解,图像分割系统102可以包括比图1中所示更多或更少的组件。例如,在一些情况下,图像分割系统102还可以包括图1中未展示的一个或多个存储器(例如,RAM、ROM、高速缓冲存储器、缓冲器等)和/或处理设备。
多个帧(例如,帧103)可以由图像分割系统102的组件处理。帧可以包括视频序列的视频帧或一组连续捕捉的静止图像的静止图像。在一个说明性示例中,一组连续捕捉的静止图像可以被捕捉并显示给用户,作为在摄像机视场中的预览,这可以帮助用户决定何时捕捉图像以供存储。在另一说明性示例中,可以使用突发模式或捕捉多个连续图像的其他类似模式来捕捉一组连续捕捉的静止图像。
帧可以是每个像素具有红、绿和蓝颜色分量的红-绿-蓝(RGB)帧,每个像素具有一个亮度分量和两个色度(颜色)分量(诸如色度-红和色度-蓝)的亮度、色度-红、色度-蓝(YCbCr)帧或YUV帧,或者任何其他合适类型的彩色或单色图片、具有温度值的热图像、具有深度值的范围或深度图像、具有运动增量(δx,δy)的光流图像、具有色带值的多光谱和超光谱图像、其任何组合、和/或其他类型的帧或图像。在一些情况下,帧可以包括多视角图像帧(例如,来自立体摄像机设置的图像帧,该立体摄像机设置产生同时捕捉的对应的左和右图像帧)。在一些示例中,可以响应于由摄像机或包括摄像机的计算设备(例如,移动设备、诸如头戴式显示器或XR眼镜的扩展现实(XR)设备、车辆或车辆的计算设备或系统、或其他计算设备)捕捉的一个或多个图像帧来执行图像分割过程。在说明性示例中,可以执行图像分割过程,以便跟踪对象在一个或多个图像帧上的移动。在另一说明性示例中,可以响应于选择快门按钮、导致捕捉具有视觉效应的帧的一个或多个图形图标和/或摄像机或计算设备的其他选择选项来调用图像分割过程。视觉效应可以包括帧的背景像素被模糊、被涂黑、被改变成不同的颜色、被不同的背景替换、具有调整的照明和/或颜色特性、和/或应用任何其他合适的效应。在另一示例中,视觉效应可以包括修改输出帧的前景像素(例如,改变照明、模糊等)或者用不同的对象替换前景像素,诸如计算机产生的对象、增强现实(AR)对象或其他合适的对象。
从其接收帧103的帧源101可以包括一个或多个图像捕捉设备和/或一个或多个视频捕捉设备(例如,数码摄像机、数字视频摄像机、带有摄像机的电话、带有摄像机的平板型计算机或其他合适的捕捉设备)、图像和/或视频存储设备、包含存储图像的图像和/或视频存档、提供图像和/或视频数据的图像和/或视频服务器或内容提供商、从视频服务器或内容提供商接收图像的图像和/或视频馈入接口、用于产生计算机图形图像和/或视频数据的计算机图形系统、此类源的组合或图像帧内容的其他源。在一些情况下,多个帧源可以向图像分割系统102提供帧。
图像分割系统102(和渲染引擎110)可以是计算设备或多个计算设备的一部分。在一些情况下,包括图像分割系统102的计算设备(或多个设备)还可以包括用于无线通信的一个或多个无线收发器和/或用于显示一个或多个图像的显示器。在一些示例中,包括图像分割系统102的计算设备可以是电子设备,诸如摄像机(例如,数码摄像机、IP摄像机、视频摄像机、摄像机电话、视频电话或其他合适的捕捉设备)、移动或固定设备(例如,诸如智能电话的电话手机、蜂窝式电话等)、扩展现实(XR)设备(例如,虚拟现实(VR)设备、增强现实(AR)设备、混合现实(MR)设备等)(诸如头戴式显示器或XR眼镜)、车辆或车辆的计算设备或系统、机器人设备、台式计算机、膝上型或笔记型计算机、平板计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备或任何其他合适的电子设备。在一些实现方式中,图像分割系统102和帧源101可以是同一计算设备的一部分。例如,在一些情况下,摄像机、电话、平板型计算机、和/或具有帧或图像源的其他设备(例如,摄像机、存储器等)可以包括集成图像分割系统(例如,图像分割系统102)。在一些实现方式中,图像分割系统102和帧源101可以是独立计算设备的一部分。在一个说明性示例中,帧源101可以包括一个或多个摄像机,并且包括图像分割系统102的计算设备可以包括移动或固定电话手机、台式计算机、膝上型或笔记型计算机、平板计算机或其他计算设备。
在一些示例中,由图像分割系统102执行的图像分割过程可以使用计算设备的单个摄像机系统来执行。在其他示例中,由图像分割系统102执行的图像分割可以使用计算设备的双摄像机系统来执行。在一些情况下,在摄像机系统中可以使用两个以上的摄像机来执行图像分割过程。
图像分割系统102的分割引擎104可以使用图像分割(还称为语义分割)来处理帧,从而产生分割掩码(还称为分割图)。例如,来自帧序列(例如,帧103)的分割帧M可以由分割引擎104处理,以便确定分割帧M的分割掩码。如本文所使用的分割帧是对其执行图像分割的任何帧。在一些示例中,分割掩码可以指示该帧中的哪些像素是前景像素并且哪些像素是背景像素。例如,分割掩码可以包括属于人(前景)的像素的第一值(例如,值255、1或其他合适的值)以及属于背景的像素的第二值(例如,值0)。第一值(例如,255)可以对应于白色,在此情况下,对应于感兴趣的对象的像素是白色。在此类情况下,第二值(例如,0)可以对应于黑色,在此情况下,对应于背景的像素是黑色。在一些情况下,分割掩码可以包括其他像素(除了前景和背景像素之外)的指示,诸如属于前景和背景像素之间的过渡区域的像素、当使用分类神经网络分割帧时属于除了感兴趣的对象(例如,人)之外的分类对象的像素,等等。图7B是使用图7A中所示的图像产生的分割掩码的示例。如下文更详细描述,训练的深度神经网络可以用于执行图像分割。在一些情况下,神经网络可以包括被训练以识别多个对象类别的分类网络,其中对象类别中的一者是感兴趣的对象(例如,人、自行车、车辆或其他合适的感兴趣对象)。在此类情况下,分割掩码可以包括指示每一像素属于哪一类别的每一像素的值。
如上所述,在一些情况下,分割引擎104可以执行基于深度学习的图像分割(使用训练的深度神经网络)。下文参考图9和图10描述了深度神经网络的说明性示例。基于深度学习的图像分割的复杂性质会导致分割过程消耗大量的计算资源和功率,并且会导致出现等待时间和性能问题。
存在各种评估图像分割过程的技术。根据一个技术,图像分割评估系统可以直接将比较来自分割网络的分割输出与一组测试图像帧的基本事实注释。这种技术可以利用平均IoU(例如,用于基于区域的评估的度量)。除了基于区域的评估之外,平均IoU还可以用于评估图像分割准确性,重点是边界。此外,平均交并比(IoU)度量可以被扩展用于基于体积的精度和召回,以便评估更高维度的数据(例如,三维(3D)或视频分割结果)。然而,利用平均IoU的技术可以具有若干不足和/或缺点。例如,获取密集和/或准确的基本事实注释可能是昂贵的(例如,资源密集的),尤其对于视频数据。此外,准确地注释所有可用的图像帧可能是不实际或不可行的,这导致需要选择一组图像帧来形成用于注释的验证集(例如,测试集)。该选择过程可能给评估结果引入偏差。此外,现有的评估技术可能没有明确地解决时间一致性。例如,时间不一致的分割过程和时间一致的分割过程有可能产生相同(或相似)的平均IoU。
用于评估图像分割过程的另一技术可以包括图像帧之间的形状和/或轮廓匹配。例如,该技术可以包括将初始图像帧的对象掩码传播到后续图像帧。在一个示例中,可以基于与图像帧相关联的匹配形状描述符来确定两个图像帧的对象掩码之间的时间一致性的度量。低匹配成本可以指示随着时间的稳定的(例如,一致的)图像分割过程。该技术可以基于形状和/或对象掩码变化是稳定且连续的假设。因此,因为在发生遮挡或视点改变的情况下,对象的形状会急剧改变,所以该技术不能准确地反映时间稳定性(例如,由于该技术仅评估输出形状而不返回参考原始图像)。另一技术可以包括比较分割网络的输出中的时间变化(例如,高频)的总量与基本事实的时间变化(例如,高频)的总量。在这种技术中,变化较小的输出可以指示更好的时间一致性。然而,这种度量可能无法解决输出稳定性是否准确地反映原始图像帧的变化。例如,分割网络可以为运动视频产生静态输出。尽管不准确,但是这些静态输出可以被认为是稳定的(例如,甚至比基本事实更稳定)。
用于评估图像分割过程的另一技术涉及光流估计。在这种技术中,分割时间一致性可以被定义为被一致标记的轨迹的一部分。可以使用帧到帧的光流估计来获得轨迹。在一些情况下,高比例的匹配轨迹可以指示高时间一致性。相关技术可以包括估计两个原始图像帧(例如,图像帧t-1和图像帧t)之间的光流,并且使用所估计的光流将分割掩码从t-1扭曲到t。然后,可以计算扭曲分割与分割网络在时间t产生的分割之间的平均IoU度量。高平均IoU度量可以指示图像帧t-1与图像帧t之间的高分割时间一致性。在一些情况下,使用光流估计来评估图像分割过程可能具有各种不足和/或缺点。例如,估计真实世界数据(例如,非模拟数据)的准确光流可能是困难的任务(例如,比分割任务更困难)。此外,准确的光流估计可能是耗时的,从而在时间一致性可能至关重要的应用(例如,自主驾驶)中禁止实时时间一致性测量。此外,依赖参数模型(例如,光流估计网络)来评估另一高度参数模型(例如,分割网络)可能是有问题的。例如,没有高质量光流估计的保证,依赖于基于光流估计的扭曲的时间一致性度量可能是不准确的或误导的。然而,所公开的系统和技术的一些示例可以利用基于光流估计的扭曲分割掩码来确定时间一致性测量。
图2A和图2B提供覆盖在图像帧上的示例性分割掩码的图示。这些图示表示可能在跨多个图像帧的分割掩码内发生的示例性时间不一致性。图2A展示图像帧202和图像帧204。在一个示例中,图像帧202和图像帧204可以表示一系列图像帧中的相邻(或附近)图像帧。图像帧202示出了片段206,片段206表示对应于图像帧202内的一个特征(例如,一个对象)的图像帧202的分割掩码的一部分。图像帧204示出片段206,片段206表示图像帧204的分割掩码的对应部分。如图所示,片段206的形状不同于片段208的形状。该差异是时间不一致性的示例。例如,片段206和片段208应该具有相同(或近似相同)的形状和大小,因为对应于片段206和208的特征没有在图像帧202与204之间移动。当在各种应用(例如,计算机视觉应用、扩展现实应用、自主车辆应用等)中使用分割掩码时,这种时间不一致性会导致不期望的视觉输出(例如,“闪烁”)或其他误差。图2B示出时间不一致性的另一示例。例如,图像帧210包括片段214,并且图像帧212(例如,相邻图像帧)包括对应片段219。如图所示,片段219包括片段214没有展现的不准确性。
图3A、图3B、图3C和图3D提供评估图像分割过程的示例。这些示例可以说明使用平均IoU度量来评估分割过程的缺点。这些图各自展示了相同的两个图像帧(对应于时间t1和时间t2)、这两个图像帧的分割掩码以及覆盖在图像帧上的分割掩码。用于产生每一图中的分割掩码的图像分割过程是不同的。在图3A的示例中,两个分割掩码的平均IoU较高(例如,在0.0-1.0的标度上的值为1.0)。此外,时间一致性(TC)也较高,这是因为分割掩码非常精确。在图3B的示例中,两个分割掩码的平均IoU较低(例如,0.8)。然而,两个分割掩码在相同(或相似)的定位都有误差。例如,如图所示,两个分割掩码都不能包括自行车的车轮。因此,分割掩码的时间一致性较高。在图3C中,对应于第一图像帧的分割掩码的平均IoU较高(例如,1.0),而对应于第二图像帧的分割掩码的平均IoU较低(例如,0.8),这指示在第二分割掩码中存在第一分割掩码没有展现出的误差。因此,分割掩码的时间一致性较低。在图3A中,两个分割掩码的平均IoU是相同的(例如,0.9)。然而,由于分割掩码具有与不同特征相关联的误差,这些分割掩码的时间一致性较低。例如,如图所示,第一分割掩码不包括自行车的后轮,而第二分割掩码包括。因此,在一些情况下,平均IoU可能不是用于评估图像分割过程的准确或可靠的度量。例如,除非与两个或更多个帧相关联的平均IoU均较高(例如,接近1),或两个图像帧之间的平均IoU存在明显差异,否则不能仅仅基于每帧平均IoU值来推断时间一致性。因此,分割时间一致性可能不对应于每帧分割准确性。
图4是示出图像分割评估系统400的示例的图。在一些情况下,图像分割评估系统400的全部或一部分可以被包括在图1的图像分割系统102内和/或与其通信。例如,图像分割评估系统400可以评估图像分割系统102的输出帧112(或其他图像分割输出)。在另一示例中,图像分割评估系统400可以被配置成训练由图像分割系统102实现的图像分割过程(例如,神经网络)。
如图4中所示,图像分割评估系统400可以包括一个或多个引擎,诸如帧引擎402、分割特征引擎404、图像特征引擎406和相似性引擎408。在一个示例中,帧引擎402可以接收一个或多个图像或视频帧(例如,图像帧410)。图像帧410可以对应于图1中所示的帧103中的一者或多者。在一些情况下,当图像帧410被图像捕捉设备和/或视频捕捉设备(例如,数码相机、数码摄像机、带有摄像机的电话、带有摄像机的平板型计算机或其他合适的捕捉设备)捕捉时,帧引擎402可以接收图像帧410。帧引擎402可以将图像帧410的全部或一部分传递给分割特征引擎404和/或图像特征引擎406。
在一些示例中,分割特征引擎404可以确定图像帧410的分割特征412。如本文所使用,术语“分割特征”可以指代与分割掩码相关联的特征。例如,分割特征可以包括至少部分地基于图像分割过程确定的特征向量。在一个示例中,分割特征可以对应于由为图像分割而训练的神经网络(例如,具有多层的深度神经网络)的层输出的特征向量。在说明性示例中,神经网络的最终层可以是全连接层和/或实现“argmax”函数的层(如下文将更详细解释)。在此示例中,分割特征引擎404可以基于神经网络的倒数第二层的输出来确定与图像帧相关联的分割特征。在一些情况下,该层所产生的特征向量可以包括与各种类型的特征相关联的特征信息。例如,特征向量可以包括与低级特征(例如,对象的角和/或边)、中级特征(例如,对象的边界、形状等)和/或高级特征(例如,对象)相关联的特征信息。在一些示例中,与图像帧相关联的分割特征(例如,与图像帧相关联的每一分割特征)可以共同对应于分割特征图。
在一些示例中,图像特征引擎406可以确定图像帧410的图像特征414。如本文所使用,术语“图像特征”(也称为“感知特征”)可以指代与图像帧相关联的任何特征。在一个示例中,图像特征可以对应于至少基于对原始图像数据执行的特征提取算法确定的特征向量。在另一示例中,图像特征可以对应于和/或包括原始图像数据。在一些情况下,图像特征引擎406可以使用为特征提取而训练的神经网络来确定图像特征414,诸如ImageNet网络和/或ResNet网络(例如,ResNet18、ResNet101等)。在一个示例中,图像特征引擎406可以从预训练神经网络的储存库(例如,PyTorch模型动物园)获得神经网络。在一些情况下,图像特征414的大小(例如,分辨率)可以不同于分割特征412的大小。在这些情况下,图像特征引擎406可以重新调整图像特征414的大小以匹配分割特征412的大小。在一些示例中,与图像帧相关联的图像特征(例如,与图像帧相关联的每一图像特征)可以共同对应于图像特征图。
在一些情况下,相似性引擎408可以至少部分地基于分割特征412和图像特征414来确定相似性测量416。相似性测量416可以包括一个或多个时间一致性测量,其指示与两个或更多个图像帧相关联的分割掩码之间的时间一致性级别。在一个示例中,相似性测量416可以包括对应于图像帧的各个特征的多个时间一致性测量。在另一示例中,相似性测量416可以包括代表图像帧的每一特征的整体(例如,单个)时间一致性测量。相似性引擎408可以以各种方式确定相似性测量416。在一个示例中,分割特征引擎404可以确定两个(或更多个)图像帧的分割特征图,并且图像特征引擎406可以确定两个(或更多个)图像帧的图像特征图。图像帧可以是一系列图像帧中的相邻(例如,连续)图像帧,或者图像帧可以被一个或多个中间图像帧分隔。基于分割特征图和图像特征图,相似性引擎408可以确定这些图内的对应特征对。例如,对于一个分割特征图的每一分割特征,相似性引擎408可以确定另一分割特征图的最相似分割特征。此外,对于一个图像特征图的每一图像特征,相似性引擎408可以确定另一图像特征图的最相似图像特征。相似性引擎408然后可以基于分割特征对之间的相似性测量和/或图像特征对之间的相似性来确定与两个对应的图像帧相关联的时间一致性测量。
图5A和图5B分别示出图4的图像分割评估系统400的示例性实现方式500(A)和500(B)。在实现方式500(A)中,图像分割评估系统400可以接收图像帧502和图像帧504。图像分割评估系统400可以将图像帧502和504输入到分割网络506(例如,为图像分割而训练的神经网络)。如图所示,分割网络506可以产生与图像帧502相关联的分割特征图508和与图像帧504相关联的分割特征图510。图像分割评估系统400还可以将图像帧502和504输入到特征提取器520(例如,为特征提取而训练的神经网络)。如图所示,特征提取器520可以产生与图像帧502相关联的图像特征图512和与图像帧504相关联的图像特征图514。在实现方式500(A)中,图像特征图512和514可以包括与特征520提取的每一特征相关联的特征向量。
在一些情况下,分割特征图508和510以及图像特征图512和514内的每一定位(例如,框)可以对应于一个特征(例如,一个特征向量)。在一个示例中,图像分割评估系统400可以确定分割特征图510的分割特征向量与分割特征图508的分割特征向量之间的亲和性(例如,相关性或相似性)。例如,对于分割特征图510的每一分割特征,图像分割评估系统400可以确定分割特征图508的对应分割特征(例如,最相似分割特征)。在一个示例中,图像分割评估系统400可以用亲和矩阵来表示对应的分割特征对。例如,图像分割评估系统400可以使用“argmax”运算来产生亲和矩阵,该运算从一组可用自变量中确定导致目标函数的最大值的自变量。在此示例中,该组可用自变量可以对应于分割特征图508的分割特征向量,并且目标函数可以对应于输出两个分割特征向量之间的相似性测量的相似性函数。在说明性示例中,给定分割特征图508和对应于图5A中所示的分割特征A的分割特征向量,argmax运算可以识别分割特征图508的哪个分割特征与分割特征A最相似。在一个示例中,相似性函数可以对应于余弦相似性度量,其广泛用于涉及辨识(例如,面部辨识)和深度神经网络的应用中。相似性函数可以是任何其他相似性函数,诸如逆范数2距离度量。为了产生完整的亲和矩阵,图像分割评估系统400可以对分割特征图510的每一分割特征向量重复argmax运算。例如,一般而言,对于与帧t2相关联的分割特征图中的每个定位(x,y),分割特征引擎404可以使用方程/>来确定与帧t1相关联的分割特征图/>的定位(i*,j*)处的对应特征,其中θ(*.*)是相似性函数。
在一些情况下,图像分割评估系统400可以至少部分地基于形状编码器来确定对应的分割特征,该形状编码器被训练用于编码由分割网络产生的分割掩码。例如,图像分割评估系统400可以使用形状编码器来确定与一个图像帧相关联的分割特征图内的特定(例如,重要)形状、对象或其他结构,这可以有助于确定与另一图像帧相关联的分割特征图内的对应形状、对象或结构。
在说明性示例中,图像分割评估系统400可以确定分割特征图510的分割特征A对应于分割特征图508的分割特征B。在一些情况下,图像分割评估系统400可以至少部分地基于图像特征图512和514的对应图像特征之间的相似性测量来确定与分割特征A和B相关联的时间一致性测量522。例如,图像分割评估系统400可以确定分割特征A对应于图像特征图514的图像特征C。在说明性示例中,图像分割评估系统400可以基于分割特征图510内的分割特征A的定位(例如,像素坐标)来确定对应图像特征C。例如,图像分割评估系统400可以通过识别对应定位处的图像特征来确定图像特征C。如图所示,图像分割评估系统400还可以确定分割特征图508的分割特征B对应于图像特征图512的图像特征D。
在一些情况下,图像分割评估系统400可以至少部分地基于与图像特征C和D相关联的图像特征向量之间的相似性测量来确定时间一致性测量522。相似性测量可以是余弦相似性测量或任何其他合适的相似性测量。在说明性示例中,时间一致性测量522可以直接对应于图像特征向量之间的相似性测量。在其他示例中,图像分割评估系统400可以基于一个或多个附加的相似性测量来确定时间一致性测量522。例如,图像分割评估系统400可以确定与分割特征A和B相关联的时间一致性测量。一般而言,对于与帧t1相关联的分割特征图的定位(i*,j*),图像分割评估系统400可以使用方程/> 来确定与帧t2相关联的分割特征图/>中的对应定位(x,y)的时间一致性测量,其中θ(*.*)是相似性函数。该方程可以给出方向t1→2的时间一致性测量。对于方向t2→t1的时间一致性测量,可以使用方程/> 来确定对应的分割特征,并且时间一致性测量可以由方程/>给出。在一些情况下,图像分割评估系统400可以使用方程来确定单个双向时间一致性测量,其中m和n是分割特征图的维度。单个双向时间一致性测量可以是一对图像帧内每一特征的时间一致性测量的代表(例如,总体)值。
在一些情况下,图像分割评估系统400可以至少部分地基于与连续或附近图像帧相关联的连续性级别来确定时间一致性测量。例如,两个或更多个图像帧之间的连续性可以基于包括帧速率、拍摄条件(例如,照明或其他条件)、捕捉的情景、视图中的对象等因素而变化。为了确定两个图像帧之间的连续性级别,对于与图像帧t1相关联的图像特征图ρt1的每个定位(x,y),图像分割评估系统400可以使用相似性函数找到与图像帧t2相关联的图像特征图ρt2的最相似图像特征。方向t1→2上的一对最相似图像特征之间的时间一致性测量可以由给出。类似地,方向t2→t1上的一对最相似图像特征之间的时间一致性测量可以由/>给出。此外,图像分割评估系统400可以使用方程/>来确定单个双向时间一致性测量。
在一些情况下,图像分割评估系统400可以基于与分割特征图508和510相关联的双向时间一致性测量以及与图像特征图512和514相关联的双向时间一致性测量来确定时间一致性测量522。例如,图像分割评估系统400可以使用以下方程来归一化两个(未归一化的)双向测量:
该归一化方程可以有助于比较分割级别的时间一致性与原始图像(例如,感知)级别的时间一致性。
在一些情况下,图像分割评估系统400可以产生时间一致性图,该时间一致性图将各个时间一致性测量与相应的特征相关联(例如,基于单向时间一致性测量)。另外地或替代地,图像分割评估系统400可以确定整体时间一致性测量(例如,基于双向时间一致性测量)。图像分割评估系统400可以使用上述时间一致性测量的任何变化或组合,以及任何附加的或替代的时间一致性测量来确定时间一致性测量522。
此外,图像分割评估系统400可将所公开的时间一致性测量技术从两个图像帧扩展到两个以上的图像帧。例如,对于i=1,…,K的一系列图像帧xi的时间一致性测量可以定义为:
在一些情况下,时间间隙大于w的一对图像帧可能不被认为是有效的一对。在这些情况下,包括无效对的一系列图像帧的时间一致性测量可以被定义为:
此外,图像分割评估系统400可以确定非连续图像帧的时间一致性测量。例如,为了确定长期时间一致性,一个帧的时间t1和另一帧的时间t2可以被设置为使得|t1-t2|>1。
参考图5B,实现方式500(B)可以大体上类似于图5A的实现方式500(A)。例如,在两个实现方式500(A)和500(B)中,图像分割评估系统400可以基于图像帧502和504来确定分割特征图508和510。然而,在实现方式500(B)中,特征提取器520可以产生与图像帧502相关联的图像数据图516以及与图像帧504相关联的图像数据图518。在一些情况下,图像数据图516和518可以包括原始图像数据(例如,并非特征向量)。在实现方式500(B)中,图像分割评估系统400可以至少部分地基于对应于图像特征的图像数据之间的相似性测量来确定时间一致性测量522。
时间一致性测量可以以各种方式用于各种应用。在一个示例中,时间一致性测量可以用于选择最佳(例如,最高质量)或最合适的分割网络。例如,图像分割评估系统400可以确定与由一组分割网络产生的分割掩码相关联的时间一致性测量。图像分割评估系统400可以选择和/或推荐具有最佳(例如,最高质量)时间一致性测量的特定分割网络。在另一示例中,图像分割评估系统400可以实时(或几乎实时)评估分割网络的性能。例如,图像分割评估系统400可以检测分割网络何时没有以充足或足够的准确性执行。在说明性示例中,自主车辆可以利用分割网络用于导航和/或安全性。在此示例中,如果图像分割评估系统400检测到分割网络在时间一致性的特定标准或阈值以下执行,则图像分割评估系统400可以将车辆的控制归还给驾驶员座位上的人。
图6A和图6B提供示例性分割特征图的图示。例如,图6A的分割特征图数据602展示了对应于分割网络的19个信道的分割特征图数据。每一信道可以对应于一个分类类别。此外,图6B的分割特征图数据604展示了对应于分割网络的12个信道(例如,128个信道中的)的分割特征图数据。每一信道可以对应于一个分类类别。
图7A示出了量化所公开的用于评估图像分割过程的技术的有效性的示例性实验数据702。实验数据702可以使用戴维斯(DAVIS)数据集来获得,该数据集包括数据集中每一图像帧的密集且高质量的基本事实注释。在用于获得实验数据702的实验设置中,对于两个连续或附近的图像帧,如果一个图像帧(例如,图像帧t1)上的分割具有高准确性(例如,平均IoU为1.0),则下一个图像帧(例如,图像帧t2)的图像分割掩码的平均IoU是图像帧t1与图像帧t2之间的分割时间一致性。实验数据702展示了图像帧t2的平均IoU的各种变化的时间一致性测量的变化(例如,给定图像帧t1的理想图像分割)。实验数据702的每一图对应于图像帧t2的不同平均IoU。
图7B示出了示例性实验数据704,该实验数据704指示针对涉及跨多个帧的图像数据和/或分割掩码的变化的各种情况的时间一致性测量。图7C示出了示例性实验数据706,该实验数据706指示与使用时间一致性测量的分割掩码和不使用时间一致性测量的分割网络相关联的时间一致性测量。图7D示出了示例性实验数据708,该实验数据708指示与使用光流估计的分割网络和使用时间一致性测量的分割网络产生的分割掩码相关联的时间一致性测量。图7E示出了示例性实验数据710,该实验数据710指示与使用时间一致性测量训练的分割网络和未使用时间一致性测量训练的分割网络产生的分割掩码相关联的时间一致性测量。
在一些情况下,所公开的用于评估图像分割过程的系统和技术可以用于改进用于图像分割的神经网络的训练。例如,在训练分割网络的过程期间,时间一致性测量可以用作损失值。以此方式使用时间一致性测量可以改进使用未标记数据训练的分割网络。例如,一些现有的分割数据集(例如,Cityscapes、CamVid等)包含大量未标记的数据,只有一小部分图像帧被注释(例如,用于基本事实)。给定一组图像帧和对应的注释图yi(i=1…N),典型的监督训练设置可以是使用这些图像和注释对来训练分割网络。这种训练设置可以使用时间一致性测量和一组未标记图像/>来改进,每一图像具有/>的连续时间戳。以下PyTorch代码提供了使用上述时间一致性测量来计算时间一致性训练损失的示例:
cos=nn.CosineSimilarity(dim=1)
softmax0=nn.Softmax(dim=0)
softmax1=nn.Softmax(dim=1)
normalize=nn.functional.normalize(p=2,dim=1)
A=normalize(seg(xL_i))
B=normalize(seg(xU_i))
C=normalize(resnet(xL_i))
D=normalize(resnet(xU_i))
B=B.permute(1,0)
#获得特征相关性:
corr=torch.matmul(A,B)
corr0=softmax1(corr/0.0001)
D_hat=torch.matmul(D.permute(1,0),corr0)
#一个方向的TC:
TC0=torch.mean(cos(D_hat.permute(1,0),D))
corr1=softmax1(corr/0.0001)
C_hat=torch.matmul(corr1,D.permute(1,0))
#另一方向的TC:
TC1=torch.mean(cos(C_hat,C))
#组合两个方向的TC
loss=1.0-(TC0+TC1)/2
上述时间一致性损失可以与分割交叉熵损失一起应用,导致损失
图8是示出用于确定图像分割过程的一致性度量的示例性过程800的流程图。此处概述的操作是示例,并且可以以其任意组合来实现,包括排除、添加或修改某些操作的组合。
在操作802,过程800包括确定与多个图像帧的第一图像帧的第一分割掩码相关联的第一分割特征。在操作804,过程800包括确定与多个图像帧的第二图像帧的第二分割掩码相关联的第二分割特征,该第二分割特征对应于第一分割特征。在一个示例中,第一图像帧可以与第二图像帧相邻。在另一示例中,多个图像帧可以包括在第一图像帧与第二图像帧之间的至少一个中间图像帧。在一些情况下,可以使用为图像分割而训练的机器学习模型来确定与第一和第二分割掩码相关联的分割特征。在一个示例中,为图像分割而训练的机器学习模型可以是包括多个层的神经网络。在此示例中,确定与第一和第二分割掩码相关联的分割特征可以包括获得由神经网络的多个层中的一层输出的一个或多个特征图。
在一些示例中,确定第二分割特征对应于第一分割特征可以包括:(1)确定与第二分割掩码相关联的多个分割特征,该多个分割特征包括第二分割特征,(2)确定第一分割特征和与第二分割掩码相关联的多个分割特征之间的多个相似性测量,以及(3)确定多个相似性测量中的最高相似性测量对应于第二分割特征。
在操作806,过程800包括确定对应于第一分割特征的第一图像帧的第一图像特征。在操作808,过程800包括确定对应于第二分割特征的第二图像帧的第二图像特征。在一些情况下,第一图像帧的图像特征和第二图像帧的图像特征可以使用为特征提取而训练的机器学习模型来确定。在一些示例中,确定第一图像帧的第一图像特征可以包括(1)确定第一图像帧内对应于第一分割特征的第一定位,以及(2)至少部分地基于该第一定位确定第一图像帧的第一图像特征。类似地,确定第二图像帧的第二图像特征可以包括(1)确定第二图像帧内对应于第二分割特征的第二定位,以及(2)至少部分地基于该第二定位确定第二图像帧的第二第一图像特征。
在操作810,过程800包括确定第一图像特征与第二图像特征之间的第一相似性测量。在一些示例中,确定第一相似性测量可以包括比较对应于第一图像特征的第一图像数据与对应于第二图像特征的第二图像数据。在其他示例中,确定第一相似性测量可以包括比较对应于第一图像特征的第一特征向量与对应于第二图像特征的第二特征向量。在说明性示例,第一相似性测量可以是余弦相似性测量。
在操作812,过程800包括至少部分地基于第一相似性测量来确定与第一图像帧和第二图像帧相关联的时间一致性测量。
在一些示例中,过程800可以包括确定与第一分割掩码相关联的第三分割特征,以及确定与第二分割掩码相关联的第四分割特征。第四分割特征对应于第三分割特征。过程800可以还包括确定对应于第三分割特征的第一图像帧的第三图像特征,确定对应于第四分割特征的第二图像帧的第四图像特征,以及确定第三图像特征与第四图像特征之间的第二相似性测量。在一个示例中,过程800还可以包括至少部分地基于第一相似性测量和第二相似性测量的代表值(例如,双向时间一致性测量或其他代表值)来确定与第一图像帧和第二图像帧相关联的时间一致性测量。
另外地或替代地,过程800可以包括基于时间一致性测量(例如,基于第一相似性测量和/或基于第一相似性测量和第二相似性测量的代表值确定),来产生与第一图像帧和第二图像帧相关联的时间一致性图。例如,时间一致性图可以存储与第一图像特征相关联的第一相似性测量以及与第二图像特征相关联的第二相似性测量。
在一些示例中,过程800可以包括确定与多个图像帧的第三图像帧的第三分割掩码相关联的第三分割特征。第三分割特征对应于第二分割特征。过程800可以还包括确定对应于第三分割特征的第三图像帧的第三图像特征,以及确定第二图像特征与第三图像特征之间的第二相似性测量。在一个示例中,过程800还可以包括至少部分地基于第一相似性测量和第二相似性测量来确定与第一图像帧和第三图像帧相关联的时间一致性测量。
在一些示例中,过程800可以包括使用为图像分割而训练的机器学习模型来产生第一和第二分割掩码。过程800可以还包括至少部分地基于第一相似性测量和/或基于时间一致性测量来确定机器学习模型的质量。在此类示例中,第一相似性测量的值与机器学习模型的质量相关联(例如,高值与高质量相关联)。另外地或替代地,过程800可以包括使用为图像分割而训练的机器学习模型来产生第一和第二分割掩码。过程800可以还包括使用第一相似性测量作为反馈来训练用于图像分割的机器学习模型。
在一些示例中,过程800和/或本文描述的其他过程可以由一个或多个计算设备或装置执行。在一些示例中,过程800和/或本文描述的其他过程可以由图1中所示的图像分割系统102、图4中所示的图像分割评估系统400和/或具有图1100中所示的计算设备架构1100的一个或多个计算设备来执行。在一些情况下,此类计算设备或装置可以包括处理器、微处理器、微型计算机或被配置成进行过程800的步骤的设备的其他组件。在一些示例中,此类计算设备或装置可以包括被配置成捕捉图像数据的一个或多个传感器。例如,计算设备可以包括智能电话、摄像机、头戴式显示器、移动设备或其他合适设备。在一些示例中,此类计算设备或装置可以包括被配置成捕捉一个或多个图像或视频的摄像机。在一些情况下,此类计算设备可以包括用于显示图像的显示器。在一些示例中,一个或多个传感器和/或摄像机与计算设备分离,在此情况下,计算设备接收感测的数据。此类计算设备可以还包括被配置成传达数据的网络接口。
计算设备的组件可以用电路实现。例如,组件可以包括和/或可以使用电子电路或其他电子硬件来实现,可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)和/或其他合适的电子电路),和/或可以包括和/或使用计算机软件、固件或其任何组合来实现,从而执行本文描述的各种操作。计算设备可以还包括显示器(作为输出设备的示例或者除了输出设备之外)、被配置成传达和/或接收数据的网络接口、其任何组合和/或其他组件。网络接口可以被配置成基于数据或其他类型的数据来传达和/或接收因特网协议(IP)。
过程800被示为逻辑流程图,其操作表示可以用硬件、计算机指令或其组合实现的操作序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,这些指令在由一个或多个处理器执行时,执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序并不旨在被理解为限制,并且任何数量的所描述操作可以以任何顺序和/或并行地组合来实现这些过程。
此外,过程800和/或本文描述的其他过程可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以通过硬件或其组合被实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)。如上所述,代码可以例如以包含可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储介质上。计算机可读或机器可读存储介质可以是非暂时性的。
如上文所述,在一些情况下,本文描述的系统和技术可以使用基于神经网络的机器学习系统来实现。可以使用的神经网络的说明性示例包括一个或多个卷积神经网络(CNN)、自动编码器、深度信念网络(DBN)、递归神经网络(RNN)、生成对抗网络(GAN)、门控递归单元(GRU)、其任何组合和/或任何其他合适的神经网络。
图9是可以由对象检测器使用的深度学习神经网络900的说明性示例。输入层920包括输入数据。在一个说明性示例中,输入层920可以包括表示输入视频帧的像素的数据。神经网络900包括多个隐藏层922a、922b至922n。隐藏层922a、922b至922n包括“n”个隐藏层,其中“n”是大于或等于1的整数。对于给定的应用,可以使隐藏层的数量包括所需数量的层。神经网络900还包括输出层924,其提供由隐藏层922a、922b至922n执行的处理而产生的输出。在一个说明性示例中,输出层924可以为输入视频帧中的对象提供分类。分类可以包括识别对象类型(例如,人、狗、猫或其他对象)的类别。
神经网络900是互连节点的多层神经网络。每一节点可以表示一条信息。与节点相关联的信息在不同的层之间共享,并且每一层在处理信息时保留信息。在一些情况下,神经网络900可以包括前馈网络,在此情况下没有反馈连接,其中网络的输出被反馈到其自身。在一些情况下,神经网络900可以包括递归神经网络,其可以具有允许在读取输入时跨节点承载信息的环路。
信息可以通过不同层之间的节点到节点的互连在节点之间交换。输入层920的节点可以激活第一隐藏层922a中的一组节点。例如,如图所示,输入层920的输入节点中的每一者连接到第一隐藏层922a的节点中的每一者。隐藏层922a、922b至922n的节点可以通过对这些信息应用激活函数来变换每一输入节点的信息。从变换导出的信息然后可以被传递到并可以激活下一隐藏层922b的节点,该节点可以执行它们自己指定的功能。示例性功能包括卷积、上采样、数据变换和/或任何其他合适的功能。隐藏层922b的输出然后可以激活下一隐藏层的节点,以此类推。最后一个隐藏层922n的输出可以激活输出层924的一个或多个节点,在该节点处提供输出。在一些情况下,虽然神经网络900中的节点(例如,节点926)被示为具有多个输出线,但节点具有单个输出,并且被示为从节点输出的所有线表示相同的输出值。
在一些情况下,每一节点或节点之间的互连可以具有权重,该权重是从神经网络900的训练中导出的一组参数。一旦神经网络900被训练,它可以被称为训练的神经网络,其可以用于对一个或多个对象进行分类。例如,节点之间的互连可以表示关于互连节点了解的一条信息。互连可以具有可调谐的数值权重,该权重可以被调谐(例如,基于训练数据集),从而允许神经网络900适应输入,并且能够随着越来越多的数据被处理而学习。
神经网络900被预训练成使用不同的隐藏层922a、922b至922n来处理来自输入层920中的数据的特征,以便通过输出层924提供输出。在使用神经网络900来识别图像中的对象的示例中,可以使用包括图像和标签的训练数据来训练神经网络900。例如,可以将训练图像输入到网络中,其中每一训练图像具有指示每一图像中的一个或多个对象的类别的标签(基本上,向网络指示对象是什么以及它们具有什么特征)。在一个说明性示例中,训练图像可以包括数字2的图像,在此情况下,图像的标签可以是[001000000]。
在一些情况下,神经网络900可以使用称为反向传播的训练过程来调整节点的权重。反向传播可以包括正向传递、损失函数、反向传递和权重更新。对一个训练迭代执行正向传递、损失函数、反向传递和参数更新。对于每组训练图像,该过程可以重复一定次数的迭代,直到神经网络900被训练得足够好,使得层的权重被准确地调谐。
对于识别图像中的对象的示例,正向传递可以包括通过神经网络900传递训练图像。在神经网络900被训练之前,权重最初被随机化。图像可以包括例如表示图像像素的数字阵列。阵列中的每一数字可以包括从0到255的值,用于描述阵列中该位置的像素强度。在一个示例中,该阵列可以包括28×28×3的数字阵列,具有28行和28列像素以及3种颜色分量(诸如红色、绿色和蓝色,或者亮度和两个色度分量,等)。
对于神经网络900的第一训练迭代,输出将可能包括由于在初始化时随机选择权重而不优先于任何特定类别的值。例如,如果输出是具有对象包括不同类别的概率的向量,则每一不同类别的概率值可以相等或者至少非常相似(例如,对于十个可能的类别,每一类别可以具有0.1的概率值)。利用初始权重,神经网络900不能确定低级特征,且因此不能准确确定对象的分类。损失函数可以用于分析输出中的误差。可以使用任何合适的损失函数定义。损失函数的一个示例包括均方误差(MSE)。MSE被定义为 它计算实际答案减去预测(输出)答案后的平方的一半的总和。损失可以设置为等于Etotal的值。
对于第一训练图像,损失(或误差)将很高,因为实际值将与预测输出相差很大。训练的目标是最小化损失量,以便预测的输出与训练标签相同。神经网络900可以通过确定哪些输入(权重)对网络的损失贡献最大来执行反向传递,并且可以调整权重,使得损失降低并最终最小化。
可以计算损失相对于权重的导数(表示为dL/dW,其中W是特定层的权重),以确定对网络的损失贡献最大的权重。在计算导数之后,可以通过更新过滤器的所有权重来执行权重更新。例如,可以更新权重,使其在梯度的相反方向上变化。权重更新可以表示为其中w表示权重,wi表示初始权重,并且η表示学习率。学习率可以被设置为任何合适的值,其中较高的学习率包括较大的权重更新,并且较低的值指示较小的权重更新。
神经网络900可以包括任何合适的深度网络。一个示例包括卷积神经网络(CNN),它包括输入层和输出层,在输入层和输出层之间有多个隐藏层。下文参考图9描述CNN的示例。CNN的隐藏层包括一系列卷积、非线性、池化(用于下采样)和全连接层。神经网络900可以包括除了CNN的任何其他深度网络,诸如自动编码器、深度信念网络(DBN)、递归神经网络(RNN)等。
图10是卷积神经网络1000(CNN 1000)的说明性示例。CNN 1000的输入层1020包括表示图像的数据。例如,数据可以包括表示图像像素的数字阵列,其中阵列中的每一数字包括从0到255的值,该值描述阵列中该位置的像素强度。使用来自上文的先前示例,该阵列可以包括28×28×3的数字阵列,具有28行和28列像素以及3种颜色分量(例如,红色、绿色和蓝色,或者亮度和两个色度分量,等)。图像可以被传递通过卷积隐藏层1022a、任选非线性激活层、池化隐藏层1022b和全连接隐藏层1022c,以在输出层1024获得输出。虽然图10中仅展示了每一隐藏层中的一者,但是普通技术人员将理解,CNN 1000中可以包括多个卷积隐藏层、非线性层、池化隐藏层和/或全连接层。如先前描述,输出可以指示对象的单个类别,或者可以包括最能描述图像中的对象的类别的概率。
CNN 1000的第一层是卷积隐藏层1022a。卷积隐藏层1022a分析输入层1020的图像数据。卷积隐藏层1022a的每一节点连接到输入图像的称为感受域的节点(像素)区域。卷积隐藏层1022a可以被认为是一个或多个过滤器(每一过滤器对应于不同的激活或特征图),其中过滤器的每一卷积迭代是卷积隐藏层1022a的节点或神经元。例如,过滤器在每一卷积迭代中覆盖的输入图像区域将是过滤器的感受域。在一个说明性示例中,如果输入图像包括28×28阵列,并且每一过滤器(和对应的感受域)是5×5阵列,则在卷积隐藏层1022a中将有24×24个节点。节点和该节点的感受域之间的每一连接学习一个权重,并且在一些情况下,学习整体偏差,使得每一节点学习分析其在输入图像中的特定局部感受域。隐藏层1022a的每一节点将具有相同的权重和偏差(称为共享权重和共享偏差)。例如,过滤器具有权重(数字)阵列和与输入相同的深度。对于视频帧示例,过滤器的深度将为3(根据输入图像的三种颜色分量)。过滤器阵列的说明性示例大小是5×5×3,对应于节点的感受域的大小。
卷积隐藏层1022a的卷积性质是由于卷积层的每一节点被应用于其对应的感受域。例如,卷积隐藏层1022a的过滤器可以从输入图像阵列的左上角开始,并且可以围绕输入图像进行卷积。如上所述,过滤器的每一卷积迭代可以被认为是卷积隐藏层1022a的节点或神经元。在每一卷积迭代,过滤器的值与图像的原始像素值的对应数量相乘(例如,5×5过滤器阵列与输入图像阵列左上角的输入像素值的5×5阵列相乘)。来自每一卷积迭代的乘法可以被加在一起,以获得该迭代或节点的总和。接下来,根据卷积隐藏层1022a中的下一节点的感受域,在输入图像中的下一定位继续该过程。例如,过滤器可以移动一个步长量到下一感受域。步长量可以设置为1或其他合适的量。例如,如果步长量设置为1,则过滤器将在每次卷积迭代时向右移动1个像素。在输入体积的每一唯一定位处理过滤器产生表示该定位的过滤器结果的数字,导致为卷积隐藏层1022a的每一节点确定总和值。
从输入层到卷积隐藏层1022a的映射被称为激活图(或特征图)。激活图包括表示输入体积的每一定位处的过滤结果的每一节点的值。激活图可以包括阵列,该阵列包括由输入体积上的过滤器的每一迭代产生的各种总和值。例如,如果对28×28输入图像的每一像素(步长量为1)应用5×5过滤器,激活图将包括24×24阵列。卷积隐藏层1022a可以包括若干激活图,以便识别图像中的多个特征。图10中所示的示例包括三个激活图。使用三个激活图,卷积隐藏层1022a可以检测三种不同类型的特征,其中每一特征在整个图像中都是可检测的。
在一些示例中,可以在卷积隐藏层1022a之后应用非线性隐藏层。非线性层可以用于向一直在计算线性运算的系统引入非线性。非线性层的一个说明性示例是整流线性单元(ReLU)层。ReLU层可以将函数f(x)=max(0,x)应用于输入体积中的所有值,从而将所有负激活改变为0。ReLU因此可以增加网络1000的非线性属性,而不影响卷积隐藏层1022a的感受域。
池化隐藏层1022b可以应用在卷积隐藏层1022a之后(并且当使用时,应用在非线性隐藏层之后)。池化隐藏层1022b用于简化卷积隐藏层1022a的输出中的信息。例如,池化隐藏层1022b可以获取从卷积隐藏层1022a输出的每一激活图,并使用池化函数产生压缩激活图(或特征图)。最大池化是由池化隐藏层执行的函数的一个示例。池化隐藏层1022a可以使用其他形式的池化函数,诸如平均池化、L2范数池化或其他合适的池化函数。池化函数(例如,最大池化过滤器、L2范数过滤器或其他合适的池化过滤器)被应用于卷积隐藏层1022a中包括的每一激活图。在图10中所示的示例中,三个池化过滤器用于卷积隐藏层1022a中的三个激活图。
在一些示例中,最大池化可以通过对从卷积隐藏层1022a输出的激活图应用具有步长量(例如,等于过滤器的维度,诸如步长量2)的最大池化过滤器(例如,具有2×2的大小)来使用。最大池化过滤器的输出包括过滤器所卷积的每个子区域中的最大数量。以2×2过滤器为例,池化层中的每一单元可以总结前一层中2×2个节点的区域(每一节点是激活图中的一个值)。例如,激活图中的四个值(节点)将在过滤器的每一迭代中由2×2最大池化过滤器分析,其中四个值中的最大值作为“最大”值输出。如果此类最大池化过滤器被应用于来自具有24×24节点维度的卷积隐藏层1022a的激活过滤器,则来自池化隐藏层1022b的输出将是12×12节点的阵列。
在一些示例中,还可以使用L2范数池化过滤器。L2范数池化过滤器包括计算激活图的2×2区域(或其他合适的区域)中的值的平方和的平方根(而不是像在最大池化中那样计算最大值),并将计算的值用作输出。
直观地,池化函数(例如,最大池化、L2范数池化或其他池化函数)确定给定特征是否在图像区域中的任何地方找到,并丢弃确切的位置信息。这可以在不影响特征检测结果的情况下完成,因为一旦找到特征,特征的确切定位就不如它相对于其他特征的近似定位重要。最大池化(以及其他池化方法)提供的好处是池化特征少得多,从而减少了CNN 1000的后续层所需的参数数量。
网络中连接的最后一层是全连接层,它将来自池化隐藏层1022b的每个节点连接到输出层1024中的每个输出节点。使用上面的示例,输入层包括对输入图像的像素强度进行编码的28×28节点,卷积隐藏层1022a包括基于对三个激活图应用5×5局部感受域(对于过滤器)的3×24×24隐藏特征节点,并且池化层1022b包括基于对三个特征图中的每一者上的2×2区域应用最大池化过滤器的3×12×12隐藏特征节点的层。扩展该示例,输出层1024可以包括十个输出节点。在此类示例中,3×12×12池化隐藏层1022b的每个节点连接到输出层1024的每个节点。
全连接层1022c可以获得先前池化层1022b的输出(其应表示高级特征的激活图),并确定与特定类别最相关的特征。例如,全连接层1022c层可以确定与特定类别最强相关的高级特征,并且可以包括高级特征的权重(节点)。可以计算全连接层1022c和池化隐藏层1022b的权重之间的乘积,以获得不同类别的概率。例如,如果CNN 1000正被用于预测视频帧中的对象是人,则高值将出现在表示人的高级特征的激活图中(例如,两条腿存在,脸存在于对象的顶部,两只眼睛存在于脸的左上和右上,鼻子存在于脸的中间,嘴存在于脸的底部,和/或人共有的其他特征)。
在一些示例中,来自输出层1024的输出可以包括M维向量(在先前的示例中,M=10),其中M可以包括当对图像中的对象进行分类时程序必须从中选择的类别的数量。还可以提供其他示例性输出。N维向量中的每一数字都可以表示对象属于某一类别的概率。在一个说明性示例中,如果10维输出向量表示10个不同类别的对象是[0 0 0.05 0.8 0 0 0.150 0 0 0],则该向量指示图像是第三类别对象(例如,狗)的概率为5%,图像是第四类别对象(例如,人)的概率为80%,并且图像是第六类别对象(例如,袋鼠)的概率为15%。类别的概率可以被认为是该对象是该类别的一部分的置信水平。
图11是示出用于实现本技术的某些方面的系统的示例的图。特别地,图11示出了计算系统1100的示例,计算系统1100可以是例如构成内部计算系统的任何计算设备、远程计算系统、摄像机或其任何组件,其中系统的组件使用连接1105彼此通信。连接1105可以是使用总线的物理连接,或者直接连接到处理器1110,诸如在芯片组架构中。连接1105还可以是虚拟连接、联网连接或逻辑连接。
在一些示例中,计算系统1100是分布式系统,其中本公开中描述的功能可以分布在数据中心、多个数据中心、对等网络等中。在一些示例中,一个或多个所描述的系统组件表示许多此类组件,每一组件执行该组件所描述的一些或全部功能。在一些情况下,组件可以是物理或虚拟设备。
示例性系统1100包括至少一个处理单元(CPU或处理器)1110以及连接1105,该连接1105将包括系统存储器1115(诸如只读存储器(ROM)1120和随机存取存储器(RAM)1125)的各种系统组件耦合到处理器1110。计算系统1100可以包括高速存储器的高速缓冲存储器1112,其与处理器1110直接连接、紧密接近或集成为处理器1110的一部分。
处理器1110可以包括任何通用处理器和硬件服务或软件服务,诸如存储在存储设备1130中的服务1132、1134和1135,被配置成控制处理器1110以及专用处理器,其中软件指令被并入到实际的处理器设计中。处理器1110本质上可以是完全独立的计算系统,包含多个核心或处理器、总线、存储器控制器、高速缓冲存储器等。多核处理器可以是对称的或不对称的。
为了实现用户交互,计算系统1100包括输入设备1145,其可以表示任何数量的输入机制,诸如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等。计算系统1100还可以包括输出设备1135,其可以是多个输出机制中的一者或多者。在一些情况下,多模式系统可以使用户能够提供多种类型的输入/输出来与计算系统1100通信。计算系统1100可以包括通信接口1140,其通常可以控管和管理用户输入和系统输出。通信接口可以使用有线和/或无线收发器执行或促进有线或无线通信的接收和/或传输,包括使用音频插孔/插头、麦克风插孔/插头、通用串行总线(USB)端口/插头、端口/插头、以太网端口/插头、光纤端口/插头、专有有线端口/插头、/>无线信号传送、/>低能量(BLE)无线信号传送、无线信号传送、射频识别(RFID)无线信号传送、近场通信(NFC)无线信号传送、专用短程通信(DSRC)无线信号传送、1102.11Wi-Fi无线信号传送、无线局域网(WLAN)信号传送、可见光通信(VLC)、全球微波接入互操作性(WiMAX)、红外(IR)通信无线信号传送、公共交换电话网络(PSTN)信号传送、集成服务数字网络(ISDN)信号传送、3G/4G/5G/LTE蜂窝式数据网络无线信号传送、对等式网络信号传送、无线电波信号传送、微波信号传送、红外信号传送、可见光信号传送、紫外光信号传送、沿电磁谱的无线信号传送或它们的一些组合。通信接口1140还可以包括一个或多个全球导航卫星系统(GNSS)接收器或收发器,用来基于从与一个或多个GNSS系统相关联的一个或多个卫星接收到的一个或多个信号来确定计算系统1100的定位。GNSS系统包括但不限于基于美国的全球定位系统(GPS)、基于俄罗斯的全球导航卫星系统(GLONASS)、基于中国的北斗导航卫星系统(BDS)和基于欧洲的伽利略GNSS。对在任何特定的硬件布置上操作没有限制,且因此这里的基本特征可以容易地被开发的改进的硬件或固件布置所替代。
存储设备1130可以是非易失性和/或非暂时性和/或计算机可读存储器设备,并且可以是硬盘或其他类型的计算机可读介质,其可以存储计算机可访问的数据,诸如磁带盒、闪存卡、固态存储器设备、数字通用光盘、磁带匣、软盘、软磁盘、硬盘、磁带、磁条、任何其他磁性存储介质、快闪存储器、忆阻存储器、任何其他固态存储器,紧密光盘只读存储器(CD-ROM)光盘、可重写紧密光盘(CD)光盘、数字视频光盘(DVD)光盘、蓝光光盘(BDD)光盘、全息光盘、另一光学介质、安全数字(SD)卡、微型安全数字(微型SD)卡、Memory卡、智能卡芯片、EMV芯片、订户身份模块(SIM)卡、迷你/微型/毫微/微微SIM卡、另一集成电路(IC)芯片/卡、随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存EPROM(FLASHEPROM)、高速缓冲存储器(L1/L2/L3/L4/L5/L#)、电阻随机存取存储器(RRAM/ReRAM)、相变存储器(PCM)、自旋转移扭矩RAM(STT-RAM)、另一存储芯片或磁带匣和/或其组合。
存储设备1130可以包括软件服务、服务器、服务等,当定义此类软件的代码由处理器1110执行时,使得系统执行功能。在一些示例中,执行特定功能的硬件服务可以包括存储在计算机可读介质中的与必要的硬件组件相关联的软件组件,该硬件组件诸如处理器1110、连接1105、输出设备1135等,从而执行该功能。
如本文所使用,术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光学存储设备以及能够存储、包含或承载指令和/或数据的各种其他介质。计算机可读介质可以包括其中可以存储数据的非暂时性介质,并且不包括以无线方式或通过有线连接传播的载波和/或暂时性电子信号。非暂时性介质的示例可以包括但不限于磁盘或磁带、诸如紧密光盘(CD)或数字通用光盘(DVD)的光学存储介质、快闪存储器、存储器或存储器设备。计算机可读介质上可以在其上存储代码和/或机器可执行指令,这些指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类别或者指令、数据结构或程序语句的任何组合。通过传递和/或接收信息、数据、自变量、参数或存储器内容,代码段可以耦合到另一代码段或硬件电路。可以使用包括存储器共享、消息传递、令牌传递、网络传输等任何合适的手段来传递、转发或传输信息、自变量、参数、数据等。
在一些示例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当提到时,非暂时性计算机可读存储介质明确排除了诸如能量、载波信号、电磁波和信号本身的介质。
在以上描述中提供了具体细节,以提供对本文提供的示例的透彻理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践示例。为了解释清楚,在一些情况下,本技术可以被呈现为包括单独的功能块,这些功能块包含以软件或硬件和软件的组合体现的方法中的设备、设备组件、步骤或例程。除了图中所示和/或本文所述的那些之外,还可以使用附加组件。例如,电路、系统、网络、过程和其他组件可以以框图形式展示为组件,以便不在不必要的细节中模糊示例。在其他情况下,众所周知的电路、过程、算法、结构和技术可以在没有不必要的细节的情况下展示,以避免模糊示例。
单独示例可以在上文中被描述为被描绘为流程图、流图、数据流图、结构图或框图的过程或方法。尽管流图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。另外,可以重新布置操作的顺序。当一个过程的操作完成时,它就终止了,但是它可能有图中未包括的附加步骤。过程可以对应于方法、函数、程序、子例程、子程序等。当过程对应于函数时,它的终止可以对应于该函数返回到调用函数或主函数。
根据上述示例的过程和方法可以使用存储在计算机可读介质中或以其他方式可从计算机可读介质获得的计算机可执行指令来实现。此类指令可以包括例如指令和数据,其使得或以其他方式配置通用计算机、专用计算机或处理设备来执行某些功能或功能组。所使用的部分计算机资源可以通过网络访问。计算机可执行指令可以是例如二进制文件、中间格式指令,诸如汇编语言、固件、源代码等。可以用于存储指令、所用信息和/或在根据所述示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、快闪存储器、配备有非易失性存储器的USB设备、联网存储设备等等。
实现根据这些公开内容的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采用各种形状因素中的任一者。当用软件、固件、中间件或微代码实现时,执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在计算机可读或机器可读介质中。处理器可以执行必要的任务。形状因素的典型示例包括膝上型计算机、智能电话、移动电话、平板设备或其他小型个人计算机、个人数字助理、机架式设备、独立设备等等。本文描述的功能性也可以体现在外围设备或插件卡中。借助于其他示例,此类功能性也可以在不同芯片的电路板上或在单个设备中执行的不同过程中实现。
指令、用于传送此类指令的介质、用于执行此类指令的计算资源以及用于支持此类计算资源的其他结构是用于提供本公开中描述的功能的示例性部件。
在前面的描述中,本申请的各方面是参考其特定示例来描述的,但是本领域技术人员将认识到本申请不限于此。因此,尽管本文已经详细描述了本申请的说明性示例,但是应理解,本发明的概念可以以其他方式不同地体现和使用,并且所附权利要求旨在被解释为包括此类变化,除非受到现有技术的限制。上述应用的各种特征和方面可以单独或联合使用。此外,在不脱离本说明书的更广泛的精神和范围的情况下,可以在除了本文描述的环境和应用之外的任何数量的环境和应用中使用示例。因此,说明书和附图被认为是说明性的,而不是限制性的。出于说明的目的,以特定的顺序描述了方法。应理解,在替代示例中,这些方法可以以不同于所描述的顺序来执行。
本领域普通技术人员将了解,在不脱离本说明书的范围的情况下,本文使用的小于(“<”)和大于(“>”)符号或术语可以分别用小于或等于(“≤”)和大于或等于(“≥”)符号来代替。
在组件被描述为“被配置成”执行某些操作的情况下,此类配置可以例如通过设计电子电路或其他硬件来执行该操作、通过对可编程电子电路(例如,微处理器或其他合适的电子电路)进行编程来执行该操作或其任何组合来实现。
短语“耦合到”指直接或间接物理连接到另一组件的任何组件,和/或直接或间接与另一组件通信(例如,通过有线或无线连接和/或其他合适的通信接口连接到另一组件)的任何组件。
陈述集合“中的至少一者”和/或集合中的“一个或多个”的权利要求语言或其他语言指示该集合的一个成员或该集合的多个成员(以任何组合)满足权利要求。例如,陈述“A和B中的至少一者”的权利要求语言意指A、B或A和B。在另一示例中,陈述“A、B和C中的至少一者”的权利要求语言意指A、B、C、或A和B、或A和C、或B和C、或A和B和C。语言集合“中的至少一者”和/或集合中的“一个或多个”并不将该集合限制于集合中列出的项目。例如,陈述“A和B中的至少一者”的权利要求语言可以意指A、B、或A和B,并且可以另外包括未在A和B的集合中列出的项目。
结合本文所公开的示例而描述的各种说明性逻辑块、模块、电路和算法步骤可以实现为电子硬件、计算机软件、固件或其组合。为清楚说明硬件与软件的此互换性,上文已大体关于其功能性而描述了各种说明性组件、方框、模块、电路和步骤。此类功能性是实现为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员可以针对每一特定应用以不同方式来实现所描述的功能性,但此类实现方式决策不应被解释为会导致脱离本申请的范围。
本文描述的技术还可以在电子硬件、计算机软件、固件或其任何组合中实现。此类技术可以实现在多种设备中的任一者中,诸如通用计算机、无线通信设备手机或具有多种用途的集成电路设备,包括在无线通信设备手机和其他设备中的应用。被描述为模块或组件的任何特征可以共同实现在集成逻辑设备中或单独实现为离散但可互操作的逻辑设备。如果用软件实现,则这些技术可以至少部分地由包含程序代码的计算机可读数据存储介质来实现,该程序代码包括在被执行时执行一个或多个上述方法的指令。计算机可读数据存储介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括封装材料。计算机可读介质可以包含存储器或数据存储介质,诸如随机存取存储器(RAM)(诸如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储介质等等。另外或替代地,这些技术可以至少部分地由计算机可读通信介质来实现,该计算机可读通信介质承载或传达呈指令或数据结构形式的程序代码,并且可以由计算机访问、读取和/或执行,诸如传播的信号或波。
程序代码可以由处理器执行,该处理器可以包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或离散逻辑电路。此类处理器可以被配置成执行本公开中描述的技术中的任一者。通用处理器可以是微处理器;但在替代方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、一个或多个微处理器与DSP核心的组合,或任何其他此类配置。因此,本文使用的术语“处理器”可以指任何前述结构、前述结构的任何组合、或者适合于实现本文描述的技术的任何其他结构或装置。另外,在一些方面中,本文描述的功能性可以在被配置用于编码和解码的专用软件模块或硬件模块中提供,或者并入在组合视频编码器-解码器(CODEC)中。
方面1:一种用于确定图像分割过程的一致性度量的装置。该装置包括至少一个存储器和耦合到该至少一个存储器的至少一个处理器,并且被配置成:确定与多个图像帧的第一图像帧的第一分割掩码相关联的第一分割特征;确定与多个图像帧的第二图像帧的第二分割掩码相关联的第二分割特征,该第二分割特征对应于第一分割特征;确定对应于第一分割特征的第一图像帧的第一图像特征;确定对应于第二分割特征的第二图像帧的第二图像特征;确定第一图像特征与第二图像特征之间的第一相似性测量;以及至少部分地基于该第一相似性测量来确定与第一图像帧和第二图像帧相关联的时间一致性测量。
方面2:根据方面1的装置,其中,在多个图像帧中该第一图像帧与第二图像帧相邻。
方面3:根据方面1或2中的任一者的装置,其中,多个图像帧包括在第一图像帧与第二图像帧之间的至少一个中间图像帧。
方面4:根据方面1至3中的任一者的装置,其中,至少一个处理器被配置成至少部分地基于以下各项来确定第二分割特征对应于第一分割特征:确定与第二分割掩码相关联的多个分割特征,该多个分割特征包括第二分割特征;确定第一分割特征和与第二分割掩码相关联的多个分割特征之间的多个相似性测量;以及确定多个相似性测量中的最高相似性测量对应于第二分割特征。
方面5:根据方面1至4中的任一者的装置,其中,至少一个处理器被配置成使用为图像分割而训练的机器学习模型来确定与第一分割掩码和第二分割掩码相关联的分割特征。
方面6:根据方面5的装置,其中:为图像分割而训练的机器学习模型是包括多个层的神经网络;以及至少一个处理器被配置成至少部分地基于由神经网络的多个层中的层输出的一个或多个特征图来确定与第一分割掩码和第二分割掩码相关联的分割特征。
方面7:根据方面1至6中的任一者的装置,其中,至少一个处理器被配置成使用为特征提取而训练的机器学习模型来确定第一图像帧的图像特征和第二图像帧的图像特征。
方面8:根据方面1至7中的任一者的装置,其中,至少一个处理器还被配置成:确定第一图像帧内对应于第一分割特征的第一定位;至少部分地基于该第一定位来确定第一图像帧的第一图像特征;确定第二图像帧内对应于第二分割特征的第二定位;以及至少部分地基于该第二定位来确定第二图像帧的第二图像特征。
方面9:根据方面1至8中的任一者的装置,其中,至少一个处理器被配置成至少部分地基于对应于第一图像特征的第一图像数据与对应于第二图像特征的第二图像数据之间的比较来确定第一图像特征与第二图像特征之间的第一相似性测量。
方面10:根据方面1至9中的任一者的装置,其中,至少一个处理器被配置成至少部分地基于对应于第一图像特征的第一特征向量与对应于第二图像特征的第二特征向量之间的比较来确定第一图像特征与第二图像特征之间的第一相似性测量。
方面11:根据方面1至10中的任一者的装置,其中,第一图像特征与第二图像特征之间的第一相似性测量是余弦相似性测量。
方面12:根据方面1至11中的任一者的装置,其中,至少一个处理器被配置成:确定与第一分割掩码相关联的第三分割特征;确定与第二分割掩码相关联的第四分割特征,该第四分割特征对应于第三分割特征;确定对应于第三分割特征的第一图像帧的第三图像特征;确定对应于第四分割特征的第二图像帧的第四图像特征;以及确定第三图像特征与第四图像特征之间的第二相似性测量。
方面13:根据方面12的装置,其中,至少一个处理器被配置成至少部分地基于第一相似性测量和第二相似性测量的代表值来确定与第一图像帧和第二图像帧相关联的时间一致性测量。
方面14:根据方面12或13中的任一者的装置,其中,基于该时间一致性测量,至少一个处理器被配置成产生与第一图像帧和第二图像帧相关联的时间一致性图,其中该时间一致性图存储与第一图像特征相关联的第一相似性测量和与第二图像特征相关联的第二相似性测量。
方面15:根据方面1至14中的任一者的装置,其中,至少一个处理器被配置成:确定与多个图像帧的第三图像帧的第三分割掩码相关联的第三分割特征,该第三分割特征对应于第二分割特征;确定对应于第三分割特征的第三图像帧的第三图像特征;以及确定第二图像特征与第三图像特征之间的第二相似性测量。
方面16:根据方面15的装置,其中,至少一个处理器被配置成至少部分地基于第一相似性测量和第二相似性测量来确定与第一图像帧和第三图像帧相关联的时间一致性测量。
方面17:根据方面1至16中的任一者的装置,其中,至少一个处理器被配置成:使用为图像分割而训练的机器学习模型来产生第一分割掩码和第二分割掩码;以及至少部分地基于时间一致性测量来确定该机器学习模型的质量,其中时间一致性测量的值与机器学习模型的质量相关联。
方面18:根据方面1至17中的任一者的装置,其中,至少一个处理器被配置成:使用为图像分割而训练的机器学习模型来产生第一分割掩码和第二分割掩码;以及使用第一相似性测量作为反馈来训练该用于图像分割的机器学习模型。
方面19:一种用于确定分割过程的一致性度量的方法。该方法包括:确定与多个图像帧的第一图像帧的第一分割掩码相关联的第一分割特征;确定与多个图像帧的第二图像帧的第二分割掩码相关联的第二分割特征,该第二分割特征对应于第一分割特征;确定对应于第一分割特征的第一图像帧的第一图像特征;确定对应于第二分割特征的第二图像帧的第二图像特征;确定第一图像特征与第二图像特征之间的第一相似性测量;以及至少部分地基于该第一相似性测量来确定与第一图像帧和第二图像帧相关联的时间一致性测量。
方面20:根据方面19的方法,其中,在多个图像帧中该第一图像帧与第二图像帧相邻。
方面21:根据方面19或20中的任一者的方法,其中,多个图像帧包括在第一图像帧与第二图像帧之间的至少一个中间图像帧。
方面22:根据权利要求19至21中的任一者的方法,还包含基于以下各项来确定第二分割特征对应于第一分割特征:确定与第二分割掩码相关联的多个分割特征,该多个分割特征包括第二分割特征;确定第一分割特征和与第二分割掩码相关联的多个分割特征之间的多个相似性测量;以及确定多个相似性测量中的最高相似性测量对应于第二分割特征。
方面23:根据方面19至22中的任一者的方法,还包含使用为图像分割而训练的机器学习模型来确定与所述第一分割掩码和所述第二分割掩码相关联的分割特征。
方面24:根据方面23的方法,其中:为图像分割而训练的机器学习模型是包括多个层的神经网络;以及确定与第一分割掩码和第二分割掩码相关联的分割特征包括获得由神经网络的多个层中的层输出的一个或多个特征图。
方面25:根据方面19至24中的任一者的方法,还包含使用为特征提取而训练的机器学习模型来确定第一图像帧的图像特征和第二图像帧的图像特征。
方面26:根据方面19至25中的任一者的方法,还包含:确定第一图像帧内对应于第一分割特征的第一定位;至少部分地基于该第一定位来确定第一图像帧的第一图像特征;确定第二图像帧内对应于第二分割特征的第二定位;以及至少部分地基于该第二定位来确定第二图像帧的第二图像特征。
方面27:根据方面19至26中的任一者的方法,其中,确定第一图像特征与第二图像特征之间的第一相似性测量包括比较对应于第一图像特征的第一图像数据与对应于第二图像特征的第二图像数据。
方面28:根据方面19至27中的任一者的方法,其中,确定第一图像特征与第二图像特征之间的第一相似性测量包括比较对应于第一图像特征的第一特征向量与对应于第二图像特征的第二特征向量。
方面29:根据方面19至28中的任一者的方法,其中,第一图像特征与第二图像特征之间的第一相似性测量是余弦相似性测量。
方面30:根据方面19至29中的任一者的方法,还包含:确定与第一分割掩码相关联的第三分割特征;确定与第二分割掩码相关联的第四分割特征,该第四分割特征对应于第三分割特征;确定对应于第三分割特征的第一图像帧的第三图像特征;确定对应于第四分割特征的第二图像帧的第四图像特征;以及确定第三图像特征与第四图像特征之间的第二相似性测量。
方面31:根据方面30的方法,还包含至少部分地基于第一相似性测量和第二相似性测量的代表值来确定与第一图像帧和第二图像帧相关联的时间一致性测量。
方面32:根据方面30或31中的任一者的方法,还包含基于时间一致性测量,产生与第一图像帧和第二图像帧相关联的时间一致性图,其中该时间一致性图存储与第一图像特征相关联的第一相似性测量和与第二图像特征相关联的第二相似性测量。
方面33:根据方面19至32中的任一者的方法,还包含:确定与多个图像帧的第三图像帧的第三分割掩码相关联的第三分割特征,该第三分割特征对应于第二分割特征;确定对应于第三分割特征的第三图像帧的第三图像特征;以及确定第二图像特征与第三图像特征之间的第二相似性测量。
方面34:根据方面33的方法,还包含至少部分地基于第一相似性测量和第二相似性测量来确定与第一图像帧和第三图像帧相关联的时间一致性测量。
方面35:根据方面19至34中的任一者的方法,还包含使用为图像分割而训练的机器学习模型来产生第一分割掩码和第二分割掩码;以及至少部分地基于时间一致性测量来确定该机器学习模型的质量,其中时间一致性测量的值与机器学习模型的质量相关联。
方面36:根据方面19至35中的任一者的方法,还包含:使用为图像分割而训练的机器学习模型来产生第一分割掩码和第二分割掩码;以及使用第一相似性测量作为反馈来训练该用于图像分割的机器学习模型。
方面37:一种用于确定图像分割过程的一致性度量的非暂时性计算机可读存储介质。该非暂时性计算机可读存储介质包括存储在其中的指令,这些指令在由一个或多个处理器执行时使得该一个或多个处理器执行方面1至36的操作中的任一者。
方面38:一种包括用于执行方面1至36的操作中的任一者的一个或多个部件的图像分割系统。
Claims (30)
1.一种用于确定图像分割过程的一致性度量的装置,所述装置包含:
至少一个存储器;以及
至少一个处理器,其耦合到所述至少一个存储器,所述至少一个处理器被配置成:
确定与多个图像帧的第一图像帧的第一分割掩码相关联的第一分割特征;
确定与所述多个图像帧的第二图像帧的第二分割掩码相关联的第二分割特征,所述第二分割特征对应于所述第一分割特征;
确定对应于所述第一分割特征的所述第一图像帧的第一图像特征;
确定对应于所述第二分割特征的所述第二图像帧的第二图像特征;
确定所述第一图像特征与所述第二图像特征之间的第一相似性测量;以及
至少部分地基于所述第一相似性测量来确定与所述第一图像帧和所述第二图像帧相关联的时间一致性测量。
2.根据权利要求1所述的装置,其中,在所述多个图像帧中所述第一图像帧与所述第二图像帧相邻。
3.根据权利要求1所述的装置,其中,所述多个图像帧包括在所述第一图像帧与所述第二图像帧之间的至少一个中间图像帧。
4.根据权利要求1所述的装置,其中,所述至少一个处理器被配置成至少部分地基于以下各项来确定所述第二分割特征对应于所述第一分割特征:
确定与所述第二分割掩码相关联的多个分割特征,所述多个分割特征包括所述第二分割特征;
确定所述第一分割特征和与所述第二分割掩码相关联的所述多个分割特征之间的多个相似性测量;以及
确定所述多个相似性测量中的最高相似性测量对应于所述第二分割特征。
5.根据权利要求1所述的装置,其中,所述至少一个处理器被配置成使用为图像分割而训练的机器学习模型来确定与所述第一分割掩码和所述第二分割掩码相关联的分割特征。
6.根据权利要求5所述的装置,其中:
所述为图像分割而训练的机器学习模型是包括多个层的神经网络;以及
所述至少一个处理器被配置成至少部分地基于由所述神经网络的所述多个层中的层输出的一个或多个特征图来确定与所述第一分割掩码和所述第二分割掩码相关联的所述分割特征。
7.根据权利要求1所述的装置,其中,所述至少一个处理器被配置成使用为特征提取而训练的机器学习模型来确定所述第一图像帧的图像特征和所述第二图像帧的图像特征。
8.根据权利要求1所述的装置,其中,所述至少一个处理器还被配置成:
确定所述第一图像帧内对应于所述第一分割特征的第一定位;
至少部分地基于所述第一定位来确定所述第一图像帧的所述第一图像特征;
确定所述第二图像帧内对应于所述第二分割特征的第二定位;以及
至少部分地基于所述第二定位来确定所述第二图像帧的所述第二图像特征。
9.根据权利要求1所述的装置,其中,所述至少一个处理器被配置成至少部分地基于对应于所述第一图像特征的第一图像数据与对应于所述第二图像特征的第二图像数据之间的比较来确定所述第一图像特征与所述第二图像特征之间的所述第一相似性测量。
10.根据权利要求1所述的装置,其中,所述至少一个处理器被配置成至少部分地基于对应于所述第一图像特征的第一特征向量与对应于所述第二图像特征的第二特征向量之间的比较来确定所述第一图像特征与所述第二图像特征之间的所述第一相似性测量。
11.根据权利要求1所述的装置,其中,所述第一图像特征与所述第二图像特征之间的所述第一相似性测量是余弦相似性测量。
12.根据权利要求1所述的装置,其中,所述至少一个处理器还被配置成:
确定与所述第一分割掩码相关联的第三分割特征;
确定与所述第二分割掩码相关联的第四分割特征,所述第四分割特征对应于所述第三分割特征;
确定对应于所述第三分割特征的所述第一图像帧的第三图像特征;
确定对应于所述第四分割特征的所述第二图像帧的第四图像特征;以及
确定所述第三图像特征与所述第四图像特征之间的第二相似性测量。
13.根据权利要求12所述的装置,其中,所述至少一个处理器被配置成至少部分地基于所述第一相似性测量和所述第二相似性测量的代表值来确定与所述第一图像帧和所述第二图像帧相关联的所述时间一致性测量。
14.根据权利要求12所述的装置,其中,基于所述时间一致性测量,所述至少一个处理器被配置成产生与所述第一图像帧和所述第二图像帧相关联的时间一致性图,其中所述时间一致性图存储与所述第一图像特征相关联的所述第一相似性测量和与所述第二图像特征相关联的所述第二相似性测量。
15.根据权利要求1所述的装置,其中,所述至少一个处理器还被配置成:
确定与所述多个图像帧的第三图像帧的第三分割掩码相关联的第三分割特征,所述第三分割特征对应于所述第二分割特征;
确定对应于所述第三分割特征的所述第三图像帧的第三图像特征;以及
确定所述第二图像特征与所述第三图像特征之间的第二相似性测量。
16.根据权利要求15所述的装置,其中,所述至少一个处理器被配置成至少部分地基于所述第一相似性测量和所述第二相似性测量来确定与所述第一图像帧和所述第三图像帧相关联的时间一致性测量。
17.根据权利要求1所述的装置,其中,所述至少一个处理器还被配置成:
使用为图像分割而训练的机器学习模型来产生所述第一分割掩码和所述第二分割掩码;以及
至少部分地基于所述时间一致性测量来确定所述机器学习模型的质量,其中所述时间一致性测量的值与所述机器学习模型的质量相关联。
18.根据权利要求1所述的装置,其中,所述至少一个处理器还被配置成:
使用为图像分割而训练的机器学习模型来产生所述第一分割掩码和所述第二分割掩码;以及
使用所述第一相似性测量作为反馈来训练所述用于图像分割的机器学习模型。
19.一种用于确定图像分割过程的一致性度量的方法,所述方法包含:
确定与多个图像帧的第一图像帧的第一分割掩码相关联的第一分割特征;
确定与所述多个图像帧的第二图像帧的第二分割掩码相关联的第二分割特征,所述第二分割特征对应于所述第一分割特征;
确定对应于所述第一分割特征的所述第一图像帧的第一图像特征;
确定对应于所述第二分割特征的所述第二图像帧的第二图像特征;
确定所述第一图像特征与所述第二图像特征之间的第一相似性测量;以及
至少部分地基于所述第一相似性测量来确定与所述第一图像帧和所述第二图像帧相关联的时间一致性测量。
20.根据权利要求19所述的方法,还包含至少部分地基于以下各项来确定所述第二分割特征对应于所述第一分割特征:
确定与所述第二分割掩码相关联的多个分割特征,所述多个分割特征包括所述第二分割特征;
确定所述第一分割特征和与所述第二分割掩码相关联的所述多个分割特征之间的多个相似性测量;以及
确定所述多个相似性测量中的最高相似性测量对应于所述第二分割特征。
21.根据权利要求19所述的方法,还包含使用为图像分割而训练的机器学习模型来确定与所述第一分割掩码和所述第二分割掩码相关联的分割特征。
22.根据权利要求21所述的方法,其中:
所述为图像分割而训练的机器学习模型是包括多个层的神经网络;以及
确定与所述第一分割掩码和所述第二分割掩码相关联的所述分割特征包括获得由所述神经网络的所述多个层中的层输出的一个或多个特征图。
23.根据权利要求19所述的方法,还包含使用为特征提取而训练的机器学习模型来确定所述第一图像帧的图像特征和所述第二图像帧的图像特征。
24.根据权利要求19所述的方法,还包含:
确定所述第一图像帧内对应于所述第一分割特征的第一定位;
至少部分地基于所述第一定位来确定所述第一图像帧的所述第一图像特征;
确定所述第二图像帧内对应于所述第二分割特征的第二定位;以及
至少部分地基于所述第二定位来确定所述第二图像帧的所述第二图像特征。
25.根据权利要求19所述的方法,其中,确定所述第一图像特征与所述第二图像特征之间的所述第一相似性测量包括比较对应于所述第一图像特征的第一图像数据与对应于所述第二图像特征的第二图像数据。
26.根据权利要求19所述的方法,其中,确定所述第一图像特征与所述第二图像特征之间的所述第一相似性测量包括比较对应于所述第一图像特征的第一特征向量与对应于所述第二图像特征的第二特征向量。
27.根据权利要求19所述的方法,还包含:
确定与所述第一分割掩码相关联的第三分割特征;
确定与所述第二分割掩码相关联的第四分割特征,所述第四分割特征对应于所述第三分割特征;
确定对应于所述第三分割特征的所述第一图像帧的第三图像特征;
确定对应于所述第四分割特征的所述第二图像帧的第四图像特征;以及
确定所述第三图像特征与所述第四图像特征之间的第二相似性测量。
28.根据权利要求27所述的方法,还包含至少部分地基于所述第一相似性测量和所述第二相似性测量的代表值来确定与所述第一图像帧和所述第二图像帧相关联的所述时间一致性测量。
29.根据权利要求27所述的方法,还包含基于所述时间一致性测量,产生与所述第一图像帧和所述第二图像帧相关联的时间一致性图,其中所述时间一致性图存储与所述第一图像特征相关联的所述第一相似性测量和与所述第二图像特征相关联的所述第二相似性测量。
30.根据权利要求19所述的方法,还包含:
确定与所述多个图像帧的第三图像帧的第三分割掩码相关联的第三分割特征,所述第三分割特征对应于所述第二分割特征;
确定对应于所述第三分割特征的所述第三图像帧的第三图像特征;
确定所述第二图像特征与所述第三图像特征之间的第二相似性测量;以及
至少部分地基于所述第一相似性测量和所述第二相似性测量来确定与所述第一图像帧和所述第三图像帧相关联的时间一致性测量。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063113725P | 2020-11-13 | 2020-11-13 | |
US63/113,725 | 2020-11-13 | ||
US17/524,253 | 2021-11-11 | ||
US17/524,253 US20220156943A1 (en) | 2020-11-13 | 2021-11-11 | Consistency measure for image segmentation processes |
PCT/US2021/059096 WO2022104026A1 (en) | 2020-11-13 | 2021-11-12 | Consistency measure for image segmentation processes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116547711A true CN116547711A (zh) | 2023-08-04 |
Family
ID=81586714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180075277.9A Pending CN116547711A (zh) | 2020-11-13 | 2021-11-12 | 图像分割过程的一致性度量 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220156943A1 (zh) |
EP (1) | EP4244811A1 (zh) |
KR (1) | KR20230107805A (zh) |
CN (1) | CN116547711A (zh) |
WO (1) | WO2022104026A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116935189A (zh) * | 2023-09-15 | 2023-10-24 | 北京理工导航控制科技股份有限公司 | 一种基于神经网络的伪装目标检测方法、装置及存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12003719B2 (en) * | 2020-11-26 | 2024-06-04 | Electronics And Telecommunications Research Institute | Method, apparatus and storage medium for image encoding/decoding using segmentation map |
US11727576B2 (en) * | 2020-12-18 | 2023-08-15 | Qualcomm Incorporated | Object segmentation and feature tracking |
US20230377321A1 (en) * | 2022-05-20 | 2023-11-23 | Samsung Electronics Co., Ltd. | Low-power change-based neural network inference for image processing |
TWI824861B (zh) * | 2022-11-30 | 2023-12-01 | 國立陽明交通大學 | 機器學習裝置及其訓練方法 |
CN115941872B (zh) * | 2023-02-08 | 2023-06-16 | 吉林大学 | 一种水下高速移动目标的视频插帧方法及其系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875406B (zh) * | 2017-01-24 | 2020-04-14 | 北京航空航天大学 | 图像引导的视频语义对象分割方法及装置 |
US10977827B2 (en) * | 2018-03-27 | 2021-04-13 | J. William Mauchly | Multiview estimation of 6D pose |
US10977802B2 (en) * | 2018-08-29 | 2021-04-13 | Qualcomm Incorporated | Motion assisted image segmentation |
EP3683767A1 (en) * | 2019-01-15 | 2020-07-22 | Koninklijke Philips N.V. | Image analysis method and device |
-
2021
- 2021-11-11 US US17/524,253 patent/US20220156943A1/en active Pending
- 2021-11-12 KR KR1020237015363A patent/KR20230107805A/ko unknown
- 2021-11-12 WO PCT/US2021/059096 patent/WO2022104026A1/en active Application Filing
- 2021-11-12 CN CN202180075277.9A patent/CN116547711A/zh active Pending
- 2021-11-12 EP EP21820414.7A patent/EP4244811A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116935189A (zh) * | 2023-09-15 | 2023-10-24 | 北京理工导航控制科技股份有限公司 | 一种基于神经网络的伪装目标检测方法、装置及存储介质 |
CN116935189B (zh) * | 2023-09-15 | 2023-12-05 | 北京理工导航控制科技股份有限公司 | 一种基于神经网络的伪装目标检测方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022104026A1 (en) | 2022-05-19 |
US20220156943A1 (en) | 2022-05-19 |
KR20230107805A (ko) | 2023-07-18 |
EP4244811A1 (en) | 2023-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116547711A (zh) | 图像分割过程的一致性度量 | |
US11644890B2 (en) | Image capturing in extended reality environments | |
US11600039B2 (en) | Mechanism for improved light estimation | |
US12100169B2 (en) | Sparse optical flow estimation | |
CN116324878A (zh) | 针对图像效果的分割 | |
US11941822B2 (en) | Volumetric sampling with correlative characterization for dense estimation | |
US20240135559A1 (en) | Depth estimation using image and sparse depth inputs | |
US20230300464A1 (en) | Direct scale level selection for multilevel feature tracking under motion blur | |
US20240007760A1 (en) | Low-power fusion for negative shutter lag capture | |
CN116964643A (zh) | 面部表情识别 | |
WO2021214540A1 (en) | Robust camera localization based on a single color component image and multi-modal learning | |
US20230093827A1 (en) | Image processing framework for performing object depth estimation | |
US20240202950A1 (en) | Image processing method, electronic device, storage medium, and program product | |
US11683585B2 (en) | Direct scale level selection for multilevel feature tracking under motion blur | |
US20230386052A1 (en) | Scene segmentation and object tracking | |
US20240320909A1 (en) | Generating semantically-labelled three-dimensional models | |
US20240312251A1 (en) | Image-modification techniques | |
CN118696211A (zh) | 传感器校准方法和装置 |
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 |