深度学习
文章平均质量分 80
一抹烟霞
这个作者很懒,什么都没留下…
展开
-
PointNet原理详解
文章目录一、3D点云的挑战二、排序不变性一、3D点云的挑战以无序点云作为输入,因此模型需要具备排序不变性点云的旋转,平移不应该改变点云的类别,因此模型需要具备几何变换不变性二、排序不变性排序不变性,即输入的点云的顺序不应该改变点云所代表的物体类别当一个N×DN \times DN×D 在 N的维度上随意的打乱之后,其表述的应该是同一个物体。为了实现这一点。一个简单的方法是使用对称函数,如SUM和MAX等函数:因此我们可以利用max函数设计一个很简单的点云网络,如下:因此我们构造的原创 2021-05-26 14:18:24 · 3584 阅读 · 3 评论 -
目标检测算法RCNN,Fast RCNN,Faster RCNN
文章目录一、REGION CNN1.1 原理1.2 候选区域生成方法1.3 训练过程1.4 R-CNN的计算瓶颈二、Fast RCNN2.1 改进点2.2 网络结构2.3 ROI Pooling2.4 损失函数2.5 总结三、Faster R-CNN3.1 RPN网络3.2 损失函数3.3 训练步骤一、REGION CNN1.1 原理滑窗法是一种行之有效的暴力方法,先生成大量的候选框,对每个框进行分类,可以大概的检测出类一张图像生成1K~2K个候选区域对每个候选区域,使用深度网络提取特征特征原创 2021-05-25 20:22:06 · 854 阅读 · 16 评论 -
变形卷积
文章目录一、传统CNN结构存在的问题二、变形卷积2.1 带孔卷积 Dialted Conv,2.2 可变形卷积 Deformable Conv优点2.3 深度可分离卷积2.3.1 Pointwise Convolution2.3.2 Depthwise Convolution优缺点一、传统CNN结构存在的问题结构固定无法考虑不同区域不同形变的影响计算并非最优化不同任务对卷积的计算有不同的偏好二、变形卷积2.1 带孔卷积 Dialted Conv,用同样的卷积核大小获取更大的感受野原创 2021-05-16 19:27:40 · 1007 阅读 · 0 评论 -
安装TensorRT
下载对应的tar版本:https://developer.nvidia.com/nvidia-tensorrt-6x-download解压安装包version="6.0.1.8"os="Ubuntu-16.04"arch=$(uname -m)cuda="cuda-10.2"cudnn="cudnn7.6"tar xzvf TensorRT-${version}.${os}.${arch}-gnu.${cuda}.${cudnn}.tar.gz解压得到TensorRT-6.0.1.8原创 2020-07-22 14:47:49 · 696 阅读 · 0 评论 -
目标检测模型评价指标IoU、mAP
文章目录一、IOU二、mAP2.1 简介2.2 计算方法三、模型速度一、IOU交并比loU(intersection-over-union)二、mAP2.1 简介mAP(mean average precision)平均准确率均值2.2 计算方法多标签图像分类任务中图片的标签不止一个,因此评价不能用普通单标签图像分类的标准。首先用训练好的模型得到所有测试样本的置信度(confidence score) ,比如某个类别(如检测猫)有20个测试样本:接下来按照置信度的大小重新排序,我们想得原创 2020-06-24 10:40:20 · 762 阅读 · 0 评论 -
生成对抗网络--Generative Adversarial Networks (GAN)
文章目录一、简介二、原理三、网络结构四、实例:自动生成数字0-9五、训练GAN的技巧六、源码打赏一、简介●lan Goodfellow 2014年提出●非监督式学习任务●使用两个深度神经网络: Generator (生成器), Discriminator(判别器)二、原理举一个制造假钞的例子:生成器:制造假钞的人判别器:警察训练过程:制造假钞的人生产假钞警察判断是否是假钞,如果认为是假钞,说明假钞与真钞存在区别制造假钞的人按照警察给出的反馈改进假钞制造工艺重复以上3个步骤,直原创 2020-05-26 11:27:57 · 1506 阅读 · 0 评论 -
语义分割(semantic segmentation)——U-Net
一、定义语义图像分割的目标是标记图像每个像素的类别。因为我们需要预测图像中的每个像素,所以此任务通常被称为密集预测。二、参考资料论文:U-Net: Convolutional Networks for Biomedical Image Segmentation三、网络结构四、Transposed Convolutions/ Deconvolution/up convolutions卷积和池化的输出相对于输入尺寸缩小。池化通过增加视场,帮助我们理解图像中的物体是什么,但是这个操作也丢失了物体的原创 2020-05-26 07:58:16 · 456 阅读 · 0 评论 -
目标检测SSD: Single Shot MultiBox Detector原理详解
文章目录一、前言1.1 什么是目标检测1.2 Single-shot V.S. R-CNN家族1.3 SDD的优点二、SSD的设计理念2.1 采用多尺度特征图用于检测2.2 采用卷积进行检测2.3 设置先验框(anchor)三、SSD的定位原理四、SSD的网络结构五、先验框的选择原则5.1 确定先验框的尺寸5.2 确定先验框的长宽比5.3 确定先验框的位置六、先验框匹配七、损失函数八、数据增强九、非极大值抑制(Non-max suppression)十、预测过程参考资料参考链接:参考文献:多种框架实现打赏原创 2020-05-25 23:04:10 · 1136 阅读 · 0 评论 -
基于内容的图像检索(CBIR) ——以图搜图
文章目录一、实现原理二、 基于内容的图像检索的特征提取三、代码实现打赏在CBIR中,图像通过其视觉内容(例如颜色,纹理,形状)来索引。一、实现原理首先从图像数据库中提取特征并存储它。然后我们计算与查询图像相关的特征。最后,我们检索具有最近特征的图像二、 基于内容的图像检索的特征提取在这篇研究论文中(https://arxiv.org/pdf/1404.1777.pdf),作者证明了为分类目的而训练的卷积神经网络(CNN) 可用于提取图像的“神经代码”。这些神经代码是用于描述图像的特征。研究表明原创 2020-05-25 15:51:29 · 8011 阅读 · 0 评论 -
去噪自动编码器
降噪自动编码器是一种用于图像去噪无监督的反馈神经网络原理如下图所示训练代码如下from keras.layers import Input, Conv2D, MaxPooling2D, UpSampling2D, ZeroPadding2Dfrom keras.models import Modelfrom keras.callbacks import TensorBoardfrom keras.datasets import mnistimport numpy as np(x_trai原创 2020-05-25 15:20:58 · 4671 阅读 · 0 评论 -
深度残差网络(Deep residual network, ResNet)
文章目录一、背景二、残差学习2.1一、背景深度残差网络(Deep residual network, ResNet)的提出是CNN图像史上的一件里程碑事件,让我们先看一下ResNet在ILSVRC和COCO 2015上的战绩:ResNet取得了5项第一,并又一次刷新了CNN模型在ImageNet上的历史,ImageNet分类Top-5误差:那么ResNet为什么会有如此优异的表现呢?其实ResNet是解决了深度CNN模型难训练的问题,从图2中可以看到14年的VGG才19层,而15年的ResNe原创 2020-05-25 15:04:23 · 5580 阅读 · 0 评论 -
图像理解(Image Captioning)(2)文本处理和模型
图像理解一、文本处理1.1 生成图像的描述文件2.2 单词嵌⼊(Word Embedding)2.3 生成输入数据结构二、模型处理2.1 创建用于图片理解的模型2.2 模型评价三、 总结一、文本处理1.1 生成图像的描述文件根据数据集中的Flickr8k.token.txt文件生成含有图片对应的描述的文件def create_descriptions(filename): with open(filename, 'r') as file_read: with open("原创 2020-05-19 13:20:38 · 1634 阅读 · 0 评论 -
图像理解(Image Captioning)(1)CNN部分
Image Captioning一、 应用领域二、 原理三、使用的环境与数据集一、 应用领域图像搜索安全监控鉴黄二、 原理CNN(卷积神经⽹络)图像特征提取迁移学习(transfer learning)LSTM(递归神经⽹络)⽂字串(sequence)的特征提取DNN(深度神经⽹络)从图像特征和⽂字串(sequence)的特征预测下⼀个单词通过链接这两个网络,使用CNN提取图像特征,再使用LSTM提取文本特征,再通过多层的DNN网络即可实现将原创 2020-05-19 12:48:06 · 1566 阅读 · 0 评论 -
如何在Jupyter Notebook中使用Python虚拟环境?
为了让Jupyter Notebook支持虚拟运行环境,需要在Anaconda里安装一个插件。回到终端下面,退出目前正在运行的Jupyter Notebook Server,然后执行:conda install nb_conda再重新开启Jupyter Notebook:jupyter notebook这下我们就能看到差别了——除了最新安装设定的tfpy3外,之前用Anaconda设置过的其他虚拟环境也都可以在此选择使用。太棒了!...原创 2020-05-16 16:46:00 · 667 阅读 · 0 评论 -
梯度下降优化算法
梯度下降优化算法一、简介二、梯度下降方法2.1 批量梯度下降法BGD2.2 随机梯度下降法SGD2.3 小批量梯度下降法MBGD三、传统梯度下降法面临的挑战四、改进的梯度下降算法4.1 Momentum4.2 Nesterov accelerated gradient4.3 Adagrad4.4 RMSprop4.5 Adam4.6 对比与选择五、Tips一、简介二、梯度下降方法一般线性回归函数的假设函数为:以平方差损失函数的形式为例:2.1 批量梯度下降法BGD批量梯度下降法(Batch原创 2020-05-12 11:44:37 · 2872 阅读 · 0 评论 -
神经元系数的初始化
目前比较流行的初始化方式如下:原创 2020-05-10 18:11:11 · 226 阅读 · 0 评论 -
欠拟合(Under fitting)和过拟合 (Overfitting)
过拟合一、定义二、过拟合的解决方案2.1 DropOut2.2 L2 正则化2.3 L1 正则化2.4 最⼤范数约束 (Max Norm)一、定义在训练数据集上的准确率很⾼,但是在测试集上的准确率⽐较低二、过拟合的解决方案2.1 DropOut假设有一个过拟合的神经网络如下:DropOut步骤:根据DropOut rate(这里假设为 1/3),在每组数据训练时,随机选择每一隐藏层的1/3的节点去除,并训练。如下图是三次训练的过程:2. 使用时,把神经网络还原成原来没有去除过节点的样子原创 2020-05-10 18:04:16 · 1225 阅读 · 0 评论 -
梯度消亡(Gradient Vanishing)和梯度爆炸(Gradient Exploding)
梯度消亡一、定义二、梯度消亡(Gradient Vanishing)前提三、产生的原因四、解决方案一、定义神经⽹络靠输⼊端的⽹络层的系数逐渐不再随着训练⽽变化,或者变化⾮常缓慢。随着⽹络层数增加,这个现象越发明显二、梯度消亡(Gradient Vanishing)前提使⽤基于梯度的训练⽅法(例如梯度下降法)使⽤的激活函数具有输出值范围⼤⼤⼩于输⼊值的范围,例如logistic(逻辑斯函数), tanh(双曲正切)三、产生的原因梯度下降法依靠理解系数的微⼩变化对输出的影响来学习⽹络的系数原创 2020-05-10 17:16:32 · 4633 阅读 · 0 评论 -
损失函数
损失函数一、定义二、命名三、损失函数的作用3.1 训练方法3.2 损失函数的选取原则四、常用的损失函数4.1 回归Regression问题4.2 分类Classification问题4.2.1 单label问题4.2.2 多label问题一、定义在深度学习中,损失函数是用来衡量一组参数的质量的函数,衡量的方式是比较网络输出和真实输出的差异。二、命名 损失函数 loss function = 代价函数cost function=目标函数objective function = 误差函数erro原创 2020-05-10 14:49:52 · 532 阅读 · 0 评论 -
一个例子秒懂误差反向传播
假设有两个输入值,一个隐藏节点,一个输出节点,隐藏层和输出层的激活函数都是 sigmoid 。下图描述了这个网络。假设损失函数是平方误差L=1/2(y-y^) 2一、正向传播假设我们试着输入一些二分类数据,目标是 y=1。我们从正向传导开始,首先计算输入到隐藏层h=∑wixi=0.1×0.4−0.2×0.3=−0.02隐藏层的输出 (激活函数f=sigmoid)a=f(h)=sigmoid(−0.02)=0.495.把它作为输出层的输入,神经网络的输出是:y^=f(W原创 2020-05-09 22:18:56 · 894 阅读 · 0 评论 -
使用keras构建简单的网络分类鸢尾花
Tensorflow =1.8.0# -*- coding: utf-8 -*-from warnings import simplefiltersimplefilter(action='ignore', category=FutureWarning)import numpy as npimport pandas as pdfrom keras.models import Sequential # 链式构建模型from keras.layers import Dense # 全连接原创 2020-05-09 21:11:59 · 393 阅读 · 0 评论 -
激励函数
激励函数的选择:激励函数必须是可以微分的, 因为在 误差反向传递的时候, 只有这些可微分的激励函数才能把误差传递回去.在卷积神经网络的卷积层中, 推荐的激励函数是 relu.在循环神经网络中 推荐的是 tanh 或者是 relu。如下图:在tensorflow中使用tf.nn.relu(x)等方式调用相应的激活函数...原创 2018-12-17 20:06:05 · 396 阅读 · 0 评论