您当前的位置:检测资讯 > 科研开发

自助式视力检测仪的设计与检测方案

嘉峪检测网        2020-12-29 15:08

〔摘要〕该研究提出了一种自助式视力检测仪的设计与实现方案。该视力检测仪采用高清摄像头采集手势的动态移动信息,运用基于帧差法手势跟踪技术判别视力检测中手势的移动方向,代替了传统的人工测量模式,硬件开发平台建立在Windows主机系统上,软件采用Python3.7语言开发实现;经系统测试验证,该视力检测仪的测量结果与标准对数视力表的测量结果具有较高的一致性,检测过程方便快捷,可实现自助式检测和共享检测。

〔关键词〕视力检测;帧差法;手势跟踪;自助式检测

 

近年来,我国儿童及青少年的近视率居高不下,且呈不断上升的趋势[1]。视力不良会影响学生群体的在校表现,甚至职业选择,更严重的是高度近视可诱发青光眼、白内障等多种并发症[2]。对儿童及青少年定期进行视力检测,可尽早发现视力变化,从而尽量防止近视的发生或发展。基于此,本研究提出了一种自助式视力检测仪的设计与实现方案。

 

1、传统视力检测方法

1.1 标准对数视力表检测法

标准对数视力表检测法最为常见,检测时,视力受检者在医师的引领下,根据指示杆的指示依次分辨视力表上的视标,测试全程均需医师进行控制。受检查条件、方式、速度等因素的影响,检测结果可能存在偏差;同时,检测完全依赖于医师的水平和状态,需消耗人工成本,加之医师长时间操作易产生疲劳,可能造成检测结果有误。

1.2 电子视力检测设备

电子视力检测设备一般由单片机、电子显示屏、红外遥控器等硬件组成[3]。其利用电子显示屏代替纸质版的视力检测表,并由单片机主机随机控制显示“E”型视标,视力受检者通过红外遥控器作答“E”字的方向,单片机主机根据回答情况调整视标大小,从而确定视力受检者能够看清楚的最小视标,达到检查视力的目的;但该设备无法实现共享式检测,且缺乏人机交互,基本还需在医师的指导下完成。

 

2、自助式视力检测仪的研制

传统的视力检测方法需在医师辅助下完成,无法实现单人自助式及区域共享式检测,而且缺乏人机交互体验。针对这些问题,本研究设计了一种基于帧差法手势移动跟踪技术的自助式视力检测仪,利用高清摄像头采集人体的动态手势信息,代替传统遥控器或人工辅助的检测方式,实现视力检测的自助式操作,提高检测效率[4]。

 

2.1 硬件设计

该自助式视力检测仪的硬件模块包括Windows系统主机、触控液晶显示屏、高清摄像头、语音播报器、超声波传感器、GPS定位装置、防盗报警装置、4G通信模块等(图1)。主机是控制整个视力检测系统的核心,负责控制视力检测的流程,包括开启和关闭摄像头控制图像信息的采集,人机交互语音信息的播报,动态手势信息的采集、处理和判断,数据和网络的通信传输,报警生成及位置定位。触控液晶显示屏的尺寸为22寸,屏幕分辨力为1920×1080,显示亮度为500 cd/m2,屏幕为电容式触控,灵敏度高。高清摄像头用于捕捉动态手势移动信息,像素为500万,分辨力为1920×1080。语音播报器主要用于语音提示,提高人机交互的便捷性。超声波传感器主要用于测量人和屏幕之间的距离,以提高视力检测的准确性。GPS定位装置内置于主机的控制板中,用于实现设备的定位。防盗报警装置用于故障报警和防盗、防破坏报警。4G通信模块用于网络的连接,实现远程数据传送和存储。

自助式视力检测仪的设计与检测方案

图 1 硬件设计

2.2 软件设计

近年来,计算机视觉技术发展迅速,并被广泛用于各个行业。利用计算机视觉处理技术代替传统视力检测中依靠人工识别手势的模式,可节省医护人力资源,实现视力的自助式和共享式检测。

软件设计算法的核心为基于帧差法的动态手势跟踪技术[5-6](图2)。当视力受检者看到视标后做出手势移动,软件系统采用帧差法进行视力检测场景中的动态手势移动识别,因检测过程中的手部目标在移动,目标影像在不同图像帧中的位置便不同,对时间上连续的两帧图像进行差分运算,不同帧对应的像素点相减,即可判断灰度差的绝对值,当绝对值超过一定阈值时,即可判断为运动目标,实现目标的移动轨迹跟踪,进而识别受检者的手势移动方向。算法定义采集图像序列中连续两帧图像分别为Ik(x, y)和Ik+1(x, y),Dk(x, y)为差分后的结果,则运动目标 Mk(x, y)可表示为:

自助式视力检测仪的设计与检测方案

与静态手势识别方法比较,基于帧差法的手势移动侦测用于视力检测中的动态手势跟踪,可消除由光线变化、人脸和手部图像重合等带来的检测误差,在一定程度上提高手势识别的准确性,且该算法计算量小,能够快速检测出场景中目标的运动轮廓轨迹,加快视力检测速度,满足实时检测的更高要求。

自助式视力检测仪的设计与检测方案

图 2 基于帧差法的手势移动方向识别算法设计流程

 

2.3 视力检测仪的开发实现

本视力检测仪的硬件开发平台是建立在Windows主机系统上,采用Python3.7语言进行软件开发,IDE开发环境为Pycharm,集成OpenCV模块,采用自主设计的动态手势识别算法,实现智能自助式视力检测。视力检测某一过程中的软件界面见图3。本软件设置的视力检测流程如下:开始视力检测后,液晶显示屏上随机跳出某一级别视力水平的一排“E”字型视标,每次出现在显示屏上的视标排序均是随机的,可防止出现记忆视标的情况;视标下面的箭头会随机指向一个视标,视力受检者根据箭头指向的“E”字型视标方向,做出相应的手势移动方向,主机会开启摄像头采集图像序列,根据软件设计的算法判断手势方向,从而对单次视力检测做出正确或错误的判断;重复上述检测步骤,直至检测出视力受检者能够看清楚的最小视标。此外,本软件设定了一套完整的模拟人工视力检测的流程,全程均有语音提示,用户根据语音提示操作即可完成整个视力检测流程。

自助式视力检测仪的设计与检测方案

图 3 视力检测过程中的软件界面

3、自助式视力检测仪的测试

测试环境:所有的测试均选择在正常室内,光线明亮的条件下进行。

3.1 手势方向识别

测试方案1:从学校学生中随机抽取250名学生做测试,未向其说明手势移动规则,每名学生根据测试软件要求选择左手和右手分别采集20组手势,即共计采集10000组手势,测试后,通过统计得到手势识别的正确率为82.8%。由于测试前未向学生说明手势移动规则,每名学生的手势动作幅度和速度快慢存在差异,所以会导致部分手势识别错误。

测试方案2:测试前,向参加测试方案1的250名同学说明手势移动规则,在检测过程中做手势动作的手部一直保持举起状态,并放置在脸部的两侧正前方,不能遮挡住人脸;当液晶显示屏上出现视标后,在视力受检者还未看清楚视标时,尽量保持身体和手势的静止;当看清楚视标开始做手势的上下左右移动时,尽量保持手势移动路线横平竖直、移动跨度大,并尽可能保持手势匀速滑动;然后再按照与测试方案1同样的方法采集10000组手势,测试后,通过统计得到手势识别的正确率为95.8%,与测试方案1比较,正确率明显提高。

3.2 视力检测采集验证

分别使用本研究中的视力检测仪(按照“3.1”中测试方案2的方法)及标准对数视力检测法,采集“3.1”中250名同学的左、右眼视力数据,采用Pearson相关性分析,比较本视力检测仪的检测结果和标准对数视力表检测结果是否具有一致性[7]。通过计算,本次得到两种方法测试数据的Pearson相关系数r=0.942,表明该视力检测仪的测量结果和标准对数视力表的测量结果具有较高的一致性。

 

4、自助式视力检测仪的测试

该视力检测仪设计的关键在于采用基于摄像头采集的手势识别技术代替了传统的人工检测,因此手势识别算法对于检测结果的准确性影响较大。从测试结果可以看出,视力检测仪需根据自主研发的手势识别算法配合相应的手势规则进行检测,只有在此手势规则下完成视力检测才具备较高的准确性,所以,后续还需进一步研究手势识别算法,以降低因个人手势习惯差异而导致的手势识别错误。
 

【参考文献】

[1]金若男,贺伟罡,孙克英,等.儿童青少年视力筛查设备相关技术及应用问题讨论[J].中国医刊,2020,55(6):594-595.

[2]宋逸,胡佩瑾,董彦会,等.2014 年全国各省、自治区、直辖市汉族学生视力不良现况分析[J].北京大学学报(医学版),2017,49(3):433-438.

[3]仝硕,吴正朕,秦枫.基于STM32的智能视力检测仪[J].山东工业技术,2018(11):143-144.

[4]闫帅辉.视频运动目标跟踪算法研究[D].昆明:云南大学,2014.

[5]罗敏,刘洞波,文浩轩,等.基于背景差分法和帧间差分法的车辆运动目标检测[J].湖南工程学院学报(自然科学版),2019,29(4):58-61.

[6]吴天友,殷志祥.基于帧差法与中值法的运动目标背景提取算法[J].怀化学院学报,2019,38(11):33-35.

[7]蒋伏松.两种测量结果的一致性和差异性评价方法[J].临床医学研究与实践,2017,2(10):116-117.

 

作  者:李昌锋,林蔚,张星,郭生挺

 

单  位:福建生物工程职业技术学院 (福建福州 350007)

 

分享到:

来源:医疗装备