説明

位置検出装置、自律移動装置、位置検出方法および位置検出プログラム

【課題】音源物体の検出成功率を向上させるとともに安定させること。
【解決手段】ロボット装置100において、画像入力部112によって入力された画像と、音源情報の適用視覚情報とに基づいて画像処理手順を実行して音源物体102の視覚特徴を検出し、音源物体102の少なくとも方位を示す視覚定位情報を出力する視覚特徴検出定位部114と、音声入力部113によって入力された音声と、音源情報の適用聴覚情報とに基づいて音声処理手順を実行して音源物体102の聴覚特徴を検出し、音源物体102の少なくとも方位を示す聴覚定位情報を出力する聴覚特徴検出定位部115と、検出戦略情報に基づいて、視覚特徴検出定位部114または聴覚特徴検出定位部115を制御し視覚定位情報または聴覚定位情報から音源物体102の存在する位置を検出する音源物体検出部116とを備えた。

【発明の詳細な説明】
【技術分野】
【0001】
人物などの音を発生する物体である音源物体が存在する方向を検出する位置検出装置、位置検出方法および位置検出プログラム、検出した音源物体の方向により音源物体との位置関係を制御して自律移動を行う自律移動装置に関する。
【背景技術】
【0002】
人物などの音を発する音源物体の視覚特徴を検出することで追従するようなロボット装置の技術が従来から一般的に知られている。このようなロボット装置では、音源物体をカメラ等の画像入力手段で撮像した画像から音源物体の視覚特徴を検出しているが、音源物体を視覚的に検出可能な範囲で音源物体である人物を撮像することには限界がある。例えば、人物がカメラの視界から外れた場合や、人物が視覚的に検出可能な範囲から逸脱した場合、あるいは人物が障害物等の別の物体の陰に隠れてしまった場合など、視覚特徴に基づく追従を行うことができない。
【0003】
このように音源物体を視覚的に見失った場合、この音源物体が音声を発することにより、音声が発せられた方向にこの音源物体が存在すると判断し、当該方向にカメラを向けたり、あるいはその方向に移動する等の探索動作を行うことで、音源物体を視覚的に再検出して追従を再開することが考えられる。このような技術としては、テレビ会議システムにおいて、発言者を映すために音のした方向にカメラを向け、さらにカメラを向けてから顔をフレーミングするという技術が提案されている。
【0004】
このような技術を、自律移動可能なロボットに適用した場合、対象人物のみが声を発するとは限らないため、例えば、人物の他にドアやテレビなどの複数の音源が存在して、それぞれが自在に音を発することのできる状況があり、この場合には、今聞こえた音が見失った人物の声であるとは限らないため、ロボットは人物の位置を聴覚的に特定することができない。
【0005】
このため、人物の音声を他の人物の音声や他の音と区別できる機能が必要となってくるが、このためには、視覚特徴だけではなく、聴覚特徴のいずれにおいても、識別できる必要がある。
【0006】
音源物体の画像に関する情報と音声に関する情報を利用して物体の検出を行うロボット装置としては、特許文献1に開示された技術がある。この従来技術では、ある物体が見えているときに聞こえる人物の音声を語彙認識して得られる文字列を、当該物体の画像と組にして記憶するものである。この従来技術では、利用者は、ある物体を見せてその名前を発話してロボット装置に聞かせることにより、ロボット装置に物体の名称を記憶させ、ロボット装置は記憶された物体を視覚的に検出すると、画像と組になっている物体の名称を音声合成によって発声する。
【0007】
【特許文献1】特開2002−307349号公報
【非特許文献1】「ハフ変換を用いた音源音のクラスタリングとロボット用聴覚への応用」人工知能学会第22回AIチャレンジ研究会、Oct. 2005
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、この従来技術では、ロボット装置は、物体から発せられる音声を利用してはいるが、物体の画像を視覚によって検出する際に、聴覚による検出を補助的に利用しているだけである。また、物体の画像と対応付けられる音声は、物体を見せている利用者の発する言葉であり、その物体から発せられた音ではない。このため、ある音源物体を見失った場合において、音源物体の検出を行うことができず、追従することができない場合がある。
【0009】
本発明は、上記に鑑みてなされたものであって、音源物体の視覚特徴に基づく検出と聴覚特徴に基づく検出を併用、かつ調整して組み合わせることにより、音源物体の検出成功率を向上させるとともに安定させることができる位置検出装置、自律移動装置、位置検出方法および位置検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、本発明は、視覚的かつ聴覚的に識別可能な物体である音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した画像処理手順と前記画像処理手順によって参照されて前記音源物体の視覚的な特徴を示す視覚特徴情報とを含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した音声処理手順と前記音声処理手順によって参照されて前記音源物体の聴覚的な特徴を示す聴覚特徴情報とを含む適用音声処理情報と、前記適用画像処理情報と前記適用音声処理情報のいずれかまたは双方を用いて前記音源物体を検出するかを示す複数の検出戦略情報とを含む音源情報を記憶する記憶手段と、前記音源物体を撮像した画像を入力する画像入力手段と、前記音源物体から発生する音声を入力する音声入力手段と、前記画像入力手段によって入力された画像と、前記音源情報の前記適用画像処理情報とに基づいて前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位手段と、前記音声入力手段によって入力された音声と、前記音源情報の前記適用音声処理情報とに基づいて前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位手段と、前記検出戦略情報に基づいて、前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御し、前記視覚特徴検出定位手段により出力される前記視覚定位情報または前記聴覚特徴検出定位手段から出力される聴覚定位情報から前記音源物体の存在する位置を示す位置情報を検出する音源物体検出手段と、を備えたことを特徴とする位置検出装置である。
【0011】
また、本発明は、駆動部による駆動によって移動可能な自律移動装置であって、視覚的かつ聴覚的に識別可能な物体である音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した画像処理手順と前記画像処理手順によって参照されて前記音源物体の視覚的な特徴を示す視覚特徴情報とを含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した音声処理手順と前記音声処理手順によって参照されて前記音源物体の聴覚的な特徴を示す聴覚特徴情報とを含む適用音声処理情報と、前記適用画像処理情報と前記適用音声処理情報のいずれかまたは双方を用いて前記音源物体を検出するかを示す複数の検出戦略情報とを記憶する記憶手段と、前記音源物体を撮像した画像を入力する画像入力手段と、前記音源物体から発生する音声を入力する音声入力手段と、前記画像入力手段によって入力された画像と、前記音源情報の前記適用画像処理情報とに基づいて前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位手段と、前記音声入力手段によって入力された音声と、前記音源情報の前記適用音声処理情報とに基づいて前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位手段と、前記検出戦略情報に基づいて、前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御し、前記視覚特徴検出定位手段により出力される前記視覚定位情報または前記聴覚特徴検出定位手段から出力される聴覚定位情報から前記音源物体の存在する位置を示す位置情報を検出する音源物体検出手段と、前記音源物体検出手段による前記音源物体の前記位置情報に基づいて前記音源物体との位置関係を制御する位置関係制御手段と、を備えたことを特徴とする自律移動装置である。
【0012】
また、本発明は、上記装置で実行させる位置検出方法および位置検出プログラムである。
【発明の効果】
【0013】
本発明によれば、音源物体の視覚特徴に基づく検出と聴覚特徴に基づく検出を併用、かつ調整して組み合わせることにより、音源物体の検出成功率を向上させるとともに安定化させることができるという効果を奏する。
【発明を実施するための最良の形態】
【0014】
以下に添付図面を参照して、この発明にかかる位置検出装置、自律移動装置、位置検出方法および位置検出プログラムの最良な実施の形態を詳細に説明する。なお、以下に説明する実施の形態では、本発明にかかる位置検出装置、自律移動装置を、自律移動型ロボット装置(以下、「ロボット装置」という。)に適用したものである。なお、本実施の形態に限定されず、物体検出を行うもの、物体検出を行って自律移動を行うものであれば、ロボット装置以外の装置にも本発明を適用することができる。
【0015】
(実施の形態1)
図1は、実施の形態1にかかるロボット装置の構成を示すブロック図である。本実施の形態にかかるロボット装置100は、図1に示すように、画像入力部112と、音声入力部113と、近接センシング部118と、視覚特徴検出定位部114と、聴覚特徴検出定位部115と、音源物体検出部116と、音源情報学習部117と、位置関係制御部119と、駆動部121と、記憶部111とを主に備えている。
【0016】
人物は顔や着衣の違いにより視覚的に他と区別可能な物体である。また、同時に人物は声を発したり音をたてたりするので、その声や音によって聴覚的に他と区別可能な物体でもある。このように視覚的かつ聴覚的に識別可能な物体を音源物体という。また、このような音源物体をその視覚特徴によって検出することを視覚的検出、その聴覚特徴によって検出することを聴覚的検出という。
【0017】
画像入力部112は、音を発生することが可能な物体である音源物体を撮像して画像データを入力するものである。画像入力部112は、具体的には、電動雲台付きのステレオカメラであり、ステレオカメラによる映像を一定周期毎に取り込んでステレオ入力画像データとして出力している。
【0018】
音声入力部113は、音源物体から発せられた音声を入力するものである。音声入力部113は、具体的には、複数のマイクロホンであり、マイクロホンからの音響信号を取り込んで多チャンネルの入力音声ストリームデータとして出力する。
【0019】
近接センシング部118は、近接する物体や段差等の有無を検知するものであり、具体的には、複数の超音波センサやPSDセンサ(Position Sensitive Detector)を備え、当該センサによってロボット装置に近接する物体や段差の有無を方位別に検出し、どの方位に近接物体や段差が存在するかを示す近接物体・段差検出情報を出力する。
【0020】
記憶部111は、ハードディスクドライブ装置(HDD)やメモリ等の記憶媒体であり、音源情報と、プログラム形式の複数の画像処理手順と、プログラム形式の複数の音声処理手順と、3個の検出戦略情報が記憶されている。
【0021】
音源情報は、音源物体の検出を行うための知識情報を音源物体ごとに登録した情報である。図2は、音源情報の内容を模式的に示したブロック図であり、図3は、実施の形態1にかかる音源情報のデータの一例を示す説明図である。
【0022】
図2および図3に示すように、音源情報201は、種別コード情報202と、適用画像処理情報203と、適用音声処理情報204と、適用検出戦略情報205とが対応付けられている。
【0023】
種別コード情報202は、音源物体ごとに付与される固有の文字列、記号、番号などの識別情報である。
【0024】
適用画像処理情報203は、視覚特徴によって入力画像データから音源物体を検出するための各種情報であり、具体的には、音源物体を視覚的に検出識別するために適用可能な画像処理を記述した一または複数の画像処理手順211と各画像処理手順によって参照されて音源物体の視覚的な特徴を示す複数の視覚特徴情報215と、各画像処理手順211を適用する際の優先順位である適用優先度212と、成功確率213とが対応付けられており(点線部分)、さらに視覚的成功確率214を有している。
【0025】
音源物体を視覚的に検出するために用いられる画像処理手順211と視覚特徴情報215の例としては、例えば音源物体が人物である場合、当該人物の顔特徴を視覚特徴情報215とし、これを検出識別するための画像処理手法が画像処理手順211となる。このような画像処理としては、たとえば、特開2000−30065号に開示された技術を使用することができる。
【0026】
また、顔は人物が後ろを向いてしまうと検出も識別もできなくなる。そこで、人物の頭部と着衣の色などを手がかりに同一人物を検出する画像処理手順211と視覚特徴情報215を適用画像処理情報203に登録しておく。人物の頭部と着衣を検出する画像処理手順としては、例えば、学術文献「移動カメラによる人物識別のための色パターンの獲得」(ロボメカ2005、1P2-N-046、Jun. 2005)に開示されている技術を使用することができる。
【0027】
成功確率213は、音源物体を画像処理手順によって検出しようとした期間(試行期間長)に対する検出できていた期間(成功期間長)の比率である。視覚的成功確率214は、適用可能な各画像処理手順211の成功確率213のうち最大の確率である。
【0028】
適用優先度212は、音源物体に適用可能な全ての画像処理手順211の成功確率213を大きい順に並べたときの順位(1、2...)であり、適用優先度212は番号が小さい程優先順位が高くなる。
【0029】
視覚特徴情報215は、画像処理手順を実行する際に当該音源物体を検出するために参照しなければならない音源物体の画像的特徴を記した情報であり、例えば、顔によって特定の人物を検出する画像処理手順211に対応した視覚特徴情報は、この画像処理手順の参照する人物の顔画像パターン情報である。
【0030】
適用音声処理情報204は、聴覚特徴によって入力音声データから音源物体を検出するための各種情報であり、具体的には、音源物体を聴覚的に検出識別するために適用可能な音声処理を記述した複数の音声処理手順221と各音声処理手順221によって参照されて音源物体の聴覚的な特徴を示す複数の聴覚特徴情報225と、各音声処理手順221を適用する際の優先順位である適用優先度222と、成功確率223とが対応付けられ(点線部分)、さらに聴覚的成功確率224を有している。
【0031】
音源物体を聴覚的に検出するために使用される音声処理手順224と聴覚特徴情報225としては、例えば、音源物体が人物である場合、当該人物の声紋特徴を聴覚特徴情報とし、これを検出識別するための音声処理が音声処理手順221となる。このような音声処理手順としては、例えば、特開平10−97274号公報に開示された技術を用いることができる。
【0032】
また、声は人物が黙ってしまうと検出も識別もできなくなる。そこで、人物の足音を手掛かりに同一人物を検出する音声処理手順221と聴覚特徴情報225を適用音声処理情報204に登録しておく。このような足音を検出する音声処理手順221としては、例えば、特開2000−268265号公報に開示された技術を使用することができる。
【0033】
成功確率223は、音源物体を音声処理手順221によって検出しようとした期間(試行期間長)に対する検出できていた期間(成功期間長)の比率である。聴覚的成功確率224は、適用可能な各音声処理手順221の成功確率223のうち最大の確率である。
【0034】
適用優先度222は、音源物体に適用可能な全ての音声処理手順221の成功確率223を大きい順に並べたときの順位(1、2...)であり、適用優先度222は番号が小さい程優先順位が高くなる。
【0035】
聴覚特徴情報225は、音声処理手順221を実行する際に音源物体を検出するために参照しなければならない音源物体の音声的特徴を記した情報である。例えば、声によって特定の人物を検出する音声処理手順221に対応した聴覚特徴情報225は、この音声処理手順221の参照する人物の声紋パターン情報である。
【0036】
適用検出戦略情報205は、音源物体を検出する際に使用可能な次の3つの検出戦略に対する適用優先度を記述した情報である。具体的には、適用検出戦略情報205には、「A=1,B=2,C=3」のように設定される。なお、図3に示す例では、適用する順に検出戦略情報を「A,B,C」のように記述している。この場合には、検出戦略A、検出戦略B、検出戦略Cの順に適用優先度が高くなっている。
【0037】
検出戦略情報は、検出戦略A、検出戦略B、検出戦略Cの3個が記憶部に記憶されている。なお、本実施の形態では、検出戦略情報を3個としているが、これに限定されるものではない。
【0038】
検出戦略Aは、視覚特徴検出定位部114による視覚特徴による検出を優先させ、視覚特徴による検出が失敗したときにのみ、聴覚特徴検出定位部115による聴覚特徴による検出を行うものである。このため、視覚的に検出できている間は聴覚的な検出処理を休止させておくことができ、これにより、ロボット装置100の計算資源を節約することができる。
【0039】
検出戦略Bは、聴覚特徴検出定位部115による聴覚特徴による検出を優先させ、聴覚特徴による検出が失敗したときにのみ、視覚特徴検出定位部114による視覚特徴による検出を行う。このため、聴覚的に検出できている間は視覚的な検出処理を休止させておくことができ、このためロボット装置100の計算資源を節約することができる。
【0040】
検出戦略Cは、視覚特徴検出定位部114による視覚特徴による検出と聴覚特徴検出定位部115による聴覚特徴による検出を常時使用し、両方で検出された場合には検出精度(識別精度、距離推定精度、方向推定精度)が高いと見込まれる方の検出結果を使用する。検出精度は視覚的な場合が聴覚的な場合よりも総じて高いと考えられるため、本実施の形態では、視覚的な検出結果を優先的に使用する。なお、この関係は実装される検出方式の組み合わせによって変わる可能性があり、例えば、検出戦略Cは、視覚的検出と聴覚的検出を同時に稼動させるため、計算資源の節約はできないが、二重に検出を試みるので音源物体を検出し損なう確率を他の戦略A,Bよりも低減することができる。
【0041】
音源物体は、その性質として、視覚的検出確率214(視覚的な検出し易さ)と聴覚的検出確率224(聴覚的な検出し易さ)との間に特有の違いが存在すると考えられる。例えば、背の高い大人は、物陰に隠れてしまう確率が低く、常時声を出すものではないので、聴覚よりも視覚による検出の成功確率が高いと考えられる。
【0042】
一方、赤ちゃんは、物陰に隠れてしまう確率は高いが、比較的頻繁に声を出すので、視覚よりも聴覚による検出の成功確率が高いと考えられる。
【0043】
このように、視覚的検出確率が聴覚的検出確率を上回る音源物体では視覚特徴による検出を優先させる検出戦略Aがより有効であり、聴覚的検出確率が視覚的検出確率を上回る音源物体では聴覚特徴による検出を優先させる検出戦略Bがより有効である。両者に著しい差のない音源物体では視覚と聴覚のいずれを優先させても構わないが、視覚的検出確率と聴覚的検出確率がともに低いような音源物体では視覚と聴覚の併用による検出戦略Cが見失いの発生率を最も抑えられるので適している。
【0044】
本実施の形態にかかるロボット装置100では、このような音源物体の状況に応じて検出戦略情報を選択して適用している。
【0045】
図1に戻り、視覚特徴検出定位部114は、画像入力部112によって入力された画像と、音源情報の適用視覚情報とに基づいて、適用優先度に従って画像処理手順を選択し、選択された画像処理手順を実行して、音源物体の視覚特徴を検出し、音源物体の少なくとも方位を求める画像処理手順を実行して音源物体の視覚特徴を検出し、音源物体の少なくとも方位を求める処理部である。
【0046】
すなわち、視覚特徴検出定位部114は、記憶部111に記憶されるている所定の音源物体の視覚特徴を検出するための適用画像処理情報202から、音源物体に適した一または複数の画像処理手順211と画像処理手順211で参照される視覚特徴情報215に基づいて、画像入力部112によるステレオ入力画像データから視覚特徴を有する画像領域を検出する。そして、画像領域を検出した場合は、音源物体が視覚的に検出できたとして、ステレオ計測によって該画像領域に写る音源物体のロボット装置100に対する相対的な距離を算定し、同時にその画像中における位置(縦と横の画角に対する割合)と画像入力部112の備えるカメラの向き(パン角とチルト角)とから音源物体のロボット装置100に対する相対的な方向(パン角とチルト角)を算定し、これらを音源物体の距離と方向として、当該音源物体の種別コード、相対距離、相対方向を編集した視覚定位情報を出力する。
【0047】
なお、検出された顔、頭部、着衣などの各領域とロボット装置100との相対距離は、ステレオ画像の双方で領域を検出し、対応する領域中心同士の両眼視差から三角測量によって求めることができる。また、各領域とロボット装置100との相対方向は、ステレオ画像の一方における各領域中心の位置からそれぞれ求めることができる。
【0048】
また、視覚特徴検出定位部114は、後述する音源情報学習部117による学習の際において、入力画像の指定領域(検出されている音源物体と略同一方向を写す画像領域)から現在選択されている画像処理手順211で利用されるべき視覚特徴情報215を抽出し、既に存在する当該音源物体の同種の視覚特徴情報215に追加したり、同種の視覚特徴情報がなければ新規に視覚特徴情報215を生成して当該音源物体の追加する処理を行う。
【0049】
聴覚特徴検出定位部115は、音声入力部113によって入力された音声と、音源情報の視覚情報とに基づいて、適用優先度に従って音声処理手順を選択し、選択された音声処理手順を実行して、音源物体の聴覚特徴を検出し、音源物体の少なくとも方位を求める処理部である。
【0050】
すなわち、聴覚特徴検出定位部115は、音声入力部113による多チャンネルの入力音声ストリームデータを解析して方向の異なる音源毎に分離された指向性音声ストリームデータを抽出する。また、聴覚特徴検出定位部115は、記憶部111に記憶されている適用音声処理情報203から、音源物体に適した一または複数の音声処理手順221と音声処理手順221で参照される聴覚特徴情報225に基づいて、各指向性音声ストリームデータから聴覚特徴を有するものを検出する。そして、このような指向性音声ストリームデータを検出した場合は、音源物体が聴覚的に検出できたとして、その指向性音声ストリームデータの音源位置(距離とパン角とチルト角)を該音源物体のロボット装置100に対する相対的な距離と方向(パン角とチルト角)として定め、当該音源物体の種別コード情報、相対距離、相対方向を編集した聴覚定位情報を出力する。
【0051】
なお、音声入力部113による多チャンネルの入力音声ストリームデータを解析して方向の異なる音源を検出して空間定位(距離とパン角とチルト角を算定)し、かつ検出・定位された音源毎に音源からの音声(指向性音声ストリームデータ)を分離・抽出する手法としては、例えば、非特許文献1の「『ハフ変換を用いた音源音のクラスタリングとロボット用聴覚への応用』人工知能学会第22回AIチャレンジ研究会、Oct. 2005」に開示されている技術を使用することができる。
【0052】
また、聴覚特徴検出定位部115は、後述する音源情報学習部121による学習の際において、指定の指向性音声ストリームデータ(検出されている音源物体と略同一方向から入射した指向性音声ストリームデータ)から現在選択されている音声処理手順221で利用されるべき聴覚特徴情報225を抽出し、既に存在する当該音源物体の同種の聴覚特徴情報225に追加したり、同種の聴覚特徴情報がなければ新規に聴覚特徴情報225を生成して当該音源物体に追加する処理を行う。
【0053】
音源物体検出部116は、視覚特徴検出定位部114と聴覚特徴検出定位部115を制御して音源物体の視覚的検出や聴覚的検出を行わせる処理部である。具体的には、音源物体検出部116は、適用検出戦略情報で定められた優先順位で検出戦略A〜Cの中から一つの検出戦略情報を選択し、選択された検出戦略情報に基づいて視覚特徴検出定位部114または聴覚特徴検出定位部115を制御し、視覚特徴検出定位部114による視覚定位情報と聴覚特徴検出定位部115による聴覚定位情報を用いて音源物体の方向と距離を記述した音源物体検出情報を生成する。
【0054】
また、音源物体検出部116は、視覚的検出や聴覚的検出の結果に応じて成功確率や適用優先度を更新する。なお、音源物体検出部116は、視覚特徴検出定位部114、聴覚特徴検出定位部115を制御する他、記憶部111、画像入力部112、音声入力部113、音源情報学習部117の動作を制御する。
【0055】
位置関係制御部119は、音源物体検出部116により出力された音源物体検出情報により、音源物体とロボット装置100の位置関係を制御する処理部である。また、位置関係制御部119は、近接センシング部118による近接物体・段差検出情報に基づいて、進行方向に近接物体や段差を検出した場合には安全のために停止するように駆動部121に指令を送出しロボット装置100を制御する。
【0056】
なお、位置関係制御部119は、記憶部111、画像入力部112、音声入力部113、視覚特徴検出定位部114、聴覚特徴検出定位部115、近接センシング部118および駆動部121の動作を制御する。
【0057】
音源情報学習部117は、視覚特徴検出定位部114で使用される視覚特徴情報215や聴覚特徴検出定位部115で使用される聴覚特徴情報225を運用中に学習強化するための処理部である。
【0058】
音源情報学習部117は、視覚特徴検出定位部114によって音源物体が検出されている期間に、該音源物体の検出されている方向と略同一方向から入力される音声を選択して選択された音声から音源物体の聴覚特徴情報を生成して、生成した聴覚特徴情報を、記憶部111の音源物体の種別コード情報に対応した適用音声処理情報204に登録する。また、音源情報学習部117は、聴覚特徴検出定位部115によって音源物体が検出されている期間に、該音源物体の検出されている方向と略同一方向を撮像した画像の領域から音源物体の視覚特徴情報を生成して、生成した視覚特徴情報を記憶部111の音源物体の識別情報に対応した適用画像処理情報204に登録する。
【0059】
このために、上述したように、視覚特徴検出定位部114は入力画像の指定領域から現在選択されている画像処理手順211で利用されるべき視覚特徴情報215を抽出し、音源物体の同種の視覚特徴情報215への追加や視覚特徴情報215の新規生成を行っている。
【0060】
同様に、聴覚特徴検出定位部115は指定の指向性音声ストリームデータから現在選択されている音声処理手順221で利用されるべき聴覚特徴情報225を抽出し、音源物体の同種の聴覚特徴情報225への追加や聴覚特徴情報225の新規生成を行っている。
【0061】
このような学習機能により、適用可能な画像処理手順211に必要な視覚特徴情報215や適用可能な音声処理手順221に必要な聴覚特徴情報225を、音源物体を検出している間に新規にあるいは追加で学習することができ、例えば視覚特徴情報215しか有さないために、実質的に視覚的にしか音源物体を検出できなかった状態から出発して、聴覚的にも検出できるようになり、あるいは既存の視覚特徴情報が古くなって現在では検出が困難になった場合でも、聴覚的に検出できる間に再学習して視覚的にも検出が可能となる。
【0062】
なお、画像処理手順211や音声処理手順221は、所定の視覚特徴情報215や聴覚特徴情報225を参照して画像処理や音声処理を行うプログラムモジュールとして記憶部111に記憶されており、視覚特徴検出定位部114や聴覚特徴検出定位部115は、これらのプログラムモジュールをロードして実行するようになっている。
【0063】
また、上記プログラムモジュールには双対を成す学習用の画像処理や音声処理を行うプログラムモジュールが記憶部111に記憶されており、音源情報学習部117は、視覚特徴検出定位部114や聴覚特徴検出定位部115にこれら学習用のプログラムモジュールを実行させる。このため、音源情報学習部117は、音源物体検出部116と同様に、視覚特徴検出定位部114、聴覚特徴検出定位部115を制御する他、記憶部111、画像入力部112、音声入力部113の動作を制御する。
【0064】
駆動部121は、位置関係制御部119による音源物体との位置関係の制御に基づいてロボット装置100の移動を行うものである。
【0065】
次に、以上のように構成された本実施の形態にかかるロボット装置100による音源物体検出処理について説明する。従来のロボット装置では、人物などの音源物体を当該物体の視覚特徴を検出することにより音源物体に追従しているが、追従している人物102を見失う場合が多い。このように、従来のロボット装置において追従している人物を見失い原因として、主として3つの場合がある。図4−1〜図4−3は、従来のロボット装置1において追従している人物102を見失い原因を説明するための模式図である。なお、ロボット装置1が人物102などの音源物体を視覚的に検出可能な範囲3(以下、「視覚的検出可能圏3」という。)には限界があり、かかる視覚的検出可能圏3を図4−1〜図4−3中ではロボット装置1を中心にした円領域として簡略化して示している。
【0066】
第1の原因としては、図4−1に示すように、人物102がカメラの視界4から外れてしまった場合がある。この現象は画角の広い全方位カメラや全天カメラよりも画角の狭い通常のカメラで特に発生し易い。
【0067】
第2の原因としては、図4−2に示すように、人物102が視覚的検出可能圏3を逸脱してしまった場合がある。この現象はカメラの画素数が同一の場合、画角の狭い通常のカメラよりも画角の広い全方位カメラや全天カメラで発生し易い。
【0068】
第3の原因としては、図4−3に示すように、人物102が障害物等の別の物体5(以下、「視覚的障害物5」という)の陰に隠れてしまった場合がある。この現象は視覚的障害物5となり得る物体が床などに設置されていることが多いため、カメラの取り付け高さが低く見通しの悪い場合に発生し易い。
【0069】
このような原因で人物102などの音源物体を視覚的に見失った場合、この音源物体が声などの音を発することで、その音の方向にこの物体が存在することをロボット装置1が認知し、当該方向にカメラを向け、あるいは当該方向に移動するなどの探索動作を行うことにより、音源物体を視覚的に再検出して追従を再開することができる。
【0070】
このような手法では、対象人物のみが声を発するとの仮定した場合には、音源物体である人物102を再検出することができるが、図5に示すように、人物102の他にドア6やテレビ7などの複数の音源が存在し、それぞれが音を発することのできる状況では、今聞こえた音が見失った人物102の声であるとは限らない。このため、ロボット装置1は追従対象の音源物体である人物102の位置を聴覚的に特定することができくなってしまう。
【0071】
本実施の形態にかかるロボット装置100では、上述した構成を採用し、以下に説明する処理によって、音源物体である人物102を音源物体の視覚特徴と聴覚特徴のいずれにおいても識別可能としている。これにより、図6に示すように、人物102が例えば視覚的障害物5の陰に隠れる等して人物102を見失った場合、人物102の他にドア6やテレビ7などの複数の音源が存在する状況でも、ドア6の音やテレビ7の音に惑わされることなく追従対象である人物102の声のする位置を正確に検出することが可能となる。
【0072】
図7は、実施の形態1にかかるロボット装置100による音源物体検出処理の手順を示すフローチャートである。
【0073】
なお、検出処理の開始時点において、音源物体検出部116は、検出失敗の連続回数をカウントするためのタイムアウトカウンタを0に初期化する。そして、まず音源物体検出部116は、検出対象となる音源物体を特定して設定する(ステップS701)。音源物体の特定の設定は、音源物体が何(誰)であるか、およびこれ以降この音源物体との位置関係を制御しなければならないことをロボット装置100に把握させる処理である。
【0074】
例えば、ロボット装置1が顔によって人物を識別可能な場合には、検出対象たる人物102が顔を見せてロボット装置100に自分が誰であるかを認識させた後に動作開始ボタンを操作し、ロボット装置100の音源物体検出部116がかかる動作開始ボタンの操作を受け付けることにより、検出対象の特定の設定が行われる。また、ロボット装置100が声によって人物を識別可能な場合には、人物102が「ついておいで」などの言葉を発してロボット装置100の音源物体検出部116がかかる音声の入力を受け付けることにより、検出対象の特定の設定が行われる。これによって、ロボット装置100は、検出対象である音源物体が誰であるかおよび動作開始であることを把握する。なお、検出対象の特定の設定の手法は、かかる手法に限定されるものではなく、種々の手法を採用することができる。
【0075】
顔や声による人物識別は、視覚特徴検出定位部114や聴覚特徴検出定位部115の機能としてプログラムモジュールの形式で備えられ、これを使用することができる。また、音声言語の認識も聴覚特徴検出定位部115の補助機能として備えている。例えば、音声言語の認識には、特開2005−49436号公報に開示された技術を用いることができる。
【0076】
また、例えば、ロボット装置100が人物の顔を学習可能な場合には、検出対象たる人物102がロボット装置100に顔を見せてロボット装置100に人物の顔の特徴を学習した後に動作開始ボタンを操作し、音源物体検出部116がかかる動作開始ボタンの操作を受け付けることにより、検出対象の特定の設定を行うことができる。また、ロボット装置100が人物の声を学習可能な場合に、人物102が「ついておいで」などの言葉を発してロボット装置100に動作開始であることを知らせるとともに自分の声の特徴を学習させる等により、検出対象の特定の設定を行うことができる。なお、顔や声の学習機能は、視覚特徴検出定位部114や聴覚特徴検出定位部115の機能としてプログラムモジュールの形式で備えられており、かかるプログラムモジュールを使用することができる。
【0077】
次に、音源物体検出部116は、記憶部111に記憶された当該音源物体の種別コード情報に対応する音源情報201の適用検出戦略情報205から、当該音源物体に関して検出戦略A〜Cの中から現時点で適用優先度が最大の検出戦略情報を選択する(ステップS702)。
【0078】
次に、音源物体検出部116は、視覚特徴検出定位部114に画像処理手順の選択の旨の制御指令を送出し、聴覚特徴検出定位部115に音声処理手順221の制御指令を送出する。かかる指令を受けた視覚特徴検出定位部114は、記憶部111に記憶された検出対象の音源物体の種別コード情報に対応する音源情報201の適用画像処理情報203から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大2個の画像処理手順211を選択し、視覚特徴検出定位部114は、記憶部111に記憶された検出対象の音源物体の種別コード情報に対応する音源情報201の適用音声処理情報204から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大2個の音声処理手順221を選択する(ステップS703)。これにより、設定された音源物体との位置関係を制御する準備が整ったことになる。
【0079】
なお、初期状態では、各画像処理手順211と各音声処理手順221の成功確率213,223は0であるが、各画像処理手順211と各音声処理手順221の適用優先度212,222、ならびに適用検出戦略情報205の適用優先度には一定の差をつけた初期値が設定されているものとする。
【0080】
次に、音源物体検出部116は、選択された検出戦略情報、画像処理手順211、音声処理手順221に従って視覚特徴検出定位部114と聴覚特徴検出定位部115を稼動させる。これにより、視覚特徴検出定位部114から視覚定位情報が出力され、聴覚特徴検出定位部115から聴覚定位情報が出力されるので、音源物体検出部116は出力される視覚定位情報と聴覚定位情報を取得する(ステップS704)。
【0081】
そして、音源物体検出部116は、取得した視覚定位情報を参照しながら、当該音源物体の距離と方向を記述した音源物体検出情報を生成して出力する(ステップS705)。そして、位置関係制御部119は、かかる音源物体検出情報を受けて、ロボット装置100と音源物体との位置関係を制御し(ステップS706)、その制御指令に従って駆動部121が駆動してロボット装置100が移動する。
【0082】
次に、音源物体検出部116は、視覚定位情報の検出成績から現在使用している画像処理手順211の成功確率213と適用優先度212を更新し、また聴覚定位情報の検出成績から現在使用している音声処理手順221の成功確率223と適用優先度222を更新する(ステップS707)。また、更新された成功確率213,223から視覚的成功確率214と聴覚的成功確率224を更新する(ステップS708、S709)。さらに、音源物体検出部116は、更新された視覚的成功確率214と聴覚的成功確率224に基づいて適用検出戦略情報205における各検出戦略情報の適用優先度を更新する。
【0083】
次に、音源物体検出部116は、視覚定位情報および聴覚定位情報の検出結果により音源物体の検出が成功しているか否かを判断する(ステップS710)。そして、音源物体の検出が成功している場合には(ステップS710:Yes)、タイムアウトカウンタを0に初期化して、その後、ステップS704からS709までの処理を繰り替えし実行する。
【0084】
一方、ステップS710において、音源物体の検出が失敗してる場合には(ステップS710:No)、音源物体検出部116は、タイムアウトカウンタを1だけ増加する。これにより、タイムアウトカウンタは検出失敗の連続回数をカウントすることになる。そして、音源物体検出部116は、このタイムアウトカウンタの値が所定値に達したか否かを判断することにより、タイムアウトか否かを調べる(ステップS711)。
【0085】
そして、検出失敗の連続回数(タイムアウトカウンタの値)が所定値に達しておらず、タイムアウトしてない場合(ステップS711:No)、音源物体検出部116は、ステップS704からS710までの処理を繰り替えし実行する。
【0086】
一方、ステップS711において、検出失敗の連続回数(タイムアウトカウンタの値)が所定値に達し、タイムアウトした場合には(ステップS711:Yes)、音源物体検出部116は、失敗が連続し過ぎたとして、これまでの検出戦略、画像処理手順211、音声処理手順221の見直しを行う。具体的には、ステップS707〜S709において成功確率、視覚的成功確率、頂角的成功確率および適用優先度が更新されているので、原則として、ステップS702およびS703と同様に、音源物体検出部116は、改めて音源物体に関する適用優先度が最大の検出戦略情報を再選択する(ステップS712)。
【0087】
また、視覚特徴検出定位部114は、音声物体検出部116からの制御指令を受けて、当該音源物体に関する適用優先度が最大の画像処理手順211を再選択し、聴覚特徴検出定位部115は、音声物体検出部116からの制御指令を受けて、音声処理手順221を再選択する(ステップS713)。
【0088】
また、この結果、以前と変わらない検出戦略情報、画像処理手順211および音声処理手順221の組が再び選択された場合には、あえて試行錯誤するために、乱数により検出戦略情報と画像処理手順211と音声処理手順221の別の組を選択する。このように、検出戦略情報、画像処理手順211および音声処理手順221が再選択されたら、ステップS704からS713までの処理を繰り替えし実行する。
【0089】
次に、ステップS702で選択された各検出戦略情報によるステップS706の処理の詳細について説明する。
【0090】
ステップS702により検出戦略Aが選択された場合には、次のような動作を行う。音源物体検出部116が検出戦略Aを実行している間、音源物体検出部116は、ステップS706において、視覚特徴検出定位部114による視覚定位情報が順調に出力されている間は、この視覚定位情報に記述される相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部119はこの音源物体検出情報に基づいて音源物体との距離を所定の範囲に収めるように駆動部121に指令を与え、ロボット装置100を移動させる。この間、聴覚特徴検出定位部115は休止している。
【0091】
また、音源物体検出部116は、視覚特徴検出定位部114による視覚定位情報が順調に出力されなくなった場合、それ以降は、休止していた聴覚特徴検出定位部115を稼動させ、聴覚特徴検出定位部115による聴覚定位情報の有無を調べ、この聴覚定位情報が出力されている場合には、聴覚定位情報に記述された相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部119は、この音源物体検出情報に基づいて、音源物体との距離を所定の範囲に収めるように駆動部121に指令を与え、ロボット装置100を移動させる。同時に音源物体検出部116は、この移動中に画像入力部112のステレオカメラを音源物体に向けることで、見失った音源物体を視覚的に再検出し易いように制御する。
【0092】
なお、視覚的にも聴覚的にも音源物体を検出できない場合には、音源物体検出部116は、ステップS712およびS713によりタイムアウトカウンタを増加させながら位置関係制御部119を通じてロボット装置100を静止させる。
【0093】
検出戦略Aは、このように所定の音源物体を視覚的に捕捉できている間はその検出結果に基づいて音源物体に追従し、視覚的に捕捉できなくなってからは聴覚的な検出結果に基づいて音源物体を捕捉しつつ視覚的にこれを探索する。この検出戦略Aは、比較的常時検出できる可能性が高い視覚特徴に基づいて、例えば人物102の追従動作を行い、見失ったときに適宜人物102に声を発してもらうことで追従を再開できるようにするという用い方に適用性を有している。
【0094】
ステップS702により検出戦略Bが選択された場合には、次のような動作を行う。検出戦略Bを実行中の音源物体検出部116は、ステップS706において、聴覚特徴検出定位部115による聴覚定位情報が順調に出力されている間は、この聴覚定位情報に記される相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部119は、この音源物体検出情報に基づいて音源物体との距離を所定の範囲に収めるように駆動部121に指令を与えロボット装置100を移動させる。この間、視覚特徴検出定位部114は休止している。
【0095】
また、音源物体検出部116は、聴覚特徴検出定位部115による聴覚定位情報が順調に出力されなくなって場合には、これ以降、画像入力部112のステレオカメラを音源物体が最前まで検出されていた方向に向けることで、音源物体を視覚的に再検出し易いようにする。このようにした後で、音源物体検出部116は、視覚特徴検出定位部114による視覚定位情報の有無を調べ、この視覚定位情報が出力されている場合には、視覚定位情報に記述された相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部119は。この音源物体検出情報に基づいて、音源物体との距離を所定の範囲に収めるように駆動部121に指令を与えロボット装置100を移動させる。
【0096】
なお、視覚的にも聴覚的にも音源物体を検出できない場合には、音源物体検出部116は、ステップS712およびS713によりタイムアウトカウンタを増加させながら位置関係制御部119を通じてロボット装置100を静止させる。
【0097】
このように検出戦略Bは、検出戦略Aの逆の動作を行うものであり、所定の音源物体を聴覚的に捕捉できている間はその検出結果に基づいて該音源物体を追従し、聴覚的に捕捉できなくなってからは視覚的な検出結果に基づいて該音源物体を追従しつつ聴覚的にこれを探索する。この検出戦略Bは、例えば、人物102が声でロボット装置100を頻繁に声をかけながら誘導する場合に使用することができる戦略である。ロボット装置100が人物102から見て物陰に入ってしまった場合でも、声で誘導することができ、物陰から出てからは声を発することを止めても視覚によって音源物体に追従させることができる。
【0098】
ステップS702により検出戦略Cが選択された場合には、次のような動作を行う。検出戦略Cを実行中の音源物体検出部116は、ステップS706において、視覚特徴検出定位部114による視覚定位情報と聴覚特徴検出定位部115による聴覚定位情報の出力の有無を調べ、いずれか一方だけが順調に出力されている間は、出力されている情報に記述された相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部119はこの音源物体検出情報に基づいて音源物体との距離を所定の範囲に収めるように駆動部121に指令を与えロボット装置100を移動させる。
【0099】
また、音源物体検出部116は、視覚定位情報と聴覚定位情報のいずれもが順調に出力されている間は、本実施の形態では視覚定位情報に記述される相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部119はこの音源物体検出情報に基づいて音源物体との距離を所定の範囲に収めるように駆動部121に指令を与えロボット装置100を移動させる。
【0100】
なお、視覚的にも聴覚的にも音源物体を検出できない場合には、位置関係制御部116は、ステップS702およびS703によりタイムアウトカウンタを増加させながら位置関係制御部119を通じてロボット装置100を静止させる。
【0101】
次に、検出戦略情報の適用優先の決定処理について説明する。図8は、適用検出戦略情報に設定される検出戦略情報の適用優先度の決定処理の手順を示すフローチャートである。この検出戦略情報の適用優先度の決定処理は、音源物体の検出処理の前に予め行っておいてもよいし、音源物体の検出処理中のステップS707〜S709で、画像処理手順211、音声処理手順221の成功確率213,223、適用優先度212,221、視覚的成功確率214、頂角的成功確率224の更新とあわせて実行するように構成してもよい。
【0102】
音源物体検出部116は、視覚的成功確率214および聴覚的成功確率224と所定の閾値とを比較する(ステップS801)。そして、視覚的成功確率214と聴覚的成功確率224の両方が所定の閾値以上である場合には、音源物体検出部116は、確率の高い方を優先させる検出戦略を優先度1位、低い方を優先させる検出戦略を2位、併用する検出戦略Cを3位として、検出戦略の適用優先度を決定する(ステップS802)。
【0103】
一方、視覚的成功確率214と聴覚的成功確率224の一方のみが所定閾値以上である場合には、音源物体検出部116は、閾値以上の方を優先させる検出戦略を優先度1位、併用する検出戦略Cを2位、閾値未満の方を優先させる検出戦略を3位として、検出戦略の適用優先度を決定する(ステップS803)。
【0104】
また、視覚的成功確率214と聴覚的成功確率224の両方が所定閾値未満である場合には、音源物体検出部116は、併用する検出戦略Cを優先度1位、確率の高い方を優先させる検出戦略を2位、残りの検出戦略を3位として、検出戦略の適用優先度を決定する(ステップS804)。
【0105】
このように決定された検出戦略の適用優先度は、音源物体検出部116によって、音源物体の種別コード情報に対応する音源情報201の適用検出戦略情報205に、決定sあれた順位の順番で、例えば「A=1,B=2,C=3」等のように設定される。
【0106】
このように実施の形態1にかかるロボット装置100では、音源物体の視覚特徴情報215に基づく画像処理手順211による音源物体の検出と聴覚特徴情報225に基づく音声処理手順221による音源物体の検出とを併用しているので、従来の視覚特徴を主体とした音源物体の検出を行う手法に比べて、音源物体の検出成功率を全般的に向上させることができる。
【0107】
また、実施の形態1にかかるロボット装置100では、画像処理手順211による音源物体の検出と音声処理手順221による音源物体の検出を、音源物体に応じて検出戦略情報によって最適な状態に調整して組み合わせて実行しているので、従来の視覚特徴を主体とした音源物体の検出を行う手法に比べて、音源物体の検出成功率を安定させることができる。
【0108】
また、実施の形態1にかかるロボット装置100では、最適と思われる状態での画像処理手順211による音源物体の検出と音声処理手順221による音源物体の検出の組み合わせによる検出に失敗するときには、他の状態で、画像処理手順211による音源物体の検出と音声処理手順221による音源物体の検出を組み合わせて実行しているので状況を打開する可能性を上げることができるようになる。
【0109】
また、実施の形態1にかかるロボット装置100では、音源物体の検出に必要となる視覚特徴情報や聴覚特徴情報を音源物体検出処理の運用中に学習しているので、常に良好な検出能力を維持できるようになる。
【0110】
(実施の形態2)
実施の形態1にかかるロボット装置100では、音源物体のみによって、画像処理手順211による音源物体の検出と音声処理手順221による音源物体の検出の調整および組み合わせて、音源物体の検出を行っていた。
【0111】
しかしながら、音源物体の視覚特徴情報に基づく視覚的な検出し易さと聴覚特徴情報に基づく聴覚的な検出し易さの関係は環境によっても異なってくる。例えば、雑然としたと物が設定された場所では、音源物体がすぐに物の陰に隠れてしまうので、視覚的に検出しにくくなるが、音は物陰から回り込んで聞こえてくるので、聴覚的にはまだ検出できる可能性が高い。一方、配置物な少ないがらんとした場所では遠方まで見通せるので、視覚的に音源物体を検出し易くなる。また、足音もフローリングなどの固い床では検出し易いが、カーペットの上では検出することが困難となる。このため、実施の形態2にかかるロボット装置では、このような環境による視覚的な検出し易さと聴覚特徴情報に基づく聴覚的な検出し易さを考慮して、音源物体の他、エリアごとに画像処理手順211による音源物体の検出と音声処理手順221による音源物体の検出の調整および組み合わせを行って、音源物体の検出を実行している。
【0112】
図9は、実施の形態2にかかるロボット装置の構成を示すブロック図である。本実施の形態にかかるロボット装置900は、図9に示すように、画像入力部112と、音声入力部113と、近接センシング部118と、視覚特徴検出定位部114と、聴覚特徴検出定位部115と、音源物体検出部116と、自己位置同定部920と、音源情報学習部117と、位置関係制御部119と、駆動部121と、記憶部911とを主に備えている。
【0113】
ここで、画像入力部112、音声入力部113、近接センシング部118、視覚特徴検出定位部114、聴覚特徴検出定位部115、音源物体検出部116、音源情報学習部117、位置関係制御部119、駆動部121については実施の形態1と同様である。
【0114】
本実施の形態にかかる記憶部911には、実施の形態1と同様に、音源情報と、プログラム形式の複数の画像処理手順と、プログラム形式の複数の音声処理手順と、検出戦略情報(検出戦略A、検出戦略B,検出戦略C)が記憶されている他、さらに、地図情報が記憶されている。この地図情報は、ロボット装置900の稼働環境をxy座標系で記述した2次元平面図である。
【0115】
図10は、地図情報の一例を示す模式図である。図10に示すように、地図情報1030は、所定の大きさのメッシュ状のエリア1031を単位としてタイル状に分割されている。また、一または隣接する複数のエリアから成る範囲をゾーンという。また、地図情報1030には、ロボット装置900が自己の位置を同定するために目印として利用する物体1032〜1034の配置を表すランドマーク情報が付与されている。
【0116】
自己位置同定部920は、地図情報1030上におけるロボット装置900の自己位置を地図情報上のランドマーク情報を利用して同定する処理部である。自己位置同定部920は、地図情報1030上に付与されたランドマーク情報を参照して、画像入力部112や音声入力部113や近接センシング部118によるデータからランドマーク情報を検出し、その相対的な距離や方向に基づいて、ロボット装置900の地図情報1030上の位置(xy座標)と向き(パン角)を推定し、その情報を自己位置同定情報として出力する。
【0117】
なお、ランドマーク情報から自己位置を同定する画像処理については、特開平08−247775号公報に開示された技術などを用いる。
【0118】
本実施の形態の音源情報検出部116は、自己位置同定部920によって出力された自己位置同定情報における地図情報1030上のロボット装置900の位置と方向に、検出されたロボット装置900を基点とした音源物体(人物102)の相対的な距離と方向を加えることにより、音源物体(人物102)の位置を地図情報1030上のxy座標値として算出する。従って、この算出されたxy座標値を含むエリア1031が、音源物体の存在するエリアとして求められる。
【0119】
図11は、実施の形態2にかかる音源情報のデータの一例を示す説明図である。実施の形態1では、音源情報の画像処理手順211や音声処理手順221の成功確率213や223は検出すべき音源物体の位置に関係なく定められていたが、実施の形態2では、図11に示すように、記憶部911がロボット装置900の稼動する場所を、エリアに分割した地図情報1030を記憶し、成功確率213,223及び適用優先度212,222、視覚的成功確率214、聴覚的成功確率224、適用検出戦略情報205に記載される各検出戦略の適用確率が、地図情報1030上のエリア毎に個別に設定、算出および記憶されるようになっている。
【0120】
音源情報検出部116がこれらの情報を更新する際には、例えば検出すべき音源物体の位置するエリアに応じて個別に格納される。また、音源物体検出部116は、検出すべき音源物体の地図情報1030上の存在エリアに応じて、当該エリアに対応付けられた適用優先度に基づいて、検出戦略情報を選択する。
【0121】
また、視覚特徴検出定位部114は、音源物体検出部116の制御指令によって、検出すべき音源物体の地図情報1030上の存在エリアに応じて、当該エリアに対応付けられた画像処理手順211を選択する。聴覚特徴検出定位部115は、音源物体検出部116の制御指令によって、検出すべき音源物体の地図情報1030上の存在エリアに応じて、当該エリアに対応付けられた音声処理手順221を選択する。
【0122】
実施の形態1では、成功確率や適用優先度が音源物体の位置に応じて管理されていないので、状況が変化してこれまでの検出戦略や画像処理手順211や音声処理手順221が通用しなくなった場合、タイムアウトするまで検出失敗が連続しない限り、検出戦略や画像処理手順や音声処理手順が見直されることはないが、本実施の形態では、例えば、検出する音源物体である人物102があるゾーンに入ると物陰に隠れ易くなって視覚的に検出しにくくなるが、別のゾーンでは物陰に隠れにくくて視覚的に検出され易くなるという状況の変化に即座に対応することができる。
【0123】
次に、以上のように構成された実施の形態2における音源物体の検出処理について説明する。図12および図13は、実施の形態2にかかるロボット装置100による音源物体検出処理の手順を示すフローチャートである。
【0124】
本実施の形態においても、検出処理の開始時点において、音源物体検出部116は、検出失敗の連続回数をカウントするためのタイムアウトカウンタを0に初期化する。そして、まず音源物体検出部116は、実施の形態1と同様に、検出対象となる音源物体を特定して設定する(ステップS1201)。そして、音源物体検出部116は、設定時点で顔の見えている方向と距離、声の聞こえた方向と距離から、音源物体の地図情報1030上の初期位置を算出して同定する(ステップS1202)。なお、この検出処理開始時点ではロボット装置900地図情報1030上の位置と向きはわかっているものとする。
【0125】
次に、音源物体検出部116は、記憶部911に記憶された当該音源物体の種別コード情報に対応した適用検出戦略情報205について、音源物体の地図情報1030上の存在エリアに応じた適用検出戦略情報において、検出戦略A〜Cの中から現時点でこの適用優先度の最大の検出戦略情報を選択する(ステップS1203)。
【0126】
そして、音源物体検出部116は、視覚特徴検出定位部114に画像処理手順の選択の旨の制御指令を送出し、聴覚特徴検出定位部115に音声処理手順221の制御指令を送出する。かかる指令を受けた視覚特徴検出定位部114は、記憶部111に記憶された検出対象の音源物体の種別コード情報に対応する音源情報201の中で、音源物体の地図情報1030上の存在エリアに対応した適用画像処理情報203から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大2個の画像処理手順211を選択し、視覚特徴検出定位部114は、記憶部111に記憶された検出対象の音源物体の種別コード情報に対応する音源情報201の中で音源物体の地図情報1030上の存在エリアに対応した適用音声処理情報204から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大2個の音声処理手順221を選択する(ステップS1204)。
【0127】
なお、初期状態では、各画像処理手順211と各音声処理手順221の成功確率は0であるが、各画像処理手順211と各音声処理手順221の適用優先度212,222、ならびに適用検出戦略情報の適用優先度には一定の差をつけた初期値が、それぞれのエリアについて設定されている。
【0128】
次に、音源物体検出部116は、実施の形態1と同様に、選択された検出戦略情報、画像処理手順211、音声処理手順221に従って視覚特徴検出定位部114と聴覚特徴検出定位部115を稼動させ、視覚定位情報と聴覚定位情報を取得する(ステップS1205)。次に、音源物体検出部116は、実施の形態1と同様に、取得した視覚定位情報を参照しながら、当該音源物体の距離と方向を記述した音源物体検出情報を生成して出力する(ステップS1206)。そして、位置関係制御部119は、実施の形態1と同様に、かかる音源物体検出情報を受けて、ロボット装置100と音源物体との位置関係を制御し(ステップS1207)、その制御指令に従って駆動部121が駆動してロボット装置100が移動する。
【0129】
次に、自己位置同定部920によって、ロボット装置900の地図情報1030上の現在の位置と向きが同定され、音源物体検出部116によって、音源物体の現在の地図情報30上の座標値が算出され、その存在エリアが求められて同定される(ステップS1208)。
【0130】
次に、音源物体検出部116は、視覚定位情報の検出成績から現在使用している画像処理手順211の地図情報1030上のエリアに対応付けられている成功確率213と適用優先度212を更新し、また聴覚定位情報の検出成績から現在使用している音声処理手順221の地図情報1030上のエリアに対応付けられている成功確率223と適用優先度222を更新する(ステップS1209)。また、更新された成功確率213,223から成功確率213,223の地図情報30上のエリアに対応付けられている視覚的成功確率214と聴覚的成功確率224を更新する(ステップS1210、S1211)。さらに、音源物体検出部116は、更新された視覚的成功確率214と聴覚的成功確率224に基づいて、地図情報30上のエリアに対応付けられている適用検出戦略情報205における各検出戦略情報の適用優先度を更新する。
【0131】
次に、音源物体検出部116は、実施の形態1と同様に、視覚定位情報および聴覚定位情報の検出結果により音源物体の検出が成功しているか否かを判断する(ステップS1212)。そして、音源物体の検出が成功している場合には(ステップS1212:Yes)、タイムアウトカウンタを0に初期化して、その後、ステップS1205からS1211までの処理を繰り替えし実行する。
【0132】
一方、ステップS710において、音源物体の検出が失敗してる場合には(ステップS1212:No)、音源物体検出部116は、音源物体の地図情報1030上の位置が前回と異なるエリア内に移動したか否かを判断する(ステップS1213)。音源物体がエリアを移動した場合には(ステップS1213:Yes)、音源物体検出部116は、音源物体の移動先のエリアに対応付けられている適用検出戦略情報に従って適用優先度が最大の検出戦略情報を再選択する(ステップS1214)。
【0133】
そして、音源物体検出部116は、視覚特徴検出定位部114に画像処理手順の選択の旨の制御指令を送出し、聴覚特徴検出定位部115に音声処理手順221の制御指令を送出する。かかる指令を受けた視覚特徴検出定位部114は、音源物体の地図情報1030上の移動後のエリアに対応した適用画像処理情報203から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大2個の画像処理手順211を選択し、視覚特徴検出定位部114は、音源物体の地図情報1030上の移動後のエリアに対応した適用音声処理情報204から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大2個の音声処理手順221を選択する(ステップS1215)。
【0134】
一方、ステップS1213において、音源物体がエリアを移動していない場合には(ステップS1213:No)、音源物体検出部116は、タイムアウトカウンタを1だけ増加して、検出失敗の連続回数をカウントする。そして、音源物体検出部116は、このタイムアウトカウンタの値が所定値に達したか否かを判断することにより、タイムアウトか否かを調べる(ステップS1216)。
【0135】
そして、検出失敗の連続回数(タイムアウトカウンタの値)が所定値に達しておらず、タイムアウトしてない場合(ステップS1216:No)、音源物体検出部116は、ステップS1205からS1213までの処理を繰り替えし実行する。
【0136】
一方、ステップS1216において、検出失敗の連続回数(タイムアウトカウンタの値)が所定値に達し、タイムアウトした場合には(ステップS1216:Yes)、音源物体検出部116は、失敗が連続し過ぎたとして、これまでの検出戦略、画像処理手順211、音声処理手順221の見直しを行う。具体的には、ステップS1209〜S1211において成功確率、視覚的成功確率、頂角的成功確率および適用優先度が更新されているので、原則として、ステップS1203およびS1204と同様に、音源物体検出部116は、改めて、音源物体の地図情報1030上の存在エリアに対応した適用優先度が最大の検出戦略情報を再選択する(ステップS1217)。また、視覚特徴検出定位部114は、音声物体検出部116からの制御指令を受けて、音源物体の地図情報1030上の存在エリアに対応した適用優先度の最大が画像処理手順211を再選択し、聴覚特徴検出定位部115は、音声物体検出部116からの制御指令を受けて、音源物体の地図情報1030上の存在エリアに対応した適用優先度の最大が音声処理手順221を再選択する(ステップS1218)。また、この結果、以前と変わらない検出戦略情報、画像処理手順211および音声処理手順221の組が再び選択された場合には、あえて試行錯誤するために、乱数により検出戦略情報と画像処理手順211と音声処理手順221の別の組を選択する。このように、検出戦略情報、画像処理手順211および音声処理手順221が再選択されたら、ステップS1205からS1218までの処理を繰り替えし実行する。
【0137】
なお、本実施の形態では、ステップS1212において音源物体の検出に失敗した場合にのみステップS1213からS1218までの処理が実行されるようになっている。これは、ステップS1212において現在の検出戦略情報、画像処理手順211、音声処理手順221が有効に動作していると判断された場合には、エリア移動の有無に関わらず、あえてこれらを変更する必要はないと考えられるからである。
【0138】
このように実施の形態2にかかるロボット装置900では、実施の形態1のロボット装置100と同様の効果を奏する他、音源物体の他、地図情報1030上のエリアごとに画像処理手順211による音源物体の検出と音声処理手順221による音源物体の検出の調整および組み合わせを行って、音源物体の検出を実行しているので、音源物体の移動に伴う状況の変化に対応した検出戦略や画像処理手順や音声処理手順を選択することができ、状況変化への迅速な対応を図ることができる。
【0139】
なお、実施の形態1および2では、ロボット装置100,900の備えるカメラはステレオカメラであり、画像に写る音源物体までの距離をステレオ計測によって算定するとしたが、音源物体の大きさが既知であるならば、単眼カメラであっても、画像中の大きさから距離を算定することができる。例えば、人物の顔の大きさは概ね13cmであるとして、画像中の顔領域の大きさから距離を逆算することができる。
【0140】
また、実施の形態1および2では、聴覚特徴検出定位部115が音源を空間定位できるとして説明をしたが、方向しか定位できない場合であっても、位置関係制御部116がその方向にロボット装置100,900を移動させることで、正確な距離を保つことはできないまでも、音源物体への接近を果たすことはできる。この結果、検出戦略Aにおいて見失った音源物体を視覚的に再検出でき、検出戦略Bにおいては人物102が声掛けを止めたり、近接センシング部118が人物102への過剰な接近を知らせることで適切な距離を維持することができる。すなわち、音源物体の定位結果として、好ましくは距離と方向を得ることであるが、方向のみであっても本発明の効果は達成される。
【0141】
なお、実施の形態1および2のロボット装置で実行される音源物体位置検出プログラムは、ROM等に予め組み込まれて提供される。
【0142】
実施の形態1および2のロボット装置で実行される音源物体位置検出プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0143】
さらに、実施の形態1および2のロボット装置で実行される音源物体位置検出プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施の形態1および2のロボット装置で実行される音源物体位置検出プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0144】
実施の形態1および2のロボット装置で実行される音源物体位置検出プログラムは、上述した各部(視覚特徴検出定位部114、聴覚特徴検出定位部115、音源物体検出部116、自己位置同定部920、音源情報学習部117、位置関係制御部119)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMから音源物体位置検出プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、視覚特徴検出定位部114、聴覚特徴検出定位部115、音源物体検出部116、自己位置同定部920、音源情報学習部117、位置関係制御部119が主記憶装置上に生成されるようになっている。
【0145】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【実施例】
【0146】
以下に、実施の形態2にかかるロボット装置900における音源物体検出処理の具体的な例について説明する。まず、記憶部911に格納されている各情報について具体例をあげて説明する。
【0147】
[地図情報1030]
ロボット装置900の記憶部911には該ロボット装置900の稼動する環境の地図情報1030が記憶されているものとする。地図情報1030上の格子状に切られた各エリアにはそれぞれ固有のエリア番号(通し番号)が与えられている。また、地図情報1030上には図10に示すxy直交座標系が定義されている。このとき、各エリアの情報を記憶する形式は下記エリア情報構造体AREA_INFOで定義される。AREA_INFOのx0、y0、x1、y1は各エリアが覆う矩形の図10における左下端点の座標(x0,y0)と右上端点の座標(x1,y1)を記憶するメンバーである。このとき、図中の各座標軸の向きから左ほど下ほど座標値が小さく、x0<x1、y0<y1である。
【0148】
typedef struct [
int x0; // 矩形の左下端点のx座標値
int y0; // 矩形の左下端点のy座標値
int x1; // 矩形の右上端点のx座標値
int y1; // 矩形の右上端点のy座標値
] AREA_INFO; // エリア情報構造体の定義
【0149】
地図情報1030は、その擁するエリアの数n1と、構造体AREA_INFOのn1要素の1次元配列を持つ下記地図情報構造体MAP_INFOのインスタンスMapInfoとして生成される。ここでインスタンスとは、地図情報構造体MAP_INFOを実際に装置のメモリ空間上に確保した記憶領域のことである。
【0150】
typedef struct [
int n1; // エリア数
AREA_INFO Area [n1]; // エリア情報
] MAP_INFO; // 地図情報構造体の定義
MAP_INFO MapInfo; // 地図情報1030(MAP_INFOのインスタンス)
【0151】
このとき、j番目のエリアの情報はMapInfo. Area[j]に記憶され、そのメンバーはそれぞれ次のように表される。
【0152】
MapInfo. Area [j]. x0;
MapInfo. Area [j]. y0;
MapInfo. Area [j]. x1;
MapInfo. Area [j]. y1;
【0153】
[適用画像処理情報203]
適用画像処理情報203は下記適用画像処理情報構造体IP_INFOのn0(音源物体数)要素の1次元配列IpInfo [n0]として生成される。ここで、n0は本装置が対象とする音源物体の数であり、k番目の音源物体に関する適用画像処理情報203はIpInfo [k]に記憶される。なお、IpInfo [n0]は後述する音源情報構造体OBJ_INFOのメンバーである。
【0154】
typedef struct [
int n2; // 画像処理手順の数
void* pImageProcessing [n2]; // 画像処理関数のエントリーアドレス(211と215)
float Priority [n2][n1]; // 適用優先度
PROB_INFO ProbInfo [n2][n1]; // 成功確率情報
float MaxProbability [n1]; // 視覚的成功確率
] IP_INFO; // 適用画像処理情報構造体の定義
IP_INFO IpInfo [n0]; // 適用画像処理情報(IP_INFOのインスタンス)
【0155】
k番目の音源物体に関する適用画像処理情報203がn2個の画像処理手順211を擁しているとする。このとき、n2個の画像処理手順211は、その処理を実行するプログラムモジュール(具体的には画像処理関数)のエントリーアドレスとしてIpInfo [k]のpImageProcessingに記憶されており、i番目の画像処理関数はIpInfo [k]. pImageProcessing [i]で参照できるようになっている。また、これら画像処理関数のそれぞれは双対を成す学習用のプログラムモジュール(関数)と処理に必要な視覚特徴情報215を内包しているものとする。なお、各プログラムモジュール(関数)はライブラリとして提供され、適宜最新版に更新することができるようになっている。ライブラリとして提供されている画像処理関数は検出関数、学習関数、識別関数に分かれている。各々例を列挙すると次のようになる。
【0156】
(サブルーチン関数)
void IpFaceDetector(); // 画像から顔領域を検出する関数
void IpColorDetector(); // 画像を同色領域に分割する関数
void IpTextureDetector(); // 画像を同テクスチャ領域に分割する関数
void IpDepthDetector(); // 画像を同距離領域に分割する関数
【0157】
(学習関数)
void IpFaceTrainer(k); // k番目の音源物体の顔を学習する関数
void IpColorTrainer (k); // k番目の音源物体の色を学習する関数
void IpTextureTrainer (k); // k番目の音源物体のテクスチャを学習する関数
【0158】
(識別関数)
void IpFaceIdentifier(k); // 顔領域から人物識別を行う関数
void IpColorIdentifier(k); // 色領域から物体識別を行う関数
void IpTextureIdentifier(k); // テクスチャ領域から物体識別を行う関数
【0159】
なお、この他、全音源物体のどれであるかを識別するための特別なコードk=WildCardCodeがある。
【0160】
サブルーチン関数は所定の機能を提供するための関数あり、学習関数や識別関数の内部で適宜呼ばれるユーティリティである。
【0161】
学習関数はサブルーチン関数によって検出・抽出された所定の特徴(顔、色、テクスチャ)を持つ領域を識別関数が識別できるための辞書情報を生成する関数であり、識別関数から適宜呼ばれる。
【0162】
識別関数はサブルーチン関数によって検出・抽出された所定の特徴(顔、色、テクスチャ)を持つ領域を学習関数によって生成された辞書情報と照合することで、該検出・抽出された領域が所定の音源物体の画像か否かを識別する関数である。検出のための画像的特徴や識別のための画像的特徴(辞書情報)は視覚特徴情報215として各関数によって管理・参照される。IpInfo [k]. pImageProcessing [i]には上記識別関数のエントリーアドレスが記憶され、各関数の引数には種別コード情報202が与えられることで、識別関数は何番の音源物体を検出・識別すれば良いかわかるようになっている。また、この引数が所定の特別な値(WildCardCode)である場合は、登録されているn0個の音源物体のどれであるかを判じるように動作する。
【0163】
[適用音声処理情報204]
適用音声処理情報204は下記適用音声処理情報構造体SP_INFOのn0(音源物体数)要素の1次元配列SpInfo [n0]として生成される。ここで、n0は本装置が対象とする音源物体の数であり、k番目の音源物体に関する適用音声処理情報204はSpInfo [k]に記憶される。なお、SpInfo [n0]は後述する音源情報構造体OBJ_INFOのメンバーである。
【0164】
typedef struct [
int n3; // 音声処理手順の数
void* pSoundProcessing [n3]; // 音声処理関数のエントリーアドレス(221と225)
float Priority [n3][n1]; // 適用優先度(222)
PROB_INFO ProbInfo [n3][n1]; // 成功確率情報(223を含む)
float MaxProbability [n1]; // 聴覚的成功確率(224)
] SP_INFO; // 適用音声処理情報構造体の定義
SP_INFO SpInfo [n0]; // 適用音声処理情報204(SP_INFOのインスタンス)
【0165】
k番目の音源物体に関する適用音声処理情報204がn3個の音声処理手順221を擁しているとする。このとき、n3個の音声処理手順221は、その処理を実行するプログラムモジュール(具体的には音声処理関数)のエントリーアドレスとしてSpInfo [k]のpSoundProcessingに定義されており、i番目の音声処理関数はSpInfo [k]. pSoundProcessing [i]で参照できるようになっている。また、これら音声処理関数のそれぞれは双対を成す学習用のプログラムモジュール(関数)と処理に必要な聴覚特徴情報225を内包しているものとする。なお、各プログラムモジュール(関数)はライブラリとして提供され、適宜最新版に更新することができるようになっている。ライブラリとして提供されている音声処理関数はサブルーチン関数と学習関数と識別関数に分かれている。各々例を列挙すると次のようになる。
【0166】
(サブルーチン関数)
void SpVoiceDetector(); // 音声から声を検出する関数
void SpSoundDetector(); // 音声から物音を検出する関数
void SpSoundLocalizer(); // 音声からその音源方向を計算する関数
void SpSoundSeparator(); // 所定方向の音声を分離抽出する関数
void SpSpeechRecognizer(); // 声からその発話内容を認識する関数
【0167】
(学習関数)
void SpVoiceTrainer(k); // k番目の音源物体の声を学習する関数
void SpSoundTrainer(flg); // flgで指定される物音を学習する関数
【0168】
(識別関数)
void SpVoiceIdentifier(k); // k番目の音源物体の声を識別する関数
void SpSoundIdentifier(flg); // flgで指定される物音を識別する関数
【0169】
なお、この他、全音源物体のどれであるかを識別するための特別なコードk=WildCardCodeがある。また、flgにはHumanWalk=人の足音、DogWalk=犬の足音、Bowwow=犬の吼え声などがある。
【0170】
サブルーチン関数は所定の機能を提供するための関数あり、学習関数や識別関数の内部で適宜呼ばれるユーティリティである。
【0171】
学習関数はサブルーチン関数によって検出・抽出された所定の特徴を持つ区間を識別関数が識別できるための辞書情報を生成する関数であり、識別関数から適宜呼ばれる。
【0172】
識別関数はサブルーチン関数によって検出・抽出された所定の特徴を持つ区間を学習関数によって生成された辞書情報と照合することで、該検出・抽出された区間が所定の音源物体の音声か否かを識別する関数である。検出のための聴覚的特徴や識別のための聴覚的特徴(辞書情報)は聴覚特徴情報225として各関数によって管理・参照される。SpInfo [k]. pSoundProcessing [i]には上記識別関数のエントリーアドレスが記憶され、各関数の引数には種別コード情報202が与えられることで、識別関数は何番の音源物体を検出・識別すれば良いかわかるようになっている。また、この引数が所定の特別な値(WildCardCode)である場合は、登録されているn0個の音源物体のどれであるかを判じるように動作する。
【0173】
[処理手順の適用優先度]
上記IP_INFOとSP_INFOの適用優先度Priorityは2次元配列になっている。配列の1次元目はそれぞれ画像処理手順と音声処理手順の番号、2次元目は地図情報上のエリア番号に対応している。すなわち、Priority [i][j]はpImageProcessing [i]もしくはpSoundProcessing [i]で参照される関数を実行する際のエリアjに対する適用優先度を表している。
【0174】
[処理手順の成功確率]
上記IP_INFOとSP_INFOの成功確率情報ProbInfoは成功確率情報構造体PROB_INFOの2次元配列になっている。配列の1次元目[n2]と[n3]はそれぞれ画像処理手順と音声処理手順の番号、2次元目[n1]は地図情報上のエリア番号に対応している。すなわち、ProbInfo [i][j]はi番目の画像処理手順pImageProcessing [i]もしくはi番目の音声処理手順pSoundProcessing [i]で参照される関数を実行した場合のエリアjに対する検出成功率(成功確率)を表している。なお、成功確率情報構造体PROB_INFOは次の形式で定義される。
【0175】
typedef struct [
float TrialTime; // 試行期間長
float SuccessTime; // 成功期間長
float Probability; // 成功確率(213または223)
] PROB_INFO; // 成功確率情報構造体の定義
【0176】
成功確率はある音源物体をある画像処理手順もしくは音声処理手順によって検出しようとした期間(試行期間)に対する検出できていた期間(成功期間)の比率として求められる。そこで、PROB_INFOはそれぞれその算出の根拠となる試行期間長TrialTimeと成功期間長SuccessTimeと、両者から算出される成功確率Probabilityとを収めるようになっている。なお、上記試行期間長TrialTimeは試行開始時刻と試行終了時刻の差で求められる時間(例えば単位は秒)であっても良いが、画像や音声の入力に対して略一定周期毎に検出処理が実行される場合には、試行を開始してから終了するまでに検出処理が実行された回数(例えば単位は回)としても良い。同様に上記成功期間長SuccessTimeも、検出に成功し始めた時刻とその後に失敗した時刻の差で求められる時間(例えば単位は秒)であっても良いが、成功し始めてから失敗するまでに検出処理が実行された回数(例えば単位は回)としても良い。いずれにせよ、試行期間長TrialTimeと成功期間長SuccessTimeが同じ単位で記述されていれば、試行期間長TrialTimeに対する成功期間長SuccessTimeの比率として成功確率Probability=SuccessTime/TrialTimeを求めることができる。
【0177】
[視覚的成功確率と聴覚的成功確率]
k番目の音源物体のエリアjに対する視覚的成功確率はIpInfo [k]. MaxProbability [j]に記述され、k番目の音源物体のエリアjに対する聴覚的成功確率はSpInfo [k]. MaxProbability [j]に記述される。そして、それぞれは次式で求められる。式中の演算子MAXはそれぞれ画像処理手順と音声処理手順の番号iを様々に変えたときのカッコ内の最大値を示す。
【0178】
IpInfo [k]. MaxProbability [j] = MAX (IpInfo [k]. ProbInfo [i][j]. Probability );
SpInfo [k]. MaxProbability [j] = MAX (SpInfo [k]. ProbInfo [i][j]. Probability );
【0179】
[適用検出戦略情報205]
適用検出戦略情報205は下記適用検出戦略情報構造体ST_INFOのn0(音源物体数)要素の1次元配列StInfo [n0]として生成される。ここで、n0は本装置が対象とする音源物体の数であり、k番目の音源物体に関する適用検出戦略情報205はStInfo [k]に記憶される。なお、StInfo [n0]は後述する音源情報構造体OBJ_INFOのメンバーである。
【0180】
typedef struct [
float PriorityA [n1]; // 検出戦略Aの適用優先度
float PriorityB [n1]; // 検出戦略Bの適用優先度
float PriorityC [n1]; // 検出戦略Cの適用優先度
] ST_INFO; // 適用検出戦略情報構造体の定義
ST_INFO StInfo [n0]; // 適用検出戦略情報205(ST_INFOのインスタンス)
【0181】
[検出戦略の適用優先度]
各検出戦略A〜Cに対する適用優先度はそれぞれn1(エリア数)要素の1次元配列になっており、k番目の音源物体のエリアjに対する適用優先度はそれぞれ次の場所に記憶される。
【0182】
StInfo[k]. PriorityA [j];
StInfo[k]. PriorityB [j];
StInfo[k]. PriorityC [j];
【0183】
以上の要素を持つ音源情報201は、下記音源情報構造体OBJ_INFOのインスタンスObjInfoとして生成される。OBJ_INFOには上述した各インスタンスIpInfo [n0]、SpInfo [n0]、StInfo [n0]が含まれる。また、本装置が対象とする音源物体の数n0と、現在検出対象となっている音源物体の番号k(種別コード情報202)も一括してここに記憶される。
【0184】
typedef struct [
int n0; // 登録されている音源物体数
int k; // 種別コード情報202
IP_INFO IpInfo [n0]; // 適用画像処理情報203(IP_INFOのインスタンス)
SP_INFO SpInfo [n0]; // 適用音声処理情報204(SP_INFOのインスタンス)
ST_INFO StInfo [n0]; // 適用検出戦略情報205(ST_INFOのインスタンス)
] OBJ_INFO; // 適用検出戦略情報構造体の定義
OBJ_INFO ObjInfo; // 音源情報201(OBJ_INFOのインスタンス)
【0185】
よって、記憶部911には、上述したMapInfo(地図情報1030)とObjInfo(音源情報201)が少なくとも記憶される。また、上述したプログラムモジュールも暗示的に記憶される。これらのプログラムモジュールは関数としてObjInfo(音源情報201)から呼び出すことができる。また、各プログラムモジュールが参照あるいは学習する視覚特徴情報215と聴覚特徴情報225も各プログラムモジュールの管理下で各モジュールから参照できる形式で暗示的に記憶される。なお、記憶部911には、この他にも本装置の稼働中に生成される各種情報を記憶することができるものとする。
【0186】
[実施の形態1の場合]
上述した例は、実施の形態2にかかるロボット装置900の例であるが、実施の形態1にかかるロボット装置100では、上記エリア番号jに対応した配列[n1]の存在しない形態で各値が用意されている。すなわち、適用画像処理情報構造体IP_INFO、適用音声処理情報構造体SP_INFO、適用検出戦略情報構造体ST_INFOの定義が下記のようになる。
【0187】
typedef struct [
int n2; // 画像処理手順の数
void* pImageProcessing [n2]; // 画像処理関数のエントリーアドレス(211と215)
float Priority [n2]; // 適用優先度(212)
PROB_INFO ProbInfo [n2]; // 成功確率情報(213を含む)
float MaxProbability; // 視覚的成功確率(214)
] IP_INFO; // 適用画像処理情報構造体の定義
【0188】
typedef struct [
int n3; // 音声処理手順の数
void* pSoundProcessing [n3]; // 音声処理関数のエントリーアドレス(221と225)
float Priority [n3]; // 適用優先度(222)
PROB_INFO ProbInfo [n3]; // 成功確率情報(223を含む)
float MaxProbability; // 聴覚的成功確率(224)
] SP_INFO; // 適用音声処理情報構造体の定義
【0189】
typedef struct [
float PriorityA; // 検出戦略Aの適用優先度
float PriorityB; // 検出戦略Bの適用優先度
float PriorityC; // 検出戦略Cの適用優先度
] ST_INFO; // 適用検出戦略情報構造体の定義
【0190】
[初期状態]
ロボット装置900が1度も稼動されたことのない初期状態では、全ての音源物体(k=1〜n0)の全ての処理手順(i=1〜n2またはi=1〜n3)の全てのエリア(j=1〜n1)に対する、適用画像処理情報203の成功確率1013、適用音声処理情報204の成功確率1023、及び関連する試行期間長と成功期間長は0に設定されている。また、上記成功確率のエリア毎の最大値として決定される視覚的成功確率1014と聴覚的成功確率1024も全て0である。具体的には下記数値が全て0になっている。
【0191】
(適用画像処理情報203)
ObjInfo. IpInfo[k]. ProbInfo [i][j]. probability = 0; // 成功確率(213)
ObjInfo. IpInfo[k]. ProbInfo [i][j]. TrialTime = 0; // 試行期間長
ObjInfo. IpInfo[k]. ProbInfo [i][j]. SuccessTime = 0; // 成功期間長
ObjInfo. IpInfo[k]. MaxProbability [j] = 0; // 視覚的成功確率(214)
【0192】
(適用音声処理情報204)
ObjInfo. SpInfo[k]. ProbInfo [i][j]. probability = 0; // 成功確率(223)
ObjInfo. SpInfo[k]. ProbInfo [i][j]. TrialTime = 0; // 試行期間長
ObjInfo. SpInfo[k]. ProbInfo [i][j]. SuccessTime = 0; // 成功期間長
ObjInfo. SpInfo[k]. MaxProbability [j] = 0; // 聴覚的成功確率(224)
【0193】
一方、適用画像処理情報203の適用優先度1012、適用音声処理情報204の適用優先度1022、適用検出戦略情報205の検出戦略A〜Cのそれぞれの適用優先度には、初期値として当該音源物体に応じて適当に順位付けされた数値が与えられている。具体的には次のようになっている。なお、音源物体として、ここでは人物か非人物か程度の場合分けがあるとし、後述するようにそれぞれの別に応じて各種優先度が設定されるものとする。
【0194】
(適用画像処理情報203)
n2=3とした場合の例:
ObjInfo. IpInfo[k]. Priority [1][j] = 1; // 画像処理手順1の適用優先度(212)
ObjInfo. IpInfo[k]. Priority [2][j] = 2; // 画像処理手順2の適用優先度(212)
ObjInfo. IpInfo[k]. Priority [3][j] = 3; // 画像処理手順3の適用優先度(212)
なお、この例では「画像処理手順1→2→3」の順に設定されている。
【0195】
(適用音声処理情報204)
n3=3とした場合の例:
ObjInfo. SpInfo[k]. Priority [1][j] = 2; // 音声処理手順1の適用優先度(222)
ObjInfo. SpInfo[k]. Priority [2][j] = 3; // 音声処理手順2の適用優先度(222)
ObjInfo. SpInfo[k]. Priority [3][j] = 1; // 音声処理手順3の適用優先度(222)
なお、この例では「音声処理手順3→1→2」の順に設定されている。
【0196】
(適用検出戦略情報205)
適用優先度は順位を表す。
【0197】
ObjInfo. StInfo[k]. PriorityA = 1; // 検出戦略Aの適用優先度
ObjInfo. StInfo[k]. PriorityB = 3; // 検出戦略Bの適用優先度
ObjInfo. StInfo[k]. PriorityC = 2; // 検出戦略Cの適用優先度
なお、この例では「検出戦略A→C→B」の順に設定されている。
【0198】
[ステップS1201の検出対象設定処理:検出対象が人物の場合]
検出対象の音源物体が人物である場合の図12のステップS1201の例を示す。なお、実施の形態1の場合におけるステップS701の処理も同様である。
【0199】
[検出対象が命令者本人の場合]
例えば、ある人物A(命令者)がロボット装置900の右斜め後方から「ついておいで」と声を掛けたとする。ロボット装置900の音声入力部113によりこの音声は捉えられ、聴覚特徴検出定位部115内で呼ばれるライブラリ関数によって、声の方向と距離、それが人の声であること、登録されている誰の声であるか、その発話内容が「ついておいで」であることが認識され、ロボット装置900が振り返る。具体的には次の手順で処理が行われる。
【0200】
(1) SpSoundLocalizer ()によって人物Aの発話位置を示す方向と距離が計算される。
(2) SpSoundSeparator ()によってその方向の音声(人物Aの声)が周囲の雑音から分離抽出される。
(3) SpVoiceDetector ()によって分離抽出された音声がその調波構造の有無によって人の声であることが判断される。
(4) WildCardCode を引数に与えられたSpVoiceIdentifier (WildCardCode)によってその声が誰の声であるかが判断される。
(5) SpSpeechRecognizer ()によってその発話内容「ついておいで」が認識される。
(6) 上記(1)によって声の方向が判明すると、ロボット装置900は声のした方向(右斜め後方)に向きを変え、画像入力部112の備えるカメラの視野に人物Aを捉える。
【0201】
上記音声命令「ついておいで」により、ロボット装置900は人物Aを検出しなければならないことを知る。そこで、この人物Aを検出対象と定めて以下の手順を実行する。この手順は人物Aが既登録の音源物体であるか否かによって次のように2つに分かれる。
【0202】
[人物Aが既に音源物体として登録されている場合]
もし、人物Aが既にk番目の音源物体として登録されている場合、上記(4)において、この声がk番目の音源物体のものであると特定できる。このように、人物Aが既に登録されているk番目の音源物体であることが判明した場合は、その番号kが種別コード1002に設定される。なお、ここで人物Aの声を特定できるためには、人物Aの声を識別するための辞書情報を聴覚特徴情報225内に持っていることになるが、さらにこのときSpVoiceTrainer (k)を呼ぶことで、この辞書情報に今聞こえた人物Aの「ついておいで」という声を追加で学習し(この操作を既存辞書の更新と言う)、今後人物Aの声をより正確に識別できるように適応する。
【0203】
[人物Aがまだ音源物体として登録されていない場合]
また、もし、人物Aが音源物体としてまだ登録されていない場合は、上記(4)において、この声がどの音源物体のものであるかを特定できないことになる。このときは、人物Aは新しい音源物体であるとして、登録手続きが行われる。具体的には、新しい種別コードk=n0+1が発行され、SpVoiceTrainer (k)が呼ばれて、人物Aの声を識別するための辞書情報が新規に生成される(この操作を新規辞書の生成と言う)。同時にk番目の音源情報が適当な初期値で生成され、音源物体数n0はn0+1に更新される。
【0204】
上記(6)によって人物Aの顔をカメラの視野に捉えると、視覚特徴検出定位部114内で呼ばれるライブラリ関数によって、顔領域が検出され、登録されている誰の顔であるかが特定され、必要に応じて辞書情報の学習が行われる。具体的には次の手順で処理が行われる。
【0205】
(1) IpFaceDetector ()によって画像中から顔領域が検出抽出される。
(2) IpFaceIdentifier (k)によってそれが人物Aの顔であるか否かが検証される。もし検証できなければ、現状で人物Aの顔が識別できない(辞書情報が無いもしくは辞書情報が古い)ことになるのでIpFaceTrainer (k)によって人物Aの顔が学習(新規辞書の生成もしくは既存辞書の更新)される。
(3) また、同時に顔領域近傍(衣服や頭部)の色とテクスチャもIpColorTrainer (k)とIpTextureTrainer(k)によって学習(新規辞書の生成もしくは既存辞書の更新)される。
このとき、このk番目の音源物体が人物であることから、顔の他に衣服の色やテクスチャによって識別できることがわかっている。よって、この音源物体(人物A)を視覚的に検出するための関数(画像処理手順)とその適用優先度が次のように登録される。
【0206】
ObjInfo. IpInfo[k]. n2 = 3; // 画像処理手順は3個
ObjInfo. IpInfo[k]. pImageProcessing [1] = & IpFaceIdentifier(k); // 顔
ObjInfo. IpInfo[k]. pImageProcessing [2] = & IpColorIdentifier(k); // 色
ObjInfo. IpInfo[k]. pImageProcessing [3] = & IpTextureIdentifier(k); // テクスチャ
ObjInfo. IpInfo[k]. Priority [1][j] = 1; // IpFaceIdentifier()の適用優先度
ObjInfo. IpInfo[k]. Priority [2][j] = 2; // IpColorIdentifier()の適用優先度
ObjInfo. IpInfo[k]. Priority [3][j] = 3; // IpTextureIdentifier()の適用優先度
【0207】
同様に、このk番目の音源物体が人物であることから、声や足音(物音の一種)などによって識別できることがわかっている。よって、この音源物体(人物A)を聴覚的に検出するための関数(音声処理手順)とその適用優先度が次のように登録される。
【0208】
ObjInfo. SpInfo[k]. n2 = 2; // 音声処理手順は2個
ObjInfo. SpInfo[k]. pSoundProcessing [1] = & SpVoiceIdentifier(k); // 声
ObjInfo. SpInfo[k]. pSoundProcessing [2] = & SpSoundIdentifier(HumanWalk); // 物音(足音)
ObjInfo. SpInfo[k]. Priority [1][j] = 1; // SpVoiceIdentifier()の適用優先度
ObjInfo. SpInfo[k]. Priority [2][j] = 2; // SpSoundIdentifier()の適用優先度
【0209】
また、各検出戦略の適用優先度は「視覚優先→視覚聴覚併用→聴覚優先」の順を表して次のように設定される。
【0210】
ObjInfo. StInfo[k]. PriorityA = 1; // 検出戦略Aの適用優先度
ObjInfo. StInfo[k]. PriorityB = 3; // 検出戦略Bの適用優先度
ObjInfo. StInfo[k]. PriorityC = 2; // 検出戦略Cの適用優先度
【0211】
以上の設定によって、ロボット装置900が人物Aを視覚的・聴覚的に検出するための音源情報が整えられたことになる。
【0212】
[検出対象が命令者以外の人物の場合]
また、例えば、ある人物A(命令者)がロボット装置900の右斜め後方から「この人について行って」と声を掛けたとする。ロボット装置900の音声入力部113によりこの音声は捉えられ、聴覚特徴検出定位部115内で呼ばれるライブラリ関数によって、声の方向と距離、それが人の声であること、登録されている誰の声であるか、その発話内容が「この人について行って」であることが認識され、ロボット装置900が振り返る。具体的には次の手順で処理が行われる。
【0213】
(1) SpSoundLocalizer ()によって人物Aの発話位置を示す方向と距離が計算される。
(2) SpSoundSeparator ()によってその方向の音声(人物Aの音声)が周囲の雑音から分離抽出される。
(3) SpVoiceDetector ()によって分離抽出された音声がその調波構造の有無によって人の声であることが判断される。
(4) WildCardCode を引数に与えられたSpVoiceIdentifier (WildCardCode)によってその声が誰の声であるかが判断される。
(5) SpSpeechRecognizer ()によってその発話内容「この人について行って」が認識される。
(6) 上記(1)によって声の方向が判明すると、ロボット装置900は声のした方向(右斜め後方)に向きを変え、画像入力部112の備えるカメラの視野に人物Aを捉える。
【0214】
ロボット装置900が人物Aの方に振り向くことで、人物Aとともにその傍に居る人物Bが画像入力部112の備えるカメラ視野に捉えられる。上記音声命令「この人について行って」により、ロボット装置900は人物Aの傍に居る人物Bを検出しなければならないことを知る。そこで、人物Bを検出対象と定めて以下の手順を実行する。
【0215】
[人物Bの声の取得]
ロボット装置900は人物Bの声をまだ確認していないので、音声出力によって挨拶を交わすなどして人物Bの発話を促す。そして、人物Bからの声を得ると、この声が誰の声であるかを識別しようとする。具体的には次の手順で処理が行われる。
【0216】
(1) SpSoundLocalizer ()によって人物Bの発話位置を示す方向と距離が計算される。
(2) SpSoundSeparator ()によってその方向の音声(人物Bの声)が周囲の雑音から分離抽出される。
(3) SpVoiceDetector ()によって分離抽出された音声がその調波構造の有無によって人の声であることが判断される。
(4) WildCardCode を引数に与えられたSpVoiceIdentifier (WildCardCode)によってその声が誰の声であるかが判断される。
【0217】
次に以下の設定手順を実行する。この手順は人物Bが既登録の音源物体であるか否かによって2つに分かれる。
【0218】
[人物Bが既に音源物体として登録されている場合]
もし、人物Bが既にk番目の音源物体として登録されている場合は、上記(4)において、この声がk番目の音源物体のものであると特定できる。このように、人物Bが既に登録されているk番目の音源物体であることが判明した場合は、その番号kが種別コード1002に設定される。なお、ここで人物Bの声を特定できるためには、人物Bの声を識別するための辞書情報を聴覚特徴情報225内に持っていることになるが、さらにこのときSpVoiceTrainer (k)を呼ぶことで、この辞書情報に今聞こえた人物Bの声を追加で学習し(この操作を既存辞書の更新と言う)、今後人物Bの声をより正確に識別できるように適応する。
【0219】
[人物Bがまだ音源物体として登録されていない場合]
また、もし、人物Bが音源物体としてまだ登録されていない場合は、上記(4)において、この声がどの音源物体のものであるかを特定できないことになる。このときは、人物Bが新しい音源物体であるとして登録手続きが行われる。具体的には、新しい種別コードk=n0+1が発行され、SpVoiceTrainer (k)が呼ばれて、人物Bの声を識別するための辞書情報が新規に生成される(この操作を新規辞書の生成と言う)。同時にk番目の音源情報が適当な初期値で生成され、音源物体数n0はn0+1に更新される。
【0220】
また、ロボット装置900の画像入力部112により人物Bの顔が捉えられると、視覚特徴検出定位部114内で呼ばれるライブラリ関数によって、顔領域が検出され、登録されている誰の顔であるかが特定され、必要に応じて辞書情報の学習が行われる。具体的には次の手順で処理が行われる。
【0221】
(1) IpFaceDetector ()によって画像中から顔領域が検出抽出される。
(2) IpFaceIdentifier (k)によってそれが人物Bの顔であるか否かが検証される。もし検証できなければ、現状で人物Bの顔が検出識別できないことになるのでIpFaceTrainer (k)によって顔の学習(新規辞書の生成もしくは既存辞書の更新)が行われる。
(3) また、同時に顔領域近傍(衣服や頭部)の色とテクスチャもIpColorTrainer (k)とIpTextureTrainer(k)によって学習(新規辞書の生成もしくは既存辞書の更新)される。
【0222】
このとき、このk番目の音源物体が人物であることから、顔の他に衣服の色やテクスチャによって識別できることがわかっている。よって、この音源物体(人物B)を視覚的に検出するための関数(画像処理手順)とその適用優先度が次のように登録される。
【0223】
ObjInfo. IpInfo[k]. n2 = 3; // 画像処理手順は3個
ObjInfo. IpInfo[k]. pImageProcessing [1] = & IpFaceIdentifier(k); // 顔
ObjInfo. IpInfo[k]. pImageProcessing [2] = & IpColorIdentifier(k); // 色
ObjInfo. IpInfo[k]. pImageProcessing [3] = & IpTextureIdentifier(k); // テクスチャ
ObjInfo. IpInfo[k]. Priority [1][j] = 1; // IpFaceIdentifier()の適用優先度
ObjInfo. IpInfo[k]. Priority [2][j] = 2; // IpColorIdentifier()の適用優先度
ObjInfo. IpInfo[k]. Priority [3][j] = 3; // IpTextureIdentifier()の適用優先度
【0224】
同様に、このk番目の音源物体が人物であることから、声や足音(物音の一種)などによって識別できることがわかっている。よって、この音源物体(人物B)を聴覚的に検出するための関数(音声処理手順)とその適用優先度が次のように登録される。
【0225】
ObjInfo. SpInfo[k]. n2 = 2; // 音声処理手順は2個
ObjInfo. SpInfo[k]. pSoundProcessing [1] = & SpVoiceIdentifier(k); // 声
ObjInfo. SpInfo[k]. pSoundProcessing [2] = & SpSoundIdentifier(HumanWalk); // 物音(足音)
ObjInfo. SpInfo[k]. Priority [1][j] = 1; // SpVoiceIdentifier()の適用優先度
ObjInfo. SpInfo[k]. Priority [2][j] = 2; // SpSoundIdentifier()の適用優先度
【0226】
また、各検出戦略の適用優先度は「視覚優先→視覚聴覚併用→聴覚優先」の順を表して次のように設定される。
【0227】
ObjInfo. StInfo[k]. PriorityA = 1; // 検出戦略Aの適用優先度
ObjInfo. StInfo[k]. PriorityB = 3; // 検出戦略Bの適用優先度
ObjInfo. StInfo[k]. PriorityC = 2; // 検出戦略Cの適用優先度
【0228】
以上の設定によって、ロボット装置900がこの人物Bを視覚的・聴覚的に検出するための音源情報が整えられたことになる。
【0229】
[ステップS1201の検出対象設定処理:検出対象が非人物の場合]
検出対象の音源物体が非人物である場合の図12のステップS1201の例を示す。
【0230】
[検出対象がペットの犬の場合]
また、例えば、ある人物A(命令者)がロボット装置900の右斜め後方から「この子について行って」と声を掛けたとする。ロボット装置900の音声入力部113によりこの音声は捉えられ、聴覚特徴検出定位部115内で呼ばれるライブラリ関数によって、声の方向と距離、それが人の声であること、登録されている誰の声であるか、その発話内容が「この子について行って」であることが認識され、ロボット装置900が振り返る。具体的には次の手順で処理が行われる。
【0231】
(1) SpSoundLocalizer ()によって人物Aの発話位置を示す方向と距離が計算される。
(2) SpSoundSeparator ()によってその方向の音声(人物Aの音声)が周囲の雑音から分離抽出される。
(3) SpVoiceDetector ()によって分離抽出された音声がその調波構造の有無によって人の声であることが判断される。
(4) WildCardCode を引数に与えられたSpVoiceIdentifier (WildCardCode)によってその声が誰の声であるかが判断される。
(5) SpSpeechRecognizer ()によってその発話内容「この人について行って」が認識される。
(6) 上記(1)によって声の方向が判明すると、ロボット装置900は声のした方向(右斜め後方)に向きを変え、画像入力部112の備えるカメラの視野に人物Aを捉える。
【0232】
ロボット装置900が人物Aの方に振り向くことで、人物Aとともにその傍に居る犬Cが画像入力部112の備えるカメラ視野に捉えられる。上記音声命令「この子について行って」により、ロボット装置900は人物Aの傍に居る犬Cを検出しなければならないことを知る。そこで、犬Cを検出対象と定めて以下の手順を実行する。
【0233】
ロボット装置900のカメラ視野に犬Cの姿が捉えられると、視覚特徴検出定位部114内で呼ばれるライブラリ関数によって、背景から浮き出た領域が検出され、登録されているどの音源物体であるかが特定される。具体的には次の手順で処理が行われる。
【0234】
(1) IpColorDetector ()、IpTextureDetector ()、IpDepthDetector ()によって画像が領域に分割される。
(2) 人物Aと同距離にある人物A近傍の領域が犬Cの姿を写した画像領域として抽出される。
(3) IpColorIdentifier (WildCardCode)、IpTextureIdentifier (WildCardCode)によってその領域がどの物体であるかが判断される。
【0235】
次に以下の設定手順を実行する。この手順は犬Cが既登録の音源物体であるか否かによって2つに分かれる。
【0236】
[犬Cが既に音源物体として登録されている場合]
もし、犬Cが既にk番目の音源物体として登録されている場合は、上記(3)において、この画像領域がk番目の音源物体のものであると特定できる。このように、犬Cが既に登録されているk番目の音源物体であることが判明した場合は、その番号kが種別コード1002に設定される。なお、ここで犬Cの姿を特定できるためには、犬Cの姿(色やテクスチャ)を識別するための辞書情報を聴覚特徴情報225内に持っていることになるが、さらにこのときIpColorTrainer (k)やIpTextureTrainer (k)を呼ぶことで、この辞書情報に今見えている犬Cの色やテクスチャを追加で学習し(この操作を既存辞書の更新と言う)、今後犬Cの姿をより正確に識別できるように適応する。
【0237】
[犬Cがまだ音源物体として登録されていない場合]
また、もし、犬Cが音源物体としてまだ登録されていない場合は、上記(4)において、この画像領域がどの音源物体のものであるかを特定できないことになる。このときは、犬Cが新しい音源物体であるとして登録手続きが行われる。具体的には、新しい種別コードk=n0+1が発行され、IpColorTrainer (k)やIpTextureTrainer (k)が呼ばれて、犬Cの姿(色やテクスチャ)を識別するための辞書情報が新規に生成される(この操作を新規辞書の生成と言う)。同時にk番目の音源情報が適当な初期値で生成され、音源物体数n0はn0+1に更新される。
【0238】
このとき、このk番目の音源物体が人物でないことから、色やテクスチャによってのみ識別できることがわかっている。よって、この音源物体(犬C)を視覚的に検出するための関数(画像処理手順)とその適用優先度が次のように登録される。
【0239】
ObjInfo. IpInfo[k]. n2 = 2; // 画像処理手順は2個
ObjInfo. IpInfo[k]. pImageProcessing [1] = & IpColorIdentifier(k); // 色
ObjInfo. IpInfo[k]. pImageProcessing [2] = & IpTextureIdentifier(k); // テクスチャ
ObjInfo. IpInfo[k]. Priority [2][j] = 1; // IpColorIdentifier()の適用優先度
ObjInfo. IpInfo[k]. Priority [3][j] = 2; // IpTextureIdentifier()の適用優先度
【0240】
同様に、このk番目の音源物体が人物でないことから、一般的な吼え声や足音(いずれも物音の一種)などによって識別できることがわかっている。よって、この音源物体(犬C)を聴覚的に検出するための関数(音声処理手順)とその適用優先度が次のように登録される。
【0241】
ObjInfo. SpInfo[k]. n2 = 1; // 音声処理手順は1個
ObjInfo. SpInfo[k]. pSoundProcessing [1] = & SpSoundIdentifier(DogWalk | Bowwow);
// 物音(足音と吼え声)
ObjInfo. SpInfo[k]. Priority [1][j] = 1; // SpSoundIdentifier()の適用優先度
【0242】
また、各検出戦略の適用優先度は「視覚優先→視覚聴覚併用→聴覚優先」の順を表して次のように設定される。
【0243】
ObjInfo. StInfo[k]. PriorityA = 1; // 検出戦略Aの適用優先度
ObjInfo. StInfo[k]. PriorityB = 3; // 検出戦略Bの適用優先度
ObjInfo. StInfo[k]. PriorityC = 2; // 検出戦略Cの適用優先度
【0244】
以上の設定によって、ロボット装置900がこの犬Cを視覚的・聴覚的に検出するための音源情報が整えられたことになる。
【0245】
[人物/非人物による標準設定(先験知識)と、その他の設定方法]
なお、上述した関数(画像処理手順と聴覚処理手順)と各種適用優先度の設定における人物か否かによる場合分けは、検出対象が人物ならこのように、非人物ならこのようにというように予め先験知識として装置に組み込まれている。また、その別は設定手順に際して入力される音声命令や、その他ここで例示しなかった操作入力によって装置が判別できるものとする。
【0246】
[新規音源物体の場合には全エリアを初期設定する]
また、上記設定時に検出対象(人物A、人物B、犬Cなど)が音源情報に登録されていない新規の音源物体である場合は、上述した設定内容と同じ設定を地図情報1030上の全てのエリアに対して施すことで、未設定のエリアを作らないようにする。
【0247】
[関数の実現方法]
以上の説明に登場した各画像処理関数と各音声処理関数は、下記文献に記載される内容と当該分野の専門知識を組み合わせることで実現される。
【0248】
(サブルーチン関数)
void IpFaceDetector(); // 文献1
void IpColorDetector(); // 文献2,8
void IpTextureDetector(); // 文献8
void IpDepthDetector(); // 文献7
【0249】
(学習関数)
void IpFaceTrainer(k); // 文献1
void IpColorTrainer (k); // 文献2,8
void IpTextureTrainer (k); // 文献8
【0250】
(識別関数)
void IpFaceIdentifier(k); // 文献1
void IpColorIdentifier(k); // 文献2,8
void IpTextureIdentifier(k); // 文献8
【0251】
(サブルーチン関数)
void SpVoiceDetector(); // 文献6
void SpSoundDetector(); // 文献6
void SpSoundLocalizer(); // 文献5
void SpSoundSeparator(); // 文献5
void SpSpeechRecognizer(); // 文献5
【0252】
(学習関数)
void SpVoiceTrainer(k); // 文献3
void SpSoundTrainer(flg); // 文献4
【0253】
(識別関数)
void SpVoiceIdentifier(k); // 文献3
void SpSoundIdentifier(flg); // 文献4
【0254】
文献1 特開2000−30065号公報
文献2 学術文献「移動カメラによる人物識別のための色パターンの獲得」、ロボメカ2005、1P2−N−046、Jun.2005
文献3 特開平10−97274号公報
文献4 特開2000−268265号公報
文献5 学術文献「ハフ変換を用いた音源音のクラスタリングとロボット用聴覚への応用」、人工知能学会第22回AIチャレンジ研究会、pp.53−58、Oct.2005
文献6 学術文献「占有度を用いた耐雑音性の高い基本周波数推定法」、信学技報SP2001−138、pp.21−28、Mar.2002
文献7 書籍「3次元ビジョン」、共立出版、Apr.1998
文献8学術文献「対人追従ロボットのための後背面の視覚追跡」、ロボメカ2004、2P1−H−37、Jun.2004
【0255】
なお、以下簡略のため、k番目の音源物体を音源物体kと称することとする。
【0256】
[ステップS1202の音源物体初期位置同定処理]
検出対象設定処理(S1201)で音源物体kの顔や姿が見えているので、次にステップS1202において、音源物体検出部116は、音源物体kの顔や姿の見えている方向と距離(ロボット装置900に対する相対値である)とロボット装置900の地図情報1030上の位置と向きとから音源物体kの地図情報1030上の絶対位置(x, y)を算出する。そしてこの(x, y)を矩形内に含むエリアがMapInfo内で検索されて存在エリア番号jが判明する。なお、音源物体kの位置(x, y)と存在エリア番号jは記憶部911に記憶保持されるものとする。また、この時点ではロボット装置900の地図情報1030上の位置と向きは予め分かっているものとする。
【0257】
[ステップS1203〜S1204の戦略・検出手順選択処理]
次に、音源物体検出部116は、音源物体kの存在エリアjに応じた最も適用優先順位の高い検出戦略を選択する。上記の設定例によれば戦略Aが選択される。
【0258】
また、音源物体検出部116は、視覚特徴検出定位部114に制御指令を送り、音源物体kの存在エリアjに応じた各画像処理手順の適用優先度を比較して、適用優先順位の高い順に例えば最大2つの画像処理手順を選択させる。上記人物Aと人物Bの設定例によれば、IpFaceIdentifier (k)とIpColorIdentifier (k)が選択される。また、上記犬Cの設定例によれば、IpColorIdentifier (k)とIpTextureIdentifier (k)が選択される。
【0259】
さらに、音源物体検出部116は、聴覚特徴検出定位部115にも制御指令を送り、音源物体kの存在エリアjに応じた各音声処理手順の適用優先度を比較して、適用優先順位の高い順に例えば最大2つの音声処理手順を選択させる。上記人物Aと人物Bの設定例によれば、SpVoiceIdentifier (k)とSpSoundIdentifier (HumanWalk)が選択される。また、上記犬Cの設定例によれば、SpSoundIdentifier (DogWalk | Bowwow)が選択される。
【0260】
これで設定された音源物体kとの位置関係を制御する準備が整ったことになる。
【0261】
[ステップS1205〜S1207の検出・位置関係制御処理ステップS3]
次に、音源物体検出部116は、選択された検出戦略、画像処理手順、音声処理手順に従って視覚特徴検出定位部114と聴覚特徴検出定位部115を稼動させて音源物体kを検出しつつ、視覚特徴検出定位部114と聴覚特徴検出定位部115の出力する視覚定位情報と聴覚定位情報を参照しながら、音源物体kの距離と方向を記した音源物体検出情報を生成出力する。そして、この音源物体検出情報を受けて、位置関係制御部119がロボット装置900と音源物体kとの位置関係を制御する。
【0262】
[ステップS1208の音源物体位置同定処理]
次に、自己位置同定部920によってロボット装置900の地図情報1030上の現在の位置と向きが同定され、音源物体検出部116によって、上述した通り、音源物体kの現在の地図情報1030上の座標値が算出され、その存在エリアjが更新される。
【0263】
[ステップS1209〜S1211の検出確率更新処理]
次に、音源物体検出部116は、音源物体kについて、視覚定位情報の検出成績から現在使用している画像処理手順の地図情報1030上の存在エリアjに対応付けられている成功確率情報(試行期間長、成功期間長、成功確率)と適用優先度を更新し、聴覚定位情報の検出成績から現在使用している音声処理手順の地図情報1030上の存在エリアjに対応付けられている成功確率情報(試行期間長、成功期間長、成功確率)と適用優先度を更新する。また、更新された成功確率に基づいて地図情報1030上の存在エリアjに対応付けられている視覚的成功確率と聴覚的成功確率を更新する。また、更新された視覚的成功確率と聴覚的成功確率に基づいて各検出戦略の地図情報1030上の存在エリアjに対応付けられている適用優先度を更新する。
【0264】
[ステップS1212の検出成否分岐処理]
次に、音源物体検出部116は、このとき音源物体kの検出が成功していれば、タイムアップカウンターをゼロに初期化した後、処理を左分岐させてステップS1205〜S1211を繰り返す。また、音源物体kの検出が失敗していれば、次のステップS1213の処理に移行する。
【0265】
[ステップS1213のエリア移動分岐処理]
次に、音源物体検出部116は、音源物体kの地図情報1030上の位置が前回と異なるエリア内に移動したか否かを判断する。音源物体kがエリアを移動した場合には、ステップS1214の処理に移行し、エリアを移動していない場合にはステップS1216の処理に移行する。
【0266】
[ステップS1214およびS1215のエリア適応処理]
ステップS1213においてエリアを移動していると判断された場合には、音源物体検出部116は、移動先のエリアに対応付けられている適用優先度に従って最も適用優先度の高い検出戦略と、適用優先度の高い順に例えば最大2つまでの画像処理手順と音声処理手順をそれぞれ選択し直す。
【0267】
[ステップS1216のタイムアウト分岐処理]
ステップS1213においてエリアを移動していないと判断された場合には、音源物体検出部116は、タイムアウトカウンタを1だけ増加させる。この結果、タイムアウトカウンタは検出失敗の連続回数をカウントすることになる。音源物体検出部116は、このカウンター値が所定値に至るまではステップS1205からS1213までの処理を繰り返す。また、所定値に至った場合には、ステップS1217に移行する。
【0268】
[ステップS1217およびS1218の戦略・検出手順変更処理]
次に、タイムアウトカウンタ値が所定値に至った場合には、音源物体検出部116は、失敗が連続し過ぎたとして、これまでの検出戦略、画像処理手順、音声処理手順の見直しを行う。具体的には、上記ステップS1209からS1211までの処理で各種確率と各種優先度が更新されているので、原則的には、ステップS1203、1204と同様の処理によって改めて音源物体kの地図情報1030上の存在エリアjに対応付けられている各戦略の適用優先度を比較して、この適用優先度の最も高い検出戦略と、音源物体kの地図情報1030上の存在エリアjに対応付けられている画像処理手順の適用優先度を比較して、この適用優先度の高い順に例えば最大2つの画像処理手順と、音源物体kの地図情報1030上の存在エリアjに対応付けられている音声処理手順の適用優先度を比較して、この適用優先度の高い順に例えば最大2つの音声処理手順を選択し直すことを行う。
【0269】
また、この結果、以前と変わらない検出戦略と画像処理手順と音声処理手順の組が再び選択された場合には、あえて試行錯誤するために、乱数により検出戦略と画像処理手順と音声処理手順の別の組を選択する。ただし、登録されている関数が少なく、別の組を選択する余地のない場合は、そのまま同じ組を選択する。
【図面の簡単な説明】
【0270】
【図1】実施の形態1にかかるロボット装置の構成を示すブロック図である。
【図2】音源情報の内容を模式的に示したブロック図である。
【図3】実施の形態1にかかる音源情報のデータの一例を示す説明図である。
【図4−1】従来のロボット装置1において追従している人物102を見失う第1の原因を説明するための模式図である。
【図4−2】従来のロボット装置1において追従している人物102を見失う第2の原因を説明するための模式図である。
【図4−3】従来のロボット装置1において追従している人物102を見失う第3の原因を説明するための模式図である。
【図5】人物102の他にドア6やテレビ7などの複数の音源が存在する場合において従来のロボット装置が追従対象を見失った状態を説明する模式図である。
【図6】人物102の他にドア6やテレビ7などの複数の音源が存在する場合において実施の形態1のロボット装置が追従対象を探索する状態を説明する模式図である。
【図7】実施の形態1にかかるロボット装置100による音源物体検出処理の手順を示すフローチャートである。
【図8】適用検出戦略情報に設定される検出戦略情報の適用優先度の決定処理の手順を示すフローチャートである。
【図9】実施の形態2にかかるロボット装置の構成を示すブロック図である。
【図10】地図情報の一例を示す模式図である。
【図11】実施の形態2にかかる音源情報のデータの一例を示す説明図である。
【図12】実施の形態2にかかるロボット装置100による音源物体検出処理の手順を示すフローチャートである。
【図13】実施の形態2にかかるロボット装置100による音源物体検出処理の手順を示すフローチャート(図12の続き)である。
【符号の説明】
【0271】
1,100,900 ロボット装置
3 視覚的検出可能圏
4 視界
5 視覚的障害物
6 ドア
7 テレビ
102 人物(音源物体)
111,911 記憶部
112 画像入力部
113 音声入力部
118 近接センシング部
114 視覚特徴検出定位部
115 聴覚特徴検出定位部
116 音源物体検出部
117 音源情報学習部
119 位置関係制御部
121 駆動部
201 音源情報
202 種別コード情報
203 適用画像処理情報
204 適用音声処理情報
205 適用検出戦略情報
211 画像処理手順
212,222 適用優先度
213,223 成功確率
214 視覚的成功確率
215 視覚特徴情報
221 音声処理手順
224 聴覚的成功確率
225 聴覚特徴情報
920 自己位置同定部

【特許請求の範囲】
【請求項1】
視覚的かつ聴覚的に識別可能な物体である音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した画像処理手順と前記画像処理手順によって参照されて前記音源物体の視覚的な特徴を示す視覚特徴情報とを含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した音声処理手順と前記音声処理手順によって参照されて前記音源物体の聴覚的な特徴を示す聴覚特徴情報とを含む適用音声処理情報と、前記適用画像処理情報と前記適用音声処理情報のいずれかまたは双方を用いて前記音源物体を検出するかを示す複数の検出戦略情報とを含む音源情報を記憶する記憶手段と、
前記音源物体を撮像した画像を入力する画像入力手段と、
前記音源物体から発生する音声を入力する音声入力手段と、
前記画像入力手段によって入力された画像と、前記音源情報の前記適用画像処理情報とに基づいて前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位手段と、
前記音声入力手段によって入力された音声と、前記音源情報の前記適用音声処理情報とに基づいて前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位手段と、
前記検出戦略情報に基づいて、前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御し、前記視覚特徴検出定位手段により出力される前記視覚定位情報または前記聴覚特徴検出定位手段から出力される前記聴覚定位情報から前記音源物体の存在する位置を示す位置情報を検出する音源物体検出手段と、
を備えたことを特徴とする位置検出装置。
【請求項2】
前記記憶手段は、前記検出戦略情報を複数記憶しており、
前記音源情報は、さらに複数の検出戦略情報の中で適用する前記検出戦略情報の優先順位を定めた適用検出戦略情報を前記音源物体の識別情報と対応付けており、
前記音源物体検出手段は、前記適用検出戦略情報で定められた優先順位で前記検出戦略情報を選択し、選択された前記検出戦略情報に基づいて前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御することを特徴とする請求項1に記載の位置検出装置。
【請求項3】
前記音源物体検出手段は、選択された前記検出戦略情報に基づいて前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御することによって前記音源物体を検出することができない場合には、選択された前記検出戦略情報と異なる前記戦略情報を前記優先順位に従って再選択し、再選択された前記検出戦略情報に基づいて前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御することを特徴とする請求項2に記載の位置検出装置。
【請求項4】
前記複数の検出戦略情報は、前記視覚特徴検出定位手段による検出のみを行い、該検出が失敗したときのみ前記聴覚特徴検出定位手段による検出を行う第1の検出戦略と、前記聴覚特徴検出定位手段による検出のみを行い、該検出が失敗したときのみ前記視覚特徴検出定位手段による検出を行う第2の検出戦略と、前記視覚特徴検出定位手段による検出と前記聴覚特徴検出定位手段による検出を共に行う第3の検出戦略であることを特徴とする請求項3に記載の位置検出装置。
【請求項5】
前記音源情報は、さらに、前記音源物体の識別情報ごとに、複数の前記画像処理手順と、前記画像処理手順を適用する際の優先順位である適用優先度とが対応付けられており、
前記視覚特徴検出定位手段は、前記適用優先度に従って前記画像処理手順を選択し、選択された前記画像処理手順を実行して、前記音源物体の視覚特徴を検出し、前記音源物体の前記視覚定位情報を出力することを特徴とする請求項1に記載の位置検出装置。
【請求項6】
前記音源物体検出手段は、前記視覚特徴定検出位手段によって前記画像処理手順を実行することにより前記音源物体を検出することができなかった場合には、選択した前記画像処理手順と異なる前記画像処理手順を再選択し、再選択された前記画像処理手順を実行するように前記視覚特徴検出定位手段を制御することを特徴とする請求項5に記載の位置検出装置。
【請求項7】
前記音源情報は、さらに、前記音源物体の識別情報ごとに、複数の前記音声処理手順と、前記音声処理手順を適用する際の優先順位である適用優先度とが対応付けられており、
前記聴覚特徴検出定位手段は、前記適用優先度に従って前記音声処理手順を選択し、選択された前記音声処理手順を実行して、前記音源物体の聴覚特徴を検出し、前記音源物体の前記聴覚定位情報を出力することを特徴とする請求項1に記載の位置検出装置。
【請求項8】
前記音源物体検出手段は、前記聴覚特徴検出定位手段によって前記音声処理手順を実行することにより前記音源物体を検出することができなかった場合には、選択した前記音声処理手順と異なる前記音声処理手順を再選択し、再選択された前記音声処理手順を実行するように前記聴覚特徴検出定位手段を制御することを特徴とする請求項7に記載の位置検出装置。
【請求項9】
前記視覚特徴検出定位手段によって前記音源物体が検出されている間に、前記音源物体が検出されている方向と略同一方向から前記音声入力手段によって入力される音声を選択し、選択された音声から前記音源物体の前記聴覚特徴情報を生成し、生成した前記聴覚特徴情報を、前記音源物体の識別情報に対応した前記適用音声処理情報に登録し、前記聴覚特徴検出定位手段によって前記音源物体が検出されている間に、前記音源物体が検出されている方向と略同一方向から前記画像入力手段によって入力される画像を選択し、選択された画像から前記音源物体の前記視覚特徴情報を生成し、生成した前記視覚特徴情報を、前記音源物体の識別情報に対応した前記適用画像処理情報に登録する音源情報学習手段
をさらに備えたことを特徴とする請求項1に記載の位置検出装置。
【請求項10】
前記位置検出装置の位置を同定する位置同定手段を更に備え、
前記記憶手段は、前記音源物体が存在可能な領域の位置情報を示す地図情報をさらに記憶し、
前記音源情報は、前記適用画像処理情報と前記適用音声処理情報とを前記地図情報における領域ごとに保持し、
前記音源物体検出手段は、さらに、前記自己位置同定手段によって同定された前記位置から前記音源物体の存在する領域を同定し、
前記視覚特徴検出定位手段は、前記画像入力手段によって入力された画像と、前記音全物体検出手段によって同定された前記領域に対応した前記適用画像処理情報とに基づいて前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記視覚定位情報を出力
し、
前記聴覚特徴検出定位手段は、前記音声入力手段によって入力された音声と、前記音全物体検出手段によって同定された前記領域に対応した前記適用画像処理情報とに基づいて前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記聴覚定位情報を出力することを特徴とする請求項1に記載の位置検出装置。
【請求項11】
前記記憶手段は、前記検出戦略情報を複数記憶しており、
前記音源情報は、さらに複数の前記検出戦略情報の中で適用する前記検出戦略情報の優先順位を定めた適用検出戦略情報を前記領域に対応付けており、
前記音源物体検出手段は、前記位置同定手段によって同定された位置が含まれる前記領域に対応する前記適用検出戦略情報で定められた優先順位で前記検出戦略情報を選択し、選択された前記検出戦略情報に基づいて前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御することを特徴とする請求項10に記載の位置検出装置。
【請求項12】
前記視覚特徴定検出位手段によって前記音源物体が検出されている間に、前記音源物体が検出されている方向と略同一方向から前記音声入力手段によって入力される音声を選択し、選択された音声から前記音源物体の前記聴覚特徴情報を生成し、生成した前記聴覚特徴情報を、前記音源物体の識別情報と前記位置同定手段によって同定された前記音源物体の位置を含む前記領域とに対応した前記適用音声処理情報に登録し、前記聴覚特徴検出定位手段によって前記音源物体が検出されている間に、前記音源物体が検出されている方向と略同一方向から前記画像入力手段によって入力される画像を選択し、選択された画像から前記音源物体の前記視覚特徴情報を生成し、生成した前記視覚特徴情報を、前記音源物体の識別情報と前記位置同定手段によって同定された前記音源物体の位置を含む前記領域とに対応した前記適用画像処理情報に登録する音源情報学習手段
をさらに備えたことを特徴とする請求項10に記載の位置検出装置。
【請求項13】
駆動部による駆動によって移動可能な自律移動装置であって、
視覚的かつ聴覚的に識別可能な物体である音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した画像処理手順と前記画像処理手順によって参照されて前記音源物体の視覚的な特徴を示す視覚特徴情報とを含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した音声処理手順と前記音声処理手順によって参照されて前記音源物体の聴覚的な特徴を示す聴覚特徴情報とを含む適用音声処理情報と、前記適用画像処理情報と前記適用音声処理情報のいずれかまたは双方を用いて前記音源物体を検出するかを示す複数の検出戦略情報とを記憶する記憶手段と、
前記音源物体を撮像した画像を入力する画像入力手段と、
前記音源物体から発生する音声を入力する音声入力手段と、
前記画像入力手段によって入力された画像と、前記音源情報の前記適用画像処理情報とに基づいて前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位手段と、
前記音声入力手段によって入力された音声と、前記音源情報の前記適用音声処理情報とに基づいて前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位手段と、
前記検出戦略情報に基づいて、前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御し、前記視覚特徴検出定位手段により出力される前記視覚定位情報または前記聴覚特徴検出定位手段から出力される聴覚定位情報から前記音源物体の存在する位置を示す位置情報を検出する音源物体検出手段と、
前記音源物体検出手段による前記音源物体の前記位置情報に基づいて前記音源物体との位置関係を制御する位置関係制御手段と、
を備えたことを特徴とする自律移動装置。
【請求項14】
前記自律移動装置の位置を同定する自己位置同定手段を更に備え、
前記記憶手段は、前記音源物体が存在可能な領域の位置情報を示す地図情報をさらに記憶し、
前記音源情報は、前記適用画像処理情報と前記適用音声処理情報とを前記地図情報における領域ごとに保持し、
前記音源物体検出手段は、さらに、前記自己位置同定手段によって同定された前記位置から前記音源物体の存在する領域を同定し、
前記視覚特徴検出定位手段は、前記画像入力手段によって入力された画像と、前記音全物体検出手段によって同定された前記領域に対応した前記適用画像処理情報とに基づいて前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記視覚定位情報を出力
し、
前記聴覚特徴検出定位手段は、前記音声入力手段によって入力された音声と、前記音全物体検出手段によって同定された前記領域に対応した前記適用画像処理情報とに基づいて前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記聴覚定位情報を出力することを特徴とする請求項13に記載の自律移動装置。
【請求項15】
視覚的かつ聴覚的に識別可能な物体である音源物体を撮像した画像を入力する画像入力ステップと、
前記音源物体から発生する音声を入力する音声入力ステップと、
視覚特徴検出定位手段によって、前記音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した画像処理手順と前記画像処理手順によって参照されて前記音源物体の視覚的な特徴を示す視覚特徴情報とを含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した音声処理手順と前記音声処理手順によって参照されて前記音源物体の聴覚的な特徴を示す聴覚特徴情報とを含む適用音声処理情報と、前記適用画像処理情報と前記適用音声処理情報のいずれかまたは双方を用いて前記音源物体を検出するかを示す複数の検出戦略情報とを含む音源情報の前記適用画像処理情報と、前記画像入力ステップによって入力された画像とに基づいて前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位ステップと、
聴覚特徴検出定位手段によって、前記音声入力ステップによって入力された音声と、前記音源情報の前記適用音声処理情報とに基づいて前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位ステップと、
前記検出戦略情報に基づいて、前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御し、前記視覚特徴検出定位手段により出力される前記視覚定位情報または前記聴覚特徴検出定位手段から出力される聴覚定位情報から前記音源物体の存在する位置を示す位置情報を検出する音源物体検出ステップと、
を含むことを特徴とする位置検出方法。
【請求項16】
視覚特徴検出定位手段によって、前記音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した画像処理手順と前記画像処理手順によって参照されて前記音源物体の視覚的な特徴を示す視覚特徴情報とを含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した音声処理手順と前記音声処理手順によって参照されて前記音源物体の聴覚的な特徴を示す聴覚特徴情報とを含む適用音声処理情報と、前記適用画像処理情報と前記適用音声処理情報のいずれかまたは双方を用いて前記音源物体を検出するかを示す複数の検出戦略情報とを含む音源情報の前記適用画像処理情報と、前記画像入力ステップによって入力された画像とに基づいて前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位ステップと、
聴覚特徴検出定位手段によって、前記音声入力ステップによって入力された音声と、前記音源情報の前記適用音声処理情報とに基づいて前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位ステップと、
前記検出戦略情報に基づいて、前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御し、前記視覚特徴検出定位手段により出力される前記視覚定位情報または前記聴覚特徴検出定位手段から出力される聴覚定位情報から前記音源物体の存在する位置を示す位置情報を検出する音源物体検出ステップと、
をコンピュータに実行させる位置検出プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4−1】
image rotate

【図4−2】
image rotate

【図4−3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2007−264472(P2007−264472A)
【公開日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願番号】特願2006−91993(P2006−91993)
【出願日】平成18年3月29日(2006.3.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】