物を見るための方程式



1.人間は、重なりあった対象を一瞬にして見ることができる
 図1
の図形はどのように見えますか? これは、2枚の半透明シートが重なりあったものです。人間は、このような簡単な場合だけでなく、もっと複雑な場合でも、重なりあった対象を一瞬にして見分けることができます。このような人間の優れた視覚機能をCVで計算機によって実現するには、「重なり」を数学的に表現する方法がポイントになります。

2.「因数分解」の原理が「重なり」を表す

 対象の重なりについて考えます。ABを重なる前の対象の像とします。2つの対象を重ね合わせた像は、基本的には、ABの和の形でABと表現されます。しかし、この重ね合わせの表現は、重なりの「生じかた」を述べたにすぎません。視覚の目的は、重なり合った像からABの個々の「解釈」を求めることですから、これに適した重ね合わせの表現法が必要です。重なり合った直線を解釈する例で説明しましょう。
 1. 重なり合う2直線の表現
 図2(a),(b)
の点列から人間はそれぞれ1本の直線と2本の交差する直線を知覚することで、それぞれの画像を解釈します。計算機にとっての画像の解釈とは、画像内の対象が満たす方程式を求めることです。図2(a)の解釈は、よく知られた直線の方程式から、a,bを係数としてy=ax+bあるいはy-ax-b=0と表現できます。図2(b)の場合はどう表現したらよいでしょうか? 図中の任意の黒点(x,y)に注目します。この点は、「2本のうちの少なくともどちらか一方の直線上にある」はずです。したがって、「y-ax-b=0またはy-cx-d=0」と表現するのが従来の考え方でした。
 計算機は、係数a,b,c,dを求めて2直線を解釈します。しかし、「y-ax-b=0またはy-cx-d=0」表現では、このときに次の困った問題が生じます。つまり、係数a,b,c,dを求めるためには、各黒点のどちらの直線に属するかがあらかじめ決定されている必要があります。一方、係数a,b,c,dが未定では、黒点がどちらに属するかを判定できません。ちょうど「鶏が先か、卵が先か」の議論に似ています。これは、セグメンテーション問題と呼ばれ、CVにとって難題でした。
 ところが、中学校で習った因数分解の原理を用いるとこの問題が簡単に解決できることが分かりました[1] 。因数分解の原理とは「PQ=0」と「P=0またはQ=0」が同値(すなわち、条件として等価であること)です。2直線の表現法を因数分解の原理に当てはめると、「(y-ax-b)(y-cx-dl=0)と「y-ax-b=0またはy-cx-d=0」という2つの表現が同値となります。つまり、「y-ax-b=0またはy-cx-d=0」表現のかわりに「(y-ax-b)(y-cx-d)=0」表現を重なり合う2直線の表現としても良いことになります。この方程式は、図2(b)の2直線上のすべての黒点が満たします。したがって、すべての黒点がこの方程式を満たす様にa,b,c,dを決めれば良いことになります。これは、数学的には、連立方程式に帰着されますから、標準的な数値計算法を使って、2直線の解釈が得られます。このとき、「y-ax-b=0またはy-cx-d=0」表現を用いた場合に生じたグメンテーション問題はありません。
 2. 重なり合うものだけでなく
 従来のCVでは、複数の対象を扱うために生じるセグメンテーション問題を解決するために、対象を限定したり、方程式を近似したりして、多くの方法が考案されてきました。それらは、総じて大きな記憶容量か計算量が必要でした。前節で説明した考え方をさらに一般化すると、従来のCVの方程式の多くを複数の対象を解釈できる形に拡張する原理が得られます。例では、対象が重なり合っている場合を示しましたが、必ずしも重なっている必要はなく、重なりのない複数の対象を画像から解釈する場合にもこの原理は応用できます。

3.人間は、なぜ重なり合った対象を見ることができるのか?
 これまでは、計算機が画像を解釈する原理について述べてきましたが、その原理は、人間が重なり合った物を見るための原理でもあるのでしょうか? これは非常に興味深い問題です。人間は、方程式で画像を解釈しているとはとても思えません。しかし、同じ原理が、方程式とは違う形で表現されていることは十分に考えられます。そこで、ここで示した原理を用いて、ニューラルネットと学習の理論を拡張することを現在進めています[2] 。また、原理や法則には実験に対する「予言能力」があります。この原理を仮説とし、それから得られる予言を心理実験で検証することにより、人間が物を見るメカニズムの解明に役立つことが期待されます。たとえば、図3は、両眼で立体視をする「ステレオグラム」と呼ばれるものです。図3(a)のステレオグラムは、2組の異なるステレオグラムを各点ごとに足し合わせて作成しました。寄り目をして左の絵を右目で、右の絵を左目で見てください。訓練を積むと、図3(b)の様に、中心部分が重なり合った2枚の表面として見えるようになります。この場合も、直線の場合と同様の重なり合いの表現法を用いることで、複数の表面を方程式によって解釈できることが示されました[3] 。提案された基本原理は、このような人間の高度な視覚機能のメカニズムを明らかにする鍵となるかもしれません。

4.物を視るためだけでなく
 画像上で重なり合った対象を計算機に解釈させるための基本原理を見い出しました。それは、「因数分解」の原理でした。複数の対象を1個の方程式でまとめて表現することにより、シンプルな方法で解釈が可能になりました。この考え方は、一種の情報統合にほかなりません。したがって、物を見るためだけでなく、人間により近い情報処理機能を計算機で実現するための基本原理として利用できるのではないかと考えています。


Copyright(c)2002(株)国際電気通信基礎技術研究所