(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022072228
(43)【公開日】2022-05-17
(54)【発明の名称】学習装置、学習方法、およびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220510BHJP
G06N 20/00 20190101ALI20220510BHJP
【FI】
G06T7/00 350B
G06N20/00
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2020181562
(22)【出願日】2020-10-29
(71)【出願人】
【識別番号】397065480
【氏名又は名称】エヌ・ティ・ティ・コムウェア株式会社
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100181124
【弁理士】
【氏名又は名称】沖田 壮男
(72)【発明者】
【氏名】唐 恒進
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA52
5L096GA34
5L096KA04
5L096KA15
(57)【要約】
【課題】メニューの推定精度を高くすること。
【解決手段】画像を取得する画像取得部と、前記画像取得部により取得した画像を元画像として用いて学習用画像を生成する画像生成部であって、前記元画像の数を前記元画像間で調整する画像生成部と、前記画像取得部により取得した画像、および前記画像生成部により生成した学習用画像を学習データとして入力とし、前記学習データに含まれる食品のメニューを出力するように推定モデルを学習させる学習部と、を備える、学習装置である。
【選択図】
図1
【特許請求の範囲】
【請求項1】
画像を取得する画像取得部と、
前記画像取得部により取得した画像を元画像として用いて学習用画像を生成する画像生成部であって、前記元画像の数を前記元画像間で調整する画像生成部と、
前記画像取得部により取得した画像、および前記画像生成部により生成した学習用画像を学習データとして入力とし、前記学習データに含まれる食品のメニューを出力するように推定モデルを学習させる学習部と、
を備える、学習装置。
【請求項2】
前記画像生成部は、推定対象のメニューに基づいて、前記元画像の数を前記元画像間で調整する、請求項1に記載の学習装置。
【請求項3】
画像を取得する画像取得部と、
前記画像取得部により取得した画像を元画像として用いて学習用画像を生成する画像生成部と、
前記画像取得部により取得した画像、および前記画像生成部により生成した学習用画像を学習データとして入力とし、前記学習データに含まれる食品のメニューを出力するように推定モデルを学習させる学習部と、を備え、
前記画像取得部により取得した画像および前記画像生成部により生成した学習用画像には、推定対象のメニューに対応したラベルが付随し、
前記画像生成部は、前記学習用画像に付随する前記ラベルの数を前記学習用画像間で調整する、
を備える、学習装置。
【請求項4】
前記画像取得部により取得した画像および前記画像生成部により生成した学習用画像には、推定対象のメニューに対応したラベルが付随し、
前記画像生成部は、推定対象のメニューに基づいて、前記学習用画像に付随する前記ラベルの数を前記学習用画像間で調整する、請求項3に記載の学習装置。
【請求項5】
画像を取得する画像取得部と、
前記画像取得部により取得した画像を元画像として用いて学習用画像を生成する画像生成部と、
前記画像取得部により取得した画像、および前記画像生成部により生成した学習用画像を学習データとして入力とし、前記学習データに含まれる食品のメニューを出力するように推定モデルを学習させる学習部と、を備え、
前記画像取得部により取得した画像および前記画像生成部により生成した学習用画像には、推定対象のメニューに対応したラベルが付随し、
前記画像生成部は、前記元画像の数を前記元画像間で調整すると共に前記学習用画像に付随する前記ラベルの数を前記学習用画像間で調整する、
を備える、学習装置。
【請求項6】
前記画像生成部は、推定対象のメニューに基づいて、前記元画像の数を前記元画像間で調整すると共に前記学習用画像に付随する前記ラベルの数を前記学習用画像間で調整する、請求項5に記載の学習装置。
【請求項7】
前記元画像には、推定対象のメニューに対応したラベルおよび信頼度が付随し、
前記画像生成部は、前記ラベルに対応した信頼度に基づいて前記元画像を用いた学習用画像の生成を行うか否かを判定する、
請求項1から6のうち何れか1項に記載の学習装置。
【請求項8】
前記画像生成部は、推定対象のメニューに基づいて、前記ラベルに対応した信頼度に基づいて前記元画像を用いた学習用画像の生成を行うか否かを判定する、
請求項7に記載の学習装置。
【請求項9】
メニューに対応したラベルおよび信頼度が付随した評価用画像を前記推定モデルに入力し、前記推定モデルの出力結果に基づいて前記推定モデルを評価する評価部を備え、
前記評価部は、前記推定モデルの出力と前記評価用画像に付随したラベルとの比較と、前記評価用画像に付随した信頼度とに基づいて、前記推定モデルを評価する、
請求項1から8のうち何れか1項に記載の学習装置。
【請求項10】
画像を取得するステップと、
取得した画像を元画像として用いて学習用画像を生成するステップであって、前記元画像の数を前記元画像間で調整するステップと、
取得した画像、および生成した学習用画像を学習データとして入力とし、前記学習データに含まれる食品のメニューを出力するように推定モデルを学習させるステップと、
を含む、学習方法。
【請求項11】
コンピュータに、
画像を取得するステップと、
取得した画像を元画像として用いて学習用画像を生成するステップであって、前記元画像の数を前記元画像間で調整するステップと、
取得した画像、および生成した学習用画像を学習データとして入力とし、前記学習データに含まれる食品のメニューを出力するように推定モデルを学習させるステップと、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法、およびプログラムに関する。
【背景技術】
【0002】
従来より、画像内の物体を推定する技術が知られている。このような技術は、例えば特許文献1に記載された物体認識システムが知られている。この物体認識システムは、物体の画像データ、及びその物体が操作されることにより影響を受ける被作用物の物体の操作前後における画像データを取得し、物体の画像データから物体の形状特徴量を抽出し、物体概念モデルに形状特徴量を用いて認識される物体の形状に基づいて物体を学習し、認識対象物体の形状の観測された情報を物体の物体概念モデルに適用し、認識対象物体を認識する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した物体認識システムなどのように画像を入力情報とし、当該画像内に含まれる物体を推定する技術において、画像中の食品メニューを推定することが行われている。しかし、モデル構築にために用いる学習データが推定や予測の目的と比較して適切ではない場合、推定精度を高くすることは困難である。
【0005】
本発明は、上記の課題に鑑みてなされたものであって、メニューの推定精度を高くすることができる学習装置、学習方法、およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
(1)本発明の一態様は、画像を取得する画像取得部と、前記画像取得部により取得した画像を元画像として用いて学習用画像を生成する画像生成部であって、前記元画像の数を前記元画像間で調整する画像生成部と、前記画像取得部により取得した画像、および前記画像生成部により生成した学習用画像を学習データとして入力とし、前記学習データに含まれる食品のメニューを出力するように推定モデルを学習させる学習部と、を備える、学習装置である。
【0007】
(2)本発明の一態様は、上記の学習装置であって、前記画像生成部は、推定対象のメニューに基づいて、前記元画像の数を前記元画像間で調整してよい。
【0008】
(3)本発明の一態様は、画像を取得する画像取得部と、前記画像取得部により取得した画像を元画像として用いて学習用画像を生成する画像生成部と、前記画像取得部により取得した画像、および前記画像生成部により生成した学習用画像を学習データとして入力とし、前記学習データに含まれる食品のメニューを出力するように推定モデルを学習させる学習部と、を備え、前記画像取得部により取得した画像および前記画像生成部により生成した学習用画像には、推定対象のメニューに対応したラベルが付随し、前記画像生成部は、前記学習用画像に付随する前記ラベルの数を前記学習用画像間で調整する、を備える、学習装置である。
【0009】
(4)本発明の一態様は、上記の学習装置であって、前記画像取得部により取得した画像および前記画像生成部により生成した学習用画像には、推定対象のメニューに対応したラベルが付随し、前記画像生成部は、推定対象のメニューに基づいて、前記学習用画像に付随する前記ラベルの数を前記学習用画像間で調整してよい。
【0010】
(5)本発明の一態様は、画像を取得する画像取得部と、前記画像取得部により取得した画像を元画像として用いて学習用画像を生成する画像生成部と、前記画像取得部により取得した画像、および前記画像生成部により生成した学習用画像を学習データとして入力とし、前記学習データに含まれる食品のメニューを出力するように推定モデルを学習させる学習部と、を備え、前記画像取得部により取得した画像および前記画像生成部により生成した学習用画像には、推定対象のメニューに対応したラベルが付随し、前記画像生成部は、前記元画像の数を前記元画像間で調整すると共に前記学習用画像に付随する前記ラベルの数を前記学習用画像間で調整する、を備える、学習装置である。
【0011】
(6)本発明の一態様は、上記の学習装置であって、前記画像生成部は、推定対象のメニューに基づいて、前記元画像の数を前記元画像間で調整すると共に前記学習用画像に付随する前記ラベルの数を前記学習用画像間で調整してよい。
【0012】
(7)本発明の一態様は、上記の学習装置であって、前記元画像には、推定対象のメニューに対応したラベルおよび信頼度が付随し、前記画像生成部は、前記ラベルに対応した信頼度に基づいて前記元画像を用いた学習用画像の生成を行うか否かを判定してよい。
【0013】
(8)本発明の一態様は、上記の学習装置であって、前記画像生成部は、推定対象のメニューに基づいて、前記ラベルに対応した信頼度に基づいて前記元画像を用いた学習用画像の生成を行うか否かを判定してよい。
【0014】
(9)本発明の一態様は、上記の学習装置であって、メニューに対応したラベルおよび信頼度が付随した評価用画像を前記推定モデルに入力し、前記推定モデルの出力結果に基づいて前記推定モデルを評価する評価部を備え、前記評価部は、前記推定モデルの出力と前記評価用画像に付随したラベルとの比較と、前記評価用画像に付随した信頼度とに基づいて、前記推定モデルを評価してよい。
【0015】
(10)本発明の一態様は、画像を取得するステップと、取得した画像を元画像として用いて学習用画像を生成するステップであって、前記元画像の数を前記元画像間で調整するステップと、取得した画像、および生成した学習用画像を学習データとして入力とし、前記学習データに含まれる食品のメニューを出力するように推定モデルを学習させるステップと、を含む、学習方法である。
【0016】
(11)本発明の一態様は、コンピュータに、画像を取得するステップと、取得した画像を元画像として用いて学習用画像を生成するステップであって、前記元画像の数を前記元画像間で調整するステップと、取得した画像、および生成した学習用画像を学習データとして入力とし、前記学習データに含まれる食品のメニューを出力するように推定モデルを学習させるステップと、を実行させる、プログラムである。
【発明の効果】
【0017】
本発明の一態様によれば、メニューの推定精度を高くすることができる。
【図面の簡単な説明】
【0018】
【
図1】実施形態のメニュー推定システムの機能的な構成の一例を示すブロック図である。
【
図2】実施形態におけるメニュー推定モデルの学習処理の一例を示すブロック図である。
【
図3】実施形態におけるメニュー推定モデルの推定処理の一例を示すブロック図である。
【
図4】実施形態におけるボリューム推定モデルの学習処理の一例を示すブロック図である。
【
図5】実施形態におけるボリューム推定モデルの推定処理の一例を示すブロック図である。
【
図6】実施形態においてユーザに提示する情報の一例を示す図である。
【
図7】実施形態における特徴マップを示す図である。
【
図8】食品を上方から撮像した画像および領域を示す図である。
【
図9】食品を側方から撮像した画像および領域を示す画像である。
【
図10】実施形態における栄養素推定部の一例を示すブロック図である。
【
図11】実施形態におけるデータ生成処理の一例を説明する図である。
【
図12】実施形態におけるデータ生成処理の他の一例を説明する図である。
【
図13】実施形態における推定結果の一例を示す図である。
【
図14】実施形態の学習データ生成部における動作を示す図である。
【
図15】実施形態における学習用画像の生成処理の一例を示す図である。
【
図16】実施形態における学習用画像の生成処理の他の一例を示す図である。
【
図17】実施形態における学習用画像の生成処理の他の一例を示す図である。
【
図18】実施形態における学習用画像の生成処理の他の一例を示す図である。
【
図19】学習用画像の集合を調整する具体的な一例を示す図である。
【
図20】学習用画像の集合を調整する具体的な一例を示す図である。
【
図21】実施形態における推定モデルの評価を示すブロック図である。
【発明を実施するための形態】
【0019】
以下、本発明を適用した学習装置、学習方法、およびプログラムを、図面を参照して説明する。
【0020】
<実施形態の概要>
実施形態のメニュー推定システム1は、画像を収集し、収集した画像によりメニュー推定モデルを学習させ、メニュー推定モデルにより対象画像に含まれる食品のメニューを推定する。また、メニュー推定システム1は、画像を収集し、収集した画像によりボリューム推定モデルを学習させ、ボリューム推定モデルにより対象画像に含まれる食品のボリュームを推定する。これにより、メニュー推定システム1は、例えば対象画像および要求を受け付けた場合、対象画像に含まれる食品のメニューやボリュームに基づく情報を提供するサービスを実現することができる。以下、メニュー推定システム1について詳細に説明する。
【0021】
<メニュー推定システム1の構成>
図1は、実施形態のメニュー推定システム1の機能的な構成の一例を示すブロック図である。メニュー推定システム1は、例えば、ユーザ端末装置100と、画像蓄積部200と、学習データ生成部210と、モデル学習部300と、推定部400と、中間出力部(第1の出力部)500と、補正部600と、出力部(第2の出力部)700とを備える。ユーザ端末装置100、画像蓄積部200、モデル学習部300、推定部400、中間出力部500、補正部600、および出力部700は、例えば、通信ネットワークに接続される。通信ネットワークに接続される各装置は、NIC(Network Interface Card)や無線通信モジュールなどの通信インターフェースを備えている(
図2では不図示)。通信ネットワークは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、セルラー網などを含む。
【0022】
ユーザ端末装置100は、例えばパーソナルコンピュータや、スマートフォンやタブレット端末などの端末装置である。ユーザ端末装置100は、例えばメニュー推定システム1の管理者の操作を受け付け、推定結果を表示したり、推定結果を補正するための情報を生成する。
【0023】
画像蓄積部200は、例えば、画像を収集する情報処理装置と、ストレージ装置とを含む。画像蓄積部200は、画像を収集すると共に、収集した画像を蓄積する。ストレージは、例えば、HDD、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などの記憶装置により実現される。ログデータ蓄積部206および検知結果蓄積部208は、例えば、SAN(Storage Area Network)やNAS(Network Attached Storage)により実現されてよい。
【0024】
学習データ生成部210は、例えばCPU(Central Processing Unit)等のプロセッサがプログラムメモリに格納されたプログラムを実行することにより実現される。プログラムは、予めのHDDやフラッシュメモリなどの記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてよい。学習データ生成部210は、画像蓄積部200に蓄積された画像を用いてモデルの学習に用いる学習データを生成し、画像蓄積部200に記憶させる。
【0025】
モデル学習部300は、学習処理部310を備える。学習処理部310は、例えばCPU等のプロセッサがプログラムメモリに格納されたプログラムを実行することにより実現される。学習処理部310は、学習処理を実行することで、メニュー推定モデルおよびボリューム推定モデルを構築する。実施形態における推定モデルは、例えばニューラルネットワークであるが、これに限定されず、ラベル付きの画像を学習し、対象画像の入力に対してラベルおよび信頼度を出力する機械学習モデルであれば、ニューラルネットワーク以外のものであってもよい。
【0026】
推定部400は、メニュー推定部410と、ボリューム推定部420とを備える。メニュー推定部410およびボリューム推定部420は、例えばCPU等のプロセッサがプログラムメモリに格納されたプログラムを実行することにより実現される。メニュー推定部410は、メニュー推定モデル412を用いた処理を実行する。メニュー推定モデル412は、対象画像を入力とし、食品のメニューを推定結果として出力する機械学習モデルある。ボリューム推定部420は、ボリューム推定モデル422を用いた処理を実行する。ボリューム推定モデル422は、対象画像を入力とし、メニューのボリュームに関する情報を出力する機械学習モデルある。対象画像は、メニューおよび/またはボリュームを推定する対象となる画像である。なお、実施形態は、メニュー推定モデル412とボリューム推定モデル422とが別個であるが、これに限定されず、1つの機械学習モデルであってもよい。すなわち、メニュー推定モデル412およびボリューム推定モデル422に代えて、対象画像を入力とし、食品のメニューおよびメニューのボリュームに関する情報を出力する一つの機械学習モデルを備えてもよい。
【0027】
中間出力部500は、例えばユーザ端末装置100および画像蓄積部200と通信接続されたインターフェース回路である。中間出力部500は、メニュー推定部410から推定結果としてのメニュー情報510を入力し、メニュー情報510を補正部600に供給する。また、中間出力部500は、メニュー情報510に基づく情報をユーザ端末装置100および画像蓄積部200に出力する。メニュー情報510には、例えばメニューID、信頼度、および領域情報が含まれる。メニューIDは、メニューを特定するための情報(第1のメニュー情報)である。領域情報は、画像中に含まれるメニューが占める領域を示す情報(第1の領域情報)である。信頼度は、推定結果(メニューIDおよび領域情報)の確からしさを示す情報である。
【0028】
中間出力部500は、ボリューム推定部420から推定結果としてのボリューム情報520を入力し、ボリューム情報520を補正部600に供給する。また、中間出力部500は、ボリューム情報520に基づく情報をユーザ端末装置100および画像蓄積部200に出力する。ボリューム情報520には、例えば領域情報、距離情報、および環境情報が含まれる。領域情報、距離情報、および環境情報は、メニューのボリュームに関する情報の一例である。領域情報は、画像中に含まれるメニューが占める領域を示す情報である。距離情報は、画像を撮像した撮像装置からメニューまでの距離を示す情報である。環境情報は、メニューに対する撮像装置の視点、メニューに対する入射光および反射光、および照明に関する情報である。
【0029】
補正部600は、メニュー補正部610と、ボリューム補正部620とを備える。メニュー補正部610およびボリューム補正部620は、例えばCPU等のプロセッサがプログラムメモリに格納されたプログラムを実行することにより実現される。メニュー補正部610は、ユーザ端末装置100からメニューを補正する要求を受け付け、受け付けた要求に従って、メニューID、信頼度、および領域情報を補正する。ボリューム補正部620は、ユーザ端末装置100からボリュームに関する情報を補正する要求を受け付け、受け付けた要求に従って、領域情報、距離情報、および環境情報を補正する。補正部600は、補正したメニューID#(第2のメニュー情報)、信頼度#、および領域情報#(第2の領域情報)を含むメニュー情報、補正した領域情報#、距離情報#、および環境情報#を含むボリューム情報を出力部700に出力する。
【0030】
出力部700は、例えばユーザ端末装置100および画像蓄積部200と通信接続されたインターフェース回路である。出力部700は、補正部600から補正されたメニュー情報を入力し、補正されたメニュー情報をユーザ端末装置100および画像蓄積部200に出力する。出力部700は、補正部600から補正されたボリューム情報を入力し、補正されたボリューム情報をユーザ端末装置100および画像蓄積部200に出力する。
【0031】
中間出力部500は、ボリューム推定部420から推定結果としてのボリューム情報520を入力し、ボリューム情報520を補正部600に供給する。また、中間出力部500は、ボリューム情報520に基づく情報をユーザ端末装置100および画像蓄積部200に出力する。ボリューム情報520には、例えば領域情報、距離情報、および環境情報が含まれる。領域情報、距離情報、および環境情報は、メニューのボリュームに関する情報の一例である。領域情報は、画像中に含まれるメニューが占める領域を示す情報である。距離情報は、画像を撮像した撮像装置からメニューまでの距離を示す情報である。環境情報は、メニューに対する撮像装置の視点、メニューに対する入射光および反射光、および照明に関する情報である。これにより、メニュー推定システム1は、補正前のメニュー情報および補正後のメニュー情報を用いてメニュー推定モデル412の学習を行うことができる。また、メニュー推定システム1は、補正前のボリューム情報および補正後のボリューム情報を用いてボリューム推定モデル422の学習を行うことができる。
【0032】
図2は、実施形態におけるメニュー推定モデルの学習処理の一例を示すブロック図である。学習処理部310は、画像データ、領域、ラベル、および信頼度を含む学習データを入力し、メニュー推定モデル412に供給する。学習データは、中間出力部500から出力されたメニュー情報510、出力部700から出力された補正後のメニュー情報、または画像蓄積部200が外部装置から取得したメニュー情報である。学習データは、正解画像と誤認画像の何れかであってもよいが、双方の画像が混在していてもよい。ラベルは、上述したメニューIDに対応する情報である。信頼度は、ラベルに対応したメニューが画像データに含まれる確からしさであり、例えば画像中にメニューが鮮明に含まれる場合には高い値となる。また、ラベルおよび信頼度は、自動的に画像データに付加されてもよく、ユーザ端末装置100の操作に基づいて付加されてもよい。また、ラベルおよび信頼度は、画像データの領域に対応して設定される。画像データに対して複数の領域が存在する場合、各領域に対応してラベルおよび信頼度が設定される。
【0033】
学習処理部310は、学習データをメニュー推定モデル412に供給する(処理1)。メニュー推定モデル412は、学習データに対する推定結果を学習処理部310に出力する(処理2)。学習処理部310は、学習データが正解画像である場合、メニュー推定モデル412が推定したメニューIDおよび領域が、学習データにおけるラベルに対応したメニューIDおよび領域となるようにメニュー推定モデル412の処理パラメータを更新する(処理3)。学習処理部310は、学習データが誤認画像である場合、メニュー推定モデル412が推定したメニューIDおよび領域が、学習データにおけるラベルに対応したメニューIDおよび領域とならないようにメニュー推定モデル412の処理パラメータを更新する(処理3)。メニュー推定モデル412の処理パラメータは、例えば、ニューラルネットワークに含まれるフィルタ(重み、バイアスともいう)である。
【0034】
図3は、実施形態におけるメニュー推定モデルの推定処理の一例を示すブロック図である。学習されたメニュー推定モデル412は、メニュー推定部410に導入される。メニュー推定モデル412は、対象画像が入力された場合、領域ごとに、当該領域を示す情報、ラベル、および信頼度を推定結果として出力する。
【0035】
図4は、実施形態におけるボリューム推定モデルの学習処理の一例を示すブロック図である。学習処理部310は、画像データ、領域、ラベル、距離情報、環境情報、および信頼度を含む学習データを入力し、ボリューム推定モデル422に供給する。学習データは、中間出力部500から出力されたボリューム情報520、出力部700から出力された補正後のボリューム情報、または画像蓄積部200が外部装置から取得したボリューム情報である。学習データは、正解画像と誤認画像の何れかであってもよいが、双方の画像が混在していてもよい。ラベルは、上述したメニューの部分に対応する情報である。信頼度は、ラベルに対応したメニューの部分が画像データに含まれる確からしさであり、例えば画像中にメニューの部分が鮮明に含まれる場合には高い値となる。また、ラベルおよび信頼度は、自動的に画像データに付加されてもよく、ユーザ端末装置100の操作に基づいて付加されてもよい。また、ラベル、距離情報、環境情報、および信頼度は、画像データの領域に対応して設定される。画像データに対して複数の領域が存在する場合、各領域に対応してラベル、距離情報、環境情報、および信頼度が設定される。
【0036】
学習処理部310は、学習データをボリューム推定モデル422に供給する(処理1)。ボリューム推定モデル422は、学習データに対する推定結果を学習処理部310に出力する(処理2)。学習処理部310は、学習データが正解画像である場合、ボリューム推定モデル422が推定した領域、ラベル、距離情報、および環境情報が、学習データにおける領域、ラベル、距離情報、および環境情報となるようにボリューム推定モデル422の処理パラメータを更新する(処理3)。学習処理部310は、学習データが誤認画像である場合、ボリューム推定モデル422が推定した領域、ラベル、距離情報、および環境情報が、学習データにおける領域、ラベル、距離情報、および環境情報とならないようにボリューム推定モデル422の処理パラメータを更新する(処理3)。ボリューム推定モデル422の処理パラメータは、例えば、ニューラルネットワークに含まれるフィルタ(重み、バイアスともいう)である。
【0037】
図5は、実施形態におけるボリューム推定モデルの推定処理の一例を示すブロック図である。学習されたボリューム推定モデル422は、ボリューム推定部420に導入される。ボリューム推定モデル422は、対象画像が入力された場合、領域ごとに、当該領域を示す情報、距離、環境、および信頼度を推定結果として出力する。
【0038】
図6は、実施形態においてユーザに提示する情報の一例を示す図である。メニュー推定システム1は、推定部400により推定されたメニューID、およびメニューIDに対応する対象画像中の領域を示す領域情報をユーザ端末装置100に出力し、ユーザ端末装置100は、対象画像、メニューIDおよび領域情報を用いて表示を行う。
【0039】
推定部400は、対象画像に含まれるメニュー、および当該メニューに含まれる部分を推定し、メニューを示す文字情報と、当該メニューに含まれる部分を示す文字情報とを出力してよい。これにより、ユーザ端末装置100は、例えば
図6(a)に示すように、対象画像とともに、「もやしが多く乗っているのでラーメンA」といったように、メニューとして「ラーメン」を推定した結果を示す文字情報と、推定した根拠として「もやしが多く乗っている」というメニューに含まれる部分を推定した結果を示す文字情報とを表示することができる。この結果、ユーザ端末装置100は、対象画像と文字情報とに基づいて、推定結果が正解であるか否かの入力を受け付けることができる。補正部600は、例えば、推定結果が正解であることを受け付けた場合、対象画像についてのラベルの信頼度(取り得る値:0~1)を「1」に設定することができる。
【0040】
推定部400は、対象画像に含まれる一つの画像領域について複数のメニューを推定した場合、
図6(b)に示すように、当該画像領域を示す情報と、各メニューと各メニューの信頼度とを示す文字情報と、複数のメニューのうち何れか一つの選択を促すことを示す文字情報とを出力してよい。この結果、ユーザ端末装置100は、対象画像と文字情報とに基づいて、正解となる卵料理を選択する操作を受け付けることができる。補正部600は、例えば、「卵料理A」が正解であることを受け付けた場合、対象画像のうち領域に含まれる卵料理Aのラベルに対応する信頼度を高く変更し、卵料理Bのラベルに対応する信頼度を低く変更することができる。
【0041】
推定部400は、対象画像に含まれる画像領域についてメニューが推定できない場合、例えば
図6(c)に示すように、当該画像領域を示す情報と、「料理かどうか不明なので入力をお願いします」というメニューの入力を促すことを示す文字情報とを出力してよい。この結果、補正部600は、正解となる料理を入力する操作を受け付け、受け付けた料理に対応するメニューIDの信頼度を「1」に設定することができる。
【0042】
図7は、実施形態における特徴マップを示す図である。メニュー推定システム1は、対象画像について対象画像の領域と当該領域のラベルとをマッピングした特徴マップを作成してよい。例えば、
図7(a)に示すような対象画像に対して卵料理の推定処理を行うことで、
図7(b)に示すように卵料理に対する誤認および未検出が発生したとする。この場合、推定部400は、
図7(d)に示す特徴マップを作成する。この特徴マップは、卵料理であると誤認した料理に対応する注目領域および当該注目領域のラベル(L)を示す。補正部600は、例えば
図7(c)に示すように卵料理の領域およびラベルを補正する操作を受け付けたことに対し、
図7(e)のように補正した注目領域#およびラベル#を含む補正後の特徴マップ#を作成する。これにより、メニュー推定システム1は、領域情報を含む補正後の対象画像と、特徴マップ#を画像蓄積部200に出力し、モデル学習部300は、補正後の対象画像および特徴マップ#を用いて学習処理を行うことができる。
【0043】
[ボリューム推定処理]
つぎに、実施形態におけるボリュームの推定について説明する。
図8は、食品を上方から撮像した画像および領域を示す図である。
図9は、食品を側方から撮像した画像および領域を示す画像である。
図8に示すように、食品を上方から撮像した画像が対象画像である場合、推定部400は、食品メニューと認識した各領域の大きさが食品のボリュームに相当するため、高い精度でボリュームを推定することができる。これに対し、
図9に示すようにボリュームが異なるラーメンを上方から撮像した場合、高さ(深さ)方向においてボリュームの差があるため、ボリュームの推定精度は低くなる。
【0044】
さらに、撮像装置から食品までの距離(深度)に応じて対象画像に占める食品の大きさが変化するため、撮像装置から食品までの距離(深度)に応じてボリュームの推定結果が変化する。さらに、食品に対する撮像装置の視点に応じて対象画像に占める食品の大きさが変化するため、食品に対する撮像装置の視点に応じてボリュームの推定結果が変化する。さらに、食品に対する入射光と反射光の比や照明に応じて食品として認識される領域が変化するため、食品に対する入射光と反射光の比や照明に応じてボリュームの推定結果が変化する。以上より、ラベルの信頼度は、ラベルおよび環境情報を入力とする関数によって決定される。
【0045】
そこで、メニュー推定システム1は、
図4に示したように、画像データX_i(i=1,2,・・・,N)、領域、およびラベルに加えて、距離情報D_i(i=1,2,・・・,N)、環境情報E_i(i=1,2,・・・,N)、および信頼度Ri(i=1,2,・・・,N)を学習データに含めてボリューム推定モデル422を学習させる。環境情報E_i(i=1,2,・・・,N)は、視点情報:V_i (i=1,2,・・・,N)、入射光と反射光の比:A_i (i=1,2,・・・,N)、および照明L_i(i=1,2,・・・,N)によって定義される。信頼度Riは、照明Liおよび環境情報Eiを入力した関数Fによって決定される。これにより、メニュー推定システム1は、
図5に示したように、ボリューム推定モデル422に対象画像を入力したことに対する推定結果として、対象画像についての領域、距離、環境、およびラベルの信頼度を高い精度で出力することができる。具体的には、
図9に示すように、メニューに対応した領域ごとに、距離情報D_i(i=1,2,3)、環境情報E_i(i=1,2,3)、および信頼度Ri(i=1,2,3)を推定することができる。
【0046】
図10は、実施形態における栄養素推定部の一例を示すブロック図である。メニュー推定システム1は、栄養素推定部800を備えてよい。栄養素推定部800は、例えばCPU等のプロセッサがプログラムメモリに格納されたプログラムを実行することにより実現される。栄養素推定部800は、食品のメニューおよび当該メニューのボリュームに関する情報に基づいて、メニューの栄養素を推定する。具体的に、栄養素推定部800は、メニュー情報710およびボリューム情報720を入力し、栄養素情報を推定する。栄養素情報は、メニューに対応した栄養素および信頼度を含む情報である。栄養素情報は、メニュー中の領域ごとの栄養素および信頼度を含む情報であってよい。栄養素情報は、メニューに含まれる三大栄養素(たんぱく質、炭水化物および脂質)の重量であってもよい。
【0047】
[データ生成処理]
つぎに、学習データ生成部210による学習データの生成処理について詳細に説明する。
図11は、実施形態におけるデータ生成処理の一例を説明する図である。
図12は、実施形態におけるデータ生成処理の他の一例を説明する図である。学習データ生成部210は、正解画像を元画像として用いて学習用画像(以下、生成画像とも記載する)を生成する。正解画像は、例えばユーザ端末装置100によって推定結果が正解であるという操作を受け付けた画像や、所定値以上の信頼度のラベルが付随した画像である。学習データ生成部210は、
図11に示すように、例えば、正解画像に障害物画像を重畳する処理や、正解画像を反転させる処理や、複数の正解画像を合成する処理によって学習用画像を生成する。障害物画像は、推定対象となるメニュー以外を推定することが困難となるような画像であればよい。学習データ生成部210は、
図12に示すように、誤認画像を元画像として用いて学習用画像を生成してもよい。
【0048】
「第1アルゴリム」
まずデータの生成処理における第1アルゴリムについて説明する。
図13は、実施形態における推定結果の一例を示す図であり、画像数が「1」、領域数が「3」、ラベル数が「3」、ラベルが「卵料理、パン、および味噌汁」という推定結果が生成される。ここで、ラベルの種類をLとし、例えば、L=1が「ラーメン」、L=2が「炒飯」、L=3が「卵料理」が設定される。また、元画像の数をN、生成画像の数をM、元画像と生成画像の合計数をN+M、と記載するものとする。なお、各対象画像や各領域に複数のラベルが付随してよく、ラベル化されないメニューが存在してもよい。
【0049】
生成画像の集合におけるi番目の生成画像をOi(i=1,2,・・・,N+M)とし、Oi={i}(i=1,2,・・・,N)と表し、Oi={a,b,c}(i=N+1,N+2,・・・,N+M)、1≦a<b<c≦Nと表す。例えば、N+1番目の生成画像が、3,5,7番目の元画像から生成された場合、生成画像は、ON+1={3,5,7}と表す。複数の生成画像のそれぞれの元画像の出現数の合計値をTi(i=1,2,・・・,N)とする。例えば、O1={1}、O2={2}、O3={3}、O4={1,3}という4個の生成画像が存在する場合、i=1の元画像が2回使用され、i=2の元画像が1回使用され、i=3の元画像が2回使用されたので、T1={2}、T2={1}、T3={2}となる。
【0050】
図14は、実施形態の学習データ生成部における動作を示す図であり、
図15は、実施形態における学習用画像の生成処理の一例を示す図である。学習データ生成部210は、複数の元画像を入力し、学習用画像を生成する。学習データ生成部210は、元画像の数Nを元画像間で均等に近づけるように調整して、学習用画像を生成する。学習データ生成部210は、例えば、元画像が使用された平均値を(Tハット)下記の式1とした場合、下記の式2のような二乗誤差が一定値以下となるように学習用画像を生成する。
【数1】
【0051】
学習データ生成部210は、全ての学習用画像のうち、元画像使用数の二乗誤差が一定値以下となるような学習用画像の集合を抽出(サンプリング)し、抽出した学習用画像の集合を学習データとして設定してもよい。さらに、学習データ生成部210は、全ての学習用画像における元画像の使用数の中央値から所定範囲に属する学習用画像の集合を抽出し、抽出した学習用画像の集合を学習データとして設定してもよい。学習用画像の集合を抽出する処理は、例えば、学習用画像の生成後、ラーメンのラベルが付加された学習用画像、炒飯のラベルが付加された学習用画像、卵料理のラベルが付加された学習用画像の比率がいずれかの学習用画像に大きく偏る場合や、例えばラーメンのラベルが付加された学習用画像の数が他の学習用画像の数に対して多すぎる場合に、ラーメンのラベルが付加された学習用画像を減らす処理である。
【0052】
図16は、実施形態における学習用画像の生成処理の他の一例を示す図である。学習データ生成部210は、推定対象のメニュー(推定対象A)に基づいて、元画像の数を元画像間で調整してよい。学習データ生成部210は、例えば、推定対象がラーメンであってメニュー推定モデル412および/またはボリューム推定モデル422を学習させる場合、ラーメンに相当するラベルの元画像を中心として学習用画像を生成する。具体的に、学習データ生成部210は、ラーメンに相当するラベルが付随する正解画像、ラーメンに相当するラベルが付随する誤認画像、ラーメンに相当するラベルの信頼度が高い画像、ラーメンに相当するラベルの信頼度が低い画像、ラーメンに相当するラベルが付随する画像であって多様な距離や環境が付随した画像群を元画像として用いて、学習用画像の集合を生成する。
【0053】
学習データ生成部210は、推定対象に応じて望ましい学習用画像の割合を、元画像出現数T’
i(i=1,2,・・・,N)を用いて設定してよい。望ましい学習用画像数の割合は、ユーザの手動によって設定してもよく、所定の基準に基づいて設定してもよい。例えば、推定対象として1番目に望ましいラベル(ラーメン)が付加された元画像の出現数をT’
1に設定し、推定対象として2番目に望ましいラベル(炒飯)が付加された元画像の出現数をT’
2に設定する。学習データ生成部210は、T’
1およびT’
2を式3に代入し、式3により取得した二乗誤差が所定値以下となるように学習用画像を生成する処理、または式3により取得した二乗誤差が所定値以下となるように学習用画像の個数を調整する処理を実行する。また、学習データ生成部210は、全ての学習用画像における元画像の出現数の中央値から所定範囲に属する学習用画像の集合を抽出し、抽出した学習用画像の集合を学習データとして設定してもよい。
【数2】
【0054】
「第2アルゴリム」
図17は、実施形態における学習用画像の生成処理の他の一例を示す図である。学習用画像の集合におけるi番目の学習用画像に付随するラベルをL
i(i=1,2,・・・,N+M)とする。例えば、1番目の学習用画像に「1(ラーメン)」のラベルおよび「2(炒飯)」のラベルが付随している場合、L
1={1,2}となる。ラベルL
iの集合を展開し、各ラベルが出現した合計数をTL
i(i=1,2,・・・,N+M)とする。例えば、10枚の学習用画像に付随したラベルの集合に「1」のラベルが3個存在する場合、TL
1=3となる。
【0055】
学習データ生成部210は、学習用画像に付随するラベルの数を学習用画像間で調整する。学習データ生成部210は、例えば、元画像のラベルが使用された平均値(TLハット)を下記の式4とした場合、下記の式5のような二乗誤差が一定値以下となるように学習用画像を生成する。
【数3】
【0056】
学習データ生成部210は、全ての学習用画像のうち、ラベル使用数の二乗誤差が一定値以下となるような学習用画像の集合を抽出(サンプリング)し、抽出した学習用画像の集合を学習データとして設定してもよい。さらに、学習データ生成部210は、全ての学習用画像におけるラベルの使用数の中央値から所定範囲に属する学習用画像の集合を抽出し、抽出した学習用画像の集合を学習データとして設定してもよい。学習用画像の集合を抽出する処理は、例えば、学習用画像の生成後、ラーメンのラベル、炒飯のラベル、卵料理のラベルの比率がいずれかの生成画像に大きく偏る場合や、例えばラーメンのラベルの数が他のラベルの数に対して多すぎる場合に、ラーメンのラベルが付加された学習用画像の画像を減らす処理である。
【0057】
図18は、実施形態における学習用画像の生成処理の他の一例を示す図である。学習データ生成部210は、推定対象のメニューに基づいて、学習用画像に付随するラベルの数を学習用画像間で調整してよい。学習データ生成部210は、例えば、推定対象がラーメンであってメニュー推定モデル412および/またはボリューム推定モデル422を学習させる場合、ラーメンに相当するラベルを中心として学習用画像を生成する。具体的に、学習データ生成部210は、ラーメンに相当するラベルが付随する正解画像、ラーメンに相当するラベルが付随する誤認画像、ラーメンに相当するラベルの信頼度が高い画像、ラーメンに相当するラベルの信頼度が低い画像、ラーメンに相当するラベルが付随する画像であって多様な距離や環境が付随した画像群を元画像として用いて、学習用画像の集合を生成する。
【0058】
学習データ生成部210は、推定対象に応じて望ましいラベル出現数の割合を、ラベル出現数TL’
i(i=1,2,・・・,L)を用いて設定してよい。望ましいラベル出現数の割合は、ユーザの手動によって設定してもよく、所定の基準に基づいて設定してもよい。なお、例えば、推定対象として1番目に望ましいラベル(ラーメン)の出現数をTL’
1に設定し、推定対象として2番目に望ましいラベル(炒飯)の出現数をTL’
2に設定する。学習データ生成部210は、TL’
1およびTL’
2を式6に代入し、式6により取得した二乗誤差が所定値以下となるように学習用画像を生成する処理、または式6により取得した二乗誤差が所定値以下となるように学習用画像の個数を調整する処理を実行する。また、学習データ生成部210は、全ての学習用画像におけるラベルの出現数の中央値から所定範囲に属する学習用画像の集合を抽出し、抽出した学習用画像の集合を学習データとして設定してもよい。
【数4】
【0059】
「第3アルゴリム」
学習データ生成部210は、第1アルゴリムのように元画像の数を元画像間で調整すると共に第2アルゴリムのように学習用画像に付随するラベルの数を学習用画像間で調整してよい。学習データ生成部210は、例えば、元画像が使用された平均値を式1として、式2のような二乗誤差が一定値以下となるように学習用画像を生成すると共に、元画像のラベルが使用された平均値を式4とし、式5のような二乗誤差が一定値以下となるように学習用画像を生成する。
【0060】
学習データ生成部210は、全ての学習用画像のうち元画像使用数の二乗誤差が一定値以下となるような学習用画像の集合を抽出(サンプリング)し、抽出した学習用画像の集合を学習データとして設定すると共に、全ての学習用画像のうちラベル使用数の二乗誤差が一定値以下となるような学習用画像の集合を抽出(サンプリング)し、抽出した学習用画像の集合を学習データとして設定してよい。さらに、学習データ生成部210は、全ての学習用画像における元画像の使用数の中央値から所定範囲に属する学習用画像の集合を抽出し、抽出した学習用画像の集合を学習データとして設定するとともに、全ての学習用画像におけるラベルの使用数の中央値から所定範囲に属する学習用画像の集合を抽出し、抽出した学習用画像の集合を学習データとして設定してもよい。
【0061】
学習データ生成部210は、推定対象のメニューに基づいて、元画像の数を元画像間で調整するとともに、学習用画像に付随するラベルの数を学習用画像間で調整してよい。学習データ生成部210は、例えば、推定対象がラーメンであってメニュー推定モデル412および/またはボリューム推定モデル422を学習させる場合、ラーメンに相当する元画像であってラーメンに相当するラベルを中心として学習用画像を生成する。具体的に、学習データ生成部210は、ラーメンに相当する元画像であってラベルが付随する正解画像、ラーメンに相当する元画像であってラベルが付随する誤認画像、ラーメンに相当するラベルの信頼度が高い画像、ラーメンに相当するラベルの信頼度が低い画像、ラーメンに相当するラベルが付随する画像であって多様な距離や環境が付随した画像群を元画像として用いて、学習用画像の集合を生成する。
【0062】
学習データ生成部210は、推定対象に応じて望ましい学習用画像の割合およびラベル出現数の割合を、元画像出現数T’i(i=1,2,・・・,N)およびラベル出現数TL’i(i=1,2,・・・,L)を用いて設定してよい。例えば、推定対象として1番目に望ましいラーメンの元画像の出現数をT’1に設定すると共にラベル(ラーメン)の出現数をTL’1に設定し、推定対象として2番目に望ましい炒飯の元画像の出現数をT’2に設定すると共にラベル(炒飯)の出現数をT’2に設定する。学習データ生成部210は、T’1およびT’2を式3に代入すると共にTL’1およびTL’2を式6に代入し、式3により取得した二乗誤差のそれぞれが所定値以下となるように学習用画像を生成する処理、または式6により取得した二乗誤差のそれぞれが所定値以下となるように学習用画像の個数を調整する処理を実行する。また、学習データ生成部210は、全ての学習用画像における元画像の出現数の中央値から所定範囲に属しラベルの出現数の中央値から所定範囲に属する学習用画像の集合を抽出し、抽出した学習用画像の集合を学習データとして設定してもよい。
【0063】
図19は、学習用画像の集合を調整する具体的な一例を示す図である。具体的に、推定対象のメニューがラーメンであり、学習用画像の集合Aが存在するものとする。学習データ生成部210は、学習用画像の集合Aにおけるラーメンのラベルが付随する学習用画像の割合を高くするために式4を用いてラーメンのラベル出現数を他のラベル出現数よりも高く調整することで、学習用画像の集合Aから学習用画像の集合Bを抽出する。次に学習データ生成部210は、ラーメンの元画像を用いた学習用画像を均等になるように調整するように、学習用画像の集合Bから学習用画像の集合Cを抽出する。または、学習データ生成部210は、ラーメンの元画像に近い学習用画像を含む集合に調整するように、学習用画像の集合Bから学習用画像の集合Dを抽出する。
【0064】
[元画像の選択処理]
つぎに、元画像を選択する処理について説明する。この元画像を選択する処理は、上述した第1アルゴリム、第2アルゴリム、および第3アルゴリムの何れにも適用可能である。
図20は、学習用画像を生成する処理の手順の一例を示すフローチャートである。学習データ生成部210は、画像蓄積部200から元画像を取得する(ステップS100)。学習データ生成部210は、取得した元画像に付随した信頼度が閾値以上であるか否かを判定する(ステップS102)。学習データ生成部210は、信頼度が閾値以上である場合(ステップS102:YES)、当該元画像を用いて学習用画像を生成し(ステップS104)、信頼度が閾値以上ではない場合(ステップS102:NO)、当該元画像を用いて学習用画像を生成しない。このように、学習データ生成部210は、ラベルに対応した信頼度に基づいて元画像を用いた学習用画像の生成を行うか否かを判定することで、元画像を選択することができる。
【0065】
具体的に、i番目の画像に付随するラベルの信頼度をRi(i=1,2,・・・,N+M)とし、1番目の元画像に「1(ラーメン)」および「2(炒飯)」のラベルが付随しており、ラベル「1」の信頼度が0.9であり、ラベル「2」の信頼度が0.5である場合、L1={1,2}、R1={0.9,0.5}と表すとする。この場合、学習データ生成部210は、例えば、信頼度の閾値を全メニュー(全ラベル)について0.7に設定した場合において、1番目の元画像がL1={1,2}、R1={0.9,0.5}であり、2番目の元画像がL2={1,2}、R2={0.5,0.8}である場合、ラベル「1」に対応したラーメンを予測するメニュー推定モデル412およびボリューム推定モデル422を学習させるための元画像として1番目の元画像を用いると判定し(0.9>0.7)、2番目の元画像は用いないと判定する(0.5<0.7)。一方、学習データ生成部210は、ラベル「2」に対応した炒飯を予測するメニュー推定モデル412およびボリューム推定モデル422を学習させるための元画像として1番目の元画像を用いないと判定し(0.5<0.7)、2番目の元画像を用いると判定する(0.8>0.7)。このように、学習データ生成部210は、推定対象のメニューに基づいて、ラベルに対応した信頼度に基づいて元画像を用いた学習用画像の生成を行うか否かを判定する。
【0066】
[推定モデルの評価処理]
図21は、実施形態における推定モデルの評価を示すブロック図である。メニュー推定システム1は、評価部900を備える。評価部900は、評価用画像をメニュー推定モデル412またはボリューム推定モデル422に入力し、メニュー推定モデル412またはボリューム推定モデル422の出力に基づいてメニュー推定モデル412またはボリューム推定モデル422を評価する。メニュー推定モデル412およびボリューム推定モデル422は、元画像に付随するラベルの信頼度に応じて予測精度が変化する。例えば、ラベル「1」の信頼度が高いがラベル「2」の信頼度が低い元画像の集合を用いて学習された推定モデルの予測精度は、ラベル「1」については高いが、ラベル「2」については低い場合が多い。メニュー推定システム1は、推定モデルのラベルに対する評価値を高くしたい場合、上述した元画像の選択において信頼度の高いラベルを選択して推定モデルを生成することができる。一方、メニュー推定システム1は、推定モデルのラベルに対する予測精度が低くても許容される場合には、上述した元画像の選択において信頼度に対する閾値を低く設定して推定モデルを生成することができる。
【0067】
[実施形態の効果]
以上説明したように、実施形態のメニュー推定システム1によれば、画像を取得する画像取得部としての画像蓄積部200と、画像蓄積部200により取得した画像を学習データとして入力とし、画像蓄積部200により取得した画像に含まれる食品のメニューを出力するようにメニュー推定モデル412を学習させるモデル学習部300と、画像蓄積部200により取得した画像を対象画像としてメニュー推定モデル412に入力し、メニュー推定モデル412の出力に基づいて対象画像に含まれた食品のメニューを推定するメニュー推定部410と、メニュー推定部410により推定されたメニューを示す第1のメニュー情報、および第1のメニュー情報に対応する対象画像中の画像領域を示す第1の領域情報を出力する中間出力部500と、を備える、メニュー推定装置を実現することができる。このメニュー推定システム1によれば、推定されたメニューを示す第1のメニュー情報、および第1のメニュー情報に対応する対象画像中の画像領域を示す第1の領域情報を出力するので、メニューに対応した領域の正誤を補正することが可能になり、補正した結果に基づいてメニュー推定モデル412の推定精度を高くすることができる。
【0068】
また、メニュー推定システム1によれば、中間出力部500から出力された第1のメニュー情報および第1の領域情報を修正する指示を受け付け、受け付けた指示に基づいてメニューおよび画像領域を補正する補正部600と、補正部600により補正されたメニューを示す第2のメニュー情報、および画像領域を示す第2の領域情報を出力する出力部700と、を備え、モデル学習部300により、第1のメニュー情報、第1の領域情報、2のメニュー情報、および第2の領域情報に基づいてメニュー推定モデル412を学習させることができる。この結果、メニュー推定システム1によれば、メニューの推定精度を高くすることができる。
【0069】
さらに、メニュー推定システム1によれば、推定部により、対象画像に含まれるメニュー、および当該メニューに含まれる部分を推定し、メニューを示す文字情報と、当該メニューに含まれる部分を示す文字情報とを出力する。さらに、メニュー推定システム1によれば、推定部により対象画像に含まれる一つの画像領域について複数のメニューを推定した場合、当該画像領域を示す情報と、各メニューと各メニューの信頼度とを示す文字情報と、複数のメニューのうち何れか一つの選択を促すことを示す文字情報とを出力する。さらに、メニュー推定システム1によれば、推定部により対象画像に含まれる画像領域についてメニューが推定できない場合、当該画像領域を示す情報と、メニューの入力を促すことを示す文字情報とを出力する。この結果、メニュー推定システム1によれば、推定したメニューに加えて、推定した根拠となった画像領域をユーザに提示することができ、適切に推定結果を補正することができ、さらにメニューの推定精度を高くすることができる。
【0070】
さらに、メニュー推定システム1によれば、画像を学習データとして入力とし、当該画像に含まれる食品のメニュー、および当該メニューのボリュームに関する情報を出力するようにボリューム推定モデル422を学習させ、対象画像としてボリューム推定モデル422に入力し、ボリューム推定モデル422の出力に基づいて食品のメニューおよび当該メニューのボリュームに関する情報を推定することができる。これによりメニュー推定システム1は、メニューに含まれるボリュームを推定することができる。
【0071】
さらに、メニュー推定システム1によれば、ボリュームに関する情報として、対象画像を撮像した撮像装置から食品までの距離情報、食品に対する撮像装置の視点、食品に対する入射光および反射光、および照明に関する情報を含むので、対象画像内に含まれる領域の大きさに影響する距離、視点、光環境や照明を考慮して、ボリュームの推定精度を高くすることができる。
【0072】
さらに、メニュー推定システム1によれば、食品のメニューおよび当該メニューのボリュームに関する情報に基づいて、メニューの栄養素を推定する栄養素推定部を備えるので、推定したメニューおよびボリュームに基づいて領域毎に栄養素に関する情報を提供することができる。
【0073】
実施形態のメニュー推定システム1によれば、画像を取得する画像取得部としての画像蓄積部200と、画像蓄積部200により取得した画像を元画像として用いて学習用画像を生成する画像生成部としての学習データ生成部210であって、元画像の数を元画像間で調整する学習データ生成部210と、画像蓄積部200により取得した画像、および学習データ生成部210により生成した学習用画像を学習データとして入力とし、学習データに含まれる食品のメニューを出力するように推定モデル(メニュー推定モデル412またはボリューム推定モデル422)を学習させる学習処理部310と、を備える、学習装置を実現することができる。このメニュー推定システム1によれば、推定モデルの学習が特定の元画像に偏ることを抑制することができる。
【0074】
また、メニュー推定システム1によれば、推定対象のメニューに基づいて元画像の数を元画像間で調整するので、推定したいメニューに合わせて推定モデルの学習を行うことができ、推定モデルの推定精度を高くすることができる。
【0075】
さらに、メニュー推定システム1によれば、画像を取得する画像取得部としての画像蓄積部200と、画像蓄積部200により取得した画像を元画像として用いて学習用画像を生成する画像生成部としての学習データ生成部210と、画像蓄積部200により取得した画像、および画像蓄積部200により生成した学習用画像を学習データとして入力とし、学習データに含まれる食品のメニューを出力するように推定モデルを学習させる学習部と、を備え、学習データ生成部210により、学習用画像に付随するラベルの数を学習用画像間で調整する。これによりメニュー推定システム1によれば、推定モデルの学習が特定のラベルに偏ることを抑制することができる。
【0076】
さらに、メニュー推定システム1によれば、学習データ生成部210により推定対象のメニューに基づいて、学習用画像に付随するラベルの数を学習用画像間で調整するので、推定したいメニューに合わせて推定モデルの学習を行うことができ、推定モデルの推定精度を高くすることができる。
【0077】
さらに、メニュー推定システム1によれば、元画像の数を元画像間で調整すると共に学習用画像に付随する前記ラベルの数を学習用画像間で調整するので、推定モデルの学習が特定の元画像や特定のラベルに偏ることを抑制することができる。
【0078】
さらに、メニュー推定システム1によれば、推定対象のメニューに基づいて、元画像の数を元画像間で調整すると共に学習用画像に付随するラベルの数を学習用画像間で調整するので、推定したいメニューに合わせて推定モデルの学習を行うことができ、推定モデルの推定精度を高くすることができる。
【0079】
さらに、メニュー推定システム1によれば、ラベルに対応した信頼度に基づいて元画像を用いた学習用画像の生成を行うか否かを判定するので、信頼度の高いラベルが付随した元画像を用いて推定モデルを学習させることができ、さらにメニューの推定精度を高くすることができる。
【0080】
さらに、メニュー推定システム1によれば、推定対象のメニューに基づいて、ラベルに対応した信頼度に基づいて元画像を用いた学習用画像の生成を行うか否かを判定する、推定対象のメニューに対して信頼度の高いラベルが付随した元画像を用いて推定モデルを学習させることができ、さらにメニューの推定精度を高くすることができる。
【0081】
さらに、メニュー推定システム1によれば、メニューに対応したラベルおよび信頼度が付随した評価用画像を推定モデルに入力し、推定モデルの出力結果に基づいて推定モデルを評価する評価部900を備え、推定モデルの出力と評価用画像に付随したラベルとの比較と、評価用画像に付随した信頼度とに基づいて推定モデルを評価することができ、高い評価の推定モデルを作成することができる。
【0082】
なお、各実施形態および変形例について説明したが、一例であってこれらに限られず、例えば、各実施形態や各変形例のうちのいずれかや、各実施形態の一部や各変形例の一部を、他の1または複数の実施形態や他の1または複数の変形例と組み合わせて本発明の一態様を実現させてもよい。
【0083】
なお、本実施形態におけるユーザ端末装置100、学習データ生成部210、モデル学習部300、推定部400、および補正部600の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムを、コンピュータシステムに読み込ませ、実行することにより、ユーザ端末装置100、学習データ生成部210、モデル学習部300、推定部400、および補正部600に係る上述した種々の処理を行ってもよい。
【0084】
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器などのハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリなどの書き込み可能な不揮発性メモリ、CD-ROMなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。
【0085】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic
Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置などに格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。
【0086】
ここで、プログラムを伝送する「伝送媒体」は、インターネットなどのネットワーク(通信網)や電話回線などの通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0087】
1 メニュー推定システム
100 ユーザ端末装置
200 画像蓄積部
206 ログデータ蓄積部
208 検知結果蓄積部
210 学習データ生成部
300 モデル学習部
310 学習処理部
400 推定部
410 メニュー推定部
412 メニュー推定モデル
420 ボリューム推定部
422 ボリューム推定モデル
500 中間出力部(第1の出力部)
510 メニュー情報
520 ボリューム情報
600 補正部
610 メニュー補正部
620 ボリューム補正部
700 出力部(第2の出力部)
710 メニュー情報
720 ボリューム情報
800 栄養素推定部
900 評価部