(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-07
(45)【発行日】2024-06-17
(54)【発明の名称】生成装置、生成方法、およびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240610BHJP
G06T 7/55 20170101ALI20240610BHJP
【FI】
G06T7/00 660B
G06T7/55
(21)【出願番号】P 2020133272
(22)【出願日】2020-08-05
【審査請求日】2023-08-01
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】▲高▼間 康文
【審査官】小池 正彦
(56)【参考文献】
【文献】特開2014-146247(JP,A)
【文献】特開2005-250692(JP,A)
【文献】特開2019-109765(JP,A)
【文献】Xinghan Luo et al.,Human Pose Estimation for Multiple Persons Based on Volume Reconstruction,2010 20th International Conference on Pattern Recognition,米国,IEEE,2010年08月23日,https://doi.org/10.1109/ICPR.2010.876
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 7/55
(57)【特許請求の範囲】
【請求項1】
複数の撮像装置が複数の被写体を異なる方向から撮像することに基づいて得られた複数の被写体を示す
複数の画像を取得する画像取得手段と、
前記複数の画像に基づいて、前記複数の被写体の各被写体に対して生成された、被写体の3次元形状を示す形状モデルを取得するモデル取得手段と、
前記複数の被写体のうちの、3次元姿勢を示す姿勢モデルの生成の対象の被写体に対して生成された前記形状モデルに基づいて、前記複数の画像から前記対象の被写体の前記姿勢モデルの生成に用いる画像を特定する特定手段と、
前記特定された画像に基づいて、前記対象の被写体の前記姿勢モデルを生成する生成手段と、
を有することを特徴とする生成装置。
【請求項2】
前記特定手段は、前記対象の被写体に対して生成された前記形状モデルと、前記複数の画像における前記対象の被写体の領域に基づいて、前記対象の被写体の前記姿勢モデルの生成に用いる画像を特定することを特徴とする請求項1に記載の生成装置。
【請求項3】
前記特定手段は、前記対象の被写体に対して生成された前記形状モデルと、前記複数の画像における前記対象の被写体の領域に基づいて、前記複数の画像に対する優先順位を設定し、当該優先順位に従って、前記対象の被写体の前記姿勢モデルの生成に用いる画像を特定することを特徴とする請求項2に記載の生成装置。
【請求項4】
前記特定手段は、前記複数の画像における前記対象の被写体の領域の画像解像度に基づいて、前記優先順位を設定することを特徴とする請求項3に記載の生成装置。
【請求項5】
前記特定手段は、前記複数の画像における前記対象の被写体の領域のサイズに基づいて、前記優先順位を設定することを特徴とする請求項3または4に記載の生成装置。
【請求項6】
前記特定手段は、前記複数の画像における前記対象の被写体の領域の写りの大きさに基づいて、前記優先順位を設定することを特徴とする請求項3から5のいずれか1項に記載の生成装置。
【請求項7】
前記特定手段は、前記優先順位と前記複数の撮像装置それぞれの位置に基づいて、前記対象の被写体の前記姿勢モデルの生成に用いる画像を特定することを特徴とする請求項3から6のいずれか1項に記載の生成装置。
【請求項8】
前記複数の画像において、前記対象の被写体の領域の少なくとも一部が、前記複数の被写体のうちの他の被写体の領域および/または静止物の領域により遮蔽されているかを判定する判定手段を更に有し、
前記特定手段は、前記判定手段による前記判定の結果に基づいて、前記対象の被写体の前記姿勢モデルの生成に用いる画像を特定することを特徴とする請求項3に記載の生成装置。
【請求項9】
前記判定手段は、前記複数の撮像装置のうち前記対象の被写体を撮像する各撮像装置と前記対象の被写体との距離と、前記各撮像装置と前記他の被写体および/または前記静止物との距離に基づいて、前記対象の被写体の領域の少なくとも一部が前記他の被写体の領域および/または前記静止物の領域により遮蔽されているかを判定することを特徴とする請求項8に記載の生成装置。
【請求項10】
前記画像取得手段は、前記複数の撮像装置のうち、異常が発生した撮像装置から異常情報を取得し、
前記モデル取得手段は、前記異常情報を取得した撮像装置により得られた画像に基づいて形状モデルを取得しないことを特徴とする請求項1から9のいずれか1項に記載の生成装置。
【請求項11】
前記特定手段は、前記対象の被写体の前記姿勢モデルの生成に用いる画像として複数の画像を特定することを特徴とする請求項1から10のいずれか1項に記載の生成装置。
【請求項12】
複数の撮像装置が複数の被写体を異なる方向から撮像することに基づいて得られた複数の被写体を示す
複数の画像を取得する画像取得工程と、
前記複数の画像に基づいて、前記複数の被写体の各被写体に対して生成された、被写体の3次元形状を示す形状モデルを取得するモデル取得工程と、
前記複数の被写体のうちの、3次元姿勢を示す姿勢モデルの生成の対象の被写体に対して生成された前記形状モデルに基づいて、前記複数の画像から前記対象の被写体の前記姿勢モデルの生成に用いる画像を特定する特定工程と、
前記特定された画像に基づいて、前記対象の被写体の前記姿勢モデルを生成する生成工程と、
を有することを特徴とする生成方法。
【請求項13】
コンピュータを、請求項1から11のいずれか1項に記載の生成装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人物の姿勢モデル生成技術に関する。
【背景技術】
【0002】
複数の異なる位置に設定された複数の撮像装置(多視点カメラ)により得られた画像(多視点カメラ画像)を用いて、被写体(人体)の姿勢モデルを推定する技術(姿勢推定技術)が注目されている。姿勢モデルは、被写体を構成する関節の位置、関節同士の接続関係、被写体の部位間の角度などを表す情報である。姿勢推定技術は、多視点カメラ画像に写る被写体の関節位置を推定することで、肘や膝などの角度などを推定できる。さらに、推定された姿勢モデルを用いることで、スポーツ選手の運動量や疲労度の評価、新旧のフォーム比較のような運動解析が可能になる。特許文献1では、多視点カメラを用いて被写体を撮像し、得られた多視点カメラ画像から被写体領域の画像(被写体画像)を抽出し、該被写体画像から該被写体の3次元関節位置を持つ姿勢モデルを推定している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、被写体一人が写る被写体画像における特徴点を用いて該被写体の形状モデルを推定し、該形状モデルから該被写体の姿勢モデルを推定している。しかしながら、複数の被写体が多視点カメラに写るシーンにおいて各被写体の姿勢モデルを推定する場合、被写体毎に、該被写体を撮影したカメラを判別し、該判別されたカメラから得られるカメラ画像から被写体画像を取得する必要がある。さらに、多数のカメラに同じ被写体が写る場合、これらのカメラからの多視点カメラ画像の全てを用いて姿勢モデルを推定すると処理時間の増加を招く。また、異なる被写体同士が重なっている多視点カメラ画像を取得してしまうと、特定の被写体については全身が写らず、該被写体の姿勢モデルの推定誤差が大きくなる。
【0005】
本発明は、上記の課題に鑑みてなされたものであり、複数の被写体の姿勢モデルを適切に生成することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するための一手段として、本発明の生成装置は以下の構成を有する。すなわち、複数の撮像装置が複数の被写体を異なる方向から撮像することに基づいて得られた複数の被写体を示す画像を取得する画像取得手段と、前記複数の画像に基づいて、前記複数の被写体の各被写体に対して生成された、被写体の3次元形状を示す形状モデルを取得するモデル取得手段と、前記複数の被写体のうちの、3次元姿勢を示す姿勢モデルの生成の対象の被写体に対して生成された前記形状モデルに基づいて、前記複数の画像から前記対象の被写体の前記姿勢モデルの生成に用いる画像を特定する特定手段と、前記特定された画像に基づいて、前記対象の被写体の前記姿勢モデルを生成する生成手段と、を有する。
【発明の効果】
【0007】
本発明によれば、複数の被写体の姿勢モデルを適切に生成することができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態1における画像処理システムの構成例を示す図である。
【
図2】実施形態1における標準形状モデルと姿勢モデルを示す模式図である。
【
図3】実施形態1における座標系を説明するための模式図である。
【
図4】実施形態1における形状推定装置のハードウェア構成例を示す図である。
【
図5】実施形態1における姿勢推定装置により実行される処理のフローチャートである。
【
図6】実施形態2における画像処理システムの構成例を示す図である。
【
図7】実施形態2における姿勢推定装置により実行される処理のフローチャートである。
【
図8】実施形態2に関する被写体の重なりを示す模式図である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
(実施形態1)
本実施形態では、被写体の形状モデル(被写体の3次元形状)を推定した結果を用いて姿勢推定に用いる画像を特定し、特定された画像を用いて被写体の姿勢モデル(被写体の3次元姿勢)を推定して生成する方法について述べる。
形状モデルは、例えば被写体が人物である場合、被写体のシルエット、輪郭を示し、点群や複数のボクセルで表現されてもよい。また、形状モデルは、複数のポリゴンを含むポリゴンデータとして表現されてもよい。
姿勢モデルは、例えば被写体が人物である場合、その人物の関節位置を表す点と、骨格を表す線とで表現されてもよい。つまり、この場合、姿勢モデルは、複数の点と、2点間を結ぶ線と、を含んでもよい。姿勢モデルは、これに限定されず、それ以外の表現であってもよく、関節位置を示す点のみで表現されていてもよい。また、すべての関節位置が表現されていなくてもよく、一部の関節位置が表現されていてもよい。また、姿勢モデルが、被写体の3次元姿勢を表すものであれば、必ずしも関節位置を点で表現しなくても、いくつか又はすべての関節位置に代えて特徴的な部位を点で表現してもよい。また、人物の顔などの輪郭については、複数の点と直線あるいは曲線で表現してもよいし、球や楕円球で表現してもよい。
【0011】
[画像処理システムの構成]
本実施形態における画像処理システムの構成例を
図1に示す。本実施形態における画像処理システム10は、撮像装置100と姿勢推定装置110とを含む。なお、
図1には1台の撮像装置100を示すが、同様の構成の複数の撮像装置100が、無線または有線の接続で姿勢推定装置110に接続されているものとする。また、以下の説明において、「撮像装置」は、「カメラ」と同義に用いられるものとする。
【0012】
複数の撮像装置100は、多数の異なる方向から撮像領域を撮像する、多視点カメラを構成し、異なる方向から撮像した複数の画像(多視点カメラ画像)を生成・取得する。多視点カメラを構成する各撮像装置100は、撮像装置を識別するための識別番号を持つ。撮像装置100は、撮像した画像から前景画像を抽出する機能など、他の機能やその機能を実現するハードウェア(回路や装置など)も含んでもよい。なお、前景画像とは、カメラにより撮像されて取得された撮像画像から、被写体領域(前景領域)を抽出した画像であり、被写体画像とも称することができる。撮像領域は、例えば、スポーツが行われる競技場の平面と任意の高さで囲まれた領域である。各撮像装置100は、撮像領域を取り囲むようにそれぞれ異なる位置・異なる方向に設置され、同期して撮像を行う。なお、各撮像装置100は撮像領域の全周にわたって設置されなくてもよく、設置場所の制限等によっては撮像領域の一部の方向にのみ設置されてもよい。多視点カメラを構成する撮像装置100の数は限定されず、例えば撮像領域をサッカーやラグビーの競技場とする場合、競技場の周囲に数十~数百台程度の撮像装置100が設置されてもよい。また、望遠カメラと広角カメラなど画角が異なるカメラが撮像装置100として設置されてもよい。
【0013】
撮像装置100は、現実世界の1つの時刻情報で同期され、撮像した画像(映像)には毎フレームの画像に撮像時刻情報が付与される。さらに、撮像装置100は、自装置の異常を検知する手段を併せ持ち、異常の有無を知らせる異常情報を、姿勢推定装置110へ送ることができる。撮像装置100の異常は、例えば、撮像装置100に備えられる、熱や振動など一般的なセンサの値を評価することで検知できる。
【0014】
さらに、撮像装置100は、自装置の位置、姿勢(向き、撮像方向)、焦点距離、光学中心、歪みなどの状態情報を取得し、管理する。撮像装置100の位置、姿勢(向き、撮像方向)は、撮像装置100自身によって制御されてもよいし、撮像装置100の位置や姿勢を制御する雲台によって制御されてもよい。以下では、撮像装置100の状態情報をカメラパラメータとして説明を行うが、そのパラメータには、雲台等の別の装置により制御されるパラメータ(各種情報)が含まれていてもよい。撮像装置100の位置、姿勢(向き、撮像方向)に関するカメラパラメータは、いわゆる外部パラメータであり、撮像装置100の焦点距離、画像中心、歪みに関するパラメータは、いわゆる内部パラメータである。
【0015】
図3は、本実施形態で用いる座標系を説明するための模式図である。
図3(a)は世界座標系を示し、
図3(b)は
図3(a)におけるカメラ310によるカメラ画像座標系を示す。例えば、
図3(a)に示すように、被写体305を写すカメラ310から340がある場合、各カメラの位置や姿勢の情報(外部パラメータ)は、原点300、Xw軸301、Yw軸302、Zw軸303で表現された1つの世界座標系で表現される。また、
図3(b)に示すように、カメラ310によるカメラ画像座標系において、カメラ画像座標系の原点360、Xi軸361、Yi軸362が設定され、カメラ310の撮像画像を画像350、座標(0,0)における画素を画素370とする。なお、他のカメラ320~340のカメラ画像座標系も
図3(b)と同様に定義することができる。
【0016】
姿勢推定装置110は、複数の撮像装置100から得られた画像から、被写体の姿勢モデルを推定して生成する生成装置として機能する。姿勢推定装置110は、被写体の姿勢モデルを、例えば、次のような方法で推定して生成する。まず、姿勢推定装置110は、複数の撮像装置100から、複数の撮像装置100が異なる方向から撮像することにより得られた複数の画像(多視点カメラ画像)を取得する。次に、姿勢推定装置110は、多視点カメラ画像から、人物などの被写体に対応する前景領域を抽出した前景画像(被写体画像)を取得する。姿勢推定装置110は、撮像装置100から前景画像を取得してもよい。上述したように、前景画像とは、撮像装置100により撮像されて取得された撮像画像から、被写体領域(前景領域)を抽出した画像である。前景領域として抽出される被写体とは、一般的に、時系列で同じ方向から撮像を行った場合において動きのある(その位置や形が変化し得る)動的被写体(動体)を指す。被写体は、例えば、ある競技において、それが行われるフィールド内にいる選手や審判などの人物、球技であれば人物に加えボールなども含む。また、コンサートやエンタテイメントにおいては、歌手、演奏者、パフォーマー、司会者などが被写体である。
【0017】
本実施形態では、姿勢モデルを推定するために、標準的な人の形を模した3次元の標準形状モデルとその姿勢モデル(初期姿勢モデル)が、あらかじめ姿勢推定装置110に入力されるものとする。
図2に、入力される標準形状モデル200と初期姿勢モデル210の一例を示す。これらのモデルはCG(Computer Graphic)でも用いられる一般的なモデルで良く、ファイル形式(フォーマット)はFBX形式など一般的な形式で良い。標準形状モデル200は、例えば、3次元のメッシュモデルで表現され、頂点座標と三角形もしくは四角形の面を構成する頂点IDの情報が含まれる。初期姿勢モデル210は、頭部や首、臍、肩、肘、手首、足の付け根、膝、足首のような人体の主要部位や関節部位の位置を表す情報211とそれらの接続関係を示す情報212、隣接部位間の角度情報が含まれる。姿勢モデルの部位とメッシュモデルの部位とを対応付けておくことで、姿勢モデルの右腕を回転すれば、対応するメッシュモデルの部位も回転できる。姿勢推定では、このような姿勢モデルに対応したメッシュモデルを、各カメラ画像(各カメラの撮像画像)に射影した画像と各カメラの前景領域(被写体画像)とが一致するように変形させ、最も一致した際の姿勢を被写体の姿勢モデルとして推定する。ただし、3次元の姿勢モデルを推定する方法はこれに限定されない。例えば、2次元画像上で2次元の姿勢を推定し、各カメラとの対応に基づいて、3次元の姿勢モデルを推定する方法など、種々の方法を用いてもよい。
【0018】
[姿勢推定装置の構成]
次に、姿勢推定装置110の構成について説明する。まず、姿勢推定装置110の内部構成について、
図1を参照して説明する。姿勢推定装置110は、カメラ情報取得部111、形状推定部112、画像候補生成部113、画像選択部114、姿勢推定部115を有する。
【0019】
カメラ情報取得部111は、画像取得機能を有し、複数の撮像装置100から、異なる方向から撮像された画像(多視点カメラ画像)を取得する。また、カメラ情報取得部111は、多視点カメラ画像から前景画像を取得(生成)してもよい。カメラ情報取得部111は、撮像装置100から前景画像を取得してもよい。さらに、カメラ情報取得部111は、撮像装置100のカメラパラメータを取得する。また、カメラ情報取得部111が、撮像装置100のカメラパラメータを算出するようにしてもよい。例えば、カメラ情報取得部111は、各撮像装置100の撮像画像から対応点を算出し、対応点を各撮像装置100に投影した時の誤差が最小になるように最適化しながら、各撮像装置100を校正することでカメラパラメータを算出してもよい。なお、校正方法は既存のいかなる方法であってもよい。なお、カメラパラメータは、撮像画像に同期して取得されてもよいし、事前準備の段階で取得されてもよい。また、カメラパラメータは、必要に応じて撮像画像に非同期で取得されてもよい。さらに、カメラ情報取得部111は、撮像装置100から、異常情報を取得することができる。カメラ情報取得部111は、撮像画像を形状推定部112に出力する。また、カメラ情報取得部111は、カメラパラメータを、形状推定部112、画像候補生成部113、姿勢推定部115に出力する。また、カメラ情報取得部111は、前景画像を取得した場合に、形状推定部112、画像候補生成部113、画像選択部114に出力することができる。また、カメラ情報取得部111は、いずれかの撮像装置100の異常情報を取得している場合は、該情報を形状推定部112に出力することができる。なお、後述する
図5に示す処理のように、カメラ情報取得部111はシルエット画像を生成または取得し、該シルエット画像を形状推定部112に出力してもよい。
【0020】
形状推定部112は、形状モデル取得機能を有し、カメラ情報取得部111により取得された、カメラの撮像画像とカメラパラメータに基づいて、被写体の3次元形状である形状モデルを生成して取得する。あるいは、形状推定部112は、カメラ情報取得部111から前景画像を取得する場合、撮像画像に代えて前景画像に基づいて3次元形状を推定して取得してもよい。なお。後述する
図5に示す処理のように、形状推定部112は、シルエット画像に基づいて3次元形状を推定してもよい。また、形状推定部112は、カメラ情報取得部111から撮像装置の異常情報を取得し、いずれかの撮像装置100の異常を検知した場合、該撮像装置100から撮像画像/前景画像を形状推定のために使用しないように制御する。形状推定部112は、形状推定結果である各被写体の形状モデルと、異常が検知された撮像装置100の情報を画像候補生成部113に出力する。なお、姿勢推定装置110は、別の装置において撮像画像又は前景画像に基づいて生成された形状モデルを取得する構成であってもよい。
【0021】
画像候補生成部113と画像選択部114は、姿勢モデルの推定に用いる画像を特定する手段として機能する。画像候補生成部113は、形状推定部112による形状推定結果である各被写体の形状モデルとカメラパラメータを用いて、被写体が写る撮像装置100を導出し、姿勢推定に用いる1つ以上の前景画像を、画像候補として被写体毎に生成する。また、画像候補生成部113は、異常が検知された撮像装置100からの前景画像については、画像候補にあげないように制御する。画像候補生成部113は、被写体毎の、姿勢推定で用いる前景画像の候補(画像候補)を画像選択部114へ出力する。
【0022】
画像選択部114は、被写体が一定台数以上の撮像装置100に写る場合、撮像装置100の台数や撮像装置100間の角度に基づいて、姿勢推定に用いる前景画像を、画像候補から選択(決定/特定)する。姿勢推定に用いる前景画像の数(カメラ台数と等しくなりうる)は、予め決められていてもよい。例えば、操作部416や通信I/F(
図4)を介して、選択する前景画像の数が姿勢推定装置110に予め入力され得る。選択される前景画像の数は、固定の数であってもよいし、状況に応じて変更されてもよい。また、姿勢推定に用いる前景画像の数は、設定された下限数以上で設定された上限数以下であっても良い。この場合、姿勢推定の精度を向上させ、さらに処理負荷を軽減することができる。姿勢推定部115は、被写体毎に選択(決定)された前景画像と被写体が写る撮像装置100のカメラパラメータを用いて被写体の姿勢モデルを推定して生成する。
【0023】
次に、姿勢推定装置110のハードウェア構成について説明する。
図4に、姿勢推定装置110のハードウェア構成例を示す。姿勢推定装置110は、CPU(Central Processing Unit)411、ROM(Read Only Memory)412、RAM(Random Access Memory)413、補助記憶装置414、表示部415、操作部416、通信I/F(インタフェース)417、及びバス418を有する。CPU411は、ROM412やRAM413に格納されているコンピュータプログラムやデータを用いて姿勢推定装置110の全体を制御することで、
図1に示す姿勢推定装置110の各機能を実現する。なお、姿勢推定装置110がCPU411とは異なる1又は複数の専用のハードウェアを有し、CPU411による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、およびDSP(デジタルシグナルプロセッサ)などがある。ROM412は、変更を必要としないプログラムなどを格納する。RAM413は、補助記憶装置414から供給されるプログラムやデータ、及び通信I/F417を介して外部から供給されるデータなどを一時記憶する。補助記憶装置414は、例えばハードディスクドライブ等で構成され、画像データや音声データなどの種々のデータを記憶する。
【0024】
表示部415は、例えば液晶ディスプレイやLED(Light Emitting Diode)等で構成され、ユーザが姿勢推定理装置1を操作するためのGUI(Graphical User Interface)などを表示する。操作部416は、例えばキーボードやマウス、ジョイスティック、タッチパネル等で構成され、ユーザによる操作を受けて各種の指示をCPU411に入力する。CPU411は、表示部415を制御する表示制御部、及び操作部416を制御する操作制御部として動作する。
【0025】
通信I/F417は、姿勢推定装置110の外部の装置との通信に用いられる。例えば、姿勢推定装置110が外部の装置と有線で接続される場合には、通信用のケーブルが通信I/F417に接続される。姿勢推定装置110が外部の装置と無線通信する機能を有する場合には、通信I/F417はアンテナ(不図示)を備える。バス418は、姿勢推定装置110の各部をつないで情報を伝達する。
【0026】
本実施形態では、表示部415と操作部416が姿勢推定装置110の内部に存在するものとするが、表示部415と操作部416との少なくとも一方が姿勢推定装置110の外部に別の装置として存在していてもよい。
【0027】
[動作フロー]
続いて、姿勢推定装置110の動作について説明する。
図5は、姿勢推定装置110により実行される処理のフローチャートである。
図5に示すフローチャートは、姿勢推定装置110のCPU411がROM412やRAM413に格納されている制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実現されうる。なお、S550の姿勢推定に用いる前景画像の数(姿勢推定に用いる撮像装置100の台数)は、予め決めておくことができる。当該姿勢推定に用いる前景画像の数は、例えば、姿勢推定装置110に入力(設定)されていてもよく、または、S510においてカメラ情報取得部111が撮像装置100から1つのパラメータとして当該数を取得してもよい。また、姿勢推定に用いる前景画像の数は、設定された下限数以上で設定された上限数以下であっても良い。
【0028】
S500において、カメラ情報取得部111は、複数の撮像装置100からカメラパラメータを取得する。なお、カメラ情報取得部111が、該カメラパラメータを算出するようにしてもよい。また、カメラ情報取得部111が該カメラパラメータを算出する場合、撮像画像を取得する度に算出する必要はなく、姿勢推定する前に少なくとも1度算出すればよい。取得したカメラパラメータは、形状推定部112、画像候補生成部113、姿勢推定部115に出力される。
【0029】
S510において、カメラ情報取得部111は、複数の撮像装置100から、複数の撮像画像を取得し、前景画像を取得(生成)する。もしくは、カメラ情報取得部111に各撮像装置100により抽出された前景画像が入力されてもよい。本実施形態では、S520で行われる被写体の形状モデルの推定に、視体積交差法(shape from silhouette)を用いる。そのために、カメラ情報取得部111は、撮像画像を取得した場合は、該撮像画像から被写体のシルエット画像を生成する。シルエット画像は、被写体を撮像した撮像画像から、試合開始前などに被写体が存在しない時に予め撮像した背景画像との差分を算出する背景差分法などの一般的な手法を用いて生成されてもよい。ただし、シルエット画像を生成する方法は、これに限定されない。例えば、被写体(人体)を認識するなどの方法を用いて、被写体の領域を抽出するようにしてもよい。また、カメラ情報取得部111が前景画像を取得した場合、該前景画像からテクスチャ情報を消すことでシルエット画像を生成してもよい。具体的には、被写体が存在する領域の画素値を255、それ以外の領域の画素値を0にすればよい。また、カメラ情報取得部111は撮像装置100からシルエット画像を取得してもよく、その場合は、カメラ情報取得部111において被写体のシルエット画像を生成する処理は省略することができる。取得されたシルエット画像は、一種の前景画像として、形状推定部112に出力される。合わせて、前景画像(前景画像のテクスチャデータ)は、画像候補生成部113と画像選択部114に出力されうる。
【0030】
S520において、形状推定部112は、各被写体の形状モデルを推定する。本実施形態では、視体積交差法を用い、推定した結果(形状モデル)は、例えば、3次元座標の集合であるボクセルで表現される。形状推定方法はこれ以外の一般的な方法を用いることもできる。さらに、形状推定部112は、得られたボクセル集合を、隣接するボクセルの有無に基づく一般的な3次元ラベリング処理することで、被写体毎のボクセル集合に分割する。各ボクセルにはラベリング結果である被写体IDが付与され、該IDを指定することにより、被写体毎のボクセルを得ることができる(被写体ID=0~最大被写体ID)。推定した形状モデルは、画像候補生成部113へ出力される。
【0031】
S530~S550は、S550で姿勢モデルを推定する対象の被写体に対する処理である。S530において、画像候補生成部113は、S550の姿勢推定に用いる前景画像の候補を対象の被写体に対して生成し、画像選択部114へ出力する。具体的には、まず、画像候補生成部113は、対象の被写体IDを指定し、該IDのボクセル集合(該IDの被写体の形状モデルに対応)を取得する。画像候補生成部113は、その後、該ボクセル集合の各ボクセルを走査し、世界座標系で表現されたボクセルの座標(x、y、z)(
図3(a)を参照)の各要素の最小値、最大値、および重心座標を算出する。そして、画像候補生成部113は、最小値と最大値を基に、ボクセル集合に外接するバウンディングボックスを構成する8点(ボックスの全頂点)を定義する。さらに、画像候補生成部113は、これらの点を各撮像装置100に射影することで画像候補であるか否かを判定する。判定処理は例えば次のような方法が考えられる。まず、前記の8点の座標を各撮像装置100の外部パラメータと内部パラメータを用いて、カメラ画像座標(
図3(b)を参照)に変換し、対象の被写体が各撮像装置100に写るか否かを判定する。8つの点の少なくともいずれか一つがカメラ画像座標の内側(カメラ310の場合の
図3(b)の撮像画像350の内側に対応)であれば、対象の被写体が撮像装置100に写ると判定し、重心座標をカメラ画像座標系の座標に変換する。そして、該重心座標が各撮像装置100において前景画像の矩形の内側に射影された場合、該前景画像を該対象の被写体の姿勢推定に用いる画像候補であると判定する。
【0032】
S540において、画像選択部114は、S530で取得した画像候補に優先順位を設ける。そして、画像選択部114は、設定した該優先順位に基づいて、画像候補の中から姿勢推定で用いる画像を選択(決定)し、選択した画像を姿勢推定部115へ出力する。本実施形態では、一例として、画像選択部114は、優先順位を、(1)被写体領域の画像解像度、(2)被写体領域サイズ、(3)被写体部位の写り(全身が写っているか、一部だけが写っているか)に基づいて設定する。
(1)画像解像度
画像解像度は例えば、重心座標に位置するボクセルを、ボクセルに外接する球で近似し、カメラ画像上に射影した際の円の直径(ピクセル単位)とする。ボクセルがカメラから近い場合、大きな円となり解像度が高く、遠い場合、円が小さくなり解像度が低くなる。また、カメラから最も近いボクセルを射影した際の円の直径(最大直径)を算出し、重心座標のボクセルで算出した直径を正規化する。優先順位は、正規化された直径に応じて、直径が長いほど高く、短いほど低く設定する。
(2)被写体領域サイズ
被写体領域サイズは、バウンディングボックスの8点をカメラ画像に射影して得られる領域内に含まれる画素数をカウントすることで算出できる。被写体領域サイズも被写体がカメラから近い場合、面積が大きく、遠い場合、面積が小さくなる。最大面積で算出した面積を正規化し、正規化された面積に応じて、面積が大きいほど優先順位は高く、小さいほど低く設定する。
(3)被写体部位の写り(被写体領域の写りの大きさ)
被写体の写りは、バウンディングボックスの8点の中でカメラ画像内に射影された点の数とする。8点全てがカメラ画像内に射影された場合、被写体の全身が入っている、8点未満の場合、被写体のいずれかの部位がカメラ画像外である可能性が高いことを意味する。被写体の写りは、8点を1.0、0点を0.0として正規化し、優先順位は8点全てが入った場合が一番高く、カメラ画像外の点が多いほど優先順位は低く設定する。
【0033】
画像選択部114は、優先順位を、(1)被写体の画像解像度、(2)被写体領域サイズ、(3)被写体部位の写りのいずれか一つ以上によって決定しても良い。もしくは、撮影に使用される各撮像装置100から被写体までの距離にばらつきがあるような撮影環境であれば、(1)被写体の画像解像度と(3)被写体部位の写りの両方を用いても良い。この場合、(1)と(3)のそれぞれの方法で算出された値(順位)を正規化した値を掛け合わせ、大きい順に優先順位を設定してもよい。
【0034】
画像選択部114は、前述のように設定した優先順位に基づき、S550の姿勢推定に用いる前景画像を選択(決定)する。本実施形態では、前述のように、姿勢推定に用いる前景画像の数は予め決められており、当該数の情報は姿勢推定装置110に入力されている。画像選択部114は、S530で生成した画像候補から、優先順位が高い方から当該数の前景画像を選択する。姿勢推定に用いる前景画像の数は、姿勢推定に必要な撮像装置100の数に対応する。撮影シーンによっては、前記(1)~(3)の条件に基づいて、画像候補の全ての前景画像に対して同じような優先順位が設定されうる。すなわち、いずれの撮像装置100の優先順位(優先度)も同じように評価されるケースも考えられる。このような場合、画像選択部114は、撮像装置それぞれの位置に基づいて、さらなる優先順位を設定することができる。例えば、撮像装置100間の角度が可能な限り等間隔になるような複数の撮像装置100による前景画像を選択する。具体的には、16台の撮像装置100が対象の被写体の方に向き、各撮像装置100の該被写体の前景画像が画像候補として生成され、8つの前景画像を選択する場合を想定する。このとき、任意の撮像装置100を基準装置として、該基準装置から1台おきに撮像装置100を選択し、該選択した撮像装置100の前景画像を、姿勢推定に用いる。このようにすることで、全周囲で見えが異なる前景画像を選択できる。
【0035】
なお、画像候補の数が予め決められた数に達しない場合、被写体の姿勢推定を中断するようにしてもよい。また、前景画像の数は、状況に応じて変えられてもよい。また、選択される前景画像の数は、下限の数と上限の数の間に収まるように選択されてもよい。この場合、画像候補の数が、下限の数を超える場合、上限の数を超えない範囲で、前景画像が優先順位に従って上位から選択されるようにしてもよい。選択される前景画像の数は、上限の数以下であればよい。また、画像候補の数が下限の数に達しない場合、被写体の姿勢推定を中断するようにしてもよい。
【0036】
S550において、姿勢推定部115は、選択(決定)された前景画像を用いて対象の被写体の姿勢(姿勢モデル)を推定する。姿勢推定の方法は多視点カメラ情報と初期姿勢モデルを用いる既知の方法で良い。初期姿勢モデルは
図2に示す標準形状モデル200の初期の関節位置等の情報211と関節同士の接続関係の情報212および、隣接する部位の角度の情報が記載されたファイルを、姿勢推定装置110が起動時に少なくとも一度読み込むことで取得することができる。姿勢推定の方法は、例えば、次のような方法がある。まず、初期姿勢モデルを変形させて、一時的な形状モデルを取得し、選択された前景画像に射影する。そして、射影された領域と前景画像との類似度を評価する。これらの処理を類似度が一定の閾値を満たすまで姿勢モデルを変えながら繰り返し、閾値を満たしたときの姿勢モデルを最適な姿勢モデルと推定できる。また、連続的に運動する被写体を撮影した場合、初期姿勢モデルは1フレーム前の姿勢モデルでも良い。
【0037】
S560において、姿勢推定部115は、全被写体を選択したか(全被写体の姿勢モデルを推定したか)を、S520で付与したボクセル集合の被写体ID(0~最大被写体ID)に基づいて判定する。全被写体を選択した場合は、処理を終了し、そうでない場合は、処理はS530へ戻る。
【0038】
本実施形態により、広大な撮影領域を写したカメラ集合の中から被写体毎に姿勢推定に用いる前景画像の候補を取得し、その中から最適な前景画像を選択した上で、被写体毎の姿勢モデルを推定することが可能となる。
【0039】
(実施形態2)
本実施形態では、撮像装置に写る複数の被写体が重なる場合、被写体の形状モデルを推定した結果を用いて距離画像を生成し、該距離画像を基に被写体の前後関係を考慮した上で、姿勢推定に用いる画像を選択する方法について述べる。さらに、静止物の形状モデルを用いて、静止物と被写体の前後関係も考慮した上で画像を選択する方法についても述べる。本実施形態では、撮像領域がスポーツ競技場である場合を想定する。
【0040】
[画像処理システムと姿勢推定装置の構成]
本実施形態における画像処理システムの構成例を
図6に示す。本実施形態における画像処理システム60は、撮像装置100と姿勢推定装置600とを含む。撮像装置100の構成については、実施形態1と同様のため、説明を省略する。また、姿勢推定装置600のハードウェア構成についても、実施形態1と同様のため、説明を省略する。姿勢推定装置110の内部構成について、
図6を参照して説明する。姿勢推定装置600は、実施形態1で説明した姿勢推定装置110の構成に、静止物情報取得部601と距離画像生成部602が追加された構成となっている。カメラ情報取得部111、形状推定部112、画像候補生成部113、姿勢推定部115については実施形態1と同様のため、説明を省略する。
【0041】
静止物情報取得部601は、静止物情報を取得する。静止物情報は、例えば、静止物の3次元モデル(静止物モデル)情報が記載されたファイルである。静止物の3次元モデルは、静止物を撮影した画像を基に一般的な3次元モデリングツールであらかじめ生成されうる。生成されたモデルの情報は、OBJファイル形式など、3次元モデルの標準ファイル形式を有する。静止物情報取得部601は、例えば、姿勢推定装置110の起動時に、操作部416や通信I/F(
図4)を介して静止物情報を取得することができる。本実施形態における静止物とは、撮像領域であるスポーツ競技場で行われているスポーツがサッカーやラグビーのようなスポーツの場合、ゴールポストや看板など、試合中に同じ場所で静止し続ける物体を指す。
【0042】
距離画像生成部602は、形状推定部112により推定された被写体の形状モデル(被写体モデル)を用いて、距離画像を生成する。本実施形態における距離画像は、撮像画像と同じ画素数を持ち、各画素には撮像装置100から最も近い被写体の表面までの距離情報が格納された画像である。距離画像生成部602は、静止物情報取得部601から静止物情報が入力された場合、世界座標系で静止物モデルと被写体モデルを統合し、静止物と被写体の前後関係を考慮した距離画像を生成する。すなわち、距離画像生成部602は、撮像装置100から最も近い被写体および/または静止物の表面までの距離情報が格納された画像を生成する。
【0043】
画像選択部114は、距離画像生成部602により生成された距離画像を参照しながら、姿勢推定に用いる前景画像を画像候補から選択する。
【0044】
[動作フロー]
続いて、姿勢推定装置600の動作について説明する。
図7は、姿勢推定装置600により実行される処理のフローチャートである。
図7に示すフローチャートは、姿勢推定装置600のCPU411がROM412やRAM413に格納されている制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実現されうる。なお、S705、S725、S740以外の各ステップは実施形態1で説明した
図5の各ステップと同様であるため、説明を省略する。
【0045】
S500においてカメラパラメータが取得された後のS705において、静止物情報取得部601は、取得した静止物情報を読み込み、該静止物情報を距離画像生成部602へ出力する。その後、S510とS520において前景画像が取得され各被写体の形状モデルが推定された後、S725において、距離画像生成部602は、同じ世界座標系で表現された被写体モデルと静止物モデルを統合した上で、各撮像装置100についての距離画像を生成する。具体的には、距離画像生成部602は、各カメラパラメータを用いて、被写体モデルと静止物モデルをレンダリングし、その際に距離情報を計算する。そして、距離画像生成部602は該距離情報が各画素に格納された距離画像を生成する。レンダリングする際、被写体モデルが点群で表現された場合、距離画像に穴が生じる。そのため、点群を構成する各点を半径rの球や一辺nの立方体など、体積を持った立体物の集合として表現することで距離画像の穴の発生を防ぐことができる。また、MarchingCubes法などにより、点群からメッシュモデルを生成した上でレンダリングしても穴の発生を防ぐことができる。レンダリングの詳細は、OpenGLなど一般的なグラフィックスライブラリで実現できるので省略する。距離画像生成部602は、生成した距離画像を画像選択部114へ出力する。
【0046】
距離画像が生成された後、S530において対象の被写体についての画像候補が生成される。続くS740において、画像選択部114は、S725で生成された距離画像に基づいて、対象の被写体が別の被写体や静止物によって遮蔽されているか否かを判定しながら、対象の被写体についての画像候補(前景画像)の中から姿勢推定に用いる前景画像を選択(決定)する。すなわち、画像選択部114は、画像候補における対象の被写体の少なくとも一部が、他の被写体の領域および/または静止物の領域により遮蔽されているかを判定し、当該判定の結果に基づいて、該対象の被写体について姿勢推定に用いる前景画像を選択(決定)する。
【0047】
前景画像を選択するために、実施形態1で説明した
図5のS540と同様に、画像選択部114は、優先順位を設定する。距離画像を参照しながら優先順位を付ける方法について、
図8を参照しながら説明する。
【0048】
図8は、被写体の重なりを示す模式図である。
図8の(a)~(e)は、異なる撮像装置100が複数の被写体を撮影した場合の、各撮像装置100における前景領域(白色)を示す前景画像を示している。本実施形態では該前景領域は、被写体領域と静止物領域を含みうる。
図8(a)は、3つの被写体810、820、830が離れている場合の前景画像を示す。
図8(b)は、被写体820が画角外、被写体830が被写体810を遮蔽している場合の前景画像を示す。
図8(c)は、被写体820が画角外、被写体810が被写体830を遮蔽している場合の前景画像を示す。
図8(d)は、被写体820は被写体830から離れているが、被写体810が画角外、被写体830は静止物(白棒領域)に遮蔽している場合の前景画像を示す。
図8(e)は、被写体830が画角外、被写体810と被写体820が離れている場合の前景画像を示す。
【0049】
ここで、対象の被写体を被写体830とする。S530で画像候補生成部113が、対象の被写体830に対する画像候補を生成する場合、実施形態1で説明したS530の処理により、
図8(e)の前景画像では被写体830が存在しないため、当該前景画像は画像候補に含めない。画像候補生成部113は、
図8(a)~(d)の前景画像を、画像候補として生成する。
【0050】
続いて画像選択部114は、
図8(a)~(d)の前景画像に対して優先順位を設定する。本実施形態では優先度を設定し、優先順位は該優先度が高い順から設定されるものとする。まず、該前景画像を取得した1つ以上の撮像装置100について、各被写体の形状モデルをカメラ画像上に射影し、被写体毎の距離画像を生成する。そして、該距離画像における各被写体領域(画素値が0以外の領域)を囲む各矩形情報を生成する。該矩形情報の生成処理は、一度生成すれば次の被写体IDのループにおいて生成されなくてもよい。画像選択部114は、対象の被写体領域の矩形が、他の被写体領域の矩形と交差しなければ、対象の被写体の前景領域は
図8(a)のように分離されていると判断し、優先度を1と設定する。
【0051】
一方、矩形同士(対象の被写体領域の矩形と他の被写体領域の矩形)が交差する場合、対象の被写体が他の被写体に遮蔽されている可能性があるため、被写体同士の前後関係を判定する必要がある。判定するために、画像選択部114は、対象の被写体の距離画像を取得した撮像装置100について、該対象の被写体の距離画像と、S725で生成した統合距離画像とを比較する。具体的には、画像選択部114は、対象の被写体の距離画像における対象被写体領域の各画素に格納された距離と、該統合距離画像の各画素に格納された距離を比較し、その差が一定の閾値未満であれば、該画素は該撮像装置100から最も近い対象被写体の表面にあると推定し、カウントアップする。反対に、該差が閾値以上であれば、他の被写体に対象の被写体は遮蔽されていると推定する。被写体領域における全画素について距離を比較した結果、該撮像装置100から最も近い対象被写体の表面にある画素としてカウントされた画素の数を被写体領域の全画素数で割った値を優先度とする。つまり、
図8の被写体830の優先度を考えると、
図8(b)のように被写体830が被写体810より前に位置すると優先度は高く、
図8(c)のように被写体830が被写体810の奥に位置すると優先度は低くなるように、被写体830に対する優先度が算出される。
【0052】
また、
図8(d)のように、被写体830を撮像装置100に射影した結果、静止物領域に重なる可能性もある。この場合でも、被写体830の被写体領域内の画素の距離と統合距離画像における距離を比較すると、静止物領域の画素により差が大きくなり、該撮像装置100から最も近い対象被写体の表面にある画素としてカウントされた画素の数が少なくなる。よって、優先度が低くなる。さらに、静止物と重なった場合、優先度が低くなる重みをかけることで、
図8(d)のような前景画像の優先度は極小にできる。
【0053】
このように処理することで、
図8における被写体830の優先順位は、
図8(a)から
図8(d)の順に低くなる。具体的には、
図8(a)の前景画像の優先度を1、
図8(d)の優先度を極小に、
図8(b)は
図8(a)に近い優先度を、
図8(c)は
図8(b)よりも低い優先度を設定できる。画像選択部114は該優先度に応じて優先順位を設定し、上位の前景画像を選択する。最後に、選択された前景画像を姿勢推定部115へ送ることで、姿勢推定部115は被写体の姿勢モデルを推定することができる。
【0054】
本実施形態により、各撮像装置と被写体や静止物との距離を考慮しながら、姿勢推定に用いる前景画像を選択できるようになる。また、姿勢推定を行う対象の被写体が遮蔽された前景画像を選択することを防げることができるため、姿勢推定処理の処理時間と誤差を低減することが可能となる。
【0055】
このように、以上に説明した実施形態によれば、多視点カメラに写る複数被写体の姿勢モデルを推定する場合、被写体の位置や被写体同士の重なりなどを考慮して、限定された台数の撮像装置と、当該撮像装置による画像を選択できる。その結果、姿勢推定の処理時間や誤差を低減できる。
【0056】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0057】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する
【符号の説明】
【0058】
100 撮像装置、110;600 姿勢推定装置、111 カメラ情報取得部、112 形状推定部、113 画像候補生成部、114 画像選択部、115 姿勢推定部、601 静止物情報取得部、602 距離画像生成部