DSB2017第一名论文理解: 3D Deep Leaky Noisy-or Network(一)

Kaggle上2017年肺结节检测比赛第一名的算法,其代码的github通道。

论文:https://arxiv.org/abs/1711.08324 

我也是没办法,代码又跑不起来,里面还有很多细节参数不理解(之前已经看了deeplung的论文代码,结合这个模型的整体理解已经比较清晰了,但细节还是理解不了,来看原文了)。下面翻译理解下我困惑的部分,当然也会加入自己的理解自己发挥下的。

二.RELATED WORKS

A.常规的目标检测

目前已经提出了很多目标检测的算法,现在先来回顾一下这些算法。绝大多数算法是用来检测2d目标检测来设计的。目前最好用精确的算法是两步走算法(例如faster-RCNN)。它们在第一步算法中提出许多边界框(叫候选框(proposals))这些候选框有包含目标的(正例),也有不包含目标的(反例),都是算法从所有可能的边界框中挑选出来同时还有初步细微修正过的。第二步中完成细分类(几类不同的目标+背景),以及框的再次修正。更多近期的方法只要一步,例如yolo边界框和类别可能性同时预测,例如SSD预测某一具体框的类别可能性,而不提供候选框。通常一步法速度有优势,二步法精度有优势。不过在单类别目标检测算法,两步算法中的第二步已经不在需要,那么算法统一退化成一步算法。

另外将前沿的2d目标检测算法升级为3d目标检测任务(视屏的动态目标检测与立体目标检测(现实空间一个区域均匀割成一些大小相同的立方块,检测哪些块中含有目标))是有限制的。由于主流GPUs的显存限制,一些学者先在二维上产生候选框,然后利用一些模块产生三维候选框。相似的策略已经用到了3D图像分割当中了。据我们目前所知3D的RPN还没有用到处理视屏和体数据中。

B.结节检测

结节检测是一个典型的立体数据检测任务。由于它在临床诊断中的重要性,这些年来引起了越来越多的关注。这个任务通常可以划分为两个子任务:提出候选框和减少假阳性。每个子任务都有很多中方法。第一个子任务通常是先用一个3d描述模块得到特征,再用分类器选出许多候选框。第二个子任务是用复杂的分类器去区分真假结节。下面是介绍结节检测的发展中的一些重要的事情和论文。我这里就翻译了,有兴趣的小伙伴可以自己去看看。

C.Multiple instance learning(多样实例学习?)

前面两段我也不是特别懂就是介绍没用深度学习前用的MIL(medical image analysis)任务。我就不翻译了下面是第三段。

为了整合MIL到深度学习框架中,一个关键组成是用一个网络层将不同实例的信息结合在一起,这个网络层叫做MIL池化层MIL (Pooling Layer (MPL)。具体例子:max-pooling layer [27], mean pooling layer [26], log-sum-exp pooling layer [28], generalized-mean layer [25] and noisy-or layer [29].如果这些数目的实例是从每个例子中修正过来的,它也可以用一个MPL来实现特征串联。这个MPL可以用来结合不同实例在中间的特征层以及输出层(网络)。

D.Noisy-or model

(找了很久就找到https://blog.csdn.net/yangliuy/article/details/8091630里第四点有关于Noisy OR CPD的理解希望对你有帮助.)

The noisy-or Bayesian model(噪声或贝叶斯模型??)被广泛的用来推测推断疾病的概率例如肝脏受损相关的以及支气管相关的疾病案例。Heckerman在noisy-or gate上建立了多特征多疾病诊断系统。Halpern and Sontag 提出了无监督学习的方法在 noisy-or model上 ,同时验证它在Quick Medical Reference model上。

所有上述提到的方法都是包含the noisy-or model into the Bayesian models.当然结合noisy-or model和神经网络后效果是杰出的。sun等人已经将它运用到了深度神经网络框架中作为一个MPL来改进图像分类的精度。Zhang等人把它作为提升方法来改进目标检测的精度。

你可能感兴趣的:(深度学习)