matlab 批量提取CNN特征
无类别,图像混合放置:
clear
close all addpath ./matlab model= './models/bvlc_reference_caffenet/deploy.prototxt';
weights= './models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel';
mean = load('./matlab/+caffe/imagenet/ilsvrc_2012_mean.mat');
net = caffe.Net(model, weights, 'test'); % create net and load weights
mean_data = mean.mean_data; net.blobs('data').reshape([ ]);
net.reshape(); rt_img_dir='/ImageNet/ILSVRC2012_img_val/';
rt_data_dir='ImageNet/Fea/ILSVRC2012_img_val/'; %disp('Extracting CNN features...'); frames = dir(fullfile(rt_img_dir, '*')); frames()=[]; frames()=[];
c_num = length(frames);
gray_num=;error_num_CMYK_JPEG=;
% database.path=[]; for jj = :c_num,
imgpath = fullfile(rt_img_dir, frames(jj).name);
try
%% prepare the image
im_data = caffe.io.load_image(imgpath);
%% subtract mean_data (already in W x H x C, BGR)
width = ; height = ;
im_data = imresize(im_data, [width, height]); % resize using Matlab's imresize
feaSet.iscolor=;
if size(im_data,)==
imdata=zeros([size(im_data),]);
imdata(:,:,)=im_data;
imdata(:,:,)=im_data;
imdata(:,:,)=im_data;
im_data=imdata;
feaSet.iscolor=;
gray_num=gray_num+;
end
im_data = im_data - (mean_data); width = ; height = ;
im_data = imresize(im_data, [width, height]); % resize using Matlab's imresize res = net.forward({im_data});
fc6_data = net.blobs('fc6').get_data();
fc7_data = net.blobs('fc7').get_data(); feaSet.fc6_data = fc6_data;
feaSet.fc7_data = fc7_data; [pdir, fname] = fileparts(frames(jj).name);
fpath = fullfile(rt_data_dir, [fname, '.mat']); save(fpath, 'feaSet');
%database.path = [database.path; fpath];
catch
str= fullfile(frames(jj).name);
disp(str);
error_num_CMYK_JPEG=error_num_CMYK_JPEG+;
error_CMYK_JPEG{error_num_CMYK_JPEG}=str;
end
end;
有类别,不同类图像按不同文件夹放置
clear
close all addpath ./matlab model= './models/bvlc_reference_caffenet/deploy.prototxt';
weights= './models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel';
mean = load('./matlab/+caffe/imagenet/ilsvrc_2012_mean.mat');
net = caffe.Net(model, weights, 'test'); % create net and load weights
mean_data = mean.mean_data;
%% obtain params in diff layers and show
%pdata = net.params('conv1',).get_data();
%vis_square(pdata,,0.5); net.blobs('data').reshape([ ]);
net.reshape(); rt_img_dir='mageNet/ILSVRC2012_img_train/';
rt_data_dir='ImageNet/Fea/ILSVRC2012_img_train/'; disp('Extracting CNN features...');
subfolders = dir(rt_img_dir); siftLens = []; database = []; database.imnum = ; % total image number of the database
database.cname = {}; % name of each class
database.label = []; % label of each class
database.path = {}; % contain the pathes for each image of each class
database.nclass = ;
error_num_CMYK_JPEG=;
for ii = :length(subfolders),
subname = subfolders(ii).name; if ~strcmp(subname, '.') & ~strcmp(subname, '..'),
database.nclass = database.nclass + ; database.cname{database.nclass} = subname; frames = dir(fullfile(rt_img_dir, subname, '*'));
frames()=[];frames()=[];
c_num = length(frames);
database.imnum = database.imnum + c_num;
database.label = [database.label; ones(c_num, )*database.nclass]; siftpath = fullfile(rt_data_dir, subname);
if ~isdir(siftpath),
mkdir(siftpath);
end; for jj = :c_num,
imgpath = fullfile(rt_img_dir, subname, frames(jj).name);
try
im_data = caffe.io.load_image(imgpath);
%% subtract mean_data (already in W x H x C, BGR)
width = ; height = ;
im_data = imresize(im_data, [width, height]); % resize using Matlab's imresize
feaSet.iscolor=;
if size(im_data,)==
imdata=zeros([size(im_data),]);
imdata(:,:,)=im_data;
imdata(:,:,)=im_data;
imdata(:,:,)=im_data;
im_data=imdata;
feaSet.iscolor=;
gray_num=gray_num+;
end
feaSet.label= database.nclass; im_data = im_data - (mean_data); width = ; height = ;
im_data = imresize(im_data, [width, height]); % resize using Matlab's imresize res = net.forward({im_data});
fc6_data = net.blobs('fc6').get_data();
fc7_data = net.blobs('fc7').get_data(); feaSet.fc6_data = fc6_data;
feaSet.fc7_data = fc7_data; [pdir, fname] = fileparts(frames(jj).name);
fpath = fullfile(rt_data_dir, subname, [fname, '.mat']); save(fpath, 'feaSet');
catch
str= fullfile(subname,frames(jj).name);
disp(str);
error_num_CMYK_JPEG=error_num_CMYK_JPEG+;
error_CMYK_JPEG{error_num_CMYK_JPEG}=str;
end end;
end;
end;
matlab 批量提取CNN特征的更多相关文章
- 原来CNN是这样提取图像特征的。。。
对于即将到来的人工智能时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的领域,会不会感觉马上就out了?作为机器学习的一个分支,深度学习同样需要计算机获得强大的学 ...
- CNN基础二:使用预训练网络提取图像特征
上一节中,我们采用了一个自定义的网络结构,从头开始训练猫狗大战分类器,最终在使用图像增强的方式下得到了82%的验证准确率.但是,想要将深度学习应用于小型图像数据集,通常不会贸然采用复杂网络并且从头开始 ...
- Python 超简单 提取音乐高潮(附批量提取)
很多时候我们想提取某首歌的副歌部分(俗称 高潮部分),只能手动直接卡点剪切,但是对于大批量的获取就很头疼,如何解决? 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后 ...
- 寻找与疾病相关的SNP位点——R语言从SNPedia批量提取搜索数据
是单核苷酸多态性,人的基因是相似的,有些位点上存在差异,这种某个位点的核苷酸差异就做单核苷酸多态性,它影响着生物的性状,影响着对某些疾病的易感性.SNPedia是一个SNP调査百科,它引用各种已经发布 ...
- python实现gabor滤波器提取纹理特征 提取指静脉纹理特征 指静脉切割代码
参考博客:https://blog.csdn.net/xue_wenyuan/article/details/51533953 https://blog.csdn.net/jinshengtao/ar ...
- matlab批量读取一个文件夹里类似命名的mat文件
参考网址: Matlab读取同一路径下多个txt或mat文件总结 matlab 批量读取数据文件.mat .dat 整理:matlab批量读入数据文件的方法 首先命名方式体现在只是名字里数字有变化,其 ...
- PDF文本内容批量提取到Excel
QQ:231469242,版权所有 sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269 ...
- 使用matlab批量处理图像后在指定文件夹存储
使用matlab批量处理图像后在指定文件夹存储 clear;clc;close all; Files=dir('D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak\*.jp ...
- VGG16提取图像特征 (torch7)
VGG16提取图像特征 (torch7) VGG16 loadcaffe torch7 下载pretrained model,保存到当前目录下 th> caffemodel_url = 'htt ...
随机推荐
- dom事件与event对象总结
1 事件:就是文档或浏览器窗口中发生的一些特定的交互瞬间. tips:js和xhtml的交互是通过当用户或浏览器操作网页时发生的事件来处理的. 1.1 事件流:即事件的顺序. 事件 ...
- hdoj 1385Minimum Transport Cost
卧槽....最近刷的cf上有最短路,本来想拿这题复习一下.... 题意就是在输出最短路的情况下,经过每个节点会增加税收,另外要字典序输出,注意a到b和b到a的权值不同 然后就是处理字典序的问题,当松弛 ...
- C#数据库导出(入)TXT
导出: public void ExportTxt() { var file = System.IO.File.Open(path, System.IO.FileMode.Open); using ( ...
- Windows下QT Creator工程中添加文件夹
在QT项目,常常会有很多头文件和源文件,但是QT Creator中却没有添加文件夹的功能,造成项目代码混乱. 下面是建立文件的步骤: 1.打开工程目录,在目录下建立文件夹,如建立文件SerialP ...
- php 循环删除目录中的过期文件
$savepath1 = 'Public/biaoqian/upload'; $path1 = dir($savepath1); while (($ ...
- 【转帖】Python在大数据分析及机器学习中的兵器谱
Flask:Python系的轻量级Web框架. 1. 网页爬虫工具集 Scrapy 推荐大牛pluskid早年的一篇文章:<Scrapy 轻松定制网络爬虫> Beautiful Soup ...
- c# unity PlayerPrefs 游戏存档,直白点就是讲游戏数据本地保存下来
在游戏会话中储存和访问游戏存档.这个是持久化数据储存,比如保存游戏记录. 我的理解是通过某个特殊的标签来保存在本地,而且该标签为key的意思,初始值不用赋值. 在游戏开发中较为实用. 暂时用到了 Se ...
- javafx之两种局部界面的呈现方式
要求: 点击左边不同的按钮,右边红色方框内出现不同的内容 =========================== 第一种实现方法----插入fxml方法: 实现代码================== ...
- [网络技术][转]路由表查找过程(ip_route_input_slow)
若干解释: 判断in_dev是否存在,是通过mac地址吗? 源IP地址如果是multicast,broadcast,loopback地址,意味着数据报不知道从哪来的,只能把数据报废掉了. 目标IP地 ...
- web开发中常用的技术体系
HTML html(HyperText Markup Language)超文本标记语言"超文本"就是指页面内可以包含图片.链接.程序等非文字元素. 超文本标记语言的结构包括&q ...