没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
14页
近年来,深度学习在多个领域都得以广泛应用并取得了显著的成绩。2012 年 10 月,Hinton教授及他的学生采用深度卷积神经网络模型在著名的 ImageNet 问题上取得了当时世界上最好的成就,引发了社会各界人士的广泛关注。Facebook 的人脸识别项目 DeepFace 基于深度学习进行搭建,可应用于分辨两幅现实场景的照片,识别出这两幅照片是否包含同一张人脸,据称该判断的准确度已接近人类的平均水平。虽然人类也可以完成这项任务,但是难以大量数据的并发处理,具有局限性。因此,基于深度学习的人脸识别可综合运用计算机的高性能并发计算能力,具备应用于互联网图像大数据处理的潜力。
资源推荐
资源详情
资源评论
计算机视觉与深度学习实战——以 MATLAB、Python 为工具
370
基于深度学习的视觉场景识别
30.1 案例背景
近年来,深度学习在多个领域都得以广泛应用并取得了显著的成绩。2012 年 10 月,Hinton
教授及他的学生采用深度卷积神经网络模型在著名的 ImageNet 问题上取得了当时世界上最好
的成就,引发了社会各界人士的广泛关注。Facebook 的人脸识别项目 DeepFace 基于深度学习
进行搭建,可应用于分辨两幅现实场景的照片,识别出这两幅照片是否包含同一张人脸,据称
该判断的准确度已接近人类的平均水平。虽然人类也可以完成这项任务,但是难以大量数据的
并发处理,具有局限性。因此,基于深度学习的人脸识别可综合运用计算机的高性能并发计算
能力,具备应用于互联网图像大数据处理的潜力。
在早期研究中,机器学习对数据的特征表达具有较高的要求,模型的效果在很大程度上依
赖于对特征的选择。但对特征的选择和调优一般由人工完成,具有一定的主观性。深度学习(Deep
Leaning,DL)的核心思想在于建立模拟人类大脑神经连接的模型,在面对处理图像、语音、文
本等数据时,通过多层变换对数据的特征进行描述。这在一定程度上降低了数据处理的复杂度,
并尽可能地保留了目标的结构信息。特别是,对于处理具有潜在的复杂规则的自然图像分类问
题,通过深度学习可以高效地获取对其本质特征的描述,进而实现较好的分类效果。
本案例选择经典的 Corel 图像库,基于著名的 matconvnet 工具箱进行深度学习实验,包括
工具箱配置、训练集制作、模型设计、训练和识别验证等过程,可应用于视觉场景分类识别。
第 30 章 基于深度学习的视觉场景识别
371
30.2 理论基础
传统的机器学习算法框架(例如 SVMs 及 Logistic Regression)等一般属于浅层学习范畴,
对应较少的层数。深度学习则通过构建多级中间层的方式来增加算法结构的深度,达到多层次
网络模型的架构。如图 30-1 所示,通过学习深层非线性的网络结构,深度学习可以实现对复杂
函数的逼近,进而更好地对数据的本质特征进行描述,达到更高的准确度。
图 30-1 深度学习多层次结构示意图
深度学习常用的方法包括自动编码器(AutoEncoder,AE)、稀疏编码(Sparse Coding,SC)、
限制玻尔兹曼机(Restricted Boltzmann Machine,RBM)、深度置信网络(Deep Belief Networks,
DBN)和卷积神经网络。图 28-1 呈现了 CNN 的基本结构。
30.3 程序实现
自从深度神经网络取得突破性进展以来,应用深度学习到计算机视觉也进入了一个新的发
展阶段。matconvnet 是深度学习领域著名的 MATLAB 工具箱,可快速集成于 MATLAB 应用环
境中,兼容对 GPU 的调用,便于相关研发人员快速实现网络模型的设计和调试,它得到了广泛
应用。此外,matconvnet 可以学习 AlexNet、VGGNet 等大型深度神经网络模型,可以从 matconvnet
官网下载其预训练版本,提高训练和应用的效率。本节将从 matconvnet 的安装与环境配置、数
据集、网络训练与测试等方面进行讲解。
计算机视觉与深度学习实战——以 MATLAB、Python 为工具
372
30.3.1 环境配置
可从 matconvnet 官网下载最新的工具箱,并将其解压到指定的目录进行快速配置安装。本
案例为了进行实验性能比较,要求计算机已配置官方的 CUDA 工具箱,并引入 cudnn 工具包进
行 GPU 加速。在 MATLAB 中可通过 gpuDevice 来查看本机配置的 GPU 环境。核心代码如下:
>> gpuDevice
ans =
CUDADevice - 属性:
Name: 'GeForce GTX 1050 Ti'
Index: 1
ComputeCapability: '6.1'
SupportsDouble: 1
DriverVersion: 10.1000
ToolkitVersion: 10
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 4.2950e+09
AvailableMemory: 3.2818e+09
MultiprocessorCount: 6
ClockRateKHz: 1620000
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 1
>>
通过 gpuDevice 函数可获取当前主机的显卡的 基 本 信 息 及 计 算 性 能 评 估 , 通 过
ComputeCapability 属性可以发现本机的计算性能的版本为 6.1,可应用于深度神经网络模型的计
算。进入 matconvnet 文件夹,假设 cudnn 文件夹已经被放置在其相对路径/local 下,并且已经安
装了 VS2015 编译环境,则可通过如下命令进行配置:
clc; clear all; close all;
cd matlab
% gpu 环境下的编译
vl_compilenn('enableGpu',true, ...
'cudaRoot','C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0',...
剩余13页未读,继续阅读
资源评论
- 忘却那丶忧伤2023-07-07内容与描述一致,超赞的资源,值得借鉴的内容很多,支持!
- a32136421102023-06-02资源有很好的参考价值,总算找到了自己需要的资源啦。
好知识传播者
- 粉丝: 609
- 资源: 4204
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功