![](https://img-blog.csdnimg.cn/20201023203548650.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
深度学习基础s
深度学习基础知识和例子
qq_26697045
这个作者很懒,什么都没留下…
展开
-
正向传播与反向传播的推导
为了分析一个神经元的反向传播过程,对一个2×2的感受野卷积一次,通过学习,让它认识这个感受野为1。感受野的输入信号为。 padding='VALID',不然会卷积4次。 优化器:GradientDescentOptimizer。 激活函数:sigmoid。 学习率恒为0.2。图1. 一个人工神经元神经元如图1所示, 那么:损失函数: 损失函数对权重的偏导数: 损失函数对...原创 2019-04-11 23:41:57 · 622 阅读 · 0 评论 -
语义分割由网络输出到类别标签的处理过程
logits是网络的输出,logits.shape=(batch_size, w, h, 21),21类语义标签。pred_classes = tf.expand_dims(tf.argmax(logits, axis=3, output_type=tf.int32), axis=3)#shape=(?, ?, ?, 1)我们用numpy解释argmax和expand_dims这两个函数...原创 2019-04-18 09:57:10 · 5188 阅读 · 0 评论 -
概率图模型
一.有向图模型(贝叶斯网络、信念网络)朴素贝叶斯分类器 隐马尔可夫模型 深度信念网络 sigmoid信念网络二.无向图模型(马尔可夫随机场、马尔可夫网络)对数线性模型(最大熵模型) 条件随机场 波尔兹曼机 受限波尔兹曼机...原创 2019-04-13 21:14:26 · 80 阅读 · 0 评论 -
Ablation Studies简化测试
设计了一个深度学习模型后,为了验证添加的功能模块是否起作用、起多大作用,可以用实验来验证,这样的实验称为简化测试。比如这篇论文。根据奥卡姆剃刀定律,我们应该尽量去掉那些不必要的模块。...原创 2019-04-10 13:01:25 · 208 阅读 · 0 评论 -
Pythorh报错
错误:Traceback (most recent call last): File "train.py", line 419, in <module> main() File "train.py", line 409, in main segm_crit1, segm_crit2) File "train.py", line 275, in trai...原创 2019-04-08 21:34:04 · 8304 阅读 · 0 评论 -
DeepLab系列
一.资源DeelLab系列:DeepLabv1、DeepLabv2及运行、DeepLabv3、DeepLabv3+及运行。二.模型结构图2-1[v3+图2] DeepLabv3+是在DeepLabv3的基础上扩展出的一个编解码器结构。三.编码器 编码器是Deeplabv3模型的logits前的部分。四.解码器让空洞卷积提取更稠密的特征有助于恢复边界细节,但计算量会剧增...原创 2019-03-28 23:58:37 · 975 阅读 · 0 评论 -
深度估计
一.迁移学习[论文][Keras][监督]1).网络:图1-1.网络框架。带跳跃连接的编解码器结构。编码器采用在ImageNet上预训练过的DenseNet-169,解码器由卷积和上采样组成。2).损失函数:每个像素的预测深度与实际深度的L1损失:。由于该损失会随深度值的变大而变大,作者使用原始深度值的导数作为深度值,是最大深度值。 图像梯度与深度图梯度的L1损失:。 图像...原创 2019-04-06 10:41:47 · 2209 阅读 · 0 评论 -
学习率、权重衰减和冲量
一.学习率(learning_rate)二.正则化(regularization)L1正则化L2正则化(权重衰减)1.权重衰减是为了防止过拟合。[参考]三.冲量(momentum)[参考1]原创 2019-03-28 09:18:42 · 824 阅读 · 0 评论 -
SegNet
一.Caffe原版论文,官方教程(文件组织方式、训练、测试),官方资源库,训练好的模型。 下载SegNet-Tutorial,命名为SegNet。包含训练数据和列表。 下载caffe-segnet,如果出现cudnn错误可以下载caffe-segnet-cudnn5。命名为caffe-segnet,放入上面的SegNet。 为了编译Caffe,安装OpenCV是要选中BUILD_TIFF...原创 2019-03-21 17:48:36 · 1078 阅读 · 1 评论 -
相似性度量
在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。这个文档对常用的相似性度量作一个总结。1.欧氏距离 2.曼哈顿距离 3. 切比雪夫距离 4. 闵可夫斯基距离 5.标准化欧氏距离 6.马氏距离7.夹角余弦 8.汉明距离 9.杰卡...原创 2019-03-18 19:50:09 · 258 阅读 · 0 评论 -
运行DeepLabv2
DeepLab:带深度卷积网、空洞卷积和全连接CRF的语义图像分割 论文 讲解测试单张图片下载源码,修改源码文件夹名称为DeepLabv2。基于Caffe的源码在这。 下载模型,解压缩得到deeplab_resnet.ckpt和deeplab_resnet_init.ckpt,把这两个文件放入DeepLabv2/output文件夹。找一个图片1.jpg也放入该文件夹。 在DeepLab...原创 2019-01-20 13:37:25 · 886 阅读 · 0 评论 -
Caffe:npy与binaryproto互相转换
1.binaryproto转npyimport numpy as npimport syscaffe_root = 'path/caffe/'sys.path.insert(0, caffe_root + 'python')import caffeblob = caffe.proto.caffe_pb2.BlobProto() data = open('ilsvrc_2012...原创 2019-01-20 09:46:50 · 357 阅读 · 0 评论 -
Caffe:生成caffe.pb.h
在caffe/src/caffe/proto文件夹利用caffe.proto生成caffe.pb.cc和caffe.pb.h的命令:protoc --cpp_out=./ caffe.proto原创 2019-01-20 09:44:23 · 1179 阅读 · 0 评论 -
DF-NET源码记录
边界光滑损失def compute_edge_aware_smooth_loss(self, pred_disp, img): def gradient(pred): D_dx = -pred[:, :, 1:, :] + pred[:, :, :-1, :] D_dy = -pred[:, 1:, :, :] + pred[...原创 2019-01-12 13:08:23 · 554 阅读 · 0 评论 -
运行DeepLabv3+
用于语义图像分割的带空洞可分离卷积的编解码器论文 源码 讲解下面第一个是原作者提供的代码,基于tf.contrib.slim。第二个代码是网友实现的,基于tf.estimator。tf.estimator是比tf.contrib.slim更高级的API,能同时训练和验证模型。[更多]Tensorflow/model下面的源码安装tensoeflow-gpu==1.9.0(pytho...原创 2019-01-10 21:20:04 · 2697 阅读 · 3 评论 -
SPN:通过空间传播网络学习关联
原文摘要本文提出通过空间传播网络学习关联矩阵用于视觉任务。1引言关联矩阵就是一个一般的矩阵,可以描述空间中两个点有多么近或者多么相似。在计算机视觉任务中,它是一个带权图,每个像素是一个结点,每两个像素间有一条边,参见论文1、论文2、论文3、论文4、论文5。权重应该针对不同的任务反映像素对间的相似性。比如对于图像滤波这样的低级任务,关联值应该反映颜色和纹理的低级相关性。中高级任务,如...翻译 2019-01-07 09:24:23 · 1469 阅读 · 0 评论 -
CSPN
原文提出卷积空间传播网络(CSPN)为深度估计学习关联矩阵。具体来说就是,采用一个线性传播模型以循环卷积的形式传播,DCNN学习临近像素间的关联关系。深度估计提升性能的方法有:使用更好的网络(如VGG、ResNet)估计全局场景布局和尺度。 通过反卷积、跳跃连接、反投影更好地恢复局部纹理。我们提出的CSPN中,每个像素的深度值在一个卷积上下文中同时更新。这个长程上下文(long r...翻译 2018-12-21 17:11:27 · 3435 阅读 · 0 评论 -
利用语意关联和关注驱动损失函数进行单目深度估计
这是一个临时材料,整理后的内容在这里。这篇文章把深度估计和语义分割联系起来。之前有些工作把深度用于语义分割,大都使用RGBD数据集,本文则使用单张静态图像。长尾分布:作者发现像素个数在像素深度和语义标签上呈现长尾分布,如下图1。深度值呈现长尾分布主要由获取深度时的透视效应(the perspective-effect during the depth acquisition proce...翻译 2018-12-15 17:37:45 · 282 阅读 · 0 评论 -
FCN
博客一博客二原创 2018-12-12 15:16:53 · 109 阅读 · 0 评论 -
实例分割综述
目前实例分割分为两大类:propose & verify,即先用目标检测找出实例可能的边界框并分类,再对边界框进行前后景分割。这类方法以Mask RCNN为代表。缺点是对拥挤、遮挡、小目标和不规则物体的分割精度不高。 像素级分割。A.半卷积用于实例分割(2018,Novotny)本文用像素级分割实现实例分割。广泛应用于深度学习中提取特征的卷积操作具有不变性,这限制了网络精确...原创 2018-12-10 19:18:46 · 5801 阅读 · 2 评论 -
流
A.FlowNet1.0[论文]B.DispNet[论文]一.定义场景流:三维运动场,可以利用光流、视差、视差变化这三个分量得到。可以用立体视频或RGBD视频计算出,也就是可以用双目图像或深度图像计算出。 光流:世界的三维运动在图像平面上的投影。 视差:同一空间点在两个图像平面上投影的横坐标差。图1. 视差图,xr<0,视差为xl-xr。图2.箭头表示视差和光流,红色的用...原创 2018-12-07 13:16:07 · 547 阅读 · 0 评论 -
语义分割综述
目前语义分割的流行框架可以分为前端、后端。前端采用FCN定位不同类别的物体,后端采用RF(CRF、MRF)精确定位物体边界。也就是说,前端解决“是什么(what)”,后端解决“在哪里(where)”。可以把语义分割网络分为两类:以FCN为代表的编解码器(encode-decode)网络;以Deeplab为代表的空洞卷积(dilate convolution)网络。[参考]A.FCN(201...原创 2018-12-06 13:42:43 · 239 阅读 · 0 评论 -
单目深度估计综述
图像是立体场景的投影,投影只捕获了平面信息,因此单目深度估计很具挑战性。但是双目可以通过匹配用几何方法直接计算出深度信息。因此单目深度估计具有一定的研究价值。深度估计可以用于3D建模、场景理解、深度感知(depth-aware)的图像合成等领域。基于深度学习的单目估计依据是像素值关系反映深度关系,方法是拟合一个函数把图像映射成深度图:。从得出的深度图轮廓和不断提高的实验结果可以看出,的确可...原创 2018-12-06 11:00:06 · 29163 阅读 · 6 评论 -
DF-Net使用交叉一致性无监督学习深度和光流
原文项目3.无监督联合学习深度和光流3.1方法概述3.2用深度和位姿合成流3.3亮度一致性和空间平滑性先验这里简要回顾一下我们的框架调整网络训练时使用的两个损失函数。利用经典稠密对应算法[4,23,40]中的亮度一致性和空间平滑性先验,之前的工作使用扭曲帧和目标帧中的光度差异作为一个无监督的代理损失函数训练没有真实注释的CNNs。光度损失。假设我们有帧和及估计的流(来自...翻译 2018-12-04 10:02:58 · 1921 阅读 · 1 评论 -
卷积结果大小
设输入图像尺寸为W,卷积核尺寸为F,步幅为S。在Tensoflow中,Padding有2个选项:SAME和VALID。如果 Padding='SAME',输出尺寸为: W / S。如果 Padding='VALID',输出尺寸为:(W - F + 1) / S。...原创 2018-12-03 20:31:47 · 862 阅读 · 0 评论 -
空洞卷积(dilated convolution)
1.传统下采样CNN在诸如分类(识别)任务中的处理过程一般是卷积、池化、全连接。这三种操作把数据转换成多个低维度特征,便于分类。如把一张128x416的图像转换成一个1x1x100的特征图,就可以做成一个100路分类器。卷积、池化都是下采样操作。下采样降低数据的耦合性,增加了网络的不变性:一个像素和它周围的像素相耦合,所以可以通过下采样用更少的像素代替这部分像素;下采样也增加了网络的尺度和...原创 2018-12-03 15:21:36 · 3475 阅读 · 2 评论 -
目标跟踪孪生网络中的三元组损失
原文地址摘要目标跟踪一直是一些计算机视觉应用中重要且具有挑战性的问题。对于这个挑战,越来越多的研究者使用深度学习获取更有效的特征以提高跟踪效果。本文提出一个创新的三元组损失(triplet loss)能为目标跟踪提取富有表现力的深度特征,我们把它而不是成对损失(pairwise loss)加入孪生网络中训练。通过组合原始样本,我们的方法不需要其它任何输入就能把更多元素用于训练以获取更有效的...翻译 2018-11-30 16:58:43 · 4639 阅读 · 1 评论 -
(DeepLabV1)基于深度卷积网络和全连接条件随机场的语义图像分割
摘要a.结合DCNN与概率图模型做像素级的分类(语义分割)。b.我们的实验表明DCNN最后一层的响应不能对精确的物体分割做出充分的局部化,其原因是DCNN的不变性。为了解决这个问题,我们把DCNN最后一层的响应与一个全连接的条件随机场(CRF)结合。1.引言a.端到端的DCNN方法明显优于基于精心设计表示(如SIFT、HOG)的方法,这可以部分归因于DCNN固有的对局部图像变换的不...翻译 2018-11-28 15:34:48 · 3047 阅读 · 0 评论 -
TF:tf.metrics
tf.metrics.accuracy返回两个值,第一个值是本次运行前的准确度,第二个值是本次运行后的准确度。#encoding=utf-8import numpy as npimport tensorflow as tf x = tf.placeholder(tf.int32, [5])y = tf.placeholder(tf.int32, [5])acc, acc_o...原创 2019-04-26 17:19:29 · 638 阅读 · 0 评论 -
TF:tf.losses.sparse_softmax_cross_entropy
tf.losses.sparse_softmax_cross_entropy(logits=logits, labels=labels)等价与tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits, labels=labels) 加 tf.reduce_mean。它们的参数维度:logits: [batch_size, ...原创 2019-04-21 16:44:26 · 5155 阅读 · 0 评论 -
TF:tf.confusion_matrix混淆矩阵
计算方法:#encoding=utf-8import tensorflow as tfx = [1, 2, 4]y = [2, 2, 4]sess = tf.InteractiveSession()#由于x和y的最大元素是4,所以混淆矩阵是5×5的矩阵#混淆矩阵的(x[i], y[i])位置元素为1,其它位置元素为0op = tf.confusion_matrix(x, y...原创 2019-04-20 23:44:58 · 2413 阅读 · 0 评论 -
TF:tf.dynamic_partition
用法#encoding=utf-8import tensorflow as tfx = tf.constant([11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], shape = [6,2])#x的第0,2,4行作为y的第0行;x的第1,3,5行作为y的第3行v = tf.constant([0, 3, 0, 3, 0, 3])#由...原创 2019-04-20 11:25:42 · 187 阅读 · 0 评论 -
TF:tf.train.optimizer
tf的7中优化方法optimizer = tf.train.AdadeltaOptimizer(rate)optimizer = tf.train.AdagradOptimizer(rate)optimizer = tf.train.AdamOptimizer(rate)optimizer = tf.train.FtrlOptimizer(rate)optimizer = tf.tr...原创 2019-04-18 16:02:23 · 1165 阅读 · 0 评论 -
TF:tf.estimator
tf.estimator是比tf.contrib.slim更高级的API,能同时训练和验证模型。[更多]tf.estimator的有些参数是函数,但又不能带参数,如: run_config = tf.estimator.RunConfig().replace(save_checkpoints_secs=1e9)model = tf.estimator.Estimator( m...原创 2019-04-17 22:14:46 · 362 阅读 · 0 评论 -
TF:TF参数
定义参数 向不同文件的函数传递参数:main.py把参数传给lib.py的fac函数。 随时随地添加参数:在lib.py的fac函数中添加新参数。main.pyimport tensorflow as tffrom lib import fac FLAGS = tf.app.flags.FLAGStf.app.flags.DEFINE_boolean('save_image',...原创 2019-04-16 10:29:00 · 743 阅读 · 0 评论 -
TF:卷积层的实现方式
卷积层的实现方式:tf.nn.conv2d:最基础的用法,需要自定义权重和偏置。用法示例: def create_weights(shape): return tf.Variable(tf.truncated_normal(shape,stddev=0.1))def create_bias(num_filters): return tf.Variable(tf.cons...原创 2019-04-15 22:19:41 · 485 阅读 · 0 评论 -
TF:程序设计1
一个简单的TF程序设计样例#encoding=utf-8import tensorflow as tfimport numpy as np def net(input): global filter, bias, y1, y2 init_random = tf.random_normal_initializer(mean=0.0, stddev=0.01, seed=None,...原创 2019-04-14 23:44:12 · 359 阅读 · 0 评论 -
TF:函数
1.tf.equal(a, b)和tf.less_equal(a, b):a、b是tensor(或一个数),如果a的对应位置小于(等于)b的对应位置,则返回的tensor的对应位置为True。import tensorflow as tf import numpy as np a=np.array([[1,0,4],[0,1,1]]) b=np.array([[3,2,3],[4,5...原创 2019-01-23 15:06:01 · 376 阅读 · 0 评论 -
tensorflow例程
拟合曲线#coding=utf-8#https://www.cnblogs.com/qcloud1001/p/6739501.htmlimport tensorflow as tf#输入x、y_,估计W、bx = tf.placeholder(tf.float32)W = tf.Variable(tf.zeros([1]))b = tf.Variable(tf.zeros([1...原创 2019-01-19 11:02:19 · 368 阅读 · 0 评论 -
TF:tensorboard使用示例
代码:project/a.pyimport tensorflow as tfa = tf.placeholder(tf.float32, shape=[])b = tf.constant(1, dtype=tf.int32)tf.summary.scalar("a", a)tf.summary.scalar("b", b)sess = tf.Session()init_o...原创 2019-01-11 15:53:01 · 581 阅读 · 0 评论