图像深度

深度学习基础

倖福魔咒の 提交于 2019-12-04 11:49:50
摘要:本文主要介绍了深度学习中的一些基础知识和CNN的相关内容。 1、关于目标函数的选取 目标函数用于衡量训练出来的模型的输出值和给定样本数据实际输出值的误差。目标函数会直接参与到误差的反向传播的计算当中,一个较好的目标函数会对各层的权重的调整起到更好的效果,所以选择好的目标函数尤为重要。下面列举出两种目标函数: 在上面两种比较常见的目标函数的对比中,我们可以清楚的看到, 交叉熵目标函数的图像更加陡峭,因此移动相同的步数,那么目标函数的变化也就更加明显,那么也就更有利于寻找最小值(最优值),最终确定相应的模型权重 。 2、关于全连接层Softmax Softmax是神经网络的最后一层,用于处理经过各个层计算后得到的最后结果。如下图: 在上面的图中,z代表经过各层计算得到的输出值,将z值带入上面的逻辑计算中,最后得到了的输出值有这样的特点: 将原来的输出结果映射到了0-1范围内,并且这些值相加为1 。 那么为什么要进行这样做呢? 经过Softmax处理得到的输出值可以用在以交叉熵作为目标函数的情况中。 利用概率的形式进行处理,更加明确了各个输出值对精度的影响状况,进而更有利于对各层权重进行调整。 3、采用RELU激活函数,而不采用Sigmoid函数的原因 在梯度下降过程中,会对激活函数求导,Sigmoid函数求导之后的峰值为0.25,而且在调整权重的过程中w的绝对值一般都是小于1的

深度学习中的各种卷积

送分小仙女□ 提交于 2019-12-04 10:34:38
原文地址: http://www.sohu.com/a/298275731_468638 如果你听过深度学习中不同的卷积类型,包括: 2D/3D/1*1/Ttransposed/Dilated/Spatially Separable/Depthwise Separable/Flattened/Grouped/Shuffled Grouped Convolution 这些,但是并不清楚它们实际意味着什么,本文就是带大家学习这些卷积到底是如何工作的。 在本文中,我尽量使用简单明了的方式向大家解释深度学习中常用的几种卷积,希望能够帮助你建立学习体系,并为你的研究提供参考。 Convolution VS Cross-correlation 卷积是一项在信号处理、视觉处理或者其他工程/科学领域中应用广泛的技术。在深度学习中,有一种模型架构,叫做Convolution Neural Network。深度学习中的卷积本质上就是信号处理中的Cross-correlation。当然,两者之间也存在细微的差别。 在信号/图像处理中,卷积定义如下: 由上公式可以看出,卷积是通过两个函数f和g生成第三个函数的一种数学算子。对f与经过翻转和平移的g乘积进行积分。过程如下: 信号处理中的卷积。滤波器g首先翻转,然后沿着横坐标移动。计算两者相交的面积,就是卷积值。 另一方面,Cross

SIGAI深度学习第八集 卷积神经网络2

百般思念 提交于 2019-12-04 01:00:44
讲授Lenet、Alexnet、VGGNet、GoogLeNet等经典的卷积神经网络、Inception模块、小尺度卷积核、1x1卷积核、使用反卷积实现卷积层可视化等。 大纲: LeNet网络 AlexNet网络 VGG网络 GoogLeNnet网络 反卷积可视化 数学特性 根据卷积结果重构图像 本集总结 LeNet网络: LeNet-5网络是Y.LeCun1998年提出来的,现在尊称Y.LeCun为卷积神经网络之父,后来他去了Facebook的AI实验室。 这是第一个广为传播的卷积网络,规模很小,但五脏俱全(卷积、池化、全连接层都有),用于手写文字的识别,采用了标准的卷积层,池化层,全连接层结构,此后各种卷积网络的设计都借鉴了它的思想。 这篇文章提出的方法并没有大规模的被使用和广泛地引起关注,当时是SVM、AdaBoost占据优势,从1998年LeNet出现以后到2012年AlexNet出现,之间的十几年里边,卷积神经网络并没有得到很好的发展。 LeNet网络的结构: MINIST数据集,两个卷积层、两个池化层、一些全连接层,输入图像32×32的灰度图像,第一个卷积层的卷积核的尺寸是5×5的六组卷积核,第一层卷积之后,得到6张(6通道)28×28的图像,再经过2×2的池化层变为6张14×14的图像。 第二个卷积层为16组卷积核,卷积核尺寸也是5×5的

吴恩达《深度学习》第四门课(1)卷积神经网络

匿名 (未验证) 提交于 2019-12-03 00:41:02
1.1计算机视觉 (1)计算机视觉的应用包括图像分类、目标检测、图像分割、风格迁移等,下图展示了风格迁移案例: (2)图像的特征量非常之大,比如一个3通道的1000*1000的照片,其特征为3*1000*1000达到300万,如果第一个隐藏层有1000个单元那么W[1]有20亿个参数,计算量不仅大,而且由于图像样本相对于特征实在是太少,导致很容易过拟合,所以需要其他的方式来连接,即卷积。 1.2边缘检测示例 (1)卷积运算是输入图像与过滤器(也叫核)进行的运算,得到输出图像。卷积核与图像对应的位置相乘求和得到一个新值,如下图所示: 输出中第一个绿色框的值为: (2)每个不同的核可以检测到不同的边缘特性,如下面的核就可以检测到图像的垂直特性,即输入图像中的边缘会在输出图像中用白色显示出来,非边缘部分显示为黑色或灰色。同理还有其他水平边缘检测等各种核(过滤器)。 1.3更多边缘检测的内容 (1)除了上面提到的卷积核,还有其他许多卷积核,把上面3*3的卷积核看成9个参数,然后不是通过人工的确定,而是通过神经网络来学习这些参数,这就是卷积神经网络。 1.4Padding (1)边缘不填充会有两个缺点:第一是随着不断卷积,图像会变得越来越小,有时你可不想让它变小;第二是最角落的点只被使用了一次,这意味着在下传的过程中丢掉了图像边缘位置的信息。如下图所示(角落的绿色点只被计算了一次

Kinect学习(四):提取深度数据

匿名 (未验证) 提交于 2019-12-03 00:36:02
前面试着提取了Kinect的彩色数据: Kinect学习(三):获取RGB颜色数据 。这次,要试着提取深度数据。 Depth Map(深度图)是包含与视点的场景对象的表面的距离有关的信息的图像或图像通道。其中,Depth Map 类似于灰度图像,只是它的每个像素值是传感器距离物体的实际距离。通常RGB图像和Depth图像是配准的,因而像素点之间具有一对一的对应关系。 先上代码。 #include <Windows.h> #include <iostream> #include <NuiApi.h> #include <opencv2/opencv.hpp> using namespace std ; using namespace cv; int main( int argc, char *argv[]) { cv::Mat img; // 深度图,使用灰度值来表示深度数据,越远灰度越小则越暗 img.create( 480 , 640 , CV_8UC1); // 1、初始化NUI,使用深度数据 HRESULT hr = NuiInitialize(NUI_INITIALIZE_FLAG_USES_DEPTH); if (FAILED(hr)) { cout << "NuiIntialize failed" << endl; return hr; } // 2、定义事件句柄 //

基于深度学习的图像语义分割技术概述之4常用方法

匿名 (未验证) 提交于 2019-12-03 00:22:01
本文为论文阅读笔记,不当之处,敬请指正。 A Review on Deep Learning Techniques Applied to Semantic Segmentation: 原文链接 4 深度学习图像分割的常用方法 深度学习在多种高级计算机视觉任务中的成功―特别是监督CNNs(Convolutional Neural Networks,卷积神经网络)在图像分类、物体检测方面的成功―鼓舞着研究人员探索此类网络对于像素级标记,如语义分割方面的能力。此类深度学习技术的突出优点,相比传统方法,,能够针对当前问题 自动学习合适的特征表示 。传统方法通常使用手动特征,为了使其适应新的数据集,通常需要专家经验和时间对特征进行调整。 文章综述中所比较的基于深度学习的图像分割算法的特性(详情查看原文)。 当前最成功的图像分割深度学习技术都是基于一个共同的先驱:FCN(Fully Convolutional Network,全卷积神经网络)。CNNs是非常高效的视觉工具,能够学习到层次化的特征。 研究人员将全连接层替换为卷积层来输出一种空间域映射而非类的评分,从而将现存、周知的分类模型,如AlexNet,VGG,GoogleNet和ResNet等,转化为全卷积的模型。 这些映射用分数阶卷积(fractionally strided convolutions,又名反卷积)来产生像素级标签输出。

深度学习个人理解

匿名 (未验证) 提交于 2019-12-03 00:21:02
实现人工智能的方法有很多种,当前最热门的一种就是通过深度学习来训练神经网络。深度学习这个词指的是训练大型神经网络。深代表着非常大的神经网络。那么神经网络到底是什么呢? 如下图: 假设你有一个数据集(包含了六个房屋的面积和价格数据)。你想要找到一个方法(即构建一个函数)来通过面积预测出价格。如果你熟悉线性回归(不熟悉也没关系,你就把它看作是一个数学理论),那么可以根据这个理论在实际数据附近画出一条直线,如上图中红色的线,它附近的蓝色的小圆圈代表着六个房子的面积与房价对应的点,即根据这条线(这个函数)来找某一个面积对应的房价,那么除了些误差外,基本上是准的。 理解:大量的数据通过一个函数进行处理分析,找到相同得规则,然后再根据其他得数据分析出最可能得结果,这就是机器学习得一个大概得流程。 监督学习: 判断是否是监督学习,就看输入数据是否有标签。输入数据有标签,则为有监督学习,没标签则为无监督学习。 分类(classification) 这种机器学习算法就是一种监督学习。对于分类,输入的训练数据有特征(feature),有标签(label)。也就是我们前面文章中的输入x和输出y。每一个x样本都对应着一个y(输出)标签。所谓的学习,其本质就是找到特征和标签间的关系(mapping),也就是找规律。这样当有特征而无标签的未知数据输入时,我们就可以通过已有的关系得到未知数据标签

深度学习之艺术风格迁移

匿名 (未验证) 提交于 2019-12-03 00:19:01
近年来,由深度学习所引领的人工智能技术浪潮,开始越来越广泛地应用到社会各个领域。这其中,人工智能与艺术的交叉碰撞,不仅在相关的技术领域和艺术领域引起了高度关注。以相关技术为基础而开发的各种图像处理软件和滤镜应用更是一推出就立刻吸引了海量用户,风头一时无两。在这各种神奇的背后,最核心的就是基于深度学习的图像风格迁移(style transfer)。本博文就是介绍一个这样酷炫的深度学习应用:风格迁移。 基于神经网络的风格迁移算法 “A Neural Algorithm of Artistic Style” 最早由 Gatys 等人在 2015 年提出,随后发表在 CVPR 2016 上。斯坦福大学的 Justin Johnson(cs231n 课程的主讲人之一)给出了 Torch 实现 neural-style。除此之外,这篇文章的作者另外还建立了一个在线艺术风格迁移的网站,deepart.io。在介绍主要内容之前,先直观看下什么是艺术风格迁移,如图 1 所示,给定内容图像(第一行左边图像)以及风格图像(左下角图像)可以生成特定风格下的混合图像。网络多次运算后,人眼很难判断出该图像是否为梵高或者毕加索的真迹。 图1 生成的几种不同风格图像 艺术风格迁移的核心思想就是,可以从一副图像中提取出“风格 style”(比如梵高的夜空风格)以及“内容 content”

TUM RGB-D数据集

匿名 (未验证) 提交于 2019-12-03 00:09:02
groundtruth.txt 为外部运动捕捉系统采集到的相机位姿 depth目录下为深度图为16为单通道png图像,比例系数为5000 rgb目录下为8位三通道彩色png图像 为了对彩色图和深度图进行时间上的对齐,使用提供的python脚本associate.py,把此文件放到数 据集目录下,运行 python associate . py rgb . txt depth . txt > associate . txt 来源:博客园 作者: summer91 链接:https://www.cnblogs.com/larry-xia/p/11554889.html