董妮 杜淑娟 屈卓军
摘要:多边形标注的精确度降低,自由绘画标注不仅耗时,而且同一个图像经过不同标记者能够存在多种标记方式,所以在医学图像标记过程中存在较为严重的问题。文章设计了一种基于深层神经网络的医学图像半自动绘画标注系统。深层神经网络在处理图像上具有较为成熟的应用,于是将其应用到标注系统中。首先对系统进行设计,然后分析实现系统所需要3个方面,分别为客户端、服务器和数据库、深层神经网络模型,最后将系统运用到医学图像中,结果表明,文章所研究的系统具有更好精确度和效率。
关键词:深层神经网络;半自动;绘画标注系统;医学图像
中圖分类号:TP391.4I;TP183
文献标识码:A
文章编号:1001-5922( 2020)12-0028-05
深层神经网络使得医学图像处理变得更加的方便和准确,其中典型的卷积神经网络已经在医学中具有深入应用,然而在应用过程中需要大量可靠的数据作为基础,获取这些数据比较困难,或者会花费大量人力和财力进行自制数据集,但是由于医学图像的专业性非常强,对其进行标注时难以保证其精确度,且不同专家标注的结果存在差异,所以医学图像标注工作比较困难[1-3]。
当前也有相关的标注工具,然而在应用过程中存在2个问题,①只支持多边形标注,如图1所示,其准确度就会比自由绘画标注低很多;②没有深入考虑医学图像标注工作本身具有很强的复杂性[4]。于是文章将基于深层神经网络设计一种医学图像半自动绘画标注系统,该系统能够能够实现自由绘画和多边形绘画标注2种模式,并且使得标注实现半自动化,系统不仅能够提高工作效率,而且还有助于提高标注准确度。
1 系统设计
1.1 系统构架设计
图2为医学图像半自动绘画标注系统的整体架构,其中主要包含浏览器、服务器、数据可和机器学习服务。系统在构建时主要需要选择3个部分,分别为客户端、通信方式和机器学习模型。客户端选择的是基于Web的网页应用,这种方式的主要优势在于不需要进行安装,能够跨平台操作,简单方便,并且更新迭代速度比较快[5]。使用RESTful APl作为服务端和客户端的通信方式,使用的格式为JSON,这种方式有助于计算机进行处理,而且简洁、易于阅读,选择HTTPS作为通信协议,因为其安全性更高[6]。机器学习模型使用深层神经网络中的U-Net模型,该模型的网络形状像U,主要有2个组成部分,分别为收缩路径和扩展路径[7]。文章所使用的U-Net模型具体参数如表1所示。
1.2 标注功能设计
由于文章使用的是半自动绘画标注形式,其中包含多边形和自由绘画2种标注形式,这2种标注方式在使用过程中存在差别。在使用自由绘画标注时,用户通过控制鼠标画出曲线进行标注,当把鼠标抬起之后就会形成一个闭合标注区域。如果在使用多边形标注时,用户通过点击鼠标即可形成一个顶点,于是将多边形的多个顶点标注出来,系统会自动完成上一个点和下一个点的连接工作。然而需要标注的区域中存在一个角落,如图2所示,如果使用多边形标注方式那么不能得到准确的区域,而本文所提出的标注方式能够将整个区域标注出来,如图3所示。
选择JSON作为文件存储位置,并且在存储时会将一幅图像所有的标记都存储在JSON文件中。当用户完成标注之后,客户端会将该内容转换为JSON文件,然后将存放到服务器中;当用户需要查看图像标注时,客户端会去存储地质下载JSON标注文件。该工作流程如图4所示。
系统还提供了关于标注上面的快捷功能,目的在于提高图像绘画标注的效率,比如撤销和反撤销、删除单个标注、放大缩小、调整标注等。如果标注工作仅仅只让一个人完成,不利于标注精确度和效率,于是系统设置了每幅图像能够发布讨论,即多个标注者之间可以进行互相讨论,该讨论含有问题、回复、发布时间和对应标注区域,每个用户能够发布不同的讨论,有利于提高标注效率和准确度。
1.3 深层神经网络模型训练
完成标记的图像达到数量之后,然后将其应用到U-Net模型中进行训练。模型中存在输出和输入,首相将变形后大小相同的图像作为输入,然后能够得到二值化掩膜输出结果,将标注范围内的像素值设置为1,于是其余的像素值就用0进行表示。模型的损失函数为交叉熵,其公式如下所示:
然后还会使用Adam优化算法进行优化。当用户使用医学图像半自动绘画标注系统时,该系统中的模型就会自行根据所提供的图像进行分析和预测,对其进行绘画标注,将该结果进行转换为JSON文件然后反馈给用户,然后用户再根据该标注结果进行再次修改。于是使用该系统能够提高标注者的工作效率和准确度。
2 系统的实现
为了实现上述医学图像半自动绘画标注系统,需要实现客户端、服务器、数据库和深层神经网络模型。于是文章将会使用比较流行的开源技术,从而提高系统的稳定性和运作效率。
2.1 客户端的实现
文章使用React框架进行开发客户端,React属于Web页面开发非常受欢迎的技术之一,主要在于其包含3个非常重要的核心技术,分别为响应式Ul、组件化和虚拟文档对象模型。本系统的设计使用React主要有3点作用:①编写用户界面和逻辑,②承接服务器和用户之间的数据交换,③处理数据的展现。使用React进行编写时,使用单个页面加载和检索相关内容,另外,需要将单页面挂载在DOM节点上,页面跳转是使用推人或者弹出页面的方式进行。属于单页应用,需要在客户端中安装一系列路由,如表2所示的9个路由。
与服务器端进行数据交换时选择的函数为React中的fetch函数,另外,系统在运用过程中会存在比较频繁使用的数据,为了实现状态的持久化,将其存放在浏览器的LocalStorage中。
为实现图像绘画标注,使用Canvas技术,因为其中包含着JavaScript脚本,其主要作用就是创建动画、绘制图形,能够对实时视频进行渲染和处理。但是该技术的接口比较低级,为了解决该问题,使用fabric.js封装过的Canvas技术进行开发,由于将其属性设置成了true,于是用户可以在该系统上自由绘画标记。上文中也提到过系统具有自动闭合功能,该功能的实验也是因为使用了abric.is。于是可以实现标注功能。并且标注结果如图5和图6所示,其中图5为标注前的工作区,图6为带有标注和讨论的工作区。