[1]実施例
図1は実施例に係る案内ロボット1の外観を表す。案内ロボット1は、情報を発信したり、目的地まで移動したりすることで、人々を案内するロボットである。本実施例では、案内ロボット1は、駅に設置され、駅の利用客に対して電車のダイヤ、運行状況及び駅の内部の施設等の情報を発信し、また、目的地までの道案内を行う。
案内ロボット1は、頭部2と、胸部3と、腹部4と、座部5とを備える。頭部2は、人間の頭部を模した部分であり、I/F部6(I/F:Interface)を備える。頭部2は、概ね球体の形をしており、その球体のうちI/F部6が設けられた部分を削り取られた形をしている。I/F部6は、実世界との間で情報をやり取りするインターフェースであり、画像の表示、音又は光の出力、画像の撮影及び集音等を行う。
I/F部6は、人間の顔のように、頭部2の一方を向いている。そのため、案内ロボット1においては、I/F部6が向いている方向が正面方向A1として認識される。正面方向A1は、案内ロボット1の前方を示す方向である。胸部3は、頂点側が切り取られた円錐の形をしており、その切り取られた部分に頭部2が載せられている。頭部2は、胸部3により回転可能に支持されている。
腹部4は、頂点側が斜めに切り取られた(そしてやや丸みを帯びた)円錐の形をしており、その切り取られた部分に胸部3が載せられている。胸部3は、腹部4により回転可能に支持されている。頭部2及び胸部3が回転することで、人間が顔の向きを変えるように、正面方向A1の向きを変えられるようになっている。また、座部5は、モータと、鉛直下方側に露出する車輪とを有しており、車輪を回転させて移動することができる。
図2は案内ロボット1のハードウェア構成を表す。案内ロボット1は、制御装置11と、記憶装置12と、通信装置13と、操作表示装置14と、撮影装置15と、距離センサ16と、音処理装置17と、発光装置18と、走行装置19と、回転装置20とを備える。制御装置11は、CPU(Central Processing Unit)、RAM(Random Access Memory)及びROM(Read Only Memory)等を有するコンピュータであり、RAMをワークエリアとしてROM等に記憶されたプログラムを実行して、各装置を制御する。
記憶装置12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)又はフラッシュメモリ等の記憶手段であり、制御装置11が制御に用いるデータ及びプログラム等を記憶している。通信装置13は、移動体通信又は無線LAN(Local Area Network)通信等の無線通信を行う通信回路を有し、外部装置と無線通信を行う。操作表示装置14は、表示手段であるディスプレイと、操作手段であるタッチパネル(ディスプレイの表面に設けられている)とを備え、画像を表示すると共に、利用者からの操作を受け付ける。
撮影装置15は、レンズ及びイメージセンサ等を備え、レンズから入射する光が表す光景を撮影し、撮影した光景を示す画像を生成する。距離センサ16は、例えば超音波又は電磁波を発信及び受信する素子を有し、発信した超音波又は電磁波が物体で反射して受信されるまでの時間からその物体までの距離を検出する。なお、距離センサ16は、通常は超音波を発信し、状況により電磁波を発信してもよい。音処理装置17は、スピーカ及びマイクロフォン等を有し、音を出力したり(音を発したり)、音を収集したりする。
発光装置18は、LED(Light Emitting Diode)等を有し、制御装置11からの制御信号に基づいて光を出力する(光を発する)。走行装置19は、走行用モータ、車輪及び操舵用モータ等を有し、制御装置11からの制御信号に基づいて車輪を回転させて案内ロボット1を走行させる。走行装置19は、例えば車輪の回転方向を左右で反対にしたり、舵角を大きくしたりすることで、案内ロボット1を回転させることもできる。これを「回転の動き」という。回転装置20は、モータ等を有し、頭部2及び胸部3を回転させてI/F部6の向き、すなわち正面方向A1の向きを変化させる。このときの頭部2の動きが首を振っているように見えるので、これを「首振りの動き」という。
制御装置11がプログラムを実行することで、以下に述べる機能が実現される。
図3は制御装置11が実現する機能構成を表す。制御装置11は、音出力部101と、光出力部102と、撮影部103と、人物画像認識部104と、向き関係特定部105と、距離特定部106と、案内相手決定部107と、案内済判定部108と、案内動作部110と、音収集部121と、音声認識部122と、案内終了判断部123とを備える。
音出力部101は、定められた音を出力する。音出力部101は、例えば、自ロボットが案内を行っていない場合に、一定時間が経過すると、自ロボットに回転の動き及び首振りの動きのいずれか一方又は両方をさせつつ、案内を呼びかける音声(「駅構内の案内はいかがですか」など)を出力する。音出力部101は、音を出力する前に、音を出力する旨を撮影部103に通知する。
光出力部102は、定められた光を出力する。光出力部102は、例えば、自ロボットが案内を行っていない場合に、一定時間が経過すると、自ロボットに回転の動き及び首振りの動きのいずれか一方又は両方をさせつつ、LEDを一定の回数だけ点滅させる。光出力部102は、光を出力する前に、光を出力する旨を撮影部103に通知する。音出力部101による音の出力及び光出力部102による光の出力は、自ロボットの存在を周囲の人物に気付いてもらうために行われる。撮影部103は、自ロボットの周辺の光景を継続して撮影する。撮影部103は、本実施例では、自ロボットの正面方向A1側の定められた範囲(撮影範囲)の光景を撮影する。
図4は撮影範囲の一例を表す。図4では、鉛直上方から見た頭部2が表されている。I/F部6には、撮影装置15が備えるレンズ151が設けられている。撮影部103は、レンズ151から正面方向A1を中心とした画角θ1の範囲を撮影範囲として撮影する。なお、画角の境界に沿った方向のうち、レンズ151から見て右側を右境界方向A2といい、左側を左境界方向A3というものとする。撮影部103は、例えば決められた時間間隔で継続して撮影を行い、撮影する度に、撮影した光景を示す画像を人物画像認識部104に供給する。
人物画像認識部104は、撮影部103により撮影された画像に含まれる人物の画像情報を認識する。人物の画像情報には、例えば、人物を表す各画素の座標情報と、各画素の色情報及び輝度情報とが含まれる。人物画像認識部104は、例えば周知の画像認識技術を用いて、供給された画像から特徴量(SIFT(Scale-Invariant Feature Transform)特徴量及びHOG(Histograms of Oriented Gradients)特徴量等)を算出し、汎用的な人物のパターン画像の特徴量と比較して、一致したものを人物として認識する。
図5は撮影された画像の一例を表す。図5に表す画像G1には、人物C11~C18までの8人の人物が写っている。人物画像認識部104は、これら8人の人物の画像情報を認識すると、各人物を識別する識別子として人物ID(Identification)を発行し、発行した人物IDと共に認識した画像情報を向き関係特定部105及び距離特定部106に供給する。以降の各機能では、各人物に関する情報がこの人物IDによって誰の情報であるか識別されるものとする。
撮影部103による撮影は継続して行われるため、人物画像認識部104も、人物の画像情報の認識を継続して行う。その際、人物画像認識部104は、時間的に連続して撮影された2つの画像の両方から、算出した特徴量の類似度が閾値以上の人物を認識した場合、その人物は同一人物だとみなして、新たな人物IDは発行せず、発行済みの人物IDを再度用いる。こうして同一人物を別人と認識することを防止している。
向き関係特定部105は、人物画像認識部104により認識された人物の画像情報に基づいてその人物と自己(案内ロボット1)との向きの関係を特定する。以下ではこの関係を「向き関係」という。向き関係特定部105は、本実施例では、視線を検知する周知の技術(例えば基準点(例えば目頭)と動点(例えば虹彩)の位置関係に基づいて視線を検知する技術)を用いて、人物の画像からその人物の視線を検知して、検知した視線の方向をその人物の向きとして特定する。
向き関係特定部105は、特定した人物の向きを、例えば鉛直方向をZ軸、正面方向A1をY軸、それらのY軸及びZ軸に直交するX軸により定められる3次元座標系の方向ベクトルで表す。
図6は3次元座標系で表された人物の向きの一例を表す。図6では、鉛直上方から見た案内ロボット1及び図5に表す人物C11~C18と、特定された各人物の向きD11~D18とが表されている。本実施例では、人物の向きD11~D18は、いずれも水平方向に沿った所定の長さのベクトルであるものとする。
また、向き関係特定部105は、画像上での人物の座標(例えば人物を表す全画素の重心の位置の座標)を算出し、算出した座標に基づいて、自ロボットから見てその人物がいる方向(以下「人物方向」という)を特定する。向き関係特定部105は、本実施例では、図5に表すように、画像の左上を原点として、右方向をX軸正方向、下向きをY軸正方向とする座標系における座標を人物の座標として算出する。
向き関係特定部105は、例えば人物の座標が画像のX軸方向における中心の座標であれば、正面方向A1をその人物についての人物方向として特定する。また、向き関係特定部105は、人物の座標が画像のX軸方向における右端の座標であれば、図4に表した右境界方向A2をその人物についての人物方向として特定し、人物の座標が画像のX軸方向における左端の座標であれば、図4に表した左境界方向A3をその人物についての人物方向として特定する。
また、向き関係特定部105は、右境界方向A2及び正面方向A1の間と、正面方向A1及び左境界方向A3の間の人物方向については、例えば人物の重心のX座標の値と人物方向とを対応付けた方向テーブルを記憶しておき、算出した人物のX座標に対応付けられた人物方向を、その人物についての人物方向として特定する。各人物方向は、例えば正面方向A1に対して成す角度で表される。
図7は特定された人物方向の一例を表す。向き関係特定部105は、図7の例では、人物C11~C18の人物方向として、人物方向E11~E18を特定している。向き関係特定部105は、以上のとおり特定した人物の向き及び人物方向に基づいて、次の2通りの向き関係を特定する。向き関係特定部105は、人物の向きとその人物から自己(案内ロボット1)に向かう方向との乖離度を、第1の向き関係として特定する。ここでいう「乖離度」とは、2つの方向(向きを含む)が乖離している度合いを意味する。本実施例では、乖離度は、2つの方向が成す角度の大きさによって表される。
図7に表す人物方向の反対向きの方向は、各人物から案内ロボット1に向かう方向を表している。そこで、向き関係特定部105は、或る人物について特定した人物の向きと人物方向とが成す角度(本実施例における乖離度)を、第1の向き関係として特定する。
図8は特定された第1の向き関係の例を表す。向き関係特定部105は、人物C11については、図8(a)に表すように、図6に表す人物の向きD11と図7に表す人物方向E11とが成す角度θ11dを第1の向き関係として特定する。
また、向き関係特定部105は、人物C12については、図8(b)に表すように、図6に表す人物の向きD12と図7に表す人物方向E12とが成す角度θ12dを第1の向き関係として特定する。向き関係特定部105は、人物C13~C18についても同様に第1の向き関係を特定する。
また、向き関係特定部105は、自己(案内ロボット1)の向きと自己からその人物に向かう方向との乖離度を、第2の向き関係として特定する。図7に表す人物方向は、案内ロボット1から人物に向かう方向を表している。そこで、向き関係特定部105は、或る人物について特定した人物方向と正面方向A1とが成す角度(すなわち乖離度)を、第2の向き関係として特定する。
図9は特定された第2の向き関係の例を表す。向き関係特定部105は、人物C11については、図9(a)に表すように、図7に表す人物方向E11と正面方向A1とが成す角度θ11eを第2の向き関係として特定する。また、向き関係特定部105は、人物C12については、図9(b)に表すように、図7に表す人物方向E12と正面方向A1とが成す角度θ12eを第2の向き関係として特定する。
向き関係特定部105は、人物C13~C18についても同様に第2の向き関係を特定する。向き関係特定部105は、各人物について特定した第1及び第2の向き関係を案内相手決定部107に供給する。また、向き関係特定部105は、特定した人物方向を距離特定部106にも供給する。距離特定部106は、撮影された画像から認識された人物と自ロボットとの距離(以下「人物距離」という)を特定する。
距離特定部106は、本実施例では、距離センサ16の超音波を供給された人物方向に向けて発信させた場合に距離センサ16が検出した距離を、その人物方向にいる人物の人物距離として特定する。
図10は特定された人物距離の一例を表す。距離特定部106は、人物C11~C18について、それぞれ人物距離F11~F18を特定している。距離特定部106は、特定した人物距離を案内相手決定部107に供給する。
案内相手決定部107は、向き関係特定部105により特定された向き関係(詳細には第1の向き関係及び第2の向き関係)と、距離特定部106により特定された人物距離とに基づいて、その向き関係及び人物距離が特定された人物を案内相手(情報発信の相手又は道案内の相手)とするか否かを決定する。第1の向き関係、第2の向き関係及び人物距離は、案内ロボット1に対する各人物の位置及び向きの相対的な関係を示す情報であり、以下では「相関情報」ともいう。
案内相手決定部107は、詳細には、供給された各相関情報(第1の向き関係、第2の向き関係及び人物距離)が示す各値に対応するポイントを付与し、その合計値に基づいて決定を行う。案内相手決定部107は、各相関情報の値の範囲とポイントとを対応付けたポイントテーブルを用いる。
図11はポイントテーブルの一例を表す。図11の例では、第1の向き関係については、「Th11未満」、「Th11以上Th12未満」、「Th12以上」という値の範囲に「10」、「6」、「3」というポイントが対応付けられている。また、第2の向き関係については、「Th21未満」、「Th21以上Th22未満」、「Th22以上」という値の範囲に「7」、「4」、「2」というポイントが対応付けられ、人物距離については、「Th31未満」、「Th31以上Th32未満」、「Th32以上」という値の範囲に「3」、「2」、「1」というポイントが対応付けられている。
案内相手決定部107は、各人物の各相関情報が供給されると、供給された各相関情報にポイントテーブルで対応付けられているポイントを読み出して合計する。図11の例では、各人物について最小6ポイントから最大20ポイントが合計値として算出される。案内相手決定部107は、算出した合計値が例えば閾値Th40以上の人物を、案内相手の候補として抽出する。
案内相手決定部107は、抽出した候補の合計値に対して補正(詳しくは後ほど説明する)を行った後に、補正後の合計値が最大の人物を、案内相手として決定する。案内相手決定部107は、案内相手として決定した人物の人物IDを案内済判定部108に供給する。また、前述した人物画像認識部104も、案内済判定部108に、画像情報を認識した人物の特徴量及び人物IDを供給する。
案内済判定部108は、人物画像認識部104によって新たに認識された人物が過去に案内相手とされた人物であるか否か、つまりその人物に対して案内済みであるか否かを判定する。案内済判定部108は、案内相手決定部107から供給されたのと同じ人物IDと共に供給された特徴量(SIFT特徴量等)を、案内済みの人物の特徴量として記憶する。
この特徴量は、発信相手とした人物の画像上での特徴を示す情報であり、人物画像認識部104によって画像から取得された情報である。特徴量は、本発明の「特徴情報」の一例である。人物画像認識部104によって新たに人物の画像情報が認識されると、案内済判定部108には、その人物の特徴量が新たに供給される。
その際、案内済判定部108は、人物画像認識部104によって過去に取得された特徴量に基づき、この新たに認識された人物が過去に案内相手とされた人物であるか否かを判定する。なお、案内済判定部108は、記憶した特徴量を、定められた期間(例えば数時間)が経過した場合、定められた時刻(例えば0時)になった場合又は案内ロボット1の電源の切断が行われた場合等に削除する。これにより、例えば何日も前に案内相手とされた人物が案内済みと判定されないようになっている。
人物画像認識部104は、人物の同異に関係なく人物IDを発行するので、例えば図5に表す人物C11の特徴量が過去に記憶されていたとしても、その特徴量に対応付けられている人物IDは、人物C11について新たに取得された特徴量に対応する人物IDとは異なっている。そこで、案内済判定部108は、記憶している特徴量のうち、新たに供給された特徴量との類似度が閾値以上となるものがあった場合に、それらの特徴量は同一人物の特徴量であり、すなわち、新たに供給された特徴量が取得された人物は案内済みの人物であると判定する。
案内済判定部108は、反対に、類似度が閾値以上となる特徴量がなかった場合には、新たに供給された特徴量が取得された人物は案内済みの人物ではないと判定する。案内済判定部108は、その判定結果を案内相手決定部107に通知する。案内相手決定部107は、新たに認識された人物についての案内済判定部108による判定の結果に基づいて、その人物を案内相手とするか否か決定する。
案内相手決定部107は、具体的には、案内済みと判定された人物が候補として抽出された場合は、その人物のポイントの合計値を減らす補正(例えば0.5倍する補正)を行う。そして、案内相手決定部107は、上記のとおり補正後の合計値が最大の人物を、案内相手として決定する。案内相手決定部107は、案内相手を決定すると、案内相手として決定した人物の人物IDを案内動作部110に供給する。
案内動作部110は、案内相手決定部107により案内相手と決定された人物に対して案内動作を実行する。案内動作部110は、情報発信部111と、向き変更部112と、移動部113とを備える。情報発信部111は、案内相手に対して、音声、映像及び動きを用いて、各種の情報を発信する。情報発信部111は、例えば、「何かお困りですか?」又は「お手伝いできることはありますか?」等の声掛けを示す音声情報を発信する。
また、情報発信部111は、想定される質問(例えば電車の発車時刻、ホーム、券売機の場所及び駅構内の施設の有無等を尋ねる質問)への回答を予め記憶しておき、I/F部6への操作により指定された質問(質問の選択肢から選択された質問又は文字入力で示された質問)への回答を発信する。また、情報発信部111への質問は、音声によっても行われる。
音収集部121は、案内ロボット1の周囲で発生した音を収集する。音収集部121は、収集した音を示す音データを音声認識部122に供給する。音声認識部122は、音収集部121により収集された音から音声を認識する。音声認識部122は、認識した音声を示すテキスト情報を案内動作部110及び案内終了判断部123に供給する。情報発信部111は、供給されたテキスト情報が想定される質問を示していた場合、その質問への回答を発信する。
向き変更部112は、案内ロボット1の正面方向A1の向き(つまりI/F部6の向き)を変更する。向き変更部112は、回転装置20に頭部2及び胸部3を回転させることで、正面方向A1の向きを変更する。例えば、案内動作部110には、向き関係特定部105から、特定された向き関係が供給される。向き変更部112は、供給された向き関係のうち、案内相手についての第2の向き関係(自己の向きと自己からその人物に向かう方向との乖離度)を小さくする方向に正面方向A1の向きを変更する。
これにより、案内ロボット1は、案内相手に正面方向A1を向けながら案内相手に対して案内動作を実行することができる。移動部113は、案内ロボット1を移動させる。移動部113は、走行装置19のモータを回転させることで、目標とする位置に案内ロボット1を移動させる。例えば、案内動作部110には、距離特定部106から、特定された人物距離が供給される。
移動部113は、案内相手についての第2の向き関係を小さくしつつ、人物距離を小さくする方向に案内ロボット1を移動させる。これにより、案内ロボット1は、離れている案内相手まで近寄ってから案内動作を実行することができる。なお、移動部113は、案内相手が特定の場所までの案内を希望した場合に、その場所まで移動することで道案内を行うこともできる。
案内終了判断部123は、案内相手決定部107により案内相手として決定された人物への案内動作部110による案内動作(情報発信、向きの変更、移動)が開始された後、その案内動作を終了させるか否かの判断を行う。案内終了判断部123は、案内の終了を判断するために定められた案内終了パラメータを用いてその判断を行う。案内終了判断部123は、例えば、音声認識部122により認識された音声という案内終了パラメータに基づき案内動作の終了を判断する。
案内終了判断部123は、例えば、案内動作の終了を指示する語句(「案内終了」、「終わり」及び「ありがとう」等)を記憶しておき、その語句が認識された場合に案内動作の終了を判断する。案内終了判断部123は、案内動作の終了を判断すると、案内動作を終了するよう案内動作部110に指示する。案内動作部110は、この指示を受け取ると、実行中の案内動作を終了する。これにより、案内相手が音声で案内動作を終了させることができる。
また、案内終了判断部123には、向き関係特定部105から、特定された向き関係が供給される。案内終了判断部123は、供給された向き関係のうち、案内相手の人物に関し新たに特定された向き関係という案内終了パラメータに基づき案内動作の終了を判断する。案内終了判断部123は、例えば、新たに特定された向き関係が示す値から図11に表すポイントテーブルを用いて上記と同様にポイントの合計値を算出する。案内終了判断部123は、算出した合計値が閾値以下になった場合に、案内動作の終了を判断する。
案内相手は、案内ロボット1が発信する情報に関心を持っている間は、案内ロボット1に対して(I/F部6に対して)正対して発信される情報を見聞きするが、必要な情報を得たら、前述した案内動作の終了を指示する語句を発することなく他の方向を向いて案内ロボット1の前から立ち去る場合がある。その場合でも、向き関係に基づく案内動作の終了が判断されることで、案内相手の案内ロボット1への関心が失われたときに案内動作を終了することができる。
また、案内終了判断部123には、人物画像認識部104から、認識された人物の人物IDが供給される。案内終了判断部123は、案内相手決定部107により案内相手として決定された人物の人物IDが人物画像認識部104から供給されなくなった、すなわち、その人物の画像情報が認識されなくなった場合に、案内動作の終了を判断する。
案内終了判断部123は、例えば、新たに特定された向き関係が示す値から図11に表すポイントテーブルを用いて上記と同様にポイントの合計値を算出する。案内終了判断部123は、算出した合計値が閾値以下になった場合に、案内動作の終了を判断する。これにより、案内相手が案内ロボット1の前からいなくなったときに案内動作を終了することができる。
図12は制御装置11の動作手順の一例を表す。この動作手順は、例えば案内ロボット1の電源が投入されることを契機に開始される。まず、制御装置11(撮影部103)は、自ロボットの周辺の光景の継続的な撮影を開始する(ステップS11)。次に、制御装置11(音出力部101又は光出力部102)は、音又は光の出力処理を行う(ステップS12)。
続いて、制御装置11(人物画像認識部104)は、撮影された画像に含まれる人物の画像情報を認識する(ステップS13)。次に、制御装置11(向き関係特定部105及び距離特定部106)は、認識された人物の画像情報に基づいてその人物と自己(案内ロボット1)との向きの関係及びその人物と自己との距離(人物距離)を特定する(ステップS14)。
続いて、制御装置11(案内相手決定部107)は、特定された向き関係及び人物距離に基づいてポイントの合計値を算出し(ステップS15)、合計値が閾値以上の人物が抽出されたか否かを判断する(ステップS16)。制御装置11(案内相手決定部107)は、合計値が閾値以上の人物が抽出されなかった(NO)と判断した場合は、ステップS12(出力処理)に戻って動作を行う。
制御装置11(案内相手決定部107及び案内済判定部108)は、合計値が閾値以上の人物が抽出された(YES)と判断した場合は、抽出した人物の中に案内済みの人物がいればその人物の合計値を補正する(ステップS17)。そして、制御装置11(案内相手決定部107)は、合計値が最大の人物を案内相手として決定する(ステップS18)。制御装置11(案内動作部110)は、案内相手と決定された人物に対して案内動作を実行する(ステップS21)。
次に、制御装置11(案内終了判断部123)は、案内終了パラメータ(認識された音声又は新たに特定された向き関係)を取得する(ステップS22)。続いて、制御装置11(案内終了判断部123)は、案内終了パラメータによる案内終了条件が満たされたか否かを判断し(ステップS23)、案内終了条件が満たされていない(NO)と判断した場合はステップS21に戻って案内動作を行う。
制御装置11(案内終了判断部123)は、案内終了条件が満たされた(YES)と判断した場合は、案内動作を終了する(ステップS24)。そして、制御装置11(案内済判定部108)は、案内相手として決定された人物の特徴量を記憶して(ステップS25)、この動作手順を終了する。
例えば駅の構内で電車のダイヤや施設などについて案内を望む人物の場合、案内ロボット1に気付いたら、案内ロボット1に関心を示し、例えば案内してもらえるかどうかを判断するため案内ロボット1の方を向くことになりやすい。一方、そのような案内を特に望んでいない人物の場合、案内ロボット1に気付いても、案内ロボット1には関心がないので、案内ロボット1の方を向くことはなく自分の移動方向や探している施設の方向などを向くことになりやすい。
本実施例では、上述した第1の向き関係(人物の向きとその人物から案内ロボット1に向かう方向との乖離度)に基づいて案内相手が決定される。人物が案内ロボット1の方を向くとこの乖離度が小さくなるので、第1の向き関係を用いることで、案内ロボット1に関心を示している人物を案内相手(情報発信の相手でもある)として決定することができる。
また、前述したように案内ロボット1に案内してもらえるかどうかを判断する場合、I/F部6がよく見えるように案内ロボット1の正面に移動することになりやすい。本実施例では、上述した第2の向き関係(案内ロボット1の向きと案内ロボット1からその人物に向かう方向との乖離度)に基づいて案内相手が決定されることで、そのように案内ロボット1を正面から見ようとしている人物を案内相手として決定することができる。
以上のとおり、本実施例では、第1の向き関係及び第2の向き関係を用いることで、向き関係に関係なく案内相手の可否を決定する場合に比べて、案内(情報発信を含む)を望んでいる可能性がより高い人物を案内相手(情報発信の相手)として決定することができる。また、案内を望む人物は、案内ロボット1の方に近づいてくるので、案内を望まない人物に比べて人物距離も短くなりやすい。
本実施例では、人物距離にも基づいて案内相手が決定されるので、案内ロボット1に近づいてくる人物(他の人物に比べて案内を望む人物である可能性が高い人物)を他の人物に比べて案内相手として決定しやすくすることができる。また、本実施例では、案内済みの人物についてはポイントの合計値を減らす補正がなされた。これにより、まだ案内をされていない人物を案内済みの人物に比べて案内相手として決定しやすくすることができる。
[2]変形例
上述した実施例は本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、実施例及び各変形例は必要に応じてそれぞれ組み合わせてもよい。
[2-1]出力処理の活用
音出力部101及び光出力部102による音及び光の出力を、案内相手の決定に活用してもよい。例えば、案内相手決定部107は、音出力部101による音の出力又は光出力部102による光の出力(少なくとも一方の出力。両方の出力であってもよい)の前後において人物画像認識部104により画像情報が認識された人物についての向き関係の変化に基づいてその人物を案内相手とするか否か決定する。
図13は本変形例の制御装置11の動作手順の一例を表す。以下では図12の動作手順と異なる点を中心に説明する。まず、制御装置11は、ステップS11(撮影開始)、S13(人物の画像情報の認識)、S14(向き関係及び人物距離の特定)に相当する動作をステップS31、S32、S33で行う。そして、制御装置11(案内相手決定部107)は、特定された向き関係及び人物距離に基づくポイントの合計値を第1合計値として算出する(ステップS34)。
次に、制御装置11は、ステップS12(出力処理)と同様に音又は光の出力処理を行う(ステップS41)。続いて、制御装置11は、S13(人物の画像情報の認識)、S14(向き関係及び人物距離の特定)に相当する動作をステップS42、S43で行う。そして、制御装置11(案内相手決定部107)は、特定された向き関係及び人物距離に基づくポイントの合計値を第2合計値として算出する(ステップS44)。
制御装置11は、ステップS42の人物の画像情報の認識を、ステップS41の出力処理から一定の時間以上経過してから行う。一定の時間としては、出力された音又は光に気付いた人物が向きを変えたり位置を変えたりすることができる時間(例えば1~2秒程度)が定められる。次に、制御装置11(案内相手決定部107)は、算出した第2合計値に、第1合計値及び第2合計値の差分を合算する(ステップS51)。
制御装置11は、詳細には、第2合計値から第1合計値を減じた値を差分として、第2合計値に合算する。つまり、第1合計値よりも第2合計値の方が大きければ、合算値は第2合計値よりも大きくなるし、第1合計値よりも第2合計値の方が小さければ、合算値は第2合計値よりも小さくなる以降、制御装置11は、図12のステップS16(人物の抽出)、S17(合計値補正)、S18(案内相手の決定)を、合計値を合算値に変えた動作をステップS52、S53、S54で行う。
案内相手は、案内ロボット1の存在に気付いている人物から決定するのが望ましい。例えば、案内ロボット1の存在に気付いていない第1の人物がたまたま案内ロボット1の正面方向にいて且つ案内ロボット1の方を向いていたとする。その場合、案内ロボット1の存在に気付いた第2の人物が案内をしてもらうため案内ロボット1に近づこうとしているが正面方向から遠い場所にいた場合、その第2の人物は第2の向き関係によるポイントが小さいので、案内相手として決定されないことになる。
本変形例では、出力された音又は光に気付いて案内ロボット1の方を向いたり案内ロボット1の正面に移動したりした人物は差分が大きくなって合算値が大きくなる。そのため、第2の人物が音又は光に気付いて案内ロボット1の方を振り向く動作を行えば、第1の人物よりも合算値が大きくなって案内相手として決定されることが起こり易くなる。このように、本変形例では、案内ロボット1が出力した音又は光に気付いた人物、すなわち案内ロボット1に気付いた人物を案内相手として決定することができる。
言い換えると、音又は光の出力の前後の変化を用いない場合に比べて、案内ロボット1に気付いていない人物が案内相手として決定されにくいようにすることができる。なお、案内相手決定部107は、音又は光の出力の前後において画像情報が認識された人物についての人物距離の変化に基づいてその人物を案内相手とするか否か決定してもよい。案内を望む人物が音又は光に気付けば、案内ロボット1の方に近づいてくることになりやすいから、この場合も、案内ロボット1が出力した音又は光に気付いた人物がこれに気付いていない人物に比べて案内相手として決定されやすくなる。
[2-2]音及び光の変化
音出力部101が出力する音及び光出力部102が出力する光を変化させてもよい。例えば、音出力部101は、マイクロフォンが収集する音が大きいほど、出力する音の音量を大きくして出力する。これにより、音量が一律の場合に比べて、周りがうるさい環境では出力された音が周囲の人物に聞こえやすくすることができ、周りが静かな環境では出力された音がうるさく聞こえないようにすることができる。
また、音出力部101は、現在時刻に応じた音声を出力する。音出力部101は、例えば朝なら「お早うございます」、昼なら「こんにちは」、夜なら「こんばんは」というように挨拶の言葉を変化させたり、通勤時間なら「いってらっしゃい」と言ったりする。これにより、案内ロボットが時刻を認識していることを音声の聞き手に知ってもらうことができる。
また、案内ロボットが明るさの度合い(例えば照度)を検出するセンサを備えている場合に、光出力部102は、検出された明るさの度合いが大きい(明るい)ほど、出力する光を強くする。これにより、周囲が明るい環境でも、案内ロボット1の存在に気付いてもらいやすくなる。
また、人物画像認識部104により人物画像が認識された人物の数が多いほど、音出力部101が出力する音を大きくし、光出力部102が出力する光を強くしてもよい。これにより、これにより、周囲に人が多くいる環境でも、案内ロボット1の存在に気付いてもらいやすくなる。
[2-3]動き及び移動
案内ロボット1は、実施例では、自ロボットの存在を周囲の人物に気付いてもらうために音及び光を出力したが、それに代えて又はそれに加えて、向き変更部112による向きの変更及び移動部113による移動を行ってもよい。例えば、向き変更部112が左右に向きを変更させることで案内ロボット1が左右に頭を振るような動作を行ったり、移動部113が円を描くように案内ロボット1を移動させたりしてもよい。
その場合に、人物画像認識部104により人物画像が認識された人物の数が多いほど、動作を大袈裟にしてもよい。具体的には、動作を大きくしたり、動作を早くしたり、動作の回数を増やしたりしてもよい。これにより、周囲に人が多くいる環境でも、案内ロボット1の存在に気付いてもらいやすくなる。
[2-4]画像に写っている時間
撮影部103により撮影された画像に写っている時間の長さを案内相手の決定に活用してもよい。この場合、案内相手決定部107は、人物が撮影部103により撮影された画像に写っている時間に基づいてその人物を案内相手とするか否か決定する。この時間は、被写体である人物への撮影が継続された時間を表すので、以下では「撮影継続時間」という。
本変形例では、人物画像認識部104が、画像情報を認識する度に、認識した人物の人物IDを案内相手決定部107に供給する。案内相手決定部107は、同じ人物IDが継続して供給されている時間を、その人物IDが発行された人物の撮影継続時間として判断する。案内相手決定部107は、例えば、ポイントの合計値を、撮影継続時間に応じた係数を乗じて補正する。この補正は、例えば撮影継続時間と係数とを対応付けた係数テーブルを用いて行われる。
図14は係数テーブルの一例を表す。図14の例では、「Th51未満」、「Th51以上Th52未満」、「Th52以上」という撮影継続時間の範囲に「0.7」、「1.0」、「1.3」という係数が対応付けられている。案内相手決定部107は、図12のステップS15において、人物のポイントの合計値を算出する際に、その人物の撮影継続時間に係数テーブルで対応付けられた係数を合計値に乗じた値を、その人物のポイントの合計値として算出する。
案内ロボット1の撮影範囲は、図6に表すように、案内ロボット1から離れるほど、広い範囲になる。そのため、案内ロボット1から見て同じ方向にいる人物でも、人物距離が短い人物はすぐに正面方向A1に移動できるが、人物距離が長くなるほど、正面方向A1に移動する際の距離も長くなる。そのため、人物が案内ロボット1から離れているほど、人物距離によるポイントが小さくなることはもちろん、第2の向き関係によるポイントも小さくなりやすいから、案内相手として決定されにくい。
一方で、人物距離が長くなるほど、撮影範囲が広くなるから、撮影継続時間は長くなりやすい。本変形例では、上記のとおり撮影継続時間が長いほどポイントの合計値を大きくする補正を行っているので、撮影継続時間を用いない場合に比べて、案内ロボット1から離れた人物でも案内相手として決定されやすいようにすることができる。
[2-5]乖離度
実施例では、乖離度は、2つの方向が成す角度の大きさによって表されたが、これに限らない。例えば2つの方向が乖離する度合いを表す「大」、「中」、「小」等の3段階の指標によって表されてもよいし、2段階又は4段階以上の指標によって表されてもよい。それらの場合、図11に表す値の範囲を指標に置き換えることで、ポイントの合計値が算出されて、案内相手が決定される。
[2-6]相関情報
案内相手決定部107は、実施例では、3つの相関情報(第1の向き関係、第2の向き関係及び人物距離)を全て用いて案内相手を決定したが、これに限らず、例えば画像情報が認識された人物が少ない場合や混雑しないと予め分かっている時間帯などは、第1の向き関係だけを用いてもよいし、第2の向き関係だけを用いてもよい。少なくとも、案内相手決定部107は、少なくとも1つの向き関係を用いて案内相手を決定すればよい。そうすることで、実施例と同様に、向き関係に関係なく案内相手の可否を決定する場合に比べて、案内を望んでいる可能性がより高い人物を案内相手として決定することができる。
[2-7]案内動作
案内動作部110は、実施例とは異なる案内動作を行ってもよい。例えば、案内動作部110は、情報発信の際に、音声、映像及び動きのうちの1つ又は2つだけを用いてもよいし、向きの変更及び移動は行わなくてもよい。ただし、案内動作部110は、少なくとも何らかの情報を発信する動作を行うことが望ましい。その場合、案内相手決定部107は、人物の向き関係及び人物距離に基づいて、その人物を情報発信の相手とするか否かを決定する。
[2-8]案内ロボットの動作
案内ロボットは、実施例では、回転の動作と首振りの動作の両方を行ったが、これに限らない。例えば、案内ロボットは、座部5が移動せずに設置場所に固定される位置固定型であってもよい。その場合は頭部2及び胸部3による首振りの動きだけが行われる。また、案内ロボットは、頭部2及び胸部3が回転せずに固定されている向き固定型であってもよい。その場合は座部5による回転の動きだけが行われる。また、案内ロボットは、首振りの動きも回転の動きも行わない完全固定型であってもよい。いずれの場合も、案内ロボットの正面方向が周囲の人物から認識可能になっていて向き関係が特定できるようになっていればよい。
[2-9]発明の適用対象
本発明の適用対象は、案内ロボットに限らない。例えば、券売機、キオスク端末及びATM(Automatic Teller Machine)等に適用されてもよい。これらの装置は、移動及び動作による案内は行わないが、自装置を利用する人物に対して情報発信(使い方の説明など)を行う。
また、これらの装置の場合、例えば装置が有する画面の法線の水平方向成分が正面方向として認識される。このように、いずれの場合も、装置の正面方向が周囲の人物から認識可能になっていて向き関係が特定できるようになっていればよい。いずれの装置(案内ロボットを含む)も、撮影された画像を画像処理して人物の画像情報を認識し、情報発信の相手を決定する本発明の「画像処理装置」の一例である。