JP6173281B2 - 環境理解装置および環境理解方法 - Google Patents

環境理解装置および環境理解方法 Download PDF

Info

Publication number
JP6173281B2
JP6173281B2 JP2014176141A JP2014176141A JP6173281B2 JP 6173281 B2 JP6173281 B2 JP 6173281B2 JP 2014176141 A JP2014176141 A JP 2014176141A JP 2014176141 A JP2014176141 A JP 2014176141A JP 6173281 B2 JP6173281 B2 JP 6173281B2
Authority
JP
Japan
Prior art keywords
work
cooking
unit
acoustic
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014176141A
Other languages
English (en)
Other versions
JP2016051052A (ja
Inventor
諒介 小島
諒介 小島
一博 中臺
一博 中臺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2014176141A priority Critical patent/JP6173281B2/ja
Publication of JP2016051052A publication Critical patent/JP2016051052A/ja
Application granted granted Critical
Publication of JP6173281B2 publication Critical patent/JP6173281B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、環境理解装置および環境理解方法に関する。
近年、利用者が行う作業の手順を案内するナビゲーション装置が提案されている。ここで、作業の手順(以下、作業手順という)とは、例えば調理の手順、または製品等の組み立ての手順等である。
調理の手順を案内する調理ナビゲーション装置(以下、調理ナビゲーション装置という)では、利用者によって入力されたレシピ情報を解析して、調理手順を示す読み上げ文を作成する。次に、調理ナビゲーション装置は、読み上げ文を音声データに変換する。次に、調理ナビゲーション装置は、読み上げ文に待機時間情報が含まれている場合に待機時間情報を抽出する。調理ナビゲーション装置では、先頭の読み上げ文の音声データに対応した音声信号を出力し、その後、調理手順の音声データの出力を利用者によって調理の段階毎に指示されたとき、次の調理手順に応じた音声信号を出力する。そして、調理ナビゲーション装置は、利用者によって指示が入力されないまま、抽出された待機時間が経過した場合、次の料理手順の音声信号を出力する(例えば特許文献1参照)。
また、例えば、製品の組み立てを行う現場では、作業員は、製品の組み立て作業の手順が示されている工程表に従って、製品の組み立てを行っている。この現場で用いられるナビゲーション装置では、製品の組み立てに関する情報が作業員等によって事前に入力され、入力された情報を用いて、製品の組み立て作業の手順を、例えば表示部に表示することで、案内を行っていた。
特開2004−294864号公報
このように、従来のナビゲーション装置では、利用者が、作業に関する情報を予めナビゲーション装置へ入力する必要があった。
本発明は上記の点に鑑みてなされたものであり、利用者が予め作業に関する情報を入力することなく、作業手順の案内を行うことができる環境理解装置および環境理解方法を提供することを目的とする。
(1)上記目的を達成するため、本発明の一態様に係る環境理解装置は、作業に関する複数の作業工程を含む情報を解析して前記作業工程に対応するノード間の遷移を表すフローグラフを生成する言語処理部と、前記フローグラフに含まれる前記複数の作業工程のそれぞれをノードとする遷移確率モデルである工程モデルを、前記作業工程間の結びつきがある連続する前記作業工程に他のノードを挿入しないことで、前記作業工程間の結びつきがある連続する各作業工程の前後関係は維持しつつ、前記複数の作業工程を組み合わせて生成し、かつ当該工程モデルを各一連の作業ごとに生成するモデル化部と、音響信号を収録する収音部と、前記作業工程毎に対応する前記音響信号に基づいて作成された音響モデルと、収録された前記音響信号から音響特徴量を抽出する特徴量抽出部と、前記音響特徴量と前記音響モデルとに基づいて現在の作業工程である現作業工程を推測し、推測した前記現作業工程と、過去に推定した作業工程と、前記工程モデルとに基づいて、前記作業を推定する推定部と、を備える。
(2)また、本発明の一態様に係る環境理解装置において、前記モデル化部は、前記フローグラフの前記作業工程における1つの状態から他の状態への遷移の共起確率に基づいて前記工程モデルを生成するようにしてもよい。
(3)また、本発明の一態様に係る環境理解装置において、前記モデル化部は、前記フローグラフの前記作業工程における1つの状態から他の状態への遷移が、他の作業にも含まれている場合に、前記1つの状態から他の状態への遷移する複数の前記作業工程を1つの作業工程であるとみなして前記工程モデルを生成するとみなすようにしてもよい。
(4)また、本発明の一態様に係る環境理解装置において、前記モデル化部は、前記工程モデルに含まれる前記作業工程毎に、前記作業工程に含まれる1個の名詞と1個の動詞との組み合わせに分割して、分割した組み合わせそれぞれを作業工程と見なして時系列的に並べて前記工程モデルに含まれる前記作業工程を階層化するようにしてもよい。
(5)また、本発明の一態様に係る環境理解装置において、前記推定部は、前記音響特徴量と前記音響モデルとに基づいて、前記現作業工程を推測した結果、所定の値以上の他の作業が候補になった場合、候補になった前記他の作業の候補を利用者へ報知し、前記報知に対する前記利用者からの応答に応じて、複数の前記作業の候補から推測して前記作業を絞り込むようにしてもよい。
(6)また、本発明の一態様に係る環境理解装置において、前記推定部は、推定した前記作業に基づいて、次の作業工程である次作業工程を予測し、予測した前記次作業工程に関する情報を報知するようにしてもよい。
(7)また、本発明の一態様に係る環境理解装置は、画像を撮像する撮像部と、前記撮像部によって撮像された画像から、前記作業工程で用いられる対象物の位置を推定する画像処理部と、を備え、前記推定部は、前記画像処理部によって推定された前記対象物の位置を示す情報に基づいて、次の作業工程である次作業工程で用いる前記対象物の位置を示す情報を報知するようにしてもよい。
(8)上記目的を達成するため、本発明の一態様に係る環境理解方法は、言語処理部が、作業に関する複数の作業工程を含む情報を解析して前記作業工程に対応するノード間の遷移を表すフローグラフを生成する言語処理手順と、モデル化部が、前記フローグラフに含まれる前記複数の作業工程のそれぞれをノードとする遷移確率モデルである工程モデルを、前記作業工程間の結びつきがある連続する前記作業工程に他のノードを挿入しないことで、前記作業工程間の結びつきがある連続する各作業工程の前後関係は維持しつつ、前記複数の作業工程を組み合わせて生成し、かつ当該工程モデルを各一連の作業ごとに生成するモデル化手順と、収音部が、音響信号を収録する収音手順と、音響モデル作成部が、前記作業工程毎に対応する前記音響信号に基づいて音響モデルを作成する音響モデル作成手順と、特徴量抽出部が、収録された前記音響信号から音響特徴量を抽出する特徴量抽出手順と、推定部が、前記音響特徴量と前記音響モデルとに基づいて現在の作業工程である現作業工程を推測し、推測した前記現作業工程と、過去に推定した作業工程と、前記工程モデルとに基づいて、前記作業を推定する推定手順と、を含む。
上述した(1)または(8)の構成では、利用者が作業名や作業工程を入力することなく、フローグラフを所定の基準に従って時系列的に複数の作業工程を並べた工程モデルに変換して、さらに予め収録した音響信号を作業工程それぞれに関連付けた音響モデルを生成するようにした。この構成によれば、収録された音響信号と、音響モデルとに基づいて現在の作業工程を推定できる。そして、この構成によれば、現在の作業工程と、過去の作業工程と、工程モデルに基づいて、環境理解装置が現在行われている作業を推定することができる。さらに、この構成によれば、フローグラフに含まれる複数の作業工程を、所定の基準に従って、時系列的に並べた工程モデルに変換してモデルを生成したので、作業工程の順序が入れ替わっても支障がない作業であっても、利用者が作業名や作業工程を入力することなく、環境理解装置が現在行われている作業を推定することができる。
上述した(2)の構成によれば、フローグラフの作業工程における1つの状態から他の状態への遷移に対して共起確率による制約を加えたので、フローグラフを実際に行われる可能性が高い工程モデルに変換することができる。また、上述した(3)の構成によれば、フローグラフの作業工程における1つの状態から他の状態への遷移が他の作業にも含まれている場合に、この複数の作業工程を1つの作業工程であるとみなす制約を加えたので、フローグラフを実際に行われる可能性が高い工程モデルに変換することができる。この結果、上述した(2)および(3)の構成によれば、変換された工程モデルを用いて、環境理解装置が現在行われている作業を精度良く推定することができる。
上述した(4)の構成によれば、変換された工程モデルをさらに階層化することができるので、さらに階層化された工程モデルを用いて、環境理解装置が利用者によって現在行われている作業工程や作業を精度良く推定することができる。
上述した(5)の構成によれば、作業の候補を所定の値以内に絞れない場合、推定される作業名の候補を利用者へ報知を行い、この報知に対する利用者の応答を得るようにした。この構成によれば、利用者が行うとしている作業を作業途中で絞ることができる。
上述した(6)の構成によれば、推定した作業と、収録した音響信号とを用いて、次に行われる作業工程を推定することができる。これにより、この構成によれば、利用者が作業工程を間違えたときや、作業工程を抜かして誤った工程に進んだときなどに、正しい作業工程を利用者へ報知することができるので、利用者の作業を支援することができる。
上述した(7)の構成によれば、撮像された画像に基づいて、次に行われる作業工程で用いられる対象物の位置を推定することができる。ここで対象物とは、作業工程で用いられる材料、器具等である。これにより、この構成によれば、利用者が、次の作業工程で用いる対象物を見つけられずに次の作業工程を実行できないとき、次の作業工程で用いる対象物の位置を報知することができるので利用者の作業を支援することができる。
第1実施形態に係る環境理解装置のブロック図である。 第1実施形態に係る調理音データベースに格納されている情報の一例を説明する図である。 レシピデータベースに格納されている調理名とリストの一例を説明する図である。 レシピデータベースに格納されている野菜炒めの作業手順を説明する図である。 レシピ情報から生成したフローグラフの一例を説明する図である。 合流ノードを説明する図である。 図6のフローグラフに対して重み付けを行ったフローグラフの一例を説明する図である。 ノードA、ノードB、ノードC、およびノードX間の共起確率の一例を説明する図である。 頻出パターンを他のノードに置き換える一例を説明する図である。 図6のフローグラフをHMMに変換した結果を説明する図である。 図5に示したフローグラフを調理工程HMMおよび調理イベントHHMMに変換した一例を説明する図である。 第1実施形態に係る環境理解装置の処理手順のフローチャートである。 第1実施形態に係るレシピのフローグラフ化処理手順のフローチャートである。 第1実施形態に係る調理工程HMMおよび調理イベントHHMMの生成処理手順のフローチャートである。 第1実施形態に係るGMMの生成処理手順のフローチャートである。 第1実施形態に係るレシピに関する推定処理手順のフローチャートである。 第1実施形態に係る環境理解装置と利用者とのコミュニケーションの一例を説明する図である。 第1実施形態に係る環境理解装置のノイズに対する正答率を説明する図である。 第2実施形態に係る環境理解装置のブロック図である。 第2実施形態に係る撮像部によって撮像された画像情報の一例を説明する図である。 第2実施形態に係る材料や調理器具の位置を示す情報の一例を説明する図である。 第2実施形態に係る環境理解装置と利用者とのコミュニケーションの一例を説明する図である。 第2実施形態に係るレシピに関する推定処理手順のフローチャートである 第3実施形態に係る環境理解装置のブロック図である。 第3実施形態に係る作業音データベースに格納されている情報の一例を説明する図である。 工程データベースに格納されている作業名とリストの一例を説明する図である。 工程データベースに格納されている制御ユニットの取り付けの作業手順を説明する図である。 作業情報から生成したフローグラフの一例を説明する図である。 図28に示したフローグラフを作業工程HMMおよび作業イベントHHMMに変換した一例を説明する図である。 第3実施形態に係る環境理解装置の処理手順のフローチャートである。
まず、本発明の概要について説明する。
本発明の環境理解装置は、まず、複数の作業手順を含む作業において、作業手順毎に発生する音響信号(以下、調理音、作業音ともいう)の収録を予め行う。なお、作業手順が、1つの名詞と1つの動詞による手順である作業イベント(調理イベントともいう)を複数含む場合、環境理解装置は、作業イベント毎に発生する音響信号の収録を予め行う。次に、環境理解装置は、収録した音響信号から音響特徴量を抽出して、作業手順または作業イベント毎の音響モデル(GMM)を作成する。この音響モデルは、それぞれ作業手順または作業イベントに関連付けられている。また、環境理解装置は、予め作業手順に関する文字情報(例えば、調理のレシピ、製造における作業工程表)を取得する。次に、環境理解装置は、取得した文字情報を言語解析して、解析した結果を用いて作業手順の言語解析された部分(例えば、名詞と動詞)の意味内容を表現するフローグラフを生成する。そして、環境理解装置は、生成されたフローグラフを共起確率等の制約下で隠れマルコフモデル(HMM;Hidden Markov Model)に変換する。さらに、環境理解装置は、変換したHMMにおいて階層化可能なノードをさらに階層化することで、作業毎に階層型隠れマルコフモデル(HHMM;Hierarchical HMM)に変換する。
環境理解装置は、利用者によって電源がオン状態にされ作業が開始されると、作業イベント毎の音響信号を取得する。次に、環境理解装置は、取得した音響信号の音響特徴量に対して、音響モデルにおいて最尤推定を行って、最も尤度の高いGMMに対応する作業イベントを推定する。環境理解装置は、音響信号を数工程分取得して、数工程分の作業イベントそれぞれを推定する。次に、環境理解装置は、推定した数工程分の作業イベントを用いて、利用者が何を行っているのか(どのような調理を行っているのか、何を製造しているのか等)を、HHMMを参照して最も尤度の高い作業を推定する。
さらに、環境理解装置は、作業が推定できた後、収録した音響信号に基づいて、利用者の作業間違いを検出し、作業間違いが検出された場合に正しい作業イベントを示す情報を利用者に報知する。
<第1実施形態>
図1は、本実施形態に係る環境理解装置1のブロック図である。なお、本実施形態では、環境理解装置1の一例として、調理ナビゲーション装置について説明する。
図1に示すように、環境理解装置1は、調理音データベース10、音響モデル構築部20、レシピデータベース30、レシピモデル構築部40、収音部50、音響信号取得部60、区間検出部65、特徴量抽出部70、GMM推定部75(推定部)、HHMM推定部80(推定部)、記憶部85、報知処理部90、および出力部95を含んで構成される。
調理音データベース10には、予め収録された調理工程それぞれの音響信号と、その音響信号に関する材料名または調理器具名と、調理内容とが関連付けられて格納されている。ここで、調理工程とは、名詞(N)と動詞(V)とで構成される工程であり、材料名または調理器具名の名詞(N)と、調理内容の動詞(V)との組み合わせである。一例として調理工程は、「(N)キャベツを(V)切る」である。また、材料とは、調理に使われる食材、調味料を含む。調理内容とは、切る、削ぐ、皮をむく、焼く、炒める、煮る、茹でる等である。なお、音響信号の音響特徴量を検出して比較するため、音響信号の収録には、後述する収音部50または収音部50と同等のものを用いることが好ましい。
図2は、本実施形態に係る調理音データベース10に格納されている情報の一例を説明する図である。図2に示すように、調理音データベース10には、材料名または調理器具名と、調理内容と、音響信号とが関連付けられて格納されている。例えば、材料名である「キャベツ」と、調理内容である「切る」と、音響信号である「音響信号1」とが関連付けられている。なお、格納されている音響信号は、材料名と調理内容との組み合わせ毎に複数であってもよい。図2において、材料名または調理器具名の名詞と、調理内容の動詞との組み合わせそれぞれが、調理工程に相当する。調理音データベース10に格納されている情報は、調理音データベース10に接続されている不図示のデータベース入力装置(例えばパーソナルコンピュータ)に、利用者によって「キャベツを切る」とテキストが入力された文字情報であってもよい。この場合、データベース入力装置は、形態素解析、係り受け解析を行って、名詞と動詞を抽出してもよい。この場合、データベース入力装置は、図2のように名詞を材料名、調理器具名とし、動詞を調理内容としてデータベースに格納するようにしてもよい。
図1に戻って、環境理解装置1の説明を続ける。
音響モデル構築部20は、調理音データベース10の音響信号から算出された音響特徴量を用いて学習を行って、GMM(混合ガウスモデル)の音響モデルを生成する。
音響モデル構築部20は、区間検出部21、特徴量抽出部22、および学習部23を含んで構成される。
区間検出部21は、調理音データベース10に格納されている音響信号毎に、振幅と零交差数に基づいて、作業工程の開始端と終了端を調理区間として検出する。具体的には、区間検出部21は、一定のレベルを越える振幅について零交差数が一定数を越えたとき、開始端として区間検出を開始する。次に、区間検出部21は、値が一定以下になったときに、終了端としてそこで入力を区切って1作業工程分の区間検出を終了する。例えば、区間検出部21は、「キャベツを切る」ときの音響信号1(図2)を調理音データベース10から読み出し、音響信号1からキャベツを切っている調理区間と、その調理区間の音響信号を検出する。この調理区間の音響信号には、例えば、包丁がキャベツに接触したときの音、キャベツが包丁で切られたときの音、包丁がまな板にあたった時の音などが含まれている。区間検出部21は、音響信号毎に、検出した調理区間の音響信号を特徴量抽出部22に出力する。
特徴量抽出部22は、区間検出部21から入力される調理区間の音響信号について、フレーム毎に窓処理、離散フーリエ変換、絶対値演算、メルスケール変換、離散コサイン演算等を行って、MFCC(メル周波数ケプストラム係数;Mel−Frequency Cepstrum Coefficients)特徴量を算出する。なお、フレームとは、所定の単位時刻である。このため、算出される音響特徴量は、フレーム毎に算出されたMFCC特徴量の集合である。なお、調理区間において算出される音響特徴量は、上述した例のように、包丁がキャベツに接触したときの音、キャベツが包丁で切られたときの音、包丁がまな板にあたった時の音など複数の状態が含まれている。そして、この状態毎に、音響特徴量が異なっている。
学習部23は、特徴量抽出部22から入力されるMFCC特徴量を用いてGMMを学習して生成する。学習部23には、例えば調理工程毎に、複数のMFCC特徴量が入力される。ここで、例えば複数の「キャベツ、切る」の音響信号が、調理音データベースに格納されている。学習部23は、これらの複数の音響信号毎のMFCC特徴量を用いて、「キャベツ、切る」である調理工程のGMMを生成する。
ここで、MFCC特徴量には、上述したように、複数の状態毎のMFCC特徴量が含まれている。学習部23は、例えば、フレーム毎のMFCC特徴量を、このような状態毎に分類し、分類した状態間を連結する。そして、学習部23は、連結された状態が、この調理工程の音響信号のMFCC特徴量であるときに尤度が最大になるように、各状態の出現確率、状態間の遷移確率等のパラメータを推定する。学習部23は、入力された同じ調理工程のMFCC特徴量を複数個用いて、それぞれのパラメータの推定を行って、作業工程毎のGMMを学習する。なお、GMMは、入力の特徴ベクトルの出現確率を混合ガウス分布で表現したものである。このように、学習部23は、調理工程毎にGMMを学習する。なお、作業手順が1つの調理工程から構成される場合、作業手順が調理工程でもある。従って、音響モデル構築部20が調理音データベース10から読み出す音響信号は、調理工程毎または作業手順毎のものである。このため、生成されるGMMは、調理工程または作業手順と関連付けられたものである。学習部23は、生成したGMMをGMM推定部75に出力する。
レシピデータベース30には、調理(作業)毎に、調理に関するレシピ情報が格納されている。レシピ情報には、材料、調味料、調理方法、調理時間等を示す情報が含まれている。環境理解装置1は、例えばネットワークを介して複数の調理に関するレシピ情報を取得して、取得したレシピ情報をレシピデータベース30に格納するようにしてもよい。
図3は、レシピデータベース30に格納されている調理名とリストの一例を説明する図である。また、図4は、レシピデータベース30に格納されている野菜炒めの作業手順を説明する図である。
図3に示すように、レシピデータベース30には、調理名とリストとが関連付けられて格納されている。なお、図3に示す例では、材料に調味料を含む。図3に示す例は、調理名が「野菜炒め」であり、その調理に必要な材料と調味料「豚肉、玉葱、キャベツ、人参、油、醤油、塩こしょう」がリストに格納されている。なお、図3に示した例では、リストに名詞のみが含まれている例を示したが、リストには、動詞が含まれていてもよい。
また、図4に示すように、レシピデータベース30には、作業手順と作業項目とが、調理毎に関連付けられて格納されている。例えば、作業手順1の作業項目は、「玉葱、キャベツ、人参を、それぞれ食べやすい大きさに切っておく。」である。なお、本実施形態では、1つの調理にかかる全ての作業工程を、作業(タスク)と定義する。
レシピデータベース30には、「野菜炒め」のレシピ情報に加え、他の調理(例えば「焼きそば」、「お好み焼き」等)のレシピ情報が格納されている。
図1に戻って、環境理解装置1の説明を続ける。
レシピモデル構築部40は、レシピデータベース30に格納されている情報を調理毎に読み出し、読み出した調理毎のレシピ情報を調理イベントHHMMに変換する。なお、調理イベントHHMMについては後述する。
レシピモデル構築部40は、言語処理部41、確率モデル化部42(モデル化部)、および階層化部43(モデル化部)を含んで構成される。
言語処理部41は、レシピデータベース30に格納されているレシピ情報を調理毎且つ作業手順毎に読み出す。言語処理部41は、読み出した作業手順毎のレシピ情報に対して、形態素解析および係り受け解析を周知の手法によって行う。言語処理部41は、解析した結果に基づいて、図5に示すような作業手順毎のフローグラフを生成する。なお、フローグラフの生成方法については、後述する。
図5は、レシピ情報から生成したフローグラフの一例を説明する図である。図5において、(N)は名詞を表し、(V)は動詞を表す。またendノードは、作業項目の終端を表すノードである。作業手順1のノード「(N)玉葱、(N)キャベツ、(N)人参、(V)切る」は、「玉葱とキャベツと人参を切る」という調理工程(作業工程)を表している。なお、各作業項目で検出する名詞は、図3に示したリストに記載されている名詞である。作業手順2のノード「(N)油、(V)熱する」は、「油を熱する」という調理工程を表している。作業手順3のノード「(N)豚肉、(N)人参、(N)塩こしょう、(V)炒める」は、「豚肉を入れ、火が通ったら、塩こしょうを入れ、人参を炒める。」という調理工程を表している。また、作業手順3では、2つの親ノード「(N)豚肉、(V)入れる」と「(N)塩こしょう、(V)入れる」とが存在している。この2つの親ノードは、係り受け解析のみからでは、順序を決定できないものであり、親ノードのどちらの調理イベントを先に行っても良いが、必ず両方を行う必要のある調理工程である。このようなノードを、本実施形態では合流ノードという。さらに、作業手順3では、親ノード「(N)豚肉、(V)入れる」は、次のノード「(N)豚肉、(V)炒める」に遷移する。作業手順4のノード「(V)入れる」は、「残りの野菜を入れる」という調理工程を表し、ノード「(V)炒める」は、「残りの野菜を炒める」という調理工程を表している。作業手順5のノード「(N)醤油、(V)味を整える」は、「醤油で味を調える」という調理工程を表している。
図6は、合流ノードを説明する図である。図6は作業手順3に相当する。ノードAが「(N)塩こしょう、(V)入れる」であり、ノードCが「(N)豚肉、(V)入れる」であり、ノードBが「(N)豚肉、(V)炒める」であり、ノードXが「(N)豚肉、(N)人参、(N)塩こしょう、(V)炒める」である。
図1に戻って、レシピモデル構築部40の説明を続ける。
確率モデル化部42は、言語処理部41によって生成されたフローグラフをHMM(工程モデル)に変換する。確率モデル化部42は、すべてのノードの組み合わせパターンを生成すれば、HMMに変換することができる。しかしながら、各作業項目において、全てのノードの組み合わせパターンが可能であるとは限られない。例えば、図6において、ノードCとノードBの間にノードAを行うことは、一般的には少ない。このため、本実施形態では、確率モデル化部42が、各ノードから各ノードへの枝である矢印毎に重みを付け、重みが所定の値より大きい箇所に、他のノードを挿入しないこととする。なお、重み付けは、予め作業者が、例えばLDA(潜在的ディリクレ配分法;Latent Dirichlet Allocation)を用いたノード間の遷移による共起確率を利用して行う。
図7は、図6のフローグラフに対して重み付けを行ったフローグラフの一例を説明する図である。図8は、ノードA、ノードB、ノードC、およびノードX間の共起確率の一例を説明する図である。図7および図8に示す例では、ノードAからノードXへの重み付けが0.1、ノードCからノードBへの重み付けが0.8、ノードBからノードXへの重み付けが0.1である。このような共起確率は、予め作業者が算出しておく。なお、確率モデル化部42は、レシピデータベース30の複数の調理のレシピ情報を参照して、共起確率を算出するようにしてもよい。
また、確率モデル化部42は、上述した共起確率を用いたノード間の結びつきの強さ以外に、他の調理レシピも参照し、ノードからノードへの遷移が同じパターンである頻度が所定値より大きい場合、そのパターンを1つの手続きとみなして、この頻度の高いパターン(頻出パターンともいう)の中に他のノードを挿入しないようにしてもよい。ここで、パターンとは、少なくとも2つ以上の連続するノードである。
図9は、頻出パターンを他のノードに置き換える一例を説明する図である。
例えば、図9に示した例において、ノードCからノードBへのパターンが、他のレシピにも頻出する場合、符号N1で示す領域が示す図のようにノードCからノードBへの遷移を1つのパターンとする。そして、矢印g1のように、このパターンを新たに1つのノードDと定義する。この処理によって、確率モデル化部42は、ノードCとノードBとの間に他のノードを挿入しないようにしてもよい。
図10は、図6のフローグラフをHMMに変換した結果を説明する図である。図10に示すように、ノードAの前には、ノードCからノードBへの遷移が確率モデル化部42によって追加される。また、ノードCからノードBの前には、ノードAが確率モデル化部42によって追加される。この結果、図6のフローグラフは、図10のようにHMMに変換される。図10に示す例においてHMMは、ノードCからノードB、ノードBからノードA、ノードAからノードXへ遷移するルートと、ノードAからノードC、ノードCからノードB、ノードBからノードXへ遷移するルートの合流として表される。
上述したように、本実施形態において、確率モデル化部42は、ノード間の重み付けの制約、および頻出パターンを新たな1つのパターンのとする制約のうち、少なくとも一方を行うことでフローグラフをHMMに変換する。
図11は、図5に示したフローグラフを調理工程HMMおよび調理イベントHHMMに変換した一例を説明する図である。符号g11で示した領域の図は、図5に示したフローグラフを調理工程HMMに変換した図である。符号g12で示した領域の図は、図5に示した作業手順3に対応するノードである。また、図11では、各状態に留まることを示す自己遷移(例えば、符号g13)が、それぞれのノードに加えられている。符号g14で示す領域の図は、図5に示した作業手順1を、さらに階層化してHMMを構築した図である。図11の符号g11で示した領域の図において、図5に示した作業手順1は、ノード1に対応し、図5に示した作業手順2は、ノード2に対応する。図5に示した作業手順3は、図11においてノード3−1−1〜3−1−3、ノード3−2−1〜3−2−3、およびノード3に対応する。図5に示した作業手順4は、図11においてノード4−1およびノード4−2に対応する。図5に示した作業手順5は、図11においてノード5に対応する。調理工程HMMにおいて、各状態である各ノードは、調理工程(作業工程)を表している。
なお、調理工程HMMの詳細な変換手順については後述する。
図1に戻って、レシピモデル構築部40の説明を続ける。
階層化部43は、確率モデル化部42によって変換された調理工程HMMの1工程を、さらに名詞(N)と動詞(V)のペアで構成される状態に分割する。本実施形態では、名詞(N)と動詞(V)のペアを調理イベントともいう。このため、図1に示したノード3−1−1〜3−2−3、ノード3−2−1〜3−2−3などの調理工程も調理イベントである。階層化部43は、各調理工程HMMを、調理イベントの階層的な状態遷移に変換する。そして、階層化部43は、この調理イベントについて、確率モデル化部42と同様にHMMに変換する。この分割によって、図11において、符号g14で示した領域の図のように、調理工程HMMの各状態が階層的なHMMを含む形となる。図11において符号g14で示した領域の図のように、ノード1「(N)玉葱、(N)キャベツ、(N)人参、(V)切る」は、名詞と動詞のペアである調理イベント「(N)玉葱、(V)切る」と「(N)人参、(V)切る」と「(N)キャベツ、(V)切る」に分解できる。そして、分解された複数の調理イベントをHMMで表すと、符号g14で示した領域の図のように複数のルートで表すことができる。なお、図11に示す例では、階層化部43が、共起確率に基づいてノード1をHMMに変換した例である。すなわち、ノードの階層化においても、階層化部43は、共立確率による制約、または、他の調理(作業)にも出現する頻度の高いノードからノードへの遷移を1つのノードとみなす制約を用いるようにしてもよい。また、生成されたHHMMには、調理毎の調理イベントHHMMが含まれている。例えば、HHMMには、野菜炒めの調理イベントHHMM、焼きそばの調理イベントHHMM、お好み焼きの調理イベントHHMM等が含まれている。
図11に示すような2階層のHMMをHHMM(工程モデル)という。図11の符号g14で示す領域の図のように、ノード1は、ノード1−1−1〜1−1−3、ノード1−2−1〜1−2−3、ノード1−3−1〜1−3−3、・・・に分割される。
図1に戻って、環境理解装置1の説明を続ける。
収音部50は、M(Mは1よりも大きい整数、例えば8)チャネルの音響信号を収録し、収録したMチャネルの音響信号を音響信号取得部60に送信する。収音部50は、例えば周波数帯域(例えば200Hz〜4kHz)の成分を有する音波を受信するM個のマイクロホン51−1〜51−Mを備えている。以下、マイクロホン51−1〜51−Mのそれぞれを特定しない場合は、単にマイクロホン51という。M個のマイクロホン51は、それぞれ異なる位置に配置されている。収音部50は、収録したMチャネルの音響信号を無線で送信してもよいし、有線で送信してもよい。Mが1よりも大きい場合には、送信の際にチャネル間で音響信号が同期していればよい。なお、音源定位の処理を行わない場合、マイクロホン51は、1つでよい。以下の説明では、収音部50がマイクロホン51を1つ備えている場合について説明する。
音響信号取得部60は、収音部50から入力されたアナログの音響信号を取得し、取得したアナログの音響信号をデジタルの音響信号に変換する。音響信号取得部60は、変換した音響信号を区間検出部65に出力する。
区間検出部65は、音響信号取得部60から入力された音響信号に対して、区間検出部21と同様に調理区間を検出する。区間検出部65は、検出した調理区間毎の音響信号を特徴量抽出部70に出力する。
特徴量抽出部70は、区間検出部65から入力される調理区間毎の音響信号について、特徴量抽出部22と同様にフレーム毎に音響特徴量として、例えばMFCC特徴量を算出する。特徴量抽出部70は、音響信号毎に、算出したMFCC特徴量をGMM推定部75に出力する。
GMM推定部75は、特徴量抽出部70から入力されたMFCC特徴量を音響モデル構築部20によって生成されたGMMを参照して、最も尤度が高いGMMに対応する音響信号に対応する調理イベントを推定する。GMM推定部75は、推定した調理イベントを示す情報をHHMM推定部80に出力する。例えば、算出された「キャベツを切る」音響信号のMFCC特徴量には、包丁がキャベツに接触したときの音響特徴量、キャベツが包丁で切られたときの音響特徴量、包丁がまな板にあたった時の音響特徴量などが含まれている。GMM推定部75は、これらの各状態(包丁がキャベツに接触した状態、キャベツが包丁で切られた状態、包丁がまな板にあたった状態)の出現確率、状態間の遷移確率等の最も尤度が高いGMMを最も近い調理イベントとして推定する。
HHMM推定部80は、GMM推定部75から入力された調理イベントを示す情報を時系列的に記憶部85に記憶させる。HHMM推定部80は、記憶部85に記憶させた調理イベント含む調理イベントHHMMを、レシピモデル構築部40によって構築されたHHMMを参照する。そして、HHMM推定部80は、最も尤度が高い調理イベントHHMMを、調理に対応する調理イベントHHMMとして推定する。例えば、HHMM推定部80は、調理イベントの候補に該当する調理イベントHHMMが1つの場合、その調理イベントHHMMを利用者が調理しようとしている調理イベントHHMMであると推定する。また、HHMM推定部80は、1つの調理イベントだけでは調理イベントHHMMを絞り込めない場合、記憶部85に記憶させた現在の調理イベントと過去の調理イベントとに基づいて、利用者が行っている調理に対応する調理イベントHHMMを推定する。
また、HHMM推定部80は、調理イベントHHMMを推定できた場合、調理イベントHHMMを参照して、次に行われる調理イベントを推定する。そして、HHMM推定部80は、次の調理イベントに対応する調理イベントを示す情報が所定の期間内に入力されたか否かを判別する。HHMM推定部80は、次の調理イベントに対応する調理イベントを示す情報が所定の期間内に入力されない場合、次に行われる調理イベントの候補を示す情報を報知処理部90に出力する。HHMM推定部80は、抽出した調理イベントに対応する調理イベントを示す情報が所定の期間内に入力された場合、次に行われる調理イベントの候補を示す情報を報知処理部90に出力しない。なお、HHMM推定部80が行う処理については、後述する。
記憶部85には、調理イベントを示す情報がHHMM推定部80によって時系列的に記憶される。なお、記憶部85に記憶される情報は、例えば環境理解装置1の電源がオン状態にされたときに初期化されるようにしてもよい。
報知処理部90は、HHMM推定部80によって抽出された次に行われる調理イベントを周知の手法で文章化する。次に、報知処理部90は、文章化した次に行われる調理イベントを、周知の音声合成技術を用いて音声信号に変換する。次に、報知処理部90は、変換した音声信号を、出力部95を介して出力する。
出力部95は、報知処理部90から入力された音声信号を発する。出力部95は、例えばスピーカーである。
次に、環境理解装置1の処理手順について説明する。
図12は、本実施形態に係る環境理解装置1の処理手順のフローチャートである。
(ステップS1)レシピモデル構築部40は、予めレシピのフローグラフ化処理を行う。なお、レシピのフローグラフ化処理については後述する。
(ステップS2)レシピモデル構築部40は、予めフローグラフをHMMMに変換することで、調理イベントHHMMを生成する。レシピモデル構築部40は、複数の調理について、調理毎に調理イベントHHMMを生成する。このように生成された複数の調理イベントHHMMの集合をHHMMという。なお、調理イベントHHMMの生成処理については後述する。
(ステップS3)音響モデル構築部20は、予め音響モデルであるGMMを生成する。なお、GMMの生成処理については後述する。
(ステップS4)環境理解装置1は、予め生成されたGMMおよびHHMM、そして収録された音響信号に基づいて、レシピに関して推定する。なお、レシピに関する推定とは、作業や調理イベントの推定である。作業の推定とは、利用者が行っている調理の調理名の推定である。また、作業イベントの推定とは、利用者が行っている調理における調理工程または調理イベントの推定である。レシピに関する推定処理については、後述する。
次に、レシピのフローグラフ化処理について説明する。
図13は、本実施形態に係るレシピのフローグラフ化処理手順のフローチャートである。
(ステップS11)言語処理部41は、レシピデータベース30に格納されているレシピ情報を調理毎に取得する。
(ステップS12)言語処理部41は、取得したレシピ情報に対して、調理毎かつ作業手順毎に形態素解析および係り受け解析を周知の手法によって行う。次に、単語1つからなるノード、その係り受け関係が枝(エッジ)となる不図示の初期グラフを作成する。
(ステップS13)言語処理部41は、レシピ情報に含まれるリスト(図3参照)に含まれる名詞と動詞が含まれるノードのみを残し、それ以外のノードを初期グラフから除去する。
(ステップS14)言語処理部41は、ステップS13で除去したノードの親から子へ新たに枝を追加する。
(ステップS15)言語処理部41は、動詞を持つノードに、その先祖ノードの持つ名詞を全て自分のノードの集合に加える。
(ステップS16)言語処理部41は、新たに加える名詞が無いか否かを判別する。言語処理部41は、新たに加える名詞が無いと判別した場合(ステップS16;YES)、処理を終了し、新たに加える名詞が有ると判別した場合(ステップS16;NO)、ステップS15の処理を新たに加える名詞が無くなるまで、全ての動詞を持つノードに関して繰り返し行う。
図13に示したステップS11〜S15の手順により、図3および図4のレシピ情報をフローグラフ化すると、図5のようなフローグラフが得られる。
次に、調理工程HMMおよび調理イベントHHMMの生成処理について説明する。
図14は、本実施形態に係る調理工程HMMおよび調理イベントHHMMの生成処理手順のフローチャートである。
(ステップS101)確率モデル化部42は、言語処理部によって生成されたフローグラフの各ノードをHMMの各ノードに対応させる。
(ステップS102)確率モデル化部42は、枝をHMMの状態遷移に対応させる。
(ステップS103)確率モデル化部42は、各ノードに留まることを表す自己遷移を加える。
(ステップS104)確率モデル化部42は、フローグラフの各作業手順に遷移するために、endノードから次の手順の親ノードのないノードへの遷移を追加する。
(ステップS105)確率モデル化部42は、ステップS104までで作成した木(Tree)に合流ノードが存在するか否かを判別する。確率モデル化部42は、作成した木に合流ノードが存在すると判別した場合(ステップS105;YES)、ステップS106に進み、作成した木に合流ノードが存在していないと判別した場合(ステップS105;NO)、ステップS107に進む。
(ステップS106)確率モデル化部42では、合流ノードが存在する場合、合流ノードの親ノードに対応するノードを行う順番を任意であるとする。確率モデル化部42は、合流ノードについて、全てのノードの遷移の組み合わせに展開して、フローグラフを調理工程HMMに変換する。ただし、確率モデル化部42は、前述したように枝に共起確率に基づく重み付け、または頻出パターンを1つの新たなノードとみなして、展開を行う。
(ステップS107)階層化部43は、調理工程HMMの1つの調理工程を、全てのノードの組み合わせについての状態遷移に分割し、ステップS106と同様に合流ノードに対して全てのノードの組み合わせの状態遷移を追加する。これにより、階層化部43は、調理工程HMMを、調理イベントHHMMに変換する。
以上で、調理工程HMMおよび調理イベントHHMMの生成処理を終了する。
なお、フローグラフ化処理、調理工程HMMの生成処理、および調理イベントHHMMの生成処理は、レシピモデル構築部40が予め行っておく。そして、レシピモデル構築部40は、複数の調理について、調理毎に、フローグラフ化処理、調理工程HMMの生成処理、および調理イベントHHMMの生成処理を行う。この結果、HHMM推定部80に出力されるHHMMは、複数の調理イベントHHMMを含むモデルである。
次に、GMMの生成処理について説明する。
図15は、本実施形態に係るGMMの生成処理手順のフローチャートである。
(ステップS201)区間検出部21は、調理音データベース10から音響信号を取得する。
(ステップS202)区間検出部21は、調理音データベース10に格納されている音響信号毎に調理区間を検出する。
(ステップS203)特徴量抽出部22は、ステップS202で検出された調理区間毎の音響信号について、フレーム毎にMFCC特徴量を算出する。
(ステップS204)学習部23は、ステップS203で算出されたMFCC特徴量を用いて学習して音響モデルであるGMMを生成する。
以上で、GMMの生成処理を終了する。
次に、レシピに関する推定処理について説明する。
図16は、本実施形態に係るレシピに関する推定処理手順のフローチャートである。
(ステップS301)音響信号取得部60は、収音部50によって収録された音響信号を取得する。
(ステップS302)区間検出部65は、ステップS301で取得された音響信号毎に、調理区間と、調理区間の音響信号を検出する。
(ステップS303)特徴量抽出部70は、ステップS302で検出された調理区間毎の音響信号について、フレーム毎にMFCC特徴量を算出する。特徴量抽出部70は、フレーム毎のMFCC特徴量をGMM推定部75に出力する。
(ステップS304)GMM推定部75は、ステップS303で算出されたMFCC特徴量に対して最も尤度の高いGMMに対応する調理イベントを抽出する。なお、音響モデル構築部20は、生成したGMMをGMM推定部75に出力しなくてもよい。この場合、GMM推定部75は、音響モデル構築部20に記憶されるGMMを参照して、MFCC特徴量に対して最も尤度の高いGMMに対応する調理イベントを抽出するようにしてもよい。
(ステップS305)HHMM推定部80は、ステップS304で推定された調理イベントを示す情報を時系列的に記憶部85に記憶させる。
(ステップS306)HHMM推定部80は、記憶部85に調理イベントを示す情報を所定の個数以上記憶させたか否かを判別する。HHMM推定部80は、調理イベントを示す情報を所定の個数以上記憶させたと判別した場合(ステップS306;YES)、ステップS307に進み、調理イベントを示す情報を所定の個数以上記憶させていないと判別した場合(ステップS306;NO)、ステップS301に戻る。
(ステップS307)HHMM推定部80は、調理に対応する調理イベントHHMMが抽出済みか否かを判別する。HHMM推定部80は、調理に対応する調理イベントHHMMが抽出済みであると判別した場合(ステップS307;YES)、ステップS309に進み、調理に対応する調理イベントHHMMが抽出済みではないと判別した場合(ステップS307;NO)、ステップS308に進む。
(ステップS308)HHMM推定部80は、HHMMを参照し、記憶部85に記憶させた複数の調理イベントを含む調理イベントHHMMを抽出する。
(ステップS309)HHMM推定部80は、ステップS308で推定された調理イベントHHMMを参照して、現在の調理イベントの次に行われる調理イベントを推定する。
(ステップS310)HHMM推定部80は、次の調理イベントの候補である音響データを取得済みであるか否かを判別する。HHMM推定部80は、次の調理イベントの候補である音響データを取得済みであると判別した場合(ステップS310;YES)、ステップS311に進み、次の調理イベントの候補である音響データを取得済みではないと判別した場合(ステップS310;NO)、ステップS301に戻る。
(ステップS311)HHMM推定部80は、次に行われる調理イベントの候補が所定の時間内に検出されたか否か判別する。HHMM推定部80は、次に行われる調理イベントの候補が所定の時間内に検出されたと判別した場合(ステップS311;YES)、ステップS313に進み、次に行われる調理イベントの候補が所定の時間内に検出されていないと判別した場合(ステップS311;NO)、ステップS312に進む。
(ステップS312)報知処理部90は、次に行われる調理イベントを、周知の手法で文章化する。次に、報知処理部90は、文章化した次に行われる調理イベントを、周知の音声合成技術を用いて、音声信号に変換する。次に、報知処理部90は、変換した音声信号を、出力部95を介して出力する。報知処理部90は、処理終了後、処理をステップS301に戻す。
(ステップS313)HHMM推定部80は、調理イベントHHMMに含まれる全ての調理イベントが終了したか否かを判別することで、調理が終了したか否かを判別する。HHMM推定部80は、調理が終了したと判別した場合(ステップS313;YES)、処理を終了し、調理が終了していないと判別した場合(ステップS313;NO)、ステップS301に戻る。
以上で、レシピに関する推定処理を終了する。
ここで、レシピに関する推定処理の一例を、図11を参照しながら説明する。
以下の例では、最初に利用者がキャベツを切ったとする。
区間検出部65は、音響信号取得部60が取得した音響信号からキャベツが切られている調理区間と、その調理区間の音響信号を検出する。
次に、GMM推定部75は、特徴量抽出部70によって算出されたMFCC特徴量を、上述したような各状態に分離する。そして、GMM推定部75は、分離した各状態の遷移状態が、GMMの中で最も尤度の高いGMMに対応する音響信号に対応する調理イベントが、キャベツが切られているときの音響信号であると推定する。次に、GMM推定部75は、推定した音響信号に対応する「キャベツ:切る」を、算出されたMFCC特徴量に最も近い調理イベントであると推定する。
次に、HHMM推定部80は、GMM推定部75によって推定された調理イベント「キャベツ:切る」を記憶部85に記憶させる。
次に、利用者が玉葱を切ったとする。環境理解装置1は、上述した処理を繰り返し、HHMM推定部80は、GMM推定部75によって推定された調理イベント「玉葱:切る」を「キャベツ:切る」の次に記憶部85に記憶させる。
次に、利用者が人参を切ったとする。環境理解装置1は、上述した処理を繰り返し、HHMM推定部80は、GMM推定部75によって推定された調理イベント「人参:切る」を「玉葱:切る」の次に記憶部85に記憶させる。
例えば、図16のステップS306における所定の個数が3個の場合、HHMM推定部80は、記憶部85に記憶されている3個の調理イベントを示す情報を用いて、この3個の調理イベントが時系列的に連続する調理イベントHHMMをレシピモデル構築部40によって生成されたHHMMを探索する。この結果、HHMM推定部80は、「野菜炒め」の調理イベントHHMMを抽出する。なお、所定の個数は、予め定められた数であってもよく、レシピデータベース30に記憶されるレシピの総数やレシピの種類等に応じた数であってもよい。
次に、HHMM推定部80は、ノード1の調理イベントの次に行われる調理イベントとして、ノード2の「(N)油、(V)熱する」を推定する。
次に、HHMM推定部80は、次の調理イベントの候補の音響データが音響信号取得部60によって所定の時間内に取得されたか否かを判別する。
所定の時間内に、例えば音響データが何も取得できない場合、報知処理部90は、次に行われる調理イベントの候補に対応するノード2の「(N)油、(V)熱する」を音声信号「油を熱してください」に変換する。次に、報知処理部90は、変換した音声信号を、出力部95を介して出力する。これにより、本実施形態の環境理解装置1によれば、所定の時間内に次の作業が行われていない場合、調理しようとしている調理名等を利用者が入力しなくても、利用者へ次の手順を音声によって案内することができる。
また、所定の時間内に、例えば次の調理イベントの候補以外である「塩こしょう;入れる」に対応する音響データが取得できた場合、環境理解装置1は、利用者が作業手順を忘れていると判別する。この場合も、本来、次に行われる調理イベントの候補に対応するノード2の「(N)油、(V)熱する」に対応する音声信号「油を熱してください」を、報知処理部90が出力部95を介して出力する。これにより、本実施形態の環境理解装置1によれば、利用者が作業手順を忘れたり間違えたりした場合、利用者へ次の手順を音声によってガイドすることができる。
次に、ステップS306(図16)処理後、該当する調理イベントHHMMが複数ある場合について説明する。
上述した例と同様に、最初に利用者によってキャベツが切られ、次に玉葱が切られ、続けて人参が切られたとする。
このように、調理イベントの「(N)キャベツ、(V)切る」、「(N)玉葱、(V)切る」、および「(N)人参、(V)切る」の連続する3つの調理イベントを含む調理イベントHHMMが、HHMMに例えば10件あったとする。この場合、調理イベントの「(N)人参、(V)切る」に行われる次の調理イベントの候補が、例えば調理イベントHHMM毎に3個ずつあったとすると、次の調理イベントの候補の単純総数は30個にもなる。30個の中には、重複している調理イベントがあったとしても、次の調理イベントの候補の総数は多数である。このような状況において、ステップS312で次の調理イベントの全ての候補を報知すると、かえって利用者を混乱させかねない。
このため、環境理解装置1は、次の調理イベントの候補の総数が所定の数より多い場合、利用者によって作業がさらに進められ、次の調理イベントの候補の総数が所定の数以下になるまで、次の調理イベントの候補の報知を行わないようにしてもよい。
さらに、環境理解装置1が利用者によって調理イベントがさらに行われても調理イベントHHMMを絞り込めず、次の調理イベントの候補の総数が、所定の数以下にならない場合について説明する。この場合、環境理解装置1は、報知処理部90によって、候補になっている調理名、例えば「調理するのは、野菜炒めですか 焼きそばですか お好み焼きですか」に対応する音声信号を、出力部95を介して報知することで、利用者への問いかけを行うようにしてもよい。そして、環境理解装置1は、利用者からの問いかけに対する回答に基づいて、調理される候補を絞り込むようにしてもよい。このように、本実施形態では、利用者によって作業が進んでも調理イベントHHMMを絞り込めず、次の調理イベントの候補の総数が所定の数以下にならない場合に、利用者へ問いかけを行い、この問いかけに対する回答に基づいて、調理イベントHHMMの候補を絞り込むことができる。これにより、本実施形態によれば、利用者が調理に関する情報を入力することなく、利用者と環境理解装置1とのコミュニケーションにより、次の調理イベントの候補を絞り込み、絞り込んだ結果の次の調理イベントの候補を案内に用いることで、利用者の調理を支援することができる。
図17は、本実施形態に係る環境理解装置1と利用者とのコミュニケーションの一例を説明する図である。
図17において、符号g101が示す領域の図は、手順間違いの検出を説明する図である。符号g101が示す領域の図のように、環境理解装置1は、利用者huが手順を間違えたことを検出し、正しい手順の作業内容g111を利用者huに提示する。これにより、本実施形態によれば、利用者huによる手順間違いを検出して報知することができるので、手順間違いを防ぐことを支援できる。
また、符号g102が示す領域の図のように、環境理解装置1は、利用者huから手順の問い合わせg121があった場合、調理イベントHHMMに従って、次に利用者huが行うべき手順g122を利用者huに提示する。これにより、本実施形態によれば、利用者huが手順を忘れた場合であっても、利用者huがレシピを調べたり料理のガイドブックを調べたりしなくても、環境理解装置1が次の作業手順を報知することができる。この結果、本実施形態によれば、利用者huの手順忘れに対して支援することができる。
次に、環境理解装置1を用いて行った実験結果の一例を説明する。
図18は、本実施形態に係る環境理解装置1のノイズに対する正答率を説明する図である。図18において、横軸はノイズレート、縦軸は認識率である。実験では、レシピモデル構築部40によって生成された調理イベントHHMMの各調理イベントに対して、確率rのノイズレートでランダムにイベントを置換するノイズを加えた。そして、このノイズレートを変化させたときの、調理イベントに対して推定した結果の正答率を実験により求めた。
実験では、10個の調理イベントHHMMそれぞれから10個ずつ、計100個の調理イベント列データを生成し、正答率を計算した。そして、この実験を1セットとして、10セットの認識実験を行った結果が、図18に示す実験結果である。
図18において符号g201が示すノイズレートに対する正答率の図は、本実施形態のレシピモデル構築部40によって生成された調理イベントHHMMを用いた場合の実験結果である。また、符号g202が示すノイズレートに対する正答率の図は、階層化されていないHMMを用いた場合の実験結果である。
図18のように、ノイズレートが0.3以上のとき、階層化されていないHMMに対して、本実施形態の方が、認識率が0.02〜0.06高い。
この実験で加えたノイズは、調理イベントの誤認識と対応する。このため、ノイズレートが0.3以上の意味合いは、ノイズを加えていない場合に調理イベントを正しく認識する割合が0.7より小さい状況であることを意味している。
なお、正答率は、調理イベントHHMMを生成するために用いるレシピデータの影響を受けることが実験により分かっている。このため、料理に関する情報として、料理解説本などのテキストデータなど、作業手順や作業内容が明確な情報を用いた場合、さらに正答率が高くなることが考えられる。
以上のように、本実施形態の(例えば環境理解装置1)は、作業に関する複数の作業工程を含む情報を解析してフローグラフ(例えば図5参照)を生成する言語処理部(例えば言語処理部41)と、生成されたフローグラフに含まれる複数の作業工程を、所定の基準に従って、時系列的に並べた工程モデル(例えばHMM、HHMM)に変換するモデル化部(例えば確率モデル化部42、階層化部43)と、音響信号を収録する収音部(例えば収音部50)と、作業工程毎に対応する音響信号に基づいて作成された音響モデル(例えばGMM)と、収録された音響信号から音響特徴量を抽出する特徴量抽出部(例えば特徴量抽出部22)と、音響特徴量と音響モデルとに基づいて現在の作業工程である現作業工程を推測し、推測した現作業工程と、過去に推定した作業工程と、工程モデルとに基づいて、作業を推定する推定部(例えばGMM推定部75、HHMM推定部80)と、を備える。
この構成によって、本実施形態の環境理解装置1は、利用者が調理名や作業手順を入力することなく、フローグラフを所定の基準に従って調理イベントHHMMに変換して、さらに予め収録した音響信号を作業手順または調理イベントそれぞれに関連付けた音響モデルを生成するようにした。本実施形態によれば、収録された音響信号と、音響モデルとに基づいて現在の調理イベントを推定することができる。そして、本実施形態によれば、現在の調理イベントと、過去の調理イベントと、HHMMに基づいて、環境理解装置が調理イベントHHMMを推定することで現在行われている調理を推定することができる。さらに、本実施形態によれば、フローグラフに含まれる複数の調理イベントを、所定の基準に従って、時系列的に並べた調理イベントHHMMに変換してモデルを生成したので、調理イベントの順序が入れ替わっても支障がない作業であっても、利用者が調理名や作業手順を入力することなく、環境理解装置が現在行われている調理を推定することができる。
また、本実施形態によれば、フローグラフの作業工程における1つの状態から他の状態への遷移に対して共起確率による制約を加えたので、フローグラフを実際に行われる可能性が高い調理イベントHHMMに変換することができる。また、本実施形態によれば、フローグラフの作業工程における1つの状態から他の状態への遷移が他の作業にも含まれている場合に、この複数の作業工程を1つの作業工程であるとみなす制約を加えたので、フローグラフを実際に行われる可能性が高い調理イベントHHMMに変換することができる。この結果、本実施形態によれば、変換された工程モデルを用いて、環境理解装置が現在行われている調理を精度良く推定することができる。
また、本実施形態によれば、変換された調理工程HMMをさらに階層化することができるので、さらに階層化された調理イベントHHMMを用いて、環境理解装置が利用者によって現在行われている作業工程や作業を、実験結果に示したようにHMMのみの階層化されていないモデルを用いた場合よりさらに精度良く推定することができる。
また、本実施形態によれば、作業の候補を所定の値以内に絞れない場合、推定される調理名の候補を利用者へ報知を行い、この報知に対する利用者の応答を得るようにした。これにより、本実施形態によれば、利用者が行うとしている調理名を作業途中で絞ることができる。
また、本実施形態によれば、推定した作業と、収録した音響信号とを用いて、次に行われる調理イベントを推定することができる。これにより、本実施形態によれば、利用者が作業手順を間違えたときや、調理イベントを抜かして誤った調理イベントに進んだときなどに、正しい調理イベントを利用者へ報知することができるので、利用者の調理を支援することができる。
なお、本実施形態において、区間検出部21および区間検出部65は、ゼロクロスと振幅によって区間検出を行う例を説明したが、他の周知の手法を用いてもよい。
また、特徴量抽出部22および特徴量抽出部70は、音響特徴量としてMFCC特徴量を抽出する例を説明したが、抽出する特徴量は他の周知の音響特徴量であってもよい。
また、本実施形態では、利用者に対する報知を音声信号で行う例を説明したが、これに限られない。環境理解装置1では、報知処理部90が画像処理を行い、出力部が表示装置であってもよい。この場合、ステップS312(図16)において、報知処理部90は、次に行われる調理イベントを周知の手法で文章化し、文章化した次に行われる調理イベントを、周知の技術を用いてテキストデータに変換するようにしてもよい。次に、報知処理部90は、変換したテキストデータを出力部95に表示させるようにしてもよい。また、報知は、音声および画像のうち少なくとも一方であればよい。
また、出力部95がタッチパネルを備える表示装置である場合、利用者によって作業が進んでも調理名を絞り込めず、次の調理イベントの候補の総数が所定の個数以下にならないときに、環境理解装置1は、候補になっている調理名に対応するテキストデータを、出力部95を介して報知することで利用者への問いかけを行うようにしてもよい。そして、利用者は、候補の中から調理している料理名をタッチパネル上で選択することで、返答するようにしてもよい。
<第2実施形態>
第1実施形態では、収音部50によって収録された音響信号を用いて、現在行われている作業である調理名や作業手順を推定する例を説明したが、本実施形態では、撮像された画像も用いる例を説明する。
図19は、本実施形態に係る環境理解装置1Aのブロック図である。なお、本実施形態でも、環境理解装置1Aの一例として、調理ナビゲーション装置について説明する。
図19に示すように、環境理解装置1Aは、調理音データベース10、音響モデル構築部20、レシピデータベース30、レシピモデル構築部40、収音部50、音響信号取得部60、区間検出部65、特徴量抽出部70、GMM推定部75(推定部)、HHMM推定部80A(推定部)、記憶部85、報知処理部90、出力部95、撮像部100、画像取得部110、画像データベース120、および画像処理部130を含んで構成される。なお、第1実施形態で説明した環境理解装置1と同じ機能を有する機能部については、同じ符号を用いて説明を省略する。
撮像部100は、所定の間隔毎に画像を撮像し、撮像した画像情報を画像取得部110に出力する。撮像部100は、例えばCCD(電荷結合素子;Charge Coupled Device)センサによるカメラ、CMOS(相補型MOS;Complementary Metal Oxide Semiconductor)センサによるカメラである。なお、撮像部100は、2台のカメラ101−1と101−2とによるステレオカメラであってもよく、RGB画像に加えて深度画像を得ることができるRGB−Dカメラであってもよい。以下、カメラが2台のときカメラ101−1と101−2とのそれぞれを特定しない場合は、単にカメラ101という。カメラ101は、利用者が調理を行う調理場全体を撮像できる場所に取り付けられている。2台のカメラ101の場合は、カメラ101それぞれが異なる位置に配置されている。撮像部100は、撮像した画像情報を無線で送信してもよいし、有線で送信してもよく、送信の際に画像情報間で画像情報が同期していればよい。
画像取得部110は、撮像部100のカメラ101によって撮像されたアナログ画像情報を所定の時間毎に取得し、取得したアナログ画像情報をデジタル画像情報に変換する。画像取得部110は、変換した画像情報を画像処理部130に出力する。
画像データベース120には、予め各食材の画像情報、および各調理器具の画像情報が格納されている。なお、画像データベース120には、各食材の画像から周知の画像処理技術によって算出した画像特徴、および各調理器具の画像から周知の画像処理技術によって算出した画像特徴が格納されていてもよい。
画像処理部130は、画像取得部110から入力された画像情報と、画像データベース120に格納されている画像情報とに対してパターンマッチング処理を行うことで、画像情報の中から各食材および各調理器具の位置を推定する。画像処理部130は、推定した各食材および各調理器具の位置を示す情報を、HHMM推定部80Aに出力する。なお、食材の位置は、画像に写っている対象物または利用者を基準とした相対的な位置であってもよい。
図20は、本実施形態に係る撮像部100によって撮像された画像情報の一例を説明する図である。図21は、本実施形態に係る材料や調理器具の位置を示す情報の一例を説明する図である。
図20に示すように、撮像された画像には、調理に用いる材料(含む調味料)および調理器具が撮像されている。材料として、例えば、塩こしょう、キャベツ、トマト、黄色のピーマン、オレンジが画像に写っている。また、調理器具として、片手鍋、ココット、ボール、コンロ等が画像に写っている。
また、図21に示すように、材料や調理器具の位置を示す情報は、材料名または調理器具名と、その対象物の他を基準とした相対的な関係である。
なお、図21に示した例は一例であり、これに限られない。移動しない物体をいくつかランドマークに決めておき、そのランドマークを基準にした位置関係であってもよい。例えば、キャベツとトマトの位置は、「自動皿洗い機の上」等であってもよい。
HHMM推定部80Aは、第1実施形態と同様に、GMM推定部75から入力された調理イベントを示す情報を記憶部85に時系列的に記憶させていく。HHMM推定部80Aは、記憶部85に所定の個数以上の調理イベントを示す情報を記憶させた後、利用者が行っている調理(作業)に該当する調理イベントHHMMを、HHMM(工程モデル)を参照して推定する。そして、HHMM推定部80Aは、利用者が行っている調理に該当する調理イベントHHMMを用いて、次に行われる調理イベントを推定する。そして、HHMM推定部80Aは、推定した次に行われる調理イベントに対応する調理イベントを示す情報がGMM推定部75から所定の期間内に入力されたか否かを判別する。
HHMM推定部80Aは、次に行われる調理イベントに対応する調理イベントを示す情報がGMM推定部75から所定の期間内に入力されない場合、次の調理イベントの候補を示す情報に含まれる材料や調理器具の位置を、画像処理部130から入力された材料または調理器具の位置を示す情報から抽出する。そして、HHMM推定部80Aは、次に行われる調理イベントの候補を示す情報と、その情報に含まれる材料または調理器具の位置を示す情報とを報知処理部90に出力する。
なお、HHMM推定部80Aは、抽出した調理イベントに対応する調理イベントを示す情報がGMM推定部75から所定の期間内に入力された場合、報知処理部90に次に行われる調理イベントの候補を示す情報と、その情報に含まれる材料または調理器具の位置を示す情報とを報知処理部90に出力しない。
図22は、本実施形態に係る環境理解装置と利用者とのコミュニケーションの一例を説明する図である。
図22において、符号g103が示す領域の図は、手順の予測および推薦を説明する図である。HHMM推定部80Aは、収録された音響信号から推定された現在の調理イベントと調理イベントHHMMとに基づいて、次に行われる調理イベントを予測する。そして、HHMM推定部80Aは、予測した調理イベントに含まれる材料や調理器具を抽出する。そして、環境理解装置1Aは、符号g131が示す領域の図のように、予測した次の手順で用いる材料および調理器具の位置を示す情報を、利用者huに提示する。これにより、本実施形態によれば、利用者huに次の手順で用いると予測される材料や調理器具の位置を提示することができるので、利用者huの調理を支援することができる。
次に、本実施形態のレシピに関する推定処理について説明する。なお、GMMおよびHHMMの構築の仕方は、第1実施形態と同じである。
図23は、本実施形態に係るレシピに関する推定処理手順のフローチャートである。なお、図16で説明した処理内容と同じ処理については、同じ符号を用いる。
(ステップS401)画像取得部110は、撮像部100によって撮像されたアナログ画像情報を所定の時間毎に取得し、取得したアナログ画像情報をデジタル画像情報に変換する。
(ステップS402)画像処理部130は、ステップS401で変換された画像情報と、画像データベース120に格納されている画像情報とのパターンマッチング処理を行って、画像情報の中から各食材および各調理器具の位置を推定する。画像処理部130は、推定後、処理をステップS301に進める。
(ステップS301〜S309)環境理解装置1Aは、ステップS301〜S309を図16と同様に行う。環境理解装置1Aは、ステップS309終了後、処理をステップS310Aに進める。
(ステップS310A)HHMM推定部80Aは、次の調理イベントの候補である音響データを取得済みであるか否かを判別する。HHMM推定部80Aは、次の調理イベントの候補である音響データを取得済みであると判別した場合(ステップS310A;YES)、ステップS311Aに進み、次の調理イベントの候補である音響データを取得済みではないと判別した場合(ステップS310A;NO)、ステップS401に戻る。
(ステップS311A)HHMM推定部80Aは、次に行われる調理イベントの候補である調理イベントが所定の時間内に検出されたか否か判別する。HHMM推定部80Aは、次に行われる調理イベントの候補である調理イベントが所定の時間内に検出されたと判別した場合(ステップS311A;YES)、ステップS313に進み、次に行われる調理イベントの候補である調理イベントが所定の時間内に検出されていないと判別した場合(ステップS311A;NO)、ステップS403に進む。
(ステップS403)HHMM推定部80Aは、次に行われる調理イベントの候補である調理イベントに含まれる材料(含む調味料)および調理器具の位置を、画像処理部130から入力された各食材および各調理器具の位置を示す情報から抽出することで推定する。HHMM推定部80Aは、処理をステップS404に進める。
(ステップS404)報知処理部90は、次に行われる調理イベントで用いられると予測される材料または調理器具の位置を、周知の手法で文章化する。次に、報知処理部90は、文章化した次に行われる調理イベントを、周知の音声合成技術を用いて、音声信号に変換する。次に、報知処理部90は、変換した音声信号を、出力部95を介して出力する。報知処理部90は、処理終了後、処理をステップS401に戻す。
(ステップS313)HHMM推定部80Aは、調理イベントHHMMに含まれる全ての調理イベントが終了したか否かを判別することで、調理が終了したか否かを判別する。HHMM推定部80Aは、調理が終了したと判別した場合(ステップS313;YES)、処理を終了し、調理が終了していないと判別した場合(ステップS313;NO)、ステップS401に戻る。
以上で、レシピに関する推定処理を終了する。
なお、上述した例では、ステップS403において、HHMM推定部80Aが、次に行われる調理イベントの候補である調理イベントに含まれる材料(含む調味料)および調理器具の位置を推定する例を説明したが、これに限られない。第1実施形態と同様に、HHMM推定部80Aは、推定した次に行われる調理イベントを示す情報も報知処理部90に出力するようにしてもよい。そして、報知処理部90は、次に行われる調理イベントで用いられると予測される材料および調理器具の位置に加えて、次に行われる調理イベントを、周知の手法で文章化するようにしてもよい。そして、報知処理部90は、ステップS404において、次に行われる調理イベントで用いられると予測される材料および調理器具の位置を示す情報と、次に行われる調理イベントを示す情報とを変換した音声信号を、出力部95を介して出力するようにしてもよい。
なお、図23に示す例では、調理イベントを示す情報を所定の個数以上記憶させていないと判別した場合(ステップS306;NO)、次の調理イベントの候補である音響データを取得済みではないと判別した場合(ステップS310A;NO)、調理が終了していないと判別した場合(ステップS313;NO)、およびステップS404終了後、処理をステップS401に戻す例を説明したが、これに限られない。例えば、キッチンに利用者が立つ前に、撮像部100は画像を撮像するようにして、以後、このとき撮像された画像を用いるようにしてもよい。この場合、(ステップS306;NO)、(ステップS310A;NO)、(ステップS313;NO)、およびステップS404終了後、処理をステップS301に戻すようにしてもよい。これにより、利用者によって、材料や調理器具が撮像時に隠れてしまうことを防ぐことができる。
以上のように、本実施形態の(例えば環境理解装置1A)は、画像を撮像する撮像部(例えば撮像部100)と、撮像部によって撮像された画像から、作業工程で用いられる対象物の位置を推定する画像処理部(例えば画像処理部130)と、を備え、推定部(例えばGMM推定部75、HHMM推定部80A)は、画像処理部によって推定された対象物の位置を示す情報に基づいて、次の作業工程である次作業工程で用いる対象物の位置を示す情報を報知する。
この構成によって、本実施形態の環境理解装置1Aは、第1実施形態における環境理解装置1の効果に加えて、撮像された画像に基づいて、次に行われる作業工程で用いられる対象物の位置を推定することができる。ここで対象物とは、作業工程で用いられる材料、器具等である。これにより、本実施形態によれば、利用者が、次の作業工程で用いる対象物を見つけられずに次の作業工程を実行できないとき、次の作業工程で用いる対象物の位置を報知することができるので利用者の作業を支援することができる。
また、撮像部100のカメラ101を、キッチン全体を撮像できる位置に取り付けておく例を説明したが、これに限られない。複数のカメラ101を、キッチン全体を撮像できる位置、材料を置いておく位置(例えば、自動皿洗い機の上側)を撮像できる位置、コンロを撮像できる位置等に取り付けておいてもよい。この場合、画像処理部130は、カメラ101が取り付けられている位置に基づいて、材料や調理器具の位置を推定するようにしてもよい。これにより、利用者によって、材料や調理器具の画像が撮像時に利用者によって隠れてしまうことを防ぐことができる。
また、本実施形態においても、作業手順が数工程進んだ後も作業(調理名)の候補が複数有り、次の調理イベントの候補が多数有り、次の調理イベントで使われる材料や調理器具の候補が所定の数より大きい場合、環境理解装置1Aは、調理途中に利用者に対して調理名の候補を提示し、利用者からの回答にとって調理名を絞り込むようにしてもよい。
なお、本実施形態では、GMM推定部75が、音響特徴量のみによって調理イベントを推定する例を説明したが、これに限られない。例えば、画像処理部130は、撮像された画像から各調理イベントで用いられる材料および調理器具の画像を抽出して、抽出した画像をGMM推定部75に出力してもよい。GMM推定部75は、画像処理部130から入力された画像も用いて、調理イベントを推定するようにしてもよい。
第1実施形態および第2実施形態によれば、作業を行う順番が入れ替わっても作業に支障がない調理イベントを含んでいても、上述したように共立確率等の制約を行って、これらの調理イベントの全ての組み合わせの調理工程HMMおよび調理イベントHHMMを生成するようにした。この結果、第1実施形態および第2実施形態によれば、利用者が作業手順をレシピ情報通りに行わなかった場合であっても、利用者が行っている調理を推定することができる。
また、第1実施形態および第2実施形態で説明した環境理解装置(1または1A)は、一般家庭のキッチンに限らず、ファーストフード店の調理場、ファミリーレストランの調理場、居酒屋の調理場等で使用するようにしてもよい。ファーストフード店の調理場、ファミリーレストランの調理場、居酒屋の調理場等の場合、使用されるレシピ情報は、店舗または企業毎に決まっているため、そのレシピ情報をレシピデータベース30に格納するようにしてもよい。
また、第1実施形態および第2実施形態では、調理音データベース10および音響モデル構築部20を備える例を説明したが、音響モデルを他の音響モデル生成装置で生成し、生成された音響モデルをGMM推定部75や記憶部85に記憶させておくようにしてもよい。記憶部85に音響モデルが記憶されている場合、GMM推定部75は、収録された音響信号の音響特徴量を、記憶部85に記憶されているGMMを参照して、最も尤度の高いGMMに対応する調理イベントを推定するようにしてもよい。
<第3実施形態>
第1実施形態および第2実施形態では、環境理解装置(1または1A)の例として、調理ナビゲーション装置について説明した。本実施形態では、環境理解装置の例として、製品を組み立てる現場における工程ナビゲーション装置について説明する。
図24は、本実施形態に係る環境理解装置1Bのブロック図である。
図24に示すように、環境理解装置1Bは、作業音データベース10B、音響モデル構築部20、工程データベース30B、工程モデル構築部40B、収音部50、音響信号取得部60、区間検出部65、特徴量抽出部70、GMM推定部75、HHMM推定部80、記憶部85、報知処理部90、および出力部95を含んで構成される。なお、第1実施形態で説明した環境理解装置1と同じ機能を有する機能部については、同じ符号を用いて説明を省略する。
作業音データベース10Bには、予め収録された作業行程毎に収録した音響信号と、部品名または作業工具名と、作業内容とが関連付けられて格納されている。部品とは、例えば、ネジ、ハーネス、プラグ、コネクタ、基板、ユニット等である。また作業工具とは、例えば、電動ドライバ、半田ごて、圧着器等である。作業内容とは、例えば、差し込む、接続する、固定する、取り付ける等である。なお、音響信号の特徴量を検出して比較するため、音響信号の収録には、後述する収音部50または収音部50と同等のものを用いることが好ましい。
図25は、本実施形態に係る作業音データベース10Bに格納されている情報の一例を説明する図である。図25に示すように、作業音データベース10Bには、部品名または作業工具名と、作業内容と、作業に関する音響信号とが関連付けられて格納されている。例えば、部品名である「ハーネス」と、作業内容である「差し込む」と、音響信号である「音響信号11」とが関連付けられている。また、本実施形態では、部品名または作業工具名の名詞と、作業内容の動詞との組み合わせを作業イベントと定義する。例えば、「(N)ハーネス、(V)差し込む」が、1つの作業イベントである。
図24に戻って、環境理解装置1Bの説明を続ける。
工程データベース30Bには、予め製品の組み立てに関する作業情報が製品毎に格納されている。作業情報には、作業名、部品名、作業工具名、作業内容等を示す情報が含まれている。環境理解装置1Bは、例えばネットワークを介して複数の製品や部品やユニットの組み立てに関する作業情報を取得して、取得した作業情報を工程データベース30Bに格納するようにしてもよい。
図26は、工程データベース30Bに格納されている作業名とリストの一例を説明する図である。また、図27は、工程データベース30Bに格納されている制御ユニットの取り付けの作業手順を説明する図である。
図26に示すように、作業名とリストとが関連付けられて格納されている。図26に示す例は、作業名が「制御ユニットの取り付け」であり、その作業に必要な部品がリストに格納されている。
また、図27に示すように、作業手順と作業項目とが、製品毎に関連付けられて格納されている。例えば、作業手順1の作業項目は、「制御ユニットを、ダッシュボード裏の所定の位置(図参照)に置く。」である。
工程モデル構築部40Bは、工程データベース30Bに格納されている情報を、製品毎に読み出し、読み出した製品毎の作業情報を作業イベントHHMM(工程モデル)に変換する。
工程モデル構築部40Bは、言語処理部41、確率モデル化部42、および階層化部43を含んで構成される。
図28は、作業情報から生成したフローグラフの一例を説明する図である。図28において、(N)は名詞を表し、(V)は動詞を表す。またendノードは、作業項目の終端を表すノードである。
作業手順1のノード「(N)制御ユニット、(V)置く」は、「制御ユニットを、ダッシュボード裏の所定の位置(図参照)に置く。」という作業項目を表している。なお、各ノードで検出する名詞は、第1実施形態と同様に図26に示したリストに記載されている名詞である。
作業手順2のノード「(N)ハーネスA、(N)ハーネスB、(N)ハーネスC、(V)差し込む」は、「ハーネスA、ハーネスB、およびハーネスCを、制御ユニットに差し込む。」という作業項目を表している。また、作業手順2では、3つの親ノード「(N)ハーネスA、(V)差し込む」と「(N)ハーネスB、(V)差し込む」と「(N)ハーネスC、(V)差し込む」とが存在している。この3つの親ノードは、係り受け解析のみからでは、順序を決定できないものであり、親ノードのどちらの作業イベントを先に行っても良いが、必ず全ての行う工程であり、合流ノードである。
作業手順3のノード「(N)ネジA、(N)ネジC、(V)固定する」は、「ネジAを、制御ユニットのねじ穴Aに固定し、ネジCを、制御ユニットのねじ穴Cに固定する。」という作業項目を表している。作業手順4のノード「(N)ネジB、(N)ネジD、(V)固定する」は、「ネジBを、制御ユニットのねじ穴Bに固定し、ネジDを、制御ユニットのねじ穴Dに固定する。」という作業項目を表している。
図29は、図28に示したフローグラフを作業工程HMMおよび作業イベントHHMMに変換した一例を説明する図である。符号g21で示した領域の図は、図28に示したフローグラフを作業工程HMM(工程モデル)に変換した図である。符号g22で示す領域の図は、図28で示した作業手順3を、さらに階層化してHMMを構築した図である。符号g23で示す領域の図は、図28で示した作業手順4を、さらに階層化してHMMを構築した図である。図29の符号g21で示した領域の図において、図28で示した作業手順1は、ノード1に対応し、図28で示した作業手順2は、ノード2−1−1〜2−1−3、2−2−1〜2−2−3、2−3−1〜2−3−3、およびノード2に対応する。また、図28で示した作業手順3は、図29においてノード3に対応する。図28で示した作業手順4は、図29においてノード4に対応する。
符号g22で示した領域の図のように、ノード3は、階層化部43によって、さらに作業イベントの階層的なHMMに変換される。すなわち、ノード3は、ノード3−1−1からノード3−1−2に遷移するルートと、ノード3−2−1からノード3−2−2に遷移するルートとが合流するHMMに変換される。
符号g23で示した領域の図のように、ノード4は、階層化部43によって、さらに作業イベントの階層的なHMMに変換される。すなわち、ノード4は、ノード4−1−1からノード4−1−2に遷移するルートと、ノード4−2−1からノード4−2−2に遷移するルートとが合流するHMMに変換される。
次に、環境理解装置1Bの処理手順について説明する。
図30は、本実施形態に係る環境理解装置1Bの処理手順のフローチャートである。
(ステップS401)工程モデル構築部40Bは、予め作業工程のフローグラフ化処理を行う。なお、作業工程のフローグラフ化処理は、図13のステップS11においてレシピデータを工程データに置き換え、第1実施形態のステップS11〜S16の処理と同様に行う。
(ステップS402)工程モデル構築部40Bは、予めフローグラフをHMMMに変換して作業イベントHHMMを生成する。なお、作業イベントHHMMの生成処理は、図14のステップS106およびS107において調理工程HMMを作業工程HMMに置き換え、第1実施形態のステップS101〜S107の処理と同様に行う。
(ステップS403)音響モデル構築部20は、予め音響モデルであるGMMを生成する。なお、GMMの生成処理は、図15のステップS201において調理音データを作業音データに置き換えて、第1実施形態のステップS201〜S204の処理と同様に行う。
(ステップS404)環境理解装置1Bは、予め生成されたGMMおよび作業イベントHHMM、そして収録された音響信号に基づいて、作業に関して推定する。なお、作業に関する推定とは、何の製品を組み立てているかについての推定と、作業工程のどの過程であるかの推定である。作業に関して推定に関する推定処理は、図16のステップS304〜S306とS308〜S312とにおいて調理イベントを作業イベントに置き換え、ステップS307とS308において調理イベントHHMMを作業イベントHHMMに置き換え、第1実施形態のステップS301〜S313の処理と同様に行う。
なお、本実施形態では、第1実施形態で説明した環境理解装置1をベースにした構成例を説明したが、第2実施形態の環境理解装置1Aをベースにした構成であってもよい。すなわち、工程ナビゲーション装置は、第2実施形態と同様に、撮像部100(図19)を備え、撮像部100によって撮像された画像も用いて、次の作業イベントで使用される部品や作業工具の位置を推定するようにしてもよい。そして、工程ナビゲーション装置は、推定した次の作業イベントで使用される部品や作業工具の位置を、報知処理部90が出力部95を介して報知するようにしてもよい。
また、本実施形態では、製品の組み立てを行う例を説明したが、これに限られない。組み立てるものは、製品に使われるユニットや部品等であってもよい。
以上のように、第1実施形態で説明した環境理解装置1、および第2実施形態で説明した環境理解装置1Aは、データベースに格納するデータを入れ替えることで、本実施形態で説明した環境理解装置1Bのように、工場などの製造現場で工程ナビゲーション装置として使用することができる。これにより、作業現場において、作業者の作業手順の間違えを検出して、正しい作業手順を提示することができる。また、作業現場において、作業者が作業手順を忘れた場合、環境理解装置1Bに作業手順を問い合わせることで、環境理解装置1Bが作業者へ次に行う作業を提示することができる。また、環境理解装置1Bが第2実施形態と同様に撮像部100を有する構成の場合、次の作業工程で用いる部品や作業工具の位置を作業者へ伝えることができる。これにより、第1実施形態および第2実施形態と同様の効果を得ることができる。
また、本実施形態において、収音部50が2本以上のマイクロホン51を有している場合、環境理解装置1Bは、不図示の音源定位部によって、音源方向を推定するようにしてもよい。例えば、図28に示した作業手順3において、ネジAとネジCとを固定する順番が決まっている場合、環境理解装置1Bは、推定された音源方向に基づいて、ネジAとネジCとが正しい順番で固定されたか否かを判別するようにしてもよい。そして、環境理解装置1Bは、ネジAとネジCとの固定の順番が正しくないと判別した場合、作業手順が正しくなかったことを示す情報、正しい作業手順を示す情報のうち、少なくとも一方の情報を報知するようにしてもよい。なお、音源方向の推定には、環境理解装置1Bが撮像部100を有している場合、撮像された画像情報も用いるようにしてもよい。
なお、第1実施形態〜第3実施形態では、音響モデルの例として、GMMを例に説明したが、音響モデルは他の手法を用いて学習したモデルであってもよい。なお、音響モデルにGMMを使用した場合、時間構造を考えなくてよいので、モデルの構造が簡単であるという効果を得ることができる。
なお、第1実施形態〜第3実施形態では、環境理解装置(1、1A、または1B)の例として調理を支援する装置、または製品等の組み立てを支援する装置を例に説明したが、これに限られない。作業工程中に特有の音が発生する工程であれば、そのような作業工程を支援する装置に用いてもよい。例えば、作業音を伴い、作業手順が定められている事務的な業務を支援する装置であってもよい。
また、本実施形態で説明した環境理解装置(1、1A、または1B)は、人型ロボット、キッチンに設置される家電製品(例えば冷蔵庫)、工場で用いられる組み立てロボット等が備えるようにしてもよい。
なお、本発明における環境理解装置(1、1A、または1B)の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより作業イベント(調理イベント)の推定に対する処理や各モデル(GMM、HMM、およびHHMM)の生成に対する処理等を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1、1A、1B…環境理解装置、10…調理音データベース、10B…作業音データベース、20…音響モデル構築部、21…区間検出部、22…特徴量抽出部、23…学習部、30…レシピデータベース、30B…工程データベース、40…レシピモデル構築部、40B…工程モデル構築部、41…言語処理部、42…確率モデル化部、43…階層化部、50…収音部、60…音響信号取得部、65…区間検出部、70…特徴量抽出部、75…GMM推定部、80、80A…HHMM推定部、85…記憶部、90…報知処理部、95…出力部、100…撮像部、110…画像取得部、120…画像データベース、130…画像処理部

Claims (8)

  1. 作業に関する複数の作業工程を含む情報を解析して前記作業工程に対応するノード間の遷移を表すフローグラフを生成する言語処理部と、
    前記フローグラフに含まれる前記複数の作業工程のそれぞれをノードとする遷移確率モデルである工程モデルを、前記作業工程間の結びつきがある連続する前記作業工程に他のノードを挿入しないことで、前記作業工程間の結びつきがある連続する各作業工程の前後関係は維持しつつ、前記複数の作業工程を組み合わせて生成し、かつ当該工程モデルを各一連の作業ごとに生成するモデル化部と、
    音響信号を収録する収音部と、
    前記作業工程毎に対応する前記音響信号に基づいて作成された音響モデルと、
    収録された前記音響信号から音響特徴量を抽出する特徴量抽出部と、
    前記音響特徴量と前記音響モデルとに基づいて現在の作業工程である現作業工程を推測し、推測した前記現作業工程と、過去に推定した作業工程と、前記工程モデルとに基づいて、前記作業を推定する推定部と、
    を備える環境理解装置。
  2. 前記モデル化部は、前記フローグラフの前記作業工程における1つの状態から他の状態への遷移の共起確率に基づいて前記工程モデルを生成する請求項1に記載の環境理解装置。
  3. 前記モデル化部は、前記フローグラフの前記作業工程における1つの状態から他の状態への遷移が、他の作業にも含まれている場合に、前記1つの状態から他の状態への遷移する複数の前記作業工程を1つの作業工程であるとみなして前記工程モデルを生成する請求項1または請求項2に記載の環境理解装置。
  4. 前記モデル化部は、
    前記工程モデルに含まれる前記作業工程毎に、前記作業工程に含まれる1個の名詞と1個の動詞との組み合わせに分割して、分割した組み合わせそれぞれを作業工程と見なして時系列的に並べて前記工程モデルに含まれる前記作業工程を階層化する請求項1から請求項3のいずれか1項に記載の環境理解装置。
  5. 前記推定部は、
    前記音響特徴量を、前記音響モデルと比較して、前記現作業工程を推測した結果、所定の値以上の他の作業が候補になった場合、候補になった前記他の作業の候補を利用者へ報知し、前記報知に対する前記利用者からの応答に応じて、複数の前記作業の候補から推測して前記作業を絞り込む請求項1から請求項4のいずれか1項に記載の環境理解装置。
  6. 前記推定部は、
    推定した前記作業に基づいて、次の作業工程である次作業工程を予測し、予測した前記次作業工程に関する情報を報知する請求項1から請求項5のいずれか1項に記載の環境理解装置。
  7. 画像を撮像する撮像部と、
    前記撮像部によって撮像された画像から、前記作業工程で用いられる対象物の位置を推定する画像処理部と、を備え、
    前記推定部は、
    前記画像処理部によって推定された前記対象物の位置を示す情報に基づいて、次の作業工程である次作業工程で用いる前記対象物の位置を示す情報を報知する請求項1から請求項6のいずれか1項に記載の環境理解装置。
  8. 言語処理部が、作業に関する複数の作業工程を含む情報を解析して前記作業工程に対応するノード間の遷移を表すフローグラフを生成する言語処理手順と、
    モデル化部が、前記フローグラフに含まれる前記複数の作業工程のそれぞれをノードとする遷移確率モデルである工程モデルを、前記作業工程間の結びつきがある連続する前記作業工程に他のノードを挿入しないことで、前記作業工程間の結びつきがある連続する各作業工程の前後関係は維持しつつ、前記複数の作業工程を組み合わせて生成し、かつ当該工程モデルを各一連の作業ごとに生成するモデル化手順と、
    収音部が、音響信号を収録する収音手順と、
    音響モデル作成部が、前記作業工程毎に対応する前記音響信号に基づいて音響モデルを作成する音響モデル作成手順と、
    特徴量抽出部が、収録された前記音響信号から音響特徴量を抽出する特徴量抽出手順と、
    推定部が、前記音響特徴量と前記音響モデルとに基づいて現在の作業工程である現作業工程を推測し、推測した前記現作業工程と、過去に推定した作業工程と、前記工程モデルとに基づいて、前記作業を推定する推定手順と、
    を含む環境理解方法。
JP2014176141A 2014-08-29 2014-08-29 環境理解装置および環境理解方法 Expired - Fee Related JP6173281B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014176141A JP6173281B2 (ja) 2014-08-29 2014-08-29 環境理解装置および環境理解方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014176141A JP6173281B2 (ja) 2014-08-29 2014-08-29 環境理解装置および環境理解方法

Publications (2)

Publication Number Publication Date
JP2016051052A JP2016051052A (ja) 2016-04-11
JP6173281B2 true JP6173281B2 (ja) 2017-08-02

Family

ID=55658597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014176141A Expired - Fee Related JP6173281B2 (ja) 2014-08-29 2014-08-29 環境理解装置および環境理解方法

Country Status (1)

Country Link
JP (1) JP6173281B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7511128B2 (ja) 2019-07-24 2024-07-05 パナソニックIpマネジメント株式会社 調理習得支援システムおよび調理習得支援方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6310165B1 (ja) * 2016-08-09 2018-04-11 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
JP7038338B2 (ja) * 2017-07-25 2022-03-18 パナソニックIpマネジメント株式会社 情報処理方法および情報処理装置
WO2020053934A1 (ja) * 2018-09-10 2020-03-19 三菱電機株式会社 モデルパラメタ推定装置、状態推定システムおよびモデルパラメタ推定方法
CN114365161A (zh) * 2019-09-18 2022-04-15 三菱电机株式会社 作业要素分析装置和作业要素分析方法
JP6933345B1 (ja) * 2020-07-20 2021-09-08 株式会社 情報システムエンジニアリング 情報処理装置及び情報処理方法
WO2023248676A1 (ja) * 2022-06-22 2023-12-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 推定方法及び推定装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3489772B2 (ja) * 1996-11-07 2004-01-26 株式会社リコー 作業支援システム
JPH11187824A (ja) * 1997-12-25 1999-07-13 Victor Co Of Japan Ltd 調理支援システム
JP2001008641A (ja) * 1999-06-30 2001-01-16 Matsupu Japan Kk 料理ガイド装置
US7454390B2 (en) * 2004-03-17 2008-11-18 Panasonic Corporation Ingredient cooking-operation recognition system and computer-readable recording medium which is recorded with ingredient cooking-operation recognition program
JP2006072894A (ja) * 2004-09-06 2006-03-16 Advanced Institute Of Information Technology Inc 調理支援装置およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7511128B2 (ja) 2019-07-24 2024-07-05 パナソニックIpマネジメント株式会社 調理習得支援システムおよび調理習得支援方法

Also Published As

Publication number Publication date
JP2016051052A (ja) 2016-04-11

Similar Documents

Publication Publication Date Title
JP6173281B2 (ja) 環境理解装置および環境理解方法
Damen et al. The epic-kitchens dataset: Collection, challenges and baselines
WO2005088542A1 (ja) 食材調理操作認識システム及び食材調理操作認識プログラム
KR100577387B1 (ko) 음성 대화 시스템에서의 음성 인식 오류 처리 방법 및 장치
EP3360138B1 (en) System and method for audio scene understanding of physical object sound sources
US7054817B2 (en) User interface for speech model generation and testing
JP6664072B2 (ja) 探索支援方法、探索支援装置、及び、プログラム
CN103229137A (zh) 基于上下文的首字母缩略词和缩写词的歧义消除
EP3229234B1 (en) System and method to distinguish sources in a multiple audio source environment
Guo et al. Localising speech, footsteps and other sounds using resource-constrained devices
CN109427334A (zh) 一种基于人工智能的人机交互方法及系统
EP2682880A1 (en) Set-expansion device, set-expansion method, program, and non-transitory storage medium
CN109683516A (zh) 辅助烹饪方法、家电设备及计算机存储介质
JP2020191009A (ja) 知識グラフ補完装置、および知識グラフ補完方法
KR20160056983A (ko) 미등록어 자동 추출에 기반한 형태소 사전 구축 시스템 및 방법
KR101874604B1 (ko) 창작 레시피 생성방법
CN111199724A (zh) 一种信息处理方法、设备及计算机可读存储介质
JP2018092582A (ja) 情報処理方法、情報処理装置、及び、プログラム
CN110599823A (zh) 一种基于示教视频和解说语音融合的服务机器人示教方法
Kojima et al. CogKnife: Food recognition from their cutting sounds
Moreaux et al. Benchmark for kitchen20, a daily life dataset for audio-based human action recognition
JP6610416B2 (ja) 調理レシピ提供システム
JP2009223415A (ja) 情報処理装置及び方法
US11551575B1 (en) Intelligent cooking process flow
JPWO2020116002A1 (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170704

R150 Certificate of patent or registration of utility model

Ref document number: 6173281

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees