ねほり.com

何もないから何かみつかる

主成分分析(カメレオンはどこだ! テクスチャ画像の領域分割)

      2019/04/22

最大固有値とその固有ベクトルを求める方法としては、ベキ乗法(power iteration)がある。

学生時代に「第3回アルゴリズムコンテスト(’99)「カメレオンはどこだ! −テクスチャ画像の領域分割−」の宿題があり、提出したレポートの抜粋。

実験例

図1に示すclass1とclass2の画像を同一の手法で対象領域と背景領域に分割し、2値画像(黒白画像)を生成してみる。

図1 class1の画像(上)とclass2の画像(下)

多機能性をもつ手法

濃淡ヒストグラムをx軸、y軸、z軸…とおき、多次元空間中で分割面を決定し2値画像を生成する。

3次元空間中にプロットした例を図2、3に示す。

ここで、黄緑色が物体領域、青色が背景領域である(左のクラスが物体領域、右のクラスが背景領域)。

図2 平均、コントラスト、分散を軸とした3次元グラフ(class1)

図3 分散、エネルギー、エントロピーを軸とした3次元グラフ(class2)

3次元空間の場合、点群の共分散行列を次のように定義する。

(1)   \begin{eqnarray*} A=\sum \left( \begin{array}{ccc} x'^2_i & x'_iy'_i& x'_iz'_i \\ x'_iy'_i& y'^2_i& y'_iz'_i\\ x'_iz'_i& y'_iz'_i& z'^2_i\\ \end{array} \right) \end{eqnarray*}

ただし、

x'_i=x_i-\bar x
y'_i=y_i-\bar x
z'_i=z_i-\bar x

である。

この最大固有ベクトルを、\be_1 とし、この軸への投影を、

(2)   \begin{eqnarray*} u_i = (x_i~~ y_i~~ z_i) \be_1 \end{eqnarray*}

とする。
u_i にたいして 大津の閾値 の手法で閾値\thetaを決める。

すなわち、単位ベクトルeを用いると、次の判別式で2値化する事になる。

(3)   \begin{eqnarray*} (e_{11}~~e_{12}~~e_{13}) \left( \begin{array}{ccc} x_i\\ y_i\\ z_i\\ \end{array} \right)> \theta  \end{eqnarray*}

アルゴリズム設計

設計したアルゴリズムを図4に示す。

対象と背景を分割するアルゴリズム

まず、あらかじめ平均(mean)、コントラスト(contrast)、分散(variance) 、エネルギー(energy)、エントロピー(entropy)を計算しておく。

次に5×5行列に拡張した式(1)を解き、最大固有ベクトルを求め閾値を求め、2値化処理を行う。

実験結果

class1の結果のヒストグラムを図5に、class2の結果のヒストグラムを図6に示す。

図5 class1のヒストグラム

図6 class2のヒストグラム

本手法で得られたclass1とclass2の2値化結果を図7、図8に示す。

図7 class1の画像結果

図8 class2の画像結果

精度評価

得られた2つの画像の精度の評価を行う。今回は正解画像が提供されているため、正解画像と出力画像との誤り画素数を計測する。

メディアンフィルタを用いる前の精度結果を表1に示す。

表1 本手法で得られた画像の精度

画像 正解画像との画素誤り(画素) 正解画像との画素誤り
class1 6046 2.306
class2 6125 2.337

表1より本手法を適用した結果、class1、class2共に約2.3\%の精度が得られた。

次にこの結果にメディアンフィルタを用いた結果を図9、図10に示す。

また、精度結果は表2に示す。

図9 class1の画像結果

図10 class2の画像結果

表2 メディアンフィルタを用いた結果

画像正解画像との画素誤り(画素)正解画像との画素誤り
class1 4046 1.543
class2 5688 2.170

表2より、メディアンフィルタが最後の処理として有効であることが分かる。

ソース

以下に作成したソース(必要であろうと思われる箇所のみ)。

ライブラリ部分

メイン部分

 - 2019年(社会人15年), 学業, テクノロジー, 調査結果

  関連記事

Windows2000をインストールしたらマウスから変な音が聞こえる

Windows2000へとうとう変更するときが来た。  なぜしないとい …

萌え波及?女の子主人公のサバイバル・釣り系漫画まとめ

魚介類捕獲系(釣り・サバイバル)漫画は昔から多くありましたが、最近はさらに増えて …

タイドプールでタコ捕り&磯遊び(千葉県・かなや編)

千葉市内に最も近く磯遊びができる場所に「金谷」があります。 と言っても富津市なの …

ドクター田平氏とダイヤモンドザイのテクニカル指標の有効性(protraシストレ)

浪花のカリスマ・トレーダーのドクター田平氏とダイヤモンドザイの「私のFXバイブル …

ネクスト and ポストソーシャルは何か?

2011年12月31日(土) よいお年を。 父親「遊んでばかりいるんじゃない!リ …

結局、タマゴは一日何個食べてよいのか?

「たまごはコレステロールが高いから1日1個まで」という話を聞いたことはありません …

Google検索シェアが一位でない国は

2011年11月13日(日) Google検索シェアが一位でない国は? 「サーブ …

5年目の兼業投資家の有効性検証(protraシストレ)

友人「久しぶり。何年ぶりだろうな。最近どうしてる?」 俺「ああ、仕事を辞めて今は …

Cygwin/XFree86のXサーバをインストールするも

そろそろ研究計画を決めないといけない。    夏休みのはずな …

twitter、facebookは流行しないと考える理由

mixi、facebook、twitter、blog を知った時「これは人気にな …