「深層学習を使用した脳腫瘍の 3 次元セグメンテーション」の例を使用するとエラーが出る
Mostra commenti meno recenti
上のリンクにある、「深層学習を使用した脳腫瘍の3次元セグメンテーション」の例を使用したいのですが、以下の部分で「位置3のインデックスが配列範囲を超えています。インデックスは1を超えてはなりません」というエラーが出ます。
predictedLabelsの部分に問題があると考えていますが、対処法が分からないので、教えていただければ幸いです。
よろしくお願いいたします。
zID = size(volTest,3)/2;
zSliceGT = labeloverlay(volTest(:,:,zID),volTestLabels(:,:,zID));
zSlicePred = labeloverlay(volTest(:,:,zID),predictedLabels(:,:,zID));
3 Commenti
Atsushi Ueno
il 30 Set 2023
Modificato: Atsushi Ueno
il 30 Set 2023
その前に、brainTumor3DUNetValid.mat の読み込み時に警告が出て、空のオブジェクト”net”が現れます🤔???
肝心の「事前学習済みの 3 次元 U-Net」を読み込めないので、問題の再現まで辿り着けません。私だけでしょうか?
load("brainTumor3DUNetValid.mat");
警告: クラス nnet.cnn.layer.DicePixelClassificationLayer のインスタンスを異種混合配列に読み込めません。
nnet.cnn.layer.DicePixelClassificationLayer の定義が見つからないか、エラーが含まれています。既定のオブジェクトが代用されます。
警告: クラス 'DAGNetwork' のオブジェクトの読み込み中:
配列インデックスは正の整数または logical 値でなければなりません。
円佳 岡田
il 30 Set 2023
Atsushi Ueno
il 30 Set 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関数の実行が終わりませんでした。十分なリソース(処理能力や処理時間)が与えられていないからではないかと思います。
Risposte (0)
Categorie
Scopri di più su セマンティック セグメンテーション in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!