画像の主成分分析

ここまで主成分分析の勉強をすると、以前和訳したオルスホーゼンとフィールドの論文「Natural image statistics and efficient coding(自然画像統計と効率的符号化)」で理解出来ていなかった画像の主成分分析というのはどういうことなのか分かりかけてきました。まず、その箇所を引用します


図1.サンガーのルール*1を用いて自然の光景から抽出した8×8の画像区間について計算した主成分分析。これらの関数は局所化されておらず、大多数はどのような既知の皮質受容野にまったく似ていない。最初の数個の主成分は、単にそれらが(最低の空間周波数は自然の光景内のばらつきの最も大きな部分を説明するので*2.)少数の低周波要素から成るという事実のおかげで「方向付けられた」ようにみえ、これらの関数だけに基づく再構成は単にぼやけた画像しか生み出さない。

「自然の光景から抽出した8×8の画像区間について計算した主成分分析」とありますが、これはどういうことでしょうか? 私は以下のように理解しました。


自然にある光景の一部を8×8マスで表します。各マスは下図のように番号をつけます。
図2

そして、各マスの明るさを実数で表します。すると1つの画像は、8×8=64次元のベクトルとして表すことが出来ます。つまりi番目のマスの明るさをx_iとすれば、この画像は[x_1,x_2,...,x_i,...,x_{64}]^Tで表されます。1つの画像が1つのベクトルに対応します。おそらく上記論文の上記箇所では多数の画像を用いたのだろうと思います。よって、画像と同じ数だけのベクトルが存在します。主成分分析ではまず、これらのベクトルの分散共分散行列を求め、次にその行列の固有値を求め、最後に各固有値に対応する固有ベクトルを、正規直交系を成すように求めるのでした(主成分分析(1)(6)参照)。分散共分散行列Sij列は64行64列の行列になります。

  • S=\left[\begin{array}\sigma_{1,1}&\cdots&\sigma_{1,64}\\\vdots&\ddots&\vdots\\\sigma_{64,1}&\cdots&\sigma_{64,64}\end{array}\right]・・・・(1)

行列Sij列の要素\sigma_{ij}x_ix_jの間の共分散

  • \sigma_{ij}=(\bar{x_i-\bar{x_i}})\cdot(\bar{x_j-\bar{x_j}})・・・・(2)

でした。ただしi=jの時はx_iの分散です。ところで\sigma_{ij}iとかjは、元々は図2のマスの番号を表していたのでした。こう考えると、\sigma_{ij}は多数の画像データからマスiとマスjの明るさの相関を示しているということが分かります。位置が近い2つのマス同士の明るさには強い相関があり、反対に位置の遠い2つのマス同士の明るさには相関があまりない、というような結果が想像出来ます。
上の論文では、このように2つの場所の相関関係を計算していることを「ペアワイズ(pairwise 2つ組の)」と形容していることに気づきました。この論文の和訳をしている当時はこの言葉をどういう日本語にしたらよいか悩み、結局はそのまま「ペアワイズ」と訳したのですが、今になってこういうことだったのだと思い当たりました。そしてこの論文では、ペアワイズな統計では自然画像の特徴を捉えるには不十分だ、と主張しています。


では、上の引用箇所の図1にある64個の画像は何を表しているのでしょうか? これはどうも、主成分分析で求めた固有ベクトルを表しているようです。1つの固有ベクトルi番目の要素の値を図2のi番目のマスの明るさで表せば、1つの固有ベクトルは8×8マスの画像として表されます。画像が64次元データなので、分散共分散行列Sは64×64の行列になります。よって線型代数の定理により互いに直交する固有ベクトルの数は最大64個になります。よって固有ベクトル全体で最大64個の画像が得られます。おそらく図1の64個の8×8マス画像は、固有ベクトルを画像で表したものだと理解しました。


さて、使用されたどの画像データに対応するベクトルも、上記で得られた正規直交化された固有ベクトルの線形結合として表すことが出来るはずです。ということは、これら64個の画像のそれぞれの明るさに重み付けをし、重ね合わせる(明るさを足し合わせる)ことで、元のどの画像データも表すことが出来るはずです。しかし、これはよく考えると1つの画像の中にある64個の変数を、64個の重みで表していることですから、別に次元を削減しているわけではありません。


上の引用の中の

これらの関数は局所化されておらず、大多数はどのような既知の皮質受容野にまったく似ていない。

という文章は、「関数(function)」という言葉をこれらの「(固有ベクトルを表す)画像」と解釈すればよいと思います。確かに図1のどの画像もガボールフィルタのような形とは似ていません。



ガボールフィルタ。「ガボールフィルタ」参照。


次の

最初の数個の主成分は、単にそれらが(最低の空間周波数は自然の光景内のばらつきの最も大きな部分を説明するので[7])少数の低周波要素から成るという事実のおかげで「方向付けられた」ようにみえ、これらの関数だけに基づく再構成は単にぼやけた画像しか生み出さない。

の「最初の数個の主成分」というのは

のことでしょう。これらは「方向付けられた」ように見えるので若干ガボールフィルタに似ているようにも見えますが、それは単に低周波空間周波数を表しているために方向が見えるということです。これらの画像だけを使って元の画像を再構成しようとしても「単にぼやけた画像しか生み出さない」のは、これらの画像が局所的でないので当然です。「最初の数個の主成分」という言葉から、これらの画像が固有値の大きい固有ベクトルから順に並んでいると想像します。つまり、第1主成分が

で、第2主成分が

で、第3主成分が

というふうにです。比較的主要な主成分でこのような三角関数的な画像(明るいところと暗いところが周期的に現れる画像)が現れる理由については別途、考えてみたいと思います。

*1:[18] Sanger TD (1989) An optimality principle for unsupervised learning. In: Advances in Neural Information Processing Systems I, D. Tourezky, ed., pp. 11-19.

*2:[7] Field DJ (1987) Relations between the statistics of natural images and the response properties of cortical cells, J Opt Soc Am, A, 4: 2379-2394.