CN111540021A - 毛发数据的处理方法、装置和电子设备 - Google Patents

毛发数据的处理方法、装置和电子设备 Download PDF

Info

Publication number
CN111540021A
CN111540021A CN202010360945.XA CN202010360945A CN111540021A CN 111540021 A CN111540021 A CN 111540021A CN 202010360945 A CN202010360945 A CN 202010360945A CN 111540021 A CN111540021 A CN 111540021A
Authority
CN
China
Prior art keywords
sub
image area
image
gradient direction
processed
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
Application number
CN202010360945.XA
Other languages
English (en)
Other versions
CN111540021B (zh
Inventor
宋新慧
郑彦波
袁燚
范长杰
胡志鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010360945.XA priority Critical patent/CN111540021B/zh
Publication of CN111540021A publication Critical patent/CN111540021A/zh
Application granted granted Critical
Publication of CN111540021B publication Critical patent/CN111540021B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • G06T7/41Analysis of texture based on statistical description of texture
    • G06T7/44Analysis of texture based on statistical description of texture using image operators, e.g. filters, edge density metrics or local histograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供了一种毛发数据的处理方法、装置和电子设备;其中,该方法包括:根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,如果不正确,计算并更新待处理的子图像区域的梯度方向;通过比较待处理的子图像区域的梯度方向,与待处理的子图像区域的周围子图像区域的梯度方向之间的方向变化,可以知道待处理的子图像区域的梯度方向是否合理准确,从而将毛发图像中,梯度方向错误的图像区域识别出来,进而对这些图像区域的梯度方向进行计算并更新,该方式可以提高对毛发图像的毛发方向估计的准确性,进而有利于后续3D毛发重建的准确性,从整体上提升3D毛发重建的效果。

Description

毛发数据的处理方法、装置和电子设备
技术领域
本发明涉及图像处理技术领域,尤其是涉及一种毛发数据的处理方法、装置和电子设备。
背景技术
相关技术中,可以基于Gabor小波估计2D(2-Dimension,二维)毛发图像中的毛发方向;首先需要构建一组Gabor滤波器,然后基于该Gabor滤波器,对2D毛发图像中的每个像素进行处理,最终得到各个像素位置上的毛发方向。但是,由于毛发的形态是非常细粒度的,毛发的造型、光照、毛发图像的分辨率等,易导致图像清晰度降低,会对毛发方向的估计产生影响,导致发毛方向估计错误。
发明内容
有鉴于此,本发明的目的在于提供一种毛发数据的处理方法、装置和电子设备,以提高对毛发图像的毛发方向估计的准确性,进而有利于后续3D毛发重建的准确性,从整体上提升3D毛发重建的效果。
第一方面,本发明实施例提供了一种毛发数据的处理方法,方法包括:将待处理的毛发图像划分为多个子图像区域;获取子图像区域的梯度方向;对子图像区域执行下述处理:根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,如果不正确,计算并更新待处理的子图像区域的梯度方向,其中,周围子图像区域为与待处理的子图像区域满足指定位置关系的子图像区域;根据子图像区域的梯度方向,确定毛发图像的毛发方向。
进一步地,上述指定位置关系包括:待处理的子图像区域与周围子图像区域之间的距离小于或等于第一距离。
进一步地,上述如果不正确,计算并更新待处理的子图像区域的梯度方向,包括:如果不正确,根据周围子图像区域的梯度方向计算并更新待处理的子图像区域的梯度方向。
进一步地,上述如果不正确,根据周围子图像区域的梯度方向计算并更新待处理的子图像区域的梯度方向,包括:如果不正确,剔除待处理的子图像区域的梯度方向;根据周围子图像区域的梯度方向计算并更新待处理的子图像区域的梯度方向。
进一步地,上述待处理的子图像区域的周围子图像区域包括多个;上述根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,包括:如果待处理的子图像区域的梯度方向与多个周围子图像区域中的任意一个周围子图像区域的梯度方向之间的方向变化,均不满足毛发走向规律,则确定待处理的子图像区域的梯度方向不正确。
进一步地,上述待处理的子图像区域的周围子图像区域包括多个;根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,包括:根据待处理的子图像区域的梯度方向,从多个周围子图像区域中确定备选图像区域;其中,以待处理的子图像区域的区域中心为起点,以备选图像区域的区域中心为终点形成的有向线段,与待处理的子图像区域的梯度方向对应的有向线段形成夹角,夹角的角度小于或等于预设角度阈值;根据备选图像区域的梯度方向与待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确。
进一步地,上述根据备选图像区域的梯度方向与待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,包括:如果存在至少一个备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,小于或等于预设方向距离阈值,确定待处理的子图像区域的梯度方向正确。
进一步地,上述根据备选图像区域的梯度方向与待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,包括:如果备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,均大于预设方向距离阈值,以待处理的子图像区域的区域中心为对称中心,确定备选图像区域的对称图像区域;根据对称图像区域的梯度方向与所述待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确。
进一步地,上述备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,通过下述方式得到:D(θ12)=min(|θ12|,|θ12±π|);其中,D代表方向距离;θ1为备选图像区域的梯度方向;θ2为待处理的子图像区域的梯度方向;min代表取最小值。
进一步地,上述根据对称图像区域的梯度方向与所述待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,包括:如果存在至少一个对称图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,小于或等于预设距离阈值,确定待处理的子图像区域的梯度方向正确;否则,确定待处理的子图像区域的梯度方向不正确。
进一步地,上述计算并更新待处理的子图像区域的梯度方向,包括:根据待处理的子图像区域的邻接图像区域的梯度方向,计算并更新待处理的子图像区域的梯度方向;其中,邻接图像区域与待处理的子图像区域的距离小于或等于第二距离。
进一步地,上述待处理的子图像区域的邻接图像区域包括多个;根据待处理的子图像区域的邻接图像区域的梯度方向,计算并更新待处理的子图像区域的梯度方向,包括:针对每个邻接图像区域,根据该邻接图像区域与待处理的子图像区域的距离,确定该邻接图像区域对应的第一权重值;根据每个邻接图像区域对应的第一权重值,计算多个邻接图像区域的梯度方向的第一加权平均值,将第一加权平均值确定为待处理的子图像区域的梯度方向。
进一步地,上述根据该邻接图像区域与待处理的子图像区域的距离,确定该邻接图像区域对应的第一权重值,包括:该邻接图像区域对应的第一权重值
Figure BDA0002473875820000041
其中,Kd为该邻接图像区域对应的第一权重值;arccot代表反余切滤波器;d代表该邻接图像区域与待处理的子图像区域的距离。
进一步地,上述根据子图像区域的梯度方向,确定毛发图像的毛发方向,包括:将每个子图像区域的梯度方向,确定为该子图像区域内各个像素的梯度方向;将毛发图像中各个像素的梯度方向进行平滑处理,得到毛发图像的毛发方向;其中,毛发图像的毛发方向包括:各个像素对应的梯度方向。
进一步地,上述将毛发图像中各个像素的梯度方向进行平滑处理,包括:逐一将每个像素确定为当前像素,并执行下述操作:确定当前像素的邻接像素;其中,邻接像素与当前像素相距第三距离;针对每个邻接像素,根据该邻接像素与当前像素的距离,确定该邻接像素对应的第二权重值;根据每个邻接像素对应的第二权重值,计算多个邻接像素的梯度方向的第二加权平均值,将第二加权平均值确定为当前像素的梯度方向。
进一步地,上述将待处理的毛发图像划分为多个子图像区域,包括:从包含有毛发的初始图像中提取毛发图像;基于预设的区域尺度,将毛发图像划分为多个子图像区域。
进一步地,上述获取子图像区域的梯度方向,包括:针对每个子图像区域,统计该子图像区域的梯度方向参数;梯度方向参数包括:该子图像区域在预设的多个梯度方向上的置信度;将最大的置信度对应的梯度方向,确定为该子图像区域的梯度方向。
进一步地,上述确定毛发图像的毛发方向之后,方法还包括:针对毛发图像中的每个像素,根据该像素的梯度方向,确定该像素的显示参数;根据每个像素的显示参数,显示毛发图像的毛发方向。
进一步地,上述根据该像素的梯度方向,确定该像素的显示参数,包括:该像素在B通道的像素值
Figure BDA0002473875820000051
该像素在G通道的像素值g=sinθ3;该像素在R通道的像素值r=1;其中,θ3为该像素的梯度方向。
第二方面,本发明实施例提供了一种毛发数据的处理装置,装置包括:划分模块,用于将待处理的毛发图像划分为多个子图像区域;获取模块,用于获取子图像区域的梯度方向;操作模块,用于对子图像区域执行下述处理:根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,如果不正确,计算并更新待处理的子图像区域的梯度方向,其中,周围子图像区域为与待处理的子图像区域满足指定位置关系的子图像区域;方向确定模块,用于根据子图像区域的梯度方向,确定毛发图像的毛发方向。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述毛发数据的处理方法。
第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述毛发数据的处理方法。
本发明实施例带来了以下有益效果:
上述毛发数据的处理方法、装置和电子设备,根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,如果不正确,计算并更新待处理的子图像区域的梯度方向;通过比较待处理的子图像区域的梯度方向,与待处理的子图像区域的周围子图像区域的梯度方向之间的方向变化,可以知道待处理的子图像区域的梯度方向是否合理准确,从而将毛发图像中,梯度方向错误的图像区域识别出来,进而对这些图像区域的梯度方向进行计算并更新,该方式可以提高对毛发图像的毛发方向估计的准确性,进而有利于后续3D毛发重建的准确性,从整体上提升3D毛发重建的效果。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种毛发数据的处理方法的流程图;
图2为本发明实施例提供的毛发图像中待处理的子图像区域与周围子图像区域的示意图;
图3为本发明实施例提供的另一种毛发数据的处理方法中,方向变化规则的示意图;
图4为本发明实施例提供的另一种毛发数据的处理方法的流程图;
图5为本发明实施例提供的毛发图像中备选图像区域的示意图;
图6为本发明实施例提供的一种毛发数据的处理装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
3D(3-Dimension,三维)人体模型制作在虚拟现实类应用中具有重要的作用。3D人体模型包括人的脸部形状、表情、人体形状和头发风格等方面。其中,头发对于3D人体模型的表现具有重要的影响。3D头发重建也是计算机视觉领域一个重要的课题。根据数据表达形式的不同,3D头发重建可以划分为条带状头发模型重建和发丝状头发模型重建。无论哪种3D头发重建方法都是基于单张或多张2D头发图像实现的。
3D头发重建的步骤大致描述如下:基于单张或多张2D头发图像,得到2D头发方向图;然后,基于该2D头发方向图,以及预先训练得到的网络模型,生成3D头发重建结果。然而,在训练该网络模型的过程中,需要大量的2D头发方向图,常用的方式是,通过软件Maya构建大量的3D头发模型,该3D头发模型的每根发丝上的点都可以得到该点的头发方向,头发方向投影到平面,得到2D头发方向图。总之,2D头发方向图是2D头发图像与3D头发模型之间的桥梁,是3D头发重建过程中不可或缺的角色。
基于此,对真实的2D头发图像进行2D方向估计就成为3D头发重建过程中的一个重要步骤。然而,由于头发本身形态是一种非常细粒度的存在,头发的造型、光学特性及图像分辨率等都会对头发的2D方向估计有重要的影响。目前头发的2D方向估计的方法,大多是基于Gabor小波实现,通过一组Gabor核方向滤波器与2D头发图像进行卷积,得到头发局部方向。
该方法的步骤包括:
步骤11,构建一组Gabor滤波器
Figure BDA0002473875820000081
步骤12,对于图像I,将图像I中的每一个像素(x,y)都与上述Gabor滤波器相乘,得到该像素对应的响应值F(x,y,θ)=(Kθ*I)(x,y);其中,该响应值可以是一个一维矩阵,该矩阵中的每个元素,代表该像素的方向属于某个特定方向的概率。
步骤13,将上述响应值中各个元素的最大值,作为该像素的方向
Figure BDA0002473875820000082
步骤14,计算每一个像素的方向置信度
Figure BDA0002473875820000083
Figure BDA0002473875820000084
其中
Figure BDA0002473875820000085
步骤15,将每个像素的方向置信度作为输入,重复执行步骤2-4,迭代一次或多次,得到图像I最终的2D头发方向图。
上述基于Gabor滤波器的头发方向估计方法,存在下述缺陷:受到2D头发图像的图像分辨率以及光照等的影响,真实的2D头发图像并不能每根发丝都可以看得清楚,导致2D头发方向估计错误,2D头发方向估计的准确性较低。基于此,本发明实施例提供的一种毛发数据的处理方法、装置和电子设备;该技术不仅可以应用于人体头发方向的估计,还可以应用于人体其他部位毛发的估计,以及其他动物、植物和无生命物体上的毛发状、纤维状不问的方向估计。
首先,本实施例提供一种毛发数据的处理方法,如图1所示,该方法包括如下步骤:
步骤S102,将待处理的毛发图像划分为多个子图像区域;
步骤S104,获取子图像区域的梯度方向;
其中,毛发图像中包含有毛发,该毛发图像可以为摄像装置采集的初始图像,也可以从包含有毛发的初始图像中提取毛发图像。在提取毛发图像的过程中,可以通过图像识别、图像分割等方式,从初始图像中抠取得到毛发图像。作为示例,当毛发图像中包含的是人体头发时,可以采用预先训练完成的人脸属性分割模型,该模型可以将初始图像中的头发、脸、耳朵、眼睛、眉毛等部位分割出来,得到各个部位对应的蒙版图像,进而基于头发的蒙版图像,从初始图像中扣取毛发图像。
上述毛发图像中的多个子图像区域,可以由毛发图像划分得到;具体地,可以基于预设的区域尺度,将毛发图像划分为多个子图像区域,多个子图像区域的区域尺度通常相同,当然也可以不同。该区域尺度可以设置为多种,例如,可以为1像素*1像素,8像素*8像素,或者16像素*16像素,也可以为其他尺度;多个子图像区域之间,可以不重合,也可以重合;当多个子图像区域之间不重合时,多个子图像区域可以拼接组成上述毛发图像。
上述每个子图像区域的梯度方向,具体可以采用一阶微分处理子图像区域,一阶分为处理一般对灰度阶梯具有较强的响应。具体而言,可以通过一阶微分处理子图像区域中的每个像素,得到该像素的梯度方向。进而对子图像区域中的每个像素的梯度方向进行统计,得到子图像区域的梯度方向。在一种具体的实现方式中,可以针对每个子图像区域,统计该子图像区域的梯度方向参数;该梯度方向参数包括:该子图像区域在预设的多个梯度方向上的置信度;将最大的置信度对应的梯度方向,确定为该子图像区域的梯度方向。其中的梯度方向参数,也可以采用梯度直方图的形式,该梯度直方图中包括多个预设的方向,以及该子图像区域在每个方向上的置信度。例如,梯度直方图中可以包含28个方向,因此,就可以统计这28个方向上,子图像区域的置信度。然后,从这28个方向的置信度中,选择最大值的置信度,该最大值的置信度对应的梯度方向,即可确定为该子图像区域的梯度方向。
步骤S106,对子图像区域执行下述处理:根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,如果不正确,计算并更新待处理的子图像区域的梯度方向,其中,周围子图像区域为与待处理的子图像区域满足指定位置关系的子图像区域;
需要说明的是,毛发图像划分为多个子图像区域,可以针对每个子图像区域,并行执行上述步骤S104,也可以按照一定的顺序,逐一执行上述步骤S104。
其中,待处理的子图像区域的周围子图像区域,可以为与所述待处理的子图像区域满足指定位置关系的所述子图像区域,例如,如图2所示,该待处理的子图像区域的周围子图像区域包括八个图像区域,分别位于待处理的子图像区域的上面、下面、左面、右面、左上、左下、右上、右下。在其他实现方式中,待处理的子图像区域的周围子图像区域还可以不与待处理的子图像区域相邻,例如,可以与待处理的子图像区域间隔一个或多个区域,此时,待处理的子图像区域的周围子图像区域的数量可能更多。在实际实现时,上述指定位置关系包括:待处理的子图像区域与周围子图像区域之间的距离小于或等于第一距离。该第一距离可以以区域中心为基准计算;如果某个子图像区域的区域中心,与待处理的子图像区域的区域中心的距离小于或等于第一距离,则该子图像区域就是待处理的子图像区域的周围子图像区域。另外,还可以与待处理的子图像区域的边缘为基准计算,如果某个子图像区域的边缘,与待处理的子图像区域的边缘的最短距离小于或等于第一距离,则该图像区域就是待处理的子图像区域的周围子图像区域。
如上所述,每个图像区域具有一个梯度方向;待处理的子图像区域的梯度方向,与待处理的子图像区域的周围子图像区域的梯度方向,可能相同,也可能不同。对于一个周围子图像区域而言,如果该周围子图像区域与待处理的子图像区域的梯度方向相同,则可能说明这两个区域的毛发方向相同,毛发在这两个区域的走向是直线;而如果该周围子图像区域与待处理的子图像区域的梯度方向不同,则可能说明这两个区域的毛发方向发生了变化,毛发在这两个区域的走向是曲线。
但是,受到毛发自身属性的影响,毛发在面积较小的区域内的方向变化通常不会非常剧烈,例如,如果一根毛发穿过待处理的子图像区域,以及该待处理的子图像区域的周围子图像区域,则该毛发穿过的待处理的子图像区域和周围子图像区域的梯度方向变化会非常缓慢,通常会形成一个较大的钝角,一般不会形成一个直角或锐角。基于这种毛发走向规律,上述方向变化规则,可以理解为,待处理的子图像区域的梯度方向对应的第一有向线段,与至少一个周围子图像区域的梯度方向对应的第二有向线段,经首尾连接后形成大于预设第一角度阈值的钝角;且,待处理的子图像区域的梯度方向与至少一个周围子图像区域的梯度方向的方向差值,小于或等于预设方向阈值。
如果待处理的子图像区域的梯度方向,与待处理的子图像区域的周围子图像区域的梯度方向之间的方向变化满足预设的方向变化规则,说明待处理的子图像区域与周围子图像区域的梯度方向具有连通关系;在实际实现时,待处理的子图像区域的梯度方向与一个周围子图像区域的梯度方向具有连通关系,则说明该待处理的子图像区域的梯度方向是合理的,准确的。当待处理的子图像区域的周围子图像区域包括多个时,如果待处理的子图像区域的梯度方向与多个周围子图像区域中的任意一个周围子图像区域的梯度方向之间的方向变化,均不满足毛发走向规律,则确定待处理的子图像区域的梯度方向不正确。
为了便于理解,图3作为示例,九个图像区域中,位于中心位置是的待处理的子图像区域,待处理的子图像区域的梯度方向形成的有向线段,与右上角的子图像区域的梯度方向形成的有向线段首位相连后,会形成一个很大的钝角,同时待处理的子图像区域的梯度方向与右上角的子图像区域的梯度方向的方向差值很小,这样形成的毛发走向符合毛发的自然走向规律。但是,待处理的子图像区域的梯度方向形成的有向线段,与左侧的子图像区域的梯度方向形成的有向线段首位相连后,也会形成一个很大的钝角,但是二者的梯度方向的方向差值很大,这样形成的毛发走向会在很小的区域范围内产生明显的折弯,不符合毛发的自然走向规律。
即,如果待处理的子图像区域的梯度方向与所有的周围子图像区域的梯度方向均不具有连通关系,说明待处理的子图像区域的毛发走向与所有的周围子图像区域的毛发走向差异较大,进而说明待处理的子图像区域的毛发,与所有的周围子图像区域的毛发均不属于同一根;但由于子图像区域的区域面积通常较小,在较小的子图像区域内出现一根单独的毛发的概率极小,因而,大概率地说明待处理的子图像区域的梯度方向发生了错误,此时,为了避免后续3D毛发重建时发生错误,则需要计算并更新待处理的子图像区域的梯度方向,使待处理的子图像区域的梯度方向与周围子图像区域的梯度方向的方向变化满足方向变化规则。
步骤S108,根据子图像区域的梯度方向,确定所述毛发图像的毛发方向。
在实际实现时,可以直接将每个子图像区域的梯度方向,确定为毛发图像的毛发方向。该毛发图像的毛发方向,包括该毛发图像中各个子图像区域的毛发方向,子图像区域的毛发方向,即梯度方向。如果子图像区域的区域面积较大,毛发图像的毛发方向会出现栅格化现象,即一个子图像区域中各个像素点的毛发方向相同,这就与毛发在自然状态下的走向规律不符,导致后期基于该毛发方向生成的3D毛发重建模型时,毛发的3D效果也不自然。基于此,可以对每个子图像区域的梯度方向进行滤波处理,使各个子图像区域的梯度方向平滑过度,也可以使后续毛发的3D效果更加自然。
上述毛发数据的处理方法中,根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,如果不正确,计算并更新待处理的子图像区域的梯度方向;通过比较待处理的子图像区域的梯度方向,与待处理的子图像区域的周围子图像区域的梯度方向之间的方向变化,可以知道待处理的子图像区域的梯度方向是否合理准确,从而将毛发图像中,梯度方向错误的图像区域识别出来,进而对这些图像区域的梯度方向进行计算并更新,该方式可以提高对毛发图像的毛发方向估计的准确性,进而有利于后续3D毛发重建的准确性,从整体上提升3D毛发重建的效果。
本实施例还提供另一种毛发数据的处理方法,本实施例重点描述根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,如果不正确,计算并更新待处理的子图像区域的梯度方向的具体实现方式。
首先,如果待处理的子图像区域的梯度方向与周围子图像区域的梯度方向之间的方向变化,均不满足毛发走向规律,则确定待处理的子图像区域的梯度方向不正确。这里的毛发走向规律可以参考上述实施例所述,在此不再赘述。在大多情况下,由于图像区域的面积较小,一根毛发通常会经过多个子图像区域,基于此,经过待处理的子图像区域的毛发,通常也会经过该待处理的子图像区域的至少一个周围子图像区域,当然也可能是两个或多个等。即待处理的子图像区域的梯度方向需要与至少一个周围子图像区域的梯度方向之间的方向变化满足方向变化规则;如果待处理的子图像区域的梯度方向与该待处理的子图像区域所有的周围子图像区域的梯度方向之间的方向变化均不满足方向变化规则,则该待处理的子图像区域的梯度方向发生了错误,该待处理的子图像区域的梯度方向需要计算并更新。
另外,待处理的子图像区域的周围子图像区域可以包括多个;在大多情况下,待处理的子图像区域的周围子图像区域包括多个,但是对于处在毛发图像边缘的待处理的子图像区域,待处理的子图像区域的周围子图像区域可能仅有一个。本实施例以待处理的子图像区域的周围子图像区域包括多个为例进行说明。
参见图4所示,本实施例的毛发数据的处理方法包括如下步骤:
步骤S402,获取待处理的毛发图像中的多个子图像区域,以及每个子图像区域的梯度方向;
步骤S404,根据待处理的子图像区域的梯度方向,从多个周围子图像区域中确定备选图像区域;其中,以待处理的子图像区域的区域中心为起点,以备选图像区域的区域中心为终点形成的有向线段,与待处理的子图像区域的梯度方向对应的有向线段形成夹角,夹角的角度小于或等于预设角度阈值;
确定备选图像区域的过程也可以理解为,从周围子图像区域中确定经过待处理的子图像区域的毛发,同时可能经过的周围子图像区域。为了便于理解,图5给出了一个示例。假设待处理的子图像区域的梯度方向是向上的,该梯度方向代表了经过待处理的子图像区域的毛发的方向,即待处理的子图像区域的毛发的方向是向上的;待处理的子图像区域的周围子图像区域为八个,在这八个周围子图像区域中,经过待处理的子图像区域的毛发,通常仅可能还会经过上面三个以点状阴影标识的周围子图像区域,以及下面三个以横线阴影标识的周围子图像区域。通常不可能经过待处理的子图像区域的左侧的周围子图像区域和右侧的周围子图像区域。原因是,如果一根毛发在待处理的子图像区域的方向向上,同时还经过了左侧的周围子图像区域,此时这跟毛发需要很大幅度的弯折,这在较小面积的图像区域内几乎不可能发生。
上述步骤中的预设角度阈值可以预先设置,继续参考图5,以预设角度阈值为π/4为例,即45度;当待处理的子图像区域的梯度方向是向上时,只有以点状阴影标识的周围子图像区域,满足下述条件:以待处理的子图像区域的区域中心为起点,以备选图像区域的区域中心为终点形成的有向线段,与待处理的子图像区域的梯度方向对应的有向线段形成夹角,夹角的角度小于或等于预设角度阈值。其中,左上的周围子图像区域的区域中心与待处理的子图像区域的区域中心,形成的有向线段,与待处理的子图像区域的梯度方向对应的有向线段形成的夹角的角度为π/4,同理,上面的周围子图像区域对应的夹角的角度为0,右上的周围子图像区域对应的夹角角度为π/4;可以理解,其他五个周围子图像区域对应的夹角角度均大于π/4。
步骤S406,根据备选图像区域的梯度方向与待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确。
通过上述方式确定了备选图像区域后,还需要考虑备选图像区域的梯度方向,即因为,如果备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的偏差较大,也不满足毛发走向规律,说明待处理的子图像区域的梯度方向不正确。在具体实现时,可参考下述步骤。
步骤21,如果存在至少一个备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,小于或等于预设方向距离阈值,确定待处理的子图像区域的梯度方向与至少一个周围子图像区域的梯度方向之间的方向变化满足方向变化规则,即待处理的子图像区域的梯度方向正确;
其中,方向距离可以通过各种距离函数计算,如欧式距离函数、曼哈顿距离函数等;本实施例提供一种更加便捷的方向距离计算方式,例如,在计算备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,可以通过下述公式计算:
D(θ12)=min(|θ12|,|θ12±π|);
其中,D代表方向距离;θ1为备选图像区域的梯度方向;θ2为待处理的子图像区域的梯度方向;min代表取最小值。
如果存在至少一个备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,小于或等于预设距离阈值,说明待处理的子图像区域的梯度方向,与至少一个备选图像区域的梯度方向变化较小,待处理的子图像区域的梯度方向与至少一个周围子图像区域的梯度方向之间的方向变化满足方向变化规则,即,经过待处理的子图像区域的毛发的毛发方向,与经过至少一个备选图像区域的毛发的毛发方向变化符合毛发走向规律;此时,则可以说明待处理的子图像区域的梯度方向是合理准确的。
步骤22,如果备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,均大于预设方向距离阈值,以待处理的子图像区域的区域中心为对称中心,确定备选图像区域的对称图像区域;
如果备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,均大于预设距离阈值,则说明经过待处理的子图像区域的毛发的毛发方向,与所有的备选图像区域的毛发的毛发方向变化均不符合毛发走向规律;备选图像区域可以理解为从待处理的子图像区域经过的毛发的“下游位置”,如果待处理的子图像区域的梯度方向与所有的备选图像区域的毛发的毛发方向变化均不符合毛发走向规律,则可以从待处理的子图像区域经过的毛发的“上游位置”继续寻找与待处理的子图像区域的毛发方向变化符合毛发走向规律的图像区域。在具体实现时,可以以待处理的子图像区域的区域中心为对称中心,确定备选图像区域的对称图像区域。该对称图像区域也可以理解为,经过待处理的子图像区域的毛发,同时也可能经过的周围子图像区域。
步骤23,根据对称图像区域的梯度方向与所述待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确。
该步骤的具体实现方式,与上述根据备选图像区域的梯度方向与待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确的方式类似。具体地,如果存在至少一个对称图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,小于或等于预设距离阈值,确定待处理的子图像区域的梯度方向正确。
其中,对称图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离的计算方式,也可以参考上述备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离计算公式计算。在此不再赘述。如果所有的对称图像区域的梯度方向,与上述待处理的子图像区域的梯度方向的方向距离,均大于预设距离阈值,则可以说明待处理的子图像区域与所有的周围子图像区域的梯度方向之间的方向变化满足方向变化规则,需要对待处理的子图像区域的梯度方向进行计算并更新。
步骤S408,如果待处理的子图像区域的梯度方向不正确,计算并更新待处理的子图像区域的梯度方向。
步骤S410,根据子图像区域的梯度方向,确定所述毛发图像的毛发方向。
上述方式中,在根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确时,首先从周围子图像区域中确定备选图像区域,根据备选图像区域的梯度方向与待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确;然后根据备选图像区域确定对称图像区域,进而根据该对称图像区域的梯度方向与所述待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确;如果待处理的子图像区域的梯度方向与上述备选图像区域和对称图像区域的梯度方向的方向距离,均大于预设距离阈值,则对待处理的子图像区域的梯度方向进行计算并更新。该方式可以提高对毛发图像的毛发方向估计的准确性,即使毛发图像的清晰度较低,也能准确地估计毛发方向,进而有利于后续3D毛发重建的准确性,从整体上提升3D毛发重建的效果。同时,该方式也可以用于对渲染的2D毛发图像的毛发方向估计,缩小真实的毛发图像与渲染的毛发图像的毛发方向估计结果之间的距离。
本实施例还提供另一种毛发数据的处理方法,本实施例重点描述计算并更新待处理的子图像区域的梯度方向的具体实现方式。在实际实现时,可以根据周围子图像区域的梯度方向,计算并更新所述待处理的子图像区域的梯度方向;具体地,可以先剔除待处理的子图像区域的梯度方向,再根据周围子图像区域的梯度方向计算并更新待处理的子图像区域的梯度方向。当剔除待处理的子图像区域的梯度方向不正确时,通过剔除待处理的子图像区域的梯度方向,可以消除梯度方向错误的子图像区域的梯度方向,再对被消除梯度方向的子图像区域计算并更新梯度方向。
一种具体的实现方式,根据待处理的子图像区域的邻接图像区域的梯度方向,计算并更新待处理的子图像区域的梯度方向;其中,邻接图像区域与待处理的子图像区域的距离小于或等于第二距离。
待处理的子图像区域的邻接图像区域,可以为与待处理的子图像区域相邻的区域,还可以是不与待处理的子图像区域相邻。相对于待处理的子图像区域的周围子图像区域,邻接图像区域的范围可以与周围子图像区域重合,或部分重合;邻接图像区域的范围也可以覆盖周围子图像区域且大于周围子图像区域。在实际实现时,可以预先设置邻接图像区域与待处理的子图像区域的距离小于或等于第二距离;该第二距离可以以区域中心为基准计算;如果某个图像区域的区域中心,与待处理的子图像区域的区域中心的距离小于或等于第二距离,则该图像区域就是待处理的子图像区域的邻接图像区域。另外,还可以与待处理的子图像区域的边缘为基准计算,如果某个图像区域的边缘,与待处理的子图像区域的边缘的最短距离小于或等于第二距离,则该图像区域就是待处理的子图像区域的邻接图像区域。
通常情况下,上述待处理的子图像区域的邻接图像区域包括多个;则针对每个邻接图像区域,根据该邻接图像区域与待处理的子图像区域的距离,确定该邻接图像区域对应的第一权重值;然后根据每个邻接图像区域对应的第一权重值,计算多个邻接图像区域的梯度方向的第一加权平均值,将第一加权平均值确定为待处理的子图像区域的梯度方向。
通常,距离待处理的子图像区域越近的邻接图像区域,所对应的权重值越大,因此,可以通过一个单调递增函数计算各个邻接图像区域对应的权重值。本实施例中,通过反余切函数实现,具体而言,该邻接图像区域对应的第一权重值
Figure BDA0002473875820000191
其中,Kd为该邻接图像区域对应的第一权重值;arccot代表反余切滤波器;d代表该邻接图像区域与待处理的子图像区域的距离。针对每个邻接图像区域,将该邻接图像区域的第一权重值乘以该邻接图像区域的梯度方向,得到乘积结果;然后将每个邻接图像区域的乘积结果求和,得到待处理的子图像区域的梯度方向。
通过这种方式,可以纠正待处理的子图像区域的错误的梯度方向,使待处理的子图像区域的梯度方向与周围子图像区域的梯度方向的方向变化满足预设的变化规则,进而使待处理的子图像区域的毛发方向与周围子图像区域的毛发方向的方向变化满足毛发走向规律,从而提高毛发方向估计的准确性。
进一步地,将毛发图像中,梯度方向错误的子图像区域计算并更新梯度方向后,即可根据每个子图像区域的梯度方向,确定毛发图像的毛发方向的步骤。在实际实现时,可以直接将每个子图像区域的梯度方向,确定为毛发图像的毛发方向。该毛发图像的毛发方向,包括该毛发图像中各个子图像区域的毛发方向,子图像区域的毛发方向,即梯度方向。如果子图像区域的区域面积较大,毛发图像的毛发方向会出现栅格化现象,即一个子图像区域中各个像素点的毛发方向相同,这就与毛发在自然状态下的走向规律不符,导致后期基于该毛发方向生成的3D毛发重建模型时,毛发的3D效果也不自然。基于此,可以对每个子图像区域的梯度方向进行滤波处理,使各个子图像区域的梯度方向平滑过度,也可以使后续毛发的3D效果更加自然。
具体地,可以将每个子图像区域的梯度方向,确定为该子图像区域内各个像素的梯度方向;将毛发图像中各个像素的梯度方向进行平滑处理,得到毛发图像的毛发方向;其中,毛发图像的毛发方向包括:各个像素对应的梯度方向。平滑处理的过程,可以通过滤波函数实现,使得各个子图像区域的梯度方向过度更加自然,消除栅格化现象。
其中的平滑处理的过程,是以像素为单位进行的。具体而言,可以逐一将每个像素确定为当前像素,并执行下述操作:确定当前像素的邻接像素;其中,邻接像素与当前像素相距第三距离;针对每个邻接像素,根据该邻接像素与当前像素的距离,确定该邻接像素对应的权重值;根据每个邻接像素对应的第二权重值,计算多个邻接像素的梯度方向的第二加权平均值,将第二加权平均值确定为当前像素的梯度方向。
其中,可以预先设置邻接像素与当前像素的距离小于或等于第三距离;该第三距离可以以像素为单位进行计算。对于一个当前像素,其邻接像素可能有多个,不同邻接像素与当前像素的距离可能不同。可以根据邻接像素与当前像素的距离,确定该邻接像素对应的权重值。距离当前像素越近的邻接像素,所对应的权重值越大,因此,可以通过一个单调递增函数计算各个邻接子图像区域对应的权重值。本实施例中,也可以通过上述实施例中的反余切函数实现。针对每个邻接像素,将该邻接像素的权重值乘以该邻接像素的梯度方向,得到乘积结果;然后将每个邻接像素的乘积结果求和,得到当前像素的梯度方向。
通过上述方式,可以使同一子图像区域中的像素的梯度方向产生差异,这梯度方向随着位置的不同逐渐变化,从而消除同一子图像区域中的所有像素的梯度方向相同的问题,使相邻的像素之间的头发方向连续变化,毛发方向的估计结果更加自然准确。
另外,通过上述方式得到毛发图像的毛发方向后,需要对毛发方向进行显示,以便于查看毛发方向的估计结果,便于对估计结果进行评价、比对。本实施例提供一种显示毛发方向的方式,即针对毛发图像中的每个像素,根据该像素的梯度方向,确定该像素的显示参数;根据每个像素的显示参数,显示毛发图像的毛发方向。作为一种具体的实现方式,针对毛发图像中的每个像素,该像素的显示参数可以设置如下:该像素在B通道的像素值
Figure BDA0002473875820000211
该像素在G通道的像素值g=sinθ3;该像素在R通道的像素值r=1;其中,θ3为该像素的梯度方向。该方式中,不同的梯度方向对应的显示参数不同,从而可以更加准确地显示毛发方向。
对应于上述毛发数据的处理方法的实施例,本实施例还提供一种人类头发的头发方向估计方法。该方法包括如下步骤:
步骤31,加载人脸属性分割模型。
步骤32,将包含头发的人脸图像输入至上述人脸属性分割模型。
步骤33,通过上述人脸属性分割模型对人脸图像分割得到头发区域图像。
步骤34,将上述头发区域图像划分为多个小区域,也称为cell;计算每个cell的梯度直方图,将每个cell的置信度最大的梯度方向,确定为该cell的梯度方向,得到头发区域图像的方向图。该方向图中包括每个cell的梯度方向。
步骤36,根据cell的八连通关系,识别出梯度方向错误的cell。其中,cell的八连通关系,指的是该cell的上面、下面、左面、右面、左上、左下、右上、右下的cell。
步骤37,根据反余切滤波器计算并更新梯度方向错误的cell的梯度方向,得到最终的方向图。
上述步骤36和37,具体地,可以逐一将每个cell确定为待处理的子图像区域,并执行下述操作:如果待处理的子图像区域的梯度方向,与待处理的子图像区域的周围子图像区域的梯度方向之间的方向变化不满足预设的方向变化规则,计算并更新待处理的子图像区域的梯度方向;其中,周围子图像区域与待处理的子图像区域的距离小于或等于第一距离;该过程可以参考前述实施例中的相关描述,在此不再赘述。
步骤38,根据反余切滤波器,对上述方向图进行平滑处理,得到平滑之后的方向图。
上述方式可以提高对头发图像的头发方向估计的准确性,进而有利于后续3D头发重建的准确性,从整体上提升3D头发重建的效果。
对应于上述方法实施例,参见图6所示的一种毛发数据的处理装置的结构示意图,该装置包括:
划分模块60,用于将待处理的毛发图像划分为多个子图像区域;
获取模块62,用于获取子图像区域的梯度方向;
操作模块64,用于对子图像区域执行下述处理:根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,如果不正确,计算并更新待处理的子图像区域的梯度方向,其中,周围子图像区域为与待处理的子图像区域满足指定位置关系的子图像区域;
方向确定模块66,用于根据子图像区域的梯度方向,确定毛发图像的毛发方向。
上述毛发数据的处理装置,根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确,如果不正确,计算并更新待处理的子图像区域的梯度方向;通过比较待处理的子图像区域的梯度方向,与待处理的子图像区域的周围子图像区域的梯度方向之间的方向变化,可以知道待处理的子图像区域的梯度方向是否合理准确,从而将毛发图像中,梯度方向错误的图像区域识别出来,进而对这些图像区域的梯度方向进行计算并更新,该方式可以提高对毛发图像的毛发方向估计的准确性,进而有利于后续3D毛发重建的准确性,从整体上提升3D毛发重建的效果。
进一步地,上述指定位置关系包括:待处理的子图像区域与周围子图像区域之间的距离小于或等于第一距离。
上述操作模块,还用于:如果不正确,根据周围子图像区域的梯度方向计算并更新待处理的子图像区域的梯度方向。
上述操作模块,还用于:如果不正确,剔除待处理的子图像区域的梯度方向;根据周围子图像区域的梯度方向计算并更新待处理的子图像区域的梯度方向。
上述待处理的子图像区域的周围子图像区域包括多个;上述操作模块,还用于:如果待处理的子图像区域的梯度方向与多个周围子图像区域中的任意一个周围子图像区域的梯度方向之间的方向变化,均不满足毛发走向规律,则确定待处理的子图像区域的梯度方向不正确。
上述待处理的子图像区域的周围子图像区域包括多个;上述操作模块,还用于:根据待处理的子图像区域的梯度方向,从多个周围子图像区域中确定备选图像区域;其中,以待处理的子图像区域的区域中心为起点,以备选图像区域的区域中心为终点形成的有向线段,与待处理的子图像区域的梯度方向对应的有向线段形成夹角,夹角的角度小于或等于预设角度阈值;根据备选图像区域的梯度方向与待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确。
上述操作模块,还用于:如果存在至少一个备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,小于或等于预设方向距离阈值,确定待处理的子图像区域的梯度方向正确。
上述操作模块,还用于:如果备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,均大于预设方向距离阈值,以待处理的子图像区域的区域中心为对称中心,确定备选图像区域的对称图像区域;根据对称图像区域的梯度方向与所述待处理的子图像区域的梯度方向之间的方向变化,确定待处理的子图像区域的梯度方向是否正确。
上述备选图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,通过下述方式得到:D(θ12)=min(|θ12|,|θ12±π|);其中,D代表方向距离;θ1为备选图像区域的梯度方向;θ2为待处理的子图像区域的梯度方向;min代表取最小值。
上述操作模块,还用于:如果存在至少一个对称图像区域的梯度方向,与待处理的子图像区域的梯度方向的方向距离,小于或等于预设距离阈值,确定待处理的子图像区域的梯度方向正确;否则,确定待处理的子图像区域的梯度方向不正确。
上述操作模块,还用于:根据待处理的子图像区域的邻接图像区域的梯度方向,计算并更新待处理的子图像区域的梯度方向;其中,邻接图像区域与待处理的子图像区域的距离小于或等于第二距离。
上述操作模块,还用于:针对每个邻接图像区域,根据该邻接图像区域与待处理的子图像区域的距离,确定该邻接图像区域对应的第一权重值;根据每个邻接图像区域对应的第一权重值,计算多个邻接图像区域的梯度方向的第一加权平均值,将第一加权平均值确定为待处理的子图像区域的梯度方向。
上述该邻接图像区域对应的第一权重值
Figure BDA0002473875820000251
其中,Kd为该邻接图像区域对应的第一权重值;arccot代表反余切滤波器;d代表该邻接图像区域与待处理的子图像区域的距离。
上述方向确定模块,还用于将每个子图像区域的梯度方向,确定为该子图像区域内各个像素的梯度方向;将毛发图像中各个像素的梯度方向进行平滑处理,得到毛发图像的毛发方向;其中,毛发图像的毛发方向包括:各个像素对应的梯度方向。
上述方向确定模块,还用于逐一将每个像素确定为当前像素,并执行下述操作:确定当前像素的邻接像素;其中,邻接像素与当前像素相距第三距离;针对每个邻接像素,根据该邻接像素与当前像素的距离,确定该邻接像素对应的第二权重值;根据每个邻接像素对应的第二权重值,计算多个邻接像素的梯度方向的第二加权平均值,将第二加权平均值确定为当前像素的梯度方向。
上述划分模块,还用于从包含有毛发的初始图像中提取毛发图像;基于预设的区域尺度,将毛发图像划分为多个子图像区域。
上述获取模块,用于针对每个子图像区域,统计该子图像区域的梯度方向参数;梯度方向参数包括:该子图像区域在预设的多个梯度方向上的置信度;将最大的置信度对应的梯度方向,确定为该子图像区域的梯度方向。
上述装置还包括显示模块,用于针对毛发图像中的每个像素,根据该像素的梯度方向,确定该像素的显示参数;根据每个像素的显示参数,显示毛发图像的毛发方向。
上述显示模块,还用于该像素在B通道的像素值
Figure BDA0002473875820000261
该像素在G通道的像素值g=sinθ3;该像素在R通道的像素值r=1;其中,θ3为该像素的梯度方向。
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述毛发数据的处理方法。该电子设备可以服务器,也可以是终端设备。
参见图7所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述毛发数据的处理方法。
进一步地,图7所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
其中,存储器101可能包含高速随机存取存储器(RAM,RandomAccessMemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述毛发数据的处理方法。
本发明实施例所提供的毛发数据的处理方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (22)

1.一种毛发数据的处理方法,其特征在于,所述方法包括:
将待处理的毛发图像划分为多个子图像区域;
获取所述子图像区域的梯度方向;
对所述子图像区域执行下述处理:根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定所述待处理的子图像区域的梯度方向是否正确,如果不正确,计算并更新所述待处理的子图像区域的梯度方向,其中,所述周围子图像区域为与所述待处理的子图像区域满足指定位置关系的所述子图像区域;
根据所述子图像区域的梯度方向,确定所述毛发图像的毛发方向。
2.根据权利要求1所述的方法,其特征在于,所述指定位置关系包括:所述待处理的子图像区域与所述周围子图像区域之间的距离小于或等于第一距离。
3.根据权利要求1所述的方法,其特征在于,所述如果不正确,计算并更新所述待处理的子图像区域的梯度方向,包括:
如果不正确,根据所述周围子图像区域的梯度方向计算并更新所述待处理的子图像区域的梯度方向。
4.根据权利要求3所述的方法,其特征在于,所述如果不正确,根据所述周围子图像区域的梯度方向计算并更新所述待处理的子图像区域的梯度方向,包括:
如果不正确,剔除所述待处理的子图像区域的梯度方向;
根据所述周围子图像区域的梯度方向计算并更新所述待处理的子图像区域的梯度方向。
5.根据权利要求1所述的方法,其特征在于,所述待处理的子图像区域的周围子图像区域包括多个;所述根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定所述待处理的子图像区域的梯度方向是否正确,包括:
如果所述待处理的子图像区域的梯度方向与多个所述周围子图像区域中的任意一个所述周围子图像区域的梯度方向之间的方向变化,均不满足毛发走向规律,则确定所述待处理的子图像区域的梯度方向不正确。
6.根据权利要求1所述的方法,其特征在于,所述待处理的子图像区域的周围子图像区域包括多个;所述根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定所述待处理的子图像区域的梯度方向是否正确,包括:
根据所述待处理的子图像区域的梯度方向,从多个所述周围子图像区域中确定备选图像区域;其中,以所述待处理的子图像区域的区域中心为起点,以所述备选图像区域的区域中心为终点形成的有向线段,与所述待处理的子图像区域的梯度方向对应的有向线段形成夹角,所述夹角的角度小于或等于预设角度阈值;
根据所述备选图像区域的梯度方向与所述待处理的子图像区域的梯度方向之间的方向变化,确定所述待处理的子图像区域的梯度方向是否正确。
7.根据权利要求6所述的方法,其特征在于,根据所述备选图像区域的梯度方向与所述待处理的子图像区域的梯度方向之间的方向变化,确定所述待处理的子图像区域的梯度方向是否正确,包括:
如果存在至少一个备选图像区域的梯度方向,与所述待处理的子图像区域的梯度方向的方向距离,小于或等于预设方向距离阈值,确定所述待处理的子图像区域的梯度方向正确。
8.根据权利要求6所述的方法,其特征在于,所述根据所述备选图像区域的梯度方向与所述待处理的子图像区域的梯度方向之间的方向变化,确定所述待处理的子图像区域的梯度方向是否正确,包括:
如果所述备选图像区域的梯度方向,与所述待处理的子图像区域的梯度方向的方向距离,均大于所述预设方向距离阈值,以所述待处理的子图像区域的区域中心为对称中心,确定所述备选图像区域的对称图像区域;
根据所述对称图像区域的梯度方向与所述待处理的子图像区域的梯度方向之间的方向变化,确定所述待处理的子图像区域的梯度方向是否正确。
9.根据权利要求8所述的方法,其特征在于,所述备选图像区域的梯度方向,与所述待处理的子图像区域的梯度方向的方向距离,通过下述方式得到:
D(θ12)=min(|θ12|,|θ12±π|);
其中,D代表方向距离;θ1为所述备选图像区域的梯度方向;θ2为所述待处理的子图像区域的梯度方向;min代表取最小值。
10.根据权利要求8所述的方法,其特征在于,所述根据所述对称图像区域的梯度方向与所述待处理的子图像区域的梯度方向之间的方向变化,确定所述待处理的子图像区域的梯度方向是否正确,包括:
如果存在至少一个对称图像区域的梯度方向,与所述待处理的子图像区域的梯度方向的方向距离,小于或等于预设距离阈值,确定所述待处理的子图像区域的梯度方向正确;
否则,确定所述待处理的子图像区域的梯度方向不正确。
11.根据权利要求1所述的方法,其特征在于,所述计算并更新所述待处理的子图像区域的梯度方向,包括:
根据所述待处理的子图像区域的邻接图像区域的梯度方向,计算并更新所述待处理的子图像区域的梯度方向;其中,所述邻接图像区域与所述待处理的子图像区域的距离小于或等于第二距离。
12.根据权利要求11所述的方法,其特征在于,所述待处理的子图像区域的邻接图像区域包括多个;所述根据所述待处理的子图像区域的邻接图像区域的梯度方向,计算并更新所述待处理的子图像区域的梯度方向,包括:
针对每个所述邻接图像区域,根据该邻接图像区域与所述待处理的子图像区域的距离,确定该邻接图像区域对应的第一权重值;
根据每个所述邻接图像区域对应的第一权重值,计算多个所述邻接图像区域的梯度方向的第一加权平均值,将所述第一加权平均值确定为所述待处理的子图像区域的梯度方向。
13.根据权利要求12所述的方法,其特征在于,所述根据该邻接图像区域与所述待处理的子图像区域的距离,确定该邻接图像区域对应的第一权重值,包括:
该邻接图像区域对应的第一权重值
Figure FDA0002473875810000041
其中,Kd为该邻接图像区域对应的第一权重值;arccot代表反余切滤波器;d代表该邻接图像区域与所述待处理的子图像区域的距离。
14.根据权利要求1所述的方法,其特征在于,所述根据所述子图像区域的梯度方向,确定所述毛发图像的毛发方向,包括:
将每个所述子图像区域的梯度方向,确定为该子图像区域内各个像素的梯度方向;
将所述毛发图像中各个像素的梯度方向进行平滑处理,得到所述毛发图像的毛发方向;其中,所述毛发图像的毛发方向包括:所述各个像素对应的梯度方向。
15.根据权利要求14所述的方法,其特征在于,所述将所述毛发图像中各个像素的梯度方向进行平滑处理,包括:
逐一将每个像素确定为当前像素,并执行下述操作:
确定所述当前像素的邻接像素;其中,所述邻接像素与所述当前像素相距第三距离;
针对每个邻接像素,根据该邻接像素与所述当前像素的距离,确定该邻接像素对应的第二权重值;
根据每个所述邻接像素对应的第二权重值,计算多个所述邻接像素的梯度方向的第二加权平均值,将所述第二加权平均值确定为所述当前像素的梯度方向。
16.根据权利要求1所述的方法,其特征在于,所述将待处理的毛发图像划分为多个子图像区域,包括:
从包含有毛发的初始图像中提取毛发图像;
基于预设的区域尺度,将所述毛发图像划分为多个子图像区域。
17.根据权利要求1所述的方法,其特征在于,所述获取所述子图像区域的梯度方向,包括:
针对每个所述子图像区域,统计该子图像区域的梯度方向参数;所述梯度方向参数包括:该子图像区域在预设的多个梯度方向上的置信度;
将最大的置信度对应的梯度方向,确定为该子图像区域的梯度方向。
18.根据权利要求1-17任一项所述的方法,其特征在于,所述确定所述毛发图像的毛发方向之后,所述方法还包括:
针对所述毛发图像中的每个像素,根据该像素的梯度方向,确定该像素的显示参数;
根据每个像素的所述显示参数,显示所述毛发图像的毛发方向。
19.根据权利要求18所述的方法,其特征在于,所述根据该像素的梯度方向,确定该像素的显示参数,包括:
该像素在B通道的像素值
Figure FDA0002473875810000051
该像素在G通道的像素值g=sinθ3;该像素在R通道的像素值r=1;其中,θ3为该像素的梯度方向。
20.一种毛发数据的处理装置,其特征在于,所述装置包括:
划分模块,用于将待处理的毛发图像划分为多个子图像区域;
获取模块,用于获取所述子图像区域的梯度方向;
操作模块,用于对所述子图像区域执行下述处理:根据待处理的子图像区域的梯度方向与其周围子图像区域的梯度方向之间的方向变化,确定所述待处理的子图像区域的梯度方向是否正确,如果不正确,计算并更新所述待处理的子图像区域的梯度方向,其中,所述周围子图像区域为与所述待处理的子图像区域满足指定位置关系的所述子图像区域;
方向确定模块,用于根据所述子图像区域的梯度方向,确定所述毛发图像的毛发方向。
21.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-19任一项所述的毛发数据的处理方法。
22.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-19任一项所述的毛发数据的处理方法。
CN202010360945.XA 2020-04-29 2020-04-29 毛发数据的处理方法、装置和电子设备 Active CN111540021B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010360945.XA CN111540021B (zh) 2020-04-29 2020-04-29 毛发数据的处理方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010360945.XA CN111540021B (zh) 2020-04-29 2020-04-29 毛发数据的处理方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN111540021A true CN111540021A (zh) 2020-08-14
CN111540021B CN111540021B (zh) 2023-06-13

Family

ID=71978986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010360945.XA Active CN111540021B (zh) 2020-04-29 2020-04-29 毛发数据的处理方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN111540021B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112419487A (zh) * 2020-12-02 2021-02-26 网易(杭州)网络有限公司 毛发三维重建方法、装置、电子设备及存储介质
CN113592970A (zh) * 2021-07-28 2021-11-02 网易(杭州)网络有限公司 毛发造型的生成方法及装置、电子设备、存储介质
CN115331269A (zh) * 2022-10-13 2022-11-11 天津新视光技术有限公司 一种基于梯度向量场的指纹识别方法及应用
WO2023065792A1 (zh) * 2021-10-22 2023-04-27 杭州睿胜软件有限公司 图像处理方法、装置、电子设备和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006181100A (ja) * 2004-12-27 2006-07-13 Kao Corp 毛形状の測定方法
WO2016051694A1 (ja) * 2014-09-29 2016-04-07 パナソニックIpマネジメント株式会社 毛領域検出装置及び毛領域検出方法
CN107103619A (zh) * 2017-04-19 2017-08-29 腾讯科技(上海)有限公司 一种头发纹理方向的处理方法、装置及系统
CN107886516A (zh) * 2017-11-30 2018-04-06 厦门美图之家科技有限公司 一种计算人像中发丝走向的方法及计算设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006181100A (ja) * 2004-12-27 2006-07-13 Kao Corp 毛形状の測定方法
WO2016051694A1 (ja) * 2014-09-29 2016-04-07 パナソニックIpマネジメント株式会社 毛領域検出装置及び毛領域検出方法
CN107103619A (zh) * 2017-04-19 2017-08-29 腾讯科技(上海)有限公司 一种头发纹理方向的处理方法、装置及系统
CN107886516A (zh) * 2017-11-30 2018-04-06 厦门美图之家科技有限公司 一种计算人像中发丝走向的方法及计算设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIAO SHAOHUI;焦少慧;CHEN XIN;陈昕;YANG GANG;杨刚;WU ENHUA;吴恩华: "卡通化毛发纹理的生成与替换" *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112419487A (zh) * 2020-12-02 2021-02-26 网易(杭州)网络有限公司 毛发三维重建方法、装置、电子设备及存储介质
CN112419487B (zh) * 2020-12-02 2023-08-22 网易(杭州)网络有限公司 毛发三维重建方法、装置、电子设备及存储介质
CN113592970A (zh) * 2021-07-28 2021-11-02 网易(杭州)网络有限公司 毛发造型的生成方法及装置、电子设备、存储介质
CN113592970B (zh) * 2021-07-28 2024-04-12 网易(杭州)网络有限公司 毛发造型的生成方法及装置、电子设备、存储介质
WO2023065792A1 (zh) * 2021-10-22 2023-04-27 杭州睿胜软件有限公司 图像处理方法、装置、电子设备和计算机可读存储介质
CN115331269A (zh) * 2022-10-13 2022-11-11 天津新视光技术有限公司 一种基于梯度向量场的指纹识别方法及应用

Also Published As

Publication number Publication date
CN111540021B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
CN111540021A (zh) 毛发数据的处理方法、装置和电子设备
JP4414401B2 (ja) 顔特徴点検出方法および装置並びにプログラム
CN109952594B (zh) 图像处理方法、装置、终端及存储介质
CN110826519A (zh) 人脸遮挡检测方法、装置、计算机设备及存储介质
EP3537375B1 (en) Image segmentation methods, image segmentation system and device comprising same, and storage medium
CN109711268B (zh) 一种人脸图像筛选方法及设备
CN110688947A (zh) 一种同步实现人脸三维点云特征点定位和人脸分割的方法
CN109949227A (zh) 图像拼接方法、系统及电子设备
CN111914748B (zh) 人脸识别方法、装置、电子设备及计算机可读存储介质
JP2007272435A (ja) 顔特徴抽出装置及び顔特徴抽出方法
CN114862861B (zh) 基于少样本学习的肺叶分割方法和装置
CN112560584A (zh) 一种人脸检测方法及装置、存储介质、终端
CN107153806B (zh) 一种人脸检测方法及装置
CN111199197A (zh) 一种人脸识别的图像提取方法及处理设备
CN111524171B (zh) 图像处理方法、装置和电子设备
EP3018626B1 (en) Apparatus and method for image segmentation
CN115937825B (zh) 在线俯仰角估计的bev下鲁棒车道线生成方法及装置
CN109785367B (zh) 三维模型追踪中外点滤除方法和装置
CN113012030A (zh) 图像拼接方法、装置及设备
CN113920068B (zh) 一种基于人工智能的身体部位检测方法、装置及电子设备
CN111753722B (zh) 一种基于特征点类型的指纹识别方法及装置
CN111753723B (zh) 一种基于密度校准的指纹识别方法及装置
CN112069885A (zh) 人脸属性识别方法、装置及移动终端
CN110580451A (zh) 一种基于三维优化子曲面的人脸识别方法及系统
CN116883599B (zh) 一种基于三维建模技术的服装试穿系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant