IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ KDDI株式会社の特許一覧

<>
  • 特開-モデル生成装置及びプログラム 図1
  • 特開-モデル生成装置及びプログラム 図2
  • 特開-モデル生成装置及びプログラム 図3
  • 特開-モデル生成装置及びプログラム 図4
  • 特開-モデル生成装置及びプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022168749
(43)【公開日】2022-11-08
(54)【発明の名称】モデル生成装置及びプログラム
(51)【国際特許分類】
   G06T 7/564 20170101AFI20221031BHJP
【FI】
G06T7/564
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021074432
(22)【出願日】2021-04-26
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】今野 智明
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096CA05
5L096EA05
5L096EA39
5L096FA06
5L096FA32
5L096FA33
5L096FA66
5L096FA69
5L096GA10
5L096GA30
(57)【要約】
【課題】深度画像を用いてモデル生成する際の品質改善を行うことのできるモデル生成装置を提供する。
【解決手段】多視点の深度画像として背景を撮影した各視点での複数の背景画像より、画素ごとの背景モデルを生成する背景モデル生成部22と、前記複数の背景画像より、深度の取得状況に応じて、画素ごとの信頼度を算出する信頼度算出部23と、前記背景に加えて前景物体を撮影した多視点の深度画像を前景背景画像として、各視点での前景背景画像に対して、前記背景モデルを適用して各視点での前記前景の領域を抽出したマスク画像を生成するマスク画像生成部3と、前記信頼度を考慮して、前記各視点でのマスク画像に視体積交差法を適用することにより、前記前景物体の3次元モデルを生成するモデル生成部4と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
多視点の深度画像として背景を撮影した各視点での複数の背景画像より、画素ごとの背景モデルを生成する背景モデル生成部と、
前記複数の背景画像より、深度の取得状況に応じて、画素ごとの信頼度を算出する信頼度算出部と、
前記背景に加えて前景物体を撮影した多視点の深度画像を前景背景画像として、各視点での当該前景背景画像に対して、前記背景モデルを適用して各視点での前記前景の領域を抽出したマスク画像を生成するマスク画像生成部と、
前記信頼度を考慮して、前記各視点でのマスク画像に視体積交差法を適用することにより、前記前景物体の3次元モデルを生成するモデル生成部と、を備えることを特徴とするモデル生成装置。
【請求項2】
前記信頼度算出部は、前記複数の背景画像の各画素位置において、当該複数の背景画像における深度の無効値の発生件数が多いほど、当該画素の信頼度を低く算出することを特徴とする請求項1に記載のモデル生成装置。
【請求項3】
前記信頼度算出部は、前記複数の背景画像の各画素位置において、深度のばらつきが大きいほど、当該画素の信頼度を低く算出することを特徴とする請求項1に記載のモデル生成装置。
【請求項4】
前記信頼度算出部は、前記複数の背景画像の各画素位置において、深度の無効値を除外したうえで、有効値として取得されている深度値より前記深度のばらつきを評価することを特徴とする請求項3に記載のモデル生成装置。
【請求項5】
前記信頼度算出部は、前記複数の背景画像の各画素位置において、当該画素位置での深度が当該複数の背景画像の全てについて無効値である場合に、当該複数の背景画像の各々における空間的な近傍に位置する画素における無効値の発生状況及び/又は当該空間的な近傍に位置する画素における深度値のばらつきに基づいて、当該画素位置での信頼度を算出することを特徴とする請求項1ないし4のいずれかに記載のモデル生成装置。
【請求項6】
前記信頼度算出部では、前記画素ごとの信頼度の画像での代表値を求め、
前記モデル生成部は、前記画像での代表値として求められた信頼度を考慮して、前記3次元モデルを生成することを特徴とする請求項1ないし5のいずれかに記載のモデル生成装置。
【請求項7】
コンピュータを請求項1ないし6のいずれかに記載のモデル生成装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元モデルを生成するモデル生成装置及びプログラムに関する。
【背景技術】
【0002】
3Dモデルの生成方法に関して、カメラ映像を利用した手法がある。例えば、複数のカメラを被写体の周りを囲むように配置して撮影された映像から3Dモデルを生成することができる。
【0003】
非特許文献1では、複数の映像から形状モデルを生成する視体積交差法という手法が記載されている。この手法では、3D空間をボクセルモデルで表現する。このボクセルを撮影時のカメラパラメータなどに基づき各カメラのマスク画像に投影して、マスクの内側か外側かでボクセルの物体の有無を判別する。特許文献1では、各カメラの空間解像度に基づき重みを考慮して、視体積交差法での3Dモデルの生成を行う手法を提案している。
【0004】
非特許文献2では、被写体を含む画像から前景と背景を分離したマスク画像を抽出するために、背景をガウス分布でモデル化する手法が記載されている。また、非特許文献3では、深度画像を利用したマスク画像の生成について記載がされている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2020-4219号公報
【非特許文献】
【0006】
【非特許文献1】K. N. KUTULAKOS, S. M. SEITZ, `` A Theory of Shape by Space Carving,'' International Journal of Computer Vision 38(3), 199-218, 2000
【非特許文献2】C. R. Wren, A. Azarbayejani, T. Darrell and A. P. Pentland, "Pfinder: Real-Time Tracking of the Human Body"
【非特許文献3】K. Greff, A. Brandao, S. Kraus, D. Stricker and E. Clua, "A Comparison between Background Subtraction Algorithms using a Consumer Depth Camera"
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1では、各カメラに対して信頼度を付与してモデリングする手法が提案されているが、信頼度は各カメラの空間分解能に基づき付与され、分解能が高いカメラの結果はより強く反映されるような形で視体積交差法でのモデリングは実施される。
【0008】
しかしながら、モデリングに深度画像を利用するケースにおいては、深度画像の画素値が無効な値ばかりが得られてしまうような信頼できないカメラが存在した際に、それは信頼度に考慮されず視体積交差法では画一的に扱われることでモデリングの精度が悪くなる問題が考えられる。このようなケースにおいて、カメラ毎の重みを考慮したモデル形状の品質改善に寄与する手法はなかった。
【0009】
上記従来技術の課題に鑑み、本発明は深度画像を用いてモデル生成する際の品質改善を行うことのできるモデル生成装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明は、モデル生成装置であって、多視点の深度画像として背景を撮影した各視点での複数の背景画像より、画素ごとの背景モデルを生成する背景モデル生成部と、前記複数の背景画像より、深度の取得状況に応じて、画素ごとの信頼度を算出する信頼度算出部と、前記背景に加えて前景物体を撮影した多視点の深度画像を前景背景画像として、各視点での当該前景背景画像に対して、前記背景モデルを適用して各視点での前記前景の領域を抽出したマスク画像を生成するマスク画像生成部と、前記信頼度を考慮して、前記各視点でのマスク画像に視体積交差法を適用することにより、前記前景物体の3次元モデルを生成するモデル生成部と、を備えることを特徴とする。また、コンピュータを前記モデル生成装置として機能させるプログラムであることを特徴とする。
【発明の効果】
【0011】
本発明によれば、深度の取得状況(例えば無効値の発生状況)に応じて信頼度を算出し、3次元モデル生成においてはこの信頼度を考慮することにより、深度画像を用いてモデル生成する際の品質改善を行うことができる。
【図面の簡単な説明】
【0012】
図1】一実施形態に係るモデル生成装置の機能ブロック図である。
図2】一実施形態に係るモデル生成装置の動作のフローチャートである。
図3】撮影部の構成及び当該構成のもとでの撮影部における撮影の模式例を示す図である。
図4】撮影部で撮影した深度画像の例を示す図である。
図5】一般的なコンピュータにおけるハードウェア構成を示す図である。
【発明を実施するための形態】
【0013】
図1は、一実施形態に係るモデル生成装置10の機能ブロック図である。図示する通り、モデル生成装置10は撮影部1、背景処理部2、マスク画像生成部3及びモデル生成部4を備え、背景処理部2はさらに背景統計情報算出部21、背景モデル生成部22及び信頼度算出部23を備える。図2は一実施形態に係るモデル生成装置10の動作のフローチャートである。以下、図2の各ステップを説明しながら、図1の各部の処理内容について説明する。図3は撮影部1の構成及び当該構成のもとでの撮影部1における撮影の模式例を示す図であり、図4は撮影部1で撮影した深度画像の例を示す図である。図3及び図4の例は以下の説明で適宜、参照する。
【0014】
<ステップS1>
ステップS1では、N個(N視点、N≧2)の深度センサによるカメラとして構成される撮影部1において、深度画像として構成される背景画像を複数取得してからステップS2へと進む。
【0015】
(撮影部1)
撮影部1は上記の通り、ハードウェアとしてはN個の深度センサによるカメラとして構成され、ステップS1では各カメラにおいて共通の背景を撮影することにより、各カメラにおいて複数の深度画像を取得して背景統計情報算出部21へと出力する。当該深度画像は、所定の解像度で得られ、画素値としてセンサから被写体までの距離が得られる。時間的に連続したフレームの深度画像を複数取得することができる。
【0016】
図3の例EX1は、N=4として撮影部1が4個の深度カメラC1,C2,C3,C4で構成される場合に、ステップS1でこれら深度カメラC1,C2,C3,C4が背景BG(例えば部屋における床や壁など)の撮影を行う模式例である。これら深度カメラC1,C2,C3,C4は、背景BGが存在する共通の環境E(現実世界の局所的なフィールド)内の所定位置に固定して配置されており、後述する視体積交差法が適用可能なように背景BGを様々な方向から取り囲む所定位置に配置されている。
【0017】
図4の例EX3は、撮影部1を構成する複数の深度カメラのうち1つで背景BGを撮影した1枚の深度画像の例であり、背景BGは部屋であって、2つの壁面W1,W2と天井面CLと床面FLとが深度画像に撮影されている例である。この深度画像では各面の境界付近の箇所に不規則に黒色で示される領域が存在するが、当該黒色の領域は深度画像において深度が無効な値(深度が適切に取得できずエラーとなったことを表す値)となっていることを表す。(周囲の六角形形状よりも外部の黒色領域は画角範囲外であることを表し、後述する同図の例EX4でも同様である。)白色の領域は有効な深度値が得られていることを表す。
【0018】
このように深度カメラの深度画像では、有効な値以外に、無効な値が取得されることがある。すなわち、深度画像は、センサ(深度カメラ)の位置から物体表面までの距離を画素値とするものであるが、この撮影を行う際に、センサや被写体の特性によっては、有効な深度値が得られず、画素値が無効な深度値となってしまうケースがある。(例えば、深度カメラが物体に対して赤外線パターンを照射してこれを受光することで深度検出するものである場合に、物体表面の反射等で受光できない場合などがありうる。)ここで、有効な深度値とは1mや10mなどの実際の距離の値(1や10)で、無効な深度値とは、実際の距離とは関係なく距離が推定できなかったエラーを意味する値(便宜的に0などが使われる)を指す。例えば、頭髪などは深度値が無効と判定されやすい。
【0019】
ステップS1では撮影部1の各深度カメラが静止位置で共通の背景BGをそれぞれ複数回撮影するが、撮影される位置(深度画像における画素位置)によって、複数回のうち全てが無効な値となる場合や、一部のものが無効な値となる場合や、無効な値が存在せず全て有効な深度値として取得される場合もありうる。(すなわち、図4の例EX3に示すある深度カメラの1回の撮影結果で黒色となって無効値となっている位置において、複数回の他の撮影では有効な深度値が得られることや、その逆もありうる。)
【0020】
深度カメラによる深度画像が全て有効な値で構成されると仮定すれば従来手法で視体積交差法を適用して3Dモデルを得ることができる。しかしながら実際には背景の撮影時と、背景及び前景の撮影時とで無効な値が混じってしまうことがありうる。ここで、無効な値を除外する処理のみで視体積交差法を適用したとすると、3Dモデルに欠損が発生してしまう。(また、無効な値が発生しないような撮影を行うことがコストや撮影環境等の観点から現実的でないことが想定される。)本実施形態はこのような無効な値への対処を可能とする。
【0021】
<ステップS2>
ステップS2では、ステップS1で撮影部1のN視点の深度カメラがそれぞれ撮影した複数の背景深度画像を背景処理部2が処理してから、ステップS3へと進む。
【0022】
この際、背景統計算出部21はN視点の各深度画像の各画素位置における統計情報(複数回の撮影結果による統計情報)を算出し、当該統計情報を用いて背景モデル生成部22はN視点の各深度画像の各画素位置における背景モデル(視体積交差法を適用する際に用いるための背景モデル)を生成し、当該統計情報を用いて信頼度算出部23はN視点の各深度画像の各画素位置における信頼度を算出する。具体的にはそれぞれ以下の通りである。
【0023】
(背景統計情報算出部21)
背景統計情報算出部21は、N視点の各々において得られた複数の深度画像群(静止位置で時間的に連続して撮影したものとして適宜、フレームと称する)から統計情報を算出する。統計情報はN視点の各深度画像の各画素ごとに算出することができる。統計情報としては、当該画素において、得られた全フレーム分の画素値のうち、平均、標準偏差、特定の値の割合などである。
【0024】
特定の値としては、無効な深度値を意味する0など(深度センサがエラー値として出力しているもの)を用いてよいが、有効な深度値であっても撮影環境上起こりえない所定範囲(例えば部屋内で撮影が行われており、深度が5m未満となることが既知である場合に、5m以上の深度となる場合など)を含めるようにしてもよい。平均は、全フレームの平均値でもよいし、特定の値であったフレームを除くフレーム分の平均値でもよい。同様に、標準偏差は全フレームの標準偏差でもよいし、特定の値であったフレームを除くフレーム分の標準偏差でもよい。
【0025】
(背景モデル生成部22)
背景モデル生成部22は、背景統計情報算出部21で算出された統計情報などをもとに、背景のモデル化を行う。これは、後段側のマスク画像生成部3において当該背景モデルを利用して前景を含む入力深度画像から前景領域のみを抽出して深度マスク画像を生成するためである。
【0026】
背景の深度の画素値は確率分布モデルとして正規分布に従うとして、背景のモデル化を行う。各カメラの画素ごとに背景統計情報算出部21で求めた平均と標準偏差の正規分布でモデル化して、前景を含む深度画像が入力された際にモデルに当てはめることで、それぞれの画素が背景か前景かを判定することができる。
【0027】
例えば、背景統計情報算出部21でN視点の各画像の各画素位置について算出された平均μ及び標準偏差σを用いて以下(1)~(3)のいずれかとして正規分布でモデル化を行うようにしてよい。
(1)「μ±σ」(68.3%のσ区間)内にあれば背景、なければ前景と判定する。
(2)「μ±2σ」(95.4%のσ区間)内にあれば背景、なければ前景と判定する。
(3)「μ±3σ」(99.7%のσ区間)内にあれば背景、なければ前景と判定する。
【0028】
なお、平均や標準偏差を求める際に、深度画像の画素値が無効な値を除いて求めたものを利用してもよい。例えば、無効な値として0が与えられる場合、全フレームのうち0であるフレームを除き、残りの有効な値が得られたフレームのみで平均や標準偏差を計算してもよい。無効な値である0による統計値の影響をなくすことができる。
【0029】
(信頼度算出部23)
信頼度算出部23は、後段側のモデル生成部4において3Dモデルを生成する際に考慮する重みとなる信頼度をN視点の各画像の各画素位置について算出する。本実施形態では、背景をモデル化して各画素が背景か前景かを判定しそれに基づいた深度マスク画像から3Dモデルを生成するため、背景モデルを生成する際に利用する深度画像のデータから信頼度を算出する。すなわち、背景モデル生成部22で背景統計情報算出部21の統計値を用いたのと同様に、信頼度算出部23でも背景統計情報算出部21で算出された各統計値を信頼度の算出に利用する。
【0030】
信頼度算出部23では、センサs(sはN個の深度センサのIDでありs=1,2,…,N)から取得した当該画素位置(x,y)の信頼度ws(x,y)を以下のように、当該センサsの画素位置(x,y)で複数回の撮影を行って得られた複数の深度値における有効な値の有無の場合分け(A)、(B)のもとで与えることができる。
【0031】
(A)…有効な値が存在する場合
当該背景画素の深度値に少なくとも1つの有効な値が存在する場合、以下(1)または(2)の手法で信頼度を算出することができる。(なお、有効な値が全く存在しない場合も当該(A)の手法で計算できるが、この場合の別の実施形態として後述する(B)の手法を用いてもよい。)
【0032】
(1) 当該画素の深度値に有効なものが存在し、画素の深度値が無効(0値)である割合に基づいて、当該割合が大きいほど信頼度ws(x,y)を低く算出する。
【0033】
すなわち、背景モデルを生成するために取得した深度画像の画素値が0である割合が多い場合、その画素の背景モデルの確からしさは低いと考え、当該カメラの画素の信頼度を低いと考えることができ、例えば以下の式のように値の範囲が0~1に規格化された信頼度ws(x,y)を算出してよい。
ws(x,y) = (M-HZs(x,y))/M
ここで、全フレームのうちの画素値が無効な値0である数:HZs(x,y)
全フレーム数:M
(ステップS1でのセンサsにおける複数回の撮影回数がMである。)
【0034】
例えば、背景をモデル化するためにセンサsにおいてM=10枚の深度画像を取得したとする。ここで特定の画素(x,y)に着目する。10枚の画像のうち、当該画素における画素値が無効であるものが3枚あるとすると、当該画素の重みである信頼度はws(x,y)=0.7となる。
【0035】
(2) 当該画素の深度値に有効なものが存在し、画素の深度値のばらつきを利用して当該ばらつきが大きいほど信頼度ws(x,y)を低く算出する。(なお、背景統計情報算出部21に関して前述した通り、ばらつきを求める際に、深度画像の画素値が無効な値であるフレームを除いて算出したものを利用してもよい。)
【0036】
すなわち、背景モデルを生成するために取得した深度画像の画素値のばらつきが多い場合、その画素の背景モデルの確からしさは低いと考え、当該カメラの画素の信頼度を低いと考えることができる。ただし、画素値が常に無効な値の場合(平均0で標準偏差0)は、重みを0.0とする。例えば以下の式のように値の範囲が0~1に規格化された信頼度ws(x,y)を算出してよい。
If μs(x,y) = 0.0 && σs(x,y) = 0.0 → ws(x,y) = 0.0
If σs(x,y) ≦ THs(x,y) → ws(x,y) = 1.0
If σs(x,y) > THs(x,y) → ws(x,y) = THs(x,y)/σs(x,y)
ここで、背景の深度画像の当該画素の画素値の平均:μs(x,y)
背景の深度画像の当該画素の画素値の標準偏差:σs(x,y)
許容するばらつきのパラメータ:THs(x,y)
(THs(x,y)≧0の範囲で閾値としてTHs(x,y)を設定しておく)
【0037】
例えば、背景をモデル化するためにセンサsにおいてM=10枚の深度画像を取得したとする。ここで特定の画素に着目する。許容するばらつきのパラメータをTHs(x,y)=5とする。標準偏差σs(x,y)が3であった場合は、上記式の3つの「If」条件で示される3つの場合のうち2つ目に該当することで当該画素の重みである信頼度は1.0とする。つまり、信頼度が高いことを意味する。標準偏差σs(x,y)が50であった場合は、上記式の3つの「If」条件で示される3つの場合のうち3つ目に該当することで当該画素の重みである信頼度は、5/50で0.1となる。つまり、信頼度が低いことを意味する。
【0038】
(B)…有効な値が存在しない場合
当該背景画素の深度値に有効な値が存在せず全て無効な値である場合、以下(3)または(4)の手法で信頼度を算出することができる。
【0039】
なお、有効な値が存在しない場合も前述の(A)の(1)または(2)を適用することで、信頼度の値を規格化された範囲内での最小値として0.0として算出することができるが、別の実施形態として以下(3)または(4)の手法により、周辺の画素の統計値を利用して算出するようにしてもよい。すなわち、当該画素及びその隣接画素も含めて統計値を計算して、信頼度を算出する。
【0040】
(3) 当該画素の深度値が無効な場合に、隣接画素(ここで、各フレームの画素位置(x,y)から見て空間的な近傍画素((x,y)に対して(x+d,y+d)等の空間的な近傍画素)を、時間方向に並ぶ各フレームの全てにおいて集めたものを隣接画素とする)の深度の画素値が無効(0値)である割合を利用して、当該割合が大きいほど信頼度ws(x,y)が小さくなるように、例えば以下の式で算出してよい。
【0041】
【数1】
【0042】
ここで、HZs(x,y)隣接は、
全フレームでの空間的近傍画素(合計N隣接個)のうちの
画素値が無効な値0である数
N隣接は、全フレームでの空間近傍画素数である隣接画素数
(撮影したフレーム枚数がMなら、各フレームの空間近傍画素が{(2d+1)2-1}個
であることから、N隣接=M*{(2d+1)2-1}となる。)
dは、当該画素から対象として含める空間的近傍画素までの
範囲を規定する画素数のパラメータ(予め設定しておく)
(例えばd=1では32-1=8近傍、d=52-1=24近傍となる。)
【0043】
パラメータdは、例えば、当該画素の上下、左右、斜め方向の外側1画素を対象とした8近傍とすれば、d=1とする。さらにもう1つ外側の画素までを対象とする場合、d=2での上下、左右、斜め方向の外側2画素までを対象とした24近傍を用いる。同様に任意のパラメータdについて(2d+1)2-1個の近傍画素を用いればよい。これにより、当該画素から空間的に離れる範囲を考慮するほど信頼度を低くすることができる。
【0044】
(4) 当該画素の深度値が全て無効な場合に、隣接画素(上記(3)と同様に定義される合計N隣接個の隣接画素)における深度の画素値のばらつきを利用して、当該ばらつきが大きいほど信頼度ws(x,y)が小さくなるように、例えば以下の式で算出してよい。
If μs(x,y)隣接= 0.0 && σs(x,y)隣接 = 0.0 → w s(x,y)= 0.0
If σs(x,y)隣接 ≦ TH s(x,y) → w s(x,y)= 1/(d+1)
If σs(x,y)隣接 > TH s(x,y) → ws(x,y)= {1/(d+1) }*{THs(x,y)s(x,y)隣接}
ここで、μs(x,y)隣接は、
隣接する画素を含む背景の深度画像の当該画素の画素値の平均
σs(x,y)隣接は、隣接する画素を含む背景の深度画像の当該画素値の標準偏差
TH s(x,y)は、許容するばらつきのパラメータ
(THs(x,y)>=0の範囲で予め設定する)
dは、当該画素から対象として含める隣接画素までの範囲を規定する
画素数のパラメータ(上記(3)と同様の定義)
【0045】
なお、上記の式において、隣接の合計N隣接個の深度画素値のばらつきは有効な深度値を用いて算出するようにすればよく、近傍の深度画素値が全て無効である場合は、(2)の場合と同様に、3つあるIfによる場合分けの最初に該当することで、信頼度を規格化された範囲での最小値w s(x,y)= 0.0とすればよい。
【0046】
なお、以上の(1)及び(2)の信頼度の重みづけ和として信頼度を求めてもよいし、以上の(3)及び(4)の信頼度の重みづけ和として信頼度を求めるようにしてもよい。
【0047】
<ステップS3>
ステップS3では、N個(N視点、N≧2)の深度センサによるカメラとして構成される撮影部1において、深度画像として構成される前景及び背景の含まれる画像を各カメラにおいて1枚取得してからステップS4へと進む。(なお、ステップS1で撮影部1により得られる背景画像と区別するために、当該ステップS3で撮影部1により取得される画像を前景背景画像と呼ぶ場合がある。)前景が移動する対象である場合は、ステップS3におけるN個の深度カメラの撮影は同一時刻において行うようにすればよい。前景が静止する対象である場合は、このように撮影時刻が必ずしも同期していなくともよい。
【0048】
撮影部1のハードウェアとしての構成はステップS1(背景のみを撮影)とステップS3(前景及び背景を撮影)とで同一であり、N個の深度センサの各々をステップS1,S3では同一環境の同一位置姿勢(同一のカメラ外部パラメータの状態)及び同一撮影状態(同一のカメラ内部パラメータの状態)に配置して、ステップS1では環境に背景のみが存在した状態で複数フレームの撮影を行い、ステップS3では環境に背景及び前景(3Dモデルの生成対象となる人物等のオブジェクトで構成される前景)を配置して、1枚のみの撮影を行うようにすればよい。
【0049】
図3ではステップS1の撮影部1の例EX1に対応するステップS3の撮影部1の例EX2が示されおり、例EX1,EX2におけるN=4個のカメラC1,C2,C3,C4の環境E内での配置は同一であり、例EX1では環境E内での撮影対象として背景BGのみが存在していたのに対し、例EX2では3Dモデル生成対象となる人物等のオブジェクトが前景FGとして追加で存在しており、N=4個のカメラC1,C2,C3,C4による撮影の対象となる。
【0050】
図4の例EX4は、例EX3におけるのと同一カメラである、撮影部1を構成する複数の深度カメラのうち1つで前景FG及び背景BGを撮影した1枚の深度画像(前景背景画像)の例である。前景FGとしては部屋内の人物が撮影されているが、髪の箇所や、体と背景BGとの境界箇所などが黒色として示されるように深度が無効な状態として撮影されている。背景BGの箇所についても、ステップS1,S3の撮影例EX3,EX4で概ね同様の箇所において深度が無効な状態として撮影されている。
【0051】
<ステップS4>
ステップS4では、ステップS2で背景モデル生成部22より得られた背景モデルを用いて、ステップS3で撮影部1が撮影したN視点の深度画像(前景及び背景が撮影されている前景背景画像)の各々についてマスク画像生成部3がマスク画像(深度画像から前景シルエットを抽出した画像)を生成してから、ステップS5へと進む。
【0052】
(マスク画像生成部3)
マスク画像生成部3は、背景と前景を含んだ深度画像から前景のみのシルエットを抽出した深度マスク画像を生成する。撮影部1のハードウェア構成として設置されたN個の深度センサ毎に深度マスク画像が生成される。上述した背景モデル生成部22で生成した背景モデルを利用して、前景領域を白色、それ以外を黒色に二値化した深度マスク画像を生成する。
【0053】
具体的に、背景モデルを用いて背景差分法を適用することにより、事前に設定した背景である際の下限と上限のしきい値に基づき、画素値がその間の範囲であれば、背景とし、その範囲外であれば前景と判定することができる。すなわち、以下の式のように判定してよい。しきい値は、画素ごとに与えることもできるし、全画素で共通でもよい。信頼度ws(x,y)に依存する画素(x,y)ごとのしきい値として例えば、信頼度が低いほどより背景として判定されやすく、信頼度が高いほどより前景として判定されやすくするように、判定範囲を変化させるものを用いてもよい。(例えば以下の係数k>0を、信頼度ws(x,y)が小さいほど大きな値となるように設定して、背景として判定される範囲を広げるようにしてもよい。)
【0054】
If D(x,y) < THL(x,y) → 前景
If D(x,y) > THH(x,y) → 前景
If THL(x,y) ≦ D(x,y) ≦ THH(x,y) → 背景
ここで、ステップS3で撮影した当該画素値の座標 (x,y)
ステップS3で撮影した当該画素の画素値D(x,y)
ステップS1の複数フレームの画像の画素毎の画素値の平均μ(x,y)
ステップS1の複数フレームの画像の画素毎の画素値の標準偏差σ(x,y)
背景のしきい値(下限) THL(x,y) = μ(x,y)-kσ(x,y)
背景のしきい値(上限) THH(x,y) = μ(x,y)+kσ(x,y)
※kは閾値を設定するための任意の係数
【0055】
なお、画素値D(x,y)が無効な値(0値)の場合も無効な値としての深度値を上記判定式に適用して、前景または背景のいずれに該当するかを判定すればよい。(この場合、撮影環境における背景は一定以上の正の値の深度(例えば2m以上)を有する前提で、この深度から大きく乖離する0値(0以上の深度の最小値)は基本的に前景と判定されることが想定される。)また、当該深度センサ(N個のカメラのうち1つ)の当該画素位置(x,y)において複数M枚を取得した背景画像の深度値が全て無効値であった場合は、上記判定式の適用をスキップして強制的に前景又は背景のいずれかであるものとしてルールベースで判定してもよいし、μ=0(無効な深度値0)、σ=a(aは定数で例えばa=1)等の設定で上記判定式を適用するようにしてもよい。これらの前景背景画像の画素値D(x,y)が無効値の場合及び/又は背景画像の画素位置(x,y)のM個の深度値が全て無効な場合について、前景又は背景の判定を結果的に誤ってマスク画像にノイズが生じる場合もありうるが、次のステップS5で3Dモデルを生成する際に、結果的に当該ノイズの影響が低減されることが期待される。
【0056】
<ステップS5>
ステップS5では、ステップS2で信頼度算出部23により算出された信頼度を考慮したうえで、ステップS4でマスク画像生成部3により生成されたN視点のマスク画像(多視点画像としてのマスク画像)に対して、モデル生成部4が視体積交差法を適用することにより、前景(ステップS3で撮影した際に配置されている前景)の3Dモデルを生成することで、以上の図2のフローを終了する。
【0057】
(モデル生成部4)
モデル生成部4では、複数の深度マスク画像を利用して、3Dモデルを生成する。本実施形態では、3Dモデルをボクセルモデルとして表現し、ボクセルモデルを視体積交差法により生成する。(視体積交差法により当該ボクセルモデルを生成後に、マーチングキューブ法等の任意の既存手法を適用してポリゴンモデルとして3Dモデルを生成してもよい。)
【0058】
視体積交差法では、ボクセルモデルの各ボクセルを各センサ(カメラ)のカメラパラメータで各画像に投影し、その投影結果がマスクの内側か外側かを各カメラに対して判定して、各カメラの判定結果に基づき当該ボクセルを物体があるとみなし"On"とするか物体がないとみなし"Off"とするかを判定する。
【0059】
本実施形態では、投影する画像には前景を抽出した深度マスク画像を用いる。深度マスク画像は設置された深度センサ(カメラ)毎に求められている。ボクセルを深度マスク画像に投影する際に利用するそれぞれのカメラのカメラパラメータ(内部パラメータ及び外部パラメータ)は既知であるか事前にキャリブレーションにより推定されたものを利用する。
【0060】
視体積交差法では、ボクセルの各カメラへの投影結果すべてがマスクの内側と判定されたボクセルのみを"On"とすることや、所定のしきい値Cで決定したC台以上のカメラでマスクの内側の場合に"On"と判定することができる。
【0061】
本実施形態では、特許文献1と同様に、視体積交差法の各カメラへの投影結果に重みをつけて、ボクセルの"On"または"Off"を判定する。この重みとして、上述した信頼度ws(x,y)を利用する。3次元座標であるボクセルV(X,Y,Z)を各カメラsに投影した際に、特定の画素(x,y)に投影されることでボクセルV(X,Y,Z)と各カメラsの画素(x,y)との対応関係が定まるため、当該投影された画素(x,y)の信頼度ws(x,y)を対応するボクセルV(X,Y,Z)について利用することができる。
【0062】
カメラがN台あり、それぞれの深度マスク画像Is(s=1,2,…,N)が生成されたとする。また、N台それぞれのカメラパラメータ(内部及び外部パラメータ)params(s=1,2,…,N)が予め与えられているか、任意の既存手法のカメラキャリブレーションにより求まっているとする。3次元空間上の特定のボクセルVj(j=1,2,…)に着目する。当該ボクセルVjをN台のそれぞれのカメラパラメータparamsで深度マスク画像Isへと投影することができる。
【0063】
ボクセルVjがカメラsに投影された画素(x,y)s(この投影される画素位置(x,y)sは一般に、カメラsごとに異なるものとなる)の信頼度を前述と同様にws(x,y)とする。当該投影された画素(x,y)sが当該カメラsのマスクIsの内側であれば1、外側であれば0とするマスク判定結果をms(x,y)とする。本実施形態では、マスクの内側か否かの当該判定結果ms(x,y)に加えて、信頼度ws(x,y)も考慮して評価値Eを算出する。そして、この評価値E(以下のように各カメラs=1,2,…,Nでの判定結果ms(x,y)の和を、信頼度ws(x,y)による重みづけ和として求める)と、予め設定しておくしきい値THEとの比較に基づき当該ボクセルのOnとOffを以下のように判定することができる。
E= Σs=1,2,…,N { ws(x,y) * ms(x,y) }
If E < THE → Vj = Off (ボクセルVjは3Dモデルの構成要素ではない)
If E ≧ THE → Vj = On (ボクセルVjは3Dモデルの構成要素である)
【0064】
上記の数値例を示す。例えば、カメラが4台ある(s=1,2,3,4)として、ボクセルv0を各カメラの深度マスク画像に投影したとき、投影先の深度マスク画像(各カメラs=1,2,3,4についてマスク画像上の位置{0,0},{0,1},{1,0},{1,1}にそれぞれ投影されたとする)のマスク判定結果と画素の重みは、下記のとおりであった場合を考える。
m1(0,0)=1, w1(0,0)=0.1
m2(0,1)=1, w2(0,1)=1.0
m3(1,0)=1, w3(1,0)=1.0
m4(1,1)=1, w4(1,1)=1.0
【0065】
このとき、評価値Eは以下のように重みづけ和として算出される。
E= 0.1*1 +1.0*1+1.0*1+1.0*1=3.1
ここで、しきい値TH_Eを4とした場合、E=3.1はTH_E=4より小さいため、ボクセルv0は"off"となる。
【0066】
ここで比較のため、従来の信頼度による重みを考慮しないモデリングを考える。信頼度を考慮しない場合は、各カメラの画素の重みをすべて1.0と等価である。
E= 1.0*1 +1.0*1+1.0*1+1.0*1=4
このE=4はTHE=4以上なので、ボクセルv0は"on"となる。
【0067】
以上の数値例からも、信頼度による重みを考慮する場合と考慮しない場合でボクセルの判定結果が変わることがわかる。
【0068】
このことによる効果として、信頼度が低い画素におけるマスクの判定結果の全体への影響度合いが小さくなり、信頼度が高い画素におけるマスクの判定結果の全体への影響度合いが大きくなることで、生成されるモデルの品質が向上する効果がある。信頼度の低い画素(カメラ)の場合、他の画素(カメラ)での判定結果に委ねることで全体として正しい判定結果に近づけることが期待される。
【0069】
以上、本発明の実施形態によれば、以下の効果を奏することができる。
・背景の深度画像の統計値に基づき算出された信頼度を考慮したモデリングにより、モデルの品質の向上が期待される。
・特に、従来は考慮されていなかった背景の深度画像の画素値が無効な場合やばらつきが大きい場合に有効となる。
【0070】
以下、種々の補足例、追加例、代替例などに関して説明する。
【0071】
(1) 図2のフローの変形例として、ステップS1,S2は事前準備として1回のみ実施して背景モデルや信頼度を求めておき、この背景モデル及び信頼度を利用して、ステップS3,S4,S5をリアルタイムの各時刻t=1,2,…で繰り返して実施することで、前景となる対象(人物等)のリアルタイムでの姿勢変化を反映した3次元モデルをリアルタイムで生成するようにしてもよい。
【0072】
(2) 本発明の実施形態によれば、その応用例として上記リアルタイム生成される3次元モデル(ボクセルからさらにポリゴンとして求める)に対して表面テクスチャの描画を行うことで、遠隔地に存在する対象(例えばスポーツ試合中の選手)を自由視点映像として、臨場感を持って視聴することが可能となる。これにより、遠隔地への実際の移動を必ずしも必須とせずに、スポーツ試合等のコンテンツを視聴したり、あるいは、遠隔コミュニケーションの表示インタフェースとして用いて遠隔地の対象についてのアドバイス(例えばスポーツ上達のアドバイス)を行ったりすることが可能となり、ユーザ移動に必要となるエネルギー資源を節約することで二酸化炭素排出量を抑制できることから、国連が主導する持続可能な開発目標(SDGs)の目標13「気候変動とその影響に立ち向かうため、緊急対策を取る」に貢献することが可能となる。
【0073】
(3) 信頼度算出部23に関して、主に画素ごとに信頼度を算出する方法について説明したが、カメラ毎に信頼度を算出してもよい。例えば、背景画像(M枚全体)から算出した各画素の信頼度の空間平均を算出し、それを当該フレームの当該カメラの信頼度としてもよい。平均以外の代表値(最頻値や中央値など)を用いてもよい。モデル生成部4では当該カメラ毎の、あるいは時間平均の値を用いて、前述の処理を行えばよい。
【0074】
(4) 図5は、一般的なコンピュータ装置70におけるハードウェア構成の例を示す図である。モデル生成装置10は、このような構成を有する1台以上のコンピュータ装置70として実現可能である。なお、2台以上のコンピュータ装置70でモデル生成装置10を実現する場合、ネットワーク経由で処理に必要な情報の送受を行うようにしてよい。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサとしてのGPU(グラフィックス演算装置)72、CPU71(及びGPU72)にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77、カメラ78と、これらの間でデータを授受するためのバスBSと、を備える。
【0075】
モデル生成装置10の各機能部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又はGPU72によって実現することができる。なお、CPU71及びGPU72は共に、演算装置(プロセッサ)の一種である。ここで、表示関連の処理が行われる場合にはさらに、ディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作する。撮影部1の各カメラはカメラ78(複数の深度カメラ)として実現してよい。
【符号の説明】
【0076】
10…モデル生成装置、1…撮影部、2…背景処理部、21…背景統計情報算出部、22…背景モデル生成部、23…信頼度算出部、3…マスク画像生成部、4…モデル生成部
図1
図2
図3
図4
図5