DICOM imageとDeep Learning

2 views (last 30 days)
masakazu sugino
masakazu sugino on 9 Jul 2019
Commented: masakazu sugino on 11 Jul 2019
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);
誤り等あったら教えていただきたいです。

Accepted Answer

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

More Answers (1)

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

Sign in to comment.

Categories

Find more on イメージを使用した深層学習 in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!