一种眼球震颤识别方法、装置及设备转让专利

申请号 : CN202211523509.5

文献号 : CN115546884B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢伟浩郑小宾吴梓华刘玉萍

申请人 : 广州视景医疗软件有限公司

摘要 :

本发明公开了一种眼球震颤识别方法、装置及设备,包括:根据人脸信息获取人脸关键点信息,并根据所述人脸关键点信息进行人脸对齐,获取区域人眼信息;所述人脸信息包括视频流信息;根据所述区域人眼信息获取角膜轮廓信息,并根据所述角膜轮廓信息通过椭圆拟合获取角膜中心信息;将所述角膜中心信息输入预设的时间序列分类模型中,进行人眼震颤识别。本发明无需佩戴特定的设备,通过普通摄像头即可获取人脸视频流信息,简化了眼球震颤识别的操作,提高了眼球震颤识别的便利性,使得用户可随时随地拍摄人脸信息进行眼球震颤识别。

权利要求 :

1.一种眼球震颤识别方法,其特征在于,包括:

根据人脸信息获取人脸关键点信息,并根据所述人脸关键点信息进行人脸对齐,获取区域人眼信息;所述人脸信息包括视频流信息;基于所述视频流信息获取基准图片,并根据所述视频流信息获取第二图片集,所述第二图片集中包括若干人眼状态为非眨眼的第二图片;

根据所述区域人眼信息获取角膜轮廓信息,并根据所述角膜轮廓信息通过椭圆拟合获取角膜中心信息;

将所述角膜中心信息输入预设的时间序列分类模型中,进行人眼震颤识别;具体为:将所有第二图片的区域人眼信息输入到预先训练好的角膜轮廓识别模型,获取第二图片集中各个图片的角膜中心信息;再比对所有第二图片与基准图片的角膜中心信息,并获取所有第二图片与基准图片的角膜中心信息在水平方向和垂直方向上的偏差;根据所有第二图片的时间顺序,将所有第二图片的角膜中心信息的偏差形成偏差序列;将所述偏差序列输入预设的时间序列分类模型中识别眼球震颤。

2.如权利要求1所述的眼球震颤识别方法,其特征在于,所述根据人脸信息获取人脸关键点信息,并根据所述人脸关键点信息进行人脸对齐,获取区域人眼信息;所述人脸信息包括视频流信息,具体为:根据预设的采样率对人脸信息进行抽帧获取第一图片集,并根据预设的模型对第一图片集中的所有图片进行检测,获取人脸关键点信息,所述人脸关键点信息包括所有图片的人脸关键点;

根据预设规则选取一张图片作为基准图片,并根据所述基准图片对齐第一图片集中在基准图片后抽取的所有图片;

根据对齐后的图片判断人眼状态,获取区域人眼信息。

3.如权利要求2所述的眼球震颤识别方法,其特征在于,所述根据对齐后的图片判断人眼状态,获取区域人眼信息,具体为:根据对齐后的第一图片集中的各个图片中人眼的上眼睑和下眼睑的关键点距离确定各个图片的人眼状态,所述人眼状态包括睁眼和眨眼;

筛选出所有人眼状态为非眨眼的第二图片作为第二图片集,并获取第二图片集中所有第二图片的区域人眼信息。

4.如权利要求1所述的眼球震颤识别方法,其特征在于,所述将所述偏差序列输入预设的时间序列分类模型中识别眼球震颤,具体为:构建时间序列分类模型,设定第一预测时刻和第一预测长度;

抽取第一预测长度的偏差序列作为第一数据;

将第一数据输入时间序列分类模型中,预测第一预测时刻后各个时刻是否发生眼球震颤。

5.如权利要求1所述的眼球震颤识别方法,其特征在于,所述根据所述区域人眼信息获取角膜轮廓信息,并根据所述角膜轮廓信息通过椭圆拟合获取角膜中心信息,具体为:将所述区域人眼信息输入预先训练好的角膜轮廓识别模型,获取角膜轮廓信息;

对角膜轮廓信息进行等间隔采样轮廓的位置信息,并根据所述位置信息进行椭圆拟合,获取角膜中心信息。

6.一种眼球震颤识别装置,其特征在于,包括:关键点识别模块、角膜中心获取模块和震颤识别模块;

所述关键点识别模块,用于根据人脸信息获取人脸关键点信息,并根据所述人脸关键点信息进行人脸对齐,获取区域人眼信息;所述人脸信息包括视频流信息;基于所述视频流信息获取基准图片,并根据所述视频流信息获取第二图片集,所述第二图片集中包括若干人眼状态为非眨眼的第二图片;

所述角膜中心获取模块,用于根据所述区域人眼信息获取角膜轮廓信息,并根据所述角膜轮廓信息通过椭圆拟合获取角膜中心信息;

所述震颤识别模块,用于将所述角膜中心信息输入预设的时间序列分类模型中,进行人眼震颤识别;具体为:将所有第二图片的区域人眼信息输入到预先训练好的角膜轮廓识别模型,获取第二图片集中各个图片的角膜中心信息;再比对所有第二图片与基准图片的角膜中心信息,并获取所有第二图片与基准图片的角膜中心信息在水平方向和垂直方向上的偏差;根据所有第二图片的时间顺序,将所有第二图片的角膜中心信息的偏差形成偏差序列;将所述偏差序列输入预设的时间序列分类模型中识别眼球震颤。

7.如权利要求6所述的眼球震颤识别装置,其特征在于,所述关键点识别模块,还用于:根据预设的采样率对人脸信息进行抽帧获取第一图片集,并根据预设的模型对第一图片集中的所有图片进行检测,获取人脸关键点信息,所述人脸关键点信息包括所有图片的人脸关键点;

根据预设规则选取一张图片作为基准图片,并根据所述基准图片对齐第一图片集中在基准图片后抽取的所有图片;

根据对齐后的图片判断人眼状态,获取区域人眼信息。

8.一种计算机设备,其特征在于,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行如权利要求1至5中任一项所述的眼球震颤识别方法。

9.一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现权利要求1至5中任意一项所述的眼球震颤识别方法。

说明书 :

一种眼球震颤识别方法、装置及设备

技术领域

[0001] 本发明涉及于眼科监测技术领域,尤其涉及一种眼球震颤识别方法、装置及设备。

背景技术

[0002] 眼球震颤(nystagmus;NY)是一种不自主、有节律性、往返摆动的眼球运动。 方向分为水平型、垂直型、旋转型等,以水平型为常见,通常以快相方向表示眼球震颤方向,快相为代偿性恢复注视位的运动,简称眼震。常由视觉系统、眼外肌、内耳迷路及中枢神经系统的疾病引起。
[0003] 现有的眼球震颤识别方法,眼球震颤识别都是基于红外摄像头或包括十字结构光的摄像头;同时,需要特定的设备,例如需佩戴头戴式相机,并且特定设备的操作复杂、摄像头与人眼的相对位置是固定的,设备操作流程严格、容错率低。

发明内容

[0004] 本发明提供了一种眼球震颤识别方法、装置及设备,以解决现有眼颤识别中需要佩戴特定的设备,设备操作复杂、流程严格、容错率低的技术问题。
[0005] 为了解决上述技术问题,本发明实施例提供了一种眼球震颤识别方法,包括:
[0006] 根据人脸信息获取人脸关键点信息,并根据所述人脸关键点信息进行人脸对齐,获取区域人眼信息;所述人脸信息包括视频流信息;
[0007] 根据所述区域人眼信息获取角膜轮廓信息,并根据所述角膜轮廓信息通过椭圆拟合获取角膜中心信息;
[0008] 将所述角膜中心信息输入预设的时间序列分类模型中,进行人眼震颤识别。
[0009] 本发明通过人脸信息识别关键点,从而获取眼部关键点信息,并根据所述眼部关键点信息对齐人脸,获取每一帧图片的眼部信息,并通过时间序列分类模型对眼球震颤进行预测识别;无需佩戴特定的设备,通过普通摄像头即可获取人脸视频流信息,简化了眼球震颤识别的操作,提高了眼球震颤识别的便利性,使得用户可随时随地拍摄人脸信息进行眼球震颤识别。
[0010] 进一步地,所述根据人脸信息获取人脸关键点信息,并根据所述人脸关键点信息进行人脸对齐,获取区域人眼信息;所述人脸信息包括视频流信息,具体为:
[0011] 根据预设的采样率对人脸信息进行抽帧获取第一图片集,并根据预设的模型对第一图片集中的所有图片进行检测,获取人脸关键点信息,所述人脸关键点信息包括所有图片的人脸关键点;
[0012] 根据预设规则选取一张图片作为基准图片,并根据所述基准图片对齐第一图片集中在基准图片后抽取的所有图片;
[0013] 根据对齐后的图片判断人眼状态,获取区域人眼信息。
[0014] 本发明通过人脸关键点对每一帧的人脸进行对齐,无需固定摄像头与人脸的关系,提高了眼球震颤识别的可操作性,便于用户独立进行眼球震颤识别。
[0015] 进一步地,所述根据对齐后的图片判断人眼状态,获取区域人眼信息,具体为:
[0016] 根据对齐后的第一图片集中的各个图片人眼的中上眼睑和下眼睑的关键点距离确定各个图片的人眼状态,所述人眼状态包括睁眼和眨眼;
[0017] 筛选出所有人眼状态为非眨眼的第二图片作为第二图片集,并获取第二图片集中所有第二图片的区域人眼信息。
[0018] 本发明通过剔除非睁眼图片,以获取有效的人眼信息,避免眨眼图片干扰眼球震颤识别。
[0019] 进一步地,所述将所述角膜中心信息输入预设的时间序列分类模型中,进行人眼震颤识别,具体为:
[0020] 将所有第二图片的区域人眼信息输入到预先训练好的角膜轮廓识别模型,获取第二图片集中各个图片的角膜中心信息;
[0021] 在比对所有第二图片与基准图片的角膜中心信息,并获取所有第二图片与基准图片的角膜中心信息在水平方向和垂直方向上的偏差;
[0022] 根据所有第二图片的时间顺序,将所有第二图片的角膜中心信息的偏差形成偏差序列;
[0023] 将所述偏差序列输入预设的时间序列分类模型中识别眼球震颤。
[0024] 进一步地,所述将所述偏差序列输入预设的时间序列分类模型中识别眼球震颤,具体为:
[0025] 构建时间序列分类模型,设定第一预测时刻和第一预测长度;
[0026] 抽取第一预测长度的偏差序列作为第一数据;
[0027] 将第一数据输入时间序列分类模型中,预测第一预测时刻后各个时刻是否发生眼球震颤。
[0028] 本发明通过获取视频片段中各帧角膜中心和眼部中心的偏差,以判断人眼的状态,并利用时间序列分类模型对抽取的数据进行预测,即可预测下一时刻眼球是否发生震颤,以识别整段视频片段中是否发生震颤。
[0029] 进一步地,所述根据所述区域人眼信息获取角膜轮廓信息,并根据所述角膜轮廓信息通过椭圆拟合获取角膜中心信息,具体为:
[0030] 将所述区域人眼信息输入预先训练好的角膜轮廓识别模型,获取角膜轮廓信息;
[0031] 对角膜轮廓信息进行等间隔采样轮廓的位置信息,并根据所述位置信息进行椭圆拟合,获取角膜中心信息。
[0032] 第二方面,本发明实施例还提供了一种眼球震颤识别装置,包括:关键点识别模块、角膜中心获取模块和震颤识别模块;
[0033] 所述关键点识别模块,用于根据人脸信息获取人脸关键点信息,并根据所述人脸关键点信息进行人脸对齐,获取区域人眼信息;所述人脸信息包括视频流信息;
[0034] 所述角膜中心获取模块,用于根据所述区域人眼信息获取角膜轮廓信息,并根据所述角膜轮廓信息通过椭圆拟合获取角膜中心信息;
[0035] 所述震颤识别模块,用于将所述角膜中心信息输入预设的时间序列分类模型中,进行人眼震颤识别。
[0036] 进一步地,所述关键点识别模块,还用于:
[0037] 根据预设的采样率对人脸信息进行抽帧获取第一图片集,并根据预设的模型对第一图片集中的所有图片进行检测,获取人脸关键点信息,所述人脸关键点信息包括所有图片的人脸关键点;
[0038] 根据预设规则选取一张图片作为基准图片,并根据所述基准图片对齐第一图片集中在基准图片后抽取的所有图片;
[0039] 根据对齐后的图片判断人眼状态,获取区域人眼信息。
[0040] 第三方面,本发明实施例提供了一种计算机设备,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行所述的眼球震颤识别方法。
[0041] 第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现所述的眼球震颤识别方法。

附图说明

[0042] 图1为本发明实施例提供的眼球震颤识别方法的一种流程示意图;
[0043] 图2为本发明实施例提供的眼球震颤识别方法的一种人脸关键点示意图;
[0044] 图3为本发明实施例提供的眼球震颤识别装置的一种结构示意图。

具体实施方式

[0045] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046] 实施例一
[0047] 请参照图1,图1为本发明实施例提供的眼球震颤识别方法的一种流程示意图,包括:步骤101至步骤103,具体为:
[0048] 步骤101:根据人脸信息获取人脸关键点信息,并根据所述人脸关键点信息进行人脸对齐,获取区域人眼信息;所述人脸信息包括视频流信息;
[0049] 在本实施例中,所述根据人脸信息获取人脸关键点信息,并根据所述人脸关键点信息进行人脸对齐,获取区域人眼信息;所述人脸信息包括视频流信息,具体为:
[0050] 根据预设的采样率对人脸信息进行抽帧获取第一图片集,并根据预设的模型对第一图片集中的所有图片进行检测,获取人脸关键点信息,所述人脸关键点信息包括所有图片的人脸关键点;
[0051] 根据预设规则选取一张图片作为基准图片,并根据所述基准图片对齐第一图片集中在基准图片后抽取的所有图片;
[0052] 根据对齐后的图片判断人眼状态,获取区域人眼信息。
[0053] 在本实施例中,所述根据对齐后的图片判断人眼状态,获取有效的人眼信息,具体为:
[0054] 根据对齐后的各个图片中人眼的上眼睑和下眼睑的关键点距离确定各个图片的人眼状态,所述人眼状态包括睁眼和眨眼;
[0055] 筛选出所有人眼状态为非眨眼的有效图片,并获取第二图片集中所有有效图片的人眼信息。
[0056] 请参照图2,图2为本发明实施例提供的眼球震颤识别方法的一种人脸关键点示意图。
[0057] 在本实施例中,所述人脸信息包括视频流信息,通过笔记本电脑、手机或平板电脑摄像头捕获用户的人脸视频流信息;然后根据预设的采样率对视频流进行抽帧;例如:每隔0、1、2或n帧对视频进行抽样;接着利用现有的人脸检测和人脸关键点检测方法和工具,如dlib库提供的人脸检测模型和人脸关键点检测模型对抽到的每一帧图片进行检测,得到68个人脸关键点信息。
[0058] 在本实施例中,根据人脸关键点,选择前几秒采集到的视频帧中,根据关键点判断用户人眼状态,并选取人眼状态为睁眼,且眼睛正对摄像头的一张图片作为基准图片,并将所述基准图片上的5个关键点作为基准,通过所述5个关键点将基准图片之后抽取的图片与当前图片通过仿射变换进行对齐,这里主要通过opencv提供的仿射变换的接口实现。
[0059] 作为本发明实施例的一种具体举例,如图2所示,选取图2中索引为36,39,42,45,30的关键点,这里选择的视频帧的方式为:选择睁眼状态下,39到27的距离与27到42的距离差距最小的视频帧作为基准帧,同时获取基准帧的角膜中心位置O。
[0060] 在本实施例中,通过跟踪对齐之后索引为37和41的人眼上的关键点的变化,根据37到41的距离获取两次眨眼期间距离的变化,眨眼可通过距离为0判断,这里设K为距离top5的平均值与36到39的距离之间的比值。当37到41的距离与36到39的距离的比值减去K大于设定阈值(例如‑K*0.1)的时候认为当前帧为睁眼状态。
[0061] 在本实施例中,过滤掉非睁眼视频帧,得到第二图片集,在过滤后当两帧间隔大于时间间隔设定阈值时(比如0.5s)将其断开成为两个序列。随后根据睁眼状态时的眼部关键点(索引为36到41)的平均值作为眼睛的中心点,然后以此作为中心点,裁剪出出宽高分别为1.5倍单眼宽高的矩形框。所述矩形框内包括区域人眼信息。
[0062] 在本实施例中,通过人脸关键点对每一帧的人脸进行对齐,无需固定摄像头与人脸的关系,提高了眼球震颤识别的可操作性,便于用户独立进行眼球震颤识别。通过剔除非睁眼图片,以获取有效的人眼信息,避免眨眼图片干扰眼球震颤识别。
[0063] 步骤102:根据所述区域人眼信息获取角膜轮廓信息,并根据所述角膜轮廓信息通过椭圆拟合获取角膜中心信息;
[0064] 在本实施例中,所述根据所述区域人眼信息获取角膜轮廓信息,并根据所述角膜轮廓信息通过椭圆拟合获取角膜中心信息,具体为:
[0065] 将所述区域人眼信息输入预先训练好的角膜轮廓识别模型,获取角膜轮廓信息;
[0066] 对角膜轮廓信息进行等间隔采样轮廓的关键点信息,并根据所述关键点信息进行椭圆拟合,获取角膜中心信息。
[0067] 在本实施例中,获取区域人眼信息,并将区域人眼信息输入到基于深度学习的角膜轮廓识别模型,获取角膜轮廓,基于获取到的轮廓信息,采用椭圆拟合的方式,获取角膜中心。
[0068] 在本实施例中,利用人眼的角膜数据及与之对应的分割图对现有的分割网络(如u‑net)进行微调,并训练得到角膜分割模型。将所述区域人眼信息输入到预先训练好的角膜分割模型,获取角膜的分割信息。接着,对包括分割信息的分割图进行膨胀并减去膨胀前的分割图得到前景的轮廓信息。接着,从前景的轮廓信息等间隔采样轮廓的位置信息,并利用这些信息拟合成一个椭圆,最终,得到的椭圆中心作为角膜的中心,并获取第一图片集中所有图片的角膜中心。
[0069] 步骤103:将所述角膜中心信息输入预设的时间序列分类模型中,进行人眼震颤识别。
[0070] 在本实施例中,所述将所述角膜中心信息输入预设的时间序列分类模型中,进行人眼震颤识别,具体为:
[0071] 将所有第二图片的区域人眼信息输入到预先训练好的角膜轮廓识别模型,获取第二图片集中各个图片的角膜中心信息;
[0072] 在比对所有第二图片与基准图片的角膜中心信息,并获取所有第二图片与基准图片的角膜中心信息在水平方向和垂直方向上的偏差;
[0073] 根据所有第二图片的时间顺序,将所有第二图片的角膜中心信息的偏差形成偏差序列;
[0074] 将所述偏差序列输入预设的时间序列分类模型中识别眼球震颤。
[0075] 在本实施例中,获取到角膜中心点之后,可以得到角膜中心点与基准图片的角膜N中心点O在x和y方向上的偏差(bx、by),然后将连续N帧图片的偏差构成一个偏差序列(Bx ,N
By)。
[0076] 在本实施例中,所述将所述偏差序列输入预设的时间序列分类模型中识别眼球震颤,具体为:
[0077] 构建时间序列分类模型,设定第一预测时刻和第一预测长度;
[0078] 抽取第一预测长度的偏差序列作为第一数据;
[0079] 将第一数据输入时间序列分类模型中,预测第一预测时刻后各个时刻是否发生眼球震颤。
[0080] 在本实施例中,预先构建时间序列分类模型,所述时间序列分类模型可以为:rnn、lstm、transformer。
[0081] 在本实施例中,获取偏差序列(BxN,ByN)以及每一帧对应的标签YN,Y为是否出现眼球震颤,然后从中抽取预设长度的序列(如300)作为一个训练样本,前r个标签不提供监督信号,第r个标签开始后的标签信息提供监督信号来训练模型,同时通过滑动窗口的方式对数据进行增强,以获取更多的模型训练样本。在本实施例中,将所述模型训练样本输入时间分类模型中进行训练,并获取训练好的时间序列分类模型。
[0082] 在本实施例中,根据设定的预测长度和第一预测时刻,预测在第一预测时刻起,各个时刻是否发生震颤。具体的假设序列长度为n,则前r个时刻不做预测,从r+1个时刻开始每个时刻会预测当前时刻是否发生眼球震颤。
[0083] 在本实施例中,本发明通过获取视频片段中各帧角膜中心和基准图片的角膜中心的偏差,以判断人眼的状态,并利用时间序列分类模型对抽取的数据进行预测,即可预测下一时刻眼球是否发生震颤,以识别整段视频片段中是否发生眼球震颤。
[0084] 在本实施例中,通过人脸信息识别关键点,从而获取眼部关键点信息,并根据所述眼部关键点信息对齐人脸,获取每一帧图片的眼部信息,并通过时间序列分类模型对眼球震颤进行预测识别;无需佩戴特定的设备,通过普通摄像头即可获取人脸视频流信息,简化了眼球震颤识别的操作,提高了眼球震颤识别的便利性,使得用户可随时随地拍摄人脸信息进行眼球震颤识别。
[0085] 请参照图3,图3为本发明实施例提供的眼球震颤识别装置的一种结构示意图,包括关键点识别模块301,角膜中心获取模块302和震颤识别模块303;
[0086] 所述关键点识别模块301,用于根据人脸信息获取人脸关键点信息,并根据所述人脸关键点信息进行人脸对齐,获取区域人眼信息;所述人脸信息包括视频流信息;
[0087] 所述角膜中心获取模块302,用于根据所述区域人眼信息获取角膜轮廓信息,并根据所述角膜轮廓信息通过椭圆拟合获取角膜中心信息;
[0088] 所述震颤识别模块303,用于将所述角膜中心信息输入预设的时间序列分类模型中,进行人眼震颤识别。
[0089] 在本实施例中,所述关键点识别模块,还用于:
[0090] 根据预设的采样率对人脸信息进行抽帧获取第一图片集,并根据预设的模型对第一图片集中的所有图片进行检测,获取人脸关键点信息,所述人脸关键点信息包括所有图片的人脸关键点;
[0091] 根据所述预设规则选取一张图片作为基准图片,并根据所述基准图片对齐第一图片集中在基准图片后抽取的所有图片;
[0092] 根据对齐后的图片判断人眼状态,获取区域人眼信息。
[0093] 在本实施例中,基于普通摄像头的眼球震颤识别方法,不需要使用额外的辅助设备;通过人脸关键点对齐的方式对人脸进行校准,无需固定摄像头与人脸的相对位置;通过对角膜轮廓的识别获取角膜中心,并采用基于rnn或者transformer的序列分析模型对从人脸的视频序列中获取到的角膜中心与基准图片的角膜中心的偏差序列进行识别,最终确定当前时刻是否出现眼球震动。
[0094] 本发明实施例还提供了一种计算机设备,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行所述的眼球震颤识别方法。
[0095] 本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现所述的眼球震颤识别方法。
[0096] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。