読者です 読者をやめる 読者になる 読者になる

デジタル・デザイン・ラボラトリーな日々

アラフィフプログラマーが数学と物理を基礎からやり直す

【コンピュータビジョン】主成分分析を理解してみる 画像情報処理への応用

■画像情報処理への応用

主成分分析には、方向からデータの持つ情報の意味を解析するデータ分析に使う方法の他に、多次元データのもつ情報をできるだけ損わずに低次元空間に情報を縮約することから、下記の画像処理の応用などに使われたりします。
・低解像度画像の補完
・正しい直線領域の傾き
・画像圧縮(次元の縮約)
パターン認識

画像情報は、空間上に点がたくさんある多次元データ情報と考えます。点があるということはベクトルがあるということで主成分分析が使えるわけです。

例えば16×16のピクセルであれば、256次元の特徴空間と考えます。
それぞれグレースケールの画像だとして、明度を1個目のピクセル、2個目のピクセル、3個目のピクセルを下記のように指定していくわけです。

x_1=128,x_2=150,x_3=90

 私は画像イメージにとらわれすぎて勘違いしていていたのですが、2次元配列データではなくあくまで1次元配列データにして主成分分析を行います

また、色情報を減らす場合にはRGB成分による主成分分析を行います

 

低解像度画像の補完
低解像度のデジカメ画像のいくつかの周辺色情報から拡大した隙間の部分の色調を決定して、ギザギザを防ぎ自然な画像にします。

 

正しい直線領域の傾き

主成分分析はx,y軸方向の誤差が最小になるように軸が算出されます。
画像の棒に対して赤直線を見ると主成分分析(b)が正しく直線領域の傾きを表している。

f:id:Yaju3D:20140726231719j:plain

画像圧縮(次元の縮約)

画像であれば、100×100ピクセルのグレースケールの画像だと10000個のデータを持っています。
10×10のブロックに分けて100次元のベクトルが100個ある、などと考えて処理します。そして次元を例えば70次元などに落とす事で圧縮することができます。

このような考え方が、K-L(Karhunen-Loeve)展開といって、ベクトルの分布を最も良く近似する部分空間を求める方法です。

主成分分析とKarhunen-Loève変換

 

パターン認識

画像そのものをパターンとして扱った場合には、パターンの次元が膨大になってしまう。主成分分析によりパターンを情報圧縮(次元の縮約)し、データ量を減らしてからマッチングを行う。

主成分分析は特徴量(性質を特徴づけるような量)によって、マッチングを行うため、例えば顔認識で表情の変化があった場合でも、曖昧さを許容したマッチングが出来る。

主成分分析ではあくまでパターン認識用のデータを生成するだけで、パターンが一致しているかは一般的にはユークリッド距離という方法が用いられています。

OCR技術解説の記事には、文字認識させる方法が書かれています。
パターン認識用のデータには曖昧さを許容しているため、「夕(漢字)」と「タ(カタカナ)」や「力(漢字)」と「カ(カタカナ)」などを認識するのは困難な為、文字列の前後関係を見て判断しているのです。

【参照】

主成分分析の適用例(pdf)

色空間の次元を減らす?

OCR技術解説3:文字認識技術の概要(2)[第5ステップ]

主成分分析の画像情報処理における応用

主成分分析(pdf)

主成分分析による顔分析(pdf)

広島大学 主成分分析による顔認識

コンピュータビジョン 画像処理(pdf)

浅野の講義・画像情報処理(2014年度春学期)