Image Normalization before Fine-Tuning a pretrained CNN for image classification

조회 수: 10 (최근 30일)
Hello,
Is it possible to directly add an image normalization step, to this training code below, to normalize all the dataset images before training the CNN pretrained model ? I need to train my model with pixel values ranging between 0 and 1 instead of 0 and 255.
imds = imageDatastore(dataset, 'IncludeSubfolders',true,'LabelSource','foldernames')
tbl = countEachLabel(imds);
numClasses = height(tbl);
[trainingSet, testSet] = splitEachLabel(imds, 0.7,'randomize');
I tried to modify the image input layer (Normalization 'rescale-zero-one') of the model but it did not work because this option does not exist effectively ( previous question asked related: https://fr.mathworks.com/matlabcentral/answers/1441834-imageinputlayer-normalization-data-normalization-options?s_tid=srchtitle )
Is there any way to normalize directly images in augmentedImageDatastore ?
augmentedTrainingSet = augmentedImageDatastore(imageSize, ...
trainingSet, 'ColorPreprocessing', 'gray2rgb');
augmentedTestSet = augmentedImageDatastore(imageSize, ...
testSet, 'ColorPreprocessing', 'gray2rgb');
Thank you in advance !! Appreciate any kind of help !

채택된 답변

yanqi liu
yanqi liu 2021년 9월 26일
sir, may be you shoud use function handle to define your read image style, pleaes read the follow code
clc; clear all; close all;
dataset = fullfile(matlabroot,'toolbox','matlab');
imds = imageDatastore(dataset,'IncludeSubfolders',true,...
'FileExtensions','.tif',...
'LabelSource','foldernames',....
'ReadFcn',@data_preporcess);
tbl = countEachLabel(imds);
numClasses = height(tbl);
[trainingSet, testSet] = splitEachLabel(imds, 0.7,'randomize');
function data = data_preporcess(file)
data = imread(file);
% ranging between 0 and 1 instead of 0 and 255
data = mat2gray(data);
end

추가 답변 (1개)

Image Analyst
Image Analyst 2021년 9월 25일
Sure. Use mat2gray() or rescale() or im2double().

카테고리

Help CenterFile Exchange에서 Recognition, Object Detection, and Semantic Segmentation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by