LoginSignup
4
4

More than 3 years have passed since last update.

SONYのNeural Network Consoleで画像分類

Last updated at Posted at 2020-03-31

SONYのNeural Network Consoleで画像分類

Sony&レッジのAI開発コンテスト「Neural Network Console Challenge」
SONYのNeural Network Consoleを用いて、PIXTA提供の10,000枚の写真を素材にした画像分類をするコンテストです。

Neural Network Console Challenge 公式ページ
https://nnc-challenge.com/

画像分類のテーマ

リンク先4番目の「上記以外のチャレンジテーマを自由に設定しての応募も可」とあった為、
明治の文豪、森鴎外の短編小説「杯」からキーワードを拾って画像分類テーマを決めました。

小説のストーリーは、7人の少女が持ち寄った杯で泉の水を飲む良く解らない話です。
比喩表現が散りばめられいた抽象的な短編小説です。

著作権が切れているため、青空文庫で読めます。

青空文庫「杯」
https://www.aozora.gr.jp/cards/000129/files/688_23234.html

この小説には、

泉を繞めぐる木々の梢には、今まで立ち籠こめていた靄が、まだちぎれちぎれになって残っている。

のように、情景描写が彩り豊かに描かれています。

小説の本編と小説に寄せられた感想やレビューを元に形態素解析を行いました。

keyword.png

これらのキーワードに当てはまりそうなPIXTAの写真素材を探し、画像の分類項目を選定します。

10種類の画像分類

光 Y0

タイプ:現象
自然光やライトなどの人工光が差し込んでいる画像
1_1.jpg1_2.jpg

梢(こずえ)Y2

タイプ:自然
重なり合った木の画像
2_1.jpg2_2.jpg

靄(もや)Y3

タイプ:自然
靄がかかった画像

3_1.jpg3_2.jpg

藍染 Y4

タイプ:色
青色っぽい画像

4_1.jpg4_2.jpg

琥珀 Y5

タイプ:色
琥珀(金色)っぽい画像
5_1.jpg5_2.jpg

白い雲 Y6

タイプ:自然
空に浮かぶ雲の画像
6_1.jpg6_2.jpg

紅の唇 Y7

タイプ:人
レッド系の口紅をつけた人の画像
7_1.jpg7_2.jpg

清冽 Y8

タイプ:形容詞
本来の意味は、澄んで冷たいこと
言葉の雰囲気に近い印象を受ける画像
8_1.jpg8_2.jpg

音 Y9

タイプ:現象
音が聞こえてきそうな賑やかな画像
9_1.jpg9_2.jpg

杯 Y1

タイプ:抽象
この短編小説のイメージを具体化した画像
(正解(感じ方)は人によって違う)
10_1.jpg10_2.jpg

データセットの用意

工程1
ベースになる写真素材を学習用と評価用に分けます。

工程2
画像の縦横比が統一されていない為、トリミングで正方形に加工します。
トリミング位置の変更、左右反転、明度変更等の処理等で、各分類ごとに学習用の画像を2,000枚まで増やします。

工程3
解像度を128ピクセルにリサイズ

10個のフォルダーに分けた画像を機械学習出来るようにする為には、下記のようなNNC独自のフォーマットで記述されたCSVファイルが必要です。

x:image y:label
./training/5/0.png 5
./training/0/1.png 0
./training/4/2.png 4

このファイルは「データセットアップロードツール」を用いることで自動で生成されます。

Neural Network Consoleで学習

10のカテゴリーに分類される多値分類なので、活性化関数として、複数値のベクトルから合計が1.0になる確率分布にするソフトマックス、学習指標として交差エントロピーを使って計算します。

Screen Shot 2020-03-31 at 18.46.23.png

最低限必要な設定箇所は、
Inputレイヤーをフルカラー(RGB)の128x128サイズなので、3,128,128に
Affineレイヤーを分類数である10にのみです。

学習開始

CPUで学習
cpu.png
                 4時間経過・・・・・
収束する気配が無いので、中断

GPUで学習

epoch15 経過時間 1分39秒
15.png

epoch73 経過時間 6分23秒

終了 経過時間 8分42秒
100.png

選択したGPUは、Tesla K80 GBU x1 ですが、この速度の違いたるや

学習結果の検証

Accuracy(正答率):0.9785
Avg.Precision:0.9786
Avg.Recall:0.9783
Avg.F-Measures:0.9784
result.png

Training 0.001333
Validation 0.148384
Best Validation 0.092844@30
CostMultiplyAdd 20,430,904

以上

                          * 学習用データ提供:PIXTA *
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4