How does real time data augmentation work in convolutional neural network

634 views
Skip to first unread message

Lukas Karmanovas

unread,
Apr 25, 2017, 2:15:35 PM4/25/17
to Caffe Users
Hi I am new to neural network and have a simple question. I know what is the concept of data augmentation, to increase network accuracy while having a small data set by creating new pictures. I am working now with Caffe framework and i created a simple 90 degree picture rotation python layer. I wanted to ask if I understand it correctly. By doing real time data augmentation I have the same amount of pictures in every epoch the only thing that is different from normal training is that in every epoch there is a chance for the network to get a "new" picture (rotated by 90 degree). Am I correct? If doing something like in this example http://www.andrewjanowczyk.com/real-time-data-augmentation-using-nvidia-digits-python-layer/

Arghavan Arafati

unread,
May 15, 2017, 7:49:58 PM5/15/17
to Caffe Users
Hi,

I am trying to apply real time data augmentation. Do you know how I should write my python data layer to implement real time data augmentation?

Thank you in advance!

Best,

Ara

Lukas Karmanovas

unread,
May 16, 2017, 4:03:27 AM5/16/17
to Caffe Users
Hi I found this branch of caffe that does real time augmentation https://github.com/twtygqyy/caffe-augmentation 
Message has been deleted

Lukas Karmanovas

unread,
May 16, 2017, 4:09:07 AM5/16/17
to Caffe Users
And also in my question I provided a link with doing real time augmentation using python for making 90 degree rotation.

Andrew Janowczyk

unread,
May 22, 2017, 5:44:26 PM5/22/17
to Caffe Users
Yes, same "real" number of images (unique signal), but through augmentation you can improve generalization while at the same time reducing the need for a larger dataset. 

this work especially well if you know something about the types of noise/augmentations that will naturally be in your problem domain and can simulate them artificially to encourage the network to learn to disregard them.

of course this can be pushed only so far. if consider the case where you have 1,000 unique images with no augmentation, versus a single image with 1,000 types of augmentation, you can imagine that in the first case the system will generalize far better than the second case. 

cheers,
andrew
Reply all
Reply to author
Forward
0 new messages