cnn for feature extraction

조회 수: 25 (최근 30일)
Athulya N
Athulya N 2019년 12월 13일
답변: Shahram Taheri 2022년 7월 19일
i am doing project on image classification.i have converted image in R,G and B channels.now i need to extract features from each channel using cnn.how can i use cnn for feature extraction in image.

답변 (3개)

Sourav Bairagya
Sourav Bairagya 2019년 12월 16일
As you have your RGB images ready, then you can define your custom convolutional neural network using 'dlNetwork' object and train it to extract features out of it.
For training you can leverage this link:
For extracting feature from the trained network, use 'predict' function. To know more about this leverage this link:

esther MUKOYA
esther MUKOYA 2021년 1월 25일
Kindly could you share on the method used to convert the images to RGB?

Shahram Taheri
Shahram Taheri 2022년 7월 19일
Hi,
imds = imageDatastore('Your Dataset PATH', ...
'IncludeSubfolders',true,'LabelSource','foldernames');
imds = shuffle(imds);
[imdsTrain,imdsValidation] = splitEachLabel(imds,0.7);
net = resnet18;
%net=densenet201;
inputSize = net.Layers(1).InputSize;
%analyzeNetwork(net)
augimdsTrain = augmentedImageDatastore(inputSize(1:2),imdsTrain,'ColorPreprocessing','gray2rgb');
augimdsTest = augmentedImageDatastore(inputSize(1:2),imdsValidation,'ColorPreprocessing','gray2rgb');
layer = 'pool5';
featuresTrain = activations(net,augimdsTrain,layer,'OutputAs','rows');
featuresTest = activations(net,augimdsTest,layer,'OutputAs','rows');
YTrain = imdsTrain.Labels;
YTest = imdsValidation.Labels;
classifier = fitcecoc(featuresTrain,YTrain);
YPred = predict(classifier,featuresTest);

Community Treasure Hunt

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

Start Hunting!

Translated by