特許第5820297号(P5820297)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧
<>
  • 特許5820297-物体認識システム、物体認識装置 図000002
  • 特許5820297-物体認識システム、物体認識装置 図000003
  • 特許5820297-物体認識システム、物体認識装置 図000004
  • 特許5820297-物体認識システム、物体認識装置 図000005
  • 特許5820297-物体認識システム、物体認識装置 図000006
  • 特許5820297-物体認識システム、物体認識装置 図000007
  • 特許5820297-物体認識システム、物体認識装置 図000008
  • 特許5820297-物体認識システム、物体認識装置 図000009
  • 特許5820297-物体認識システム、物体認識装置 図000010
  • 特許5820297-物体認識システム、物体認識装置 図000011
  • 特許5820297-物体認識システム、物体認識装置 図000012
  • 特許5820297-物体認識システム、物体認識装置 図000013
  • 特許5820297-物体認識システム、物体認識装置 図000014
  • 特許5820297-物体認識システム、物体認識装置 図000015
  • 特許5820297-物体認識システム、物体認識装置 図000016
  • 特許5820297-物体認識システム、物体認識装置 図000017
  • 特許5820297-物体認識システム、物体認識装置 図000018
  • 特許5820297-物体認識システム、物体認識装置 図000019
  • 特許5820297-物体認識システム、物体認識装置 図000020
  • 特許5820297-物体認識システム、物体認識装置 図000021
  • 特許5820297-物体認識システム、物体認識装置 図000022
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5820297
(24)【登録日】2015年10月9日
(45)【発行日】2015年11月24日
(54)【発明の名称】物体認識システム、物体認識装置
(51)【国際特許分類】
   G06T 1/00 20060101AFI20151104BHJP
   B25J 13/08 20060101ALI20151104BHJP
【FI】
   G06T1/00 300
   B25J13/08 A
【請求項の数】13
【全頁数】27
(21)【出願番号】特願2012-30120(P2012-30120)
(22)【出願日】2012年2月15日
(65)【公開番号】特開2013-167988(P2013-167988A)
(43)【公開日】2013年8月29日
【審査請求日】2014年8月11日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】100091096
【弁理士】
【氏名又は名称】平木 祐輔
(74)【代理人】
【識別番号】100105463
【弁理士】
【氏名又は名称】関谷 三男
(74)【代理人】
【識別番号】100102576
【弁理士】
【氏名又は名称】渡辺 敏章
(72)【発明者】
【氏名】平松 義崇
(72)【発明者】
【氏名】松原 大輔
(72)【発明者】
【氏名】永吉 洋登
(72)【発明者】
【氏名】廣池 敦
(72)【発明者】
【氏名】影広 達彦
【審査官】 岡本 俊威
(56)【参考文献】
【文献】 特開2008−087074(JP,A)
【文献】 特開2010−214546(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識システムは、
前記環境カメラが撮影した画像および前記ロボットが撮影した画像を用いて前記情報処理装置が認識した物体についての情報を格納するデータベースをさらに備え、
前記情報処理装置は、
前記空間中に新たに前記被撮影物が置かれた場合に、前記環境カメラが撮影した画像を用いて前記新たに置かれた前記被撮影物を認識し、
前記データベースから前記新たに置かれた前記被撮影物よりも過去に前記空間中に置かれた物体についての情報を取り出し、
前記過去に置かれた物体についての情報と前記新たに置かれた前記被撮影物についての情報を用いて、前記過去に置かれた物体と前記新たに置かれた前記被撮影物との間の配置関係を算出し、
前記機構が前記新たに置かれた前記被撮影物を動かした場合に発生する前記新たに置かれた前記被撮影物の運動を、前記配置関係を用いて算出し、
前記情報処理装置の指示にしたがって前記ロボットが前記被撮影物を撮影できるように、前記算出した運動に基づいて、前記機構が前記新たに置かれた前記被撮影物を動かす手順を決定する
ことを特徴とする物体認識システム。
【請求項2】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって、
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて認識した前記空間内に存在する物体の認識信頼度を算出し、
前記認識信頼度が所定閾値未満である場合は、前記ロボットが撮影した画像を補完的に用いて、前記空間内に存在する物体を認識する
ことを特徴とす物体認識システム。
【請求項3】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって、
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識システムは、
前記被撮影物の周辺に移動して前記被撮影物を撮影し、前記情報処理装置の指示にしたがって前記被撮影物の周辺に存在する物体を動かす第2機構を有する第2ロボットを備えており、
前記情報処理装置は、
前記ロボットが前記機構によって前記被撮影物を動かすことができない場合は、前記第2ロボットに対して前記手順および前記指示を送信する
ことを特徴とす物体認識システム。
【請求項4】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって、
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識システムは、
前記環境カメラが撮影した画像および前記ロボットが撮影した画像を用いて前記情報処理装置が認識した物体についての情報を格納するデータベースをさらに備え、
前記情報処理装置は、
前記空間中に新たに物体が置かれた場合に、前記環境カメラが撮影した画像を用いて前記新たに置かれた物体を認識し、
前記データベースから前記新たに置かれた物体よりも過去に前記空間中に置かれた前記被撮影物についての情報を取り出し、
前記過去に置かれた被撮影物についての情報と前記新たに置かれた物体についての情報を用いて、前記過去に置かれた被撮影物と前記新たに置かれた物体との間の配置関係を算出し、
前記機構が前記新たに置かれた物体を動かすことができる範囲のなかから、前記情報処理装置が指定した視野範囲で前記ロボットが前記被撮影物を撮影することができる位置を、前記配置関係を用いて算出し、
前記算出した位置に移動するように前記ロボットへ指示する
ことを特徴とす物体認識システム。
【請求項5】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって、
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識システムは、
前記環境カメラが撮影した画像および前記ロボットが撮影した画像を用いて前記情報処理装置が認識した物体についての情報を格納するデータベースをさらに備え、
前記情報処理装置は、
前記空間中に新たに物体が置かれた場合に、前記環境カメラが撮影した画像を用いて前記新たに置かれた物体を認識し、
前記データベースから前記新たに置かれた物体よりも過去に前記空間中に置かれた前記被撮影物についての情報を取り出し、
前記過去に置かれた被撮影物についての情報と前記新たに置かれた物体についての情報を用いて、前記過去に置かれた被撮影物と前記新たに置かれた物体との間の配置関係を算出し、
前記新たに置かれた物体が、前記ロボットから見て前記被撮影物を隠す位置に置かれている場合は、前記情報処理装置が指定した視野範囲で前記ロボットが前記被撮影物を撮影することができる位置まで、前記機構を用いて前記新たに置かれた物体を動かすように前記ロボットへ指示する
ことを特徴とす物体認識システム。
【請求項6】
前記情報処理装置は、
前記新たに置かれた物体が複数存在する場合は、新たな前記被撮影物が置かれた場合にその外観が前記カメラまたは前記ロボットから見える範囲を最大化するような位置へ、前記機構を用いて前記複数の新たに置かれた物体をそれぞれ移動させるよう前記ロボットへ指示する
ことを特徴とする請求項記載の物体認識システム。
【請求項7】
前記情報処理装置は、
前記環境カメラが前記被撮影物を撮影する際に前記新たに置かれた物体が前記被撮影物の外観を隠す位置に存在する場合、
前記算出された配置関係に基づき、前記環境カメラから見て前記被撮影物の外観が見える位置まで、前記機構を用いて前記新たに置かれた物体を移動させるように前記ロボットへ指示する
ことを特徴とする請求項記載の物体認識システム。
【請求項8】
被撮影物の周辺に移動して前記被撮影物を撮影するロボットと、
前記被撮影物周辺の空間を撮影する環境カメラと、
前記環境カメラが撮影した画像と前記ロボットが撮影した画像を用いて前記空間内に存在する物体を認識する情報処理装置と、
を備えた物体認識システムであって、
前記ロボットは、
前記情報処理装置の指示にしたがって物体を動かす機構をさらに備えており、
前記情報処理装置は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識システムは、
前記情報処理装置が出力するメッセージを提示する提示部と、
前記メッセージに対する応答を受け取る通知部と、
をさらに備え、
前記情報処理装置は、
前記環境カメラまたは前記ロボットが前記被撮影物を撮影する際に前記被撮影物の外観を隠す位置に障害物が置かれている場合、その旨の前記メッセージを前記提示部に提示させ、
前記障害物を除去した旨の前記応答を前記通知部が受け取ると、前記環境カメラまたは前記ロボットを用いて前記被撮影物を改めて撮影する
ことを特徴とす物体認識システム。
【請求項9】
前記情報処理装置は、
前記環境カメラが撮影した画像に基づき、前記機構が前記被撮影物を前記ロボットに対して正対させるために必要な回転量を示す回転パラメータを算出し、
前記回転パラメータを用いて前記被撮影物を動かして前記被撮影物を撮影するように前記ロボットへ指示することにより、前記被撮影物の正面画像を取得する
ことを特徴とする請求項1から8のいずれか1項記載の物体認識システム。
【請求項10】
前記情報処理装置は、
前記環境カメラが撮影した画像に基づき、前記被撮影物の撮影数が不足している撮影方向を算出し、その撮影方向から前記被撮影物を撮影することができる位置に前記ロボットを移動させる
ことを特徴とする請求項1から9のいずれか1項記載の物体認識システム。
【請求項11】
被撮影物の周辺に移動して前記被撮影物を撮影し、指示にしたがって物体を動かす機構を備えたロボットに対して、動作指示を送信するロボット動作決定部と、
前記被撮影物周辺の空間を撮影する環境カメラから撮像画像を処理する環境カメラ画像処理部と、
前記ロボットが撮影した画像を処理するロボットカメラ画像処理部と、
を備えた物体認識装置であって
前記環境カメラ画像処理部は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記ロボット動作決定部は、
前記環境カメラ画像処理部が認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットカメラ画像処理部は、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識装置は、
前記環境カメラが撮影した画像および前記ロボットが撮影した画像を用いて認識した物体についての情報を格納するデータベースをさらに備え、
前記環境カメラ画像処理部は、
前記空間中に新たに物体が置かれた場合に、前記環境カメラが撮影した画像を用いて前記新たに置かれた物体を認識し、
前記データベースから前記新たに置かれた物体よりも過去に前記空間中に置かれた前記被撮影物についての情報を取り出し、
前記過去に置かれた被撮影物についての情報と前記新たに置かれた物体についての情報を用いて、前記過去に置かれた被撮影物と前記新たに置かれた物体との間の配置関係を算出し、
前記ロボット動作決定部は、
前記機構が前記新たに置かれた物体を動かすことができる範囲のなかから、指定した視野範囲で前記ロボットが前記被撮影物を撮影することができる位置を、前記配置関係を用いて算出し、
前記算出した位置に移動するように前記ロボットへ指示する
ことを特徴とする物体認識装置。
【請求項12】
被撮影物の周辺に移動して前記被撮影物を撮影し、指示にしたがって物体を動かす機構を備えたロボットに対して、動作指示を送信するロボット動作決定部と、
前記被撮影物周辺の空間を撮影する環境カメラから撮像画像を処理する環境カメラ画像処理部と、
前記ロボットが撮影した画像を処理するロボットカメラ画像処理部と、
を備えた物体認識装置であって、
前記環境カメラ画像処理部は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記ロボット動作決定部は、
前記環境カメラ画像処理部が認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットカメラ画像処理部は、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識装置は、
前記環境カメラが撮影した画像および前記ロボットが撮影した画像を用いて前記情報処理装置が認識した物体についての情報を格納するデータベースをさらに備え、
前記環境カメラ画像処理部は、
前記空間中に新たに物体が置かれた場合に、前記環境カメラが撮影した画像を用いて前記新たに置かれた物体を認識し、
前記データベースから前記新たに置かれた物体よりも過去に前記空間中に置かれた前記被撮影物についての情報を取り出し、
前記過去に置かれた被撮影物についての情報と前記新たに置かれた物体についての情報を用いて、前記過去に置かれた被撮影物と前記新たに置かれた物体との間の配置関係を算出し、
前記ロボット動作決定部は、
前記新たに置かれた物体が、前記ロボットから見て前記被撮影物を隠す位置に置かれている場合は、指定した視野範囲で前記ロボットが前記被撮影物を撮影することができる位置まで、前記機構を用いて前記新たに置かれた物体を動かすように前記ロボットへ指示する
ことを特徴とす物体認識装置。
【請求項13】
被撮影物の周辺に移動して前記被撮影物を撮影し、指示にしたがって物体を動かす機構を備えたロボットに対して、動作指示を送信するロボット動作決定部と、
前記被撮影物周辺の空間を撮影する環境カメラから撮像画像を処理する環境カメラ画像処理部と、
前記ロボットが撮影した画像を処理するロボットカメラ画像処理部と、
を備えた物体認識装置であって、
前記環境カメラ画像処理部は、
前記環境カメラが撮影した画像を用いて前記被撮影物の配置状態を認識し、
前記ロボット動作決定部は、
前記環境カメラ画像処理部が認識した前記被撮影物の配置状態に基づき、前記機構を用いて前記被撮影物を動かす手順を決定して前記ロボットにその手順および前記被撮影物を動かした後に前記被撮影物を撮影すべき旨の指示を送信し、
前記ロボットカメラ画像処理部は、
前記ロボットが前記手順および前記指示にしたがって撮影した前記被撮影物の画像を取得し、その画像に基づき前記被撮影物を認識し、
前記物体認識装置は、
メッセージを提示する提示部と、
前記メッセージに対する応答を受け取る通知部と、
をさらに備え、
前記提示部は、
前記環境カメラが前記被撮影物を撮影する際に前記被撮影物の外観を隠す位置に障害物が置かれている場合、その旨の前記メッセージを提示し、
前記環境カメラ画像処理部は、
前記障害物を除去した旨の前記応答を前記通知部が受け取ると、前記環境カメラを用いて前記被撮影物を改めて撮影する
ことを特徴とす物体認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットを活用して実世界空間内の物体を認識する技術に関する。
【背景技術】
【0002】
近年、外部環境に存在する物体を認識する研究が盛んである。例えば下記特許文献1では、可動部があり、外部環境中に存在する物体の視覚的特徴を自律的に学習するロボット装置が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−128959号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
実世界の環境において、物体は様々な場所に多数置かれる。例えば、認識対象の物体が机の端に置かれており、特許文献1に記載されるロボットによって当該物体を認識する場合を考える。
【0005】
特許文献1に示される方式では、ロボットの可動部を接触させて学習対象となる物体を動かして時系列の物体領域画像を抽出し、その時系列の物体領域画像の各々から特徴量群を抽出し、その特徴量を保持することにより、環境中の物体を精度よく自律的に学習することを図っている。しかし、ロボットの可動部を認識対象物体に接触させたことにより認識対象物体が机から落下し、ロボットに搭載されたカメラで認識対象物体を撮影できなくなる可能性がある。すなわち、認識対象物体を的確に撮影するために当該物体をロボットによって動かした結果、却って認識性能が低下する可能性がある。
【0006】
また、認識対象物体の上に認識対象物体以外の物体が乗っている状況を考える。この状況においてロボットが認識対象物体を動かしても認識対象物体以外の物体が動かない場合は、特許文献1記載の方法では物体の外観の一部が欠損した画像しか得られず、認識性能が低下してしまう。
【0007】
本発明は、上記のような課題を解決するためになされたものであり、認識対象物体の状態を客観的に把握し、その状態に適した動作をロボットに実施させて物体認識性能を向上させることを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る物体認識システムは、被撮影物の周辺を撮影する環境カメラの撮像画像に基づき被撮影物の状態を把握し、その状態にしたがって被撮影物を動かすようにロボットへ指示する。
【発明の効果】
【0009】
本発明に係る物体認識システムによれば、ロボットとは別に設置された環境カメラによって被撮影物の状態を客観的に認識し、これにしたがってロボットに動作指示を送信するので、認識対象空間内に様々な状態で配置された物体を高い認識率で認識することができる。
【図面の簡単な説明】
【0010】
図1】実施形態1に係る物体認識システム1000の構成を示すブロック図である。
図2】カメラ101が撮影した2次元画像上の点と認識対象空間の3次元座標との間の関係を示す図である。
図3】地図・物体情報データベース111の構成を示す図である。
図4】環境カメラ画像処理部112の機能ブロック図である。
図5】環境カメラ画像処理部112がカメラ101から得た動画像を用いて認識対象の物体を認識する処理フロー図である。
図6】ロボット撮像方法決定部113の機能ブロック図である。
図7】物体配置関係算出部1131の処理フロー図である。
図8】移動目標算出部1132の処理を説明する図である。
図9】移動目標算出部1132が図8においてロボット120の移動目標を算出するフローチャートである。
図10】腕部動作決定部1133の処理フロー図である。
図11】ロボット120が目標位置に移動し、腕部を認識対象物体に接触させて動かしながら認識対象物体を撮像する処理のフローチャートである。
図12】ロボットカメラ画像処理部114の機能ブロック図である。
図13】実施形態2における移動目標算出部1132の処理を説明する図である。
図14】移動目標算出部1132が図13においてロボット120の移動目標を算出するフローチャートである。
図15】実施形態3におけるロボット撮像方法決定部113の機能ブロック図である。
図16】実施形態3における移動目標算出部1132の処理を説明する図である。
図17】移動目標算出部1132が図16においてロボット120の移動目標を算出するフローチャートである。
図18】実施形態3における腕部動作決定部1133の処理フロー図である。
図19】環境カメラ101を用いて認識対象物を撮影する際に、障害物1204が視野を遮っている様子を示す図である。
図20】実施形態4に係る物体認識システム1000のうち情報処理装置110の周辺構成を抜粋した構成図である。
図21】通知処理部115の機能ブロック図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を、図面を用いて説明する。なお、各図面において、同一の符号が付されている構成要素は同一の機能を有することとする。
【0012】
<実施の形態1>
図1は、本発明の実施形態1に係る物体認識システム1000の構成を示すブロック図である。物体認識システム1000は、ある空間に新たに置かれた物体を認識するためのシステムであり、N台のカメラ101、通信部102、情報処理装置110、ロボット120を備える。以降の説明では、物体認識システム1000が対象とする空間を認識対象空間と表記し、物体認識システム1000が認識対象とする物体を認識対象物体と表記する。
【0013】
カメラ101は、認識対象空間を俯瞰的に撮影する環境カメラであり、カメラを支える雲台が左右(パン)や上下(チルト)方向に回転移動し、さらにレンズの画角(ズーム)を変更することができる。カメラ101のカメラパラメータは、あらかじめ求めておく。カメラパラメータの求め方は例えば下記参考文献1に記載されている。このカメラパラメータを用いて、画像上の任意の点の座標から、認識対象空間における3次元座標を計算することができる。図1には3組のカメラを示しているが、少なくとも1個のカメラがあればよい。
[参考文献1]Youji FUKADA, "Calculation of Camera Parameters Utilizing Rotation Mechanism", The Transactions of the IEICE Vol.J76-D-II, No.9, pp.1922-1931。
【0014】
通信部102は、情報処理装置110とロボット120の間でデータを送受信する。例えば、情報処理装置110が決定した被撮影物の撮像方法と動作指示をロボット120に送信し、ロボット120がカメラを含む各種センサを用いて取得したデータを受信して情報処理装置110へ引き渡す。
【0015】
情報処理装置110は、カメラ101とロボット120が撮影した画像を用いて認識対象物を認識する物体認識装置であり、地図・物体情報データベース111、環境カメラ画像処理部112、ロボット撮像方法決定部113、ロボットカメラ画像処理部114を備える。これら機能部の詳細については後述する。
【0016】
環境カメラ画像処理部112、ロボット撮像方法決定部113、ロボットカメラ画像処理部114は、これらの機能を実現する回路デバイスなどのハードウェアを用いて実現することもできるし、CPU(Central Processing Unit)などの演算装置とその動作を規定するソフトウェアを用いて実現することもできる。
【0017】
地図・物体情報データベース111は、データを保持するデータファイルとこれを記憶するHDD(Hard Disk Drive)などの記憶装置を用いて実現することができる。
【0018】
ロボット120は、被撮影物の近傍に移動し、必要に応じて被撮影物を動かした上で撮影する。ロボット120は、ロボットカメラ121〜ロボットカメラ122、通信部123、制御部124、移動機構125、腕部機構126、地図・物体情報データベース127を備える。
【0019】
ロボットカメラ121〜ロボットカメラ122は、物体を撮像するカメラである。図1では2組のロボットカメラを示しているが、少なくとも1個のロボットカメラがあればよい。通信部123は、通信部102との間でデータを送受信する。制御部124は、ロボット120が備える各機能部を制御する。移動機構125の制御については特許文献2記載の技術を用いればよい。腕部機構126の制御については、特許文献1記載の技術を用いればよい。移動機構125は、ロボット120自体を移動させる機構であり、例えば特許文献2記載の構成を用いればよい。腕部機構126は、物体を動かす機能を有する腕機能であり、例えば特許文献1記載の構成を用いればよい。地図・物体情報データベース127は、地図・物体情報データベース111と同一の構成を有する。例えば地図・物体情報データベース111の全部または一部のコピーを地図・物体情報データベース127とすればよい。ロボット120の構成はこれに限られるものではなく、移動機構、撮像機能、物体を動かす可動機構を備えていればよい。
【0020】
図2は、カメラ101が撮影した2次元画像上の点と認識対象空間の3次元座標との間の関係を示す図である。カメラパラメータをあらかじめ求めておくことにより、カメラ101の撮像画像に基づき物体の3次元座標を算出することができる。
【0021】
図3は、地図・物体情報データベース111の構成を示す図である。地図・物体情報データベース111は、認識対象空間に存在するL個の構造物についての情報と、認識対象空間に既に置かれたN個の物体についての情報を保持する。構造物とは、認識対象空間を仕切る壁などを指す、原則的として移動させることができない物を指す。物体とは、構造物以外の全ての物であり、認識対象空間で移動が生じ得るもの全てを指す。
【0022】
地図・物体情報データベース111は、各構造物にIDを付加し、構造物1〜構造物Lとして管理する。ここでは記載の便宜上、構造物番号をIDとして代用した。地図・物体情報データベース111は、構造物情報として、構造物名、床平面座標および高さを互いに関連付けて格納する。床平面座標および高さは、図2に例示した認識対象空間の3次元座標に基づく。
【0023】
地図・物体情報データベース111はさらに、各物体にIDを付加し、物体1〜物体Nとして管理する。ここでは記載の便宜上、物体番号をIDとして代用した。地図・物体情報データベース111は、物体それぞれに対して、(a)P個の物体名の候補を表す物体名候補1〜物体名候補Pとその信頼度1〜信頼度Pを関連付けた情報、(b)認識対象空間上における物体の重心座標を示す重心座標とその信頼度が関連付けられた情報、(c)ワイヤフレームモデルやソリッドモデルなどの3次元形状モデルとその信頼度が関連付けられた情報、(d)認識対象空間上における物体の配置状態を示す配置状態、(e)物体が置かれた時刻を示す配置時刻、(f)物体の周辺に配置されたM個の物体に関する情報を示す周辺物体1〜周辺物体Mを関連付けた情報、をそれぞれ格納する。地図・物体情報データベース111はさらに、周辺物体それぞれにIDを付加し、認識対象物体と周辺物体との間の重心間距離を関連付けて格納する。重心座標、3次元形状データおよび周辺物体1〜周辺物体Mの重心間距離1〜重心間距離Mは、図2に例示した認識対象空間の3次元座標に基づく。
【0024】
物体についての情報として、後述の環境カメラ画像処理部112から送信された画像をさらに関連付けて格納してもよい。これにより、情報処理装置110は地図・物体情報データベース111から所望の物体を検索し、その結果得られた物体の画像をディスプレイなどの表示装置に表示することができる。さらに、輪郭情報、テクスチャ情報、特徴量を関連付けて格納してもよい。これにより、画像をクエリとした検索機能を提供することができる。
【0025】
図4は、環境カメラ画像処理部112の機能ブロック図である。環境カメラ画像処理部112は、画像入力部1121、物体領域抽出部1122、3次元位置推定部1123、物体認識部1124、3次元形状推定部1125を備える。
【0026】
画像入力部1121は、N台のカメラ101のそれぞれから動画像のフレーム列が入力される。画像入力部1121に、符号化された符号化ストリームが入力された場合、画像入力部1121は、入力された符号化ストリームを復号し、復号されたストリームの中から、動画像のフレーム画像を抽出する。
【0027】
物体領域抽出部1122は、画像入力部1121が取得したフレーム画像またはフレーム画像集合を解析し、画像上の座標のうち認識対象空間に新たに置かれた物体の場所を示す領域を算出し、3次元位置推定部1123と物体認識部1124に通知する。物体領域抽出部1122は、例えば下記参考文献2に記載されたSegmentationによる方法や参考文献3に記載された背景差分による方法を用いて、物体が置かれている領域を算出する。
[参考文献2]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
[参考文献3]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。
【0028】
3次元位置推定部1123は、あらかじめ求めておいたカメラ101のカメラパラメータを用いて、物体領域抽出部1122が算出した座標を認識対象空間の3次元座標に変換する。さらにその3次元座標の重心座標を算出し、その信頼度とともに地図・物体情報データベース111とロボット撮像方法決定部113へ出力する。3次元位置推定部1123は、例えば参考文献1に記載された方法を用いることができる。また、3次元位置推定部1123は、物体の配置状態を「認識対象空間に存在」する旨の値にセットして、地図・物体情報データベース111に格納する。
【0029】
3次元形状推定部1125は、画像入力部1121が取得したフレーム画像またはフレーム画像集合、物体領域抽出部1122が抽出した領域画像または画像集合を解析して物体の3次元構造を復元し、得られた3次元形状モデルをその信頼度とともに地図・物体情報データベース111とロボット撮像方法決定部113に出力する。3次元形状推定部1125は、例えば下記参考文献4に記載されたStructure from Motionによる方法や参考文献5に記載されたステレオカメラによる方法を用いることができる。3次元形状推定部1125は、物体領域抽出部1122から得た物体の場所を示す領域に場所を絞って処理を実施することにより、計算時間を抑えることができる。
[参考文献4]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
[参考文献5]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。
【0030】
物体認識部1124は、物体領域抽出部1122から得た物体領域を解析し、物体名の候補を抽出する。物体認識部1124は、例えば下記参考文献6に記載された方法を用いることができる。
[参考文献6]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。
【0031】
環境カメラ画像処理部112は、物体認識部1124が抽出した物体名をクエリとしてWebを検索し、Web上に存在する3次元形状モデルを取得することもできる。また、事前に3次元形状モデルと物体名を関連付けたデータベースを用意しておき、物体名をクエリとした検索で3次元形状モデルを取得することもできる。これらの場合、3次元形状推定部1125はなくても構わない。
【0032】
図5は、環境カメラ画像処理部112がカメラ101から得た動画像を用いて認識対象の物体を認識する処理フロー図である。以下、図5の各ステップについて説明する。
図5:ステップS501〜S502)
画像入力部1121は、カメラ101から動画像を取得する(S501)。物体領域抽出部1122は、画像入力部1121が取得した動画像を用いて、画像上の座標のうち認識対象空間に新たに置かれた物体の場所を示す領域を算出する(S502)。
図5:ステップS503〜S505)
3次元位置推定部1123は、物体領域抽出部1122から得た物体領域の座標を認識対象空間の3次元座標に変換する(S503)。3次元形状推定部1125は、画像入力部1121から得た動画像と物体領域抽出部1122から得た物体領域から、物体の3次元構造を復元する(S504)。物体認識部1124は、物体領域抽出部1122から得た物体領域を解析し、物体名の候補を抽出する(S505)。ステップS503〜S505は、並列的に実行してもよいし順次実行してもよい。
【0033】
ロボット撮像方法決定部113は、認識対象空間に既に配置された物体の3次元位置および3次元構造を地図・物体情報データベース111から取り出し、3次元位置推定部1123から得る認識対象物体の重心の3次元位置と、3次元形状推定部1125から得る認識対象物体の3次元構造を用いて、認識対象物体と既に認識対象空間に既に配置された物体との位置関係を計算し、ロボット120が認識対象物体の外観全体を撮像できる方法を算出する。
【0034】
図6は、ロボット撮像方法決定部113の機能ブロック図である。ロボット撮像方法決定部113は、物体配置関係算出部1131、移動目標算出部1132、腕部動作決定部1133、ロボット制御指示生成部1134を備える。
【0035】
物体配置関係算出部1131は、認識対象物体と認識対象空間に既に配置されたその他の物体との間の配置関係および認識対象物体の配置状態を算出する。物体配置関係算出部1131は、この配置関係と配置状態を地図・物体情報データベース111に格納し、物体の配置状態および周辺物体1〜周辺物体Mについての情報を更新する。また、物体配置関係算出部1131は、認識対象物体の周辺にある物体の情報を移動目標算出部1132に出力する。また、物体配置関係算出部1131は、認識対象物体の配置状態を腕部動作決定部1133に出力する。
【0036】
図7は、物体配置関係算出部1131の処理フロー図である。物体配置関係算出部1131は、図2に例示した3次元空間の座標に基づき、認識対象空間内の各物体の配置関係を算出する。以下、図7の各ステップについて説明する。
図7:ステップS701)
物体配置関係算出部1131は、地図・物体情報データベース111内に存在する物体1〜物体Nの重心座標と、3次元位置推定部1123から得た認識対象物体の重心座標との間の3次元距離を算出する。
図7:ステップS702)
物体配置関係算出部1131は、物体1〜物体Nのうち、ステップS701で算出した3次元距離が所定閾値より小さい物体については、認識対象物体の周辺に配置されていると判定し、任意のID、重心間距離を関連付けて地図・物体情報データベース111に格納する。さらに、各物体に関する情報を地図・物体情報データベース111から取り出して移動目標算出部1132に出力する。以降、地図・物体情報データベース111内に存在する物体1〜物体Nのうち、認識対象物体の周辺に配置されたと判定されたM個の物体を周辺物体1〜周辺物体Mと表記する。
【0037】
図7:ステップS703〜S705の概要)
物体配置関係算出部1131は、認識対象物体がロボットの腕部などと接触したときに現在位置から大きく移動するか否かを判定する。ここでは、認識対象物体が他の物体上の端部に配置されている場合、ロボットの腕部等が接触すると落下して位置が大きく変動する場合を例に説明する。具体的には、認識対象物体がX−Z平面である物体に接触している、つまり認識対処物体がある物体上に配置されており、さらに、認識対処物体がX−Z平面で接触している物体の端に配置されている場合は、ロボットの腕部などが接触したとき現在位置から大きく移動すると判定する。
図7:ステップS703)
物体配置関係算出部1131は、周辺物体1〜周辺物体Mと認識対象物体のそれぞれに対して、3次元形状モデルを用いて、物体を囲む直方体を算出する。この直方体は、各物体の端部を簡易的に表している。
図7:ステップS704)
物体配置関係算出部1131は、周辺物体1〜周辺物体Mのなかで、当該周辺物体を囲む直方体が認識対象物体を囲む直方体とY軸上で接触または重なっているものを求める。重なっている周辺物体については認識対象物体と接触していると判定し、後続の処理を実行する。以降、認識対象物体と接触していると判定された周辺物体を、接触物体1〜接触物体Rと表記する。
図7:ステップS705)
物体配置関係算出部1131は、接触物体1〜接触物体Rそれぞれに対して、認識対象物体が接触物体上の端部に配置されているか否かを判定する。具体的には、認識対象物体と接触物体1〜接触物体Rそれぞれについて、ステップS703で求めた直方体をX−Z平面上で切り出した部分平面を取り出す。認識対象物体の部分平面と接触物体の部分平面それぞれの各辺同士の距離が所定閾値より小さいものが存在する場合は、認識対象物体は接触物体の端部に配置されていると判定し、地図・物体情報データベース111の配置状態を「接触により移動の恐れある状態で存在」している旨の値にセットする。
【0038】
図7:ステップS703〜S705:補足その1)
認識対象物体がロボットの腕部などと接触した場合に現在位置から大きく移動する状況は、本例に限らない。例えば認識対象物体が球状をしている場合は、認識対象物体の周辺物体1〜周辺物体Mに関らずロボットの腕部などが接触することによって現在位置から大きく移動する恐れがあるため、地図・物体情報データベース111の配置状態を無条件に「接触により移動の恐れある状態で存在」としてもよい。
図7:ステップS703〜S705:補足その2)
本フローチャートでは、認識対象物体の配置状態を「接触により移動の恐れある状態で存在」またはそれ以外の2つの状態のみを考慮したが、認識対象物体の配置状態はこれに限られるものではない。例えば、認識対象物体の配置状態として、接触物体の端からの距離に応じた連続値を地図・物体情報データベース111登録するようにしてもよい。この場合、腕部動作決定部1133は認識対象物体の配置状態の連続値に応じて、腕部を認識対象物体へ接触させる面積やスピードなどを設定する。これにより、ロボット120は認識対象物体の配置状態に応じて連続的な接触操作をすることができる。
【0039】
移動目標算出部1132は、物体配置関係算出部1131から認識対象物体の周辺に存在する物体の情報を受け取り、ロボット120が認識対象物体の外観を撮影できる位置を算出する。具体的な手法は後述の図8図9を用いて説明する。
【0040】
図8は、移動目標算出部1132の処理を説明する図である。図8(a)は上面図、図8(b)は斜視図である。図8において、物体804の上に認識対象物体が置かれている。認識対象物体の重心を802とする。ロボット120は、物体804の上面に登ることはできないと仮定する。ロボット120の腕部が対象物に接触するときの対象物とロボット120の間の距離をRとする。ロボット120が認識対象物体を動かす場合、図8左図の円弧C1上のいずれかの位置に移動する必要がある。
【0041】
図9は、移動目標算出部1132が図8においてロボット120の移動目標を算出するフローチャートである。以下、図9の各ステップについて説明する。
図9:ステップS901)
移動目標算出部1132は、ロボット120が腕部を認識対象物体に接触させることができる、認識対象物体とロボット120との間の距離Rを算出する。
図9:ステップS902)
移動目標算出部1132は、認識対象物体の重心802を中心とし、距離Rを半径とするX−Z平面上の円を算出する。
【0042】
図9:ステップS903)
移動目標算出部1132は、ステップS902で算出した円上の各点のうち、認識対象物体の周辺にある物体(図8の例では物体804)を囲む立方体のX−Z平面と重なる円弧C2、および重ならない円弧C1を算出する。
図9:ステップS904)
移動目標算出部1132は、円弧C1のうち、ロボット120の現在位置から最も近い点をロボット120の移動目標に設定する。移動目標の設定は、円弧C1上の点であればどこまでも構わない。また、移動目標を円弧C1上の点に複数設定し、認識対象物体を複数回撮影するようにしてもよい。その場合、腕部動作決定部1133も後述の処理フローを移動回数実行するようにしてもよい。
【0043】
腕部動作決定部1133は、物体配置関係算出部1131が算出した認識対象物体の配置状態を受け取り、ロボット120の腕部の動作を決定し、その動作指示をロボット120に送信する。具体的な手順は後述の図10で説明する。
【0044】
図10は、腕部動作決定部1133の処理フロー図である。以下、図10の各ステップについて説明する。
図10:ステップS1001)
腕部動作決定部1133は、物体配置関係算出部1131が算出した認識対象物体の配置状態を、地図・物体情報データベース111から取得する。配置状態が「接触により移動の恐れある状態で存在」である場合はステップS1002へ進み、それ以外であればステップS1003へ進む。
図10:ステップS1002)
腕部動作決定部1133は、ロボット120の腕部を認識対象物体に接触させることは不可と判断し、「腕部動作なし」を示すメッセージをロボット制御指示生成部1134に出力する。
図10:ステップS1003)
腕部動作決定部1133は、ロボット120の腕部を認識対象物体に接触させることができると判断し、「腕部を認識対象物体へ接触させて動作」を示すメッセージをロボット制御指示生成部1134に出力する。
【0045】
ロボット制御指示生成部1134は、認識対象物体の重心の3次元位置、移動目標算出部1132が算出した移動目標、腕部動作決定部1133が決定した腕部動作指示に基づき、ロボット120の制御部124が解釈できる動作指示メッセージを生成し、ロボット120に送信する。
【0046】
図11は、ロボット120がロボット撮像方法決定部113から送信されたメッセージにしたがって、目標位置に移動し、腕部を認識対象物体に接触させて動かしながら認識対象物体を撮像する処理のフローチャートである。以下、図11の各ステップについて説明する。
図11:ステップS1101)
制御部124は、ロボット撮像方法決定部113から送信されたメッセージを受信し、そのメッセージから、認識対象物体の3次元位置、ロボット120の移動目標位置、ロボット120の腕部動作指示を抽出する。
図11:ステップS1102〜S1103)
制御部124は、移動機構125を制御し、ステップS1101で抽出した目標位置にロボット120を移動させる(S1102)。制御部124は、移動機構125を制御し、ステップS1101で抽出した認識対象物体の重心に向かう方向にロボット120を方向転換させ、ロボット120が備えるカメラ画像内に認識対象物体が入り、かつ腕部機構126を用いて認識対象物体を動かせるように姿勢を調整する(S1103)。
【0047】
図11:ステップS1104)
ステップS1101で抽出した腕部動作指示が「腕部を認識対象物体へ接触させて動作」である場合はステップS1105へ進み、それ以外であればステップS1106へスキップする。
図11:ステップS1105)
制御部124は、腕部機構126を制御し、腕部を動作させて認識対象物体に接触させて動かす。例えば、ロボット120が認識対象物体の所望箇所を撮影できるように、認識対象物の位置や向きを腕部によって調整する。具体的な手法は、例えば特許文献1に記載されている手法を用いればよい。
図11:ステップS1106)
制御部124は、ロボットカメラ121〜122を起動して画像を撮影する。制御部124は、ロボットカメラ121〜122が撮影した動画像をロボットカメラ画像処理部114に送信する。また、動画像を受信できるようにロボット画像処理部114へその旨のメッセージを送信する。
【0048】
図12は、ロボットカメラ画像処理部114の機能ブロック図である。ロボットカメラ画像処理部114は、画像入力部1141、物体領域抽出部1142、3次元位置推定部1143、物体認識部1144、3次元形状推定部1145を備える。ロボット画像処理部114は、ロボット120上に設けてもよい。
【0049】
画像入力部1141は、ロボット120からメッセージを受信した後に動画像のフレーム列を受信する。画像入力部1141に、符号化された符号化ストリームが入力された場合、画像入力部1141は、入力された符号化ストリームを復号し、復号されたストリームの中から、動画像のフレーム画像を抽出する。
【0050】
物体領域抽出部1142は、物体領域抽出部1122と同様の機能を有する。あるいは特許文献1記載のように動画像から動き領域画像を抽出し、動き領域画像から物体領域画像を抽出する方法を用いてもよい。
【0051】
3次元位置推定部1143は、ロボット120の3次元位置と向きからロボットカメラ121〜122のカメラパラメータを算出し、そのカメラパラメータを用いて、物体領域抽出部1142が抽出した座標を認識対象空間の3次元座標に変換する。また、その3次元座標の重心座標を算出し、地図・物体情報データベース111に格納する。3次元位置推定部1143は、例えば参考文献1に記載された方法を用いることができる。3次元位置推定部1143の処理は、情報処理装置110が備える3次元位置推定部1123の推定結果の信頼性が低いと判断された場合のみ、これを補完するために実行するようにしてもよい。
【0052】
3次元形状推定部1145は、3次元形状推定部1125と同様の機能を有する。3次元形状推定部1145の処理は、3次元形状推定部1125の推定結果の信頼性が低いと判断された場合のみ、これを補完するために実行するようにしてもよい。
【0053】
物体認識部1144は、物体認識部1124と同様の機能を有する。物体認識部1144の処理は、物体認識部1124の推定結果の信頼性が低いと判断された場合のみ、これを補完するために実行するようにしてもよい。
【0054】
ロボットカメラ画像処理部114がロボット120から送られた動画像を用いて物体を認識する処理フローは、図5と同様である。
【0055】
<実施の形態1:まとめ>
以上のように、本実施形態1に係る物体認識システム1000は、認識対象物体とその周辺物体との間の配置関係を、認識対象空間を俯瞰的に撮影する環境カメラによって客観的に(ロボット120よりも広範な視野範囲で)把握し、これに基づき、ロボット120の腕部によって認識対象物体を動かす手順を決定する。これにより、ロボット120は認識対象物体の外観を確実に撮影できるように、認識対象物体を動かすことができるので、認識性能を向上させることができる。なお、必ずしも認識対象物体の外観全体を撮影することができる必要はなく、所望の範囲内で撮影できればよい。以下の実施形態においても同様である。
【0056】
本実施形態1において、3次元形状推定部1125は、認識対象物体について撮像数が不足している撮像方向がある否かを判断し、移動目標算出部1132は撮像数が不足している向きで認識対象物体を撮影できる方向に、ロボット120の移動目標を設定するようにしてもよい。これにより撮像不足の画像が取得でき、認識精度が向上する。また、撮像した画像を用いて認識対象空間内の3次元形状モデルを作成する場合は、その信頼性が向上する。撮像不足の方向があるか否かを判定する方法は、例えば特開2011−198349号公報に記載の技術を用いることができる。
【0057】
物体認識においては、認識対象物体を正対させて撮像した画像をもとに学習データを作成している場合が多い。そこで本実施形態1において、3次元形状推定部1125は、認識対象物体の回転量を示す回転パラメータを推定し、その信頼度とともに地図・物体情報データベース111上で管理するようにしてもよい。腕部動作決定部1133は、その回転パラメータを用いて、ロボット120が認識対象物体をロボットカメラ121〜122に対して正対させるように腕部を動作させるメッセージを生成する。これにより、ロボット120の腕部機構126を認識対象物体に接触させて認識対象物体を正対した動画像を撮像することができる。その結果、物体認識の成功率を向上させることができる。
【0058】
また、何らかの理由でロボット120の腕部により認識対象物体を移動させることができない場合は、ロボット120と同様の機能を有する第2ロボットを用意し、ロボット撮像方法決定部113から第2ロボットに対して命令を出して、同様の処理を実施させてもよい。第2ロボットは、必ずしもロボット120と厳密に同じサイズ、機能、性能を有するものでなくともよい。例えば、腕部機構126の機能がロボット120とは異なりロボット120が動かすことができない物体であっても動かすことができるような第2ロボットを利用することが考えられる。
【0059】
<実施の形態2>
本発明の実施形態2では、認識対象物体の周辺に、認識対象物を隠す障害物が存在しており、ロボット120はその障害物を避けて認識対象物を撮影することができる位置まで移動する動作例を説明する。本実施形態2に係る物体認識システム1000は、移動目標算出部1132の処理フロー以外は実施形態1と同様であるため、以下では差異点を中心に説明する。
【0060】
図13は、本実施形態2における移動目標算出部1132の処理を説明する図である。図13(a)は上面図、図13(b)は斜視図である。図8で説明した配置図に加えて、認識対象物体の周辺に障害物1204が置かれている。ロボット120は、認識対象物体の位置や向きを動かすことはできるが、障害物1204を動かすことはできないと仮定する。この場合ロボット120は、認識対象物体が障害物1204に隠れない位置(図13の円弧C3上のいずれか)まで移動する必要がある。
【0061】
図14は、移動目標算出部1132が図13においてロボット120の移動目標を算出するフローチャートである。以下、図13の各ステップについて説明する。
図14:ステップS1401)
ステップS901からステップS903までは、図3と同様である。
図14:ステップS1402)
移動目標算出部1132は、円弧C1上の点の中で、認識対象物体の重心802に向かう直線が障害物1204を囲む立方体のX−Z平面と重なる点の集合C4と、重ならない点の集合C3を算出する。
図14:ステップS1403)
移動目標算出部1132は、円弧C3の中でロボット120の現在位置から最も近い位置をロボット120の移動目標に設定する。移動目標の設定は、円弧C3上の位置であればどこまでも構わない。
【0062】
本実施形態2において、認識対象物体を腕部機構126によって動かさない場合、物体配置関係算出部1131は、図7に示すフローチャートのうちステップS701とS702のみを実行するようにしてもよい。その場合、腕部動作決定部1133のステップS1104を省略することもできる。さらにステップS1105を省略することもできる。
【0063】
<実施の形態2:まとめ>
以上のように、本実施形態2に係る物体認識システム1000は、認識対象空間内に認識対象物の他に新たな障害物1204が置かれた場合、環境カメラ101が撮影した画像に基づきこれら物体の配置関係を算出し、ロボット120から見て認識対象物体が障害物1204により隠れない位置までロボット120を移動させる。これにより、障害物1204が存在している場合でも、ロボット120は認識対象物体の外観を確実に撮像できるので、ロボット120による物体の認識性能が向上する。
【0064】
<実施の形態3>
本発明の実施形態3では、実施形態2で説明した障害物1204を腕部機構126によって動かすことができる場合の動作例を説明する。本実施形態3に係る物体認識システム1000は、移動目標算出部1132と腕部動作決定部1133の入出力および処理フローを除いて実施形態1と同様であるため、以下では差異点を中心に説明する。
【0065】
図15は、本実施形態3におけるロボット撮像方法決定部113の機能ブロック図である。移動目標算出部1132と腕部動作決定部1133の間の入力出力関係が実施形態1と異なる以外は、実施形態1におけるロボット撮像方法決定部113と同様である。
【0066】
図16は、本実施形態3における移動目標算出部1132の処理を説明する図である。図16(a)はロボット120と認識対象物体の間の距離Rを示す図、図16(b)はロボット120と障害物1204の間の距離R2を示す図である。障害物1204の重心を1602とする。障害物1204を腕部機構126によって動かすことができる場合、ロボット120はまず腕部機構126が障害物1204まで届く距離R2まで移動して障害物1204を動かし、次に認識対象物体を所望の位置/角度に動かすことができる距離Rまで移動する。ロボット120の前者の移動先を第1移動目標とし、後者の移動先を第2移動目標とする。
【0067】
図17は、移動目標算出部1132が図16においてロボット120の移動目標を算出するフローチャートである。以下、図17の各ステップについて説明する。
図17:ステップS1701〜S1702)
移動目標算出部1132は、図9で説明したステップS901からステップS903(S1701)、および図14で説明したステップS1402(S1702)を実行する。
図17:ステップS1703)
移動目標算出部1132は、障害物1204が存在する場合、障害物1204に関する情報を地図・物体情報データベース111から取り出し、腕部動作決定部1133に出力する。
【0068】
図17:ステップS1704)
移動目標算出部1132は、認識対象物体を障害物1204に置き換えて、ステップS901からステップS903と同様の処理を実行し、円弧C5を算出する。
図17:ステップS1705)
移動目標算出部1132は、円弧C5のうち、ロボット120の現在位置から最も近い点を第1移動目標に設定する。第1移動目標の設定は、円弧C5上の点であればどこでも構わない。
図17:ステップS1706)
移動目標算出部1132は、円弧C3と円弧C4を合わせた円弧の中でロボット120の現在位置から最も近い位置を第2移動目標に設定する。第2移動目標の設定は、円弧C3と円弧C4を合わせた円弧上の位置であればどこでも構わない。
【0069】
本実施形態3における腕部動作決定部1133は、移動目標算出部1132が算出した認識対象物体の周辺にある障害物1204の情報を受け取り、腕部の動作を決定し、ロボット120に送信する。詳細は後述の図18で説明する。
【0070】
図18は、本実施形態3における腕部動作決定部1133の処理フロー図である。本フローチャートにおいて、ロボット120が障害物1204を動かす際に、障害物1204が物体804の上から落下しないようにすることを前提とする。以下、図18の各ステップについて説明する。
図18:ステップS1801)
腕部動作決定部1133は、移動目標算出部1132から受け取った障害物1204の情報から配置状態を取り出す。その配置状態が「接触により移動の恐れある状態で存在」であればステップS1802へ進み、それ以外の場合はステップS1804へ進む。
図18:ステップS1802)
腕部動作決定部1133は、ロボット120の腕部を障害物1204に接触させることは不可と判断し、第1移動目標を円弧C3の中でロボット120の現在位置から最も近い位置に設定しなおし、第2移動目標を削除する。
【0071】
図18:ステップS1803)
障害物1204を動かすことができない場合、障害物1204が邪魔になるので、認識対象物体を動かすこともできないと思われる。そこで腕部動作決定部1133は、「腕部動作なし」を示すメッセージをロボット制御指示生成部1134に出力する。
図18:ステップS1804)
腕部動作決定部1133は、腕部を障害物1204に接触させて動かすことができると判断し、障害物1204の移動先を、円弧C3と円弧C4を合わせた円弧と認識対象物体の重心802を結ぶ扇形領域以外の範囲に設定する。
【0072】
図18:ステップS1805)
腕部動作決定部1133は、第1腕部動作として「腕部を障害物1204へ接触させて移動先に移動させる」を示すメッセージをロボット制御指示生成部1134に送信する。
図18:ステップS1806)
腕部動作決定部1133は、障害物1204を動かした後に認識対象物体の位置と向きを調整するため、第2腕部動作として「腕部を認識対象物体へ接触させて動作」を示すメッセージをロボット制御指示生成部1134に出力する。
【0073】
図16および図17では、円弧C3と円弧C4を合わせた円弧と認識対象物体の重心802を結ぶ扇形領域に障害物1204が1つだけ存在する例を説明したが、障害物1204が複数存在する場合でも本実施形態3で説明した動作を適用することができる。その場合、移動目標算出部1132は、障害物1204毎にステップS1703からステップS1705を実行し、第1移動目標と第2移動目標の間にロボット120の新たな移動目標を追加する処理を障害物1204の個数分実行すればよい。また、腕部動作決定部1133はステップS1804とステップS1805を障害物1204の個数分実行し、第1腕部動作と第2腕部動作の間に新たな腕部動作として追加する処理を障害物1204の個数分実行すればよい。
【0074】
認識対象物体と障害物1204以外の物体Kがあり、その物体Kと障害物1204との間の位置関係が、障害物1204と認識対象物体の間の位置関係と同様になっている場合は、障害物1204を新たな認識対象物体と置き換え、また、障害物1204を物体Kと置き換えて図17に示す移動目標算出部1132のフローチャートおよび図18に示す腕部動作決定部1133のフローチャートを実行すればよい。さらに繰り返される場合も同様に置き換えて処理すればよい。
【0075】
ステップS1804において、障害物1204が物体804の上にある場合は、円弧C3と円弧C4を合わせた円弧と認識対象物体の重心802を結ぶ扇形領域以外の範囲のうち、物体804上のX−Z平面部分を移動目標として設定してもよい。円弧C5が存在しない場合は、ステップS1804〜ステップS1806のみ実行するようにしてもよい。
【0076】
図19は、環境カメラ101を用いて認識対象物を撮影する際に、障害物1204が視野を遮っている様子を示す図である。図18のステップS1804において、障害物1204の移動目標を、環境カメラ101と重心802を結ぶ直線Lに重ならない位置に設定し、ロボット120の腕部機構126で障害物1204を移動させた後に、環境カメラ画像処理部112の処理を再実行してもよい。これにより、環境カメラ101で認識対象物体を撮影することができるようになるので、ロボット120単体で認識対象物体を撮影するよりも物体認識の性能が向上する。
【0077】
<実施の形態3:まとめ>
以上のように、本実施形態3に係る物体認識システム1000は、認識対象空間内に認識対象物の他に新たな障害物1204が置かれた場合、環境カメラ101が撮影した画像に基づきこれら物体の配置関係を算出し、ロボット120から見て認識対象物体が障害物1204により隠れない位置まで障害物1204を移動させる。これにより、障害物1204が存在している場合でも、ロボット120は認識対象物体の外観を確実に撮像できるので、ロボット120による物体の認識性能が向上する。
【0078】
また、本実施形態3の図16および図17において、円弧C3と円弧C4を合わせた円弧と重心802を結ぶ扇形領域に障害物1204が複数個存在する場合、各物体を整理して、カメラ101およびロボット120から新たな認識対象物体を見ることができる範囲を最大化するように、各物体の移動先を設定してもよい。例えば、各物体の重心間距離が均等になるように移動先を設定する。これにより、新たに認識対象物体が認識対象空間上に置かれた場合でも、カメラ101およびロボット120から新たな認識対象物体を撮影できる確率が向上する。
【0079】
また、本実施形態3において、何らかの理由でロボット120の腕部により障害汚物1204を移動させることができない場合は、ロボット120と同様の機能を有する第2ロボットを用意し、障害物1204を移動させるようにしてもよい。実施形態1で説明したものと同様に、第2ロボットは必ずしもロボット120と全く同じ仕様でなくともよい。
【0080】
<実施の形態4>
図20は、本発明の実施形態4に係る物体認識システム1000のうち情報処理装置110の周辺構成を抜粋した構成図である。本実施形態4に係る物体認識システム1000は、実施形態1〜3で説明した構成に加えて、新たに通知部103を備える。また情報処理装置110は、通知処理部115を備える。その他の構成は実施形態1〜3と同様であるため、以下では差異点を中心に説明する。なお図20において、一部の構成要素を省略していることを付言しておく。
【0081】
通知部103は、情報処理装置110が出力するユーザ宛のメッセージをユーザへ通知する。例えば、スピーカ、ディスプレイ、電子メール等の手段を用いることができる。通知処理部115は、通知部103が出力するメッセージを生成する機能部である。詳細は後述の図21で説明する。
【0082】
通知処理部115は、これらの機能を実現する回路デバイスなどのハードウェアを用いて実現することもできるし、CPUなどの演算装置とその動作を規定するソフトウェアを用いて実現することもできる。
【0083】
図21は、通知処理部115の機能ブロック図である。通知処理部115は、物体配置関係算出部1151、通知情報生成部1152を備える。物体配置関係算出部1151は物体配置関係算出部1131と同様の機能を備える。
【0084】
通知情報生成部1152の処理を、図19を用いて説明する。通知情報生成部1152は、認識対象物体の重心802とカメラ101との間の直線Lを求める。続いて、直線L上に障害物1204が重なる場合は、カメラ101は障害物1204が原因で認識対象物体の外観が撮影できない旨を示す通知メッセージを生成する。
【0085】
通知部103がディスプレイである場合は、例えば通知メッセージとして、カメラ101で撮影された画像に「障害物1204が原因で認識対象物体の外観が撮影できない」旨を表す文字列をインポーズして生成する。通知部103がスピーカである場合は、例えば「障害物1204が原因で認識対象物体の外観が撮影できない」旨を発話する音声を生成する。通知部103が電子メール等の通信手段である場合は、例えば「障害物1204が原因で認識対象物体の外観が撮影できない」旨を表すテキストを生成する。
【0086】
図19では1台のカメラ101のみを示しているが、複数台のカメラがあっても構わない。その場合、各カメラ101について前述の通知情報生成部1152の処理を同様に実施すればよい。また、ロボット120が認識対象物体を撮影する際に障害となる物体がある場合でも、同様のメッセージを提示することができる。
【0087】
<実施の形態4:まとめ>
以上のように、本実施形態4に係る物体認識システム1000は、環境カメラ101が撮影した画像上で認識対象物体を隠す障害物1204が存在する場合、その旨を示す通知メッセージを生成し、通知部103を介してユーザに通知する。これにより、環境カメラ101が認識対象物体を確実に撮像できるように障害物1204を動かすことを促し、認識対象物体の認識性能を向上させることができる。
【0088】
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
【0089】
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。
【符号の説明】
【0090】
101:カメラ、102:通信部、103:通知部、110:情報処理装置、111:地図・物体情報データベース、112:環境カメラ画像処理部、1121:画像入力部、1122:物体領域抽出部、1123:3次元位置推定部、1124:物体認識部、1125:3次元形状推定部、113:ロボット撮像方法決定部、1131:物体配置関係算出部、1132:移動目標算出部、1133:腕部動作決定部、1134:ロボット制御指示生成部、114:ロボットカメラ画像処理部、1141:画像入力部、1142:物体領域抽出部、1143:3次元位置推定部、1144:物体認識部、1145:3次元形状推定部、115:通知処理部、1151:物体配置関係算出部、1152:通知情報生成部、120:ロボット、121〜122:ロボットカメラ、123:通信部、124:制御部、125:移動機構、126:腕部機構、127:地図・物体情報データベース、1000:物体認識システム、1204:障害物。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21