(57)【特許請求の範囲】
【請求項１】
視覚的かつ聴覚的に識別可能な物体である音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した複数の画像処理手順、及び前記画像処理手順によって参照される情報であって前記音源物体の視覚的な特徴を示す視覚特徴情報、及び前記音源物体を前記画像処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第１成功確率、並びに前記画像処理手順を適用する際の前記第１成功確率を大きい順で並べた優先順位である第１適用優先度を含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した複数の音声処理手順、及び前記音声処理手順によって参照される情報であって前記音源物体の聴覚的な特徴を示す聴覚特徴情報、及び前記音源物体を前記音声処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第２成功確率、並びに前記音声処理手順を適用する際の前記第２成功確率を大きい順で並べた優先順位である第２適用優先度を含む適用音声処理情報と、複数の検出戦略情報と、適用検出戦略情報と、を含む音源情報を記憶する記憶手段と、
前記音源物体を撮像した画像を入力する画像入力手段と、
前記音源物体から発生する音声を入力する音声入力手段と、
前記音源情報の前記第１適用優先度に従って前記画像処理手順を選択し、前記画像入力手段によって入力された画像に対して、選択された前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位手段と、
前記音源情報の前記第２適用優先度に従って前記音声処理手順を選択し、前記音声入力手段によって入力された音声に対して、選択された前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位手段と、
前記検出戦略情報に基づいて、前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御し、前記音源物体の存在する位置を示す位置情報を検出し、前記視覚定位情報による検出結果に基づいて前記第１成功確率及び前記第１適用優先度を更新し、前記聴覚定位情報による検出結果に基づいて前記第２成功確率及び前記第２適用優先度を更新する音源物体検出手段と、を備え、
前記検出戦略情報は、前記視覚特徴検出定位手段による視覚特徴による検出と前記聴覚特徴検出定位手段による聴覚特徴による検出のいずれを優先するか、あるいは前記視覚特徴による検出と前記聴覚特徴による検出とを併用するかを示し、
前記適用検出戦略情報は、前記第１成功確率の最大値が前記第２成功確率の最大値より大きい場合には、前記視覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第２成功確率の最大値が前記第１成功確率の最大値より大きい場合には、前記聴覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第１成功確率および前記第２成功確率が所定の閾値より小さい場合には、前記視覚特徴による検出と前記聴覚特徴による検出とを併用する検出戦略情報を高い優先順位とする旨が定められており、
前記音源物体検出手段は、前記複数の検出戦略情報の中から、前記適用検出戦略情報で定められた優先順位に従って前記検出戦略情報を選択し、選択された前記検出戦略情報で優先される、前記視覚特徴検出定位手段あるいは前記聴覚特徴検出定位手段のいずれか、または双方を制御し、前記視覚特徴検出定位手段により出力される前記視覚定位情報または前記聴覚特徴検出定位手段により出力される前記聴覚定位情報から前記位置情報を検出することを特徴とする位置検出装置。 
【請求項２】
前記音源物体検出手段は、選択された前記検出戦略情報に基づいて前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御することによって前記音源物体を検出することができない場合には、選択された前記検出戦略情報と異なる前記検出戦略情報を前記優先順位に従って再選択し、再選択された前記検出戦略情報に基づいて前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御することを特徴とする請求項１に記載の位置検出装置。
【請求項３】
前記複数の検出戦略情報は、前記視覚特徴検出定位手段による検出のみを行い、該検出が失敗したときのみ前記聴覚特徴検出定位手段による検出を行う第１の検出戦略と、前記聴覚特徴検出定位手段による検出のみを行い、該検出が失敗したときのみ前記視覚特徴検出定位手段による検出を行う第２の検出戦略と、前記視覚特徴検出定位手段による検出と前記聴覚特徴検出定位手段による検出を共に行う第３の検出戦略であることを特徴とする請求項２に記載の位置検出装置。
【請求項４】
前記音源物体検出手段は、前記視覚特徴定検出位手段によって前記画像処理手順を実行することにより前記音源物体を検出することができなかった場合には、選択した前記画像処理手順と異なる前記画像処理手順を再選択し、再選択された前記画像処理手順を実行するように前記視覚特徴検出定位手段を制御することを特徴とする請求項１に記載の位置検出装置。
【請求項５】
前記音源物体検出手段は、前記聴覚特徴検出定位手段によって前記音声処理手順を実行することにより前記音源物体を検出することができなかった場合には、選択した前記音声処理手順と異なる前記音声処理手順を再選択し、再選択された前記音声処理手順を実行するように前記聴覚特徴検出定位手段を制御することを特徴とする請求項１に記載の位置検出装置。
【請求項６】
前記視覚特徴検出定位手段によって前記音源物体が検出されている間に、前記音源物体が検出されている方向と略同一方向から前記音声入力手段によって入力される音声を選択し、選択された音声から前記音源物体の前記聴覚特徴情報を生成し、生成した前記聴覚特徴情報を、前記音源物体の識別情報に対応した前記適用音声処理情報に登録し、前記聴覚特徴検出定位手段によって前記音源物体が検出されている間に、前記音源物体が検出されている方向と略同一方向から前記画像入力手段によって入力される画像を選択し、選択された画像から前記音源物体の前記視覚特徴情報を生成し、生成した前記視覚特徴情報を、前記音源物体の識別情報に対応した前記適用画像処理情報に登録する音源情報学習手段
をさらに備えたことを特徴とする請求項１に記載の位置検出装置。
【請求項７】
前記位置検出装置の位置を同定する位置同定手段を更に備え、
前記記憶手段は、前記音源物体が存在可能な領域の位置情報を示す地図情報をさらに記憶し、
前記音源情報は、前記適用画像処理情報と前記適用音声処理情報とを前記地図情報における領域ごとに保持し、
前記音源物体検出手段は、さらに、前記自己位置同定手段によって同定された前記位置から前記音源物体の存在する領域を同定し、
前記視覚特徴検出定位手段は、前記画像入力手段によって入力された画像と、前記音源物体検出手段によって同定された前記領域に対応した前記適用画像処理情報とに基づいて前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記視覚定位情報を出力し、
前記聴覚特徴検出定位手段は、前記音声入力手段によって入力された音声と、前記音源物体検出手段によって同定された前記領域に対応した前記適用画像処理情報とに基づいて前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記聴覚定位情報を出力することを特徴とする請求項１に記載の位置検出装置。
【請求項８】
前記音源情報は、さらに前記適用検出戦略情報を前記領域に対応付けており、
前記音源物体検出手段は、前記位置同定手段によって同定された位置が含まれる前記領域に対応する前記適用検出戦略情報で定められた優先順位で前記検出戦略情報を選択し、選択された前記検出戦略情報に基づいて前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御することを特徴とする請求項７に記載の位置検出装置。
【請求項９】
前記視覚特徴定検出位手段によって前記音源物体が検出されている間に、前記音源物体が検出されている方向と略同一方向から前記音声入力手段によって入力される音声を選択し、選択された音声から前記音源物体の前記聴覚特徴情報を生成し、生成した前記聴覚特徴情報を、前記音源物体の識別情報と前記位置同定手段によって同定された前記音源物体の位置を含む前記領域とに対応した前記適用音声処理情報に登録し、前記聴覚特徴検出定位手段によって前記音源物体が検出されている間に、前記音源物体が検出されている方向と略同一方向から前記画像入力手段によって入力される画像を選択し、選択された画像から前記音源物体の前記視覚特徴情報を生成し、生成した前記視覚特徴情報を、前記音源物体の識別情報と前記位置同定手段によって同定された前記音源物体の位置を含む前記領域とに対応した前記適用画像処理情報に登録する音源情報学習手段
をさらに備えたことを特徴とする請求項７に記載の位置検出装置。
【請求項１０】
駆動部による駆動によって移動可能な自律移動装置であって、
視覚的かつ聴覚的に識別可能な物体である音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した複数の画像処理手順、及び前記画像処理手順によって参照される情報であって前記音源物体の視覚的な特徴を示す視覚特徴情報、及び前記音源物体を前記画像処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第１成功確率、並びに前記画像処理手順を適用する際の前記第１成功確率を大きい順で並べた優先順位である第１適用優先度を含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した複数の音声処理手順、及び前記音声処理手順によって参照される情報であって前記音源物体の聴覚的な特徴を示す聴覚特徴情報、及び前記音源物体を前記音声処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第２成功確率、並びに前記音声処理手順を適用する際の前記第２成功確率を大きい順で並べた優先順位である第２適用優先度を含む適用音声処理情報と、複数の検出戦略情報と、適用検出戦略情報と、を含む音源情報を記憶する記憶手段と、
前記音源物体を撮像した画像を入力する画像入力手段と、
前記音源物体から発生する音声を入力する音声入力手段と、
前記音源情報の前記第１適用優先度に従って前記画像処理手順を選択し、前記画像入力手段によって入力された画像に対して、選択された前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位手段と、
前記音源情報の前記第２適用優先度に従って前記音声処理手順を選択し、前記音声入力手段によって入力された音声に対して、選択された前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位手段と、
前記検出戦略情報に基づいて、前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御し、前記音源物体の存在する位置を示す位置情報を検出し、前記視覚定位情報による検出結果に基づいて前記第１成功確率及び前記第１適用優先度を更新し、前記聴覚定位情報による検出結果に基づいて前記第２成功確率及び前記第２適用優先度を更新する音源物体検出手段と、
前記音源物体検出手段による前記音源物体の前記位置情報に基づいて前記音源物体との位置関係を制御する位置関係制御手段と、を備え、
前記検出戦略情報は、前記視覚特徴検出定位手段による視覚特徴による検出と前記聴覚特徴検出定位手段による聴覚特徴による検出のいずれを優先するか、あるいは前記視覚特徴による検出と前記聴覚特徴による検出とを併用するかを示し、
前記適用検出戦略情報は、前記第１成功確率の最大値が前記第２成功確率の最大値より大きい場合には、前記視覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第２成功確率の最大値が前記第１成功確率の最大値より大きい場合には、前記聴覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第１成功確率および前記第２成功確率が所定の閾値より小さい場合には、前記視覚特徴による検出と前記聴覚特徴による検出とを併用する検出戦略情報を高い優先順位とする旨が定められており、
前記音源物体検出手段は、前記複数の検出戦略情報の中から、前記適用検出戦略情報で定められた優先順位に従って前記検出戦略情報を選択し、選択された前記検出戦略情報で優先される、前記視覚特徴検出定位手段あるいは前記聴覚特徴検出定位手段のいずれか、または双方を制御し、前記視覚特徴検出定位手段により出力される前記視覚定位情報または前記聴覚特徴検出定位手段により出力される前記聴覚定位情報から前記位置情報を検出することを特徴とする自律移動装置。
【請求項１１】
前記自律移動装置の位置を同定する自己位置同定手段を更に備え、  前記記憶手段は、前記音源物体が存在可能な領域の位置情報を示す地図情報をさらに記憶し、  前記音源情報は、前記適用画像処理情報と前記適用音声処理情報とを前記地図情報における領域ごとに保持し、  前記音源物体検出手段は、さらに、前記自己位置同定手段によって同定された前記位置から前記音源物体の存在する領域を同定し、  前記視覚特徴検出定位手段は、前記画像入力手段によって入力された画像と、前記音源物体検出手段によって同定された前記領域に対応した前記適用画像処理情報とに基づいて前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記視覚定位情報を出力し、  前記聴覚特徴検出定位手段は、前記音声入力手段によって入力された音声と、前記音源物体検出手段によって同定された前記領域に対応した前記適用画像処理情報とに基づいて前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記聴覚定位情報を出力することを特徴とする請求項１０に記載の自律移動装置。
【請求項１２】
視覚的かつ聴覚的に識別可能な物体である音源物体を撮像した画像を入力する画像入力ステップと、
前記音源物体から発生する音声を入力する音声入力ステップと、
視覚特徴検出定位手段によって、前記音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した複数の画像処理手順、及び前記画像処理手順によって参照される情報であって前記音源物体の視覚的な特徴を示す視覚特徴情報、及び前記音源物体を前記画像処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第１成功確率、並びに前記画像処理手順を適用する際の前記第１成功確率を大きい順で並べた優先順位である第１適用優先度を含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した複数の音声処理手順、及び前記音声処理手順によって参照される情報であって前記音源物体の聴覚的な特徴を示す聴覚特徴情報、及び前記音源物体を前記音声処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第２成功確率、並びに前記音声処理手順を適用する際の前記第２成功確率を大きい順で並べた優先順位である第２適用優先度を含む適用音声処理情報と、検出戦略情報と、適用検出戦略情報と、を含む音源情報の前記適用画像処理情報の前記第１適用優先度に従って前記画像処理手順を選択し、前記画像入力ステップによって入力された画像に対して、選択された前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位ステップと、
聴覚特徴検出定位手段によって、  前記音源情報の前記第２適用優先度に従って前記音声処理手順を選択し、前記音声入力ステップによって入力された音声に対して、選択された前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位ステップと、
前記検出戦略情報に基づいて、前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御し、前記音源物体の存在する位置を示す位置情報を検出し、前記視覚定位情報による検出結果に基づいて前記第１成功確率及び前記第１適用優先度を更新し、前記聴覚定位情報による検出結果に基づいて前記第２成功確率及び前記第２適用優先度を更新する音源物体検出ステップと、を含み、
前記検出戦略情報は、前記視覚特徴検出定位手段による視覚特徴による検出と前記聴覚特徴検出定位手段による聴覚特徴による検出のいずれを優先するか、あるいは前記視覚特徴による検出と前記聴覚特徴による検出とを併用するかを示し、
前記適用検出戦略情報は、前記第１成功確率の最大値が前記第２成功確率の最大値より大きい場合には、前記視覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第２成功確率の最大値が前記第１成功確率の最大値より大きい場合には、前記聴覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第１成功確率および前記第２成功確率が所定の閾値より小さい場合には、前記視覚特徴による検出と前記聴覚特徴による検出とを併用する検出戦略情報を高い優先順位とする旨が定められており、
前記音源物体検出ステップは、前記複数の検出戦略情報の中から、前記適用検出戦略情報で定められた優先順位に従って前記検出戦略情報を選択し、選択された前記検出戦略情報で優先される、前記視覚特徴検出定位手段あるいは前記聴覚特徴検出定位手段のいずれか、または双方を制御し、前記視覚特徴検出定位手段により出力される前記視覚定位情報または前記聴覚特徴検出定位手段により出力される前記聴覚定位情報から前記位置情報を検出することを特徴とする位置検出方法。
【請求項１３】
音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した複数の画像処理手順、及び前記画像処理手順によって参照される情報であって前記音源物体の視覚的な特徴を示す視覚特徴情報、及び前記音源物体を前記画像処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第１成功確率、並びに前記画像処理手順を適用する際の前記第１成功確率を大きい順で並べた優先順位である第１適用優先度を含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した複数の音声処理手順、及び前記音声処理手順によって参照される情報であって前記音源物体の聴覚的な特徴を示す聴覚特徴情報、及び前記音源物体を前記音声処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第２成功確率、並びに前記音声処理手順を適用する際の前記第２成功確率を大きい順で並べた優先順位である第２適用優先度を含む適用音声処理情報と、複数の検出戦略情報と、適用検出戦略情報と、を含む音源情報の前記適用画像処理情報の前記第１適用優先度に従って前記画像処理手順を選択し、入力された画像に対して、選択された前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位ステップと、
前記音源情報の前記第２適用優先度に従って前記音声処理手順を選択し、入力された音声に対して、選択された前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位ステップと、
前記検出戦略情報に基づいて、前記視覚特徴検出定位ステップの実行または聴覚特徴検出定位ステップの実行を制御し、前記音源物体の存在する位置を示す位置情報を検出し、前記視覚定位情報による検出結果に基づいて前記第１成功確率及び前記第１適用優先度を更新し、前記聴覚定位情報による検出結果に基づいて前記第２成功確率及び前記第２適用優先度を更新する音源物体検出ステップと、をコンピュータに実行させ、
前記検出戦略情報は、前記視覚特徴検出定位ステップによる視覚特徴による検出と前記聴覚特徴検出定位ステップによる聴覚特徴による検出のいずれを優先するか、あるいは前記視覚特徴による検出と前記聴覚特徴による検出とを併用するかを示し、
前記適用検出戦略情報は、前記第１成功確率の最大値が前記第２成功確率の最大値より大きい場合には、前記視覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第２成功確率の最大値が前記第１成功確率の最大値より大きい場合には、前記聴覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第１成功確率および前記第２成功確率が所定の閾値より小さい場合には、前記視覚特徴による検出と前記聴覚特徴による検出とを併用する検出戦略情報を高い優先順位とする旨が定められており、
前記音源物体検出ステップは、前記複数の検出戦略情報の中から、前記適用検出戦略情報で定められた優先順位に従って前記検出戦略情報を選択し、選択された前記検出戦略情報で優先される、前記視覚特徴検出定位ステップの実行あるいは前記聴覚特徴検出定位ステップの実行のいずれか、または双方を制御し、前記視覚特徴検出定位ステップにより出力される前記視覚定位情報または前記聴覚特徴検出定位ステップにより出力される前記聴覚定位情報から前記位置情報を検出する位置検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
人物などの音を発生する物体である音源物体が存在する方向を検出する位置検出装置、位置検出方法および位置検出プログラム、検出した音源物体の方向により音源物体との位置関係を制御して自律移動を行う自律移動装置に関する。
【背景技術】
【０００２】
人物などの音を発する音源物体の視覚特徴を検出することで追従するようなロボット装置の技術が従来から一般的に知られている。このようなロボット装置では、音源物体をカメラ等の画像入力手段で撮像した画像から音源物体の視覚特徴を検出しているが、音源物体を視覚的に検出可能な範囲で音源物体である人物を撮像することには限界がある。例えば、人物がカメラの視界から外れた場合や、人物が視覚的に検出可能な範囲から逸脱した場合、あるいは人物が障害物等の別の物体の陰に隠れてしまった場合など、視覚特徴に基づく追従を行うことができない。
【０００３】
このように音源物体を視覚的に見失った場合、この音源物体が音声を発することにより、音声が発せられた方向にこの音源物体が存在すると判断し、当該方向にカメラを向けたり、あるいはその方向に移動する等の探索動作を行うことで、音源物体を視覚的に再検出して追従を再開することが考えられる。このような技術としては、テレビ会議システムにおいて、発言者を映すために音のした方向にカメラを向け、さらにカメラを向けてから顔をフレーミングするという技術が提案されている。
【０００４】
このような技術を、自律移動可能なロボットに適用した場合、対象人物のみが声を発するとは限らないため、例えば、人物の他にドアやテレビなどの複数の音源が存在して、それぞれが自在に音を発することのできる状況があり、この場合には、今聞こえた音が見失った人物の声であるとは限らないため、ロボットは人物の位置を聴覚的に特定することができない。
【０００５】
このため、人物の音声を他の人物の音声や他の音と区別できる機能が必要となってくるが、このためには、視覚特徴だけではなく、聴覚特徴のいずれにおいても、識別できる必要がある。
【０００６】
音源物体の画像に関する情報と音声に関する情報を利用して物体の検出を行うロボット装置としては、特許文献１に開示された技術がある。この従来技術では、ある物体が見えているときに聞こえる人物の音声を語彙認識して得られる文字列を、当該物体の画像と組にして記憶するものである。この従来技術では、利用者は、ある物体を見せてその名前を発話してロボット装置に聞かせることにより、ロボット装置に物体の名称を記憶させ、ロボット装置は記憶された物体を視覚的に検出すると、画像と組になっている物体の名称を音声合成によって発声する。
【０００７】
【特許文献１】特開２００２−３０７３４９号公報
【非特許文献１】「ハフ変換を用いた音源音のクラスタリングとロボット用聴覚への応用」人工知能学会第22回AIチャレンジ研究会、Oct. 2005
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、この従来技術では、ロボット装置は、物体から発せられる音声を利用してはいるが、物体の画像を視覚によって検出する際に、聴覚による検出を補助的に利用しているだけである。また、物体の画像と対応付けられる音声は、物体を見せている利用者の発する言葉であり、その物体から発せられた音ではない。このため、ある音源物体を見失った場合において、音源物体の検出を行うことができず、追従することができない場合がある。
【０００９】
本発明は、上記に鑑みてなされたものであって、音源物体の視覚特徴に基づく検出と聴覚特徴に基づく検出を併用、かつ調整して組み合わせることにより、音源物体の検出成功率を向上させるとともに安定させることができる位置検出装置、自律移動装置、位置検出方法および位置検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明にかかる位置検出装置は、視覚的かつ聴覚的に識別可能な物体である音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した複数の画像処理手順、及び前記画像処理手順によって参照される情報であって前記音源物体の視覚的な特徴を示す視覚特徴情報、及び前記音源物体を前記画像処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第１成功確率、並びに前記画像処理手順を適用する際の前記第１成功確率を大きい順で並べた優先順位である第１適用優先度を含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した複数の音声処理手順、及び前記音声処理手順によって参照される情報であって前記音源物体の聴覚的な特徴を示す聴覚特徴情報、及び前記音源物体を前記音声処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第２成功確率、並びに前記音声処理手順を適用する際の前記第２成功確率を大きい順で並べた優先順位である第２適用優先度を含む適用音声処理情報と、複数の検出戦略情報と、適用検出戦略情報と、を含む音源情報を記憶する記憶手段と、前記音源物体を撮像した画像を入力する画像入力手段と、前記音源物体から発生する音声を入力する音声入力手段と、前記音源情報の前記第１適用優先度に従って前記画像処理手順を選択し、前記画像入力手段によって入力された画像に対して、選択された前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位手段と、前記音源情報の前記第２適用優先度に従って前記音声処理手順を選択し、前記音声入力手段によって入力された音声に対して、選択された前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位手段と、前記検出戦略情報に基づいて、前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御し、前記音源物体の存在する位置を示す位置情報を検出し、前記視覚定位情報による検出結果に基づいて前記第１成功確率及び前記第１適用優先度を更新し、前記聴覚定位情報による検出結果に基づいて前記第２成功確率及び前記第２適用優先度を更新する音源物体検出手段と、を備え、前記検出戦略情報は、前記視覚特徴検出定位手段による視覚特徴による検出と前記聴覚特徴検出定位手段による聴覚特徴による検出のいずれを優先するか、あるいは前記視覚特徴による検出と前記聴覚特徴による検出とを併用するかを示し、前記適用検出戦略情報は、前記第１成功確率の最大値が前記第２成功確率の最大値より大きい場合には、前記視覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第２成功確率の最大値が前記第１成功確率の最大値より大きい場合には、前記聴覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第１成功確率および前記第２成功確率が所定の閾値より小さい場合には、前記視覚特徴による検出と前記聴覚特徴による検出とを併用する検出戦略情報を高い優先順位とする旨が定められており、前記音源物体検出手段は、前記複数の検出戦略情報の中から、前記適用検出戦略情報で定められた優先順位に従って前記検出戦略情報を選択し、選択された前記検出戦略情報で優先される、前記視覚特徴検出定位手段あるいは前記聴覚特徴検出定位手段のいずれか、または双方を制御し、前記視覚特徴検出定位手段により出力される前記視覚定位情報または前記聴覚特徴検出定位手段により出力される前記聴覚定位情報から前記位置情報を検出することを特徴とする。
【００１１】
また、本発明は、駆動部による駆動によって移動可能な自律移動装置であって、視覚的かつ聴覚的に識別可能な物体である音源物体ごとに付与される識別情報と、前記音源物体を視覚的に識別する画像処理を記述した複数の画像処理手順、及び前記画像処理手順によって参照される情報であって前記音源物体の視覚的な特徴を示す視覚特徴情報、及び前記音源物体を前記画像処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第１成功確率、並びに前記画像処理手順を適用する際の前記第１成功確率を大きい順で並べた優先順位である第１適用優先度を含む適用画像処理情報と、前記音源物体を聴覚的に識別する音声処理を記述した複数の音声処理手順、及び前記音声処理手順によって参照される情報であって前記音源物体の聴覚的な特徴を示す聴覚特徴情報、及び前記音源物体を前記音声処理手順によって検出しようとした期間に対する前記音源物体を検出できていた期間の比率である第２成功確率、並びに前記音声処理手順を適用する際の前記第２成功確率を大きい順で並べた優先順位である第２適用優先度を含む適用音声処理情報と、複数の検出戦略情報と、適用検出戦略情報と、を含む音源情報を記憶する記憶手段と、前記音源物体を撮像した画像を入力する画像入力手段と、前記音源物体から発生する音声を入力する音声入力手段と、前記音源情報の前記第１適用優先度に従って前記画像処理手順を選択し、前記画像入力手段によって入力された画像に対して、選択された前記画像処理手順を実行して前記音源物体の視覚特徴を検出し、前記音源物体の視覚に基づく位置を示す視覚定位情報を出力する視覚特徴検出定位手段と、前記音源情報の前記第２適用優先度に従って前記音声処理手順を選択し、前記音声入力手段によって入力された音声に対して、選択された前記音声処理手順を実行して前記音源物体の聴覚特徴を検出し、前記音源物体の聴覚に基づく位置を示す聴覚定位情報を出力する聴覚特徴検出定位手段と、前記検出戦略情報に基づいて、前記視覚特徴検出定位手段または聴覚特徴検出定位手段を制御し、前記音源物体の存在する位置を示す位置情報を検出し、前記視覚定位情報による検出結果に基づいて前記第１成功確率及び前記第１適用優先度を更新し、前記聴覚定位情報による検出結果に基づいて前記第２成功確率及び前記第２適用優先度を更新する音源物体検出手段と、前記音源物体検出手段による前記音源物体の前記位置情報に基づいて前記音源物体との位置関係を制御する位置関係制御手段と、を備え、前記検出戦略情報は、前記視覚特徴検出定位手段による視覚特徴による検出と前記聴覚特徴検出定位手段による聴覚特徴による検出のいずれを優先するか、あるいは前記視覚特徴による検出と前記聴覚特徴による検出とを併用するかを示し、前記適用検出戦略情報は、前記第１成功確率の最大値が前記第２成功確率の最大値より大きい場合には、前記視覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第２成功確率の最大値が前記第１成功確率の最大値より大きい場合には、前記聴覚特徴による検出を優先する検出戦略情報を高い優先順位とし、前記第１成功確率および前記第２成功確率が所定の閾値より小さい場合には、前記視覚特徴による検出と前記聴覚特徴による検出とを併用する検出戦略情報を高い優先順位とする旨が定められており、前記音源物体検出手段は、前記複数の検出戦略情報の中から、前記適用検出戦略情報で定められた優先順位に従って前記検出戦略情報を選択し、選択された前記検出戦略情報で優先される、前記視覚特徴検出定位手段あるいは前記聴覚特徴検出定位手段のいずれか、または双方を制御し、前記視覚特徴検出定位手段により出力される前記視覚定位情報または前記聴覚特徴検出定位手段により出力される前記聴覚定位情報から前記位置情報を検出することを特徴とする。
【００１２】
また、本発明は、上記装置で実行させる位置検出方法および位置検出プログラムである。
【発明の効果】
【００１３】
本発明によれば、音源物体の視覚特徴に基づく検出と聴覚特徴に基づく検出を併用、かつ調整して組み合わせることにより、音源物体の検出成功率を向上させるとともに安定化させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照して、この発明にかかる位置検出装置、自律移動装置、位置検出方法および位置検出プログラムの最良な実施の形態を詳細に説明する。なお、以下に説明する実施の形態では、本発明にかかる位置検出装置、自律移動装置を、自律移動型ロボット装置（以下、「ロボット装置」という。）に適用したものである。なお、本実施の形態に限定されず、物体検出を行うもの、物体検出を行って自律移動を行うものであれば、ロボット装置以外の装置にも本発明を適用することができる。
【００１５】
（実施の形態１）
図１は、実施の形態１にかかるロボット装置の構成を示すブロック図である。本実施の形態にかかるロボット装置１００は、図１に示すように、画像入力部１１２と、音声入力部１１３と、近接センシング部１１８と、視覚特徴検出定位部１１４と、聴覚特徴検出定位部１１５と、音源物体検出部１１６と、音源情報学習部１１７と、位置関係制御部１１９と、駆動部１２１と、記憶部１１１とを主に備えている。
【００１６】
人物は顔や着衣の違いにより視覚的に他と区別可能な物体である。また、同時に人物は声を発したり音をたてたりするので、その声や音によって聴覚的に他と区別可能な物体でもある。このように視覚的かつ聴覚的に識別可能な物体を音源物体という。また、このような音源物体をその視覚特徴によって検出することを視覚的検出、その聴覚特徴によって検出することを聴覚的検出という。
【００１７】
画像入力部１１２は、音を発生することが可能な物体である音源物体を撮像して画像データを入力するものである。画像入力部１１２は、具体的には、電動雲台付きのステレオカメラであり、ステレオカメラによる映像を一定周期毎に取り込んでステレオ入力画像データとして出力している。
【００１８】
音声入力部１１３は、音源物体から発せられた音声を入力するものである。音声入力部１１３は、具体的には、複数のマイクロホンであり、マイクロホンからの音響信号を取り込んで多チャンネルの入力音声ストリームデータとして出力する。
【００１９】
近接センシング部１１８は、近接する物体や段差等の有無を検知するものであり、具体的には、複数の超音波センサやＰＳＤセンサ（Position Sensitive Detector）を備え、当該センサによってロボット装置に近接する物体や段差の有無を方位別に検出し、どの方位に近接物体や段差が存在するかを示す近接物体・段差検出情報を出力する。
【００２０】
記憶部１１１は、ハードディスクドライブ装置（ＨＤＤ）やメモリ等の記憶媒体であり、音源情報と、プログラム形式の複数の画像処理手順と、プログラム形式の複数の音声処理手順と、３個の検出戦略情報が記憶されている。
【００２１】
音源情報は、音源物体の検出を行うための知識情報を音源物体ごとに登録した情報である。図２は、音源情報の内容を模式的に示したブロック図であり、図３は、実施の形態１にかかる音源情報のデータの一例を示す説明図である。
【００２２】
図２および図３に示すように、音源情報２０１は、種別コード情報２０２と、適用画像処理情報２０３と、適用音声処理情報２０４と、適用検出戦略情報２０５とが対応付けられている。
【００２３】
種別コード情報２０２は、音源物体ごとに付与される固有の文字列、記号、番号などの識別情報である。
【００２４】
適用画像処理情報２０３は、視覚特徴によって入力画像データから音源物体を検出するための各種情報であり、具体的には、音源物体を視覚的に検出識別するために適用可能な画像処理を記述した一または複数の画像処理手順２１１と各画像処理手順によって参照されて音源物体の視覚的な特徴を示す複数の視覚特徴情報２１５と、各画像処理手順２１１を適用する際の優先順位である適用優先度２１２と、成功確率２１３とが対応付けられており（点線部分）、さらに視覚的成功確率２１４を有している。
【００２５】
音源物体を視覚的に検出するために用いられる画像処理手順２１１と視覚特徴情報２１５の例としては、例えば音源物体が人物である場合、当該人物の顔特徴を視覚特徴情報２１５とし、これを検出識別するための画像処理手法が画像処理手順２１１となる。このような画像処理としては、たとえば、特開２０００−３００６５号に開示された技術を使用することができる。
【００２６】
また、顔は人物が後ろを向いてしまうと検出も識別もできなくなる。そこで、人物の頭部と着衣の色などを手がかりに同一人物を検出する画像処理手順２１１と視覚特徴情報２１５を適用画像処理情報２０３に登録しておく。人物の頭部と着衣を検出する画像処理手順としては、例えば、学術文献「移動カメラによる人物識別のための色パターンの獲得」（ロボメカ2005、1P2-N-046、Jun. 2005）に開示されている技術を使用することができる。
【００２７】
成功確率２１３は、音源物体を画像処理手順によって検出しようとした期間（試行期間長）に対する検出できていた期間（成功期間長）の比率である。視覚的成功確率２１４は、適用可能な各画像処理手順２１１の成功確率２１３のうち最大の確率である。
【００２８】
適用優先度２１２は、音源物体に適用可能な全ての画像処理手順２１１の成功確率２１３を大きい順に並べたときの順位（１、２．．．）であり、適用優先度２１２は番号が小さい程優先順位が高くなる。
【００２９】
視覚特徴情報２１５は、画像処理手順を実行する際に当該音源物体を検出するために参照しなければならない音源物体の画像的特徴を記した情報であり、例えば、顔によって特定の人物を検出する画像処理手順２１１に対応した視覚特徴情報は、この画像処理手順の参照する人物の顔画像パターン情報である。
【００３０】
適用音声処理情報２０４は、聴覚特徴によって入力音声データから音源物体を検出するための各種情報であり、具体的には、音源物体を聴覚的に検出識別するために適用可能な音声処理を記述した複数の音声処理手順２２１と各音声処理手順２２１によって参照されて音源物体の聴覚的な特徴を示す複数の聴覚特徴情報２２５と、各音声処理手順２２１を適用する際の優先順位である適用優先度２２２と、成功確率２２３とが対応付けられ（点線部分）、さらに聴覚的成功確率２２４を有している。
【００３１】
音源物体を聴覚的に検出するために使用される音声処理手順２２４と聴覚特徴情報２２５としては、例えば、音源物体が人物である場合、当該人物の声紋特徴を聴覚特徴情報とし、これを検出識別するための音声処理が音声処理手順２２１となる。このような音声処理手順としては、例えば、特開平１０−９７２７４号公報に開示された技術を用いることができる。
【００３２】
また、声は人物が黙ってしまうと検出も識別もできなくなる。そこで、人物の足音を手掛かりに同一人物を検出する音声処理手順２２１と聴覚特徴情報２２５を適用音声処理情報２０４に登録しておく。このような足音を検出する音声処理手順２２１としては、例えば、特開２０００−２６８２６５号公報に開示された技術を使用することができる。
【００３３】
成功確率２２３は、音源物体を音声処理手順２２１によって検出しようとした期間（試行期間長）に対する検出できていた期間（成功期間長）の比率である。聴覚的成功確率２２４は、適用可能な各音声処理手順２２１の成功確率２２３のうち最大の確率である。
【００３４】
適用優先度２２２は、音源物体に適用可能な全ての音声処理手順２２１の成功確率２２３を大きい順に並べたときの順位（１、２．．．）であり、適用優先度２２２は番号が小さい程優先順位が高くなる。
【００３５】
聴覚特徴情報２２５は、音声処理手順２２１を実行する際に音源物体を検出するために参照しなければならない音源物体の音声的特徴を記した情報である。例えば、声によって特定の人物を検出する音声処理手順２２１に対応した聴覚特徴情報２２５は、この音声処理手順２２１の参照する人物の声紋パターン情報である。
【００３６】
適用検出戦略情報２０５は、音源物体を検出する際に使用可能な次の３つの検出戦略に対する適用優先度を記述した情報である。具体的には、適用検出戦略情報２０５には、「Ａ＝１，Ｂ＝２，Ｃ＝３」のように設定される。なお、図３に示す例では、適用する順に検出戦略情報を「Ａ，Ｂ，Ｃ」のように記述している。この場合には、検出戦略Ａ、検出戦略Ｂ、検出戦略Ｃの順に適用優先度が高くなっている。
【００３７】
検出戦略情報は、検出戦略Ａ、検出戦略Ｂ、検出戦略Ｃの３個が記憶部に記憶されている。なお、本実施の形態では、検出戦略情報を３個としているが、これに限定されるものではない。
【００３８】
検出戦略Ａは、視覚特徴検出定位部１１４による視覚特徴による検出を優先させ、視覚特徴による検出が失敗したときにのみ、聴覚特徴検出定位部１１５による聴覚特徴による検出を行うものである。このため、視覚的に検出できている間は聴覚的な検出処理を休止させておくことができ、これにより、ロボット装置１００の計算資源を節約することができる。
【００３９】
検出戦略Ｂは、聴覚特徴検出定位部１１５による聴覚特徴による検出を優先させ、聴覚特徴による検出が失敗したときにのみ、視覚特徴検出定位部１１４による視覚特徴による検出を行う。このため、聴覚的に検出できている間は視覚的な検出処理を休止させておくことができ、このためロボット装置１００の計算資源を節約することができる。
【００４０】
検出戦略Ｃは、視覚特徴検出定位部１１４による視覚特徴による検出と聴覚特徴検出定位部１１５による聴覚特徴による検出を常時使用し、両方で検出された場合には検出精度（識別精度、距離推定精度、方向推定精度）が高いと見込まれる方の検出結果を使用する。検出精度は視覚的な場合が聴覚的な場合よりも総じて高いと考えられるため、本実施の形態では、視覚的な検出結果を優先的に使用する。なお、この関係は実装される検出方式の組み合わせによって変わる可能性があり、例えば、検出戦略Ｃは、視覚的検出と聴覚的検出を同時に稼動させるため、計算資源の節約はできないが、二重に検出を試みるので音源物体を検出し損なう確率を他の戦略Ａ，Ｂよりも低減することができる。
【００４１】
音源物体は、その性質として、視覚的検出確率２１４（視覚的な検出し易さ）と聴覚的検出確率２２４（聴覚的な検出し易さ）との間に特有の違いが存在すると考えられる。例えば、背の高い大人は、物陰に隠れてしまう確率が低く、常時声を出すものではないので、聴覚よりも視覚による検出の成功確率が高いと考えられる。
【００４２】
一方、赤ちゃんは、物陰に隠れてしまう確率は高いが、比較的頻繁に声を出すので、視覚よりも聴覚による検出の成功確率が高いと考えられる。
【００４３】
このように、視覚的検出確率が聴覚的検出確率を上回る音源物体では視覚特徴による検出を優先させる検出戦略Ａがより有効であり、聴覚的検出確率が視覚的検出確率を上回る音源物体では聴覚特徴による検出を優先させる検出戦略Ｂがより有効である。両者に著しい差のない音源物体では視覚と聴覚のいずれを優先させても構わないが、視覚的検出確率と聴覚的検出確率がともに低いような音源物体では視覚と聴覚の併用による検出戦略Ｃが見失いの発生率を最も抑えられるので適している。
【００４４】
本実施の形態にかかるロボット装置１００では、このような音源物体の状況に応じて検出戦略情報を選択して適用している。
【００４５】
図１に戻り、視覚特徴検出定位部１１４は、画像入力部１１２によって入力された画像と、音源情報の適用視覚情報とに基づいて、適用優先度に従って画像処理手順を選択し、選択された画像処理手順を実行して、音源物体の視覚特徴を検出し、音源物体の少なくとも方位を求める画像処理手順を実行して音源物体の視覚特徴を検出し、音源物体の少なくとも方位を求める処理部である。
【００４６】
すなわち、視覚特徴検出定位部１１４は、記憶部１１１に記憶されるている所定の音源物体の視覚特徴を検出するための適用画像処理情報２０２から、音源物体に適した一または複数の画像処理手順２１１と画像処理手順２１１で参照される視覚特徴情報２１５に基づいて、画像入力部１１２によるステレオ入力画像データから視覚特徴を有する画像領域を検出する。そして、画像領域を検出した場合は、音源物体が視覚的に検出できたとして、ステレオ計測によって該画像領域に写る音源物体のロボット装置１００に対する相対的な距離を算定し、同時にその画像中における位置（縦と横の画角に対する割合）と画像入力部１１２の備えるカメラの向き（パン角とチルト角）とから音源物体のロボット装置１００に対する相対的な方向（パン角とチルト角）を算定し、これらを音源物体の距離と方向として、当該音源物体の種別コード、相対距離、相対方向を編集した視覚定位情報を出力する。
【００４７】
なお、検出された顔、頭部、着衣などの各領域とロボット装置１００との相対距離は、ステレオ画像の双方で領域を検出し、対応する領域中心同士の両眼視差から三角測量によって求めることができる。また、各領域とロボット装置１００との相対方向は、ステレオ画像の一方における各領域中心の位置からそれぞれ求めることができる。
【００４８】
また、視覚特徴検出定位部１１４は、後述する音源情報学習部１１７による学習の際において、入力画像の指定領域（検出されている音源物体と略同一方向を写す画像領域）から現在選択されている画像処理手順２１１で利用されるべき視覚特徴情報２１５を抽出し、既に存在する当該音源物体の同種の視覚特徴情報２１５に追加したり、同種の視覚特徴情報がなければ新規に視覚特徴情報２１５を生成して当該音源物体の追加する処理を行う。
【００４９】
聴覚特徴検出定位部１１５は、音声入力部１１３によって入力された音声と、音源情報の視覚情報とに基づいて、適用優先度に従って音声処理手順を選択し、選択された音声処理手順を実行して、音源物体の聴覚特徴を検出し、音源物体の少なくとも方位を求める処理部である。
【００５０】
すなわち、聴覚特徴検出定位部１１５は、音声入力部１１３による多チャンネルの入力音声ストリームデータを解析して方向の異なる音源毎に分離された指向性音声ストリームデータを抽出する。また、聴覚特徴検出定位部１１５は、記憶部１１１に記憶されている適用音声処理情報２０３から、音源物体に適した一または複数の音声処理手順２２１と音声処理手順２２１で参照される聴覚特徴情報２２５に基づいて、各指向性音声ストリームデータから聴覚特徴を有するものを検出する。そして、このような指向性音声ストリームデータを検出した場合は、音源物体が聴覚的に検出できたとして、その指向性音声ストリームデータの音源位置（距離とパン角とチルト角）を該音源物体のロボット装置１００に対する相対的な距離と方向（パン角とチルト角）として定め、当該音源物体の種別コード情報、相対距離、相対方向を編集した聴覚定位情報を出力する。
【００５１】
なお、音声入力部１１３による多チャンネルの入力音声ストリームデータを解析して方向の異なる音源を検出して空間定位（距離とパン角とチルト角を算定）し、かつ検出・定位された音源毎に音源からの音声（指向性音声ストリームデータ）を分離・抽出する手法としては、例えば、非特許文献１の「『ハフ変換を用いた音源音のクラスタリングとロボット用聴覚への応用』人工知能学会第22回AIチャレンジ研究会、Oct. 2005」に開示されている技術を使用することができる。
【００５２】
また、聴覚特徴検出定位部１１５は、後述する音源情報学習部１２１による学習の際において、指定の指向性音声ストリームデータ（検出されている音源物体と略同一方向から入射した指向性音声ストリームデータ）から現在選択されている音声処理手順２２１で利用されるべき聴覚特徴情報２２５を抽出し、既に存在する当該音源物体の同種の聴覚特徴情報２２５に追加したり、同種の聴覚特徴情報がなければ新規に聴覚特徴情報２２５を生成して当該音源物体に追加する処理を行う。
【００５３】
音源物体検出部１１６は、視覚特徴検出定位部１１４と聴覚特徴検出定位部１１５を制御して音源物体の視覚的検出や聴覚的検出を行わせる処理部である。具体的には、音源物体検出部１１６は、適用検出戦略情報で定められた優先順位で検出戦略Ａ〜Ｃの中から一つの検出戦略情報を選択し、選択された検出戦略情報に基づいて視覚特徴検出定位部１１４または聴覚特徴検出定位部１１５を制御し、視覚特徴検出定位部１１４による視覚定位情報と聴覚特徴検出定位部１１５による聴覚定位情報を用いて音源物体の方向と距離を記述した音源物体検出情報を生成する。
【００５４】
また、音源物体検出部１１６は、視覚的検出や聴覚的検出の結果に応じて成功確率や適用優先度を更新する。なお、音源物体検出部１１６は、視覚特徴検出定位部１１４、聴覚特徴検出定位部１１５を制御する他、記憶部１１１、画像入力部１１２、音声入力部１１３、音源情報学習部１１７の動作を制御する。
【００５５】
位置関係制御部１１９は、音源物体検出部１１６により出力された音源物体検出情報により、音源物体とロボット装置１００の位置関係を制御する処理部である。また、位置関係制御部１１９は、近接センシング部１１８による近接物体・段差検出情報に基づいて、進行方向に近接物体や段差を検出した場合には安全のために停止するように駆動部１２１に指令を送出しロボット装置１００を制御する。
【００５６】
なお、位置関係制御部１１９は、記憶部１１１、画像入力部１１２、音声入力部１１３、視覚特徴検出定位部１１４、聴覚特徴検出定位部１１５、近接センシング部１１８および駆動部１２１の動作を制御する。
【００５７】
音源情報学習部１１７は、視覚特徴検出定位部１１４で使用される視覚特徴情報２１５や聴覚特徴検出定位部１１５で使用される聴覚特徴情報２２５を運用中に学習強化するための処理部である。
【００５８】
音源情報学習部１１７は、視覚特徴検出定位部１１４によって音源物体が検出されている期間に、該音源物体の検出されている方向と略同一方向から入力される音声を選択して選択された音声から音源物体の聴覚特徴情報を生成して、生成した聴覚特徴情報を、記憶部１１１の音源物体の種別コード情報に対応した適用音声処理情報２０４に登録する。また、音源情報学習部１１７は、聴覚特徴検出定位部１１５によって音源物体が検出されている期間に、該音源物体の検出されている方向と略同一方向を撮像した画像の領域から音源物体の視覚特徴情報を生成して、生成した視覚特徴情報を記憶部１１１の音源物体の識別情報に対応した適用画像処理情報２０４に登録する。
【００５９】
このために、上述したように、視覚特徴検出定位部１１４は入力画像の指定領域から現在選択されている画像処理手順２１１で利用されるべき視覚特徴情報２１５を抽出し、音源物体の同種の視覚特徴情報２１５への追加や視覚特徴情報２１５の新規生成を行っている。
【００６０】
同様に、聴覚特徴検出定位部１１５は指定の指向性音声ストリームデータから現在選択されている音声処理手順２２１で利用されるべき聴覚特徴情報２２５を抽出し、音源物体の同種の聴覚特徴情報２２５への追加や聴覚特徴情報２２５の新規生成を行っている。
【００６１】
このような学習機能により、適用可能な画像処理手順２１１に必要な視覚特徴情報２１５や適用可能な音声処理手順２２１に必要な聴覚特徴情報２２５を、音源物体を検出している間に新規にあるいは追加で学習することができ、例えば視覚特徴情報２１５しか有さないために、実質的に視覚的にしか音源物体を検出できなかった状態から出発して、聴覚的にも検出できるようになり、あるいは既存の視覚特徴情報が古くなって現在では検出が困難になった場合でも、聴覚的に検出できる間に再学習して視覚的にも検出が可能となる。
【００６２】
なお、画像処理手順２１１や音声処理手順２２１は、所定の視覚特徴情報２１５や聴覚特徴情報２２５を参照して画像処理や音声処理を行うプログラムモジュールとして記憶部１１１に記憶されており、視覚特徴検出定位部１１４や聴覚特徴検出定位部１１５は、これらのプログラムモジュールをロードして実行するようになっている。
【００６３】
また、上記プログラムモジュールには双対を成す学習用の画像処理や音声処理を行うプログラムモジュールが記憶部１１１に記憶されており、音源情報学習部１１７は、視覚特徴検出定位部１１４や聴覚特徴検出定位部１１５にこれら学習用のプログラムモジュールを実行させる。このため、音源情報学習部１１７は、音源物体検出部１１６と同様に、視覚特徴検出定位部１１４、聴覚特徴検出定位部１１５を制御する他、記憶部１１１、画像入力部１１２、音声入力部１１３の動作を制御する。
【００６４】
駆動部１２１は、位置関係制御部１１９による音源物体との位置関係の制御に基づいてロボット装置１００の移動を行うものである。
【００６５】
次に、以上のように構成された本実施の形態にかかるロボット装置１００による音源物体検出処理について説明する。従来のロボット装置では、人物などの音源物体を当該物体の視覚特徴を検出することにより音源物体に追従しているが、追従している人物１０２を見失う場合が多い。このように、従来のロボット装置において追従している人物を見失い原因として、主として３つの場合がある。図４−１〜図４−３は、従来のロボット装置１において追従している人物１０２を見失い原因を説明するための模式図である。なお、ロボット装置１が人物１０２などの音源物体を視覚的に検出可能な範囲３（以下、「視覚的検出可能圏３」という。）には限界があり、かかる視覚的検出可能圏３を図４−１〜図４−３中ではロボット装置１を中心にした円領域として簡略化して示している。
【００６６】
第１の原因としては、図４−１に示すように、人物１０２がカメラの視界４から外れてしまった場合がある。この現象は画角の広い全方位カメラや全天カメラよりも画角の狭い通常のカメラで特に発生し易い。
【００６７】
第２の原因としては、図４−２に示すように、人物１０２が視覚的検出可能圏３を逸脱してしまった場合がある。この現象はカメラの画素数が同一の場合、画角の狭い通常のカメラよりも画角の広い全方位カメラや全天カメラで発生し易い。
【００６８】
第３の原因としては、図４−３に示すように、人物１０２が障害物等の別の物体５（以下、「視覚的障害物５」という）の陰に隠れてしまった場合がある。この現象は視覚的障害物５となり得る物体が床などに設置されていることが多いため、カメラの取り付け高さが低く見通しの悪い場合に発生し易い。
【００６９】
このような原因で人物１０２などの音源物体を視覚的に見失った場合、この音源物体が声などの音を発することで、その音の方向にこの物体が存在することをロボット装置１が認知し、当該方向にカメラを向け、あるいは当該方向に移動するなどの探索動作を行うことにより、音源物体を視覚的に再検出して追従を再開することができる。
【００７０】
このような手法では、対象人物のみが声を発するとの仮定した場合には、音源物体である人物１０２を再検出することができるが、図５に示すように、人物１０２の他にドア６やテレビ７などの複数の音源が存在し、それぞれが音を発することのできる状況では、今聞こえた音が見失った人物１０２の声であるとは限らない。このため、ロボット装置１は追従対象の音源物体である人物１０２の位置を聴覚的に特定することができくなってしまう。
【００７１】
本実施の形態にかかるロボット装置１００では、上述した構成を採用し、以下に説明する処理によって、音源物体である人物１０２を音源物体の視覚特徴と聴覚特徴のいずれにおいても識別可能としている。これにより、図６に示すように、人物１０２が例えば視覚的障害物５の陰に隠れる等して人物１０２を見失った場合、人物１０２の他にドア６やテレビ７などの複数の音源が存在する状況でも、ドア６の音やテレビ７の音に惑わされることなく追従対象である人物１０２の声のする位置を正確に検出することが可能となる。
【００７２】
図７は、実施の形態１にかかるロボット装置１００による音源物体検出処理の手順を示すフローチャートである。
【００７３】
なお、検出処理の開始時点において、音源物体検出部１１６は、検出失敗の連続回数をカウントするためのタイムアウトカウンタを０に初期化する。そして、まず音源物体検出部１１６は、検出対象となる音源物体を特定して設定する（ステップＳ７０１）。音源物体の特定の設定は、音源物体が何（誰）であるか、およびこれ以降この音源物体との位置関係を制御しなければならないことをロボット装置１００に把握させる処理である。
【００７４】
例えば、ロボット装置１が顔によって人物を識別可能な場合には、検出対象たる人物１０２が顔を見せてロボット装置１００に自分が誰であるかを認識させた後に動作開始ボタンを操作し、ロボット装置１００の音源物体検出部１１６がかかる動作開始ボタンの操作を受け付けることにより、検出対象の特定の設定が行われる。また、ロボット装置１００が声によって人物を識別可能な場合には、人物１０２が「ついておいで」などの言葉を発してロボット装置１００の音源物体検出部１１６がかかる音声の入力を受け付けることにより、検出対象の特定の設定が行われる。これによって、ロボット装置１００は、検出対象である音源物体が誰であるかおよび動作開始であることを把握する。なお、検出対象の特定の設定の手法は、かかる手法に限定されるものではなく、種々の手法を採用することができる。
【００７５】
顔や声による人物識別は、視覚特徴検出定位部１１４や聴覚特徴検出定位部１１５の機能としてプログラムモジュールの形式で備えられ、これを使用することができる。また、音声言語の認識も聴覚特徴検出定位部１１５の補助機能として備えている。例えば、音声言語の認識には、特開２００５−４９４３６号公報に開示された技術を用いることができる。
【００７６】
また、例えば、ロボット装置１００が人物の顔を学習可能な場合には、検出対象たる人物１０２がロボット装置１００に顔を見せてロボット装置１００に人物の顔の特徴を学習した後に動作開始ボタンを操作し、音源物体検出部１１６がかかる動作開始ボタンの操作を受け付けることにより、検出対象の特定の設定を行うことができる。また、ロボット装置１００が人物の声を学習可能な場合に、人物１０２が「ついておいで」などの言葉を発してロボット装置１００に動作開始であることを知らせるとともに自分の声の特徴を学習させる等により、検出対象の特定の設定を行うことができる。なお、顔や声の学習機能は、視覚特徴検出定位部１１４や聴覚特徴検出定位部１１５の機能としてプログラムモジュールの形式で備えられており、かかるプログラムモジュールを使用することができる。
【００７７】
次に、音源物体検出部１１６は、記憶部１１１に記憶された当該音源物体の種別コード情報に対応する音源情報２０１の適用検出戦略情報２０５から、当該音源物体に関して検出戦略Ａ〜Ｃの中から現時点で適用優先度が最大の検出戦略情報を選択する（ステップＳ７０２）。
【００７８】
次に、音源物体検出部１１６は、視覚特徴検出定位部１１４に画像処理手順の選択の旨の制御指令を送出し、聴覚特徴検出定位部１１５に音声処理手順２２１の制御指令を送出する。かかる指令を受けた視覚特徴検出定位部１１４は、記憶部１１１に記憶された検出対象の音源物体の種別コード情報に対応する音源情報２０１の適用画像処理情報２０３から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大２個の画像処理手順２１１を選択し、視覚特徴検出定位部１１４は、記憶部１１１に記憶された検出対象の音源物体の種別コード情報に対応する音源情報２０１の適用音声処理情報２０４から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大２個の音声処理手順２２１を選択する（ステップＳ７０３）。これにより、設定された音源物体との位置関係を制御する準備が整ったことになる。
【００７９】
なお、初期状態では、各画像処理手順２１１と各音声処理手順２２１の成功確率２１３，２２３は０であるが、各画像処理手順２１１と各音声処理手順２２１の適用優先度２１２，２２２、ならびに適用検出戦略情報２０５の適用優先度には一定の差をつけた初期値が設定されているものとする。
【００８０】
次に、音源物体検出部１１６は、選択された検出戦略情報、画像処理手順２１１、音声処理手順２２１に従って視覚特徴検出定位部１１４と聴覚特徴検出定位部１１５を稼動させる。これにより、視覚特徴検出定位部１１４から視覚定位情報が出力され、聴覚特徴検出定位部１１５から聴覚定位情報が出力されるので、音源物体検出部１１６は出力される視覚定位情報と聴覚定位情報を取得する（ステップＳ７０４）。
【００８１】
そして、音源物体検出部１１６は、取得した視覚定位情報を参照しながら、当該音源物体の距離と方向を記述した音源物体検出情報を生成して出力する（ステップＳ７０５）。そして、位置関係制御部１１９は、かかる音源物体検出情報を受けて、ロボット装置１００と音源物体との位置関係を制御し（ステップＳ７０６）、その制御指令に従って駆動部１２１が駆動してロボット装置１００が移動する。
【００８２】
次に、音源物体検出部１１６は、視覚定位情報の検出成績から現在使用している画像処理手順２１１の成功確率２１３と適用優先度２１２を更新し、また聴覚定位情報の検出成績から現在使用している音声処理手順２２１の成功確率２２３と適用優先度２２２を更新する（ステップＳ７０７）。また、更新された成功確率２１３，２２３から視覚的成功確率２１４と聴覚的成功確率２２４を更新する（ステップＳ７０８、Ｓ７０９）。さらに、音源物体検出部１１６は、更新された視覚的成功確率２１４と聴覚的成功確率２２４に基づいて適用検出戦略情報２０５における各検出戦略情報の適用優先度を更新する。
【００８３】
次に、音源物体検出部１１６は、視覚定位情報および聴覚定位情報の検出結果により音源物体の検出が成功しているか否かを判断する（ステップＳ７１０）。そして、音源物体の検出が成功している場合には（ステップＳ７１０：Ｙｅｓ）、タイムアウトカウンタを０に初期化して、その後、ステップＳ７０４からＳ７０９までの処理を繰り替えし実行する。
【００８４】
一方、ステップＳ７１０において、音源物体の検出が失敗してる場合には（ステップＳ７１０：Ｎｏ）、音源物体検出部１１６は、タイムアウトカウンタを１だけ増加する。これにより、タイムアウトカウンタは検出失敗の連続回数をカウントすることになる。そして、音源物体検出部１１６は、このタイムアウトカウンタの値が所定値に達したか否かを判断することにより、タイムアウトか否かを調べる（ステップＳ７１１）。
【００８５】
そして、検出失敗の連続回数（タイムアウトカウンタの値）が所定値に達しておらず、タイムアウトしてない場合（ステップＳ７１１：Ｎｏ）、音源物体検出部１１６は、ステップＳ７０４からＳ７１０までの処理を繰り替えし実行する。
【００８６】
一方、ステップＳ７１１において、検出失敗の連続回数（タイムアウトカウンタの値）が所定値に達し、タイムアウトした場合には（ステップＳ７１１：Ｙｅｓ）、音源物体検出部１１６は、失敗が連続し過ぎたとして、これまでの検出戦略、画像処理手順２１１、音声処理手順２２１の見直しを行う。具体的には、ステップＳ７０７〜Ｓ７０９において成功確率、視覚的成功確率、聴覚的成功確率および適用優先度が更新されているので、原則として、ステップＳ７０２およびＳ７０３と同様に、音源物体検出部１１６は、改めて音源物体に関する適用優先度が最大の検出戦略情報を再選択する（ステップＳ７１２）。
【００８７】
また、視覚特徴検出定位部１１４は、音声物体検出部１１６からの制御指令を受けて、当該音源物体に関する適用優先度が最大の画像処理手順２１１を再選択し、聴覚特徴検出定位部１１５は、音声物体検出部１１６からの制御指令を受けて、音声処理手順２２１を再選択する（ステップＳ７１３）。
【００８８】
また、この結果、以前と変わらない検出戦略情報、画像処理手順２１１および音声処理手順２２１の組が再び選択された場合には、あえて試行錯誤するために、乱数により検出戦略情報と画像処理手順２１１と音声処理手順２２１の別の組を選択する。このように、検出戦略情報、画像処理手順２１１および音声処理手順２２１が再選択されたら、ステップＳ７０４からＳ７１３までの処理を繰り替えし実行する。
【００８９】
次に、ステップＳ７０２で選択された各検出戦略情報によるステップＳ７０６の処理の詳細について説明する。
【００９０】
ステップＳ７０２により検出戦略Ａが選択された場合には、次のような動作を行う。音源物体検出部１１６が検出戦略Ａを実行している間、音源物体検出部１１６は、ステップＳ７０６において、視覚特徴検出定位部１１４による視覚定位情報が順調に出力されている間は、この視覚定位情報に記述される相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部１１９はこの音源物体検出情報に基づいて音源物体との距離を所定の範囲に収めるように駆動部１２１に指令を与え、ロボット装置１００を移動させる。この間、聴覚特徴検出定位部１１５は休止している。
【００９１】
また、音源物体検出部１１６は、視覚特徴検出定位部１１４による視覚定位情報が順調に出力されなくなった場合、それ以降は、休止していた聴覚特徴検出定位部１１５を稼動させ、聴覚特徴検出定位部１１５による聴覚定位情報の有無を調べ、この聴覚定位情報が出力されている場合には、聴覚定位情報に記述された相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部１１９は、この音源物体検出情報に基づいて、音源物体との距離を所定の範囲に収めるように駆動部１２１に指令を与え、ロボット装置１００を移動させる。同時に音源物体検出部１１６は、この移動中に画像入力部１１２のステレオカメラを音源物体に向けることで、見失った音源物体を視覚的に再検出し易いように制御する。
【００９２】
なお、視覚的にも聴覚的にも音源物体を検出できない場合には、音源物体検出部１１６は、ステップＳ７１２およびＳ７１３によりタイムアウトカウンタを増加させながら位置関係制御部１１９を通じてロボット装置１００を静止させる。
【００９３】
検出戦略Ａは、このように所定の音源物体を視覚的に捕捉できている間はその検出結果に基づいて音源物体に追従し、視覚的に捕捉できなくなってからは聴覚的な検出結果に基づいて音源物体を捕捉しつつ視覚的にこれを探索する。この検出戦略Ａは、比較的常時検出できる可能性が高い視覚特徴に基づいて、例えば人物１０２の追従動作を行い、見失ったときに適宜人物１０２に声を発してもらうことで追従を再開できるようにするという用い方に適用性を有している。
【００９４】
ステップＳ７０２により検出戦略Ｂが選択された場合には、次のような動作を行う。検出戦略Ｂを実行中の音源物体検出部１１６は、ステップＳ７０６において、聴覚特徴検出定位部１１５による聴覚定位情報が順調に出力されている間は、この聴覚定位情報に記される相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部１１９は、この音源物体検出情報に基づいて音源物体との距離を所定の範囲に収めるように駆動部１２１に指令を与えロボット装置１００を移動させる。この間、視覚特徴検出定位部１１４は休止している。
【００９５】
また、音源物体検出部１１６は、聴覚特徴検出定位部１１５による聴覚定位情報が順調に出力されなくなって場合には、これ以降、画像入力部１１２のステレオカメラを音源物体が最前まで検出されていた方向に向けることで、音源物体を視覚的に再検出し易いようにする。このようにした後で、音源物体検出部１１６は、視覚特徴検出定位部１１４による視覚定位情報の有無を調べ、この視覚定位情報が出力されている場合には、視覚定位情報に記述された相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部１１９は。この音源物体検出情報に基づいて、音源物体との距離を所定の範囲に収めるように駆動部１２１に指令を与えロボット装置１００を移動させる。
【００９６】
なお、視覚的にも聴覚的にも音源物体を検出できない場合には、音源物体検出部１１６は、ステップＳ７１２およびＳ７１３によりタイムアウトカウンタを増加させながら位置関係制御部１１９を通じてロボット装置１００を静止させる。
【００９７】
このように検出戦略Ｂは、検出戦略Ａの逆の動作を行うものであり、所定の音源物体を聴覚的に捕捉できている間はその検出結果に基づいて該音源物体を追従し、聴覚的に捕捉できなくなってからは視覚的な検出結果に基づいて該音源物体を追従しつつ聴覚的にこれを探索する。この検出戦略Ｂは、例えば、人物１０２が声でロボット装置１００を頻繁に声をかけながら誘導する場合に使用することができる戦略である。ロボット装置１００が人物１０２から見て物陰に入ってしまった場合でも、声で誘導することができ、物陰から出てからは声を発することを止めても視覚によって音源物体に追従させることができる。
【００９８】
ステップＳ７０２により検出戦略Ｃが選択された場合には、次のような動作を行う。検出戦略Ｃを実行中の音源物体検出部１１６は、ステップＳ７０６において、視覚特徴検出定位部１１４による視覚定位情報と聴覚特徴検出定位部１１５による聴覚定位情報の出力の有無を調べ、いずれか一方だけが順調に出力されている間は、出力されている情報に記述された相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部１１９はこの音源物体検出情報に基づいて音源物体との距離を所定の範囲に収めるように駆動部１２１に指令を与えロボット装置１００を移動させる。
【００９９】
また、音源物体検出部１１６は、視覚定位情報と聴覚定位情報のいずれもが順調に出力されている間は、本実施の形態では視覚定位情報に記述される相対距離と相対方位を音源物体検出情報に編集する。位置関係制御部１１９はこの音源物体検出情報に基づいて音源物体との距離を所定の範囲に収めるように駆動部１２１に指令を与えロボット装置１００を移動させる。
【０１００】
なお、視覚的にも聴覚的にも音源物体を検出できない場合には、位置関係制御部１１６は、ステップＳ７０２およびＳ７０３によりタイムアウトカウンタを増加させながら位置関係制御部１１９を通じてロボット装置１００を静止させる。
【０１０１】
次に、検出戦略情報の適用優先の決定処理について説明する。図８は、適用検出戦略情報に設定される検出戦略情報の適用優先度の決定処理の手順を示すフローチャートである。この検出戦略情報の適用優先度の決定処理は、音源物体の検出処理の前に予め行っておいてもよいし、音源物体の検出処理中のステップＳ７０７〜Ｓ７０９で、画像処理手順２１１、音声処理手順２２１の成功確率２１３，２２３、適用優先度２１２，２２１、視覚的成功確率２１４、頂角的成功確率２２４の更新とあわせて実行するように構成してもよい。
【０１０２】
音源物体検出部１１６は、視覚的成功確率２１４および聴覚的成功確率２２４と所定の閾値とを比較する（ステップＳ８０１）。そして、視覚的成功確率２１４と聴覚的成功確率２２４の両方が所定の閾値以上である場合には、音源物体検出部１１６は、確率の高い方を優先させる検出戦略を優先度１位、低い方を優先させる検出戦略を２位、併用する検出戦略Ｃを３位として、検出戦略の適用優先度を決定する（ステップＳ８０２）。
【０１０３】
一方、視覚的成功確率２１４と聴覚的成功確率２２４の一方のみが所定閾値以上である場合には、音源物体検出部１１６は、閾値以上の方を優先させる検出戦略を優先度１位、併用する検出戦略Ｃを２位、閾値未満の方を優先させる検出戦略を３位として、検出戦略の適用優先度を決定する（ステップＳ８０３）。
【０１０４】
また、視覚的成功確率２１４と聴覚的成功確率２２４の両方が所定閾値未満である場合には、音源物体検出部１１６は、併用する検出戦略Ｃを優先度１位、確率の高い方を優先させる検出戦略を２位、残りの検出戦略を３位として、検出戦略の適用優先度を決定する（ステップＳ８０４）。
【０１０５】
このように決定された検出戦略の適用優先度は、音源物体検出部１１６によって、音源物体の種別コード情報に対応する音源情報２０１の適用検出戦略情報２０５に、決定ｓあれた順位の順番で、例えば「Ａ＝１，Ｂ＝２，Ｃ＝３」等のように設定される。
【０１０６】
このように実施の形態１にかかるロボット装置１００では、音源物体の視覚特徴情報２１５に基づく画像処理手順２１１による音源物体の検出と聴覚特徴情報２２５に基づく音声処理手順２２１による音源物体の検出とを併用しているので、従来の視覚特徴を主体とした音源物体の検出を行う手法に比べて、音源物体の検出成功率を全般的に向上させることができる。
【０１０７】
また、実施の形態１にかかるロボット装置１００では、画像処理手順２１１による音源物体の検出と音声処理手順２２１による音源物体の検出を、音源物体に応じて検出戦略情報によって最適な状態に調整して組み合わせて実行しているので、従来の視覚特徴を主体とした音源物体の検出を行う手法に比べて、音源物体の検出成功率を安定させることができる。
【０１０８】
また、実施の形態１にかかるロボット装置１００では、最適と思われる状態での画像処理手順２１１による音源物体の検出と音声処理手順２２１による音源物体の検出の組み合わせによる検出に失敗するときには、他の状態で、画像処理手順２１１による音源物体の検出と音声処理手順２２１による音源物体の検出を組み合わせて実行しているので状況を打開する可能性を上げることができるようになる。
【０１０９】
また、実施の形態１にかかるロボット装置１００では、音源物体の検出に必要となる視覚特徴情報や聴覚特徴情報を音源物体検出処理の運用中に学習しているので、常に良好な検出能力を維持できるようになる。
【０１１０】
（実施の形態２）
実施の形態１にかかるロボット装置１００では、音源物体のみによって、画像処理手順２１１による音源物体の検出と音声処理手順２２１による音源物体の検出の調整および組み合わせて、音源物体の検出を行っていた。
【０１１１】
しかしながら、音源物体の視覚特徴情報に基づく視覚的な検出し易さと聴覚特徴情報に基づく聴覚的な検出し易さの関係は環境によっても異なってくる。例えば、雑然としたと物が設定された場所では、音源物体がすぐに物の陰に隠れてしまうので、視覚的に検出しにくくなるが、音は物陰から回り込んで聞こえてくるので、聴覚的にはまだ検出できる可能性が高い。一方、配置物な少ないがらんとした場所では遠方まで見通せるので、視覚的に音源物体を検出し易くなる。また、足音もフローリングなどの固い床では検出し易いが、カーペットの上では検出することが困難となる。このため、実施の形態２にかかるロボット装置では、このような環境による視覚的な検出し易さと聴覚特徴情報に基づく聴覚的な検出し易さを考慮して、音源物体の他、エリアごとに画像処理手順２１１による音源物体の検出と音声処理手順２２１による音源物体の検出の調整および組み合わせを行って、音源物体の検出を実行している。
【０１１２】
図９は、実施の形態２にかかるロボット装置の構成を示すブロック図である。本実施の形態にかかるロボット装置９００は、図９に示すように、画像入力部１１２と、音声入力部１１３と、近接センシング部１１８と、視覚特徴検出定位部１１４と、聴覚特徴検出定位部１１５と、音源物体検出部１１６と、自己位置同定部９２０と、音源情報学習部１１７と、位置関係制御部１１９と、駆動部１２１と、記憶部９１１とを主に備えている。
【０１１３】
ここで、画像入力部１１２、音声入力部１１３、近接センシング部１１８、視覚特徴検出定位部１１４、聴覚特徴検出定位部１１５、音源物体検出部１１６、音源情報学習部１１７、位置関係制御部１１９、駆動部１２１については実施の形態１と同様である。
【０１１４】
本実施の形態にかかる記憶部９１１には、実施の形態１と同様に、音源情報と、プログラム形式の複数の画像処理手順と、プログラム形式の複数の音声処理手順と、検出戦略情報（検出戦略Ａ、検出戦略Ｂ，検出戦略Ｃ）が記憶されている他、さらに、地図情報が記憶されている。この地図情報は、ロボット装置９００の稼働環境をｘｙ座標系で記述した２次元平面図である。
【０１１５】
図１０は、地図情報の一例を示す模式図である。図１０に示すように、地図情報１０３０は、所定の大きさのメッシュ状のエリア１０３１を単位としてタイル状に分割されている。また、一または隣接する複数のエリアから成る範囲をゾーンという。また、地図情報１０３０には、ロボット装置９００が自己の位置を同定するために目印として利用する物体１０３２〜１０３４の配置を表すランドマーク情報が付与されている。
【０１１６】
自己位置同定部９２０は、地図情報１０３０上におけるロボット装置９００の自己位置を地図情報上のランドマーク情報を利用して同定する処理部である。自己位置同定部９２０は、地図情報１０３０上に付与されたランドマーク情報を参照して、画像入力部１１２や音声入力部１１３や近接センシング部１１８によるデータからランドマーク情報を検出し、その相対的な距離や方向に基づいて、ロボット装置９００の地図情報１０３０上の位置（ｘｙ座標）と向き（パン角）を推定し、その情報を自己位置同定情報として出力する。
【０１１７】
なお、ランドマーク情報から自己位置を同定する画像処理については、特開平０８−２４７７７５号公報に開示された技術などを用いる。
【０１１８】
本実施の形態の音源情報検出部１１６は、自己位置同定部９２０によって出力された自己位置同定情報における地図情報１０３０上のロボット装置９００の位置と方向に、検出されたロボット装置９００を基点とした音源物体（人物１０２）の相対的な距離と方向を加えることにより、音源物体（人物１０２）の位置を地図情報１０３０上のｘｙ座標値として算出する。従って、この算出されたｘｙ座標値を含むエリア１０３１が、音源物体の存在するエリアとして求められる。
【０１１９】
図１１は、実施の形態２にかかる音源情報のデータの一例を示す説明図である。実施の形態１では、音源情報の画像処理手順２１１や音声処理手順２２１の成功確率２１３や２２３は検出すべき音源物体の位置に関係なく定められていたが、実施の形態２では、図１１に示すように、記憶部９１１がロボット装置９００の稼動する場所を、エリアに分割した地図情報１０３０を記憶し、成功確率２１３，２２３及び適用優先度２１２，２２２、視覚的成功確率２１４、聴覚的成功確率２２４、適用検出戦略情報２０５に記載される各検出戦略の適用確率が、地図情報１０３０上のエリア毎に個別に設定、算出および記憶されるようになっている。
【０１２０】
音源情報検出部１１６がこれらの情報を更新する際には、例えば検出すべき音源物体の位置するエリアに応じて個別に格納される。また、音源物体検出部１１６は、検出すべき音源物体の地図情報１０３０上の存在エリアに応じて、当該エリアに対応付けられた適用優先度に基づいて、検出戦略情報を選択する。
【０１２１】
また、視覚特徴検出定位部１１４は、音源物体検出部１１６の制御指令によって、検出すべき音源物体の地図情報１０３０上の存在エリアに応じて、当該エリアに対応付けられた画像処理手順２１１を選択する。聴覚特徴検出定位部１１５は、音源物体検出部１１６の制御指令によって、検出すべき音源物体の地図情報１０３０上の存在エリアに応じて、当該エリアに対応付けられた音声処理手順２２１を選択する。
【０１２２】
実施の形態１では、成功確率や適用優先度が音源物体の位置に応じて管理されていないので、状況が変化してこれまでの検出戦略や画像処理手順２１１や音声処理手順２２１が通用しなくなった場合、タイムアウトするまで検出失敗が連続しない限り、検出戦略や画像処理手順や音声処理手順が見直されることはないが、本実施の形態では、例えば、検出する音源物体である人物１０２があるゾーンに入ると物陰に隠れ易くなって視覚的に検出しにくくなるが、別のゾーンでは物陰に隠れにくくて視覚的に検出され易くなるという状況の変化に即座に対応することができる。
【０１２３】
次に、以上のように構成された実施の形態２における音源物体の検出処理について説明する。図１２および図１３は、実施の形態２にかかるロボット装置１００による音源物体検出処理の手順を示すフローチャートである。
【０１２４】
本実施の形態においても、検出処理の開始時点において、音源物体検出部１１６は、検出失敗の連続回数をカウントするためのタイムアウトカウンタを０に初期化する。そして、まず音源物体検出部１１６は、実施の形態１と同様に、検出対象となる音源物体を特定して設定する（ステップＳ１２０１）。そして、音源物体検出部１１６は、設定時点で顔の見えている方向と距離、声の聞こえた方向と距離から、音源物体の地図情報１０３０上の初期位置を算出して同定する（ステップＳ１２０２）。なお、この検出処理開始時点ではロボット装置９００地図情報１０３０上の位置と向きはわかっているものとする。
【０１２５】
次に、音源物体検出部１１６は、記憶部９１１に記憶された当該音源物体の種別コード情報に対応した適用検出戦略情報２０５について、音源物体の地図情報１０３０上の存在エリアに応じた適用検出戦略情報において、検出戦略Ａ〜Ｃの中から現時点でこの適用優先度の最大の検出戦略情報を選択する（ステップＳ１２０３）。
【０１２６】
そして、音源物体検出部１１６は、視覚特徴検出定位部１１４に画像処理手順の選択の旨の制御指令を送出し、聴覚特徴検出定位部１１５に音声処理手順２２１の制御指令を送出する。かかる指令を受けた視覚特徴検出定位部１１４は、記憶部１１１に記憶された検出対象の音源物体の種別コード情報に対応する音源情報２０１の中で、音源物体の地図情報１０３０上の存在エリアに対応した適用画像処理情報２０３から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大２個の画像処理手順２１１を選択し、視覚特徴検出定位部１１４は、記憶部１１１に記憶された検出対象の音源物体の種別コード情報に対応する音源情報２０１の中で音源物体の地図情報１０３０上の存在エリアに対応した適用音声処理情報２０４から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大２個の音声処理手順２２１を選択する（ステップＳ１２０４）。
【０１２７】
なお、初期状態では、各画像処理手順２１１と各音声処理手順２２１の成功確率は０であるが、各画像処理手順２１１と各音声処理手順２２１の適用優先度２１２，２２２、ならびに適用検出戦略情報の適用優先度には一定の差をつけた初期値が、それぞれのエリアについて設定されている。
【０１２８】
次に、音源物体検出部１１６は、実施の形態１と同様に、選択された検出戦略情報、画像処理手順２１１、音声処理手順２２１に従って視覚特徴検出定位部１１４と聴覚特徴検出定位部１１５を稼動させ、視覚定位情報と聴覚定位情報を取得する（ステップＳ１２０５）。次に、音源物体検出部１１６は、実施の形態１と同様に、取得した視覚定位情報を参照しながら、当該音源物体の距離と方向を記述した音源物体検出情報を生成して出力する（ステップＳ１２０６）。そして、位置関係制御部１１９は、実施の形態１と同様に、かかる音源物体検出情報を受けて、ロボット装置１００と音源物体との位置関係を制御し（ステップＳ１２０７）、その制御指令に従って駆動部１２１が駆動してロボット装置１００が移動する。
【０１２９】
次に、自己位置同定部９２０によって、ロボット装置９００の地図情報１０３０上の現在の位置と向きが同定され、音源物体検出部１１６によって、音源物体の現在の地図情報３０上の座標値が算出され、その存在エリアが求められて同定される（ステップＳ１２０８）。
【０１３０】
次に、音源物体検出部１１６は、視覚定位情報の検出成績から現在使用している画像処理手順２１１の地図情報１０３０上のエリアに対応付けられている成功確率２１３と適用優先度２１２を更新し、また聴覚定位情報の検出成績から現在使用している音声処理手順２２１の地図情報１０３０上のエリアに対応付けられている成功確率２２３と適用優先度２２２を更新する（ステップＳ１２０９）。また、更新された成功確率２１３，２２３から成功確率２１３，２２３の地図情報３０上のエリアに対応付けられている視覚的成功確率２１４と聴覚的成功確率２２４を更新する（ステップＳ１２１０、Ｓ１２１１）。さらに、音源物体検出部１１６は、更新された視覚的成功確率２１４と聴覚的成功確率２２４に基づいて、地図情報３０上のエリアに対応付けられている適用検出戦略情報２０５における各検出戦略情報の適用優先度を更新する。
【０１３１】
次に、音源物体検出部１１６は、実施の形態１と同様に、視覚定位情報および聴覚定位情報の検出結果により音源物体の検出が成功しているか否かを判断する（ステップＳ１２１２）。そして、音源物体の検出が成功している場合には（ステップＳ１２１２：Ｙｅｓ）、タイムアウトカウンタを０に初期化して、その後、ステップＳ１２０５からＳ１２１１までの処理を繰り替えし実行する。
【０１３２】
一方、ステップＳ７１０において、音源物体の検出が失敗してる場合には（ステップＳ１２１２：Ｎｏ）、音源物体検出部１１６は、音源物体の地図情報１０３０上の位置が前回と異なるエリア内に移動したか否かを判断する（ステップＳ１２１３）。音源物体がエリアを移動した場合には（ステップＳ１２１３：Ｙｅｓ）、音源物体検出部１１６は、音源物体の移動先のエリアに対応付けられている適用検出戦略情報に従って適用優先度が最大の検出戦略情報を再選択する（ステップＳ１２１４）。
【０１３３】
そして、音源物体検出部１１６は、視覚特徴検出定位部１１４に画像処理手順の選択の旨の制御指令を送出し、聴覚特徴検出定位部１１５に音声処理手順２２１の制御指令を送出する。かかる指令を受けた視覚特徴検出定位部１１４は、音源物体の地図情報１０３０上の移動後のエリアに対応した適用画像処理情報２０３から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大２個の画像処理手順２１１を選択し、視覚特徴検出定位部１１４は、音源物体の地図情報１０３０上の移動後のエリアに対応した適用音声処理情報２０４から、当該音源物体に関して現時点で適用優先度の高い順に、例えば最大２個の音声処理手順２２１を選択する（ステップＳ１２１５）。
【０１３４】
一方、ステップＳ１２１３において、音源物体がエリアを移動していない場合には（ステップＳ１２１３：Ｎｏ）、音源物体検出部１１６は、タイムアウトカウンタを１だけ増加して、検出失敗の連続回数をカウントする。そして、音源物体検出部１１６は、このタイムアウトカウンタの値が所定値に達したか否かを判断することにより、タイムアウトか否かを調べる（ステップＳ１２１６）。
【０１３５】
そして、検出失敗の連続回数（タイムアウトカウンタの値）が所定値に達しておらず、タイムアウトしてない場合（ステップＳ１２１６：Ｎｏ）、音源物体検出部１１６は、ステップＳ１２０５からＳ１２１３までの処理を繰り替えし実行する。
【０１３６】
一方、ステップＳ１２１６において、検出失敗の連続回数（タイムアウトカウンタの値）が所定値に達し、タイムアウトした場合には（ステップＳ１２１６：Ｙｅｓ）、音源物体検出部１１６は、失敗が連続し過ぎたとして、これまでの検出戦略、画像処理手順２１１、音声処理手順２２１の見直しを行う。具体的には、ステップＳ１２０９〜Ｓ１２１１において成功確率、視覚的成功確率、頂角的成功確率および適用優先度が更新されているので、原則として、ステップＳ１２０３およびＳ１２０４と同様に、音源物体検出部１１６は、改めて、音源物体の地図情報１０３０上の存在エリアに対応した適用優先度が最大の検出戦略情報を再選択する（ステップＳ１２１７）。また、視覚特徴検出定位部１１４は、音声物体検出部１１６からの制御指令を受けて、音源物体の地図情報１０３０上の存在エリアに対応した適用優先度の最大が画像処理手順２１１を再選択し、聴覚特徴検出定位部１１５は、音声物体検出部１１６からの制御指令を受けて、音源物体の地図情報１０３０上の存在エリアに対応した適用優先度の最大が音声処理手順２２１を再選択する（ステップＳ１２１８）。また、この結果、以前と変わらない検出戦略情報、画像処理手順２１１および音声処理手順２２１の組が再び選択された場合には、あえて試行錯誤するために、乱数により検出戦略情報と画像処理手順２１１と音声処理手順２２１の別の組を選択する。このように、検出戦略情報、画像処理手順２１１および音声処理手順２２１が再選択されたら、ステップＳ１２０５からＳ１２１８までの処理を繰り替えし実行する。
【０１３７】
なお、本実施の形態では、ステップＳ１２１２において音源物体の検出に失敗した場合にのみステップＳ１２１３からＳ１２１８までの処理が実行されるようになっている。これは、ステップＳ１２１２において現在の検出戦略情報、画像処理手順２１１、音声処理手順２２１が有効に動作していると判断された場合には、エリア移動の有無に関わらず、あえてこれらを変更する必要はないと考えられるからである。
【０１３８】
このように実施の形態２にかかるロボット装置９００では、実施の形態１のロボット装置１００と同様の効果を奏する他、音源物体の他、地図情報１０３０上のエリアごとに画像処理手順２１１による音源物体の検出と音声処理手順２２１による音源物体の検出の調整および組み合わせを行って、音源物体の検出を実行しているので、音源物体の移動に伴う状況の変化に対応した検出戦略や画像処理手順や音声処理手順を選択することができ、状況変化への迅速な対応を図ることができる。
【０１３９】
なお、実施の形態１および２では、ロボット装置１００，９００の備えるカメラはステレオカメラであり、画像に写る音源物体までの距離をステレオ計測によって算定するとしたが、音源物体の大きさが既知であるならば、単眼カメラであっても、画像中の大きさから距離を算定することができる。例えば、人物の顔の大きさは概ね１３ｃｍであるとして、画像中の顔領域の大きさから距離を逆算することができる。
【０１４０】
また、実施の形態１および２では、聴覚特徴検出定位部１１５が音源を空間定位できるとして説明をしたが、方向しか定位できない場合であっても、位置関係制御部１１６がその方向にロボット装置１００，９００を移動させることで、正確な距離を保つことはできないまでも、音源物体への接近を果たすことはできる。この結果、検出戦略Ａにおいて見失った音源物体を視覚的に再検出でき、検出戦略Ｂにおいては人物１０２が声掛けを止めたり、近接センシング部１１８が人物１０２への過剰な接近を知らせることで適切な距離を維持することができる。すなわち、音源物体の定位結果として、好ましくは距離と方向を得ることであるが、方向のみであっても本発明の効果は達成される。
【０１４１】
なお、実施の形態１および２のロボット装置で実行される音源物体位置検出プログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０１４２】
実施の形態１および２のロボット装置で実行される音源物体位置検出プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１４３】
さらに、実施の形態１および２のロボット装置で実行される音源物体位置検出プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施の形態１および２のロボット装置で実行される音源物体位置検出プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０１４４】
実施の形態１および２のロボット装置で実行される音源物体位置検出プログラムは、上述した各部（視覚特徴検出定位部１１４、聴覚特徴検出定位部１１５、音源物体検出部１１６、自己位置同定部９２０、音源情報学習部１１７、位置関係制御部１１９）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭから音源物体位置検出プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、視覚特徴検出定位部１１４、聴覚特徴検出定位部１１５、音源物体検出部１１６、自己位置同定部９２０、音源情報学習部１１７、位置関係制御部１１９が主記憶装置上に生成されるようになっている。
【０１４５】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【実施例】
【０１４６】
以下に、実施の形態２にかかるロボット装置９００における音源物体検出処理の具体的な例について説明する。まず、記憶部９１１に格納されている各情報について具体例をあげて説明する。
【０１４７】
［地図情報１０３０］
ロボット装置９００の記憶部９１１には該ロボット装置９００の稼動する環境の地図情報１０３０が記憶されているものとする。地図情報１０３０上の格子状に切られた各エリアにはそれぞれ固有のエリア番号（通し番号）が与えられている。また、地図情報１０３０上には図１０に示すｘｙ直交座標系が定義されている。このとき、各エリアの情報を記憶する形式は下記エリア情報構造体AREA_INFOで定義される。AREA_INFOのx0、y0、x1、y1は各エリアが覆う矩形の図１０における左下端点の座標（x0，y0）と右上端点の座標（x1，y1）を記憶するメンバーである。このとき、図中の各座標軸の向きから左ほど下ほど座標値が小さく、x0<x1、y0<y1である。
【０１４８】
typedef struct [
int  x0;  // 矩形の左下端点のｘ座標値
int  y0;  // 矩形の左下端点のｙ座標値
int  x1;  // 矩形の右上端点のｘ座標値
int  y1;  // 矩形の右上端点のｙ座標値
] AREA_INFO;  // エリア情報構造体の定義
【０１４９】
地図情報１０３０は、その擁するエリアの数n1と、構造体AREA_INFOのn1要素の１次元配列を持つ下記地図情報構造体MAP_INFOのインスタンスMapInfoとして生成される。ここでインスタンスとは、地図情報構造体MAP_INFOを実際に装置のメモリ空間上に確保した記憶領域のことである。
【０１５０】
typedef struct [
int  n1;  // エリア数
AREA_INFO  Area [n1];  // エリア情報
] MAP_INFO;  // 地図情報構造体の定義
MAP_INFO  MapInfo;   // 地図情報１０３０（MAP_INFOのインスタンス）
【０１５１】
このとき、j番目のエリアの情報はMapInfo. Area[j]に記憶され、そのメンバーはそれぞれ次のように表される。
【０１５２】
MapInfo. Area [j]. x0;
MapInfo. Area [j]. y0;
MapInfo. Area [j]. x1;
MapInfo. Area [j]. y1;
【０１５３】
［適用画像処理情報２０３］
適用画像処理情報２０３は下記適用画像処理情報構造体IP_INFOのn0（音源物体数）要素の１次元配列IpInfo [n0]として生成される。ここで、n0は本装置が対象とする音源物体の数であり、k番目の音源物体に関する適用画像処理情報２０３はIpInfo [k]に記憶される。なお、IpInfo [n0]は後述する音源情報構造体OBJ_INFOのメンバーである。
【０１５４】
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のインスタンス）
【０１５５】
k番目の音源物体に関する適用画像処理情報２０３がn2個の画像処理手順２１１を擁しているとする。このとき、n2個の画像処理手順２１１は、その処理を実行するプログラムモジュール（具体的には画像処理関数）のエントリーアドレスとしてIpInfo [k]のpImageProcessingに記憶されており、i番目の画像処理関数はIpInfo [k]. pImageProcessing [i]で参照できるようになっている。また、これら画像処理関数のそれぞれは双対を成す学習用のプログラムモジュール（関数）と処理に必要な視覚特徴情報２１５を内包しているものとする。なお、各プログラムモジュール（関数）はライブラリとして提供され、適宜最新版に更新することができるようになっている。ライブラリとして提供されている画像処理関数は検出関数、学習関数、識別関数に分かれている。各々例を列挙すると次のようになる。
【０１５６】
（サブルーチン関数）
void  IpFaceDetector();  // 画像から顔領域を検出する関数
void  IpColorDetector();  // 画像を同色領域に分割する関数
void  IpTextureDetector();  // 画像を同テクスチャ領域に分割する関数
void  IpDepthDetector();  // 画像を同距離領域に分割する関数
【０１５７】
（学習関数）
void  IpFaceTrainer(k);  // k番目の音源物体の顔を学習する関数
void  IpColorTrainer (k);  // k番目の音源物体の色を学習する関数
void  IpTextureTrainer (k);  // k番目の音源物体のテクスチャを学習する関数
【０１５８】
（識別関数）
void  IpFaceIdentifier(k);  // 顔領域から人物識別を行う関数
void  IpColorIdentifier(k);  // 色領域から物体識別を行う関数
void  IpTextureIdentifier(k);  // テクスチャ領域から物体識別を行う関数
【０１５９】
なお、この他、全音源物体のどれであるかを識別するための特別なコードk=WildCardCodeがある。
【０１６０】
サブルーチン関数は所定の機能を提供するための関数あり、学習関数や識別関数の内部で適宜呼ばれるユーティリティである。
【０１６１】
学習関数はサブルーチン関数によって検出・抽出された所定の特徴（顔、色、テクスチャ）を持つ領域を識別関数が識別できるための辞書情報を生成する関数であり、識別関数から適宜呼ばれる。
【０１６２】
識別関数はサブルーチン関数によって検出・抽出された所定の特徴（顔、色、テクスチャ）を持つ領域を学習関数によって生成された辞書情報と照合することで、該検出・抽出された領域が所定の音源物体の画像か否かを識別する関数である。検出のための画像的特徴や識別のための画像的特徴（辞書情報）は視覚特徴情報２１５として各関数によって管理・参照される。IpInfo [k]. pImageProcessing [i]には上記識別関数のエントリーアドレスが記憶され、各関数の引数には種別コード情報２０２が与えられることで、識別関数は何番の音源物体を検出・識別すれば良いかわかるようになっている。また、この引数が所定の特別な値（WildCardCode）である場合は、登録されているn0個の音源物体のどれであるかを判じるように動作する。
【０１６３】
［適用音声処理情報２０４］
適用音声処理情報２０４は下記適用音声処理情報構造体SP_INFOのn0（音源物体数）要素の１次元配列SpInfo [n0]として生成される。ここで、n0は本装置が対象とする音源物体の数であり、k番目の音源物体に関する適用音声処理情報２０４はSpInfo [k]に記憶される。なお、SpInfo [n0]は後述する音源情報構造体OBJ_INFOのメンバーである。
【０１６４】
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のインスタンス）
【０１６５】
k番目の音源物体に関する適用音声処理情報２０４がn3個の音声処理手順２２１を擁しているとする。このとき、n3個の音声処理手順２２１は、その処理を実行するプログラムモジュール（具体的には音声処理関数）のエントリーアドレスとしてSpInfo [k]のpSoundProcessingに定義されており、i番目の音声処理関数はSpInfo [k]. pSoundProcessing [i]で参照できるようになっている。また、これら音声処理関数のそれぞれは双対を成す学習用のプログラムモジュール（関数）と処理に必要な聴覚特徴情報２２５を内包しているものとする。なお、各プログラムモジュール（関数）はライブラリとして提供され、適宜最新版に更新することができるようになっている。ライブラリとして提供されている音声処理関数はサブルーチン関数と学習関数と識別関数に分かれている。各々例を列挙すると次のようになる。
【０１６６】
（サブルーチン関数）
void  SpVoiceDetector();  // 音声から声を検出する関数
void  SpSoundDetector();  // 音声から物音を検出する関数
void  SpSoundLocalizer();  // 音声からその音源方向を計算する関数
void  SpSoundSeparator();  // 所定方向の音声を分離抽出する関数
void  SpSpeechRecognizer();  // 声からその発話内容を認識する関数
【０１６７】
（学習関数）
void  SpVoiceTrainer(k);  // k番目の音源物体の声を学習する関数
void  SpSoundTrainer(flg);  // flgで指定される物音を学習する関数
【０１６８】
（識別関数）
void  SpVoiceIdentifier(k);  // k番目の音源物体の声を識別する関数
void  SpSoundIdentifier(flg);  // flgで指定される物音を識別する関数
【０１６９】
なお、この他、全音源物体のどれであるかを識別するための特別なコードk=WildCardCodeがある。また、flgにはHumanWalk=人の足音、DogWalk=犬の足音、Bowwow=犬の吼え声などがある。
【０１７０】
サブルーチン関数は所定の機能を提供するための関数あり、学習関数や識別関数の内部で適宜呼ばれるユーティリティである。
【０１７１】
学習関数はサブルーチン関数によって検出・抽出された所定の特徴を持つ区間を識別関数が識別できるための辞書情報を生成する関数であり、識別関数から適宜呼ばれる。
【０１７２】
識別関数はサブルーチン関数によって検出・抽出された所定の特徴を持つ区間を学習関数によって生成された辞書情報と照合することで、該検出・抽出された区間が所定の音源物体の音声か否かを識別する関数である。検出のための聴覚的特徴や識別のための聴覚的特徴（辞書情報）は聴覚特徴情報２２５として各関数によって管理・参照される。SpInfo [k]. pSoundProcessing [i]には上記識別関数のエントリーアドレスが記憶され、各関数の引数には種別コード情報２０２が与えられることで、識別関数は何番の音源物体を検出・識別すれば良いかわかるようになっている。また、この引数が所定の特別な値（WildCardCode）である場合は、登録されているn0個の音源物体のどれであるかを判じるように動作する。
【０１７３】
［処理手順の適用優先度］
上記IP_INFOとSP_INFOの適用優先度Priorityは２次元配列になっている。配列の１次元目はそれぞれ画像処理手順と音声処理手順の番号、２次元目は地図情報上のエリア番号に対応している。すなわち、Priority [i][j]はpImageProcessing [i]もしくはpSoundProcessing [i]で参照される関数を実行する際のエリアjに対する適用優先度を表している。
【０１７４】
［処理手順の成功確率］
上記IP_INFOとSP_INFOの成功確率情報ProbInfoは成功確率情報構造体PROB_INFOの２次元配列になっている。配列の１次元目[n2]と[n3]はそれぞれ画像処理手順と音声処理手順の番号、２次元目[n1]は地図情報上のエリア番号に対応している。すなわち、ProbInfo [i][j]はi番目の画像処理手順pImageProcessing [i]もしくはi番目の音声処理手順pSoundProcessing [i]で参照される関数を実行した場合のエリアjに対する検出成功率（成功確率）を表している。なお、成功確率情報構造体PROB_INFOは次の形式で定義される。
【０１７５】
typedef struct [
float  TrialTime;  // 試行期間長
float  SuccessTime;  // 成功期間長
float  Probability;  // 成功確率（213または223）
] PROB_INFO;  // 成功確率情報構造体の定義
【０１７６】
成功確率はある音源物体をある画像処理手順もしくは音声処理手順によって検出しようとした期間（試行期間）に対する検出できていた期間（成功期間）の比率として求められる。そこで、PROB_INFOはそれぞれその算出の根拠となる試行期間長TrialTimeと成功期間長SuccessTimeと、両者から算出される成功確率Probabilityとを収めるようになっている。なお、上記試行期間長TrialTimeは試行開始時刻と試行終了時刻の差で求められる時間（例えば単位は秒）であっても良いが、画像や音声の入力に対して略一定周期毎に検出処理が実行される場合には、試行を開始してから終了するまでに検出処理が実行された回数（例えば単位は回）としても良い。同様に上記成功期間長SuccessTimeも、検出に成功し始めた時刻とその後に失敗した時刻の差で求められる時間（例えば単位は秒）であっても良いが、成功し始めてから失敗するまでに検出処理が実行された回数（例えば単位は回）としても良い。いずれにせよ、試行期間長TrialTimeと成功期間長SuccessTimeが同じ単位で記述されていれば、試行期間長TrialTimeに対する成功期間長SuccessTimeの比率として成功確率Probability=SuccessTime/TrialTimeを求めることができる。
【０１７７】
［視覚的成功確率と聴覚的成功確率］
k番目の音源物体のエリアjに対する視覚的成功確率はIpInfo [k]. MaxProbability [j]に記述され、k番目の音源物体のエリアjに対する聴覚的成功確率はSpInfo [k]. MaxProbability [j]に記述される。そして、それぞれは次式で求められる。式中の演算子MAXはそれぞれ画像処理手順と音声処理手順の番号iを様々に変えたときのカッコ内の最大値を示す。
【０１７８】
IpInfo [k]. MaxProbability [j] = MAX (IpInfo [k]. ProbInfo [i][j]. Probability );
SpInfo [k]. MaxProbability [j] = MAX (SpInfo [k]. ProbInfo [i][j]. Probability );
【０１７９】
［適用検出戦略情報２０５］
適用検出戦略情報２０５は下記適用検出戦略情報構造体ST_INFOのn0（音源物体数）要素の１次元配列StInfo [n0]として生成される。ここで、n0は本装置が対象とする音源物体の数であり、k番目の音源物体に関する適用検出戦略情報２０５はStInfo [k]に記憶される。なお、StInfo [n0]は後述する音源情報構造体OBJ_INFOのメンバーである。
【０１８０】
typedef struct [
float  PriorityA [n1];  // 検出戦略Ａの適用優先度
float  PriorityB [n1];  // 検出戦略Ｂの適用優先度
float  PriorityC [n1];  // 検出戦略Ｃの適用優先度
] ST_INFO;  // 適用検出戦略情報構造体の定義
ST_INFO  StInfo [n0];  // 適用検出戦略情報205（ST_INFOのインスタンス）
【０１８１】
［検出戦略の適用優先度］
各検出戦略Ａ〜Ｃに対する適用優先度はそれぞれn1（エリア数）要素の１次元配列になっており、k番目の音源物体のエリアjに対する適用優先度はそれぞれ次の場所に記憶される。
【０１８２】
StInfo[k]. PriorityA [j];
StInfo[k]. PriorityB [j];
StInfo[k]. PriorityC [j];
【０１８３】
以上の要素を持つ音源情報２０１は、下記音源情報構造体OBJ_INFOのインスタンスObjInfoとして生成される。OBJ_INFOには上述した各インスタンスIpInfo [n0]、SpInfo [n0]、StInfo [n0]が含まれる。また、本装置が対象とする音源物体の数n0と、現在検出対象となっている音源物体の番号k（種別コード情報２０２）も一括してここに記憶される。
【０１８４】
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のインスタンス）
【０１８５】
よって、記憶部９１１には、上述したMapInfo（地図情報１０３０）とObjInfo（音源情報２０１）が少なくとも記憶される。また、上述したプログラムモジュールも暗示的に記憶される。これらのプログラムモジュールは関数としてObjInfo（音源情報２０１）から呼び出すことができる。また、各プログラムモジュールが参照あるいは学習する視覚特徴情報２１５と聴覚特徴情報２２５も各プログラムモジュールの管理下で各モジュールから参照できる形式で暗示的に記憶される。なお、記憶部９１１には、この他にも本装置の稼働中に生成される各種情報を記憶することができるものとする。
【０１８６】
［実施の形態１の場合］
上述した例は、実施の形態２にかかるロボット装置９００の例であるが、実施の形態１にかかるロボット装置１００では、上記エリア番号jに対応した配列[n1]の存在しない形態で各値が用意されている。すなわち、適用画像処理情報構造体IP_INFO、適用音声処理情報構造体SP_INFO、適用検出戦略情報構造体ST_INFOの定義が下記のようになる。
【０１８７】
typedef struct [
int  n2;  // 画像処理手順の数
void*  pImageProcessing [n2];  // 画像処理関数のエントリーアドレス（211と215）
float  Priority [n2];  // 適用優先度（212）
PROB_INFO  ProbInfo [n2];  // 成功確率情報（213を含む）
float  MaxProbability;  // 視覚的成功確率（214）
] IP_INFO;  // 適用画像処理情報構造体の定義
【０１８８】
typedef struct [
int  n3;  // 音声処理手順の数
void*  pSoundProcessing [n3];  // 音声処理関数のエントリーアドレス（221と225）
float  Priority [n3];  // 適用優先度（222）
PROB_INFO  ProbInfo [n3];  // 成功確率情報（223を含む）
float  MaxProbability;  // 聴覚的成功確率（224）
] SP_INFO;  // 適用音声処理情報構造体の定義
【０１８９】
typedef struct [
float  PriorityA;  // 検出戦略Ａの適用優先度
float  PriorityB;  // 検出戦略Ｂの適用優先度
float  PriorityC;  // 検出戦略Ｃの適用優先度
] ST_INFO;  // 適用検出戦略情報構造体の定義
【０１９０】
［初期状態］
ロボット装置９００が１度も稼動されたことのない初期状態では、全ての音源物体（k=1〜n0）の全ての処理手順（i=1〜n2またはi=1〜n3）の全てのエリア（j=1〜n1）に対する、適用画像処理情報２０３の成功確率１０１３、適用音声処理情報２０４の成功確率１０２３、及び関連する試行期間長と成功期間長は０に設定されている。また、上記成功確率のエリア毎の最大値として決定される視覚的成功確率１０１４と聴覚的成功確率１０２４も全て０である。具体的には下記数値が全て０になっている。
【０１９１】
（適用画像処理情報２０３）
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）
【０１９２】
（適用音声処理情報２０４）
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）
【０１９３】
一方、適用画像処理情報２０３の適用優先度１０１２、適用音声処理情報２０４の適用優先度１０２２、適用検出戦略情報２０５の検出戦略Ａ〜Ｃのそれぞれの適用優先度には、初期値として当該音源物体に応じて適当に順位付けされた数値が与えられている。具体的には次のようになっている。なお、音源物体として、ここでは人物か非人物か程度の場合分けがあるとし、後述するようにそれぞれの別に応じて各種優先度が設定されるものとする。
【０１９４】
（適用画像処理情報２０３）
n2=3とした場合の例：
ObjInfo. IpInfo[k]. Priority [1][j] = 1;   // 画像処理手順１の適用優先度（212）
ObjInfo. IpInfo[k]. Priority [2][j] = 2;   // 画像処理手順2の適用優先度（212）
ObjInfo. IpInfo[k]. Priority [3][j] = 3;   // 画像処理手順3の適用優先度（212）
なお、この例では「画像処理手順1→2→3」の順に設定されている。
【０１９５】
（適用音声処理情報２０４）
n3=3とした場合の例：
ObjInfo. SpInfo[k]. Priority [1][j] = 2;   // 音声処理手順１の適用優先度（222）
ObjInfo. SpInfo[k]. Priority [2][j] = 3;   // 音声処理手順2の適用優先度（222）
ObjInfo. SpInfo[k]. Priority [3][j] = 1;   // 音声処理手順3の適用優先度（222）
なお、この例では「音声処理手順3→1→2」の順に設定されている。
【０１９６】
（適用検出戦略情報２０５）
適用優先度は順位を表す。
【０１９７】
ObjInfo. StInfo[k]. PriorityA = 1;   // 検出戦略Ａの適用優先度
ObjInfo. StInfo[k]. PriorityB = 3;   // 検出戦略Ｂの適用優先度
ObjInfo. StInfo[k]. PriorityC = 2;   // 検出戦略Ｃの適用優先度
なお、この例では「検出戦略A→C→B」の順に設定されている。
【０１９８】
［ステップＳ１２０１の検出対象設定処理：検出対象が人物の場合］
検出対象の音源物体が人物である場合の図１２のステップＳ１２０１の例を示す。なお、実施の形態１の場合におけるステップＳ７０１の処理も同様である。
【０１９９】
［検出対象が命令者本人の場合］
例えば、ある人物Ａ（命令者）がロボット装置９００の右斜め後方から「ついておいで」と声を掛けたとする。ロボット装置９００の音声入力部１１３によりこの音声は捉えられ、聴覚特徴検出定位部１１５内で呼ばれるライブラリ関数によって、声の方向と距離、それが人の声であること、登録されている誰の声であるか、その発話内容が「ついておいで」であることが認識され、ロボット装置９００が振り返る。具体的には次の手順で処理が行われる。
【０２００】
（１）  SpSoundLocalizer ()によって人物Ａの発話位置を示す方向と距離が計算される。
（２）  SpSoundSeparator ()によってその方向の音声（人物Ａの声）が周囲の雑音から分離抽出される。
（３）  SpVoiceDetector ()によって分離抽出された音声がその調波構造の有無によって人の声であることが判断される。
（４）  WildCardCode を引数に与えられたSpVoiceIdentifier (WildCardCode)によってその声が誰の声であるかが判断される。
（５）  SpSpeechRecognizer ()によってその発話内容「ついておいで」が認識される。
（６）  上記（１）によって声の方向が判明すると、ロボット装置９００は声のした方向（右斜め後方）に向きを変え、画像入力部１１２の備えるカメラの視野に人物Ａを捉える。
【０２０１】
上記音声命令「ついておいで」により、ロボット装置９００は人物Ａを検出しなければならないことを知る。そこで、この人物Ａを検出対象と定めて以下の手順を実行する。この手順は人物Ａが既登録の音源物体であるか否かによって次のように２つに分かれる。
【０２０２】
［人物Ａが既に音源物体として登録されている場合］
もし、人物Ａが既にk番目の音源物体として登録されている場合、上記（４）において、この声がk番目の音源物体のものであると特定できる。このように、人物Ａが既に登録されているk番目の音源物体であることが判明した場合は、その番号kが種別コード１００２に設定される。なお、ここで人物Ａの声を特定できるためには、人物Ａの声を識別するための辞書情報を聴覚特徴情報２２５内に持っていることになるが、さらにこのときSpVoiceTrainer (k)を呼ぶことで、この辞書情報に今聞こえた人物Ａの「ついておいで」という声を追加で学習し（この操作を既存辞書の更新と言う）、今後人物Ａの声をより正確に識別できるように適応する。
【０２０３】
［人物Ａがまだ音源物体として登録されていない場合］
また、もし、人物Ａが音源物体としてまだ登録されていない場合は、上記（４）において、この声がどの音源物体のものであるかを特定できないことになる。このときは、人物Ａは新しい音源物体であるとして、登録手続きが行われる。具体的には、新しい種別コードk=n0+1が発行され、SpVoiceTrainer (k)が呼ばれて、人物Ａの声を識別するための辞書情報が新規に生成される（この操作を新規辞書の生成と言う）。同時にk番目の音源情報が適当な初期値で生成され、音源物体数n0はn0+1に更新される。
【０２０４】
上記（６）によって人物Ａの顔をカメラの視野に捉えると、視覚特徴検出定位部１１４内で呼ばれるライブラリ関数によって、顔領域が検出され、登録されている誰の顔であるかが特定され、必要に応じて辞書情報の学習が行われる。具体的には次の手順で処理が行われる。
【０２０５】
（１）  IpFaceDetector ()によって画像中から顔領域が検出抽出される。
（２）  IpFaceIdentifier (k)によってそれが人物Ａの顔であるか否かが検証される。もし検証できなければ、現状で人物Ａの顔が識別できない（辞書情報が無いもしくは辞書情報が古い）ことになるのでIpFaceTrainer (k)によって人物Ａの顔が学習（新規辞書の生成もしくは既存辞書の更新）される。
（３）  また、同時に顔領域近傍（衣服や頭部）の色とテクスチャもIpColorTrainer (k)とIpTextureTrainer(k)によって学習（新規辞書の生成もしくは既存辞書の更新）される。
このとき、このk番目の音源物体が人物であることから、顔の他に衣服の色やテクスチャによって識別できることがわかっている。よって、この音源物体（人物Ａ）を視覚的に検出するための関数（画像処理手順）とその適用優先度が次のように登録される。
【０２０６】
ObjInfo. IpInfo[k]. n2 = 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()の適用優先度
【０２０７】
同様に、このk番目の音源物体が人物であることから、声や足音（物音の一種）などによって識別できることがわかっている。よって、この音源物体（人物Ａ）を聴覚的に検出するための関数（音声処理手順）とその適用優先度が次のように登録される。
【０２０８】
ObjInfo. SpInfo[k]. n2 = 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()の適用優先度
【０２０９】
また、各検出戦略の適用優先度は「視覚優先→視覚聴覚併用→聴覚優先」の順を表して次のように設定される。
【０２１０】
ObjInfo. StInfo[k]. PriorityA = 1;   ／／ 検出戦略Ａの適用優先度
ObjInfo. StInfo[k]. PriorityB = 3;   ／／ 検出戦略Ｂの適用優先度
ObjInfo. StInfo[k]. PriorityC = 2;   ／／ 検出戦略Ｃの適用優先度
【０２１１】
以上の設定によって、ロボット装置９００が人物Ａを視覚的・聴覚的に検出するための音源情報が整えられたことになる。
【０２１２】
［検出対象が命令者以外の人物の場合］
また、例えば、ある人物Ａ（命令者）がロボット装置９００の右斜め後方から「この人について行って」と声を掛けたとする。ロボット装置９００の音声入力部１１３によりこの音声は捉えられ、聴覚特徴検出定位部１１５内で呼ばれるライブラリ関数によって、声の方向と距離、それが人の声であること、登録されている誰の声であるか、その発話内容が「この人について行って」であることが認識され、ロボット装置９００が振り返る。具体的には次の手順で処理が行われる。
【０２１３】
（１）  SpSoundLocalizer ()によって人物Ａの発話位置を示す方向と距離が計算される。
（２）  SpSoundSeparator ()によってその方向の音声（人物Ａの音声）が周囲の雑音から分離抽出される。
（３）  SpVoiceDetector ()によって分離抽出された音声がその調波構造の有無によって人の声であることが判断される。
（４）  WildCardCode を引数に与えられたSpVoiceIdentifier (WildCardCode)によってその声が誰の声であるかが判断される。
（５）  SpSpeechRecognizer ()によってその発話内容「この人について行って」が認識される。
（６）  上記（１）によって声の方向が判明すると、ロボット装置９００は声のした方向（右斜め後方）に向きを変え、画像入力部１１２の備えるカメラの視野に人物Ａを捉える。
【０２１４】
ロボット装置９００が人物Ａの方に振り向くことで、人物Ａとともにその傍に居る人物Ｂが画像入力部１１２の備えるカメラ視野に捉えられる。上記音声命令「この人について行って」により、ロボット装置９００は人物Ａの傍に居る人物Ｂを検出しなければならないことを知る。そこで、人物Ｂを検出対象と定めて以下の手順を実行する。
【０２１５】
［人物Ｂの声の取得］
ロボット装置９００は人物Ｂの声をまだ確認していないので、音声出力によって挨拶を交わすなどして人物Ｂの発話を促す。そして、人物Ｂからの声を得ると、この声が誰の声であるかを識別しようとする。具体的には次の手順で処理が行われる。
【０２１６】
（１）  SpSoundLocalizer ()によって人物Ｂの発話位置を示す方向と距離が計算される。
（２）  SpSoundSeparator ()によってその方向の音声（人物Ｂの声）が周囲の雑音から分離抽出される。
（３）  SpVoiceDetector ()によって分離抽出された音声がその調波構造の有無によって人の声であることが判断される。
（４）  WildCardCode を引数に与えられたSpVoiceIdentifier (WildCardCode)によってその声が誰の声であるかが判断される。
【０２１７】
次に以下の設定手順を実行する。この手順は人物Ｂが既登録の音源物体であるか否かによって２つに分かれる。
【０２１８】
［人物Ｂが既に音源物体として登録されている場合］
もし、人物Ｂが既にk番目の音源物体として登録されている場合は、上記（４）において、この声がk番目の音源物体のものであると特定できる。このように、人物Ｂが既に登録されているk番目の音源物体であることが判明した場合は、その番号kが種別コード１００２に設定される。なお、ここで人物Ｂの声を特定できるためには、人物Ｂの声を識別するための辞書情報を聴覚特徴情報２２５内に持っていることになるが、さらにこのときSpVoiceTrainer (k)を呼ぶことで、この辞書情報に今聞こえた人物Ｂの声を追加で学習し（この操作を既存辞書の更新と言う）、今後人物Ｂの声をより正確に識別できるように適応する。
【０２１９】
［人物Ｂがまだ音源物体として登録されていない場合］
また、もし、人物Ｂが音源物体としてまだ登録されていない場合は、上記（４）において、この声がどの音源物体のものであるかを特定できないことになる。このときは、人物Ｂが新しい音源物体であるとして登録手続きが行われる。具体的には、新しい種別コードk=n0+1が発行され、SpVoiceTrainer (k)が呼ばれて、人物Ｂの声を識別するための辞書情報が新規に生成される（この操作を新規辞書の生成と言う）。同時にk番目の音源情報が適当な初期値で生成され、音源物体数n0はn0+1に更新される。
【０２２０】
また、ロボット装置９００の画像入力部１１２により人物Ｂの顔が捉えられると、視覚特徴検出定位部１１４内で呼ばれるライブラリ関数によって、顔領域が検出され、登録されている誰の顔であるかが特定され、必要に応じて辞書情報の学習が行われる。具体的には次の手順で処理が行われる。
【０２２１】
（１）  IpFaceDetector ()によって画像中から顔領域が検出抽出される。
（２）  IpFaceIdentifier (k)によってそれが人物Ｂの顔であるか否かが検証される。もし検証できなければ、現状で人物Ｂの顔が検出識別できないことになるのでIpFaceTrainer (k)によって顔の学習（新規辞書の生成もしくは既存辞書の更新）が行われる。
（３）  また、同時に顔領域近傍（衣服や頭部）の色とテクスチャもIpColorTrainer (k)とIpTextureTrainer(k)によって学習（新規辞書の生成もしくは既存辞書の更新）される。
【０２２２】
このとき、このk番目の音源物体が人物であることから、顔の他に衣服の色やテクスチャによって識別できることがわかっている。よって、この音源物体（人物Ｂ）を視覚的に検出するための関数（画像処理手順）とその適用優先度が次のように登録される。
【０２２３】
ObjInfo. IpInfo[k]. n2 = 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()の適用優先度
【０２２４】
同様に、このk番目の音源物体が人物であることから、声や足音（物音の一種）などによって識別できることがわかっている。よって、この音源物体（人物Ｂ）を聴覚的に検出するための関数（音声処理手順）とその適用優先度が次のように登録される。
【０２２５】
ObjInfo. SpInfo[k]. n2 = 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()の適用優先度
【０２２６】
また、各検出戦略の適用優先度は「視覚優先→視覚聴覚併用→聴覚優先」の順を表して次のように設定される。
【０２２７】
ObjInfo. StInfo[k]. PriorityA = 1;   ／／ 検出戦略Ａの適用優先度
ObjInfo. StInfo[k]. PriorityB = 3;   ／／ 検出戦略Ｂの適用優先度
ObjInfo. StInfo[k]. PriorityC = 2;   ／／ 検出戦略Ｃの適用優先度
【０２２８】
以上の設定によって、ロボット装置９００がこの人物Ｂを視覚的・聴覚的に検出するための音源情報が整えられたことになる。
【０２２９】
［ステップＳ１２０１の検出対象設定処理：検出対象が非人物の場合］
検出対象の音源物体が非人物である場合の図１２のステップＳ１２０１の例を示す。
【０２３０】
［検出対象がペットの犬の場合］
また、例えば、ある人物Ａ（命令者）がロボット装置９００の右斜め後方から「この子について行って」と声を掛けたとする。ロボット装置９００の音声入力部１１３によりこの音声は捉えられ、聴覚特徴検出定位部１１５内で呼ばれるライブラリ関数によって、声の方向と距離、それが人の声であること、登録されている誰の声であるか、その発話内容が「この子について行って」であることが認識され、ロボット装置９００が振り返る。具体的には次の手順で処理が行われる。
【０２３１】
（１）  SpSoundLocalizer ()によって人物Ａの発話位置を示す方向と距離が計算される。
（２）  SpSoundSeparator ()によってその方向の音声（人物Ａの音声）が周囲の雑音から分離抽出される。
（３）  SpVoiceDetector ()によって分離抽出された音声がその調波構造の有無によって人の声であることが判断される。
（４）  WildCardCode を引数に与えられたSpVoiceIdentifier (WildCardCode)によってその声が誰の声であるかが判断される。
（５）  SpSpeechRecognizer ()によってその発話内容「この人について行って」が認識される。
（６）  上記（１）によって声の方向が判明すると、ロボット装置９００は声のした方向（右斜め後方）に向きを変え、画像入力部１１２の備えるカメラの視野に人物Ａを捉える。
【０２３２】
ロボット装置９００が人物Ａの方に振り向くことで、人物Ａとともにその傍に居る犬Ｃが画像入力部１１２の備えるカメラ視野に捉えられる。上記音声命令「この子について行って」により、ロボット装置９００は人物Ａの傍に居る犬Ｃを検出しなければならないことを知る。そこで、犬Ｃを検出対象と定めて以下の手順を実行する。
【０２３３】
ロボット装置９００のカメラ視野に犬Ｃの姿が捉えられると、視覚特徴検出定位部１１４内で呼ばれるライブラリ関数によって、背景から浮き出た領域が検出され、登録されているどの音源物体であるかが特定される。具体的には次の手順で処理が行われる。
【０２３４】
（１）  IpColorDetector ()、IpTextureDetector ()、IpDepthDetector ()によって画像が領域に分割される。
（２）  人物Ａと同距離にある人物Ａ近傍の領域が犬Ｃの姿を写した画像領域として抽出される。
（３）  IpColorIdentifier (WildCardCode)、IpTextureIdentifier (WildCardCode)によってその領域がどの物体であるかが判断される。
【０２３５】
次に以下の設定手順を実行する。この手順は犬Ｃが既登録の音源物体であるか否かによって２つに分かれる。
【０２３６】
［犬Ｃが既に音源物体として登録されている場合］
もし、犬Ｃが既にk番目の音源物体として登録されている場合は、上記（３）において、この画像領域がk番目の音源物体のものであると特定できる。このように、犬Ｃが既に登録されているk番目の音源物体であることが判明した場合は、その番号kが種別コード１００２に設定される。なお、ここで犬Ｃの姿を特定できるためには、犬Ｃの姿（色やテクスチャ）を識別するための辞書情報を聴覚特徴情報２２５内に持っていることになるが、さらにこのときIpColorTrainer (k)やIpTextureTrainer (k)を呼ぶことで、この辞書情報に今見えている犬Ｃの色やテクスチャを追加で学習し（この操作を既存辞書の更新と言う）、今後犬Ｃの姿をより正確に識別できるように適応する。
【０２３７】
［犬Ｃがまだ音源物体として登録されていない場合］
また、もし、犬Ｃが音源物体としてまだ登録されていない場合は、上記（４）において、この画像領域がどの音源物体のものであるかを特定できないことになる。このときは、犬Ｃが新しい音源物体であるとして登録手続きが行われる。具体的には、新しい種別コードk=n0+1が発行され、IpColorTrainer (k)やIpTextureTrainer (k)が呼ばれて、犬Ｃの姿（色やテクスチャ）を識別するための辞書情報が新規に生成される（この操作を新規辞書の生成と言う）。同時にk番目の音源情報が適当な初期値で生成され、音源物体数n0はn0+1に更新される。
【０２３８】
このとき、このk番目の音源物体が人物でないことから、色やテクスチャによってのみ識別できることがわかっている。よって、この音源物体（犬Ｃ）を視覚的に検出するための関数（画像処理手順）とその適用優先度が次のように登録される。
【０２３９】
ObjInfo. IpInfo[k]. n2 = 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()の適用優先度
【０２４０】
同様に、このk番目の音源物体が人物でないことから、一般的な吼え声や足音（いずれも物音の一種）などによって識別できることがわかっている。よって、この音源物体（犬Ｃ）を聴覚的に検出するための関数（音声処理手順）とその適用優先度が次のように登録される。
【０２４１】
ObjInfo. SpInfo[k]. n2 = 1;  // 音声処理手順は１個
ObjInfo. SpInfo[k]. pSoundProcessing [1] = & SpSoundIdentifier(DogWalk | Bowwow);
// 物音（足音と吼え声）
ObjInfo. SpInfo[k]. Priority [1][j] = 1;   // SpSoundIdentifier()の適用優先度
【０２４２】
また、各検出戦略の適用優先度は「視覚優先→視覚聴覚併用→聴覚優先」の順を表して次のように設定される。
【０２４３】
ObjInfo. StInfo[k]. PriorityA = 1;   ／／ 検出戦略Ａの適用優先度
ObjInfo. StInfo[k]. PriorityB = 3;   ／／ 検出戦略Ｂの適用優先度
ObjInfo. StInfo[k]. PriorityC = 2;   ／／ 検出戦略Ｃの適用優先度
【０２４４】
以上の設定によって、ロボット装置９００がこの犬Ｃを視覚的・聴覚的に検出するための音源情報が整えられたことになる。
【０２４５】
［人物／非人物による標準設定（先験知識）と、その他の設定方法］
なお、上述した関数（画像処理手順と聴覚処理手順）と各種適用優先度の設定における人物か否かによる場合分けは、検出対象が人物ならこのように、非人物ならこのようにというように予め先験知識として装置に組み込まれている。また、その別は設定手順に際して入力される音声命令や、その他ここで例示しなかった操作入力によって装置が判別できるものとする。
【０２４６】
［新規音源物体の場合には全エリアを初期設定する］
また、上記設定時に検出対象（人物Ａ、人物Ｂ、犬Ｃなど）が音源情報に登録されていない新規の音源物体である場合は、上述した設定内容と同じ設定を地図情報１０３０上の全てのエリアに対して施すことで、未設定のエリアを作らないようにする。
【０２４７】
［関数の実現方法］
以上の説明に登場した各画像処理関数と各音声処理関数は、下記文献に記載される内容と当該分野の専門知識を組み合わせることで実現される。
【０２４８】
（サブルーチン関数）
void  IpFaceDetector();  // 文献１
void  IpColorDetector();  // 文献２,８
void  IpTextureDetector();  // 文献８
void  IpDepthDetector();  // 文献７
【０２４９】
（学習関数）
void  IpFaceTrainer(k);  // 文献１
void  IpColorTrainer (k);  // 文献２,８
void  IpTextureTrainer (k);  // 文献８
【０２５０】
（識別関数）
void  IpFaceIdentifier(k);  // 文献１
void  IpColorIdentifier(k);  // 文献２,８
void  IpTextureIdentifier(k);  // 文献８
【０２５１】
（サブルーチン関数）
void  SpVoiceDetector();  // 文献６
void  SpSoundDetector();  // 文献６
void  SpSoundLocalizer();  // 文献５
void  SpSoundSeparator();  // 文献５
void  SpSpeechRecognizer();  // 文献５
【０２５２】
（学習関数）
void  SpVoiceTrainer(k);  // 文献３
void  SpSoundTrainer(flg);  // 文献４
【０２５３】
（識別関数）
void  SpVoiceIdentifier(k);  // 文献３
void  SpSoundIdentifier(flg);  // 文献４
【０２５４】
文献１  特開２０００−３００６５号公報
文献２  学術文献「移動カメラによる人物識別のための色パターンの獲得」、ロボメカ２００５、１Ｐ２−Ｎ−０４６、Ｊｕｎ．２００５
文献３  特開平１０−９７２７４号公報
文献４  特開２０００−２６８２６５号公報
文献５  学術文献「ハフ変換を用いた音源音のクラスタリングとロボット用聴覚への応用」、人工知能学会第２２回ＡＩチャレンジ研究会、ｐｐ．５３−５８、Ｏｃｔ．２００５
文献６  学術文献「占有度を用いた耐雑音性の高い基本周波数推定法」、信学技報ＳＰ２００１−１３８、ｐｐ．２１−２８、Ｍａｒ．２００２
文献７  書籍「３次元ビジョン」、共立出版、Ａｐｒ．１９９８
文献８学術文献「対人追従ロボットのための後背面の視覚追跡」、ロボメカ２００４、２Ｐ１−Ｈ−３７、Ｊｕｎ．２００４
【０２５５】
なお、以下簡略のため、k番目の音源物体を音源物体kと称することとする。
【０２５６】
［ステップＳ１２０２の音源物体初期位置同定処理］
検出対象設定処理（Ｓ１２０１）で音源物体kの顔や姿が見えているので、次にステップＳ１２０２において、音源物体検出部１１６は、音源物体kの顔や姿の見えている方向と距離（ロボット装置９００に対する相対値である）とロボット装置９００の地図情報１０３０上の位置と向きとから音源物体kの地図情報１０３０上の絶対位置(x, y)を算出する。そしてこの(x, y)を矩形内に含むエリアがMapInfo内で検索されて存在エリア番号ｊが判明する。なお、音源物体kの位置(x, y)と存在エリア番号jは記憶部９１１に記憶保持されるものとする。また、この時点ではロボット装置９００の地図情報１０３０上の位置と向きは予め分かっているものとする。
【０２５７】
［ステップＳ１２０３〜Ｓ１２０４の戦略・検出手順選択処理］
次に、音源物体検出部１１６は、音源物体kの存在エリアｊに応じた最も適用優先順位の高い検出戦略を選択する。上記の設定例によれば戦略Ａが選択される。
【０２５８】
また、音源物体検出部１１６は、視覚特徴検出定位部１１４に制御指令を送り、音源物体kの存在エリアｊに応じた各画像処理手順の適用優先度を比較して、適用優先順位の高い順に例えば最大２つの画像処理手順を選択させる。上記人物Ａと人物Ｂの設定例によれば、IpFaceIdentifier (k)とIpColorIdentifier (k)が選択される。また、上記犬Ｃの設定例によれば、IpColorIdentifier (k)とIpTextureIdentifier (k)が選択される。
【０２５９】
さらに、音源物体検出部１１６は、聴覚特徴検出定位部１１５にも制御指令を送り、音源物体kの存在エリアｊに応じた各音声処理手順の適用優先度を比較して、適用優先順位の高い順に例えば最大２つの音声処理手順を選択させる。上記人物Ａと人物Ｂの設定例によれば、SpVoiceIdentifier (k)とSpSoundIdentifier (HumanWalk)が選択される。また、上記犬Ｃの設定例によれば、SpSoundIdentifier (DogWalk | Bowwow)が選択される。
【０２６０】
これで設定された音源物体kとの位置関係を制御する準備が整ったことになる。
【０２６１】
［ステップＳ１２０５〜Ｓ１２０７の検出・位置関係制御処理ステップＳ３］
次に、音源物体検出部１１６は、選択された検出戦略、画像処理手順、音声処理手順に従って視覚特徴検出定位部１１４と聴覚特徴検出定位部１１５を稼動させて音源物体kを検出しつつ、視覚特徴検出定位部１１４と聴覚特徴検出定位部１１５の出力する視覚定位情報と聴覚定位情報を参照しながら、音源物体kの距離と方向を記した音源物体検出情報を生成出力する。そして、この音源物体検出情報を受けて、位置関係制御部１１９がロボット装置９００と音源物体kとの位置関係を制御する。
【０２６２】
［ステップＳ１２０８の音源物体位置同定処理］
次に、自己位置同定部９２０によってロボット装置９００の地図情報１０３０上の現在の位置と向きが同定され、音源物体検出部１１６によって、上述した通り、音源物体kの現在の地図情報１０３０上の座標値が算出され、その存在エリアjが更新される。
【０２６３】
［ステップＳ１２０９〜Ｓ１２１１の検出確率更新処理］
次に、音源物体検出部１１６は、音源物体kについて、視覚定位情報の検出成績から現在使用している画像処理手順の地図情報１０３０上の存在エリアjに対応付けられている成功確率情報（試行期間長、成功期間長、成功確率）と適用優先度を更新し、聴覚定位情報の検出成績から現在使用している音声処理手順の地図情報１０３０上の存在エリアjに対応付けられている成功確率情報（試行期間長、成功期間長、成功確率）と適用優先度を更新する。また、更新された成功確率に基づいて地図情報１０３０上の存在エリアjに対応付けられている視覚的成功確率と聴覚的成功確率を更新する。また、更新された視覚的成功確率と聴覚的成功確率に基づいて各検出戦略の地図情報１０３０上の存在エリアjに対応付けられている適用優先度を更新する。
【０２６４】
［ステップＳ１２１２の検出成否分岐処理］
次に、音源物体検出部１１６は、このとき音源物体kの検出が成功していれば、タイムアップカウンターをゼロに初期化した後、処理を左分岐させてステップＳ１２０５〜Ｓ１２１１を繰り返す。また、音源物体kの検出が失敗していれば、次のステップＳ１２１３の処理に移行する。
【０２６５】
［ステップＳ１２１３のエリア移動分岐処理］
次に、音源物体検出部１１６は、音源物体kの地図情報１０３０上の位置が前回と異なるエリア内に移動したか否かを判断する。音源物体kがエリアを移動した場合には、ステップＳ１２１４の処理に移行し、エリアを移動していない場合にはステップＳ１２１６の処理に移行する。
【０２６６】
［ステップＳ１２１４およびＳ１２１５のエリア適応処理］
ステップＳ１２１３においてエリアを移動していると判断された場合には、音源物体検出部１１６は、移動先のエリアに対応付けられている適用優先度に従って最も適用優先度の高い検出戦略と、適用優先度の高い順に例えば最大２つまでの画像処理手順と音声処理手順をそれぞれ選択し直す。
【０２６７】
［ステップＳ１２１６のタイムアウト分岐処理］
ステップＳ１２１３においてエリアを移動していないと判断された場合には、音源物体検出部１１６は、タイムアウトカウンタを１だけ増加させる。この結果、タイムアウトカウンタは検出失敗の連続回数をカウントすることになる。音源物体検出部１１６は、このカウンター値が所定値に至るまではステップＳ１２０５からＳ１２１３までの処理を繰り返す。また、所定値に至った場合には、ステップＳ１２１７に移行する。
【０２６８】
［ステップＳ１２１７およびＳ１２１８の戦略・検出手順変更処理］
次に、タイムアウトカウンタ値が所定値に至った場合には、音源物体検出部１１６は、失敗が連続し過ぎたとして、これまでの検出戦略、画像処理手順、音声処理手順の見直しを行う。具体的には、上記ステップＳ１２０９からＳ１２１１までの処理で各種確率と各種優先度が更新されているので、原則的には、ステップＳ１２０３、１２０４と同様の処理によって改めて音源物体kの地図情報１０３０上の存在エリアjに対応付けられている各戦略の適用優先度を比較して、この適用優先度の最も高い検出戦略と、音源物体kの地図情報１０３０上の存在エリアjに対応付けられている画像処理手順の適用優先度を比較して、この適用優先度の高い順に例えば最大２つの画像処理手順と、音源物体kの地図情報１０３０上の存在エリアjに対応付けられている音声処理手順の適用優先度を比較して、この適用優先度の高い順に例えば最大２つの音声処理手順を選択し直すことを行う。
【０２６９】
また、この結果、以前と変わらない検出戦略と画像処理手順と音声処理手順の組が再び選択された場合には、あえて試行錯誤するために、乱数により検出戦略と画像処理手順と音声処理手順の別の組を選択する。ただし、登録されている関数が少なく、別の組を選択する余地のない場合は、そのまま同じ組を選択する。
【図面の簡単な説明】
【０２７０】
【図１】実施の形態１にかかるロボット装置の構成を示すブロック図である。
【図２】音源情報の内容を模式的に示したブロック図である。
【図３】実施の形態１にかかる音源情報のデータの一例を示す説明図である。
【図４−１】従来のロボット装置１において追従している人物１０２を見失う第１の原因を説明するための模式図である。
【図４−２】従来のロボット装置１において追従している人物１０２を見失う第２の原因を説明するための模式図である。
【図４−３】従来のロボット装置１において追従している人物１０２を見失う第３の原因を説明するための模式図である。
【図５】人物１０２の他にドア６やテレビ７などの複数の音源が存在する場合において従来のロボット装置が追従対象を見失った状態を説明する模式図である。
【図６】人物１０２の他にドア６やテレビ７などの複数の音源が存在する場合において実施の形態１のロボット装置が追従対象を探索する状態を説明する模式図である。
【図７】実施の形態１にかかるロボット装置１００による音源物体検出処理の手順を示すフローチャートである。
【図８】適用検出戦略情報に設定される検出戦略情報の適用優先度の決定処理の手順を示すフローチャートである。
【図９】実施の形態２にかかるロボット装置の構成を示すブロック図である。
【図１０】地図情報の一例を示す模式図である。
【図１１】実施の形態２にかかる音源情報のデータの一例を示す説明図である。
【図１２】実施の形態２にかかるロボット装置１００による音源物体検出処理の手順を示すフローチャートである。
【図１３】実施の形態２にかかるロボット装置１００による音源物体検出処理の手順を示すフローチャート（図１２の続き）である。
【符号の説明】
【０２７１】
１，１００，９００  ロボット装置
３  視覚的検出可能圏
４  視界
５  視覚的障害物
６  ドア
７  テレビ
１０２  人物（音源物体）
１１１，９１１  記憶部
１１２  画像入力部
１１３  音声入力部
１１８  近接センシング部
１１４  視覚特徴検出定位部
１１５  聴覚特徴検出定位部
１１６  音源物体検出部
１１７  音源情報学習部
１１９  位置関係制御部
１２１  駆動部
２０１  音源情報
２０２  種別コード情報
２０３  適用画像処理情報
２０４  適用音声処理情報
２０５  適用検出戦略情報
２１１  画像処理手順
２１２，２２２  適用優先度
２１３，２２３  成功確率
２１４  視覚的成功確率
２１５  視覚特徴情報
２２１  音声処理手順
２２４  聴覚的成功確率
２２５  聴覚特徴情報
９２０  自己位置同定部
【図１】
0004675811.tif 000002
【図２】
0004675811.tif 000003
【図３】
0004675811.tif 000004
【図４−１】
0004675811.tif 000005
【図４−２】
0004675811.tif 000006
【図４−３】
0004675811.tif 000007
【図５】
0004675811.tif 000008
【図６】
0004675811.tif 000009
【図７】
0004675811.tif 000010
【図８】
0004675811.tif 000011
【図９】
0004675811.tif 000012
【図１０】
0004675811.tif 000013
【図１１】
0004675811.tif 000014
【図１２】
0004675811.tif 000015
【図１３】
0004675811.tif 000016