APP下载

一种新的基于形态学与Yolov3 算法的显微镜图像中孢子识别方法

2020-11-10李鑫铭邵宝民

智能计算机与应用 2020年5期
关键词:锚点置信度形态学

李鑫铭, 赵 磊, 邵宝民, 王 栋

(山东理工大学 计算机学院, 山东 淄博255000)

0 引 言

微生态下的菌种检测是人体医疗学科的分支,研究发现人体内分泌物中存在超过200 种微生物,其中不乏致病菌,或出现某种菌类数量失衡从而致病情况。 目前国内普遍采用医务人员肉眼进行显微镜下观察分析的方式,诊断患者是否患病,此种方式效率低下,且易因视觉疲劳,出现误诊、漏诊等现象。

对于目标检测问题,当前可分为两大类,传统检测算法诸如Rcnn,Fast-rcnn,Faster-rcnn[1-2]等一般分为3 个阶段:(1)在给定图像上选择候选区域。(2)对区域进行特征提取。(3)使用分类器进行分类。 这类算法普遍耗时长,磁盘空间占用大,且算法冗余较多。 Yolo(包括Yolo,Yolov2,Yolov3[3-4])算法不同于上面几种算法,此类算法将检测问题作为回归问题处理,即给定图像后,直接在图像多个位置上预测出这个位置的边框以及目标类别。 因此,在检测准确率大致相同的情况下,减少了提取候选区域等步骤的冗余计算,大大提高了检测速度。

针对此类菌类检测问题,熊应平、王阿川等人(2016)曾采用滤波,分水岭算法对松杨栅锈菌孢子进行分割识别[5],但其检测背景较为简单,且检测速度较慢。 郑欣、田博、李晶晶(2018)等人曾采用Yolov2 模型对宫颈细胞簇团进行智能识别[6],但其正确率(判断类/实际类)只能达到90%左右,检出率(检出数目/实际数目)也有83%左右。 廖欣、郑欣、邹娟(2018)等提出基于神经网络集成模型的宫颈细胞病理计算机辅助诊断方法[7],但其时间效率差,不能满足患者实时诊断的需求。 因此提出采用基于darknet-53 网络模型的Yolov3 算法与传统形态学相结合,实现智能识别各种致病菌类的解决办法。

由于显微镜下菌种的多样性,且背景极为复杂,干扰因素多。 尤其是在100 倍显微镜下,采集图像时,由于焦点无法兼顾多个图层,会出现景深问题,导致分层图像模糊,本文采用了一种比较快捷的景深融合方法成功解决了此问题,又在yolov3 检测基础上加入传统图像处理方法,将整个检测过程分为两大部分,并取其交集。 在经过1 530 张图片测试后,在保证单张图片测试时间在300 ms 左右的情况下,其准确率达94.7%,检出率达82.1%。 经临床数据证明,资深医务人员对试片进行人工筛选时,准确率在94%左右。 说明此算法效果可以达到实际使用的精度需求。

1 技术介绍

1.1 YOLOv3 简介

Yolov3 采用了锚点机预测来更高效的预测不同尺度与宽高比的物体边界框。 YOLO3 为每种FPN预测特征图(13*13,26*26,52*52)设定3 种锚点框,总共聚类出9 种尺寸的锚点框。 锚点的设计方式使用K-means 聚类,得到9 个聚类中心,将其按照大小均分给3 个尺度。 尺度1: 在基础网络之后添加一些卷积层,再输出锚点框信息。 尺度2: 从尺度1 中的倒数第二层的卷积层上采样(x2),再与最后一个16*16 大小的特征图相加,再次通过多个卷积后输出锚点框信息,相比尺度1 增大两倍。尺度3: 与尺度2 类似,使用了32*32 大小的特征图进行多个卷积输出锚点框信息。

距离公式(1)定义如下:

Yolov3 在通过训练后,对每个预选框预测4 个坐标值(tx,ty,tw,th)(其中tx,ty是预测的坐标偏移值,tw,th是尺度缩放), 其预测过程与Faster-rcnn类似。 可通过公式(2)~公式(5)计算得到:

其中, Gx、Gy、Gw、Gh为是目标真实框在feature map 的4 个坐标。 Pw,Ph是预设的锚点框在feature map 上的宽和高,预选框预测流程如图1 所示。

图1 预选框预测流程图Fig. 1 Pre-selection box prediction flowchart

对于预测预选框的Cell(一幅图划分成S×S 个网格cell),可以对边框按图1 所示进行预测。

预测边框时cx, cy为相对于左上角的位置,每个小格的长度为1,图1 中此时cx=1,cy=1。 tx和ty分别经过sigmoid 函数处理,与cx, cy相加后得到预选框中心点bx,by。 tw,th分别与pw,ph作用后,最终得到预选框的宽和高bw,bh。 sigmod 函数公式(6):

除去预选框位置的四个值外,每个网格还会预测一个框内有无待测目标的置信度,以及N 个待检测类的特定置信度。

预测有无待测置信度定义为公式(7):

其中,Pr(Object) ∈{0,1}.

此时,将每个网格预测的种类信息和预选框区域预测的置信度信息相乘,得到每个预选框区域的特定类型置信度,公式(8):

等式左边第一项是每个网格预测的类别信息,第二、三项是每个预选框预测的置信度。 这个乘积即代表了预测的区域属于某一类的概率,也有该区域准确度的信息。

关于损失函数,Yolov3 使用均方和差作为loss函数,由三部分组成:坐标误差、IOU 误差(预选框与实际框的交并比)、和分类误差,公式(9)。

对于每种loss 的贡献率,Yolo 给coordErr 设置权重λcoord= 5。 在计算IOU 误差时,YOLO 使用λnoobj= 0.5 以修正IOUErr。 采用了将物体大小的信息项(宽和高)进行求平方根的方法来改进对于大物体误差对检测的影响应小于小物体误差对检测的影响问题。

综上,Yolo 在训练过程中Loss 计算如公式(10)所示:

注:公式中1-2 行为对预测中心以及预测边框宽高做损失,第3-4 行分别为预测类别,第5 行为对预测置信度做损失。

1.2 形态学筛选

在检测问题中,传统图像处理技术应用较少。目前多种深度学习检测算法更多注重于图像深层特征的提取与分类,而忽略了图像直观的内容。 因此,在利用深度学习检测算法的同时,辅以形态学的条件进一步筛选,可以有效提高检测精度。 传统图像处理方法具有运算速度快,图像操作较为直观等优点,尤为适合医学范围内的实时检测,其缺点是精度较差。 而形态学与Yolov3 算法相结合,在保留时间效率的同时极大的提高了检测精度。 针对孢子这种致病菌的检测,本文提出以加入滤波,灰度化,自适应阈值划分,轮廓提取等传统图像方法[10],并针对孢子形状对其进行椭圆拟合,来对Yolov3 算法筛选出来的疑似区域进行再确定。

根据得到的图片特性,首先进行灰度化,自适应阈值划分,图像锐化等操作,采用Canny 算子对其进行轮廓查找。 针对孢子的形状,采用了基于最小二乘法椭圆拟合[11-12]的办法来对孢子进行准确检测。

已知椭圆方程

对于公式(11),方程中有5 个未知数分别为A,B,C,D,E,则最少需要采样点为5,对采样点进行椭圆非标准方程拟合可得

其中,N 表示采样点个数。 经过多次测试并结合孢子图像在图片中的像素大小,其轮廓上的拟合点定为35-38 时,拟合效果最好。

2 实验与测试

2.1 图像集及其预处理

本文所用训练图像数据集与测试集均为患者真实病例试片在100 倍显微镜下采集的,含有致病菌的视野,采集像素大小为1600*1200(后归一化为608*608)。 得到清晰图像如图2 所示。

图2 清晰孢子菌丝图像Fig. 2 Clear spore hyphae image

其中,深色椭圆状细菌为孢子,深色长条形细菌为菌丝。 得到清晰的图像后,再由专业医务人员对图像进行标注。

标注好的图像如图3 所示:

2.2 实验

实验基本流程为:选取部分待测图像(目前为50 000 张),在待测图像中将识别目标做好标注,将其组成训练集放入网络训练,得到模型。 再将要识别的图像(图像大小为1600*1200,共1 530 张)放入测试程序,调用训练好的模型进行测试,得到模型初筛结果,并在原图中标出。 对该疑似区域进行形态学的判断,最终通过取交集的方法得到较为准确的识别结果。 实验流程如图4 所示。

(1)基于darknet 框架下yolov3 模型的初筛。测试过程:经过模型训练后,将待测图像导入进模型网络,得到每个区域的特定类型置信度,设置阈值,滤掉得分低的区域,对保留的区域进行NMS(Non-Maximum Suppression,非极大值抑制)处理[13],得到Yolov3 的检测结果。

(2)基于图像形态学处理。 基于图像形态学处理与识别的流程如图5 所示。

图5 形态学处理与识别流程Fig. 5 Morphological processing and identification flow

得到清晰的Yolov3 算法筛选过的疑似区域之后,对图像进行边缘增强及锐化。 再根据孢子的色值做灰度化以及二值化分割,将孢子与浅色背景分割开来,通过Canny 算子对其进行轮廓提取。 得到清晰轮廓后,在轮廓上随机取点进行椭圆拟合,若拟合椭圆区域与二值化后孢子所在拟合椭圆的区域重叠部分超过95%以上,则可以大致判断此区域内的形状大致为椭圆。 即该物体符合孢子的形状特点,可将其判定为孢子。 图6 为杆菌做拟合情况,图7为孢子拟合情况。

图6 杆菌椭圆拟合Fig. 6 Bacterial ellipse fitting

图7 孢子椭圆拟合Fig. 7 Spore ellipse fitting

由图6,图7 可以看到,杆菌形状特征并不满足筛选条件,可以轻松被筛选掉。 而细胞核较孢子大小要大,孢子在1600*1200 大小的图片上时,一般最小为45*45,且其长宽比近似1 ∶1,而细胞核大小一般最大为20*30,长宽比接近1 ∶1.5。 因此,此时将大小阈值设为30*30,长宽比1 ∶1.3 时可以通过轮廓的旋转矩形大小有效筛选掉细胞核与杆菌。

2.3 测试

为验证算法性能,只以孢子识别为例,在上文自制测试集中进行了测试(置信度阈值设置为75%,高于此阈值时标出)。 包括本综合算法的时间性能,准确率(判断正确总数/进行判断总数)与单纯形态学算法,深度学习Faster-RCNN,SSD[14],Yolov2等算法在GPU 运行环境性能对比如表1 所示。

表1 孢子识别方法性能对比表Tab. 1 Spore identification method performance comparison table

由上表1 可见,单纯采用图像形态学进行孢子检测时,在GPU 环境下检测速度可达148 p/s-1,但其准确率非常差,难以适应微生态中复杂的背景图像,在1 530 张测试图片中只有69.91%的准确率,召回率(检测出目标数目/所含目标总数)只有65.77%。而基于深度学习的Fast-rcnn 与Fasterrcnn,SSD,Yolov3 等算法采用卷积加权提取特征,并用不同分类器对其进行分类识别的方法较传统识别方法提升较大,具有一定可行性。 但Fast-rcnn,Faster-rcnn 等算法作为传统two-stage 检测算法,在GPU 环境下检测速度分别只有0.61 p/s-1,8.36 p/s-1。关于准确率,Faster-rcnn 虽然可以达到87%,较Fast-rcnn提升较大,但是也只有87.31%的准确率与85.11%的召回率。 而作为检测速度较快的SSD 与Yolov2 两种算法,其速度分别可达31.33 p/s-1与94.43 p/s-1。虽然这两种算法检测速度较快,但其精度仍较实际需求差距很大。 Yolov3 在检测速度与精度上都较上述算法有很大提升,但并不能满足在实际临床医学中的精度与效率需求。 图8 为采用Yolov2,Faster-rcnn,与本文算法对同一张图的识别情况对比。

图8 算法效果对比图Fig. 8 Comparison of algorithm effects

由图8 可以看出:精度方面,Yolov2 无论检出率与召回率都远不及后面两种算法,而Faster-rcnn 在实际测试时虽然检测精度稍高,但是存在将细胞核误检的情况。 而本文算法则不存在此类情况,鲁棒性很强。 因此,本文提出的Yolov3 与传统图像处理方式相结合的方法,不仅检测速度与Yolov3 相近,其准确率更是大大提升,完全可以达到实际临床检测的需求。

3 结束语

本文提出了一种将传统图像处理方法与深度学习算法Yolov3 相结合,应用于临床医学检验微生态下孢子等致病菌的方法。 针对孢子等致病菌识别的问题,采用了Darknet-53 作为特征提取网络,并利用Yolov3 算法进行疑似区域初筛,提取疑似区域,再利用孢子菌丝等菌类的形态学特点进一步筛选,从而去除杆菌堆簇、细胞核、杂质等造成的误检。 针对孢子识别精度可达94%以上,召回率82%以上。对于数据的前期处理阶段,针对显微镜图像出现的景深问题,提出了一种简单的分割拼接方法,从而得到了高质量的训练数据集,使模型训练精度大大提升。 但是此算法还存在一定的缺陷,在召回率上,跟Faster-rcnn 与Yolov3 有些差距,主要是因为筛选过程中条件增多后一些不规则目标被筛除了,识别出来的多为典型目标,在此问题上还需要继续深入研究,目前暂定两种解决方法来提高召回率。 第一种就是不断增加训练数据,目前50000 条训练数据还是偏少,需要标注人员不断进行标注工作来扩充;第二种就是针对待测图像修改网络框架,适当减少或增加特征提取网络层数以及修改相关参数,通过不断实验继续改进识别结果。

猜你喜欢

锚点置信度形态学
基于数据置信度衰减的多传感器区间估计融合方法
基于自注意力机制与无锚点的仔猪姿态识别
艺术史研究的锚点与视角
——《艺术史导论》评介
临床检验中血细胞形态学观察与分析
一种基于定位置信度预测的二阶段目标检测方法
音乐科学研究中的思想实验——以音乐形态学研究中的四个重大发现为例
5G NSA组网下锚点站的选择策略优化
5G NSA组网技术方案研究
校核、验证与确认在红外辐射特性测量中的应用
一种改进的分水岭图像分割算法研究