论文笔记——Using Progressive Context Encoders for Anomaly Detection in Digital Pathology Images
写的都是自己的一些理解,有些问题自己也没搞明白,有些可能是错的,希望大家指正,共同进步。
这篇文献主要讲的是对皮肤癌的检测,旨在推理出异常的区域。该方法对黑色素瘤的识别达到了89%的像素级准确率。
在学习文献之前,要先了解关于皮肤的一些医学知识,这个文中也介绍了。
人的皮肤由三部分组成,分别是 表皮、真皮和皮下组织。
- 皮下组织由白色脂肪组成,在H&E染色后呈白色空泡。
- 真皮由胶原蛋白组成,在皮肤组织中占大部分。
- 表皮才是要诊断的区域,但很少。
文献中的数据集:
文中一共用到了200张正常slide和9张有病变的,是他们跟一个实验室合作的,应该没有公开。
在不同阶段用了不同的子数据集,后面会在不同阶段内详细介绍。
文献的整体框架流程(论文中的原图)
文中将整个过程分为了4个步骤,分别是数据预处理、利用渐进式增长GAN网络(Progressively Growing GANs)重建正常图像、计算误差分布(Error distribution calculation ,NERD)、数据后处理。PS 前面是按自己理解写的过程名字,下面用原文中的标题。
Phase 0: Preprocessing
这一步就是数据预处理,目的是去除图片中的真皮和皮下组织。具体过程如下:
- 首先将40X的WSI先切成小patch(切的是1024*1024)。
- 利用预训练的ResNet50将每个patch编码成一个向量特征。
- 将所有的向量特征进行PCA主成分分析,并提取第一主成分的前80%的patch。这样做的目的就是删除了胶原蛋白和空泡,并且文中还说人工检查了,这种筛选真实有效。我一脸黑人问号,为什么这样就删除了???
- 最后划分数据集,150+25+25+9(后面还会说)。
Phase 1:Network weight training
这一步主要是训练GAN网络,目的是重建出正常的皮肤组织图像。在这一步共用了150张正常皮肤组织slide的patch,共150, 330415 patches。
GAN的网络结构:
- 生成器是类似于unet网络的一个加跳接的AE。
- 判别器是一个标准的渐进式 GAN 判别器。不会的看参考文献1,个人感觉训练的时候会很麻烦。
在训练过程中,需要对输入的patch先做数据增强,随机掩掉20%的区域。这样做的目的是强迫生成器学习正常区域的编码,并解码时根据上下文信息补全mask区域的信息。
Phase 2:Error distribution calculation (NERD)
这一步主要是计算绝对误差分布的,目的是找到原图和生成图
之间的绝对误差的高斯分布,在推理时通过马氏距离判断异常值。在这一步共用了25张正常皮肤组织slide的patch,共44693 patches。
这一步是在假设成立的条件上做的。假设原图和生成图
之间的绝对误差符合多元高斯分布,那这一步的本质就是对这个绝对误差高斯分布的最大似然估计。确定一个高斯分布只需要两个参数,均值和方差。
文中说NERD是被训练出来的,但没有介绍是怎么训练的,还说把GAN网络的参数固定了,那就更没有可以训练的参数了。推测可能只是用25张正常slide求了个均值和协方差(3×3),每个颜色通道单独求均值。
协方差矩阵计算公式:
Phase 3:Dynamic distance threshold, KDE smoothing, and dilation
这一步主要是计算马氏距离,并根据马氏距离计算阈值和定位异常区域。在这一步共用了25张正常皮肤组织slide的patch,共52517 patches。
在推理时,计算出 生成图 每个像素的马氏距离 就可以确定该像素是否超出预期分布。因此,如果确定一个阈值 就可以将线性回归问题转化为二分类问题,大于阈值的被定为异常、小于阈值的被定位正常。所以这一步又使用25张正常的slide求了所有像素马氏距离的均值和标准差。
马氏距离公式如下:
其中Σ是多维随机变量的协方差矩阵,μ为样本均值。
与phase2的区别:phase2是利用25张slide 计算了 原图和生成图
之间的绝对误差的高斯分布,代表了所有正常皮肤组织和重建图之间的绝对误差的高斯分布。phase3是利用phase2计算出来的均值和方差来计算一个新的patch 原图
和生成图
之间的绝对误差的feature map中每个像素的马氏距离,然后利用这些马氏距离的均值和标准差做为最后的阈值。
将问题转化为二分类问题后,就可以得到一张对应 生成图 的语义分割图mask,里面白的色区域代表了异常的像素值(马氏距离大于阈值)。但是单个像素不能代表这块区域的皮肤异常(文中说40X下的一个像素也远小于一个细胞),而且单个像素异常也可能是噪声。所以做了一个滤波,把没有联通区域的零散点去除。
过滤后用了一个带宽为100的two dimensional gaussian kernel density estimator (KDE) 做平滑,然后将结果归一化,做成灰度KDE图像。最后把灰度KDE图像与默认阈值0.2进行比较得到二值mask,使用Shapely做最后处理(这步只感觉是处理patch之间的缝的,是否有其他作用没看出来)。
最后就得到了想要的异常区域,大概样子就是这样。
吐槽,官方给的代码GitHub - Steven-N-Hart/P-CEAD,用tensorflow写的,可读性有点差,让人头秃~
参考文献
- Karras,T.,Aila,T.,Laine,S.Lehtinen,J.Progressive Growing of GANs for Improved Quality,Stability,and Variation.ArXiv171010196 Cs Stat (2018)
论文笔记——Using Progressive Context Encoders for Anomaly Detection in Digital Pathology Images相关推荐
- 【论文笔记】Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized
论文 论文题目:Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personaliz ...
- 三维目标检测论文阅读:PointPillars: Fast Encoders for Object Detection from Point Clouds
PointPillars: Fast Encoders for Object Detection from Point Clouds code ID: https://github.com/nuton ...
- 【论文笔记】A Survey on Masked Facial Detection Methods and Datasets for Fighting Against COVID-19
声明 不定期更新自己精度论文,通俗易懂,初级小白也可以理解 涉及范围:深度学习方向,包括 CV.NLP.Data Fusion.Digital Twin 论文标题:A Survey on Masked ...
- 【论文笔记】Progressive Neural Networks 渐进式神经网络
Progressive NN Progressive NN是第一篇我看到的deepmind做这个问题的.思路就是说我不能忘记第一个任务的网络,同时又能使用第一个任务的网络来做第二个任务. 为了不忘记之 ...
- [论文阅读] Exploring Dense Context for Salient Object Detection
论文地址:https://dx.doi.org/10.1109/TCSVT.2021.3069848 代码:https://github.com/Mhaiyang/TCSVT2021_DCENet 发 ...
- 论文笔记——Rich feature hierarchies for accurate object detection and semantic segmentation
最近在看一些目标检测的论文,本文是经典的R-CNN(Regions with CNN features),随之产生的一系列目标检测算法:RCNN,Fast RCNN, Faster RCNN代表当下目 ...
- 论文笔记:A Biometric-Based Authentication and Anonymity Scheme for Digital Rights Management System
一.基本信息 论文题目:<A Biometric-Based Authentication and Anonymity Scheme for Digital Rights Managemen ...
- 【论文笔记】Feature Pyramid Networks for Object Detection
文章目录 Abstract 1. Introduction 3. Feature Pyramid Networks 4. Applications 4.1. Feature Pyramid Netwo ...
- 【论文笔记】Efficient and Realtime Distracted Driver Detection With MobileVGG Network
Towards Computationally Efficient and Realtime Distracted Driver Detection With MobileVGG Network 第一 ...
最新文章
- Springboot [日志管理LogBack]
- php当前页面的链接地址,PHP 技巧:如何获取当前页面的链接地址
- 新建仓库后第一次提交的问题
- ibmm,让思维导图回归本质
- 论文浅尝 | 基于知识库的类型实体和关系的联合抽取
- 超级好用的坐标转换软件
- java 单链表是否有环,判断链表中是否有环
- 《Oracle从入门到精通》读书笔记第四章 SQL语言基础之二
- BZOJ1127 POI2008KUP(悬线法)
- 终于把tomcat给搞定了
- Unicode字符编码
- LVGL使用华为鸿蒙字体
- Jenkins自动化构建Gitee项目
- unionid openid微信php,微信的openID、unionID等总结
- HTML5分级标题,最佳HTML5结构,其中标题/标题是文章标签外
- python爬取小猪短租信息
- C语言 - 计算n的阶乘(n!)
- linux权限管理详解
- FX5U数据包功能码
- pkpm弹性时程分析计算书怎么出_【原创总结】结构菜鸟浅谈为何进行弹性时程分析(附操作详图)...