Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SSDを用いた食材リアルタイム検知
 &レシピレコメンドシステム

hayataka
April 07, 2024

SSDを用いた食材リアルタイム検知
 &レシピレコメンドシステム

東大・松尾研主宰「Deep Learning 基礎講座2018」での最終課題発表ポスター
https://deeplearning.jp/lectures/dlb2018/

hayataka

April 07, 2024
Tweet

More Decks by hayataka

Other Decks in Science

Transcript

  1. SSDによる
 リアルタイム検知
 1. 目的
 食材写真からレシピを推薦するサービスは数多くあるが、画像をキレイに撮影 するのは面倒。冷蔵庫の中身をそのまま動画スキャンできれば便利なのでは ないか。
 1 レシピレコメンドアプリ例(ライオン)
 ref)

    https://reed.lion.co.jp/search/
 動画撮影による食材検知&レシピ推薦
 2. アプローチ
 3. SSDモデル構築
 食材をキレイに撮影する手間を省くため、①の冷蔵庫内動画からリアルタイムに検 知にするSSDモデル構築に注力した。なお、②は簡易的に実施した。 冷蔵庫の中身
 動画撮影
 レシピAPI※から
 検知した食材を含む
 レシピをランダム取得
 1
 2
 R-CNN
 Fast(er) R-CNN
 YOLO
 You Only Look Once
 SSD
 Single Shot MultiBox Detector
 Single Stage
 直接各物体のクラス・位 置推定
 高速
 多オブジェクト可能
 Aと同等の精度
 Bより高速
 多オブジェクト可能
 Two Stage
 物体候補推定
 →候補毎に物体クラス・位 置推定
 先駆け的な存在
 遅い
 特徴
 タイプ
 アルゴリズム
 A
 B
 C
 ❖ ディープラーニング系物体検知アルゴリズム比較
 ❖ フロー
 メンバー各人が自身の冷蔵庫の中身をスマホで動画撮影し、アノテーション ツールを使って、学習データを作成(計1030枚)。
 1
 2
 3
 4
 データ準備
 モデル学習
 評価&考察
 改善案
 • labeling_for_object_detec tion:Processingを用い たツール。Githubで公 開。
 • VoTT:マイクロソフト製。 動画から直接アノテー ション可能。出力データ に不要データが含まれ る等、一部使いにくい部 分がある。
 アノテーションツール
 学習データ内訳
 Github(https://github.com/rykov8/ssd_keras) に公開されているssd_kerasを利 用してSSDモデルを学習。
 
 
 • 学習・検証に利用していないテストデータにおいて、正解と推定結果で、bboxのIoU(重なり度合い)が 0.5以上であれば、ラベル比較をする。その他はBackgroundと認識されたと仮定。下記の混合行列は、 各正解ラベルがどのように推定されたか割合を示す。
 • 課題①:少し似ているものはデータが多いものに引っ張られる傾向(Apple→Tomato、Enoki→しめじ、 Greenpepper→Aspara等)
 • 課題:②Cabbage→Shimeji、Spinach→Cucumberと包装等によって誤認識がされる可能性
 • 課題:③そもそもBackgroundと認識されている場合が多く、領域推定に課題
 • 
 
 
 食材
 件数
 Tomato
 593
 Carrot
 559
 Pumpkin
 232
 Spinach
 188
 Shimeji
 165
 Asparagus
 142
 Apple
 135
 Egg
 122
 Turnip
 114
 Cucumber
 84
 Broccoli
 80
 食材
 件数
 Leek
 9
 Pork
 6
 Chicken
 5
 Firefly_Squid
 5
 Squid
 5
 Beaf
 4
 Ume
 4
 食材
 件数
 Mushroom
 72
 Celery
 71
 Onion
 55
 Beansprouls
 48
 Enoki
 47
 Greenpepper
 43
 Daikon
 39
 Paprika
 28
 Cabbage
 23
 Milk
 15
 Orange
 10
 学習時
 • アーキテクチャ: SSD300
 • 損失関数: 位置特定誤差 (Smooth L1)と 確信度誤差 (Softmax)の重み付き和
 • 最適化: Adam
 • バッチサイズ: 4
 Configuration
 損失推移
 ※ EDAMAN Recipe Search API https://www.edamam.com/
 データ加工
 モデル工夫
 新データ&
 モデル
 観点
 A-1. 学習データのバイアス低減
 A-2. 高周波ノイズフィルタ(包装、ラップ等)【課題①】
 A-3. 包装有無の両学習データの準備【課題②】
 A-4. カット済み食材の学習(GANによる画像生成等)
 B-1. 他DL物体検知アルゴリズム(YOLO等)
 B-2. ハイパーパラメータ最適化
 C-1. パッケージ文字認識による食材検知
 C-2. 3次元形状の認識【課題③】
 C-3. 食材の個数・量推定
 C-4. 複数検知モデルのアンサンブル
 改善案
 A
 B
 C
 評価&考察を踏まえつつ、下記のような改善案が考えられる。
 SSDを用いた食材リアルタイム検知
 &レシピレコメンドシステム
 チーム7
 Deep Learning Day
 2019.3.30
 ※ 黄:正解、赤:誤認識割合No.1、青:誤認識割合No.2
 検証時
 正解\推定
 Backgr ound
 Aspara gus
 Apple
 Broccol i
 Carrot
 Cabbag e
 Cucmb er
 Enoki
 Mushro om
 Onion
 Spinach
 Shimeji
 Tomato
 Apple
 32
 0
 8
 0
 0
 0
 0
 0
 0
 0
 0
 0
 60
 Carrot
 33
 0
 0
 0
 67
 0
 0
 0
 0
 0
 0
 0
 0
 Cabbage
 35
 12
 0
 6
 0
 12
 0
 6
 0
 0
 0
 29
 0
 Enoki
 50
 0
 0
 0
 0
 17
 0
 0
 17
 0
 0
 17
 0
 Greenpepper
 87
 13
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 Onion
 56
 0
 0
 0
 0
 0
 0
 11
 0
 28
 0
 6
 0
 Spinach
 32
 5
 0
 0
 0
 0
 39
 0
 0
 0
 24
 0
 0
 Tomato
 41
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 59