RaN227 ゴブリンクォーク9の肌目(テクスチャー)解析について

黒月樹人(KULOTSUKI Kinohito @ 9621 ANALYSIS)

ランダムノート2016ブランチページへもどる

 はじめに

 大きな変革をいっきに4つも組み込んだので、ゴブリンクォーク4から一気に5つ飛んで9となった、ゴブリンクォーク9という画像解析プログラムを改良し続けています。
 そのような大きな変化のための一つの解析項目が肌目(テクスチャー)解析でした。これの萌芽は2015年の前半あたりに、すでに生まれていたのでしたが、実際に使えるほどのものには育っていなくて、ずうっとそのままにしてありました。
 その間に取り組んだのは、2015年の大きなテーマであった小波(ウェーブレット)解析でした。さまざまなウェーブレット関数を組み上げ、かすかなイメージの画像から、そこに写っているものの、詳しい描画像を浮かび上がらせることに夢中になって、やってきました。
 やがて、この方法は、あまりにも感度が良すぎて、見なくてもよいものまで見えてしまい、かえってよく分からなくなっている、ということに気づき、もっと視覚的に見やすいものへと回帰することを思い立ち、シンプルな名前ですが、コントラスト解析というものを組みあげました。これは使えました。
 このような方針について考え続けているうちに、ゴブリンクォークの初期のころから生み出してある、このプログラムシリーズの屋台骨でもあったゴブリンアイを見直すためのヒントを思いつき、それを改良しました。
 やがて、このようにして、どんどん改良を重ねてきたゴブリンクォーク9の中に、生まれているものの、まだ、ひとり立ちしていない肌目(テクスチャー)解析を、なんとか一人前にしておかなければならないと考えるようになりました。
 すでに時は2016年になっています。肌目(テクスチャー)解析の解析ページに並べてあったZOO解析の内容を見直すことにしました。
 デジタルカメラをもって近くへ出かけ、河にかかった橋を渡っているとき、砂洲の様子を撮影し、ついでに河の流れを、遠くの山を、少しばかり雲が出ている空を、とばかりに、周囲の風景をかたっぱしから記録しました。
 家に戻って、これをコンピュータに取り込み、これまでに作ってあったZOO解析の、いろいろな動物解析で、どのような値が求まるのかを調べてゆきました。
 風景画像の内容を判別するというのが、このような解析法の本来の目的だったのかもしませんが、現在の私にとって、そのようなことが何らかの意味をもつとは思えません。そのようなことを仕事とするようにはなっていませんし、そのような技法を発展させて教えるような立場でもありません。
 私がなぜ肌目(テクスチャー)解析というものを自分なりにマスターして使いこなそうとしているかというと、ひょっとしたら、この方法を使って、UFO画像の中に写っているUFOが本物か偽物かを判定できるかもしれないと考えたからです。目的と目標は、ここにあります。
 このあと具体的なイメージに基づいて、解析手法がどのように発展してきたかということの流れについて説明します。

 ZOO解析

 説明のためにUFO画像を一つ選びました。次の図1ですが、これはフランス南部のUFOです。ビデオで撮影されたというものです。偽物っぽい状況のものなのですが、このビデオに写っているUFOが本物なのか偽物なのかということは、まだよく分かっていません。

図1 フランス南部のUFO code = FrS120[64]

 次の図2は「フランス南部のUFOについてのZOO解析」です。
 ZOO解析というのは12種類の動物解析のセットとして組み上げたシステムです。中央あたりに4×3の小さな解析図が並んでいます。これらの一つ一つが(ニックネームとしての)動物解析です。灰色の背景の中に、白と黒のパターンが見えているものがあります。これらの小さなユニットの左下に、動物解析のウェーブレット関数のパターンが示してあります。赤色がマイナス値で青色や緑色がプラス値で、白色部分はゼロ値です。
 図1の画像に対してウェーブレット関数で処理し、そのときの反応値を表示させているわけです。ウェーブレット関数の横の、上段の横向き棒グラフが出現率です。その値に応じたグラフが右のほうにあるAPPEARANCE RATEの縦線表示のグラフです。赤い縦線が図1の対象画像による値で、細かな線が、参照画像による値です。このZOO解析での参照画像は、空や森などの、自然の風景画像です。緻密に記録されているものが多いので、出現率は100%のほうに偏っています。比較的小さな出現率の画像としては、雲が浮かんだ空のものです。図1のUFO画像での出現率は、さらに小さなものとなっています。
 解析ユニットの下側の横向き棒グラフは、これらの出現率についての、図1のUFOのデータだけにおける、各動物解析の偏差値です。たとえばAさんが試験を受けて、国語や数学などのテストで何点かをとったとします。そのようなテストの点について、どれがよく点をとれたかということを見るための、Aさん個人における評価を見るための偏差値のようなものです。通常のテストで使われている偏差値の求め方とは違っています。このときの偏差値は、Aさんにおける得意種目のレベルを数値化するようなものです。
 対象画像の図1をAさんとすると、参照画像はBさんやCさんということになります。つまり、ZOO解析というのは、それぞれの画像の、得意な動物解析がどれで、どのくらい得意なのかということを偏差値で表したということになります。
 このような、出現率についての偏差値の値に応じたグラフが右下にあるDEVIATION VALUEの縦線表示のグラフです。赤い縦線が図1の対象画像による値で、細かな線が、参照画像による値です。一つの画像の中での、各動物解析についての偏差値なので、50を中心にして左右に広がっています。このときの、各画像の偏差値の平均はつねに50となります。

図2 フランス南部のUFOについてのZOO解析 code = FrS120[64]_ZOO
(画像をクリック → 原寸大のページへ)

 (テクスチャー)UFO解析

 (テクスチャー)UFO解析における動物解析のパターンはZOO解析と同じです。ただし、ZOO解析での参照画像が、空や森などの、自然な風景写真であったのに対して、UFO解析での参照画像は、(本物としての評価が高い)UFO画像となっています。
 つまり、このUFO解析では、他のUFO画像と、似ているのか似ていないのかを、動物解析に対する出現率の、その画像内での偏差値のパターンによって見分けようとするものです。

図3 フランス南部のUFOについてのUFO解析 code = FrS120[64]_UFO
(画像をクリック → 原寸大のページへ)

 このUFO解析のシステムによる解析結果を、いろいろと見やすく加工して、ある種の評価システムを生み出したのですが、このとき、せっかく12種類の動物解析を設定してあるにもかかわらず、出現率の大きな、上位4種目だけを取り上げ、他の8種目については無視することになってしまいました。
 なぜ無視するのかというと、そのウェーブレット関数における出現率がきょくたんに小さいからです。なぜ、そのような違いがでるのでしょうか。そのことを考えながら観察することにより、レリーフ解析のパターンのものは出現率が高く、テキスタイル解析のパターンのものが低くなっています。また、ウェーブレット関数を構成するときの、値を持っている色つき画素の数も影響しているようです。
 これらのことを考慮して、次のBOO解析のシステムを構成することにしました。

 BOO解析

 BOO解析では、各ウェーブレット関数の色つき画素の数を、みんな、赤色3つと青色3つに統一しました。そのような基本パターンを6つ選び、それを90度回転させたパターンとの6セットを12の解析ユニットとしました。今回のユニットには植物名をつけましたので、これらの下部解析を植物解析と呼ぶことになります。
 もうひとつ、大きく変えたことがあります。偏差値の求め方を、世の中の学校などで使われている方法に合わせたということです。たとえば、数学の試験がなされて、Aさんらが取り組み、それぞれの点をとったとします。このとき、この数学のテストでの、各人の点のばらつきに対して、Aさんのテストの点についての偏差値が求められるのが、ふつうの使われ方でした。このときの、数学などの教科を植物解析に置き換え、Aさんなどの個人を、対象画像や参照画像の、それぞれのUFO画像に置き換えて、今回の偏差値を求めてあります。

図4 フランス南部のUFOについてのBOO解析 code = FrS120[64]_BOO
(画像をクリック → 原寸大のページへ)

 BOON解析

 上記のBOO解析では、UFOが大きく写っているものでは、おのずと出現率が大きくなり、小さく写っているものでは、出現率が小さくなってしまいます。テストの総合点が大きいものほど、高い値の偏差値を集めることになります。大学入試などでは、そのような個人が選別されるわけですが、ここで扱っているUFO画像については、それを準備するものの責任になってしまって、UFO画像の評価につながりません。
 UFO画像の中でのUFOの写り方をどのようにして公平なものとするのか。これは大問題です。そこで、考え方を変えて、12種類の出現率の平均値を求め、それが常に50となるように、出現率のパターンを拡大もしくは縮小することにしました。すべてのUFO画像に関して、出現率の平均値は、ほぼ50あたりとなるわけです。ここで値の正規化(normalization)を行ったわけです。このときの頭文字NをBOOの後ろにつけて、この解析をBOON解析と呼ぶことにしました。
 図4と図5の大きな違いは、右上のAPPEARANCE RATEのパターンにあるわけです。もともとUFO画像なので、図4では左に偏っています。それを図5では50を中心として左右全体に広げたわけです。

図5 フランス南部のUFOについてのBOON解析 code = FrS120[64]_BOON
(画像をクリック → 原寸大のページへ)

 BOON解析の出現率と偏差値の標準偏差によるグラフ

  BOON解析のAPPEARANCE RATE(出現率)とDEVIATION VALUE(偏差値)の、それぞれについて、画像ごとに求めた標準偏差を考えます。標準偏差という値は、平均値を中心として、どのような広がり方をしているかということを表しています。
 対象画像や参照画像のそれぞれについて、APPEARANCE RATE(出現率)における12種類の植物解析で、どのように値が広がっているかを求めた標準偏差をX軸にとります。X=SD(AR)と表してあります。
 同じく、DEVIATION VALUE(偏差値)における12種類の植物解析で、どのように値が広がっているかを求めた標準偏差をY軸にとります。Y=SD(DV)と表してあります。
 そのようなX=SD(AR)とY=SD(DV)の値をグラフとしてプロットしたものが、次の図6です。このとき、赤い丸が対象画像についてです。ここでは図1のフランス南部のUFO画像のものです。
 少し色がつけてある丸は、これまでいろいろとしらべて、本物UFOとしての評価が高かったものです。数字のコードとしては901から909となります。以前のUFO解析で用いていたものとは変わっています。
 灰色の丸は、いろいろと調べて、あるいは、明らかに分かっているものもありますが、偽物UFOとみなされるものです。910から920までのものです。実は、このグラフの天井を超えてしまったものもあります。
 このようなグラフをまとめてみると、色がつけてある仮想本物UFOの分布と、灰色の偽物UFOの分布とが、大きく隔たっていることが分かりました。

図6 フランス南部のUFOについてのBOON解析の標準偏差グラフ
(画像をクリック → 原寸大のページへ)

 なぜこのような結果が出てきたのかということについては、あらためて詳しく説明することになるでしょうが、今回解析対象とした、図1のフランス南部のUFOは、ここでは見事に、仮想本物UFOグループに混じっています。
 これだけで、これが本物UFOだと判断するのは早計ですが、そのような判断のための基準を一つクリアーしたとみなすことができるわけです。

 まとめ

 ゴブリンクォーク9の肌目(テクスチャー)解析において、各動物解析をベースとしたZOO解析から始まって、参照データをUFO画像として編集したテクスチャーUFO解析へと変化させ、それらの問題点について考えてゆくことにより、ウェーブレット関数の種類を変えたことに対応して植物解析と名前を変えたベースのウェーブレット解析の結果をつかって、偏差値のとりかたを通常のものとし、その前に、出現率の平均値を50へと合わせる操作でデータの正規化を行うことにより、画像における、出現率と偏差値のそれぞれについての、標準偏差をXYグラフにプロットするという方法で、仮想本物UFO画像群と、ほぼ確実な偽物UFO画像群との間に、明瞭な分布の違いがみられるということが分かりました。

 追記としての感想

 何も「まとめ」を一文で書き記すことはなかったかもしれません。
 その気になれば、もっと分かりやすく表現することもできることでしょうに。でも、そう考えると、どこまで表せばよいのか、と考えて、その膨大な作業量におじけづいてしまいそうです。とにかく、できるだけシンプルに、おおよその流れだけを説明しておこうと思ってまとめました。
 わずか数日の間に、ただの看板だけであった肌目解析という「店」の内容を、ここまで豊かなものとすることができたことに、自分ながら驚いています。
 UFO画像を、本物と偽物に、確かな論理性をもって判断できるようにする、というのが、ほぼ1年前に思いついたことでした。
 とうとう、その「夢」が、かなったのかもしれません。
 図6として示したグラフは、とても強力なものです。
 ウェーブレット解析、コントラスト解析、ゴブリンアイ解析と、いろいろなテクニックの樹を育て上げ、それらとは比較にならない複雑さですが、より論理的な解析により、世界中のどこに出しても恥ずかしくないようなシステムを組み上げることができたようです。
 何か分かりやすい名前をつける必要がありそうです。
 ここまでの流れに乗って、テクスチャーBOON解析かな。あとから辞書を引いて調べたのですが、boonには「ありがたいもの、恩恵」という意味があるようです。悪くない。決まり。
 ちなみに、その前に決めたBOOは、ZOO(動物園)という言葉の音のことと、植物の「竹」をbambooと呼ぶことから、最後の3文字を切り取って決めたものです。口をとがらして言うときの「ぶー」という意味もあるようですが。
 (Written by KLOTSUKI Kinohito, Jan 13, 2016)

 

ランダムノート2016ブランチページへもどる