自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

holmes_MX的博客

好记性不如烂笔头

  • 博客(54)
  • 收藏
  • 关注

原创 如何理解深度学习中的tensor(涉及numpy的二维,三维以及四维数据的理解)

0. 写作目的好记性不如烂笔头。结论:无论几维,都可以按照(Batch_size, Height, Width, Channle)来理解。1. 二维数据的理解理解为:只有(Height, Width),而且理解的是对于每一【 】从后向前看。即第一个[0.1, 0.2, 0.3]是width维度的。b = [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]]...

2018-09-25 13:43:19 15255 19

原创 YOLOv3 训练自己的数据(解决网上提供的文章不能一次成功的问题)

0.写本博客的目的对于使用yolov3训练自己的数据,网上虽然文章多,但是经过实验发现,基本没有能一次运行的成功的。因此特写此文,记录自己在使用yolov3训练自己的数据时遇到的坑。环境:ubuntu14 + CUDA8.0 + cudnn5.0 + GTX1050Ti (4G)1. 制作数据 为了便于在多个目标检测框架(如Faster R-CNN,SSD等)中训练,...

2018-07-27 15:33:03 8047 13

原创 CCNet_Criss-Cross Attention for Semantic Segmentation

0. 写作目的 好记性不如烂笔头。1. 主要思路 目前的self-attention需要生成 N * N 的affinity 矩阵(其中N = H * W), 作者提出存在一种更有效的方法? 因此作者提出了 Criss-Cross attention,使用“十字架” 的结构来代替 所有的位置(感觉使用“十字架”的paper很多,比如GCN使用十字街的conv,SPNet使用“十字架”的Pooling)。然后使用两次 criss-cross attention,这样可以...

2020-05-24 19:35:26 525

原创 OCNet_Object Context Network for Scene parsing

0. 写作目的 好记性不如烂笔头。1. 主要思想 使用self-attention引入同类的 object context map。 (感觉这个自监督,没有CVPR2020中 CPNet更直观) 如下图:2. 模型框架具体的 OCP 细节:OCP包括两部分: object context estimation 和 object cont...

2020-05-05 16:45:33 820

原创 ACNet_ Adaptive Context Network for Scene Parsing

0. 写作目的 好记性不如烂笔头。1. 主要思想 在feature 中对于全局上下文和局部上下文引入不同的权重。2. 模型的框架 GCM 和 LCM:2.1 GCM 的细节 主要思想是:计算全局特征p, [C, 1, 1],然后对于特征A 中的每一个位置计算距离,距离使用L2范式。依据最小的距离,和超参数derta,以及exp函...

2020-05-05 11:38:32 741 2

原创 refineNet_multi-path refinement network for high-resolution semantic seg

0. 写作目的 好记性不如烂笔头。1. 问题下采样导致损失了细节信息。2. 解决方法高层的信息和低层的信息都有用。 作者对所有的信息都使用。3. 模型具体细节:2x表示使用两次 RCU。逐层进行使用refineNet,如图2中的C图所示,对于下采样32倍的feature,refineNet只有一个输入。对于其他的refineNet则有两...

2020-05-02 21:55:03 341 2

原创 GCN_large kernel matters_improving semantic seg by global conv network

0. 写作目的 好记性不如烂笔头。1. 主要思想分割需要对像素进行分类,同时精确定位,而这两个任务是存在矛盾的。作者发现 large kernel conv对于分割更有效。主要是 使用1 * k + k *1 和 k * 1 + 1 * k 的GCN。2. 模型3. 实验结果 实验结果看,效果提升很大。从效果看,感觉 B...

2020-05-02 15:53:50 285

原创 PSPNet_ Pyramid Scene Parsing Network

0. 写作目的 好记性不如烂笔头。1. 问题ADE20K 数据集存在的一些问题:1, 错分: 图2第一行,船被误分为车了。 如果使用了全局信息,则可以避免这种情况。2。 迷惑的类别: 第二行,建筑和摩天大楼。3。 不易区分的类别: 枕头2. 解决方法融合全局信息提高分割结果2.1 模型模型:其中(b)feature map得到的...

2020-05-02 15:28:20 232

原创 cvpr2020_SPNet_ Strip Pooling: rethinking spatial Pooling for Scene Parsing

0. 写作目的 好记性不如烂笔头。1. 问题目前的 spatial pooling 都是 N*N的,这会限制他们捕捉特征。如分布狭长的2. 解决方法 使用1*k 和 k * 1的pooling。 同时结合来PSPNet 中的 Pyramid Pooling。2.1 SPM (Strip Pooling Module):来提高感受野。...

2020-05-02 15:09:34 1296 2

原创 cvpr2020_CPNet_ Context Prior for Scene Segmentation

0. 写作目的: 好记性不如烂笔头。1. 问题 目前的方法很少区分,不同类之间的上下文依赖,这可能会影响精度。如:2. 解决方法作者使用Context Prior 来同类和不同类的(类内和类间)的关系进行建模。作者引入 亲和力loss(affinity loss) 来监督 Context Prior layer 来学习 Context Pri...

2020-05-02 12:22:31 779 1

原创 FCN—— Fully Convolutional Networks for Semantic Segmentation

0. 写作目的 好记性不如烂笔头,为了后续快速查看。1. 模型架构: 其中上采样为线性插值。 融合策略为: element sum2. 评价指标:[Reference] paper:https://arxiv.org/pdf/1411.4038.pdf...

2020-05-02 11:58:03 224

原创 Google的yapf进行风格标准化

0. 目的 向github上传 code前,使用Google的 yapf模块(python)进行代码格式的修改。1.使用方法 1.1 安装: pip install yapf (python3) (对于python2的安装请参考官方) 假设当前的code为 main.py 1.2查看当前的code格式: yapf main.py (...

2019-12-23 11:37:30 552

原创 如何判断一个点在多边形的内部

1. 背景 给定任意多边形(不一定是凸多边形)的顶点坐标(逆时针给出点的坐标), 然后给定一点,判断该点是否在多边形内部?2. 思路 使用 向量的叉乘(向量积)来进行计算。 向量积复习:因此,当多边形点的顺序是逆时针时,如果点在 多边形内,则向量积 的结果时正数(为什么呢,见下面)特殊:对于三角形,如果给定的点...

2019-09-20 19:36:32 684 1

原创 如何计算深度学习网络中的感受野(Receptive Field)(以DenseBox中的网络为例)

1. Receptive Field 计算方法当前层的stride: 历史所有层的stride的乘机当前层的Receptive Field: RF = last_RF + (ksize - 1) * history_stride, 其中, last_RF为上一层的Receptive Field, ksize为当前层的kernel size, history_stride为历史积累的...

2019-04-14 13:29:19 618

原创 多分类的loss函数,accuracy理解——手写代码

0. 写作目的好记性不如烂笔头。总结: 博主认为,正是由于Accuracy计算时,采用的是相对最大概率,所以存在计算的loss与accuracy不成正比关系,即当accuracy很高时,有可能存在loss很高,这是由于,我们的目的是:使得最大下标的概率很大,接近于1,但实际是相对最大,导致accuracy很高,loss也很高,如对于三分类,我们期望的预测结果是[1, 0, 0]或者[0.9...

2019-02-26 17:35:31 8297 1

原创 C++深入理解(二)——空基类优化 Empty Base Optimization(EBO)的理解

0.写作目的好记性不如烂笔头。总结:在VS2012中(win32)1) 在多继承中,只存在一个“空类”的继承,这里的空类只是不包括non-static成员变量,空类中可以包括enums,typedef,static,non-virtual函数[1]。在派生类中,如果只存在继承一个空基类,而没有在派生类中定义该空基类或者其他空基类的对象作为成员数据,则虽然sizeof(空基类) ...

2019-02-25 18:09:36 591

原创 C++深入理解(一)——自定义类中重载运算符返回引用以及连续赋值的机制理解

0. 写作目的好记性不如烂笔头。结论:在自定义的类中,运算符重载需要返回类对象的引用。如果返回的是类对象,则在赋值的过程中会调用拷贝构造函数,引起不必要的运算。如果返回的是void,则不能进行连续赋值(如a = b = c)。(补充:在自定义类的对象连续赋值中a = b = c(a,b,c均为新定义的类的实例),当运算符重载函数返回的是类对象引用时,其过程为,b = c调用运算符重...

2019-02-18 17:33:17 1932

原创 QuickSort实现(C++模板函数,python实现)

0. 写作目的好记性不如烂笔头。不同语言实现。(之前都是C++或者C语言实现的QuickSort,今天使用python3来实现)1. 算法思想对输入的数组 a[i , j] 进行排序:1) 分解:将输入的数组分解成三部分—— a[i , k - 1], a[k] 和 a[k + 1 , j],使得a[i , k - 1]中的元素不大于(或者小于)a[k],a[k + 1, j]中的...

2019-02-17 15:47:14 629

原创 有趣的编程(一)——海盗分金币问题如何编程求解

0. 写作目的有趣的编程。1. 问题描述有n个海盗,分k个金币。分配原则:依次从第一个人到最后一个人提出分配方法,只有当超过半数的人同意时,方案生效。如果该人提出的方案不能生效,则该人会被扔到水里喂鱼。游戏只能玩一次。问:第一个人如何提出分配方案才能最大化自己的利益?假设:1) 所有的海盗都很聪明,而且理智;           2) 人性本恶(如当只有两个人时,无论第一个...

2019-01-12 16:36:44 4167

原创 Keras 实现细节——dropout在训练阶段与测试阶段的使用分析

0. 写作目的通过实验分析keras中Dropout在训练阶段和测试阶段的使用情况。结论: Keras使用的 Inverted Dropout,因此测试时不需要修改 Dropout中的参数(rate)。1.  Dropout 的实现方式Dropout的实现方式有两种。Dropout:(使用较少, AlexNet使用的是这种Dropout)       训练阶段:    ...

2019-01-09 17:59:34 9098

原创 神经网络的BP推导

0. 写作目的好记性不如烂笔头。注意:本博客的求导法则,也许和其他地方不同,主要区别在于是否把链式法则中间的求导省略,如果不省略中间的求导则是本文的推导过程,如果省略则是常见的推导过程。其本质都是一样。1. 定义以多层神经元网络为例进行分析。网络如下图所示。定义:网络共 m 层,第 k 层的第 i 个神经元到第 (k + 1) 层的第 j 个神经元之间的权重为 。第 k ...

2018-12-26 15:23:14 240

原创 SSD(caffe) 如何运行ssd_detect.cpp

0. 写作目的好记性不如烂笔头。1. 准备阶段正确编译caffe-ssd,具体过程可以参考博客。建议使用anaconda下的opencv(2或者3,建议安装opencv2, opencv3后期可能出现视频不能读入的问题),不建议使用pip install安装的opencv。 2. 运行ssd_detect.cpp在编译的过程中,ssd_detect.cpp已经被编译过了...

2018-12-18 11:35:33 826

原创 Dell 电脑安装ubuntu 系统(一次性安装成功)

0. 写作目的好记性不如烂笔头。1. ubuntu系统准备阶段1) 下载ubuntu 系统(这里为ubuntu14)2) 通过UltraISO来制作USB系统启动盘     先开打ubuntu系统盘,然后选择 “启动”中的“写入硬盘映像”,然后在“便捷启动”中选择SysLinux,然后以USE-HDD++的写入方式进行写入。2. 安装系统1) 进入BIOS,这里Dell...

2018-12-11 11:52:27 15409

原创 ubuntu 安装 opencv2.4.13 (GPU版本) ——解决网上提供的文章不能一次编译成功问题

0. 写作目的好记性不如烂笔头。避免后来人再次入坑。环境介绍: ubuntu14 + opencv2.4.13  + 1050TI1. 准备阶段下载并解压opencv2.4.13sudo apt-get install wgetsudo wget https://github.com/Itseez/opencv/archive/2.4.13.zipsudo apt-ge...

2018-12-08 10:53:39 1100

原创 python中深浅拷贝学习

0. 写作目的好记性不如烂笔头。1. python 中的深度拷贝1.1 常数的拷贝对于常数的拷贝,类似于数值的地址是一定,当进行赋值时,先共用一个内存,如果一方修改了内容,则该方的地址改变,从而使得两个变量不再相同,即一方修改另一方不会修改。a = 2b = aprint( "a = {}, b = {}".format(a, b) ) ## result## a =...

2018-12-07 16:51:05 165

原创 深度学习目标检测——faster R-CNN 原理理解(自己绘制流程图帮助理解)

0. 写作目的好记性不如烂笔头。1. 框架的理解faster R-CNN = RPN + fast R-CNN1.1 RPN的理解网络的组成: (这里只是给出一个网络的整体流程,可能与faster R-CNN论文的参数不同)注意: 上图可能与论文中的图不同,论文中的图是这样的。论文也给出了解释,理解上——对于每一个sliding window 通过3 * 3的卷积输出5...

2018-10-25 16:25:51 2946

原创 python numpy函数的使用(updating)

0.写作目的好记性不如烂笔头。1. numpy 中的 axis的理解以三维tensor为例:numpy.sum( tensor, axis ) numpy.mean( tensor, axis)其中axis = -1是对最里面的一个维度操作。如numpy.sum( tensor, axis = -1 ), 即对第2维度进行操作,即对channel进行相加。实例为:im...

2018-10-24 21:28:18 200

原创 python 中opencv, PIL, skimage, scipy matplotlib中的细节说明

0. 写作目的好记性不如烂笔头。、1. 有关size返回的说明tensorflow中需要的tensor类型为: (N, H, W, C)其中N是batch 大小,H是height, W是width,C是通道的数目。PIL中  pil_img.size 函数返回的是 tuple类型的(width, height),如果怕出错,可以pil_img.width 或者pil_img.hei...

2018-10-24 20:51:53 370

原创 如何理解目标检测中的SSD

0. 写作目的好记性不如烂笔头。1. SSD1.1 网络的框架下面的第一个4表示的是4个default box(与faster R-CNN 和YOLO不同,这里是中心坐标加上宽高),其中: classifer是通过3 * 3 * (4 * (classes + 4))的卷积实现的,得到结果即是检测的结果,然后将不同feature map的检测结果放在一起。先过滤掉confi...

2018-10-19 20:43:52 459

原创 深度学习目标检测(一)——YOLOV2论文细节理解

0. 写作目的好记性不如烂笔头。说实话,YOLO的论文真心难明白,文献[2]中解释的很到位。1. Better与Fast R-CNN相比,YOLOv1 的错误分析显示:YOLOv1有较低的召回率和回归框的错误。因此YOLOv2目的在于保持分类精度的同时,提高召回率和回归框的精度。保持运行速度快的特点。YOLOv2没有通过放大YOLOv1的网络(基于GoogleNet)去提高精度,采...

2018-10-11 11:37:41 1494

原创 tensorflow学习之——从保存的权重中使用tensorboard查看网络

0. 写作目的好记性不如烂笔头。1. tensorboard模型保存说明采用tf.train.Saver保存的模型,主要文件有:1) checkpoint : 用于记录训练过程中保存的各模型,在第一行会保存最新的模型的路径: model.ckpt2)  model.ckpt.meta: 为保存的Graph,即网络3) model.ckpt.index : 为string-s...

2018-10-09 22:05:34 2115

原创 one-shot learning && GAN的资料汇集

0. 写作目的好记性不如烂笔头。1. one shot learning 1. VALSE2018 有关One-shot-learning 的报告:https://www.jiqizhixin.com/articles/2018-06-20-13有关one-shot-learning的博客:1) http://chuansong.me/n/2131635951225      ...

2018-10-09 17:33:07 1328

原创 深度学习图像分类(二)——VGG论文理解

0. 写作目的好记性不如烂笔头。这里只是笔者记录的过程,如果读者有时间的话,建议看英文论文。1. 网络结构1.1 为什么采用更小的卷积主要思想是:将卷积核换成卷积核较小的。例如: 5 * 5 的卷积的视野与 2个 3 * 3 的卷积视野相同。7 * 7 的卷积视野与 3 个 3 * 3 的卷积视野相同。以1层 7 * 7的卷积换成 3层3 * 3的卷积为例进行说明:i)...

2018-10-09 13:51:47 5146

原创 深度学习图像分类(一)——AlexNet论文理解

0. 写作目的好记性不如烂笔头。1. 论文理解1.1 ReLU 激活函数的使用Rectified Linear Units(ReLU)使用ReLU比使用tanh(或者sigmoid)激活函数收敛速度更快。下图来自AlexNet论文中给出的在CIFAR-10上的测试效果。可以看出ReLU收敛速度更快。1.2 多GPU训练只在特殊层进行GPU数据之间的交流。例如:第...

2018-09-27 15:39:00 2539

原创 tensorflow学习(二)——训练分类时,对图像进行增强(基于tf.image存在的一些问题)

0. 写作目的好记性不如烂笔头。1. 图像分类时,图像的数据增强在博主进行图像增强时,存在一些问题,和大家分享一下。1.1 使用tensorflow自带的读取图像函数存在的问题如果采用直接读取图像的方式(使用tf.image进行读取图像),然后使用tf.image中的增强函数对数据进行增强,在使用tf.gfile.FastGFile( 'test-{}.jpg'.format(...

2018-09-20 14:51:30 2160

原创 keras中构建不同类型的网络

0. 写作目的好记性不如烂笔头。1. 构建Sequntial()类型的网络from keras.models import Sequentialfrom keras.layers import Dense, Dropout, Flattenfrom keras.layers.convolutional import Conv2D, MaxPooling2Ddef Net()...

2018-09-17 15:50:40 672

原创 linux 使用技巧(不断更新)(screen 和tmux的使用)

0. 写作目的好记性不如烂笔头。1. screen后台运行程序1.1 建立screen使用XShell(windows)或者SSH(ubuntu)连接远程终端,建立一个screenscreen -S name## name parameter: it's up to you1.2 在screen下运行程序在创建的screen下运行程序,如果中途退出,可以使用快捷键:...

2018-09-12 17:17:18 485

原创 tensorflow 多个模型测试阶段速度越来越慢问题的解决方法

0. 写作目的好记性不如烂笔头。1. 问题描述tensorflow中多个模型在测试阶段,出现测试速度越来越慢的情况,通过查阅资料发现,由于tensorflow的图是静态图,但是如果直接加在不同的图(即不同的模型),应该都会存在内存中,因此造成了测试速度越来越慢,甚至导致机器卡顿(博主在测试100个模型时,一般测试20个模型左右出现卡顿),因此有必要探究更快的测试速度方法。2. 方法...

2018-09-12 13:17:23 5361

原创 python 使用技巧(不断更新中)

0. 写作目的好记性不如烂笔头。1. list使用技巧1.1 对list的进行排序(python2)import operatora = [[1, 1, 1, 1, 0.98], [2, 2, 2, 2, 0.99], [3, 3, 3, 3, 0.89]]a.sort(key=operator.itemgetter(4), reverse=True)## result...

2018-09-10 19:25:08 210

原创 目标检测中如何计算AP和mAP以及绘制P-R曲线以及SSD中如何修改代码来输出AP和绘制P-R曲线

0. 写作目的好记性不如烂笔头。1. 计算AP(Average Precision)的理论知识对于每一类目标检测给出的置信度(Confidence),首先按照Confidence降序排列,然后将交并比(IOU)>0.5的当做正确预测的结果,否则为错误预测的结果。然后依据预测结果的正确与否计算TP(True Positive), FP(False Positive), FN(Fal...

2018-09-06 21:32:45 12629 4

空空如也

空空如也

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

TA关注的人

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