(57)【要約】【課題】実際の調理の状況に応じて適切な調理時間を推定する。【解決手段】スマートグラス１は、調理者により食材がカットされて生成された食材片のサイズを特定するカットサイズ特定部２５２と、特定された食材片のサイズを入力として、機械学習により生成された推定モデルを用いて、食材片の最適な加熱調理時間を推定する調理時間推定部２７と、推定された加熱調理時間を表示するディスプレイ４を備える。【選択図】図１
2020166557.tif 000002
【特許請求の範囲】
【請求項１】
調理者により食材がカットされて生成された食材片のサイズを特定する第１特定部と、
前記特定された食材片のサイズを入力として、機械学習により生成された推定モデルを用いて、前記食材片の最適な加熱調理時間を推定する推定部と、
前記推定された加熱調理時間を前記調理者に通知する通知部と
を備える調理支援システム。
【請求項２】
前記食材がカットされた際のカット方法を特定する第２特定部をさらに備え、
前記推定部は、前記特定された食材片のサイズと前記特定されたカット方法を入力として、前記推定モデルを用いて、前記食材片の最適な加熱調理時間を推定する
ことを特徴とする、請求項１に記載の調理支援システム。
【請求項３】
前記食材の分量を特定する第３特定部をさらに備え、
前記推定部は、前記特定された食材片のサイズと前記特定された分量を入力として、前記推定モデルを用いて、前記食材片の最適な加熱調理時間を推定する
ことを特徴とする、請求項１又は２に記載の調理支援システム。
【請求項４】
複数のレシピ情報を解析して、前記食材の調理に関連する変数の組を複数抽出する抽出部と、
前記抽出された複数の変数の組を統計モデルに学習させることで前記推定モデルを生成する生成部と
をさらに備えることを特徴とする、請求項１乃至３のいずれか１項に記載の調理支援システム。
【請求項５】
前記食材に予め対応付けられている食材片の基準サイズを特定する第４特定部と、
前記第１特定部により特定された食材片のサイズと前記第４特定部により特定された食材片の基準サイズの差分が第１閾値を超えるか否かを判定する第１判定部と
をさらに備え、
前記推定部は、前記差分が前記第１閾値を超えると判定された場合に、前記特定された食材片のサイズを入力として、前記推定モデルを用いて、前記食材片の最適な加熱調理時間を推定する
ことを特徴とする、請求項１乃至４のいずれか１項に記載の調理支援システム。
【請求項６】
前記第１特定部は、同時に加熱調理される複数の食材の各々について、当該食材がカットされて生成された食材片のサイズを特定し、
前記推定部は、前記複数の食材の各々について、当該食材について特定された食材片のサイズを入力として、前記推定モデルを用いて、当該食材片の最適な加熱調理時間を推定し、
前記複数の食材の各々について推定された加熱調理時間のうち、最長の加熱調理時間を特定する第５特定部をさらに備え、
前記通知部は、前記特定された加熱調理時間を前記調理者に通知する
ことを特徴とする、請求項１乃至５のいずれか１項に記載の調理支援システム。
【請求項７】
前記調理者の眼前に配置され、前記調理者の視線方向の景色に重ねて画像を表示する表示装置と、
前記食材においてカットすべきラインを示す補助線を前記食材と重なるように前記表示装置に表示させる表示制御部と、
前記表示装置の画像表示領域における前記補助線の位置と、前記画像表示領域における前記食材の切断線の位置の間の距離が第２閾値を超えるかを判定する第２判定部と
をさらに備え、
前記推定部は、前記距離が前記第２閾値を超えると判定された場合に、前記特定された食材片のサイズを入力として、前記推定モデルを用いて、前記食材片の最適な加熱調理時間を推定する
ことを特徴とする、請求項１乃至６のいずれか１項に記載の調理支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、調理を支援するためのシステムに関する。
【背景技術】
【０００２】
従来、利用者が置かれている状況に応じてレシピを自動的に変更する調理支援システムが知られている。例えば、特許文献１には、対象人数に応じて食材の量を変更する自動レシピ作成装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−６１３８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の調理支援システムでは、調理者が誤って又は自身の好みによりレシピと異なる大きさに食材をカットした場合に、そのカットされた食材片のサイズに応じてその後の加熱調理の時間を自動的に変更することができなかった。
【０００５】
本発明はこのような事情に鑑みてなされたものであり、実際の調理の状況に応じて適切な調理時間を推定することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、本発明は、調理者により食材がカットされて生成された食材片のサイズを特定する第１特定部と、前記特定された食材片のサイズを入力として、機械学習により生成された推定モデルを用いて、前記食材片の最適な加熱調理時間を推定する推定部と、前記推定された加熱調理時間を前記調理者に通知する通知部とを備える調理支援システムを提供する。
【０００７】
好ましい態様において、前記調理支援システムは、前記食材がカットされた際のカット方法を特定する第２特定部をさらに備え、前記推定部は、前記特定された食材片のサイズと前記特定されたカット方法を入力として、前記推定モデルを用いて、前記食材片の最適な加熱調理時間を推定することを特徴とする。
【０００８】
別の好ましい態様において、前記調理支援システムは、前記食材の分量を特定する第３特定部をさらに備え、前記推定部は、前記特定された食材片のサイズと前記特定された分量を入力として、前記推定モデルを用いて、前記食材片の最適な加熱調理時間を推定することを特徴とする。
【０００９】
さらに好ましい態様において、前記調理支援システムは、複数のレシピ情報を解析して、前記食材の調理に関連する変数の組を複数抽出する抽出部と、前記抽出された複数の変数の組を統計モデルに学習させることで前記推定モデルを生成する生成部とをさらに備えることを特徴とする。
【００１０】
さらに好ましい態様において、前記調理支援システムは、前記食材に予め対応付けられている食材片の基準サイズを特定する第４特定部と、前記第１特定部により特定された食材片のサイズと前記第４特定部により特定された食材片の基準サイズの差分が第１閾値を超えるか否かを判定する第１判定部とをさらに備え、前記推定部は、前記差分が前記第１閾値を超えると判定された場合に、前記特定された食材片のサイズを入力として、前記推定モデルを用いて、前記食材片の最適な加熱調理時間を推定することを特徴とする。
【００１１】
さらに好ましい態様において、前記第１特定部は、同時に加熱調理される複数の食材の各々について、当該食材がカットされて生成された食材片のサイズを特定し、前記推定部は、前記複数の食材の各々について、当該食材について特定された食材片のサイズを入力として、前記推定モデルを用いて、当該食材片の最適な加熱調理時間を推定し、前記複数の食材の各々について推定された加熱調理時間のうち、最長の加熱調理時間を特定する第５特定部をさらに備え、前記通知部は、前記特定された加熱調理時間を前記調理者に通知することを特徴とする。
【００１２】
さらに好ましい態様において、前記調理支援システムは、前記調理者の眼前に配置され、前記調理者の視線方向の景色に重ねて画像を表示する表示装置と、前記食材においてカットすべきラインを示す補助線を前記食材と重なるように前記表示装置に表示させる表示制御部と、前記表示装置の画像表示領域における前記補助線の位置と、前記画像表示領域における前記食材の切断線の位置の間の距離が第２閾値を超えるかを判定する第２判定部とをさらに備え、前記推定部は、前記距離が前記第２閾値を超えると判定された場合に、前記特定された食材片のサイズを入力として、前記推定モデルを用いて、前記食材片の最適な加熱調理時間を推定することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、実際の調理の状況に応じて適切な調理時間を推定することができる。
【図面の簡単な説明】
【００１４】
【図１】スマートグラス１の構成の一例を示すブロック図
【図２】料理テーブルＴ１の一例を示す図
【図３】食材テーブルＴ２の一例を示す図
【図４】調理工程テーブルＴ３の一例を示す図
【図５】作業テーブルＴ４の一例を示す図
【図６】教師データテーブルＴ５の一例を示す図
【図７】推定モデルテーブルＴ６の一例を示す図
【図８】料理用語テーブルＴ７の一例を示す図
【図９】調理支援処理の一例を示すフロー図
【図１０】食材分量特定処理の一例を示すフロー図
【図１１】調理工程説明文表示処理の一例を示すフロー図
【図１２】カット特定処理の一例を示すフロー図
【図１３】調理時間推定処理の一例を示すフロー図
【発明を実施するための形態】
【００１５】
１．実施形態
本発明の一実施形態に係るスマートグラス１について、図面を参照して説明する。このスマートグラス１は、調理者により装着されて、調理を支援するための装置である。
【００１６】
１−１．構成
図１は、スマートグラス１の構成の一例を示すブロック図である。同図に示すスマートグラス１は、大略、ＣＰＵ等のプロセッサ２、フラッシュメモリ等のメモリ３、光学透過型のディスプレイ４、タッチパネル５、マイク６、カメラ７及び通信部８を備える。これらの構成要素のうち、ディスプレイ４は、スマートグラス１装着時に調理者の眼前に配置され、調理者の視線方向の景色に重ねて画像を表示する。マイク６は、調理者の音声を収音して音声データを生成する。カメラ７は、スマートグラス１装着時に調理者の視線方向を撮影可能なように配置され、撮影された画像データを生成する。通信部８は、無線ＬＡＮやインターネット等のネットワークを介して他の装置と無線通信を行う。
【００１７】
メモリ３は、料理テーブルＴ１、食材テーブルＴ２、調理工程テーブルＴ３、作業テーブルＴ４、教師データテーブルＴ５、推定モデルテーブルＴ６及び料理用語テーブルＴ７を記憶する。以下、各テーブルについて説明する。
【００１８】
図２は、料理テーブルＴ１の一例を示す図である。同図に示す料理テーブルＴ１は、レシピＩＤ、料理名及び対象人数を対応付けて格納する。
【００１９】
図３は、食材テーブルＴ２の一例を示す図である。同図に示す食材テーブルＴ２は、レシピＩＤ、食材名、食材カテゴリ及び分量を対応付けて格納する。ここで食材カテゴリには、肉、魚、野菜、果物及びその他の５種類のカテゴリがある。分量は、調理者が順守すべき分量の基準値である。
【００２０】
図４は、調理工程テーブルＴ３の一例を示す図である。同図に示す調理工程テーブルＴ３は、調理工程ＩＤ、レシピＩＤ、調理工程情報及び後続調理工程ＩＤを対応付けて格納する。ここで調理工程情報は、具体的には、調理工程説明文、調理対象の食材名、カット方法、カットサイズ、調理時間及び加熱フラグにより構成される。これらの構成要素のうち、カット方法は、調理者が順守すべき模範的なカット方法である。カットサイズは、調理者が順守すべきカットサイズの基準値である。調理時間は、調理者が順守すべき調理時間の基準値である。加熱フラグは、当該調理工程が加熱調理の工程であるか否かを示す変数である。
後続調理工程ＩＤは、当該調理工程に後続する調理工程を識別するためのＩＤである。この後続調理工程ＩＤは、同じレシピＩＤに対応付けられている複数の調理工程間の順序（言い換えると、調理手順）を規定する。
【００２１】
図５は、作業テーブルＴ４の一例を示す図である。この作業テーブルＴ４は、進行中の調理に関する情報を格納しておくためのテーブルである。同図に示す作業テーブルＴ４は、レシピＩＤ、食材名、食材カテゴリ、分量、カット方法、カットサイズ及び調理時間変更フラグを対応付けて格納する。この作業テーブルＴ４に格納される分量は、調理者により実際に用意された食材の分量である。カット方法は、調理者により実際に食材がカットされた際のカット方法である。カットサイズは、調理者により実際に食材がカットされて生成された食材片のサイズである。調理時間変更フラグは、加熱調理の調理時間を変更すべきか否かを示す変数である。加熱調理の調理時間を変更すべきか否かは、調理者により実際に用意された食材の分量と、調理者により実際に食材がカットされて生成された食材片のサイズに基づいて決定される。
【００２２】
図６は、教師データテーブルＴ５の一例を示す図である。この教師データテーブルＴ５は、後述するモデル生成部２９が推定モデルを生成する際に利用される教師データを格納するためのテーブルである。具体的には、各種のレシピデータから抽出される、調理に関連する複数の変数の組を格納する。同図に示す教師データテーブルＴ５は、そのような変数の組として、料理名、調理工程、調理対象の食材名、分量、カット方法、カットサイズ及び調理時間を対応付けて格納する。
【００２３】
図７は、推定モデルテーブルＴ６の一例を示す図である。この推定モデルテーブルＴ６は、モデル生成部２９により生成された推定モデルを格納するためのテーブルである。同図に示す推定モデルテーブルＴ６は、レシピＩＤ、調理工程ＩＤ、調理対象の食材名及び推定モデルを対応付けて格納する。
【００２４】
図８は、料理用語テーブルＴ７の一例を示す図である。同図に示す料理用語テーブルＴ７は、料理用語とその説明文を対応付けて格納する。
【００２５】
次に、プロセッサ２は、メモリ３に記憶される調理支援プログラムを実行することにより、図１に示すように、音声指示受付部２１、食材情報取得部２２、食材分量特定部２３、調理工程情報取得部２４、カット特定部２５、調理時間変更要否判定部２６、調理時間推定部２７、教師データ取得部２８、モデル生成部２９及び質問応答部３０の各機能を実現する。なお、メモリ３に記憶される調理支援プログラムは、インターネット等のネットワークや非一時的な記録媒体を介して頒布可能なプログラムである。以下、各機能について説明する。
【００２６】
音声指示受付部２１は、調理者の音声指示を収音したマイク６により生成される音声データを音声認識して、テキストデータを生成する。そして、生成したテキストデータから所定のキーワードを抽出することにより、調理者の指示を解釈する。
【００２７】
食材情報取得部２２は、調理者により料理名と対象人数を指定してレシピの検索指示がなされると、料理テーブルＴ１を参照して、指定された料理名と対象人数に対応付けられているレシピＩＤを特定する。そして、食材テーブルＴ２を参照して、特定したレシピＩＤと対応付けられている食材名、食材カテゴリ及び分量を特定する。そして、特定した食材名及び分量をディスプレイ４に表示させる。調理者はこの表示情報を見ることで、料理に必要な食材とその分量を知ることができる。また、食材情報取得部２２は、特定した情報のうち、レシピＩＤ、食材名及び食材カテゴリを対応付けて作業テーブルＴ４に格納する。
【００２８】
食材分量特定部２３は、調理者により調理のために用意された食材のうち、肉、魚、野菜及び果物の分量を特定する。これらの食材のうち、肉と魚については、調理者に分量を入力するよう促すメッセージをディスプレイ４に表示させ、このメッセージを見た調理者により食材の分量（例えば、「牛肉200g」）が発声されると、その発声された分量を、その食材名と対応付けて作業テーブルＴ４に格納する。一方、野菜と果物については、調理者に野菜等一式を撮影するよう促すメッセージをディスプレイ４に表示させる。このメッセージを見た調理者は、例えば調理台の上に野菜等一式を並べてカメラ７で撮影する。撮影後、食材分量特定部２３は、カメラ７により生成される画像データに、機械学習により予め生成された識別モデルを適用して、食材の名称と分量（言い換えると、個数）を特定する。ここで、この識別モデルは、様々な野菜と果物の正例データの特徴量を学習させることにより生成される。食材分量特定部２３は、食材名と分量を特定すると、両者を対応付けて作業テーブルＴ４に格納する。
【００２９】
食材分量特定部２３は、食材について分量を特定すると、食材テーブルＴ２を参照して、その食材の分量の基準値を特定する。そして、特定した基準値と実際の分量の差分を算出し、算出した差分が閾値を超えるか否かを判定する。この判定の結果、差分の絶対値が閾値を超える場合には、作業テーブルＴ４において当該食材と対応付けられている調理時間変更フラグをfalseからtrueに変更する。一方、差分が閾値を超えない場合には、調理時間変更フラグの変更を行わない。なお、ここで設定される閾値は、例えば分量の基準値の上下５０％の値とされる。
【００３０】
調理工程情報取得部２４は、調理工程テーブルＴ３を参照して、調理対象のレシピＩＤに対応付けられている調理工程説明文を調理手順に従って順に特定し、ディスプレイ４に表示させる。調理者はこの説明文を読むことで、調理対象の食材、調理方法、調理時間等を知ることができる。
【００３１】
カット特定部２５は、調理者が野菜又は果物をカットする工程を完了すると、そのカット方法と、カットされて生成された食材片のサイズを特定する。そのためにカット特定部２５は、調理者に、カットして生成された食材片一式を撮影するよう促すメッセージをディスプレイ４に表示させる。このメッセージを見た調理者は、例えばまな板の上に載せられた食材片一式をカメラ７で撮影する。その際、調理者は、食材片のサイズを特定するための基準として自身の人差し指を食材片一式に添えて撮影する。
なお、本実施形態では人差し指を基準の一例として説明するが、サイズが既知のものであれば別の物で代用してもよい。
【００３２】
このカット特定部２５は、カット方法特定部２５１とカットサイズ特定部２５２を有する。カット方法特定部２５１は、上記の撮影後、カメラ７により生成される画像データに、機械学習により予め生成された識別モデルを適用して、カット方法を特定する。ここで、この識別モデルは、様々なカット方法で食材をカットして生成された食材片の正例データの特徴量を学習させることにより生成される。カット方法特定部２５１は、カット方法を特定すると、カットされた食材名と対応付けて作業テーブルＴ４に格納する。
【００３３】
一方、カットサイズ特定部２５２は、カメラ７により生成される画像データに上記の識別モデルを適用して各食材片を検出し、検出した各食材片に設定される外接矩形の長辺の平均画素数を算出する。また、カットサイズ特定部２５２は、同画像データに、人間の人差し指を識別するために予め機械学習させた識別モデルを適用して、調理者の人差し指を検出し、検出した人差し指に設定される外接矩形の長辺の画素数を算出する。ここで、食材片について算出される平均画素数Ｎ１と食材片の実際の平均長Ｌ１の比と、人差し指について算出される画素数Ｎ２と人差し指の実際の長さＬ２の比には、Ｎ１：Ｌ１＝Ｎ２：Ｌ２の関係が成立する。カットサイズ特定部２５２は、調理者の人差し指の長さＬ２を予め記憶しておき、この長さＬ２と、算出された平均画素数Ｎ１及び画素数Ｎ２を上記の関係式に代入することで、食材片の平均長Ｌ１を算出する。カットサイズ特定部２５２は、算出した平均長Ｌ１をカットサイズとして、カットされた食材名と対応付けて作業テーブルＴ４に格納する。
【００３４】
カットサイズ特定部２５２は、食材についてカットサイズを特定すると、調理工程テーブルＴ３を参照して、その食材のカットサイズの基準値を特定する。そして、特定した基準値と実際のカットサイズの差分を算出し、算出した差分が閾値を超えるか否かを判定する。この判定の結果、差分の絶対値が閾値を超える場合には、作業テーブルＴ４において当該食材と対応付けられている調理時間変更フラグをfalseからtrueに変更する。一方、差分が閾値を超えない場合には、調理時間変更フラグの変更を行わない。なお、ここで設定される閾値は、例えばカットサイズの基準値の上下５０％の値とされる。
【００３５】
調理時間変更要否判定部２６は、調理工程情報取得部２４により加熱調理の調理工程説明文が表示されるにあたり、作業テーブルＴ４を参照して、その調理工程で調理対象となっているいずれかの食材に調理時間変更フラグ「true」が対応付けられているか否かを判定する。言い換えると、調理対象となっている食材の中に、加熱調理の調理時間を変更すべき食材が含まれているか否かを判定する。この判定の結果、いずれかの食材に調理時間変更フラグ「true」が対応付けられている場合には、調理時間の変更要否を問い合わせるメッセージをディスプレイ４に表示させる。このメッセージを見た調理者により調理時間の変更が指示されると、調理時間の変更が必要と判定される。一方、調理者により調理時間の変更が指示されない場合には、調理時間の変更は不要と判定される。また、上記の判定において、いずれの食材にも調理時間変更フラグ「true」が対応付けられていない場合にも、調理時間の変更は不要と判定される。
【００３６】
調理時間推定部２７は、調理時間変更要否判定部２６により調理時間の変更が必要と判定されると、作業テーブルＴ４を参照して、その調理工程で調理対象となっている食材を特定する。そして、特定した食材について、推定モデルテーブルＴ６を参照して、特定した食材とその調理工程の調理工程ＩＤと調理対象のレシピＩＤとに対付けられている推定モデルを特定する。また、特定した食材について、作業テーブルＴ４を参照して、分量とカットサイズ（食材が肉又は魚の場合は分量のみ）も特定する。そして、特定した分量とカットサイズを入力として、特定した推定モデルを用いることで、特定した食材に最適な調理時間を推定する。推定された調理時間は、調理工程テーブルＴ３に格納される調理時間の基準値に代えて、調理者に通知される。
【００３７】
なお、調理時間推定部２７は、その調理工程の調理対象として、複数の食材を特定した場合には、各食材について調理時間を推定し、推定した調理時間の中で最長の調理時間をその調理工程の調理時間とする。
【００３８】
教師データ取得部２８は、インターネットを介してアクセス可能な各種のレシピデータから、固有表現抽出を用いて、調理に関連する複数の変数の組を抽出し、教師データテーブルＴ５に格納する。ここで調理に関連する複数の変数の組とは、料理名、調理工程、調理対象の食材名、分量、カット方法、カットサイズ及び調理時間の組である。
【００３９】
モデル生成部２９は、教師データテーブルＴ５を参照して、料理名、調理工程及び食材名を同じくする、分量、カットサイズ及び調理時間の複数の組を統計モデルに学習させることで、分量とカットサイズを入力とし、調理時間を出力する推定モデルを生成する。ここで使用される統計モデルは重回帰モデルである。モデル生成部２９は、推定モデルを生成すると、推定モデルの生成対象とした料理名及び調理工程に対応するレシピＩＤ及び調理工程ＩＤを、所定の変換テーブルを参照して特定する。そして、生成した推定モデルと、特定したレシピＩＤ及び調理工程ＩＤと、同じく推定モデルの生成対象とした食材名とを対応付けて推定モデルテーブルＴ６に格納する。
【００４０】
質問応答部３０は、ディスプレイ４に表示される調理工程説明文に登場する料理用語について調理者により質問がなされると、料理用語テーブルＴ７を参照して、質問対象の料理用語と対応付けられている解説文をディスプレイ４に表示させる。
以上が、プロセッサ２により実現される各機能についての説明である。
【００４１】
１−２．動作
次に、以上説明したスマートグラス１により実行される調理支援処理について、図９に示すフロー図を参照して説明する。
【００４２】
メモリ３に記憶される調理支援プログラムの起動後、調理者により料理名と対象人数を指定してレシピの検索指示がなされると（ステップＳ１）、食材情報取得部２２は、料理テーブルＴ１を参照して、指定された料理名と対象人数に対応付けられているレシピＩＤを特定する（ステップＳ２）。そして、食材テーブルＴ２を参照して、特定したレシピＩＤと対応付けられている食材名、食材カテゴリ及び分量を特定する（ステップＳ３）。そして、特定した食材名及び分量をディスプレイ４に表示させる（ステップＳ４）。調理者はこの表示情報を見ることで、料理に必要な食材とその分量を知ることができる。また、食材情報取得部２２は、特定した情報のうち、レシピＩＤ、食材名及び食材カテゴリを対応付けて作業テーブルＴ４に格納する（ステップＳ５）。
【００４３】
次に、食材分量特定部２３は、食材分量特定処理を実行する（ステップＳ６）。図１０は、この食材分量特定処理の一例を示すフロー図である。
【００４４】
同図に示す処理において、食材分量特定部２３は、まず、作業テーブルＴ４を参照して、食材に肉又は魚が含まれているか否かを判定する（ステップＳ６０１）。この判定の結果、食材に肉又は魚が含まれている場合には（ステップＳ６０１のＹＥＳ）、食材分量特定部２３は、調理者に分量を入力するよう促すメッセージをディスプレイ４に表示させ（ステップＳ６０２）、このメッセージを見た調理者により食材の分量が発声されると、その発声された分量を、その食材名と対応付けて作業テーブルＴ４に格納する（ステップＳ６０３）。分量を格納後、食材分量特定部２３は、食材テーブルＴ２を参照して、その食材の分量の基準値を特定する（ステップＳ６０４）。そして、特定した基準値と、ステップＳ６０３で特定した実際の分量の差分を算出し（ステップＳ６０５）、算出した差分が閾値を超えるか否かを判定する（ステップＳ６０６）。この判定の結果、差分の絶対値が閾値を超える場合には（ステップＳ６０６のＹＥＳ）、食材分量特定部２３は、作業テーブルＴ４において当該食材と対応付けられている調理時間変更フラグをfalseからtrueに変更する（ステップＳ６０７）。一方、差分が閾値を超えない場合には（ステップＳ６０６のＮＯ）、ステップＳ６０７はスキップされる。
上記のステップＳ６０１の判定の結果、食材に肉又は魚が含まれていない場合には（ステップＳ６０１のＮＯ）、ステップＳ６０２〜Ｓ６０７はスキップされる。
【００４５】
次に、食材分量特定部２３は、作業テーブルＴ４を参照して、食材に野菜又は果物が含まれているか否かを判定する（ステップＳ６０８）。この判定の結果、食材に野菜又は果物が含まれている場合には（ステップＳ６０８のＹＥＳ）、食材分量特定部２３は、調理者に野菜等一式を撮影するよう促すメッセージをディスプレイ４に表示させる（ステップＳ６０９）。このメッセージを見た調理者は、例えば調理台の上に野菜等一式を並べてカメラ７で撮影する。撮影後、食材分量特定部２３は、カメラ７により生成される画像データに、機械学習により予め生成された識別モデルを適用して、食材の名称と分量（言い換えると、個数）を特定する（ステップＳ６１０）。食材分量特定部２３は、食材名と分量を特定すると、両者を対応付けて作業テーブルＴ４に格納する（ステップＳ６１１）。分量を格納後、食材分量特定部２３は、食材テーブルＴ２を参照して、その食材の分量の基準値を特定する（ステップＳ６１２）。そして、特定した基準値と、ステップＳ６１０で特定した実際の分量の差分を算出し（ステップＳ６１３）、算出した差分が閾値を超えるか否かを判定する（ステップＳ６１４）。この判定の結果、差分の絶対値が閾値を超える場合には（ステップＳ６１４のＹＥＳ）、食材分量特定部２３は、作業テーブルＴ４において当該食材と対応付けられている調理時間変更フラグをfalseからtrueに変更する（ステップＳ６１５）。一方、差分が閾値を超えない場合には（ステップＳ６１４のＮＯ）、ステップＳ６１５はスキップされる。
上記のステップＳ６０８の判定の結果、食材に野菜又は果物が含まれていない場合には（ステップＳ６０８のＮＯ）、ステップＳ６０９〜Ｓ６１５はスキップされる。
以上が、食材分量特定処理についての説明である。
【００４６】
食材分量特定処理が終了すると、調理工程情報取得部２４は、調理工程説明文表示処理を実行する（ステップＳ７）。図１１は、この調理工程説明文表示処理の一例を示すフロー図である。
【００４７】
同図に示す処理において、調理工程情報取得部２４は、まず、調理工程テーブルＴ３において調理対象のレシピＩＤと対応付けられている調理工程の各々について、調理手順に従って調理工程説明文表示ループＬを実行する。この調理工程説明文表示ループＬにおいて調理工程情報取得部２４は、まず、調理工程テーブルＴ３を参照して、処理対象の調理工程が加熱調理工程か否かを判定する（言い換えると、食材のカット工程であるか否かを判定する）（ステップＳ７０１）。この判定の結果、処理対象の調理工程が加熱調理工程でない場合には（ステップＳ７０１のＮＯ）、調理工程情報取得部２４は、調理工程テーブルＴ３を参照して、処理対象の調理工程の説明文を取得して（ステップＳ７０２）、ディスプレイ４に表示させる（ステップＳ７０３）。調理者はこの説明文を読むことで、調理対象の食材、調理方法、調理時間等を知ることができる。
【００４８】
説明文の表示後、カット特定部２５は、調理工程テーブルＴ３を参照して、当該調理工程の調理対象が野菜又は果物であるか否かを判定する（ステップＳ７０４）。この判定の結果、当該調理工程の調理対象が野菜又は果物である場合には（ステップＳ７０４のＹＥＳ）、カット特定部２５は、カット特定処理を実行する（ステップＳ７０５）。一方、この判定の結果、当該調理工程の調理対象が野菜又は果物でない場合には（ステップＳ７０４のＮＯ）、ステップＳ７０５はスキップされる。図１２は、カット特定処理の一例を示すフロー図である。
【００４９】
同図に示す処理において、カット特定部２５は、まず、カットして生成された食材片一式を撮影するよう促すメッセージをディスプレイ４に表示させる（ステップＳ７０５１）。このメッセージを見た調理者は、例えばまな板の上に載せられた食材片一式をカメラ７で撮影する。その際、調理者は、食材片のサイズを特定するための基準として自身の人差し指を食材片一式に添えて撮影する。撮影後、カット方法特定部２５１は、カメラ７により生成される画像データに、機械学習により予め生成された識別モデルを適用して、カット方法を特定する（ステップＳ７０５２）。カット方法特定部２５１は、カット方法を特定すると、カットされた食材名と対応付けて作業テーブルＴ４に格納する（ステップＳ７０５３）。
【００５０】
カット方法を格納後、カットサイズ特定部２５２は、同画像データに上記の識別モデルを適用して各食材片を検出し、検出した各食材片に設定される外接矩形の長辺の平均画素数を算出する（ステップＳ７０５４）。また、カットサイズ特定部２５２は、同画像データに、人間の人差し指を識別するために予め機械学習させた識別モデルを適用して、調理者の人差し指を検出し、検出した人差し指に設定される外接矩形の長辺の画素数を算出する（ステップＳ７０５５）。カットサイズ特定部２５２は、調理者の人差し指の長さＬ２を予め記憶しておき、この長さＬ２と、算出された平均画素数Ｎ１及び画素数Ｎ２をＮ１：Ｌ１＝Ｎ２：Ｌ２の関係式に代入することで、食材片の平均長Ｌ１を算出する（ステップＳ７０５６）。カットサイズ特定部２５２は、算出した平均長Ｌ１をカットサイズとして、カットされた食材名と対応付けて作業テーブルＴ４に格納する（ステップＳ７０５７）。
【００５１】
カットサイズを格納後、カットサイズ特定部２５２は、調理工程テーブルＴ３を参照して、その食材のカットサイズの基準値を特定する（ステップＳ７０５８）。そして、特定した基準値と実際のカットサイズの差分を算出し（ステップＳ７０５９）、算出した差分が閾値を超えるか否かを判定する（ステップＳ７０６０）。この判定の結果、差分の絶対値が閾値を超える場合には（ステップＳ７０６０のＹＥＳ）、作業テーブルＴ４において当該食材と対応付けられている調理時間変更フラグをfalseからtrueに変更する（ステップＳ７０６１）。一方、差分が閾値を超えない場合には（ステップＳ７０６０のＮＯ）、ステップＳ７０６１はスキップされる。
以上が、カット特定処理についての説明である。
【００５２】
カット特定処理が終了すると、調理工程情報取得部２４は、次の調理工程についてステップＳ７０１以降の処理を実行する。
【００５３】
上記のステップＳ７０１の判定の結果、処理対象の調理工程が加熱調理工程である場合には（ステップＳ７０１のＹＥＳ）、調理時間変更要否判定部２６は、作業テーブルＴ４を参照して、処理対象の調理工程で調理対象となっているいずれかの食材に調理時間変更フラグ「true」が対応付けられているか否かを判定する（ステップＳ７０６）。言い換えると、調理対象となっている食材の中に、加熱調理の調理時間を変更すべき食材が含まれているか否かを判定する。この判定の結果、いずれかの食材に調理時間変更フラグ「true」が対応付けられている場合には（ステップＳ７０６のＹＥＳ）、調理時間の変更要否を問い合わせるメッセージをディスプレイ４に表示させる（ステップＳ７０７）。このメッセージを見た調理者により調理時間の変更が指示されると（ステップＳ７０８のＹＥＳ）、調理時間の変更が必要と判定される。一方、調理者により調理時間の変更が指示されない場合には（ステップＳ７０８のＮＯ）、調理時間の変更は不要と判定される。また、上記のステップＳ７０６の判定において、いずれの食材にも調理時間変更フラグ「true」が対応付けられていない場合にも、調理時間の変更は不要と判定される。
【００５４】
調理時間の変更は不要と判定された場合には、調理工程情報取得部２４は、調理工程テーブルＴ３を参照して、処理対象の調理工程の説明文を取得して（ステップＳ７０９）、ディスプレイ４に表示させる（ステップＳ７１０）。その後、調理工程情報取得部２４は、次の調理工程についてステップＳ７０１以降の処理を実行する。
【００５５】
一方、調理時間の変更が必要と判定された場合には、調理時間推定部２７は、調理時間推定処理を実行する（ステップＳ７１１）。図１３は、調理時間推定処理の一例を示すフロー図である。
【００５６】
同図に示す処理において、調理時間推定部２７は、作業テーブルＴ４を参照して、その調理工程で調理対象となっている食材を特定する（ステップＳ７１１１）。そして、特定した食材について、推定モデルテーブルＴ６を参照して、特定した食材とその調理工程の調理工程ＩＤとに対付けられている推定モデルを特定する（ステップＳ７１１２）。また、特定した食材について、作業テーブルＴ４を参照して、分量とカットサイズ（食材が肉又は魚の場合は分量のみ）も特定する（ステップＳ７１１３）。そして、特定した分量とカットサイズを入力として、特定した推定モデルを用いることで、特定した食材に最適な調理時間を推定する（ステップＳ７１１４）。調理時間を推定後、ステップＳ７１１１で特定した食材の数が単数である場合には（ステップＳ７１１５のＹＥＳ）、ステップＳ７１１４で推定した調理時間を、処理対象の調理工程の調理時間とする（ステップＳ７１１６）。一方、ステップＳ７１１１で特定した食材の数が単数でない場合には（ステップＳ７１１５のＮＯ）、推定した調理時間の中で最長の調理時間をその調理工程の調理時間とする（ステップＳ７１１７）。
以上が、調理時間推定処理についての説明である。
【００５７】
調理時間推定処理が終了すると、調理工程情報取得部２４は、調理工程テーブルＴ３を参照して、処理対象の調理工程の説明文を取得し（ステップＳ７１２）、その説明文に含まれる調理時間を、ステップＳ７１１で特定した調理時間に変更した上で（ステップＳ７１３）、ディスプレイ４に表示させる（ステップＳ７１４）。その後、調理工程情報取得部２４は、次の調理工程についてステップＳ７０１以降の処理を実行する。そして、調理工程テーブルＴ３において調理対象のレシピＩＤと対応付けられているすべての調理工程についてステップＳ７０１以降の処理が実行されると、調理工程説明文表示処理は終了する。
調理工程説明文表示処理が終了すると、本調理支援処理は終了する。
以上が、調理支援処理についての説明である。
【００５８】
なお、上記の調理支援処理の過程で、ディスプレイ４に表示される調理工程説明文に登場する料理用語について調理者により質問がなされると、質問応答部３０は、料理用語テーブルＴ７を参照して、質問対象の料理用語と対応付けられている解説文をディスプレイ４に表示させる。
【００５９】
以上説明したスマートグラス１によれば、調理者がレシピと異なる大きさに食材をカットしてしまった場合に、カットされた食材片のサイズに最適な加熱調理時間を調理者に提示することができる。
【００６０】
２．変形例
上記の実施形態は下記のように変形してもよい。なお、以下に記載する２以上の変形例は互いに組み合わせてもよい。
【００６１】
２−１．変形例１
食材分量特定部２３は、野菜や果物の分量を特定するにあたり、肉や魚と同様に、調理者に分量を入力するよう促すメッセージをディスプレイ４に表示させ、このメッセージを見た調理者により発声された分量を、その食材名と対応付けて作業テーブルＴ４に格納するようにしてもよい。
【００６２】
２−２．変形例２
カットサイズ特定部２５２は、食材片のカットサイズを特定するにあたり、調理者にカットサイズを入力するよう促すメッセージをディスプレイ４に表示させ、このメッセージを見た調理者により発声されたカットサイズを、その食材名と対応付けて作業テーブルＴ４に格納するようにしてもよい。
【００６３】
２−３．変形例３
モデル生成部２９は、推定モデルを生成するにあたり、重回帰モデル以外の統計モデルにレシピデータを学習させるようにしてもよい。例えば、ニューラルネットワークやサポートベクターマシンを統計モデルとして用いてもよい。
【００６４】
仮にニューラルネットワークを用いる場合、教師データテーブルＴ５を参照して、料理名、調理工程及び食材名を同じくする、分量、カット方法、カットサイズ及び調理時間の複数の組をニューラルネットワークに学習させることで、分量とカット方法とカットサイズを入力とし、調理時間を出力する推定モデルを生成するようにしてもよい。
【００６５】
２−４．変形例４
調理時間変更要否判定部２６は、調理時間の変更の要否を判定するにあたって、調理者に対する問い合わせを省略してもよい。すなわち、調理対象の食材の中に、加熱調理の調理時間を変更すべき食材が含まれている場合に、調理者に対する調理時間の変更要否の問い合わせをせずに、調理時間の変更が必要と判定してもよい。
【００６６】
２−５．変形例５
スマートグラス１は、食材をカットする調理工程において、カット対象の食材に重ねて、カットすべきラインを示す補助線をディスプレイ４に表示するようにしてもよい。その際、スマートグラス１は、カメラ７により生成される画像データに基づいて、カメラ撮影領域内におけるカット対象食材の輪郭座標を特定する。そして、特定した輪郭座標を、所定の変換テーブルを参照して、ディスプレイ４の画像表示領域における輪郭座標に変換する。カットすべきラインを示す補助線は、この変換された輪郭座標により囲まれた領域を横切るように表示される。
【００６７】
スマートグラス１は、補助線を表示後、調理者の実際の切断線と補助線の間の距離が閾値を超えるか否かを判定してもよい。その際、スマートグラス１は、カメラ７により生成される画像データに基づいて、カメラ撮影領域内における切断線の輪郭座標を特定する。そして、特定した輪郭座標を、所定の変換テーブルを参照して、ディスプレイ４の画像表示領域における輪郭座標に変換する。そして、この変換された輪郭座標と、画像表示領域における補助線の輪郭座標との距離が閾値を超えるか否かを判定する。具体的には例えば、この変換された輪郭座標に囲まれる領域の中心と、画像表示領域における補助線の輪郭座標に囲まれる領域の中心との距離が閾値を超えるか否かを判定する。この判定の結果、当該距離が閾値を超えると判定された場合には、このカット対象食材の調理時間変更フラグをtrueに変更するようにしてもよい。その結果、加熱調理工程において調理時間変更要否判定部２６が調理時間の変更が必要と判定した場合には、調理時間推定部２７により調理時間推定処理が実行されることになる。
【００６８】
２−６．変形例６
スマートグラス１のディスプレイ４に代えて又は加えて、スピーカから情報を出力するようにしてもよい。
【００６９】
２−７．変形例７
スマートグラス１は、上記の調理支援処理を実行可能な調理支援システムの一例にすぎない。上記の調理支援処理は、スマートグラス１以外の情報処理装置（例えば、ヘッドマウントディスプレイ、スマートフォン、タブレット端末等）により実行されてもよい。
【００７０】
２−８．変形例８
スマートグラス１が備える機能及びテーブルの一部を、スマートグラス１と通信可能なサーバに持たせるようにしてもよい。
【符号の説明】
【００７１】
１…スマートグラス、２…プロセッサ、３…メモリ、４…ディスプレイ、５…タッチパネル、６…マイク、７…カメラ、８…通信部、２１…音声指示受付部、２２…食材情報取得部、２３…食材分量特定部、２４…調理工程情報取得部、２５…カット特定部、２６…調理時間変更要否判定部、２７…調理時間推定部、２８…教師データ取得部、２９…モデル生成部、３０…質問応答部、Ｔ１…料理テーブル、Ｔ２…食材テーブル、Ｔ３…調理工程テーブル、Ｔ４…作業テーブル、Ｔ５…教師データテーブル、Ｔ６…推定モデルテーブル、Ｔ７…料理用語テーブル
【図１】
2020166557.tif 000003
【図２】
2020166557.tif 000004
【図３】
2020166557.tif 000005
【図４】
2020166557.tif 000006
【図５】
2020166557.tif 000007
【図６】
2020166557.tif 000008
【図７】
2020166557.tif 000009
【図８】
2020166557.tif 000010
【図９】
2020166557.tif 000011
【図１０】
2020166557.tif 000012
【図１１】
2020166557.tif 000013
【図１２】
2020166557.tif 000014
【図１３】
2020166557.tif 000015