COCO(Common Object in Context) dataset①|機械学習の有名データセットや評価指標を確認する #6

f:id:lib-arts:20190713175658p:plain

連載の経緯は#1にまとめています。

#1〜#3では2005年〜2012年頃の画像認識のデータセットとして有名なPASCAL VOCについて取り扱いました。

また、#4、#5では自然言語処理に用いられるGLUE(General Language Understanding Evaluation)について取り扱いました。

#6では2015年頃から整備され始めたCOCO(Common Object in Context)について取り扱います。

COCO - Common Objects in Context

以下目次になります。
1. COCOデータセットの概要
2. データセットの確認
3. まとめ


1. COCOデータセットの概要
1節ではCOCO(Common Object in Context)データセットの概要についてまとめます。

f:id:lib-arts:20190713183043p:plain

COCO - Common Objects in Context
上記が公式ページですが、概要に掴むにあたって、「What is COCO?」について確認していきます。

f:id:lib-arts:20190713183354p:plain

以下上記を簡単に要約します。

COCOは物体検出(object detection)、意味分割(segmentation)、画像説明文(captioning)を行なっている大規模のデータセットです。COCOは下記のいくつかの特徴を持っています。
1) 物体の意味分割
2) contextにおける認識
3) 高解像度
4) 33万の画像(20万以上がラベル付けされている)
5) 150万の物体のアノテーション
6) 80の物体のカテゴリ
7) 91のstuffのカテゴリ
8) 画像あたりに5つのキャプション
9) 250,000人のkeypoints

 少々こちらだけだと読み取れないので、データセットを実際に確認しながらこちらと紐付けていくのが良さそうです。
また、同じページ内に下記のような論文のリンクがあります。

f:id:lib-arts:20190713185241p:plain

[1405.0312] Microsoft COCO: Common Objects in Context

以後、こちらを確認していきます。確認にあたってAbstractを要約していきます。

要約
物体認識においてSOTAをさらに発展させるために新しいデータセットを提案する。これは自然な文脈において共通なobjectを含む日常における複雑なシーンの画像を集めることで実現された。データセットは4歳児でも簡単に判別できるであろう91の物体の種類の画像を含む。32.8万の画像における250万のラベルづけされたインスタンスに基づいた、このデータセットの評価はクラウドワーカーによって実現された。

PASCAL VOCの画像データが1万枚程度でカテゴリ数が20であったことを考えるとどちらも大きく上回っていることがわかります。
以下、論文のFigureを中心に確認していきます。

f:id:lib-arts:20190713190811p:plain

まず上記がFig.1です。 Fig.1では物体認識(object recognition)のタスクの詳細についてまとめられています。(a)が画像識別(Image classification)、(b)がObject localization、(c)が意味分割(Semantic segmentation)、(d)がSegmenting indivisual object instancesについて取り扱っています。

f:id:lib-arts:20190713191615p:plain
次にFig.2についてが上記です。ここではアイコン的な(iconic)画像かどうかについて着目し、分類を行なっています。(a)が物体のアイコン、(b)がシーンのアイコン、(c)がnon-iconicな画像とされています。

f:id:lib-arts:20190713192032p:plain

上記のFig.3では、アノテーションの流れ(Annotation Pipeline)について表されています。三つのステップに分かれており、(a)は論文の4.1で言及されているカテゴリのラベリング、(b)はラベル付けされたデータの場所のマーキング、(c)はそれぞれのインスタンスのセグメンテーションについて行なっています。

f:id:lib-arts:20190713192758p:plain

上記のFig.6です。これは実際にアノテートされたデータのサンプルを確認できます。

f:id:lib-arts:20190713193201p:plain

上記がFig.7です。これは物体のマスクを意味しています。
その他もいくつかFigureがありましたが、大体のイメージがつかめたので1節はここまでとし、2節では実際にデータの確認を行なっていきます。


2. データセットの確認
まずはデータセットのダウンロードを行います。

f:id:lib-arts:20190718120332p:plain
画像(Images)のダウンロードにあたってはどれもサイズが大きいので、"2017 Val images [5K/1GB]"をダウンロードして確認を行なってみました。こちらについては画像データなので、いくつかサンプルとして例示してみます。
・000000566524.jpg

f:id:lib-arts:20190718120501j:plain

・000000581482.jpg

f:id:lib-arts:20190718120543j:plain

・000000581781.jpg

f:id:lib-arts:20190718120604j:plain
上記のように様々な種類の画像セットがデータセットに含まれています。
次にアノテーションを確認していきます。"2017 Val images [5K/1GB]"に対応すると思われる"2017 Stuff Train/Val annotations [1.1GB]"をダウンロードして中身の確認を行います。

f:id:lib-arts:20190718122830p:plain

"2017 Stuff Train/Val annotations [1.1GB]"をダウンロードして解凍すると上記のようなフォルダ構成となっています(stuff_val2017_pixelmaps.zipの解凍後のキャプチャのため、実際はstuff_val2017_pixelmapsのフォルダは最初にはないと思います)。まずはstuff_val2017_pixelmapsフォルダの中身を確認していきましょう。

f:id:lib-arts:20190718123009p:plain

上記のように"2017 Val images [5K/1GB]"と同様のIDが振られているようなので、前述と同じIDの画像を確認してみます。
・000000566524.jpg

f:id:lib-arts:20190718123105p:plain
・000000581482.jpg

f:id:lib-arts:20190718123144p:plain
・000000581781.jpg

f:id:lib-arts:20190718123200p:plain

このように画像のセグメンテーションのような画像がstuff_val2017_pixelmapsには保存されています。


3. まとめ
#6ではCOCOデータセットについて確認を行いました。
#7ではImageNetについて取り扱えればと思います。