如何在caffe框架下通过CNNcaffe 提取图像特征的特征

3139人阅读
机器学习(52)
深度学习(22)
Python(39)
本文参考如下:
关于如何批量提取特征,本文的框架如下:
1. 准备数据及相应准备工作
2. 初始化网络
3.读取图像列表
4.提取图像特征,并保存为特定格式
Python方法一
主要有三个函数:
initialize () 初始化网络的相关
readlist() 读取抽取图像列表
extractFeatre() 抽取图像的特征,保存为指定的格式
其中在transformer那里需要根据自己的需求设定
import numpy as np
import matplotlib.pyplot as plt
import caffe
import sys
import pickle
import struct
import sys,cv2
caffe_root = '../'
deployPrototxt =
'/home/bids/caffe/caffe-master/changmiao/model/deploy.prototxt'
modelFile = '/home/bids/caffe/caffe-master/changmiao/model/bvlc_reference_caffenet.caffemodel'
meanFile = 'python/caffe/imagenet/ilsvrc_2012_mean.npy'
imageListFile = '/home/bids/caffe/caffe-master/changmiao/data/temp.txt'
imageBasePath = '/home/bids/caffe/caffe-master/changmiao/data/cat'
postfix = '.classify_allCar1716_fc6'
def initilize():
print 'initilize ... '
sys.path.insert(0, caffe_root + 'python')
caffe.set_mode_gpu()
net = caffe.Net(deployPrototxt, modelFile,caffe.TEST)
return net
def extractFeature(imageList, net):
transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
transformer.set_transpose('data', (2,0,1))
transformer.set_mean('data', np.load(caffe_root + meanFile).mean(1).mean(1))
transformer.set_raw_scale('data', 255)
transformer.set_channel_swap('data', (2,1,0))
net.blobs['data'].reshape(1,3,227,227)
for imagefile in imageList:
imagefile_abs = os.path.join(imageBasePath, imagefile)
print imagefile_abs
net.blobs['data'].data[...] = transformer.preprocess('data', caffe.io.load_image(imagefile_abs))
out = net.forward()
fea_file = imagefile_abs.replace('.jpg',postfix)
print 'Num ',num,' extract feature ',fea_file
open(fea_file,'wb') as f:
for x in xrange(0, net.blobs['fc6'].data.shape[0]):
for y in xrange(0, net.blobs['fc6'].data.shape[1]):
f.write(struct.pack('f', net.blobs['fc6'].data[x,y]))
def readImageList(imageListFile):
imageList = []
with open(imageListFile,'r') as fi:
while(True):
line = fi.readline().strip().split()
if not line:
imageList.append(line[0])
print 'read imageList done image num ', len(imageList)
return imageList
if __name__ == "__main__":
net = initilize()
imageList = readImageList(imageListFile)
extractFeature(imageList, net)
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:193554次
积分:3449
积分:3449
排名:第9060名
原创:129篇
转载:162篇
评论:43条
(16)(12)(18)(12)(6)(6)(9)(15)(3)(7)(26)(7)(8)(12)(33)(25)(24)(3)(1)(1)(1)(6)(1)(2)(1)(37)rcnn-master 区域卷积网络 深度学习在目标检测、图像分割方面的应用代码 基于caffe操作平台 Special Effects 图形 处理 272万源代码下载-
&文件名称: rcnn-master& & [
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 180 KB
&&上传时间:
&&下载次数: 157
&&提 供 者:
&详细说明:区域卷积网络 深度学习在目标检测、图像分割方面的应用代码 基于caffe操作平台-region convolutional net ,the adaptin of dep learning on object detection and segmentation
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&rcnn-master&&...........\.gitignore&&...........\000084.jpg&&...........\LICENSE&&...........\README.md&&...........\bbox_regression&&...........\...............\rcnn_predict_bbox_regressor.m&&...........\...............\rcnn_test_bbox_regressor.m&&...........\...............\rcnn_train_bbox_regressor.m&&...........\...............\vis_debug_bbox_pred.m&&...........\bin&&...........\...\README.md&&...........\cachedir&&...........\........\README.md&&...........\data&&...........\....\README.md&&...........\....\fetch_data.sh&&...........\datasets&&...........\........\VOCdevkit2007&&...........\........\VOCdevkit2010&&...........\........\VOCdevkit2012&&...........\experiments&&...........\...........\configs.m&&...........\...........\rcnn_exp_bbox_reg_train_and_test.m&&...........\...........\rcnn_exp_cache_features.m&&...........\...........\rcnn_exp_train_and_test.m&&...........\...........\rcnn_run_pool5_explorer.m&&...........\external&&...........\........\README.txt&&...........\........\liblinear-1.94&&...........\........\..............\COPYRIGHT&&...........\........\..............\Makefile&&...........\........\..............\Makefile.win&&...........\........\..............\README&&...........\........\..............\blas&&...........\........\..............\....\Makefile&&...........\........\..............\....\blas.h&&...........\........\..............\....\blasp.h&&...........\........\..............\....\daxpy.c&&...........\........\..............\....\ddot.c&&...........\........\..............\....\dnrm2.c&&...........\........\..............\....\dscal.c&&...........\........\..............\heart_scale&&...........\........\..............\linear.cpp&&...........\........\..............\linear.def&&...........\........\..............\linear.h&&...........\........\..............\matlab&&...........\........\..............\......\Makefile&&...........\........\..............\......\README&&...........\........\..............\......\libsvmread.c&&...........\........\..............\......\libsvmwrite.c&&...........\........\..............\......\linear_model_matlab.c&&...........\........\..............\......\linear_model_matlab.h&&...........\........\..............\......\make.m&&...........\........\..............\......\predict.c&&...........\........\..............\......\train.c&&...........\........\..............\predict.c&&...........\........\..............\python&&...........\........\..............\......\Makefile&&...........\........\..............\......\README&&...........\........\..............\......\liblinear.py&&...........\........\..............\......\liblinearutil.py&&...........\........\..............\train.c&&...........\........\..............\tron.cpp&&...........\........\..............\tron.h&&...........\feat_cache&&...........\..........\README.md&&...........\finetuning&&...........\..........\rcnn_make_window_file.m&&...........\..........\voc_2007_prototxt&&...........\..........\.................\pascal_finetune_solver.prototxt&&...........\..........\.................\pascal_finetune_train.prototxt&&...........\..........\.................\pascal_finetune_val.prototxt&&...........\..........\voc_2012_prototxt&&...........\..........\.................\pascal_finetune_solver.prototxt&&...........\..........\.................\pascal_finetune_train.prototxt&&...........\..........\.................\pascal_finetune_val.prototxt&&...........\imdb&&...........\....\cache&&...........\....\.....\README.md&&...........\....\get_voc_opts.m&&...........\....\imdb_eval_voc.m&&...........\....\imdb_from_voc.m&&...........\....\roidb_from_voc.m&&...........\model-defs&&...........\..........\imagenet_deploy.prototxt&&...........\..........\imagenet_rcnn_batch_256_output_pool5.prototxt&&...........\..........\pascal_finetune_deploy.prototxt&&...........\..........\rcnn_batch_256_output_fc6.prototxt&&...........\..........\rcnn_batch_256_output_fc7.prototxt&&...........\..........\rcnn_batch_256_output_pool5.prototxt&&...........\nms&&...........\...\nms.m&&...........\rcnn_build.m&&...........\rcnn_cache_pool5_features.m&&...........\rcnn_config.m&&...........\rcnn_config_local.example.m&&...........\rcnn_create_model.m&&...........\rcnn_demo.m&&...........\rcnn_detect.m
&[]:很好,推荐下载&[]:和说明完全不符&[]:很好,推荐下载
&近期下载过的用户:
&&&&&&&&&&&&&&&&&&&&&[]
&相关搜索:
&输入关键字,在本站272万海量源码库中尽情搜索:
&[] - rcnn,Region Based CNN,即基于区域的卷积神经网络代码,在许多数据集上刷新了识别记录,这是其实现代码,研究深度学习的同学可以下载,比较有帮助。
&[] - 利用神经网络进行图像基本操作变换,去噪,平移,旋转,图像分割等。
&[] - 开源深度学习架构caffe的源代码,请使用visual studio进行编译
&[] - 深度学习理论下的深度波尔兹曼机(DBM),用于图像的自动的特征提取及识别。
&[] - CNN卷积神经网络MATLAB源代码
&[] - caffe在windows下的版本,可直接在windows环境下结合cuda搭建并行的卷积神经网络框架
&[] - 深度学习模型
单层rbm VC++平台 可直接编译执行
&[] - 主要讲述深度学习的一篇很有用很有用的论文,是最初提出来的,很好,很有帮助
&[] - 深度学习的入门级介绍,可以了解基本算法基本知识,很适合初学者
&[] - 这是深度学习的工具箱,对于深度学习的人来说,是比较好的工具你正在使用的浏览器版本过低,将不能正常浏览和使用知乎。

我要回帖

更多关于 caffe框架图 的文章

 

随机推荐