自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 问答 (1)
  • 收藏
  • 关注

原创 无/自监督去噪(2)——Noise2Noise (N2N) 理论分析(从损失函数入手)

然而,它们的均值会受到离群点较大的影响,也许会明显低于150,因为均值要充分考虑离群点,进一步,极端情况下如果那10%的数字范围在-1000000000左右,那么最终求得的均值将会远远偏离150这个数量级,此时均值将不能描述这个样本集的基本状况。通过实验,作者说明无论从效果还是收敛速度的角度,在加性高斯噪声去噪任务中,有监督学习都是没有必要的。原作者的意思是这里的mean不代表correct answer,因为所添加的大量随机颜色的文字,经过叠加之后的平均值应该是中灰色这一RGB为0~255平均值的颜色。

2024-02-22 15:47:54 915 1

原创 无/自监督去噪(1)——一个变迁:N2N→N2V→HQ-SSL

在N2V中,我们已经见识了盲点的思想,即像素的推测靠的是所有相邻位置的像素,但不包含自身位置的像素。在x中随机选取N个点,对每个点p,都随机用一个点的像素替换它(具体地,在以p为中心、以网络感受野为大小的区域,如上图(b),用该区域内的一个随机像素(蓝色)替换中心像素(红色))。N2N的训练数据是相同场景的两次不同noisy observation组成的pair,实际使用的时候,两次不同的观测很难是相同场景的。上文所述,我们将Input中心像素点挖掉,并让网络的输出和完整的Input做loss。

2024-01-16 22:52:30 740

原创 Rust踩雷笔记(7)——两个链表题例子初识裸指针

用几道链表题认识裸指针的基本使用方法

2023-09-17 18:55:18 375

原创 Rust踩雷笔记(6)——C++菜鸟弄出的一个bug

同样开门见山,这个逻辑的bug在于,不管while跳过多少次k,在for中,k雷打不动从0每次递增1.期望的逻辑是对k循环,但是在循环中,如果满足xxx条件,则k直接增加1.此次文章比较短,就记录我犯的一个错误,开门见山(大佬请忽略)应该是我这几年造的最逆天的bug了…

2023-08-31 22:28:20 206

原创 Rust踩雷笔记(5)——刷点链表的题(涉及智能指针Box,持续更新)

rust链表+智能指针的刷题记录,持续更新

2023-08-24 15:51:39 1366

原创 Rust踩雷笔记(4)——刷点Vec相关的题(持续更新)

俗话说,孰能生巧,今天是第六天接触Rust,感觉基础语法和特性没什么问题了,但是想达到熟练使用,还需要刷点题。算法我相信能来看rust博客的人都是大牛(只有我最菜),应该只有数据结构的困扰,所以接下来的博客会侧重于数据结构,毕竟咱常见算法都靠C++练得烂熟了,剩下的事情其实是做到把C++题解翻译成rust题解。

2023-08-18 01:16:24 1115

原创 Rust踩雷笔记(3)——生命周期的理解

result因为获取返回值,所以是引用string1或者string2,那么问题来了,rust因为严格的安全检查,此时要检查是否有悬垂引用,即检查是否有被引用的变量生命周期大于引用变量。,虽然上述函数调用,会使得result引用的是string1,这样一看没有悬垂引用。但是编译期间不知道result会引用谁,此时编译器一看,如果引用的是string2,那么悬垂引用就会发生,所以就会报错。分析:我们告诉编译器的结论是,'a的生命周期是string1和string2的交集,也就是string2的生命周期;

2023-08-17 10:29:45 700

原创 Rust踩雷笔记(2)——一道hard带来的思考[哈希表、字符串、滑动窗口]

链接我复制下来了,题目可以自行去leetcode 76看,我也不讲详细解法,蛮简单的。主要讲讲实现的注意事项。nth()

2023-08-16 15:30:16 1444

原创 Rust踩雷笔记(1)——切片传参和解引用赋值

最近学习rust,网上资料还是很有限,做题遇到的问题,有时需要自己试验。把自己做题过程遇到的问题,和试验的结论,做一些简单记录。

2023-08-15 14:03:44 1089

原创 cuda入门demo(2)——最基础的二方向sobel

⚠️主要是自己温习用,只保证代码正确性,不保证讲解的详细性。今天继续总结cuda最基本的入门demo。很多教程会给你说conv怎么写,实际上sobel也是conv,并且conv本身已经用torch实现了。之前在课题中尝试了sobel的变体,为了起一个复习的作用,我把原始sobel(不是变体)的代码备份到这里,比起变体,这个原始的非常简单,很适合学习。

2023-08-03 12:12:12 271

原创 cuda入门demo(1)——矩阵相乘

最近定一个小目标,把今年学习的cuda编程知识从零碎化掌握转化到系统化掌握,所以开一个cuda入门demo系列,记录一些经典demo。希望写完这个系列,自己达成的目标是:能像手搓力扣一样手搓cuda(希望不是想peach)

2023-08-01 14:09:41 306

原创 一个可能的idea bug解决方法——java: 程序包org.springframework.boot.autoconfigure不存在

如果这么能解决,那么你可能和我一样,遭遇了idea 2021.1版本的问题。卡我半天,特此记录。

2023-05-12 00:04:44 436 1

原创 深入理解bean(1)——极简解释@resource注入和手动注入的差别

问了GPT几十分钟,把一些关于bean的概念了解了一下,记录在这里。

2023-04-15 16:59:29 425

原创 微信聊天的一个创新方向

一个增加微信聊天功能的灵感

2023-03-08 13:03:17 469

原创 环境配置完整指导——Installing C++ Distributions of PyTorch

libtorch的安装和相关环境的配置,再vscode上跑通官方给的demo程序

2023-02-15 15:59:40 859 3

原创 当python局部变量和函数参数相同时

原因:上述1.1处将此处的lst指向和2处的lst一样的位置,所以1.2处的修改能够影响到2本身;上述1.3处新建了变量[4,5,6],将lst的指向改变了位置,指向了这个新建的变量。

2022-08-15 15:33:59 402

原创 极简实用PyTorch记录——如何读取图片、改变大小、转化为numpy数组、转化为tensor

使用torch时,需要读取图片——改变图片的大小——转化为numpy数组——转化为tensor。本文对每一步的方法都做极简的介绍。

2022-08-09 19:55:47 2454

原创 FLESH-DECT(MedIA 2021)——一个material decomposition的观点

参考文献Estimating dual-energy CT imaging from single-energy CT data with material decomposition convolutional neural network 一个关于材料分解的观点。

2022-07-01 20:01:01 851 1

原创 Semi-supervised Learning入门学习——Π-Model、Temporal Ensembling、Mean Teacher简介

通过对两篇经典论文的简单解读,简要介绍Π-Model、Temporal Ensembling、Mean Teacher。欢迎交流,喜欢的话请点赞关注,之后持续更新。

2022-06-15 12:57:18 1310 1

原创 namedtuple使用的极简例子

import collectionsUser = collections.namedtuple('User', ['name', 'age', 'id'])a = ['tester', '22', '2323']# user = User('tester', '22', '2323')user = User(*a)print(user)user.name上述代码运行结果:User(name='tester', age='22', id='2323')'tester'所以说named

2022-05-02 18:44:51 202

原创 治疗TensorFlow后遗症——简单例子记录torch.utils.data.dataset.Dataset重写时的图片维度问题

torch大神请忽略此文。。。目录1,一个简单例子回顾DataSet二、维度1,一个简单例子回顾DataSetfrom torch.utils.data import Datasetclass dataset(Dataset): def __init__(self): # 需要转化为array,不然运行结果会很奇怪 self.data = np.array([[1,1,1,1], [2,2,2,2],

2022-04-21 20:53:11 1197

原创 如何利用对比学习做无监督——[CVPR22]Deraining&[ECCV20]Image Translation

知乎同名账号同步发布。目录0,参考文献和前置知识和阅读注意1,[ECCV20]Contrastive Learning for Unpaired Image-to-Image Translation1.1,创新点和架构1.2,multi-layer、patchwise的对比学习0,参考文献和前置知识和阅读注意参考文献本文通过两篇paper,简述一下如何利用对比学习做无监督。(ECCV20)Contrastive Learning for Unpaired Image-to-Image Tra

2022-03-31 21:43:35 5980 12

原创 常用编程记录——parser = argparse.ArgumentParser()

在很多pytorch写的人工智能项目中,都能看到这样一句:parser = argparse.ArgumentParser(),本文就简单记录下它们的使用方法目录方式1—单个参数方式2—多个参数方式3—乱序赋值方式1—单个参数创建a.py:import argparseparser = argparse.ArgumentParser()parser.add_argument("square", help="display a square of a given number", type=in

2022-03-28 20:23:56 6293 3

原创 无监督去噪——[TMI2022]ISCL: Interdependent Self-Cooperative Learning for Unpaired Image Denoising

知乎同名账号同步发布这是一个unpaired的方法,也就是有很多noisy images,有很多clean images,但一对noisy-clean images内容上不是配对的。目录前置知识模型架构实验小结前置知识需要了解CycleGAN的知识,可以去b站看李宏毅的课,CycleGAN那一讲只有20分钟,讲的非常清楚。模型架构假设你已经懂了CycleGAN的原理,那么就可以去注意ISCL的核心词汇:self-cooperative。模型架构如下:上图中的F和G是CycleGAN原本就有的

2022-03-25 21:24:16 5864

原创 去噪论文阅读——[CVPR2022]Blind2Unblind: Self-Supervised Image Denoising with Visible Blind Spots

知乎同名账号同步发布今天看一篇自监督图像去噪论文:题目:Blind2Unblind: Self-Supervised Image Denoising with Visible Blind Spotspaper:https://arxiv.org/abs/2203.06967code:https://github.com/demonsjin/Blind2Unblind目录前置知识创新点模型架构inference阶段实验前置知识需要了解Noise2Void,如果不了解,可以看我写的笔记。看完

2022-03-24 16:20:37 6979 8

原创 对比学习论文——[MoCo,CVPR2020]Momentum Contrast for Unsupervised Visual Representation Learning

目录对比学习简述MoCo的创新动机loss function:InfoNCEMoCo的流程伪代码其他细节实验和结论对比学习简述假设由三张图片,其中两张是人,一张是狗。将三张图片都通过同一个神经网络,得到特征空间中的三个特征f1f_1f1​,f2f_2f2​,f3f_3f3​,假设前两个是人对应的特征,后一个是狗对应的特征。对比学习要做的就是让f1f_1f1​和f2f_2f2​在特征空间中尽可能接近,并且两者都要和f3f_3f3​保持距离。要注意这三张图片都是无标签的,但是对比学习需要知道哪两张是类似的

2022-03-21 22:58:46 613 1

原创 LDCT图像重建论文——Eformer: Edge Enhancement based Transformer for Medical Image Denoising

Eformer是进行低剂量CT图像重建的工作,它第一次将Transformer用在医学图像去噪上,ICCV2021的paper,值得一读

2022-01-07 12:34:51 2934 2

原创 图像恢复论文简记——Uformer: A General U-Shaped Transformer for Image Restoration

所谓LeWin Transformer,就是local-enhanced window Transformer,其中包含W-MSA和LeFF(前者是本工作创造,后者是前人工作CeiT(Incorporating Convolution Designs into Visual Transformer)创造)

2022-01-06 13:41:26 5481

原创 编程记录——研究一下python对shepp_logan体模数据实现iradon变换

相关文章:编程记录——研究一下python对shepp_logan体模数据实现radon变换参考博客:CT典型数据——shepp_logan体模数据的生成 python版本Python实现逆Radon变换——直接反投影和滤波反投影主要是对上述第二个链接代码进行了少量改动总结。目录一、补充二、直接反投影三、先滤波再反投影四、小结一、补充关于ndimage.rotatec = np.zeros([10, 10]).astype(int)for i in range(10): for j

2021-12-27 14:34:12 1052

原创 编程记录——研究一下python对shepp_logan体模数据实现radon变换

参考博客:CT典型数据——shepp_logan体模数据的生成 python版本Python实现离散Radon变换声明:除了对上述第二个链接的代码有少量修改、以及展示的运行结果外,其余工作都是对上述两个链接内容的整理总结。一、生成体模数据生成一个shepp_logan体模数据import phantominatorfrom phantominator import shepp_loganimport matplotlib.pyplot as pltph = shepp_logan(512

2021-12-20 16:36:48 2894

原创 编程记录——图片旋转函数scipy.ndimage.rotate()的简单使用和效果观察

一、矩阵上的效果言简意赅地介绍下这个函数的使用方法:import numpy as npfrom scipy import ndimagec = np.zeros([10, 10]).astype(int)for i in range(10): for j in range(10): c[i][j] = 10 * i + jd = ndimage.rotate(c, 60, reshape=False)print(c)print(d)输出结果:[[ 0 1

2021-12-20 15:40:16 3712

原创 去噪论文——[Noise2Void,CVPR19]Noise2Void-Learning Denoising from Single Noisy Images

参考文献:(CVPR19)Noise2Void-Learning Denoising from Single Noisy Images一、基础和背景介绍在noise2noise的基础上,甚至不需要pair就能训练。作者说虽然不能期望所提方法优于在训练期间具有额外可用信息的方法,但去噪性能仅略有下降,且仍然优于BM3D。用于3个生物医学数据集时,发现由于缺乏ground-truth,传统方法无法训练;noise2noise只适用于一些情况。作者证明了N2V具有巨大的实用性。二、所提方法和架构方法的核心

2021-12-15 20:04:05 5420 1

原创 深度学习基础——简单了解meta learning(来自李宏毅课程笔记)

一、初步了解我们以分类问题为例,以前,学习的目的是学习一个二元分类器f∗f^*f∗;现在,学习的目的是学习一个学习算法F,这个学习算法F能够学习一个二元分类器f∗f^*f∗。既然要直接学习一个学习算法F,那么就要考虑它的参数。以往的学习,是为了学习一个具体的二分类器f∗f^*f∗,假设人为指定的学习算法是感知机,那么学习的过程需要改进的参数就是www和bbb。现在进行meta learning,目的是直接去学习学习算法F,那么需要关注的参数(上图中以“component”表示)就是网络架构、初始化参数

2021-11-11 15:59:59 1553

原创 图像恢复论文——[RED-Net, NIPS16]Image Restoration Using Very Deep Convolutional Encoder-Decoder Networks wi

知乎同名账号同步发表目录一、架构二、main contribution三、一些讨论四、训练&模型功能&一些比较五、小结一、架构论文全称:Image Restoration Using Very Deep Convolutional Encoder-Decoder Networks with Symmetric Skip Connections其实就是conv和deconv,外加对称的skip connection。作者表示每两层就会有一个skip connection。作者的意思

2021-10-18 14:53:08 664

原创 去噪论文阅读——[RIDNet, ICCV19]Real Image Denoising with Feature Attention

一、架构参数详解这部分先讲架构,下部分讲架构中比较关键的部分的motivation。网络架构的细节已经标注在图中了。图的上半部分是总架构,下半部分是单独一个EAM的架构。输入noisy image,输出noise-free image。作者将架构分为了三个module:feature extraction: f0=Me(x)f_0=M_e(x)f0​=Me​(x),只有一层。feature learning residual module: fr=Mfl(f0)f_r=M_{fl}(f_0)

2021-10-18 13:13:33 1291 2

原创 深入理解去噪论文——FFDNet和CBDNet中noise level与噪声方差之间的关系探索

问题来源读这两篇文章的时候,发现文中AWGN(加性高斯白噪声)的方差用σ²表示,noise level用σ表示,符号使用似乎出现了冲突;又发现作者默认已知噪声模型N(0,σ2)N(0, \sigma^2)N(0,σ2),生成的含噪声图像的ground-truth的noise level似乎也随之确定,一切都在暗示AWGN的方差和其noise level有千丝万缕的关系。一、基础知识和生成AWGN步骤引用这篇文章对matlab生成AWGN的讲解,补充一些基础知识:awgn(x,snr,’measur

2021-10-10 16:08:58 2781

原创 PyTorch笔记——通过搭建ResNet熟悉网络搭建方式(完整代码)

参考资料:《深度学习框架PyTorch:入门与实践》注意:书籍作者表示要注意编程简洁,所以本文的网络搭建方式是可以借鉴的。目录完整代码测试前向传播完整代码部分讲解见注释:from torch import nnimport torch as tfrom torch.nn import functional as F# 实现子module:Residual Blockclass ResidualBlock(nn.Module): def __init__(self, in

2021-08-29 15:44:03 269

原创 PyTorch笔记——实现线性回归完整代码&手动或自动计算梯度代码对比

参考资料:《深度学习框架PyTorch:入门与实践》生成数据集完整代码采用“假数据”:# 设置随机数种子,保证在不同计算机上运行时下面的输出一致t.manual_seed(1000)def get_fake_data(batch_size=8): ''' 产生随机数据:y=x*2+3,加上了一些噪声 ''' x = t.rand(batch_size, 1) * 20 y = x * 2 + (1 + t.randn(batch_size, 1) * 3) ret

2021-08-27 09:40:46 432

原创 PyTorch笔记——观察DataLoader&用torch构建LeNet处理CIFAR-10完整代码

参考资料:《深度学习框架PyTorch:入门与实践》目录一、简单numpy例子观察DataLoader二、两种方式加载CIFAR-10数据方式1,用torchvision自动下载CIFAR-10方式2,自行下载CIFAR-10三、观察CIFAR-10数据集的size四、LeNet处理CIFAR-10完整代码一、简单numpy例子观察DataLoader创建数据,显示它的shape:import numpy as npdata = np.array([[1,1,1,1],

2021-08-26 13:50:37 324 1

原创 PyTorch入门小笔记——利用简单例子观察前向传播各个层输出的size

博主正在学习《深度学习框架PyTorch:入门与实践》,记录一个简单的例子,加深对torch前向传播参数的理解。这是书籍第二章的一个定义网络的例子,直接看代码可能会不太直观,特别是x = x.view(x.size()[0], -1)这一句,初学者希望能直观感受size的变化,以及fc1中的16∗5∗516*5*516∗5∗5的来源:import torch.nn as nnimport torch.nn.functional as F # 激活和池化都在这里class Net(nn.Module

2021-08-24 16:06:14 409

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除