augmentedImageDatastore, understanding the flow of how it works

3 次查看(过去 30 天)
Hello,
I have a few question about the augmentedImageDatastore() function. I understand that this can be used to help preprocess images to help my network learn. However, there are still a few things that are not clear to me so I thought that I would ask them here.
1) Does augmentedImageDatastore() apply the augmentations to each batch of images? So during an iteration, by network will load N images which will be my minimatch. It will apply this image agumentation (to those N images only), and then run them throuhg my network. Is this correct, specifically the augmentations happen on each mini batch and not the entire dataset?
2) My traing images are an odd shape. They are tiff images which are 1x1024x2. The output of the augmentImageDatastore appears to be reformating the images so that the are 1x1024. How can I prevent this?
3) If I am running matlab 2020a, what options do I have for using custom image augmentations? Most of the examples that I see are for later versions of matlab. Do you know of any examples that are 2020a compatible?
4) If I have a GPU available, how can I use the GPU to perform these preprocessing with augmentedImageDatastore()?
Thank you very much for your help.
You are the best!

采纳的回答

Joss Knight
Joss Knight 2021-12-12
1) Yes
2) What is that 3rd dimension? Is this an index image? I think augmentedImageDatastore only understands grayscale and RGB images.
3) imageDataAugmenter lets you perform a range of standard transformations. Otherwise you should use a transform. Consult https://uk.mathworks.com/help/deeplearning/ug/preprocess-images-for-deep-learning.html
4) Use a transform and make use of gpuArray.

更多回答(1 个)

James Latshaw
James Latshaw 2021-12-13
Hi Joss,
My image data is actually 2 grayscale images stacked on top of each other which is tracked by the 3rd dimention.
The transform(....) looks like the way to go. I was wrong, I assumed that the transform modifies the entire dataset at once. However, it only changes that batch of training data (which is what I wanted). So for future readers, tansform(...) with a custom function using a gpuArray(...) is the way to go :)
Thank you for your help!

类别

Help CenterFile Exchange 中查找有关 Geometric Transformation and Image Registration 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by