(57)【要約】【課題】オブジェクト間にオクルージョンが発生しているカメラ画像に基づいて生成したオブジェクトポーズを、オクルージョンが発生していないカメラ画像に基づいて生成したオブジェクトポーズに基づいて修正する。【解決手段】オブジェクト取得部３は、視点の異なる複数のカメラで撮影した各カメラ画像からオブジェクトを抽出する。オブジェクトモデル構築部６は、カメラ画像ごとにオブジェクトを模したオブジェクトモデルを構築する。POSE生成部８は、カメラ画像ごとに各オブジェクトモデルの位置情報を含むポーズデータを生成する。オブジェクトモデル投影部９０３は、各カメラ画像上に他のカメラ画像から各オブジェクトモデルのポーズデータを投影する。ポーズデータ更新部１３は、カメラ画像ごとに当該カメラ画像において構築したオブジェクトモデルのポーズデータを他のカメラ画像から投影したポーズデータに基づいて更新する。【選択図】図１
2020035388.tif 000002
【特許請求の範囲】
【請求項１】
視点の異なる複数のカメラで撮影したカメラ画像からオブジェクトを抽出する手段と、
カメラ画像ごとに各オブジェクトのポーズを模したオブジェクトモデルを構築する手段と、
カメラ画像ごとに各オブジェクトモデルの各部位の位置情報集合を生成する手段と、
カメラ座標系を各画面座標系に投影する変換行列を求める手段と、
各カメラ画像上に他のカメラ画像から各オブジェクトモデルの位置情報集合を前記変換行列に基づいて投影する手段と、
カメラ画像ごとに当該カメラ画像において構築したオブジェクトモデルの位置情報集合を他のカメラ画像から投影した位置情報集合に基づいて修正する手段とを具備したことを特徴とするオブジェクトポーズ推定装置。
【請求項２】
前記抽出したオブジェクトごとにその3Dモデルを構築する手段と、
各カメラ画像上に前記3Dモデルを投影する手段と、
カメラ画像ごとに、各オブジェクトモデルの位置情報集合と投影された3Dモデルの位置情報とを対応付ける手段とを具備したことを特徴とする請求項１に記載のオブジェクトポーズ推定装置。
【請求項３】
各カメラ画像から抽出される複数のオブジェクト間の距離をそれぞれのオブジェクトモデルの位置情報集合に基づいて計算する手段と、
オブジェクトモデル間の距離が所定の閾値を下回るオブジェクトを識別する手段とを具備し、
前記位置情報集合を修正する手段は、前記距離が所定の閾値を下回るオブジェクトモデルの位置情報集合を修正することを特徴とする請求項１または２に記載のオブジェクトポーズ推定装置。
【請求項４】
カメラ画像ごとに、他のカメラ画像から投影された位置情報集合に基づいてオブジェクト間の距離が最も離れている他のカメラ画像を判断し、当該他のカメラ画像から投影された位置情報集合に基づいて、前記構築したオブジェクトの位置情報集合を修正することを特徴とする請求項１ないし３のいずれかに記載のオブジェクトポーズ推定装置。
【請求項５】
前記オブジェクトモデルが複数の身体パーツを複数の身体ジョイントで連結して構成され、前記位置情報集合が、各身体ジョイントおよび各身体パーツの位置情報を含むことを特徴とする請求項１ないし４のいずれかに記載のオブジェクトポーズ推定装置。
【請求項６】
前記各身体パーツが長方形状で模擬され、当該身体パーツの位置が前記長方形状の上辺の中点および下辺の中点の２点で定義されることを特徴とする請求項５に記載のオブジェクトポーズ推定装置。
【請求項７】
コンピュータが、
視点の異なる複数のカメラで撮影した各カメラ画像からオブジェクトを抽出し、
カメラ画像ごとに各オブジェクトのポーズを模したオブジェクトモデルを構築し、
カメラ画像ごとに各オブジェクトモデルの各部位の位置情報集合を生成し、
カメラ座標系を各画面座標系に投影する変換行列を求め、
各カメラ画像上に他のカメラ画像から各オブジェクトモデルの位置情報集合を前記変換行列に基づいて投影し、
カメラ画像ごとに当該カメラ画像において構築したオブジェクトモデルの位置情報集合を他のカメラ画像から投影した位置情報集合に基づいて修正することを特徴とするオブジェクトポーズ推定方法。
【請求項８】
前記抽出したオブジェクトごとにその3Dモデルを構築し、
各カメラ画像上に前記3Dモデルを投影し、
カメラ画像ごとに、各オブジェクトモデルの位置情報集合と投影された3Dモデルの位置情報とを対応付けることを特徴とする請求項７に記載のオブジェクトポーズ推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクを模したオブジェクトモデルのポーズを推定する装置および方法に係り、特に、オブジェクト間にオクルージョンが発生しているカメラ画像に基づいて生成したオブジェクトポーズを、オブジェクト間にオクルージョンが発生していないカメラ画像に基づいて生成したオブジェクトポーズに基づいて修正するオブジェクトポーズ推定装置および方法に関する。
【背景技術】
【０００２】
自由視点のアプリケーションでは、ビルボードモデルを使用してオブジェクトをモデル化し、合成したカメラビュー内のオブジェクトテクスチャを決定する。自由視点でのビルボードモデルの問題は、合成された画像の視点が実際のカメラの視点と異なることに起因する。
【０００３】
例えば、合成された自由視点画像が、対象物の周りの４つのカメラ画像に基づいて生成される場合、それらの２つのカメラの間の仮想ビュー内の対象物のビルボードモデルは、スキューまたはストレッチ効果といった不自然な視界を生じさせる。さらに、オブジェクトにオクルージョンが発生すると、合成されたビデオ内のオブジェクトの正しい位置の決定に影響を及ぼしてしまう。
【０００４】
このような技術課題に対して、本発明の発明者等は、カメラ画像からオブジェクトを抽出し、そのポーズを模したオブジェクトモデルを構築することで、オクルージョンにかかわらず各オブジェクトのポーズを推定できる技術を発明し、特許出願（特許文献１，２）した。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特願2017-043077号
【特許文献２】特願2018-058056号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
カメラ画像から抽出した複数のオブジェクトが相互にオクルージョン状態にあり、かつその重なり量が多いと、各オブジェクトのポーズをオブジェクトモデルで正確に模すことができないため、各オブジェクトを正確に認識することが困難となる。
【０００７】
しかしながら、複数のオブジェクトを視点の異なる複数台のカメラで撮影すると、図２に示したように、一部のカメラ画像（CAM_5，CAM_10）ではオクルージョンにより各オブジェクトを識別できない場合であっても、他のカメラ画像（CAM_1，CAM_2…）ではオクルージョンが生じていないために各オブジェクトを識別できる場合がある。したがって、オクルージョンが生じていないカメラ画像での認識結果を、オクルージョンが生じているカメラ画像の認識結果に反映できれば、いずれの視点でも各オブジェクトを正確に認識できるようになる。
【０００８】
本発明の目的は、上記の技術課題を解決し、複数のオブジェクトを視点の異なる複数台のカメラで撮影し、オブジェクト間にオクルージョンが生じる視点で撮影されたカメラ画像における各オブジェクトの認識結果を、オクルージョンが生じていない視点で撮影されたカメラ画像における認識結果を利用して修正できるオブジェクトポーズ推定装置および方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明は、以下のような手段を講じた点に特徴がある。
【００１０】
(1) 視点の異なる複数のカメラで撮影したカメラ画像からオブジェクトを抽出する手段と、カメラ画像ごとに各オブジェクトのポーズを模したオブジェクトモデルを構築する手段と、カメラ画像ごとに各オブジェクトモデルの各部位の位置情報集合を生成する手段と、カメラ座標系を画面座標系に投影する変換行列を求める手段と、各カメラ画像上に他のカメラ画像から各オブジェクトモデルの位置情報集合を前記変換行列に基づいて投影する手段と、カメラ画像ごとに当該カメラ画像において構築したオブジェクトモデルの位置情報集合を他のカメラ画像から投影した位置情報集合に基づいて修正する手段とを具備した。
【００１１】
(2) 前記抽出したオブジェクトごとにその3Dモデルを構築する手段と、各カメラ画像上に前記3Dモデルを投影する手段と、カメラ画像ごとに、各オブジェクトモデルの位置情報集合と投影された3Dモデルの位置情報とを対応付ける手段とを具備した。
【００１２】
(3) 各カメラ画像から抽出される複数のオブジェクト間の距離をそれぞれのオブジェクトモデルの位置情報集合に基づいて計算する手段と、オブジェクトモデル間の距離が所定の閾値を下回るオブジェクトを識別する手段とを具備し、前記位置情報集合を修正する手段は、前記距離が所定の閾値を下回るオブジェクトモデルの位置情報集合を修正するようにした。
【００１３】
(4) カメラ画像ごとに、他のカメラ画像から投影された位置情報集合に基づいてオブジェクト間の距離が最も離れている他のカメラ画像を判断し、当該他のカメラ画像から投影された位置情報集合に基づいて、前記構築したオブジェクトの位置情報集合を修正するようにした。
【発明の効果】
【００１４】
本発明によれば、以下のような効果が達成される。
【００１５】
(1) 複数のオブジェクトを視点の異なる複数台のカメラで撮影し、オブジェクト間にオクルージョンが生じている視点のカメラ画像における各オブジェクトの認識結果を、オクルージョンが生じていない視点のカメラ画像における認識結果を利用して修正するので、オブジェクト間にオクルージョンが生じる視点でも各オブジェクトを正確に認識できるようになる。
【００１６】
(2) オブジェクトの３次元モデルとオブジェクトを模したオブジェクトモデルとの位置関係を対応付けることができるので、カメラ画像に映るオブジェクトとそのオブジェクトモデルとを対応付けられるようになる。
【００１７】
(3) 各カメラ画像においてオブジェクト間にオクルージョンが生じているか否かを各オブジェクトモデルの相対的な位置関係に基づいて判断するので、オブジェクト間にオクルージョンが生じているか否かを客観的かつ正確に判断できるようになる。
【００１８】
(4) オクルージョンが生じているカメラ画像における各オブジェクトの認識結果を修正する際に基準となるオブジェクトモデルとして、オブジェクト間の距離が最も離れているカメラ画像から投影されたオブジェクトモデルの位置情報集合を採用するので、オクルージョン状態である可能性が最も低いオブジェクトモデルを用いた修正が可能になる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係るオブジェクトポーズ推定装置の主要部の構成を示した機能ブロック図である。
【図２】カメラの視点ごとにオブジェクト同士の重なりが異なる例を示した図である。
【図３】オブジェクトモデルの一例を示した図である。
【図４】オブジェクトモデルを構成する身体ジョイントBJの一覧を示した図である。
【図５】身体パーツPBの一覧および各身体パーツの長さ比を示した図である。
【図６】身体パーツBPと身体ジョイントBJとの連結条件を示した図である。
【図７】各身体ジョイント間の距離比の定義を示した図である。
【図８】オブジェクトモデルの調整方法を示した図である。
【図９】3Dモデル投影の投影方法を示した図である。
【図１０】ポーズテーブルの構築手順を示したフローチャートである。
【図１１】ポーズテーブルの一例を示した図である。
【図１２】POSE／ポイント対応付部１２およびポーズテーブル更新部１３の動作を示した図である。
【図１３】ポーズテーブル更新部１３の動作を示したフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図１は、本発明の一実施形態に係るオブジェクトポーズ推定装置の主要部の構成を示した機能ブロック図であり、カメラ画像CAMから抽出した人物のオブジェクトの位置及び姿勢（以下、ポーズで総称する）をオブジェクトモデルで模擬することでオブジェクトのポーズを定量的に推定できるようにする。
【００２１】
本発明のオブジェクトポーズ推定装置は、汎用のコンピュータに、後述する各機能を実現するアプリケーション（プログラム）を実装することで構成できる。あるいは、アプリケーションの一部がハードウェア化またはROM化された専用機や単能機として構成することもできる。
【００２２】
カメラ画像取得部１は、視点（立脚点）の異なる複数台（ここでは、N台）のカメラcam1，cam2…camNからカメラ画像CAM_1，CAM_2…CAM_Nを取得する。背景画像取得部２は、オブジェクトが存在しない環境下で撮影した背景画像をカメラごとに取得して蓄積する。オブジェクト取得部３は、オブジェクトが映ったRGB画像と背景画像との差分が所定の閾値以上となる閉領域をオブジェクトとして抽出する。
【００２３】
3Dモデル生成部４は、各カメラ画像から抽出したオブジェクトのRGB画像を用いて各オブジェクトの３次元形状を推定し、その3Dモデルを生成する。推定手法としては、オブジェクトの輪郭情報を用いるVisual-hull手法や、三角測量を用いたMulti-view stereo手法などの公知の手法を適用できる。
【００２４】
本実施形態では、図２に示したように、複数のカメラ画像CAM_1，CAM_2…CAM_Nの視点がそれぞれ異なり、一のカメラ画像ではオクルージョン状態にある複数のオブジェクトが、他の一のカメラ画像ではオクルージョン状態に無く、各オブジェクトを個別に認識できる場合がある。したがって、少なくとも一つのカメラ画像上で各オブジェクトが個別に認識されていれば、オブジェクト間でのオクルージョンにより一部のオブジェクトしか認識できないカメラ画像が含まれていても、全てのオブジェクトの3Dモデルを構築できる。
【００２５】
マスク生成部５は、検知されたオブジェクトごとにオブジェクトマスクを生成する。オブジェクトモデル構築部６は、前記オブジェクトマスクに基づいて、各オブジェクトのポーズを模したオブジェクトモデルを構築する。
【００２６】
図３は、オブジェクトモデルの一例を示した図であり、本実施形態では、１０個の身体パーツBP0〜BP9を１１個の身体ジョイントBJ0〜BJ10で連結して構成される。各身体パーツBPは長方形状のテンプレートで模擬され、頭パーツ（BP0）は例外的に円形状のテンプレートで模擬される。各身体ジョイントBJは黒丸（●）で表現される。図４は、前記身体ジョイントBJの一覧を示した図であり、図５は、身体パーツPBの一覧および各身体パーツの長さ比を示した図である。
【００２７】
また、本実施形態では各身体パーツBP0〜BP9と各身体ジョイントBJ0〜BJ10との連結状態を判断する際の連結条件が図６のテーブル形式で管理されており、各身体ジョイントBJ0〜BJ10と各身体パーツBP0〜BP9との連結は当該連結条件に拘束される。したがって、本実施形態では人物としてあり得ない連結となる推定結果を排除することができる。
【００２８】
さらに、本実施形態では図７に示したように、オブジェクトモデルの標準姿勢における各身体ジョイント間の距離比が予め定義されている。各身体ジョイントBJiは、添字ｉをジョイント識別子（i=0〜10）として、次式(1)のデータ構造で表される。
【００２９】
【数１】
2020035388.tif 000003
【００３０】
ここで、括弧{・}内のPi={x,y}は、オブジェクト画像における各身体ジョイントBJの位置を表す。BJi={BJj|0≦j≦10，j≠i}は、当該身体ジョイントBJiに連結している他の身体ジョイントBJjの集合である。BPi={BP0,BP1…BP9}は、次式(2)で示すような身体パーツBPの集合であり、添字ｋは各身体パーツの識別子である。
【００３１】
【数２】
2020035388.tif 000004
【００３２】
ここで、括弧{・}内のRk={x,y,w,h,θ}は、各身体パーツBPkを模擬する長方形テンプレートRkの位置／姿勢を表し、x,yが中心座標、wが幅、hが高さ、θが角度方向を表している。PUk={x,y}およびPLk={x,y}は、長方形テンプレートRkの上端点及び下端点であり、これに連結する身体ジョイントBJiの座標Pi={x,y}に対応する。
【００３３】
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と表現する場合もある。
【００３４】
また、本実施形態では簡略化のため、各身体パーツBPkの長方形テンプレートRkに関して、幅のデフォルト値が予めセットされている。上腕および前腕（BP2，BP3，BP4，BP5）の各テンプレート幅Rwidthに関するデフォルト値は、次式(3)に示したように、胴体テンプレートの幅Rwidth1との関係で、ここでは1/4として定義される。
【００３５】
同様に、大腿および下腿（BP6, BP7, BP8, BP9)の各テンプレート幅Rwidthに関するデフォルト値は、次式(4)に示したように胴体テンプレートの幅Rwidth1との関係で、ここでは1/3として定義される。
【００３６】
【数３】
2020035388.tif 000005
【００３７】
【数４】
2020035388.tif 000006
【００３８】
２つの身体ジョイントが決定されると、図６に記載されるような、対応するBPのパラメータの値を容易に計算できる。例えば、BJ2（右肩）およびBJ3（右肘）の位置が決まれば、BP2（右上腕）のパラメータは次式(5)のように決定される。
【００３９】
【数５】
2020035388.tif 000007
【００４０】
ここで、HALF(BJ2，BJ3)は、位置P2，P3の中間座標であり、θBJ2,BJ3は位置P2，P3を結ぶ線分の角度である。
【００４１】
前記オブジェクトモデル構築部６は、図８(a)に示したように、オブジェクトを模したオブジェクトモデルをオブジェクトマスクに投影する。オブジェクトモデルの姿勢（傾き）は、オブジェクトマスクのピクセル分布に基づいて推定できる。
【００４２】
オブジェクトモデル調節部７は、図８(b)，(c)，(d)に示したように、オブジェクトマスクに合わせて前記オブジェクトモデルの腕部および脚部の位置、姿勢およびサイズを調整する。本実施形態では、オブジェクトマスクにおける腕部を推定し、オブジェクトモデルの腕部を構成する上腕パーツBP2(BP4)、前腕パーツBP3(BP5)および肘ジョイントBJ3(BJ5)をオブジェクトマスクの腕部の各位置に配置できるように各身体パーツBPおよび身体ジョイントBJの位置、姿勢およびサイズを調整する。
【００４３】
オブジェクトモデル調節部７は更に、オブジェクトマスクにおける脚部を推定し、オブジェクトモデルの脚部を構成する大腿パーツBP6(BP8)、下腿パーツBP7(BP9)および膝ジョイントBJ8(BJ10)をオブジェクトマスクMの脚部の各位置に配置できるように各身体パーツBPおよび身体ジョイントBJの位置、姿勢およびサイズを調整する。なお、オブジェクトモデル調整部７による身体パーツBPおよび身体ジョイントBJの調整方法について、本発明の発明者等による特許出願（特許文献２）にその詳細が説明されているので、ここにその説明を援用する。
【００４４】
POSE生成部８は、オブジェクトモデルごとに、その位置や姿勢を定量的に表現するポーズデータPOSEを生成する。本実施形態では、POSEが次式(6)で表される。
【００４５】
【数６】
2020035388.tif 000008
【００４６】
ここで、符号nは各オブジェクトモデルで模したオブジェクトが抽出されたカメラの識別子（1≦n≦N）であり、符号sはオブジェクトモデルの各カメラ画像内での識別子（POSE識別子）であり、BP_snは、当該オブジェクトモデルを構成する１０個のBP（BP0〜BP9）の位置情報集合を含み、BJ_snは、当該オブジェクトモデルを構成する１１個のBJ（BJ0〜BJ10）の位置情報集合を含んでいる。
【００４７】
各PBの位置情報は、その上辺の中点PUおよび下辺の中点PLの２点の座標位置で定義され、各PJの位置情報は各PJの座標位置で定義される。したって、例えばPOSE_21は１番目のカメラ画像から抽出された１番目のオブジェクトのPOSEであり、そのオブジェクトモデルを構成する１０個のBPの位置情報および１１個のBJの位置情報が含まれる。
【００４８】
投影部９は、投影行列計算部９０１、3Dモデル投影部９０２及びオブジェクトモデル投影部９０３を含む。投影行列計算部９０１は、各カメラの較正データ（カメラパラメータ）を取得し、3Dビュー内のテクスチャ画像内の全てのポイントを2Dビューへ投影する（カメラ座標系を各カメラの画面座標系に投影する）ための投影行列Qをカメラごとに計算する。
【００４９】
カメラパラメータには、少なくともカメラの焦点距離および主点を決定するためのカメラ固有パラメータおよびカメラの動きを決定するための外部パラメータ行列が含まれる。この外部パラメータ行列は、次式(7)で表される従来の計算方法で与えられる。本実施形態では、カメラ歪みは内部パラメータによって既に定義されており、全てのカメラcam1〜camNについて、それぞれ投影行列Q={Q_1，Q_2...Q_N}が求められる。
【００５０】
【数７】
2020035388.tif 000009
【００５１】
3Dモデル投影部９０２は、図９に示したように、前記構築されたオブジェクトの3Dモデルの外表面に位置する全てのポイント（ピクセル）の３三次元位置情報を点群データとして抽出し、この点群データを、前記投影行列Q_1，Q_2…Q_Nに基づいて各カメラ画像へそれぞれ投影する。オブジェクトモデル投影部９０３は、各カメラ画像から抽出されたオブジェクトごとに、そのオブジェクトモデルに基づいて生成したポーズデータPOSEを、自身のカメラ画像以外の他の全てのカメラ画像に各投影行列Qを用いて投影する。
【００５２】
ポーズテーブル構築部１０は、前記オブジェクトモデル投影部９０３により各カメラ画像に投影されたポーズデータPOSE=｛BP，BJ｝に基づいてポーズテーブルを構築する。
【００５３】
図１０は、ポーズテーブル構築部１０によるポーズテーブルの構築手順を示したフローチャートであり、図１１は、ポーズテーブルの一例を示した図である。
【００５４】
図１０，１１において、POSE_ijは、j番目のカメラ画像CAM_jから抽出したi番目のオブジェクトを模したオブジェクトモデルの各BP_ij，各BJ_ijの位置情報集合を表し、POSE_ij_Nは、POSE_ijをN番目のカメラ画像CAM_Nへ投影した際の各BP_ij，各BJ_ijの投影先での位置情報集合を表している。
【００５５】
BP_ij_Nは、j番目のカメラ画像CAM_jから抽出したi番目のオブジェクトを模したオブジェクトモデルのBP_ijをN番目のカメラ画像へ投影した際の投影先の位置情報を表している。同様に、BJ_ij_Nは、j番目のカメラ画像CAM_jから抽出したi番目のオブジェクトを模したオブジェクトモデルのBP_ijをN番目のカメラ画像へ投影した際の投影先の位置情報を表している。
【００５６】
図１０において、ステップＳ１０１では、カメラ画像CAM_1から抽出したオブジェクトを模したオブジェクトモデルのポーズデータがポーズテーブルに登録される。すなわち、カメラ画像CAM_1から抽出した１番目のオブジェクトを模したオブジェクトモデルの各BP（BP_11）の２番目のカメラ画像CAM_2への投影が次式(8)にしたがって実行され、その投影結果BP_11_2がポーズテーブルに登録される。
【００５７】
同様に、３番目のカメラ画像CAM_3への投影が次式(9)にしたがって実行され、その投影結果BP_11_3がポーズテーブルに登録される。以下同様に、これを全てのカメラ画像に対して繰り返すことでBP_11_2，BP_11_3…BP_11_Nがポーズテーブルに登録される。
【００５８】
【数８】
2020035388.tif 000010
【００５９】
オブジェクトモデルの各BJについても、カメラ画像CAM_1から抽出した１番目のオブジェクトを模したオブジェクトモデルの各BJ（BJ_11）の２番目のカメラ画像CAM_2への投影が実行され、その投影結果BJ_11_2がポーズテーブルに登録される。同様に、３番目のカメラ画像CAM_3への投影が実行され、その投影結果BJ_11_3がポーズテーブルに登録され、これを全てのカメラ画像に対して繰り返すことでBJ_11_2，BJ_11_3…BJ_11_Nがポーズテーブルに登録される。
【００６０】
次いで、カメラ画像CAM_1から抽出した２番目のオブジェクトを模したオブジェクトモデルの各BP，BJ（BP_21，BJ_21）の各カメラ画像への投影、カメラ画像CAM_1から抽出した３番目のオブジェクトを模したオブジェクトモデルの各BP，BJ（BP_31，BJ_31）の各カメラ画像への投影…カメラ画像CAM_1から抽出したS番目のオブジェクトを模したオブジェクトモデルの各BP，BJ（BP_S1，BJ_S1）の各カメラ画像への投影が実行され、各投影結果がポーズテーブルに登録される。
【００６１】
以上のようにして、１番目のカメラ画像から抽出した各オブジェクトに関して推定されたBP，BJのポーズテーブルへの登録が完了するとステップＳ１０２へ進み、カメラ画像CAM_2から抽出したオブジェクトを模したオブジェクトモデルに関するポーズデータの投影結果がポーズテーブルに登録され、これが３番目のカメラ画像から抽出したオブジェクトモデルのポーズデータ…N番目のカメラ画像から抽出したオブジェクトモデルのポーズデータに対して繰り返される。
【００６２】
一般的な計算は、s番目のオブジェクトのM番目のカメラについて次式(10)-(12)のように定式化される。
【００６３】
【数９】
2020035388.tif 000011
【００６４】
図１１のポーズテーブルには、カメラごとに（cam1，cam2，camN）、かつオブジェクトモデルのポーズデータごとに、各カメラ画像から投影されたオブジェクトモデルの各BP，BJの位置情報が登録され、各ポースデータPOSEは次式(13)で表される。
【００６５】
【数１０】
2020035388.tif 000012
【００６６】
POSE／ポイント対応付部１２は、カメラ画像ごとに各POSEと各3Dモデルとの距離を計算し、距離の近いPOSEと3Dモデルとを対応付ける。POSEと3Dモデルとの距離は、POSEに含まれる各部（BP，BJ）の位置を代表する位置情報と3Dモデルの各ポイントの投影座標との距離の総和や平均値で代表できる。なお、3Dモデルにおいて各BP，BJに相当する位置を識別できる場合には、3Dモデル上で各BP，BJに相当するポイントを識別して、各POSEの対応するBP，BJとの距離を求め、その総和や平均値で代表するようにしても良い。
【００６７】
ポーズテーブル更新部１３はポーズ分離部１３０１を含み、オクルージョンにより統合されているポーズデータを、投影されたポーズデータに基づいて分離することで、オクルージョンにより全てのオクルージョンを抽出できなかったカメラ画像で全てのオブジェクトを認識できるようにポーズテーブルを更新する。
【００６８】
以下、POSE／ポイント対応付部１２およびポーズテーブル更新部１３の動作を図１２および図１３のフローチャートに沿って説明する。本実施形態では、図１２(a)に示したように、視点（立脚点）の異なる３つのカメラcam1〜cam3を用いて２つのオブジェクトを撮影したところ、カメラ画像CAM_1では各オブジェクトが独立して認識されているので２つのポーズデータPOSE_11，POSE_21が得られているが、カメラ画像CAM_2，CAM_3では、オブジェクト同士のオクルージョンにより１つのポーズデータしか得られていない。
【００６９】
ステップＳ２０１では、各ポーズデータPOSEと3Dモデルの各ポイントとが対応付けられる。本実施形態では、図１２(b)に示したように、カメラ画像CAM_1ではPOSE_11が一方の3Dモデルのポイント群POINT_1と対応付けられ、POSE_21が他方の3Dモデルのポイント群POINT_2と対応付けられる。
【００７０】
カメラ画像CAM_2では、POSE数が「１」なのに対して3Dモデル数が「２」なので個数が相違する。したがって、一方の3Dモデルの座標群POINT_1および他方の3Dモデルの座標群POINT_2が、いずれも唯一のポーズデータPOSE_X2と対応付けられる（CORR(POSE_X2，POINTS_1），CORR(POSE_X2，POINTS_2）。
【００７１】
同様に、カメラ画像CAM_3でもPOSE数と3Dモデル数とが相違するので、一方の3Dモデルの座標群POINT_1および他方の3Dモデルの座標群POINT_2が、いずれも唯一のポーズデータPOSE_X3と対応付けられる（CORR(POSE_X3，POINTS_1）およびCORR(POSE_X3，POINTS_2）。
【００７２】
ステップＳ２０２では、分離対象のPOSEが選択される。本実施形態ではPOSE間の距離ΔDが算出され、ΔDが判定閾値ΔDrefを下回っていると、オブジェクトがオクルージョン状態である可能性が高いので分離対象とされる。
【００７３】
本実施形態では、カメラ画像CAM_2から得られた２つのエントリ（CORR(POSE_X2，POINTS_1），CORR(POSE_X2，POINTS_2）に関してPOSE間距離が判定閾値ΔDrefを下回るので分離対象とされる。同様に、カメラ画像CAM_3から得られた２つのエントリ（CORR(POSE_X3，POINTS_1），CORR(POSE_X3，POINTS_2）に関してもPOSE間距離が判定閾値ΔDrefを下回るので分離対象とされる。
【００７４】
ステップＳ２０３では、２つのポーズデータが得られているカメラ画像においてPOSE間距離が算出され、距離の最も離れたポーズデータのペアが基準ポーズに設定される。本実施形態では、距離計算の対象となる２つのポーズに関して、次式(14)，(15)に基づいて、対応する各BP間，各BJ間の距離が計算され、その平均値がBP間，BJ間の距離とされる。
【００７５】
【数１１】
2020035388.tif 000013
【００７６】
【数１２】
2020035388.tif 000014
【００７７】
本実施形態では、カメラ画像CAM_1でのみ２つのポーズデータPOSE_11，POSE_21が得られているので、必然的にPOSE_11，POSE_21が基準ポーズに設定される。なお、カメラ画像CAM_1，CAM_4（図示せず）で２つのポーズデータが得られていれば、各ポーズデータで表されるオブジェクトモデル間の距離が最も離れたカメラ画像が判別される。すなわち、カメラ画像CAM_1ではPOSE_11，POSE_21間の距離ΔD1が求められ、カメラ画像CAM_4ではPOSE_14，POSE_24間の距離ΔD4が求められ、各ポーズの対応するBP間およびBJ間のユークリッド距離に基づいてポーズ間の距離が比較される。
【００７８】
ステップＳ２０４では、前記基準ポーズPOSE_11，POSE_21に基づいて前記分離対象の各ポーズデータPOSE_x2，POSE_x3が分離される。本実施形態では、図１２(c)，(d)に示したように、前記基準ポーズPOSE_11がPOSE_11_2，POSE_11_3にコピーされ、前記基準ポーズPOSE_21がPOSE_21_2，POSE_21_3にコピーされる。
【００７９】
さらに、前記基準ポーズ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が生成される。
【００８０】
ステップＳ５では、図１２(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が更新される。
【符号の説明】
【００８１】
１…カメラ画像取得部，２…背景画像取得部，３…オブジェクト取得部，４…3Dモデル生成部，５…マスク生成部，６…オブジェクトモデル構築部，７…オブジェクトモデル調節部，８…POSE生成部，９…投影部，１０…ポーズテーブル構築部，１１…ポーズテーブル構築部，１２…POSE／ポイント対応付部，１３…ポーズテーブル更新部
【図１】
2020035388.tif 000015
【図２】
2020035388.tif 000016
【図３】
2020035388.tif 000017
【図４】
2020035388.tif 000018
【図５】
2020035388.tif 000019
【図６】
2020035388.tif 000020
【図７】
2020035388.tif 000021
【図８】
2020035388.tif 000022
【図９】
2020035388.tif 000023
【図１０】
2020035388.tif 000024
【図１１】
2020035388.tif 000025
【図１２】
2020035388.tif 000026
【図１３】
2020035388.tif 000027