(57)【特許請求の範囲】
【請求項１】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって、
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識システムは、
前記環境カメラが撮影した画像および前記ロボットが撮影した画像を用いて前記情報処理装置が認識した物体についての情報を格納するデータベースをさらに備え、
前記情報処理装置は、
前記空間中に新たに前記被撮影物が置かれた場合に、前記環境カメラが撮影した画像を用いて前記新たに置かれた前記被撮影物を認識し、
前記データベースから前記新たに置かれた前記被撮影物よりも過去に前記空間中に置かれた物体についての情報を取り出し、
前記過去に置かれた物体についての情報と前記新たに置かれた前記被撮影物についての情報を用いて、前記過去に置かれた物体と前記新たに置かれた前記被撮影物との間の配置関係を算出し、
前記機構が前記新たに置かれた前記被撮影物を動かした場合に発生する前記新たに置かれた前記被撮影物の運動を、前記配置関係を用いて算出し、
前記情報処理装置の指示にしたがって前記ロボットが前記被撮影物を撮影できるように、前記算出した運動に基づいて、前記機構が前記新たに置かれた前記被撮影物を動かす手順を決定する
ことを特徴とする物体認識システム。
【請求項２】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって、
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて認識した前記空間内に存在する物体の認識信頼度を算出し、
前記認識信頼度が所定閾値未満である場合は、前記ロボットが撮影した画像を補完的に用いて、前記空間内に存在する物体を認識する
ことを特徴とする物体認識システム。
【請求項３】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって、
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識システムは、
前記被撮影物の周辺に移動して前記被撮影物を撮影し、前記情報処理装置の指示にしたがって前記被撮影物の周辺に存在する物体を動かす第２機構を有する第２ロボットを備えており、
前記情報処理装置は、
前記ロボットが前記機構によって前記被撮影物を動かすことができない場合は、前記第２ロボットに対して前記手順および前記指示を送信する
ことを特徴とする物体認識システム。
【請求項４】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって、
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識システムは、
前記環境カメラが撮影した画像および前記ロボットが撮影した画像を用いて前記情報処理装置が認識した物体についての情報を格納するデータベースをさらに備え、
前記情報処理装置は、
前記空間中に新たに物体が置かれた場合に、前記環境カメラが撮影した画像を用いて前記新たに置かれた物体を認識し、
前記データベースから前記新たに置かれた物体よりも過去に前記空間中に置かれた前記被撮影物についての情報を取り出し、
前記過去に置かれた被撮影物についての情報と前記新たに置かれた物体についての情報を用いて、前記過去に置かれた被撮影物と前記新たに置かれた物体との間の配置関係を算出し、
前記機構が前記新たに置かれた物体を動かすことができる範囲のなかから、前記情報処理装置が指定した視野範囲で前記ロボットが前記被撮影物を撮影することができる位置を、前記配置関係を用いて算出し、
前記算出した位置に移動するように前記ロボットへ指示する
ことを特徴とする物体認識システム。
【請求項５】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって、
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識システムは、
前記環境カメラが撮影した画像および前記ロボットが撮影した画像を用いて前記情報処理装置が認識した物体についての情報を格納するデータベースをさらに備え、
前記情報処理装置は、
前記空間中に新たに物体が置かれた場合に、前記環境カメラが撮影した画像を用いて前記新たに置かれた物体を認識し、
前記データベースから前記新たに置かれた物体よりも過去に前記空間中に置かれた前記被撮影物についての情報を取り出し、
前記過去に置かれた被撮影物についての情報と前記新たに置かれた物体についての情報を用いて、前記過去に置かれた被撮影物と前記新たに置かれた物体との間の配置関係を算出し、
前記新たに置かれた物体が、前記ロボットから見て前記被撮影物を隠す位置に置かれている場合は、前記情報処理装置が指定した視野範囲で前記ロボットが前記被撮影物を撮影することができる位置まで、前記機構を用いて前記新たに置かれた物体を動かすように前記ロボットへ指示する
ことを特徴とする物体認識システム。
【請求項６】
前記情報処理装置は、
前記新たに置かれた物体が複数存在する場合は、新たな前記被撮影物が置かれた場合にその外観が前記カメラまたは前記ロボットから見える範囲を最大化するような位置へ、前記機構を用いて前記複数の新たに置かれた物体をそれぞれ移動させるよう前記ロボットへ指示する
ことを特徴とする請求項５記載の物体認識システム。
【請求項７】
前記情報処理装置は、
前記環境カメラが前記被撮影物を撮影する際に前記新たに置かれた物体が前記被撮影物の外観を隠す位置に存在する場合、
前記算出された配置関係に基づき、前記環境カメラから見て前記被撮影物の外観が見える位置まで、前記機構を用いて前記新たに置かれた物体を移動させるように前記ロボットへ指示する
ことを特徴とする請求項５記載の物体認識システム。
【請求項８】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって、
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識システムは、
前記情報処理装置が出力するメッセージを提示する提示部と、
前記メッセージに対する応答を受け取る通知部と、
をさらに備え、
前記情報処理装置は、
前記環境カメラまたは前記ロボットが前記被撮影物を撮影する際に前記被撮影物の外観を隠す位置に障害物が置かれている場合、その旨の前記メッセージを前記提示部に提示させ、
前記障害物を除去した旨の前記応答を前記通知部が受け取ると、前記環境カメラまたは前記ロボットを用いて前記被撮影物を改めて撮影する
ことを特徴とする物体認識システム。
【請求項９】
前記情報処理装置は、
前記環境カメラが撮影した画像に基づき、前記機構が前記被撮影物を前記ロボットに対して正対させるために必要な回転量を示す回転パラメータを算出し、
前記回転パラメータを用いて前記被撮影物を動かして前記被撮影物を撮影するように前記ロボットへ指示することにより、前記被撮影物の正面画像を取得する
ことを特徴とする請求項１から８のいずれか１項記載の物体認識システム。
【請求項１０】
前記情報処理装置は、
前記環境カメラが撮影した画像に基づき、前記被撮影物の撮影数が不足している撮影方向を算出し、その撮影方向から前記被撮影物を撮影することができる位置に前記ロボットを移動させる
ことを特徴とする請求項１から９のいずれか１項記載の物体認識システム。
【請求項１１】
被撮影物の周辺に移動して前記被撮影物を撮影し、指示にしたがって物体を動かす機構を備えたロボットに対して、動作指示を送信するロボット動作決定部と、
前記被撮影物周辺の空間を撮影する環境カメラから撮像画像を処理する環境カメラ画像処理部と、
前記ロボットが撮影した画像を処理するロボットカメラ画像処理部と、
を備えた物体認識装置であって、
前記環境カメラ画像処理部は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記ロボット動作決定部は、
前記環境カメラ画像処理部が認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットカメラ画像処理部は、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識装置は、
前記環境カメラが撮影した画像および前記ロボットが撮影した画像を用いて認識した物体についての情報を格納するデータベースをさらに備え、
前記環境カメラ画像処理部は、
前記空間中に新たに物体が置かれた場合に、前記環境カメラが撮影した画像を用いて前記新たに置かれた物体を認識し、
前記データベースから前記新たに置かれた物体よりも過去に前記空間中に置かれた前記被撮影物についての情報を取り出し、
前記過去に置かれた被撮影物についての情報と前記新たに置かれた物体についての情報を用いて、前記過去に置かれた被撮影物と前記新たに置かれた物体との間の配置関係を算出し、
前記ロボット動作決定部は、
前記機構が前記新たに置かれた物体を動かすことができる範囲のなかから、指定した視野範囲で前記ロボットが前記被撮影物を撮影することができる位置を、前記配置関係を用いて算出し、
前記算出した位置に移動するように前記ロボットへ指示する
ことを特徴とする物体認識装置。
【請求項１２】
被撮影物の周辺に移動して前記被撮影物を撮影し、指示にしたがって物体を動かす機構を備えたロボットに対して、動作指示を送信するロボット動作決定部と、
前記被撮影物周辺の空間を撮影する環境カメラから撮像画像を処理する環境カメラ画像処理部と、
前記ロボットが撮影した画像を処理するロボットカメラ画像処理部と、
を備えた物体認識装置であって、
前記環境カメラ画像処理部は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記ロボット動作決定部は、
前記環境カメラ画像処理部が認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットカメラ画像処理部は、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識装置は、
前記環境カメラが撮影した画像および前記ロボットが撮影した画像を用いて前記情報処理装置が認識した物体についての情報を格納するデータベースをさらに備え、
前記環境カメラ画像処理部は、
前記空間中に新たに物体が置かれた場合に、前記環境カメラが撮影した画像を用いて前記新たに置かれた物体を認識し、
前記データベースから前記新たに置かれた物体よりも過去に前記空間中に置かれた前記被撮影物についての情報を取り出し、
前記過去に置かれた被撮影物についての情報と前記新たに置かれた物体についての情報を用いて、前記過去に置かれた被撮影物と前記新たに置かれた物体との間の配置関係を算出し、
前記ロボット動作決定部は、
前記新たに置かれた物体が、前記ロボットから見て前記被撮影物を隠す位置に置かれている場合は、指定した視野範囲で前記ロボットが前記被撮影物を撮影することができる位置まで、前記機構を用いて前記新たに置かれた物体を動かすように前記ロボットへ指示する
ことを特徴とする物体認識装置。
【請求項１３】
被撮影物の周辺に移動して前記被撮影物を撮影し、指示にしたがって物体を動かす機構を備えたロボットに対して、動作指示を送信するロボット動作決定部と、
前記被撮影物周辺の空間を撮影する環境カメラから撮像画像を処理する環境カメラ画像処理部と、
前記ロボットが撮影した画像を処理するロボットカメラ画像処理部と、
を備えた物体認識装置であって、
前記環境カメラ画像処理部は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記ロボット動作決定部は、
前記環境カメラ画像処理部が認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットカメラ画像処理部は、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識装置は、
メッセージを提示する提示部と、
前記メッセージに対する応答を受け取る通知部と、
をさらに備え、
前記提示部は、
前記環境カメラが前記被撮影物を撮影する際に前記被撮影物の外観を隠す位置に障害物が置かれている場合、その旨の前記メッセージを提示し、
前記環境カメラ画像処理部は、
前記障害物を除去した旨の前記応答を前記通知部が受け取ると、前記環境カメラを用いて前記被撮影物を改めて撮影する
ことを特徴とする物体認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを活用して実世界空間内の物体を認識する技術に関する。
【背景技術】
【０００２】
近年、外部環境に存在する物体を認識する研究が盛んである。例えば下記特許文献１では、可動部があり、外部環境中に存在する物体の視覚的特徴を自律的に学習するロボット装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１２８９５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実世界の環境において、物体は様々な場所に多数置かれる。例えば、認識対象の物体が机の端に置かれており、特許文献１に記載されるロボットによって当該物体を認識する場合を考える。
【０００５】
特許文献１に示される方式では、ロボットの可動部を接触させて学習対象となる物体を動かして時系列の物体領域画像を抽出し、その時系列の物体領域画像の各々から特徴量群を抽出し、その特徴量を保持することにより、環境中の物体を精度よく自律的に学習することを図っている。しかし、ロボットの可動部を認識対象物体に接触させたことにより認識対象物体が机から落下し、ロボットに搭載されたカメラで認識対象物体を撮影できなくなる可能性がある。すなわち、認識対象物体を的確に撮影するために当該物体をロボットによって動かした結果、却って認識性能が低下する可能性がある。
【０００６】
また、認識対象物体の上に認識対象物体以外の物体が乗っている状況を考える。この状況においてロボットが認識対象物体を動かしても認識対象物体以外の物体が動かない場合は、特許文献１記載の方法では物体の外観の一部が欠損した画像しか得られず、認識性能が低下してしまう。
【０００７】
本発明は、上記のような課題を解決するためになされたものであり、認識対象物体の状態を客観的に把握し、その状態に適した動作をロボットに実施させて物体認識性能を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る物体認識システムは、被撮影物の周辺を撮影する環境カメラの撮像画像に基づき被撮影物の状態を把握し、その状態にしたがって被撮影物を動かすようにロボットへ指示する。
【発明の効果】
【０００９】
本発明に係る物体認識システムによれば、ロボットとは別に設置された環境カメラによって被撮影物の状態を客観的に認識し、これにしたがってロボットに動作指示を送信するので、認識対象空間内に様々な状態で配置された物体を高い認識率で認識することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１に係る物体認識システム１０００の構成を示すブロック図である。
【図２】カメラ１０１が撮影した２次元画像上の点と認識対象空間の３次元座標との間の関係を示す図である。
【図３】地図・物体情報データベース１１１の構成を示す図である。
【図４】環境カメラ画像処理部１１２の機能ブロック図である。
【図５】環境カメラ画像処理部１１２がカメラ１０１から得た動画像を用いて認識対象の物体を認識する処理フロー図である。
【図６】ロボット撮像方法決定部１１３の機能ブロック図である。
【図７】物体配置関係算出部１１３１の処理フロー図である。
【図８】移動目標算出部１１３２の処理を説明する図である。
【図９】移動目標算出部１１３２が図８においてロボット１２０の移動目標を算出するフローチャートである。
【図１０】腕部動作決定部１１３３の処理フロー図である。
【図１１】ロボット１２０が目標位置に移動し、腕部を認識対象物体に接触させて動かしながら認識対象物体を撮像する処理のフローチャートである。
【図１２】ロボットカメラ画像処理部１１４の機能ブロック図である。
【図１３】実施形態２における移動目標算出部１１３２の処理を説明する図である。
【図１４】移動目標算出部１１３２が図１３においてロボット１２０の移動目標を算出するフローチャートである。
【図１５】実施形態３におけるロボット撮像方法決定部１１３の機能ブロック図である。
【図１６】実施形態３における移動目標算出部１１３２の処理を説明する図である。
【図１７】移動目標算出部１１３２が図１６においてロボット１２０の移動目標を算出するフローチャートである。
【図１８】実施形態３における腕部動作決定部１１３３の処理フロー図である。
【図１９】環境カメラ１０１を用いて認識対象物を撮影する際に、障害物１２０４が視野を遮っている様子を示す図である。
【図２０】実施形態４に係る物体認識システム１０００のうち情報処理装置１１０の周辺構成を抜粋した構成図である。
【図２１】通知処理部１１５の機能ブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を、図面を用いて説明する。なお、各図面において、同一の符号が付されている構成要素は同一の機能を有することとする。
【００１２】
＜実施の形態１＞
図１は、本発明の実施形態１に係る物体認識システム１０００の構成を示すブロック図である。物体認識システム１０００は、ある空間に新たに置かれた物体を認識するためのシステムであり、Ｎ台のカメラ１０１、通信部１０２、情報処理装置１１０、ロボット１２０を備える。以降の説明では、物体認識システム１０００が対象とする空間を認識対象空間と表記し、物体認識システム１０００が認識対象とする物体を認識対象物体と表記する。
【００１３】
カメラ１０１は、認識対象空間を俯瞰的に撮影する環境カメラであり、カメラを支える雲台が左右（パン）や上下（チルト）方向に回転移動し、さらにレンズの画角（ズーム）を変更することができる。カメラ１０１のカメラパラメータは、あらかじめ求めておく。カメラパラメータの求め方は例えば下記参考文献１に記載されている。このカメラパラメータを用いて、画像上の任意の点の座標から、認識対象空間における３次元座標を計算することができる。図１には３組のカメラを示しているが、少なくとも１個のカメラがあればよい。
［参考文献１］Youji FUKADA, "Calculation of Camera Parameters Utilizing Rotation Mechanism", The Transactions of the IEICE Vol.J76-D-II, No.9, pp.1922-1931。
【００１４】
通信部１０２は、情報処理装置１１０とロボット１２０の間でデータを送受信する。例えば、情報処理装置１１０が決定した被撮影物の撮像方法と動作指示をロボット１２０に送信し、ロボット１２０がカメラを含む各種センサを用いて取得したデータを受信して情報処理装置１１０へ引き渡す。
【００１５】
情報処理装置１１０は、カメラ１０１とロボット１２０が撮影した画像を用いて認識対象物を認識する物体認識装置であり、地図・物体情報データベース１１１、環境カメラ画像処理部１１２、ロボット撮像方法決定部１１３、ロボットカメラ画像処理部１１４を備える。これら機能部の詳細については後述する。
【００１６】
環境カメラ画像処理部１１２、ロボット撮像方法決定部１１３、ロボットカメラ画像処理部１１４は、これらの機能を実現する回路デバイスなどのハードウェアを用いて実現することもできるし、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの演算装置とその動作を規定するソフトウェアを用いて実現することもできる。
【００１７】
地図・物体情報データベース１１１は、データを保持するデータファイルとこれを記憶するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶装置を用いて実現することができる。
【００１８】
ロボット１２０は、被撮影物の近傍に移動し、必要に応じて被撮影物を動かした上で撮影する。ロボット１２０は、ロボットカメラ１２１〜ロボットカメラ１２２、通信部１２３、制御部１２４、移動機構１２５、腕部機構１２６、地図・物体情報データベース１２７を備える。
【００１９】
ロボットカメラ１２１〜ロボットカメラ１２２は、物体を撮像するカメラである。図１では２組のロボットカメラを示しているが、少なくとも１個のロボットカメラがあればよい。通信部１２３は、通信部１０２との間でデータを送受信する。制御部１２４は、ロボット１２０が備える各機能部を制御する。移動機構１２５の制御については特許文献２記載の技術を用いればよい。腕部機構１２６の制御については、特許文献１記載の技術を用いればよい。移動機構１２５は、ロボット１２０自体を移動させる機構であり、例えば特許文献２記載の構成を用いればよい。腕部機構１２６は、物体を動かす機能を有する腕機能であり、例えば特許文献１記載の構成を用いればよい。地図・物体情報データベース１２７は、地図・物体情報データベース１１１と同一の構成を有する。例えば地図・物体情報データベース１１１の全部または一部のコピーを地図・物体情報データベース１２７とすればよい。ロボット１２０の構成はこれに限られるものではなく、移動機構、撮像機能、物体を動かす可動機構を備えていればよい。
【００２０】
図２は、カメラ１０１が撮影した２次元画像上の点と認識対象空間の３次元座標との間の関係を示す図である。カメラパラメータをあらかじめ求めておくことにより、カメラ１０１の撮像画像に基づき物体の３次元座標を算出することができる。
【００２１】
図３は、地図・物体情報データベース１１１の構成を示す図である。地図・物体情報データベース１１１は、認識対象空間に存在するＬ個の構造物についての情報と、認識対象空間に既に置かれたＮ個の物体についての情報を保持する。構造物とは、認識対象空間を仕切る壁などを指す、原則的として移動させることができない物を指す。物体とは、構造物以外の全ての物であり、認識対象空間で移動が生じ得るもの全てを指す。
【００２２】
地図・物体情報データベース１１１は、各構造物にＩＤを付加し、構造物１〜構造物Ｌとして管理する。ここでは記載の便宜上、構造物番号をＩＤとして代用した。地図・物体情報データベース１１１は、構造物情報として、構造物名、床平面座標および高さを互いに関連付けて格納する。床平面座標および高さは、図２に例示した認識対象空間の３次元座標に基づく。
【００２３】
地図・物体情報データベース１１１はさらに、各物体にＩＤを付加し、物体１〜物体Ｎとして管理する。ここでは記載の便宜上、物体番号をＩＤとして代用した。地図・物体情報データベース１１１は、物体それぞれに対して、（ａ）Ｐ個の物体名の候補を表す物体名候補１〜物体名候補Ｐとその信頼度１〜信頼度Ｐを関連付けた情報、（ｂ）認識対象空間上における物体の重心座標を示す重心座標とその信頼度が関連付けられた情報、（ｃ）ワイヤフレームモデルやソリッドモデルなどの３次元形状モデルとその信頼度が関連付けられた情報、（ｄ）認識対象空間上における物体の配置状態を示す配置状態、（ｅ）物体が置かれた時刻を示す配置時刻、（ｆ）物体の周辺に配置されたＭ個の物体に関する情報を示す周辺物体１〜周辺物体Ｍを関連付けた情報、をそれぞれ格納する。地図・物体情報データベース１１１はさらに、周辺物体それぞれにＩＤを付加し、認識対象物体と周辺物体との間の重心間距離を関連付けて格納する。重心座標、３次元形状データおよび周辺物体１〜周辺物体Ｍの重心間距離１〜重心間距離Ｍは、図２に例示した認識対象空間の３次元座標に基づく。
【００２４】
物体についての情報として、後述の環境カメラ画像処理部１１２から送信された画像をさらに関連付けて格納してもよい。これにより、情報処理装置１１０は地図・物体情報データベース１１１から所望の物体を検索し、その結果得られた物体の画像をディスプレイなどの表示装置に表示することができる。さらに、輪郭情報、テクスチャ情報、特徴量を関連付けて格納してもよい。これにより、画像をクエリとした検索機能を提供することができる。
【００２５】
図４は、環境カメラ画像処理部１１２の機能ブロック図である。環境カメラ画像処理部１１２は、画像入力部１１２１、物体領域抽出部１１２２、３次元位置推定部１１２３、物体認識部１１２４、３次元形状推定部１１２５を備える。
【００２６】
画像入力部１１２１は、Ｎ台のカメラ１０１のそれぞれから動画像のフレーム列が入力される。画像入力部１１２１に、符号化された符号化ストリームが入力された場合、画像入力部１１２１は、入力された符号化ストリームを復号し、復号されたストリームの中から、動画像のフレーム画像を抽出する。
【００２７】
物体領域抽出部１１２２は、画像入力部１１２１が取得したフレーム画像またはフレーム画像集合を解析し、画像上の座標のうち認識対象空間に新たに置かれた物体の場所を示す領域を算出し、３次元位置推定部１１２３と物体認識部１１２４に通知する。物体領域抽出部１１２２は、例えば下記参考文献２に記載されたSegmentationによる方法や参考文献３に記載された背景差分による方法を用いて、物体が置かれている領域を算出する。
［参考文献２］Pablo Arbela´ez et al. "Contour Detection and Hierarchical Image Segmentation ", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.33, No.5, May 2011
［参考文献３］Atsushi HASHIMOTO et al. "TexCut: Background Subtraction by Texture Comparison on Graph Cut", The Transactions of the IEICE D, Vol.J94-D, No.6, pp1007-1016, 2011。
【００２８】
３次元位置推定部１１２３は、あらかじめ求めておいたカメラ１０１のカメラパラメータを用いて、物体領域抽出部１１２２が算出した座標を認識対象空間の３次元座標に変換する。さらにその３次元座標の重心座標を算出し、その信頼度とともに地図・物体情報データベース１１１とロボット撮像方法決定部１１３へ出力する。３次元位置推定部１１２３は、例えば参考文献１に記載された方法を用いることができる。また、３次元位置推定部１１２３は、物体の配置状態を「認識対象空間に存在」する旨の値にセットして、地図・物体情報データベース１１１に格納する。
【００２９】
３次元形状推定部１１２５は、画像入力部１１２１が取得したフレーム画像またはフレーム画像集合、物体領域抽出部１１２２が抽出した領域画像または画像集合を解析して物体の３次元構造を復元し、得られた３次元形状モデルをその信頼度とともに地図・物体情報データベース１１１とロボット撮像方法決定部１１３に出力する。３次元形状推定部１１２５は、例えば下記参考文献４に記載されたStructure from Motionによる方法や参考文献５に記載されたステレオカメラによる方法を用いることができる。３次元形状推定部１１２５は、物体領域抽出部１１２２から得た物体の場所を示す領域に場所を絞って処理を実施することにより、計算時間を抑えることができる。
［参考文献４］Richard A. Newcombe et al. "Live dense reconstruction with a single moving camera", IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2010, pp1498-1505, 2010
［参考文献５］Kenichi KANATANI, "3-D Reconstruction from Two Uncalibrated Views and Its Reliability Evaluation", Transactions of IPSJ, Vol.42, No.SIG 6(CVIM 2), pp.1-8, 2001。
【００３０】
物体認識部１１２４は、物体領域抽出部１１２２から得た物体領域を解析し、物体名の候補を抽出する。物体認識部１１２４は、例えば下記参考文献６に記載された方法を用いることができる。
［参考文献６］Hideki NAKAYAMA et al. "Image Annotation and Retrieval Method for Large-Scale Web Images", The Transactions of the IEICE D, Vol.J93-D, No.8, pp1267-1280, 2010。
【００３１】
環境カメラ画像処理部１１２は、物体認識部１１２４が抽出した物体名をクエリとしてＷｅｂを検索し、Ｗｅｂ上に存在する３次元形状モデルを取得することもできる。また、事前に３次元形状モデルと物体名を関連付けたデータベースを用意しておき、物体名をクエリとした検索で３次元形状モデルを取得することもできる。これらの場合、３次元形状推定部１１２５はなくても構わない。
【００３２】
図５は、環境カメラ画像処理部１１２がカメラ１０１から得た動画像を用いて認識対象の物体を認識する処理フロー図である。以下、図５の各ステップについて説明する。
（図５：ステップＳ５０１〜Ｓ５０２）
画像入力部１１２１は、カメラ１０１から動画像を取得する（Ｓ５０１）。物体領域抽出部１１２２は、画像入力部１１２１が取得した動画像を用いて、画像上の座標のうち認識対象空間に新たに置かれた物体の場所を示す領域を算出する（Ｓ５０２）。
（図５：ステップＳ５０３〜Ｓ５０５）
３次元位置推定部１１２３は、物体領域抽出部１１２２から得た物体領域の座標を認識対象空間の３次元座標に変換する（Ｓ５０３）。３次元形状推定部１１２５は、画像入力部１１２１から得た動画像と物体領域抽出部１１２２から得た物体領域から、物体の３次元構造を復元する（Ｓ５０４）。物体認識部１１２４は、物体領域抽出部１１２２から得た物体領域を解析し、物体名の候補を抽出する（Ｓ５０５）。ステップＳ５０３〜Ｓ５０５は、並列的に実行してもよいし順次実行してもよい。
【００３３】
ロボット撮像方法決定部１１３は、認識対象空間に既に配置された物体の３次元位置および３次元構造を地図・物体情報データベース１１１から取り出し、３次元位置推定部１１２３から得る認識対象物体の重心の３次元位置と、３次元形状推定部１１２５から得る認識対象物体の３次元構造を用いて、認識対象物体と既に認識対象空間に既に配置された物体との位置関係を計算し、ロボット１２０が認識対象物体の外観全体を撮像できる方法を算出する。
【００３４】
図６は、ロボット撮像方法決定部１１３の機能ブロック図である。ロボット撮像方法決定部１１３は、物体配置関係算出部１１３１、移動目標算出部１１３２、腕部動作決定部１１３３、ロボット制御指示生成部１１３４を備える。
【００３５】
物体配置関係算出部１１３１は、認識対象物体と認識対象空間に既に配置されたその他の物体との間の配置関係および認識対象物体の配置状態を算出する。物体配置関係算出部１１３１は、この配置関係と配置状態を地図・物体情報データベース１１１に格納し、物体の配置状態および周辺物体１〜周辺物体Ｍについての情報を更新する。また、物体配置関係算出部１１３１は、認識対象物体の周辺にある物体の情報を移動目標算出部１１３２に出力する。また、物体配置関係算出部１１３１は、認識対象物体の配置状態を腕部動作決定部１１３３に出力する。
【００３６】
図７は、物体配置関係算出部１１３１の処理フロー図である。物体配置関係算出部１１３１は、図２に例示した３次元空間の座標に基づき、認識対象空間内の各物体の配置関係を算出する。以下、図７の各ステップについて説明する。
（図７：ステップＳ７０１）
物体配置関係算出部１１３１は、地図・物体情報データベース１１１内に存在する物体１〜物体Ｎの重心座標と、３次元位置推定部１１２３から得た認識対象物体の重心座標との間の３次元距離を算出する。
（図７：ステップＳ７０２）
物体配置関係算出部１１３１は、物体１〜物体Ｎのうち、ステップＳ７０１で算出した３次元距離が所定閾値より小さい物体については、認識対象物体の周辺に配置されていると判定し、任意のＩＤ、重心間距離を関連付けて地図・物体情報データベース１１１に格納する。さらに、各物体に関する情報を地図・物体情報データベース１１１から取り出して移動目標算出部１１３２に出力する。以降、地図・物体情報データベース１１１内に存在する物体１〜物体Ｎのうち、認識対象物体の周辺に配置されたと判定されたＭ個の物体を周辺物体１〜周辺物体Ｍと表記する。
【００３７】
（図７：ステップＳ７０３〜Ｓ７０５の概要）
物体配置関係算出部１１３１は、認識対象物体がロボットの腕部などと接触したときに現在位置から大きく移動するか否かを判定する。ここでは、認識対象物体が他の物体上の端部に配置されている場合、ロボットの腕部等が接触すると落下して位置が大きく変動する場合を例に説明する。具体的には、認識対象物体がＸ−Ｚ平面である物体に接触している、つまり認識対処物体がある物体上に配置されており、さらに、認識対処物体がＸ−Ｚ平面で接触している物体の端に配置されている場合は、ロボットの腕部などが接触したとき現在位置から大きく移動すると判定する。
（図７：ステップＳ７０３）
物体配置関係算出部１１３１は、周辺物体１〜周辺物体Ｍと認識対象物体のそれぞれに対して、３次元形状モデルを用いて、物体を囲む直方体を算出する。この直方体は、各物体の端部を簡易的に表している。
（図７：ステップＳ７０４）
物体配置関係算出部１１３１は、周辺物体１〜周辺物体Ｍのなかで、当該周辺物体を囲む直方体が認識対象物体を囲む直方体とＹ軸上で接触または重なっているものを求める。重なっている周辺物体については認識対象物体と接触していると判定し、後続の処理を実行する。以降、認識対象物体と接触していると判定された周辺物体を、接触物体１〜接触物体Ｒと表記する。
（図７：ステップＳ７０５）
物体配置関係算出部１１３１は、接触物体１〜接触物体Ｒそれぞれに対して、認識対象物体が接触物体上の端部に配置されているか否かを判定する。具体的には、認識対象物体と接触物体１〜接触物体Ｒそれぞれについて、ステップＳ７０３で求めた直方体をＸ−Ｚ平面上で切り出した部分平面を取り出す。認識対象物体の部分平面と接触物体の部分平面それぞれの各辺同士の距離が所定閾値より小さいものが存在する場合は、認識対象物体は接触物体の端部に配置されていると判定し、地図・物体情報データベース１１１の配置状態を「接触により移動の恐れある状態で存在」している旨の値にセットする。
【００３８】
（図７：ステップＳ７０３〜Ｓ７０５：補足その１）
認識対象物体がロボットの腕部などと接触した場合に現在位置から大きく移動する状況は、本例に限らない。例えば認識対象物体が球状をしている場合は、認識対象物体の周辺物体１〜周辺物体Ｍに関らずロボットの腕部などが接触することによって現在位置から大きく移動する恐れがあるため、地図・物体情報データベース１１１の配置状態を無条件に「接触により移動の恐れある状態で存在」としてもよい。
（図７：ステップＳ７０３〜Ｓ７０５：補足その２）
本フローチャートでは、認識対象物体の配置状態を「接触により移動の恐れある状態で存在」またはそれ以外の２つの状態のみを考慮したが、認識対象物体の配置状態はこれに限られるものではない。例えば、認識対象物体の配置状態として、接触物体の端からの距離に応じた連続値を地図・物体情報データベース１１１登録するようにしてもよい。この場合、腕部動作決定部１１３３は認識対象物体の配置状態の連続値に応じて、腕部を認識対象物体へ接触させる面積やスピードなどを設定する。これにより、ロボット１２０は認識対象物体の配置状態に応じて連続的な接触操作をすることができる。
【００３９】
移動目標算出部１１３２は、物体配置関係算出部１１３１から認識対象物体の周辺に存在する物体の情報を受け取り、ロボット１２０が認識対象物体の外観を撮影できる位置を算出する。具体的な手法は後述の図８〜図９を用いて説明する。
【００４０】
図８は、移動目標算出部１１３２の処理を説明する図である。図８（ａ）は上面図、図８（ｂ）は斜視図である。図８において、物体８０４の上に認識対象物体が置かれている。認識対象物体の重心を８０２とする。ロボット１２０は、物体８０４の上面に登ることはできないと仮定する。ロボット１２０の腕部が対象物に接触するときの対象物とロボット１２０の間の距離をＲとする。ロボット１２０が認識対象物体を動かす場合、図８左図の円弧Ｃ１上のいずれかの位置に移動する必要がある。
【００４１】
図９は、移動目標算出部１１３２が図８においてロボット１２０の移動目標を算出するフローチャートである。以下、図９の各ステップについて説明する。
（図９：ステップＳ９０１）
移動目標算出部１１３２は、ロボット１２０が腕部を認識対象物体に接触させることができる、認識対象物体とロボット１２０との間の距離Ｒを算出する。
（図９：ステップＳ９０２）
移動目標算出部１１３２は、認識対象物体の重心８０２を中心とし、距離Ｒを半径とするＸ−Ｚ平面上の円を算出する。
【００４２】
（図９：ステップＳ９０３）
移動目標算出部１１３２は、ステップＳ９０２で算出した円上の各点のうち、認識対象物体の周辺にある物体（図８の例では物体８０４）を囲む立方体のＸ−Ｚ平面と重なる円弧Ｃ２、および重ならない円弧Ｃ１を算出する。
（図９：ステップＳ９０４）
移動目標算出部１１３２は、円弧Ｃ１のうち、ロボット１２０の現在位置から最も近い点をロボット１２０の移動目標に設定する。移動目標の設定は、円弧Ｃ１上の点であればどこまでも構わない。また、移動目標を円弧Ｃ１上の点に複数設定し、認識対象物体を複数回撮影するようにしてもよい。その場合、腕部動作決定部１１３３も後述の処理フローを移動回数実行するようにしてもよい。
【００４３】
腕部動作決定部１１３３は、物体配置関係算出部１１３１が算出した認識対象物体の配置状態を受け取り、ロボット１２０の腕部の動作を決定し、その動作指示をロボット１２０に送信する。具体的な手順は後述の図１０で説明する。
【００４４】
図１０は、腕部動作決定部１１３３の処理フロー図である。以下、図１０の各ステップについて説明する。
（図１０：ステップＳ１００１）
腕部動作決定部１１３３は、物体配置関係算出部１１３１が算出した認識対象物体の配置状態を、地図・物体情報データベース１１１から取得する。配置状態が「接触により移動の恐れある状態で存在」である場合はステップＳ１００２へ進み、それ以外であればステップＳ１００３へ進む。
（図１０：ステップＳ１００２）
腕部動作決定部１１３３は、ロボット１２０の腕部を認識対象物体に接触させることは不可と判断し、「腕部動作なし」を示すメッセージをロボット制御指示生成部１１３４に出力する。
（図１０：ステップＳ１００３）
腕部動作決定部１１３３は、ロボット１２０の腕部を認識対象物体に接触させることができると判断し、「腕部を認識対象物体へ接触させて動作」を示すメッセージをロボット制御指示生成部１１３４に出力する。
【００４５】
ロボット制御指示生成部１１３４は、認識対象物体の重心の３次元位置、移動目標算出部１１３２が算出した移動目標、腕部動作決定部１１３３が決定した腕部動作指示に基づき、ロボット１２０の制御部１２４が解釈できる動作指示メッセージを生成し、ロボット１２０に送信する。
【００４６】
図１１は、ロボット１２０がロボット撮像方法決定部１１３から送信されたメッセージにしたがって、目標位置に移動し、腕部を認識対象物体に接触させて動かしながら認識対象物体を撮像する処理のフローチャートである。以下、図１１の各ステップについて説明する。
（図１１：ステップＳ１１０１）
制御部１２４は、ロボット撮像方法決定部１１３から送信されたメッセージを受信し、そのメッセージから、認識対象物体の３次元位置、ロボット１２０の移動目標位置、ロボット１２０の腕部動作指示を抽出する。
（図１１：ステップＳ１１０２〜Ｓ１１０３）
制御部１２４は、移動機構１２５を制御し、ステップＳ１１０１で抽出した目標位置にロボット１２０を移動させる（Ｓ１１０２）。制御部１２４は、移動機構１２５を制御し、ステップＳ１１０１で抽出した認識対象物体の重心に向かう方向にロボット１２０を方向転換させ、ロボット１２０が備えるカメラ画像内に認識対象物体が入り、かつ腕部機構１２６を用いて認識対象物体を動かせるように姿勢を調整する（Ｓ１１０３）。
【００４７】
（図１１：ステップＳ１１０４）
ステップＳ１１０１で抽出した腕部動作指示が「腕部を認識対象物体へ接触させて動作」である場合はステップＳ１１０５へ進み、それ以外であればステップＳ１１０６へスキップする。
（図１１：ステップＳ１１０５）
制御部１２４は、腕部機構１２６を制御し、腕部を動作させて認識対象物体に接触させて動かす。例えば、ロボット１２０が認識対象物体の所望箇所を撮影できるように、認識対象物の位置や向きを腕部によって調整する。具体的な手法は、例えば特許文献１に記載されている手法を用いればよい。
（図１１：ステップＳ１１０６）
制御部１２４は、ロボットカメラ１２１〜１２２を起動して画像を撮影する。制御部１２４は、ロボットカメラ１２１〜１２２が撮影した動画像をロボットカメラ画像処理部１１４に送信する。また、動画像を受信できるようにロボット画像処理部１１４へその旨のメッセージを送信する。
【００４８】
図１２は、ロボットカメラ画像処理部１１４の機能ブロック図である。ロボットカメラ画像処理部１１４は、画像入力部１１４１、物体領域抽出部１１４２、３次元位置推定部１１４３、物体認識部１１４４、３次元形状推定部１１４５を備える。ロボット画像処理部１１４は、ロボット１２０上に設けてもよい。
【００４９】
画像入力部１１４１は、ロボット１２０からメッセージを受信した後に動画像のフレーム列を受信する。画像入力部１１４１に、符号化された符号化ストリームが入力された場合、画像入力部１１４１は、入力された符号化ストリームを復号し、復号されたストリームの中から、動画像のフレーム画像を抽出する。
【００５０】
物体領域抽出部１１４２は、物体領域抽出部１１２２と同様の機能を有する。あるいは特許文献１記載のように動画像から動き領域画像を抽出し、動き領域画像から物体領域画像を抽出する方法を用いてもよい。
【００５１】
３次元位置推定部１１４３は、ロボット１２０の３次元位置と向きからロボットカメラ１２１〜１２２のカメラパラメータを算出し、そのカメラパラメータを用いて、物体領域抽出部１１４２が抽出した座標を認識対象空間の３次元座標に変換する。また、その３次元座標の重心座標を算出し、地図・物体情報データベース１１１に格納する。３次元位置推定部１１４３は、例えば参考文献１に記載された方法を用いることができる。３次元位置推定部１１４３の処理は、情報処理装置１１０が備える３次元位置推定部１１２３の推定結果の信頼性が低いと判断された場合のみ、これを補完するために実行するようにしてもよい。
【００５２】
３次元形状推定部１１４５は、３次元形状推定部１１２５と同様の機能を有する。３次元形状推定部１１４５の処理は、３次元形状推定部１１２５の推定結果の信頼性が低いと判断された場合のみ、これを補完するために実行するようにしてもよい。
【００５３】
物体認識部１１４４は、物体認識部１１２４と同様の機能を有する。物体認識部１１４４の処理は、物体認識部１１２４の推定結果の信頼性が低いと判断された場合のみ、これを補完するために実行するようにしてもよい。
【００５４】
ロボットカメラ画像処理部１１４がロボット１２０から送られた動画像を用いて物体を認識する処理フローは、図５と同様である。
【００５５】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係る物体認識システム１０００は、認識対象物体とその周辺物体との間の配置関係を、認識対象空間を俯瞰的に撮影する環境カメラによって客観的に（ロボット１２０よりも広範な視野範囲で）把握し、これに基づき、ロボット１２０の腕部によって認識対象物体を動かす手順を決定する。これにより、ロボット１２０は認識対象物体の外観を確実に撮影できるように、認識対象物体を動かすことができるので、認識性能を向上させることができる。なお、必ずしも認識対象物体の外観全体を撮影することができる必要はなく、所望の範囲内で撮影できればよい。以下の実施形態においても同様である。
【００５６】
本実施形態１において、３次元形状推定部１１２５は、認識対象物体について撮像数が不足している撮像方向がある否かを判断し、移動目標算出部１１３２は撮像数が不足している向きで認識対象物体を撮影できる方向に、ロボット１２０の移動目標を設定するようにしてもよい。これにより撮像不足の画像が取得でき、認識精度が向上する。また、撮像した画像を用いて認識対象空間内の３次元形状モデルを作成する場合は、その信頼性が向上する。撮像不足の方向があるか否かを判定する方法は、例えば特開２０１１−１９８３４９号公報に記載の技術を用いることができる。
【００５７】
物体認識においては、認識対象物体を正対させて撮像した画像をもとに学習データを作成している場合が多い。そこで本実施形態１において、３次元形状推定部１１２５は、認識対象物体の回転量を示す回転パラメータを推定し、その信頼度とともに地図・物体情報データベース１１１上で管理するようにしてもよい。腕部動作決定部１１３３は、その回転パラメータを用いて、ロボット１２０が認識対象物体をロボットカメラ１２１〜１２２に対して正対させるように腕部を動作させるメッセージを生成する。これにより、ロボット１２０の腕部機構１２６を認識対象物体に接触させて認識対象物体を正対した動画像を撮像することができる。その結果、物体認識の成功率を向上させることができる。
【００５８】
また、何らかの理由でロボット１２０の腕部により認識対象物体を移動させることができない場合は、ロボット１２０と同様の機能を有する第２ロボットを用意し、ロボット撮像方法決定部１１３から第２ロボットに対して命令を出して、同様の処理を実施させてもよい。第２ロボットは、必ずしもロボット１２０と厳密に同じサイズ、機能、性能を有するものでなくともよい。例えば、腕部機構１２６の機能がロボット１２０とは異なりロボット１２０が動かすことができない物体であっても動かすことができるような第２ロボットを利用することが考えられる。
【００５９】
＜実施の形態２＞
本発明の実施形態２では、認識対象物体の周辺に、認識対象物を隠す障害物が存在しており、ロボット１２０はその障害物を避けて認識対象物を撮影することができる位置まで移動する動作例を説明する。本実施形態２に係る物体認識システム１０００は、移動目標算出部１１３２の処理フロー以外は実施形態１と同様であるため、以下では差異点を中心に説明する。
【００６０】
図１３は、本実施形態２における移動目標算出部１１３２の処理を説明する図である。図１３（ａ）は上面図、図１３（ｂ）は斜視図である。図８で説明した配置図に加えて、認識対象物体の周辺に障害物１２０４が置かれている。ロボット１２０は、認識対象物体の位置や向きを動かすことはできるが、障害物１２０４を動かすことはできないと仮定する。この場合ロボット１２０は、認識対象物体が障害物１２０４に隠れない位置（図１３の円弧Ｃ３上のいずれか）まで移動する必要がある。
【００６１】
図１４は、移動目標算出部１１３２が図１３においてロボット１２０の移動目標を算出するフローチャートである。以下、図１３の各ステップについて説明する。
（図１４：ステップＳ１４０１）
ステップＳ９０１からステップＳ９０３までは、図３と同様である。
（図１４：ステップＳ１４０２）
移動目標算出部１１３２は、円弧Ｃ１上の点の中で、認識対象物体の重心８０２に向かう直線が障害物１２０４を囲む立方体のＸ−Ｚ平面と重なる点の集合Ｃ４と、重ならない点の集合Ｃ３を算出する。
（図１４：ステップＳ１４０３）
移動目標算出部１１３２は、円弧Ｃ３の中でロボット１２０の現在位置から最も近い位置をロボット１２０の移動目標に設定する。移動目標の設定は、円弧Ｃ３上の位置であればどこまでも構わない。
【００６２】
本実施形態２において、認識対象物体を腕部機構１２６によって動かさない場合、物体配置関係算出部１１３１は、図７に示すフローチャートのうちステップＳ７０１とＳ７０２のみを実行するようにしてもよい。その場合、腕部動作決定部１１３３のステップＳ１１０４を省略することもできる。さらにステップＳ１１０５を省略することもできる。
【００６３】
＜実施の形態２：まとめ＞
以上のように、本実施形態２に係る物体認識システム１０００は、認識対象空間内に認識対象物の他に新たな障害物１２０４が置かれた場合、環境カメラ１０１が撮影した画像に基づきこれら物体の配置関係を算出し、ロボット１２０から見て認識対象物体が障害物１２０４により隠れない位置までロボット１２０を移動させる。これにより、障害物１２０４が存在している場合でも、ロボット１２０は認識対象物体の外観を確実に撮像できるので、ロボット１２０による物体の認識性能が向上する。
【００６４】
＜実施の形態３＞
本発明の実施形態３では、実施形態２で説明した障害物１２０４を腕部機構１２６によって動かすことができる場合の動作例を説明する。本実施形態３に係る物体認識システム１０００は、移動目標算出部１１３２と腕部動作決定部１１３３の入出力および処理フローを除いて実施形態１と同様であるため、以下では差異点を中心に説明する。
【００６５】
図１５は、本実施形態３におけるロボット撮像方法決定部１１３の機能ブロック図である。移動目標算出部１１３２と腕部動作決定部１１３３の間の入力出力関係が実施形態１と異なる以外は、実施形態１におけるロボット撮像方法決定部１１３と同様である。
【００６６】
図１６は、本実施形態３における移動目標算出部１１３２の処理を説明する図である。図１６（ａ）はロボット１２０と認識対象物体の間の距離Ｒを示す図、図１６（ｂ）はロボット１２０と障害物１２０４の間の距離Ｒ２を示す図である。障害物１２０４の重心を１６０２とする。障害物１２０４を腕部機構１２６によって動かすことができる場合、ロボット１２０はまず腕部機構１２６が障害物１２０４まで届く距離Ｒ２まで移動して障害物１２０４を動かし、次に認識対象物体を所望の位置／角度に動かすことができる距離Ｒまで移動する。ロボット１２０の前者の移動先を第１移動目標とし、後者の移動先を第２移動目標とする。
【００６７】
図１７は、移動目標算出部１１３２が図１６においてロボット１２０の移動目標を算出するフローチャートである。以下、図１７の各ステップについて説明する。
（図１７：ステップＳ１７０１〜Ｓ１７０２）
移動目標算出部１１３２は、図９で説明したステップＳ９０１からステップＳ９０３（Ｓ１７０１）、および図１４で説明したステップＳ１４０２（Ｓ１７０２）を実行する。
（図１７：ステップＳ１７０３）
移動目標算出部１１３２は、障害物１２０４が存在する場合、障害物１２０４に関する情報を地図・物体情報データベース１１１から取り出し、腕部動作決定部１１３３に出力する。
【００６８】
（図１７：ステップＳ１７０４）
移動目標算出部１１３２は、認識対象物体を障害物１２０４に置き換えて、ステップＳ９０１からステップＳ９０３と同様の処理を実行し、円弧Ｃ５を算出する。
（図１７：ステップＳ１７０５）
移動目標算出部１１３２は、円弧Ｃ５のうち、ロボット１２０の現在位置から最も近い点を第１移動目標に設定する。第１移動目標の設定は、円弧Ｃ５上の点であればどこでも構わない。
（図１７：ステップＳ１７０６）
移動目標算出部１１３２は、円弧Ｃ３と円弧Ｃ４を合わせた円弧の中でロボット１２０の現在位置から最も近い位置を第２移動目標に設定する。第２移動目標の設定は、円弧Ｃ３と円弧Ｃ４を合わせた円弧上の位置であればどこでも構わない。
【００６９】
本実施形態３における腕部動作決定部１１３３は、移動目標算出部１１３２が算出した認識対象物体の周辺にある障害物１２０４の情報を受け取り、腕部の動作を決定し、ロボット１２０に送信する。詳細は後述の図１８で説明する。
【００７０】
図１８は、本実施形態３における腕部動作決定部１１３３の処理フロー図である。本フローチャートにおいて、ロボット１２０が障害物１２０４を動かす際に、障害物１２０４が物体８０４の上から落下しないようにすることを前提とする。以下、図１８の各ステップについて説明する。
（図１８：ステップＳ１８０１）
腕部動作決定部１１３３は、移動目標算出部１１３２から受け取った障害物１２０４の情報から配置状態を取り出す。その配置状態が「接触により移動の恐れある状態で存在」であればステップＳ１８０２へ進み、それ以外の場合はステップＳ１８０４へ進む。
（図１８：ステップＳ１８０２）
腕部動作決定部１１３３は、ロボット１２０の腕部を障害物１２０４に接触させることは不可と判断し、第１移動目標を円弧Ｃ３の中でロボット１２０の現在位置から最も近い位置に設定しなおし、第２移動目標を削除する。
【００７１】
（図１８：ステップＳ１８０３）
障害物１２０４を動かすことができない場合、障害物１２０４が邪魔になるので、認識対象物体を動かすこともできないと思われる。そこで腕部動作決定部１１３３は、「腕部動作なし」を示すメッセージをロボット制御指示生成部１１３４に出力する。
（図１８：ステップＳ１８０４）
腕部動作決定部１１３３は、腕部を障害物１２０４に接触させて動かすことができると判断し、障害物１２０４の移動先を、円弧Ｃ３と円弧Ｃ４を合わせた円弧と認識対象物体の重心８０２を結ぶ扇形領域以外の範囲に設定する。
【００７２】
（図１８：ステップＳ１８０５）
腕部動作決定部１１３３は、第１腕部動作として「腕部を障害物１２０４へ接触させて移動先に移動させる」を示すメッセージをロボット制御指示生成部１１３４に送信する。
（図１８：ステップＳ１８０６）
腕部動作決定部１１３３は、障害物１２０４を動かした後に認識対象物体の位置と向きを調整するため、第２腕部動作として「腕部を認識対象物体へ接触させて動作」を示すメッセージをロボット制御指示生成部１１３４に出力する。
【００７３】
図１６および図１７では、円弧Ｃ３と円弧Ｃ４を合わせた円弧と認識対象物体の重心８０２を結ぶ扇形領域に障害物１２０４が１つだけ存在する例を説明したが、障害物１２０４が複数存在する場合でも本実施形態３で説明した動作を適用することができる。その場合、移動目標算出部１１３２は、障害物１２０４毎にステップＳ１７０３からステップＳ１７０５を実行し、第１移動目標と第２移動目標の間にロボット１２０の新たな移動目標を追加する処理を障害物１２０４の個数分実行すればよい。また、腕部動作決定部１１３３はステップＳ１８０４とステップＳ１８０５を障害物１２０４の個数分実行し、第１腕部動作と第２腕部動作の間に新たな腕部動作として追加する処理を障害物１２０４の個数分実行すればよい。
【００７４】
認識対象物体と障害物１２０４以外の物体Ｋがあり、その物体Ｋと障害物１２０４との間の位置関係が、障害物１２０４と認識対象物体の間の位置関係と同様になっている場合は、障害物１２０４を新たな認識対象物体と置き換え、また、障害物１２０４を物体Ｋと置き換えて図１７に示す移動目標算出部１１３２のフローチャートおよび図１８に示す腕部動作決定部１１３３のフローチャートを実行すればよい。さらに繰り返される場合も同様に置き換えて処理すればよい。
【００７５】
ステップＳ１８０４において、障害物１２０４が物体８０４の上にある場合は、円弧Ｃ３と円弧Ｃ４を合わせた円弧と認識対象物体の重心８０２を結ぶ扇形領域以外の範囲のうち、物体８０４上のＸ−Ｚ平面部分を移動目標として設定してもよい。円弧Ｃ５が存在しない場合は、ステップＳ１８０４〜ステップＳ１８０６のみ実行するようにしてもよい。
【００７６】
図１９は、環境カメラ１０１を用いて認識対象物を撮影する際に、障害物１２０４が視野を遮っている様子を示す図である。図１８のステップＳ１８０４において、障害物１２０４の移動目標を、環境カメラ１０１と重心８０２を結ぶ直線Ｌに重ならない位置に設定し、ロボット１２０の腕部機構１２６で障害物１２０４を移動させた後に、環境カメラ画像処理部１１２の処理を再実行してもよい。これにより、環境カメラ１０１で認識対象物体を撮影することができるようになるので、ロボット１２０単体で認識対象物体を撮影するよりも物体認識の性能が向上する。
【００７７】
＜実施の形態３：まとめ＞
以上のように、本実施形態３に係る物体認識システム１０００は、認識対象空間内に認識対象物の他に新たな障害物１２０４が置かれた場合、環境カメラ１０１が撮影した画像に基づきこれら物体の配置関係を算出し、ロボット１２０から見て認識対象物体が障害物１２０４により隠れない位置まで障害物１２０４を移動させる。これにより、障害物１２０４が存在している場合でも、ロボット１２０は認識対象物体の外観を確実に撮像できるので、ロボット１２０による物体の認識性能が向上する。
【００７８】
また、本実施形態３の図１６および図１７において、円弧Ｃ３と円弧Ｃ４を合わせた円弧と重心８０２を結ぶ扇形領域に障害物１２０４が複数個存在する場合、各物体を整理して、カメラ１０１およびロボット１２０から新たな認識対象物体を見ることができる範囲を最大化するように、各物体の移動先を設定してもよい。例えば、各物体の重心間距離が均等になるように移動先を設定する。これにより、新たに認識対象物体が認識対象空間上に置かれた場合でも、カメラ１０１およびロボット１２０から新たな認識対象物体を撮影できる確率が向上する。
【００７９】
また、本実施形態３において、何らかの理由でロボット１２０の腕部により障害汚物１２０４を移動させることができない場合は、ロボット１２０と同様の機能を有する第２ロボットを用意し、障害物１２０４を移動させるようにしてもよい。実施形態１で説明したものと同様に、第２ロボットは必ずしもロボット１２０と全く同じ仕様でなくともよい。
【００８０】
＜実施の形態４＞
図２０は、本発明の実施形態４に係る物体認識システム１０００のうち情報処理装置１１０の周辺構成を抜粋した構成図である。本実施形態４に係る物体認識システム１０００は、実施形態１〜３で説明した構成に加えて、新たに通知部１０３を備える。また情報処理装置１１０は、通知処理部１１５を備える。その他の構成は実施形態１〜３と同様であるため、以下では差異点を中心に説明する。なお図２０において、一部の構成要素を省略していることを付言しておく。
【００８１】
通知部１０３は、情報処理装置１１０が出力するユーザ宛のメッセージをユーザへ通知する。例えば、スピーカ、ディスプレイ、電子メール等の手段を用いることができる。通知処理部１１５は、通知部１０３が出力するメッセージを生成する機能部である。詳細は後述の図２１で説明する。
【００８２】
通知処理部１１５は、これらの機能を実現する回路デバイスなどのハードウェアを用いて実現することもできるし、ＣＰＵなどの演算装置とその動作を規定するソフトウェアを用いて実現することもできる。
【００８３】
図２１は、通知処理部１１５の機能ブロック図である。通知処理部１１５は、物体配置関係算出部１１５１、通知情報生成部１１５２を備える。物体配置関係算出部１１５１は物体配置関係算出部１１３１と同様の機能を備える。
【００８４】
通知情報生成部１１５２の処理を、図１９を用いて説明する。通知情報生成部１１５２は、認識対象物体の重心８０２とカメラ１０１との間の直線Ｌを求める。続いて、直線Ｌ上に障害物１２０４が重なる場合は、カメラ１０１は障害物１２０４が原因で認識対象物体の外観が撮影できない旨を示す通知メッセージを生成する。
【００８５】
通知部１０３がディスプレイである場合は、例えば通知メッセージとして、カメラ１０１で撮影された画像に「障害物１２０４が原因で認識対象物体の外観が撮影できない」旨を表す文字列をインポーズして生成する。通知部１０３がスピーカである場合は、例えば「障害物１２０４が原因で認識対象物体の外観が撮影できない」旨を発話する音声を生成する。通知部１０３が電子メール等の通信手段である場合は、例えば「障害物１２０４が原因で認識対象物体の外観が撮影できない」旨を表すテキストを生成する。
【００８６】
図１９では１台のカメラ１０１のみを示しているが、複数台のカメラがあっても構わない。その場合、各カメラ１０１について前述の通知情報生成部１１５２の処理を同様に実施すればよい。また、ロボット１２０が認識対象物体を撮影する際に障害となる物体がある場合でも、同様のメッセージを提示することができる。
【００８７】
＜実施の形態４：まとめ＞
以上のように、本実施形態４に係る物体認識システム１０００は、環境カメラ１０１が撮影した画像上で認識対象物体を隠す障害物１２０４が存在する場合、その旨を示す通知メッセージを生成し、通知部１０３を介してユーザに通知する。これにより、環境カメラ１０１が認識対象物体を確実に撮像できるように障害物１２０４を動かすことを促し、認識対象物体の認識性能を向上させることができる。
【００８８】
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
【００８９】
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【符号の説明】
【００９０】
１０１：カメラ、１０２：通信部、１０３：通知部、１１０：情報処理装置、１１１：地図・物体情報データベース、１１２：環境カメラ画像処理部、１１２１：画像入力部、１１２２：物体領域抽出部、１１２３：３次元位置推定部、１１２４：物体認識部、１１２５：３次元形状推定部、１１３：ロボット撮像方法決定部、１１３１：物体配置関係算出部、１１３２：移動目標算出部、１１３３：腕部動作決定部、１１３４：ロボット制御指示生成部、１１４：ロボットカメラ画像処理部、１１４１：画像入力部、１１４２：物体領域抽出部、１１４３：３次元位置推定部、１１４４：物体認識部、１１４５：３次元形状推定部、１１５：通知処理部、１１５１：物体配置関係算出部、１１５２：通知情報生成部、１２０：ロボット、１２１〜１２２：ロボットカメラ、１２３：通信部、１２４：制御部、１２５：移動機構、１２６：腕部機構、１２７：地図・物体情報データベース、１０００：物体認識システム、１２０４：障害物。
【図１】
0005820297.tif 000002
【図２】
0005820297.tif 000003
【図３】
0005820297.tif 000004
【図４】
0005820297.tif 000005
【図５】
0005820297.tif 000006
【図６】
0005820297.tif 000007
【図７】
0005820297.tif 000008
【図８】
0005820297.tif 000009
【図９】
0005820297.tif 000010
【図１０】
0005820297.tif 000011
【図１１】
0005820297.tif 000012
【図１２】
0005820297.tif 000013
【図１３】
0005820297.tif 000014
【図１４】
0005820297.tif 000015
【図１５】
0005820297.tif 000016
【図１６】
0005820297.tif 000017
【図１７】
0005820297.tif 000018
【図１８】
0005820297.tif 000019
【図１９】
0005820297.tif 000020
【図２０】
0005820297.tif 000021
【図２１】
0005820297.tif 000022