掌桥专利:专业的专利平台
掌桥专利
首页

一种基于三维人脸模型重建的眼睑参数测量方法及系统

文献发布时间:2023-06-19 19:33:46


一种基于三维人脸模型重建的眼睑参数测量方法及系统

技术领域

本发明涉及一种眼睑参数测量方法及系统。

背景技术

眼睑位于眼球前部,上、下眼睑的闭合可有效避免外界的微生物、灰尘等的侵及,起到保护眼球的作用。解剖学上,眼睑共由7层组成:皮肤、眼轮匝肌、眶隔、眶脂肪、牵开肌、睑板和结膜。故全身或局部皮肤、粘膜、肌肉等病变均可累及眼睑,造成眼睑松弛、上睑下垂、眼睑退缩等眼睑疾病,影响外观,并可能阻碍入射光线进而导致功能性视力障碍,给患者带来不便。

目前临床对眼睑疾病的诊治依赖对眼睑参数的测量。以眼睑退缩为例,正常情况下,上睑应该遮盖上方角膜1-2mm,下睑中央位置与角膜处于同一水平。当睑缘与角膜之间有巩膜露出时,则称为眼睑退缩。根据退缩量不同,通常将上睑退缩分为轻度、中度和重度上睑退缩。轻度为上睑退缩1-2mm,中度为上睑退缩3-4mm,重度为上睑退缩大于5mm,在上睑下垂等疾病的诊断过程中也有类似的分级分度标准。不同的分度将影响临床医生在治疗决策时对手术方法的选择,因而对睑裂大小、睑缘与角膜缘距离等眼睑参数的测定,是眼睑疾病临床诊疗过程中的重要环节。

而现有诊疗过程中,对眼睑参数的测量多由医生利用尺子进行。这种测量方法较为原始,易受医生个人经验等主观因素影响,偶然误差较大。同时,由于眼部复杂的三维结构,眼睑参数本身较难准确测量,且测量过程相对繁琐,导致实际诊疗过程效率低下。

随着人工智能的发展,图像识别与图像测量技术开始广泛应用于医疗领域,为解决这一行业问题提供了可行方案。但目前的精准测量方法多依赖于三维人脸模型,需要特定的设备进行人脸采集,使用门槛较高,同样不适用于一线临床应用。部分以二维照片为对象进行的自动测量又受眼部本身结构影响,难以实现准确的测量。

发明内容

本发明的目的是:提供一种适用于临床实际诊疗环境的,基于二维照片可实现的标准化眼睑参数精准测量方法及系统。

为了达到上述目的,本发明的一个技术方案是提供了一种基于三维人脸模型重建的眼睑参数测量方法,其特征在于,包括以下步骤:

步骤1、获取患者的二维人脸图片,将二维人脸图片输入映射模型后获得三维人脸数据;

步骤2、利用Mesh-UV展开算法将三维人脸数据映射到二维上,获得每个三维人脸数据点坐标所对应的二维纹理贴图的坐标,从而建立完整的三维人脸模型;

步骤3、基于二维纹理贴图提取关键点,该关键点包括眼睑边缘关键点以及角膜关键点,其中:

利用边缘检测算法从二维纹理贴图上提取眼睑边缘关键点;

提取角膜关键点时,遍历二维纹理贴图上角膜所对应圆周上的所有点,任意三个点经Hough变换后在三维参数空间应对应的一点进行投票,遍历结束后,得票数最高的三维参数空间中的点所确定的圆即为当选圆,基于当选圆提取角膜关键点;

步骤4、基于关键点计算相关眼睑参数。

优选地,步骤1中,所述映射模型采用Transformer。

优选地,步骤2中,利用Mesh-UV展开算法将三维人脸数据映射到二维上包括以下步骤:

步骤201、在基于三维人脸数据构建的三维图上创建网格割缝,便于网格能够分割成一块块的圆盘结构;

步骤202、将创建好网格割缝的三维图沿着割缝展开,并且按照原本的拓扑结构,将其平面化;

步骤203、运用线性插值方法将步骤202得到的一块块隔开的贴图之间的空隙补全,得到完整的二维纹理贴图。

优选地,步骤3中,采用开源dlib库人脸关键点检测模型,获取人脸三维模型中的眼睑边缘关键点。

优选地,步骤3中,提取角膜关键点时,提取当选圆的圆心点以及上、下圆周点为所需的角膜关键点。

优选地,所述步骤4包括以下步骤:

步骤401、将获取的关键点由二维纹理贴图坐标映射到三维坐标;

步骤402、遍历所有点的二维纹理贴图坐标,计算当前点的二维纹理贴图坐标与关键点二维纹理贴图坐标的二维距离,取关键点最邻近的点的三维坐标作为关键点映射到三维的坐标;

步骤403、计算与相应眼睑参数相关的两个关键点的三维欧氏距离;

步骤404、将三维欧氏距离转化为实际距离;

步骤405、利用预先确定的放缩比例S计算实际距离所对应的真实尺寸,从而获得了相关眼睑参数。

优选地,步骤405中,所述放缩比例S采用以下方法确定:

预先在患者的目标部位放置预定大小的标签,获得放置有标签的患者人脸图像,根据患者人脸图像中标签所对应的像素大小与标签实际大小的比例确定所述放缩比例S。

优选地,所述步骤405包括以下步骤:

步骤4051、获得实际距离所对应的像素值;

步骤4052、利用步骤4051获得的像素值以及预先确定的放缩比例S计算实际距离所对应的真实尺寸,从而获得了相关眼睑参数。

本发明的另一个技术方案是提供了一种基于三维人脸模型重建的眼睑参数测量系统,其特征在于,包括:

映射模型,将患者的二维人脸图片输入映射模型后获得三维人脸数据;

三维人脸模型建立模块,采用Mesh-UV展开算法将三维人脸数据映射到二维上,获得每个三维人脸数据点坐标所对应的二维纹理贴图的坐标,从而建立完整的三维人脸模型;

关键点提取模块,用于基于二维纹理贴图提取关键点,该关键点包括眼睑边缘关键点以及角膜关键点,进一步包括

眼睑边缘关键点提取单元,利用边缘检测算法从二维纹理贴图上提取眼睑边缘关键点;

角膜关键点提取单元:遍历二维纹理贴图上角膜所对应圆周上的所有点,任意三个点经Hough变换后在三维参数空间应对应的一点进行投票,遍历结束后,得票数最高的三维参数空间中的点所确定的圆即为当选圆,基于当选圆提取角膜关键点;

眼睑参数计算模块,用于基于关键点计算相关眼睑参数。

本发明公开的基于二维照片的眼睑测量方法,能够有效地帮助临床实践上便携地获得有关眼睑的参数,从而用于眼睑疾病的诊断或眼部相关其他疾病如甲状腺相关眼病的诊断。借助人工智能技术,利用图像识别与测量技术,能够快速的获得眼睑测量结果,避免由于经验、仪器或操作带来的临床上的测量差异,消解因不同医生间的标准不同而带来的误差,逐步构建标准化、普适化的眼睑相关参数集。

另一方面,由二维照片重新构建三维照片并进一步测量,能够极大地扩大该技术的应用场景。目前科研中普遍提出有关基于三维照片的眼睑测量方法,三维照片拍摄限制多,要求高。相比之下二维照片普适性更强,市面上普遍各类摄像头均能满足拍摄条件,也因此其在医院内的检测能被大大简化,也能扩展到更多的使用场景,例如:手机端调取该基于人工智能技术测量的眼睑参数的API端口,实现长期自我监测;眼部整容手术的定制与设计;开车期间防止嗜睡的动态眼睑参数监测。

从技术角度实现二维到三维的构建,借助人工智能建立起二维照片与三维照片间的紧密联系,通过现有数据集进行反复训练,使其能够高效精准地完成眼睑参数的测量,节约医疗资源与人工成本。

附图说明

图1为本发明的流程图;

图2示意了Transformer的整体结构;

图3示意了构成编码器Encoder的基本模块;

图4示意了三维模型的存储格式;

图5为放置原片示意图;

图6示意了配准流程。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

结合图1,本实施例公开的技术方案包括以下内容:

一)基于Transformer的三维图像重建

测量眼睑参数,首先需要得到三维人脸及其对应的二维纹理贴图。因此,本发明需要通过单张二维图片生成三维人脸及其贴图。目前拥有成对的数据集,在该数据集中,二维图片、三维人脸、二维贴图三者一一对应,因此可以直接采用现有的数据集利用监督学习来建立二维图片到三维人脸的映射模型。本实施例中,使用Transformer这种神经网络来搭建前述的二维图片到三维人脸的映射模型,对该映射模型训练后,进行二维到三维的转换。

Transformer的整体结构如图2所示。二维图片首先输入编码器Encoder进行特征的提取与降维。如图3所述,编码器Encoder的输入分为两个分支,一个输入进入编码器Encoder内的多头注意力单元,这是一种根据输入特征的重要性,给出自动适应权重的结构。多头注意力单元得出的结果与输入编码器Encoder的数据直接相加(来自输入的那一直接分支称为“捷径”)后再输入一个多层感知机(MLP)中。MLP可以视作一个由线性变换和非线性变换组成的单元,能够对数据进一步地处理、提取特征。编码器Encoder的输出再作为解码器Decoder的输入。

编码器Encoder的输出为一列向量,这一列向量再输入解码器Decoder进行升维操作。解码器Decoder的结构与Encoder比较类似,但是会增加一些上采样等升维操作,最后得到三维的数据。

为了避免最终生成的三维人脸效果不佳,对于Transformer所输出的三维人脸数据,我们采用标准的三维人脸模板进行配准,最后得到所要的三维人脸数据。具体操作的流程如下所示:

如图6所示,上半部分的流程图即为Transformer的工作过程。为了使得重建出来的三维人脸更加精确,我们引入了下半部分的人脸配准模块,具体来说是利用现有的三维人脸模板加上当前数据集中的三维数据,采用NICP(一种经典的点云匹配算法),得到配准过后的三维人脸数据,再使用该三维人脸数据对Transformer生成的重建三维人脸进行监督,从而得到最小化重建人脸与真实人脸之间的误差。

图6中下半部分的流程图仅仅针对训练过程而言,可以视作是训练过程中的一种辅助修正。在训练完之后的真实应用场景中,仅仅使用上半部分的Transformer进行重建即可。

二)基于Mesh-UV展开算法的二维纹理图获取

获取映射模型输出的三维人脸数据之后,还需要获取该三维人脸数据所对应的二维纹理贴图,本发明用到了UV展开算法。在介绍UV展开算法之前,先简单地介绍一下OBJ文件。

一个完整的三维模型使用.obj格式存储,保存为OBJ文件,其存储格式如图4所示,其中的v代表三维人脸数据点的坐标,vt代表这个三维人脸数据点所对应二维纹理贴图的坐标。因此,Transformer没有办法构成一个完整的三维模型。本部分所要做的任务是将三维人脸数据进行二维展开,得到二维纹理贴图,这样才能够得到完整的OBJ文件(即获得完整的三维模型)以及完整的三维-二维映射关系,为后续眼睑参数测量奠定基础。

将三维人脸数据进行二维展开的算法,即为UV展开算法。理论上,已知三维人脸数据的情况下,可以通过一定的映射方法,将三维数据映射到二维上。具体的算法有以下几步:创建网格割缝、网格贴图平面化、贴图线性插值补全。

步骤1、创建网格割缝。

首先需要在基于三维人脸数据构建的三维图上创建一些网格割缝,一般而言,网格割缝都长度较短,割线光滑并且沿着特征边,往往也需要分布在视觉不明显的地方。网格割缝的创建是为了便于网格能够分割成一块块的圆盘结构,便于平面拼接。

步骤2、网格贴图平面化。

将创建好网格割缝的三维图沿着割缝展开,并且按照原本的拓扑结构,将其平面化。但此时,由于三维到二维绝大部分情况下没有办法密铺,所以一块块隔开的贴图之间会有空隙。

步骤3、贴图线性插值补全。

运用双线性插值等方法,将空隙进行补全,最后得到完整的二维纹理贴图,即UVmap。

至此,UV展开完成,已经得到了完整的OBJ文件,可以进行下一步的眼睑关键点提取。

三)基于UVmap的眼睑关键点提取

眼睑参数的计算需要获得眼睑边缘的六个关键点以及角膜关键点(包括角膜上下边缘点以及角膜中心点)。眼睑边缘点的获取可以通过边缘检测实现,角膜在UVmap上呈圆形,可以通过圆检测的方法实现。

(1)眼睑关键点提取

边缘检测常见的方法包括传统视觉(如canny算子边缘检测)和深度学习(如dlib库)两种。前者主要通过计算图片RGB值的梯度,颜色变化剧烈的地方视为边缘;而后者则需要大量的数据进行训练。为了更好地提取边缘关键点,保证参数测量的准确性,我们采用开源dlib库人脸关键点检测模型,获取二维纹理贴图中眼睑边缘的六个关键点。

(2)角膜关键点提取

角膜关键点的获取需要对圆进行拟合,常见的方法是采用Hough变换。Hough变换是将二维图像空间中一个圆转换为该圆半径、圆心横纵坐标所确定的三维参数空间中一个点的过程。因此,圆周上任意三点所确定的圆,经Hough变换后在三维参数空间应对应一点。该过程类似于选举投票过程,圆周上任意三个点为一选举人,而这三个点所确定的圆则为一侯选人(以下称为候选圆〉。遍历UVmap上角膜所对应圆周上的所有点,任意三个点所确定的候选圆进行投票。遍历结束后,得票数最高点(理论上圆周上任意三点确定的圆在Hough变换后均对应三维参数空间中的同一点)所确定的圆即为该圆周上,绝大多数点所确定的圆(以下称为当选圆),以此确定该圆。在确定圆后,提取圆心点,上、下圆周点(即y坐标最大、最小值)即为所需的角膜关键点。

四)基于UVmap与三维人脸数据的眼睑参数计算

获取关键点数据后,即可对相关眼睑参数进行计算,一般流程是:

步骤1、通过OBJ文件将获取的关键点由二维UVmap坐标映射到三维坐标;

步骤2、遍历OBJ文件里的每一个点,计算当前点的UV坐标与关键点UV坐标的二维距离,取关键点最邻近的点的三维坐标作为关键点映射到三维的坐标;

步骤3、计算与相应眼睑参数相关的两个关键点的三维欧氏距离;

步骤4、将三维欧氏距离转化为实际距离。

为了获得图片大小和实际尺寸,本发明放置了两个直径为10.0mm的圆片标签在患者的额头处。当贴上圆片标签时,我们试图贴平并平行于相机镜头,使倾斜引起的错误尽可能减小。同时为了便于区分,这个圆片标签用绿色标出。假设患者图像中的圆圈为Di像素,则照片大小对应实际大小的放缩比例为:S=Di/10mm;当我们测量了实际距离所对应的像素值后,即用放缩比例S来计算实际距离所对应的真实尺寸,从而获得了相关眼睑参数。

本发明具有应用场景广、测量准确度高等优点,能够标准化传统临床诊疗过程中繁琐且易受主观因素干扰的眼睑参数测量过程,助力以眼睑疾病为主的多种眼病的诊断评估,节约人工成本,提升医疗效率。

技术分类

06120115952391