Caffe学习笔记(三)——Matlab接口

该文详细介绍了在Windows环境中,如何利用Caffe的MATLAB接口进行图像预处理,包括RGB转BGR、尺寸调整、均值扣除、数据扩展等步骤,并探讨了CNN输入数据的维度要求和简单的应用实例。
摘要由CSDN通过智能技术生成

本文主要介绍:Windows下Caffe框架的Matlab接口,即Matlab如何调用Caffe框架中的函数,进行分类、提取特征以及训练。

1 官网说明


2 相关说明

2.1 图像预处理

classification.m中,在图像输入CNN网络之前,经过了一个预处理过程:
  • RGB图像转成BGR;
  • BGR每个通道进行转置,即 M*N 变成 N*M;
  • 调整图像大小,转化为IMAGE_DIM*IMAGE_DIM*3,IMAGE_DIM默认为256;
  • 减去训练图像均值;
  • 数据扩展,即对图像裁剪和翻折处理,使一张图像扩展成10张图像,裁剪后图像大小为CROPPED_DIM*CROPPED_DIM*3,CROPPED_DIM默认为227,扩展方法为:分别取图像左上、右上、左下、右下、中心,如下图,共得到5张图像,然后每张图像上下翻折,又得到5张,最后共扩展得到10张图像;
  • 10张图像放在一起构成输入数据,维度为:CROPPED_DIM * CROPPED_DIM * 3 * 10

预处理过程图:

扩充图像:


2.2 CNN输入数据维度

       (1)CNN网络输入数据的默认维度为[227 227 3 10],即 classification.m中图像预处理结果,输入数据必须为4维,即 [图像高度 图像宽度  通道数 图像个数](注:[图像高度 = 图像宽度),其中预处理把一张图像扩展为10张,每张图像都会得到一个分类结果,即每张图像属于每类的概率(共1000类),然后把10张图属于每类的概率求和,最后把图像划分为概率最大的那一类。
  
     (2)网络输入数据的维度是可以调整的,通过以下程序设置:
net.blobs('data').reshape([227 227 3 1]); % reshape blob 'data'
net.reshape();
如果四维输入中的图像个数为1,即输入为[图像高度 图像宽度 通道数 1] (注: [图像高度 = 图像宽度 ,此时图像高度可以不为227,但不能相差太大
     (3)可以一次对多张图像进行处理,只需要调整输入的维度即可,网络运行结果 scores = net.forward(input_data) 中的scores维度为:1000*图像个数,即每列对应一张图像,表示该图像属于每类的概率(共1000类);

2.3 简单应用

    比较简单的应用是,可以直接利用以训练好的权值,对图像分类和提取特征:分类得到的不是目标的类别名称,而是一个类别号,具体类别可以查表得到,下面为类别号对应目标名称;提取特征,可以获取各层特征具体函数见官网
tench, Tinca tinca
goldfish, Carassius auratus
great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias
tiger shark, Galeocerdo cuvieri
hammerhead, hammerhead shark
electric ray, crampfish, numbfish, torpedo
stingray
cock
hen
ostrich, Struthio camelus
brambling, Fringilla montifringilla
goldfinch, Carduelis carduelis
house finch, linnet, Carpodacus mexicanus
junco, snowbird
indigo bunting, indigo finch, indigo bird, Passerina cyanea
robin, American robin, Turdus migratorius
bulbul
jay
magpie
chickadee
water ouzel, dipper
kite
bald eagle, American eagle, Haliaeetus leucocephalus
vulture
great grey owl, great gray owl, Strix nebul
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值