2020年5月31日(日) 03:53 JST

建築情報の画像検索システム -AI(機械学習)メモ vol.1

  • 2020年4月 1日(水) 16:37 JST
  • 投稿者:

はじめに

研究室では現場支援やAR/MR/VRなどのxR系の研究で、マーカトラッキングや三次元復元(SfM)などを良く扱っています。例えばマーカトラッキングでは、映像に含まれるマーカを探し、それとカメラとの相対的な位置関係を求める、といった処理が行われているのですが、このように映像から元の世界の情報を得ようとする技術をコンピュータビジョンと呼びます。最近では、このコンピュータビジョンにも深層学習(深層学習はAI・機械学習の一種)が導入されるようになっていて、「この写真は犬?猫?」といった画像の分類を行う深層学習はニュースなどで目にしたこともある方も多いかと思います。

さて、機械学習はなかなかパワフルで、当研究室で研究しているテーマでも諸問題の解決に導入することが増えてきました。ただ、各テーマの中でスポットで使うという場合が多く、これまであまり紹介する機会がありませんでした。ということで「AI(機械学習)メモ」シリーズでは、これまでないし今取り組んでいる研究テーマについて、AI(機械学習)に重心を起きつつ、使っているAI(機械学習)関連技術の紹介を試みようと思っています。


     

検索対象の例(サヴォア邸)


ということで「建築情報の画像検索システム」(画像をクエリとした建築情報検索システムの実現に向けた類似画像検索技術の検証、日本建築学会技術報告集、第19巻 第42号、pp.775-778、2013.6)について。


「建築情報の画像検索システム」は未知の建築物の画像を入力するとそれの名称(それと同じ建築物の既知の画像)を返す、といった建築画像の検索システムを試作したものです。AIを用いた画像処理は大きく「分類」と「検出」に分けられますが、これは前者の分類に当たるものです。とはいえ、この研究が行われたのは2012年頃、時期的には第三次AIブーム(2006~)の最中ではありますが、ILSVRC: ImageNet Large Scale Visual Recognition Challenge(画像認識コンペティション)において 所謂Deep Learning(Hinton先生によるAlex-net)が登場したのがちょうど2012年、ということで当時よく用いられていた(そしてDeep Learningにとって替わられた)各種の特徴量を組み合わせた手法が分類に用いられています。このシステムの試作で用いられているのはSIFT特徴量、カラーヒストグラム、BoF(Bag of Features)と呼ばれる特徴量です。

まずわかりやすいカラーヒストグラムから。ここではRGB=255*255*255=16581375色で表される色を64色に減色してヒストグラムを定義しています。また、例えば上の方に青が多い傾向と下の方に青が多い傾向は意味が異なる場合も多かろうと、下図のように画像を5×5のグリッドに分割し、それぞれの領域においてヒストグラムを作成しています。画像間のマッチ具合は、各グリッド間の距離(Bhattacharyya距離:ヒストグラム間の距離を求める際によく使われる計算方法)の総和により求めます。グリッド毎に求めた距離の総和が小さければ同じ建築物ではなかろうか、と推論に用います。


SIFT(Scale Invariant Feature Transform)特徴量は輝度分布を用いた特徴量で、画像中の特徴点一つに対し128次元(要素)のベクトルとして表される特徴量です。ベクトル間の距離(ユークリッド距離)を求めることで、この画像のこの特徴点と、こっちの画像のこの特徴点はマッチ(同じ点を意味)している、とかそういった使い方ができます。下図はこの特徴量を可視化したものですが、各円の中心、ピンポイントに特徴量が表されることから、局所特徴量と呼ばれることもあります(対してカラーヒストグラムのような特徴量は大域特徴量と呼ばれます)。映像間でマッチした特徴点の個数が多ければ同じ建築物、と推論します。

    

SIFT特徴量


BoFはざっくり言えば、映像内で求めた局所特徴量の集合をクラスタリングし、その傾向を特徴量としたものです。もう少し正確には、まず全ての映像から求めた特徴量をK-Means法にてクラスタリングし特徴量の仕分け箱(Visual Wordsと呼ばれます)のようなものを定義します。画像毎に含まれる特徴点(ここではSIFT)をこの仕分け箱に分けていき、ヒストグラムとしたものを特徴量として用います。画像に対し一つのヒストグラムが特徴量になるので、局所特徴量の傾向の大域特徴量と説明できるわけです。ヒストグラム間の距離が近ければ、その画像のもつ局所特徴量の傾向が近い、ということになり、同じ建築物が写っているのではと推論します。

この研究で提案している検索システムでは、上記三つの特徴量を組み合わせたスコアを評価に使っています。実際の組み合わせ方はややこしいので割愛しますが、組み合わせ、とは例えば、特徴量による評価毎に類似度が1位なら10点、2位なら9点…10位なら1点、以降0点とし、その総和を求める、とかそういったイメージです。正答率(同じ建築物の写真が1位になる)を高めるために、SIFT特徴量による得点は2倍にする、などチューニングが行われることもあります。検索システムに用いる特徴量の選定やパラメータのチューニング、スコアリングのための組み合わせのチューニングを経て、31名の建築家による100件の建築作品についてそれぞれ10枚の画像を集めた1,000枚の画像データセットでは、1位に正答(同じ建築作品の画像)が選ばれる確率が78.5%、10位以内に正答が含まれる確率が91.6%という結果になりました。

Deep Learning以前の画像分類は、上記の流れが典型の一つとなっています。検索に用いる特徴量やマッチングのアルゴリズム、スコアリングのチューニングが正答率の肝であり、ある種の職人技を要するとも言われています。Deep Learningはこのあたりが機械学習によって行われる点が特長でしょうか。そういえばこのデータセットにDeep Learningを適用するとどうなるか実験していませんが、おそらくエイヤで実装したモデルでも、このシステムより高い正答率が得られるかと思います。次回のメモでは、Deep Learning版の画像分類をタイル施工におけるタイル色判別に導入した例について紹介したいと思います。

注:本記事(+論文)にて用いた建築作品画像はインターネットで収集したものです。


最後になりますが、用語やその定義、あるいは機械学習(AI)に関する系譜などについては筆者(加戸)のざっくりとした理解に基づいていますのでご注意ください。致命的な誤りなどありましたら記事へのコメントにて教示くださればと思います。


以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。

  • 建築情報の画像検索システム -AI(機械学習)メモ vol.1
  • 投稿者:著者A on 2020年4月23日(木) 05:46 JST
久しぶりに(ちょっと用事があって)HP見てみたら懐かしい記事が…
今見返すと、その論文を書いていた頃にはもう既にDeepLearningが使われ始めていた事に驚きますね。当時はニューラルネットワークはそれほど実用性はない、と認識してましたが、まさかこんな世の中になるとは。正しく情報をキャッチし続けることの大事さに気付かされます。