ImageNet データセット

1. ImageNet データセットとは [概要]

ImageNet とは,約1419万枚の大量の物体画像に対して「WordNetに沿った物体クラスラベル」と「画像中の物体ROIバウンディングボックス」をアノテーションした,物体認識むけの大規模な画像データセットである.ImageNetデータセットは,2010~2017に開催された,画像認識チャレンジ「 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)」向けに登場したデータセットであり,全体のうち100万枚程度は,物体領域のアノテーションはない.物体クラス数は全体では21K (21,000クラス)であるが,ILSVRCではそのうち汎用性の高い1K(1,000クラス)のみを対象にして物体認識モデルを学習する.

この記事では,ImageNetのデータセット構成(2節)と,ILSVRCでの2つのベンチマーク(3節),拡張データセット(4節)について述べる.また,最後の5節では,ImageNetの課題をまとめたのち, COCOなどが登場して,物体認識問題へフォーカスが移行していったことについて述べる.

ImageNetデータセットは,プリンストン大学のWordNet (Wikipedia)のうち,名詞語彙部分をもとに,画像認識向けの「画像入力・名詞・物体」版の,教師ラベルありの物体画像データセットを構築したものである.スタンフォード大のLi Fei Fei教授の研究室のチームによって,ImageNetは 作成・提案された WordNet の名前や語義を元に,その「画像版」をつくったものなので,ImageNet データセットと名付けられた(※ ちなみに,そのあと登場するActivityNet データセットは「動画入力・動詞・行動」版である).GloVeの主著者で,学生時にFei Fei先生のラボとのコラボが多かった Richard Socher も共著者である.

1.1 記事の構成

2節以降,以下の構成で,ImageNetの内容と,派生データセット,および課題について紹介する:

  • 1. 概要
    • 1.2 歴史的変遷
  • 2. ImageNetデータセットの構成
    • 2.1 ILSVRC での使用
    • 2.2 データセットの構築(アノテーション作業)
    • 2.3 WordNet と,画像との連携 
  • 3. ImageNetのILSVRC向けベンチマーク
    • 3.1 物体認識
    • 3.2 物体画像からの物体検出
  • 4. ImageNetを拡張したデータセット
    • 4.1 ImageNet-21K
    • 4.2 敵対的サンプルへの頑健性テスト用のImageNet拡張
  • 5. ImageNetの課題と,物体単位での認識への移行
    • 5.1 ImageNetの課題
    • 5.2 Open Images やCOCOなどの登場
  • 6. まとめ

1.2 歴史的変遷

2節以降で,細かい話をする前に,「ImageNetの歴史的な変遷」を最初に話しておいた方が,読者の俯瞰度が高くなり,わかりよい.

そこで,1.2節では「2009年から2017頃まで(1.2.1節)」と「2017年ごろ以降~2022年まで(1.2.2節)」の2つに分けて,ImageNetデータセットに関する,画像認識の大まかな流れを紹介しておきたい.

1.2.1 登場から2017年まで

ImageNetは2010年に開始された「ILSVRC チャレンジ」における物体認識(3.1節)・物体検出ベンチマーク(3.2節)において,教師あり学習用のデータセットとして使用された.そして,ILSVRCの最後の開催となる「ILSVRC2017」まで,物体認識(主にCNNバックボーン)の発展に大きく寄与することになった.

ImageNetが公開された2009年は,当時爆発的に増え始めていたインターネット上やスマートフォンの画像上に対して「これまでの画像識別のモデルを,どのように発展させてそのスケールの規模に対応させていこうか」というタイミングの時期であった (初代iphoneが2007年6月に発売).

そこに,スタンフォードのFei Fei Li (李飛飛)のビジョン研究室のチーム(Jia Deng, Olga Russakovsky [Wikipedia])は,自然言語処理ラボの Richard Socher (Google Scholar)ともコラボレーションし,「WordNetベースの単語階層を,そのまま画像のクラス階層に落とし込んだ」データセットである,ImageNetデータセットを,新たな物体認識・物体検出ベンチマーク向けのデータセットとして提案した.

ただし,物体検出や,インスタンスセグメンテーションなどの「物体インスタンスレベルで識別する物体認識」に業界の主眼が移行して以降は,COCO Object チャレンジが ILSVRCの代わりに,画像認識の主戦場となった(5.2節).ILSVRC自体もResNetの登場した2015年ごろ以降,CNNの物体認識精度向上が飽和してしまい,これ以上できることがなくなったためILSVRCは2017年に幕を閉じた.

1.2.2 2017年以降 〜 :「派生ImageNet」の派生データセットの活用が続く

2017年以降も「ImageNetの派生版」データセットがいくつか登場し,引き続き画像認識研究で定番データセットとして頻繁に使用されている.

大量データからの事前学習向けの,ImageNet-21K データセットが登場した(4.1節).例えば,2020年以降に研究が盛んな,巨大画像認識モデルであるViT(Vision Transformer)系のネットワークの事前学習に,ImageNet-21Kは用いられている.

一方,敵対的サンプルへの対応や,その対応を利用してのロバスト性向上を狙ったものとして, ImageNet-C, ImageNet-A, ImageNet-R というシリーズも登場している (4.2節).

2. ImageNet データセットの構成

2.1 ILSVRC での使用

ImageNet.トップ階層における各クラスの画像
図1 ImageNet トップ階層における各クラスの画像

ImageNet では,各クラスにつき500枚〜1000枚の画像が,(256 × 256) のサイズで用意され,合計約14Million(1400万枚)の画像から構成されている (図1).クラスごとにサンプル数がある程度均一化されており,出力ラベル数のバランスがとれたデータセット分布から,識別モデルを学習できるようにデータセットが構築された.

ImageNetは,Pascal VOC に基づいたアノーテーション形式を採用している.よって,1画像につき「中央に映っている1物体」に対してのみ「物体クラス」と「物体ROIバウンディンボックス」がアノーテーションされている.しかし,背景にも2個目以上の物体が映っている画像も多く,物体検出目的には向かないことがわかっていく(5.1.2節).

また,著者らチームはImageNetを用いた大規模物体画像認識のチャレンジである ILSVRC(ImageNet Large Scale Visual Recognition Challenge)を,2010年から2017年まで毎年開催した(ImageNet HP内での紹介).ILSVRCでは,ImageNetの全物体クラスのうち「1000クラス」が識別対象として選定され,ベンチマークとして用いられた.

2.2 データセットの構築(アノテーション作業)

ImageNet研究チームは,ImageNetの大量の画像に,クラスラベルとバウンディンボックスをアノテーションするチームを,Amazon Mechanical Turk で構成して作業を行った

当時は,このような大量データにアノテーションをつける例が,画像認識分野ではまだなかった.先行研究としてMITのAntonio Torralbaや,Kevin P. Murphy (MLaPPの著者) らによるLabel Me []や,80 Million Tiny Images (Wikipedia) []などで,アノテーションの負担軽減の初期研究が行われていたが,このImageNetが,最初の「超大量のラベルを,人力でアノテーションする」を最初に実行した例である.

2.2.1 ラベル付けの請負業が持つ「搾取工場」的な性質への注意

ただし, AMTなどの,低賃金な単純労働請負に特化したクラウドソーシングサービスは「搾取工場のインターネット現代版である」という批判がつきまとっている.AMTのWikipedia記事でも,「6 批判」において,この話題が触れられている.

近年のデータセントリックなAIの視点で言うと,機械学習・パターン認識モデルの価値を生み出すのは,モデル設計よりは「質の高いアノテーション作業」であることも多い.今では専門の企業も多く高い価値でアノテーション作業への対価が国内でも支払われているが,そのアノテーション作業が,かつては軽視され,安価に海外に外注されていたわけである.しかし,作業価値がわからない素人のかたから,国内のクラウドソーシングへ,非常に安価なアノテーション案件の募集を見かけることもあるのが現実ではある.

個人的にも,アノテーションを安価に外注するのは,モラル面であまりよろしくないと思う.皆様も,ときに無自覚で,そうした行為を行っていないかし,自らの襟を正すのは,良いかもしれない.そもそも,ImageNet などの,オープンな(他人の構築した)大規模データセットを使用する場合には,そうした AMTなどによる「安価なクラウドソーシングに外注した結果のラベル」を自分も使用している場合も多いことを忘れないようにしたい.

2.3 WordNet と,画像との連携 

ImageNetでは,図1のように,各物体クラスの総称とその種別が,WordNet (のシソーラスの)ツリー構造を通して,階層的に配置されており,ImageNetのデータセットを特徴づけている.例えば,WordNet側では,「dog」クラスの下に,もう少し具体的な「各犬種のクラス」が,それぞれ下位ノードとして存在している.このクラス間の階層構造を活用した予測モデル学習や,サブツリーごとに(例えば生物種類ごとに)クラス間のWordNet上距離も加味した学習を行うことも可能である.

しかし現実解としては,AlexNet以降の,画像識別用のCNNバックボーン の多くでは,(ImageNet-1Kの) 1000クラスを,全て平等に取り扱ってone-hot符号化し,1000クラス識別CNNを学習するのが通例であった.よって,WordNetの木構像グラフどおりの出力を学習させるなど,WordNet上の単語の「意味的な階層構造」や「単語間距離」を積極的に利用することはあまりなかった.

一方で,Few-shot学習やZero-shot学習などの,「単語間の距離や構造」に助けられて,画像認識モデルを作る「少数ラベル学習」の場合には,こうした「物体単語間の距離」がうまく活用できる.同様に,Vision and Languageでも,Image-Text間で2モーダルのJoint Embeddingを学習する際に,画像間の距離と,文章間や単語間の距離を,双方活用することになる.

3. ImageNet のILSVRC向けベンチマーク

ImageNetでは,ILSVRC 2010(第一回)向けに,以下2つの画像認識タスクが競われた.

  1. 物体認識(1000クラス)
  2. 物体検出

2.1節と2.2節で,これら2つのベンチマークについて紹介する.

初期のILSVRCでは「2.物体検出」も盛んでSelective Searchの提案などにもつながった.しかし,多数の物体が多様に写る画像から構成される 「COCO データセット」が登場して以降は,ImageNetの物体検出ラベルの出番が減っていき,ImageNetは,1.の1000クラス物体認識のみに特化されたデータセットとなった.

ただし,物体検出などの他のタスクでも,たまにImageNetの出番がある例が見受けられる(たとえば,YOLO v2の研究における「YOLO9000」の学習での ImageNet併用など).

3.1 物体画像認識

ISLVRC2012の物体画像認識において,AlexNetが圧倒的勝者になって以降,物体画像認識むけのCNNバックボーンの発展を支えることにもなったので,「ディープラーニングの発展」の視点でもImageNetは非常に重要なデータセットであるといえる.

また,小さい画像のCIFRA-10,CIFAR-100と,ImageNet-1000は,順に[10,100,1000]というクラス数になっている.これは少数クラス数/小画像サイズのCIFARで予備実験したあとに,1000クラス構成の普通サイズ画像のImageNetで本番実験という2段階実験を組みやすい .

これにより,CIFAR-10/100とImageNet-1000のペアは,以下のような2段階に分けた実験計画に使いやすくなった:

  1. 小サイズ画像で小クラス数の,CIFARによる小規模実験 (仮説な実証フェーズ) :
    • モデルの規模が小さくて住むので,少ない学習時間で学習・テストができる.
    • 学習や結果画像の様子を(特に深層生成モデルだと)デバッグ・可視化も行いやすい.
  2. CIFARででうまくいったら,今度はImageNetで学習とテスト(本格的な本番実験)
    • ImageNetなど,普通サイズの画像かつ,大規模クラス・大規模データ数で学習.
    • 小規模ながら1.で仮説を検証済みなので,自身を持って,大規模実験に長い学習時間をかけられる.

この「小さい画像データセット→うまくいったら大きな画像データセット」という2段階の実験規模変更の戦略は,画像認識問題だけではなく,深層生成モデルを用いた画像生成でも,有効である.ゆえに,「基礎研究はMNIST CIFAR-10などで実施」されたのちに,その発展版や応用研究が,大きなサイズの規模の大きな画像データセットが出て来るパターンも多くなった.

3.2 物体画像からの物体検出

ImageNetの各画像は,なるべく画像の中央に,1つの物体だけが収まって写っている画像が選定されている.これにバウンディンボックスがアノテーションされ,物体画像内の,(中心に写っている)主たる物体の検出を行う予測モデルの学習も,ILSVRCで行われた.ILVSRC2010では,この物体検出ベンチマークから,Selective Search の研究もエントリーされるなどした.

2009年当時は,そもそもFaster R-CNNYOLOのような,多数クラス物体検出の技術が確立できておらず,単一クラスの物体検出しかまだ存在しなかった.よって,Pascal VOC データセット(2007から登場)などと同じく,ImageNetも「まず画像中に1物体写っている設定から,徐々に問題設定を難しくしていって,解けるようにしていきましょう」という発想であり,「沢山の物体を写す画像で解く問題設定」は,解くのは難しいからまだ避けていた時代である.

詳しくは物体検出の記事の前半「単一物体検出」やDPMの章を参照.

4. ImageNet を拡張したデータセット

一方,ILSVRCの1000クラス識別は,CNNバックボーンの発展により性能が飽和したのもあり,2017で終了した.しかし,ディープラーニングの各課題向けの拡張されたImageNet 拡張データセットが登場し,近年あらためてそれらのデータセットを対象にして画像認識ネットワークの研究がされている.

4.1 ImageNet-21K

ImageNet-21K は21,000クラスで画像認識を行うための,ImageNet全体を用いたデータセットである.これまでILSVRC以降に主に使われていた1000クラス版のImageNet-1Kと区別するために,ImageNet-21Kと呼ばれる.ViT やMLP-mixerなどの,Transformer・MLPベースの巨大画像認識モデルを事前学習する際に,よく用いられている.

ImageNet-1Kはクラスごとのサンプル数もバランスが取れていて,クラス数も代表的な物体クラス1000種類に限定されていたので,画像の数も130万枚であった.それが,ImageNet-21Kは,アノテーションされている全21,000(21K)クラスの画像全てを用いるので,画像総数も1400万枚(14M)に増え,クラスの種類も非常に多様になり,かつ各クラスのサンプル数のバランスも崩れていて悪くなっている特徴がある

※ ViTの事前学習では,ImageNet-21Kで事前学習したあと,更にJFTデータセットの18,000クラス,3億枚の画像で学習する.

4.2 敵対的サンプルへの頑健性テスト用のImageNet拡張

4.2.1 ImageNet-C と ImageNet-P

逆に,CNNが誤識別しやすい隙を突く「敵対的サンプル(Adversarial Example)」によってImageNet画像を拡張しておくと,Corruptした苦手な画像に対しても性能が上がり,頑健性を向上できることがわかってきた.

そこで ImageNetの画像に対して,ブラーやノイズなどの,よくあるCorruptionPerturbationを加えておいた画像に対して,頑健性を試すためのデータセットとして, ImageNet-C, ImageNet-P が作成・公開された [Hendrycks and Dietterich, 2019] .

発表後 ImageNet-Cが,よく使用されている.

4.2.2 ImageNet-A と ImageNet-O

ImageNet-C, Pの主著者 Hendrycks氏は,”Natural Adversarial Examples” と銘打った,続編研究もそのあとすぐ発表した [Hendrycks et al., 2019].その中で,著者らは,(通常の) ImageNet事前学習済みResNetが,誤識別してしまう(人工的に作ったAdversarial Exampleではない)自然なAdvesarial 画像を拭くんだ,(1) ImageNet-A (Adversarial Exampleの体制) ,(2) ImageNet-O (Out-of-Distributionの検知)用の,2つのデータセットを新たに公開した.

このうち,ImageNet-A が,その後よく研究に用いられているが,ImageNet-Oも2022になってから使用例が増えている.

4.2.3 ImageNet-R (ImageNet-Rendition)

さらに,Hendrycsらは続編として,マンガやアニメや落書きなどの表現(rendition)において,各ImageNet物体クラスが誤識別しそうな敵対的サンプルへデータを集めたImageNet-Rを公開した[Hendrycks et al., 2021].

5. ImageNetの課題と,物体単位での認識への移行

5.1 ImageNetが抱える課題

ImageNetは,大学チーム(主にスタンフォードやプリンストン大)で作成されたデータセットで,なおかつ初めて行われた先進的な研究であった事もあり,5.1.1~5.1.3にあげる以下のような課題があることが,のちのち指摘されたり,研究開発で用いられるなかで判明していった:

  • プライバシー確保・公平性確保(バイアス)ができていなかった課題(5.1.1節)
  • 物体検出アノーテーションの不安定さ(5.1.2節)
  • (上述のデータセットとしての出来の悪さから生じる) 他タスクへの精密調整(fine-tuning)での問題(5.1.3節)

逆に言うと,ImageNetで出てきたこれらの知見・課題が,のちのデータセットや,アノーテーションでよく活かされるようになっていったのがImageNetの功績であると捉えられる.つまり,「ImageNetには問題があった」とネガティブに批判するのではなく,「問題点をあぶり出していくための,不完全なデータセットを最初に作ってくれた」というポジティブな見方もできる.多くの人が使用してきた先駆者かつ王者であるImageNetデータセットであるからこそ,これらの課題をあぶり出すことができたという側面もある.

5.1.1 プライバシー確保・公平性確保(バイアス)ができていなかった課題

画像認識系の膨大な近年の論文で,特によく指摘されてきたのは,以下の2つのImageNetの難点である:

  1. 画像に映っている人物のプライバシーの確保ができていない:
    • 画像データに,プライバシー面の配慮が足りないものがある.
    • 著作権的に微妙な画像も混ざっていたり「顔がそのまま写っている画像」も多く含まれている.
  2. データとラベルのバイアス(偏り)が大きい:
    • 「性差バイアス」や「人種バイアス」などが多い.
      • 例1: 白人の画像ばかりの構成であるせいで,黒人など,データが足りない他人種をうまく予測できない.
      • 例2:「キャビンアテンダント」は女性ばかりで,「パイロット」は男性ばかりである
    • 差別防止の観点以外にも,そもそもデータ(分布)として含まれている人種や性別以外では,うまく認識されないモデルができあがる問題も生じる.

正直,もし私が最初にImageNetをつくったとしても,上記2つの課題を先につぶした良いデータセットを,設計してかつ実行できた自信はなく,Fei Fei先生たちも,素直に(WordNetのラベルに従って)とりあえず最初のデータセットを作っただけであると思う.しかし,これらは実用では解決したほうがよい課題であるので,解決するべき問題として以後は活発に研究される展開になった.

5.1.2 物体検出アノーテーションの不安定さ

アノーテーションをクラウドソーシングしたこともあってか,ImageNetの物体検出用のバウンディングボックスには,一貫性の足り無さ,つまりは「正解ボックスの不安定さ=誤差の多さ」が含まれている問題がある.

クラス認識にだけ使用すれば,バウンディングボックスの質の悪さは関わってこないところであるが,ImageNetの画像には背景にも物体クラスとしてラベルづけすべきものが写っていることが多い.したがって,本来は,5.2節でこのあと述べるCOCOやOpenImagesのようなデータセットを用いて,「全ての物体ボックスに,ボックスの正解とラベルの正解がアノーテーションされている」という,マルチラベル,マルチボックス設定で学習すべき画像もImageNet中には非常に多い.

※ これは自己教師有り学習をImageNetで行う場合にも,考慮すべき問題ではある

5.1.3 他タスクへの精密調整での問題

物体検出やインスタンスセグメンテーション用のCNNを学習するために,ImageNetで事前学習したCNNバックボーンを,精密調整することが多々ある.

よって,その事前学習に用いるデータが,5.1.1節,5.1.2節のような問題を抱えていると,ImageNet-1Kで事前学習したモデルを,物体検出向けデータセットで精密調整したときに,(1) プライバシー保護されていないモデルなので,商用しづらくなる問題や,(2)事前学習モデルの質が悪いと,精密調整後の別タスクモデルの性能も悪くなる,という問題も抱える

5.2 Open Images やCOCOなどの登場

ImageNet 1Kの登場当時やILSVRCの前半の頃(2010~2013年)は,業界の画像認識研究の主眼はクラス識別であった.それが,R-CNNの登場の頃から,物体検出とインスタンスセグメンテーションも,大きな研究対象となる.それに伴いCOCO データセットや,Google の Open Images データセットなどが登場し,物体単位(Object-level)での画像認識がよく研究されるように,主眼が移ったと言える.

ImageNet-1Kが中心の時代(2010~2013年)は,物体が1つだけ写っている画像を解こうとする時代であった.それが, Faster R-CNNYOLO, SSDが登場した2015年前後以降は,COCOやOpen Imagesなどのように,物体インスタンス領域単位でのROI単位のタスクが多く取り組まれる時代になってきた.実際,ILSVRC終盤の時期(2016, 2017年)は,COCO object detection チャレンジの方が盛り上がっていった.COCO やOpen Imagesには,画像キャプションや人物キーポイントなど,ラベルだけ追加で増えていったこともあり,更にImageNetからの移行が早まった.

また,バックボーンをResNetにした物体検出では, ImageNet事前学習は省略して,スクラッチからの学習のみでも,十分な精度達成が済むことがわかってきており [He et al., 2019],(データの規模の大きさが確保できるか次第であるが)ImageNet事前学習は,クラス識別以外のタスクだと不要となりつつもある (詳しくは,スクラッチからの学習の記事の,3.2節を参照のこと).

6. まとめ

ImageNetデータセット,その性質や課題や,後継のデータセットについて紹介した.

2節では,初の「大規模画像データセットをクラウドソーシングで作成」し,これはその後多くの研究開発者が,大規模なコンピュータビジョン向けデータセットを構築する際の,礎となったことを述べた.一方で,アノーテーション作業の外注は「現代の搾取工場となりうること」への注意喚起も書いた.

3節ではImageNet・ILSVRCの2つのベンチマークタスクは,物体画像クラス識別と,物体検出であることを話した.4節では,ILSVRCが役割を終えて以降も,拡張されたImageNetがよく使われていることを示した.ImageNet-21KがViTの事前学習で使われている事と,敵対的サンプル界隈でも用いられているImageNet-A, ImageNet-C について紹介した.

5節では,ImageNetについてわかってきている課題をいくつかまとめた.オリジナルのImageNetでは,データやラベルのバイアスの問題がある.また,物体検出や複数物体認識目的にも不十分でうまく使えない「1画像-1物体ラベルのみ」の設定である.物体認識の記事で述べたように,物体認識の問題設定は物体中心画像に限定する処理なので,ImageNetは,シーン画像から多数の物体を検出・認識する用途では使えない.

物体インスタンスで予測するタスクへに,研究者の主眼が推移していった時期の話をし,それらのタスクでは,事前学習にImageNetを用いており,かつてはImageNet事前学習への依存度が高かったことも話した.一方,ResNetバックボーン時代では,物体検出・インスタンスセグメンテーションなどの物体単位の予測タスクでは,スクラッチからの学習で十分精度が確保できていることも触れた.

関連書籍

References

  • [Deng et al.,2009] Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li, and Li Fei-Fei. Imagenet: A large-scale hierarchical image database. In CVPR, 2009.
  • [He et al., 2019] Kaiming He, Ross Girshick, and Piotr Dollar. Rethinking ImageNet pre-training. In ICCV, 2019. 
  • [Hendrycks and Dietterich, 2019] Dan Hendrycks and Thomas Dietterich. Benchmarking neural network robustness to common corruptions and perturbations. arXiv preprint arXiv:1903.12261, 2019.
  • [Hendrycks et al., 2019] Dan Hendrycks, Kevin Zhao, Steven Basart, Jacob Steinhardt, and Dawn Song. Natural adversarial examples. In ICLR, 2019.
  • [Hendrycks et al., 2021] Hendrycks, D., Basart, S., Mu, N., Kadavath, S., Wang, F., Dorundo, E., Desai, R., Zhu, T., Parajuli, S., Guo, M., Song, D., Steinhardt, J., and Gilmer, J. The many faces of robustness: A critical analysis of out-of-distribution generalization. In ICCV, 2021.
  • [Russakovsky et al., 2015] Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, San-jeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, Alexander C. Berg, and Li Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. IJCV, 2015.

参照外部リンク