みらいテックラボ

音声・画像認識や機械学習など, 管理人が興味のある技術の紹介や実際にトライしてみた様子などメモしていく.

第1回AIチャレンジコンテスト(料理分類部門)に挑戦してみた!! (1)

これは, 今年1月~3月に開催された人工知能技術戦略会議等主催 第1回AIチャレンジコンテスト[1]の「料理分類部門」に挑戦したときの取組みについて, TensorFlow研究会#17でLT発表した時の内容をベースに数回に分けて紹介するものである.
(LT発表からだいぶ時間がたってしまったが...)

deepanalytics.jp

関連記事:
・第1回AIチャレンジコンテスト(料理分類部門)に挑戦してみた!! (1)
第1回AIチャレンジコンテスト(料理分類部門)に挑戦してみた!! (2)
第1回AIチャレンジコンテスト(料理分類部門)に挑戦してみた!! (3)


0. コンテストの概要
テーマ:画像認識
 クックパッド様の提供する画像データを使用して, 料理の領域検出・料理の分類の画像認識アルゴリズムの作成に挑戦

スケジュール:

2017年1月10日(火)コンテスト開始
2017年3月31日(金)コンテスト終了
2017年4月10日(月)予測モデル等の提出締め切り(※入賞候補者)
2017年5月上旬検収・審査にて入賞者を決定
2017年5月22日(月)表彰式

コンテスト内容:
f:id:moonlight-aska:20170717085518p:plain

今回チャレンジした料理分類部門の詳細は以下の通り.
25種類の料理カテゴリの1つに分類
学習データ:
 ・ラベル付きデータ10,000画像
 ・ラベルなしデータ50,000画像
テストデータ:
 ・10,000画像
評価関数:
 {\displaystyle Accuracy = \frac{n({i|y_i = f_i})}{N}}
    {n(A)}:集合Aの要素数
    {N}:サンプル数
    {f_i}:i番目の予測値
    {y_i}:i番目の真値

注) コンテスト用の画像データはクックパッド様提供.

1. 予備検討

1.1 データを見る
25種類のカテゴリは以下の通り.

グループ
breadsandwichslicedsweetstable
noodlesomenudon
pastacreamgratinjapaneseoiltomato
riceboiledbowlcurryfriedrisottosushi
soupmisopotage
sweetscheesecookiemuffinpiepoundpudding

データの一例:
Sandwich


f:id:moonlight-aska:20170717094732p:plain

f:id:moonlight-aska:20170717094746p:plain

実は, 以下にもSandwichのラベルが...


f:id:moonlight-aska:20170717094757p:plain

f:id:moonlight-aska:20170717094808p:plain
注) クックパッド様から画像の使用許諾取得済

人間でも正しく分類できないよ~.

1.2 まずは試してみる

ModelFramework/LibraryAccuracyNotes
独自4層のCNNTensorFlow~0.40ペットボトル認識ベース
AlexnetChainer約0.55チュートリアル
VGG16Keras + TensorFlow約0.60
ResNet50Keras + TensorFlow約0.65

割と早い段階で, トップは0.75くらいの精度を出していたが, とりあえずの目標を0.70以上とした.
0.70以上の精度出すには, 何か工夫が必要.
 ・データの特性を活かす
 ・ラベルなしデータを使用する

今回は, どんな内容のコンテストだったかを中心に紹介した.
次回は, いくつか試してみたことについて記載する.

----
参照URL:
[1] 人工知能技術戦略会議等主催 第1回AIチャレンジコンテスト



GPUを支える技術 ――超並列ハードウェアの快進撃[技術基礎] (WEB+DB PRESS plus)

GPUを支える技術 ――超並列ハードウェアの快進撃[技術基礎] (WEB+DB PRESS plus)


CUDA by Example 汎用GPUプログラミング入門

CUDA by Example 汎用GPUプログラミング入門



MSI GeForce GTX 1080 Ti GAMING X 11G グラフィックスボード VD6302

MSI GeForce GTX 1080 Ti GAMING X 11G グラフィックスボード VD6302