【文献】
山肩 洋子 ほか,食材に視覚的特徴変化を生じさせる加工における食材と加工動作の同時認識,電子情報通信学会論文誌 D,日本,社団法人電子情報通信学会,2007年 9月 1日,Vol.J90-D No.9,p. 2550-2561
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
1.実施形態
本発明の一実施形態に係るスマートグラス1について、図面を参照して説明する。このスマートグラス1は、調理者により装着されて、調理を支援するための装置である。
【0016】
1−1.構成
図1は、スマートグラス1の構成の一例を示すブロック図である。同図に示すスマートグラス1は、大略、CPU等のプロセッサ2、フラッシュメモリ等のメモリ3、光学透過型のディスプレイ4、タッチパネル5、マイク6、カメラ7及び通信部8を備える。これらの構成要素のうち、ディスプレイ4は、スマートグラス1装着時に調理者の眼前に配置され、調理者の視線方向の景色に重ねて画像を表示する。マイク6は、調理者の音声を収音して音声データを生成する。カメラ7は、スマートグラス1装着時に調理者の視線方向を撮影可能なように配置され、撮影された画像データを生成する。通信部8は、無線LANやインターネット等のネットワークを介して他の装置と無線通信を行う。
【0017】
メモリ3は、料理テーブルT1、食材テーブルT2、調理工程テーブルT3、作業テーブルT4、教師データテーブルT5、推定モデルテーブルT6及び料理用語テーブルT7を記憶する。以下、各テーブルについて説明する。
【0018】
図2は、料理テーブルT1の一例を示す図である。同図に示す料理テーブルT1は、レシピID、料理名及び対象人数を対応付けて格納する。
【0019】
図3は、食材テーブルT2の一例を示す図である。同図に示す食材テーブルT2は、レシピID、食材名、食材カテゴリ及び分量を対応付けて格納する。ここで食材カテゴリには、肉、魚、野菜、果物及びその他の5種類のカテゴリがある。分量は、調理者が順守すべき分量の基準値である。
【0020】
図4は、調理工程テーブルT3の一例を示す図である。同図に示す調理工程テーブルT3は、調理工程ID、レシピID、調理工程情報及び後続調理工程IDを対応付けて格納する。ここで調理工程情報は、具体的には、調理工程説明文、調理対象の食材名、カット方法、カットサイズ、調理時間及び加熱フラグにより構成される。これらの構成要素のうち、カット方法は、調理者が順守すべき模範的なカット方法である。カットサイズは、調理者が順守すべきカットサイズの基準値である。調理時間は、調理者が順守すべき調理時間の基準値である。加熱フラグは、当該調理工程が加熱調理の工程であるか否かを示す変数である。
後続調理工程IDは、当該調理工程に後続する調理工程を識別するためのIDである。この後続調理工程IDは、同じレシピIDに対応付けられている複数の調理工程間の順序(言い換えると、調理手順)を規定する。
【0021】
図5は、作業テーブルT4の一例を示す図である。この作業テーブルT4は、進行中の調理に関する情報を格納しておくためのテーブルである。同図に示す作業テーブルT4は、レシピID、食材名、食材カテゴリ、分量、カット方法、カットサイズ及び調理時間変更フラグを対応付けて格納する。この作業テーブルT4に格納される分量は、調理者により実際に用意された食材の分量である。カット方法は、調理者により実際に食材がカットされた際のカット方法である。カットサイズは、調理者により実際に食材がカットされて生成された食材片のサイズである。調理時間変更フラグは、加熱調理の調理時間を変更すべきか否かを示す変数である。加熱調理の調理時間を変更すべきか否かは、調理者により実際に用意された食材の分量と、調理者により実際に食材がカットされて生成された食材片のサイズに基づいて決定される。
【0022】
図6は、教師データテーブルT5の一例を示す図である。この教師データテーブルT5は、後述するモデル生成部29が推定モデルを生成する際に利用される教師データを格納するためのテーブルである。具体的には、各種のレシピデータから抽出される、調理に関連する複数の変数の組を格納する。同図に示す教師データテーブルT5は、そのような変数の組として、料理名、調理工程、調理対象の食材名、分量、カット方法、カットサイズ及び調理時間を対応付けて格納する。
【0023】
図7は、推定モデルテーブルT6の一例を示す図である。この推定モデルテーブルT6は、モデル生成部29により生成された推定モデルを格納するためのテーブルである。同図に示す推定モデルテーブルT6は、レシピID、調理工程ID、調理対象の食材名及び推定モデルを対応付けて格納する。
【0024】
図8は、料理用語テーブルT7の一例を示す図である。同図に示す料理用語テーブルT7は、料理用語とその説明文を対応付けて格納する。
【0025】
次に、プロセッサ2は、メモリ3に記憶される調理支援プログラムを実行することにより、
図1に示すように、音声指示受付部21、食材情報取得部22、食材分量特定部23、調理工程情報取得部24、カット特定部25、調理時間変更要否判定部26、調理時間推定部27、教師データ取得部28、モデル生成部29及び質問応答部30の各機能を実現する。なお、メモリ3に記憶される調理支援プログラムは、インターネット等のネットワークや非一時的な記録媒体を介して頒布可能なプログラムである。以下、各機能について説明する。
【0026】
音声指示受付部21は、調理者の音声指示を収音したマイク6により生成される音声データを音声認識して、テキストデータを生成する。そして、生成したテキストデータから所定のキーワードを抽出することにより、調理者の指示を解釈する。
【0027】
食材情報取得部22は、調理者により料理名と対象人数を指定してレシピの検索指示がなされると、料理テーブルT1を参照して、指定された料理名と対象人数に対応付けられているレシピIDを特定する。そして、食材テーブルT2を参照して、特定したレシピIDと対応付けられている食材名、食材カテゴリ及び分量を特定する。そして、特定した食材名及び分量をディスプレイ4に表示させる。調理者はこの表示情報を見ることで、料理に必要な食材とその分量を知ることができる。また、食材情報取得部22は、特定した情報のうち、レシピID、食材名及び食材カテゴリを対応付けて作業テーブルT4に格納する。
【0028】
食材分量特定部23は、調理者により調理のために用意された食材のうち、肉、魚、野菜及び果物の分量を特定する。これらの食材のうち、肉と魚については、調理者に分量を入力するよう促すメッセージをディスプレイ4に表示させ、このメッセージを見た調理者により食材の分量(例えば、「牛肉200g」)が発声されると、その発声された分量を、その食材名と対応付けて作業テーブルT4に格納する。一方、野菜と果物については、調理者に野菜等一式を撮影するよう促すメッセージをディスプレイ4に表示させる。このメッセージを見た調理者は、例えば調理台の上に野菜等一式を並べてカメラ7で撮影する。撮影後、食材分量特定部23は、カメラ7により生成される画像データに、機械学習により予め生成された識別モデルを適用して、食材の名称と分量(言い換えると、個数)を特定する。ここで、この識別モデルは、様々な野菜と果物の正例データの特徴量を学習させることにより生成される。食材分量特定部23は、食材名と分量を特定すると、両者を対応付けて作業テーブルT4に格納する。
【0029】
食材分量特定部23は、食材について分量を特定すると、食材テーブルT2を参照して、その食材の分量の基準値を特定する。そして、特定した基準値と実際の分量の差分を算出し、算出した差分が閾値を超えるか否かを判定する。この判定の結果、差分の絶対値が閾値を超える場合には、作業テーブルT4において当該食材と対応付けられている調理時間変更フラグをfalseからtrueに変更する。一方、差分が閾値を超えない場合には、調理時間変更フラグの変更を行わない。なお、ここで設定される閾値は、例えば分量の基準値の上下50%の値とされる。
【0030】
調理工程情報取得部24は、調理工程テーブルT3を参照して、調理対象のレシピIDに対応付けられている調理工程説明文を調理手順に従って順に特定し、ディスプレイ4に表示させる。調理者はこの説明文を読むことで、調理対象の食材、調理方法、調理時間等を知ることができる。
【0031】
カット特定部25は、調理者が野菜又は果物をカットする工程を完了すると、そのカット方法と、カットされて生成された食材片のサイズを特定する。そのためにカット特定部25は、調理者に、カットして生成された食材片一式を撮影するよう促すメッセージをディスプレイ4に表示させる。このメッセージを見た調理者は、例えばまな板の上に載せられた食材片一式をカメラ7で撮影する。その際、調理者は、食材片のサイズを特定するための基準として自身の人差し指を食材片一式に添えて撮影する。
なお、本実施形態では人差し指を基準の一例として説明するが、サイズが既知のものであれば別の物で代用してもよい。
【0032】
このカット特定部25は、カット方法特定部251とカットサイズ特定部252を有する。カット方法特定部251は、上記の撮影後、カメラ7により生成される画像データに、機械学習により予め生成された識別モデルを適用して、カット方法を特定する。ここで、この識別モデルは、様々なカット方法で食材をカットして生成された食材片の正例データの特徴量を学習させることにより生成される。カット方法特定部251は、カット方法を特定すると、カットされた食材名と対応付けて作業テーブルT4に格納する。
【0033】
一方、カットサイズ特定部252は、カメラ7により生成される画像データに上記の識別モデルを適用して各食材片を検出し、検出した各食材片に設定される外接矩形の長辺の平均画素数を算出する。また、カットサイズ特定部252は、同画像データに、人間の人差し指を識別するために予め機械学習させた識別モデルを適用して、調理者の人差し指を検出し、検出した人差し指に設定される外接矩形の長辺の画素数を算出する。ここで、食材片について算出される平均画素数N1と食材片の実際の平均長L1の比と、人差し指について算出される画素数N2と人差し指の実際の長さL2の比には、N1:L1=N2:L2の関係が成立する。カットサイズ特定部252は、調理者の人差し指の長さL2を予め記憶しておき、この長さL2と、算出された平均画素数N1及び画素数N2を上記の関係式に代入することで、食材片の平均長L1を算出する。カットサイズ特定部252は、算出した平均長L1をカットサイズとして、カットされた食材名と対応付けて作業テーブルT4に格納する。
【0034】
カットサイズ特定部252は、食材についてカットサイズを特定すると、調理工程テーブルT3を参照して、その食材のカットサイズの基準値を特定する。そして、特定した基準値と実際のカットサイズの差分を算出し、算出した差分が閾値を超えるか否かを判定する。この判定の結果、差分の絶対値が閾値を超える場合には、作業テーブルT4において当該食材と対応付けられている調理時間変更フラグをfalseからtrueに変更する。一方、差分が閾値を超えない場合には、調理時間変更フラグの変更を行わない。なお、ここで設定される閾値は、例えばカットサイズの基準値の上下50%の値とされる。
【0035】
調理時間変更要否判定部26は、調理工程情報取得部24により加熱調理の調理工程説明文が表示されるにあたり、作業テーブルT4を参照して、その調理工程で調理対象となっているいずれかの食材に調理時間変更フラグ「true」が対応付けられているか否かを判定する。言い換えると、調理対象となっている食材の中に、加熱調理の調理時間を変更すべき食材が含まれているか否かを判定する。この判定の結果、いずれかの食材に調理時間変更フラグ「true」が対応付けられている場合には、調理時間の変更要否を問い合わせるメッセージをディスプレイ4に表示させる。このメッセージを見た調理者により調理時間の変更が指示されると、調理時間の変更が必要と判定される。一方、調理者により調理時間の変更が指示されない場合には、調理時間の変更は不要と判定される。また、上記の判定において、いずれの食材にも調理時間変更フラグ「true」が対応付けられていない場合にも、調理時間の変更は不要と判定される。
【0036】
調理時間推定部27は、調理時間変更要否判定部26により調理時間の変更が必要と判定されると、作業テーブルT4を参照して、その調理工程で調理対象となっている食材を特定する。そして、特定した食材について、推定モデルテーブルT6を参照して、特定した食材とその調理工程の調理工程IDと調理対象のレシピIDとに対付けられている推定モデルを特定する。また、特定した食材について、作業テーブルT4を参照して、分量とカットサイズ(食材が肉又は魚の場合は分量のみ)も特定する。そして、特定した分量とカットサイズを入力として、特定した推定モデルを用いることで、特定した食材に最適な調理時間を推定する。推定された調理時間は、調理工程テーブルT3に格納される調理時間の基準値に代えて、調理者に通知される。
【0037】
なお、調理時間推定部27は、その調理工程の調理対象として、複数の食材を特定した場合には、各食材について調理時間を推定し、推定した調理時間の中で最長の調理時間をその調理工程の調理時間とする。
【0038】
教師データ取得部28は、インターネットを介してアクセス可能な各種のレシピデータから、固有表現抽出を用いて、調理に関連する複数の変数の組を抽出し、教師データテーブルT5に格納する。ここで調理に関連する複数の変数の組とは、料理名、調理工程、調理対象の食材名、分量、カット方法、カットサイズ及び調理時間の組である。
【0039】
モデル生成部29は、教師データテーブルT5を参照して、料理名、調理工程及び食材名を同じくする、分量、カットサイズ及び調理時間の複数の組を統計モデルに学習させることで、分量とカットサイズを入力とし、調理時間を出力する推定モデルを生成する。ここで使用される統計モデルは重回帰モデルである。モデル生成部29は、推定モデルを生成すると、推定モデルの生成対象とした料理名及び調理工程に対応するレシピID及び調理工程IDを、所定の変換テーブルを参照して特定する。そして、生成した推定モデルと、特定したレシピID及び調理工程IDと、同じく推定モデルの生成対象とした食材名とを対応付けて推定モデルテーブルT6に格納する。
【0040】
質問応答部30は、ディスプレイ4に表示される調理工程説明文に登場する料理用語について調理者により質問がなされると、料理用語テーブルT7を参照して、質問対象の料理用語と対応付けられている解説文をディスプレイ4に表示させる。
以上が、プロセッサ2により実現される各機能についての説明である。
【0041】
1−2.動作
次に、以上説明したスマートグラス1により実行される調理支援処理について、
図9に示すフロー図を参照して説明する。
【0042】
メモリ3に記憶される調理支援プログラムの起動後、調理者により料理名と対象人数を指定してレシピの検索指示がなされると(ステップS1)、食材情報取得部22は、料理テーブルT1を参照して、指定された料理名と対象人数に対応付けられているレシピIDを特定する(ステップS2)。そして、食材テーブルT2を参照して、特定したレシピIDと対応付けられている食材名、食材カテゴリ及び分量を特定する(ステップS3)。そして、特定した食材名及び分量をディスプレイ4に表示させる(ステップS4)。調理者はこの表示情報を見ることで、料理に必要な食材とその分量を知ることができる。また、食材情報取得部22は、特定した情報のうち、レシピID、食材名及び食材カテゴリを対応付けて作業テーブルT4に格納する(ステップS5)。
【0043】
次に、食材分量特定部23は、食材分量特定処理を実行する(ステップS6)。
図10は、この食材分量特定処理の一例を示すフロー図である。
【0044】
同図に示す処理において、食材分量特定部23は、まず、作業テーブルT4を参照して、食材に肉又は魚が含まれているか否かを判定する(ステップS601)。この判定の結果、食材に肉又は魚が含まれている場合には(ステップS601のYES)、食材分量特定部23は、調理者に分量を入力するよう促すメッセージをディスプレイ4に表示させ(ステップS602)、このメッセージを見た調理者により食材の分量が発声されると、その発声された分量を、その食材名と対応付けて作業テーブルT4に格納する(ステップS603)。分量を格納後、食材分量特定部23は、食材テーブルT2を参照して、その食材の分量の基準値を特定する(ステップS604)。そして、特定した基準値と、ステップS603で特定した実際の分量の差分を算出し(ステップS605)、算出した差分が閾値を超えるか否かを判定する(ステップS606)。この判定の結果、差分の絶対値が閾値を超える場合には(ステップS606のYES)、食材分量特定部23は、作業テーブルT4において当該食材と対応付けられている調理時間変更フラグをfalseからtrueに変更する(ステップS607)。一方、差分が閾値を超えない場合には(ステップS606のNO)、ステップS607はスキップされる。
上記のステップS601の判定の結果、食材に肉又は魚が含まれていない場合には(ステップS601のNO)、ステップS602〜S607はスキップされる。
【0045】
次に、食材分量特定部23は、作業テーブルT4を参照して、食材に野菜又は果物が含まれているか否かを判定する(ステップS608)。この判定の結果、食材に野菜又は果物が含まれている場合には(ステップS608のYES)、食材分量特定部23は、調理者に野菜等一式を撮影するよう促すメッセージをディスプレイ4に表示させる(ステップS609)。このメッセージを見た調理者は、例えば調理台の上に野菜等一式を並べてカメラ7で撮影する。撮影後、食材分量特定部23は、カメラ7により生成される画像データに、機械学習により予め生成された識別モデルを適用して、食材の名称と分量(言い換えると、個数)を特定する(ステップS610)。食材分量特定部23は、食材名と分量を特定すると、両者を対応付けて作業テーブルT4に格納する(ステップS611)。分量を格納後、食材分量特定部23は、食材テーブルT2を参照して、その食材の分量の基準値を特定する(ステップS612)。そして、特定した基準値と、ステップS610で特定した実際の分量の差分を算出し(ステップS613)、算出した差分が閾値を超えるか否かを判定する(ステップS614)。この判定の結果、差分の絶対値が閾値を超える場合には(ステップS614のYES)、食材分量特定部23は、作業テーブルT4において当該食材と対応付けられている調理時間変更フラグをfalseからtrueに変更する(ステップS615)。一方、差分が閾値を超えない場合には(ステップS614のNO)、ステップS615はスキップされる。
上記のステップS608の判定の結果、食材に野菜又は果物が含まれていない場合には(ステップS608のNO)、ステップS609〜S615はスキップされる。
以上が、食材分量特定処理についての説明である。
【0046】
食材分量特定処理が終了すると、調理工程情報取得部24は、調理工程説明文表示処理を実行する(ステップS7)。
図11は、この調理工程説明文表示処理の一例を示すフロー図である。
【0047】
同図に示す処理において、調理工程情報取得部24は、まず、調理工程テーブルT3において調理対象のレシピIDと対応付けられている調理工程の各々について、調理手順に従って調理工程説明文表示ループLを実行する。この調理工程説明文表示ループLにおいて調理工程情報取得部24は、まず、調理工程テーブルT3を参照して、処理対象の調理工程が加熱調理工程か否かを判定する(言い換えると、食材のカット工程であるか否かを判定する)(ステップS701)。この判定の結果、処理対象の調理工程が加熱調理工程でない場合には(ステップS701のNO)、調理工程情報取得部24は、調理工程テーブルT3を参照して、処理対象の調理工程の説明文を取得して(ステップS702)、ディスプレイ4に表示させる(ステップS703)。調理者はこの説明文を読むことで、調理対象の食材、調理方法、調理時間等を知ることができる。
【0048】
説明文の表示後、カット特定部25は、調理工程テーブルT3を参照して、当該調理工程の調理対象が野菜又は果物であるか否かを判定する(ステップS704)。この判定の結果、当該調理工程の調理対象が野菜又は果物である場合には(ステップS704のYES)、カット特定部25は、カット特定処理を実行する(ステップS705)。一方、この判定の結果、当該調理工程の調理対象が野菜又は果物でない場合には(ステップS704のNO)、ステップS705はスキップされる。
図12は、カット特定処理の一例を示すフロー図である。
【0049】
同図に示す処理において、カット特定部25は、まず、カットして生成された食材片一式を撮影するよう促すメッセージをディスプレイ4に表示させる(ステップS7051)。このメッセージを見た調理者は、例えばまな板の上に載せられた食材片一式をカメラ7で撮影する。その際、調理者は、食材片のサイズを特定するための基準として自身の人差し指を食材片一式に添えて撮影する。撮影後、カット方法特定部251は、カメラ7により生成される画像データに、機械学習により予め生成された識別モデルを適用して、カット方法を特定する(ステップS7052)。カット方法特定部251は、カット方法を特定すると、カットされた食材名と対応付けて作業テーブルT4に格納する(ステップS7053)。
【0050】
カット方法を格納後、カットサイズ特定部252は、同画像データに上記の識別モデルを適用して各食材片を検出し、検出した各食材片に設定される外接矩形の長辺の平均画素数を算出する(ステップS7054)。また、カットサイズ特定部252は、同画像データに、人間の人差し指を識別するために予め機械学習させた識別モデルを適用して、調理者の人差し指を検出し、検出した人差し指に設定される外接矩形の長辺の画素数を算出する(ステップS7055)。カットサイズ特定部252は、調理者の人差し指の長さL2を予め記憶しておき、この長さL2と、算出された平均画素数N1及び画素数N2をN1:L1=N2:L2の関係式に代入することで、食材片の平均長L1を算出する(ステップS7056)。カットサイズ特定部252は、算出した平均長L1をカットサイズとして、カットされた食材名と対応付けて作業テーブルT4に格納する(ステップS7057)。
【0051】
カットサイズを格納後、カットサイズ特定部252は、調理工程テーブルT3を参照して、その食材のカットサイズの基準値を特定する(ステップS7058)。そして、特定した基準値と実際のカットサイズの差分を算出し(ステップS7059)、算出した差分が閾値を超えるか否かを判定する(ステップS7060)。この判定の結果、差分の絶対値が閾値を超える場合には(ステップS7060のYES)、作業テーブルT4において当該食材と対応付けられている調理時間変更フラグをfalseからtrueに変更する(ステップS7061)。一方、差分が閾値を超えない場合には(ステップS7060のNO)、ステップS7061はスキップされる。
以上が、カット特定処理についての説明である。
【0052】
カット特定処理が終了すると、調理工程情報取得部24は、次の調理工程についてステップS701以降の処理を実行する。
【0053】
上記のステップS701の判定の結果、処理対象の調理工程が加熱調理工程である場合には(ステップS701のYES)、調理時間変更要否判定部26は、作業テーブルT4を参照して、処理対象の調理工程で調理対象となっているいずれかの食材に調理時間変更フラグ「true」が対応付けられているか否かを判定する(ステップS706)。言い換えると、調理対象となっている食材の中に、加熱調理の調理時間を変更すべき食材が含まれているか否かを判定する。この判定の結果、いずれかの食材に調理時間変更フラグ「true」が対応付けられている場合には(ステップS706のYES)、調理時間の変更要否を問い合わせるメッセージをディスプレイ4に表示させる(ステップS707)。このメッセージを見た調理者により調理時間の変更が指示されると(ステップS708のYES)、調理時間の変更が必要と判定される。一方、調理者により調理時間の変更が指示されない場合には(ステップS708のNO)、調理時間の変更は不要と判定される。また、上記のステップS706の判定において、いずれの食材にも調理時間変更フラグ「true」が対応付けられていない場合にも、調理時間の変更は不要と判定される。
【0054】
調理時間の変更は不要と判定された場合には、調理工程情報取得部24は、調理工程テーブルT3を参照して、処理対象の調理工程の説明文を取得して(ステップS709)、ディスプレイ4に表示させる(ステップS710)。その後、調理工程情報取得部24は、次の調理工程についてステップS701以降の処理を実行する。
【0055】
一方、調理時間の変更が必要と判定された場合には、調理時間推定部27は、調理時間推定処理を実行する(ステップS711)。
図13は、調理時間推定処理の一例を示すフロー図である。
【0056】
同図に示す処理において、調理時間推定部27は、作業テーブルT4を参照して、その調理工程で調理対象となっている食材を特定する(ステップS7111)。そして、特定した食材について、推定モデルテーブルT6を参照して、特定した食材とその調理工程の調理工程IDとに対付けられている推定モデルを特定する(ステップS7112)。また、特定した食材について、作業テーブルT4を参照して、分量とカットサイズ(食材が肉又は魚の場合は分量のみ)も特定する(ステップS7113)。そして、特定した分量とカットサイズを入力として、特定した推定モデルを用いることで、特定した食材に最適な調理時間を推定する(ステップS7114)。調理時間を推定後、ステップS7111で特定した食材の数が単数である場合には(ステップS7115のYES)、ステップS7114で推定した調理時間を、処理対象の調理工程の調理時間とする(ステップS7116)。一方、ステップS7111で特定した食材の数が単数でない場合には(ステップS7115のNO)、推定した調理時間の中で最長の調理時間をその調理工程の調理時間とする(ステップS7117)。
以上が、調理時間推定処理についての説明である。
【0057】
調理時間推定処理が終了すると、調理工程情報取得部24は、調理工程テーブルT3を参照して、処理対象の調理工程の説明文を取得し(ステップS712)、その説明文に含まれる調理時間を、ステップS711で特定した調理時間に変更した上で(ステップS713)、ディスプレイ4に表示させる(ステップS714)。その後、調理工程情報取得部24は、次の調理工程についてステップS701以降の処理を実行する。そして、調理工程テーブルT3において調理対象のレシピIDと対応付けられているすべての調理工程についてステップS701以降の処理が実行されると、調理工程説明文表示処理は終了する。
調理工程説明文表示処理が終了すると、本調理支援処理は終了する。
以上が、調理支援処理についての説明である。
【0058】
なお、上記の調理支援処理の過程で、ディスプレイ4に表示される調理工程説明文に登場する料理用語について調理者により質問がなされると、質問応答部30は、料理用語テーブルT7を参照して、質問対象の料理用語と対応付けられている解説文をディスプレイ4に表示させる。
【0059】
以上説明したスマートグラス1によれば、調理者がレシピと異なる大きさに食材をカットしてしまった場合に、カットされた食材片のサイズに最適な加熱調理時間を調理者に提示することができる。
【0060】
2.変形例
上記の実施形態は下記のように変形してもよい。なお、以下に記載する2以上の変形例は互いに組み合わせてもよい。
【0061】
2−1.変形例1
食材分量特定部23は、野菜や果物の分量を特定するにあたり、肉や魚と同様に、調理者に分量を入力するよう促すメッセージをディスプレイ4に表示させ、このメッセージを見た調理者により発声された分量を、その食材名と対応付けて作業テーブルT4に格納するようにしてもよい。
【0062】
2−2.変形例2
カットサイズ特定部252は、食材片のカットサイズを特定するにあたり、調理者にカットサイズを入力するよう促すメッセージをディスプレイ4に表示させ、このメッセージを見た調理者により発声されたカットサイズを、その食材名と対応付けて作業テーブルT4に格納するようにしてもよい。
【0063】
2−3.変形例3
モデル生成部29は、推定モデルを生成するにあたり、重回帰モデル以外の統計モデルにレシピデータを学習させるようにしてもよい。例えば、ニューラルネットワークやサポートベクターマシンを統計モデルとして用いてもよい。
【0064】
仮にニューラルネットワークを用いる場合、教師データテーブルT5を参照して、料理名、調理工程及び食材名を同じくする、分量、カット方法、カットサイズ及び調理時間の複数の組をニューラルネットワークに学習させることで、分量とカット方法とカットサイズを入力とし、調理時間を出力する推定モデルを生成するようにしてもよい。
【0065】
2−4.変形例4
調理時間変更要否判定部26は、調理時間の変更の要否を判定するにあたって、調理者に対する問い合わせを省略してもよい。すなわち、調理対象の食材の中に、加熱調理の調理時間を変更すべき食材が含まれている場合に、調理者に対する調理時間の変更要否の問い合わせをせずに、調理時間の変更が必要と判定してもよい。
【0066】
2−5.変形例5
スマートグラス1は、食材をカットする調理工程において、カット対象の食材に重ねて、カットすべきラインを示す補助線をディスプレイ4に表示するようにしてもよい。その際、スマートグラス1は、カメラ7により生成される画像データに基づいて、カメラ撮影領域内におけるカット対象食材の輪郭座標を特定する。そして、特定した輪郭座標を、所定の変換テーブルを参照して、ディスプレイ4の画像表示領域における輪郭座標に変換する。カットすべきラインを示す補助線は、この変換された輪郭座標により囲まれた領域を横切るように表示される。
【0067】
スマートグラス1は、補助線を表示後、調理者の実際の切断線と補助線の間の距離が閾値を超えるか否かを判定してもよい。その際、スマートグラス1は、カメラ7により生成される画像データに基づいて、カメラ撮影領域内における切断線の輪郭座標を特定する。そして、特定した輪郭座標を、所定の変換テーブルを参照して、ディスプレイ4の画像表示領域における輪郭座標に変換する。そして、この変換された輪郭座標と、画像表示領域における補助線の輪郭座標との距離が閾値を超えるか否かを判定する。具体的には例えば、この変換された輪郭座標に囲まれる領域の中心と、画像表示領域における補助線の輪郭座標に囲まれる領域の中心との距離が閾値を超えるか否かを判定する。この判定の結果、当該距離が閾値を超えると判定された場合には、このカット対象食材の調理時間変更フラグをtrueに変更するようにしてもよい。その結果、加熱調理工程において調理時間変更要否判定部26が調理時間の変更が必要と判定した場合には、調理時間推定部27により調理時間推定処理が実行されることになる。
【0068】
2−6.変形例6
スマートグラス1のディスプレイ4に代えて又は加えて、スピーカから情報を出力するようにしてもよい。
【0069】
2−7.変形例7
スマートグラス1は、上記の調理支援処理を実行可能な調理支援システムの一例にすぎない。上記の調理支援処理は、スマートグラス1以外の情報処理装置(例えば、ヘッドマウントディスプレイ、スマートフォン、タブレット端末等)により実行されてもよい。
【0070】
2−8.変形例8
スマートグラス1が備える機能及びテーブルの一部を、スマートグラス1と通信可能なサーバに持たせるようにしてもよい。
【解決手段】スマートグラス1は、調理者により食材がカットされて生成された食材片のサイズを特定するカットサイズ特定部252と、特定された食材片のサイズを入力として、機械学習により生成された推定モデルを用いて、食材片の最適な加熱調理時間を推定する調理時間推定部27と、推定された加熱調理時間を表示するディスプレイ4を備える。