资源简介
需要再matlab2017a即以上版本上运行 资源来自网络 本为matlab计算机视觉与深度学习实战28章示例代码

代码片段和文件信息
clc; clear all; close all;
tic;
%% 加载数据
% vehicleDataset是一个dataset数据类型,第一列是图片的相对路径,第二列是图片中小汽车的位置
data = load(‘fasterRCNNVehicleTrainingData.mat‘);
% 提取训练集
vehicleDataset = data.vehicleTrainingData;
% 提取图片路径
dataDir = fullfile(toolboxdir(‘vision‘)‘visiondata‘);
vehicleDataset.imageFilename = fullfile(dataDir vehicleDataset.imageFilename);
% 展示前9幅图片
k = 9;
I=zeros(1282283k);
for i = 1 : k
% 读取图片
tmp = imread(vehicleDataset.imageFilename{i});
% 添加标识框
tmp = insertShape(tmp ‘Rectangle‘ vehicleDataset.vehicle{i});
I(:::i) = mat2gray(tmp);
end
% 显示
Is = I;
hfig = figure; montage(Is);
set(hfig ‘Units‘ ‘Normalized‘ ‘Position‘ [0 0 1 1]);
pause(1);
%% 构建CNN网络
% 输入层,最小检测对象约32*32
inputlayer = imageInputlayer([32 32 3]);
% 中间层
% 定义卷基层参数
filterSize = [3 3];
numFilters = 32;
middlelayers = [
% 第一轮,只包含CNN和ReLU
convolution2dlayer(filterSize numFilters ‘Padding‘ 1)
relulayer()
% 第二轮,包含CNN、ReLU和Pooling
convolution2dlayer(filterSize numFilters ‘Padding‘ 1)
relulayer()
maxPooling2dlayer(3 ‘Stride‘2)
];
% 输出层
finallayers = [
% 新增一个包含64个输出的全连接层
fullyConnectedlayer(64)
% 新增一个非线性ReLU层
relulayer()
% 新增一个2个输出的全连接层,用于判断图片是否包含检测对象
fullyConnectedlayer(2)
% 最添加softmax和classification层
softmaxlayer()
classificationlayer()
];
% 组合所有层
layers = [
inputlayer
middlelayers
finallayers
];
%% 训练CNN网络
% 将数据划分两部分
% 前60%的数据用于训练,后面40%用于测试
ind = round(size(vehicleDataset1) * 0.6);
trainData = vehicleDataset(1 : ind :);
testData = vehicleDataset(ind+1 : end :);
% 训练过程包括4个步骤,每步可以使用单独的参数,也可以使用同一个参数
options = [
% 第1步,Training a Region Proposal Network (RPN)
trainingOptions(‘sgdm‘ ‘MaxEpochs‘ 10‘InitialLearnRate‘ 1e-5‘CheckpointPath‘ tempdir)
% 第2步,Training a Fast R-CNN Network using the RPN from step 1
trainingOptions(‘sgdm‘ ‘MaxEpochs‘ 10‘InitialLearnRate‘ 1e-5‘CheckpointPath‘ tempdir)
% 第3步,Re-training RPN using weight sharing with Fast R-CNN
trainingOptions(‘sgdm‘ ‘MaxEpochs‘ 10‘InitialLearnRate‘ 1e-6‘CheckpointPath‘ tempdir)
% 第4步,Re-training Fast R-CNN using updated RPN
trainingOptions(‘sgdm‘ ‘MaxEpochs‘ 10‘InitialLearnRate‘ 1e-6‘CheckpointPath‘ tempdir)
];
% 设置模型的本地存储
doTrainingAndEval = 1;
if doTrainingAndEval
% 训练 R-CNN 神经网络,其实神经网络工具箱提供了3个函数
% (1)trainRCNNobjectDetector,训练快检测慢,允许指定proposalFcn
% (2)trainFastRCNNobjectDetector,速度较快,允许指定proposalFcn
% (3)trainFasterRCNNobjectDetector,优化运行性能,不需要指定proposalFcn
detector = trainFasterRCNNobjectDetector(trainData layers options ...
‘NegativeOverlapRange‘ [0 0.3] ...
‘PositiveOverlapRange‘ [0.6 1] ...
‘BoxPyramidScale‘ 1.2);
else
% 加载已经训练好的神经网络
detector = data.detector;
end
% 快速测试训练结果
I = imread(‘highway.png‘);
% 运行检测器,输出目标位置和得分
[bboxes scores] = detect(detector I);
% 在图像上标记处识别的小汽车
I = insertObje
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4306 2017-07-25 21:55 rcnn_car_ob
文件 35 2017-05-11 12:53 说明.txt
----------- --------- ---------- ----- ----
4341 2
- 上一篇:采矿cad线型
- 下一篇:详解MATLAB-Simuli
nk通信系统建模与仿真源代码
相关资源
- vgg16工具包.7z
- Noisex-92完整版.zip
- 深度学习和matlab源代码
- MATLAB 深度学习简介(ppt)
- 基于MATLAB 6.X的系统分析与设计 神经网
- MATLAB底层代码实现深度学习LeNet网络
- matlab2017b实现深度学习训练自己图像集
- matlab深度学习资源
- 精通MATLAB神经网络.zip
- matlab深度学习工具箱254438
- 深度学习的实验数据文件mnist_uint8
- mnist_all.mat
- Matlab Deep learning 2017年新书
- 深度学习工具包matlab代码
- Web安全之深度学习实战 (智能系统与
- 基于matlab的dbn在mnist 手写数字上的实
- matlab深度学习算法合集
- 一个基于matlab的深度学习工具箱
- 2017Matlab_DeepLearning配套代码
- Matlab-Deep Learning Toolbox
- Deep Learning 经典文章代码matlab
- Matlab深度学习工具箱160725
- 利用dbn+nn实现手写数字识别
- 最先提出深度学习算法hinton的自动编
- 深度置信网络DBN算法实现 matlab
- 深度学习的matlab的工具包(DeepLearnT
- 手把手教程:零基础使用MATLAB完成基
- Deep Learning 经典文章与代码matlab
- Matlab 深度学习工具箱
- matlab 深度学习工具箱
评论
共有 条评论