株式会社FiNC Technologies
ヘルスケアアプリの運営、法人向けウェルネス経営事業など
技術開発部リサーチサイエンティスト 小林 尚生 様
※以下、敬称略
導入の背景
小林)2018年5月、内閣府のImPACT山海プログラムで、食事の画像からAIで栄養価を解析するための研究開発をJSTを通じて委託されました。その際、こんな条件を出されました。
「食事の画像から栄養価を特定したい。料理の写真から使われている食材を推定し、その量も同時に推定し、詳細なカロリー計算ができるようなレベルのものを」
画像から料理が何かを認識し、その料理の標準カロリーを示すものは以前からあります。今回の研究開発で求められたのは、目の前の料理のリアルな栄養価を出せるAIモデルでした。実際同じカレーでも、入っている食材が牛肉か豚肉かでカロリーも違ってきます。ただ、そこまでリアルな水準で栄養価計算するモデル開発、まだどこも手がけたことがありません。
「これ、相当チャレンジングなプロジェクトになりますよ」。話を持ちかけてきた上司に、そう答えたのを覚えています。
話し合いを重ねるうち「これなら、挑戦してみてもいいかもしれない」という方法が見えてきました。実際に使われている食材を検知させ、その内容に従って詳細なカロリー計算をする、という内容です。きちんと教師データさえ集まれば物体を検知させる手法で実現できるのではないか、と考えました。
問題は、その教師データの集め方です。
目の前の料理のリアルな栄養価やカロリーを計算するには、食材がどの程度使われたのかを示す量のデータは不可欠です。すでに社内で保有している大量の料理の画像からは、量のデータはとれません。
そこで自分たちで一から調理し、食材の使用量データをとるとともに、できあがった料理の画像から食材を分類していくアノテーション方法を採用しました。2018年11月末までのわずか3カ月で2,000~3,000品を調理、様々な角度から複数枚撮影し、食事の画像、写っている食材の名前、使われている食材の量ーーの三つの教師データセットを作る、という流れです。期間中に目標の品数を達成するには、1日50品の料理を作る必要がありました。
実際の活用方法
小林)このプロジェクトを始める前、知り合いにABEJAの担当者を紹介されました。相談すると、やはり「僕が担当してきた中でも相当難しいプロジェクトだと思います」と言われましたが、「しかし、できるだけ成果に近づけられるよう頑張ります」という返事がきました。
ABEJAを選ぶ決め手になったのは、アノテーション作業にとどまらない、支援の範囲の広さでした。ABEJAの担当者はアノテーション作業に加え、調理や料理の撮影などのオペレーション支援にも取り組む、と言ってくれたのです。
私たちは本来エンジニアです。調理のオペレーションを回した経験はゼロです。しかも3カ月で2,000品以上。正直、私自身も「そんなの無理だ」と絶望していました。そんな状況で、複雑なオペレーションの経験を積んだABEJAの担当者が入って、アドバイスをくれたのは本当に心強かった。
「調理担当は店長経験者をあたりましょう」「調理師派遣はここに電話して段取りをつけましょう」「最初は1日10品から始めてオペレーションの流れに応じて段階的に増やしていきましょう」ーー。ABEJAの担当者の助言とともに、筋道を立てていきました。おかげで最初の立ち上がりは非常にスムーズにいき、何とかなりそうだという気持ちになれました。
社内の社員向けキッチンスペースとスタジオを使い、9月から画像データをフル回転で作り始めました。レストラン勤務の経験がある調理責任者を中心に、日替わりで2、3人を人材派遣でアルバイトを補充しながら1日50品を調理しました。1品あたりからとれるデータを増やすため、具の盛り付けを変えるなどして1品につき10回ずつ撮影しました。調理・撮影補助の担当者も入れると1日10人くらいが関わっていました。
1日50品の調理、撮影もさることながら、調理後の食材を特定するアノテーションも難しい作業でした。例えば、いろんな野菜が重なりあった炒め物や、煮込んでいる具材の形や種類がはっきりしなくなったカレーの画像を見て、キャベツなのかモヤシなのか、ニンジンなのか肉なのかを特定し、輪郭もきっちり見分けて色で塗り分けるのは想像以上に根気がいる作業になります。
撮影した画像データが欠損したり、できあがりの品数が50品に届かないこともありました。調理者の方々とも相談し、調理やアノテーションの作業の流れを改善しました。料理に使う食材の選定、カット、調味料の用意、調理、盛り付けといった一連の作業を細かく分けてそれぞれに担当者を置き、一人の作業者が、単一種類の作業を継続的に集中できる体制になりました。
アノテーション作業も、ABEJAの担当者が効率的な方法を提案してくれました。それまで1枚の画像に写ったすべての食材を1人のアノテーターが色で塗り分けていたのですが、手間がかかる上、精度にムラがありました。そこで「キャベツ」だけ塗るアノテーター、「モヤシ」だけ塗るアノテーターと、食材ごとの分業に変えたところ、アノテーションのコストが下がり精度も安定しました。
一連の試行錯誤の結果、2018年10月に入ると1日50品の料理を作る体制が安定してとれるようになり、2018年11月末には当初の目標だった2,000を超えました。2019年2月には最終成果報告書にまとめて提出することができました。
わたし1人で始まったこのプロジェクトですが、ABEJAの担当者は最初から寄り添い、最後までともに走ってくれた。精神的にも本当に支えになりました。
今後の展望
小林)今回手がけたモデル開発の研究開発の趣旨は、FiNCの企業理念「一生に一度のかけがえのない人生の成功をサポートする」を掲げていますが、健康管理をより身近にするために食事の内容を手軽に記録できるヘルスケアアプリ開発など当社の方向性と合致していました。
FiNCアプリにはAIで食事の画像識別してカロリーを計算する機能がありますが、アプリで画像が認識されないこともあります。その場合は、自分で検索して入力するしか方法ないのが現状なのですが、今後は、さらに認識精度を向上させたい、と思ってきました。
今回の研究開発で、作業別の難易度が把握できましたし、精緻さを追求するとどのくらいのコストがかかるのかを把握することができました。今後は、FiNCの新たなソリューションとして、製品化できるレベルを目指していきたいと思っています。
写真撮影 = 宮下 マキ
お気軽にご質問、ご相談ください。
内容確認後、担当からご連絡いたします。