連載
» 2020年09月08日 05時00分 公開

AI・機械学習のデータセット辞典:ImageNet:大規模なカラー写真の画像データベース

データセット「ImageNet」について説明。1400万枚以上のカラー写真(教師ラベルは2万カテゴリー)の画像データ(のURLなど)が無料でダウンロードでき、画像認識などに利用できる。主に研究/教育目的で用いられてきた歴史的に有名なデータセットであるが、現在では多くの問題も指摘されている。

[一色政彦,デジタルアドバンテージ]
「AI・機械学習のデータセット辞典」のインデックス

連載目次

データセット解説

 ImageNetは、1400万枚以上もあるほど大規模な、「カラー写真」の教師ラベル付き画像データベースである。その教師ラベルは、WordNet階層*1に基づいて付与されている。スタンフォード大学のフェイフェイ・リ(Fei-Fei Li)氏を中心とした研究グループが管理しており、世界中の研究者や教育/学びに役立ててもらうためのリソースとして公開されている。

*1 WordNetとは、英語の語彙(ごい)データベースであり、synsetと呼ばれる「同義語(synonyms)セット」がツリー階層構造でグループを形成しながら定義されているのが特徴である。ImageNetでは2万以上のsynsetが採用されている。


図1 ImageNet公式サイト 図1 ImageNet公式サイト

ImageNetの歴史的な重要性

 ImageNetは、歴史的に非常に有名である。2012年に開催されたImageNetの大規模画像認識コンペ「ILSVRC(ImageNet Large Scale Visual Recognition Challenge)」で、AlexNetというCNN(畳み込みニューラルネットワーク)モデルが登場し、それをきっかけにディープラーニングが注目されるようになった。

 ILSVRCは、2010年から2017年まで毎年開催され、画像認識におけるディープラーニングの発展に寄与した。最後となったILSVRC 2017の開催直後に、画像認識コンペの役割のバトンをKaggleに渡すことが宣言された。現在では、ImageNetは各種モデル間のパフォーマンス比較(いわゆるベンチマーク、例えば2012年当時のCNNと最新論文の手法との精度比較など)に用いられることが多いようだ。

 このように歴史的な重要性があるImageNetだが、2020年現在ではさまざまな問題が言及されるようになってきた。

ImageNetが抱える多くの問題

 ディープラーニングを用いたAIが(学術研究だけなく)一般社会に浸透してくるにつれて、AIの公平性が強く求められるようになってきている。ImageNetも例外ではなく、例えばsynsetのカテゴリー分類において「不適切/不快なラベルの削除」や「人の配下にあるサブカテゴリー群(例えば人種や性別など)における分布の調整」などが2019年に行われている(詳しくはこちらを参照)。

 さらに、プライバシー保護のための顔ぼかしなどの対策も「継続的に実施している」と表明されている(詳しくはこちらを参照)。ただしその進捗(しんちょく)は、(表明されてからすでに1年近くたつことから)滞っているようである。

 また2020年には、アノテーション(=ラベル付け)に関する問題を指摘する論文が公開されている。具体的には、ImageNetでは「1つの画像=1つのラベルしか付与しない」仕様となっているが、画像内に複数の対象が映り込んでいるケースもあり、「ラベル付けが正解ではない」という主張である。例えば「桟橋」とラベル付けされた画像に、実際には「桟橋」と「波止場」と「船」など複数の対象が映り込んでいる場合などである。ちなみにこの問題を回避するため、新たなラベルとしてReaL(Reassessed Labels)がその論文内で提案されている。この状況については「画像認識の定番データセットImageNetはもう終わりか - Qiita」が詳しいので、そちらを参照してほしい。

 このような状況からImageNetの先行きはあまり明るくない(と筆者は考えている)。またImageNet公式サイト自体も、一部でAdobe Flash(2020年12月に配布終了)が依然として用いられているなど、時代遅れで使いづらい側面がある。最近ではグーグルが提供する「Open Imagesデータセット」といった代替候補となり得る大規模画像データベースも登場してきているので、今後はそういったものを代わりに使った方がよいかもしれない。

利用方法

 上記のようにあまり推奨できる状態ではないが、前述の通り、ベンチマークとして使われるケースはまだまだあると思うので、最後に使い方を簡単に紹介しておこう。

 ちなみに、ImageNetを使って訓練された「学習済みモデル」も多数ある。例えばKeras Applicationsで利用可能なモデル(例えばResNet50やVGG16、InceptionV3など)は、weights='imagenet'という引数を付けてクラスをインスタンス化することで簡単に利用できる。

ダウンロード方法

 ImageNetは、下記の公式ページからダウンロードできる。具体的なダウンロード方法は、リンク先のページにおける手順説明に従ってほしい。

 なお、ImageNetのオリジナル画像はインターネット上に存在する第三者の画像ファイルであり、それに対するリンクURLとsynset(教師ラベル)を公開しているに過ぎない(各画像の著作権はリンク先にある。ただしリンク切れになっていることも多い)。オリジナル画像アーカイブ(非公開)のダウンロード(許可制)も、公式サイトにログインすることで申請可能である。

図2 ImageNetデータセットのダウンロード手順(Google翻訳で日本語化したバージョン) 図2 ImageNetデータセットのダウンロード手順(Google翻訳で日本語化したバージョン)

TensorFlow Datasets

 TensorFlowでは、ILSVRC 2012のImageNetデータセットだけでなく、以下のようにさまざまに加工されたデータセットが提供されている。ただし、一部(具体的には「手動」と記載したもの)は画像データセットを自動的にダウンロードできないので注意が必要だ。それぞれの使い方は、各リンク先を参考にしてほしい。

  • imagenet2012手動): ILSVRC 2012のデータセット
  • imagenet2012_corrupted手動): ILSVRC 2012データセット内の画像に一般的な破損を追加することによって生成されたデータセット
  • imagenet2012_subset手動): ILSVRC 2012のサブセット(全体の1%である1pct構成=12811枚と、10%の10pct構成=128116枚)
  • downsampled_imagenet:32x32(デフォルト)/64x64ピクセルにサイズ変更されたデータセット
  • imagenet_resized:8x8(デフォルト)/16x16/32x32/64x64ピクセルにサイズ変更されたデータセット
  • imagenet2012_real手動): 前述の新ラベル「ReaL」を採用したデータセット

PyTorch

 PyTorchでは、シンプルにtorchvision.datasets.ImageNetクラスが提供されている。

 詳しくは上記の公式ドキュメントとソースコードを参照してほしい。以前のtorchvisionバージョン0.4.2までは自動ダウンロード機能が提供されていたが、torchvisionバージョン0.5.0以降ではImageNetクラスの機能は大幅に削られていることに注意してほしい(その理由は、オリジナル画像アーカイブのダウンロードリンクが非公開になったためのようである)。

「AI・機械学習のデータセット辞典」のインデックス

AI・機械学習のデータセット辞典

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。