摘" 要:脑动脉瘤是造成蛛网膜下腔出血的重要病因,其种类繁杂,在形态和临床表现等方面多具异质性,基于医学影像及病理图像的精准判断对治疗脑动脉瘤具有重要价值。文章设计开发了一种基于SpringBoot的脑动脉瘤智能辅助诊断平台,主要包含脑动脉瘤智能诊断、脑动脉瘤在线病房和脑动脉瘤康复记录三大功能模块。首先获取用户的活检细胞成像图,将其上传至云端服务器;其次利用图像分析、可视化分析和底层内置图像标注算法,生成辅助诊断病历;最后发送到医生客户端以辅助病情诊断。此系统可以为患者提供更快速、便捷的诊疗辅助服务,以及为临床医生的诊断提供科学的参考依据,还可部分缓解优质医疗资源分布不均的问题。
关键词:脑动脉瘤;SpringBoot;辅助诊断;医疗技术;人工智能
中图分类号:TP391;R739.41" " 文献标识码:A" " 文章编号:2096-4706(2024)18-0103-05
Design and Implementation of Cerebral Aneurysm Auxiliary Diagnosis System Based on SpringBoot
ZHAO Haoqi, WU Aiping, SUN Qingyun, ZHAO Shichang, ZHANG Xixi, ZHANG Wenwen, YE Mingquan
(Wannan Medical College, Wuhu" 241002, China)
Abstract: Cerebral aneurysm is an important cause of subarachnoid hemorrhage, with diverse types and heterogeneity in morphology and clinical manifestations. Accurate diagnosis based on medical and pathological images is of great value for the treatment of cerebral aneurysms. The paper designs and develops an intelligent auxiliary diagnosis platform for cerebral aneurysm based on SpringBoot, which mainly includes three functional modules of intelligent diagnosis of cerebral aneurysm, online ward for cerebral aneurysm, and rehabilitation records for cerebral aneurysm. Firstly, it obtains the users biopsy cell imaging image and uploads it to the cloud server. Secondly, it utilizes image analysis, visualization analysis, and underlying built-in image annotation algorithms to generate auxiliary diagnostic medical records. Finally, it sends it to the doctors client to assist in diagnosing the condition. This system can provide patients with faster and more convenient diagnosis and treatment assistance services, as well as scientific reference for clinical doctors diagnosis. It can also partially alleviate the problem of uneven distribution of high-quality medical resources.
Keywords: cerebral aneurysm; SpringBoot; auxiliary diagnosis; medical technology; Artificial Intelligence
0" 引" 言
脑动脉瘤是颅内血管壁薄弱区因不稳定血流的长期冲击而形成的病理性膨胀,是造成蛛网膜下腔出血的主要病因之一,在脑血管意外中,仅次于脑血栓和高血压脑出血,位居第三。一项我国社区人群患病率的调查结果显示,脑动脉瘤人群患病率约为7%。每年有0.25%~0.50%的未破裂动脉瘤发生破裂[1],脑动脉瘤的发病率高达2%~7%,且第一次破裂出血后未得到及时治疗死亡率高达35%[2]。同时,动脉瘤的治疗并非绝对安全,开颅手术或介入治疗均存在4.3%~4.6%的残死率,10.0%~24.6%的患者术后出现短暂或永久性神经功能不全[3]。近年来,随着“互联网+”时代的到来,信息技术不断发展,智慧医疗逐渐兴起,越来越多的人会在手机或社交网络上获取各种各样的医疗健康信息。传统地医学图像的解释通常由医生进行,但由于医生的主观性、认知偏差和疲劳等限制,这种解释方法存在一定的局限性。因此,随着人工智能等技术的发展,利用算法对医学图像进行自动化解释和分析已经成为一种趋势,这种方法可以减少人为主观性和差异性,同时也减轻了医生的工作压力。目前,脑动脉瘤的诊断方法主要包含血液和骨髓检查、化验检查和病理学检查,这些检查方式效率低,耗时长,且对诊断医生的专业水平也有较高要求。此外,图像采集已经得到了显著改善,设备以更快的速率和更高的分辨率采集数据,传统的人工读片等医学图像分析方法已无法适应数量迅速增长的影像资料的诊断需求[4]。
因此,开发一种基于SpringBoot的脑动脉瘤辅助诊断平台,通过主动获取脑动脉瘤患者病检细胞图像,对动脉瘤病情案例的图像收集和分析,搭建完善的检测系统,通过底层内置图像标注算法对图像数据进行处理和病灶标注[5-6],并将诊断结果发送到Web端进行显示和人工复诊,以此来减少脑动脉瘤专家的工作量。在一定程度上解决部分医生由于缺少工作经验,而无法快速诊断的问题。同时,脑动脉瘤专家借助Web端提供的诊断信息,能够快速识别脑动脉瘤的种类,帮助医生更加准确地分析和掌握患者病情。
1" 平台设计
1.1" 功能模块设计
正基于SpringBoot的脑动脉瘤辅助诊断平台数据处理思路如图1所示。首先将患者病检细胞图像数据上传到智能辅助诊断平台;智能辅助诊断平台生成智能电子病历辅助临床医生复写诊断;临床医生与患者通过云病房实现在线交流病况;Web端接收人工复写病历和智能辅助诊断病历,实现可视化病史呈现[7]。
1.2" 平台架构设计
脑动脉瘤辅助诊断平台采用前后端分离的开发模式,利用B/S架构(Browser/Server)的界面层—服务层—数据层形式进行设计开发。界面层向服务层和数据层发送请求,负责完成用户与后台的交互以及最终查询结果的输出。服务层响应界面层的请求,调取数据层的数据,完成界面层的数据显示功能和应用逻辑功能[8]。数据层负责数据库的读写和管理,可以在接受界面层的请求后进行独立数据操作。平台整体架构如图2所示。
1.2.1" 界面层设计
通过HTML5、CSS3、JavaScript构建Web界面基础结构,通过使用Vue的桌面端组件库Element提供的一些精美的组件,同时配合Apache ECharts数据可视化组件美化页面,将Server层返回的脑动脉瘤数据处理结果进行可视化处理,实现Browser层和Server层的数据信息交互功能。Browser层通过使用Axios轻量级库对原生Ajax进行封装,向Server层发送请求,与Server层交换数据、更新部分Browser层显示,实现层级间数据异步交互效果。
1.2.2" 服务层设计
服务层主体使用Java编程语言开发,使用Maven统一项目结构、进行项目构建和导入相关开发场景下正常运行所需要的依赖。服务层通过使用Tomcat解析来自界面层的HTTP请求,服务层向数据层获取脑动脉瘤检测的数据资源,通过图像标注算法,进行脑动脉瘤图像病灶标注逻辑业务处理,将处理结果响应给界面层。
1.2.3" 数据层设计
该平台数据存储层使用MySQL数据库对脑动脉瘤图像数据进行存储和管理,平台通过使用图像转二进制方法将脑动脉瘤病检图像转换为二进制数据形式,进行服务层与MySQL数据库之间的数据交互。在此同时通过使用AES算法进行二进制流数据的加密和解密操作,保护患者隐私。Browser层向数据层发出处理图像数据请求,服务层向数据层调取脑动脉瘤病检图像数据,传入图像标注算法数据输入端,进行脑动脉瘤图像病灶标注。
2" 核心功能模块介绍
2.1" 脑动脉瘤标注功能
对于一个原始的脑动脉瘤图像,在交给医生之前,如果可以自动检测并标注出脑动脉瘤所在的区域[9],那么对于后面医生对脑动脉瘤的诊断将会有很大的帮助。并且,如果检测的精确度够高,那么就可以减少医生的工作量,避免因为医生的个人情感等不可抗因素导致的漏诊或误诊。此平台内置标注算法用One-Stage目标检测算法来设计对脑动脉瘤原始图像进行检测标注。One-Stage目标检测算法速度相对较快,其中YOLO算法[10]把目标检测问题处理成回归问题,用一个卷积神经网络结构就可以对输入图像进行直接预测。
首先,对图像进行Batch Normalization(批量归一化)处理。
其次,为了约束检测器在图像中找到目标的位置,可以添加先验框进行约束。随着先验框的引入,盒子的数量被预测的更大,因此Box可以更全面地捕获。在训练图像时,YOLO使用K-means聚类为训练集中标记的边界选择先验框,并尽可能找到匹配的样本边界大小。距离测量使用标准欧几里得距离K-means公式:d(box,centroid)=1-IoU(box,centroid),其中centroid是聚类时选择作为中心的框,box是其他框,d是它们之间的距离。
再次,用绝对位置(Direct Location)预测脑动脉瘤所在区域,根据网络单元的位置预测坐标,使Ground Truth的值在0~1之间,通过绝对位置预测,使得对边界框位置的预测进一步约束。
最后,对细粒度特征(Fine-Grained Feature)进行优化和进行多规模训练(Multi-Scale Training)为了更好地检测出较小的脑动脉瘤,最后的输出特征图需要保留一些细节信息。同时,为了保证在不同尺寸的图片上能够很好地检测出脑动脉瘤,进行了多规模训练。
2.2" 病检图像存储处理
该平台数据层在架构设计中说明,其用于持久化存储界面层和服务层传入的脑动脉瘤病检数据,是以.tif格式传入的图像数据。平台开发采用的是MySQL数据库服务来存储和管理平台数据,MySQL数据库只能用于直接管理和存储结构化数据[11]。因此,在存储脑动脉瘤病检图像和获取脑动脉瘤标注图像时,为方便MySQL数据库结构化存储管理数据,需将图片数据进行结构化处理。
常见的二维图片结构化数据处理方式有两种:1)将二维图片数据转化为二进制数据存储;2)保存图像数据在服务器上的存储路径。由于医学图像涉及患者隐私等一系列问题,该平台在存储数据时,需要对病检图像进行加密处理。因此,平台采用的图片结构化数据处理方式为第一种。
数据层病检图像存取处理的两种方式主要代码思想如下:
public class ImgBinaryMutualConversionTool {
public static void main(String[] args) {ImgToBinaryToCerebralAneurysmDatabase();}
private static final String inputCerebralAneurysmImgFolderPath = \"C:\\ CerebralAneu-rysmImgTest\";
private static final String CerebralAneurysmBinaryImgInsertSql = \"INSERT INTO Cere-bralAneurysmBinaryList(IMG_NAME,IMG_BINARY,IMG_PATH) VALUES (?,?,?)\";
public static void ImgToBinaryToCerebralAneurysmDatabase() {
Connection CerebralAneurysmDatabaseConnection = 1;
PreparedStatement ps = 1;
FileInputStream inCerebralAneurysmImg = 1;
// 省略异常抓取
CerebralAneurysmDatabaseConnection = CerebralAneurysmDatabaseCon-nectionTool.getCerebralAneurysmDatabaseConnection();
ps = CerebralAneurysmDatabaseConnec-tion.prepareStatement(CerebralAneurysmBinaryImgInsertSql);
File CerebralAneurysmImgFolder = new File(inputCerebralAneurysmImgFolderPath);
String[] CerebralAneurysmImgList = CerebralAneurysmImgFolder.list();
for (int i = 0; i lt; CerebralAneurysmImgList.length; i++) {" // 省略二进制数据加密过程
File CerebralAneurysmImg = new File(inputCerebralAneurysmImgFolderPath + \"\\\" + CerebralAneurysmImgList[1]);
inCerebralAneurysmImg = new FileInputStream(CerebralAneurysm);
String CerebralAneurysmImgName = \"\";
String CerebralAneurysmImgAbsolutePath = CerebralAneu-rysmImg.getAbsolutePath();
CerebralAneurysmImgName = CerebralAneurysmImgList[i];
ps.setString(1, CerebralAneurysmImgName);
ps.setBinaryStream(2, inCerebralAneurysmImg, (int) CerebralAneu-rysmImg.length());
ps.setString(3, CerebralAneurysmImgAbsolutePath);
int once = ps.executeUpdate();
}
// 省略异常处理
}
// The implementation principle is the same, so I wont explain it in detail here!
public static void binaryToImgByCerebralAneurysm Database() {}
}
根据以上图像处理算法设计,最终脑动脉瘤病检图像数据在数据库底层存储结构如表1所示。
3" 介绍功能模块实现
3.1" 脑动脉瘤智能诊断
该功能模块通过自动获取患者体检图像数据,内置智能辅助诊断平台生成智能电子病历。该智能电子病历提供患者基本信息以及脑动脉瘤确诊率,同时给出人工智能诊断建议。最终将智能诊断结果分别发送到医生端和患者端。医生对智能诊断结果做出复诊,判断电子病历是否正确,如果正确,直接从医生端发送给患者端;如果不正确,医生进行病例复写,提供人工电子病历,然后发送给患者端。患者端收到智能辅助诊断平台生成的电子病历,几分钟后会收到医生的反馈记录。通过底层内置图像标注算法对脑动脉瘤病检图像中的病灶区域进行标注处理,辅助脑动脉瘤专家进行病情诊断,提高临床医生的诊断效率及准确率,在一定程度上解决部分医生缺少工作经验,无法快速做出诊断的问题。脑动脉瘤智能诊断模块Web端界面图如图3所示。
3.2" 脑动脉瘤在线病房
该功能模块是一种以网络在线沟通为基础的问诊方式,为医生与患者之间的交流提供一个更加方便的环境,将医生和其负责的患者放在一个在线病房里,让患者足不出户就可以与医生进行一对一的诊疗方式,更好的保护患者隐私,提高医患信任度,为患者提供更加真实、可靠的医疗信息。同时采用图文、网络电话或网络视频的交流方式,让医生可以更好地了解患者病情,方便医生获取患者的信息和进行信息互动。该模块通过采用HTML5、CSS3、JavaScript等Web前端开发框架及ECharts可视化组件库提供视觉呈现效果,后端采用JAVA语言开发,实现医生与用户之间在线网络通信[12]。
3.3" 脑动脉瘤康复记录
该功能模块可以实现实时记录患者病况,包括最近一次的看病时间、所用药物等,将这些医疗信息通过数据可视化技术清晰、简洁地展现出来,同时根据医疗信息的变动产生动态变化的效果,让患者可以更好地看到自己从始到今的病情发展。医生对患者进行治疗时,也可以通过此模块了解患者的病史,方便医生进一步做出阶段性诊疗方案。脑动脉瘤康复记录模块Web端可视化界面图如图4所示。
4" 结" 论
数字图像处理技术和人工智能技术是当前临床辅助诊断的重点技术,可通过模拟人脑进行分析学习的机制,分析疾病特征、发病规律等,进而为辅助医务人员进行决策提供科学的参考依据,对于辅助医务人员进行病理诊断具有重要意义。本文设计开发的基于SpringBoot的脑动脉瘤辅助诊断平台在一定程度上简化了脑动脉瘤诊断流程。该平台通过数据可视化以及内置智能诊断算法的手段,在Web端呈现脑动脉瘤辅助诊断效果,比起传统通过病理学检查等手段,医生再进行分辨病灶,同时给出诊断结论的操作,工作效率以及诊断正确率能够得到明显提升。该平台提供的智能诊断结果存在一定局限性,后续将对该平台智能诊断模块进行不断完善优化,进一步提升智能辅助诊断的可靠性,加强该平台的辅助诊断效果,进一步提升该平台的适用性。脑动脉瘤是一种病理变化复杂的疾病,不同类型脑动脉瘤的组织病理外观非常相似,这给临床病理诊断带来了很大的挑战。然而,随着人工智能技术的进步和算法的不断发展,我们可以期待在未来研究更加高效和准确的脑动脉瘤病理检测工具,以支持脑动脉瘤的精准诊断和治疗。这些新技术和工具将为医生提供有效的辅助诊断,也将使脑动脉瘤患者能够得到更好的治疗效果。
参考文献:
[1] 吴钖莹,张丽娟,敬维维,等.影像组学在颅内动脉瘤中的应用研究进展 [J].中国脑血管病杂志,2023,20(11):769-776.
[2] 赵军.颅内动脉瘤——脑中的“不定时炸弹” [J].家庭生活指南,2024,40(1):179-180.
[3] 姬培培.动脉瘤性蛛网膜下腔出血血管内治疗的临床预后风险评估 [D].汕头:汕头大学,2021.
[4] 王尧,黄钢.深度学习在细胞图像分析中的应用进展 [J].中国医学物理学杂志,2022,39(8):963-966.
[5] 李增辉,王伟.基于深度学习的医学图像分割方法研究进展 [J].电子科技,2024,37(1):72-80.
[6] 卢文婷,姚远,熊静,等.机器学习在心血管疾病辅助诊断模型中的效果 [J].中华全科医学,2023,21(1):112-117.
[7] 银莉,杜啸楠.基于SpringBoot和Vue的社区服务平台设计与实现 [J].电子技术,2022,51(12):182-183.
[8] 王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计 [J].工业控制计算机,2023,36(3):51-53.
[9] 陈哲,黄巍,陈昭.基于Web应用的医学图像半自动标注系统 [J].计算机应用与软件,2019,36(10):1-5.
[10] 来斌,王东军,刘彦彤,等.基于改进YOLO V3的PID目标检测 [J].自动化与仪表,2023,38(3):54-58.
[11] 高见斌.基于MYSQL数据库存储引擎的研究 [J].数字通信世界,2018(5):41+56.
[12] 陈洪敏.DIV+CSS布局技术在网页设计中的应用 [J].现代信息科技,2023,7(2):87-89+93.
作者简介:赵浩奇(2002—),男,汉族,安徽阜阳人,本科在读,研究方向:医学信息工程;吴爱萍(2000—),女,汉族,安徽当涂人,硕士在读,研究方向:生物物理学;孙庆云(2002—),女,汉族,安徽亳州人,本科在读,研究方向:智能医学工程;赵世昌(2002—),男,汉族,安徽宿州人,本科在读,研究方向:医学信息工程;张茜茜(2004—),女,汉族,安徽宿州人,本科在读,研究方向:智能医学工程;张文雯(2004—),女,汉族,安徽当涂人,本科在读,研究方向:医学信息工程;通信作者:叶明全(1973—),男,汉族,安徽当涂人,教授,博士,研究方向:数据挖掘与机器学习、医疗大数据处理、医学图像处理等。