基于虚拟现实与眼动仪融合的斜视检测系统设计

2022-12-07 07:52凡,王超,任鹏*
科学技术创新 2022年34期
关键词:斜视测试者瞳孔

鲁 凡,王 超,任 鹏*

(徐州医科大学 医学信息与工程学院,江苏 徐州 221000)

引言

斜视是一种眼球运动障碍,具体表现为在观察物体时眼睛不能正确对齐[1]。斜视患者的斜视眼睛不能正确地注视目标,视线会发生偏移[2-3]。斜视需要通过手术调整眼外肌的长度来纠正失调[4],准确测量斜视患者的眼偏角是治疗手术的关键[5]。在传统的斜视检测方法中,大多依赖专业性的检测设备,且检测结果会受到多个因素的影响[6]。

本研究基于虚拟现实技术及眼动仪等传感设备,开发一款简洁的斜视检测系统。通过unity 软件创建应用于斜视检测的检测环境,通过SteamVR 平台运行并且连接到用户的VR 穿戴设备。系统能够自主控制切换屏幕,并记录用户瞳孔的位移数据,通过瞳孔位移与斜视角之间的映射函数计算斜视度数。

1 系统构成

1.1 硬件介绍

本研究使用的是HTC 公司的支持眼动追踪的VR 头显HTC Vive Pro Eye。该设备通过在透镜四周分布LED 传感器实现了眼动追踪功能,可帮助用户对眼睛的移动进行追踪和分析。眼动追踪参数:注视数据输出频率(双目)120 Hz;精度0.5°~1.1°;校准5点;追踪可视角110°;数据输出(眼球信息):时间戳(设备和系统),凝视原点,凝视方向,瞳孔位置,瞳孔大小,睁眼情况。

1.2 软件设计

在unity 平台建立三个模型进行斜视检测。测试者佩戴好VR 设备后,两眼注视远处(5 m 外)测试模型。待测试者的瞳孔不发生偏移后,用不透光的遮眼器遮挡一只眼睛的视线,另一只眼睛注视着测试模型,3 s 后交换两只眼的视线遮挡。观察去掉遮盖的眼睛瞳孔有无移动现象,如果发生移动则表明这只眼睛斜视,见图1。

1.2.1 系统实现流程

在unity 平台添加Open XR 与Steam VR 插件以实现虚拟现实功能。随后,通过steam VR 连接VR 设备,并在VR 设备上显示unity 中的测试场景。解决场景问题后定位瞳孔位置,使测试者观察到瞳孔位置的变化。下载插件SRainipal、SDk-v1.3.3 来辅助定位瞳孔位置。

安装好SRainipal 后需要把SDk-v1.3.3 中的unity程序导入到unity 中,程序导入成功后即可在unity 中添加ViveSR 包。系统提供一个头部模型,该模型的眼部移动完全模拟测试者的瞳孔移动,能够实时反映测试者的瞳孔移动位置。由此获取瞳孔的具体位置信息,并在unity 控制台输出。

1.2.2 斜视检测具体步骤

通过两眼交替遮盖法,测试者佩戴VR 设备时使用遮眼器遮挡其的一只眼睛,同时对另外一只眼的眼球运动进行捕获和处理。多次测量(至少4 次)后取平均值,以提高精度。详细步骤见图2。

2 算法设计

2.1 斜视度数计算模型设计

斜视检测过程中,测试者的瞳孔位移与斜视度数是正相关的,见图3,两者存在某种映射函数关系,如式(1):

其中,de是瞳孔的偏离距离,PD 是两只眼睛的瞳孔距离,AXL 是专业机器测量眼球的轴长,Td 是目标和眼睛之间的距离。考虑到两只眼睛瞳孔距离(PD)的影响,当人眼睛注视一个目标时,瞳孔会向中间偏移产生偏移角。设angf=arctan(PD/2×Td)是收敛角,见图4,目标离眼睛的距离越远,收敛角度就越小。

2.2 算法实现

通过插件SRainipal、SDk-v1.3.3 可以在测试界面显示瞳孔位置的变化,但是无法得出具体的瞳孔位移数据,需要在SRanipal_GazeRaySample_v2 脚本添加如下代码,在unity 控制台输出瞳孔位置的具体坐标。将获取的坐标数据代入式(1)计算斜视具体度数并输出。添加的主要代码见图5。

3 系统测试

系统所使用的是自带瞳孔追踪的VR 设备,可以在测试者测试的过程中追踪测试者的瞳孔位移并给出相应的坐标。编写程序利用设备获取的瞳孔坐标信息可以得出测试者的斜视度数。为测试系统的准确率,招募8 名测试者进行测试,测试者1、2、3 的实际斜视度数为0,系统测试斜视度数分别为5.1、0.7、0.6,测试者4、5、6、7、8 的实际斜视度数分别为2.3、3.4、6.9、10.3、14.6,系统测试斜视度数分别为2.1、2.6、6.0、9.9、12.3。

由于第一位者测试者的头部偏小,测试时测试者的头部在VR 设备中发生了移动,因此造成第一位测试者的测试结果与实际数据产生了较大的偏差。通过分析以上数据,排除第一位测试者的误差数据,可以得出所有系统测试的数据与实际数据的平均误差小于0.7,属于可接受误差范围。

由于斜视检测的准确性受测试者的注意力以及测试者的瞳孔间距的影响,因此选取了不同性别、不同年龄段的人群进行了测试。测试者年龄在10~15 岁的人数有10 名,测试准确度为75%,年龄在20~35 岁的人数有25 名,测试准确率为92%,年龄在50 岁以上的人数有10 名,测试准确度为83.3%。分析以上结果可知,年龄在20~35 岁的测试者注意力十分集中且瞳孔间距发育完全识别准确率较高,年龄在10~15 的测试者在测试过程中注意力很难集中且瞳孔间距发育不完全识别准确率较低,而年龄在50 岁以上的测试者虽然瞳孔间距发育完善,但是测试过程中注意力对比年青少有所欠缺,导致测试结果准确率偏低。

4 结论

本研究首先对传统的斜视检测方法进行分析,在经过对系统的需求分析、斜视检测技术发展现状的基础上,设计了一个基于虚拟现实与眼动仪融合的斜视检测系统,该系统使用unity 构建检测场景模型,利用眼动仪对瞳孔进行追踪定位,经过实验分析,该斜视检测系统满足功能测试,且使用空间要求较小,可以应用于日常斜视检测,让人们准确了解自己的眼部健康情况,使其重视日常生活中的用眼健康。未来将针对斜视干预做进一步研究,帮助人们对斜视做到早发现、早干预、早治疗。

猜你喜欢
斜视测试者瞳孔
发现斜视后应该如何治疗,你知道吗?
指纹收集器
瞳孔
小议语法测试
斜视手术后如何防复发
瞳孔大,决策力差
很多英国人不会拼常用词
孩子“心不在焉”可能是斜睨眼
八成美国人地图上找不到乌克兰
屠岸的散文诗(两章)