0

自動画像セグメンテーションの結果を評価したいと考えています。Matlab で書かれた関数で Dice 係数を使用します。以下はコードのリンクです。 数学リンク

セグメント化されたパッチと手動でトリミングされたパッチを比較しています。興味深いことに、DICE は 1 より大きくなります。パッチの絶対値をとる(負のピクセルを取り除く)など、コードを何度もディスパッチしましたが、理由が見つかりませんでした。個々のセットの合計は (たとえば 3 と 5) であり、それらの結合は (たとえば 45) であるのに、どうしてでしょうか? ユニオンの最大数は 8 です。

サイコロ係数を実装するためのより正確な情報源を教えてもらえますか?

function[Dice]=evaldem(man,auto)
for i=1:size(auto,1)
for j=1:size(auto,2)
auto(i,j).autosegmentedpatch=imresize(auto(i,j).autosegmentedpatch,[224 224]);)
 man(i,j).mansegmentedpatch=imresize(man(i,j).mansegmentedpatch,[224 224]);
Dice(i,j)=sevaluate(man(i,j).mansegmentedpatch,auto(i,j).autosegmentedpatch)
end

自動的にセグメント化されたパッチと手動でセグメント化されたパッチがたくさんあるので、それらを構造体 [man と auto] に保存しました。構造体のサイズは [i,j] です。間違いなく、それらを同じサイズにするためにサイズを変更する必要があります! 次に、FEX 送信ファイルを呼び出します。これらのパッチの負のピクセルに関しては、いくつかあります。Dice の 'common' と 'union' を計算しているときに、これらのパッチの絶対値を取ることに注意してください。全体として、まだ 1 より大きい Dice 値が得られます。

4

0 に答える 0