DICOM imageとDeep Learning

3 次查看(过去 30 天)
DICOM画像をdeeplearningで学習させているときに、生じる問題があるのでしょうか。
png画像に変換したほうがいいのでしょうか。
以下は自分で作成したdeep learningの分類に関するスクリプトです。
currentdirectory = pwd;
imds = imageDatastore(fullfile(currentdirectory, categories),'IncludeSubfolders',true,'FileExtensions','.dcm','LabelSource', 'foldernames','ReadFcn',@dicomread);
% 検証枚数を増やす
numTrainFiles = 1064;
[imdsTrain,imdsValidation] = splitEachLabel(imds,numTrainFiles,'randomize');
% 分類器の作成
layers = [
imageInputLayer([30 30 1])
convolution2dLayer(3,8,'Padding','same')
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',1)
convolution2dLayer(3,16,'Padding','same')
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',1)
convolution2dLayer(3,32,'Padding','same')
batchNormalizationLayer
reluLayer
dropoutLayer(0.2)
fullyConnectedLayer(9)
softmaxLayer
classificationLayer];
options = trainingOptions('sgdm', ...
'MiniBatchSize',128, ...
'InitialLearnRate',0.001, ...
'MaxEpochs',30, ...
'Shuffle','every-epoch', ...
'ValidationData',imdsValidation, ...
'ValidationFrequency',50, ...
'Verbose',false, ...
'Plots','training-progress');
net17= trainNetwork(imdsTrain,layers,options);
YPred = classify(net17,imdsValidation);
YValidation = imdsValidation.Labels;
accuracy = sum(YPred == YValidation)/numel(YValidation);
誤り等あったら教えていただきたいです。

采纳的回答

Kazuya
Kazuya 2019-7-9
コードを見るだけでは何とも分かりませんが、DICOM であることによる問題は特になさそうです。
こちらも参考になりましたら:

更多回答(1 个)

masakazu sugino
masakazu sugino 2019-7-9
image inputlayerdeでDICOMデータを0中心で画像データを作り変えているイメージを私自身持っているのですが、
再度同じ質問になるかもしれないのですが、負のデータであっても、deep learningはCNN内で学習されているのでしょうか。
  2 个评论
Kazuya
Kazuya 2019-7-10
特に負であること自体が問題になることはないとは考えていますが、何か問題ありそうですか?実行した結果その問題を示唆するような現象が起こっているとか・・?
masakazu sugino
masakazu sugino 2019-7-11
CNNを用いた分類問題に関してはうまくいっているのですが、
すべて負の値を含む画像をCNNの入力画像とすることは本来うまくいかないはずといわれまして、CNNの入力する画像の値やサイズに制限があるのか現在勉強中です。

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!