技术简介:
本专利针对传统斜视检测精度不足的问题,提出基于双摄像头和深度学习的解决方案。通过标定内外参数建立坐标映射,结合改进U-Net分割虹膜、ResNet定位瞳孔反射点,利用三维坐标计算瞳孔与反射点的距离方向,实现斜视类型及严重程度的精准判断,显著提升检测准确性。
关键词:双摄像头检测,深度学习坐标转换
1.本发明具体涉及一种基于深度学习的斜视识别系统。
背景技术:2.通常人工实施对受试者斜视的检测。在这种情况下,受过训练的临床医师使用“赫斯伯格测试法(hirschberg test)”对受试者的眼睛进行评估,“赫斯伯格测试法”是用于检查眼睛的瞳孔在聚焦和注视到置于其正前方的目标上时是否对称的一项公认的、但是粗略的测试法。
3.从广义上而言,赫斯伯格测试法通过下述来实行,即在受试者的眼睛处照射来自位于眼睛正前方的光源的光,让患者聚焦于光或恰好紧靠其的对象,以及观察在两只眼睛中光的反射点(reflection)和瞳孔的中心之间的距离在大小和方向上是否显现得相同。
4.而人工进行斜视测试,其准确性较大程度上依赖于医生的经验,因此其对专业医生的资源需求较高,不能很好地满足庞大的斜视患者人群。对此,中国专利cn 104661580 a公开了斜视检测,其具体公开了所述至少一个图像使用包括光源和从光源偏移的目标的设备来获得,所述方法对于受试者的左眼和右眼中的每一个而言包括:从图像确定反射偏移距离,其是眼睛的参考点和光源在眼睛上的反射点之间的距离;针对相应的左眼或右眼确定反射偏移距离和参考反射偏移距离之间的差异,其中参考反射偏移距离基于光源、目标和受试者的头部的相对位置来确定;以及确定所述差异是否小于差异阈值以便确定受试者是否具有斜视,该专利公开了可通过计算机图像处理技术和分析技术来使该过程自动化完成。
5.但是目前基于图像来确定偏移距离的方式多是基于传统的单目相机,采用单目相机无法获得真实的偏移距离,只能得到像素距离来做一定的估算,这样极大的增加了判定的难度,也导致了斜视判定时可能会存在偏差的问题出现。
技术实现要素:6.针对现有技术存在的不足,本发明的目的在于提供一种基于深度学习的斜视识别系统。
7.为实现上述目的,本发明提供了如下技术方案:
8.一种基于深度学习的斜视识别系统,其包括:
9.两个拍摄装置,用于获取患者的人脸图像;
10.坐标转换模型,基于两个拍摄装置的内参矩阵及外参矩阵,用于图像坐标点输入转换为三维坐标输出;
11.眼部感兴趣区域提取单元,对拍摄装置获取的人脸图像进行人脸关键点检测,并将人脸图像转换为特征点式图像,并提取包含眼部感兴趣区域的图像;
12.虹膜分割单元,由基于改进的u-net的网络结构训练生成,用于输入眼部感兴趣区域的图像,输出虹膜图像;
13.中心点检测单元,由基于改进的resnet网络结构训练生成,用于输入虹膜图像,输出瞳孔中心点和反射光中心点的坐标;
14.输出单元,将中心点检测单元获取的两个拍摄装置拍摄的人脸图像的瞳孔中心点和反射光中心点,利用坐标转换模型获得瞳孔中心点和反射光中心点在三维空间中的坐标,并利用该坐标计算眼睛的瞳孔和反射点的距离和方向,并输出该结果。
15.所述坐标转换模型的内参矩阵通过网格标定法获取,借助标准的棋盘网格作为标定板,每个相机拍下若干张各个角度的网格图像,将图像输入到标定算法就获得相机的内参矩阵和畸变系数。
16.所述坐标转换模型的外参矩阵获取方法如下,通过两个拍摄装置同时拍摄同一个标定板画面获取外参矩阵,以第一个拍摄装置的原点作为世界坐标系的原点位置,获取第一个拍摄装置的外参矩阵,同时拍摄的同一个标定板画面图像计算得到第一个拍摄装置到第二个拍摄装置的偏移和旋转矩阵,求得的第一个拍摄装置到第二个拍摄装置的偏移和旋转矩阵就是第二个拍摄装置的外参矩阵。
17.眼部感兴趣区域提取单元基于下述步骤进行,
18.一、通过人脸检测获取目标人脸图像;
19.二、对目标人脸图像进行特征点检测;
20.三、对完成特征点检测的人脸图像进行对齐处理,使人脸图像变化成特征点形式图像,并且将其对齐到基准人脸上;
21.四、根据眼睛的关键点进一步截取出感兴趣的眼部区域。
22.所述基于改进的u-net的网络结构包括:
23.位于左侧的编码器,由两个3x3的卷积层+激活层,再加上一个2x2的下采样层组成一个下采样模块;
24.位于右侧的解码器,由一个上采样的卷积层+特征拼接+两个3x3的卷积层和激活层反复构成;
25.不同膨胀系数的膨胀卷积,设置在编码器的底部,用于在不缩小特征图分辨率的情况下增加网络模型的感受野。
26.所述基于改进的resnet的网络结构在残差连接中引入空洞卷积替代池化层。
27.所述基于改进的resnet的网络结构包含12个串接的残差模块,每个残差模块由2个卷积层构成,每个卷积层由批量归一化和激活层修正线性单元激活,其中第9个和第10个残差模块采用系数为3的空洞卷积,第8个和第11个残差模块采用系数为2的空洞卷积,其他残差模块的残差连接采用普通的卷积层;第3个和第6个残差模块对特征图进行了系数为2的下采样,并把第5个、第9个和第12个残差模块的输出引出,用反卷积进行放大因子分别为2、4和4的上采样,使从3个分支引出的特征图与输入图像大小一致后进行通道连接实现多尺度融合,连接后的特征图再经过一个卷积层得到瞳孔的特征图和反射点的特征图。
28.基于瞳孔的特征图获取瞳孔分割的损失函数dsc,基于反射点的特征图获取反射点定位的损失函数mse,获取基于改进的resnet网
络结构的损失为loss=dsc+αmse。
29.通过反向传播算法进行不断迭代优化卷积神经网络的预测精度。
30.本发明的有益效果:采用双拍摄装置,通过拍摄装置的标定得到其内外参数矩阵,从而能算出图像中的点到真实世界点的映射关系,进而得到真实世界的距离。得到瞳孔中心点和反射中心点在现实世界中的距离和偏移的角度,更有利于判定患者是否患有斜视和斜视的种类,且其准确性更高。
附图说明
31.图1为本发明的拍摄装置的标定原理示意图。
32.图2为传统的u-net网络结构图。
33.图3为改进的u-net的网络结构图。
34.图4为基于改进的resnet的网络结构图。
35.图5为脸部关键点检测示意图。
具体实施方式
36.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后
……
)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
38.在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
39.如图所示,本发明提供了一种基于深度学习的斜视识别系统,其包括:
40.两个拍摄装置,用于获取患者的人脸图像,拍摄装置为相机,设置在患者正前方,分别获取各自的人脸图像;
41.坐标转换模型,基于两个拍摄装置的内参矩阵及外参矩阵,用于图像坐标点输入转换为三维坐标输出,其中相机的内参矩阵计算采用业内成熟的网格标定法,借助标准的棋盘网格作为标定板,每个相机拍下若干张各个角度的网格图像,将图像输入到标定算法就可以得到相机的内参和畸变系数。而相机的外参矩阵则通过两个相机同时拍摄同一个标定板画面可以求得,假定相机a和相机b,以相机a的相机原点作为世界坐标系的原点位置,故可以得到相机a的外参矩阵,同时拍摄的同一个标定板画面图像计算得到相机a到相机b的偏移和旋转矩阵,求得的相机a到相机b的偏移和旋转矩阵就是相机b的外参矩阵。至此,相机的标定过程完毕,通过两个相机的内参和外参矩阵系数,并且已知同一个点在两个相机拍摄画面中的位置,可以求得该点在3维空间中的坐标位置;
42.眼部感兴趣区域提取单元,对拍摄装置获取的人脸图像进行人脸关键点检测,并将人脸图像转换为特征点式图像,并提取包含眼部感兴趣区域的图像;
43.为了减少图像的其他区域对虹膜分割的干扰,我们首先需要定位出人脸区域,再根据人脸的各个关键点的位置定位眼睛所在的感兴趣区域。在这采用了开源数据工具库dlib来完成人脸的检测对齐和眼部感兴趣区域的提取。dlib人脸识别技术的主要过程是:首先,通过人脸检测获取目标人脸图像;然后,对目标人脸图像进行特征点检测;接下来,对完成特征点检测的人脸图像进行对齐处理,使人脸图像变化成特征点形式图像,并且将其对齐到基准人脸上,起到摆正和校正人脸的作用。
44.在得到了人脸的关键点之后,我们根据眼睛的关键点进一步截取出感兴趣的眼部区域,作为后面进行斜视判定的基础。
45.虹膜分割单元,由基于改进的u-net的网络结构训练生成,用于输入眼部感兴趣区域的图像,输出虹膜图像;
46.为了计算瞳孔的中心点,需要首先对虹膜进行提取,这里采取了基于语义分割的提取方法。语义分割通过对每个像素进行密集的预测、推断标签来实现细粒度的推理,从而使每个像素都被标记为其封闭对象区域的类别。随着深度学习的复兴和不断发展,目前基于深度卷积神经网络的语义分割模型越来越获得了学术界和工业界的青睐。本技术采用的虹膜语义分割模型也是基于卷积神经网络构建。
47.深度神经网络模型的精准预测来自于大量的训练,本技术中虹膜分割模型的训练数据采用了英国剑桥大学开源的基于计算机仿真生成的人眼图像nityeyes。该训练数据将人眼区域的3d模型与实时渲染框架相结合,该3d模型源自于高分辨率3d面部扫描,并结合了复杂眼球材料和结构的实时近似,以及用于眼睑动画的解剖学程序几何方法,有很高的相似性且可以无限制的增加数据量,这位模型的训练提供了坚实的基础。
48.unityeyes数据集的每张图片中,都有与之对应的元数据标记。为了下一步的卷积神经网络的训练,将预标注中的虹膜的关键点围起来填充成为掩码图。
49.深度神经网络凭借着其自动学习的能力,近年来在各个领域取得了许多应用成果,u-net是深度神经网络在医疗图像分割领域广为应用的典型例子。u-net是ronneberger等于2015年提出的一种面向生物影像的图像分割网络。在u-net出现之前,大部分的学者都是采用传统的诸如阈值分割等方法或机器学习结合图像特征来进行分割,但脑、胸腺、角膜内皮细胞等组织的特征繁多,种类不一,采用人工提取特征的手段无疑会带来特征不足、特征偏差等问题。针对这些问题,深度神经网络可以有效的自动提取特征,从而实现更高效率的医疗图像分割。
50.本技术的虹膜分割模型的构建采用了基于u-net的升级结构。传统的u-net的结构如图2所示。u-net的网络结构前半部分为特征提取,后半部分是上采样,这种结构又被称为编码器-解码器结构,由于网络的整体结构是一个大些的英文字母u,所以叫做u-net。左半部分的编码器部分,由两个3x3的卷积层+激活层(relu)再加上一个2x2的下采样层(maxpooling)组成一个下采样的模块;右半部分的解码器部分,由一个上采样的卷积层(去卷积层)+特征拼接(concat)+两个3x3的卷积层和激活层(relu)反复构成。本技术在传统的u-net结构上,在编码器的最底部连续加入了由不同膨胀系数的膨胀卷积,膨胀卷积能在不缩小特征图分辨率的情况下增加网络模型的感受野,这样一方面可以让每个卷积输出都包
含较大范围的信息,减少下采样层保留小目标的可见性,另一方面更大的感受野也能更好把握图像的整体特征,有助于分割的准确率。
51.中心点检测单元,由基于改进的resnet网络结构训练生成,用于输入虹膜图像,输出瞳孔中心点和反射光中心点的坐标;
52.斜视的自动判定需要知道瞳孔的中心点和光源反射中心点的位置。本发明采用了专门设计的检测瞳孔的中心点和光源反射中心点的卷积神经网络。整个卷积神经网络的设计采用了改进的resnet作为骨干网,去掉了resnet中的所有池化层,在残差模块的残差连接(skip connection)中引入空洞卷积(dilated/atrous convolution)作为池化层的替代,并从网络的不同深度引入多尺度的特征图进行多尺度融合以保留全局特征和局部特征。resnet的残差连接可以在训练时加速收敛,本网络中包含12个残差模块,网络的输入为512x512大小的rgb三通道图像,首先对图像进行归一化(式1)后得到输入张量,
[0053][0054]
输入张量经过一个卷积层处理后进入由12个残差模块串接的深度网络,每个残差模块由2个卷积层构成,每个卷积层后由批量归一化(batch normalization)和激活层修正线性单元(relu)激活。其中第9个和第10个残差模块采用系数为3的空洞卷积,第8个和第11个残差模块采用系数为2的空洞卷积,其他残差模块的残差连接采用普通的卷积层处理;网络的第3个和第6个残差模块后对特征图进行了系数为2的下采样以得到不同尺度的特征,并把第5个、第9个和最后一个残差模块的输出引出,用反卷积进行放大因子分别为2、4和4的上采样,使从3个分支引出的特征图与输入图像大小一致后进行通道连接实现多尺度融合,连接后的特征图再经过一个卷积层得到瞳孔的特征图和反射点的特征图。其中瞳孔特征图用于计算瞳孔分割的损失函数,反射点特征图用于计算反射点定位的损失函数,两者损失函数有所不同,瞳孔分割采用了基于dice系数的损失函数dsc(式2),而反射点预测图则是类似于骨骼关键点检测,运用了mse作为损失函数(式3),整个卷积网络的损失函数由瞳孔分割的损失和反射点定位的损失经过一定的比例alpha协调相加得到(式4)。整个网络通过反向传播算法进行不断迭代优化网络的预测精度。
[0055][0056][0057]
loss=dsc+αmse
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式4)
[0058]
输出单元,将中心点检测单元获取的两个拍摄装置拍摄的人脸图像的瞳孔中心点和反射光中心点,利用坐标转换模型获得瞳孔中心点和反射光中心点在三维空间中的坐标,并利用该坐标计算眼睛的瞳孔和反射点的距离和方向,并输出该结果。
[0059]
通过卷积神经网络计算分别得到两个相机视角下的瞳孔中心点和反射光中心点,通过相机内外参数计算得到这两个点的3维坐标。得到3维的坐标点之后,通过分别计算眼睛的瞳孔和反射点的距离和方向,以此来判断出是否存在斜视以及斜视的种类。若瞳孔中心基本和反射中心一致并距离小于1cm,则判断为无斜视。若瞳孔中心在反射光点的内侧并
且水平距离大于1cm,则表示该眼存在内斜视。若瞳孔中心在反射光点的外侧并且水平距离大于1cm,则表示该眼存在外斜视。若瞳孔中心在反射光点的上侧并且垂直距离大于1cm,则表示该眼存在上斜视。若瞳孔中心在反射光点的下侧并且垂直距离大于1cm,则表示该眼存在下斜视。并且通过水平和垂直方向的结合,可以判定出上外,上内,下外,下内这4种组合斜视。除此之外,通过求解瞳孔中心与反射光点的水平距离和虹膜中心到虹膜边缘距离的比值关系可以得到患者斜视的严重程度,若瞳孔中心与反射光点的水平距离和虹膜中心到虹膜边缘距离的比值小于1/3则视为轻微斜视,大于1/3视为严重斜视。
[0060]
实施例不应视为对本发明的限制,但任何基于本发明的精神所作的改进,都应在本发明的保护范围之内。