![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
deep learning
文章平均质量分 70
*小呆
程序...跳了舞
展开
-
pytorch 交叉熵注意事项
ce loss bug原创 2022-08-04 11:10:32 · 660 阅读 · 0 评论 -
3D视觉基础整理 (一)
相机内参外参相机内参数是与相机自身特性相关的参数,比如相机的焦距、像素大小等;相机外参数是在世界坐标系中的参数,比如相机的位置、旋转方向等相机标定相机标定的目的是确定相机的一些参数的值。通常,这些参数可以建立定标板确定的三维坐标系和相机图像坐标系的映射关系,换句话说, 你可以用这些参数把一个三维空间中的点映射到图像空间,或者反过来。基础概念● 我们必须移动相机之后,才能估计它的 运动(Motion)● 同时估计场景中物体的远近和大小,不妨称之为结构(Structure)● 近处的物体移动快,原创 2022-05-28 22:48:40 · 788 阅读 · 0 评论 -
全景分割2017-2020整理
定义语义分割的任务是预测每个像素点的语义类别(即预测stuff,东西),而实例分割的任务是预测每个实例物体包含的像素区域(即预测thing,事物),分别如上图b和c所示。然而从图片中可以看出,语义分割和实例分割都不足以完备的描述出一副图像中的视觉信息,2019年FAIR首次提出全景分割的概念,全景分割任务需要同时预测出每个像素点赋予类别Label和实例ID(即同时预测thing和stuff,如图d所示)全景分割任务的重点在于为每个像素分配一个语义标签和实例 ID 对于一幅输入图像, 首先提取特征. 然原创 2022-01-04 15:38:36 · 1148 阅读 · 0 评论 -
deformable DETR 核心思路记录
原文链接:https://arxiv.org/abs/2010.04159encoder_layer = MSDeformAttnTransformerEncoderLayerMSDeformAttnTransformerEncoderLayer( (self_attn): MSDeformAttn( (sampling_offsets): Linear(in_features=256, out_features=192, bias=True) (attention_weight.原创 2021-12-23 16:58:44 · 2562 阅读 · 0 评论 -
swin transformer 核心代码记录
目前更新部分包括swin的基本setting,基本模块,相对位置坐标理解和部分代码展示。swin 包含了四种setting,依次是tiny,small, base 和 large。可以类比resnet。Swin-b 主体部分网络结构 BasicLayer结构展示BasicLayer( (blocks): ModuleList( (0): SwinTransformerBlock( (norm1): LayerNorm((128,), eps=1e-05, el.原创 2021-12-20 15:28:31 · 1599 阅读 · 0 评论 -
Kernel based instance segmentation
dynamic kernel 在high level 用了很多,这里记录一下目录CondInst ECCV 2020之前方法的问题之前方法归类本文最大亮点Instance-aware mask head整体网络结构SOLO V2 NIPS 2020之前方法的问题本文最大亮点网络结构图CondInst ECCV 2020conditional convolutions for instance segmentation之前方法的问题bounding box 是方方正正的,对于irreg.原创 2021-12-10 19:14:23 · 535 阅读 · 0 评论 -
图像sliding windows裁剪patch
记录,防止自己又重新写一遍。。。# -*- coding: utf-8 -*-# @Time : 2021/4/20 14:47# @Author : Mingxing Li# @FileName: crop_image.py# @Software: PyCharmimport numpy as npimport osfrom PIL import Image, ImageOpscs = [224, 224]stride = 112data_dir = r"H:\My.原创 2021-04-21 09:52:45 · 347 阅读 · 2 评论 -
sliding windows infer 模型
输入一张大图和一个model,使用两个stride刚好密铺滑窗。def do_overlap(data, model, stride=[96, 164], hp=224, wp=224): # h, w = 2336, 3504 _, _, h, w = data.shape output = torch.zeros(h, w) frequency = torch.zeros(h, w) for i in range(0, h-hp+stride[0.原创 2021-04-21 10:07:05 · 527 阅读 · 0 评论 -
Video classification,action recognition 知识整理
接到了一个多模态的课题,针对audio 和 video 的输入,之前也没有什么经验。本文旨在记录已知图像提取特征的方法之后,如何提取video的特征。目录图像提取特征的方案Video 与 Image 的差异I3D 与2018 年 2月 之前的深度学习方法LSTM3D Conv-NetTwo-Stream Networks3D-Fused Two-StreamTwo-Stream 3D-ConvNetTemporal Shift Module (TSM, ICCV 2019)SlowFast (ICC.原创 2021-04-01 09:19:22 · 1132 阅读 · 0 评论 -
优化器:从SGD到 Adam
总结学习视频 https://www.bilibili.com/video/av94067702/所有的优化器都是可以套进这个基本框架的。SGD这里的E指的是单位矩阵。SGD 没有动量概念,因为一阶动量就是当前梯度,二阶梯度就是单位矩阵。缺点:容易陷入局部最优。由于SGD只考虑当前时刻的梯度,在局部最优点的当前梯度为0。由计算公式可知,此时参数不再进行更新,故陷入局部最优的状态。显而易见,引入历史梯度值,引入动量(momentum)的概念可以帮助我们跳出鞍点。EMA,指数滑动平均咱.原创 2021-01-26 22:26:58 · 1352 阅读 · 0 评论 -
NIPS 2020 What Makes for Good Views for Contrastive Learning?
The ability to build up view-invariant representations is central to a rich body of research on multiview learning.Given v1, v2 两个随机变量,本文阐述contrastive learning 就是 学习一个参数函数,鉴别 sample是 来自于联合分布 p(v1)p(v2|v1) 还是说两个边缘分布的乘积 p(v1)p(v2). 一个区别是说前者的v2是基于v1产生的,可以理解原创 2020-12-28 14:38:33 · 1041 阅读 · 2 评论 -
python 细胞实例分割上随机彩色
输入是 一个三维矩阵 bc_w_result(D,H,W),pixel value代表不同实例先定义一个随机彩色的函数def random_rgb(): r = np.random.rand()*255 g = np.random.rand()*255 b = np.random.rand()*255 return np.array([r, g, b]).astype(np.uint8)然后主函数中输入bc_w_resultidx_list = np.unique(原创 2020-12-24 13:36:28 · 746 阅读 · 0 评论 -
2020/12/21 => 2020/12/27 paper
目录1. Unlabeled Data Guided Semi-supervised Histopathology Image Segmentation2. Unsupervised Learning of Local Discriminative Representation for Medical Images1. Unlabeled Data Guided Semi-supervised Histopathology Image Segmentation使用风格迁移联合半监督 做病理图像分割原创 2020-12-21 11:36:49 · 204 阅读 · 0 评论 -
2020/12/14 => 2020/12/20 paper
目录1. [Pyramid-Focus-Augmentation: Medical Image Segmentation with Step-Wise Focus](https://arxiv.org/pdf/2012.07430.pdf)2. [ROSE: A Retinal OCT-Angiography Vessel Segmentation Dataset and New Model](https://arxiv.org/pdf/2007.05201.pdf)3. [Information-Theo原创 2020-12-16 12:18:59 · 539 阅读 · 0 评论 -
contrastive loss 详解
NT-Xent (the normalized temperature-scaled cross entropy loss)NT-XentNT-Xent 出自Simclr。一个batch N 个samples,因为有两条分支就是2N个samples,除了对应的augmented image和自己,其余2N-2都应该被视作negative pair。上式中,i,j 是positive pair,分母是negative pair。看起来像softmax函数。 这是因为,加上向量相似度和温度归一化因原创 2020-12-16 11:47:41 · 16777 阅读 · 5 评论 -
[win10] Pycharm 记录远程调试逻辑
备忘录,整理逻辑关系步骤1. 打开configuration2. 配置 configuration这个root path是远程绝对路径3. 配置mapping4. 配置系统的编辑器这个路径 使用 which python 找。6. 映射主目录原创 2020-06-04 15:36:57 · 283 阅读 · 0 评论 -
深度学习中的EMA
参考两篇博客即可学会。【炼丹技巧】指数移动平均(EMA)的原理及PyTorch实现理解滑动平均(exponential moving average)转载 2020-11-27 12:15:05 · 1113 阅读 · 0 评论 -
nnUNet windows 遇到的 bug
报错内容FileNotFoundError: [Errno 2] No such file or directory: 'G:\\COVID_19\\code\\nnUNet\\nnUNet_raw\\nnUNet_raw_data\\Task004_Hippocampus\\imagesTr\\Task04_Hippocampus\\imagesTr\\hippocampus_001_0000.nii.gz'修改方式首先是experiment_planning/common_utils.py把原创 2020-11-18 15:20:01 · 1206 阅读 · 6 评论 -
归一化与白化
个人整理的笔记,如有错误,请指出,谢谢。笔记中两幅插图 分别来自https://zhuanlan.zhihu.com/p/69439309https://www.zhihu.com/question/49385441原创 2020-11-10 19:35:19 · 287 阅读 · 0 评论 -
few-shot 论文进展梳理
目录1.Few-shot Learning2. Few-Shot Semantic Segmentation3. Few-Shot Object Detection.1.Few-shot LearningLearning to Select Base Classes for Few-shot Classification [2020 cvpr]The concept of One-shot Learning is proposed by “One-shot learning of object原创 2020-11-01 17:13:18 · 835 阅读 · 1 评论 -
CNN 分类任务可视化响应热图
1. 最原始的class activation map (CAM)可以在最后一层卷积层可视化如右下角的 类响应图。缺点:需要把之前的FC层去掉,然后加入GAP+FC重新训练。2. 改进的Gradient-weighted Class Activation Mapping (Grad-CAM)之前的 cam, Ak∈Ru×vA^k \in \mathbb{R}^{u \times v}Ak∈Ru×v 表示最后一层卷积卷出来的feature map。最后的热图也可这么表示grad-cam原创 2020-11-01 10:27:39 · 1149 阅读 · 1 评论 -
异常检测与分割碰出火花 ECCV:Synthesize then Compare: Detecting Failures and Anomalies for Semantic Segmentation
这篇文章提出了一个新颖的概念。AI system 必须要有 检测失败和异常的功能,比如自动驾驶和医学图像分析。简述paper流程,基于image和segmentation map。这篇文章玩出了花火,左边是他的检测失败的功能,右边是他的异常检测的功能。补充一下,这里异常检测的问题被定义为out-of-distribution (OOD) detection。一般的OOD detection目的就是determine是否一张图像是OOD图像。anomaly segmentation 主流方法[1]是 P原创 2020-10-26 11:40:02 · 1048 阅读 · 0 评论 -
可视化两组变量 matplotlib
最终的效果如下图如何加图注matplotlib 颜色表我的代码# -*- coding: utf-8 -*-# @Time : 2020/9/3 9:07# @Author : Mingxing Li# @FileName: scatter.py# @Software: PyCharmimport numpy as npimport matplotlib.pylab as pltN = 10# 100dex = np.array([3, 7, 15])y = np.a原创 2020-09-03 09:45:11 · 363 阅读 · 0 评论 -
Latex 技巧:把过长的表格缩短
如下代码,加入红色部分,即可缩小表格长度,自动调节字体大小。(代码来源于AAAI2021 官方sample)\begin{table}[t]\centering\resizebox{.95\columnwidth}{!}{\begin{tabular}{l|l|l|l}authblk & babel & cjk & dvips \epsf & epsfig & euler & float \fullpage & geometry &am原创 2020-09-02 10:08:44 · 15609 阅读 · 9 评论 -
[转]github 打开速度慢
windows下路径为:C:\Windows\System32\drivers\etc\hostsLinux下路径:/etc/hosts末尾加入192.30.253.112 Build software better, together 192.30.253.113 Build software better, together 151.101.185.194 github.global.ssl.fastly.net151.101.13.194 github.global.ssl.fastly.转载 2020-06-30 13:50:20 · 168 阅读 · 0 评论 -
[Pytorch] SPP-Net 3D版本原理与实现
代码参考2d的 spp-net code Github1.SPP 插入位置在分类之前,FC要求输入特定尺寸的feature。当输入中包含不同size的图像时,传统的fc就不可以了。此时kaiming提出了SPP-Net,解决了这个问题。2. SPP module 细节输入任意大小的feature,使用maxpooling/average pooling等方法得到4x4xc,2x2xc, 1x1xc的三个固定大小feature。3.代码实现class SpatialPyramidPool3.原创 2020-06-12 15:08:28 · 1125 阅读 · 0 评论 -
2020CVPR:Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation
[2020 CVPR (Oral)]Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation目录原创 2020-04-13 21:05:18 · 4525 阅读 · 9 评论 -
[win 10] maskrcnn-benchmark 上手(3)—— faster-rcnn 推理
目录0.配置1.推断2.可视化Reference0.配置1.推断运行test_net.py2020-04-03 11:52:17,543 maskrcnn_benchmark.inference INFO: Start evaluation on coco_2017_val dataset(5000 images).100%|██████████| 1251/1251 [09:34&l...原创 2020-04-03 16:52:14 · 417 阅读 · 0 评论 -
[win 10] maskrcnn-benchmark 上手(2)——开始训练
目录1.训练前的配置2.训练前改BUG3. 修改数据集路径4. 开始训练5. 程序大貌Reference1.训练前的配置首先映入眼帘的是这句话:Most of the configuration files that we provide assume that we are running on 8 GPUs.看完后:???,大家实验室都那么有钱吗?流下了贫穷的泪水。。官网也有单卡的解...原创 2020-04-03 10:56:06 · 934 阅读 · 0 评论 -
[win 10] maskrcnn-benchmark 上手(1)——配置环境与coco数据集介绍
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=10.0 -c pytorch原创 2020-04-02 14:42:34 · 912 阅读 · 1 评论 -
Weakly Supervised Instance Segmentation using Class Peak Response 论文复现
文章pipeline目录1. 我的设备2. 环境准备3. 开始!1. 我的设备win10pytorch 1.1cuda9+cudnn72. 环境准备作者公布了代码,在GITHUB 。注意一条一条按照作者说的那样子就行了。jupyter notebook# enable the widgetsnbextension before you start the notebo...原创 2020-03-29 14:38:29 · 604 阅读 · 0 评论 -
[译改]BN/LN/IN/GN 详解
本文主体内容是由墙外翻译修改而来,对关键结论写下了自己的理解。Batch normalizationBatch norm (Ioffe & Szegedy, 2015)是提出的用于训练深度神经网络的归一化的方法,在经验上是非常成功的。它还引入了“内部协变位移(internal covariate shift)”这一术语,定义为训练过程中网络参数的变化导致网络活动分布的变化。批处理范...原创 2020-03-07 16:16:02 · 725 阅读 · 0 评论 -
CNN 卷积工作过程详解
其实已经实现过非常多的卷积神经网络了,起初的时候卷积的工作原理也搞的很清楚,但是随着工程/科研的日常,这些非常理论的卷积工作细节我却淡忘了,所幸之前学习过程中留有笔记(吴恩达老师视频),在此整理,希望温故而知新。1.从形态学到卷积算子这是一个提取垂直边缘/水平边缘的算子。带给我们最初的理解,卷积核的梯度(形态)会在图像中相似的纹理产生高的响应,这也是为什么卷积可以提取出来垂直边缘/水平边...原创 2020-02-23 14:26:09 · 4234 阅读 · 1 评论 -
视网膜图像分割数据集整理
视网膜图像分割数据集1. DRIVE2. CHASE_DB13. STARE1. DRIVE官网:http://www.isi.uu.nl/Research/Databases/DRIVE/文章:J. Staal, M. Abramoff, M. Niemeijer, M. Viergever, andB. van Ginneken, “Ridge based vessel segmen...原创 2020-01-27 20:26:09 · 8765 阅读 · 10 评论 -
个人纪录 LSTM/RNN
Long Short-Term MemoryRNN会产生梯度消失/梯度爆炸(没办法回忆久远记忆)LSTM加了三个门限。原创 2019-11-09 11:08:47 · 130 阅读 · 0 评论 -
深度学习 心经
“复杂的东西往往得不到本质。”——何凯明“简单堆叠结构,performacne上升很有限。要从数据特点、loss出发,才能解决实际问题”——我的老师原创 2019-04-26 14:33:44 · 216 阅读 · 0 评论 -
pytorch1.0.0 如何载入部分模型
0.载入部分模型的motivation可视化feature map 迁移学习 ...1.保存torch.save(model.state_dict(), './LMX2net.pth')其实同样可以直接save model,state_dict()更加轻便,也是pytorch1.0 官网推荐的方法。load的时候会灵活。2.载入先要写一个类,这个类就是train的时候的...原创 2019-04-08 23:27:13 · 527 阅读 · 0 评论 -
CNN max pooling、Relu、round 等环节梯度如何反传?
神经网络中,一个小的trick有可能让网络performance变得非常好。对于神经网络的理解,我们不应该停留在对于pytorch、tf等的依赖上,他们经常性的考虑到了我们可能出错的地方,并进行了修正,这样反而对我们调试网络,带来了一定的hidden problem。 对于pytorch等开源框架,很多不可导的函数、表达式都可以被写入模型的forward里,比较常...原创 2019-04-08 15:51:09 · 4472 阅读 · 0 评论 -
[pytorch] 问题记录与技巧
1.release 到GPU之后,从GPU取变量比如loss变成numpyloss.data.cpu().numpy()这样就出来了,而且变成了numpy或者直接loss.item()是个数值2. GPU情况下,网络的nn模块与f模块交替使用比如# error m1 = nn.BatchNorm2d(32) x = F.rel...原创 2019-03-30 23:56:00 · 214 阅读 · 0 评论 -
DRCN - Deeply-Recursive Convolutional Network for Image Super-Resolution 读后感
DRCN 利用了recursive layer(up to 16 recursions)。如果增加了recursion depth,但是没有增加parameters的数量,而之前说过网路越深,效果一般越好。但实际上,这种网络不好训练,所以原文提出了recursive-supervision 和 skip-connection缓解训练难的问题。原文沿用了SRCNN的思想,把network拆分了s...原创 2019-03-23 20:54:23 · 808 阅读 · 3 评论