大規模画像データセット

最近は画像認識・検索で用いられるデータセットも大規模化が進んでいます。
いくつか代表的なものや最近見つけたものをまとめてみます。
(ここでの目安は、教師つきデータは10万枚以上、教師なしデータは100万枚以上のもの)

ImageNet

http://www.image-net.org/
自然言語処理の分野で有名なWordNetオントロジーに従って、各単語(今のところ名詞のみ)に対応する画像を収集したものです。Amazon Mechanical Turk を利用し、質の高いデータセットを構築するように工夫されています。日々データは蓄積・更新されており、2012年1月現在、約1400万枚の画像データ(2万2千カテゴリ)が集まっているようです。

  • アノテーションは基本的に1画像1カテゴリで、一部の画像には物体の位置を示すbounding boxもついています。カテゴリによっては十分な数の画像がないので注意が必要です。
  • データセットは、非商用の研究・教育目的以外では配布できないとのことです。おそらく何らかの研究機関に属していないと難しいと思います。各画像の元URLのリストは配布されているので、そこから各画像をダウンロードすることはできます。8割程度のデータは回収可能です。
  • 画像から抽出した生のSIFT特徴や、これをBoVWにしたものも提供されています。これらは誰でも入手できます。

ImageNetのデータの一部を用いた画像認識コンペティションも既に二度開催されています。上位陣のスライドが公開されており、いろいろ参考になります。
http://www.image-net.org/challenges/LSVRC/2011/

Tiny Images Dataset

http://horatio.cs.nyu.edu/mit/tiny/data/index.html
データ量勝負の画像認識では一番有名な研究かもしれません。
32x32ピクセルの非常に小さい画像8000万枚のデータセットです。なんでわざわざそんなに小さくするのかという感じがしますが、人間はそれくらいの大きさで大抵の画像を理解できるのでまずそこから始めようという趣旨のようです(少なくともパターン認識的には次元が小さくなってうれしいので)。また、この大きさなら8000万枚でも数百GBで収まるのも便利なところです。

  • 画像の収集には既存の画像検索エンジンを使い、クエリをそのままメタ情報として使っています。ImageNetと違い人手によるクリーニングは行われていないのでノイズはとても強いです。
  • 32x32の画像に加え、大域的特徴量の一つであるGIST特徴も配布されています。

なお、8000万枚の中からカテゴリを絞り、きちんと教師をつけたCIFAR-10/100というデータセットも提供されています。
http://www.cs.toronto.edu/~kriz/cifar.html
どちらも大きさは6万枚ですが、CIFAR-10は10カテゴリ、CIFAR-100は100カテゴリで構成されています。
これらのデータセットは、unsupervised feature learningのベンチマークとして用いられることが多いです。
http://zybler.blogspot.com/2011/02/table-of-results-for-cifar-10-dataset.html

MirFlickr1M

http://press.liacs.nl/mirflickr/
MIRはマルチメディア検索の国際会議です*1。これは、そのコミュニティが画像検索の評価用に構築したデータセットで、Flickrの画像100万枚からなります。Flickrの画像なので、比較的リッチなメタ情報(タグ、位置情報、EXIFなど)がついていますが、もちろん画像認識向けに管理されているわけではないので役に立つかは分かりません。

  • クリエイティブコモンの画像を使っているので、わりと自由に使えそうです。

CoPhIR

http://cophir.isti.cnr.it/whatis.html
これもFlickrの画像を用いたデータセットで、なんと1億600万枚の画像が含まれます。データセットのダウンロードには、管理者の許可が必要です。

  • サムネイル画像はデータセットに含まれているようです。
  • MPEG-7の画像特徴も一緒に入っています。

SBU captioned photo dataset

http://dsl1.cewit.stonybrook.edu/~vicente/sbucaptions/
これは少し変り種で、画像の自然言語での要約を目的としたデータセットです。100万枚の画像と短文のペアで構成されています。画像は全てFlickrのようです。

  • 元画像は今のところ配布されていません。自分でFlickrからダウンロードする必要があります。
  • あらかじめ抽出したGIST特徴が提供されています。

Tsai et al, ICCV'11

http://cpl.cc.gatech.edu/projects/VisualSynset/
画像検索エンジンを用いて構築したデータセットで、2億枚の画像、30万個のラベルで構成されているそうです。性質としてはtiny imagesに似ていると思われます。画像は元のURLしか公開されていませんが、自力でwebデータをクローリングする手間を考えればそれでもけっこうありがたいかも知れません。

NUS-WIDE

http://lms.comp.nus.edu.sg/research/NUS-WIDE.htm
Flickr画像を使ったデータセットで、画像数は27万枚です。少し小さめですが、データセット開発者によりラベル付けが完全に管理されていること、一枚の画像に複数のラベルがつけられていることが特徴です。これは、画像アノテーションと呼ばれる分野では重要な性質です。
特徴量が提供されていることもあり、機械学習系の論文で最近よく見かける気がします。

  • 画像そのものは配布されていませんが、SIFTをはじめとするさまざまな特徴量がダウンロードできます。

SUN dataset

http://people.csail.mit.edu/jxiao/SUN/
シーン認識に特化したデータセットで、Mechanical Turkを用いて構築されています。画像数は13万枚ほどですが、クラス数は約900と多いです。

  • 元画像が直接配布されています。
  • 上記のページで、画像特徴量を抽出するコードが公開されています。

MSRA-MM

http://research.microsoft.com/en-us/projects/msrammdata/
MSRAの提供している、マルチメディアデータセットです。1165種類のクエリに関連した100万枚の画像、23000個の動画が含まれているそうです。また、コンテンツに関連したwebページのメタ情報も一緒に提供されています。

YouTube Video

http://netsg.cs.sfu.ca/youtubedata/
300万個以上のyoutube動画からなるデータセットらしいです。詳しくは把握していませんが、ビジョンというよりはソーシャル系の研究で使われたようです。

  • 提供されているのはメタ情報だけです。動画自体は自分でyoutubeからダウンロードする必要があります。

TRECVID

http://trecvid.nist.gov/
TRECのビデオ版です。毎年開催されているコンペティション型のワークショップで、膨大な量の映像データの認識・検索を行います。ビジョンのみならず、音声データなどもフルに活用します。
ちなみに、2011年度の一位は東工大です。
http://www.titech.ac.jp/topics/news/detail_2430.html?id=topics

*1:今はICMRに統合されています。

Paper Gestalt

明けましておめでとうございます。
お正月ということで、ちょっと変わった楽しい論文(?)を紹介したいと思います。

Carven von Bearnensquash, "Paper Gestalt", Secret Proceedings of Computer Vision and Pattern Recognition, 2010.
http://vision.ucsd.edu/sites/default/files/gestalt.pdf

2010年のCVPRで参加者に配布されたジョーク論文で、UCSDの学生が書いたようです。もちろんこんな名前の人は実在しません。
ビジョン業界の査読の傾向を皮肉る内容で、「中身なんて読まなくても見た目の印象でアクセプト・リジェクトが判断できるぜ!」というのを実際に画像認識で実験してみたものです。論文自体はネタですがやってる実験はおそらくガチです。
著者は,良い論文の視覚的特徴として、

  • カラフルな図
  • かっこいい数式
  • ページがちゃんと埋まっていること

などを挙げており、これらを基本的な画像特徴で表現したものをpaper gestaltと名付けています。


(Cited from [Bearnensquash, 2010])

以下、内容をかなり適当にまとめてみます。

1. Introduction

近年,ビジョン系の国際会議への投稿件数は飛躍的に増えており、査読者への大きな負担となっている.
例えば,CVPRへの投稿数はこのままのペースだと2020年には2000万件を超えてしまう.


Figure 1. Paper submission trends. (Cited from [Bearnensquash, 2010])

このため,査読の自動化は重要な課題である.
本研究では,"論文の質は,中身なんて読まなくても全体のレイアウトをちら見するだけで推測できる"という直感に基づき,基本的な画像認識の技術を用いて論文のアクセプト・リジェクトを判断するシステムを構築する.

2. Previous Work

先行研究なんて,あるわけない.

3. Approach

Figure 2の様に,論文中の全8ページを横に並べ,1132x200の一枚の画像として扱う.8ページに満たない場合は白紙で埋める.
この画像から,画像特徴としてLUVヒストグラムHOG, gradient magnitudeを抽出し,AdaBoostによって識別器を構築する.


…ところで,我々は経験的に,数式が論文の見栄えを向上させ採択の確率を上げると考えている.その観点から判断すると,本論文中の数式の数はまだ十分でない.そこで,本論文の内容とは全く関係ないが,以下にマクスウェル方程式を記載し見栄えを向上させることにする.

4. Experiments and Results

4.1. Data Acquisition
論文が採択されるためには,良いデータセットの選択が重要であることが知られている*1.目的とする識別器を学習するためには,良い論文(正例)とダメ論文(負例)を集めなければならない.
今回は,正例としてCVPR'08, ICCV'09, CVPR'09の本会議で発表された論文を用いる.問題は負例の方で,本来はリジェクトされた論文を収集する必要がある.しかし, これは困難であるため,近似的にワークショップで発表された論文を負例として用いる事にする*2
最終的に,1196個の正例,665個の負例からなるデータセットを構築した.

4.2. Performance Evaluation
データセットを75%の学習データ,25%のテストデータにランダムに分割し,5交差検定によって評価する.Figure 4にROCを示す.人間の査読者もどうせそれなりにミスることを考えると,15%程度の"良い論文"をリジェクトしてしまうことは許容できると考えられる.この場合,提案システムは50%以上の"ダメ論文"をリジェクトでき,査読者の負担を半減できることが分かる.


Figure 4. Obligatory ROC curve. (Cited from [Bearnensquash, 2010])

4.3. Analysis
最後に,まさに我々のこの論文(Figure 8)を提案システムに入力したところ,88.4%の確率でCVPRに採択されることが判明した.これは,カラフルな図や頭良さそうに見える数式で構成されていることが奏功したものと思われる.
我々の論文の主な欠点は8ページのうち5ページまでしか埋まっていないことである.しかしながら,通常CVPRの標準ページ数は6ページであり,7,8ページ目の収録には1ページあたり100$の超過料金が発生する.このことから,我々の論文は標準より1ページ少ないため,逆に100$を受け取ることが期待できる.


5. Conclusion and Future Work

本研究では,投稿論文の質は基本的な画像特徴から推定可能である事を示し,これをpaper gestaltと名付けた.
もちろん,このようなシステムはイタチごっこをうむ可能性があり,ダメ論文の著者はより多くのカラフルな図や数式を投入するようになるかも知れない.しかしながら,コンピュータビジョンの技術が発達すれば,そのような表面的な小細工(例えば,我々のマクスウェル方程式)は看破できるようになると信じる.

感想

いろんな意味でよくできた論文だと思います(笑)。この分野の研究者なら、誰もが「あるある」と感じるのではないでしょうか。よい論文、良い査読とは何か、考えさせられますね。

ところで、査読に使うかはともかく、このようにドキュメントを見た目そのまま画像として扱うアプローチは結構面白いのではないかと思ったりもしています。うまく使えば、自然言語処理だけでは必ずしもうまく出てこない、ドキュメントのぱっと見の印象をうまく利用できるかも知れません。

Web Page Classification Using Image Analysis Features, Viktor de Boer, MaartenW. van Someren and Tiberiu Lupascu, WEBIST 2011.
http://www.springerlink.com/content/x82786k415pn4222/

*1:D. LaLoudouana, L. Tecallonou, and J. Puzicha. Data set selection. Journal of Machine Learning Gossip.

*2:個人的に,一番爆笑したところです。ひどい…笑。念のために補足すると、本会議でリジェクトされた論文をワークショップにまわすことは確かによくあります。

シーン認識サーバを作ってみた

以前から趣味で作ってた画像認識サーバが一応動くようになったので紹介したいと思います。
http://www2268u.sakura.ne.jp/uploader/upload.php 引っ越しました。
http://www6255uf.sakura.ne.jp/sun397/upload.php

(※アップロードされた画像はその場で破棄しています。)

概要

  • 前回のエントリで紹介したSUN397シーン画像データセットで学習した認識システムが動いています。ベンチマークでの認識率は37.8%で、現在の先端研究とほぼ同等の精度です。
  • 風景画像とか、室内画像のシーンをある程度認識できます。データセットの画像は主に海外の人が撮った写真なので、欧米の風景写真の方が認識できる確率が高いようです。
  • さくらのVPSで、一番安いもの(VPS512)を使ってます。非力です。アクセスが殺到したら多分やばいです(笑)

自分が旅行に行ったときの写真を適当に入れてみました。上から順番に、上位5つのクラスを表示しています。ここでのscoreはクラスとの近さを示すので、値が小さいほどそれっぽいということです。

手法

昔大学で開発した手法を焼きなおしたものを使っています。局所特徴記述子はRGB-SURFとself similarityを使っていますが、BoVW表現は用いていません。

  • Hideki Nakayama, Tatsuya Harada, Yasuo Kuniyoshi, Dense Sampling Low-Level Statistics of Local Features, ACM International Conference on Image and Video Retrieval (CIVR 2009).
  • Hideki Nakayama, Tatsuya Harada, Yasuo Kuniyoshi, Global Gaussian Approach for Scene Categorization using Information Geometry, IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2010).

元々これは、有名な高次局所自己相関特徴(HLAC)の枠組みを任意の局所特徴記述子で利用したものなのですが、実は最近ブレイクしつつあるFisher vectorと密接な関係があります。というか数学的にはまんまFisher vectorです*1。すなわち、ガウシアンが一つのみの場合のFisher vectorと解釈することができます。ただ、本家Fisher vectorでは分散行列の非対角要素のパラメータを省略しているのに対し、こちらでは密に全てとっている点が異なります。これは異なるエッジの相関の強さを表す情報なので、直感的にも重要なのではないかと思うわけです。

となると気になってくるのは、GMMで分散のパラメータも密にとったらどうだろうということですが、それに近いものはもうあったりします。これはFisher vectorというよりはVLADの考え方が出発点ですが、結局のところ似たような話な気がしています。

David Picard and Philippe-Henri Gosselin, IMPROVING IMAGE SIMILARITY WITH VECTORS OF LOCALLY AGGREGATED TENSORS, ICIP'11

*1:恥ずかしながら、この研究やってた当事はFisher vectorを知らなかったのですが、後でその存在を知ってがっかりしたのを覚えています。

シーン認識データセット

今日は、画像のシーン認識の歴史について、データセットを中心にまとめてみたいと思います。
シーン認識というと人によっていろいろ違うものを想像する気がしますが、ここで扱うのは単純な画像全体のカテゴライゼーションの問題です。
Caltech101みたいな物体認識とは何がちがうんだ?と思われるかもしれませんが、実際のところ明確な区別はありません。少なくとも現在では、技術的にもほぼ同じ枠組みで扱われることがほとんどです。私が思う違いを強いて挙げるなら、物体認識は画像中の特定領域に対象を関連付けることができる(すなわち、検出ができる)のに対し、シーン認識はあくまで画像全体との対応である場合が多いことでしょうか。

以下、代表的なデータセットを古い順にいくつか紹介します。
データセットの名前は、開発者の頭文字+クラス数で呼称されているものが多いので、ここでもそれにならいます。(最近はそうでもないですが)

OT8

Modeling the shape of the scene: a holistic representation of the spatial envelope
A. Oliva, A. Torralba
International Journal of Computer Vision, Vol. 42(3): 145-175, 2001.
http://people.csail.mit.edu/torralba/code/spatialenvelope/

MITのTorralbaさんは古くからシーン認識の問題に取り組んでおり、さまざまなアプローチで現在に至るまで最先端の成果を出し続けています。この論文は、大域的特徴量として現在でも広く用いられているGIST特徴を発表したもので、シーン認識の論文としては最も有名なものの一つです。データセットは8クラスで、うち4クラスが自然風景(coast, forest, mountain, open country)、4クラスが人工物の風景(street, inside city, highway, tall building)からなります。
(LabelMeデータの一部なので、画像領域のアノテーションデータもありますが、カテゴライゼーションタスクではこれは用いません。)

最近はあまり使われなくなってきたように思います。ただ、画像のアノテーションとカテゴライゼーションの同時最適化のようなタスクではたまに見かけます。

VS6

Semantic Scene Modeling and Retrieval for Content-Based Image Retrieval. Julia Vogel and Bernt Schiele.
International Journal of Computer Vision. Vol. 72, No. 2, pp. 133-157, April 2007.

この方も、コンピュータビジョンの立場からシーン認識に取り組んだパイオニアの一人です。
データセットCorel画像を用いたもので、6クラス700枚とやや小ぶりであるものの、全ての画像の10x10のパッチにattributeがラベル付けされています。この研究では、このような中間表現を経由した識別を行っています。ただ、その後の研究では単純にカテゴリラベルだけ用いた識別モデルの方が優勢になっています。(最終的な評価が識別性能で行われる以上、仕方ないことかもしれませんが)「Vogelらの手法では各訓練画像にパッチレベルで大量のラベル付けを行う必要があったが、提案手法ではカテゴリラベル一つでよく、性能も勝る」みたいなことを毎回書かれることになり、ちょっとかわいそうな感じです。

このデータセットは、最近では全く見かけることはなくなりました。というか手に入るのかも分かりません。。

FP13

L. Fei-Fei and P. Perona. A Bayesian Hierarchical Model for Learning Natural Scene Categories. IEEE CVPR. 2005.
http://vision.stanford.edu/resources_links.html

この論文では、OT8に新たに5クラス追加し、13クラスにしたデータセットで実験を行っています(画像はグレースケール)。LDAを画像認識に応用した研究例としても有名です。
現在では、後述するLSP15が主流になっているため、ほとんど見ることはなくなりました。

LSP15

Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories
S. Lazebnik, C. Schmid, and J. Ponce, CVPR 2006
http://www.cs.unc.edu/~lazebnik/

現在、一般物体認識にはなくてはならないツールの一つである、spatial pyramid matchingが提案された論文です。GISTもそうですが、シーン認識の文脈から意外と重要な技術が生まれていることが分かります。
ここでは、FP13にさらに2クラス追加したデータセットを用いています。

FP13にしてもそうですが、なぜわざわざデータセットを先行研究と比較不可能な形にするのか謎ですね。
ともあれ、この後LSP15はシーン認識におけるデファクトスタンダードベンチマークとして長く用いられることになります。現在でも現役ですが、最近は認識率のスコアが上がりすぎて苦しくなってきた感があります。

MIT Indoor 67

Recognizing Indoor Scenes. A. Quattoni, and A.Torralba.
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2009.
http://web.mit.edu/torralba/www/indoor.html

OT8を出したTorralbaさんのところが新しく作ったデータセットで、室内シーン限定の67クラス15620画像からなるデータセットです。ちょうどこの頃からAmazon Mechanical Turkが盛んに利用されるようになり、このような大きなデータセットが作れるようになってきました。
論文では、室内シーンの識別は屋外シーンの識別より難しいという主張がされています。確かに、これくらいクラス数が増えるとかなり曖昧になってくる気はします。

このデータセットも少し使われ始めていますが、後続のSUN397に注目を奪われてしまい、あまり日の目をみないで終わってしまうかもしれません。

SUN 397

SUN Database: Large Scale Scene Recognition from Abbey to Zoo
Jianxiong Xiao, James Hays, Krista Ehinger, Aude Oliva, and Antonio Torralba
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), San Francisco, CA, June 2010.
http://people.csail.mit.edu/jxiao/SUN/

またTorralbaさんのところが発表したもので、397クラスからなる現在最大のシーン認識データセットです。
現在、SUNデータセット全体は900クラス以上画像があり、セグメンテーションマスクなども提供されているようですが、これはその中からある程度画像数のあるクラスに絞ったものです。

かなり大規模であるため、今のところあまり使っている例を見ませんが、今後はこれがデファクトスタンダードになっていくものと思います。

State-of-the-arts

ついでなので、知っている範囲で現在の最高スコアをまとめてみました*1
(あくまで私の見たものだけです。もし他にあれば教えていただけるとありがたいです。)

データセット 認識率(%)
LSP15 88.1 [Xiao et al. CVPR'10], 88.2 [Krapac et al. ICCV'11], 89.8 [Gao et al. CVPR'10]
Indoor 67 37.6 [Li et al. NIPS'10], 41.8 [Bo et al. NIPS'11], 43.1 [Pandey et al. ICCV'11]
SUN 397 38.0 [Xiao et al. CVPR'10]

*1:VS6, OT8, FP13についてはここでは割愛しますが、Cristani et al. ICCV'09とかよさげです。

大量の画像で出来ること

世の中はビッグデータ一色のようですね。コンピュータビジョン界隈でも大量の画像データで何が出来るかは盛んに議論されています。今日は有名なのを軽くまとめてみたいと思います。

画像内容認識

一番分かりやすいのは、大量のラベル付画像データを用いたパターン認識です。"More data beats better algorithm" はあちこちで言われていますが、画像認識の分野もこの方向へ進んでいます。あまり面倒くさいことしなくても、単純なノンパラメトリック手法(k最近傍法とか)で十分なんじゃないか、みたいなお話です。
いろいろあるのですが、特に有名なのはMITのTorralbaさんの研究でしょうか。

A. Torralba, R. Fergus, W. T. Freeman, 80 million tiny images: a large dataset for non-parametric object and scene recognition, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.30(11), pp. 1958-1970, 2008.
http://groups.csail.mit.edu/vision/TinyImages/

また、MSRAではこの方向の研究が精力的に行われています。以下の論文では、20億枚もの画像を用いて画像アノテーションを行っています。

Xin-Jing Wang, Lei Zhang, Ming Liu, Yi Li, Wei-Ying Ma, ARISTA - Image Search to Annotation on Billions of Web Photos, IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2010.
http://research.microsoft.com/en-us/projects/arista/overivew.aspx

ソーシャル画像のマイニングも熱いトピックみたいです。顔画像なんかでは一部実用化されつつあるようですが・・・

By Zak Stone, Todd Zickler, and Trevor Darrell, Toward Large-Scale Face Recognition Using Social Network Context, Proceedings of the IEEE | Vol. 98, No. 8, August 2010

また、時間軸に沿った大規模データがあれば、画像トピックの時系列的なマイニングもできるかも、とのこと。

Gunhee Kim, Eric P.Xing, and Antonio Torralba, Modeling and Analysis of Dynamic Behaviors of Web Image Collections, European Conference on Computer Vision (ECCV 2010), Crete, Greece, September 5-11, 2010.
http://www.cs.cmu.edu/~gunhee/r_dynamic.html

大規模画像内容認識については、手法的な部分も含めいずれもう少し詳しくまとめたいです。

画像文章化

上の画像認識とけっこうかぶるのですが、最近では単に画像をカテゴライズするだけでなく、自然言語で要約しようという試みも増えつつあります。ただ、まだあまり大規模にやっているものは少ないようです。

  • Ali Farhadi, Seyyed Mohammad Mohsen Hejrati, Mohammad Amin Sadeghi, Peter Young, Cyrus Rashtchian, Julia Hockenmaier, David A. Forsyth, Every Picture Tells a Story: Generating Sentences from Images, ECCV 2010.
  • Siming Li, Girish Kulkarni, Tamara L Berg, Alexander C Berg, and Yejin Choi, Composing Simple Image Descriptions using Web-scale N-grams, CoNLL 2011
  • Yezhou Yang, Ching Lik, Hal Daum´e III, and Yiannis Aloimonos, Corpus-Guided Sentence Generation of Natural Images, EMNLP 2011
  • Vicente Ordonez, Girish Kulkarni, Tamara L. Berg, Im2Text: Describing Images Using 1 Million Captioned Photographs, NIPS 2011
  • Yoshitaka Ushiku, Tatsuya Harada, Yasuo Kuniyoshi: Automatic Sentence Generation from Images, ACM Multimedia 2011

自然言語処理の学会で発表される場合もあり、今後さらに増えそうです。

画像の品質・芸術性評価

画像投稿サイトでは、多くの人が投稿された画像に評価やコメントをつけています。これらを利用して学習を行うことで、画像のよしあしの推定が自動で行えるようになりつつあります。

  • Masashi Nishiyama, Takahiro Okabe, Imari Sato, Yoichi Sato, Aesthetic Quality Classification of Photographs Based on Color Harmony, CVPR 2011
  • Sagnik Dhar, Vicente Ordonez, Tamara Berg, High Level Describable Attributes for Predicting Aesthetics and Interestingness, CVPR 2011

画像・位置変換

近年では、画像の撮影場所が記録されたジオタグ付画像も大量に存在します。次の研究では、ある画像と類似したジオタグ付画像を検索することで、その画像が世界のどこで撮影されたかを推定します。

James Hays and Alexei A. Efros, IM2GPS: estimating geographic information from a single image, CVPR 2008
http://graphics.cs.cmu.edu/projects/im2gps/

Chao-Yeh Chen and Kristen Grauman, Clues from the Beaten Path: Location Estimation with Bursty Sequences of Tourist Photos, CVPR 2011
http://vision.cs.utexas.edu/projects/location-estimation/cvpr2011_location.htm

画像補完

次の研究では、類似画像を利用して画像の補完を行います。Computational photographyの分野でよくやられているタスクです。これも非常に有名です。

James Hays and Alexei Efros, Scene Completion Using Millions of Photographs, ACM Transactions on Graphics (SIGGRAPH 2007). August 2007, vol. 26, No. 3.
http://graphics.cs.cmu.edu/projects/scene-completion/

三次元再構築

これまでのとは少し毛色が違いますが、大量の画像の3次元的な位置あわせをしながら、元の3次元構造物の復元をすることができます。

Noah Snavely, Steven M. Seitz, Richard Szeliski, "Photo tourism: Exploring photo collections in 3D," ACM Transactions on Graphics (SIGGRAPH Proceedings), 25(3), 2006, 835-846.
http://phototour.cs.washington.edu/

Sameer Agarwal, Noah Snavely, Ian Simon, Steven M. Seitz and Richard Szeliski, Building Rome in a Day, ICCV 2009
http://grail.cs.washington.edu/rome/

最近の研究では、点群だけでなくかなり密に復元することもできます。リンク先のビデオはなかなか圧巻です。

Yasutaka Furukawa, Brian Curless, Steven M. Seitz and Richard Szeliski, Towards Internet-scale Multi-view Stereo, CVPR 2010
http://www.youtube.com/watch?v=ofHFOr2nRxU

時系列に沿って復元することも出来るようになってきたみたいです。古い画像にはタイムスタンプがない場合がほとんどなので、推定しながら復元するみたいです。

Grant Schindler and Frank Dellaert, Probabilistic Temporal Inference on Reconstructed 3D Scenes, CVPR 2010

世の中の進歩は速いですね。今後どうなっていくか楽しみです。

Bag of Visual Words

Bag of visual words (BoVW)は、一般物体認識において現在最も広く普及している画像特徴表現で、画像中の多数の局所特徴をベクトル量子化ヒストグラムにしたものです。最近はOpenCVなどのツールの普及により使いやすくなってきましたが、実際に使ってみようとすると細かい部分でつまづくことも多いのではないでしょうか。最新の研究では認識精度が飛躍的に向上していますが、局所特徴抽出などの細かいノウハウの蓄積による部分もかなり大きいと思います。
(そのような部分は学術的な新規性は低いため、論文ではさらりと書いてあることが多いのですが)

以下、自分が把握しているノウハウをまとめてみたいと思います。ただし、私自身の経験や主観に基づくものであり、絶対的なものではないことにご注意ください。
また、BoVWについて基本的な知識があることを前提としています。

画像サイズ

まず、そもそも画像はどれくらいの大きさ(解像度)がいるのか、経験がないと迷うところだと思います。
これに関しては扱うタスクの性質次第としか言いようがないですが、一般的にはそれほど大きな解像度は必要ありません。
例えば、現在一般物体認識のベンチマークとして用いられているデータセットでは、一辺200〜300ピクセル程度の大きさに揃えれば十分です。
画像の細かい構造を見たい場合はもう少し大きくてもいですが、それでもVGA程度の大きさがあれば問題ないと思います。

局所特徴量

局所特徴としてはSIFTが定番ですが、他にもSURF、HOG、LBPなどさまざまなものが使われています。BoVWにすることが前提の場合、輝度勾配ベースの局所特徴であればそれほど性能差はないのではないかと思います。SURFは計算も比較的速く、使いやすいのでよく利用しています。
これに限らず、color descriptor、self similarity descriptorなどいろいろな選択肢があります。

  • Koen E. A. van de Sande, Theo Gevers and Cees G. M. Snoek, Evaluating Color Descriptors for Object and Scene Recognition, IEEE Transactions on Pattern Analysis and Machine Intelligence, volume 32 (9), pages 1582-1596, 2010.
  • Eli Shechtman and Michal Irani, Matching Local Self-Similarities across Images and Videos, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2007)

局所特徴のサンプリング方法

BoVWにする場合、ここが非常に重要な部分です。最も大事なのは、dense samplingと呼ばれる方法で特徴抽出を行うことです。
もともとSIFTなどでは、difference of Gaussianなどのフィルタにより視覚的顕著性のある特徴点を抽出し、オリエンテーションとスケールを正規化した局所特徴を記述します。しかし、この方法でとられた局所特徴をBoVWにすると性能がかなり悪いことが経験的に知られています。これは、視覚的に顕著な点が必ずしも識別に有効であるとは限らないためであると考えられます。また、一枚の画像から得られる局所特徴数が少なくなる傾向にあるため、統計的な安定性の観点からも問題となります。

  • Eric Nowak, Frédéric Jurie, and Bill Triggs, Sampling Strategies for Bag-of-Features Image Classification, ECCV 2006.
  • Li Fei-Fei, Pietro Perona, A Bayesian Hierarchical Model for Learning Natural Scene Categories, CVPR 2005.

Dense samplingでは、固定のグリッドで特徴抽出を行う点を定め、全ての点でオリエンテーション、スケールを固定した局所特徴をとります。やること自体は非常にシンプルですが、大事なポイントが2つあります。

  1. グリッドの幅(隣り合う特徴点同士の距離)はできるだけ狭いほうがよいです。極端に言えば、全てのピクセルで特徴をとってもよいです。最低でも10ピクセル間隔、できれば5ピクセル、3ピクセル間隔くらいで抽出するといい性能が出ます。もちろん、サンプリングを密にするほど計算コストは大きく増えるので、現実的なところで設定する必要はあります。
  2. 局所特徴記述子のスケール(抽出窓の大きさ)は、一般的には、20〜30ピクセル程度にすることが多いようです。さらに、同じ点から異なる複数のスケールで特徴をとると性能が向上することが知られています。例えば、16ピクセル、24ピクセル、32ピクセル、などのスケールの特徴を同時にとります。このように、スケール方向の軸についても密にサンプリングを行うことで、画像中の物体の大きさの変化に頑健になります。また、画像あたりの局所特徴数を水増しする効果もあると思います。以下の最新の研究では、なんと8スケールからとっています。

Josip Krapac, Jakob Verbeek, Frédéric Jurie, Modeling Spatial Layout with Fisher Vectors for Image Categorization, International Conference on Computer Vision, 2011

Visual wordの作成(クラスタリング

ここも経験がないと迷うところだと思います。直感的には、多数の局所特徴をクラスタリングするのは大変な作業に思えますが、文献を見てもあまり丁寧に記述されていない場合が多いです。(k-meansで1000個のvisual wordを作成しました、以上。のような感じ)
実は最近の研究では、クラスタリングの過程そのものはあまり重要ではなく、むしろそのあとのコーディング(ヒストグラム作成に相当する部分)が性能を決定する上でクリティカルであることが示されています。

  • Eric Nowak, Frédéric Jurie, and Bill Triggs, Sampling Strategies for Bag-of-Features Image Classification, ECCV 2006.
  • Adam Coates, Andrew Ng, The Importance of Encoding Versus Training with Sparse Coding and Vector Quantization, ICML 2011.

これは経験的にも知られており、多くの場合クラスタリングはかなり適当にやられています*1
クラスタリングに用いるサンプルは、多くの場合数十万点から百万点程度で十分です。一枚の画像から数千点程度の局所特徴を抽出することを考えるとかなり少なく感じますね。クラスタリング手法はk-means法が定番ですが、これも真面目に収束を待つと大変なので、適当な回数反復計算を行って打ち切ればよいと思います。

ただし、visual word(セントロイド)の数は十分大きくとる必要があります。基本的に、大きければ大きいほど性能は上がります。一般的には、数千から数万くらいの数にとる場合が多いです。

ヒストグラム作成(コーディング)

ここまでくれば、あとはやることはシンプルです。画像中の各局所特徴について一番近いvisual wordを求め、投票してヒストグラムを作るだけです。基本は全てのvisual wordについての線形探索になりますが、visual wordの数が大きいと大変なので近似最近傍法などを入れてもよいでしょう。これについてはあまり詳しくないので省きます。

適切なカーネルの利用

無事にBoVWがとれれば後は適当な識別器に放り込むだけですが、線形識別器、あるいは線形カーネルはそのまま利用すると極端に性能が落ちます。ここでは、ヒストグラムインタセクションカーネルカイ二乗カーネルなどを使うべきです。(本当にものすごく性能が変わります)
ただし、カーネル法を使うとサンプル数に対するスケーラビリティが落ちるため、大規模なデータからの学習が困難になります。そのような場合はexplicit embeddingと呼ばれるアプローチで、元のBoVWを高次元の空間に移すと認識性能を損なわずに線形識別器を適用することができます。この点については、以下のPFIさんの解説が素晴らしいです。

線形識別器でカーネルトリックを使う方法
http://research.preferred.jp/2011/09/kernel-trick/

なお、どうしても元のBoVWに線形識別器を適用したい場合、単純に各要素の平方根をとるだけでもBhattacharyyaカーネルと等価になるため、多少ましになるのでお薦めです。

  • Subhransu Maji, Alexander C. Berg, Max-Margin Additive Models for Detection, ICCV 2009.
  • Andrea Vedaldi, Andrew Zisserman, Efficient Additive Kernels via Explicit Feature Maps, CVPR 2010.

認識性能と計算コストのトレードオフ

Dense samplingで抽出する特徴を密にしたり、visual wordの数を増やせば当然計算量は増えます。いかに性能を落とさず計算コストを下げるかについては、以下の文献が参考になると思います。

J.R.R. Uijlings, A.W.M. Smeulders and R.J.H. Scha, Real-time Visual Concept Classification, IEEE Transactions on Multimedia, 99, 2010.

この論文では、さまざまな局所特徴記述子や次元圧縮手法、近似最近傍手法について調査がされています。また、例えばSIFTは通常4x4の小グリッドからヒストグラムを抽出しますが、これを2x2にしても性能がほとんど変わらないというような細かい実装についても報告がされています。

その他のテクニック

認識性能を上げるための工夫として、まず元になる学習サンプルを水増しする手が考えられます。単純に、左右を反転させた画像を加えるだけでも性能がかなり向上することが知られています。

K. Chatfield, V. Lempitsky, A. Vedaldi, A. Zisserman, The devil is in the details: an evaluation of recent feature encoding methods, British Machine Vision Conference, 2011

これが許されるかはタスクの性質によりますが、場合によってはさらに人工的に変形を加えた画像を加えることも可能であるとおもいます。
(ただし、データセットに対する認識スコアを競うベンチマーキングでこれを行うと反則扱いされてしまうかも知れないので注意が必要です)

また、同じ局所特徴記述子であっても、通常のBoVWに加えエッジ画像から生成した別のBoVWを併用することで性能向上が行えることが報告されています。

Jianxin Wu, James M. Rehg, Beyond the Euclidean distance: Creating effective visual codebooks using the histogram intersection kernel, ICCV 2009.

もともとSIFTやSURFなどの局所特徴は輝度勾配ベースなので、エッジ画像からとってもあまり意味的な違いはない気がするのですが、少なくとも実験的には有効なようです。

*1:上記の文献では、ランダムに選んだvisual wordでもそれほど性能が低下しないことが示されています

Self similarity descriptor

Self similarityは面白い特徴で、個々の画像内での類似したパッチのなす形状を抽出するものです。世の中の大半の特徴は輝度勾配ベースなのに対し、この特徴は質的に異なる情報をとれるため注目されています。
http://www.wisdom.weizmann.ac.il/~vision/SelfSimilarities.html

OpenCVにも実装があるようですが、ちょっとまだ情報が少ない気がします。研究者の間でよく使われているのはここのコードです。
http://www.robots.ox.ac.uk/~vgg/software/SelfSimilarity/

これも、今までに構築したOctave環境で問題なく動作しました。
まあ、ほとんどの部分はC++で書いてあるので当然ですが・・・

octave:1> mex mexFindSimMaps.cpp
octave:2> example
warning: your version of ImageMagick limits images to 16 bits per pixel
Computing self similarity descriptors
Descriptor computation done

画像認識に使う場合、他の局所特徴と同様にbag-of-visual-words表現にしてしまうのが一般的なようです。