王秋思 李丕丁 陈黎云
摘 要:心电监护仪是临床中使用较为广泛的一种心电辅助性诊断监护设备,其准确性直接关系到病人疾病的监护与诊断,但目前对心电监护仪的检定仍停留在人工测定阶段。为实现心电监护仪智能化检定、减少人工测定误差,提出一种心电监护仪屏幕波形提取算法,旨在利用图像处理方式实现智能化提取心电波形并进行监护仪的准确度鉴定。算法采用摄像装置获取心电设备波形屏幕图像,通过传统图像处理技术对其进行去噪、图像校正、剔除小区域等一系列预处理,获取纯净波形图像;再结合预测搜索法提取出数字化波形信息。实验验证表明,该算法提取的波形准确率基本在98%以上,相较于传统算法,在节省人力物力的同时缩小了人工检定阶段的误差,系统还可用于心电图归档、处理,为智能化诊断奠定了基础。
关键词:图像处理;波形数字化信息提取;预测搜索法;计算机视觉
DOI:10. 11907/rjdk. 191947 开放科学(资源服务)标识码(OSID):
中图分类号:TP312文献标识码:A 文章编号:1672-7800(2020)005-0094-04
0 引言
心电监护仪是一种结合心电监测技术和移动计算技术的辅助性诊断设备,可对异常变化的数据进行动态监测和预警[1-3],广泛应用于临床监护中,可辅助进行疾病诊断、治疗和维护,大大减少了医生的工作量。但如果心电监护仪误差过大,不仅可能导致显示数据不准确、报警不及时,甚至可能危害病人生命。因此,对心电监护仪进行精准误差检定在临床使用中具有十分重要的意义。
目前对心电监护仪的检定仍停留在人工测定阶段,不仅耗时耗力,而且会因人工主观因素导致误差,因此实现心电设备的智能化检测迫在眉睫。而智能化检测第一步就是要获取准确的心电数据,但目前市面上流通的大部分心电监护仪无法直接提供心电数据输出端口(譬如HDMI、DVI等),且由于数据最终以波形的形式在屏幕端显示,因而屏幕最终显示结果如何,直接关系到医护人员观测的准确度。
图1为心电监护仪屏幕图像,临床上较为关注的波形数据是心电波形,但在传统心电监护仪误差检定过程中,需要依赖检测人员手工使用刚直尺和放大器进行测量,不仅带有主观因素,而且容易引起误差,费时费力。
针对以上问题,本文拟采用摄像装置获取心电设备波形屏幕图像,通过传统图像处理技术[4]对其进行倾斜校正[5]、畸变矫正[6]、去噪、剔除小区域等一系列图像预处理,以获取纯净波形图像;再结合程凡等[7]提出的预测搜索法提取出数字化波形信息[8-14],将从屏幕提取出波形信息与原心电信息进行比较。这样不仅方便后续误差检定,而且还可提取病人心电数据进行存储,有利于开展心电数据库建立和心脏疾病远程智能诊断等。
1 算法总体设计
本文使用Python语言结合OpenCV[15-16]计算机视觉库进行算法设计,图2为算法整体流程,分为图像处理和波形信息提取两大部分。
(1)图像预处理:图像预处理指对心电监护仪屏幕图像进行一系列图像处理,包括校正、波形区域圈定、图像预处理和剔除小区域等。其中校正和预处理是为了减少背景和摄像装置的影响,而剔除小区域是为了去除图像中除波形数据外的其它干扰图形,突出波形区域,获取只有波形的纯净图像,以便后续进行数字化波形信息提取。
(2)数字化波形信息提取:指在获取到纯净的波形图片后,利用图像处理方式提取出心电波形数据,与原始数据进行对比,计算相似度。
2 图像处理算法流程
心电监护仪图像一般为彩色黑底图像,对比度强、波形清晰,背景对待提取区域干扰也小[17]。前期图像处理算法主要作用是从一张完整的屏幕图像中获取仅有波形区域的部分图像,流程见图2中“图像处理部分”区域所示。
2.1 畸变校正、倾斜校正
本文在利用摄像装置获取心电监护仪屏幕图像时,由于摄像装置位置、镜头本身存在畸变等影响,不可避免会有图像倾斜和畸变问题,因而首先需对图片进行畸变校正与倾斜校正。
2.1.1 畸变校正
指在摄像装置采集图像时,由于镜头本身透视原因造成的失真导致图片出现凸形畸变,因此需对采集的屏幕圖像进行畸变校正。畸变校正分为两步:
(1)选用黑白方格“棋盘”图对摄像头进行定标,获取摄像头的内参数矩阵、畸变系数、旋转向量和平移向量后,完成摄像头标定工作。
(2)对图像进行畸变校正。获取到畸变参数后,利用OpenCV库中的undistort()函数对图形进行畸变校正,矫正后图像边缘明显的弧形畸变会得到有效改善。
2.1.2 倾斜校正
倾斜校正使用基于霍夫变换的倾斜校正算法,利用霍夫变换检测出图像背景中的横线(譬如显示屏边缘、曲线基准线等),求检测到的所有直线与水平线夹角的平均值,再对图像进行相应旋转以完成图像的倾斜校正。倾斜矫正流程如图3所示。
2.2 波形区域圈定
波形区域圈定指对图像波形区域进行圈定并截取出波形区域图片,目前圈定方法是通过人工方式圈定,后续有望通过深度学习自动获取目标波形区域位置。人工圈定后图像见图6。
2.3 图像预处理
在获取到波形区域后,为削弱背景和噪声影响,突出波形目标,需要对图像进行预处理操作。预处理步骤如下:
(1)去噪:采集到屏幕图像后,首先要对其进行滤波去噪处理,本文选取的去噪方法是中值滤波去噪,具体函数为:
2.4 小区域剔除
为避免在人工圈定波形区域时,除波形区域外还囊括其它数字等,需要排除除波形外的其它区域。具体操作为:①检测当前区域中所有连通域轮廓;②考虑到人工圈定波形区域时,波形区域长宽应当占据图像大部分,因而在此步骤判断轮廓长宽是否满足大于波形区域图像的 1/2,认定不满足的非目标波形区域即可去除;③在剩余区域轮廓中,查找到所占面积最大的区域即为波形区域,剔除其余小区域。算法流程见图8。
3 波形信息提取
在获取纯净波形数据区域之后,需对该区域的波形信息进行提取。本文使用改进的预测搜索算法对心电曲线进行提取,提取流程如图10所示。
3.1 预测搜索算法
预测搜索算法是程凡等提出的心电曲线预测算法,其核心思想是根据目前已知点推断下一点的可能位置,并在一定区域内进行搜索,找到最合适的点作为心电轨迹的下一点。
得到了预测值Pi+1后,可判断其是否为心电轨迹上的点。若是则判定其为需要寻找的点;若不是,则在一定区域内搜索适当的点作为下一点;若在搜索区域内没有找到这一点,则判断其可能出现断裂,以预测点作为下一点。
使用这一方法可以有效减少心电曲线断线和网格线影响等干扰因素,保持所提取的心电曲线平滑和连续。
3.2 心电波形提取
本文使用改进的预测搜索算法对心电曲线进行提取,相较于原始预测搜索算法,添加了波形起始点与终点判定,且结合预测搜索法对中间点进行判定。与普通心电波形提取算法相比,避免了截断点对波形数据提取的影响。
算法主要内容为:先选取4×4的窗口逐列搜索图像,找到满足4×4窗口包含黑色像素点的位置,即认为该点为心电波形上的一点,从而找出心电曲线的各点(包含起点、终点和中间点)。
心电曲线各点的判断标准为:
(1)起点判定标准。从开始搜寻时起,至第一次搜寻到窗口4列都包含黑色像素点,判定此4列中包含起始点。
(2)中间点判断标准。确定起始点之后,从起始点往后逐列使用预测搜索算法计算预测点并在预测点附近寻找实际点。若找到实际点则以实际点为该列心电曲线提取的心电数据,若未找到实际点则以预测点作为提取的心电数据。
(3)终点判断标准。当连续多点均未找到实际点时,认为曲线追踪结束,算法停止。
但在实际搜寻过程中,因曲线线宽问题导致某些列可能满足4×4搜寻窗口的位置点很多。针对这种情况,在判断起点、终点、中间点时,一旦获知有一点满足条件,则在实际点附近上下遍历出所有在心电曲线上的连续点,取其中间点作为提取的心电数据。
4 系统测试及结果分析
通过上述方法从二值图中提取出心电波形图,如图11、图12所示。
5 结语
本文设计并实现了基于图像处理的心电监护仪屏幕波形提取算法。通过对心电监护仪屏幕图像进行校正、去噪、剔除小区域和波形提取等处理,实现提取后的波形区域与原始波形相似度基本在98%以上。相较于传统的人工心电设备检测技术,本算法对全自动屏幕波形提取进行了深入研究,为如何获取精准的屏幕数字化信号,以及如何与监护设备进行智能检定提出了解决方案;在节省人力物力的同时减少了人工检定过程中的主观误差。本算法还可推广应用于其它图像波形提取领域,且对今后心电波形归档、数字化存储以及远程医疗诊断等提供基础服务。
参考文献:
[1] 王斌全,赵晓云. 心电图的发明与发展[J]. 护理研究杂志,2008, 22(33): 3101-3109.
[2] 薛松维. 临床实用心电图入门. 心电图的测量要点[J]. 中国乡村医药,2011(2):83-85.
[3] 薛松维. 临床实用心电图入门. 心电图导联、波形及临床价值[J]. 中国乡村医药,2011,18(1): 80-81.
[4] 马颂德,张正友. 计算机视觉. 计算理论与算法基础[M]. 北京:科学出版社,1998.
[5] 梁添才,皮佑国,彭晶. 基于Hough变换的列车客运票图像倾斜校正[J]. 华南理工大学学报(自然科学版),2007,35(5):35-40.
[6] 杨必武,郭晓松. 摄像机镜头非线性畸变校正方法综述[J]. 中国图象图形学报,2005(3):269-274.
[7] 程凡,高荣,魏义祥. 扫描心电图心电轨迹的跟踪算法[J]. 生物医学工程学杂志,2001,18(2):306-333.
[8] 王志成,胡阳,黄瑛. ECG记录图纸数字化过程中的幅值定标方法及其后处理[J]. 中国医疗器械杂志,2004(1):19-22.
[9] 王志祯,陈兆学,赵晓静. 基于高斯模糊技术的心电图曲线提取方法[J]. 中国组织工程研究与临床康复,2010(39):7346-7349.
[10] 刘花丽,李海翔,郭伟峰. 一种提取心电曲线的方法[J]. 河南教育学院学报(自然科学版),2010 (2):25-27.
[11] BADILINI F,ERDEM T,ZAREBA W,et al. ECGScan: a method for conversion of paper electrocardiographic printouts to digital electrocardiographic files[J]. Journal of Electrocardiology,2005(38): 310-318.
[12] ISRAEL S A,INE J M,CHENG A,et al. ECG to identify individuals[J]. Pattern Recognition 2005,38(1):133-142.
[13] ISRAEL S A,SCRUGGS W T,WOREK W J,et al. Fusing face and ECG for personal identification[C]. Washington DC:32nd Imagery Pattern Recognition workshop,2003:226-231.
[14] SHEN T,TOMPKINS W J,FLU Y H. One-lead ECG for identity verification[C]. Houston:2nd Conference of the IEEE Engineering in Medicine and Biology Society and the Biomedical Engineering Society,2002:62-63.
[15] [美]GARYBRADSKI,ADRIANKAEHLER. 學习OpenCV[M]. 北京:清华大学出版社,2009.
[16] 王稳. 基于OpenCV的心电图数据提取研究[D]. 天津:天津工业大学,2016.
[17] 梁琳,何卫平,雷蕾,等. 光照不均图像增强方法综述[J]. 计算机应用研究,2010 (5):1625-1628.
[18] RICOLFE-VIALA C,SANCHEZ-SALMERON A. Lens distortion models evaluation[J]. Applied Optics,2010(49):5914-5928.
[19] BI R,L JING L,ZHU Q. Exploration and improvement of ostu threshold segmentation algorithm[J]. Intelligent Control & Automation,2010(6):6183-6188.
(责任编辑:杜能钢)