- ベストアンサー
集合(画像)の平均化に関する数学的方法
素人的な質問かもしれませんがよろしくお願いします ある集合Aの平均値A’(私が検討しているのは平均画像)に別の集合Bの平均値B’があるとき A’の要素とB’の要素をお互い持てるような平均値C’を求める場合 A’にB’をいくつ加えて平均(平滑化)を求めればればよいか 数学的根拠となる数式などないでしょうか 私が今考えているのは 2つの画像のお互いの特徴をもった画像を作る場合 ひとつずつ足して平均化し、視覚的に確認すればよいのですが 客観的評価に乏しいため 数学的な根拠を探しています どなたかよい方法があればご教授ください よろしくお願いします
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
ほぼ完璧に理解できた、と思います。 では、A’、B’、C’、D’の関係について検討してみたいと思います。 と、その前に・・・ 例えば、100×100画素の画像は合計10000個の画素をもっていて、それぞれの画素にデータを持っています。実は、この画像は10000次元空間の1点の座標を表していると考える事ができます。2次元空間の1点が(x,y)と2つの要素で座標を表すことができるのと同様に、10000次元の点だから10000個の要素を持っている。このように画像を高次元空間の1点の座標を表していると考えると、画像が近いとか遠い、ということを数学的に、かつ、直感的に捕らえる事ができるようになります。とは言え、10000次元なんて紙に書くことも、頭の中で想像することもできません。しかし、点の位置をすべて「位置ベクトル」と捉えて考えると(画像が1点の位置ベクトルを表していると捕らえると)、画像と画像の距離=点と点の距離、画像の加減算=ベクトルの加減算、というように考える事ができ、かつ、これらのベクトル演算は2次元平面と10000次元で本質的にはなんら変わりはない(演算する要素の数が2個か10000個かの差だけ)ですので、何も10000次元で考えずに、直感的には、2次元平面で考えれば良いのです。 で、本題に戻ります。図を書きながら読んで頂けると良いです。 紙にx軸とy軸を書きます。 そこに、点A’を書き込んでください。例えば、座標(5,5)の位置をA’としましょう。この位置が画像A’を表していると考えてください。勿論A’は2次元(2画素)のデータではなく、本当はもっとずっと多くの画素を持っていますが、ここではそういう事は気にする必要はありません。高次元でも(もし図を書けるなら)2次元と全く同じ事が言えると思ってください。 A’は、実際には40個の画像の平均画像です。図の中では、点A’の近傍に、40個の点(画像)が散在していて、それらの座標の平均の位置にあるのがA’です。そういうイメージで図を見てください。 次に、D’の点を記入します。画像D’は、A’(5,5) とは少し離れている。例えば、D’の座標は、(6,4)としましょう。 このA’からD’へのベクトルA'D'→ = (1,-1)(図の上では、点Aから点Dへ向かう矢印)が、ソフトが最初からもっているノーマルデータA’に対する、当施設のノーマルデータD’のずれを表します。 さらに、当施設のファントムデータB’を記入します。B’は、A’(5,5)とも、D’(6,4)とも違う点になるでしょう。例えば、B’を(5,4)としましょう。すると、ベクトルD'B'→は、当施設でとった、人間のデータ(D’)とファントムB’との差を表しています。 では、ここで、 (A’+nB’)/(1+n)=C’ (1)式 もしくは (nA’+mB’)/(n+m)=C' (2)式 として、C’は図のどこにくるでしょうか。C’は、点A'と点B'とを結ぶ線分上に来ます。nやmの大きさにより、A'に近いか、B'に近いかが変化しますが、とにかく線分A'B'上です。または、点A’(画像A')に対して、ベクトルA'B'→ (画像B’とA’との差)の長さを変えて足したのがC'であるという事ができます。 それでは、このようにして作った点C' (画像C')から、何を期待できるか、または数学的にどのような意味を見出せるでしょうか。さらに、質問にある、(1)式や(2)式にどのようなn,mを与えることが妥当でしょうか。話をここまで引っ張っておいて申し訳ありませんが、実は、何も期待できないし、何も意味がなく、どのようなn,mを与えても、数学的にはその妥当性を与える事はできないと思われます。それは、線分A'B'が、A’と当施設のファントムとの差を表すベクトルであり、そのベクトルを長短させる(C'の位置を変化させる)ことによってD’に「近づけられるはずである」という根拠(理由)がなんら存在せず、単に「ちかづけられるかも」という推測しかないからです。実際に、n,mを変化させても近づくとは限らず、C’よりA'の方がD'に近いとか、B’の方がD’に近いということは充分に有り得る。いずれになるかは、数学的には「偶然」に支配されることになりそうです。 意味を持たせるために何が足りないか・・・・A’を取った施設で計測されたファントムがどうしても必要だと思われます。 A’を取得した施設でファントムを計測できたとします。それをF'とし、図での座標を(4,5)としましょう。そして、当施設では、ファントムデータB’はあるけれど、ノーマルデータD’は無かったと仮定しましょう。 そうすると、 A’をとった施設での、ノーマルデータとファントムデータの差ベクトルは F'A'→ = (1,0)ですから、当施設で計測であろノーマルデータD’とファントムデータB’との差もそれに等しいだろうと仮定するならば、D’=B’+(F’A’→)=(6,4)と推定されることになります。 これが、ある施設でノーマルデータA’とファントムデータF’を取り、違う施設でファントムデータB’だけを取ってその施設でのノーマルデータD’を推定できないか、というアイディアの根拠となります。 本当にこんな単純な推定で良いかどうかの議論は大いにあるわけですが、(1)式や(2)式や、D’=B’+(F’A’→)で考えているのは極めて単純な推定であり、その推定方法そのものが、多分、あまりよくない。 2施設におけるファントムデータを両方とも計測して、そのファントムデータ(を位置ベクトルとしたとき)について、少なくとも ベクトルの長さの変化 (F’とB’の全体の(平均的な)輝度値の変化) ベクトルの傾きの変化 F’とB’の画像の中での輝度分布の変化 の両方を考慮して、片方の施設で計測したノーマルデータを補正して、もう一方の施設のノーマルデータとする、というような事が必要だと思われます。
その他の回答 (9)
- kumipapa
- ベストアンサー率55% (246/440)
> 『本当にこんな単純な推定で良いかどうかの議論は大いにあるわけですが、(1)式や(2)式や、D’=B’+(F’A’→)で考えているのは極めて単純な推定であり、その推定方法そのものが、多分、あまりよくない。』 と書きましたのは、ベクトルの加減算(画像の加減算)で補正できるのは、理屈の上では画像間のオフセットレベルが違う場合のみだからです。 先述しましたように、施設間、装置間での画像の違いは、オフセットレベル、ゲイン、観測視野のサイズ(拡大率)、画像視野の位置、画像の歪みの違い、あともう一つシェーディング(位置による感度差)が考えられますので、画像の加減算のみで補正できるかどうかは、やってみないと分からないなーという事です。
お礼
数々のご助言、ご教授いただきありがとうございました これからも悩める数学初心者に手を差し伸べていただけますよう お願いしますと共に この分野の専門家として更なるご健勝を願っています 以上にて締めさせていただきます
- kumipapa
- ベストアンサー率55% (246/440)
(1) 確かに、D’がA'B'上のあれば、内分する比率(外分でも良いとは思いますが)でノーマルデータを推定して良い結果を得られる可能性は高いと思います。偶然にせよ、何にせよです。しかし、もし、どの施設でもファントムのデータが人体での結果と非常に近い(B’とD’が非常に近い=画像処理の本来の目的を達する上で問題ない範囲で近い)という信用に足る事実があれば、ガラっと話は変わって、質問者さんの期待通りになる可能性が高くなりますね。 (2) A’とB’の任意の組み合わせでC’を作成し、C’とD’との相違に関して有意差がない(少ない)組み合わせを求め・・・ という方法ですが、(1)でm、nを決める具体的な方法が、この(2)の方法であって良いのでは?と思います。 で、先にも言ったように、ファントムのデータが人体のデータと非常に近い、もしくは適当に近いのであれば、施設間の相違をファントムデータの違いを元にして、今まで出てきたような式による加減算で補正しても実用上は問題ないのかもしれません。それは試してみないと(何せ現実的な問題ですので)分かりません。 ただ、それがうまく行かなかった場合、どうしましょう。 施設間、装置間の差というのは、それこそ色々な事が考えられて、厳密に補正するのは難しいように感じます。ただ、「わけが分からない」というものでもありませんし、それなりに把握して対処するほうが多少は成功に近づくかなーと思います。最後は統計的手法を使って検証するのがベストですが、その前に、どのような補正をするかについては、それなりに根拠が欲しいように思います。 で、施設間、装置間で画像のパラメタにどのような違いが生じるのかを考えてみると、パッと次のようなことが考えられます。 1)オフセットレベルが違う 画像の暗レベル(暗電流レベル)がずれている。ファントムデータ間の減算結果に含まれます。 2)ゲインが違う 同じファントムを取っても、得られる画像の強度が違う。これは、施設間、装置間でゲインが合うように装置を調整するか、または、画像全体に補正定数を掛けることにより補正可能。 3)観測視野のサイズが違う 画像視野のフルスケールがずれている。例えばある施設の装置では10cm径が観測されているのに、違う施設では10.5cm径が観測されているというような例。このような違いが有る場合には、画像間(画素どうし)でそのまま比較演算するのは非常に危険。装置調整か、またはどちらかの画像を拡大/縮小して、視野はきちんと合わせる。 4)画像視野がずれている 画像の視野が上下左右および回転してしまっている。やはり装置調整か、どちらかの画像を上下にシフト、かつ回転させる補正が必要。 5)画像が歪んでいる 四角形の辺が直線にならない、円がひずんで写る、という歪みがある。補正はなかなかにやっかいなのですが、不可能ではないはず。 この中で、画像どうしを(重みをつけて)足したり引いたりして補正できるのは1)ぐらいのもの。また、2)についてもゲインの差が軽微であれば、理想とは言えないものの(結果論で)そこそこ補正可能。 その他の補正については、画像どうしの加減算では補正できません。 ですから、もし、画像どうしの加減算では補正しきれない場合には、やはりシステム屋さん、ソフト屋さんに相談して原因をあるていど突き止めて、適切な補正なり調整をすることが必要になると思います。 なお、同一メーカーの装置であるならば、基準サンプル(ファントムなど)を利用して、施設間、装置間でこれらの差が生じないようにきちんと調整または補正されるべきものであると、私は思います。それでなければ、ノーマルデータとの差異から異常診断をする、というような装置としては失格です。ま、これは私感にすぎませんが。
補足
ご返事遅くなりまして 失礼しました 今後おっしゃるような点について検討を重ねていくつもりです 最後にもう一点 前回の回答の中に お互いのファントムデータがあった場合 『本当にこんな単純な推定で良いかどうかの議論は大いにあるわけですが、(1)式や(2)式や、D’=B’+(F’A’→)で考えているのは極めて単純な推定であり、その推定方法そのものが、多分、あまりよくない。』 …とあったのですが 『…あまりよくない』 とはどういう意味だったのでしょうか もしお時間がありましたらよろしくご回答願います このたびは長い間お付き合いいただきまして ありがとうございました
- kumipapa
- ベストアンサー率55% (246/440)
ファントムと聞いたときに、もしかしたら医療機器なのではないか、と思っていました。やばそうなので、逃げようかなとも・・・冗談ですが。 多くの場合、医療に関わる画像処理は非常にやっかいなので。 状況が極めてクリアになりました。 記号を以下のように揃えて良いでしょうか。申し訳ありませんが、質問者さんのお話ですと、質問者さんの施設で蓄えられたノーマルデータD’と、他の施設で使用させたいノーマルデータD’とが記号が一緒になってしまっていて、少々混乱してしまいますので。 で、記号はとりあえず次のようにさせてください。なお、以下で「他施設」とは、これから質問者さんが普及させたいと思っている他の施設のことであり、質問者さんの施設でもなければ、ソフトに最初についているノーマルデータを取った施設のことでもありません。 A’ ソフトに最初からついているノーマルデータ D’ 質問者さんの施設で計測されたノーマルデータ B’ 質問者さんの施設で計測されたファントムデータ C’ 何らかの形で推定されたノーマルデータ。これをもとに、他施設のノーマルデータを構築したい。 E’ 他施設で計測されたノーマルデータであるが、サンプル数が少ない。このE’をC’を使って補填できないかと考えている。 F’ 他施設で計測されたファントムデータ (ちなみに、ソフトに最初からついていたノーマルデータを計測した施設でとったファントムデータは無い) 前提としているのは、 1) 質問者さんの施設で計測されたファントムデータB’と、他施設で計測されるファントムデータF’との違いが、装置や計測者の違いによる画像の違い(ノーマルデータの施設間の違い)を表していると考えて良い。 2) ノーマルデータとファントムデータとの違いは異なる施設でほぼ一定であると考えて良い。即ちD’とB’の違いD’-B’とE’とF’の違いE’-F’はほぼ一定であり、D’-B’≒E’-F’と仮定してよい) 話が違うとややこしいので、とりあえず以上、確認して頂けないでしょうか。
お礼
追記です 施設の表記の仕方として 当施設:私自身の施設 他の施設、他施設:ノーマルデータE’を収集することのできない施設 で記載しました また ・・・・・・・・・・・・・・・・・・・・・・・・ C’をノーマルデータベースとして利用しても D’をノーマルデータベースとした場合と同様の評価がこのソフトでできることを証明したい ・・・・・・・・・・・・・・・・・・・・・・・・ できた画像が同じになるかどうかの評価は 画像上の問題なので他の方法で評価する予定です ですので、今回教えていただきたいのは 文中に出てきた 『n』 の値を数学的に求められるか、なのです この画像の評価も数学的にできればいいのですが…
補足
ご理解いただけましたようでよかったです はじめからソフト開発者に相談すればよいのですが そちら側にも責任問題?が発生する可能性があるので なかなかよい対応をもらえないでいます 実際ソフト自体もブラックボックス的な感じで… 持ってくる営業の人もほとんどわかっていない 『前提』を早速確認させていただきました まずはじめにすべてが単数形で表されていますが A’(正常をあらわす画像) D’(正常+当施設特有のパラメータを含む画像) C’(A’とB’をもとに作られたD’に近い情報を含む画像) E’(ここでは取得不可と考えたい。架空の画像) は複数データの平均画像 ちなみに A’のnは40 D’のnは50 あります B’(当施設特有のパラメータのみを含む画像) F’(他の施設特有のパラメータのみを含む画像) は1つの画像データ 『訂正』 C’はあくまで私の施設の架空データなので 他の施設のノーマルデータ構築に利用するのではなく D’の代わりに当施設のみで利用するもの (詳細は下記で) 1)についてはその通りです 2)については… その通りです 厳密には A’にも、ソフトに最初からあるデータを作った施設特有のパラメータ情報を含んでいますが とりあえず無視することとします 今回私の考える検討では E’を求めることができない施設で F’のみからE’を推定できるかどうかの証明をしたいと思っています 検討の流れとして(施設ごとのノーマルデータベース構築の方法として) 私が考えている方法は A’では当施設(他の施設でも)ではあわないので…A’≠D’ 変わりにD’を実測にて作成(これが当施設での正解!?のノーマルデータベースと仮定) しかし、いろいろな要因(私の施設ではできたが、できない施設では)でD’を求められない場合 (A’+nB’)/(1+n)=C’ …(1)式 もしくは (nA’+mB’)/(n+m)=C’ (私が勝手に平均にしてみたが、もしかしたら他の計算方法が?) この得られたC’をC’≒D’と仮定し nの値を求めることにより C’をノーマルデータベースとして利用しても D’をノーマルデータベースとした場合と同様の評価がこのソフトでできることを証明したい…(2) これが証明できれば 他施設でE’を求めなくても (1)式と同様に (A’+nF’)/(1+n)=G’ 上の仮定(2)から nの値がわかっていれば G’≒E’ となり E’を得られない他施設でも G’をノーマルデータベースとしてこのソフトを利用できる (1)の式は私の勝手な空想なので 他に適切な式があるかもしれません しかし、このソフトの中で画像の平均は(1)式の方法で行われているようです そのため、初めのほうの回答にも書いてありますが 画像の計算には整数しか使えません(n、m=整数) 以上 伝わりましたでしょうか?
- kumipapa
- ベストアンサー率55% (246/440)
お話はだいたい分かった気がします。 ユーザーが測定した画像を、ソフトが持っている画像DBの画像と何らかの比較をしてその結果を表示する、というような画像解析ソフトを利用しようと思っている。 ただ、そのソフトの持っている(解析の基準とも言うべき)画像DBが、自分のところで計測される画像と、目的を達成する上でのコンパチビリティーが取れているかどうかを検証したい。というようなことですね。 なるほど、もっともな気がします。 が、その先は、済みませんが依然として意味不明です。 > そこで自分のノーマルデータベースを構築(D’)してみました > しかしそれにはたくさんのノーマルデータが必要となります えっと日本語の問題で恐縮ですが、 「構築(D’)してみました」というD’と、「それにはたくさんのノーマルデータが必要となります」のノーマルデータの関係が不明です。結局、D’はできたのですよね。で、ノーマルデータが、D’とは別に必要になるということですか?そのノーマルデータは何のために必要になるのですか? それとも、D’を作るために多くのノーマルデータが必要で、それが無いから困っていて、D’も(満足に)できていないという意味でしょうか。 で、ノーマルデータが必要となって、それでノーマルデータはどうするんですか?いきなりファントムとかC’の話になって、ノーマルデータがどこかへ行ってしまっていますが。 色々な単語が飛び交っているのですが、それらの単語の関連や、それらの単語が話しの中に出てくる目的が極めて不鮮明です。 > そこでファントムデータ(自施設の仮想データ:B’)をひとつ作り > その特徴と、もともとソフトに内蔵してあるノーマルデータベース > (A’)を平均化して仮想自施設ノーマルデータベース(C’)が作れ > ないかと考えました うーん。ここが良く分かりません。 まず、ファントムデータを作った。これはどうやって作ったのかは分かりませんが、これは実測データではなく、仮想データであると。 で、「その特徴」とA’とを平均化して、仮想ノーマルデータベースC’を作れないかと。全く意味不明なのは、「その特徴」とは何ですか。「特徴」と画像A’とを平均化するという具体的な意味が全く分かりません。 また、自施設の本物の実測データでもないファントムと、本来評価されるべきA’とを合成してC’を作るわけで、根本的な目的からして、そのC’について議論することに意味があるとも思えず、何のためにそのような架空のデータベースを作るのかがわかりません。 また、C’は一枚しか作らないわけですよね。で、D’もあると。C’を一枚しか作らないのに、なぜ最初からD’を使って直接評価しないかが不明です。 詳細が分からないのに感覚的に言って済みませんが、根本的な目的と、やられていることのベクトルがずれているのではないかという気がします。 それから、上で「有意な差があるかどうか」という言い方をしましたが、ここが大問題でしょう。 そのソフトウェアが解析を行うにあたって、そのソフトが持っている画像DBの画像と、自施設で計測される画像との間には、必ず差があるはずです。どんなシステムであっても全く同じ画像が得られるはずがないし、被写体自体も同じであるとは言えない。で、そのソフトの持っている画像と、自施設で計測される画像に有意差があるかどうかというのは、「解析結果に影響を与えてしまうような差」があるのかどうかでしょう。 2枚の画像の違いというのは、さまざまな方法で調べる事はできるとは思います。それこそ方法はいくらでもある。しかし、その方法の選択は、解析結果に影響を与えるような画像の違いとは何なのかが分かっていなければ選択する意味が無いです。 そのためには、そのソフトウェアが画像から何を解析するものなのかが明らかになっていて、その解析を行うにあたって、画像のどのような特徴を抽出して解析しているのかが分かっていなければ、そのソフトが持っている画像DBの画像と、自施設で計測される画像とに有意差があるかどうかを調べる事はできないはずです。その点はあきらかになっているのでしょうか。 一般的な話になってしまいますが、画像はさほどきれいな物ではなく、つねに揺らぎ、つねに変動するものですから、さまざまに変化するパラメタがあるなかで必要な情報を安定して解析するというのはなかなか大変なことです。が故に、解析結果をきちんと検証するためには、とにかくそういう変動も含んだ実測データで解析結果の妥当性を調べる事が一番であり、それをしない限り検証したことにはならない・・・と思いますが。
補足
お世話になっております 申し訳ありません簡単に数学を考えていたようで… さらに詳細を付け加えますと このたび検討している画像は医療現場で使われる画像です ですのでこのソフトに入っているノーマルデータ(A’)はある他の施設で撮られた平均画像(正常の人たちの画像) そこから自施設における患者の撮影画像をそのソフトにかけて、正常か異常かどうかを数値で求めるものです 画像にはピクセルごとに値を持っているので それを比較し標準偏差を求め 例えば、何SD違うから異常かも…と結果が出てきます 実際ノーマルデータと1SD以上の違いはそのピクセル位置に異常があると表示されます しかし、ここで比較するノーマルデータ(A’)は他施設で集められた正常画像です そこには、撮影者の手技、処理、機械の違い…など多くの相違点が出てきます その相違点をなくすためには 自施設独自のノーマルデータ(D’)を構築して処理をするしかありません しかし、そのデータは実験的に得られるものではなく 日々の検査データの中から正常を抽出して集めなければなりません その正常を集めることは検査件数や時間的にも大変なことです 当院ではそれが可能でしたが、ほかの小さな施設では不可能です そこでこのソフトを多くの施設で利用可能となるよう ファントムデータ(模擬人体模型)から撮影した画像(B’)をもとにノーマルデータ(C’)をもとめ、それを自施設のノーマルデータ(D’)として使えないかと考えました そこで当初ご質問した平均の式にあてはめて、検査件数の少ない施設でもファントムを一回撮影して、それを何個かソフトのDefaultノーマルデータの中に混ぜて平均化し、それをノーマルデータとして使えるのではと考えました Defaultのノーマルデータベースはn=40の平均した画像です これから ノーマルデータ数、nが40だから …(計算して) ファントムデータをX個入れればいいかなぁ …と単純に思いました ですので、方法としては強引なことはわかっております 個体差のある人体と、模型ですし・・・ 数学的にはもっと意味がないことかも… しかし、このファントムデータ(B’)は相違点に関して自施設のノーマルデータの特徴をよく現した画像になっていると思います ですので、それを利用できないかと これと似た処理ソフトは以前ありました それは他の検査で使われるもので… そのソフトでは施設間誤差を考慮してあり Defaultのノーマルデータベースのほかに そのDefault施設のファントムデータがあり それとソフトを使う自施設で得た同一条件のファントムデータを比べ ピクセルごとに変換係数を求め、それをノーマルデータベースに 付加してノーマルデータベースの施設間誤差を修正する方法が取られていました しかし、今回のソフトでは Defaultノーマルデータベースの施設のファントムデータがないため その方法が取れないのです そこで考えたのが今回の考え方になったわけです ちなみに取得する画像は http://www18.ocn.ne.jp/~wa_hosp/BULLS-EYE.html のようなもので それぞれのピクセルごとに値を持ち そのすべての値のうちMAXを100とした相対値(割合)で 色分けして表示しています 白色が100 青が50 黒が0を あらわしています また、『有意な差』ですが あいまいな言い方をしてしまったのですが 結果的にほしい画像(C’)は 正常である情報(A’からの情報) と 施設間誤差を考慮した特長(B’からの情報) を併せ持ったもの ここで特徴とは リンクした画像で言うと 左上と右上ではそれぞれ特徴があるのですが 左上 1時と9時位置が強くなっていて(値が大きい) 6時位置が弱い(値が小さい) 右上は 10時と12時が強い(値が大きい) 例えばこの二つの特徴をもった画像がほしいのです どうも、私の職種の周囲には数学に強い人がいなくて… kumipapaさんのような方の意見とても勉強になります もうしばらくお付き合いいただけますよう よろしくお願いいたします PS 『画像はさほどきれいな物ではなく、つねに揺らぎ、つねに変動するもの』 …とは数学的にと言うことでしょうか? 初めて聞いたことでイメージが… ぜひ余裕があるときにコメントいただければ
- kumipapa
- ベストアンサー率55% (246/440)
#3です。大分クリアになってきました。 念のためにもう一度まとめます。 実測画像A(x,y)とB(x,y)があります。 この2つの画像から、 C(x,y) = ( A(x,y) + k B(x,y) )/ (1+k) なる画像C(x,y)を計算で得ます。このとき、C(x,y)が実測画像D(x,y)になるべく近くなるようにパラメタkの値を得たい。 なお、上の式は、パラメータαで置き換えて、C(x,y) = (1-α)A(x,y)+αB(x,y)とかけます。宜しいでしょうか。 質問ばかりで本当に申し訳ないのですが、あと何点か。 1) C(x,y)を計算する際に、C(x,y) = (1-α)A(x,y) + αB(x,y)のように示されていましたが、このような制約(AとBに対する重みの和が1)をつけたのには何か特別な理由がありますか?CをDに近づけようとしたときに、この制約の範囲内では最適解が得られない可能性が高いと思います。そういう制約を特に定める必要がないならば、C(x,y) = α A(x,y) + β B(x,y) のように画像A,Bの両方に独立したパラメタを持たせても良いのでは。 2) 質問が前後しますが、「近づける」をどのように定義しますか?例えば単純に、画像D(x,y)と画像C(x,y)の各画素の値がおしなべて近くなるようにしましょうか。それとも、他に近づけるべきパラメタがあるのでしょうか。画像全体の平均値を互いに近づけるというようなことは特別な事情がない限り考えにくいかなと思いますが、質問者さんが「画像の特徴」とおっしゃる内容が計算できるものであれば、その特徴の値を近づけるようにCを計算すべきなんでしょうね。ということで、画像そのものを近づけたいのか、何か計算できる特徴を近づけたいのか、その場合、その特徴というものは具体的に何なのかを明確にしてください。 なお、画像は色を数値化したものなのですね。色を数値化すると言えば、汎用的には色度座標なのでしょうが、それを画像として、さらに異なる画像を近づけるとなると、それこそ色々と面倒そうですね。とりあえず必要になるまで色の話は伏せておきます。 ちにみにconvolutionをきちんと説明するとバカ長くなるのでさわりだけ。 例えば、3×3のマスク演算って分かりますか。それで画像の空間的な平滑化をしたり、微分をしたり。この手のマスク演算が、もっとも簡単なconvolutionの演算になります。実空間上ではふたつの関数の畳み込み(積分)ですが、フーリエ面上(周波数空間)ではふたつの関数の積で与えられます。元画像の周波数特性に対してある関数の周波数特性をかけることによって、元画像の周波数特性に変調をかけることができるというものです。逆に、通常計測される画像は、レンズやカメラによって周波数特性が劣化していますから、周波数空間上で元画像をその劣化特性で割り算することによって、劣化を補正した画像を得るという試みもあります。この周波数空間上で割り算するという操作はconvolutionの逆で、deconvolutionと言われるものです。
お礼
こちらこそお手数おかけしまして 申し訳ありません まずこの質問をするにいたる背景をお話したいと思います 私の仕事上で使われる解析ソフトの検証をしようかと思っています まずそれはノーマルデータベースがあり、それは複数画像の平均画像(A’)です その平均画像が私のところで得た画像とどのくらい違い(結果は標準偏差で表される)があるかを見るソフトなのです しかしそのノーマルデータベースは他施設作成のものであるため自分の施設とマッチするとは疑問です そこで自分のノーマルデータベースを構築(D’)してみました しかしそれにはたくさんのノーマルデータが必要となります そこでファントムデータ(自施設の仮想データ:B’)をひとつ作り その特徴と、もともとソフトに内蔵してあるノーマルデータベース(A’)を平均化して仮想自施設ノーマルデータベース(C’)が作れないかと考えました データベース(集合)と言っていますが、実際使うのはその平均した1画像です ソフト上でデータ(画像ファイル)を加算平均してくれる機能(Windowsベースなので、フォルダに画像をまとめて入れると自動で平均化してくれる)があるので、それを利用したいと思っています ですので ご質問(1)の回答 α、βとしてもいいのですが それぞれは整数でなくてはならないのです ご質問(2)の件ですが どこまで近づけるか…考えていませんでした もっと単純なことかと思っていたもので そこで考えてみたことは C’≒D’ が希望ですので D’と有意差がなければいいのでは・・・と考えますが、いかがでしょうか convolution… 難しいです 皆さんよくご存知で頭が下がります すごいです! どうかよろしくご回答お願いいたします
- irija_bari
- ベストアンサー率73% (70/95)
>類似度という観点から相互相関関数を用いるとは については、 http://www12.plala.or.jp/ksp/fourieralysis/RelationFnc/ あたりがよろしいのではないかと思います。 >調べてみると、ある関数同士を公式に代入しているようで >このような図形(行列)の場合は・・・ そこで書かれている2つの関数が、ここで言っている2つの2次元行列になります。 1次元行列の相互相関をとっている例があります。 http://www.teu.ac.jp/hiha/SignalProcessing/correlation/crosscorrelation.html 2次元行列に拡張するには、、、、忘れてしまいました(^^;)。 MATLABで計算できたような記憶があります。(類似のフリーウェアもあるようです。) 相互相関をきちんと理解したいのなら、プログラムを書くのも一手ですね。 ==== 補足 ==== 用語について混乱していらっしゃるようなので。。。 画像データ = 2次元行列 という考え方で良いと思います。 要素 48 * 16 の2次元行列などと書くとわかりやすいかな?と思います。 正直、集合 = 画像 ??? と思っておりました(^^;)。 話しはだいぶんクリアになってきました。 畳み込み(= Covolution) と相互相関(とフーリエ変換)はかなり近しい関係に あったように記憶しております。 詳しいことは覚えていませんが。 C' = (A' + kB')/(1+k) については単に平均をとると言えば良いと思います。 確かに、画像A'と画像B'の両方の特徴を抽出するのに単に平均をとるので 良いのか?という疑問は残ってしまいますよね。 私は専門家ではないので、残念ながらそこまでは分かりかねます。 相互相関をとってそれである程度の評価が得られれば良いのかな?程度に 考えておりました。
お礼
数々の情報ありがとうございます 今回の質問は単に平均を求めれば・・・と考えていたのですが そうは簡単にいかないことを思い知らされました 数学は奥が深いです 私自身にもっと数学的能力があれば… 『相互相関関数』 出てきたのかも知れませんが …実はここではじめて聞きました でも、こんな方法もあるのかといい勉強ができました No.5お礼にも詳細を書いたのですが… 今後も何かいい方法、紹介してあるHPがあれば ご教授お願いいたします
- kumipapa
- ベストアンサー率55% (246/440)
質問者さんと#1,#2さんのお話を拝見していて良く分らない点がまだあるので確認なのですが、 まず、前提として、 画像が3枚ある。その画像をA(x,y), B(x,y) および D(x,y)とする。 x,y は画素の座標位置。A(x,y)は複数の画像を平均化したものだが、とにかく、実測された(または複数の実測画像を平均化して得られた)画像がA,B,Cの3枚あるのであって、Aを得るために使用された画像は無視してよい(捨ててしまったと思って良い)。 以上、宜しいでしょうか。 次に > C’=D’ > となるように仮定 > > C’=D’=(A’+kB’)/(1+k) …(ここでは単に平均の式としたが実際はもっと難しい式??) > となるkを求めたいと思っています より、 画像A(x,y)とB(x,y)に適当な係数をかけて加算し、画像C(x,y)を作る。例えば、係数をk として、 C(x,y) = ( A(x,y) + k B(x,y) )/( 1 +k ) このとき、画像D(x,y)にC(x,y) が 最も近づくような係数k を求めたい。 (「近づく」という定義はともかくとして) 問題としては、こういう認識で宜しいでしょうか? ところが、#1さんへのお礼欄で、 > A’にどれだけB’の要素を入れてあげれば > お互いの要素を併せ持った平均画像C’が得られるか(→これがConvolutionの考> え方??) とのことですが、convolutionをしたいのであれば、画像に係数をかけて加算というような単純な計算ではなく、まったく異なる複雑な計算をしなければなりません。どのような意味でconvolutionとおっしゃられているのでしょうか。画像関係でconvolutionということですと、フィルタリングか、deconvolutionとして空間解像度の劣化を補正するような話になると思います。もし、convolutionというものを勘違いされていて、今回のご質問と無関係であったならご説明は不要です。 ということで、申し訳ないのですが、質問者さんの質問ならびに補足説明などから、何をされたいのか目的がはっきり見えません。ご確認をお願いします。
お礼
kumipapa様 ありがとうございました まず画像は2枚A’とB’があってその組み合わせによってC’を作り それが別の方法で求めたD’に近づくために A’とB’の混ぜ方?混ぜる割合?を求めたい おっしゃるとおり C(x,y) = ( A(x,y) + k B(x,y) )/( 1 +k ) のkを求めたい convolutionの件ですが 素人なので、単に 『A’、B’がお互い妥協ができるところへ収束しC’に近づくように…』 のことを言ったのですが 失礼しました 大変伝わりにくい文章でとても恐縮しています No.2のお礼に書いたのですが 画像はその色をあるソフトによって数値化し 行列の形で値を持っているものです 簡便にできる方法、 ソフトなどありましたら 含めて ご教授いただけませんでしょうか よろしくお願いします
- irija_bari
- ベストアンサー率73% (70/95)
ANo.1 です。 私のほうがまずい書き方をしてしまったようです。 まず記述ミスがありました。訂正とお詫びいたします。 >C' = k * A' - (1 - k) * B' と書いてしまったのですが、 C' = k * A' + (1 - k) * B' (0 < k < 1) が正しい記述です。大変失礼しました。 上記の式は、white_prin さんが書かれた >C’=D’=(A’+kB’)/(1+k) と等価なので、おそらく同じことを考えているのだと思います。 white_prin さんは、画像A'と画像B'の両方の特徴を併せ持った画像C'を生成したい。 そして、画像C'が画像A'と画像B'の特徴をどれだけ持っているかを数学的に評価したい。 とお考えなのですよね? ==== もし、すでに画像A'と画像B'の特徴を併せ持った画像D'がすでに存在するのなら、 上記の式を用いてさまざまな値の k で画像C'を作成します。 そして、作成された複数の画像C'をそれぞれ画像D'との類似度という形で評価し、 評価が高くなる k を求める。 もし、画像D'が想定上のものでまだ存在しないのなら、 画像C'と画像A'の比較、画像C'と画像B'の比較を行い、2つの比較の総合評価が 高くなる k を求める。 類似度の評価には、相互相関関数を用いる。 という考え方です。
お礼
ありがとうございました おっしゃるとおりです 今回単純に画像といっているのですが これは48*16個の行列?となる値を持ち、すべての値のうち最高を1とした割合(小数値)であらわされた画像(行列?)なのです ですので等高線図・・・といいました おっしゃる通り kを求めたいのですが 類似度という観点から相互相関関数を用いるとは どのようにすることなのでしょうか (D’はすでに行列?として存在しています) 調べてみると、ある関数同士を公式に代入しているようで このような図形(行列)の場合は・・・ どうか更なる回答をよろしくお願いします 申し訳ありません素人な質問で・・・
- irija_bari
- ベストアンサー率73% (70/95)
回答者の私は本当の素人ですが、参考になりましたら。 white_prin さんのやりたいことは、 C' = k * A' - (1 - k) * B' のようなことで、係数 k をどのように決めたら良いのか、また、 C' と A' (あるいはB')の類似度をどのように評価すべきなのか。 というように解釈しました。合っていますか? まず、評価の仕方はいろいろあるのでしょうが、私は相互相関関数を使う方法しか 思い浮かびませんでした。 計算量は多くなるかもしれませんが、処理の内容自体はさほど難しくないはずです。 相互相関関数を Web などで調べればおわかりになると思います。 係数 k を決める方法は、サンプルをさまざまな k で平均化したものを、上記の方法で評価し、 評価が高くなる条件を探すということでどうでしょうか。 答えになっていますか?
お礼
irija_bariさま 早速の回答ありがとうございました 私の説明不足で多少の誤解を与えてしまったかもしれません 仰る通り相互相関関数有効かと思うのですが 今回の私の考えていることは C’とA’、B’の比較ではなく 実験的に実測の結果としてD’という平均化された値 (実際はある値の集合となる画像:等高線図のようなあるpointで値を持つような画像) がすでにあると想定し C’=D’ となるように仮定 C’=D’=(A’+kB’)/(1+k) …(ここでは単に平均の式としたが実際はもっと難しい式??) となるkを求めたいと思っています A’にどれだけB’の要素を入れてあげれば お互いの要素を併せ持った平均画像C’が得られるか(→これがConvolutionの考え方??) 今私が検討している内容では A’は複数の平均画像 B’は単一画像 です いろいろなご意見お待ちしています
補足
ありがとうございました 確かに多くのパラメータを含んだ画像は数学的には とても困難なことはわかります さらに、今回の画像は心臓であり 動いているもの(動き方も無限)を強引に静止画にしたものですので… ですので、医学の世界でのデータ処理はもっぱら統計学を用いての証明になっているのかもしれません 今回のベクトルを用いた回答、とてもよくわかりました 図を描くと、明白に私のやっていることが意味のないことだと…予想はしていたのですがバッサリすぎて(笑) しかし、ここで更なる可能性についてなのですが(すみません頑固なもので) (I) 確かにx-y平面では A’B’の直線上にD’の存在は期待できないかもしれません そこで もし仮に 直線上での議論の場合 {F(ソフトの持つノーマルデータを得た施設のファントムデータ)を得ることが難しいので} いろいろなパラーメータを排除し A’D’の直線上にB’があったと仮定すると(直線ABD、BAD、ADB) その比率… 直線ABDで並んだ場合 A’B’:A’D’=n:m だから 他の施設のファントムデータ:X 他の施設のノーマルエータ:Y とした場合 A’B’:A’D’=n:m=A’X:A’Y より A’Y=mA’X/n とすることは いかがでしょうか もう1つ (II)確率・統計的な手法で A’とB’の任意の組み合わせ(仮に(2)式を用い)でC’を作成し C’とD’との相違に関してそれぞれの場合に検定をかけて 有意差がない(少ない)組み合わせを求め C’≒D’ となるn、mを求める もしかしたらまた、数学的に意味のないことをしているかもしれませんが… お手数ですがよろしくご検討お願います