(57)【要約】【課題】料理画像に写っている料理に用いられている具材を料理画像から推定すること。【解決手段】情報処理装置は、料理画像を取得する画像取得部と、前記料理画像に写っている料理に用いられている第１の具材を前記料理画像から画像認識する具材認識部と、前記料理画像に写っている料理を示す情報と、前記具材認識部によって認識された前記第１の具材を示す情報と、料理と当該料理に用いられる具材との関係を示す料理具材関係データと、料理に用いられる複数の具材間の関係を示す具材間関係データと、に基づいて、前記料理画像に写っている料理に用いられている具材のうち、前記第１の具材とは異なる第２の具材を推定する使用具材推定部と、を備える。【選択図】図２
2018185795.tif 000002
【特許請求の範囲】
【請求項１】
料理画像を取得する画像取得部と、
前記料理画像に写っている料理に用いられている第１の具材を前記料理画像から画像認識する具材認識部と、
前記料理画像に写っている料理を示す情報と、前記具材認識部によって認識された前記第１の具材を示す情報と、料理と当該料理に用いられる具材との関係を示す料理具材関係データと、料理に用いられる複数の具材間の関係を示す具材間関係データと、に基づいて、前記料理画像に写っている料理に用いられている具材のうち、前記第１の具材とは異なる第２の具材を推定する使用具材推定部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記料理画像に写っている料理を前記料理画像から画像認識する料理認識部、
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記料理具材関係データと前記具材間関係データとを記憶する記憶部と、
学習データを取得する学習データ取得部と、
前記学習データを用いた料理ごとの各具材の出現頻度に基づき、前記記憶部に記憶された前記料理具材関係データおよび前記具材間関係データを更新する具材集計部と、
を備えることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記使用具材推定部は、前記料理具材関係データに基づいてパラメータ値が設定されたノードの集合と、前記具材間関係データに基づいてパラメータ値が設定されたエッジの集合と、によって構成される経路図に対して経路探索を行うことにより前記第２の具材を推定する
ことを特徴とする請求項１から請求項３のうちいずれか一項に記載の情報処理装置。
【請求項５】
コンピュータによる情報処理方法であって、
画像取得部が、料理画像を取得する画像取得ステップと、
具材認識部が、前記料理画像に写っている料理に用いられている第１の具材を前記料理画像から画像認識する具材認識ステップと、
使用具材推定部が、前記料理画像に写っている料理を示す情報と、前記具材認識部によって認識された前記第１の具材を示す情報と、料理と当該料理に用いられる具材との関係を示す料理具材関係データと、料理に用いられる複数の具材間の関係を示す具材間関係データと、に基づいて、前記料理画像に写っている料理に用いられている具材のうち、前記第１の具材とは異なる第２の具材を推定する使用具材推定ステップと、
を有することを特徴とする情報処理方法。
【請求項６】
コンピュータに、
料理画像を取得する画像取得ステップと、
前記料理画像に写っている料理に用いられている第１の具材を前記料理画像から画像認識する具材認識ステップと、
前記料理画像に写っている料理を示す情報と、前記具材認識ステップにおいて認識された前記第１の具材を示す情報と、料理と当該料理に用いられる具材との関係を示す料理具材関係データと、料理に用いられる複数の具材間の関係を示す具材間関係データと、に基づいて、前記料理画像に写っている料理に用いられている具材のうち、前記第１の具材とは異なる第２の具材を推定する使用具材推定ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
食事の献立を考える時に、インターネットのホームページに掲載されている料理画像や、雑誌に掲載されている料理画像を見て、当該料理画像に写っている料理と同様の料理を作りたくなることがある。料理画像に写っている料理と同様の料理を作るためには、当該料理に関する情報（例えば、レシピ等）が料理画像以外には存在しない場合には、料理画像のみから、料理に使われている具材を推測する必要がある。
特許文献１に記載の情報処理システムは、認識された食事の料理画像から、食事メニュー、完成画像、材料等の各データが格納された食事レシピＤＢの画像を検索し、検索された画像に対応する食事メニューを認識し、認識された食事メニューに対応する構成食材を決定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２５２１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の情報処理システムは、料理画像に写っている料理（食事メニュー）を料理画像から認識し、認識した料理に対応する具材（構成食材）を画像認識するが、料理画像に写っている料理において実際に使われている具材を料理画像から画像認識しているわけではないため、必ずしも実際に使われている具材を精度高く推定することはできない。
この課題に対して、当該料理画像に写っている料理に実際に使われている具材を料理画像から画像認識するようにする方法が考えられるが、具材を画像認識する場合であっても、実際に使われている全ての具材を必ずしも画像認識することができないことがある。例えば、カレーやシチュー等においてソースやスープによって覆い隠されている具材、丼料理やオムレツ等における他の具材によって覆い被されている具材、および、細かく刻まれたり溶かされたりしており原形を留めていない具材等のように、料理画像には写っていない具材あるいは料理画像には明瞭に写っていない具材を当該料理画像から画像認識することはできないという課題がある。
【０００５】
本発明は上記の点に鑑みてなされたものであり、料理画像に写っている料理に用いられている具材を料理画像から推定することができる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様としては、料理画像を取得する画像取得部と、前記料理画像に写っている料理に用いられている第１の具材を前記料理画像から画像認識する具材認識部と、前記料理画像に写っている料理を示す情報と、前記具材認識部によって認識された前記第１の具材を示す情報と、料理と当該料理に用いられる具材との関係を示す料理具材関係データと、料理に用いられる複数の具材間の関係を示す具材間関係データと、に基づいて、前記料理画像に写っている料理に用いられている具材のうち、前記第１の具材とは異なる第２の具材を推定する使用具材推定部と、を備えることを特徴とする情報処理装置である。
【０００７】
また、本発明の一態様としては、コンピュータによる情報処理方法であって、画像取得部が、料理画像を取得する画像取得ステップと、具材認識部が、前記料理画像に写っている料理に用いられている第１の具材を前記料理画像から画像認識する具材認識ステップと、使用具材推定部が、前記料理画像に写っている料理を示す情報と、前記具材認識部によって認識された前記第１の具材を示す情報と、料理と当該料理に用いられる具材との関係を示す料理具材関係データと、料理に用いられる複数の具材間の関係を示す具材間関係データと、に基づいて、前記料理画像に写っている料理に用いられている具材のうち、前記第１の具材とは異なる第２の具材を推定する使用具材推定ステップと、を有することを特徴とする情報処理方法である。
【０００８】
また、本発明の一態様としては、コンピュータに、料理画像を取得する画像取得ステップと、前記料理画像に写っている料理に用いられている第１の具材を前記料理画像から画像認識する具材認識ステップと、前記料理画像に写っている料理を示す情報と、前記具材認識ステップにおいて認識された前記第１の具材を示す情報と、料理と当該料理に用いられる具材との関係を示す料理具材関係データと、料理に用いられる複数の具材間の関係を示す具材間関係データと、に基づいて、前記料理画像に写っている料理に用いられている具材のうち、前記第１の具材とは異なる第２の具材を推定する使用具材推定ステップと、を実行させるためのプログラムである。
【発明の効果】
【０００９】
本発明によれば、料理画像に写っている料理に用いられている具材を料理画像から推定することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る使用具材推定システムのシステム構成の一例を示す概略図である。
【図２】本発明の実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。
【図３】本実施形態に係る情報処理装置１０による使用具材推定処理において生成されるラティスの一例を示す概略図である。
【図４】本発明の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図５】本発明の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
＜実施形態＞
以下、本発明の実施形態について説明する。
本実施形態に係る使用具材推定システム１は、料理を撮像し、撮像した料理画像から、料理および当該料理に用いられている具材を画像認識する。そして、使用具材推定システム１は、画像認識によって認識された料理および具材を示す情報と、予め記憶している料理と具材との関係を示すデータ（料理具材関係データ）と、予め記憶している具材と他の具材との関係を示すデータ（具材間関係データ）と、に基づいて、当該料理に用いられている具材を推定する。これにより、使用具材推定システム１は、撮像した料理画像には写っていない具材や画像認識によって認識することができなかった具材も含めて、料理に用いられている具材を推定することができる。
この使用具材推定システム１について、以下に詳しく説明する。
【００１２】
［使用具材推定システムの構成］
以下、使用具材推定システム１のシステム構成について、図面を参照しながら説明する。
図１は、本発明の実施形態に係る使用具材推定システム１のシステム構成の一例を示す概略図である。図示するように、使用具材推定システム１は、情報処理装置１０と、情報端末２０と、通信ネットワーク５０と、を含んで構成される。
【００１３】
情報処理装置１０は、情報端末２０から送信された料理画像を、通信ネットワーク５０を介して取得し、取得した料理画像に基づいて当該料理画像に写っている料理に用いられている具材を推定し、推定した具材を示す情報を情報端末２０へ送信する使用具材推定サービスを提供するサーバ装置である。
なお、ここでいう具材には、穀物、野菜、および果物などの植物系の食材、肉、魚などの動物系の食材のほか、調味料や香料なども含まれる。
情報処理装置１０は、サーバ機能を有するコンピュータ、例えば、汎用コンピュータ、またはパーソナルコンピュータなどを含んで構成される。
【００１４】
情報端末２０は、カメラ機能を有し、料理を撮像して、撮像した料理画像を、通信ネットワーク５０を介して情報処理装置１０へ送信し、当該情報処理装置１０によって推定された具材を示す情報を当該情報処理装置１０から通信ネットワークを介して取得する端末装置である。
情報端末２０は、情報処理装置１０と通信接続することができる端末装置、例えば、スマートフォン、またはタブレット型の携帯情報端末などを含んで構成される。
【００１５】
通信ネットワーク５０は、情報処理装置１０と情報端末２０とを通信接続する。通信ネットワーク５０は、例えば、インターネットや、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ；構内通信網）およびＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ；広域ネットワーク）などの専用線を含んで構成される。
【００１６】
なお、説明を簡略化するため、図１においては、情報端末２０を一台しか記載していないが、使用具材推定システム１が複数の情報端末２０を含んで構成され、情報処理装置１０が複数の情報端末２０に対して使用具材推定サービスを提供するような構成であってもよい。
【００１７】
［情報処理装置の機能構成］
以下、情報処理装置１０の機能構成について、図面を参照しながら説明する。
図２は、本発明の実施形態に係る情報処理装置１０の機能構成の一例を示すブロック図である。図示するように、情報処理装置１０は、画像取得部１００と、画像解析部１１０と、記憶部１２０と、使用具材推定部１３０と、結果出力部１４０と、学習データ取得部１５０と、具材集計部１６０と、を含んで構成される。また、画像解析部１１０は、料理認識部１１１と、具材認識部１１２と、を含んで構成される。
【００１８】
画像取得部１００は、情報端末２０によって撮像され、当該情報端末２０から送信された料理画像を示すデータを、通信ネットワーク５０を介して取得する通信インターフェースである。画像取得部１００は、取得した料理画像を示すデータを画像解析部１１０へ出力する。
【００１９】
画像解析部１１０は、画像取得部１００から入力されたデータに基づく料理画像を画像解析する。上述したように、画像解析部１１０は、料理認識部１１１と、具材認識部１１２と、を含んで構成される。
料理認識部１１１は、画像取得部１００から入力されたデータに基づく料理画像を解析し、当該料理画像に写っている料理を画像認識する。
具材認識部１１２は、画像取得部１００から入力されたデータに基づく料理画像を解析し、当該料理画像に写っている料理に用いられている具材を画像認識する。
画像解析部１１０は、料理認識部１１１によって画像認識された、料理画像に写っている料理を示す情報を、使用具材推定部１３０へ出力する。また、画像解析部１１０は、具材認識部１１２によって画像認識された、料理画像に写っている料理に用いられている具材を示す情報を、使用具材推定部１３０へ出力する。
【００２０】
記憶部１２０は、情報処理装置１０によって行われる各種の処理において用いられるプログラムやデータ等を記憶する。また、記憶部１２０は、情報処理装置１０によって行われる各種の処理において一時的に使用される一時記憶領域としても用いられる。記憶部１２０は、記憶媒体、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ；ハードディスクドライブ）、フラッシュメモリ、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ；イーイーピーロム）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  ｒｅａｄ／ｗｒｉｔｅ  Ｍｅｍｏｒｙ；読み書き可能なメモリ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ；読み出し専用メモリ）、またはこれらの記憶媒体の任意の組み合わせによって構成される。
【００２１】
また、記憶部１２０は、料理具材関係データ１２０１と、具材間関係データ１２０２と、を記憶する。料理具材関係データ１２０１は、料理と当該料理に用いられる具材との関係を示すデータである。具材間関係データ１２０２は、料理に用いられる具材と当該料理に用いられる他の具材との関係を示すデータである。
【００２２】
なお、料理具材関係データ１２０１、具材間関係データ１２０２は、レシピから得られる情報である。また、当該レシピには、ユーザによって（例えば、インターネット上の投稿サイトなどに）投稿されたレシピなども含まれる。多数のユーザによって投稿されたレシピから、料理具材関係データ１２０１と、具材間関係データ１２０２を生成することにより、使用具材の推定精度の向上が望める。
【００２３】
使用具材推定部１３０は、画像解析部１１０から入力された、料理画像に写っている料理を示す情報と、画像解析部１１０から入力された、具材を示す情報と、記憶部１２０に記憶された、料理と当該料理に用いられる具材との関係を示す料理具材関係データ１２０１と、記憶部１２０に記憶された、料理に用いられる具材と当該料理に用いられる他の具材との関係を示す具材間関係データと１２０２、に基づいて、料理画像に写っている料理に用いられている具材を推定する。
【００２４】
また、使用具材推定部１３０は、料理具材関係データ１２０１に基づいてパラメータ値が設定されたノードの集合と、具材間関係データ１２０２に基づいてパラメータ値が設定されたエッジの集合と、によって構成される経路図に対して経路探索を行うことにより、料理画像に写っている料理に用いられている具材を推定する。
なお、使用具材推定部１３０によって行われる具材の推定処理の詳細については後述する。
使用具材推定部１３０は、推定した具材を示す情報を、結果出力部１４０へ出力する。
【００２５】
結果出力部１４０は、使用具材推定部１３０から入力された、具材を示す情報を、通信ネットワーク５０を介して情報端末２０へ送信するための通信インターフェースである。
【００２６】
学習データ取得部１５０は、具材集計部１６０によって集計される、料理ごとの各具材の出現回数に基づく、料理具材関係データ１２０１および具材間関係データ１２０２の更新に用いられる学習データを取得する入力インターフェースである。学習データ取得部１５０は、取得した学習データを具材集計部１６０へ出力する。
なお、学習データ取得部１５０は、例えば、通信ネットワーク５０などを介して外部の装置から学習データを取得する通信インターフェース、あるいは、各種の記憶媒体（例えば、ＨＤＤ、フラッシュメモリ、またはＲＡＭなど）を介して学習データを取得するための入力インターフェースである。
【００２７】
具材集計部１６０は、学習データ取得部１５０から取得した学習データを用いた、料理ごとの各具材の出現回数に基づき、記憶部１２０に記憶された料理具材関係データ１２０１および具材間関係データ１２０２を更新する。
【００２８】
なお、本実施形態に係る使用具材推定システム１においては、画像取得部１００、画像解析部１１０、記憶部１２０、使用具材推定部１３０、結果出力部１４０、学習データ取得部１５０、および具材集計部１６０を、全て情報処理装置１０側に備えられているものとしたが、これに限られない。これらの機能ブロックの一部または全部が、情報端末２０側に備えられているような構成であってもよい。
【００２９】
例えば、画像取得部１００、画像解析部１１０、記憶部１２０、使用具材推定部１３０、結果出力部１４０、学習データ取得部１５０、および具材集計部１６０を、全て情報端末２０が備えるような構成であってもよい。すなわち、この場合、情報処理装置１０および通信ネットワーク５０は不要となる。
【００３０】
また、例えば、画像取得部１００、画像解析部１１０、使用具材推定部１３０、および結果出力部１４０を、情報端末２０が備えるような構成であってもよい。この場合、情報端末２０が備える使用具材推定部１３０は、通信ネットワーク５０を介して取得される、情報処理装置１０が備える記憶部１２０に記憶された料理具材関係データ１２０１および具材間関係データ１２０２に基づいて、料理画像に写っている料理に用いられている具材を推定する。
【００３１】
また、例えば、画像取得部１００および画像解析部１１０を、情報端末２０が備えるような構成であってもよい。この場合、画像解析部１１０は、料理認識部１１１によって画像認識された、料理画像に写っている料理を示す情報、および具材認識部１１２によって画像認識された、料理画像に写っている料理に用いられている具材を示す情報を、通信ネットワーク５０を介して、情報処理装置１０へ送信する。そして、情報処理装置１０は、取得した、料理を示す情報および具材を示す情報に基づいて、料理画像に写っている料理に用いられている具材を推定し、推定した具材を示す情報を、通信ネットワーク５０を介して、情報端末２０へ送信する。
【００３２】
［具材集計処理］
以下、情報処理装置１０による具材集計処理について説明する。
まず、情報処理装置１０は、使用具材推定処理を行うための事前準備として、具材集計処理を行う。
情報処理装置１０は、具材集計部１６０により、特定の料理において特定の具材が用いられる頻度を示す情報（すなわち、料理と当該料理に用いられる具材との関係を示す料理具材関係データ１２０１）を、料理ごとに生成・更新する。
また、情報処理装置１０は、具材集計部１６０により、特定の料理において特定の具材と他の具材が共に用いられる頻度を示す情報（すなわち、料理に用いられる具材と当該料理に用いられる他の具材との関係を示すデータである具材間関係データ１２０２）を、料理ごとに生成・更新する。
【００３３】
例えば、学習データ取得部１５０は、多数の料理画像からなる学習データを取得する。そして、具材集計部１６０は、それぞれの料理画像を解析して、それぞれの料理画像に写っている料理を画像認識し、さらに、当該それぞれの料理画像に写っている料理に用いられている具材を画像認識することにより、料理ごとの各具材の出現回数の集計、および料理ごとの特定の具材と他の具材との同時出現回数の集計を行う。
【００３４】
または、例えば、学習データ取得部１５０は、料理画像と当該料理画像に写っている料理を示す情報との組合せからなる、多数の学習データを取得する。そして、具材集計部１６０は、それぞれの料理画像を解析して、当該それぞれの料理画像に写っている料理に用いられている具材を画像認識することにより、料理ごとの各具材の出現回数の集計、および料理ごとの特定の具材と他の具材との同時出現回数の集計を行う。
【００３５】
または、例えば、学習データ取得部１５０は、料理画像と当該料理画像に写っている料理を示す情報と当該料理画像に写っている料理に用いられている具材を示す情報との組合せからなる、多数の学習データを取得する。そして、具材集計部１６０は、それぞれの料理画像を解析して、当該それぞれの料理画像に写っている料理に用いられている具材を画像認識することにより、料理ごとの各具材の出現回数の集計、および料理ごとの特定の具材と他の具材との同時出現回数の集計を行う。
【００３６】
［使用具材推定処理］
以下、情報処理装置１０による使用具材推定処理について説明する。
まず、画像取得部１００が、具材を推定する対象である料理画像を取得すると、画像取得部１００は、当該料理画像を画像解析部１１０へ出力する。画像解析部１１０が料理画像を取得すると、料理認識部１１１は当該料理画像に写っている料理を画像認識する。また、画像解析部１１０が料理画像を取得すると、具材認識部１１２は、当該料理画像に写っている料理に用いられている具材を画像認識する。そして、画像解析部１１０は、画像認識された料理を示す情報、および画像認識された具材を示す情報を、使用具材推定部１３０へ出力する。
【００３７】
なお、上記の具材を示す情報は、確率によって示されるデータであってもよい。例えば、具材認識部１１２は、料理画像の画像領域全体の中から、具材と認識される画像領域を抽出し、当該画像領域に写っている具材を確率的に推定する。例えば、具材認識部１１２は、ある画像領域に写っている具材が牛肉である確率は７０％、および豚肉である確率は３０％であると推定し、ある画像領域に写っている具材がじゃがいもである確率は６０％、玉ねぎである確率は３０％、および人参である確率は１０％であると推定してもよい。
【００３８】
また、料理認識部１１１は、具材認識部１１２によって画像認識された具材を示す情報を用いることによって、料理画像に写っている料理の画像認識における認識精度を向上させるようにしてもよい。
【００３９】
使用具材推定部１３０は、画像解析部１１０から、料理を示す情報および具材を示す情報を取得すると、ラティスと呼ばれるグラフを生成して使用具材推定処理を行う。
以下、使用具材推定処理について図面を参照しながら説明する。
図３は、本実施形態に係る情報処理装置１０による使用具材推定処理において生成されるラティスの一例を示す概略図である。図３に示すラティスは、料理認識部１１１によって、具材推定処理の対象となる料理画像に写っている料理が「カレーライス」であると画像認識された場合において、使用具材推定部１３０により生成されるラティスの一例である。
【００４０】
使用具材推定部１３０は、画像解析部１１０から、料理画像に写っている料理が「カレーライス」であることを示す情報を取得すると、記憶部１２０に記憶された料理具材関係データ１２０１に基づいて、カレーライスに用いられることがある具材をノードとしたラティスを生成する。図３に図示するように、例えば、カレーライスに用いられることがある具材である、「じゃがいも」、「豚肉」、および「ねぎ」をノードとしたラティスが生成される。
なお、説明を簡略化するため、図３には「じゃがいも」、「豚肉」、および「ねぎ」の３つの具材のみを図示しているが、実際には、「牛肉」や「人参」や「玉ねぎ」など、その他多数の具材のノードを有するラティスが生成される。
【００４１】
使用具材推定部１３０は、記憶部１２０に記憶された料理具材関係データ１２０１に基づいて、生成したラティスの各ノードに対しパラメータ値（以下、「コスト」と称する）を設定する。ここでのコストは、料理と当該料理に用いられる具材との関係を示す情報に基づく値である。
例えば、カレーライスにおいて、「じゃがいも」が用いられる頻度が高いとデータ解析されている場合には、「じゃがいも」のノードに対して大きい値のコストが設定される。  また、例えば、カレーライスにおいて、「ねぎ」が用いられる頻度は低いとデータ解析されている場合には、「ねぎ」のノードに対して小さい値のコストが設定される。例えば、図３においては、「ねぎ」のノードに対して、相対的に小さい値である「５」が設定されている。
【００４２】
使用具材推定部１３０は、さらに、画像解析部１１０から取得した、具材認識部１１２によって画像認識された具材を示す情報に基づいて、上記において生成したラティスの各ノードに対して設定したコストの値を更新する。
例えば、当該具材を示す情報が、料理画像に写っている具材の１つが「じゃがいも」である確率が高いことを示す情報である場合には、使用具材推定部１３０は、「じゃがいも」のノードに設定されているコストの値をさらに大きくするように更新する。例えば、図３においては、「じゃがいも」のノードに対して、相対的に大きい値である「６０」が設定されている。
また、例えば、当該具材を示す情報が、料理画像に写っている具材の１つが「豚肉」である確率が少し高いことを示す情報である場合には、使用具材推定部１３０は、「豚肉」のノードに設定されているコストの値をさらに少し大きくするように更新する。例えば、図３においては、「豚肉」のノードに対して、相対的に大きい値である「５０」が設定されている。
【００４３】
次に、使用具材推定部１３０は、記憶部１２０に記憶された具材間関係データ１２０２に基づいて、生成したラティスの各エッジ（ノード間を結ぶ線）に対しコストを設定する。ここでのコストは、特定の料理において用いられる、ある具材と他の具材との関係を示す情報に基づく値である。例えば、カレーライスにおいて、「じゃがいも」と「豚肉」とが共に用いられる頻度が高いとデータ解析されている場合には、「じゃがいも」のノードと「豚肉」のノードとを結ぶエッジに対して大きい値のコストが設定される。例えば、図３においては、「じゃがいも」のノードと「豚肉」のノードとを結ぶエッジに対して、相対的に大きい値である「９７」が設定されている。
また、例えば、カレーライスにおいて、「じゃがいも」と「ねぎ」とが共に用いられる頻度は低いとデータ解析されている場合には、「じゃがいも」のノードと「ねぎ」のノードを結ぶエッジに対して小さい値のコストが設定される。例えば、図３においては、「じゃがいも」のノードと「ねぎ」のノードとを結ぶエッジに対して、相対的に小さい値である「２」が設定されている。
【００４４】
使用具材推定部１３０は、生成したラティスにおける、ノードおよびエッジに対するコストの設定および更新の処理が完了すると、当該ラティスに対し、既知の経路探索手法を用いて、コストの合計値が最大となる経路を探索する。
なお、上記の経路探索処理においては、同じ種類のノードを複数回通過する経路（例えば、「じゃがいも」のノードを２度通過する経路など）は除外するような処理が必要になる。
【００４５】
そして、使用具材推定部１３０は、料理画像に写っている料理に用いられている具材の推定結果として、探索された経路に含まれる各ノードに該当する具材を示す情報を結果出力部１４０へ出力する。
なお、使用具材推定部１３０は、推定した各具材を示す情報と共に、推定した各具材が料理画像に写っている料理に用いられている可能性の高さを示す値として、探索された経路に含まれる各ノードに設定されたコストに基づく値を結果出力部１４０へ出力するようにしてもよい。
【００４６】
なお、例えば、カレーライスやピザのように多種多様な具材が用いられる料理の場合、生成されるラティスのノード数が多くなり、それに応じて経路の数が指数関数的に増加するため、経路探索における計算量が莫大になりうる。
このような場合、例えば、重さと価値がそれぞれ異なる複数の品物の中から、１つまたは複数の品物を任意に選ぶ場合において、一方のパラメータ値（重さ）の合計を一定の値以下にする条件の下、もう一方のパラメータ値（価値）の合計の最大値を求める手法である、ナップザック問題の解法を用いて具材を推定するようにしてもよい。
【００４７】
例えば、ナップザック問題における「価値」のパラメータに上記のコストを設定する。そして、全ての具材に対して１００という「重さ」のパラメータ値を割り振っておき、全体の重さを５００に収めるという条件のもとナップザック問題を解くことにより、具材を推定することができる。
【００４８】
異なる種類の品物を１つずつ選択する場合を対象としたナップザック問題の解法を用いることによって、例えば、上記のラティスを生成して経路探索を行う手法において、同じ種類（具材）のノードを複数回通過しないようにするための処理などが不要になり、使用具材推定処理における計算量をより少なくすることができる。
【００４９】
［使用具材推定時における情報処理装置１０の動作］
以下、使用具材推定時における情報処理装置１０の動作について、図面を参照しながら説明する。
図４は、本発明の実施形態に係る情報処理装置１０の動作の一例を示すフローチャートである。本フローチャートは、情報端末２０から通信ネットワーク５０を介して情報処理装置１０へ、料理画像を示すデータが送信された際に開始する。
【００５０】
（ステップＳ００１）情報処理装置１０の画像取得部１００は、情報端末２０によって撮像され、当該情報端末２０から送信された料理画像を示すデータを、通信ネットワーク５０を介して取得する。そして、画像取得部１００は、取得した料理画像を示すデータを画像解析部１１０へ出力する。その後、ステップＳ００２へ進む。
【００５１】
（ステップＳ００２）情報処理装置１０の画像解析部１１０の料理認識部１１１は、画像取得部１００から入力されたデータに基づく料理画像を解析し、当該料理画像に写っている料理を画像認識する。画像解析部１１０は、料理認識部１１１によって画像認識された、料理画像に写っている料理を示す情報を、使用具材推定部１３０へ出力する。その後、ステップＳ００３へ進む。
【００５２】
（ステップＳ００３）情報処理装置１０の画像解析部１１０の具材認識部１１２は、画像取得部１００から入力されたデータに基づく料理画像を解析し、当該料理画像に写っている料理に用いられている具材を画像認識する。画像解析部１１０は、具材認識部１１２によって画像認識された、料理画像に写っている料理に用いられている具材を示す情報を、使用具材推定部１３０へ出力する。その後、ステップＳ００４へ進む。
【００５３】
（ステップＳ００４）情報処理装置１０の使用具材推定部１３０は、記憶部１２０に記憶された、料理と当該料理に用いられる具材との関係を示す料理具材関係データ１２０１の中から、ステップＳ００２において取得した、料理画像に写っている料理を示す情報に基づく料理に該当する料理具材関係データを取得する。その後、ステップＳ００５へ進む。
【００５４】
（ステップＳ００５）情報処理装置１０の使用具材推定部１３０は、記憶部１２０に記憶された、料理に用いられる具材と当該料理に用いられる他の具材との関係を示す具材間関係データと１２０２の中から、ステップＳ００３において取得した、料理画像に写っている料理に用いられている具材を示す情報に基づく具材に該当する具材間関係データを取得する。その後、ステップＳ００６へ進む。
【００５５】
（ステップＳ００６）情報処理装置１０の使用具材推定部１３０は、ステップＳ００２において取得した、料理画像に写っている料理を示す情報と、ステップＳ００３において取得した、具材を示す情報と、ステップＳ００４において取得した、料理と当該料理に用いられる具材との関係を示す料理具材関係データと、ステップＳ００４において取得した、料理に用いられる具材と当該料理に用いられる他の具材との関係を示す具材間関係データと、に基づいて、料理画像に写っている料理に用いられている具材を推定する。そして、使用具材推定部１３０は、推定した具材を示す情報を結果出力部１４０へ出力する。その後、ステップＳ００７へ進む。
【００５６】
（ステップＳ００７）情報処理装置１０の結果出力部１４０は、使用具材推定部１３０から入力された、具材を示す情報を、通信ネットワーク５０を介して情報端末２０へ送信する。
以上で本フローチャートが終了する。
【００５７】
［具材集計時における情報処理装置１０の動作］
以下、具材集計時における情報処理装置１０の動作について、図面を参照しながら説明する。
図５は、本発明の実施形態に係る情報処理装置１０の動作の一例を示すフローチャートである。本フローチャートは、外部の装置、あるいは記憶媒体などから、情報処理装置１０へ、学習データが送信された際に開始する。
【００５８】
（ステップＳ１０１）情報処理装置１０の学習データ取得部１５０は、外部の装置、あるいは記憶媒体などから、具材集計部１６０によって行われる、料理具材関係データ１２０１および具材間関係データ１２０２の生成・更新に用いられる学習データを取得する。当該学習データは、多数の料理画像からなるデータである。そして、学習データ取得部１５０は、取得した学習データを具材集計部１６０へ出力する。その後、ステップＳ１０２へ進む。
【００５９】
（ステップＳ１０２）情報処理装置１０の具材集計部１６０は、学習データ取得部１５０から、多数の料理画像からなる学習データを取得する。そして、具材集計部１６０は、それぞれの料理画像を解析して、それぞれの料理画像に写っている料理を画像認識する。その後、ステップＳ１０３へ進む。
【００６０】
（ステップＳ１０３）情報処理装置１０の具材集計部１６０は、学習データ取得部１５０から、多数の料理画像からなる学習データを取得する。そして、具材集計部１６０は、それぞれの料理画像を解析して、それぞれの料理画像に写っている料理に用いられている具材を画像認識する。その後、ステップＳ１０４へ進む。
【００６１】
（ステップＳ１０４）情報処理装置１０の具材集計部１６０は、ステップＳ１０２において画像認識した、それぞれの料理画像に写っている料理を示す情報と、ステップＳ１０３において画像認識した、それぞれの料理画像に写っている料理に用いられている具材を示す情報と、に基づいて、特定の料理において特定の具材が用いられる頻度に関する集計を行い、記憶部１２０に記憶された料理具材関係データ１２０１を更新する。
また、情報処理装置１０の具材集計部１６０は、ステップＳ１０２において画像認識した、それぞれの料理画像に写っている料理を示す情報と、ステップＳ１０３において画像認識した、それぞれの料理画像に写っている料理に用いられている具材を示す情報と、に基づいて、特定の料理において特定の具材と他の具材が共に用いられる頻度に関する集計を行い、記憶部１２０に記憶された具材間関係データ１２０２を更新する。
以上で本フローチャートが終了する。
【００６２】
以上説明したように、本実施形態に係る使用具材推定システム１は、料理画像を取得し、取得した料理画像に写っている料理に用いられている具材を、料理画像から画像認識する。そして、使用具材推定システム１は、料理画像に写っている料理を示す情報と、画像認識された具材（第１の具材）を示す情報と、料理と当該料理に用いられる具材との関係を示す料理具材関係データと、料理に用いられる複数の具材間の関係を示す具材間関係データと、に基づいて、料理画像に写っている料理に用いられている具材のうち、画像認識された具材（第１の具材）とは異なる具材（第２の具材）を推定する。
これにより、本実施形態に係る使用具材推定システム１は、取得した料理画像には写っていない具材や、画像認識によって認識することができなかった具材も含めて、料理に用いられている具材を推定することができる。
【００６３】
また、以上説明したように、本実施形態に係る使用具材推定システム１は、料理画像に写っている料理を料理画像から画像認識する。
これにより、本実施形態に係る使用具材推定システム１は、取得した料理画像に写っている料理を特定する情報がない場合でも、取得した料理画像に写っている料理を画像認識によって推定することができる。
【００６４】
また、以上説明したように、本実施形態に係る使用具材推定システム１は、料理具材関係データと具材間関係データとを記憶する。そして、使用具材推定システム１は、学習データを取得し、当該学習データを用いた料理ごとの各具材の出現頻度に基づき、上記記憶している料理具材関係データ１２０１および具材間関係データ１２０２を更新する。
これにより、本実施形態に係る使用具材推定システム１は、料理具材関係データ１２０１および具材間関係データ１２０２を学習させることができ、料理画像に写っている料理に用いられている具材をより精度高く推定することができる。
【００６５】
また、以上説明したように、本実施形態に係る使用具材推定システム１は、料理具材関係データに基づいてパラメータ値が設定されたノードの集合と、具材間関係データに基づいてパラメータ値が設定されたエッジの集合と、によって構成される経路図に対して経路探索を行うことにより、画像認識された具材（第１の具材）とは異なる具材（第２の具材）を推定する。
これにより、本実施形態に係る使用具材推定システム１は、本実施形態に係る使用具材推定システム１は、料理画像に写っている料理に用いられている具材を、より精度高く、かつ、より効率良く推定することができる。
【００６６】
以上、この発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【００６７】
なお、上述した実施形態における情報処理装置１０の一部又は全部をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
【００６８】
なお、ここでいう「コンピュータシステム」とは、情報処理装置１０に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００６９】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００７０】
また、上述した実施形態における情報処理装置１０を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。情報処理装置１０の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【００７１】
［付記］
以上の記載から本発明の複数の態様は例えば以下のように把握される。なお、理解を容易にするために添付図面の参照符号を便宜的に括弧書きにて付記するが、それにより本発明の態様が図示の態様に限定されるものではない。
【００７２】
（付記１）
本発明の一態様は、料理画像を取得する画像取得部（１００）と、前記料理画像に写っている料理に用いられている第１の具材を前記料理画像から画像認識する具材認識部（１１２）と、前記料理画像に写っている料理を示す情報と、前記具材認識部によって認識された前記第１の具材を示す情報と、料理と当該料理に用いられる具材との関係を示す料理具材関係データ（１２０１）と、料理に用いられる複数の具材間の関係を示す具材間関係データ（１２０２）と、に基づいて、前記料理画像に写っている料理に用いられている具材のうち、前記第１の具材とは異なる第２の具材を推定する使用具材推定部（１３０）と、を備えることを特徴とする情報処理装置（１０）である。
【００７３】
（付記２）本発明の他の態様は、付記１に記載の情報処理装置（１０）であって、前記料理画像に写っている料理を前記料理画像から画像認識する料理認識部（１１１）、を備える。
【００７４】
（付記３）本発明の他の態様は、付記２に記載の情報処理装置（１０）であって、前記料理具材関係データ（１２０１）と前記具材間関係データ（１２０２）とを記憶する記憶部（１２０）と、学習データを取得する学習データ取得部（１５０）と、前記学習データを用いた料理ごとの各具材の出現頻度に基づき、前記記憶部（１２０）に記憶された前記料理具材関係データ（１２０１）および前記具材間関係データ（１２０２）を更新する具材集計部（１６０）と、を備える。
【００７５】
（付記４）本発明の他の態様は、付記１から付記３のいずれかに記載の情報処理装置（１０）であって、前記使用具材推定部（１３０）は、前記料理具材関係データ（１２０１）に基づいてパラメータ値が設定されたノードの集合と、前記具材間関係データ（１２０２）に基づいてパラメータ値が設定されたエッジの集合と、によって構成される経路図に対して経路探索を行うことにより前記第２の具材を推定する。
【００７６】
（付記５）本発明の他の態様は、コンピュータによる情報処理方法であって、画像取得部（１００）が、料理画像を取得する画像取得ステップ（Ｓ００１）と、具材認識部（１１２）が、前記料理画像に写っている料理に用いられている第１の具材を前記料理画像から画像認識する具材認識ステップ（Ｓ００３）と、使用具材推定部（１３０）が、前記料理画像に写っている料理を示す情報と、前記具材認識部（１１２）によって認識された前記第１の具材を示す情報と、料理と当該料理に用いられる具材との関係を示す料理具材関係データ（１２０１）と、料理に用いられる複数の具材間の関係を示す具材間関係データ（１２０２）と、に基づいて、前記料理画像に写っている料理に用いられている具材のうち、前記第１の具材とは異なる第２の具材を推定する使用具材推定ステップ（Ｓ００６）と、を有することを特徴とする情報処理方法である。
【００７７】
（付記６）本発明の他の態様は、コンピュータに、料理画像を取得する画像取得ステップ（Ｓ００１）と、前記料理画像に写っている料理に用いられている第１の具材を前記料理画像から画像認識する具材認識ステップ（Ｓ００３）と、前記料理画像に写っている料理を示す情報と、前記具材認識ステップ（Ｓ００３）において認識された前記第１の具材を示す情報と、料理と当該料理に用いられる具材との関係を示す料理具材関係データ（１２０１）と、料理に用いられる複数の具材間の関係を示す具材間関係データ（１２０２）と、に基づいて、前記料理画像に写っている料理に用いられている具材のうち、前記第１の具材とは異なる第２の具材を推定する使用具材推定ステップ（Ｓ００６）と、を実行させるためのプログラムである。
【符号の説明】
【００７８】
１・・・使用具材推定システム、１０・・・情報処理装置、２０・・・情報端末、５０・・・通信ネットワーク、１００・・・画像取得部、１１０・・・画像解析部、１１１・・・料理認識部、１１２・・・具材認識部、１２０・・・記憶部、１３０・・・使用具材推定部、１４０・・・結果出力部、１５０・・・学習データ取得部、１６０・・・具材集計部、１２０１・・・料理具材関係データ、１２０２・・・具材間関係データ
【図１】
2018185795.tif 000003
【図２】
2018185795.tif 000004
【図３】
2018185795.tif 000005
【図４】
2018185795.tif 000006
【図５】
2018185795.tif 000007