{title}{title}
|
文献综述(或调研报告) 计算机视觉作为人工智能的一个重要研究领域,已经广泛应用于各行各业,其中基于深度学习的医学图像也逐渐成为当前的一个研究热点。肺结节的自动检测对肺癌的治疗和提高患者生存率具有重要意义。作为临床辅助工具,肺结节的自动检测和诊断技术需要克服这些困难,帮助放射科医生做出更准确的诊断。
在深度学习算法广泛应用之前,通常采用“人工设计特征 分类器”的思路对目标进行检测并分类,在这个过程中一般采用滑动窗口在图像上不断的滑动、缩放当前区域,然后再用分类器输出预测当前窗口的区域内是否存在目标,根据得分排序选择当前目标的最可能的类别。 最先将卷积神经网络和目标识别结合起来的应该是Ross B.Girshick,他在2014年提出了R-CNN算法,利用selective search 算法获得目标区域,通过神经网络提取特征,最终根据特征使用SVM(Support Vector Machine)进行分类,使目标检测效果取得了很大提升;之后,针对 R-CNN 单张图片检测速度过慢的问题, Kaiming He 又提出了SPP(Spatial Pyramid Pooling)网络,利用空间金字塔采样方法对卷积层特征进行提取,大大加快了目标检测的速度;2015年 Ross B.Girshick [6]在融合了R-CNN以及SPP-Net的设计思想之后提出了具有精简结构且拥有端到端训练能力的 Fast R-CNN以及Faster R-CNN,再次提高了目标检测的精确度以及节省了时间,但网络的计算仍然需要大量参数,处理过程还没有达到实时性的标准。
目标检测的主要任务是检测图像中包含的期望目标物,并且能够输出该目标物在图像中的边界框和标签。识别的场景通常是许多个目标堆放在一起,有时物体之间还会有阻挡和干扰,要求能够检测多个物体并将其区分开。
图2 深度学习目标检测模型 目标检测同时将识别和定位应用在图像检测任务上,更加关注图像的局部信息,其基本流程主要集中在三个步骤上(如图2所示):目标区域提取、特征表示和区域分类。首先利用算法对图像处理,提取出可能存在目标的定位框,即所谓候选区域。然后利用手动或自动的方式提取图像特征获得对应的特征向量。进而再采用各种分类器判断区域中是否存在目标及目标所属的具体类别。最后就是位置回归的方法得到和目标位置最匹配的定位框。
Ross B.Girshick [6]在近几年陆续提出并开源的R-CNN系列深度神经网络检测算法己经成为两段式深度学习目标检测算法的开山之作,它们分别为RCNN、Fast R-CNN[2]、Faster R-CNN[6]及最新的Mask R-CNN,这些模型循序渐进且不断优化提升的检测思想既具有理论价值又有工程实践意义。 R-CNN的处理流程是先用选择性搜索方法提取出可能包含目标的区域,再输入到CNN中提取特征,输出特征向量后使用SVM分类器进行识别,最后再做定位框的回归。而在Fast R-CNN中,目标定位框的回归和框分类2个任务合并成了一个多任务模型。Faster R-CNN其实是相当于由2个Fast R-CNN模型组成,一个用来输出定位框和类别信息,另一个被称作RPN(Region Proposal network),专门用CNN来辅助整个算法生成正负样本信息(区域框及框内是否有目标存在)。其结构如图3所示。通过2段式的训练-检测流程,将RPN网络的CNN特征提取部分和Faster R-CNN融合ROI (Region of Internet)到网络输出的部分结合,从而构成了一个基于卷积神经网络的端到端的目标检测模型。 |
|
图3 Faster R-CNN结构示意图 RPN网络:通过RPN网络可以自动生成区域正负样本信息用来训练,从而将定位框的训练样本产生和检测过程整合到了一个框架中。图4所示为RPN网络结构图。
图 4 RPN网络结构示意图 RPN模型主要是由两层神经元组成,第一层为卷积层,将 的卷积核视为滑动窗口在卷积特征图F上进行卷积运算并获得一个256维的特征向量。接着特征向量被分别送入2个全连接层中,即reg层和cls层,reg层用来预测候选区域的位置,cls层用来判断当前候选区域的位置,cls层用来判断当前候选区域是否为目标。图4中滑动窗口中的中心点对应到原图的相应位置后,可将此位置视为一个锚并在其上框出k个不同尺度、不同比例的锚框。滑动窗口在特征图F上滑动一遍后可生成一系列锚框,经过cls层和reg层的处理,即可得到每个锚框的目标的分和回归边界。
难例挖掘是指,针对模型训练过程中导致损失值很大的一些样本(即使模型很大概率分类错误的样本),重新训练它们。算法的核心思想是根据输入样本的损失进行筛选,筛选出hard example,表示对分类和检测影响较大的样本,然后将筛选得到的这些样本应用在随机梯度下降中训练。在实际操作中是将原来的一个ROI Network扩充为两个ROI Network,这两个ROI Network共享参数。其中前面一个ROI Network只有前向操作,主要用于计算损失;后面一个ROI Network包括前向和后向操作,以hard example作为输入,计算损失并回传梯度。 算法优点:1、对于数据的类别不平衡问题不需要采用设置正负样本比例的方式来解决,这种在线选择方式针对性更强。2、随着数据集的增大,算法的提升更加明显。 具体来说: 1 将Fast RCNN[2]分成两个components:ConvNet和RoINet. ConvNet为共享的底层卷积层,RoINet为RoI Pooling后的层,包括全连接层; 2 对于每张输入图像,经前向传播,用ConvNet获得feature maps(这里为RoI Pooling层的输入); 3 将事先计算好的proposals,经RoI Pooling层投影到feature maps上,获取固定的特征输出作为全连接层的输入; 需要注意的是为了减少显存以及后向传播的时间,这里的RoINet是有两个的,它们共享权重,RoINet1是只读(只进行forward),RoINet2进行forward和backward: a 将原图的所有props扔到RoINet1,计算它们的loss(这里有两个loss:cls和det); b 根据loss从高到低排序,以及利用NMS,来选出前K个props(K由论文里的N和B参数决定) c 将选出的K个props(可以理解成hard examples)扔到RoINet2, 这时的RoINet2和Fast RCNN的RoINet一样,计算K个props的loss,并回传梯度/残差给ConvNet,来更新整个网络维护一个错误分类样本池, 把每个batch训练数据中的出错率很大的样本放入该样本池中,当积累到一个batch以后,将这些样本放回网络重新训练. 参考文献:
Recognition (CVPR), 2014
Chao Bao, Qi Liu Automatic nodule detection for lung cancer in CT images: A review,2018
|
资料编号:[180862]
