10/04/09 02:33:45 Ev23C5+uO
>>381
>>382
>>391
レスありがとうございます。レス遅れました・・・orz
規制が長引きそうなので書き込めるうちに携帯から・・。
こちらでも改めて調べてみて分かったことがあったので報告します。
本家NL-MeansのCPUリファレンス及びNL-Meansの学術記事やTNLMeansには
sqrtが存在せず、類似度の算出に二乗ノルムを用いており
sqrtを使って二乗和平方根を類似度算出に使い始めたのは
どうも本家NL-MeansのGPUモードが最初のようです。(違ってたらごめんなさい)
こちらの結論としては、本家が何を意図してsqrtを追加したかは不明なものの
(もしかしたら何か正当な理由があるのかもしれません)
sqrtが存在するためにガウシアンの係数の意図しないズレが
発生しているものと思われます。
よって類似度算出の式を、
sqrt(
0.07*(dif[0][0]^2)+0.12*(dif[1][0]^2)+0.07*(dif[2][0]^2)+
0.12*(dif[0][1]^2)+0.20*(dif[1][1]^2)+0.12*(dif[2][1]^2)+
0.07*(dif[0][2]^2)+0.12*(dif[1][2]^2)+0.07*(dif[2][2]^2)
)
から
0.07*(dif[0][0]^2)+0.12*(dif[1][0]^2)+0.07*(dif[2][0]^2)+
0.12*(dif[0][1]^2)+0.20*(dif[1][1]^2)+0.12*(dif[2][1]^2)+
0.07*(dif[0][2]^2)+0.12*(dif[1][2]^2)+0.07*(dif[2][2]^2)
のnilpo氏と同様の本来の式に変更したものを試しに116のURLに公開させていただきます。
さすがに前のバージョンまでと係数を合わせるのは不可能なので、
係数はとりあえずは本家のCPUリファレンスに合わせてあります。
(nilpo氏の方に合わせるべきなのか迷いましたが)
こちらが何か間違えていなければ、以上のとおりです。