读后感背景

工作中要对高分辨率图像(至少1024 \(\times\) 1024)进行分类,而且ground-truth分类的标准一般都是取决于像素级别的精细local feature(e.g. texture),图像中大致的global feature (e.g. spatial arrangement)不是很重要。大多数生物医学图像分类都属于这类,这就导致了很多传统的CNN不适用于医学图片的分类,比如AlexNet, VGG等。

论文[Patch-based Convolutional Neural Network for WholeSlide Tissue Image Classification]为此类问题提出了 一个解决方案。基本原理就是把一个高分辨率图像分成很多小patch,然后对每个patch做patch-level classification,最后集合patch-level classification得到一个image-level classification。

这种解决方案基于多示例学习(Multiple Instance Learning),这里的image—>patch对应着多示例学习中的bag—>instance。label对应着image,但是patch是没有groud-truth label的。因此多示例学习也属于弱监督学习。

论文中提出了patch-level classifier和decesion fusion model。patch-level classifier就是给每一个patch打上标签,通过CNN进行训练。decesion fusion model是把一个image里上一步得到的所有patch标签结合起来,得到一个image标签。下面的图基本上就是论文用的方法,上面为patch-level classifier,下面是decesion fusion model。

decesion fusion model的实现很简单,从简易的max pooling, average pooling 和 voting,到机器学习中的SVM,logistic regression,再到深度学习里的神经网络都可以实现。变种很多,就不一一介绍了。

读后感主体

本编读后感重点思考一下patch-level classifier,因为文中提到:Furthermore, we formulate a novel Expectation-Maximization (EM) based method that automatically locates discriminative patches robustly by utilizing the spatial relationships of patches. 意思就是在做decesion fusion的时候,不是所有的patch的标签都被fuse在一起的,因为有一些patch只是背景或者对分类结果没啥影响。(虽然我个人觉得这步用处不大,都把image分成很多patch了,还多此一举,这样也不能节省很多时间吧,具体文中对结果的影响好像也不大)。

对于怎么用EM的方式选出 discriminative patches,文中一开始用了很多数学推导,先介绍数学标志。

对于一个patch怎么才能叫discriminative,文中说到: Patches \(x_{i,j}\) that have \(P(H_{i,j} | X)\) larger than a threshold \(T_{i,j}\) are considered discriminative and are selected to continue training the CNN.

对于什么是\(P(H_{i,j} | X)\) ,文中又说 :\(P(H_{i,j} | X)\) is obtained by applying Gaussian smoothing on $P(y_{i, j}| x_{i,j} ; \theta) $

结合这两句话就总结成:一个patch到底discriminative与否取决与它自身预测结果中,对应image label的confidence score。这个image label指的是这个patch对应的image的ground-truth label,所以这个patch在训练的时候可以被分成其他类(i.e. 其对应image的label的confidence score不是最大),而只是在patch的预测结果中,只要对应image类别的confidence score比阈值大,这个patch就可以是discriminative。

明确了discriminative patch的定义之后,我们就可以看看论文中如何用EM和deep learning的形式来确定一个patch的discriminativeness了。

首先,初始化时候,把所有的patch都看成discriminative,意思就是第一次迭代的时候把所有patch都用上,这个\(H_{i,j}=1\)和神经网络参数初始化并没有关系。

在M步里,通过一系列假设,最后的目标就是公式(4),其中\(P(y_i|x_{i,j})P(x_{i,j})\)的最大化可以用cross-entropy loss作为loss function的神经网络达成。具体推倒看上面的手写图。这里\(P(y_i|x_{i,j})\)就是\(y_i\) given \(x_{i,j}\)的后验概率:posterior is the conditional probability of obersving the actual output \(y_{i}\) given the input ​\(x_{i,j}\) with regard to weights \(\theta\).

至于公式(4)里面的\(P(x_{i,j})\),可能直接省略了吧。这里其实还没有太搞懂,如果有看到这篇读后感的大神请不吝赐教!!!

最后,在E步里,用神经网络经过softmax层的输出\(P(y_i|x_{i,j})\)加上一些Gaussian smoothing来得到\(P(H_{i,j}|X)\)的值,然后通过把\(P(H_{i,j}|X)\)和设定好的阈值比较,来确定patch是否是discriminative。阈值设定和比较上具体还有些细节,就不赘述了。之后把E步里判定是discriminative的patch再用做M步的网络学习。

所以整个学习的过程就是通过EM迭代来确定网络参数。网络的学习(SGD)是在M步里完成的,每次M步网络参数经过几个epoch的更新。然后在E步里,更新完参数的网络再对所有patch进行discriminative判定,判定成功的patch再去到M去帮助网络参数学习。这样EMEMEM轮回,最后达到收敛条件后(收敛条件貌似是discriminative patch的判断不再改变了)结束patch-level classifier的训练。然后放到decesion fustion model里去预测。

读后感总结

这就是我对这篇文章[Patch-based Convolutional Neural Network for Whole Slide Tissue Image Classification]的理解,其中可能有很多偏差或者不对的地方。因为作者并没有提供源代码,网上找到的第三方代码貌似也不能复现。希望有关注这篇文章的同学读过之后,可以和我留言讨论,看看我上述理解对不对,谢谢!

转载于:https://www.cnblogs.com/fledlingbird/p/10929777.html

读后感-论文Patch-based Convolutional Neural Network for Whole Slide Tissue Image Classification相关推荐

  1. 论文 | An Efficient Convolutional Neural Network for Coronary Heart Disease Prediction

    文章目录 论文信息 ABSTRACT 问题 解决 方法 效果 1. Introduction 2. Data Processing 3. Proposed Architecture 3.1 LASSO ...

  2. 《Improved Crowd Counting Method Based onScale-Adaptive Convolutional Neural Network》论文笔记

    <Improved Crowd Counting Method Based onScale-Adaptive Convolutional Neural Network>论文笔记 论文地址 ...

  3. 【农业害虫识别论文一】Crop pest classification based on deep convolutional neural network and transfer learning

    本论文发布于2019年,主要基于三个数据集进行农业害虫的识别.文章不是简单的翻译,而是类似自己的读书笔记,基本记录了下,做后续回顾所用.望各位看官不要吐槽 哈哈! 论文题目 Crop pest cla ...

  4. 【医学+深度论文:F16】2015 EMBC Glaucoma detection based on deep convolutional neural network

    16 2015 EMBC Glaucoma detection based on deep convolutional neural network Method : 分类 Dataset :ORIG ...

  5. Paper翻译:《A Novel Convolutional Neural Network Based Model for Recognition and Classification of App》

    论文名称:<A Novel Convolutional Neural Network Based Model for Recognition and Classification of Appl ...

  6. A NEW HYPERSPECTRAL BAND SELECTION APPROACH BASED ON CONVOLUTIONAL NEURAL NETWORK文章笔记

    A NEW HYPERSPECTRAL BAND SELECTION APPROACH BASED ON CONVOLUTIONAL NEURAL NETWORK 文章地址:https://ieeex ...

  7. 【读论文】Loop Closure Detection for Visual SLAM Systems Using Convolutional Neural Network

    [读论文]Loop Closure Detection for Visual SLAM Systems Using Convolutional Neural Network 发表于2017年,作者是南 ...

  8. 活体检测论文研读二:Learn Convolutional Neural Network for Face Anti-Spoofing

    Learn Convolutional Neural Network for Face Anti-Spoofing 论文简介 ➢指出手工制作的特征例如LBP.LBP-TOP无法捕捉到真假脸之间最具区别 ...

  9. 【翻译论文】An Architecture Combining Convolutional Neural Network (CNN) and Support Vector Machine (SVM)

    [翻译论文]An Architecture Combining Convolutional Neural Network (CNN) and Support Vector Machine (SVM) ...

最新文章

  1. SAP WM初阶事务代码LX29 - List of Fixed Storage Bins
  2. 让我为你介绍一个神器:Chimee,一套可扩展的 H5 视频播放器解决方案
  3. TestCenter中测试需求、测试用例、测试计划的评审方法
  4. mfc 消息消息队列概念_消息队列面试连环问
  5. MyBatis整合Spring的实现(13)
  6. Apache Rewrite伪静态基本及URL跳转
  7. 如何突破网吧禁止下载的限制~?
  8. while语句 ///do...while语句/// for语句/// foreach语句
  9. 直通车内测“定时上架”功能,商家可以提前锁定爆款了!
  10. java中的terminated_解决maven build 无反应,直接terminated的问题
  11. Python使用pyecharts库制作桑基图
  12. 开眼角会不会留疤,开眼角术后疤痕增生怎么办
  13. Vdbench:解决多台服务器联机运行时,出现的常见问题记录2
  14. 开源项目推荐:使用Qt编写和开发的开源IDE
  15. 微信公众号的web开发者工具的自助解绑功能终于有了!
  16. 【三维目标检测】Second 模型 (一)
  17. Python中定义函数的关键字是什么?一起来学习下吧
  18. python读docx文件_Python读写docx文件的方法
  19. 用户界面分析与设计(SSD4) 实验一
  20. 中创沙龙预告 | 探索元宇宙与数字资产存储未来

热门文章

  1. Google的Flutter工具允许开发者开发跨平台应用
  2. Ev Dekorasyonu
  3. 洛谷——P2381 圆圆舞蹈
  4. STP状态切换详述(Cisco实现)
  5. Squid Analyzer 5.1 发布,Squid日志统计
  6. 设置crontab用vi打开编辑
  7. cmake笔记(1)
  8. 公司网络需要内网开发,教你如何使内外网同时访问(windows)
  9. 1095 解码PAT准考证 (25 point(s)) - PAT乙级真题
  10. 【软件工程】几种模型概念:瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型