欢迎使用CSDN-markdown编辑器

@@ -1,2 +1,93 @@

Caffe-Data-Augmentation

Image data augmentation util for Caffe

Introduction

Data augmentation is the best trick when you are training a deep network. the project implements several frequently-used methods for image task. Caffe’s prefetching method makes my method costless with time. During training, u can try combinations of multiple diffrent processing , they do boost the performance. the most important things is that it is easy to set up and do any modification by yourself.

Realtime data augmentation utils

Now, the methods in the utils include :
1) Color
2) Contrast
3) Brightness
4) Rotation

how to use

layer {
name: “data”
type: “ImageData”
top: “data”
top: “label”
include {
phase: TRAIN
}
transform_param {
mirror: true
crop_size: 227
mean_file: “imagenet_mean.binaryproto”
color: true
contrast: true
brightness: true
rotation_angle_interval: 10
# check if the methods works, just use 2 switch below#
# show_augment_info: true
# dir_to_save_augmented_imgs : “path”
}
image_data_param {
source: “/home/your/image/list.txt”
batch_size: 32
shuffle: true
new_height: 256
new_width: 256
}
}

how to setup

1 add two files

1) data_augment.hpp –> include/caffe/util/
2) data_augment.cpp –> src/caffe/util/

2 modify include/caffe/data_transformer.hpp
1) #include

+ #include “caffe/util/data_augment.hpp”
2) protected:

+ DataAugmenter aug_;

3 modify src/caffe/data_transformer.cpp

1) template
DataTransformer::DataTransformer(const TransformationParameter& param,Phase phase)
: param_(param), phase_(phase)
+ ,aug_( param) {
2) template
void DataTransformer::Transform(const cv::Mat& cv_img,Blob* transformed_blob) {

+ if ( phase_ == TRAIN) {
+ aug_.Transform(cv_cropped_img);
+ }
CHECK(cv_cropped_img.data);

4 modify src/proto/caffe.proto

1) message TransformationParameter {

+ optional bool color = 9 [default = false];
+ optional bool contrast = 10 [default = false];
+ optional bool brightness = 11 [default = false];
+ optional int32 rotation_angle_interval = 12 [default = 0];

+ optional bool show_augment_info = 14 [default = false];
+ optional string dir_to_save_augmented_imgs = 15 [default = false];

5 compile
cd build
cmake ..
make -j8

Acknowledgment

the implementation of rotation is based on @kevinlin311tw ‘s caffe-augmentation

PS:

1) if u have any problem to use it ,just feel free to ask.
2) if u think it's helpfull ,lighting-up Star for it !
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值