自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (8)
  • 收藏
  • 关注

原创 tensorflow 学习

1. Tensors TensorFlow的数据中央控制单元是tensor(张量),一个tensor由一系列的原始值组成,这些值被形成一个任意维数的数组。一个tensor的列就是它的维度。import tensorflow as tf上面的是TensorFlow 程序典型的导入语句,作用是:赋予Python访问TensorFlow类(classes),方法(methods),符号(sym...

2018-07-15 21:42:37 279

原创 PSPNet网络要点

基础层经过预训练的模型(ResNet101)和空洞卷积策略提取feature map,提取后的feature map是输入的1/8大小feature map经过Pyramid Pooling Module得到融合的带有整体信息的feature,在上采样与池化前的feature map相concat最后过一个卷积层得到最终输出论文用了一个很“玄学”的方法搞了一个基础网络层,如下图:在ResNet10...

2018-07-13 21:43:26 5916

原创 ResNet结构图

ResNet结构图

2018-07-04 16:53:28 7874

原创 Caffe Layer Library及理解

Convolution layer  # convolutionlayer { name: "loss1/conv" type: "Convolution" bottom: "loss1/ave_pool" top: "loss1/conv" param { lr_mult: 1 decay_mult: 1 } param { lr_mult:...

2018-07-04 11:28:56 596

原创 卷积和反卷积

卷积示意图A:卷积核矩阵,M卷积核的数量,也是输出的channel,K为卷积核的大小,K可以理解为k*k(卷积核的长、宽)。B:输入图像矩阵,K为对应卷积核大小的矩阵块。N为输出矩阵特征的长和宽。 N=((image_h + 2*pad_h – kernel_h)/stride_h+ 1)*((image_w +2*pad_w – kernel_w)/stride_w + 1) ...

2018-07-04 10:16:18 391

原创 MaskRCNN要点

faster-rcnn网络结构MaskRCNN的网络框架    其中黑色部分为原来的 Faster-RCNN,红色部分为在 Faster网络上的修改:1)将 Roi Pooling 层替换成了 RoiAlign;2)添加并列的 FCN 层(mask 层); conv:采用卷积网络进行特征提取,最后作者取的是conv5的输出,也就是13*13*256送给RPN...

2018-07-03 20:59:43 711

转载 caffe SigmoidCrossEntropyLossLayer

代码:layer { name: "loss_2" type: "SigmoidCrossEntropyLoss" bottom: "score_2" bottom: "label" top: "loss_2" loss_weight: 0.1}SigmoidCrossEntropyLossLayer的输入bottom[0],bottom[1],其中bottom[0]是...

2018-07-02 15:06:01 820

转载 损失层SoftmaxWithLossLayer

类SoftmaxWithLossLayer包含类SoftmaxLayer的实例。其中SoftmaxLayer层在正向传导函数中将64*10的bottom_data,通过计算得到64*10的top_data。这可以理解为输入数据为64个样本,每个样本特征数量为10,计算这64个样本分别在10个类别上的概率。公式如下,其中n=10,SoftmaxWithLossLayer层利用SoftmaxLayer...

2018-07-02 14:39:43 573

转载 熵,相对熵

1 信息熵的抽象定义熵的概念最早由统计热力学引入。信息熵是由信息论之父香农提出来的,它用于随机变量的不确定性度量,先上信息熵的公式。信息是用来减少随机不确定性的东西(即不确定性的减少)。我们可以用log ( 1/P )来衡量不确定性。P是一件事情发生的概率,概率越大,不确定性越小。可以看到信息熵的公式,其实就是log ( 1/P )的期望,就是不确定性的期望,它代表了一个系统的不确定性,信息熵越大...

2018-07-02 14:05:20 1699

原创 caffe loss层

在caffe中,默认的以loss结尾的layer可以作为loss层,但是中间的层同样可以作为loss层.原因是这样的:有一个和这个相关的参数:loss_weight,它决定了你的每个loss层占最好的loss的大小.在以loss结尾的layer里面, loss_wight的大小为1. 在不是以loss结尾的layer里面,它的loss_weight为0.layer { name: "loss"...

2018-06-29 15:19:12 810

原创 Python编写caffe代码

有时候,我们需要将网络使用caffe代码实现,人工手写容易出问题。可以使用Python完成网络编写。卷积层:def generate_conv_layer_no_bias(name, bottom, top, weight, num_output, kernel_h, kernel_w, pad_h, pad_w, std=0.01): conv_layer_str = '''layer ...

2018-06-29 10:53:58 657

转载 caffe,deeplab,对Interp(差值)层的理解

更详细的参数解释查阅interp_layer.cpp。prototxt中的用法:layer{ bottom:"input" top:"output" name:"interp_layer" type:"Interp" interp_param{ shrink_factor:4 zoom_factor:3 pad_beg:0 pad_end...

2018-06-26 20:44:28 3169

转载 在新版本caffe里添加新的一层(向旧格式中加)

今天实现了在caffe框架中加入一个层,完成欧式距离的任务。之所以这样,是因为还没有实现自己想要的loss,只是试着学者,看能不能把添加层的流程顺下来。最后实现了。(一)总体框架1)在./src/caffe/proto/caffe.proto 中增加 对应layer的paramter message;查找euclidean,然后根据euclidean_loss加一个whole_loss,加一个数就...

2018-06-26 19:17:46 278

转载 caffe学习:Crop 层

 在Fully Convolutional Networks(FCN)中,会用到Crop 层,他的主要作用是进行裁切。下面我们举一个例子来说明如何使用Crop 层。  Caffe中的数据是以 blobs形式存在的,blob是四维数据,即 (Batch size, number of Chennels, Height, Width)=(N, C, H, W)。---(0,1,2,3) Crop层的输...

2018-06-07 20:37:26 319

原创 卷积神经网络系列之softmax,softmax loss和cross entropy

全连接层到损失层间的计算先理清下从全连接层到损失层之间的计算。这张图的等号左边部分就是全连接层做的事,W是全连接层的参数,我们也称为权值,X是全连接层的输入,也就是特征。从图上可以看出特征X是N*1的向量,这是怎么得到的呢? X: 这个特征就是由全连接层前面多个卷积层和池化层处理后得到的,假设全连接层前面连接的是一个卷积层,这个卷积层的输出是100个特征(也就是我们常说的featur...

2018-06-06 17:39:51 1214

原创 VGG16结构图

为了更好的了解VGG16的结构图,其可视化结构如下:vgg16构造模型图官方数据表格参考:https://blog.csdn.net/zhyj3038/article/details/52448102

2018-06-02 11:35:49 32716 1

原创 C++算法八:快速排序

最流行的排序算法,速度最快的排序算法1962年,C.A.R. Hoare发明了快速排序算法pivot:枢轴递归快速排序算法首先选取枢轴,一般选取最左边或最右边的值为枢轴,然后从数组的左右两端的值开始与枢轴的值进行比较,如果左边的值大于枢轴的值,右边的值比枢轴的值小则进行位置交换。#include <iostream>using namespace std;template<cla...

2018-05-29 20:13:31 143

转载 Deeplab V1、v2要点

背景: CNN的一个特性是不变性,这个特性使得它在high-level的计算机视觉任务比如classification中,取得很好的效果。但是在semantic segmentation任务中,这个特性反而是个障碍。毕竟语义分割是像素级别的分类,高度抽象的空间特征对如此low-level并不适用,比如图像分割细节、边缘。 所以,要用CNN来做分割,就需要考虑两个问题,一个是feature map的...

2018-05-29 14:51:52 1636

原创 SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation要点

               max-pooling indics:在SegNet中,深度编码器 - 解码器网络被联合训练用于监督学习任务。Segnet移除了全连接层,这样可以使其比其他许多近来的结构(FCN,DeconvNet,ParseNet和Decoupled)显著的小并且训练起来更容易。SegNet的关键部件是解码器网络,每个解码器对应于一个编码器。其中,解码器使用从相应的编码器得到的ma...

2018-05-28 21:30:14 776

原创 FCN:Fully Convlutional Networks for semantic segmentation要点

FCN首先将深度学习引入到语义分割领域,网络的要点总结如下:1. 将全连接层变为卷积,好处:①传统的分类网络,比如LeNet、AlexNet等,只接受固定尺寸的输入并产生非空间输出,原因在于全连接层参数的限制,而且这些网络在通过全连接层把输入展开成向量的时候丢失了图片原有的空间信息。以VGG16和PASCAL数据集为例,网络去除了最后的分类层,并将所有的全连接层转化为上述的卷积层,然后添加了一层1...

2018-05-28 19:30:04 426

原创 PSPNet-tensorflow实现并训练数据

代码下载地址:https://github.com/hellochick/PSPNet-tensorflow下载预训练模型地址(需翻墙):https://drive.google.com/drive/folders/1S90PWzXEX_GNzulG1f2eTHvsruITgqsm?usp=sharing 放在./model/文件夹下,并将checkpoint后的格式.txt删除。修改train...

2018-05-23 10:57:57 9931 64

原创 C++算法七:插入排序

低级排序冒泡排序(低级排序中速度最慢)选择排序插入排序(低级排序算法中最快的)#include<iostream>using namespace std;template<class T>void InsertionSort(T *a,int n);template<class T>void InsertionSort_2(T *a,int n);void ma...

2018-05-23 10:55:06 147

原创 C++算法六:递归

递归的神,迭代的是人自己调用自己可以使用递归都可使用迭代(循环),递归在计算中需要暂存消耗内存,计算速度慢,优点清楚容易理解。#include<iostream>using namespace std;void doA(){    cout<<"hello"<<endl;    doA();}int jiecheng(int n){    if (n =0)  ...

2018-05-17 19:10:49 132

原创 C++算法五:二分查找(折半)查找

二分查找是对排序的数据进行排序,查找效率非常高。2的20次方是100万,就是(1M),折半查找100万个数据只需要20次2的30次方就是10亿,也就是(1G),折半查找只需要30次#include <iostream>using namespace std;int BinarySearch(int *a,const int x, const int n);int main(){    ...

2018-05-17 19:05:55 327

原创 C++算法四:顺序查找

顺序查找与折半查找(二分查找)没有顺序排序的数据:只能顺序查找,如果数据排序了使用顺序查找和折半查找都可以。顺序查找:速度慢例如:100万个数据,平均要查找50万次#include<iostream>using namespace std;int SequentialSearch(int *a,const int n, const int x);int main(){    int m...

2018-05-17 17:19:50 4475

原创 C++算法三:选择排序

冒泡排序和选择排序都是低级排序,效率比较低。低级排序最简单的是冒泡排序。从当前未排序的整数中找一个最小的整数,将它放在已排序的整数数列列表的最后。要点:选择排序选最小的,往左边选。冒泡排序是选择最大的,而选择排序选择最小的,但是选择排序要相对冒泡排序要快,是因为冒泡排序中间有许多交换的操作,选择排序要找到最小然后进行交换。#include<iostream>using namespac...

2018-05-17 09:08:49 251

原创 C++算法二:冒泡排序

冒泡排序效率非常低,实际的软件的很少用,除了数据非常少。从左向右扫描数据,选择最大的的数据,放在右边。要点:比较相邻的两个数,如果左边的数据大于右边的就进行交换。#include<iostream>using namespace std;void BubbleSort(int list[],int n);//冒泡算法只有四行int main(){    int a[] = {2,4,6...

2018-05-15 22:04:49 125

原创 C++算法一:交换算法

本博客主要素材是观看算法视频的个人笔记,内容有些粗率,当作算学习的记录,后续会不断完善,欢迎交流。最基础的算法:交换(swap)常见的的交换算法主要有以下几种:void swap(int x,int y) -这种方法不行方法一:void swap(int *px,int *py)方法二:#define swap(x,y,t)((t)=(x),(x)=(y),(y)=(t))方法三:void swa...

2018-05-15 21:05:40 1205

原创 deeplabv2实现并训练自己的数据

一、安装必要的依赖库 matio安装方法1: sudo apt-get install libmatio-dev 安装方法2: 下载matio(https://sourceforge.net/projects/matio/files/matio/1.5.2/) tar zxf matio-1.5.2.tar.gz cd matio-1.5.2 ./configure make make check...

2018-05-10 22:34:10 3895 2

原创 部分Caffe 报错解决方案

1、error: function “atomicAdd(double *, double)” has already been defined解决方案:修改该caffe目录下的common.cuh,在atomicAdd前添加宏判断即可:#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600#else   __device__ double a...

2018-05-10 22:09:23 441

原创 Segnet的caffe训练环境搭建

1、下载caffe源码https://github.com/alexgkendall/caffe-segnet。使用caffe-segnet-segnet-cleaned.zip压缩包解压后改为caffe-segnet。2、进入到caffe-segnet下,运行 cp Makefile.config.example Makefile.config之后, 修改Makefile.config,注意将W...

2018-02-24 09:05:15 3120

Snake主动轮廓模型的C++实现

Snake模型与先检测边缘点再将它们连接成边缘的方法不同,轮廓的连通性及角点均影响能量泛函。Snake的轮廓线模型继承了上层知识,而轮廓线与目标轮廓的匹配又结合了底层特征。Snake模型可以通过优化能量泛函得到一个局部最优的轮廓曲线。

2018-07-22

电脑配置文件

十分便捷的移动网络测试工具,即时检查网络连接状态及网速,查看真实的上传和下载速度以及网络连接延迟及丢包情况。   动态图标显示测量的WIFI下载及上传网速以及移动网络的网速,不再被运营商忽悠。

2018-07-07

Python写caffe文件

Python编写caffe文件相人工手写更快,此文件为Python实现caffe文件的样例。

2018-06-29

deeplabv2 vgg model

deeplab v2 vgg 预训练模型,在网络初始化时可以提高网络的精度。

2018-06-21

python 自定义改变图像大小

在图像处理方面常会自定义修改图像大小,改程序可快速遍历文件夹中的图像,快速改变图像大小。

2018-04-29

ColorTransfer C++版

阅读Color transfer between images论文原文后,读者会体会到该代码是按照原文思路进行编程的,之前我发布过一版,个人觉得不如这个代码更贴近原文。

2018-04-29

Python实现图像名转换(bmp2png,png2bmp,jpg2bmp,bmp2jpg)

代码使用Python写的,使用前要读清楚代码中使用说明。

2018-04-29

ColorTransfer代码C++版

Color Transfer between images 是一片比较经典的色调映射的文章,应用率较高,算法也比较简单。适合做较为简单的色调处理。

2018-04-25

空空如也

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

TA关注的人

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