(57)【特許請求の範囲】
【請求項１】
対面者を撮影し、対面者との距離を算出する機能を備えたロボットの対面者の状態変化を判断する方法であって、
前記ロボットは向かい合った前記対面者を撮影し、
前記撮影画像から前記対面者の顔を検知して顔領域の情報を算出して保持し、
前記顔領域情報より顔領域の下部にある身体領域情報を算出して保持し、
前記対面者の前記顔領域と身体領域の状態変化のトラッキングを行い、
前記対面者の前記顔領域の中心までの距離と前記身体領域の中心までの距離を算出し、
前記算出した中心までの距離の差が所定範囲にある場合に前記顔領域と前記身体領域が同一の対面者と判断することを特徴とするロボットの対面者の状態変化判断方法。
【請求項２】
請求項１記載の前記対面者の判断は前記対面者の顔の検知ができなかった場合、前記身体領域が存在すれば前記対面者は前記ロボットに向かい合っていると判断することを特徴とする請求項１記載のロボットの対面者の状態変化判断方法。
【請求項３】
請求項１記載のトラッキング時に前記対面者の顔の検知ができなかった場合、前記身体領域の情報を基に前記対面者の顔領域を算出し、
前記算出した顔領域の情報より顔を検知することを特徴とする請求項１記載のロボットの対面者の状態変化判断方法。
【請求項４】
対面者を撮影し、対面者との距離を算出する機能を備え、前記対面者の状態変化を判断する情報処理装置であって、
前記情報処理装置は、
前記対面者を撮影した撮影画像から前記対面者の顔を検知し、顔領域情報を算出する手段と、
前記顔領域情報より顔領域の下部にある身体領域情報を算出する手段と、
前記対面者の前記顔領域の中心までの距離と前記身体領域の中心までの距離を算出する手段と、で構成し、
前記算出した中心までの距離の差が所定範囲にある場合に前記顔領域と前記身体領域が同一の対面者と判断することを特徴とする情報処理装置。
【請求項５】
対面者を撮影し、対面者との距離を算出する機能を備えた情報処理装置のコンピュータに前記対面者の状態変化を判断させるプログラムであって、
前記プログラムは、
前記情報処理装置が撮影した前記対面者の撮影画像から前記対面者の顔を検知させて顔領域の情報を算出させ、
前記顔領域情報より顔領域の下部にある身体領域情報を算出させ、
前記対面者の前記顔領域と身体領域の状態変化のトラッキングを行わさせ、
前記対面者の前記顔領域の中心までの距離と前記身体領域の中心までの距離を算出させ、前記算出した中心までの距離の差が所定範囲にあるか判断させ、
前記距離の差が所定範囲にある場合に前記顔領域と前記身体領域が同一の対面者と判断させることを特徴とする情報処理装置の対面者の状態変化判断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボットの対面者の検知方法に係り、特に人間、人間の顔をしたロボットなどの対面者の顔、身体を検知して、対面者の状態変化を判断する方法、情報処理装置（ロボット）及びプログラムに関するものである。
【背景技術】
【０００２】
画像認識、音声認識などの処理により、対面者に向き合い、対面者及び発話内容を認識してサービスを提供するロボットが増えている。例えば、案内ロボットは各種イベント会場、公共施設において、対面者（人間、人間の形をしたロボット等）と向き合い、目前に相手がいることを認識しながら、案内などのサービスを提供する。
【０００３】
特許文献１には、ロボットが相手に話しかける場合、相手の顔の正面方向を認識して、顔の正面位置に移動して会話を行なう会話ロボットの技術が開示されている。
【０００４】
特許文献２には、検出した人物の顔領域の抽出を行い、顔領域までの距離を算出する技術などを基に人間に対してペットのような振る舞いを行なうロボットの技術が開示されている。
【０００５】
このロボットによる目前の相手を確認する方法として、上記特許文献で開示されているように、多数の顔画像から学習したデータに基づく顔一般のデータを基に面前の相手の顔が顔一般の特徴を有しているか否かを検出して顔の検出をするものが一般的である。しかし、この手法は、目や鼻などの顔一般の特徴に基づいているので、相手がちょっと横を向いてよそ見をしただけでも、相手がいなくなったと誤判断してしまう。そのような場合にはロボットは一方的にサービスを終了してしまい問題である。
【０００６】
このように、対面者の顔を検知できなくなった時、対面者が居なくなった、立ち去ったと判断するのではなく、よそ見をしているだけかどうかの確認をして対面者の状態を確認する必要がある。
【特許文献１】特開２００４−３４２７４号公報
【特許文献２】特開２００３−３２６４７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
解決しようとする課題は、ロボットが対面者（人間、人間の形をしたロボット等）に向き合い、対面者の顔を検知してサービスを提供する場合、対面者が立ち去ったのか、あるいは、よそ見で正面を向いていない事等により一時的に対面者の顔を検知できない問題である。
【０００８】
本発明は、対面者のよそ見等により一時的に顔が検知できない状態を顔に対応する身体の検知と併せて判断し、対面者がロボットに注目しているのか、一時的に顔検知が不可能な状態か、立ち去ったのかを判断する対面者の状態変化判断方法、情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の発明は、対面者を撮影し、対面者との距離を算出する機能を備えたロボットの対面者の状態変化を判断する方法である。
【００１０】
前記ロボットは向かい合った前記対面者を撮影し、前記撮影画像から前記対面者の顔を検知して顔領域の情報を算出して保持し、前記顔領域情報より顔領域の下部にある身体領域情報を算出して保持し、前記対面者の前記顔領域と身体領域の状態変化のトラッキングを行い、前記対面者の前記顔領域の中心までの距離と前記身体領域の中心までの距離を算出し、前記算出した中心までの距離の差が所定範囲にある場合に前記顔領域と前記身体領域が同一の対面者と判断する。
【００１１】
第１の発明により、ロボットは対面者の顔領域と身体領域の情報を判断して、両領域の情報を関連付けて、対面者の状態変化のトラッキングが可能になる。
【００１２】
第２の発明は、第１の発明記載の前記対面者の判断は前記対面者の顔の検知ができなかった場合、前記身体領域が存在すれば前記対面者は前記ロボットに向かい合っていると判断する。
【００１３】
第２の発明により、ロボットは対面者の顔の検知ができない場合でも、対面者が面前にいるか否か確認することができ、一時的に顔を見失なっても、対面者が面前に居る判断が可能になる。
【００１４】
第３の発明は、第１の発明のトラッキング時に前記対面者の顔の検知ができなかった場合、前記身体領域の情報を基に前記対面者の顔領域を算出し、前記算出した顔領域の情報より顔を検知する。
【００１５】
第３の発明により、ロボットは対面者の顔の検知ができない場合でも、対面者の身体領域情報から顔領域の位置を探し、顔を検知することが可能になる。
【００１６】
第４の発明は、対面者を撮影し、対面者との距離を算出する機能を備え、前記対面者の状態変化を判断する情報処理装置である。
【００１７】
前記情報処理装置は、前記対面者を撮影した撮影画像から前記対面者の顔を検知し、顔領域情報を算出する手段と、前記顔領域情報より顔領域の下部にある身体領域情報を算出する手段と、前記対面者の前記顔領域の中心までの距離と前記身体領域の中心までの距離を算出する手段と、で構成し、前記算出した中心までの距離の差が所定範囲にある場合に前記顔領域と前記身体領域が同一の対面者と判断する。
【００１８】
第４の発明により、情報処理装置は面前の対面者の状態を判断し、前記情報処理装置が提供する情報処理サービスの継続あるいは中止などのサービス提供の判断が可能になる。
【００１９】
第５の発明は、対面者を撮影し、対面者との距離を算出する機能を備えた情報処理装置のコンピュータに前記対面者の状態変化を判断させるプログラムである。
【００２０】
前記プログラムは、前記情報処理装置が撮影した前記対面者の撮影画像から前記対面者の顔を検知させて顔領域の情報を算出させ、前記顔領域情報より顔領域の下部にある身体領域情報を算出させ、前記対面者の前記顔領域と身体領域の状態変化のトラッキングを行わさせ、前記対面者の前記顔領域の中心までの距離と前記身体領域の中心までの距離を算出させ、前記算出した中心までの距離の差が所定範囲にあるか判断させ、前記距離の差が所定範囲にある場合に前記顔領域と前記身体領域が同一の対面者と判断させる。
【００２１】
第５の発明により、情報処理装置に備えたコンピュータに対面者の状態を判断させ情報処理サービスを行うことが可能になる。
【発明の効果】
【００２２】
本発明により、ロボットが対面者の状態変化を判断し、一時的な顔検知不可により対面者へのサービス提供を終了することを防ぎ、対面者に本来提供するサービスを問題なく実現でき、ロボットの顧客対応の品質を向上させることができる。
【発明を実施するための最良の形態】
【００２３】
（実施例１）
図１はロボットのブロック構成を示す図である。ロボットとしては固定された位置で目的のサービスを提供する、あるいは自律移動機能を備え、移動しながらサービスを提供することが考えられる。ここでは、対面者の状態を判断するに必要な最小限の機能として、カメラ３、距離計測部４、対話処理部５、画像処理・状態判断部６、演算部７、メモリ８を示している。ロボットはこれらの機能に加え、提供するサービスに対応した機能を備えてサービスを提供することになる。なお、対話処理、画像・状態判断、演算等の機能の具体的処理は情報処理装置に備えたコンピュータにより行うが、説明は省略する。
１）カメラ３
対面者を撮影する。
２）距離計測部４
対面者との距離を計測する。ステレオ計測として少なくも２つのカメラによる距離計測を行う。距離の計測には距離センサがある。距離計測の機能については一般に行われているので説明は省略する。
３）対話処理部５
相手の音声等の会話を聞き取り、また、聞き取った相手の音声を認識し、メモリに保持する対話の内容を選択して相手との会話を行なう。これらの機能については一般に行われているので説明は省略する。
４）画像処理・状態判断部６
カメラにより撮影した画像をメモリに保持する顔一般の特徴情報と比較判断し対面者の顔の検知を行う。また、検知した顔より身体情報の算出、及び顔と身体との関連を算出し、対面者の状態を判断する。これらの具体的方法は後述する。
５）演算部７
距離計測部により算出した距離を元に所定の演算を実行する。
６）メモリ８
顔一般の特徴、対話に必要な言葉を保持し、また、検知した対面者の顔及び身体のテンプレートデータを保持する。
【００２４】
図２は対面者のテンプレート登録を説明する図である。ロボットが対面者の顔を検知し、顔領域、身体領域のテンプレートデータの登録までの手順を示している。
Ｓ１：対面者と向き合い、対面者を撮影する。                                   
Ｓ２：撮影画像の顔の情報（顔と推定する位置の画像情報）を装置内メモリの顔一般の特徴情報を比較確認し、対面者の顔を検知する。
Ｓ３：検知した四角形の顔領域の中心座標（ｕｆ，ｖｆ）、幅「Ｗｆ」、高さ「Ｈｆ」を切り出し顔領域のテンプレートデータとする。
Ｓ４：検知した顔領域を基に身体領域を検知し、検知した四角形の身体領域の中心座標（ｕｂ，ｖｂ）、幅「Ｗｂ」、高さ「Ｈｂ」を切り出し身体領域のテンプレートとする。顔領域から身体領域の算出方法については図３で説明する。
Ｓ５：切り出した対面者の顔領域、身体領域のテンプレートデータを保持する。  
【００２５】
図３は対面者の顔の検知とテンプレートの切り出しを説明する図である。左上隅の位置座標（０，０）と右下隅の位置座標（Ｗ，Ｈ）で示す実線で囲まれた箇所が撮影画像である。この画像を利用して以下の手順で、顔領域、身体領域のテンプレートデータを切り出す。
ア．顔領域のテンプレートデータの切り出し：検知した顔の中心より顔を含み所定の範囲内にある領域を算出し、顔領域のテンプレートデータとして切り出す。テンプレートデータは顔領域の中心座標（ｕｆ，ｖｆ）、幅「Ｗｆ」、高さ「Ｈｆ」）である。
イ．身体領域のテンプレートデータの切り出し：（式１）で示す換算式より顔領域の下部にある対面者の身体領域を算出し、身体領域テンプレートデータとして切り出す。テンプレートデータは身体領域の中心（ｕｂ，ｖｂ）、「Ｗｂ」、高さ「Ｈｂ」である。
【００２６】
【数１】
0004811395.tif 000002
図４は対面者の検出領域と距離の算出を説明する図である。図３で述べた撮影画像から切り出した顔領域、身体領域の算出と各領域の中心、幅、高さを図的に示している。
【００２７】
ロボットは顔領域と身体領域の中心部を各々幅と高さの１／２の値から算出して中心を設定する。ロボットと対面者の顔領域の中心、及び身体領域の中心までの距離（顔との距離＝ｄｆ、身体領域との距離＝ｄｂ）の算出については図５で説明する。
【００２８】
図５は対面者の顔領域、身体領域の中心までの距離算出を説明する図である。具体的にはステレオカメラによる顔領域の中心までの距離の算出方法を示している。
【００２９】
アは左カメラによる画像、イは右カメラによる画像、ウはロボットと対面者を上方から見た図である。左カメラと右カメラにより撮影した顔中心の各座標（ｕＬ，ｖＬ）と（ｕＲ，ｖＲ）を実際の三次元座標に変換した時のＸ座標が対面者の顔領域の中心までの距離「ｄｆ」である。このステレオカメラを用いた左右２つの撮影画像の同一の点から実際の三次元位置座標を算出する方法は一般に知られているので説明は省略する。
【００３０】
同様にして身体領域の中心までの距離「ｄｂ」の算出を行う。
【００３１】
図６は対面者との距離による対面者の確認手順を示す図である。対面者の顔領域の中心までの距離「ｄｆ」、身体領域の中心までの距離［ｄｂ］より対面者を確認する手順を示している。
Ｓ１０：対面者の顔領域の中心までの距離「ｄｆ」、身体領域の中心までの距離「ｄｂ」を算出する。（図３、図４、図５）
Ｓ１１：｜ｄｆ−ｄｂ｜は閾値以下か確認し、閾値以下の場合はＳ１２に進み、そうでない場合はＳ１３に進む。
Ｓ１２：検知した結果は適切と判断する。すなわち、「検知した情報は対面者の顔領域情報、身体領域情報である」と判断する。
Ｓ１３：検知した結果は不適切と判断する。すなわち、「顔領域情報と身体領域情報が同一の対面者ではない」と判断する。       
【００３２】
図７は対面者の状態変化と対面者のトラッキング手順を説明する図である。対面者の状態が変化した状況下での顔領域、身体領域の情報より対面者の状態を判断する方法を示している。
Ｓ２０：向き合った対面者の顔と身体のトラッキングを始める。
Ｓ２１：顔を検知できているか否か判断し、顔を検知している場合Ｓ２８に進み、そうでない場合はＳ２２に進む。
Ｓ２２：身体を見失ったか否か判断し、見失った場合はＳ３１に進み、そうでない場合はＳ２３に進む。なお、「身体を見失う」とは撮影画像に顔領域の下部に身体と判断する情報が無いことを意味している。
Ｓ２３：予め設定した所定時間内であるか判断し、所定時間内の場合はＳ２４に進み、所定時間を過ぎている場合はＳ３１に進む。
Ｓ２４：身体領域より顔領域を算出する。算出方法については図７で説明する。
Ｓ２５：算出した顔領域の情報より顔を検知する。
Ｓ２６：顔が検知できたか確認し、検知できた場合はＳ２７に進み、検知できない場合はＳ３１に戻り、身体領域の確認を再度行う。
Ｓ２７：顔領域のテンプレートデータを算出したデータに更新し、Ｓ２０に戻りトラッキング手順を繰り返す。
Ｓ２８：検知した顔領域の情報を顔領域テンプレートデータとして更新する。
Ｓ２９：顔の領域より身体の領域を算出する。算出する方法は図７で説明する。
Ｓ３０：身体のテンプレート情報を新たに算出したデータに更新し、Ｓ２０に戻りトラッキング手順を繰り返す。
Ｓ３１：対面者の確認が出来ない（立ち去った）と判断し、トラッキングを中止する。
【００３３】
図８は状態変化した対面者のトラッキングを説明する図である。対面者の状態が変化した場合に対面者を保持する顔領域、身体領域の情報よりトラッキングする方法を示している。
【００３４】
対面者が実線で示す状態（（ｕｆ１，ｖｆ１）、（ｕｂ１，ｖｂ１）の位置）から、点線で示す状態（（ｕｆ２，ｖｆ２）、（ｕｂ２，ｖｂ２）の位置）に変化した場合について説明する。
ア．対面者の状態変化に対応して算出した領域情報：各領域の中心座標は（式２）となり、その領域の大きさは（式３）となる。
【００３５】
【数２】
0004811395.tif 000003
【００３６】
【数３】
0004811395.tif 000004
イ．トラッキング中に対面者の片方の領域を見失った時の探索：対面者を見失った場合に把握できている他方の領域より探索する。顔領域の情報から身体領域の情報算出は（式４）で行い、身体領域の情報から顔領域の情報算出は（式５）で行う。すなわち、把握できている位置情報と（式３）で示す各領域の大きさより換算して他方の領域を探索する。
【００３７】
【数４】
0004811395.tif 000005
【００３８】
【数５】
0004811395.tif 000006
図９は対面者の状態確認手順を説明する図である。対面者の状態を把握し、状態を判断する手順を示している。状態としては以下を考える。
ア．「注目している」：対面者はロボットと向き合いサービスを受けている状態である。
イ．「よそ見している」：対面者はよそ見等により一時的にロボットが把握できない状態か、場合により立ち去った状態である。
ウ．「再び注目している」：対面者のよそ見等により状態を一時的に把握できなくなった後、再び把握できるようになった状態である。
Ｓ４０：対面者に向き合い、対面者のテンプレートデータを算出し、保持する。（図２の手順）
Ｓ４１：対面が始まり対面者のトラッキングを始める。（図７の方法）
Ｓ４２：顔領域情報を算出する。
Ｓ４３：身体領域情報を算出する。
Ｓ４４：顔の領域までの距離「ｄｆ」と身体領域までの距離「ｄｂ」を計測する。
Ｓ４５：｜ｄｆ−ｄｂ｜は閾値以下か確認し、閾値以下の場合はＳ４９に進み、そうでない場合はＳ４６に進む。
Ｓ４６：顔のトラッキングを行なう。（図７の方法）
Ｓ４７：顔を検知したか確認し、検知した場合はＳ４８に進み、そうでない場合はＳ６１に進む。
Ｓ４８：「注目している」と判断する。
Ｓ４９：顔と身体のトラッキングを行なう。（図７の方法）
Ｓ５０：顔及び身体を検知把握している。
Ｓ５１：「注目している」と判断する。
Ｓ５２：身体は把握できないが、顔を検知している。
Ｓ５３：「注目している」と判断する。
Ｓ５４：顔の検知はできないが、身体を把握している。
Ｓ５５：「よそ見している」と判断する。
Ｓ５６：所定時間内か確認し、所定時間内の場合はＳ５７に進み、そうでない場合はＳ６１に進む。
Ｓ５７：顔を検知したか確認し、検知している場合はＳ５８に進み、そうでない場合はＳ６１に進む。
Ｓ５８：「再び注目している」と判断する。
Ｓ５９：顔領域データを算出し、顔領域のテンプレートデータを算出したデータに更新する。
Ｓ６０：顔を検知できず、また、身体を見失う。
Ｓ６１：「立ち去っている」と判断する。                         
【図面の簡単な説明】
【００３９】
【図１】図１はロボットのブロック構成を示す図である。
【図２】図２は対面者のテンプレート登録を説明する図である。
【図３】図３は対面者の顔の検知とテンプレートの切り出しを説明する図である。
【図４】図４は対面者の検出領域と距離の算出を説明する図である。
【図５】図５は対面者の顔領域、身体領域中心までの距離算出を説明する図である。
【図６】図６は対面者との距離による対面者の確認手順を示す図である。
【図７】図７は対面者の状態変化と対面者のトラッキング手順を説明する図である。
【図８】図８は状態変化した対面者のトラッキングを説明する図である。
【図９】図９は対面者の状態確認手順を説明する図である。
【符号の説明】
【００４０】
１    ロボット
２    対面者
３    カメラ
４    距離計測部
５    対話処理部
６    画像処理・状態判断部
７    演算部
８    メモリ
【図１】
0004811395.tif 000007
【図２】
0004811395.tif 000008
【図３】
0004811395.tif 000009
【図４】
0004811395.tif 000010
【図５】
0004811395.tif 000011
【図６】
0004811395.tif 000012
【図７】
0004811395.tif 000013
【図８】
0004811395.tif 000014
【図９】
0004811395.tif 000015