原论文:Thoracic Disease Identification and Localization with Limited Supervision
关键词:弱监督、多实例学习
弱监督:论文中采用的训练数据中只有一少部分是标注了Bounding box的数据,而绝大多数数据仅仅只有分类而没有bbox标签。
多实例学习:文中提到,如果一张图片被标注了某种疾病的分类,那么这张图片中肯定存在至少一个patch对应于这种疾病,否则,如果一张图片被标注为健康,那么,任何一个patch都不会对应到疾病。
论文模型:
a.将图像输入到残差网络进行特征提取(残差网络去掉最后的分类层以及global pooling层)
b.将残差网络输出的特征图resize到相同的patch大小(h' x w' 变到P x P:小的变大(双线性插值)/大的变小(maxpooling))
c.通过全卷积网络进行分类(通过Patch Slicing之后的特征图首先送入3x3的卷基层中,得到c*个channel的特征图,论文中的c*=512,再将得到的特征图送入到1x1的卷基层中进行预测,生成K个channel的pxp的预测得分(0-1之间),最后根据每张特征图上的得分计算出该张图对应于各个类别的得分)
d.在训练阶段,使用多实例学习来学习两种类型的图像,测试阶段,模型预测出图像类别以及对应区域的位置。
损失函数:
该方法将每张图片对于对应的某类疾病的分类看做2分类问题,且各个类别之间互不排斥。
有标注bounding box 的图像:假设bbox包含了n个patch(n<m,m表示整张图片中的patch总数),Pijk表示第i张图像中第j个patch对应第k个类别的概率,则这张图片对应于第k个类别的概率为:
对于没有标注bbox的图像:
如果第i张图像被标注为第k类,但是并没有标注bbox。既然我们知道它属于第k类,那么一定至少存在一个patch是对应于k类的positive patch,所以整张图片对应于第k类的概率为:
所以损失函数为:
λ为平衡有bbox和没有bbox之间权重的参数,如果将有bbox的数据和没有bbox的数据同等对待,网络学到的东西将很少,模型的性能会很差,为了提高模型的性能,需要增加有标签部分的权重,论文中,λ=5。η在该图像为有标注bbox时等于1,否则为0
我认为其中带星号的为训练要达到的目标概率,不带星号的为学习过程中预测到的概率。
定位的生成:
对于每个patch在之前的过程中都预测出了对应的score,在定位阶段设置一个阈值,只要score大于该值即可认为它是positive patch,论文中的阈值设置为0.5。之前论文中提到,并不预测出严格的位置来,而是一个大概区域。因为经过阈值判定的结果并不会精确地分布在一个规则的矩形框之中。
注:以上观点仅为个人理解,如有错误请指正!