首页 > 其他分享 >论文复现01. RestainNet

论文复现01. RestainNet

时间:2023-10-30 16:48:13浏览次数:36  
标签:01 训练 染色 论文 Lab 复现 图像 RestainNet HE

论文名称:RestainNet: a self-supervised digital re-stainer for stain normalization

arxiv: https://arxiv.org/pdf/2202.13804.pdf

论文的核心内容:自监督网络,把 ”灰度图“ 重新上色成HE染色的效果

训练阶段

  在训练阶段,将原始的RGB图像分别提取Lab空间的L通道和HE染色矩阵,LHE作为训练数据送入网络,网络结构不需要特别复杂,原文中提到UNet

可以作为再染色器的网络结构,同时具有有限编码数的自动编码解码器 (论文用的是两个下采样和两个上采样) 同样可以满足任务需求。

训练损失共分为三部分,分别为

1. 输入图像和重染色图像之间的损失  

2. 输入图像Lab三通道与输出结果三通道的损失

3. 输入图像和重染色图像分解出的HE矩阵的损失

整个损失被定义为

原文中三个系数分别设置为0.1、1、1

训练细节:Adam优化器,β = 0.5,lr = 0.0002,decay = 0.6

验证阶段

      

验证阶段,需要将模型输出的L通道替换为输入图像的L通道,保证图像的原始结构不被改变

 

 

Tips:

1. 为什么使用Lab颜色空间

Lab颜色空间(Lab color space)是颜色-对立空间,其最大的优势为色域宽阔,弥补了RGB彩色模型分布不均的问题;

其中维度L表示亮度,a、b表示颜色对立维度,其中+a为红,-b为蓝(一定程度上能对应HE染色的红蓝)。

2. 论文中没有明确指出HE染色矩阵拆分的方法,可能是提到的将RGB拆分成H、E和DAB?

3. 复现所使用的HE染色矩阵拆分方法是vahadane,拆分出来的HE图像是3通道的彩色图像,送入网络的是HE图像的灰度图,

拆分耗时稍长,每张图像大概需要1s多一点,训练过程相当费时

 

标签:01,训练,染色,论文,Lab,复现,图像,RestainNet,HE
From: https://www.cnblogs.com/Liang-ml/p/17787756.html

相关文章

  • P4309 [TJOI2013] 最长上升子序列题解
    P4309[TJOI2013]最长上升子序列题解正文单调队列?单调锤子队列!!本题的操作可以省略成:单点修改区间查询好极了,此时我们有两种选择:线段树和树状数组,(平衡树,真不会,下一位因为不需要其他操作,所以我们还是选择更小巧更可爱的树状数组吧。关于vectorvector的insert操作支......
  • windows server 2012 R2 环境下安装 .NerCore
    windowsserver2012R2环境下安装.NerCore 安装步骤如下1,微软官网下载 .NetCore服务器运行环境  Core运行环境下载地址  https://dotnet.microsoft.com/download/dotnet-core   下载对应版本即可!2,安装成功后cmd运行命令dotnet--info如下图 出现版......
  • 01集合结构体系
    :集合体系结构集合分两大类:Collection:单列集合,一次放入一个数据Map:双列集合,一次放入一对数据一、集合分两大类Collection:单列集合,每次添加一个数据。Map:双列集合,每次添加一对数据。二、单列集合集合体系结构图:List系列集合:添加的元素是:有序、可重复、有索引......
  • Kaldi安装过程中遇到cub-1.8.0.tar.gz、sctk-20159b5.tar.gz、openfst-1.7.2.tar.gz三
    Kaldi安装过程中遇到cub-1.8.0.tar.gz、sctk-20159b5.tar.gz、openfst-1.7.2.tar.gz三个包下载不全产生报错的状况。从官网下载三个包,然后上传到Linux服务器kaldi/tools目录下,再运行Makefile即可。以下是三个包的下载链接cub-1.8.0.tar.gz下载链接:https://pan.baidu.com/s/1jX......
  • 01背包问题
    #include<iostream>#include<cmath>usingnamespacestd;#defineNUM4#defineRONG5//物品数量//物品价值intv[NUM]={2,4,5,6};//背包容量intw[NUM]={1,2,3,4};//二维表存储子问题intf[NUM+1][RONG+1];intmain(){ //初始化第一列的值为0 for(inti=0;i<NUM+1;i++){ ......
  • 01背包问题的js解决方式
    如果你有兴趣看这个相信你已经对背包问题有所了解,所以关于背包问题的描述,我就不写了。只记录一下自己对这个问题的一些看法和思考,于我而言,这个东西现在困扰我的是如何确定最优解。实质上关于背包问题网上的东西我大体都有看过,对于这个问题,常见的就是使背包重量动态增长,然后遍历每......
  • 面试必刷TOP101:16、删除有序链表中重复的元素-II
    一、题目二、题解importjava.util.*;publicclassSolution{publicListNodedeleteDuplicates(ListNodehead){//空链表if(head==null)returnnull;ListNoderes=newListNode(0);//在链表前加一个表头......
  • Xilinx VIvado学习-01 数值处理之乘法(有符号)
    Verilog数值处理,在处理减法的时候,需要注意溢出问题。实例:a*b=c 1modulesi_product(2inputsigned[9:0]a,3inputsigned[7:0]b,4outputsigned[17:0]product5);6assignproduct=a*b;7endmodule仿真代码:1modulesi_product_tb;2regsys_......
  • Xilinx VIvado学习-01 数值处理之乘法(无符号)
    Verilog数值处理,在处理减法的时候,需要注意溢出问题。实例:a*b=c 1`timescale1ns/1ps2//////////////////////////////////////////////////////////////////////////////////3//Company:4//Engineer:5//6//CreateDate:2023/10/2323:33:077//......
  • 『做题记录』[CF1601F]Two Sorts
    [CF1601F]TwoSortslink:https://codeforces.com/problemset/problem/1601/FDescription  有一个数列\(\{a_1,a_2,\ldots,a_n\}\)是一个\(1\simn\)的排列,且所有的数都按照字典序排序,现在给出整数\(n(1\leqn\leq10^{12})\),求\(\left(\sum_{i=1}^n((i-a_i)\bm......