「深層学習を使用した脳腫瘍の 3 次元セグメンテーション」の例を使用するとエラーが出る
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
上のリンクにある、「深層学習を使用した脳腫瘍の3次元セグメンテーション」の例を使用したいのですが、以下の部分で「位置3のインデックスが配列範囲を超えています。インデックスは1を超えてはなりません」というエラーが出ます。
predictedLabelsの部分に問題があると考えていますが、対処法が分からないので、教えていただければ幸いです。
よろしくお願いいたします。
zID = size(volTest,3)/2;
zSliceGT = labeloverlay(volTest(:,:,zID),volTestLabels(:,:,zID));
zSlicePred = labeloverlay(volTest(:,:,zID),predictedLabels(:,:,zID));
3 Kommentare
Atsushi Ueno
am 30 Sep. 2023
zID = size(volTest,3)/2; % 152/2=76 のはず
zSliceGT = labeloverlay(volTest(:,:,zID),volTestLabels(:,:,zID));
zSlicePred = labeloverlay(volTest(:,:,zID),predictedLabels(:,:,zID));
ここで「位置3のインデックスが配列範囲を超えています。インデックスは1を超えてはなりません」というエラーが出るとすれば、predictedLabelsへのアクセスが原因 ⇒ apply関数に何か原因があると断定できます。また apply 関数を含めた bigimage オブジェクトの使用が非推奨(削除予定)になっている点が気になります。実行出来ないので、ここで何が起きているのかは良く分かりません。
results = apply(bim, ...
predictedLabels = results.Source;
size(predictedLabels) % サイズが240x240x152ではなく、3次元目の数が76未満のはず
(余談) 「事前学習済みの 3 次元 U-Net」を読み込めなかった原因は、MATLAB Online (basic) に Computer Vision Toolbox が無く、dicePixelClassificationLayer が無い事が原因の様です。MATLABドキュメント上でToolboxほぼ全部入りのMATLAB Onlineを使う事で途中まで動かせましたが、今度はblockedImage関数の実行が終わりませんでした。十分なリソース(処理能力や処理時間)が与えられていないからではないかと思います。
Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!