特許第6925306号(P6925306)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ KDDI株式会社の特許一覧

<>
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000014
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000015
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000016
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000017
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000018
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000019
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000020
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000021
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000022
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000023
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000024
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000025
  • 特許6925306-オブジェクトポーズ推定装置および方法 図000026
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6925306
(24)【登録日】2021年8月5日
(45)【発行日】2021年8月25日
(54)【発明の名称】オブジェクトポーズ推定装置および方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20210812BHJP
   G06T 19/00 20110101ALI20210812BHJP
【FI】
   G06T7/00 660B
   G06T19/00 A
【請求項の数】8
【全頁数】16
(21)【出願番号】特願2018-163721(P2018-163721)
(22)【出願日】2018年8月31日
(65)【公開番号】特開2020-35388(P2020-35388A)
(43)【公開日】2020年3月5日
【審査請求日】2020年7月6日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】サビリン ホウアリ
(72)【発明者】
【氏名】内藤 整
【審査官】 岡本 俊威
(56)【参考文献】
【文献】 特開2014−120093(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
視点の異なる複数のカメラで撮影したカメラ画像からオブジェクトを抽出する手段と、
カメラ画像ごとに各オブジェクトのポーズを模したオブジェクトモデルを構築する手段と、
カメラ画像ごとに各オブジェクトモデルの各部位の位置情報集合を生成する手段と、
カメラ座標系を各画面座標系に投影する変換行列を求める手段と、
各カメラ画像上に他のカメラ画像から各オブジェクトモデルの位置情報集合を前記変換行列に基づいて投影する手段と、
カメラ画像ごとに当該カメラ画像において構築したオブジェクトモデルの位置情報集合を他のカメラ画像から投影した位置情報集合に基づいて修正する手段とを具備したことを特徴とするオブジェクトポーズ推定装置。
【請求項2】
前記抽出したオブジェクトごとにその3Dモデルを構築する手段と、
各カメラ画像上に前記3Dモデルを投影する手段と、
カメラ画像ごとに、各オブジェクトモデルの位置情報集合と投影された3Dモデルの位置情報とを対応付ける手段とを具備したことを特徴とする請求項1に記載のオブジェクトポーズ推定装置。
【請求項3】
各カメラ画像から抽出される複数のオブジェクト間の距離をそれぞれのオブジェクトモデルの位置情報集合に基づいて計算する手段と、
オブジェクトモデル間の距離が所定の閾値を下回るオブジェクトを識別する手段とを具備し、
前記位置情報集合を修正する手段は、前記距離が所定の閾値を下回るオブジェクトモデルの位置情報集合を修正することを特徴とする請求項1または2に記載のオブジェクトポーズ推定装置。
【請求項4】
カメラ画像ごとに、他のカメラ画像から投影された位置情報集合に基づいてオブジェクト間の距離が最も離れている他のカメラ画像を判断し、当該他のカメラ画像から投影された位置情報集合に基づいて、前記構築したオブジェクトの位置情報集合を修正することを特徴とする請求項1ないし3のいずれかに記載のオブジェクトポーズ推定装置。
【請求項5】
前記オブジェクトモデルが複数の身体パーツを複数の身体ジョイントで連結して構成され、前記位置情報集合が、各身体ジョイントおよび各身体パーツの位置情報を含むことを特徴とする請求項1ないし4のいずれかに記載のオブジェクトポーズ推定装置。
【請求項6】
前記各身体パーツが長方形状で模擬され、当該身体パーツの位置が前記長方形状の上辺の中点および下辺の中点の2点で定義されることを特徴とする請求項5に記載のオブジェクトポーズ推定装置。
【請求項7】
コンピュータが、
視点の異なる複数のカメラで撮影した各カメラ画像からオブジェクトを抽出し、
カメラ画像ごとに各オブジェクトのポーズを模したオブジェクトモデルを構築し、
カメラ画像ごとに各オブジェクトモデルの各部位の位置情報集合を生成し、
カメラ座標系を各画面座標系に投影する変換行列を求め、
各カメラ画像上に他のカメラ画像から各オブジェクトモデルの位置情報集合を前記変換行列に基づいて投影し、
カメラ画像ごとに当該カメラ画像において構築したオブジェクトモデルの位置情報集合を他のカメラ画像から投影した位置情報集合に基づいて修正することを特徴とするオブジェクトポーズ推定方法。
【請求項8】
前記抽出したオブジェクトごとにその3Dモデルを構築し、
各カメラ画像上に前記3Dモデルを投影し、
カメラ画像ごとに、各オブジェクトモデルの位置情報集合と投影された3Dモデルの位置情報とを対応付けることを特徴とする請求項7に記載のオブジェクトポーズ推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オブジェクを模したオブジェクトモデルのポーズを推定する装置および方法に係り、特に、オブジェクト間にオクルージョンが発生しているカメラ画像に基づいて生成したオブジェクトポーズを、オブジェクト間にオクルージョンが発生していないカメラ画像に基づいて生成したオブジェクトポーズに基づいて修正するオブジェクトポーズ推定装置および方法に関する。
【背景技術】
【0002】
自由視点のアプリケーションでは、ビルボードモデルを使用してオブジェクトをモデル化し、合成したカメラビュー内のオブジェクトテクスチャを決定する。自由視点でのビルボードモデルの問題は、合成された画像の視点が実際のカメラの視点と異なることに起因する。
【0003】
例えば、合成された自由視点画像が、対象物の周りの4つのカメラ画像に基づいて生成される場合、それらの2つのカメラの間の仮想ビュー内の対象物のビルボードモデルは、スキューまたはストレッチ効果といった不自然な視界を生じさせる。さらに、オブジェクトにオクルージョンが発生すると、合成されたビデオ内のオブジェクトの正しい位置の決定に影響を及ぼしてしまう。
【0004】
このような技術課題に対して、本発明の発明者等は、カメラ画像からオブジェクトを抽出し、そのポーズを模したオブジェクトモデルを構築することで、オクルージョンにかかわらず各オブジェクトのポーズを推定できる技術を発明し、特許出願(特許文献1,2)した。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特願2017-043077号
【特許文献2】特願2018-058056号
【発明の概要】
【発明が解決しようとする課題】
【0006】
カメラ画像から抽出した複数のオブジェクトが相互にオクルージョン状態にあり、かつその重なり量が多いと、各オブジェクトのポーズをオブジェクトモデルで正確に模すことができないため、各オブジェクトを正確に認識することが困難となる。
【0007】
しかしながら、複数のオブジェクトを視点の異なる複数台のカメラで撮影すると、図2に示したように、一部のカメラ画像(CAM_5,CAM_10)ではオクルージョンにより各オブジェクトを識別できない場合であっても、他のカメラ画像(CAM_1,CAM_2…)ではオクルージョンが生じていないために各オブジェクトを識別できる場合がある。したがって、オクルージョンが生じていないカメラ画像での認識結果を、オクルージョンが生じているカメラ画像の認識結果に反映できれば、いずれの視点でも各オブジェクトを正確に認識できるようになる。
【0008】
本発明の目的は、上記の技術課題を解決し、複数のオブジェクトを視点の異なる複数台のカメラで撮影し、オブジェクト間にオクルージョンが生じる視点で撮影されたカメラ画像における各オブジェクトの認識結果を、オクルージョンが生じていない視点で撮影されたカメラ画像における認識結果を利用して修正できるオブジェクトポーズ推定装置および方法を提供することにある。
【課題を解決するための手段】
【0009】
上記の目的を達成するために、本発明は、以下のような手段を講じた点に特徴がある。
【0010】
(1) 視点の異なる複数のカメラで撮影したカメラ画像からオブジェクトを抽出する手段と、カメラ画像ごとに各オブジェクトのポーズを模したオブジェクトモデルを構築する手段と、カメラ画像ごとに各オブジェクトモデルの各部位の位置情報集合を生成する手段と、カメラ座標系を画面座標系に投影する変換行列を求める手段と、各カメラ画像上に他のカメラ画像から各オブジェクトモデルの位置情報集合を前記変換行列に基づいて投影する手段と、カメラ画像ごとに当該カメラ画像において構築したオブジェクトモデルの位置情報集合を他のカメラ画像から投影した位置情報集合に基づいて修正する手段とを具備した。
【0011】
(2) 前記抽出したオブジェクトごとにその3Dモデルを構築する手段と、各カメラ画像上に前記3Dモデルを投影する手段と、カメラ画像ごとに、各オブジェクトモデルの位置情報集合と投影された3Dモデルの位置情報とを対応付ける手段とを具備した。
【0012】
(3) 各カメラ画像から抽出される複数のオブジェクト間の距離をそれぞれのオブジェクトモデルの位置情報集合に基づいて計算する手段と、オブジェクトモデル間の距離が所定の閾値を下回るオブジェクトを識別する手段とを具備し、前記位置情報集合を修正する手段は、前記距離が所定の閾値を下回るオブジェクトモデルの位置情報集合を修正するようにした。
【0013】
(4) カメラ画像ごとに、他のカメラ画像から投影された位置情報集合に基づいてオブジェクト間の距離が最も離れている他のカメラ画像を判断し、当該他のカメラ画像から投影された位置情報集合に基づいて、前記構築したオブジェクトの位置情報集合を修正するようにした。
【発明の効果】
【0014】
本発明によれば、以下のような効果が達成される。
【0015】
(1) 複数のオブジェクトを視点の異なる複数台のカメラで撮影し、オブジェクト間にオクルージョンが生じている視点のカメラ画像における各オブジェクトの認識結果を、オクルージョンが生じていない視点のカメラ画像における認識結果を利用して修正するので、オブジェクト間にオクルージョンが生じる視点でも各オブジェクトを正確に認識できるようになる。
【0016】
(2) オブジェクトの3次元モデルとオブジェクトを模したオブジェクトモデルとの位置関係を対応付けることができるので、カメラ画像に映るオブジェクトとそのオブジェクトモデルとを対応付けられるようになる。
【0017】
(3) 各カメラ画像においてオブジェクト間にオクルージョンが生じているか否かを各オブジェクトモデルの相対的な位置関係に基づいて判断するので、オブジェクト間にオクルージョンが生じているか否かを客観的かつ正確に判断できるようになる。
【0018】
(4) オクルージョンが生じているカメラ画像における各オブジェクトの認識結果を修正する際に基準となるオブジェクトモデルとして、オブジェクト間の距離が最も離れているカメラ画像から投影されたオブジェクトモデルの位置情報集合を採用するので、オクルージョン状態である可能性が最も低いオブジェクトモデルを用いた修正が可能になる。
【図面の簡単な説明】
【0019】
図1】本発明の一実施形態に係るオブジェクトポーズ推定装置の主要部の構成を示した機能ブロック図である。
図2】カメラの視点ごとにオブジェクト同士の重なりが異なる例を示した図である。
図3】オブジェクトモデルの一例を示した図である。
図4】オブジェクトモデルを構成する身体ジョイントBJの一覧を示した図である。
図5】身体パーツPBの一覧および各身体パーツの長さ比を示した図である。
図6】身体パーツBPと身体ジョイントBJとの連結条件を示した図である。
図7】各身体ジョイント間の距離比の定義を示した図である。
図8】オブジェクトモデルの調整方法を示した図である。
図9】3Dモデル投影の投影方法を示した図である。
図10】ポーズテーブルの構築手順を示したフローチャートである。
図11】ポーズテーブルの一例を示した図である。
図12】POSE/ポイント対応付部12およびポーズテーブル更新部13の動作を示した図である。
図13】ポーズテーブル更新部13の動作を示したフローチャートである。
【発明を実施するための形態】
【0020】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明の一実施形態に係るオブジェクトポーズ推定装置の主要部の構成を示した機能ブロック図であり、カメラ画像CAMから抽出した人物のオブジェクトの位置及び姿勢(以下、ポーズで総称する)をオブジェクトモデルで模擬することでオブジェクトのポーズを定量的に推定できるようにする。
【0021】
本発明のオブジェクトポーズ推定装置は、汎用のコンピュータに、後述する各機能を実現するアプリケーション(プログラム)を実装することで構成できる。あるいは、アプリケーションの一部がハードウェア化またはROM化された専用機や単能機として構成することもできる。
【0022】
カメラ画像取得部1は、視点(立脚点)の異なる複数台(ここでは、N台)のカメラcam1,cam2…camNからカメラ画像CAM_1,CAM_2…CAM_Nを取得する。背景画像取得部2は、オブジェクトが存在しない環境下で撮影した背景画像をカメラごとに取得して蓄積する。オブジェクト取得部3は、オブジェクトが映ったRGB画像と背景画像との差分が所定の閾値以上となる閉領域をオブジェクトとして抽出する。
【0023】
3Dモデル生成部4は、各カメラ画像から抽出したオブジェクトのRGB画像を用いて各オブジェクトの3次元形状を推定し、その3Dモデルを生成する。推定手法としては、オブジェクトの輪郭情報を用いるVisual-hull手法や、三角測量を用いたMulti-view stereo手法などの公知の手法を適用できる。
【0024】
本実施形態では、図2に示したように、複数のカメラ画像CAM_1,CAM_2…CAM_Nの視点がそれぞれ異なり、一のカメラ画像ではオクルージョン状態にある複数のオブジェクトが、他の一のカメラ画像ではオクルージョン状態に無く、各オブジェクトを個別に認識できる場合がある。したがって、少なくとも一つのカメラ画像上で各オブジェクトが個別に認識されていれば、オブジェクト間でのオクルージョンにより一部のオブジェクトしか認識できないカメラ画像が含まれていても、全てのオブジェクトの3Dモデルを構築できる。
【0025】
マスク生成部5は、検知されたオブジェクトごとにオブジェクトマスクを生成する。オブジェクトモデル構築部6は、前記オブジェクトマスクに基づいて、各オブジェクトのポーズを模したオブジェクトモデルを構築する。
【0026】
図3は、オブジェクトモデルの一例を示した図であり、本実施形態では、10個の身体パーツBP0〜BP9を11個の身体ジョイントBJ0〜BJ10で連結して構成される。各身体パーツBPは長方形状のテンプレートで模擬され、頭パーツ(BP0)は例外的に円形状のテンプレートで模擬される。各身体ジョイントBJは黒丸(●)で表現される。図4は、前記身体ジョイントBJの一覧を示した図であり、図5は、身体パーツPBの一覧および各身体パーツの長さ比を示した図である。
【0027】
また、本実施形態では各身体パーツBP0〜BP9と各身体ジョイントBJ0〜BJ10との連結状態を判断する際の連結条件が図6のテーブル形式で管理されており、各身体ジョイントBJ0〜BJ10と各身体パーツBP0〜BP9との連結は当該連結条件に拘束される。したがって、本実施形態では人物としてあり得ない連結となる推定結果を排除することができる。
【0028】
さらに、本実施形態では図7に示したように、オブジェクトモデルの標準姿勢における各身体ジョイント間の距離比が予め定義されている。各身体ジョイントBJiは、添字iをジョイント識別子(i=0〜10)として、次式(1)のデータ構造で表される。
【0029】
【数1】
【0030】
ここで、括弧{・}内のPi={x,y}は、オブジェクト画像における各身体ジョイントBJの位置を表す。BJi={BJj|0≦j≦10,j≠i}は、当該身体ジョイントBJiに連結している他の身体ジョイントBJjの集合である。BPi={BP0,BP1…BP9}は、次式(2)で示すような身体パーツBPの集合であり、添字kは各身体パーツの識別子である。
【0031】
【数2】
【0032】
ここで、括弧{・}内のRk={x,y,w,h,θ}は、各身体パーツBPkを模擬する長方形テンプレートRkの位置/姿勢を表し、x,yが中心座標、wが幅、hが高さ、θが角度方向を表している。PUk={x,y}およびPLk={x,y}は、長方形テンプレートRkの上端点及び下端点であり、これに連結する身体ジョイントBJiの座標Pi={x,y}に対応する。
【0033】
BPk={BPm|0≦m≦9,m≠k}は、各身体パーツBPkに連結する他の身体パーツBPmの集合である。いくつかの身体パーツBPでは、PUk={x,y}は対応する位置Piと同じ値である。例えば、BP2(右上腕)の上端点PU2は右肩位置P2と同じである。以下、説明を解り易くするために、各身体パーツBPkを模擬する長方形テンプレートRkの位置をRx,yk、幅をRwidthk、高さをRheightk、角度方向をRθkと表現する場合もある。
【0034】
また、本実施形態では簡略化のため、各身体パーツBPkの長方形テンプレートRkに関して、幅のデフォルト値が予めセットされている。上腕および前腕(BP2,BP3,BP4,BP5)の各テンプレート幅Rwidthに関するデフォルト値は、次式(3)に示したように、胴体テンプレートの幅Rwidth1との関係で、ここでは1/4として定義される。
【0035】
同様に、大腿および下腿(BP6, BP7, BP8, BP9)の各テンプレート幅Rwidthに関するデフォルト値は、次式(4)に示したように胴体テンプレートの幅Rwidth1との関係で、ここでは1/3として定義される。
【0036】
【数3】
【0037】
【数4】
【0038】
2つの身体ジョイントが決定されると、図6に記載されるような、対応するBPのパラメータの値を容易に計算できる。例えば、BJ2(右肩)およびBJ3(右肘)の位置が決まれば、BP2(右上腕)のパラメータは次式(5)のように決定される。
【0039】
【数5】
【0040】
ここで、HALF(BJ2,BJ3)は、位置P2,P3の中間座標であり、θBJ2,BJ3は位置P2,P3を結ぶ線分の角度である。
【0041】
前記オブジェクトモデル構築部6は、図8(a)に示したように、オブジェクトを模したオブジェクトモデルをオブジェクトマスクに投影する。オブジェクトモデルの姿勢(傾き)は、オブジェクトマスクのピクセル分布に基づいて推定できる。
【0042】
オブジェクトモデル調節部7は、図8(b),(c),(d)に示したように、オブジェクトマスクに合わせて前記オブジェクトモデルの腕部および脚部の位置、姿勢およびサイズを調整する。本実施形態では、オブジェクトマスクにおける腕部を推定し、オブジェクトモデルの腕部を構成する上腕パーツBP2(BP4)、前腕パーツBP3(BP5)および肘ジョイントBJ3(BJ5)をオブジェクトマスクの腕部の各位置に配置できるように各身体パーツBPおよび身体ジョイントBJの位置、姿勢およびサイズを調整する。
【0043】
オブジェクトモデル調節部7は更に、オブジェクトマスクにおける脚部を推定し、オブジェクトモデルの脚部を構成する大腿パーツBP6(BP8)、下腿パーツBP7(BP9)および膝ジョイントBJ8(BJ10)をオブジェクトマスクMの脚部の各位置に配置できるように各身体パーツBPおよび身体ジョイントBJの位置、姿勢およびサイズを調整する。なお、オブジェクトモデル調整部7による身体パーツBPおよび身体ジョイントBJの調整方法について、本発明の発明者等による特許出願(特許文献2)にその詳細が説明されているので、ここにその説明を援用する。
【0044】
POSE生成部8は、オブジェクトモデルごとに、その位置や姿勢を定量的に表現するポーズデータPOSEを生成する。本実施形態では、POSEが次式(6)で表される。
【0045】
【数6】
【0046】
ここで、符号nは各オブジェクトモデルで模したオブジェクトが抽出されたカメラの識別子(1≦n≦N)であり、符号sはオブジェクトモデルの各カメラ画像内での識別子(POSE識別子)であり、BP_snは、当該オブジェクトモデルを構成する10個のBP(BP0〜BP9)の位置情報集合を含み、BJ_snは、当該オブジェクトモデルを構成する11個のBJ(BJ0〜BJ10)の位置情報集合を含んでいる。
【0047】
各PBの位置情報は、その上辺の中点PUおよび下辺の中点PLの2点の座標位置で定義され、各PJの位置情報は各PJの座標位置で定義される。したって、例えばPOSE_21は1番目のカメラ画像から抽出された1番目のオブジェクトのPOSEであり、そのオブジェクトモデルを構成する10個のBPの位置情報および11個のBJの位置情報が含まれる。
【0048】
投影部9は、投影行列計算部901、3Dモデル投影部902及びオブジェクトモデル投影部903を含む。投影行列計算部901は、各カメラの較正データ(カメラパラメータ)を取得し、3Dビュー内のテクスチャ画像内の全てのポイントを2Dビューへ投影する(カメラ座標系を各カメラの画面座標系に投影する)ための投影行列Qをカメラごとに計算する。
【0049】
カメラパラメータには、少なくともカメラの焦点距離および主点を決定するためのカメラ固有パラメータおよびカメラの動きを決定するための外部パラメータ行列が含まれる。この外部パラメータ行列は、次式(7)で表される従来の計算方法で与えられる。本実施形態では、カメラ歪みは内部パラメータによって既に定義されており、全てのカメラcam1〜camNについて、それぞれ投影行列Q={Q_1,Q_2...Q_N}が求められる。
【0050】
【数7】
【0051】
3Dモデル投影部902は、図9に示したように、前記構築されたオブジェクトの3Dモデルの外表面に位置する全てのポイント(ピクセル)の3三次元位置情報を点群データとして抽出し、この点群データを、前記投影行列Q_1,Q_2…Q_Nに基づいて各カメラ画像へそれぞれ投影する。オブジェクトモデル投影部903は、各カメラ画像から抽出されたオブジェクトごとに、そのオブジェクトモデルに基づいて生成したポーズデータPOSEを、自身のカメラ画像以外の他の全てのカメラ画像に各投影行列Qを用いて投影する。
【0052】
ポーズテーブル構築部10は、前記オブジェクトモデル投影部903により各カメラ画像に投影されたポーズデータPOSE={BP,BJ}に基づいてポーズテーブルを構築する。
【0053】
図10は、ポーズテーブル構築部10によるポーズテーブルの構築手順を示したフローチャートであり、図11は、ポーズテーブルの一例を示した図である。
【0054】
図10,11において、POSE_ijは、j番目のカメラ画像CAM_jから抽出したi番目のオブジェクトを模したオブジェクトモデルの各BP_ij,各BJ_ijの位置情報集合を表し、POSE_ij_Nは、POSE_ijをN番目のカメラ画像CAM_Nへ投影した際の各BP_ij,各BJ_ijの投影先での位置情報集合を表している。
【0055】
BP_ij_Nは、j番目のカメラ画像CAM_jから抽出したi番目のオブジェクトを模したオブジェクトモデルのBP_ijをN番目のカメラ画像へ投影した際の投影先の位置情報を表している。同様に、BJ_ij_Nは、j番目のカメラ画像CAM_jから抽出したi番目のオブジェクトを模したオブジェクトモデルのBP_ijをN番目のカメラ画像へ投影した際の投影先の位置情報を表している。
【0056】
図10において、ステップS101では、カメラ画像CAM_1から抽出したオブジェクトを模したオブジェクトモデルのポーズデータがポーズテーブルに登録される。すなわち、カメラ画像CAM_1から抽出した1番目のオブジェクトを模したオブジェクトモデルの各BP(BP_11)の2番目のカメラ画像CAM_2への投影が次式(8)にしたがって実行され、その投影結果BP_11_2がポーズテーブルに登録される。
【0057】
同様に、3番目のカメラ画像CAM_3への投影が次式(9)にしたがって実行され、その投影結果BP_11_3がポーズテーブルに登録される。以下同様に、これを全てのカメラ画像に対して繰り返すことでBP_11_2,BP_11_3…BP_11_Nがポーズテーブルに登録される。
【0058】
【数8】
【0059】
オブジェクトモデルの各BJについても、カメラ画像CAM_1から抽出した1番目のオブジェクトを模したオブジェクトモデルの各BJ(BJ_11)の2番目のカメラ画像CAM_2への投影が実行され、その投影結果BJ_11_2がポーズテーブルに登録される。同様に、3番目のカメラ画像CAM_3への投影が実行され、その投影結果BJ_11_3がポーズテーブルに登録され、これを全てのカメラ画像に対して繰り返すことでBJ_11_2,BJ_11_3…BJ_11_Nがポーズテーブルに登録される。
【0060】
次いで、カメラ画像CAM_1から抽出した2番目のオブジェクトを模したオブジェクトモデルの各BP,BJ(BP_21,BJ_21)の各カメラ画像への投影、カメラ画像CAM_1から抽出した3番目のオブジェクトを模したオブジェクトモデルの各BP,BJ(BP_31,BJ_31)の各カメラ画像への投影…カメラ画像CAM_1から抽出したS番目のオブジェクトを模したオブジェクトモデルの各BP,BJ(BP_S1,BJ_S1)の各カメラ画像への投影が実行され、各投影結果がポーズテーブルに登録される。
【0061】
以上のようにして、1番目のカメラ画像から抽出した各オブジェクトに関して推定されたBP,BJのポーズテーブルへの登録が完了するとステップS102へ進み、カメラ画像CAM_2から抽出したオブジェクトを模したオブジェクトモデルに関するポーズデータの投影結果がポーズテーブルに登録され、これが3番目のカメラ画像から抽出したオブジェクトモデルのポーズデータ…N番目のカメラ画像から抽出したオブジェクトモデルのポーズデータに対して繰り返される。
【0062】
一般的な計算は、s番目のオブジェクトのM番目のカメラについて次式(10)-(12)のように定式化される。
【0063】
【数9】
【0064】
図11のポーズテーブルには、カメラごとに(cam1,cam2,camN)、かつオブジェクトモデルのポーズデータごとに、各カメラ画像から投影されたオブジェクトモデルの各BP,BJの位置情報が登録され、各ポースデータPOSEは次式(13)で表される。
【0065】
【数10】
【0066】
POSE/ポイント対応付部12は、カメラ画像ごとに各POSEと各3Dモデルとの距離を計算し、距離の近いPOSEと3Dモデルとを対応付ける。POSEと3Dモデルとの距離は、POSEに含まれる各部(BP,BJ)の位置を代表する位置情報と3Dモデルの各ポイントの投影座標との距離の総和や平均値で代表できる。なお、3Dモデルにおいて各BP,BJに相当する位置を識別できる場合には、3Dモデル上で各BP,BJに相当するポイントを識別して、各POSEの対応するBP,BJとの距離を求め、その総和や平均値で代表するようにしても良い。
【0067】
ポーズテーブル更新部13はポーズ分離部1301を含み、オクルージョンにより統合されているポーズデータを、投影されたポーズデータに基づいて分離することで、オクルージョンにより全てのオクルージョンを抽出できなかったカメラ画像で全てのオブジェクトを認識できるようにポーズテーブルを更新する。
【0068】
以下、POSE/ポイント対応付部12およびポーズテーブル更新部13の動作を図12および図13のフローチャートに沿って説明する。本実施形態では、図12(a)に示したように、視点(立脚点)の異なる3つのカメラcam1〜cam3を用いて2つのオブジェクトを撮影したところ、カメラ画像CAM_1では各オブジェクトが独立して認識されているので2つのポーズデータPOSE_11,POSE_21が得られているが、カメラ画像CAM_2,CAM_3では、オブジェクト同士のオクルージョンにより1つのポーズデータしか得られていない。
【0069】
ステップS201では、各ポーズデータPOSEと3Dモデルの各ポイントとが対応付けられる。本実施形態では、図12(b)に示したように、カメラ画像CAM_1ではPOSE_11が一方の3Dモデルのポイント群POINT_1と対応付けられ、POSE_21が他方の3Dモデルのポイント群POINT_2と対応付けられる。
【0070】
カメラ画像CAM_2では、POSE数が「1」なのに対して3Dモデル数が「2」なので個数が相違する。したがって、一方の3Dモデルの座標群POINT_1および他方の3Dモデルの座標群POINT_2が、いずれも唯一のポーズデータPOSE_X2と対応付けられる(CORR(POSE_X2,POINTS_1),CORR(POSE_X2,POINTS_2)。
【0071】
同様に、カメラ画像CAM_3でもPOSE数と3Dモデル数とが相違するので、一方の3Dモデルの座標群POINT_1および他方の3Dモデルの座標群POINT_2が、いずれも唯一のポーズデータPOSE_X3と対応付けられる(CORR(POSE_X3,POINTS_1)およびCORR(POSE_X3,POINTS_2)。
【0072】
ステップS202では、分離対象のPOSEが選択される。本実施形態ではPOSE間の距離ΔDが算出され、ΔDが判定閾値ΔDrefを下回っていると、オブジェクトがオクルージョン状態である可能性が高いので分離対象とされる。
【0073】
本実施形態では、カメラ画像CAM_2から得られた2つのエントリ(CORR(POSE_X2,POINTS_1),CORR(POSE_X2,POINTS_2)に関してPOSE間距離が判定閾値ΔDrefを下回るので分離対象とされる。同様に、カメラ画像CAM_3から得られた2つのエントリ(CORR(POSE_X3,POINTS_1),CORR(POSE_X3,POINTS_2)に関してもPOSE間距離が判定閾値ΔDrefを下回るので分離対象とされる。
【0074】
ステップS203では、2つのポーズデータが得られているカメラ画像においてPOSE間距離が算出され、距離の最も離れたポーズデータのペアが基準ポーズに設定される。本実施形態では、距離計算の対象となる2つのポーズに関して、次式(14),(15)に基づいて、対応する各BP間,各BJ間の距離が計算され、その平均値がBP間,BJ間の距離とされる。
【0075】
【数11】
【0076】
【数12】
【0077】
本実施形態では、カメラ画像CAM_1でのみ2つのポーズデータPOSE_11,POSE_21が得られているので、必然的にPOSE_11,POSE_21が基準ポーズに設定される。なお、カメラ画像CAM_1,CAM_4(図示せず)で2つのポーズデータが得られていれば、各ポーズデータで表されるオブジェクトモデル間の距離が最も離れたカメラ画像が判別される。すなわち、カメラ画像CAM_1ではPOSE_11,POSE_21間の距離ΔD1が求められ、カメラ画像CAM_4ではPOSE_14,POSE_24間の距離ΔD4が求められ、各ポーズの対応するBP間およびBJ間のユークリッド距離に基づいてポーズ間の距離が比較される。
【0078】
ステップS204では、前記基準ポーズPOSE_11,POSE_21に基づいて前記分離対象の各ポーズデータPOSE_x2,POSE_x3が分離される。本実施形態では、図12(c),(d)に示したように、前記基準ポーズPOSE_11がPOSE_11_2,POSE_11_3にコピーされ、前記基準ポーズPOSE_21がPOSE_21_2,POSE_21_3にコピーされる。
【0079】
さらに、前記基準ポーズPOSE_11をカメラ画像CAM_2へ投影したPOSE_11_2に基づいてPOSE_12が生成され、前記基準ポーズPOSE_21をカメラ画像CAM_2への投影したPOSE_21_2に基づいてPOSE_22が生成される。同様に、前記基準ポーズPOSE_11をカメラ画像CAM_3へ投影したPOSE_11_3に基づいてPOSE_13が生成され、前記基準ポーズPOSE_21をカメラ画像CAM_3への投影したPOSE_21_3に基づいてPOSE_23が生成される。
【0080】
ステップS5では、図12(e)に示したように、前記POSE_12をカメラ画像CAM_1,CAM_3へ投影することでPOSE_12_1,POSE_12_3が更新され、前記POSE_22をカメラ画像CAM_1,CAM_3へ投影することでPOSE_22_1,POSE_22_3が更新される。同様に、前記POSE_13をカメラ画像CAM_1,CAM_2へ投影することでPOSE_13_1,POSE_13_2が更新され、前記POSE_23をカメラ画像CAM_1,CAM_2へ投影することでPOSE_23_1,POSE_23_2が更新される。
【符号の説明】
【0081】
1…カメラ画像取得部,2…背景画像取得部,3…オブジェクト取得部,4…3Dモデル生成部,5…マスク生成部,6…オブジェクトモデル構築部,7…オブジェクトモデル調節部,8…POSE生成部,9…投影部,10…ポーズテーブル構築部,11…ポーズテーブル構築部,12…POSE/ポイント対応付部,13…ポーズテーブル更新部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13