CN111448581A - 使用深层神经网络进行图像处理的系统和方法 - Google Patents
使用深层神经网络进行图像处理的系统和方法 Download PDFInfo
- Publication number
- CN111448581A CN111448581A CN201880069485.6A CN201880069485A CN111448581A CN 111448581 A CN111448581 A CN 111448581A CN 201880069485 A CN201880069485 A CN 201880069485A CN 111448581 A CN111448581 A CN 111448581A
- Authority
- CN
- China
- Prior art keywords
- image
- hair
- mask
- neural network
- convolutional neural
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 123
- 238000012545 processing Methods 0.000 title claims abstract description 115
- 238000013528 artificial neural network Methods 0.000 title description 19
- 210000004209 hair Anatomy 0.000 claims abstract description 184
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 156
- 230000011218 segmentation Effects 0.000 claims abstract description 142
- 238000012549 training Methods 0.000 claims abstract description 62
- 230000037308 hair color Effects 0.000 claims description 66
- 238000003860 storage Methods 0.000 claims description 45
- 230000008569 process Effects 0.000 claims description 34
- 230000004913 activation Effects 0.000 claims description 32
- 230000008859 change Effects 0.000 claims description 27
- 230000002452 interceptive effect Effects 0.000 claims description 16
- 239000003086 colorant Substances 0.000 claims description 4
- 239000002131 composite material Substances 0.000 claims 1
- 230000009191 jumping Effects 0.000 claims 1
- 238000013135 deep learning Methods 0.000 abstract description 15
- 238000004040 coloring Methods 0.000 abstract description 2
- 238000003709 image segmentation Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 33
- 230000015654 memory Effects 0.000 description 13
- 238000012360 testing method Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000003062 neural network model Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 8
- 238000012805 post-processing Methods 0.000 description 6
- 238000010606 normalization Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000007637 random forest analysis Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 125000001475 halogen functional group Chemical group 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 229910052754 neon Inorganic materials 0.000 description 2
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000740 bleeding effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 150000001875 compounds Chemical group 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003648 hair appearance Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004451 qualitative analysis Methods 0.000 description 1
- 238000011158 quantitative evaluation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Chemical group 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- 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/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- 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/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/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
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/165—Detection; Localisation; Normalisation using facial parts and geometric relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- 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/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Oral & Maxillofacial Surgery (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biodiversity & Conservation Biology (AREA)
- Geometry (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
一种在移动设备上实现深度学习以提供用于实时处理视频,例如对头发着色,的卷积神经网络(CNN)的系统和方法。使用CNN对图像进行处理以定义头发像素的相应头发蒙版。在调整像素值时,如改变颜色、照明、纹理等时,可使用相应的物体蒙版来确定要调整的像素。该CNN可包括针对图像分类(预先训练)的适于产生分割掩膜的网络。可针对图像分割来训练该卷积神经网络(例如使用粗略分割数据训练),以最大限度地减少掩膜‑图像梯度一致性损失。该CNN还可在编码器级与解码器级的相应层之间使用跳跃连接,其中编码器中的包含高分辨率但弱的特征的较浅层与较深解码器层的低分辨率但强的特征相结合。
Description
相互引用
本专利申请要求以下申请在美国的国内优先权和在其他司法管辖区内的由《巴黎公约》规定的优先权:1)于2017年10月24日提交的名称为“使用深层神经网络的视频头发着色系统和方法”的美国临时申请62/576,180;以及2)于2017年12月12日提交的名称为“在移动设备上进行实时深度头发抠图的系统和方法”的美国临时申请62/597,494,在允许通过完整引用来结合的任何司法管辖区中,每个申请的全部内容通过引用结合在此。
技术领域
本申请涉及从源图像定义新图像的图像处理,更具体地说,涉及使用诸如卷积神经网络(CNN)等深层神经网络来处理图像。
背景技术
在许多情况下,图像处理有助于分析源图像以识别其中的特定主题,并且至少在其中一部分情况下,图像处理有助于进行校正或其他变化以产生新图像。图像处理可用于对图像中表示的物体进行分类和/或识别图像中的物体的位置。图像处理可用于校正或改变图像的属性(例如像素的相应值),例如改变颜色、纹理、照明、亮度、对比度和其他属性。其他变化可包括在图像中增加或减少物体,改变物体的形状等。
在一个示例中,图像处理可用于对源图像中的主体的头发进行着色,以产生着色的头发图像。
对于计算设备,尤其是常见的移动设备,例如智能手机、平板电脑等,图像处理通常要消耗大量资源。在实时处理包含一系列图像的视频时尤其如此。
发明内容
以下说明涉及实现深度学习,尤其涉及在移动设备上实现深度学习。本公开的目的是提供一种深度学习环境以处理实况视频,例如对头发等物体进行分割和改变头发颜色。本领域技术人员应理解,还可检测除了头发之外的物体,并且可改变颜色或其他相应属性。可使用深层神经网络处理视频图像(例如帧),以从每个视频图像定义头发像素(例如物体像素)的相应头发蒙版(例如物体掩膜)。在调整视频图像的属性(例如颜色、照明、纹理等)时,相应的物体蒙版可用于确定要调整的像素。在头发着色的一个示例中,深度学习神经网络(例如卷积神经网络)配置为对源图像的像素进行分类,以确定每个像素是否为头发像素,并定义头发掩膜。然后使用掩膜改变源图像的属性,以产生新图像。卷积神经网络可包括针对图像分类预先训练为适于产生分割掩膜的网络。可使用粗略分割数据来进一步训练卷积神经网络,并在训练时最大限度地减少掩膜-图像梯度一致性损失。卷积神经网络还可在编码器级和解码器级的相应层之间使用跳跃连接(skip connection),其中编码器中的包含高分辨率但较弱的特征的较浅层与解码器中的较深层的低分辨率但较强的特征相结合。
这种掩膜可用于直接或间接地区分其他物体。头发掩膜可限定人体的边界或边缘,其中头发掩膜之外的主题可以是背景等。可检测的其他物体包括皮肤等。
本发明提供了一种处理图像的计算设备,该计算设备包括:用于存储和提供卷积神经网络(CNN)的存储单元,该卷积神经网络配置为对图像的像素进行分类,以确定每个像素是否是物体像素,以便为图像中的物体定义物体分割掩膜,其中该卷积神经网络包括针对图像分类预先训练为适于定义物体分割掩膜的网络,并且其中使用分割数据进一步训练该卷积神经网络;以及耦合至存储单元的处理单元,该处理单元配置为使用卷积神经网络处理图像,以产生物体分割掩膜来定义新图像。
当使用分割数据进行训练时,该卷积神经网络适于最大限度地减少掩膜-图像梯度一致性损失。
当在解码器级中进行上采样以定义物体分割掩膜时,所述卷积神经网络可适于使用编码器级中的层与解码器级中的相应层之间的跳跃连接来将低分辨率但较强的特征与高分辨率但较弱的特征相结合。
所述掩膜-图像梯度一致性损失LC可定义为:
其中Ix、Iy是归一化图像梯度,Mx、My是归一化掩膜梯度,Mmag是掩膜梯度幅值。
所述掩膜-图像梯度一致性损失可以以权重w与二元交叉熵损失相结合,以最大限度地减少训练时的总损失L,其中L定义为L=LM+wLC。
可使用有噪声且粗略的分割数据来训练所述卷积神经网络。所述分割数据可以是众包分割数据。
所述物体可以是头发。所述处理单元可配置为通过使用物体分割掩膜对选择的图像中的像素应用变化来从图像定义新图像。该变化可以是颜色变化(例如当物体是头发时模拟头发颜色的变化)。
所述卷积神经网络可包括经过训练的网络,该网络配置为在计算能力有限的移动设备上运行,以实时产生新图像作为视频图像。
所述处理单元可配置为提供交互式图形用户界面(GUI),以显示所述图像和新图像。该交互式图形用户界面可配置为接收输入以确定用于定义新图像的变化。所述处理单元可配置为使用物体分割掩膜来分析图像中的物体的像素,以确定用于所述变化的一个或多个候选。所述交互式图形用户界面可配置为呈现一个或多个候选,以接收输入从而选择候选之一作为变化来应用。
所述图像可以是自拍视频。
本发明提供了一种处理图像的计算设备,该计算设备包括:用于存储和提供卷积神经网络(CNN)的存储单元,该卷积神经网络配置为对图像的像素进行分类,以确定每个像素是否为头发像素,当使用分割数据训练以定义头发分割掩膜时,所述卷积神经网络被训练为最大限度地减少掩膜-图像梯度一致性损失;以及耦合至存储单元的处理单元,该处理单元配置为通过使用头发分割掩膜对图像中的头发像素应用新的头发颜色来定义和呈现着色头发图像。
本发明提供了一种处理图像的计算设备,该计算设备包括:处理单元、耦合至处理单元的存储单元、以及耦合至处理单元和存储单元中的至少一个的输入装置,所述存储单元存储指令,该指令在被处理单元执行时配置所述计算设备,以便:通过输入装置接收图像;定义标识图像中的头发像素的头发分割掩膜;通过使用头发分割掩膜对图像中的头发像素应用新的头发颜色来定义着色头发图像;并且提供着色头发图像,以输出到显示装置上;并且其中所述头发分割掩膜是通过以下操作定义的:使用由存储单元存储的卷积神经网络(CNN)处理图像,以在相继的卷积层中应用多个卷积(conv)滤波器来检测相应的特征,其中第一组相继的卷积层提供将图像从第一图像分辨率下采样到最小分辨率的输出,而第二组相继的卷积层将输出上采样回到第一图像分辨率;并且训练卷积神经网络以最大限度地减少掩膜-图像梯度一致性损失,以便定义头发分割掩膜。
本发明提供了一种配置为产生卷积神经网络的计算设备,该卷积神经网络被训练为处理图像以定义物体分割掩膜,所述计算设备包括:用于接收卷积神经网络的存储单元,该卷积神经网络配置为用于图像分类,并配置为在具有有限计算能力的运行时计算设备上执行;配置为提供交互界面以接收输入和显示输出的处理单元,该处理单元配置为:接收输入以调整所述卷积神经网络,以便定义物体分割掩膜,并向存储单元存储经过调整的卷积神经网络;并且接收输入以使用被标记为用于物体分割的分割训练数据来训练经过调整的卷积神经网络,以产生卷积神经网络来处理图像,以便定义物体分割掩膜。所述处理单元可配置为接收输入以调整所述卷积神经网络,以便执行下列操作中的至少一个:在训练时使用为了最大限度地减少掩膜-图像梯度一致性损失而定义的掩膜-图像梯度一致性损失函数;并且当在解码器级中进行上采样时,使用编码器级中的层与解码器级中的相应层之间的跳跃连接来将低分辨率但较强的特征与高分辨率但较弱的特征相结合;并且向存储单元存储经过调整的卷积神经网络。
本发明提供了一种产生被训练为处理图像以定义物体分割掩膜的卷积神经网络的方法。所述方法包括:获得配置为用于图像分类并配置为在具有有限计算能力的计算设备上执行的卷积神经网络;调整该卷积神经网络,以定义物体分割掩膜;并且使用被标记为用于物体分割的分割训练数据来训练经过调整的卷积神经网络,以定义物体分割掩码。可使用为了最大限度地减少掩膜-图像梯度一致性损失而定义的掩膜-图像梯度一致性损失函数来训练所述卷积神经网络,以产生卷积神经网络来处理图像,以便定义物体分割掩膜。
所述卷积神经网络可被预先训练为用于图像分类,并且所述训练步骤进一步训练经过预先训练的卷积神经网络。所述分割训练数据可以是有噪声且粗略的分割训练数据(例如从众包数据定义的分割训练数据)。
所述方法可包括:调整所述卷积神经网络,以在解码器级中进行上采样时使用编码器级中的层与解码器级中的相应层之间的跳跃连接来将低分辨率但较强的特征与高分辨率但较弱的特征相结合。
所述掩膜-图像梯度一致性损失函数可与二元交叉熵损失函数结合,以最大限度地减少综合损失。所述方法可包括提供卷积神经网络来处理图像,以定义将存储在移动设备上的物体分割掩膜。
本发明提供了一种方法,该方法包括:在计算设备的存储单元中存储卷积神经网络(CNN),该卷积神经网络配置为对图像的像素进行分类,以确定每个像素是否为物体像素,以便为图像中的物体定义物体分割掩膜,其中该卷积神经网络包括针对图像分类预先训练为适于定义物体分割掩膜的网络,并且还使用分割数据对该网络进行训练。
当使用分割数据进行训练时,所述卷积神经网络被进一步训练为最大限度地减少掩膜-图像梯度一致性损失;并且计算设备的处理单元使用卷积神经网络处理图像,以产生物体分割掩膜,以便定义新图像。
本发明提供了一种处理图像的方法。所述方法包括:在计算设备的存储单元中存储卷积神经网络(CNN),该卷积神经网络配置为对图像的像素进行分类,以确定每个像素是否为头发像素,当使用分割数据进行训练以定义头发分割掩膜时,该卷积神经网络被训练为最大限度地减少掩膜-图像梯度一致性损失;并且计算设备的与存储单元耦合的处理单元通过使用头发分割掩膜向图像中的头发像素应用新的头发颜色来定义和呈现着色头发图像。
本发明提供了一种处理图像的方法,该方法包括:处理单元接收图像;处理单元定义标识图像中的头发像素的头发分割掩膜;处理单元通过使用头发分割掩膜对图像中的头发像素应用新的头发颜色来定义着色头发图像;并且处理单元提供着色头发图像,以输出到显示装置上。所述头发分割掩膜是通过以下操作定义的:使用由耦合至处理单元的存储单元存储的卷积神经网络(CNN)处理图像,以在相继的卷积层中应用多个卷积(conv)滤波器来检测相应的特征,并使用有噪声且粗略的分割数据来训练该卷积神经网络,并且最大限度地减少掩膜-图像梯度一致性损失,以定义头发分割掩膜。
第一组相继的卷积层可提供将图像从第一图像分辨率下采样到最小分辨率的输出,而第二组相继的卷积层将输出上采样回到第一图像分辨率,所述卷积神经网络使用第一组和第二组的相应卷积层之间的跳跃连接。
所述卷积神经网络可包括散布在第二组卷积层的初始层之前和第二组卷积层的相应后续层之前的上采样功能,以将输出上采样到第一图像分辨率。
所述上采样功能可使用相应的跳跃连接,每个相应的跳跃连接结合了:第一激活图,该第一激活图是相继的相邻卷积层的输出,作为第二组卷积层的下一个卷积层的输入;以及第二激活图,该第二激活图是第一组卷积层中的前一个卷积层的输出,其中该第二激活图具有比第一激活图大的图像分辨率。每个相应的跳跃连接可被定义为将应用于第二激活图的1×1卷积滤波器的输出与应用于第一激活图的上采样功能的输出相加,以将第一激活图的分辨率提高到较大的图像分辨率。
所述方法可包括:所述处理单元通过显示装置呈现图形用户界面(GUI),该图形用户界面包括用于观看所述图像的第一部分和用于同时观看所述着色头发图像的第二部分。
所述方法可包括:对着色头发图像中的新头发颜色应用光照条件处理,以显示不同的光照条件下的新头发颜色。
所述新头发颜色可以是第一新头发颜色,并且所述着色头发图像可以是第一着色头发图像。在这种情况下,所述方法可包括:所述处理装置通过使用头发分割掩膜向图像中的头发像素应用第二新头发颜色并通过提供第二着色头发图像以输出到显示装置来定义和呈现第二着色头发图像。所述方法可包括:所述处理装置通过显示装置呈现两个新颜色的图形用户界面,该两个新颜色的图形用户界面包括用于观看第一着色头发图像的第一新颜色部分和用于同时观看第二着色头发图像的第二新颜色部分。
所述方法可包括:所述处理单元分析图像的颜色,包括图像中的头发像素的当前头发颜色;确定一种或多种建议的新头发颜色;并且通过图形用户界面的交互部分呈现建议的新头发颜色,以选择新头发颜色来定义着色头发图像。
所述处理单元可包括用于执行卷积神经网络的图形处理单元(GPU),并且所述处理单元和存储单元可由计算设备提供,该计算设备包括智能手机和平板电脑之一。所述图像可以是视频的多个视频图像之一,并且所述方法可包括:所述处理单元处理多个视频图像以改变头发颜色。
所述卷积神经网络可包括基于MobileNet的模型,该模型适于对图像的像素进行分类,以确定每个像素是否为头发像素。所述卷积神经网络可配置为包括卷积的深度可分离卷积神经网络,其中各个标准卷积被分解为深度卷积和逐点卷积,所述深度卷积限于向每个输入通道应用单个滤波器,而所述逐点卷积限于组合深度卷积的输出。
这些和其他方面对于本领域普通技术人员来说将是显而易见的,包括计算机程序产品方面,其中(非瞬态)存储单元存储指令,该指令在被处理单元执行时配置计算设备的操作,以执行本文所述的通过计算机实现的任何方法方面。
附图说明
图1是一个示例的应用基于随机森林的分类器对图像的像素进行分类的示意图;
图2是基于谷歌公司的MobileNet模型的深层神经网络架构的示意图;
图3是一个示例的深层神经网络架构的示意图,该深层神经网络架构配置为处理图像并产生图像掩膜作为输出;
图4是一个示例的深层神经网络架构的示意图,该深层神经网络架构配置为使用跳跃连接来处理图像并产生图像掩膜作为输出;
图5是一个示例的深层神经网络架构的示意图,该深层神经网络架构配置为使用跳跃连接,并采用掩膜-图像梯度一致性损失指标进行训练,以处理图像并产生图像掩膜作为输出;
图6是图3-5的神经网络模型的定性评估结果的图表;
图7是图3和图5的神经网络模型的定性评估结果的图表;
图8是一个示例的配置有深层神经网络以处理图像的计算设备的框图;
图9是一些示例的图8的计算设备的操作流程图;
图10是按照本文的教导定义示例性卷积神经网络的步骤的流程图。
通过参照附图说明本发明的一些实施例,能够最佳地说明本发明的概念,在附图中,相似的附图标记表示相似的特征。应理解,在本文中使用的术语“发明”旨在表示以下说明的实施例的基础发明概念,而不仅仅表示实施例本身。还应理解,该总体发明概念不限于以下说明的示例性实施例,并且应按照这种思想阅读以下说明。
另外,“示例性”一词在本文中用于表示“用作示例、实例或例示”。在本文中被称为示例性实施例的任何构造、过程、设计、技术实施例不应被解读为相对于其他实施例是优选的或有利的。在本文中被示为示例性实例的任何实例的具体质量或适当性不是刻意的,也不应对其进行推断。
具体实施方式
深度学习和分割
实时图像分割是计算机视觉中的一个重要问题,有着广泛的应用。其中之一是在美颜应用中为实时色彩增强而进行的头发分割。但是,这种使用情况带来了额外的挑战。首先,与许多形状简单的物体不同的是,头发具有非常复杂的结构。为了实现逼真的色彩增强,粗略的头发分割掩膜是不够的。此时需要头发蒙版。其次,许多美颜应用程序运行在移动设备或网络浏览器上,但这种设备没有强大的计算资源。这使得实现实时性能变得更加困难。在本文中说明了一种在移动设备上以超过30帧/秒的速度精确分割头发的系统和方法。
所述头发分割系统和方法基于卷积神经网络(CNN)。大多数现代卷积神经网络即使在强大的图形处理器上也不能实时运行,并且可能占用大量内存。本文的系统和方法的目标是在移动设备上实现实时性能。本发明的第一个贡献是展示了如何将谷歌公司最近提出的MobileNetTM架构用于头发分割,这种架构既快速又紧凑,足以在移动设备上使用。有关MobileNet的详细信息可在Howard等人于2017年4月17日发表的“MobileNet:移动视觉应用的高效卷积神经网络”ArXiv:1704.04861v1[cs:CV]中找到,该文献通过引用结合在此。
在没有详细客观的头发分割数据的情况下,使用有噪声且粗略的众包数据(其中标记在像素级上不是很精确的粗略分割数据)对该网络进行训练。但是,粗略分割结果对于头发色彩增强的目的来说是不太美观的。为了实现逼真的色彩增强效果,更精确的头发蒙版能产生更好的效果。本发明的第二个贡献是提出了一种无需精确的头发蒙版训练数据就能实时获得更精确的头发蒙版的方法。首先,本发明展示了如何修改基本网络架构以使其具有捕获精细细节的能力。然后,本发明展示了通过添加促进在感知上很有吸引力的抠图效果的辅助损失函数能够仅使用粗略的头发分割训练数据来训练网络,以产生详细的头发蒙版。我们将这种方法与使用简单的引导滤波器(具有与图像大小相关的线性运行时复杂度的保边滤波器)进行后处理进行了比较,并证明了它能产生更精确且更清晰的结果。
在详细说明深度学习和分割之前,本申请人执行并评估了为移动设备上的视频内容开发头发着色方案的先前方法。例如,基于颜色直方图、位置和梯度因子的特征,结合随机森林模型(RF)开发了一种分类器。众所周知,该分类器连续处理像素,围绕图像滑动滤波器或核心,以确定滤波器中的中心像素是否为头发像素。在图1中示出了一个草图,其中通过在图像100上扫描滤波器102以使用随机森林分类器104连续处理像素,从而处理图像100,该随机森林分类器104输出滤波器102的中心像素106是否为头发像素的判断结果。可使用输出108来定义头发蒙版(未示出),其中该输出是头发蒙版中的相应像素的数据值。应理解,在图1的草图中,滤波器102、中心像素106和所示路径不是按比例绘制的。获得的结果在速度和准确性方面都没有保证,因此本发明人抛弃了这种方法,转向深度学习。
没有首先选择深度学习的一个原因是,使其在移动设备上实时运行仍然是一个相当大的挑战。大多数深度学习架构甚至不能在强大的GPU上实时运行。最初的方法采用了视觉几何组的神经网络结构,即,VGG16。通过去除最后3层(例如全连接层和输出层)并通过添加几个卷积(在本文中通常缩写为“conv”)转置层来转换为语义分割网络,对在ImageNet(一种针对物体识别软件研究用途设计的大型可视化数据库(开源数据集))上预先训练的基于VGG16的分类网络进行了调整。虽然结果(输出)相当好,但是处理速度很慢,尤其是在移动设备上(每帧需要超过一秒的时间)。因此,本发明人转而寻找较轻量的结构,这种结构应尺寸较小并且执行的操作较少,以提高处理速度等。
MobileNet架构
谷歌公司的MobileNet架构是一个为移动设备实现的轻量级、预先训练的深度学习神经网络架构。图2是MobileNet网络200的示意图,示出了作为输入的源图像100、MobileNet的预先训练的卷积神经网络的网络层/层组202、以及作为MobileNet网络200的输出的类别标记204。由MobileNet处理的输入图像的分辨率为224x 224像素,有3种颜色值(即,224x 224x 3)。
MobileNet架构采用深度可分离卷积(一种分解卷积形式)来最大限度地减少处理操作(即浮点运算、乘法和/或加法等)。深度可分离卷积将标准卷积分解(例如划分其功能)为深度卷积和1×1卷积(也称为“逐点卷积”),以通过减少或最大限度地减少所需的运算数量来使处理更快。深度卷积对每个输入通道应用一个滤波器。逐点卷积然后应用1×1卷积来组合深度卷积的输出,从而将滤波和组合功能/操作分为两个步骤,而不是由标准卷积执行的单个滤波和组合操作。因此,架构200中的每个结构可包括两个卷积层(一个深度卷积层和一个逐点卷积层),以定义或描述“层组”。
表1按照从左到右直到Softmax操作的顺序示出了17个层/层组202中的每个层/层组的激活图尺寸信息和处理操作信息。严格地说,从其第一个全卷积层和全连接层算起,MobileNet有28个卷积层。
表1
在表1中,BN表示通过调整和缩放激活(例如从一个层/操作到下一个层/操作提供的激活图中的各个值)来归一化(向后续操作的)输入的批量归一化(batchnorm)函数。ReLU是一个整流器,表示整流后的线性单位函数(例如输入X的最大值函数(X,0),该函数使得X的所有负值都被设置为0)。在深度卷积以及第一层中,下采样是使用跨步卷积处理的。通过7×7平均池获得的最终下采样使用基于对7×7阵列中的值求平均的下采样函数。Softmax或归一化指数函数将任意实数值的K维向量z“压缩”为实数值的K维向量σ(z),其中每项在范围(0,1)内,并且所有项加起来为1(例如缩放和归一化函数)。有用之处是,输出可用来表示分类分布——在K个不同的可能结果(分类或类别)上的概率分布,因此经常与分类为K个类别的神经网络分类器结合使用。在图2中,通过处理操作对相应的17层进行灰度和图案编码。
图3是示出具有层/层组302的经过调整的深度学习网络300的示意图。网络300还接收源图像100作为处理的输入。网络300(例如其层/层组302)适于输出头发掩膜304。表2按照从左到右的顺序示出了22个层/层组302中的每个层/层组的激活图尺寸信息和处理操作信息。
表2
网络300与网络200类似,但是经过调整。由此避免了网络200向下采样为14×14分辨率然后向下采样为7×7分辨率,并且在层5-14中的最小分辨率为28×28。去除了最后三层(即,两个全连接层和Softmax层,虽然也使用最后的Softmax层)。为了保留精细细节,通过将最后两个层的步长从2变为1来提高输出特征分辨率。由于在结合在MobileNet基础架构中的ImageNet上使用预先训练权重,因此具有更新分辨率的图层的核心相对于其原始分辨率按其比例因子进行了扩展。即,增大了2倍的层的核心被扩展了2倍,而增大了4倍的层的核心被扩展了4倍。这在编码器级中产生28x 28最终最小分辨率。层/层组15和之后的层/层组可限定解码器级。
层2-14、16、18和20结合有深度可分离卷积——一种分解标准卷积,其中深度卷积对每个输入通道应用单个滤波器,逐点卷积组合深度卷积的输出。深度可分离卷积具有减少计算量和模型大小的作用,这两个作用都有助于移动设备环境中的处理。
解码器级以来自编码器级的上述卷积神经网络特征作为输入,并以原始的224×224分辨率将它们上采样为头发掩膜。上采样是在层15、17和19上执行的,与层16、18和20中的进一步特征分析交替地进行。上采样由简化版本的反MobileNet架构执行。在每一级,操作通过复制2×2邻域中的每个像素将前一层向上采样2倍。然后,应用可分离深度卷积,接着使用64个滤波器进行逐点1×1卷积,然后执行ReLU操作,如表2所示。操作在层/层组21中结束,通过使用Softmax激活添加1×1卷积以及用于头发/非头发的2个输出通道来进行。
虽然未示出,但是通过最大限度地减少预测掩膜与客观掩膜之间的二元交叉熵损失LM来训练网络。二元交叉熵将在下文中结合图5进一步论述。
因此,图3示出了用于头发分割的全卷积MobileNet架构。如此定义并训练的模型在相继的卷积层中应用多个卷积(conv)滤波器来检测相应的特征,其中第一组相继的卷积层提供将图像从第一图像分辨率下采样(并编码)到最小分辨率的输出,而第二组相继的卷积层将输出上采样回到第一图像分辨率。该模型的上采样操作散布在第二组卷积层的初始层之前和第二组卷积层的相应后续层之前,以将输出上采样到第一图像分辨率。第一组可限定编码器级,第二组可限定解码器级。
训练深层神经网络需要大量数据。虽然有用于一般语义分割的大型数据集,但是这些数据集对于头发分割来说不太常用。此外,与一些具有较简单的形状的物体(例如汽车)不同的是,头发的形状非常复杂。因此,为头发获得精确客观的分割更具挑战性。
为了应对这种挑战,使用了在ImageNet上预先训练的网络。并使用头发分割数据对其进行进一步微调。但是,仍然需要数千个训练图像。数据是使用一个头发着色应用程序获得的众包数据,在该应用程序中,用户需要手工标记他们的头发。虽然获得这种数据比较廉价,但是产生的头发分割标记有很严重的噪声并且很粗略。可通过用足够好的头发掩膜处理人脸图像来手动地净化这种源数据。这比从头开始标记头发或修正不正确的分割要快得多。以相似的方式定义了两组内部测试数据。
上述网络300是在苹果公司的结合有Core MLTM库的Apple iPad Pro12.9(2015)上实现的。Core ML自动地从MobileNet模型产生MobileNet类别,并且可按所述的方式对其进行调整。为了利用并行处理的优势,使用iPad的GPU及配套内存对该模型进行了处理。应说明的是,对于一些实现方案来说,为了实现期望的处理,可由GPU处理(例如执行)卷积神经网络,而在其他实现方案中,使用计算设备的CPU来处理就足够了。
由于架构(300)的紧凑性和Core ML库的使用,在单个图像上进行一次前向传导只需要60毫秒。该网络还是使用TensorflowTM(最初由谷歌公司开发的用于高性能数值计算的开源软件库,支持机器学习和深度学习)实现的。类似的处理速度较慢,大约为300毫秒。虽然Tensorflow具有NEONTM优化(NEON技术是单指令多数据(SIMD)架构的高级扩展,适用于Arm Limited的某些处理器),但它并未针对图形处理进行优化。众所周知,现代手机和平板电脑上的GPU的确具有相当大的能力。
该模型已经产生了非常好的定性和定量结果,如表3所示,其中内部数据集1包括350个面部裁剪图像。它是从众包数据手动标注的,与所使用的训练数据类似。内部数据集2是108个3:4比例的面部图像(来自源输入装置),并且是手动标记的。内部数据集1有较粗略的手动标记,而内部数据集2有较精细的手动标记,这两个数据集都没有精细的标记。
测试数据集 | 精确率 | 召回率 | F1分值 | IoU | 表现 | 精度 |
内部数据集1 | 0.89406 | 0.93423 | 0.91045 | 0.84302 | 0.77183 | 0.95994 |
内部数据集2 | 0.904836 | 0.92926 | 0.914681 | 0.84514 | 0.76855 | 0.95289 |
表3
但是,这种方法仍然不能捕获所有头发,并且只提供粗略且斑驳的掩膜,而不是精确的阿尔法蒙版。使用引导滤波对所得的掩膜进行后处理以使其更具视觉吸引力只能仅纠正较小的错误,如下文进一步所述。
需要使用卷积神经网络来改善结果,以获得更真实的(优选是真实的)的抠图效果。在这个框架中存在两个挑战——在编码级,卷积神经网络300对图像进行相当严重的下采样,因此不能期望最终的掩膜包含非常高的分辨率细节。而且,如前文所述,训练数据和测试数据的精确性都不足以训练和评估抠图方法。
为了解决关于下采样的第一个问题,在架构中增加了跳跃连接来重新定义上采样操作。通过增加跳跃连接,较强但低分辨率的特征与较弱但高分辨率的特征结合起来。需要说明的是,由于因增加了跳跃连接而不再需要限制下采样,因此该架构已恢复到原始编码器架构,一直到7×7分辨率。例如,若对图3的架构进行调整并且分辨率止于28×28,则可使用较少的跳跃连接。这样,编码器中的较浅层(包含高分辨率但较弱的特征)与较深层的低分辨率但较强的特征相结合。可首先对入向编码器层应用1×1卷积,以使输出深度与入向解码器层(对于三个外部跳跃连接为64,对于内部跳跃连接为1024)相容,然后使用加法来合并这些层,由此组合这些层。对于每个分辨率,该分辨率下的最深编码器层用于跳跃连接。
图4是示出具有层/层组400的经过调整的深度学习网络402的示意图。网络400还接收源图像100作为处理的输入。网络400(例如其层/组402)适于输出头发掩膜404。
表4按照从左到右的顺序示出了26个层/层组402中的每个层/层组的激活图尺寸信息和处理操作信息。
在网络300和网络400的模型中,多个卷积滤波器中的每一个产生激活图,并且由一个卷积层产生的激活图被输出为向相继的下一个卷积层提供输入。所述多个卷积滤波器包括第一组卷积滤波器和第二组卷积滤波器,从而:第一组卷积滤波器处理第一组层(例如网络400的层2-14)中的图像,因而包括编码器;并且第二组卷积滤波器处理第二组层(例如网络400中的层16、18、20、22和24)中的图像,因而包括解码器。头发分割掩膜是根据从相继的最终卷积层(例如从层25)输出的最终激活图定义的。
网络300或网络400的模型可包括与第一组卷积滤波器搭配的相继的归一化函数和整流器函数,以对输出进行归一化和线性整流。该模型可包括与第二组卷积滤波器搭配的整流器功能,以对输出进行线性整流。在网络300或网络400的模型中,第一组层包括:由初始的3×3卷积滤波器限定的初始层;以及多个随后的深度可分离卷积层,每个卷积层依次由相应的深度3×3卷积滤波器、批量归一化函数和整流线性单元函数、1×1卷积滤波器、以及随后的批量归一化和整流线性单元函数限定。
在网络300或网络400的模型中,第二组层包括:相继的多个初始层,每个初始层由相应的深度3×3卷积滤波器、1×1卷积滤波器和整流线性单元函数限定;以及由最终的1×1卷积滤波器和整流线性单元函数限定的最终层。
表4
图4示出了层15、17、19、21和23上的上采样操作。层15、17、19和21上的上采样包括执行与前一层的输出图的跳跃连接。前一层的图的分辨率等于目标分辨率。这些层的上采样功能对编码器级的先前的对应层的图执行1×1卷积操作以组合通道信息,并对通常作为输入提供给相应层的相邻层的激活图执行上采样操作(例如如上所述的2×2),使得其具有与先前层的图相同的分辨率。增加了1x1卷积操作和上采样操作的输出。
因此,上采样功能使用相应的跳跃连接,其中每个相应的跳跃连接组合了作为第二组卷积层的下一个卷积层的输入的相邻卷积层的第一激活图输出;以及第一组卷积层中的前一个卷积层的第二激活图输出,其中该第二激活图具有比第一激活图大的图像分辨率。每个相应的跳跃连接被定义为将应用于第二激活图的1×1卷积滤波器的输出与应用于第一激活图的上采样功能的输出相加,以将第一激活图的分辨率提高到较大的图像分辨率。最后,对最终激活图应用Softmax(归一化指数函数)来为头发分割图的每个像素定义0到1之间的值,从而定义头发分割图。
此方法的定量评估结果在表5中示出:
测试数据集 | 精确率 | 召回率 | F1分值 | IoU | 表现 | 精度 |
内部数据集1 | 0.88237 | 0.94727 | 0.91024 | 0.84226 | 0.770518 | 0.95817 |
内部数据集2 | 0.908239 | 0.94196 | 0.92320 | 0.85971 | 0.79548 | 0.95699 |
表5
此外,由于最终编码器分辨率的降低,上述架构即使包含额外的解码器层也快得多。在Apple iPad Pro 12.9(2015)上,在一幅图像上使用Core ML进行一次前向传导需要30毫秒。
从精确性的角度来看,虽然第二个数据集的结果确实看起来比没有跳跃连接的模型的结果好,但是第一个数据集的结果是不确定的。这说明了上面的第二点——粗略分割数据的精确性有限,这不仅妨碍训练,也妨碍测试。
有人认为,用这种数据进行定量评估在目前的表现水平上已经或多或少达到了它的能力。但是,定性地说,这种架构似乎也只是稍微好一点。一种可能的解释是,虽然跳跃连接架构现在有能力学习精细水平的细节,但是这些细节并不存在于我们当前的训练数据中,这使得最终的网络输出掩膜与训练数据集中的那些一样粗略。
评估和最大限度地减少掩膜-图像梯度一致性损失
鉴于现有的训练和测试数据,卷积神经网络仅限于使用粗略分割训练数据学习头发抠图。受Rhemann等人的工作的启发,增加了一个感性的掩膜正确性指标。为此,增加了掩膜与图像梯度之间的一致性指标。距离(损失)指标如下。
掩膜-图像梯度一致性损失如公式1所示:
其中Ix、Iy是归一化图像梯度,Mx、My是归一化掩膜梯度,Mmag是掩膜梯度幅值。当图像与掩膜梯度相符时,损失(LC)的值很小。将这个损失以权重w加到原来的二元交叉熵损失上,构成总损失:
L=LM+wLC (公式2)
这两种损失的结合保持了训练掩膜的真实性与生成和图像边缘相符的掩膜之间的平衡。该掩膜-图像梯度一致性损失指标用于评估现有模型和训练新模型,其中二元交叉熵(损失)指标与公式1的新指标相结合,如公式2中所示。
交叉熵损失或对数损失衡量分类模型的表现,其输出是0到1之间的概率值。随着预测概率偏离实际(真实)标记,交叉熵损失增大。在此示例中,该模型将各个观测结果o中的每个像素分类为两个类别c之一:头发或者不是头发,从而二元交叉熵损失LM可按公式3计算:
LM=-(y log(p)+(1-y)log(1-p)) (公式3)
其中y是观测结果o的正确分类的二元标记(0或1),p是观测结果o属于类别c的预测概率。
图5示出了包括具有跳跃连接的网络500的训练架构,该网络500接收图像100(I)并产生掩膜504(M)。网络500在结构上与网络400相当,但是使用所论述的损耗指标对其进行训练。
还示出了输入502和输入506,输入502包括来自图像100的Ix,Iy(归一化图像梯度),输入506包括输入至用于训练的掩膜-图像梯度一致性损失确定组件508的Mx,My(归一化掩膜梯度)。还示出二元交叉熵损失确定组件510。掩膜-图像梯度一致性损失LC与二元交叉熵损失LM结合(未示出),以定义损失L参数来训练网络500,如上所述。
因此,网络500是包括针对图像分类预先训练的网络的卷积神经网络,例如使用开源图像训练数据预先训练的网络。该预先训练的网络适于定义物体分割掩膜(例如头发分割掩膜),而不是对图像本身进行分类。在训练时可进一步训练该卷积神经网络以最大限度地减少掩膜-图像梯度一致性损失,并且可使用粗略分割数据来训练该卷积神经网络。这种掩膜-图像梯度一致性损失可与二元交叉熵损失相结合。可进一步调整该卷积神经网络,以在解码器级中进行上采样以定义物体分割掩膜时使用编码器级中的层与解码器级中的相应层之间的跳跃连接来将低分辨率但较强的特征与高分辨率但较弱的特征相结合。
最终的掩膜看起来更像蒙版,也更为细致。图6中的图表600示出了定性评估结果。还示出了待处理的图像602(图像100的一个示例)以及分别使用图3-5的模型产生的各个掩膜(掩膜304、404和504的示例)。掩膜604是按照图3使用没有跳跃连接的模型(模型1)产生的,掩膜606是按照图4使用有跳跃连接的模型(模型2)产生的,掩膜608是按照图5使用有跳跃连接和训练后的掩膜-图像梯度一致性损失的模型(模型3)产生的。
定量地说,按照新的一致性指标,这种方法的表现更好,但是按照其他指标(与客观数据的相似性),这种方法的表现较差。但是,如前文所述,考虑到现有的客观数据的准确性,可能不希望预测与客观数据的一致性超过某一水平。表6示出了使用相同测试数据集时所有模型的定性评估结果:
表6
将图5的架构的模型3的蒙版输出与图3的架构的模型1的较粗略的掩膜输出进行了比较,并与增加了引导滤波器的模型1的输出进行了比较。引导滤波器是一种保边滤波器,并且相对于图像尺寸具有线性运行时复杂度。在iPad Pro上处理224x 224的图像只需5毫秒。图7示出了描述图3和图5的模型的定性评估结果的图表700。其中示出了待处理的图像702(图像100的一个示例)。图像704是来自图3的模型1的掩膜,没有经过引导滤波器后处理。图像706是来自模型1的掩膜,其中增加了引导滤波器后处理。图像708是图5的模型3的掩膜(或蒙版)输出。如上所述,模型3使用跳跃连接,并利用来自众包数据的有噪声且粗略的分割数据对齐进行训练,并且利用掩膜-图像梯度一致性损失函数对其进行训练。
使用引导滤波器的图像706示出了更多细节的捕获,各绺头发变得明显。但是,引导滤波器仅在掩膜边缘附近局部地添加细节。此外,细化的掩膜的边缘周围有一圈可见的光晕,当头发颜色与其周围环境的反差较低时,这圈光晕更加明显。这种光晕会在头发重新着色时导致渗色。图5的架构产生较清晰的边缘(如图像708中所示),并能捕获较长的发绺,而没有在引导滤波器后处理中看到的不应有的光晕效应。
一个附加好处是,图5的架构的运行速度是图4的架构的两倍,在移动设备上处理每帧只需30毫秒,并且不需要额外的后处理抠图步骤。由于有助于捕捉高分辨率细节的跳跃连接的使用,图5的架构保持了原始的MobileNet编码器结构,其最深层具有7×7分辨率。这些层具有许多深度通道(1024),并且随着分辨率的提高而使处理费用变得非常高昂。与图4的架构中的28x 28分辨率相比,采用7x7分辨率使处理速度更快。
实验
在三个数据集上对该方法进行了评估。第一个是众包数据集,包括9000个训练图像、380个验证图像和282个测试图像。所有三个数据集都包括原始图像及其翻转版本。由于目标是移动设备上的头发抠图,因此数据的预处理是通过检测面部并根据典型自拍的预期比例裁剪面部周围的区域进行的。
为了将该方法与现有方法进行比较,评估了两个公共数据集:Kae等人的LFW部分数据集以及Guo和Aarabi的头发数据集。前者由2927个250x 250图像组成,包括1500个训练图像、500个验证图像和927个测试图像。像素被标记为三类:头发、皮肤和背景,这是在超像素级产生的。后者由115个高分辨率图像组成。由于它包含的图像太少,无法用于训练,因此我们在该数据集上进行评估时使用我们的众包训练数据。为了使这个数据集与我们的训练数据一致,以类似的方式对其进行预处理(使用人脸检测和裁剪),并添加翻转图像。由于在少数情况下未检测到人脸,因此生成的数据集由212个图像组成。
训练是采用Keras(F.Chollet等人,https://github.com/keras-team/keras,2015年)中的Adadelta方法(“Adadelta:一种自适应学习率方法”,arXiv预印本arXiv:1212.5701,2012)方法进行的,批量大小为4,学习率为1:0,ρ=0:95,ε=1e-7。仅针对卷积层使用权重为2·10-5的L2正则化。没有对深度卷积层和最后一个卷积层进行正则化。损失平衡权重设置为ω=0:5(在公式3中)。
在三类LFW数据中,只有头发类对掩膜-图像梯度一致性损失有作用。对该模型训练50个时期,并使用验证数据选择表现最佳的时期。在众包数据集上的训练需要在NvidiaGeForce GTX 1080TiTM(Nvidia、GeForce和GTX 1080Ti是Nvidia公司的商标)GPU上花费5个小时,而在LFW部分上花费不到1个小时,因为训练集的大小要小得多。
A.定量评估
为了进行定量性能分析,测量了F1分值、表现、IoU和精度,并对所有测试图像进行平均。为了测量图像和头发掩膜边缘的一致性,还报出了掩膜-图像梯度一致性损失(公式1)。在人工清理众包图像(图像数据)时,仅对图像进行滤波,而不是相对于掩膜进行校正。因此,头发标注的质量仍然较差。因此,在对众包数据进行评估之前,对测试掩膜进行了手工校正,每次注释花费的时间不超过2分钟。这产生了稍微好一点的客观数据。在重新标记的数据上对该方法的三种变化形式(模型1、具有引导滤波器的模型1和模型3)进行了评估。所有三种方法在客观数据比较指标方面的表现相似,但是,模型3在梯度一致性损失类别中明显胜出,这表明其掩膜与图像边缘更相符。
在LFW部分数据集上,使用Qin等人的表现最佳的方法给出了同等的表现,但它是在移动设备上实时实现的。仅使用精度指标进行评估,因为它是Qin等人使用的唯一指标。可以说,尤其是由于LFW部分是在超像素级标注的,因此其客观性可能不足以进行高精度分析。在Guo和Aarabi的数据集中,F1分值为0:9376,表现为0:8253。在这个经过后处理的数据集上重新运行HNN,获得了与作者报告的表现相似的表现,F1分值为0:7673,表现分值为0:4674。
B.定性评估
在公开的自拍图像上对该方法进行了评估,以进行定性分析。模型1产生了良好但粗略的掩膜。具有引导滤波器的模型1能产生更好的掩膜,但是在头发边界周围会有不应有的模糊。模型3获得了最精确和最清晰的结果。引导滤波器后处理和模型3的一个失败模式是它们对头发附近的头发状物体的分割不足,例如深色头发情况下的眉毛或浅色头发情况下的明亮背景。
此外,头发内部的高光会导致模型3中的头发掩膜不均匀。
C.网络架构实验
使用验证数据对若干个解码器层通道进行了实验,但是观察到它对精度没有很大影响,根据大多数指标,64个通道产生最佳结果。这些实验是使用图4中的跳跃连接架构完成的,没有使用梯度一致性损失。
Howard等人观察到,在图像分辨率较高的情况下,MobileNet的表现更好。以精确头发抠图作为目标,使用我们的模型3进行了实验,将分辨率提高到224×224以上,这是在ImageNet上训练的最高分辨率MobileNet。使用模型3从224×224图像与480×480图像推断出的掩膜的定性比较表明,480×480的结果在头发边缘周围看起来更准确,能捕获较长的发绺,包括在脸上(例如在鼻子上)的发绺。但是,上一节中提到的问题也变得更严重,更多的头发掩膜渗入到非头发区域中,并且因头发的突出而使得掩膜的内部变得不均匀。此外,处理较大的图像的费用要高得多。
如上所述,卷积神经网络配置为在用户的计算设备(例如移动设备)上以运行时方式执行。可配置为使得卷积神经网络的执行至少部分地在这样的设备的GPU上进行,以利用处理能力(例如这样的GPU中的并行处理能力)。在一些实现方案中,执行可在CPU上进行。应理解,使用粗略分割数据(训练数据)来定义训练网络的训练环境可不同于运行时环境。训练环境可能具有较高的处理能力和/或较多的存储空间来加速训练操作。
图8是本公开的一个或多个方面的示例性计算设备800的框图,例如手持移动设备(例如智能手机或平板电脑)。但是,它可以是另一种计算设备,例如膝上型电脑、台式电脑、工作站等。如前文所述,研究和开发工作的目标是产生用于在具有有限资源的手持移动设备上操作的深层神经网络,以有效且高效地产生经过处理的图像(例如视频)。
计算设备800例如包括用户设备,以获取一个或多个图像(例如视频)并处理图像以改变一个或多个属性,并呈现新图像。在一个示例中,对图像进行处理以改变图像中的头发的颜色。计算设备800包括一个或多个处理器802、一个或多个输入装置804、基于手势的输入/输出装置806、一个或多个通信单元808、以及一个或多个输出装置810。计算设备800还包括存储一个或多个模块和/或数据的一个或多个存储装置812。模块可包括深层神经网络模型814、具有用于图形用户界面(GUI 818)的组件的应用程序816、颜色预测模块820、以及图像获取模块822。数据可包括待处理的一个或多个图像(例如图像824)、从一个或多个图像产生的一个或多个掩膜(例如从图像824产生的掩膜826)、以及使用一个或多个掩膜和一个或多个图像产生的一个或多个新图像(例如新图像828)。
应用程序816提供获取一个或多个图像(例如视频)、处理图像以改变一个或多个属性、并呈现新图像的功能。在一个示例中,对图像进行处理以改变图像中的头发的颜色。应用程序使用由神经网络模型814提供的深层神经网络来执行图像处理。网络模型可配置为图3、4和5中所示的任何模型。
应用816可与某些属性数据(例如颜色数据830)相关联,以改变图像的一个或多个属性。改变属性与改变像素值以产生新图像相关。应理解,可使用各种颜色模型和数据格式来表示与图像相关的数据(例如用于存储、打印和/或显示图像),并且可相应地配置应用程序816。在其他示例中,属性数据可涉及改变效果,例如照明条件、纹理、形状等。应用程序816可配置有用于改变属性的一个或多个功能(未示出),例如向图像的期望位置应用效果(例如由深层神经网络识别的图像中的感兴趣的物体或其部分)。
存储装置212可存储附加模块,例如操作系统832和其他模块(未示出),包括通信模块;图形处理模块(例如用于处理器802的GPU);地图模块;联系人模块;日历模块;照片/图库模块;照片(图像/媒体)编辑器;媒体播放器和/或流模块;社交媒体应用程序;浏览器模块;等等。存储装置在此可称为存储单元。
通信通道838可耦合组件802、804、806、808、810、812中的每一个以及用于组件间通信的任何模块814、816和826,无论是以通信、物理和/或操作的方式耦合。在一些示例中,通信通道838可包括系统总线、网络连接、进程间通信数据结构或用于传送数据的任何其他方法。
所述一个或多个处理器802可在计算设备800内实现功能和/或执行指令。例如,处理器802可配置为从存储装置812接收指令和/或数据,以执行图8所示的模块的功能以及其他功能(例如操作系统、应用程序等)。计算设备800可将数据/信息存储到存储装置812中。下面将进一步说明一些功能。应理解,操作可能不完全精确地在图8的模块814、816和826的范围内,从而一个模块可辅助另一个模块的功能。
用于执行操作的计算机程序代码可用一种或多种程序设计语言的任何组合来编写,例如面向对象的程序设计语言(例如Java、Smalltalk、C++等)或者传统的过程编程语言(例如“C”程序设计语言或类似的程序设计语言)。
计算设备800可产生用于在基于手势的输入/输出装置806的屏幕上显示的输出,或者,在一些示例中,用于通过投影仪、监视器或其他显示装置显示。应理解,基于手势的输入/输出装置806可使用多种技术来配置(例如对于输入能力:电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投影电容式触摸屏、压敏屏、声脉冲识别触摸屏、或对其他存在敏感的屏幕技术;对于输出能力:液晶显示屏(LCD)、发光二极管显示屏(LED)、有机发光二极管显示屏(OLED)、点阵显示屏、电子墨水显示屏或类似的单色或彩色显示屏)。
在本文所述的示例中,基于手势的输入/输出装置806包括能够从与触摸屏交互的用户接收触觉交互或手势作为输入的触摸屏装置。这种手势可包括轻击手势、拖动或划动手势、轻弹手势、暂停手势(例如用户触摸屏幕的相同位置至少达到一段阈值时间),其中用户触摸或指向基于手势的输入/输出装置806的一个或多个位置。基于手势的输入/输出装置806还可包括非敲击手势。基于手势的输入/输出装置806可向用户输出或显示信息,例如图形用户界面。基于手势的输入/输出装置806可呈现计算设备800的各种应用程序、功能和能力,例如包括查看图像、处理图像和显示新图像的应用程序818、消息应用程序、电话通信、联系人和日历应用程序、网络浏览应用程序、游戏应用程序、电子书应用程序、以及金融、支付和其他应用程序或功能等。
虽然本公开主要以具有输入/输出能力的显示屏装置(例如触摸屏)的形式示出并论述了基于手势的输入/输出装置806,但是也可利用基于手势的输入/输出装置的其他例子,这些装置能够检测移动,并且其本身可不包括屏幕。在这种情况下,计算设备800包括显示屏,或者耦合至显示装置以呈现新图像。计算设备800可从跟踪板/触摸板、一个或多个摄像头、或其他对存在或手势敏感的输入装置接收基于手势的输入,其中所述存在指用户的存在方面,例如包括用户的全身或身体部位的运动。
一个或多个通信单元808可经由一个或多个通信网络(未示出)通过在所述一个或多个网络上发送和/或接收网络信号与外部设备(未示出)通信,例如用于接收新的属性数据或应用功能,与另一个计算设备、打印装置或显示装置(均未示出)共享新的图像。所述通信单元可包括各种天线和/或网络接口卡、芯片(例如全球定位卫星(GPS)等),以进行无线和/或有线通信。
输入装置804和输出装置810可包括一个或多个按钮、开关、定点装置、摄像头、键盘、麦克风、一个或多个传感器(例如生物特征传感器等)、扬声器、铃、一个或多个灯、触觉(振动)装置等之中的任何一种。这些装置中的一个或多个可通过通用串行总线(USB)或其他通信通道(例如838)耦合。摄像头(输入装置804)可以是朝向前方的(即,在同一侧),以允许用户在观看基于手势的输入/输出装置806时使用摄像头捕获图像以拍摄“自拍”照片。
所述一个或多个存储装置812可采取不同的形式和/或配置,例如作为短期存储器或长期存储器。存储装置812可配置用于信息的短期存储,作为在断电时不保留存储的内容的易失性存储器。易失性存储器的例子包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等。在一些示例中,存储装置812还包括一个或多个计算机可读存储介质,例如与易失性存储器相比用于存储更大量的信息和/或长期存储这样的信息,在断电时保留信息。非易失性存储器的例子包括磁盘、光盘、软盘、闪存、或各种形式的电可编程存储器(EPROM)或电可擦除可编程存储器(EEPROM)。
虽然未示出,但是计算设备可配置为训练环境,以训练神经网络模型814,例如使用如图5所示的网络以及适当的训练和/或测试数据进行。
计算设备800包括处理单元和耦合至该处理单元的存储单元。所述存储单元存储指令,该指令在被所述处理单元执行时配置所述计算设备以便:存储并提供深度学习神经网络模型(例如包括卷积神经网络),该深度学习神经网络模型配置为对图像的像素进行分类,以确定每个像素是否是感兴趣的物体(例如头发像素)的成员;并且通过改变作为感兴趣的物体的成员的像素的一个或多个属性来定义和呈现新图像(例如着色头发图像)。改变操作使用利用深度神经网络模型从图像定义的掩膜。在一个示例中,所述感兴趣的物体是头发,所述属性是颜色。因此,改变一个或多个属性是使用头发分割掩膜向图像中的头发像素应用新的头发颜色。
所述深层神经网络适于计算设备的轻型架构,该计算设备是移动设备(例如智能手机或平板电脑),它具有的处理资源比“较大”的设备(例如膝上型电脑、台式电脑、工作站、服务器或其他同代计算设备)的处理资源少。
所述深层神经网络模型可配置为包括卷积的深度可分离卷积神经网络,其中各个标准卷积被分解为深度卷积和逐点卷积。深度卷积限于对每个输入通道应用单个滤波器,而逐点卷积限于组合深度卷积的输出。
所述深层神经网络模型还可配置为包括在编码器中的层与解码器中的相应层之间执行跳跃连接的操作,例如进行上采样时。
可使用掩膜-图像梯度一致性损失指标来训练所述深层神经网络模型,由此相对于处理的图像和产生的掩膜来确定掩膜-图像梯度一致性损失,并且使用该损失指标来训练模型。掩膜-图像梯度一致性损失可按照公式1确定。
图9是一个示例的计算设备800的操作900的流程图。操作900涉及计算设备800的用户使用应用程序(例如应用程序816)进行自拍,该自拍包括视频,该视频包括定义用户的头部(包括用户的头发)的图像的视频帧;选择新的头发颜色;并观看视频,在该视频中,用户的头发颜色是新的头发颜色。在操作902中,经由输入装置或单元(例如摄像头)接收图像,该输入装置或单元可调用图形用户界面818和图像获取组件822。提供图像以进行显示(904),例如提供给基于手势的输入/输出装置806或另一种显示装置。为了帮助在移动设备上处理头发,可对图像(数据)进行预处理(未示出)。可通过检测人脸并根据典型自拍的预期比例裁剪人脸周围的区域来预处理图像。
在操作906中,经由基于手势的输入/输出装置806和图形用户界面818(交互式图形用户界面)接收输入,以选择新的头发颜色。图形用户界面818可配置为通过交互式界面呈现头发颜色数据814以供选择。在一些示例中,应用程序816可配置为推荐颜色。虽然未示出,但是操作可包括根据接收的图像和可选的其他颜色(例如皮肤颜色)或灯光信息等来确定现有的或当前的头发颜色。可通过图形用户界面818请求表示为数据(未示出)的用户偏好。操作可进一步包括向颜色预测组件820提供这些数据。颜色预测组件820可具有响应于现有的头发颜色、皮肤颜色或其他颜色和/或灯光信息、用户偏好、趋势等之中的一种或多种来推荐适当的颜色(例如来自颜色数据830的新头发颜色的一个或多个候选)的功能。
在操作908中,接收待处理的第二图像,以向第二图像中的由如本文所述的深层神经网络模型814识别的头发像素应用新的属性,即,新的头发颜色。随着摄像头不断捕获图像,用于定义现有的头发颜色的第一个图像不再是当前图像。
在操作910中,使用模型814定义识别(第二)图像中的头发像素的头发分割掩膜。在操作912中,通过使用头发分割掩膜向图像中的头发像素应用新的头发颜色来定义新的图像(例如着色头发图像)。在操作914中,在由图形用户界面组件818提供的图形用户界面中提供新图像,以输出到基于手势的输入/输出装置806上。随着从摄像头接收到更多的图像,进一步定义相应的掩膜,并且进一步定义并呈现具有着色头发的相应新图像。
可提供附加或替代的图形用户界面或图形用户界面功能,以便于进行其他属性改变、对现有的头发颜色和新的头发颜色或两种新的头发颜色进行实时比较,或者保存显示新的头发颜色的静态图像或视频片段。操作可经由基于手势的输入/输出装置呈现图形用户界面,其中该图形用户界面例如包括以分屏排列方式布置的用于观看图像的第一部分和用于同时观看着色头发图像的第二部分。
操作可对头发颜色(现有颜色或新颜色)应用光照条件处理,以显示不同光照条件下的头发。操作可配置为在相应的新图像中显示第一新头发颜色和第二新头发颜色。可定义单个掩膜并提供给两个独立的着色操作,以应用两种新的头发颜色。可顺序地或同时地提供第一和第二颜色的相应新着色图像。
除了所论述的任何图形用户界面选项或控件之外,还可提供语音激活控件。
可按类似的方式调整其他轻型架构,通过使用编码器与解码器的相应层之间的跳跃连接并使用掩膜-图像梯度一致性损失函数来对其进行训练,以产生头发分割掩膜。这种架构的一个例子是ShuffleNetTM,这是一种专门为计算能力非常有限(例如10-150MFLOP)的移动设备设计的计算效率很高的卷积神经网络,它使用Zhang等人和Megvii TechnologyLimited的逐点组卷积和通道混洗。在Zhang等人于2017年12月7日发表的“ShuffleNet:一种用于移动设备的极其有效的卷积神经网络”arXiv:1707.01083v2[cs:CV]中提供了关于ShuffleNet的详细信息,该文献通过引用结合在此。
图10是按照本文的教导定义示例性卷积神经网络的步骤1000的流程图。在步骤1002中,获得针对图像分类预先训练并配置为在具有有限计算能力的计算设备上执行的卷积神经网络(例如MobileNet、ShuffleNet等)。
在步骤1004中,调整卷积神经网络,以定义物体分割掩膜,例如移除全连接层,定义上采样操作等。在步骤1006中,调整卷积神经网络,以在解码器级中进行上采样时使用编码器级中的层与解码器级中的相应层之间的跳跃连接来将低分辨率但较强的特征与高分辨率但较弱的特征相结合。在步骤1008中,获得包括用于物体分割的标记数据的分割训练数据。如前文所述,该分割训练数据可能是众包的有噪声且粗略的分割数据,其中的物体分割掩膜(标记)不是很精细。
在步骤1010中,定义掩膜-图像梯度一致性损失函数,作为在训练时用于最小化的参数。在步骤1012中,使用分割训练数据和掩膜-图像梯度一致性损失函数进一步训练经过预先训练的卷积神经网络,以最大限度地减少掩膜-图像梯度一致性损失,从而产生进一步训练的卷积神经网络。在步骤1014中,用包括用于物体分割的标记数据的分割测试数据测试进一步训练的卷积神经网络。很明显,图10中的一些步骤是可选的。例如但不限于:进行调整以使用跳跃连接可以是可选的。进行调整以最大限度地减少梯度一致性损失(以及类似的针对这种损失的训练)可以是可选的。所述训练数据可以是有噪声且粗略的分割数据(例如没有精细的标记),例如从众包数据获得的分割数据。
可提供如此训练的卷积神经网络,以便存储和在所述的移动设备上使用。
本领域普通技术人员应理解,除了计算设备方面之外,本发明还公开了计算机程序产品方面,其中指令存储在非瞬态存储装置(例如存储器、CD-ROM、DVD-ROM、光盘等)之中,以配置计算设备,以便执行在此存储的任何方法方面。
实际的实施方案可包含本文说明的任何或所有特征。这些和其他方面、特征以及各种组合可表示为方法、设备、系统、用于执行功能的装置、程序产品,并且可按其他方式组合本文所述的特征。本文中说明了若干实施例。但是应理解,在不脱离本文说明的过程和技术的精神和范围的前提下,能够做出各种修改。此外,可在所述过程中提供其他步骤,或者从所述过程去除某些步骤,并且可向所述系统添加其他部件,或者从所述系统去除某些部件。因此,其他实施例也在下述权利要求所限定的范围之内。
在本说明书的说明部分和权利要求中,用词“包括”和“包含”及其变化形式表示“包括但不限于”,并且它们不旨在(并且不)排除其他部件、整数或步骤。在本说明书中,除非上下文另有要求,否则单数涵盖复数。尤其是,在使用不定冠词时,除非上下文另有要求,否则本说明书应理解为考虑了复数以及单数。
结合本发明的特定方面、实施例或示例说明的特征、整数、特性、化合物、化学成分或基团等应理解为可应用于任何其他方面、实施例或示例,除非与这些其他方面、实施例或示例不相容。本文公开的所有特征(包括任何所附权利要求、摘要和附图)和/或如此公开的任何方法或过程的所有步骤可按任何组合形式进行组合(除了至少一部分此类特征和/或步骤在其中互斥的组合形式)。本发明不限于任何前述示例或实施例的细节。本发明涵盖本说明书(包括任何所附权利要求、摘要和附图)中公开的任何新颖特征或这些特征的任何新颖组合,或者涵盖所公开的任何方法或过程的任何新颖步骤或这些步骤的任何新颖组合。
Claims (82)
1.一种处理图像的计算设备,包括:
存储单元,用于存储和提供卷积神经网络(CNN),所述卷积神经网络配置为对所述图像的像素进行分类以确定所述像素中的每个像素是否为物体像素,以便为所述图像中的物体定义物体分割掩膜,其中所述卷积神经网络包括适于定义所述物体分割掩膜的针对图像分类的预先训练的网络,并且其中使用分割数据进一步训练所述卷积神经网络;和
处理单元,耦合至所述存储单元,所述处理单元配置为使用所述卷积神经网络处理所述图像,以产生所述物体分割掩膜来定义新图像。
2.根据权利要求1所述的计算设备,其中所述卷积神经网络被进一步训练为最大限度地减少掩膜-图像梯度一致性损失。
4.根据权利要求3所述的计算设备,其中所述掩膜-图像梯度一致性损失LC以权重w与二元交叉熵损失LM相结合,以最大限度地减少训练时的总损失L,其中L定义为L=LM+wLC。
5.根据权利要求1至4中任一项所述的计算设备,其中所述分割数据是有噪声且粗略的分割数据。
6.根据权利要求1至5中任一项所述的计算设备,其中所述分割数据是众包分割数据。
7.根据权利要求1至4中任一项所述的计算设备,当在解码器级中进行上采样以定义所述物体分割掩膜时,所述计算设备适于使用编码器级中的层与解码器级中的相应层之间的跳跃连接来将低分辨率但强的特征与高分辨率但弱的特征相结合。
8.根据权利要求1至7中任一项所述的计算设备,其中所述物体是头发。
9.根据权利要求1至8中任一项所述的计算设备,其中所述处理单元配置为通过使用所述物体分割掩膜对选择的所述图像中的像素应用变化来从所述图像定义所述新图像。
10.根据权利要求9所述的计算设备,其中所述变化是颜色变化。
11.根据权利要求9和10之一所述的计算设备,其中所述卷积神经网络包括经过训练的网络,其被配置为在计算能力有限的移动设备上运行,以实时产生所述新图像作为视频图像。
12.根据权利要求9至11中任一项所述的计算设备,其中所述处理单元配置为提供交互式图形用户界面(GUI)以显示所述图像和所述新图像,所述交互式图形用户界面配置为接收输入以确定用于定义所述新图像的所述变化。
13.根据权利要求12所述的计算设备,其中所述处理单元配置为使用所述物体分割掩膜来分析所述图像中的所述物体的像素,以确定用于所述变化的一个或多个候选,并且其中所述交互式图形用户界面配置为呈现所述一个或多个候选,以接收输入从而选择所述候选中的一个候选作为所述变化来应用。
14.根据权利要求1至13中任一项所述的计算设备,其中所述图像是自拍视频。
15.一种处理图像的计算设备,包括:
存储单元,用于存储和提供卷积神经网络(CNN),所述卷积神经网络配置为对所述图像的像素进行分类以确定每个像素是否为头发像素,当使用分割数据训练以定义头发分割掩膜时,所述卷积神经网络被训练为最大限度地减少掩膜-图像梯度一致性损失;和
处理单元,耦合至所述存储单元,所述处理单元配置为通过使用所述头发分割掩膜对所述图像中的头发像素应用新的头发颜色来定义和呈现着色头发图像。
16.根据权利要求15所述的计算设备,其中所述卷积神经网络包括经过训练的网络,所述网络配置为在计算能力有限的移动设备上运行,以实时产生所述着色头发图像作为视频图像。
17.根据权利要求15和16之一所述的计算设备,其中所述卷积神经网络包括适于产生所述头发分割掩膜的针对图像分类的预先训练的网络,当在解码器级中进行上采样时,所述预先训练的网络适于使用编码器级中的层与解码器级中的对应层之间的跳跃连接来将低分辨率但强的特征与高分辨率但弱的特征相结合。
18.根据权利要求17所述的计算设备,其中通过首先应用逐点卷积来处理来自所述编码器级的较低分辨率层,以使输出深度与所述解码器级的入向的较高分辨率层相容。
19.根据权利要求15至18中任一项所述的计算设备,其中当在解码器级中进行上采样时,所述卷积神经网络适于将来自相应层的低分辨率但强的特征与高分辨率但弱的特征相结合。
20.根据权利要求15至19中任一项所述的计算设备,其中使用粗略分割数据训练所述卷积神经网络,以最大限度地减少掩膜-图像梯度一致性损失。
22.根据权利要求20和21之一所述的计算设备,其中所述掩膜-图像梯度一致性损失LC以权重w与二元交叉熵损失LM相结合,以最大限度地减少训练时的总损失L,其中L定义为L=LM+wLC。
23.根据权利要求1至22中任一项所述的计算设备,其中所述卷积神经网络配置为使用包括深度卷积和逐点卷积的深度可分离卷积,以最大限度地减少处理操作并使得所述卷积神经网络能够在具有有限计算能力的移动设备上执行。
24.一种处理图像的计算设备,包括:
处理单元、耦合至所述处理单元的存储单元、以及耦合至所述处理单元和所述存储单元中的至少一者的输入装置,所述存储单元存储指令,所述指令在被所述处理单元执行时配置所述计算设备,以便:
经由所述输入装置接收所述图像;
定义标识所述图像中的头发像素的头发分割掩膜;
通过使用所述头发分割掩膜对所述图像中的头发像素应用新的头发颜色来定义着色头发图像;和
提供所述着色头发图像,以输出到显示装置上;并且
其中所述头发分割掩膜是通过以下而定义的:
使用由所述存储单元存储的卷积神经网络(CNN)处理所述图像,以在相继的卷积(conv)层中应用多个卷积滤波器来检测相应的特征,其中第一组相继的卷积层提供将所述图像从第一图像分辨率下采样到最小分辨率的输出,且第二组相继的卷积层将所述输出上采样回到所述第一图像分辨率,并且所述卷积神经网络被训练以最大限度地减少掩膜-图像梯度一致性损失以便定义所述头发分割掩膜。
25.根据权利要求24所述的计算设备,其中所述卷积神经网络适于使用所述第一组和所述第二组的对应卷积层之间的跳跃连接。
26.根据权利要求24和25之一所述的计算设备,其中所述卷积神经网络包括散布在所述第二组卷积层的初始层之前和所述第二组卷积层的相应后续层之前的上采样功能,以将输出上采样到所述第一图像分辨率。
27.根据权利要求26所述的计算设备,其中所述上采样功能使用相应的跳跃连接,每个相应的跳跃连接结合有:
第一激活图,所述第一激活图是相继的相邻卷积层的输出,作为所述第二组卷积层的下一个卷积层的输入;和
第二激活图,所述第二激活图是所述第一组卷积层中的前一个卷积层的输出,其中所述第二激活图具有比所述第一激活图大的图像分辨率。
28.根据权利要求27所述的计算设备,其中每个相应的跳跃连接被定义为将应用于所述第二激活图的1×1卷积滤波器的输出与应用于所述第一激活图的上采样功能的输出相加,以将所述第一激活图的分辨率提高到较大的图像分辨率。
29.根据权利要求24至28中任一项所述的计算设备,其中所述指令配置所述计算设备以经由所述显示装置呈现图形用户界面(GUI),所述图形用户界面包括用于观看所述图像的第一部分和用于同时观看所述着色头发图像的第二部分。
30.根据权利要求29所述的计算设备,其中所述指令配置所述计算设备对所述着色头发图像中的所述新头发颜色应用光照条件处理,以显示不同的光照条件下的所述新头发颜色。
31.根据权利要求24至30中任一项所述的计算设备,其中所述新头发颜色是第一新头发颜色,并且所述着色头发图像是第一着色头发图像,并且其中所述指令配置所述计算设备以便:
通过使用所述头发分割掩膜向所述图像中的头发像素应用第二新头发颜色并通过提供第二着色头发图像以输出到所述显示装置来定义和呈现所述第二着色头发图像。
32.根据权利要求31所述的计算设备,其中所述指令配置所述计算设备经由所述显示装置呈现两个新颜色的图形用户界面,所述两个新颜色的图形用户界面包括用于观看所述第一着色头发图像的第一新颜色部分和用于同时观看所述第二着色头发图像的第二新颜色部分。
33.根据权利要求24至32中任一项所述的计算设备,其中所述指令配置所述计算设备以便:
分析所述图像的颜色,包括所述图像中的头发像素的当前头发颜色;
确定一种或多种建议的新头发颜色;和
经由所述图形用户界面的交互部分呈现所述建议的新头发颜色,以选择所述新头发颜色来定义所述着色头发图像。
34.根据权利要求24至33中任一项所述的计算设备,其中所述处理单元包括用于执行所述卷积神经网络的图形处理单元(GPU),并且所述计算设备包括智能手机和平板电脑之一。
35.根据权利要求24至34中任一项所述的计算设备,其中所述图像是视频的多个视频图像之一,并且其中所述指令配置所述计算设备以处理所述多个视频图像以便改变头发颜色。
36.根据权利要求24至35中任一项所述的计算设备,其中所述卷积神经网络包括基于MobileNet的模型,所述模型适于对所述图像的像素进行分类,以确定所述像素中的每个像素是否为头发像素。
37.根据权利要求24至36中任一项所述的计算设备,其中所述卷积神经网络配置为包括卷积的深度可分离卷积神经网络,其中各个标准卷积被分解为深度卷积和逐点卷积,所述深度卷积限于向每个输入通道应用单个滤波器,且所述逐点卷积限于组合所述深度卷积的输出。
39.一种配置为产生卷积神经网络的计算设备,所述卷积神经网络被训练为处理图像以定义物体分割掩膜,所述计算设备包括:
存储单元,用于接收卷积神经网络,所述卷积神经网络配置为用于图像分类并且配置为在具有有限计算能力的运行时计算设备上执行;
处理单元,配置为提供交互界面以接收输入和显示输出,所述处理单元配置为:
接收输入以调整所述卷积神经网络以便定义物体分割掩膜并向所述存储单元存储经过调整的卷积神经网络;并且
接收输入以使用被标记为用于物体分割的分割训练数据来训练经过调整的卷积神经网络,以产生所述卷积神经网络来处理图像以便定义所述物体分割掩膜。
40.根据权利要求39所述的计算设备,其中所述处理单元配置为接收输入以调整所述卷积神经网络,以便执行以下中的至少一者:
在训练时使用为了最大限度地减少所述掩膜-图像梯度一致性损失而定义的掩膜-图像梯度一致性损失函数;和
当在解码器级中进行上采样时,使用编码器级中的层与解码器级中的相应层之间的跳跃连接来将低分辨率但强的特征与高分辨率但弱的特征相结合;和
向所述存储单元存储经过调整的卷积神经网络。
41.一种产生被训练为处理图像以定义物体分割掩膜的卷积神经网络的方法,包括:
获得配置为用于图像分类并配置为在具有有限计算能力的计算设备上执行的卷积神经网络;
调整所述卷积神经网络以定义物体分割掩膜;和
使用被标记为用于物体分割的分割训练数据来训练经过调整的卷积神经网络,以定义所述物体分割掩码。
42.根据权利要求41所述的方法,其中所述卷积神经网络被预先训练为用于图像分类,并且所述训练步骤进一步训练经过预先训练的卷积神经网络。
43.根据权利要求41和42之一所述的方法,包括调整所述卷积神经网络以使用为了最大限度地减少掩膜-图像梯度一致性损失而定义的掩膜-图像梯度一致性损失函数来产生所述卷积神经网络以处理图像。
44.根据权利要求41至43中任一项所述的方法,其中所述分割训练数据是从众包数据定义的有噪声且粗略的分割训练数据。
45.根据权利要求41至44中任一项所述的方法,包括调整所述卷积神经网络,以在解码器级中进行上采样时使用编码器级中的层与解码器级中的相应层之间的跳跃连接来将低分辨率但强的特征与高分辨率但弱的特征相结合。
46.根据权利要求41至45中任一项所述的方法,其中所述掩膜-图像梯度一致性损失函数与二元交叉熵损失函数结合,以最大限度地减少综合损失。
48.根据权利要求41至47中任一项所述的方法,包括提供卷积神经网络来处理图像,以定义存储在移动设备上的所述物体分割掩膜。
49.一种方法,包括:
在计算设备的存储单元中存储卷积神经网络(CNN),所述卷积神经网络配置为对图像的像素进行分类,以确定所述像素中的每个像素是否为物体像素以便为所述图像中的物体定义物体分割掩膜;和
经由所述计算设备的处理单元使用所述卷积神经网络来处理图像,以产生所述物体分割掩膜,以便定义新图像;和
其中所述卷积神经网络包括适于定义所述物体分割掩膜的针对图像分类的预先训练的网络,并且用分割数据被训练。
50.根据权利要求49所述的方法,其中所述卷积神经网络适于执行以下中的至少一者:
在使用分段数据训练时,使用掩膜-图像梯度一致性损失函数以最大限度地减少掩膜-图像梯度一致性损失;和
当在解码器级中进行上采样以定义所述物体分段掩膜时,使用编码器级中的层与解码器级中的相应层之间的跳跃连接来将低分辨率但强的特征与高分辨率但弱的特征相结合。
52.根据权利要求51所述的方法,其中所述掩膜-图像梯度一致性损失以权重w与二元交叉熵损失相结合,以最大限度地减少训练时的总损失L,其中L定义为L=LM+wLC。
53.根据权利要求49至52中任一项所述的方法,其中所述物体是头发。
54.根据权利要求49至53中任一项所述的方法,包括经由所述处理单元通过使用所述物体分割掩膜对选择的图像中的像素应用变化来从所述图像定义所述新图像。
55.根据权利要求54所述的方法,其中所述变化是颜色变化。
56.根据权利要求54至55中任一项所述的方法,其中所述卷积神经网络包括经过训练的网络,其被配置为在计算能力有限的移动设备上运行以实时产生所述新图像作为视频图像。
57.根据权利要求54至56中任一项所述的方法,其中所述处理单元配置为提供交互式图形用户界面(GUI)以显示所述图像和所述新图像,所述交互式图形用户界面配置为接收输入以确定用于定义所述新图像的所述变化。
58.根据权利要求57所述的方法,包括经由所述处理单元使用所述物体分割掩膜来分析所述图像中的所述物体的像素,以确定用于所述变化的一个或多个候选,并且其中所述交互式图形用户界面配置为呈现所述一个或多个候选,以接收输入从而选择所述候选中的一个候选作为所述变化来应用。
59.根据权利要求49至58中任一项所述的方法,其中所述图像是自拍视频。
60.一种处理图像的方法,包括:
在计算设备的存储单元中存储卷积神经网络(CNN),所述卷积神经网络配置为对所述图像的像素进行分类,以确定所述像素中的每个像素是否为头发像素,当使用分割数据进行训练以定义头发分割掩膜时,所述卷积神经网络被训练为最大限度地减少掩膜-图像梯度一致性损失;和
由所述计算设备的与所述存储单元耦合的处理单元通过使用所述头发分割掩膜向所述图像中的头发像素应用新的头发颜色来定义和呈现着色头发图像。
61.根据权利要求60所述的方法,其中所述卷积神经网络包括经过训练的网络,其配置为在计算能力有限的移动设备上执行以实时产生所述着色头发图像作为视频图像。
62.根据权利要求60和61之一所述的方法,其中所述卷积神经网络包括适于产生所述头发分割掩膜的针对图像分类的预先训练的网络,当在解码器级中进行上采样时,所述预先训练的网络适于使用编码器级中的层与解码器级中的对应层之间的跳跃连接来将低分辨率但强的特征与高分辨率但弱的特征相结合。
63.根据权利要求62所述的方法,其中通过首先应用逐点卷积来处理来自所述编码器级的较低分辨率层,以使输出深度与所述解码器级的入向的较高分辨率层相容。
64.根据权利要求60至63中任一项所述的方法,其中使用粗略分割数据训练所述卷积神经网络,以最大限度地减少掩膜-图像梯度一致性损失。
66.根据权利要求64和65之一所述的方法,其中所述掩膜-图像梯度一致性损失LC以权重w与二元交叉熵损失LM相结合,以最大限度地减少训练时的总损失L,其中L定义为L=LM+wLC。
67.根据权利要求41至66中任一项所述的方法,其中所述卷积神经网络配置为使用包括深度卷积和逐点卷积的深度可分离卷积,以最大限度地减少处理操作,并使得所述卷积神经网络能够在具有有限计算能力的移动设备上执行。
68.一种处理图像的方法,包括:
经由处理单元接收所述图像;
经由所述处理单元定义标识所述图像中的头发像素的头发分割掩膜;
经由所述处理单元通过使用所述头发分割掩膜对所述图像中的头发像素应用新的头发颜色来定义着色头发图像;和
经由所述处理单元提供所述着色头发图像以输出到显示装置上;并且
其中所述头发分割掩膜是通过以下定义的:
使用由耦合至所述处理单元的存储单元存储的卷积神经网络(CNN)处理所述图像,以在相继的卷积(conv)层中应用多个卷积滤波器来检测相应的特征,并使用有噪声且粗略的分割数据来训练所述卷积神经网络,并且最大限度地减少掩膜-图像梯度一致性损失,以定义所述头发分割掩膜。
69.根据权利要求68所述方法,其中第一组相继的卷积层提供将所述图像从第一图像分辨率下采样到最小分辨率的输出,且第二组相继的卷积层将所述输出上采样回到所述第一图像分辨率,所述卷积神经网络使用所述第一组和所述第二组的相应卷积层之间的跳跃连接。
70.根据权利要求69所述的方法,其中所述卷积神经网络包括散布在所述第二组卷积层的初始层之前和所述第二组卷积层的相应后续层之前的上采样功能,以将输出上采样到所述第一图像分辨率。
71.根据权利要求70所述的方法,其中所述上采样功能使用相应的跳跃连接,每个相应的跳跃连接结合有:
第一激活图,所述第一激活图是相继的相邻卷积层的输出,作为所述第二组卷积层的下一个卷积层的输入;和
第二激活图,所述第二激活图是所述第一组卷积层中的前一个卷积层的输出,其中所述第二激活图具有比所述第一激活图大的图像分辨率。
72.根据权利要求71所述的方法,其中所述相应的跳跃连接中的每个跳跃连接被定义为将应用于所述第二激活图的1×1卷积滤波器的输出与应用于所述第一激活图的上采样功能的输出相加,以将所述第一激活图的分辨率提高到较大的图像分辨率。
73.根据权利要求68至72中任一项所述的方法,包括通过所述处理单元经由所述显示装置呈现图形用户界面(GUI),所述图形用户界面包括用于观看所述图像的第一部分和用于同时观看所述着色头发图像的第二部分。
74.根据权利要求73所述的方法,包括对所述着色头发图像中的所述新头发颜色应用光照条件处理,以显示不同的光照条件下的所述新头发颜色。
75.根据权利要求68至74中任一项所述的方法,其中所述新头发颜色是第一新头发颜色,并且所述着色头发图像是第一着色头发图像,并且其中所述方法包括:
由所述处理设备通过使用所述头发分割掩膜向所述图像中的头发像素应用第二新头发颜色并通过提供所述第二着色头发图像以输出到所述显示装置来定义和呈现第二着色头发图像。
76.根据权利要求75所述的方法,包括通过所述处理单元经由所述显示装置呈现两个新颜色的图形用户界面,所述两个新颜色的图形用户界面包括用于观看所述第一着色头发图像的第一新颜色部分和用于同时观看所述第二着色头发图像的第二新颜色部分。
77.根据权利要求68至76中任一项所述的方法,包括:
通过所述处理单元分析所述图像的颜色,包括所述图像中的头发像素的当前头发颜色;
确定一种或多种建议的新头发颜色;和
经由所述图形用户界面的交互部分呈现建议的新头发颜色,以选择所述新头发颜色来定义所述着色头发图像。
78.根据权利要求68至77中任一项所述的方法,其中所述处理单元包括用于执行所述卷积神经网络的图形处理单元(GPU),并且所述处理单元和存储单元是由计算设备提供的,所述计算设备包括智能手机和平板电脑之一。
79.根据权利要求68至78中任一项所述的方法,其中所述图像是视频的多个视频图像中的一个视频图像,并且其中所述方法包括通过所述处理单元处理所述多个视频图像以便改变头发颜色。
80.根据权利要求68至79中任一项所述的方法,其中所述卷积神经网络包括基于MobileNet的模型,所述模型适于对所述图像的像素进行分类,以确定所述像素中的每个像素是否为头发像素。
81.根据权利要求68至80中任一项所述的方法,其中所述卷积神经网络配置为包括卷积的深度可分离卷积神经网络,其中各个标准卷积被分解为深度卷积和逐点卷积,所述深度卷积限于向每个输入通道应用单个滤波器,而所述逐点卷积限于组合所述深度卷积的输出。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762576180P | 2017-10-24 | 2017-10-24 | |
US62/576180 | 2017-10-24 | ||
US201762597494P | 2017-12-12 | 2017-12-12 | |
US62/597494 | 2017-12-12 | ||
PCT/CA2018/051345 WO2019079895A1 (en) | 2017-10-24 | 2018-10-24 | SYSTEM AND METHOD FOR IMAGE PROCESSING THROUGH DEEP NEURAL NETWORKS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111448581A true CN111448581A (zh) | 2020-07-24 |
CN111448581B CN111448581B (zh) | 2023-12-05 |
Family
ID=66247744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880069485.6A Active CN111448581B (zh) | 2017-10-24 | 2018-10-24 | 使用深层神经网络进行图像处理的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11216988B2 (zh) |
EP (1) | EP3701488A4 (zh) |
JP (1) | JP6997309B2 (zh) |
KR (1) | KR102516001B1 (zh) |
CN (1) | CN111448581B (zh) |
BR (1) | BR112020008021A2 (zh) |
RU (1) | RU2743931C1 (zh) |
WO (1) | WO2019079895A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112233193A (zh) * | 2020-09-30 | 2021-01-15 | 上海恒能泰企业管理有限公司 | 一种基于多光谱图像处理的变电设备故障诊断方法 |
CN112529914A (zh) * | 2020-12-18 | 2021-03-19 | 北京中科深智科技有限公司 | 一种实时头发分割方法和系统 |
CN112802137A (zh) * | 2021-01-28 | 2021-05-14 | 四川大学 | 一种基于卷积自编码器的颜色恒常性方法 |
CN113158774A (zh) * | 2021-03-05 | 2021-07-23 | 北京华捷艾米科技有限公司 | 一种手部分割方法、装置、存储介质和设备 |
CN114022395A (zh) * | 2022-01-06 | 2022-02-08 | 广州卓腾科技有限公司 | 一种证件照头发颜色矫正方法、装置及介质 |
CN114355907A (zh) * | 2021-12-22 | 2022-04-15 | 东风汽车集团股份有限公司 | 一种基于云端的智能化垃圾识别和清扫方法、系统 |
CN116030201A (zh) * | 2023-03-28 | 2023-04-28 | 美众(天津)科技有限公司 | 多颜色发型演示图像的生成方法、装置、终端及存储介质 |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6333871B2 (ja) * | 2016-02-25 | 2018-05-30 | ファナック株式会社 | 入力画像から検出した対象物を表示する画像処理装置 |
WO2019079895A1 (en) * | 2017-10-24 | 2019-05-02 | Modiface Inc. | SYSTEM AND METHOD FOR IMAGE PROCESSING THROUGH DEEP NEURAL NETWORKS |
US11551059B1 (en) * | 2017-11-15 | 2023-01-10 | Snap Inc. | Modulated image segmentation |
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 |
WO2020051776A1 (en) * | 2018-09-11 | 2020-03-19 | Intel Corporation | Method and system of deep supervision object detection for reducing resource usage |
DE102018217090A1 (de) * | 2018-10-05 | 2020-04-09 | Robert Bosch Gmbh | Verfahren, künstliches neuronales Netz, Vorrichtung, Computerprogramm und maschinenlesbares Speichermedium zur semantischen Segmentierung von Bilddaten |
EP3671754A1 (en) * | 2018-12-18 | 2020-06-24 | Henkel AG & Co. KGaA | Method for determining a coloration product recommendation |
US11392659B2 (en) * | 2019-02-28 | 2022-07-19 | Adobe Inc. | Utilizing machine learning models to generate experience driven search results based on digital canvas gesture inputs |
US10866716B2 (en) | 2019-04-04 | 2020-12-15 | Wheesearch, Inc. | System and method for providing highly personalized information regarding products and services |
US11216917B2 (en) * | 2019-05-03 | 2022-01-04 | Amazon Technologies, Inc. | Video enhancement using a neural network |
KR102420039B1 (ko) * | 2019-05-16 | 2022-07-13 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
CN112116032A (zh) * | 2019-06-21 | 2020-12-22 | 富士通株式会社 | 物体检测装置及方法、终端设备 |
CN110263731B (zh) * | 2019-06-24 | 2021-03-16 | 电子科技大学 | 一种单步人脸检测系统 |
US10930011B2 (en) | 2019-07-02 | 2021-02-23 | Billups, Inc. | Digital image processing system for object location and facing |
US11191342B2 (en) * | 2019-07-18 | 2021-12-07 | L'oreal | Techniques for identifying skin color in images having uncontrolled lighting conditions |
US11468550B2 (en) | 2019-07-22 | 2022-10-11 | Adobe Inc. | Utilizing object attribute detection models to automatically select instances of detected objects in images |
US11580724B2 (en) | 2019-07-23 | 2023-02-14 | Toyota Research Institute, Inc. | Virtual teach and repeat mobile manipulation system |
JP2021047711A (ja) * | 2019-09-19 | 2021-03-25 | キオクシア株式会社 | 演算装置、演算方法、及び学習方法 |
CN112766028B (zh) * | 2019-11-06 | 2024-05-03 | 深圳云天励飞技术有限公司 | 人脸模糊处理方法、装置、电子设备及存储介质 |
CN110992374B (zh) * | 2019-11-28 | 2023-09-05 | 杭州小影创新科技股份有限公司 | 一种基于深度学习的头发精细化分割方法及系统 |
CN112884772B (zh) * | 2019-11-29 | 2024-03-19 | 北京四维图新科技股份有限公司 | 语义分割架构 |
TWI725665B (zh) * | 2019-12-13 | 2021-04-21 | 宏達國際電子股份有限公司 | 影像處理系統及影像處理方法 |
CN112967338B (zh) * | 2019-12-13 | 2024-05-31 | 宏达国际电子股份有限公司 | 影像处理系统及影像处理方法 |
US11468110B2 (en) | 2020-02-25 | 2022-10-11 | Adobe Inc. | Utilizing natural language processing and multiple object detection models to automatically select objects in images |
CN113450431B (zh) * | 2020-03-27 | 2023-07-07 | 北京达佳互联信息技术有限公司 | 虚拟头发染色方法、装置、电子设备及存储介质 |
CN113743602B (zh) * | 2020-05-27 | 2024-05-03 | 合肥君正科技有限公司 | 一种提高模型后处理速度的方法 |
US20210397945A1 (en) * | 2020-06-18 | 2021-12-23 | Nvidia Corporation | Deep hierarchical variational autoencoder |
WO2022066810A1 (en) * | 2020-09-23 | 2022-03-31 | Wayne State University | Systems and methods for predicting and preventing bleeding and other adverse events |
US20220114415A1 (en) * | 2020-10-04 | 2022-04-14 | Aizip, Inc. | Artificial neural network architectures for resource-constrained applications |
US12026833B2 (en) | 2020-10-08 | 2024-07-02 | Google Llc | Few-shot synthesis of talking heads |
KR102399460B1 (ko) * | 2020-10-15 | 2022-05-17 | 건국대학교 산학협력단 | 의미론적 분할 기반의 3차원 포인트 클라우드 분류 장치 및 방법 |
US11669943B2 (en) * | 2020-10-16 | 2023-06-06 | Microsoft Technology Licensing, Llc | Dual-stage system for computational photography, and technique for training same |
CN113516141B (zh) * | 2020-11-06 | 2024-03-01 | 阿里巴巴集团控股有限公司 | 深度度量模型的优化方法、设备及存储介质 |
CN112784869B (zh) * | 2020-11-13 | 2022-08-12 | 北京航空航天大学 | 一种基于注意力感知与对抗学习的细粒度图像识别方法 |
US20220164852A1 (en) * | 2020-11-20 | 2022-05-26 | The Procter & Gamble Company | Digital Imaging and Learning Systems and Methods for Analyzing Pixel Data of an Image of a Hair Region of a User's Head to Generate One or More User-Specific Recommendations |
CN112580646A (zh) * | 2020-12-08 | 2021-03-30 | 北京农业智能装备技术研究中心 | 番茄果实成熟度分割方法及采摘机器人 |
CN112651453B (zh) * | 2020-12-30 | 2023-10-13 | 北京百度网讯科技有限公司 | 损失函数的自适应方法、装置、设备和存储介质 |
US11587234B2 (en) * | 2021-01-15 | 2023-02-21 | Adobe Inc. | Generating class-agnostic object masks in digital images |
US11972569B2 (en) | 2021-01-26 | 2024-04-30 | Adobe Inc. | Segmenting objects in digital images utilizing a multi-object segmentation model framework |
CN113098840B (zh) * | 2021-02-25 | 2022-08-16 | 鹏城实验室 | 基于加法秘密分享技术的高效安全线性整流函数运算方法 |
CN113081025B (zh) * | 2021-03-10 | 2022-04-29 | 华中科技大学 | 一种基于肺音的新冠肺炎智能诊断系统和装置 |
US11763545B2 (en) * | 2021-03-26 | 2023-09-19 | Adobe Inc. | Generating confidence-adaptive pixel-level predictions utilizing a multi-exit pixel-level prediction neural network |
KR102591594B1 (ko) * | 2021-05-10 | 2023-10-19 | 네이버웹툰 유한회사 | 인공신경망을 이용한 채색 이미지 보정 방법 및 그 장치 |
CN113159301B (zh) * | 2021-05-25 | 2022-10-28 | 电子科技大学 | 一种基于二值化量化模型的图像处理方法 |
CN113538258B (zh) * | 2021-06-15 | 2023-10-13 | 福州大学 | 基于掩码的图像去模糊模型及方法 |
CN113378763B (zh) * | 2021-06-25 | 2022-11-22 | 长沙理工大学 | 一种面向sar图像的目标自动检测方法及系统 |
CN113706647B (zh) * | 2021-07-30 | 2024-02-13 | 浪潮电子信息产业股份有限公司 | 一种图像上色方法及相关装置 |
CN113762349B (zh) * | 2021-08-11 | 2024-03-29 | 同济大学 | 一种面向海洋生物的轻量化混叠稠密网络分类方法和系统 |
CN113763283B (zh) * | 2021-09-19 | 2023-11-14 | 深圳市爱协生科技股份有限公司 | 图像是否去雾的检测方法、装置和智能设备 |
CN113989206A (zh) * | 2021-10-20 | 2022-01-28 | 杭州深睿博联科技有限公司 | 一种基于轻量化模型的骨龄预测方法及装置 |
US20230185839A1 (en) * | 2021-12-15 | 2023-06-15 | Insurance Services Office, Inc. | Computer Vision Systems and Methods for Segmenting and Classifying Building Components, Contents, Materials, and Attributes |
CN114419000B (zh) * | 2022-01-20 | 2022-09-23 | 哈尔滨工业大学 | 基于多尺度几何嵌入卷积神经网络的股骨头坏死指标预测系统 |
US20230260127A1 (en) * | 2022-02-14 | 2023-08-17 | Snap Inc. | Interactively defining an object segmentation |
CN114723760B (zh) * | 2022-05-19 | 2022-08-23 | 北京世纪好未来教育科技有限公司 | 人像分割模型的训练方法、装置及人像分割方法、装置 |
CN116524322B (zh) * | 2023-04-10 | 2024-07-12 | 北京盛安同力科技开发有限公司 | 基于深度神经网络的sar图像识别方法 |
CN116993737B (zh) * | 2023-09-27 | 2024-03-29 | 西南科技大学 | 一种基于卷积神经网络的轻量型裂缝分割方法 |
CN118172561A (zh) * | 2024-05-16 | 2024-06-11 | 山东巍然智能科技有限公司 | 一种无人机场景用复杂图像分割模型及分割方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016071868A (ja) * | 2014-09-29 | 2016-05-09 | パナソニックIpマネジメント株式会社 | 毛領域検出装置及び毛領域検出方法 |
US20160180195A1 (en) * | 2013-09-06 | 2016-06-23 | Toyota Jidosha Kabushiki Kaisha | Augmenting Layer-Based Object Detection With Deep Convolutional Neural Networks |
CN105844706A (zh) * | 2016-04-19 | 2016-08-10 | 浙江大学 | 一种基于单幅图像的全自动三维头发建模方法 |
CN106203331A (zh) * | 2016-07-08 | 2016-12-07 | 苏州平江历史街区保护整治有限责任公司 | 一种基于卷积神经网络的人群密度估算方法 |
CN106780512A (zh) * | 2016-11-30 | 2017-05-31 | 厦门美图之家科技有限公司 | 分割图像的方法、应用及计算设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6080417B2 (ja) * | 2011-08-19 | 2017-02-15 | キヤノン株式会社 | 画像処理装置、及び画像処理方法 |
US9275308B2 (en) * | 2013-05-31 | 2016-03-01 | Google Inc. | Object detection using deep neural networks |
US8965112B1 (en) * | 2013-12-09 | 2015-02-24 | Google Inc. | Sequence transcription with deep neural networks |
CN104966093A (zh) * | 2015-05-25 | 2015-10-07 | 苏州珂锐铁电气科技有限公司 | 一种基于深度神经网络的动态纹理识别方法 |
US9773196B2 (en) * | 2016-01-25 | 2017-09-26 | Adobe Systems Incorporated | Utilizing deep learning for automatic digital image segmentation and stylization |
US9972092B2 (en) * | 2016-03-31 | 2018-05-15 | Adobe Systems Incorporated | Utilizing deep learning for boundary-aware image segmentation |
US10395138B2 (en) * | 2016-11-11 | 2019-08-27 | Microsoft Technology Licensing, Llc | Image segmentation using user input speed |
US10867416B2 (en) * | 2017-03-10 | 2020-12-15 | Adobe Inc. | Harmonizing composite images using deep learning |
US10402689B1 (en) * | 2017-04-04 | 2019-09-03 | Snap Inc. | Generating an image mask using machine learning |
WO2019079895A1 (en) * | 2017-10-24 | 2019-05-02 | Modiface Inc. | SYSTEM AND METHOD FOR IMAGE PROCESSING THROUGH DEEP NEURAL NETWORKS |
-
2018
- 2018-10-24 WO PCT/CA2018/051345 patent/WO2019079895A1/en active Application Filing
- 2018-10-24 BR BR112020008021-7A patent/BR112020008021A2/pt unknown
- 2018-10-24 RU RU2020114186A patent/RU2743931C1/ru active
- 2018-10-24 KR KR1020207012540A patent/KR102516001B1/ko active IP Right Grant
- 2018-10-24 US US16/753,214 patent/US11216988B2/en active Active
- 2018-10-24 CN CN201880069485.6A patent/CN111448581B/zh active Active
- 2018-10-24 EP EP18870878.8A patent/EP3701488A4/en active Pending
- 2018-10-24 JP JP2020522862A patent/JP6997309B2/ja active Active
-
2021
- 2021-12-30 US US17/565,581 patent/US11861497B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160180195A1 (en) * | 2013-09-06 | 2016-06-23 | Toyota Jidosha Kabushiki Kaisha | Augmenting Layer-Based Object Detection With Deep Convolutional Neural Networks |
JP2016071868A (ja) * | 2014-09-29 | 2016-05-09 | パナソニックIpマネジメント株式会社 | 毛領域検出装置及び毛領域検出方法 |
CN105844706A (zh) * | 2016-04-19 | 2016-08-10 | 浙江大学 | 一种基于单幅图像的全自动三维头发建模方法 |
CN106203331A (zh) * | 2016-07-08 | 2016-12-07 | 苏州平江历史街区保护整治有限责任公司 | 一种基于卷积神经网络的人群密度估算方法 |
CN106780512A (zh) * | 2016-11-30 | 2017-05-31 | 厦门美图之家科技有限公司 | 分割图像的方法、应用及计算设备 |
Non-Patent Citations (2)
Title |
---|
ANDREW G. HOWARD, 等: "MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications" * |
SIYANG QIN, 等: "Automatic skin and hair masking using fully convolutional networks" * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112233193A (zh) * | 2020-09-30 | 2021-01-15 | 上海恒能泰企业管理有限公司 | 一种基于多光谱图像处理的变电设备故障诊断方法 |
CN112529914A (zh) * | 2020-12-18 | 2021-03-19 | 北京中科深智科技有限公司 | 一种实时头发分割方法和系统 |
CN112529914B (zh) * | 2020-12-18 | 2021-08-13 | 北京中科深智科技有限公司 | 一种实时头发分割方法和系统 |
CN112802137A (zh) * | 2021-01-28 | 2021-05-14 | 四川大学 | 一种基于卷积自编码器的颜色恒常性方法 |
CN112802137B (zh) * | 2021-01-28 | 2022-06-21 | 四川大学 | 一种基于卷积自编码器的颜色恒常性方法 |
CN113158774A (zh) * | 2021-03-05 | 2021-07-23 | 北京华捷艾米科技有限公司 | 一种手部分割方法、装置、存储介质和设备 |
CN113158774B (zh) * | 2021-03-05 | 2023-12-29 | 北京华捷艾米科技有限公司 | 一种手部分割方法、装置、存储介质和设备 |
CN114355907A (zh) * | 2021-12-22 | 2022-04-15 | 东风汽车集团股份有限公司 | 一种基于云端的智能化垃圾识别和清扫方法、系统 |
CN114355907B (zh) * | 2021-12-22 | 2024-01-19 | 东风汽车集团股份有限公司 | 一种基于云端的智能化垃圾识别和清扫方法、系统 |
CN114022395A (zh) * | 2022-01-06 | 2022-02-08 | 广州卓腾科技有限公司 | 一种证件照头发颜色矫正方法、装置及介质 |
CN114022395B (zh) * | 2022-01-06 | 2022-04-12 | 广州卓腾科技有限公司 | 一种证件照头发颜色矫正方法、装置及介质 |
CN116030201A (zh) * | 2023-03-28 | 2023-04-28 | 美众(天津)科技有限公司 | 多颜色发型演示图像的生成方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
RU2743931C1 (ru) | 2021-03-01 |
BR112020008021A2 (pt) | 2020-10-27 |
KR20200057770A (ko) | 2020-05-26 |
WO2019079895A1 (en) | 2019-05-02 |
US20220122299A1 (en) | 2022-04-21 |
EP3701488A1 (en) | 2020-09-02 |
US11861497B2 (en) | 2024-01-02 |
CN111448581B (zh) | 2023-12-05 |
JP6997309B2 (ja) | 2022-01-17 |
US11216988B2 (en) | 2022-01-04 |
KR102516001B1 (ko) | 2023-03-29 |
US20200320748A1 (en) | 2020-10-08 |
EP3701488A4 (en) | 2021-08-04 |
JP2021502627A (ja) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111448581B (zh) | 使用深层神经网络进行图像处理的系统和方法 | |
US9349076B1 (en) | Template-based target object detection in an image | |
Yang et al. | Benchmarking commercial emotion detection systems using realistic distortions of facial image datasets | |
WO2020078119A1 (zh) | 模拟用户穿戴服装饰品的方法、装置和系统 | |
CN111738243B (zh) | 人脸图像的选择方法、装置、设备及存储介质 | |
WO2023070447A1 (zh) | 模型训练方法、图像处理方法、计算处理设备及非瞬态计算机可读介质 | |
US9575566B2 (en) | Technologies for robust two-dimensional gesture recognition | |
CN110363084A (zh) | 一种上课状态检测方法、装置、存储介质及电子 | |
CN110827236B (zh) | 基于神经网络的脑组织分层方法、装置、计算机设备 | |
Richter et al. | (Input) size matters for CNN classifiers | |
US11715182B2 (en) | Intelligence-based editing and curating of images | |
Marjusalinah et al. | Classification of finger spelling American sign language using convolutional neural network | |
US20220108445A1 (en) | Systems and methods for acne counting, localization and visualization | |
CN113705511A (zh) | 手势识别方法及装置 | |
Nguyen et al. | Vietnamese sign language reader using Intel Creative Senz3D | |
RU2764705C1 (ru) | Извлечение нескольких документов из единого изображения | |
Gopinath et al. | Analyze of facial expression and hand gestures using deep learning | |
Huang | Decoding Emotions: Intelligent visual perception for movie image classification using sustainable AI in entertainment computing | |
Kudubayeva et al. | Parametrc Representation of Kazakh Gestural Speech | |
Czyzewski et al. | Intelligent video and audio applications for learning enhancement | |
Velusamy et al. | A Light-Weight Human Eye Fixation Solution for Smartphone Applications | |
Khurshid et al. | An Automatic Contrast Validation Approach for Smartphone Themes | |
Leung et al. | An efficient automatic palm reading algorithm and its mobile applications development | |
Rathod | Currency Recognition App for Visually Impaired Users in India | |
Wang et al. | MVT-CEAM: a lightweight MobileViT with channel expansion and attention mechanism for facial expression recognition |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |