本发明涉及图像处理技术,具体涉及一种检测提上睑肌肌力的方法及装置。
背景技术:
上睑下垂是一种常见于眼部上眼睑处的疾病,轻者遮挡部分瞳孔,严重者瞳孔全部被遮盖,会一定程度上影响到美观和视觉功能,而且还可能会导致先天性上脸下垂患者弱视。该疾病具体指提上睑肌(动眼神经支配)müller平滑肌(交感神经支配)的功能不全或完全丧失,以致上脸呈现部分或全部下垂。会影响患者的生活质量。因此尽早发现对患者的干预治疗至关重要。传统的临床诊断是依靠医生的主观经验来判断,并且需要患者的密切配合。若患者是婴儿、认知上有障碍等的特殊患者,精准判断结果将变得更加困难。而导致该疾病的直接原因就是上眼睑肌肌力不足。
技术实现要素:
本发明的目的在于克服上述现有技术的不足,提供一种检测提上睑肌肌力的方法及装置,以替代传统的检测方法,能够快速、客观、准确地获得提上睑肌肌力的大小。
为实现上述目的,本发明的技术方案是:
第一方面,本发明实施例提供了一种检测提上睑肌肌力的方法,包括:
输入人脸图片,对人脸图片进行变换,得到变换后的人脸图片;
将变换后的人脸图片作为上睑检测模型的输入,上睑检测模型输出上下眼睑边缘的高度h1以及眉毛的活动高度h2,
根据上下眼睑边缘的高度h1以及眉毛的活动高度h2得到提上睑肌肌力值p。
第二方面,本发明实施例提供了一种检测提上睑肌肌力的装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
本发明与现有技术相比,其有益效果在于:
本发明的上睑检测模型通过深度学习可以自动识别眼睑和眉毛,进而算出上下眼睑缘的一个距离h1以及眉毛上下活动的高度h2,最终即可准确地计算出提上睑肌肌力值p。本发明通过运用深度学习技术,经过图像训练后能快速、精准地识别人的眼部,然后运用算法对眼部活动时不同数据的处理得到提提上睑肌力的情况,用简单的算法处理后续深度学习方法得到的具体数据,克服了图像数据处理复杂,消耗内存资源的问题,而且所得结果快速、客观、准确、稳定。
附图说明
图1为本发明实施例1提供的检测提上睑肌肌力的方法的流程图;
图2为瞳孔定位双眼后,患者闭眼时,标记上下睑缘及眉毛中线示意图;
图3为上睑下垂患者代偿性的利用额肌来睁眼的图片,此时睑裂的大小有部分额肌收缩通过皮肤牵引,不能真实反映提提上睑肌肌力情况;
图4为限制额肌(额头肌肉放松不用力)的时候,上睑下垂的实际量,提提上睑肌肌力明显不足的图片;
图5为上下眼睑边缘的高度h1以及眉毛的活动高度h2的示意图;
图6a-6c为眼睑区域初定位处理图;
图7a-7c为采用gabor去噪音效果图;
图8为图7b-7c所对应的投影曲线图;
图9为采用深度学习来定位人眼的流程图;
图10为积神经网络结构图;
图11为本发明实施例2提供的检测提上睑肌肌力的装置的组成示意图。
具体实施方式
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1:
参阅图1所示,本实施例提供的检测提上睑肌肌力的方法主要包括如下步骤:
101、输入人脸图片,对人脸图片进行变换,得到变换后的人脸图片;
102、将变换后的人脸图片作为上睑检测模型的输入,上睑检测模型输出上下眼睑边缘的高度h1以及眉毛的活动高度h2;
103、根据上下眼睑边缘的高度h1以及眉毛的活动高度h2得到提上睑肌肌力值p。
上睑下垂患者为了视线,常常出现过度收缩额肌通过抬眉以提高上睑,如图2-5所示,此时的上下眼睑缘的距离h1而不能真实反映提提上睑肌肌力的大小,因为额肌另外施加了一个对上睑的牵引作用力使得该h1的数值偏大,而传统的方法仅仅以上下眼睑缘的距离h1来判断提上睑肌肌力,因此所得到的结果会出现较大的偏差。为此,本申请发明人经过在多次研究并发现,额肌对上睑的牵引作用力可以通过眉毛上下活动的高度h2来体现,因此在测量提提上睑肌肌力时,需要用上下眼睑缘的距离h1-额肌对上睑的牵引作用力h2(眉毛上下活动的高度)。
而本方法的上睑检测模型通过深度学习可以自动识别眼睑和眉毛,进而算出上下眼睑缘的一个距离h1以及眉毛上下活动的高度h2,最终即可准确地计算出提上睑肌肌力值p。本方法通过运用深度学习技术,经过图像训练后能快速、精准地识别人的眼部,然后运用算法对眼部活动时不同数据的处理得到提提上睑肌力的情况,所得结果快速、客观、准确、稳定。
具体地,上述提上睑肌肌力值p=h1-h2。另外,为了获得更为准确的结果,可以通过患者多次眨眼的图片来多次算得h1和眉毛上下活动的高度h2,最后取h1和h2的一个平均来算出提提上睑肌肌力p。
而对于人眼的等位,传统的人眼定位方法是通过算法来实现,一般分为以下几步:眼睑大致位置的预定位,除去噪声,精确定位人眼睑的位置。
大概分为以下几步:
(1)眼睑区域初定位
首先用3*3算子腐蚀图像,并对其进行gabor变化(图6a),然后对gabor变化后的人脸上半部分做投影,可以大概获取两只眼的横坐标(图6b),再找出两只睛区域的最大灰度,以最低灰度的0.92倍作为阈值,将眼睛区域进行二值化(图6c),最后检测二值化区域。
这一步的过程中,灰度值的选取会直接影响最终的结果,而神经网络这一方法是通过大量数据训练后对人眼图像定位因而会更加精准,并且灰度值对人眼位置定位的影响会大大降低,而且得到的模型对图像进行定位不需要像算法那样繁琐且缓慢的步骤,只需要导入图片即可预测定位人眼,而且能在几十秒内预测上千张图片,故使用深度学习的方法来定位人眼将会更加快速和准确。
(2)噪声去除
其实在初定位中就已经用到gabor了,用它对人脸处理后,不仅可以帮助去除噪声的影响,其实还可以减少光照阴影的影响。
以右眼为例,分别对图7b和图7c进行投影,获取眼的纵坐标和横坐标,投影曲线如图所示,经过gabor处理后的曲线更加的平滑,更容易判断波谷的位置。
光线、图像噪声,是算法处理的必须处理的难题,光线和噪声都会影响图像的灰度值全部或局部发生改变,导致算法定位的不准确,而为了处理这一难题,用算法定位会多用几个步骤,增加了定位花费的时间。用深度学习则不需要考虑这一问题,在模型训练后,只需要导入图片即可定位出人眼的位置,时间更短,更准确。
(3)精确定位
第二步中用到的积分投影,就是改进的投影方式,在初定为区域内投影的效果。采用的是最小邻域均值投影。
当然,如果想定位准确,还需要做些细致的工作:比如可以先预判人脸的倾斜角度,这样就可以把gabor变换的方向性用起来,这样变换后的人脸,投影曲线更加平滑,容易判断眼睛位置。在这步是具体定位,用到了许多方法,细节很多,花费大量时间和步骤才能达到精准定位。
若用传统算法定位,对正面人脸还是比较好确定的,但是当人脸发生姿态变化时,如何较准确获取,会造成困难。当然有人用二值化眼睑区域的方法,但光照不同的时候,人脸面部的亮度会因此而改变因此二值化的阈值设定会受到限制,而且图像处理领域,凡是涉及到阈值的,都是比较麻烦处理操作。
为此,在本实施例中,如图10所示,本方法采用深度学习来定位人眼,在训练阶段,首先将现有的人脸数据集注标签信息,形成256×256分辨率的训练数据集;然后将大小为256×256的训练数据集输入u-net网络中,采用随机梯度下降法更新网络的参数,迭代多次,来得到u-net网络模型。
本实施方法中,关键点分别含有眉毛两端点,上眼睑、下眼睑周围的特征点。卷积神经网络结构如大致如图11所示,u-net输入256×256×3的图像,3表示图像的三通道,卷积核的大小为3×3,池化采用的是最大池化,窗口大小为2×2,本网络结构图中所有卷积核的步长为1,池化的步长为2,所有的卷积层和全连接层之后连接的是激励层,激活函数是softmax。该u-net的任务是人脸分类,3关键点位置回归;对于人脸分类任务,损失函数采用交叉熵损失函数,为了降低对异常样本的敏感性并且防止梯度爆炸,关键点位置回归任务采用平滑的l1损失函数,因此整个网络的损失函数为两种损失函数的加权之和。
(1)数据集准备
准备一定数量的人脸图像,可以是不同角度和光线亮度的,然后对其眼部进行标签标记。当不同的数据集越多的时候,深度学习训练得到的模型泛化能力就越强。
(2)训练与预测
网络框架使用u-net网络,设定好训练的参数后,进行一定批次的训练,将会得到一个模型,之后可以直接用来预测任何一张人脸图片,预测之后会得到一个只含有人眼位置数据的图像。
(3)得到感兴趣区域的具体数据
在一组人脸图像数据中,可以通过人眨眼,眼睑面积变化以及算法来计算出上下眼睑边缘的高度h1(经过垂直瞳孔的纵线)以及眉毛的活动高度h2,眼睛在不同情况下的面积大小可由深度学习得到的模型预测得出。
(4)预测提提上睑肌肌力情况
最后具体数据经过计算机处理得到具体、精准的提提上睑肌肌力的具体情况p=h1-h2。
由此可知,相比于用算法来定位人眼,深度学习的方法不会受到光线的影响,从而能很好的定位人眼,所得到的定位更加准确。
本发明以解决人提提上睑肌肌力检测存在问题为导向,提出了基于深度学习的自动识别人眼的定位方法,从多样本训练后的神经网络模型可以自动识别人脸,返回人眼位置、面积等数据,最终得到感兴趣区域的相关信息,从而实现人眼的定位。采用的识别方式在基于整个图像,而不是对图像中的某一区域用算法来实现,所以用神经网络的模型来定位更加精准与正确,同时不缺乏速度。对于上睑下垂的情况,用算法来实现可能会出现无法定位、偏移、费时间等问题,而是用深度学习的方法对处理上述问题具有重大意义。本申请还提出了通过定位出上睑和下睑以及眉毛具体位置点后,然后利用找垂直方向最小和最大像素点算法找出经过垂直瞳孔的纵线的位置点,得到h1和h2后,p=h1-h2,亦即,用简单的算法处理后续深度学习方法得到的具体数据,克服了图像数据处理复杂,消耗内存资源的问题,同时为提提上睑肌肌力的检测提供了一种高效快速的方法。
实施例2:
参阅图11所示,本实施例提供的检测提上睑肌肌力装置包括处理器111、存储器112以及存储在该存储器112中并可在所述处理器111上运行的计算机程序113,例如检测提上睑肌肌力程序。该处理器111执行所述计算机程序113时实现上述实施例1步骤,例如图1所示的步骤。
示例性的,所述计算机程序113可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器112中,并由所述处理器111执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序113在所述检测提上睑肌肌力装置中的执行过程。
所述检测提上睑肌肌力装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述检测提上睑肌肌力装置可包括,但不仅限于,处理器111、存储器112。本领域技术人员可以理解,图11仅仅是检测提上睑肌肌力装置的示例,并不构成检测提上睑肌肌力装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述检测提上睑肌肌力装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器111可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器112可以是所述检测提上睑肌肌力装置的内部存储元,例如检测提上睑肌肌力装置的硬盘或内存。所述存储器112也可以是所述检测提上睑肌肌力装置的外部存储设备,例如所述检测提上睑肌肌力装置上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器112还可以既包括所述检测提上睑肌肌力装置的内部存储单元也包括外部存储设备。所述存储器112用于存储所述计算机程序以及所述检测提上睑肌肌力装置所需的其他程序和数据。所述存储器112还可以用于暂时地存储已经输出或者将要输出的数据。
实施例3:
本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现实施例1所述方法的步骤。
所示计算机可读介质可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理再以电子方式获得所述程序,然后将其存储在计算机存储器中。
上述实施例只是为了说明本发明的技术构思及特点,其目的是在于让本领域内的普通技术人员能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡是根据本发明内容的实质所做出的等效的变化或修饰,都应涵盖在本发明的保护范围内。