一种实时的无线高速视频眼震追踪系统*
2019-06-25杨海清田聪聪刘兆邦杨晓凯
杨海清, 何 力, 田聪聪, 袁 刚, 刘兆邦, 杨晓凯
(1.浙江工业大学 信息工程学院,浙江 杭州 310023;2.中国科学院 苏州生物医学工程技术研究所 医学影像室,江苏 苏州 215000;3.温州市人民医院 神经内科,浙江 温州 325000)
0 引 言
良性阵发性位置性眩晕(benign positional paroxysmal vertigo,BPPV)的常用诊断方法为Hallpike变位性眼震试验,诊断的关键在于根据变位试验所诱发的具有典型特征的眼震来进行定侧、定位[2]。眼震是眼球震颤的简称,是眼球的一种不随意的节律性的往返运动[3],眼震在临床中是检查疾病的一种重要依据。国外利用红外视频来对眼震追踪的文章不多见,但以研究出一些视频眼震记录仪产品用于医院的临床中,这些进口设备大多价格昂贵,不利于推广[4]。国内近几年来也研制出了几款视频眼震记录仪并已在医院临床中使用,但仍存在不少问题,需要进一步完善,医院现有的视频眼震记录仪多为有线传输,其空间旋转性较差,由于在诱发眼震时需要进行变位性实验,在治疗时也需要使用特殊的手法进行复位,使用有线不利于诊断与治疗;医院现有的无线眼震记录仪视频采集分辨率及帧率较低,导致精度不足,对微弱眼震的记录存在缺失。
本文设计了一种无线高速视频眼震分析系统,实现了实时眼震的记录与识别,解决了现有的有线视频眼震记录仪空间旋转性差、无线视频眼震记录仪分辨率及帧率低的问题。
1 眼震记录仪设计
1.1 眼震记录仪结构总体设计
眼震记录仪设计为穿戴式眼罩,其中一个眼罩包括摄像头和光路模块,另一个包括核心控制板和无线传输模块[5],总体结构组成如图1所示。
图1 总体结构
1.2 光路设计
为了适应于眼震追踪算法,设计了独特的采集模块,只采集眼部区域视频,避免背景的干扰;采用暗瞳成像原理使采集的瞳孔区域易于区分,便于算法处理;采用红外光源照明,通过二向色镜滤除掉可见光的干扰,保证了采集的图像光照均匀并且不受环境光照的影响,有利于算法相关参数的选取[6]。
由4个红外光源产生近红外光,通过二向色镜的反射照射到眼部,镜头接收眼球通过二向色镜反射回来的红外光,进而完成眼部图像的采集。眼震记录仪设计为穿戴式眼罩,眼罩的结构如图2所示,二向色镜与摄像头红外光源分别位于眼罩两端,其距离b为5 cm,二向色镜与眼睛的距离a为3 cm,红外光源的入射光线与眼睛的反射光线和二向色镜的夹角均为45°。红外光源的波长为850 nm近红外波段,功率为50 mW,二向色镜的透射波长为400~700 nm,反射波长为800~950 nm。
图2 眼罩结构
1.3 核心控制板
核心控制板是基于Cortex-A7内核,主频最高可以达到600 MHz,还具有32 KB 的指令缓存和数据缓存和128 KB的二级缓存,保证了高速眼震视频的输入与处理能力,其内部集成了H.264/H.265/MJPEG/JPEG等多协议编解码器,能快速有效实现眼震视频的无损压缩。
本系统采用的是高性能400万像素OV4689传感器,其采用先进的2 μmOmniBSI-2TM像素,提供同类最佳的低光敏度和高动态范围,OV4689可以每秒60帧捕获HD(高清)1080视频,可实现高速眼震视频的捕捉。使用移动工业处理器接口(mobile industry processor interface,MIPI),解决了图像传感器与核心控制板之间高速通信的难题,在接口电路中,把数据信号组和控制信号组分别接入核心控制板的MIPI0和SPI0即可。
系统采用RTL8821au无线模块,其采用新一代802.11.ac标准,支持5 GHz频段,相比于802.11.n标准2.4 G频段,具有传输速率快,抗干扰能力强等优势[7]。该模块通过核心控制板上设计的USB接口电路实现数据的传输[8]。
2 眼震记录仪系统软件框架
眼震记录仪的软件框架包括眼震记录仪端与PC端软件两部分,两者一起实现了眼震视频的采集、压缩编码、无线传输和算法分析等功能。如图3所示为眼震追踪系统软件框架。
图3 眼震追踪系统软件框架
主要包括功能:
1)基于ISP的视频采集模块:实现相机传感器的适配,设定采集图像的公共属性,包括帧率、分辨率,并对采集的图像进行坏点检测、去噪等处理;
2)Video subsystem硬件编码模块:将采集到的YUV格式的视频送入编码模块,接着对视频进行H.265格式编码;
3)基于RTSP协议的实时视频传输模块:该模块分为Linux服务端与Windows客户端两部分,Linux端先通过RTSP协议负责与Windows端沟通传输方式与内容,本系统使用的是H.265流、后续的RTP,RTCP协议采用的是UDP传输、RTSP服务器的端口号为554,接着将Video subsystem编码后的视频通过打包到RTP协议的数据部分发送到Windows客户端,最后通过RTCP协议中断整个协议的传输;
4)控制通信模块:眼震记录仪与PC端使用Socket通信方式PC端将控制指令与配置信息打包并转化为流数据,再通过无线网络传输到下位机, Cortex-A7处理器根据事先规定好的协议解析数据包,并做出响应并返回给上位机响应信息;
5)基于FFmpeg的视频解码模块:调用FFmpeg库中的函数,将通过RTSP协议接收到的H.265视频流解码为算法模块能使用的视频流;
6)基于暗瞳的眼震追踪算法模块:对接收到的眼震视频进行算法分析,提取瞳孔中心坐标,根据坐标变化判断眼震轨迹。
3 PC端实时眼震追踪算法
在BPPV的诊断中,医生需要实时观察患者的眼震轨迹,对算法的运行速度有很高的要求,眼震追踪算法的关键在于瞳孔中心坐标的获取,国内外文献中应用于眼动追踪中的瞳孔定位算法方法比较多,其中比较典型的有阈值法、星爆模型、Hough变换圆检测等[9~11],但是其中的大部分算法处理一帧图像的时间较长,不是很适用于本系统。本系统设计为满足每秒60帧视频的实时瞳孔追踪,这样处理一帧图像的时间需为16 ms,算上接收与解码的时间的话,处理一帧的时间更要小于16 ms。
为解决实时眼震追踪,本文在采集端做了独特的设计,采集到了只有眼部区域的高质量不受环境光照影响的暗瞳眼震视频,这样避免了瞳孔追踪中为消除这些影响而做的处理,并通过Harr特征与积分图来提取瞳孔附件为感兴趣区域,减小了后续算法处理的区域从而缩短了处理时间,算法通过VS与OpenCV实现,在算法处理的过程中需要多次遍历图像,为了提高效率,利用VS中的OpenMp进行并行编程,加快遍历操作。
本文的算法流程如图4所示,先提取感兴趣区域,接着对其进行图像预处理,再进行瞳孔中心定位,根据获得的瞳孔中心坐标生成眼震曲线图。
图4 眼震追踪算法流程
3.1 提取感兴趣区域
Haar特征是反映图像灰度变化的,像素分模块求差值的一种特征,在特征模板内用黑色矩形像素和减去白色矩形像素和来表示这个模版的特征值。瞳孔附件的区域可以很容易的通过这种特征描述,采集的眼部图像如图5(a)由于采集的是暗瞳图像,瞳孔为黑色,其四周为白色区域,感兴趣区域可以通过如图5(b)特征模板表示,求得图像中该模板特征值最大的位置即为所需的瞳孔附近感兴趣区域,如图5(c)所示。
图5 提取感兴趣区域
3.2 图像预处理与边缘检测
眼震记录仪采集图像时使用了四个红外光源照明,这会在图像上形成四个普尔钦斑,影响后面瞳孔中心定位算法的速度与精度,为消除光斑的影响先对感兴趣区域进行形态学处理,包括腐蚀与膨胀操作,同时形态学处理能消除一部分睫毛对瞳孔中心定位的影响。
如图6(c)为经过形态学处理和高斯滤波后再进行Canny边缘检测的效果,可以看到,相比图6(a)和图6(b),图6(c)瞳孔的边缘变得平滑,断开的部分也变少,同时也消除了大部分光斑和睫毛的影响。
图6 图像预处理与边缘检测
3.3 瞳孔中心定位
获取瞳孔中心坐标的常见方法有星爆模型和Hough变换圆检测,其中星爆模型准确度比较低,Hough变换圆检测耗时长,都不是很满足要求。在瞳孔中心定位时,本文使用了基于最小二乘技术的椭圆拟合方法来获取瞳孔中心坐标[12],相较于前两种方法,准确性和实时性都能满足要求。
椭圆可以由以下二阶多项式圆锥曲线表示
上式具有特殊的椭圆约束条件b2-4ac<0
图7 瞳孔中心坐标
将计算出的每帧图像瞳孔中心的坐标生成眼震曲线,医生通过该曲线来判断出眼震类型从而诊断疾病。经计算本文的眼震追踪算法流程处理一帧图像的时间为13 ms,满足了60帧每秒实时眼震追踪。
4 实验结果与分析
4.1 传输稳定性
测试传输性能时眼震记录仪采集视频数据,进行H.265压缩编码,再通过RTSP服务器以不同的传输方式将编码后的视频传输到PC客户端,PC端使用VLC播放器解码显示,传输方式使用实验室有线局域网、802.11.n标准2.4G频段WiFi和802.11.ac标准5G频段WiFi。
本文模拟了BPPV诊疗中眼震记录仪的工作状态,测试了不同传输方式在眼震记录仪静止、运动和电磁干扰这三种情况下传输的稳定性,结果如表1所示。采集的视频分辨率为HD720,帧率为60。测试时电脑不连接因特网,也不使用其他占用网络的软件,传输HD720/60帧需要的带宽小于这三种传输方式的极限带宽。采集传输6 000帧视频,统计期间的丢帧数,并计算出丢帧率作为稳定性的衡量标准。
表1 传输稳定性
由表1实验结果可知,在静止条件下三种传输方式丢帧率都很低,在运动与抗干扰性方面5 G频段WiFi接近于有线网络传输,并都强于2.4 GHz频段WiFi。
4.2 系统精度
根据国际注视交流交互技术委员会(The COGAIN Technical Comittee)在2012年提出的眼动仪系统精度测量的标准技术方法,本文眼震记录仪系统精度以相邻样本间瞳孔中心角距离的均方根值(root mean square,RMS)[13]
(1)
实际测量中系统精度受多种因素影响,包括红外光源照明强度、室内照明度改变、人眼特征等,本文只讨论采集视频帧率与分辨率对系统精度的影响,实验过程中保持其他环境不变,采集存储一段时间60帧/s的HD1080视频,将视频改变帧率与分辨率,再分别使用PC端算法对不同帧率与分辨率的视频进行瞳孔追踪,根据获取的相邻两帧图像的瞳孔中心坐标计算出RMS的值,实验结果:HD1080/60,HD1080/30,VGA/60,VGA/30分别为0.005,0.013,0.023,0.069。单位为度,数值越小表示系统精度越高[14]。
由上面数据可知,帧率相同时分辨率越高系统的精度越高,分辨率相同时帧率越高系统的精度越高,而帧率分辨率都高时系统精度最高。
5 结 论
实验结果表明:5 GHz WiFi的使用提高了眼震记录仪的抗干扰能力,高清及高帧率眼震视频的获取,提高了系统的精度。本文设计出的视频眼震分析系统稳定精度高,能够实时有效的获取眼震的运动轨迹,为BPPV的诊疗提供了信息支持。