一种基于人脸面部肌肉运动特征的面部神经麻痹疾病检测方法与流程

文档序号:24189681发布日期:2021-03-09 14:44阅读:264来源:国知局
一种基于人脸面部肌肉运动特征的面部神经麻痹疾病检测方法与流程

1.本发明涉及机器视觉图像处理技术领域,特别是涉及一种基于人脸面部肌肉运动特征的面部神经麻痹疾病检测方法。


背景技术:

2.面部神经麻痹疾病是以面部表情肌群运动功能障碍为主要特征的一种疾病,它是一种常见病、多发病,不受年龄限制,症状表现为口眼歪斜等,严重的患者往往连最基本的抬眉、闭眼、鼓嘴等动作都无法完成。这种疾病发现的越早、治疗越早恢复的就越快,并且不会留下后遗症,但是疑似有面部神经麻痹疾病的患者需要到医院或诊所去检测诊断才能获知是否有这种疾病,这样麻烦费时费钱,目前还没有一种快速自动诊断面部神经麻痹疾病的系统和方法。


技术实现要素:

3.本发明克服了现有技术中面部神经麻痹疾病的检测诊断不能快速简易化的问题,提供一种的基于人脸面部肌肉运动特征的面部神经麻痹疾病检测方法。
4.本发明的技术解决方案是,提供一种具有以下步骤的基于人脸面部肌肉运动特征的面部神经麻痹疾病检测方法:含有以下步骤:步骤1、通过人脸检测算法获得相机视野中人脸的位置,采集图像数据,输出人脸图像;步骤2、根据人脸图像重建3d模型;步骤3、获取人脸3d模型上相关肌肉对应的网格点的坐标;步骤4、对人脸图像进行角点检测,获得肌肉上的角点特征,并根据角点修正面部肌肉的运动特征;步骤5、为人脸3d mensh的网格点分配权重;步骤6、根据面部肌肉运动特征和角点位置的变化特征获得面部肌肉的运动幅度。
5.优选地,所述步骤1中利用手机的前置相机采集用户的图像数据。
6.优选地,所述步骤2中通过prnet、vrnet或2dasl深度神经网络获得面部的3d模型,通过2dasl深度神经获得3dmm模型的参数,输出的参数作用在该3dmm模型上,使其变形为和图像中人脸一样的形状和纹理。
7.优选地,所述步骤3中从人脸3d mensh上选取分布在双目下方、鼻子两侧、两嘴角周围和颧骨周围的所有网格点,其分布在口轮匝肌、咬肌、提上唇肌和颊肌上,通过肌肉上的网格点的位置变化来计算肌肉的运动特征。
8.优选地,所述步骤4含有以下分步骤:
9.步骤4.1、将角点和3d mensh的网格点相结合实现优势互补,将角点的位置融入3d mensh;
10.1)人脸3d mensh是和人脸图像上的人脸对齐后,获取角点的位置,将该位置反向投影回3d mensh上,获得角点在3d mensh上对应的三维坐标p;
11.2)获取坐标p周围最近的四个网格点的位置为,构建一个序列δp={||pp
i
||2}
i=1,2,3,4
={||pp1||2,||pp2||2,||pp3||2,||pp4||2},||pp
i
||2表示坐标p和坐标p
i
的欧式
距离,i=1,2,3,4,序列δp反映坐标p与周围最近的四个网格点的欧式距离;
12.3)构建四个权重系数α1,α2,α3,α4,分别表示四个网格点对坐标位置p的关注程度,令:令:sum(δp)表示对序列δp的元素求和,网格点p
i
与坐标位置p的距离越近,α
i
就越大,说明p
i
对p的关注程度越高,并且满足α1+α2+α3+α4=3;
13.4)对于网格点p
i
,使用下式对其进行更新:p
i
:=α
i
p+(1-α
i
)p
i

14.步骤4.2、对于第j个网格点,其在n帧图像上的位置序列为d
j
={d
1,j
,d
2,j
,d
i,j


,d
n,j
},d
i,j
表示第j个网格点在第i帧图像上的位置,第j个网格点的运动幅度方法如下:
15.1)计算边缘的网格点的坐标的均值为令:符号“:=”表示将符号右边的表达式的结果赋值给符号左边的变量;
16.2)首先获得第j个网格点的在当前第i帧的最小运动幅度,方法如下:计算当前第i帧的第j个网格点d
i,j
与前i-1帧图像中每帧的第j个网格点的欧式距离l
i
,l
i
={l
i,1
,,l
i,2
,...,l
i,m
,...,l
i,i-1
},l
i,m
表示第i帧的第j个网格点d
i,j
与第m帧的第j个网格点d
m,j
的欧式距离,即l
i,m
=||d
i,j
d
m,j
||2,设前i帧中第j个网格点的最小运动幅度为lmin
i
,则:lmin
i
=min(min(l
i
),lmin
i-1
),i>2,min(l
i
)表示序列l
i
中最小的元素值,lmin
i-1
表示前i-1帧中第j个网格点的最小运动幅度,其中lmin2=||d
2,j
d
1,j
||2,lmin
i
表示前i帧中第j个网格点的最小运动范围,通常该值比较小,等于或趋近于0;
17.3)同理获得当前第i帧第j个关键点的最大运动程度lmax
i
,表示在前i帧中网格点最大的运动范围,lmax
i
与lmin
i
的算法一样;
18.4)则第j个网格点的运动幅度为m
j

19.5)m
j
越大表示第j个网格点的运动范围越大,说明第j个网格点处的肌肉的运动能力越强。
20.优选地,所述步骤5含有以下分步骤:设有j个网格点,获得当前j个网格点的运动幅度m={m1,m2,...,m
j
,...,m
j
},m
j
表示第j个网格点的运动幅度;对不同网格点施加以不同的权重w={w1,w2,

,w
j
,...,w
j
},w
j
表示对第j个网格点施加的权重;设有a个正常人的人脸数据,a为超参数,越大越好,a取值为100到200之间;第i个人脸对应的j个网格点的运动幅度为其中表示第i个人脸上第j个网格点的运动幅度,a个人脸对应的第j个网格点的运动幅度为脸对应的第j个网格点的运动幅度为对数据列表m
j
,首先剔除值为0的元素,然后利用均值漂移(meanshift)算法进行聚类,该算法会输出数据分布密度较大的数据所构成的集合,设这个数据集合为集合中的元素依然表示的是第j个网格点的运动幅度;引入参量令:令:表示集合中元素的均值,对于第j个网格点,不同人脸有不同的运动幅度,表示这些运动幅度经过meanshift聚类后获得的运动幅度的均值,对于所有的j个网格点,获得一个序列运动幅度越小的网格点对应的肌肉运动越微小,其对应的网格点的权重越大,设第j个网格点的权重为w
j
,令:
[0021][0022]
其中,
[0023]
[0024]
表示对序列里的元素取最大值,其中a、b为超参数,实施者根据所需设置,令a=8.7、b=-0.6,此时w
j
与x
j
遵循负相关关系,x
j
取值在0和1区间,w
j
大于0,小于1。
[0025]
优选地,所述步骤6含有以下分步骤:利用当获得每个网格点的权重后,通过对所有网格点的运动幅度的加权求和获得人脸面部肌肉的运动幅度,设利用网格点获得的脸面部肌肉的运动幅度为b1,则:部肌肉的运动幅度为b1,则:设检测到n个角点,将n个角点映射到人脸3d mensh上,获得n个角点在3d mensh上的三维坐标,根据角点的三维坐标的位置变化获得每个角点的运动幅度,运动幅度的计算方法和网格点的运动幅度计算方法一致,设第i个角点的运动幅度为q
i
,与第i个角点距离最近的网格点的权重设为w
i
,则n个角点对应的肌肉运动幅度为b2,令:最终的肌肉运动幅度为b,其中其中表示融合b1与b2后的肌肉运动幅度,γ是一个权重系数,n越小该权重系数越大:c为超参数,在[1,4]区间取值,此处c=2;是一个对n不敏感的数据,当检测到的角点数目多,即n较大时,b2的值较大,并且γ较小;当检测到的角点数目变少时,即n较小,b2的值较小,并且γ较大;b表示融合网格点的运动幅度b1与的结果数据,b为权值,表示对的关注程度,b是由角点分布决定,b为角点位置距3d mensh原点的距离的方差与j个网格点的位置到原点的距离的方差之比,若b=1,角点的分布接近肌肉网格点的分布,其中d是一个超参数,d=0.8。
[0026]
与现有技术相比,本发明基于人脸面部肌肉运动特征的面部神经麻痹疾病检测方法具有以下优点:利用摄像机,例如手机的前置相机,采集人脸图像,通过重建人脸的三维模型,获得面部肌肉的运动特征,根据肌肉运动特征分析用户的患病情况;克服用于重建的三维模型可能对某些肌肉的运动不敏感等问题,通过人脸的角点来引入修正参数,并获得较为精确的诊断结果。将角点的位置信息融入人脸3d mesh中,使得人脸3d mesh上的网格运动更为准确。利用3d mesh上的网格点的运动幅度和角点的数量、分布以及角点运动幅度获得人脸面部肌肉的运动幅度,使得获得的运动幅度更加可靠准确。运动幅度的大小能够量化患病病情况,对疾病的检测和后续的治疗具有重要作用,
[0027]
本发明可以方便快捷的部署在app应用上,疑似患者可以通过手机app使检测是否患有面部神经麻痹疾病以及患病程度,并给出治疗意见。
附图说明
[0028]
图1是本发明的总体流程示意图;
[0029]
图2是本发明中网格点平均运动幅度权重映射曲线示意图。
具体实施方式
[0030]
下面结合附图和具体实施方式对本发明基于人脸面部肌肉运动特征的面部神经麻痹疾病检测方法作进一步说明:如图(1)所示,本实施例的大致步骤为:
[0031]
1)采集图像数据,通过人脸检测算法获得相机视野中人脸的位置,并输出人脸图像。
[0032]
2)根据人脸图像进行人脸3d重建,获得人脸的3d模型。所述的人脸3d模型是一个3d的mesh,它有很多网格点和网格构成构成,每个网格点对应着人脸上的一个位置坐标,这
些网格点和网格能够反映人脸的结构和五官与面部肌肉位置。
[0033]
3)获取人脸3d模型上相关肌肉对应的网格点的坐标。所述的相关肌肉包括嘴部的口轮匝肌、提上唇肌、皱眉肌等,具体肌肉可由实施者确定,本发明只获取口轮匝肌、提上唇肌等网格点进行分析计算,因为这些肌肉更能体现面部的表情变化,也是面部运动的主要参与对象。
[0034]
4)对人脸图像进行角点检测,获得肌肉上的角点特征,并根据角点修正面部肌肉的运动特征,使得面部肌肉特征更为准确。
[0035]
5)为人脸3d mesh的网格点分配权重。
[0036]
6)根据面部肌肉运动特征和角点位置的变化特征获得面部肌肉的运动幅度,面部肌肉的运动幅度反映了面部神经麻痹疾病的发病程度,所述的面部神经麻痹疾病的发病程度是指疾病患者对面部肌肉的控制程度,如果患者能够灵活控制面部肌肉的运动,那么面部肌肉的运动幅度大,说明患者面部神经麻痹疾病的发病程度低,否则高。所述的运动幅度是指运动物体在某段时间的运动范围。
[0037]
详细技术内容如下:
[0038]
1.利用相机采集人脸的正视图像数据,本发明利用手机的前置相机采集患者(用户)的图像数据,这样做方便快捷。
[0039]
2.本发明利用人脸检测算法获得图像中的人脸边界框,根据人脸的边界框裁切出人脸图像。如果视野中包括多个人脸边界框,那么只选取边界框面积最大的人脸进行后续的分析计算。
[0040]
3.利用人脸图像获得人脸的3d模型,即人脸的3d重建。人脸3d重建的方法和dnn网络有很多,例如prnet、vrnet、2dasl等,本发明使用2dasl获得面部的3d模型,即面部的3d mensh。
[0041]
4.2dasl是一种公开的人脸三维重建方法,它输入的是人脸图像和一幅特殊的单通道图像,这个单通道图像在人脸关键点处的像素值为1,其余位置为-1。输出的是3dmm模型的参数,所述的3dmm模型是一个可变形的3d人脸mesh,输出的参数作用在该mesh上使得mesh变形为和图像中人脸一样的形状和纹理,从而达到人脸的3d重建。
[0042]
5.众所周知,人脸的面部肌肉对应3d mensh上的多个网格点,本发明通过肌肉上的网格点的位置变化来计算肌肉的运动特征。
[0043]
6.人脸面部的肌肉有很多,例如鼻肌、皱眉肌、口轮匝肌、咬肌等,其中口轮匝肌、咬肌、提上唇肌、颊肌是人脸做表情时常用的肌肉,也是运动幅度或运动特征较为明显的肌肉,本发明通过分析这些肌肉的运动特征来进行面部神经麻痹疾病的诊断计算。后续所述的肌肉均指这几块肌肉,实施者也可以根据所需来指定其他肌肉。
[0044]
7.面部的肌肉虽然在解刨学上是可以区分出来的,但是在视觉上人们是无法准确的区分出面部的每块肌肉的,只能根据确定肌肉在人脸上的大致位置。基于此,本发明人为的从人脸3d mesh上实现选取一些网格点,这些网格点包括分布在双目下方、鼻子两侧、两嘴角周围、颧骨周围的所有网格点,这些点大致时分布在口轮匝肌、咬肌、提上唇肌、颊肌上,这些点的运动特征也能反映这些肌肉的运动特征。具体大网格点选取需要实施者根据实际情况来选取。
[0045]
8.利用3d mesh虽然能够还原人脸的三维信息,但是仍存在一些问题,例如有些面
部肌肉处的网格点稀疏或分布不均匀,导致某块肌肉的某个位置点没有网格点分布,而且这个位置可能又恰恰能反映肌肉的运动情况。再例如一些肌肉的运动幅度较小时,其上的网格点运动幅度也比较小,又因为获得的3d mesh的网格点存在一定程度的误差,导致网格点不能描述肌肉的轻微运动情况。
[0046]
9.基于上述本发明提出利用面部角点的特征来修正上述问题,方法如下:
[0047]
1)获得人脸图像数据,利用角点检测算法获得面部的角点,常用的角点检测算法有很多,例如获得的角点包括harris角点检测算法、fast角点检测算法等,本发明使用harris角点检测算法,该算法获得角点的特征值和角点的位置信息。
[0048]
2)本发明只关注所述的口轮匝肌、咬肌、提上唇肌、颊肌上的角点。正如前述,获得的人脸3d mesh的网格点和网格能够反映人脸的结构和五官与面部肌肉位置,因此可以人为的事先确定口轮匝肌、咬肌、提上唇肌、颊肌对应的网格,将这些网格投影到图像平面上,获得这些肌肉的语义区域,最后只保留语义区域内的角点。这些角点的位置变化能反映肌肉的运动,本发明后续所述的角点均指这些角点。
[0049]
3)上述提到了将网格投影到图像平面上,进而获得这些肌肉(口轮匝肌、咬肌、提上唇肌、颊肌)的语义区域,这种投影方法已在2dasl模型中公开,本发明不在过多叙述。实施者也可以利用语义分割网络获得口轮匝肌、咬肌、提上唇肌、颊肌的语义区域。
[0050]
10.由于不同人的面部的细节不一样,有的人的人脸纹理多,从而角点也多,有的人的面部皮肤光滑,从而角点数量少。对于同一张人脸,不同光照和不同视角的脸部的角点数量也不一样,因此如果只利用角点来分析面部肌肉的运动特征的话,获得的结果对于用户来说是由个体差异的,但是将角点和3d mesh的网格点相结合的话就能实现优势互补:既利用了3d mesh的三维空间特征,又融入了可以精确定位的角点位置特征。
[0051]
11.具体的将角点的位置融入3d mesh的方法为:
[0052]
5)本发明获得的人脸3d mesh是和人脸图像上的人脸对齐的,即3d mesh上的一个点可以投射图像上的一个像素,图像上的一个像素对应也可以反向投影回3d mesh上。
[0053]
6)获取角点的位置,将该位置反向投影回3d mesh上,获得角点在3d mesh上对应的三维坐标p。
[0054]
7)获取坐标p周围最近的四个网格点的位置为p1、p2、p3、p4,构建一个序列δp={||pp
i
||2}
i=1,2,3,4
={||pp1||2,||pp2||2,||pp3||2,||pp4||2},||pp
i
||2表示坐标p和坐标p
i
的欧式距离,i=1,2,3,4。可知序列δp反映的是坐标p与周围最近的四个网格点的欧式距离。
[0055]
8)构建四个权重系数α1,α2,α3,α4,分别表示四个网格点p1、p2、p3、p4对坐标位置p的关注程度,令:
[0056][0057]
9)sum(δp)表示对序列δp的元素求和,网格点p
i
与坐标位置p的距离越近,α
i
就越大,说明p
i
对p的关注程度越高,并且满足α1+α2+α3+α4=3。
[0058]
10)对于网格点p
i
,本发明使用下式对其进行更新:
[0059]
p
i
:=α
i
p+(1-α
i
)p
i
[0060]
11)综上所述,对于角点附近的网格点p
i
,虽然它有一个原始的坐标值,但是由于本发明更关注角点的坐标值,因此需要将网格点的原始坐标值和角点的坐标进行融合,获
得网格点p
i
新的坐标值。这样做的有益效果是:当网格点p
i
对应的肌肉轻微运动时,p
i
的坐标值的变化不能精确反映肌肉的运动特征,但是将网格点和角点坐标融合后,网格点就能一定程度反映肌肉的运动。
[0061]
12)需要注意的是,当网格点p
i
有多个角点为其提供多个权重系数时,那么就对这多个权重系数求均值作为最终的权重系数α
i
,至此便可将检测到所有角点的位置信息融入到3d mesh中。
[0062]
12.综上所述,本发明可以利用人脸3d mesh获得面部肌肉的位置信息,并将角点位置信息融入3d mesh中,提高3d mesh对肌肉运动信息的描述能力。
[0063]
13.当需要检测用户的面部神经麻痹疾病时,用户对着相机做一些表情和动作,例如微笑、歪嘴、张嘴等,采集图像序列,采集的图像序列越长越好。对于每帧图像均可按照本发明的设计方法,获得人脸的3d mesh,这种3d mesh融入了人脸的角点位置信息。
[0064]
14.对于第j个网格点,其在n帧图像上的位置序列为d
j
={d
1,j
,d
2,j
,d
i,j
,...,d
n,j
},d
i,j
表示第j个网格点在第i帧图像上的位置。接下来分析第j个网格点的运动幅度方法如下:
[0065]
6)需要说明的是,人脸的3d mesh不是一个闭合的mesh,该mesh存在边缘,边缘上的网格点是不会随着面部的表情变化而运动的。计算边缘的网格点的坐标的均值为令:
[0066][0067]
符号“:=”表示将符号右边的表达式的结果赋值给符号左边的变量,这样计算的目的是使得d
i,j
变化只反应面部肌肉的运动,与整个人脸的运动无关。
[0068]
7)首先获得第j个网格点的在当前第i帧的最小运动幅度,方法如下:
[0069]
a)计算当前第i帧的第j个网格点d
i,j
与前i-1帧图像中每帧的第j个网格点的欧式距离l
i
[0070]
l
i
={l
i,1
,,l
i,2
,...,l
i,m,
...,l
i,i-1
}
[0071]
b)l
i,m
表示第i帧的第j个网格点d
i,j
与第m帧的第j个网格点d
m,j
的欧式距离,即
[0072]
l
i,m
=||d
i,j
d
m,j
||2[0073]
c)设前i帧中第j个网格点的最小运动幅度为lmin
i
,则:
[0074]
lmin
i
=min(min(l
i
),lmin
i-1
),i>2
[0075]
min(l
i
)表示序列l
i
中最小的元素值,lmin
i-1
表示前i-1帧中第j个网格点的最小运动幅度。
[0076]
d)上式是一个递推公式,利用递推公式的好处时可以边采集图像边计算数据,不用将所有图像采集完再进行计算,能够节省计算机的存储空间。其中lmin2=||d
2,j
d
1,j
||2,lmin
i
表示前i帧中第j个网格点的最小运动范围,通常该值比较小,等于或趋近于0。
[0077]
8)同理获得当前第i帧第j个关键点的最大运动程度lmax
i
,lmax
i
表示的是在前i帧中网格点最大的运动范围。lmax
i
与lmin
i
的算法一样。
[0078]
9)则第j个网格点的运动幅度为m
j
:m
j
=lmax
i-lmin
i
,m
j
越大表示第j个网格点的运动范围越大,说明第j个网格点处的肌肉的运动能力越强。
[0079]
15.设有j个网格点,可以获得当前j个网格点的运动幅度m={m1,m2,...,m
j
,...,m
j
},m
j
表示第j个网格点的运动幅度。由于不同位置的网格点对应不同肌肉的不同位置,本发明的目的是要根据肌肉的运动情况诊断是否有面部神经麻痹疾病。普遍的,有该种疾病
的患者和无该种疾病的正常人,其面部的口轮匝肌和咬肌等肌肉的运动幅度都较大,差异不太明显;而有一些面部肌肉在正常人和该疾病患者的脸上表现出的运动差异失很明显的,例如提上唇肌、颊肌等,因此本发明对不同网格点施加以不同的权重w={w1,w2,...,w
j
,...,w
j
},w
j
表示对第j个网格点施加的权重。
[0080]
16.权重w可以人为指定,本发明采用如下方法获得这个权重:
[0081]
1)采集不同的正常的人脸做一些表情动作时的图像序列;
[0082]
2)对于每个人脸,利用本发明所设计的系统获得所述的j个网格点的运动幅度;
[0083]
3)对于多个不同的正常人的人脸,可以获得多组运动幅度数据;
[0084]
4)具体的,设有a个正常人的人脸数据,a为超参数,越大越好,本发明建议a取值为100到200之间。
[0085]
5)第i个人脸对应的所述的j个网格点的运动幅度为其中表示第i个人脸上第j个网格电的运动幅度;
[0086]
6)可知,a个人脸对应的第j个网格点的运动幅度为
[0087]
7)对数据列表m
j
,首先剔除值为0的元素,然后利用均值漂移(meanshift)算法进行聚类,该算法会输出数据分布密度较大的数据所构成的集合,设这个数据集合为集合中的元素依然表示的是第j个网格点的运动幅度,只是这些元素分布较为集中。
[0088]
8)引入参量令:令:表示集合中元素的均值;
[0089]
9)综上所述,对于第j个网格点,不同人脸有不同的运动幅度,表示的就是这些运动幅度经过meanshift聚类后获得的运动幅度的均值。因此本发明利用表示第j个网格点的平均运动幅度。
[0090]
10)对于所有的j个网格点,获得一个序列10)对于所有的j个网格点,获得一个序列表示的就是j个网格点平均运动幅度的均值的序列。
[0091]
11)正如前述,运动幅度越小的网格点对应的肌肉运动越微小,这些运动幅度微小的肌肉更能反映人脸对肌肉的控制能力,这些运动幅度微小的肌肉对应的网格点应有一个较大的权重,这种权重可以视为对网格点的关注程度,设第j个网格点的权重为w
j
,令:
[0092][0093]
w
j
是x
j
的权重,也可以看做w
j
是对x
j
的关注程度,即w
j
表示的是对第j个网格点的关注程度。
[0094]
其中
[0095][0096]
表示对序列里的元素取最大值,可知x
j
实质上是对的归一化处理,使得0≤x
j
≤1,因此x
j
也是表示第j个网格点的平均运动幅度。
[0097]
12)其中a、b为超参数,实施者根据所需设置,在本发明中令a=8.7、b=-0.6,此时w
j
与x
j
的关系如下,两者遵循负相关关系,x
j
取值在0和1区间,w
j
大于0,小于1。
[0098]
如图2所示,反映的是第j个网格点的平均运动幅度x
j
与第j个网格点的关注程度w
j
的映射曲线。该曲线表示当第j个网格点的平均运动幅度x
j
取值较小时,对应的关注程度w
j
取值较大,例如x
j
小于0.3时,w
j
会是大于0.9的数值;当第j个网格点的平均运动幅度x
j
取值
较大时,对应的关注程度w
j
取值较小,例如x
j
大于0.9时,w
j
会是小于0.1的数值。总体而言x
j
与w
j
呈负相关关系,并且w
j
大于0小于1。
[0099]
13)至此获得每个网格点的权重。这些权重是事先获得的,只用获得一次,一旦确定权重之后就无需再改动了。
[0100]
14)总的来说这些权重是统计获得的,具体实施时需要考虑到a个人脸样本如何获取,如何使a个人脸样本具有代表性等问题,这些取样的方法不是本发明的重点,不再一一提出解决方案。
[0101]
17.利用当获得每个网格点的权重后,通过对所有网格点的运动幅度的加权求和可以获得人脸面部肌肉的运动幅度,这个运动幅度能够反映用户对面部肌肉的控制程度,设利用网格点获得的脸面部肌肉的运动幅度为b1,则:
[0102][0103]
18.需要说明的是,运动幅度大的网格点对应的权值小,因此对每个网格点的运动幅度加权后获得的结果,这些结果的差异是不大的,即当j取不同值时,w
j
m
j
差异也不会太大。
[0104]
19.总的来说本发明通过将角点的位置特征融入人脸3d mesh中可以较为精准的结果,但是这种结果还是受限于人脸3d mesh的精度,而上述获得的角点虽然存在角点数量少、角点分布不均匀、不同人脸角点分布不一致的问题,但是这些角点却能较为精确的反映肌肉的运动。
[0105]
20.本发明认为当检测到的角点较多,而且所有肌肉都可检测到角点时,此时角点更能描述肌肉的运动。
[0106]
21.设检测到n个角点,可以将n个角点映射到人脸3d mesh上,获得n个角点在3d mesh上的三维坐标,根据角点的三维坐标的位置变化可以获得每个角点的运动幅度,运动幅度的计算方法和网格点的运动幅度计算方法一致。
[0107]
22.设第i个角点的运动幅度为q
i
,与第i个角点距离最近的网格点的权重设为w
i
,则n个角点对应的肌肉运动幅度为b2,令:
[0108][0109]
23.最终的肌肉运动幅度为b:
[0110][0111]
其中
[0112][0113]
24.表示融合b1与b2后的肌肉运动幅度,γ是一个权重系数,n越小该权重系数越大:
[0114][0115]
c为超参数,建议在[1,4]区间取值,本发明c=2。
[0116]
是一个对n不敏感的数据,当检测到的角点数目多,即n较大时,b2的值较大,并且γ较小;当检测到的角点数目变少时,即n较小,b2的值较小,并且γ较大。总的来说,对n的变化不敏感,即n有较大的变化时,也不会有太大变化。因此即便检测人脸时,人脸上
的网格点数目发生变化仍能保持稳定,不会因角点变化而使得变化从而造成的剧烈波动。引入γ后的变化只是反映网格点的位置变化,与角点的数目变化无关。
[0117]
25.b表示的就是融合网格点的运动幅度b1与的结果数据。b为权值,表示的是对的关注程度,b是由角点分布决定的,如果角点分布在不同肌肉的不同位置那么认为角点的运动更能体现肌肉的运动,本发明的b的值设为:角点位置距3d mesh原点的距离的方差与j个网格点的位置到原点的距离的方差之比。如果b=1,说明角点的分布就接近肌肉网格点的分布。其中d是一个超参数,本发明d=0.8。
[0118]
26.至此获得了b,b表示的就是人脸上面肌肉的运动幅度。这种运动幅度表示人对面部的控制程度。对于正常的人脸,面部的肌肉额运动幅度较大,对于有面部神经麻痹疾病的人,其面部肌肉运动幅度较小,可根据人脸上面肌肉的运动幅度b的大小判断是否有面部神经麻痹疾病,并且根据b的大小提出疾病的治疗方案。由于后续都是简单的逻辑与判断本发明不再对数据b进行下一步的计算与分析。
[0119]
27.至此本发明完成。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1