CN111753824A - 使用神经网络翻译模型改进图像分割 - Google Patents
使用神经网络翻译模型改进图像分割 Download PDFInfo
- Publication number
- CN111753824A CN111753824A CN202010219635.6A CN202010219635A CN111753824A CN 111753824 A CN111753824 A CN 111753824A CN 202010219635 A CN202010219635 A CN 202010219635A CN 111753824 A CN111753824 A CN 111753824A
- Authority
- CN
- China
- Prior art keywords
- image
- feature
- decoder
- input image
- generate
- 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
Images
Classifications
-
- 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/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/255—Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
-
- 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
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- 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
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- 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
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- 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/20212—Image combination
-
- 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/30004—Biomedical image processing
-
- 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/30004—Biomedical image processing
- G06T2207/30016—Brain
-
- 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/30204—Marker
-
- 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/03—Recognition of patterns in medical or anatomical images
- G06V2201/031—Recognition of patterns in medical or anatomical images of internal organs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了使用神经网络翻译模型改进图像分割。神经网络包括编码器、公共解码器和残差解码器。编码器将输入图像编码到潜在空间中。潜在空间使独特特征与其他公共特征分离。公共解码器对驻留在潜在空间中的公共特征进行解码,以生成缺少独特特征的翻译图像。残差解码器对驻留在潜在空间中的独特特征进行解码,以生成与独特特征相对应的图像增量。神经网络将翻译图像与图像增量相组合,以生成可包括公共特征和独特特征两者的组合图像。组合图像可用于驱动自动编码。一旦训练完成,可以修改残差解码器以生成分割掩码,这些分割掩码指示独特特征所驻留在的给定输入图像的任何区域。
Description
背景技术
在传统的图像分割方法中,神经网络被训练以基于包括一组标记图像的训练数据来识别图像的特定特征。例如,神经网络可以被训练以基于训练数据识别图像内的汽车实例,所述训练数据包含汽车图像和指示汽车所驻留在的那些图像的区域的标签。此方法的一个缺点是训练数据需要由人类手动生成。特别地,人类必须对训练数据中的每个图像进行视觉评估,然后生成指示感兴趣特征在那些图像中的位置的一个或更多个标签。这个过程可能非常耗时。此外,某些类型的训练数据(例如与医学成像相关联的训练数据)只能由可能不容易找到的专家生成。
附图说明
为了可以详细理解各个实施例的上述特征的方式,可以通过参考各个实施例来对以上简要概述的发明构思进行更具体的描述,在附图中示出了其中一些实施例。然而,应注意,附图仅示出了本发明构思的典型实施例,因此不应以任何方式被认为是对范围的限制,并且还有其他等效的实施例。
图1示出了被配置为实现各个实施例的一个或更多个方面的系统。
图2是根据各个实施例的图1的神经网络的更详细的图示。
图3示出了根据各个实施例的可以如何训练图1的神经网络。
图4示出了根据各个实施例的图1的神经网络如何生成分割掩码。
图5示出了根据各个实施例的图1的神经网络如何增强翻译图像的空间细节。
图6是根据各个实施例的用于翻译图像以生成分割掩码的方法步骤的流程图。
图7是示出被配置为实现各个实施例的一个或更多个方面的计算机系统的框图。
图8是根据各个实施例的包括在图7的并行处理子系统中的并行处理单元(PPU)的框图。
图9是根据各个实施例的包括在图8的并行处理单元(PPU)中的通用处理集群(GPC)的框图。
具体实施方式
在以下描述中,阐述了许多具体细节以提供对各种实施例的更透彻的理解。然而,对于本领域的技术人员将显而易见的是,可以在没有一个或更多个这些具体细节的情况下实践本发明构思。
如上所述,用于图像分割的传统方法涉及基于手动标记的训练数据来训练神经网络。生成这些训练数据可能非常耗时。此外,某些类型的训练数据只能由专家生成,其可能不容易手动标记图像。
为了解决这个问题,各种实施例包括神经网络,其被训练以将可以包括感兴趣特征的输入图像翻译(translate)成不包括感兴趣特征的翻译图像(translated image)。可以将输入图像与翻译图像进行比较,以揭示输入图像中感兴趣特征所在的区域。
在一个实施例中,基于弱标记的训练数据来训练神经网络。弱标记的训练数据包括包含感兴趣特征的第一组图像和不包含感兴趣特征的第二组图像。弱标记的训练数据还包括每个图像的标签,其指示感兴趣特征的存在或不存在。感兴趣特征对于第一组图像是唯一的,因此在本文中可以被称为“独特特征(unique feature)”。两组图像还包括两组图像中都包含的各种其他特征。这些特征在本文中可以被称为“公共特征”。
在一个实施例中,神经网络包括编码器、公共解码器和残差解码器。基于弱标记的训练数据中包含的输入图像和相应的标记来训练编码器和解码器。编码器将输入图像编码到潜在空间中。潜在空间使输入图像的独特特征与输入图像的公共特征分离(disentangle)。公共解码器对驻留在潜在空间中的公共特征进行解码,以生成缺少独特特征的翻译图像。残差解码器对驻留在潜在空间中的独特特征进行解码,以生成与独特特征相对应的图像增量。神经网络将翻译图像与图像增量相组合,以生成可包含公共特征和独特特征两者的组合图像。组合图像可用于通过自动编码来驱动神经网络的训练。一旦训练完成,可以修改残差解码器以生成分割掩码,而不是图像增量。给定的分割掩码指示给定输入图像中独特特征所在的任何区域。
相对于现有技术,所公开的技术的至少一个技术优势在于,可以仅基于弱标记的训练数据来精确地分割图像。因此,可以在图像内容易地识别出感兴趣特征,而无需执行复杂的手动过程来生成训练数据。相对于现有技术,所公开的技术的另一技术优势在于,与传统方法相比,需要较少的参考分割来训练神经网络,从而简化并加快了训练过程。这些技术优势代表了相对于现有技术方法的多项技术进步。
系统概述
图1示出了被配置为实现各个实施例的一个或更多个方面的系统100。如图所示,在一个实施例中,系统100包括训练引擎110和神经网络120。
在一个实施例中,训练引擎110被配置为基于弱标记的训练数据112训练神经网络120,以生成翻译图像122(0)和122(1)。弱标记的训练数据112包括图像114(0)和图像114(1)。图像114(0)包括感兴趣特征,并且图像114(1)不包括感兴趣特征。图像114(0)和114(1)被标记以指示感兴趣特征的存在或不存在。图像114(0)被标记为“存在”(P)以指示该特征存在于图像114(0)中。图像114(1)被标记为“不存在”(A)以指示图像114(1)中不存在该特征。感兴趣特征在本文中可以被称为“独特特征”,因为该特征唯一地出现在图像114(0)中。图像114(0)和114(1)共同共享某些特征。这些特征在本文中被称为“公共特征”。
在一个实施例中,在图1所示的示例中,图像114(0)和114(1)是大脑的横截面图像。图像114(0)和114(1)都包括通常与大脑相关联的特征,包括例如大脑半球、裂隙和脑回。这些特征(用“C”指示)对于图像114(0)和114(1)两者是公共的。另外,图像114(0)包括异常,例如脑肿瘤。该特征(用“U”指示)唯一地出现在图像114(0)中。尽管为了清楚起见在图1中示出了公共特征和独特特征,但是在弱标记的训练数据112中未明确标记这些特征。如上所述,弱标记的训练数据112指示图像114(0)和114(1)内存在或不存在独特特征。
在一个实施例中,训练引擎110基于弱标记的训练数据112训练神经网络120以将图像114(0)和114(1)编码到潜在空间中。潜在空间将独特特征和公共特征分离。训练引擎110还训练神经网络120以解码来自潜在空间的公共特征,以生成缺乏独特特征的翻译图像122(0)。训练引擎110进一步训练神经网络122(1)以解码来自潜在空间的独特特征(结合公共特征)以生成缺乏公共特征的翻译图像122(1)。在一些实施例中,翻译图像122(1)可以表示为图像差异。
在一个实施例中,在训练期间,翻译图像122(0)和122(1)可以被组合以重建图像114(0)和114(1)。训练引擎114然后可以基于那些重建图像执行自动编码过程来训练神经网络120。一旦以这种方式训练了神经网络120,神经网络120的修改版本可以生成分割掩码而不是生成翻译图像。分割掩码指示图像中独特特征所在的区域。下面还将结合图2-图6更详细地描述上述各种技术。
翻译模型
图2是根据各个实施例的图1的神经网络的更详细的图示。如图所示,在一个实施例中,神经网络120包括编码器200、公共解码器210和残差解码器220。
在一个实施例中,编码器200是多层卷积神经网络,其将输入图像编码到潜在空间中。潜在空间将这些输入图像的公共特征和独特特征分离。公共解码器210是多层反卷积神经网络,其对来自潜在空间的公共特征进行解码,以生成包括公共特征但不包括独特特征的输入图像的翻译版本。残差解码器220是多层反卷积神经网络,其基于公共特征对来自潜在空间的独特特征进行解码,以生成包括独特特征但不包括公共特征的翻译图像。这些翻译图像可以进行组合,以重建输入图像并通过自动编码驱动训练。
在一个实施例中,在操作中,编码器200接收输入图像XP,其被标记以指示一个或更多个独特特征的存在。XP可以被包括在例如图1的图像114(0)中。编码器200将XP编码到潜在空间中以使公共特征与独特特征分离,从而生成公共特征Cp和独特特征Up。公共解码器210对公共特征Cp进行解码以生成XPA。XPA是XP的翻译版本,其不再包含独特特征。残差解码器220基于公共特征Cp对独特特征Up进行解码,以生成ΔPA。ΔPA是XP的翻译版本,其不再包含公共特征。ΔPA表示为图像之间的残差,并且可包括像素值,其当与XPA组合使用时,产生翻译图像XPP。在训练期间,可以修改编码器200、公共解码器210和残差解码器220,以减小XP和XPP之间的差异。
在一个实施例中,图1的训练引擎110包括生成对抗网络(GAN),其在训练期间鉴别XP和XPP,并修改编码器200、公共解码器210和残差解码器220中的至少一个,以减小XP和XPP之间的差异。熟悉自动编码器训练的人员将了解如何实现GAN以改善从XP到XPP的图像翻译。还可以实现其他训练技术以进一步训练神经网络120的各个元素,如下面结合图3更详细地描述。
图3示出了根据各个实施例如何训练图1的神经网络。如图所示,在一个实施例中,神经网络120被配置为在至少两个周期(cycle)中操作。可以在训练期间以这种方式配置神经网络120,以提高编码器200、公共解码器210和残差解码器220的翻译能力。
在一个实施例中,神经网络120在第一周期300内操作,以将不包括一个或更多个独特特征的输入图像XA翻译成包括独特特征的翻译图像XAP。特别地,编码器200将输入图像XP编码到潜在空间中以生成公共特征CA。独特特征不存在于输入图像XA中,因此编码器200不会在潜在空间内生成独特特征UA。公共解码器210对公共特征CA进行解码以生成XAA。XAA是XA的翻译版本,与XA一样,它不包含独特特征。残差解码器220获得潜在空间中对应于独特特征的随机样本,然后生成ΔAP以反映这些随机样本与通过编码器200生成的公共特征CA之间的残差。XAA和ΔAP被组合以生成翻译图像XAP,从而完成周期300。
随后,神经网络120在第二周期310内进行操作,以将翻译图像XAP重新翻译为不再包括通过周期300引入的独特特征的翻译图像XAPA。特别地,编码器200将图像XAP编码到潜在空间中以生成公共特征CAP。编码器200还可以生成独特特征以输入到残差解码器220,如上面结合周期300所述,但是在周期310中可以忽略这些独特特征。然后,公共解码器210对公共特征CAP进行解码以生成翻译图像XAPA。翻译图像XAPA不包含独特特征,因此可以与XA进行比较,以通过自动编码过程来驱动训练。具体地,可以训练编码器200、公共解码器210和残差解码器220以便减小XA和XAPA之间的差异。这种特定的训练方法可以使编码器200、公共解码器210和残差解码器220在存在噪声的情况下以更高的精度翻译图像,因此可以使神经网络120对噪声更加鲁棒。
在一个实施例中,结合图2-图3描述的各种技术可以适用于翻译输入图像XP以生成可以用于训练目的的翻译图像XPAP。例如,结合图2描述的技术可以应用于翻译输入图像XP以生成翻译图像XPA,如前所述。然后,可以将XPA输入到图3的周期300,从而生成XPAP。通过此过程,将XP的独特特征移除,然后再重新引入。编码器200、公共解码器210和残差解码器220可以被训练以便减小XP和XPAP之间的差异。
在一个实施例中,一旦以上述方式训练了神经网络120,就可以对神经网络120应用各种修改以促进分割掩码的生成。下面结合图4更详细地描述这些修改。
生成分割掩码
图4示出了根据各个实施例的图1的神经网络如何生成分割掩码。如图所示,在一个实施例中,神经网络120包括耦合在编码器200和残差解码器220之间的多层感知器(MLP)400。MLP 400包括两层或更多层,并且被配置为在解码器220解码来自潜在空间的公共特征和独特特征时执行缩放和移位操作。
在一个实施例中,可以将MLP 400合并到神经网络120中,以实现本领域中称为“自适应实例归一化”的方法。当实现自适应实例归一化时,MLP 400调整与残差解码器220相关联的一个或更多个归一化参数,以使编码器200生成分割掩码而不是生成残差。这些归一化参数可以包括例如一个或更多个缩放参数和移位参数。
在一个实施例中,利用示出的示例输入,编码器200将输入图像XP编码到潜在空间中以生成独特特征UP和公共特征CP。基于独特特征UP和公共特征CP,MLP 400利用残差解码器220执行自适应实例归一化,以使残差解码器220生成分割掩码410。分割掩码410指示输入图像XP中独特特征所在的特定区域。
在一个实施例中,如以下结合图5更详细地描述的,可以通过包括长跳连接(long-skip connection)来增强神经网络120以恢复与输入图像相关联的空间细节。
恢复空间细节
图5示出了根据各个实施例的图1的神经网络如何增强翻译图像的空间细节。如图所示,在一个实施例中,神经网络120包括编码器200和公共解码器210之间的长跳连接500(0)以及编码器200和残差解码器220之间的长跳连接500(1)。长跳连接500(0)和500(1)通常分别有助于公共解码器210和残差解码器220在翻译图像时恢复和/或增强空间细节。
在一个实施例中,长跳连接500(0)和500(1)采用从编码器200接收到的公共特征和独特特征执行卷积运算,以生成这些特征的压缩版本。例如,给定的长跳连接500可以压缩64x64特征映射,以生成8x8特征映射。长跳连接500(0)和500(1)然后串接(concatenate)得到的一个或更多个压缩特征,并将串接的压缩特征前馈给公共解码器210和/或残差解码器220。然后,公共解码器210和残差解码器220可以以更高的空间精度生成翻译图像和/或残差。
总体上参考图1-图5,在一个实施例中,图1的训练引擎110可以使用任何技术上可行的训练方法来训练编码器200、公共解码器210和残差解码器220,如先前所提到的,包括那些通常与自动编码器相关的方法。例如,训练引擎110可以用编码器200、公共解码器210和残差解码器220实现反向传播,以减少输入图像与翻译图像和/或组合图像之间的误差。
在一个实施例中,在训练期间,训练引擎110实现下面表1中列出的一个或更多个目标函数:
在一个实施例中,训练引擎110基于目标函数1训练公共解码器210和残差解码器220,以改善图像重建。目标函数1包括各种损失项,其可以基于特定的输入图像和翻译图像进行评估。上面结合图2-图3讨论了这些输入图像和翻译图像。
在一个实施例中,训练引擎110基于目标函数2训练编码器200,以改善潜在空间重建。目标函数2包括各种损失项,其可以使用特定的公共特征和独特特征进行评估。上面结合图2-图3讨论了其中一些公共特征和独特特征。目标函数2中提出的其他公共特征和独特特征可以由编码器200基于以上结合图2-图3讨论的特定重建图像来生成。例如,CPA可以由编码器200基于图2的XPA生成。类似地,CAA可以由编码器200基于图3的XAA生成。CPP和UPP可以由编码器200基于图2的XPP生成。UAP可以由编码器200基于图2的XAP生成。
在一个实施例中,训练引擎110包括如上面结合图2所述的GAN,其被训练以鉴别XP和XAP以及XA和XPA。训练引擎110可以基于目标函数3提高GAN的鉴别能力。
在一个实施例中,训练引擎110基于目标函数4训练MLP 400以执行以上结合图4提出的自适应实例归一化方法。对目标函数4进行评估以确定分割掩码410的Dice系数。
通过图像到图像的翻译进行分割
图6是根据各个实施例的用于翻译图像以生成分割掩码的方法步骤的流程图。尽管结合图1-图5的系统描述了方法步骤,但是本领域技术人员将应当理解,配置成以任何顺序执行方法步骤的任何系统都落在本实施例的范围内。
如图所示,方法600在步骤602开始,其中图2的编码器200将输入图像编码到潜在空间中,以使可能出现在输入图像中的公共特征和独特特征分离。在一个实施例中,图1的训练引擎110基于弱标记的训练数据112来训练编码器200。弱标记的训练数据112包括图像114(0)和114(1)。某些特征仅出现在图像114(0)内,而其他特征出现在图像114(0)和114(1)两者内。在一个实施例中,编码器200是多层卷积神经网络。
在步骤604,图2的公共解码器210解码来自潜在空间的公共特征,以生成缺少独特特征的翻译图像。在一个实施例中,图1的训练引擎110基于弱标记的训练数据112训练公共解码器210,以及基于该训练数据训练编码器200。在一个实施例中,公共解码器210是多层反卷积神经网络。在另一实施例中,公共解码器210从编码器200接收一个或更多个长跳连接,如上面结合图5所讨论的。在一些实施例中,在训练操作期间,方法600进行到步骤606。在一些实施例中,在推理操作过程中,方法600进行到步骤608。在各种实施例中,可以执行步骤606和608中的一个或两个,这取决于例如所实现的一个或更多个损失函数。
在步骤606,图2的残差解码器220解码来自潜在空间的独特特征以生成残余图像差异(residual image difference)。残余图像差异可以包括像素值,当像素值与经由步骤604生成的翻译图像组合时,产生翻译图像。翻译图像可以是输入图像的重建版本。在训练期间,可以修改残差解码器220,以减小输入图像和重建图像之间的差异。在一个实施例中,残差解码器220是多层反卷积神经网络。在另一实施例中,残差解码器220从编码器200接收一个或更多个长跳连接,如以上结合图5所讨论的。通常在训练期间执行步骤606。
在步骤608,神经网络120配置残差解码器220以生成指示输入图像中独特特征的位置的分割掩码。在一个实施例中,神经网络120实现多层感知器(MLP)以利用残差解码器220执行自适应实例归一化。例如,神经网络120可以实现图4的MLP 400以便用编码到潜在空间中的公共特征和独特特征执行缩放和移位操作。一旦训练完成,通常在推理操作期间执行步骤608。
示例硬件架构
图7是示出被配置为实现各个实施例的一个或更多个方面的计算机系统700的框图。在一些实施例中,计算机系统700是在数据中心或云计算环境中操作的服务器机,其通过网络提供可扩展计算资源作为服务。
在各个实施例中,计算机系统700包括但不限于中央处理单元(CPU)702和经由存储器桥705和通信路径713耦合到并行处理子系统712的系统存储器704。存储器桥705还经由通信路径706耦合到I/O(输入/输出)桥707,并且I/O桥707又耦合到交换机716。
在一个实施例中,I/O桥707被配置为从可选输入设备708(诸如键盘或鼠标)接收用户输入信息,并且将输入信息转发到CPU 702以经由通信路径706和存储器桥705进行处理。在一些实施例中,计算机系统700可以是云计算环境中的服务器机。在这样的实施例中,计算机系统700可以不具有输入设备708。相反,计算机系统700可以通过接收通过网络发送并经由网络适配器718接收的消息形式的命令来接收等效的输入信息。在一个实施例中,交换机716配置为在I/O桥707与计算机系统700的其他组件(例如网络适配器718和各种附加卡720和721)之间提供连接。
在一个实施例中,I/O桥707耦合到系统盘714,系统盘714可以被配置为存储内容以及应用程序和数据,以供CPU 702和并行处理子系统712使用。在一个实施例中,系统盘714提供用于应用程序和数据的非易失性存储,并且可包括固定的或可移除的硬盘驱动器,闪存设备以及CD-ROM(光盘只读存储器),DVD-ROM(数字多功能盘-ROM),蓝光,HD-DVD(高清晰度DVD)或其他磁、光或固态存储设备。在各个实施例中,其他组件(诸如通用串行总线或其他端口连接,光盘驱动器,数字多功能盘驱动器,电影记录设备等)也可以连接至I/O桥707。
在各个实施例中,存储器桥705可以是北桥芯片,I/O桥707可以是南桥芯片。另外,通信路径706和713以及计算机系统700内的其他通信路径可以使用任何技术上合适的协议来实现,包括但不限于AGP(加速图形端口),HyperTransport或本领域已知的任何其他总线或点对点通信协议。
在一些实施例中,并行处理子系统712包括将像素传送到可选显示设备710的图形子系统,该可选显示设备可以是任何常规的阴极射线管、液晶显示器、发光二极管显示器等。在这样的实施例中,并行处理子系统712包括针对图形和视频处理而优化的电路,包括例如视频输出电路。如以下结合图8和图9更详细地描述的,这种电路可以跨一个或更多个并行处理单元(PPU)合并,在本文中也称为并行处理器,其被包括在并行处理子系统712内。在其他实施例中,并行处理子系统712包括针对通用和/或计算处理而优化的电路。再次,这种电路可以跨包括在并行处理子系统712内的一个或更多个PPU合并,该PPU被配置为执行这种通用操作和/或计算操作。在其他实施例中,并行处理子系统712中包括的一个或更多个PPU可以被配置为执行图形处理、通用处理和计算处理操作。系统存储器704包括至少一个设备驱动器,其被配置为管理并行处理子系统712内的一个或更多个PPU的处理操作。
在各个实施例中,并行处理子系统712可以与图7的一个或更多个其他元件集成在一起以形成单个系统。例如,并行处理子系统712可以与CPU 702和其他连接电路集成在单个芯片上,以形成片上系统(SoC)。
在一个实施例中,CPU 702是计算机系统700的主处理器,其控制和协调其他系统组件的操作。在一个实施例中,CPU 702发出控制PPU的操作的命令。在一些实施例中,通信路径713是PCI Express链路,其中专用通道被分配给每个PPU,如本领域所公知的。也可以使用其他通信路径。PPU有利地实现了高度并行的处理架构。PPU可以配备有任何数量的本地并行处理存储器(PP存储器)。
应当理解,本文所示的系统是说明性的,并且可以进行变化和修改。可以根据需要修改连接拓扑,包括桥的数量和布置、CPU 702的数量以及并行处理子系统712的数量。例如,在一些实施例中,系统存储器704可以直接而不是通过存储器桥705连接到CPU 702,并且其他设备将通过存储器桥705和CPU 702与系统存储器704通信。在其他实施例中,并行处理子系统712可以连接到I/O桥707或直接连接到CPU 702,而不是连接到存储器桥705。在其他实施例中,I/O桥707和存储器桥705可以集成到单个芯片中,而不是作为一个或更多个分立器件存在。最后,在某些实施例中,可能不存在图7所示的一个或更多个组件。例如,可以省去交换机716,并且网络适配器718和附加卡720、721将直接连接到I/O桥707。
图8是根据各个实施例的包括在图7的并行处理子系统712中的并行处理单元(PPU)802的框图。尽管图8描绘了一个PPU 802,但是如上所述,并行处理子系统712可以包括任意数量的PPU 802。如图所示,PPU 802耦合到本地并行处理(PP)存储器804。PPU 802和PP存储器804可以使用一个或更多个集成电路器件(例如可编程处理器、专用集成电路(ASIC)或存储设备)或以任何其他技术上可行的方式来实现。
在一些实施例中,PPU 802包括图形处理单元(GPU),其可以被配置为实现图形渲染管线,以基于由CPU 702和/或系统存储器704提供的图形数据执行与生成像素数据有关的各种操作。当处理图形数据时,PP存储器804可以用作存储一个或更多个常规帧缓冲器以及(如果需要的话)还存储一个或更多个其他渲染目标的图形存储器。此外,PP存储器804可以用于存储和更新像素数据,并将最终的像素数据或显示帧传送到可选的显示设备710以进行显示。在一些实施例中,PPU 802还可以被配置用于通用处理和计算操作。在一些实施例中,计算机系统700可以是云计算环境中的服务器机。在这样的实施例中,计算机系统700可以不具有显示设备710。相反,计算机系统700可以通过经由网络适配器718通过网络以消息的形式发送命令来生成等效的输出信息。
在一些实施例中,CPU 702是计算机系统700的主处理器,其控制和协调其他系统组件的操作。在一个实施例中,CPU 702发出控制PPU 802的操作的命令。在一些实施例中,CPU 702将用于PPU 802的命令流写入可位于系统存储器704、PP存储器804或CPU 702和PPU802均可访问的另一个存储位置中的数据结构(图7或图8中未明确示出)。将指向数据结构的指针写入命令队列(在本文中也称为推送缓冲区),以启动对数据结构中的命令流的处理。在一个实施例中,PPU 802从命令队列中读取命令流,然后相对于CPU 702的操作异步地执行命令。在生成多个推送缓冲区的实施例中,应用程序可以通过设备驱动程序为每个推送缓冲区指定执行优先级,以控制不同推送缓冲区的调度。
在一个实施例中,PPU 802包括I/O(输入/输出)单元805,其经由通信路径713和存储器桥705与计算机系统700的其余部分进行通信。在一个实施例中,I/O单元805生成分组(或其他信号)以在通信路径713上传输,并且还从通信路径713接收所有传入的分组(或其他信号),将传入的分组定向到PPU 802的适当组件。例如,可以将与处理任务有关的命令定向到主机接口806,而与存储器操作有关的命令(例如,从PP存储器804读取或写入PP存储器804)可被定向到交叉开关单元810。在一个实施例中,主机接口806读取每个命令队列,并将命令队列中存储的命令流发送到前端812。
如以上结合图7所述,PPU 802与计算机系统700其余部分的连接可以改变。在一些实施例中,包括至少一个PPU 802的并行处理子系统712被实现为可以插入计算机系统700的扩展槽中的附加卡。在其他实施例中,PPU 802可以被集成在具有总线桥的单个芯片上,例如存储器桥705或I/O桥707。再次,在其他实施例中,PPU 802的部分或全部元件可以与CPU 702一起包含在单个集成电路或片上系统(SoC)中。
在一个实施例中,前端812将从主机接口806接收的处理任务发送到任务/工作单元807内的工作分配单元(未示出)。在一个实施例中,工作分配单元接收指向处理任务的指针,该处理任务被编码为任务元数据(TMD)并存储在存储器中。指向TMD的指针包含在命令流中,该命令流被存储为命令队列并由前端单元812从主机接口806接收。可以编码为TMD的处理任务包括与要处理的数据关联的索引以及定义如何处理数据的状态参数和命令。例如,状态参数和命令可以定义要对数据执行的程序。同样例如,TMD可以指定CTA集的数量和配置。通常,每个TMD都对应一个任务。任务/工作单元807从前端812接收任务,并确保在启动由每个TMD指定的处理任务之前,将GPC 808配置为有效状态。可以为每个TMD指定优先级,该优先级用于调度处理任务的执行。还可以从处理集群阵列830接收处理任务。可选地,TMD可以包括控制是否将TMD添加到处理任务列表的头部或尾部(或添加到指向处理任务的指针的列表)的参数,从而提供对执行优先级的另一级控制。
在一个实施例中,PPU 802基于处理集群阵列830实现高度并行的处理架构,该处理集群阵列830包括一组C个通用处理集群(GPC)808,其中C≥1。每个GPC 808能够并发地执行大量(例如数百或数千个)线程,其中每个线程都是程序的实例。在各种应用程序中,可以分配不同的GPC 808用于处理不同类型的程序或用于执行不同类型的计算。GPC 808的分配可以根据每种类型的程序或计算产生的工作量而变化。
在一个实施例中,存储器接口814包括一组D个分区单元815,其中D≥1。每个分区单元815耦合到驻留在PPM存储器804中的一个或更多个动态随机存取存储器(DRAM)820。在一些实施例中,分区单元815的数量等于DRAM 820的数量,并且每个分区单元815耦合到不同的DRAM 820。在其他实施例中,分区单元815的数量可以与DRAM 820的数量不同。本领域普通技术人员将理解,DRAM 820可以用任何其他技术上合适的存储设备代替。在操作中,可以跨DRAM 820存储各种渲染目标(例如纹理映射和帧缓冲区),从而允许分区单元815并行写入每个渲染目标的部分,以有效地使用PP存储器804的可用带宽。
在一个实施例中,给定的GPC 808可以处理要写入PP存储器804中的任何DRAM 820的数据。在一个实施例中,交叉开关单元810被配置为将每个GPC 808的输出路由到任何分区单元815或任何其他GPC 808的输入以进行进一步处理。GPC 808经由交叉开关单元810与存储器接口814通信,以从各种DRAM 820读取或写入各种DRAM 820。在一些实施例中,交叉开关单元810除了经由存储器接口814与PP存储器804的连接之外,还具有与I/O单元805的连接,从而使不同GPC 808中的处理核心能够与系统存储器704或非PPU 802本地的其他存储器进行通信。在图8的实施例中,交叉开关单元810直接与I/O单元805连接。在各个实施例中,交叉开关单元810可以使用虚拟信道来分离GPC 808和分区单元815之间的业务流。
在一个实施例中,GPC 808可以被编程为执行与各种各样的应用程序有关的处理任务,包括但不限于线性和非线性数据变换,视频和/或音频数据的过滤,建模操作(例如,应用物理定律以确定物体的位置、速度和其他属性),图像渲染操作(例如曲面细分着色程序,顶点着色程序,几何着色程序和/或像素/片段着色程序),通用计算操作等。在操作中,PPU 802被配置为将数据从系统存储器704和/或PP存储器804传输到一个或更多个片上存储器单元,处理数据,并将结果数据写回到系统存储器704和/或PP存储器804。然后结果数据可以由其他系统组件访问,包括CPU 702,并行处理子系统712内的另一个PPU 802或计算机系统700内的另一个并行处理子系统712。
在一个实施例中,并行处理子系统712中可以包括任意数量的PPU 802。例如,可以在单个附加卡上提供多个PPU 802,或者可以将多个附加卡连接到通信路径713,或者可以将一个或更多个PPU 802集成到桥芯片中。多PPU系统中的PPU 802可以彼此相同或不同。例如,不同的PPU 802可具有不同数量的处理核心和/或不同数量的PP存储器804。在存在多个PPU 802的实现中,这些PPU可以并行运行,以比采用单个PPU 802所可能的更高的吞吐量处理数据。包含一个或更多个PPU 802的系统可以以各种配置和形式因子来实现,包括但不限于台式机,笔记本电脑,手持个人计算机或其他手持设备,服务器,工作站,游戏机,嵌入式系统等等。
图9是根据各个实施例的包括在图8的并行处理单元(PPU)802中的通用处理集群(GPC)808的框图。如图所示,GPC 808包括但不限于管线管理器905,一个或更多个纹理单元915,preROP单元925,工作分配交叉开关930和L1.5高速缓存935。
在一个实施例中,GPC 808可以被配置为并行执行大量线程以执行图形、通用处理和/或计算操作。如本文所使用的,“线程”是指对特定的一组输入数据执行的特定程序的实例。在一些实施例中,单指令、多数据(SIMD)指令发布技术用于支持大量线程的并行执行,而无需提供多个独立指令单元。在其他实施例中,单指令、多线程(SIMT)技术用于使用配置为向GPC 808中的一组处理引擎发出指令的通用指令单元,支持大量通常同步的线程的并行执行。与SIMD执行方案不同,在所有处理引擎通常执行相同指令的情况下,SIMT执行允许不同的线程更容易地通过给定程序遵循不同的执行路径。本领域普通技术人员将理解,SIMD处理方案代表SIMT处理方案的功能子集。
在一个实施例中,经由管线管理器905控制GPC 808的操作,该管线管理器905将从任务/工作单元807内的工作分配单元(未示出)接收的处理任务分配给一个或更多个流式多处理器(SM)910。管线管理器905还可以被配置为通过指定SM 910输出的处理数据的目的地来控制工作分配交叉开关930。
在各个实施例中,GPC 808包括一组M个SM 910,其中M≥1。而且,每个SM 910包括一组功能执行单元(未示出),例如执行单元和加载存储单元。可以管线化特定于任何功能执行单元的处理操作,这使得能够在前一条指令完成执行之前发出新指令以执行。可以提供给定SM 910内的功能执行单元的任何组合。在各个实施例中,功能执行单元可以被配置为支持各种不同的操作,包括整数和浮点算术(例如,加法和乘法),比较操作,布尔运算(AND,OR,XOR),移位和各种代数函数(例如,平面插值和三角函数、指数函数和对数函数等)的计算。有利地,相同的功能执行单元可以被配置为执行不同的操作。
在各个实施例中,每个SM 910包括多个处理核心。在一个实施例中,SM 910包括大量(例如128个等)不同的处理核心。每个核心可以包括全管线化,单精度,双精度和/或混合精度处理单元,其包括浮点算术逻辑单元和整数算术逻辑单元。在一个实施例中,浮点算术逻辑单元实现用于浮点算术的IEEE 754-2008标准。在一个实施例中,核心包括64个单精度(32位)浮点核心,64个整数核心,32个双精度(64位)浮点核心和8个张量核心。
在一个实施例中,张量核心被配置为执行矩阵运算,并且在一个实施例中,一个或更多个张量核心被包括在这些核心中。特别地,张量核心被配置为执行深度学习矩阵算术,例如用于神经网络训练和推理的卷积运算。在一个实施例中,每个张量核心在4×4矩阵上运算并且执行矩阵乘法和累加运算D=A×B+C,其中A、B、C和D是4×4矩阵。
在一个实施例中,矩阵乘法输入A和B是16位浮点矩阵,而累加矩阵C和D可以是16位浮点矩阵或32位浮点矩阵。张量核心对16位浮点输入数据进行32位浮点累加运算。16位浮点乘法需要64个运算,并产生全精度乘积,然后使用32位浮点加法将其与其他中间乘积进行累加,以进行4×4×4矩阵乘法。实际上,张量核心用于执行更大的二维或更高维度的矩阵运算,这些运算是由这些较小的元素构成的。API(诸如CUDA9C++API)公开了专门的矩阵加载,矩阵乘法和累加以及矩阵存储操作,以有效地使用来自CUDA-C++程序的张量核心。在CUDA级别,线程束(warp)级别的接口假定跨线程束的所有32个线程的16×16大小的矩阵。
神经网络在很大程度上依赖于矩阵数学运算,并且复杂的多层网络为了效率和速度都需要大量的浮点性能和带宽。在各个实施例中,采用数千个处理核心,针对矩阵数学运算进行了优化,并提供了数十至数百个TFLOPS的性能,SM 910提供了能够提供基于深度神经网络的人工智能和机器学习应用所需的性能的计算平台。
在各个实施例中,每个SM 910还可以包括执行特殊功能(例如,属性评估、倒数平方根等)的多个特殊功能单元(SFU)。在一个实施例中,SFU可以包括被配置为遍历分层树数据结构的树遍历单元。在一个实施例中,SFU可以包括被配置为执行纹理映射过滤操作的纹理单元。在一个实施例中,纹理单元被配置为从存储器加载纹理映射(例如,纹理像素的2D阵列)并对纹理映射进行采样以产生经采样的纹理值,以供在由SM执行的着色程序中使用。在各个实施例中,每个SM 910还包括多个加载/存储单元(LSU),其实现共享存储器/L1高速缓存和SM 910内部的寄存器文件之间的加载和存储操作。
在一个实施例中,每个SM 910被配置为处理一个或更多个线程组。如本文所使用的,“线程组”或“线程束”是指对不同的输入数据同时执行相同程序的一组线程,该组中的一个线程被分配给SM 910内的不同执行单元。线程组可包括比SM 910中执行单元的数量更少的线程,在这种情况下,某些执行可在处理该线程组的周期中处于空闲状态。线程组还可以包括比SM 910中的执行单元的数量更多的线程,在这种情况下,处理可以在连续的时钟周期内发生。由于每个SM 910可以同时支持多达G个线程组,因此可以在任何给定时间在GPC 808中执行多达G*M个线程组。
另外,在一个实施例中,多个相关线程组可以在SM 910中同时处于活动状态(在不同的执行阶段)。线程组的这种集合在本文中称为“协作线程阵列”(“CTA”)或“线程阵列”。特定CTA的大小等于m*k,其中k是线程组中同时执行的线程数,其通常是SM 910中执行单元数量的整数倍,而m是在SM 910内同时活动的线程组的数量。在某些实施例中,单个SM 910可以同时支持多个CTA,其中这些CTA处于将工作分配给SM 910的粒度上。
在一个实施例中,每个SM 910包含一级(L1)高速缓存或使用SM 910外部的相应的L1高速缓存中的空间来支持由执行单元执行的加载和存储操作等等。每个SM 910还可以访问在PPU 802中的所有GPC 808之间共享的二级(L2)高速缓存(未示出)。L2高速缓存可以用于在线程之间传输数据。最后,SM 910还可以访问片外“全局”存储器,其可以包括PP存储器804和/或系统存储器704。应当理解,PPU 802外部的任何存储器都可以用作全局存储器。此外,如图9所示,一点五级(L1.5)高速缓存935可以包含在GPC 808中,并配置为接收和保存SM 910经由存储器接口814从存储器请求的数据。这种数据可以包括但不限于指令、统一数据和常量数据。在GPC 808内具有多个SM 910的实施例中,SM 910可以有益地共享在L1.5高速缓存935中高速缓存的公共指令和数据。
在一个实施例中,每个GPC 808可以具有相关联的存储器管理单元(MMU)920,该存储器管理单元被配置为将虚拟地址映射到物理地址。在各个实施例中,MMU 920可以驻留在GPC 808内或存储器接口814内。MMU 920包括一组页表项(PTE),其用于将虚拟地址映射到瓦片(tile)或存储器页面的物理地址,并且可选地,映射到高速缓存行索引。MMU 920可以包括可以驻留在SM 910内、一个或更多个L1高速缓存内或GPC 808内的地址转换后备缓冲区(TLB)或高速缓存。
在一个实施例中,在图形和计算应用程序中,可以配置GPC 808,使得每个SM 910耦合到纹理单元915,以执行纹理映射操作,例如确定纹理样本位置、读取纹理数据和过滤纹理数据。
在一个实施例中,每个SM 910将处理后的任务发送到工作分配交叉开关930,以便将处理后的任务提供给另一GPC 808以进行进一步处理或将处理后的任务经由交叉开关单元810存储在L2高速缓存(未示出)、并行处理存储器804或系统存储器704中。此外,预光栅操作(preROP)单元925被配置为从SM 910接收数据,将数据引导至分区单元815内的一个或更多个光栅操作(ROP)单元,执行颜色混合的优化,组织像素颜色数据以及执行地址转换。
将领会到,本文描述的架构是说明性的,并且可以进行变化和修改。除其他事项外,GPC 808内可以包括任意数量的处理单元,例如SM 910、纹理单元915或preROP单元925。此外,如以上结合图8所述,PPU 802可以包括任意数量的GPC 808,其被配置为在功能上彼此相似,使得执行行为不取决于哪个GPC 808接收特定的处理任务。此外,每个GPC 808独立于PPU 802中的其他GPC 808操作,以执行用于一个或更多个应用程序的任务。
总之,基于弱标记的训练数据来训练神经网络,该弱标记的训练数据包括具有独特特征的第一组图像和不包括独特特征的第二组图像。弱标记的训练数据包括每个图像的标签,其指示独特特征的存在或不存在。两组图像还包括两组图像共有的各种其他特征。神经网络包括编码器、公共解码器和残差解码器。编码器将输入图像编码到潜在空间中。潜在空间使输入图像的独特特征与输入图像的公共特征分离。公共解码器对驻留在潜在空间中的公共特征进行解码,以生成缺少独特特征的翻译图像。残差解码器对驻留在潜在空间中的独特特征进行解码,以生成与独特特征相对应的图像增量。神经网络将翻译图像与图像增量相组合,以生成可包含公共特征和独特特征两者的组合图像。组合图像可用于驱动自动编码。一旦训练完成,可以修改残差解码器以生成分割掩码而不是图像增量。给定的分割掩码指示独特特征所驻留在的给定输入图像的任何区域。
相对于现有技术,所公开的技术的至少一个技术优势在于,可以仅基于弱标记的训练数据来精确地分割图像。因此,可以容易地识别出图像内的感兴趣特征,而无需执行复杂的手动过程来生成训练数据。相对于现有技术,所公开的技术的另一技术优势在于,与常规方法相比,需要较少的参考分割来训练神经网络,从而简化并加快了训练过程。这些技术优势代表相对于现有技术方法的多项技术进步。
1.一些实施例包括一种计算机实现的方法,包括:生成输入图像的特征表示,其中输入图像包括与第一特征类型相关联的第一特征和与第二特征类型相关联的一个或更多个附加特征;使用与第一特征类型相关联的第一解码器对特征表示进行解码以生成第一图像,第一图像包括第一特征但不包括一个或更多个附加特征;使用与第二特征类型相关联的第二解码器对特征表示进行解码以生成第二图像,第二图像包括一个或更多个附加特征但不包括第一特征;组合第一图像和第二图像以生成第三图像;比较输入图像和第三图像以确定输入图像和第三图像之间的差异;以及基于输入图像和第三图像之间的差异来更新第一解码器,以使第一解码器能够生成分割掩码,该分割掩码识别给定图像中与第一特征类型相关联的给定特征的位置。
2.根据条款1所述的计算机实现的方法,其中生成输入图像的特征表示包括:使用第一编码器将输入图像编码到潜在空间。
3.根据条款1-2中任意一项的计算机实现的方法,其中第一特征类型对应于潜在空间的第一区域,第二特征类型对应于潜在空间的第二区域。
4.根据条款1-3中任意一项的计算机实现的方法,还包括:基于输入图像和第三图像之间的差异来更新第一编码器,以使第一编码器能够将第一特征编码到潜在空间的第一区域,将一个或更多个附加特征编码到潜在空间的第二区域。
5.根据条款1-4中任意一项的计算机实现的方法,其中第一编码器经由一组长跳连接耦合到第一解码器,长跳连接压缩和/或串接特征表示的至少部分以输入到第一解码器。
6.根据条款1-5中任意一项的计算机实现的方法,其中第一编码器经由一组长跳连接耦合到第二解码器,长跳连接压缩和/或串接特征表示的至少部分以输入到第二解码器。
7.根据条款1-6中任意一项的计算机实现的方法,还包括:基于翻译图像更新特征表示,其中翻译图像已被修改以移除第一特征;使用第二解码器对特征表示进行解码以生成第四图像,第四图像包括一个或更多个附加特征但不包括第一特征;以及基于翻译图像和第四图像之间的差异来更新第二解码器。
8.根据条款1-7中任意一项的计算机实现的方法,还包括至少部分地基于一个或更多个缩放和移位参数来生成分割掩码。
9.根据条款1-8中任意一项的计算机实现的方法,其中基于输入图像和第三图像之间的差异来更新第一解码器包括:评估第一目标函数,第一目标函数指示与输入图像和第三图像相关联的第一损失值。
10.根据条款1-9中任意一项的计算机实现的方法,其中基于输入图像和第三图像之间的差异来更新第一解码器包括:评估第二目标函数,第二目标函数指示与第一特征以及被翻译为移除第一特征的第一特征的版本相关联的第一损失值。
11.一些实施例包括一种存储程序指令的非暂时性计算机可读介质,该程序指令在由至少一个处理器执行时使至少一个处理器至少:生成输入图像的特征表示,其中输入图像包括与第一特征类型相关联的第一特征和与第二特征类型相关联的一个或更多个附加特征;使用与第一特征类型相关联的第一解码器对特征表示进行解码以生成第一图像,第一图像包括第一特征但不包括一个或更多个附加特征;使用与第二特征类型相关联的第二解码器对特征表示进行解码以生成第二图像,第二图像包括一个或更多个附加特征但不包括第一特征;组合第一图像和第二图像以生成第三图像;比较输入图像和第三图像以确定输入图像和第三图像之间的差异;以及基于输入图像和第三图像之间的差异来更新第一解码器,以使第一解码器能够生成分割掩码,该分割掩码识别给定图像中与第一特征类型相关联的给定特征的位置。
12.根据条款11的非暂时性计算机可读介质,其中至少一个处理器通过使用第一编码器将输入图像编码到潜在空间来生成输入图像的特征表示。
13.根据条款11-12中任意一项的非暂时性计算机可读介质,其中第一特征类型对应于潜在空间的第一区域,第二特征类型对应于潜在空间的第二区域,并且其中至少一个处理器基于输入图像和第三图像之间的差异来更新第一编码器,以使第一编码器能够将第一特征编码到潜在空间的第一区域,并将一个或更多个附加特征编码到潜在空间的第二区域。
14.根据条款11-13中任意一项的非暂时性计算机可读介质,其中第一编码器经由一组长跳连接耦合到第一解码器,长跳连接压缩并串接特征表示的一个或更多个部分以输入到第一解码器。
15.根据条款11-14中任意一项的非暂时性计算机可读介质,其中第一编码器经由一组长跳连接耦合到第二解码器,长跳连接压缩并串接特征表示的一个或更多个部分以输入到第二解码器。
16.根据条款11-15中任意一项的非暂时性计算机可读介质,其中至少一个处理器通过以下步骤训练解码器:基于不包括第一特征的翻译图像来更新特征表示,其中翻译图像包括训练图像的修改版本,训练图像的修改版本包括第一特征;使用第二解码器对特征表示进行解码以生成第四图像,第四图像包括一个或更多个附加特征但不包括第一特征;以及基于翻译图像和第四图像之间的差异来更新第二解码器。
17.根据条款11-16中任意一项的非暂时性计算机可读介质,还包括至少部分地基于一个或更多个缩放和移位参数来生成分割掩码。
18.一些实施例包括一种系统,包括:存储器,其存储一个或更多个指令;以及处理器,其执行指令以至少:生成输入图像的特征表示,其中,输入图像包括与第一特征类型相关联的第一特征和与第二特征类型相关联的一个或更多个附加特征;使用与第一特征类型相关联的第一解码器对特征表示进行解码以生成第一图像,第一图像包括第一特征但不包括一个或更多个附加特征;使用与第二特征类型相关联的第二解码器对特征表示进行解码以生成第二图像,第二图像包括一个或更多个附加特征但不包括第一特征;组合第一图像和第二图像以生成第三图像;比较输入图像和第三图像以确定输入图像和第三图像之间的差异;以及基于输入图像和第三图像之间的差异来更新第一解码器,以使第一解码器能够生成分割掩码,该分割掩码识别给定图像中与第一特征类型相关联的给定特征的位置。
18.一些实施例包括一种系统,包括:存储器,其存储一个或更多个指令;以及处理器,其执行指令以至少:生成输入图像的特征表示,其中输入图像包括与第一特征类型相关联的第一特征和与第二特征类型相关联的一个或更多个附加特征;使用与第一特征类型相关联的第一解码器对特征表示进行解码以生成第一图像,第一图像包括第一特征但不包括一个或更多个附加特征;使用与第二特征类型相关联的第二解码器对特征表示进行解码以生成第二图像,第二图像包括一个或更多个附加特征但不包括第一特征;组合第一图像和第二图像以生成第三图像;比较输入图像和第三图像以确定输入图像和第三图像之间的差异;以及基于输入图像和第三图像之间的差异来更新第一解码器,以使第一解码器能够生成分割掩码,分割掩码识别给定图像中与第一特征类型相关联的给定特征的位置。
20.根据条款18-19中任意一项的系统,其中处理器通过以下步骤生成输入图像的特征表示:分析与输入图像相关联的标签,该标签指示输入图像中存在第一特征;以及更新基于标签生成特征表示的编码器。
以任何方式,在任何权利要求中记载的任何权利要求要素和/或在本申请中描述的任何要素的任何和所有组合都落入本公开和保护的预期范围内。
已经出于说明的目的给出了各个实施例的描述,但是这些描述并不旨在是穷举性的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。
本实施例的各方面可以体现为系统、方法或计算机程序产品。因此,本公开的方面可以采取完全硬件实施例,完全软件实施例(包括固件,常驻软件,微代码等)或结合了在本文中通常称为“模块”或“系统”的软件和硬件方面的实施例的形式。此外,本公开的方面可以采取体现在一个或更多个计算机可读介质中的计算机程序产品的形式,该一个或更多个计算机可读介质具有体现在其上的计算机可读程序代码。
可以利用一种或更多种计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁、光、电磁、红外或半导体系统、装置或设备,或前述的任何合适的组合。计算机可读存储介质的更具体示例(非穷尽列举)将包括以下内容:具有一根或多根电线的电连接,便携式计算机磁盘,硬盘,随机存取存储器(RAM),只读存储器(ROM),可擦除可编程只读存储器(EPROM或闪存),光纤,便携式光盘只读存储器(CD-ROM),光学存储设备,磁存储设备或前述的任何其他合适的组合。在本文的上下文中,计算机可读存储介质可以是任何有形介质,其可以包含或存储供指令执行系统、装置或设备使用或与其结合使用的程序。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。将理解的是,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器。当指令通过计算机或其他可编程数据处理装置的处理器执行时,使得能够实现在流程图和/或框图的一个或更多个框中指定的功能/动作。这样的处理器可以是但不限于通用处理器,专用处理器,应用程序专用处理器或现场可编程门阵列。
附图中的流程图和框图示出了根据本公开的各个实施例的系统、方法和计算机程序产品的可能的实现的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以代表代码的模块、分段或部分,其包括用于实现一个或更多个指定的逻辑功能的一个或更多个可执行指令。还应注意,在一些替代实现方式中,框中指出的功能可以不按图中指出的顺序发生。例如,取决于所涉及的功能,实际上可以基本上同时执行连续示出的两个框,或者有时可以以相反的顺序执行这些框。还应注意,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。
尽管前面针对本公开的实施例,但是可以在不脱离本公开的基本范围的情况下设计本公开的其他和进一步的实施例,并且本公开的范围由所附权利要求确定。
Claims (20)
1.一种计算机实现的方法,包括:
生成输入图像的特征表示,其中所述输入图像包括与第一特征类型相关联的第一特征和与第二特征类型相关联的一个或更多个附加特征;
使用与所述第一特征类型相关联的第一解码器对所述特征表示进行解码以生成第一图像,其包括所述第一特征但不包括所述一个或更多个附加特征;
使用与所述第二特征类型相关联的第二解码器对所述特征表示进行解码以生成第二图像,其包括所述一个或更多个附加特征但不包括所述第一特征;
组合所述第一图像和所述第二图像以生成第三图像;
比较所述输入图像和所述第三图像以确定所述输入图像和所述第三图像之间的差异;以及
基于所述输入图像和所述第三图像之间的所述差异来更新所述第一解码器,以使所述第一解码器能够生成分割掩码,其识别给定图像中与所述第一特征类型相关联的给定特征的位置。
2.根据权利要求1所述的计算机实现的方法,其中生成所述输入图像的所述特征表示包括:使用第一编码器将所述输入图像编码到潜在空间。
3.根据权利要求2所述的计算机实现的方法,其中所述第一特征类型对应于所述潜在空间的第一区域,所述第二特征类型对应于所述潜在空间的第二区域。
4.根据权利要求2所述的计算机实现的方法,还包括基于所述输入图像和所述第三图像之间的所述差异来更新所述第一编码器,以使所述第一编码器能够将所述第一特征编码到所述潜在空间的第一区域,并将所述一个或更多个附加特征编码到所述潜在空间的第二区域。
5.根据权利要求2所述的计算机实现的方法,其中所述第一编码器经由一组长跳连接耦合到所述第一解码器,所述长跳连接压缩和/或串接所述特征表示的至少部分以输入到所述第一解码器。
6.根据权利要求2所述的计算机实现的方法,其中所述第一编码器经由一组长跳连接耦合到所述第二解码器,所述长跳连接压缩和/或串接所述特征表示的至少部分以输入到所述第二解码器。
7.根据权利要求1所述的计算机实现的方法,还包括:
基于翻译图像更新所述特征表示,其中所述翻译图像已被修改以移除所述第一特征;
使用所述第二解码器对所述特征表示进行解码以生成第四图像,所述第四图像包括所述一个或更多个附加特征但不包括所述第一特征;以及
基于所述翻译图像和所述第四图像之间的差异来更新所述第二解码器。
8.根据权利要求1所述的计算机实现的方法,还包括至少部分地基于一个或更多个缩放参数和移位参数来生成所述分割掩码。
9.根据权利要求1所述的计算机实现的方法,其中基于所述输入图像和所述第三图像之间的所述差异来更新所述第一解码器包括:评估第一目标函数,其指示与所述输入图像和所述第三图像相关联的第一损失值。
10.根据权利要求1所述的计算机实现的方法,其中基于所述输入图像和所述第三图像之间的所述差异来更新所述第一解码器包括:评估第二目标函数,其指示与所述第一特征和被翻译为移除所述第一特征的所述第一特征的版本相关联的第一损失值。
11.一种存储程序指令的非暂时性计算机可读介质,所述程序指令在由至少一个处理器执行时使所述至少一个处理器至少:
生成输入图像的特征表示,其中所述输入图像包括与第一特征类型相关联的第一特征和与第二特征类型相关联的一个或更多个附加特征;
使用与所述第一特征类型相关联的第一解码器对所述特征表示进行解码以生成第一图像,其包括所述第一特征但不包括所述一个或更多个附加特征;
使用与所述第二特征类型相关联的第二解码器对所述特征表示进行解码以生成第二图像,其包括所述一个或更多个附加特征但不包括所述第一特征;
组合所述第一图像和所述第二图像以生成第三图像;
比较所述输入图像和所述第三图像以确定所述输入图像和所述第三图像之间的差异;以及
基于所述输入图像和所述第三图像之间的所述差异来更新所述第一解码器,以使所述第一解码器能够生成分割掩码,其识别给定图像中与所述第一特征类型相关联的给定特征的位置。
12.根据权利要求11所述的非暂时性计算机可读介质,其中所述至少一个处理器通过使用第一编码器将所述输入图像编码到潜在空间来生成所述输入图像的所述特征表示。
13.根据权利要求12所述的非暂时性计算机可读介质,其中所述第一特征类型对应于所述潜在空间的第一区域,所述第二特征类型对应于所述潜在空间的第二区域,并且其中所述至少一个处理器基于所述输入图像和所述第三图像之间的所述差异来更新所述第一编码器,以使所述第一编码器能够将所述第一特征编码到所述潜在空间的所述第一区域,并将所述一个或更多个附加特征编码到所述潜在空间的所述第二区域。
14.根据权利要求12所述的非暂时性计算机可读介质,其中所述第一编码器经由一组长跳连接耦合到所述第一解码器,所述长跳连接压缩并串接所述特征表示的一个或更多个部分以输入到所述第一解码器。
15.根据权利要求12所述的非暂时性计算机可读介质,其中所述第一编码器经由一组长跳连接耦合到所述第二解码器,所述长跳连接压缩并串接所述特征表示的一个或更多个部分以输入到所述第二解码器。
16.根据权利要求11所述的非暂时性计算机可读介质,其中所述至少一个处理器通过以下步骤训练所述解码器:
基于不包括所述第一特征的翻译图像来更新所述特征表示,其中所述翻译图像包括训练图像的修改版本,所述训练图像的修改版本包括所述第一特征;
使用所述第二解码器对所述特征表示进行解码以生成第四图像,其包括所述一个或更多个附加特征但不包括所述第一特征;以及
基于所述翻译图像和所述第四图像之间的差异来更新所述第二解码器。
17.根据权利要求11所述的非暂时性计算机可读介质,还包括至少部分地基于一个或更多个缩放参数和移位参数来生成所述分割掩码。
18.根据权利要求11所述的非暂时性计算机可读介质,其中生成所述输入图像的所述特征表示包括:分析与所述输入图像相关联的标签,所述标签指示在所述输入图像中存在所述第一特征。
19.一种系统,包括:
存储器,所述存储器存储一个或更多个指令;以及
处理器,所述处理器执行所述指令以至少:
生成输入图像的特征表示,其中所述输入图像包括与第一特征类型相关联的第一特征和与第二特征类型相关联的一个或更多个附加特征;
使用与所述第一特征类型相关联的第一解码器对所述特征表示进行解码以生成第一图像,其包括所述第一特征但不包括所述一个或更多个附加特征;
使用与所述第二特征类型相关联的第二解码器对所述特征表示进行解码以生成第二图像,其包括所述一个或更多个附加特征但不包括所述第一特征;
组合所述第一图像和所述第二图像以生成第三图像;
比较所述输入图像和所述第三图像以确定所述输入图像和所述第三图像之间的差异;以及
基于所述输入图像和所述第三图像之间的所述差异来更新所述第一解码器,以使所述第一解码器能够生成分割掩码,其识别给定图像中与所述第一特征类型相关联的给定特征的位置。
20.根据权利要求19所述的系统,其中所述处理器通过以下步骤生成所述输入图像的所述特征表示:
分析与所述输入图像相关联的标签,所述标签指示所述输入图像中存在所述第一特征;以及
更新基于所述标签生成所述特征表示的编码器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201916367077A | 2019-03-27 | 2019-03-27 | |
US16/367,077 | 2019-03-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111753824A true CN111753824A (zh) | 2020-10-09 |
Family
ID=69953869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010219635.6A Pending CN111753824A (zh) | 2019-03-27 | 2020-03-25 | 使用神经网络翻译模型改进图像分割 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220254029A1 (zh) |
EP (1) | EP3716150A1 (zh) |
CN (1) | CN111753824A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113077383A (zh) * | 2021-06-07 | 2021-07-06 | 深圳追一科技有限公司 | 一种模型训练方法及模型训练装置 |
US20210358164A1 (en) * | 2020-05-15 | 2021-11-18 | Nvidia Corporation | Content-aware style encoding using neural networks |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024137096A1 (en) * | 2022-12-20 | 2024-06-27 | GE Precision Healthcare LLC | Automated organ segmentation output quality assessment |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10531806B2 (en) * | 2013-12-17 | 2020-01-14 | University Of Florida Research Foundation, Inc. | Brain state advisory system using calibrated metrics and optimal time-series decomposition |
CN108140146B (zh) * | 2015-08-19 | 2022-04-08 | D-波系统公司 | 使用绝热量子计算机的离散变分自动编码器系统和方法 |
JP7132925B2 (ja) * | 2017-01-05 | 2022-09-07 | コーニンクレッカ フィリップス エヌ ヴェ | イメージングデータ及び組織情報を導出するためのニューラルネットワークを用いた超音波イメージングシステム |
US10565758B2 (en) * | 2017-06-14 | 2020-02-18 | Adobe Inc. | Neural face editing with intrinsic image disentangling |
US10624558B2 (en) * | 2017-08-10 | 2020-04-21 | Siemens Healthcare Gmbh | Protocol independent image processing with adversarial networks |
US11615879B2 (en) * | 2017-09-08 | 2023-03-28 | The General Hospital Corporation | System and method for automated labeling and annotating unstructured medical datasets |
US10373056B1 (en) * | 2018-01-25 | 2019-08-06 | SparkCognition, Inc. | Unsupervised model building for clustering and anomaly detection |
US20190320934A1 (en) * | 2018-04-18 | 2019-10-24 | Siemens Healthcare Gmbh | Medical image acquisition with sequence prediction using deep learning |
US10431328B1 (en) * | 2018-06-03 | 2019-10-01 | Beijing Curacloud Technology Co., Ltd. | Method and system for anatomical tree structure analysis |
KR101939349B1 (ko) * | 2018-07-09 | 2019-04-11 | 장현민 | 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법 |
KR20200023664A (ko) * | 2018-08-14 | 2020-03-06 | 삼성전자주식회사 | 응답 추론 방법 및 장치 |
US11164067B2 (en) * | 2018-08-29 | 2021-11-02 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems, methods, and apparatuses for implementing a multi-resolution neural network for use with imaging intensive applications including medical imaging |
US10909671B2 (en) * | 2018-10-02 | 2021-02-02 | International Business Machines Corporation | Region of interest weighted anomaly detection |
US10828000B2 (en) * | 2018-11-25 | 2020-11-10 | International Business Machines Corporation | Medical image data analysis |
US10740901B2 (en) * | 2018-12-17 | 2020-08-11 | Nvidia Corporation | Encoder regularization of a segmentation model |
US10467500B1 (en) * | 2018-12-31 | 2019-11-05 | Didi Research America, Llc | Method and system for semantic segmentation involving multi-task convolutional neural network |
US10977530B2 (en) * | 2019-01-03 | 2021-04-13 | Beijing Jingdong Shangke Information Technology Co., Ltd. | ThunderNet: a turbo unified network for real-time semantic segmentation |
JP7192512B2 (ja) * | 2019-01-11 | 2022-12-20 | 富士通株式会社 | 学習プログラム、学習装置及び学習方法 |
JP7180393B2 (ja) * | 2019-01-11 | 2022-11-30 | 富士通株式会社 | 学習プログラム、学習装置及び学習方法 |
WO2020234349A1 (en) * | 2019-05-23 | 2020-11-26 | Deepmind Technologies Limited | Sampling latent variables to generate multiple segmentations of an image |
-
2020
- 2020-03-23 EP EP20164881.3A patent/EP3716150A1/en active Pending
- 2020-03-25 CN CN202010219635.6A patent/CN111753824A/zh active Pending
-
2021
- 2021-10-13 US US17/500,338 patent/US20220254029A1/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210358164A1 (en) * | 2020-05-15 | 2021-11-18 | Nvidia Corporation | Content-aware style encoding using neural networks |
CN113077383A (zh) * | 2021-06-07 | 2021-07-06 | 深圳追一科技有限公司 | 一种模型训练方法及模型训练装置 |
CN113077383B (zh) * | 2021-06-07 | 2021-11-02 | 深圳追一科技有限公司 | 一种模型训练方法及模型训练装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3716150A1 (en) | 2020-09-30 |
US20220254029A1 (en) | 2022-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11995551B2 (en) | Pruning convolutional neural networks | |
US10706608B2 (en) | Tree traversal with backtracking in constant time | |
EP3686816A1 (en) | Techniques for removing masks from pruned neural networks | |
US20200074707A1 (en) | Joint synthesis and placement of objects in scenes | |
US20200342632A1 (en) | Efficient matrix format suitable for neural networks | |
US11496773B2 (en) | Using residual video data resulting from a compression of original video data to improve a decompression of the original video data | |
CN110895715A (zh) | 存储高效的神经网络 | |
US20220254029A1 (en) | Image segmentation using a neural network translation model | |
US20200202622A1 (en) | Mesh reconstruction using data-driven priors | |
US11379420B2 (en) | Decompression techniques for processing compressed data suitable for artificial neural networks | |
US20240338871A1 (en) | Context-aware synthesis and placement of object instances | |
CN111708511A (zh) | 用于神经网络的数据压缩 | |
CN111210016A (zh) | 对包含元素级别操作的神经网络进行剪枝 | |
CN113609029B (zh) | 动态压缩具有统一值的存储器区域的技术 | |
US20190278574A1 (en) | Techniques for transforming serial program code into kernels for execution on a parallel processor | |
US11941743B2 (en) | Generation of sample points in rendering applications using elementary interval stratification | |
US20240095993A1 (en) | Reducing false positive ray traversal in a bounding volume hierarchy | |
CN113743573B (zh) | 用于访问和利用压缩数据及其状态信息的技术 | |
CN111832698A (zh) | 神经网络的小样本训练 | |
CN113608669B (zh) | 用于对基于字典的压缩进行缩放的技术 | |
US20240111532A1 (en) | Lock-free unordered in-place compaction | |
US20240095994A1 (en) | Reducing false positive ray traversal using point degenerate culling | |
US20240104845A1 (en) | Mesh topology generation using parallel processing | |
US20240233128A1 (en) | Systems and methods for iterative and adaptive object detection |
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 |