連載
» 2020年12月02日 05時00分 公開

Food-101:料理カラー写真(アップルパイや餃子など)の画像データセットAI・機械学習のデータセット辞典

データセット「Food-101」について説明。10万1000枚、101種類の料理カラー写真(アップルパイや餃子など)の「画像+ラベル」データが無料でダウンロードでき、画像認識などのディープラーニングに利用できる。TensorFlowにおける利用コードも紹介。

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

連載目次

データセット解説

 Food-101データセット(The Food-101 Data Set)(以下、Food-101)は、101種類の「料理カラー写真」(アップルパイや餃子など)の画像データセットである(図1、元データは「foodspotting.com」だが、現在ではサイト自体が存在しないようである)。

図1 Food-101に含まれる「101種類の料理画像」の例 図1 Food-101に含まれる「101種類の料理画像」の例
データセットの配布元: 「Food-101 -- Mining Discriminative Components with Random Forests」。ライセンス指定なし。

 101種類のラベル名とインデックス番号はリスト1の通りだ(数が多いので、再利用しやすいように、Pythonコード形式で示す)。

class_names = [
  'Apple pie'# 0:アップルパイ
  'Baby back ribs'# 1:ベビーバックリブ
  'Baklava'# 2:バクラバ
  'Beef carpaccio'# 3:牛肉のカルパッチョ
  'Beef tartare'# 4:牛肉のタルタル
  'Beet salad'# 5:ビートサラダ
  'Beignets'# 6:ベニエ
  'Bibimbap'# 7:ビビンバ
  'Bread pudding'# 8:ブレッドプディング
  'Breakfast burrito'# 9:朝食のブリトー
  'Bruschetta'# 10:ブルスケッタ
  'Caesar salad'# 11:シーザーサラダ
  'Cannoli'# 12:カノーリ
  'Caprese salad'# 13:カプレーゼサラダ
  'Carrot cake'# 14:キャロットケーキ
  'Ceviche'# 15:セビーチェ
  'Cheesecake'# 16:チーズケーキ
  'Cheese plate'# 17:チーズプレート
  'Chicken curry'# 18:チキンカレー
  'Chicken quesadilla'# 19:チキンケサディーヤ
  'Chicken wings'# 20:手羽先
  'Chocolate cake'# 21:チョコレートケーキ
  'Chocolate mousse'# 22:チョコレートムース
  'Churros'# 23:チュロス
  'Clam chowder'# 24:クラムチャウダー
  'Club sandwich'# 25:クラブサンドイッチ
  'Crab cakes'# 26:クラブケーキ
  'Creme brulee'# 27:クレームブリュレ
  'Croque madame'# 28:クロックマダム
  'Cup cakes'# 29:カップケーキ
  'Deviled eggs'# 30:デビルドエッグ
  'Donuts'# 31:ドーナツ
  'Dumplings'# 32:ダンプリング
  'Edamame'# 33:枝豆
  'Eggs benedict'# 34:エッグベネディクト
  'Escargots'# 35:エスカルゴ
  'Falafel'# 36:ファラフェル
  'Filet mignon'# 37:フィレミニョン
  'Fish and chips'# 38:フィッシュ&チップス
  'Foie gras'# 39:フォアグラ
  'French fries'# 40:フライドポテト
  'French onion soup'# 41:フレンチオニオンスープ
  'French toast'# 42:フレンチトースト
  'Fried calamari'# 43:揚げイカ
  'Fried rice'# 44:チャーハン
  'Frozen yogurt'# 45:フローズンヨーグルト
  'Garlic bread'# 46:ガーリックブレッド
  'Gnocchi'# 47:ニョッキ
  'Greek salad'# 48:ギリシャサラダ
  'Grilled cheese sandwich'# 49:グリルチーズサンド
  'Grilled salmon'# 50:焼き鮭
  'Guacamole'# 51:グアカモーレ
  'Gyoza'# 52:餃子
  'Hamburger'# 53:ハンバーガー
  'Hot and sour soup'# 54:酸辣湯
  'Hot dog'# 55:ホットドッグ
  'Huevos rancheros'# 56:ウェボスランチェロス
  'Hummus'# 57:フムス
  'Ice cream'# 58:アイスクリーム
  'Lasagna'# 59:ラザニア
  'Lobster bisque'# 60:ロブスターのビスク
  'Lobster roll sandwich'# 61:ロブスターロールサンド
  'Macaroni and cheese'# 62:マカロニとチーズ
  'Macarons'# 63:マカロン
  'Miso soup'# 64:みそ汁
  'Mussels'# 65:ムール貝
  'Nachos'# 66:ナチョス
  'Omelette'# 67:オムレツ
  'Onion rings'# 68:オニオンリング
  'Oysters'# 69:牡蠣
  'Pad thai'# 70:パッタイ
  'Paella'# 71:パエリア
  'Pancakes'# 72:パンケーキ
  'Panna cotta'# 73:パンナコッタ
  'Peking duck'# 74:北京ダック
  'Pho'# 75:フォー
  'Pizza'# 76:ピザ
  'Pork chop'# 77:ポークチョップ
  'Poutine'# 78:プーティン
  'Prime rib'# 79:プライムリブ
  'Pulled pork sandwich'# 80:プルドポークサンド
  'Ramen'# 81:ラーメン
  'Ravioli'# 82:ラビオリ
  'Red velvet cake'# 83:レッドベルベットケーキ
  'Risotto'# 84:リゾット
  'Samosa'# 85:サモサ
  'Sashimi'# 86:刺身
  'Scallops'# 87:ホタテ
  'Seaweed salad'# 88:海藻サラダ
  'Shrimp and grits'# 89:エビとグリッツ
  'Spaghetti bolognese'# 90:スパゲティボロネーゼ
  'Spaghetti carbonara'# 91:スパゲッティカルボナーラ
  'Spring rolls'# 92:春巻き
  'Steak'# 93:ステーキ
  'Strawberry shortcake'# 94:イチゴのショートケーキ
  'Sushi'# 95:寿司
  'Tacos'# 96:タコス
  'Takoyaki'# 97:たこ焼き
  'Tiramisu'# 98:ティラミス
  'Tuna tartare'# 99:マグロのタルタル
  'Waffles'  # 100:ワッフル
]

リスト1 101種類のラベル名を定義するPythonコード

 Food-101データセット全体は、

  • 7万5750枚(=「各ラベル:750枚」×101種類)の訓練データ用(画像とラベル)
  • 2万5250枚(=「各ラベル:250枚」×101種類)のテストデータ用(画像とラベル)
  • 合計10万1000枚(=「各ラベル:1000枚」×101種類)

で構成される(「ラベル」=正解を示す教師データ)。テストデータの画像は手動でレビューされている。一方、訓練データの画像は、意図的にクリーンアップされておらず、ある程度のノイズが含まれている。多くは色の濃い画像になっており、たまにラベルが間違っているとのことである。全ての画像は、24bit RGBフルカラー画像で、辺(=幅と高さ)の最大長が512pxになるように再スケーリングされている(前掲の図1から分かるように、ほとんどの画像で幅と高さの長さはそろっておらず正方形ではない)。

 より詳しくは、

を参照してほしい。

引用のための情報

 このデータセットは、基本的に自由に使用できる(ライセンスは指定されていない。著作権は放棄していないものと考えられる)。

 引用情報を以下にまとめておく。

  • 作成者: Lukas Bossard, Matthieu Guillaumin and Luc Van Gool
  • タイトル: Food-101 -- Mining Discriminative Components with Random Forests
  • カンファレンス: European Conference on Computer Vision (ECCV 2014)
  • 公開日: 2014
  • URL: https://data.vision.ee.ethz.ch/cvl/datasets_extra/food-101/

利用方法

 実際にFood-101を使うには、

からダウンロードすればよい(約5GB)。TensorFlow Datasetsライブラリであれば、Food-101がより簡単に使える。その典型的なコードを示しておく(コードの詳細は解説しない)。

TensorFlow Datasets

# !pip install tensorflow tensorflow-datasets  # ライブラリ「TensorFlow」と「TensorFlow Datasets」をインストール

import tensorflow_datasets as tfds

food101_train = tfds.load(name="food101", split="train")

リスト2 TensorFlow DatasetsでFood-101を利用する基本的なコード

 TensorFlow Datasetsで使用できるデータセットは、TensorFlow Datasetsにまとめられており、tensorflow_datasetsモジュール(=tfds)のtfds.load()関数から利用できる。

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

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

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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