摘要·
眼诊图像信息之心区信息识别,采用UltralyticsLLC 公司公开发布的YOLO v5算法来识别中医眼诊中的内眦血络。现代医学技术逐渐数字化、信息化和智能化符合在信息化时代的背景下的一名学科,而作为中国传统优秀文化的中医也能在智能化的现在熠熠生辉。因此基于YOLO v5的眼诊图像信息之心区信息识别是结合传统医学与现代计算机技术的一个课题,对我国传统文化的复兴有着深远的意义,课题的目的也在于为我国传统优秀文化赋能。最终实现的效果基本能满足中医眼诊的需求。
关键词:中医眼诊,深度学习,人眼部位识别,Python ,YOLOv5
The Heart Region Information Recognition of Eye Diagnosis Image Information
Abstract
The YOLO v5 algorithm published by UltralyticsLLC is used to identify the two canthal blood collaterals in ophthalmology of traditional Chinese medicine. The gradual digitization, informatization and intellectualization of modern medical technology are in line with a discipline under the background of the information age, and traditional Chinese medicine, as an excellent traditional Chinese culture, can also shine in the intelligent era. Therefore, the combination of traditional medical information technology and traditional medical information technology is of far-reaching significance to the revival of Chinese traditional medical information V5 area. The final effect can basically meet the needs of traditional Chinese medicine eye diagnosis.
Keywords: Traditional Chinese Medicine eye Diagnosis, Deep Learning, Human eye Recognition, Python, YOLO v5
在讨论本文课题眼诊图像信息之心区信息识别之前,先看一下本文中“心区”的由来,心区是基于“五轮学说”是根据五行观点,将眼睛分为内轮、水轮、气轮、风轮和血轮五个部分,并配属一定的脏腑,借以说明眼的生理、病理机制,指导临床诊断、治疗等。该学说起源于《黄帝内经》中的“五脏六腑之精气, 皆上注于目而为之精。精之窠为眼, 骨之精为瞳子筋之精为黑眼, 血之精为络, 其窠气之精为眼 ……”[1]
冯因克,邹纯朴的论著眼科五轮学说在中医临床辨证中的应用[2]中有论证了五轮与脏器之间的关系,通过观察眼睛的各个区域可以通过经验判断各个脏器之间的关系。除了五轮学说之外还有八廓学说,同样有着对于眼诊的理论研究。相关论文有诸如:谢立科基于五轮八廓学说疏肝养阴法治疗干眼[3]和八廓学说在肺系疾病应用浅谈[4]等。
而在本文之中的将在内眦、眼白、瞳孔、瞳孔外圈和瞳孔外圈以外的区域分别称之为心区、肺区、肾区、脾区和肝区。也是对应着我们的脏器名称。
正在上传…重新上传取消
图1-1 眼部示意图
在中医的发展历史上对于眼诊的论著仍有着不断的学者的加入,未来的潜力无可限量,正如钱学森先生对于中医的看法“我们要搞的中医现代化,是中医的未来化,也就是二十一世纪我们要实现的一次科学革命,是地地道道的尖端科学”。本文论述的正是与中医相关的眼诊心区的识别,相信在计算机的赋能之下,眼诊、甚至是中医都能在不久的将来发挥着其独有的作用。
而本文题目所探索的眼诊图像信息之心区信息识别中的“心区”对应着五轮学说中的血轮以下简称心区。
YOLO(You Only Live Once)是一款基于深度学习(DeepLearning,DL)的目标检测(Object Detection)算法,而DL又属于人工智能(Artificial Intelligence)领域也就是我们常说的AI,自1956年正式提出到现在2022年已经有了66年的历史了,如果说前三次工业革命主要是扩展了我们的四肢功能,那么AI的就是扩展人脑的功能。而DL是属于机器学习(Machine Learning)的一个分支,它除了可以学习特征和任务之间的关联以外,还能自动从简单特征中提取一些相对而言更加复杂的特征。2012年以后,DL的热度呈指数上升,DL最具代表性的一类方法是深度神经网络,神经网络试图模拟大脑神经元层的活动,以学习如何识别数据中的复杂模式。DL的前身为人工神经网络(ArTIficialNeuralNetwork,ANN),ANN的历史可以追溯到上世纪50年代。目前DL最成熟的技术本质上依然是人工神经网络。
目标检测从传统的Viola Jones检测器、HOG检测器、基于可变形部件的模型(DPM)。而在DL的时代目标检测又出现了双级检测(two-stage detection)和单级检测(one-stage detection)。从图1-2中可以看到深度学习算法经历了哪些更新迭代,从最经典的R-CNN到本文所用到的YOLOv5。
图1-2来自Deep Learning for Generic Object Detection: A Survey[5]
正在上传…重新上传取消
图1-2 深度学习各大经典算法
本文是对YOLOv5的探索,这是也是属于单级检测的DL算法,同时也是当下开源的比较热门的算法之一,相应的论著有基于 YOLO 深度卷积神经网络的复杂背景下机器人采摘苹果定位[6]、改进YOLOv5的苹果花生长状态检测方法[7] 和基于YOLOv5的舰船目标及关键部位检测算法[8]等
随着AI的发展,人们的科学研究、生活和安防等的效率都有了极大的提高。在医学领域,西方医学在AI与医学融合这方面遍地开花,各种先进的算法应用都涌现出来。而YOLO是属于DL中视觉领域的目标检测,目标检测算法图1-2是1998年到2018年的目标检测相关刊物发表的数量直方图可以看到是一个向上的趋势。
正在上传…重新上传取消
图1-2 目标检测相关刊物发表
在医学领域,我国的中医有大量的论著与积累,在高新技术的现在,西方医学越来越精确的情况之下中医的生存空间逐渐被挤压,要培养一名合格的中医医生需要大量的时间积累。在当今的社会环境之下,短时间没有收益的行业已经逐渐没落。作为一名本科生享受着前人对现在社会进步实现了的科技成果,身为后人,对复兴中国传统文化,我们义不容辞。从实用角度上来说中医需要大量的时间来积累经验,而计算机技术下的AI眼诊可以克服人类身上的一系列缺陷,拥有一些人类所欠缺的优点:
- 计算机只要人类文明不断理论上生命无限;
- 计算机只要电力充足可以一天24小时不间断工作;
- 计算机擅长做重复性的劳动,这对人类来说价值很低;
- 计算机可以做到没有情感,任劳任怨,人类的主观性可能会搞砸一件很简单的事情并且大部分人类的情绪是不可控的。
在蒋莉娅的基于河图洛书后天八卦图浅析眼针之观眼诊病[9] 中对于眼部这边的诊断。基于眼科五轮八廓学说分析眼针之观眼诊病中的对于眼部的解析可以看到眼部识别中的眼诊在中医角度是可行的,具有现实依据。也有很多比较新的有关计算机视觉的研究,如面向非结构环境的柑桔图像分割聚类方法[10] 、复杂场景下基于YOLOv5的口罩佩戴实时检测算法研究[11]
而现在正值人工智能趋势的大爆发,结合国学中医的AI眼诊更具有学术价值和现实意义。把计算机技术作为辅助,提高和拓展中医的触角,进一步提升中医诊断的自动化和效益,更好地发挥中医的优势,这对中医的发展也具有深远的意义
观眼识病在我国古代就有历史记载,在汉代的《内经》就有对眼诊的描述,如《灵枢·大惑论》记载:“目者,心之使也。”,“五脏六腑之精气,皆上注于目而为之精。”在中医中就有论著说明了眼睛的特定部位对应着人体的一些器官,这些信息对于AI来说具有重要的价值,该书还将眼的不同部位分属于五脏,也就是后代医家沿用的五轮学说,即两眦血络属心(血轮),白珠属肺(气轮);黑珠属肝(风轮);瞳仁属肾(水轮);眼泡属脾(肉轮)。因此根据眼睛不同部位的颜色和形态的变化,可以诊察不同的疾病。
而本文只研究血轮(以下简称心区)如下图2-1所示:
正在上传…重新上传取消
图 2-1人眼心区位置
在当今互联网上实现对人眼的识别的方法是多种多样的,在开发语言上有Python、C++和Java等。现阶段用于深度学习的语言最主流是Python,Python在AI方面的领域是运用最多的。Python常用的深度学习框架有Theano、TensorFlow和PyTorch等。本文采用的是基于Python的PyTorch框架,它是从Lua的Torch库到Python的松散端口,由于它由Facebook的人工智能研究团队(ArtificiaUntelligence Research team (FAIR))支持且它可以用于处理动态计算图。使用该框架是因为相对于TensorFlow等其它语言来说更加简单,并且YOLO v5是运用PyTorch框架的项目,这也是课题所用到的学习框架。
YOLO v5 是 UltralyticsLLC 公司于 2020年6月9日公开发布的。YOLOv5 模型是基于YOLO v3模型基础上改进而来,发展到现在YOLO v5 发布到现在已经有v6.1版本了,而且在GitHub上的贡献开发者共236人或组织。该算法继承自YOLO v3,在此基础上增加了很多图片增强