caffe学习笔记--TransformationParameter

本文详细介绍了图片转换过程中涉及的各项参数,包括缩放系数、左右翻转、随机裁剪等,并解释了这些参数如何应用于图像预处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能描述

对输入的图片进行转换处理

proto文件中描述

message TransformationParameter {
  optional float scale = 1 [default = 1];
  optional bool mirror = 2 [default = false];
  optional uint32 crop_size = 3 [default = 0];
  optional string mean_file = 4;
  repeated float mean_value = 5;
  optional bool force_color = 6 [default = false];
  optional bool force_gray = 7 [default = false];
}

描述:
scale:对输入图片的像素值做缩放的系数。例如输入图像的某一像素(RGB)值为(255,255,255),如果scale值为1/255,则缩放后变为(1,1,1)。
mirror:以图像中线为轴,进行左右反转。
crop_size:对输入图片进行随机切割。如果输入图片的大小比crop_size大,则从图片中随机剪裁crop_size大小的图片作为网络输入。
mean_file:保存要训练的图片集的均值的文件。如果是RGB就是训练集图片全部像素的R、G、B相加除训练集全部图片的像素数,结果为(Rm,Gm,Bm)。图片scale前先减该均值。
mean_vale:要训练的图片集均值。如果只配置一次,则该值被所有通道使用(各通道都减该值);如果针对每个通道要配置不同的均值,需要重复配置n次(n表示通道数)。mean_value和mean_file不能同时设定。
force_color:输入图片是否为3通道的彩色图片。
force_gray:输入图片是否为1通道的灰度图(force_gray和force_color不能同时设定为true)。
注:如果输入mean_value/mean_file,在进行scale前图片先进行减mean操作,然后进行scale。

源文件解析

src/caffe/data_transformer.cpp
include/caffe/data_transformer.hpp

代码解析

class属性描述:
  TransformationParameter param_; //transform描述信息
  shared_ptr<Caffe::RNG> rng_; //crop使用的随数生成器
  Phase phase_; //训练or预测信息描述
  Blob<Dtype> data_mean_; //存储mean_file中读取的数据
  vector<Dtype> mean_values_; //存储meal_value值

class方法描述:
  Transform(...) //根据param_描述的transform信息对图像进行变换
  InferBlobShap(...)//根据输入的数据,推断图像转换后产生的blob形状
  InitRand(...) //初始化随机数生成器

转载于:https://my.oschina.net/u/1459307/blog/1616944

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值