JP2019121196A - 映像生成プログラム、映像生成方法及び映像生成装置 - Google Patents

映像生成プログラム、映像生成方法及び映像生成装置 Download PDF

Info

Publication number
JP2019121196A
JP2019121196A JP2018000808A JP2018000808A JP2019121196A JP 2019121196 A JP2019121196 A JP 2019121196A JP 2018000808 A JP2018000808 A JP 2018000808A JP 2018000808 A JP2018000808 A JP 2018000808A JP 2019121196 A JP2019121196 A JP 2019121196A
Authority
JP
Japan
Prior art keywords
likelihood
pixel
background
viewpoints
foreground
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018000808A
Other languages
English (en)
Inventor
恵 近野
Megumi Konno
恵 近野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018000808A priority Critical patent/JP2019121196A/ja
Publication of JP2019121196A publication Critical patent/JP2019121196A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)
  • Image Analysis (AREA)

Abstract

【課題】前景と背景との分離に用いるグラフカットの処理量を低減すること。【解決手段】サーバ装置10は、複数の視点からそれぞれ撮影された複数の画像における各画素について、複数の視点それぞれでの背景または前景らしさを示す第一の尤度を算出し、各画素についての各視点における第一の尤度を総合した、各画素を複数視点から見たときの総合尤度を算出し、総合尤度および第一の尤度に基づき、複数の視点それぞれにおける各画素の第二の尤度をそれぞれ算出し、第二の尤度に基づき、各画素が、前景または背景のいずれに相当するかを判定する。【選択図】図11

Description

本発明は、映像生成プログラム、映像生成方法及び映像生成装置に関する。
自由視点映像という技術が知られている。例えば、視点が異なる複数のカメラが撮像する多視点のカメラ画像から3次元情報を復元する。このような3次元形状を用いることにより、実際にはカメラが存在しない仮想的な視点から3次元の被写体が観測される仮想視点の画像を生成できる。
被写体の3次元形状を推定するためには、まず各カメラが撮影した画像それぞれにおいて被写体(前景)と背景とを分離したうえで、多視点で撮影されたカメラ画像を統合して被写体の3次元形状を推定する。
例えば、各視点に対応するカメラが撮影したカメラ画像に2次元のグラフカットを適用することにより、当該カメラ画像に含まれる画素ごとに割り当てる前景または背景のラベルを最適化することができる。すなわち、カメラ画像の画素ごとに算出された前景または背景の尤もらしさにしたがって、エネルギー関数として定式化されたデータ項および平滑化項のコストが設定される。このエネルギー関数を最小化する問題を解決する2次元のグラフカットのアルゴリズムにしたがって各画素に最適なラベルが割り当てられる。
このようにカメラ画像に2次元のグラフカットを適用する場合、当該カメラ画像において前景と背景の色が類似することなどが一因となって被写体と背景との分離が困難な場合がある。
また、多視点で撮影されたカメラ画像を総合的に利用して3次元のグラフカットおよび2次元のグラフカットを併用することにより、他の視点から見たときにカメラ画像において前景および背景を分離できる可能性が高くなることも知られている。
特開2012−32372号公報
Nicholas R. Howe, Alexandra Deschamps "Better Foreground Segmentation Through Graph Cuts" Computer Science Smith College Northampton, MA 01063, 21 Jan 2004
しかしながら、上記の技術では、前景と背景との分離精度を向上させるために、3次元のグラフカット及び2次元のグラフカットが併用される。このように3次元のグラフカットが用いられる場合、ボクセルの単位で処理が実行されるので、画素の単位で処理が実行される2次元のグラフカットに比べて、処理単位とする要素の数が増加する。さらに、ボクセルは、要素同士が隣接する数も画素よりも多いので、グラフカットに用いるエネルギー関数の平滑化項の数も増加する。このような3次元のグラフカットが2次元のグラフカットと併用される場合、グラフカットの処理量が増大する。
1つの側面では、本発明は、前景と背景とを分離する処理量を低減できる映像生成プログラム、映像生成方法及び映像生成装置を提供することを目的とする。
一態様では、映像生成プログラムは、複数の視点からそれぞれ撮影された複数の画像における各画素について、前記複数の視点それぞれでの背景または前景らしさを示す第一の尤度を算出し、前記各画素についての各視点における前記第一の尤度を総合した、前記各画素を複数視点から見たときの総合尤度を算出し、総合尤度および前記第一の尤度に基づき、前記複数の視点それぞれにおける前記各画素の第二の尤度をそれぞれ算出し、前記第二の尤度に基づき、前記各画素が、前記前景または前記背景のいずれに相当するかを判定する、処理をコンピュータに実行させる。
前景と背景とを分離する処理量を低減できる。
図1は、実施例1に係る映像生成システムの構成例を示す図である。 図2は、画像の一例を示す図である。 図3は、Visual Hullの一例を示す図である。 図4は、レンダリングの一例を示す図である。 図5は、フローネットワークの一例を示す図である。 図6は、前景および背景の分離の一例を示す図である。 図7は、前景および背景の分離の一例を示す図である。 図8は、ボクセル空間の一例を示す図である。 図9は、シルエット画像の修復方法の一例を示す図である。 図10Aは、第二の尤度の算出方法の一例を示す図である。 図10Bは、第二の尤度の算出方法の一例を示す図である。 図11は、実施例1に係るサーバ装置の機能的構成を示すブロック図である。 図12は、実施例1に係る分離処理の手順を示すフローチャートである。 図13は、実施例1及び実施例2に係る映像生成プログラムを実行するコンピュータのハードウェア構成例を示す図である。
以下に添付図面を参照して本願に係る映像生成プログラム、映像生成方法及び映像生成装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
図1は、実施例1に係る映像生成システムの構成例を示す図である。図1に示す映像生成システム1は、一側面として、視点が異なる複数のカメラ5A〜5Nが撮像する多視点のカメラ画像を組み合わせることにより自由視点映像を生成する映像生成サービスを提供するものである。
図1に示すように、映像生成システム1には、カメラ5A〜5Nと、サーバ装置10と、クライアント端末30とが含まれる。以下では、カメラ5A〜5Nのことを「カメラ5」と記載する場合がある。なお、図1には、あくまで一例として、1つのクライアント端末30を図示したが、任意の数のクライアント端末30が映像生成システム1に含まれることとしてもかまわない。
カメラ5は、サーバ装置10に接続される。また、サーバ装置10及びクライアント端末30の間は、所定のネットワークNWを介して接続される。例えば、ネットワークNWは、有線または無線を問わず、インターネット、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の種類の通信網により構築することができる。あくまで一例として、図1には、自由視点映像がネットワークNWを経由して提供される場合を例示するが、これはあくまで映像提供形態の一例であり、サーバ装置10及びクライアント端末30の間で必ずしも双方向に通信が行われずともかまわない。例えば、ネットワークNWを経由せず、自由視点映像が放送波を介してサーバ装置10からクライアント端末30へ提供されることとしてもかまわない。
カメラ5は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子を搭載する撮像装置である。
例えば、複数のカメラ5の撮影範囲が組み合わさることにより自由視点映像の生成対象とする3次元空間の全域が複数のカメラ5の撮影範囲に収まる配置で各カメラ5が設置される。さらに、2つ以上のカメラ5により撮像されたカメラ画像から3次元空間上に存在する被写体3の3次元形状を推定するために、各カメラ5は、他のカメラ5との間で撮影範囲の一部が重複する状態で配置される。このような配置の下、複数のカメラ5がフレームごとに同期して撮影することにより、異なる視点ごとに同一のタイミングで撮影された複数の画像、すなわち多視点のカメラ画像がフレーム単位で得られる。
サーバ装置10は、上記の映像生成サービスを提供するコンピュータである。このサーバ装置10は、映像生成装置の一例に対応する。
一実施形態として、サーバ装置10は、パッケージソフトウェア又はオンラインソフトウェアとして、上記の映像生成サービスを実現する映像生成プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、サーバ装置10は、上記の映像生成サービスを提供するWebサーバとして実装することとしてもよいし、アウトソーシングによって上記の映像生成サービスを提供するクラウドとして実装することとしてもかまわない。
クライアント端末30は、上記の映像生成サービスの提供を受けるコンピュータである。
一実施形態として、上記の映像生成サービスの提供を受けるユーザにより使用される任意のコンピュータがクライアント端末30に対応する。例えば、クライアント端末30は、パーソナルコンピュータやワークステーションなどのデスクトップ型のコンピュータなどが対応する。このようなデスクトップ型のコンピュータに限定されず、ラックトップ型のコンピュータや携帯端末装置、ウェアラブル端末などの任意のコンピュータであってかまわない。
[映像生成]
上記の自由視点映像は、一側面として、(1)前景背景分離、(2)3次元形状推定、(3)レンダリングの3つの処理を実行することによって生成される。
(1)前景背景分離
上記の「前景背景分離」とは、各視点に対応するカメラ画像ごとに当該カメラ画像から前景と背景とを分離する処理を指す。ここで言う「前景」とは、カメラ5の撮影範囲内の3次元空間に存在する物体の中でも人や人に用いられる道具や乗り物などの被写体3に対応する一方で、「背景」とは、被写体の背後に存在する光景に対応する。この前景背景分離は、同一のフレームのカメラ画像ごとに並列して実行することもできれば、所定数ずつ順番に実行することもできる。
図2は、画像の一例を示す図である。図2の左側には、ある視点p1に対応するカメラ画像200が示されると共に、図2の右側には、視点p1のカメラ画像200から生成されたシルエット画像210が示されている。詳細は後述するが、カメラ画像200に2次元のグラフカットが適用されることにより、各画素が画素値を持つカメラ画像200から各画素に前景または背景の2値のラベルが割り当てられたシルエット画像210が生成される。このシルエット画像210では、図2に示すように、カメラ画像200に含まれる被写体3のシルエットおよび背景が分離される。
(2)3次元形状推定
上記の「3次元形状推定」には、一例として、Visual−Hullという技術が用いられる。このVisual Hullでは、カメラ5の光学中心とシルエット画像上のシルエットとを結んでできるCone(視体積)が生成された上で、Cone同士が重なる3次元空間上の領域が被写体3の3次元形状として推定される。
図3は、Visual Hullの一例を示す図である。図3には、カメラ5A〜5Cの3つのカメラ5のシルエット画像210A〜210CがVisual Hullの算出に用いられる場合が示されている。図3に示すように、カメラ5A〜5Cの各視点に対応するシルエット画像210A〜210CごとにシルエットSA〜SCが3次元空間に投影される。すなわち、シルエットSAが投影された場合、カメラ5Aの光学中心およびシルエット画像210A上のシルエットSAを結ぶ視体積CAが得られる。さらに、シルエットSBが投影された場合、カメラ5Bの光学中心およびシルエット画像210B上のシルエットSBを結ぶ視体積CBが得られる。さらに、シルエットSCが投影された場合、カメラ5Cの光学中心およびシルエット画像210C上のシルエットSCを結ぶ視体積CCが得られる。これら視体積CA〜CCが重複するVisual Hull領域、すなわち図3に示す黒の塗り潰しの3次元モデルが被写体3の3次元形状として推定される。
(3)レンダリング
上記の「レンダリング」とは、仮想視点に対応するカメラ画像、いわゆる自由視点映像を多視点のカメラ画像を用いて生成する処理を指す。ここで言う「仮想視点」とは、仮想カメラに与えられる視点を指し、例えば、仮想カメラが3次元空間上に配置される位置や姿勢を指す。この仮想視点は、クライアント端末30からユーザ入力を受け付けることにより指定されることとしてもよいし、また、クライアント端末30を介するユーザ設定またはサーバ装置10に登録されたシステム設定により指定されることとしてもかまわない。
図4は、レンダリングの一例を示す図である。図4には、仮想カメラVcの位置がカメラ5Bおよびカメラ5Cの間に設定される場合が示されている。図4に示すように、仮想カメラVcに対応するカメラ画像の画素ごとに、仮想カメラVcの光学中心および画素を通る直線と、3次元形状が推定された3次元モデルとの交点の3次元空間上の位置が求められる(S1)。続いて、カメラ5の位置や姿勢などの外部パラメータ及びカメラ5の画角やレンズの歪みなどの内部パラメータが設定されたカメラパラメータにしたがって、上記の交点が各視点に対応するカメラ画像に投影される。ここでは、一例として、仮想カメラVcからの距離が近い所定数のカメラ5のカメラ画像、すなわちカメラ5BおよびカメラCの2つのカメラ画像200Bおよび200Cに上記の交点が投影される(S2B及びS2C)。これによって、仮想カメラVcの画素に対応するカメラ5Bの画素およびカメラ5Cの画素が特定される。
その後、カメラ5Bにより撮像されたカメラ画像のうち仮想カメラVcの画素に対応するカメラ5Bの画素が有する画素値と、カメラ5Cにより撮像されたカメラ画像のうちカメラ5Cの画素が有する画素値とが参照される(S3B及びS3C)。例えば、仮想カメラVcの画素に対応するカメラ5Bの画素の画素値と、仮想カメラVcの画素に対応するカメラ5Cの画素の画素値との統計値、例えば相加平均または仮想カメラVcとの距離を用いる加重平均などが仮想カメラVcの画素の画素値として決定される。
このように仮想カメラVcの画素ごとに画素値を決定することで、仮想視点に対応する自由視点映像がレンダリングされる。なお、ここでは、複数のカメラ5のカメラ画像を用いて自由視点映像がレンダリングされる場合を例示したが、仮想カメラVcとの距離が最も近い最寄りのカメラ5のカメラ画像に絞って自由視点映像のレンダリングに用いることもできる。
[グラフカット]
次に、前景と背景との分離に用いるグラフカットについて説明する。ここでは、2次元のグラフカットを単独で用いる従来技術1について説明した後に、2次元のグラフカット及び3次元のグラフカットを併用する従来技術2について説明する。
(1)従来技術1
2次元のグラフカットでは、一例として、カメラ画像に含まれる画素に前景または背景のラベルを割り当てるラベル付け問題が下記の式(1)に示すエネルギー関数を最小化する問題として定式化される。
Figure 2019121196
グラフカットのアルゴリズムでは、カメラ画像から最小カットの計算に用いるフローネットワークが生成される。図5は、フローネットワークの一例を示す図である。図5に示すように、フローネットワークには、カメラ画像に含まれる画素に対応するノードと、ターミナルとも呼ばれるラベルに対応するSource(s)のノードおよびSink(t)のノードとが含まれる。図5に示すノード間を接続するエッジのうち、カメラ画像の平面上で互いが隣接する画素のノード間を接続するエッジが「n−link」と呼ばれることがある。また、各ノードからSource(s)のノードおよびSink(t)のノードを接続するエッジが「t−link」と呼ばれることがある。
このようなフローネットワークに含まれるノード群は、フローの始点のSource(s)のノードを含む集合Sおよびフローの終点のSink(t)のノードを含む集合Tへ分割するカット、いわゆるs−tカットが実行される。このs−tカットによって集合Sと集合Tとの境界となるエッジのうち集合Sから集合Tへ接続されるエッジのコストの総和、いわゆるs−tカットの容量が最小となるs−tカットが算出される。このようにs−tカットの容量が最小となるs−tカットは「最小カット」とも呼ばれる。この最小カットを算出するアルゴリズムは、最大フロー最小カットの定理にしたがって上記の式(1)に示すエネルギー関数E(L)に定式化できる。
上記の式(1)に示すエネルギー関数E(L)には、右辺第一項の「データ項」と右辺第二項の「平滑化項」とが含まれる。上記の式(1)における「i」は、ラベルLが付与される場所(サイト)を指し、2次元のグラフカットが前景と背景との分離に適用される場合、カメラ画像の画素に対応する。これと対比して、上記の式(1)における「j」は、サイトiに隣接する隣接サイトを指す。例えば、サイトiに対応する画素の周囲に位置する8近傍、あるいは4近傍の画素を隣接サイトとして定義することができる。また、上記の式(1)における「P」は、サイトiの集合を指す。また、上記の式(1)における「L」は、集合Pの各サイトiに割り当てるラベルを指す。例えば、あるサイトiのラベルLに前景が割り当てられる場合、Lの値が「0」に設定される一方で、背景が割り当てられる場合、Lの値が「1」に設定される。また、上記の式(1)における「α」および「λ」は、データ項および平滑化項に付与する重みの係数を指す。
このようにエネルギー関数E(L)として定式化される多項式のうち、「データ項」は、上記のフローネットワークのt−linkのコストに対応し、サイトiとそのサイトiに割り当てられるラベルLとによってコストが定められる。例えば、集合Pの一要素であるサイトiに関するデータ項のコストEd(L)は、前景らしさを表す前景尤度または背景らしさを表す背景尤度のいずれかを示す第一の尤度によって定義することができる。このようにデータ項のコストを定義する尤度は、「第一の尤度」の一例に対応する。
例えば、従来技術1では、第一の尤度の一例として、背景らしいほど小さい値をとる背景尤度Pbgを用いてデータ項のコストが計算される。この背景尤度Pbgの算出には、カメラ画像が撮像されたカメラ5と同一のカメラ5により背景に絞って事前に撮影が行われた背景画像が用いられる。例えば、カメラ画像に含まれる画素iの背景尤度を算出する場合、カメラ画像および背景画像の間で画素iおよび画素iの周辺に位置する8近傍の画素jを含む9個の画素ごとに画素値、例えばRGB値や輝度値の差分を求める。その上で、9個の画素ごとに求められた差分に統計処理、例えば平均処理等を実行する。このように得られた差分の平均値が画素iの背景尤度Pbgとして用いられる。
このような背景尤度Pbgがカメラ画像の画素ごとに算出された状況の下、例えば、あるサイトiに前景のラベルL(=0)が割り当てられる場合、データ項のコストのうち当該サイトiに対応する要素のコスト「Ed(L=0)=f(L=0)」の計算には「1−Pbg」が用いられる。また、あるサイトiに背景のラベルL(=1)が割り当てられる場合、データ項のコストのうち当該サイトiに対応する要素のコスト「f(L=1)」の計算には「Pbg」が用いられる。
また、「平滑化項」は、上記のフローネットワークのn−linkのコストに対応し、隣接するサイト間でラベルを滑らかにするペナルティ関数が定められる。例えば、平滑化項のコストのうちサイトiに対応する要素のコストEs(L,L)は、exp(−|C−C|)によって定義することができる。ここで言う「C」及び「C」には、サイトiまたはサイトiの隣接サイトjに対応する画素の画素値、例えばRGB値や輝度値などを用いることができる。
これらのデータ項および平滑化項を含むエネルギー関数E(L)を最小化するラベルの集合が最大フロー最小カットの定理にしたがって算出される。
このような従来技術1では、前景と背景との分離精度が背景尤度の精度に依存する。このため、従来技術1では、2次元のグラフカットに用いる背景尤度の精度が低下すると、前景と背景との分離精度も低下する。
図6は、前景および背景の分離の一例を示す図である。図6には、被写体3および背景4がカメラ5Cを用いて撮影される様子が模式的に示されている。さらに、図6には、左の端から見て、カメラ5Cにより撮像されたカメラ画像200C、カメラ5Cにより背景4に絞って事前に撮影が行われた背景画像300C、従来技術1により前景および背景が分離されたシルエット画像210Cの順に並べて示されている。
図6に示すように、被写体3と被写体3の背後にある背景4の壁との間で色が類似する場合、カメラ画像200C上で被写体3が映る領域と、当該被写体3と同一の位置に対応する背景画像300C上の領域との間で画素値に差が出にくい。このため、カメラ画像200C及び背景画像300Cの間で画素値の差分が算出されたとしても、被写体3の領域に含まれる画素の背景尤度はゼロに近い値となるので、画素値等の観測データから背景尤度を評価する精度が低下する。このような状況下で2次元のグラフカットが実行されたとしても、被写体3の領域に背景のラベルが割り当てられたラベルの集合で算出されるデータ項のコストが、被写体3の領域に前景のラベルが割り当てられたラベルの集合で算出されるデータ項のコストよりも相対的に低くなる。このため、被写体3の領域のうち背景4の色と類似する部分が背景と誤判定され易くなる。例えば、図6に示す例で言えば、シルエット画像210Cに示すように、被写体3に対応する領域のうち背景4の壁と重複する部分を前景として分離することができない。
(2)従来技術2
従来技術2では、前景と背景との分離に多視点のカメラ画像が用いられる。図7は、前景および背景の分離の一例を示す図である。図7には、被写体3および背景4がカメラ5Bおよびカメラ5Cを用いて撮影される様子が模式的に示されている。さらに、図7の右側の下段には、左の端から見て、カメラ5Cにより撮像されたカメラ画像200C、カメラ画像200Cから前景および背景が分離されたシルエット画像210Cの順に並べて示されている。さらに、図7の右側の下段には、左の端から見て、カメラ5Bにより撮像されたカメラ画像200B、カメラ画像200Bから前景および背景が分離されたシルエット画像210Bの順に並べて示される。
図7に示すように、カメラ5Cにより撮像されたカメラ画像200Cでは、図6に示す例と同様、被写体3と被写体3の背後にある背景4の壁との間で色が類似する。その一方で、カメラ5Bにより撮像されたカメラ画像200Bでは、被写体3に重なる背景4の色が異なる。このように、ある視点では、被写体3と背景4とが重なる状態でカメラ画像が撮像されたとしても、他の視点では、被写体3と背景4とが重ならない状態でカメラ画像が撮像されることが多い。そして、多くの視点で前景に分離される領域ほど前景である可能性が高く、多くの視点で背景に分離される領域ほど背景である可能性も高い。
これら多視点のカメラ画像の特性が従来技術2で利用される。すなわち、従来技術2では、カメラ画像200C単独では背景尤度が低い領域、すなわち背景らしい領域であっても、当該領域と同一の位置に対応するカメラ画像200B上の領域で背景尤度が高い場合、当該領域の背景尤度を補正する。この背景尤度の補正によって、シルエット画像210Cでは、被写体3に対応する領域のうち背景4の壁と重複する部分も前景として分離できる可能性が高まる。このような多視点のカメラ画像を用いる背景尤度の補正は、3次元のグラフカットを用いることにより実現される。
より詳細には、従来技術2では、カメラ5の視点ごとに尤度付きのシルエット画像が生成される。この尤度付きのシルエット画像は、上述の通り、カメラ5により撮像されるカメラ画像と、カメラ5により背景に絞って事前に撮影が行われた背景画像とから、背景尤度が画素ごとに算出されることによって生成される。
続いて、従来技術2では、尤度付きのボクセル空間が構築される。すなわち、ボクセル空間中の各ボクセルを視点ごとに投影する。図8は、ボクセル空間の一例を示す図である。図8にハッチングで示されたボクセルv1は、カメラ5A〜5Cの3つのカメラ5のカメラパラメータを参照して、カメラ5A〜5Cの3つの視点に投影される。これにより、各視点のシルエット画像210A〜210C上でボクセルv1に対応する画素の背景尤度が参照される。これら各視点のシルエット画像210A〜210C上でボクセルに対応する画素から参照された背景尤度を総合することで、当該ボクセルで背景尤度が総合された総合尤度が算出される。このように総合尤度がボクセルごとに算出されることにより、尤度付きのボクセル空間が構築される。なお、図8には、各ボクセルのサイズが一定である場合を例示したが、前景となる被写体の境界部に位置するボクセルを対象に当該ボクセルを所定数に分割し、分割後のボクセルのいずれかに被写体を含まないボクセルが発生するまで境界部のボクセルのサイズを細かく設定することができる。
その後、従来技術2では、尤度付きのボクセル空間の2値化が行われる。すなわち、ボクセル空間の隣接関係、すなわちボクセル間のユークリッド距離および総合尤度の差を考慮したエネルギー関数を定義して、該エネルギー値が最小になるように、ボクセル空間中の各ボクセルに前景または背景のラベルを割り当てることにより、ボクセル空間の2値化を行う。このエネルギー値の最小化に3次元のグラフカットが適用される。
その上で、従来技術2では、3次元のグラフカットを適用することにより前景または背景のラベルが割り当てられたボクセル空間の結果にしたがって各視点のシルエット画像が修復される。すなわち、3次元のグラフカットで前景のラベルが割り当てられたボクセルは、上記の従来技術1のように、1つのシルエット画像単体で前景のラベルが割り当てられたのではなく、多視点のシルエット画像の背景尤度を総合することにより前景のラベルが割り当てられている。このため、前景のラベルが割り当てられたボクセルに対応するシルエット画像上の画素の背景尤度が低い場合、当該背景尤度を高める補正を実行することにより、被写体と背景との間で色が類似する部分を2次元のグラフカットで分離しやすくできる。
図9は、シルエット画像の修復方法の一例を示す図である。図9には、ボクセルに対応する立方体が模式的に示されると共に、ボクセルのうち前景のラベルが割り当てられたボクセルがハッチングで示されている。さらに、図9には、前景のラベルが割り当てられたボクセルのうちボクセルv1に対応するシルエット画像上の画素が持つ背景尤度を補正する例が示されている。
図9に濃いハッチングで示されたボクセルv1は、カメラ5A〜5Cの3つのカメラ5のカメラパラメータを参照して、カメラ5A〜5Cの3つの視点に投影される。これにより、各視点のシルエット画像210A〜210C上でボクセルv1に対応する画素が識別される。そして、各視点のシルエット画像210A〜210Cごとにボクセルv1に対応する画素が持つ背景尤度が補正される。このとき、ボクセルv1に対応する画素の背景尤度が所定の閾値Th1、例えば0.5未満である場合、当該画素の背景尤度が「Pbg」から「1−Pbg」へ補正される。一方、ボクセルv1に対応する画素の背景尤度が上記の閾値Th1以上である場合、当該画素の背景尤度の補正は実行されず、背景尤度は元の背景尤度「Pbg」のままとされる。
このように背景尤度を補正することで各視点のシルエット画像が修復された後に、上記の従来技術1と同様、上記の式(1)に示すエネルギー関数E(L)を最小化するラベルの集合が2次元のグラフカットを適用することにより算出される。
[課題の一側面]
上記の従来技術1については、既に説明した通り、被写体と背景との色が類似する場合等の状況下で背景尤度の精度が低下する。このような背景尤度を用いて2次元のグラフカットを行ったとしても、被写体の領域に背景のラベルが割り当てられたラベルの集合で算出されるデータ項のコストが、被写体の領域に前景のラベルが割り当てられたラベルの集合で算出されるデータ項のコストよりも相対的に低くなる。このため、従来技術1では、2次元のグラフカットにより被写体と背景と重複する部分を前景として分離することができず、前景と背景との分離精度が低下する。
一方、上記の従来技術2では、各ボクセルに割り当てられた前景または背景のラベルを参照して、ボクセルに対応するシルエット画像上の画素の背景尤度が補正される。ところが、上記の従来技術2では、2次元のグラフカットに用いる背景尤度を補正するために、ボクセルに対する前景または背景のラベルの割り当てに3次元のグラフカットが適用される。このように3次元のグラフカットを適用したのでは、グラフカットに関する処理量が増大する。
このように3次元のグラフカットが用いられる場合、ボクセルの単位で処理が実行される。このため、画素の単位で処理が実行される2次元のグラフカットに比べて、処理単位とする要素の数が増加するので、エネルギー関数のデータ項のコスト計算で総和を求める要素の数が増加する。さらに、ボクセルは、要素同士が隣接する数も画素よりも多いので、エネルギー関数の平滑化項でサイトiとの間で差分を計算する隣接サイトの数も増加する。例えば、画素の場合、画素iに隣接する画素jの数は最大でも8個であるが、ボクセルの場合、ボクセルiに隣接するボクセルjの数は最大で26個に増加するので、1つのボクセルにつき差分を計算する回数も18回増加することになる。このように3次元のグラフカットが2次元のグラフカットと併用される場合、前景と背景との分離に用いるグラフカットの処理量が増大する。加えて、グラフカットの処理量が増大すると、処理時間やメモリ容量も増大する。
これらのことから、前景と背景との分離精度を低下させずに、グラフカットの処理量が増大するのを抑制する仕組みの実装に創作の困難性がある。
[課題解決のアプローチの一面]
そこで、本実施例では、各視点における画素の背景尤度を補正するための処理量を3次元のグラフカットが用いられる場合よりも低減する仕組みを実現する。これを実現するアプローチの1つとして、本実施例では、多視点からの前景または背景の第一の尤度を総合した総合尤度を3次元空間上の要素ごとに求め、視点から画素を通る光軸が貫く要素の中で最も前景らしい要素の総合尤度を当該画素の第二の尤度として前景および背景の分離に用いる。
図10A及び図10Bは、第二の尤度の算出方法の一例を示す図である。図10Aには、カメラ5により被写体3が撮影される構図を斜め方向から見た様子を模式的に示す斜視図が示されると共に、図10Bには、カメラ5により被写体3が撮影される構図を上方向から見た様子を模式的に示す上面図が示されている。図10A及び図10Bの例では、カメラ5が撮像するカメラ画像200に含まれる画素のうち画素P1の第二の尤度が算出される場合が示されている。なお、図10Bには、総合尤度が高いボクセルほど、すなわち前景らしいボクセルほど濃いハッチングで示されている。
図10Aに示すように、画素P1の第二の尤度を算出する場合、カメラ5の光学中心から画素P1を通る光軸L1が貫くボクセルが特定される。この光軸L1は、図10Bに示すように、4つのボクセル、すなわち図中の上から2行目の列に並ぶ4つのボクセルを通過する。このように光軸L1が貫くボクセルのうち、最も前景らしいボクセルの総合尤度が当該画素P1の第二の尤度として算出される。すなわち、図10Bの上から2行目に並ぶ4つのボクセルのうち最もハッチングが濃いボクセル、すなわち図10Bの上から2行目左から3列目のボクセルが持つ総合尤度が第二の尤度として算出される。
このような第二の尤度が画素ごとに算出されることにより、カメラ5の視点に対応するカメラ画像の画素ごとに第二の尤度が得られる。このように得られた第二の尤度を用いて、上記の式(1)に示すエネルギー関数E(L)を最小化するラベルの集合が2次元のグラフカットを適用することにより算出される。この結果、画素ごとに前景または背景のラベルが割り当てられたシルエット画像が生成される。
上述してきたように、本実施例では、2次元のグラフカットに用いる第一の尤度の精度を向上させるために、ボクセルの総合尤度の算出および各視点の画素の第二の尤度の算出が実行される。これらの処理は、カメラパラメータを用いた投影によるボクセル及び画素の対応関係の探索および統計処理によって実装できるので、上記の3次元のグラフカットを併用せずともよい。それ故、本実施例によれば、上記の従来技術2に比べて、グラフカットの処理量が増大するのを抑制できる。さらに、本実施例では、画素に対応するボクセルの中で最も前景らしいボクセルの総合尤度を当該画素の第二の尤度として算出する。この総合尤度には、第二の尤度を求める視点の第一の尤度以外にも他の視点の第一の尤度も総合される。このため、1つの視点単独で算出される第一の尤度の代わりに多視点で算出される第二の尤度を用いて2次元のグラフカットを実行することができる。したがって、本実施例によれば、上記の従来技術1に比べて、前景と背景との分離精度を向上させることができる。
[サーバ装置10の構成]
次に、本実施例に係るサーバ装置10の機能的構成について説明する。図11は、実施例1に係るサーバ装置10の機能的構成を示すブロック図である。図11に示すように、サーバ装置10は、通信I/F(InterFace)部11と、記憶部13と、制御部15とを有する。なお、図11には、上記の映像生成サービスに関連するサーバ装置10の機能部が抜粋して示されているに過ぎず、図示以外の機能部、例えば既存のコンピュータがデフォルトまたはオプションで装備する機能部がサーバ装置10に備わることを妨げない。例えば、多視点のカメラ画像がカメラ5からサーバ装置10へ放送波や衛星波を介して伝搬される場合、放送波や衛星波の受信部をさらに有することとしてもかまわない。
通信I/F部11は、他の装置との間で通信制御を行うインタフェースである。
一実施形態として、通信I/F部11には、LANカードなどのネットワークインタフェースカードが対応する。例えば、通信I/F部11は、各カメラ5からカメラ画像を受信したり、また、撮像制御に関する指示、例えば電源ON/電源OFFの他、パンやチルトなどの指示をカメラ5へ送信したりする。
記憶部13は、制御部15で実行されるOS(Operating System)を始め、上記の映像生成プログラムなどの各種プログラムに用いられるデータを記憶するハードウェアに対応する。
一実施形態として、記憶部13は、サーバ装置10における補助記憶装置に対応する。例えば、HDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などが補助記憶装置に対応する。この他、EPROM(Erasable Programmable Read Only Memory)などのフラッシュメモリも補助記憶装置に対応する。
記憶部13は、制御部15で実行されるプログラムに用いられるデータの一例として、背景画像13aと、ボクセル13bとを記憶する。これら背景画像13a及びボクセル13b以外にも、記憶部13は、自由視点映像の技術に関連する各種のデータを記憶することができる。例えば、記憶部13は、カメラ5の位置や向きなどの外部パラメータ及びカメラ5の画角やレンズの歪みなどの内部パラメータを含むカメラパラメータの他、カメラ5から伝送されたカメラ画像の時系列データなどを視点ごとに保存することができる。なお、背景画像13a及びボクセル13bの説明は、各データの登録または参照が行われる制御部15の説明と合わせて行うこととする。
制御部15は、サーバ装置10の全体制御を行う処理部である。
一実施形態として、制御部15は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などのハードウェアプロセッサにより実装することができる。ここでは、プロセッサの一例として、CPUやMPUを例示したが、汎用型および特化型を問わず、任意のプロセッサにより実装することができる。この他、制御部15は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによって実現されることとしてもかまわない。
制御部15は、図示しない主記憶装置として実装されるDRAM(Dynamic Random Access Memory)などのRAMのワークエリア上に、上記の映像生成プログラムを展開することにより、下記の処理部を仮想的に実現する。
制御部15は、図11に示すように、取得部15aと、第1の算出部15bと、総合尤度算出部15cと、第二の算出部15dと、判定部15eと、推定部15fと、生成部15gとを有する。
取得部15aは、多視点のカメラ画像を取得する処理部である。
一実施形態として、取得部15aは、各カメラ5から伝送されるカメラ画像をフレーム単位で取得することができる。ここで、取得部15aがカメラ画像を取得するソースは任意であってよく、カメラ5に限定されない。例えば、取得部15aは、各視点のカメラ画像を蓄積するハードディスクや光ディスクなどの補助記憶装置またはメモリカードやUSB(Universal Serial Bus)メモリなどのリムーバブルメディアから読み出すことにより多視点のカメラ画像を取得することもできる。この他、取得部15aは、外部装置からネットワークNWを介して受信することによって多視点のカメラ画像を取得することもできる。
第一の算出部15bは、複数の視点からそれぞれ撮影された複数の画像における各画素について、複数の視点それぞれでの背景または前景らしさを示す第一の尤度を算出する処理部である。
一実施形態として、第一の算出部15bは、カメラ5の視点ごとにカメラ画像に含まれる画素の第一の尤度を算出する。この第一の尤度を算出する処理は、同一のフレームのカメラ画像ごとに並列して実行することもできれば、カメラ画像を順番に選択して実行することもできる。
例えば、第一の算出部15bは、前景らしさを表す前景尤度または背景らしさを表す背景尤度のいずれかを第一の尤度として算出することができる。以下では、あくまで第一の尤度の一例として、背景らしいほど小さい値をとる背景尤度Pbgを算出する例を挙げて説明を行う。この背景尤度Pbgの算出には、一例として、記憶部13に記憶された背景画像13aが用いられる。このような背景画像13aの一例として、記憶部13には、各視点のカメラ5ごとに当該カメラ5により背景に絞って事前に撮影が行われた画像、例えばフレーム間の差分で動体が検出されない画像が登録される。例えば、ある視点のカメラ画像に含まれる画素iの背景尤度を算出する場合、第一の算出部15bは、取得部15aにより取得されたカメラ画像と、記憶部13に記憶された背景画像13aのうち当該カメラ画像が撮影されたカメラ5の視点に対応する背景画像との間で画素iおよび画素iの周辺に位置する8近傍の画素jを含む9個の画素ごとに画素値、例えばRGB値や輝度値の差分を求める。その上で、第一の算出部15bは、9個の画素ごとに求められた差分に統計処理、例えば平均処理等を実行する。このように得られた差分の平均値が画素iの背景尤度Pbgとして用いられる。
ここでは、あくまで一例として、第一の尤度の算出に背景尤度Pbgを用いる例を挙げたが、下記の式(2)の通り、背景尤度Pbgの項に加えて前景尤度Pfgの項を加味して第一の尤度P1を算出することもできる。
P1=Pbg−ω*Pfg・・・(2)
上記の前景尤度Pfgの一例として、第一の算出部15bは、画素iが前景である確率を次の手順で算出することができる。例えば、第一の算出部15bは、過去に実行された前景および背景の分離で前景に分離された領域に含まれる画素が持つ色の分布、例えばヒストグラムを生成する。このような色のヒストグラムを参照して、第一の算出部15bは、画素iが持つ色、例えばRGB値または輝度に対応する度数をヒストグラムのサンプルの総数で除算する計算により算出される割合を前景尤度Pfgとして用いることができる。
このように背景尤度Pbgに前景尤度Pfgが加味された第一の尤度P1を算出することで、前景部分と背景部分の尤度に有意差が付きやすくすることができる結果、第一の尤度の算出精度が向上する。
総合尤度算出部15cは、各画素についての各視点における第一の尤度を総合した、各画素を複数視点から見たときの総合尤度を算出する処理部である。
一実施形態として、総合尤度算出部15cは、記憶部13に記憶されたボクセル13bに含まれるボクセルごとに総合尤度を算出する処理を実行する。この総合尤度を算出する処理は、ボクセル間で並列して実行することもできれば、ボクセルを順番に選択して実行することもできる。
このようなボクセル13bは、映像生成プログラムの設計関係者、あるいは自由視点映像の提供者や閲覧者等の関係者などにより、ユーザインタフェース等を介して、サイズ、例えば5cm×5cmや1cm×1cmが指定される。このサイズの指定にしたがって3次元形状を推定する対象とする3次元空間にボクセルが定義される。このようにボクセルが定義されたデータがボクセル13bとして記憶部13に保存される。なお、各ボクセルのサイズは、一定であってもよいし、前景となる被写体の境界部に位置するボクセルを対象に当該ボクセルを所定数に分割し、分割後のボクセルのいずれかに被写体を含まないボクセルが発生するまで境界部のボクセルのサイズを細かく設定することもできる。
例えば、総合尤度算出部15cは、あくまで一例として、従来技術2と同様の方法で総合尤度を算出することができる。すなわち、総合尤度算出部15cは、各カメラ5のカメラパラメータを参照して、ボクセル13bに定義されたボクセル空間中のボクセルをカメラ5の各視点に投影する。これにより、各視点のカメラ画像上で当該ボクセルに対応する画素を識別できる。そして、総合尤度算出部15cは、各視点のカメラ画像上でボクセルに対応する画素が持つ第一の尤度を総合することで、当該ボクセルで第一の尤度が総合された総合尤度を算出する。例えば、総合尤度算出部15cは、各視点のカメラ画像上でボクセルに対応する画素が持つ第一の尤度に所定の統計処理、例えば平均処理を実行することにより、各視点の第一の尤度の統計値、例えば平均値を当該ボクセルの総合尤度として算出することができる。このように総合尤度がボクセルごとに算出されることにより、尤度付きのボクセル空間が構築される。
このように第一の尤度の統計値をボクセルの総合尤度とする他、総合尤度算出部15cは、他の方法によりボクセルの総合尤度を算出することができる。例えば、総合尤度算出部15cは、視点ごとにボクセルに対応する画素が持つ第一の尤度を2値化する。すなわち、総合尤度算出部15cは、第一の尤度が所定の閾値、例えば0.5以下である場合には値を「0」に設定する一方で、第一の尤度が閾値を超える場合には値を「1」に設定する。その上で、総合尤度算出部15cは、2値化により前景に分類される視点の数の割合、例えば値が「1」に設定された視点数/視点の総数を総合尤度として算出することもできる。
第二の算出部15dは、総合尤度および第一の尤度に基づき、複数の視点それぞれにおける各画素の第二の尤度をそれぞれ算出する処理部である。この第二の尤度を算出する処理は、視点ごとに並列して実行することもできれば、視点を順番に選択して実行することもできる。さらに、ある視点に対応するカメラ5の画素ごとに並列して第二の尤度を算出することもできれば、画素を順番に選択して第二の尤度を算出することもできる。
一実施形態として、第二の算出部15dは、カメラ5A〜5Nに対応する視点のうち1つの視点を選択する。さらに、第二の算出部15dは、選択中の視点に対応するカメラ5に含まれる画素のうち1つの画素を選択する。その上で、第二の算出部15dは、図10A及び図10Bを用いて説明した通りに選択中の画素の第二の尤度を算出する。例えば、図10Aに示す画素P1が選択されたとしたとき、第二の算出部15dは、カメラ5の光学中心から選択中の画素P1を通る光軸L1が貫くボクセルを特定する。この光軸L1は、図10Bに示すように、4つのボクセル、すなわち図中の上から2行目の列に並ぶ4つのボクセルを通過する。このように光軸L1が貫くボクセルのうち、第二の算出部15dは、最も前景らしいボクセルの総合尤度、すなわち最も値が高い総合尤度を当該画素P1の第二の尤度P2として算出する。図10Bの例で言えば、上から2行目に並ぶ4つのボクセルのうち最もハッチングが濃いボクセル、すなわち上から2行目左から3列目のボクセルが持つ総合尤度が第二の尤度P2として算出される。なお、ここでは、選択中の画素が複数のボクセルに対応する例を示したが、選択中の画素とボクセルとが一対一に対応する場合、当該ボクセルの総合尤度を第二の尤度として算出することとすればよい。このように選択中の視点に対応するカメラ5の全ての画素が選択されるまで第二の尤度の算出が繰り返し実行された後、全ての視点が選択されるまで第二の尤度の算出が繰り返し実行される。
判定部15eは、第二の尤度に基づき、各画素が、前景または背景のいずれに相当するかを判定する処理部である。
一実施形態として、判定部15eは、第二の算出部15dにより算出される第二の尤度を用いて、上記の式(1)に示すエネルギー関数E(L)を最小化するラベルの集合を2次元のグラフカットを適用することにより算出する。この結果、画素ごとに前景または背景のラベルが割り当てられたシルエット画像が生成される。
ここで、上記の式(1)において集合Pの一要素であるサイトiに関するデータ項のコストEd(L)は、一例として、第二の算出部15dにより画素ごとに算出される第二の尤度P2を用いて計算を行うことができる。例えば、あるサイトiに前景のラベルL(=0)が割り当てられる場合、データ項のコストのうち当該サイトiに対応する要素のコスト「Ed(L=0)=f(L=0)」の計算には「1−P2」が用いられる。また、あるサイトiに背景のラベルL(=1)が割り当てられる場合、データ項のコストのうち当該サイトiに対応する要素のコスト「f(L=1)」の計算には「P2」が用いられる。一方、平滑化項のコスト計算は、上記の従来技術1と同様の計算で実現できる。すなわち、平滑化項のコストのうちサイトiに対応する要素のコストEs(L,L)は、exp(−|C−C|)によって計算することができる。繰り返しになるが、「C」及び「C」には、サイトiまたはサイトiの隣接サイトjに対応する画素の画素値、例えばRGB値や輝度値などに対応する。
このように第二の尤度P2だけでなく、さらに第一の尤度P1をさらに用いて、データ項のコストを計算することもできる。例えば、判定部15eは、上記の式(1)におけるデータ項の「Ed(L)」を下記の式(3)として、データ項のコスト計算を実行することもできる。下記の式(3)における「α」は、第二の尤度P2に付与する重みを指す。この場合も、平滑化項のコスト計算は、上記の従来技術1と同様の計算で実現できる。
Ed(L)=exp(−(P1−α*P2))・・・(3)
推定部15fは、各画素が前景または背景のいずれに相当するかが判定された複数の視点の画像を統合することにより被写体の3次元形状を推定する処理部である。
一実施形態として、推定部15fは、Visual−Hullという技術が用いて3次元形状を推定することができる。このVisual Hullでは、カメラ5の光学中心とシルエット画像上のシルエットとを結んでできるCone(視体積)が生成された上で、Cone同士が重なる3次元空間上の領域が被写体3の3次元形状として推定される。例えば、図3に示すように、推定部15fは、カメラ5A〜5Cの各視点に対応するシルエット画像210A〜210CごとにシルエットSA〜SCを3次元空間に投影する。すなわち、シルエットSAが投影された場合、カメラ5Aの光学中心およびシルエット画像210A上のシルエットSAを結ぶ視体積CAが得られる。さらに、シルエットSBが投影された場合、カメラ5Bの光学中心およびシルエット画像210B上のシルエットSBを結ぶ視体積CBが得られる。さらに、シルエットSCが投影された場合、カメラ5Cの光学中心およびシルエット画像210C上のシルエットSCを結ぶ視体積CCが得られる。これら視体積CA〜CCが重複するVisual Hull領域、すなわち図3に示す黒の塗り潰しの3次元モデルを被写体3の3次元形状として推定する。
生成部15gは、複数の視点の画像と、被写体の3次元形状とに基づき、仮想カメラの位置および姿勢の指定により定まる仮想視点における画像、いわゆる自由視点映像を生成する処理部である。
一実施形態として、生成部15gは、クライアント端末30からユーザ入力を受け付けることにより仮想視点を指定させることができる。この他、生成部15gは、クライアント端末30を介するユーザ設定またはサーバ装置10に登録されたシステム設定により仮想視点を指定させることができる。このように仮想視点が指定された上で、生成部15gは、図4を用いて説明した通り、仮想視点に対応する自由視点映像をレンダリングする。すなわち、生成部15gは、仮想カメラVcに対応するカメラ画像の画素ごとに、仮想カメラVcの光学中心および画素を通る直線と、3次元形状が推定された3次元モデルとの交点の3次元空間上の位置を算出する(S1)。続いて、生成部15gは、カメラ5の位置や姿勢などの外部パラメータ及びカメラ5の画角やレンズの歪みなどの内部パラメータが設定されたカメラパラメータにしたがって、上記の交点を各視点に対応するカメラ画像に投影する。図4に示す例では、仮想カメラVcからの距離が近い所定数のカメラ5のカメラ画像、すなわちカメラ5BおよびカメラCの2つのカメラ画像200Bおよび200Cに上記の交点が投影される(S2B及びS2C)。これによって、仮想カメラVcの画素に対応するカメラ5Bの画素およびカメラ5Cの画素が特定される。その後、生成部15gは、カメラ5Bにより撮像されたカメラ画像のうち仮想カメラVcの画素に対応するカメラ5Bの画素が有する画素値と、カメラ5Cにより撮像されたカメラ画像のうちカメラ5Cの画素が有する画素値とを参照する(S3B及びS3C)。例えば、仮想カメラVcの画素に対応するカメラ5Bの画素の画素値と、仮想カメラVcの画素に対応するカメラ5Cの画素の画素値との統計値、例えば相加平均または仮想カメラVcとの距離を用いる加重平均などが仮想カメラVcの画素の画素値として決定される。
[処理の流れ]
図12は、実施例1に係る分離処理の手順を示すフローチャートである。この処理は、一例として、各カメラ5からカメラ画像が取得される度、すなわち多視点のカメラ画像が得られる度に実行される。
図12に示すように、各カメラ5からカメラ画像が取得されると(ステップS101)、第一の算出部15bは、カメラ5A〜5Nに対応する視点のうち視点を1つ選択する(ステップS102)。さらに、第一の算出部15bは、ステップS102で選択された視点に対応するカメラ画像に含まれる画素のうち画素を1つ選択する(ステップS103)。
そして、第一の算出部15bは、あくまで一例として、ステップS102で選択された視点に対応するカメラ画像と、ステップS102で選択された視点に対応する背景画像との間でステップS103で選択された画素iおよび画素iの周辺に位置する8近傍の画素jを含む9個の画素ごとに得られる画素値の差分に統計処理を実行し、その統計値を当該画素iの第一の尤度P1として算出する(ステップS104)。
その後、カメラ画像に含まれる全ての画素が選択されるまで(ステップS105No)、上記のステップS103及び上記のステップS104の処理が繰り返し実行される。そして、カメラ画像に含まれる全ての画素が選択された場合(ステップS105Yes)、カメラ5A〜5Nに対応する全ての視点が選択されるまで(ステップS106No)、上記のステップS102〜上記のステップS105の処理が繰り返し実行される。
続いて、カメラ5A〜5Nに対応する全ての視点が選択された場合(ステップS106Yes)、総合尤度算出部15cは、各カメラ5のカメラパラメータを参照して、ボクセル13bに定義されたボクセル空間中のボクセルをカメラ5の各視点に投影し、各視点のカメラ画像上でボクセルに対応する画素が持つ第一の尤度を総合することで、当該ボクセルで第一の尤度が総合された総合尤度をボクセルごとに算出する(ステップS107)。
そして、第二の算出部15dは、カメラ5A〜5Nに対応する視点のうち1つの視点を選択する(ステップS108)。さらに、第二の算出部15dは、選択中の視点に対応するカメラ5に含まれる画素のうち1つの画素を選択する(ステップS109)。
その上で、第二の算出部15dは、ステップS108で選択されたカメラ5の光学中心からステップS109で選択された画素を通る光軸が貫くボクセルを特定する(ステップS110)。続いて、第二の算出部15dは、光軸が貫くボクセルのうち最も前景らしいボクセルの総合尤度を当該画素の第二の尤度P2として算出する(ステップS111)。
その後、カメラ画像に含まれる全ての画素が選択されるまで(ステップS112No)、上記のステップS109〜上記のステップS111の処理が繰り返し実行される。そして、カメラ画像に含まれる全ての画素が選択された場合(ステップS112Yes)、カメラ5A〜5Nに対応する全ての視点が選択されるまで(ステップS113No)、上記のステップS108〜上記のステップS112の処理が繰り返し実行される。
その後、カメラ5A〜5Nに対応する全ての視点が選択された場合(ステップS113Yes)、判定部15eは、ステップS111で算出された第二の尤度を用いて、各画素が前景または背景のいずれに相当するかを視点ごとに判定し(ステップS114)、処理を終了する。例えば、判定部15eは、ステップS111で算出された第二の尤度を用いて、上記の式(1)に示すエネルギー関数E(L)を最小化するラベルの集合を2次元のグラフカットを適用することにより算出する。これによって、各画素に前景または背景のラベルが割り当てられたシルエット画像が視点ごとに生成される。
[効果の一側面]
上述してきたように、本実施例に係るサーバ装置10は、多視点からの前景または背景の第一の尤度を総合した総合尤度を3次元空間上の要素ごとに求め、視点から画素を通る光軸が貫く要素の中で最も前景らしい要素の総合尤度を当該画素の第二の尤度として前景および背景の分離に用いる。したがって、本実施例に係るサーバ装置10によれば、前景と背景とを分離する処理量を低減することが可能になる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[第一の尤度]
上記の実施例1では、第一の尤度の一例として、背景らしさを示す背景尤度を用いる場合を例示したが、前景らしさを示す前景尤度を用いることとしてもかまわない。この場合、背景尤度Pbgからの逆算、例えば「1−Pbg」の計算により前景尤度Pfgを第一の尤度として導出することができる他、上述の通り、色の分布等から前景である確率を算出することにより、前景尤度Pfgを第一の尤度として算出することもできる。このように値が低いほど前景らしい前景尤度を第一の尤度として用いる場合、第二の尤度を算出する場合、画素に対応するボクセルのうち最も前景らしいボクセルの総合尤度として、最も値が低い総合尤度を第二の尤度として算出する等の処理の置換を行うことができる。
[3次元要素]
上記の実施例1では、3次元要素の一例として、ボクセルを例示したが、必ずしも立方体を要素とせずともかまわない。例えば、他の6面体要素であってもよいし、4面体要素であってもかまわない。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部15a、第1の算出部15b、総合尤度算出部15c、第二の算出部15d、判定部15e、推定部15fまたは生成部15gをサーバ装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、取得部15a、第1の算出部15b、総合尤度算出部15c、第二の算出部15d、判定部15e、推定部15fまたは生成部15gを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のサーバ装置10の機能を実現するようにしてもよい。この他、取得部15a、第1の算出部15b、総合尤度算出部15c、第二の算出部15d、判定部15e、推定部15fおよび生成部15gなどの機能がクライアント端末30に実装されることとしてもかまわない。
[映像生成プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図13を用いて、上記の実施例と同様の機能を有する映像生成プログラムを実行するコンピュータの一例について説明する。
図13は、実施例1及び実施例2に係る映像生成プログラムを実行するコンピュータのハードウェア構成例を示す図である。図13に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110〜180の各部はバス140を介して接続される。
HDD170には、図13に示すように、上記の実施例1で示した取得部15a、第1の算出部15b、総合尤度算出部15c、第二の算出部15d、判定部15e、推定部15fおよび生成部15gと同様の機能を発揮する映像生成プログラム170aが記憶される。この映像生成プログラム170aは、図11に示した取得部15a、第1の算出部15b、総合尤度算出部15c、第二の算出部15d、判定部15e、推定部15fおよび生成部15gの各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
このような環境の下、CPU150は、HDD170から映像生成プログラム170aを読み出した上でRAM180へ展開する。この結果、映像生成プログラム170aは、図13に示すように、映像生成プロセス180aとして機能する。この映像生成プロセス180aは、RAM180が有する記憶領域のうち映像生成プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、映像生成プロセス180aが実行する処理の一例として、図12に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記の映像生成プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に映像生成プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から映像生成プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに映像生成プログラム170aを記憶させておき、コンピュータ100がこれらから映像生成プログラム170aを取得して実行するようにしてもよい。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)複数の視点からそれぞれ撮影された複数の画像における各画素について、前記複数の視点それぞれでの背景または前景らしさを示す第一の尤度を算出し、
前記各画素についての各視点における前記第一の尤度を総合した、前記各画素を複数視点から見たときの総合尤度を算出し、
総合尤度および前記第一の尤度に基づき、前記複数の視点それぞれにおける前記各画素の第二の尤度をそれぞれ算出し、
前記第二の尤度に基づき、前記各画素が、前記前景または前記背景のいずれに相当するかを判定する、
処理をコンピュータに実行させることを特徴とする映像生成プログラム。
(付記2)前記各画素が前記前景または前記背景のいずれに相当するかが判定された前記複数の視点の前記画像を統合することにより被写体の3次元形状を推定する処理と、
前記複数の視点の画像と、前記被写体の3次元形状とに基づき、仮想カメラの位置および姿勢の指定により定まる仮想視点における画像を生成する処理とをさらに前記コンピュータに実行させることを特徴とする付記1に記載の映像生成プログラム。
(付記3)前記総合尤度を算出する処理は、3次元空間上に設定された3次元要素ごとに前記総合尤度を算出し、
前記第二の尤度を算出する処理は、前記複数の視点それぞれにおける前記各画素について、前記複数の視点それぞれに対応するカメラの光学中心から前記各画素を通る光軸が貫く3次元要素の総合尤度のうち最も前景らしい総合尤度を前記第二の尤度として算出することを特徴とする付記1に記載の映像生成プログラム。
(付記4)前記判定する処理は、前記第二の尤度によりデータ項が定義されたエネルギー関数を最小化するラベルの集合を2次元のグラフカットで算出することにより、前記各画素が、前記前景または前記背景のいずれに相当するかを判定することを特徴とする付記1に記載の映像生成プログラム。
(付記5)複数の視点からそれぞれ撮影された複数の画像における各画素について、前記複数の視点それぞれでの背景または前景らしさを示す第一の尤度を算出し、
前記各画素についての各視点における前記第一の尤度を総合した、前記各画素を複数視点から見たときの総合尤度を算出し、
総合尤度および前記第一の尤度に基づき、前記複数の視点それぞれにおける前記各画素の第二の尤度をそれぞれ算出し、
前記第二の尤度に基づき、前記各画素が、前記前景または前記背景のいずれに相当するかを判定する、
処理をコンピュータが実行することを特徴とする映像生成方法。
(付記6)前記各画素が前記前景または前記背景のいずれに相当するかが判定された前記複数の視点の前記画像を統合することにより被写体の3次元形状を推定する処理と、
前記複数の視点の画像と、前記被写体の3次元形状とに基づき、仮想カメラの位置および姿勢の指定により定まる仮想視点における画像を生成する処理とをさらに前記コンピュータが実行することを特徴とする付記5に記載の映像生成方法。
(付記7)前記総合尤度を算出する処理は、3次元空間上に設定された3次元要素ごとに前記総合尤度を算出し、
前記第二の尤度を算出する処理は、前記複数の視点それぞれにおける前記各画素について、前記複数の視点それぞれに対応するカメラの光学中心から前記各画素を通る光軸が貫く3次元要素の総合尤度のうち最も前景らしい総合尤度を前記第二の尤度として算出することを特徴とする付記5に記載の映像生成方法。
(付記8)前記判定する処理は、前記第二の尤度によりデータ項が定義されたエネルギー関数を最小化するラベルの集合を2次元のグラフカットで算出することにより、前記各画素が、前記前景または前記背景のいずれに相当するかを判定することを特徴とする付記5に記載の映像生成方法。
(付記9)複数の視点からそれぞれ撮影された複数の画像における各画素について、前記複数の視点それぞれでの背景または前景らしさを示す第一の尤度を算出する第一の算出部と、
前記各画素についての各視点における前記第一の尤度を総合した、前記各画素を複数視点から見たときの総合尤度を算出する総合尤度算出部と、
総合尤度および前記第一の尤度に基づき、前記複数の視点それぞれにおける前記各画素の第二の尤度をそれぞれ算出する第二の算出部と、
前記第二の尤度に基づき、前記各画素が、前記前景または前記背景のいずれに相当するかを判定する判定部と、
を有することを特徴とする映像生成装置。
(付記10)前記各画素が前記前景または前記背景のいずれに相当するかが判定された前記複数の視点の前記画像を統合することにより被写体の3次元形状を推定する推定部と、
前記複数の視点の画像と、前記被写体の3次元形状とに基づき、仮想カメラの位置および姿勢の指定により定まる仮想視点における画像を生成する生成部とをさらに有することを特徴とする付記9に記載の映像生成装置。
(付記11)前記総合尤度算出部は、3次元空間上に設定された3次元要素ごとに前記総合尤度を算出し、
前記第二の算出部は、前記複数の視点それぞれにおける前記各画素について、前記複数の視点それぞれに対応するカメラの光学中心から前記各画素を通る光軸が貫く3次元要素の総合尤度のうち最も前景らしい総合尤度を前記第二の尤度として算出することを特徴とする付記9に記載の映像生成装置。
(付記12)前記判定部は、前記第二の尤度によりデータ項が定義されたエネルギー関数を最小化するラベルの集合を2次元のグラフカットで算出することにより、前記各画素が、前記前景または前記背景のいずれに相当するかを判定することを特徴とする付記9に記載の映像生成装置。
1 映像生成システム
3 被写体
5A〜5N カメラ
10 サーバ装置
11 通信I/F部
13 記憶部
13a 背景画像
13b ボクセル
15 制御部
15a 取得部
15b 第一の算出部
15c 総合尤度算出部
15d 第二の算出部
15e 判定部
15f 推定部
15g 生成部
30 クライアント端末

Claims (6)

  1. 複数の視点からそれぞれ撮影された複数の画像における各画素について、前記複数の視点それぞれでの背景または前景らしさを示す第一の尤度を算出し、
    前記各画素についての各視点における前記第一の尤度を総合した、前記各画素を複数視点から見たときの総合尤度を算出し、
    総合尤度および前記第一の尤度に基づき、前記複数の視点それぞれにおける前記各画素の第二の尤度をそれぞれ算出し、
    前記第二の尤度に基づき、前記各画素が、前記前景または前記背景のいずれに相当するかを判定する、
    処理をコンピュータに実行させることを特徴とする映像生成プログラム。
  2. 前記各画素が前記前景または前記背景のいずれに相当するかが判定された前記複数の視点の前記画像を統合することにより被写体の3次元形状を推定する処理と、
    前記複数の視点の画像と、前記被写体の3次元形状とに基づき、仮想カメラの位置および姿勢の指定により定まる仮想視点における画像を生成する処理とをさらに前記コンピュータに実行させることを特徴とする請求項1に記載の映像生成プログラム。
  3. 前記総合尤度を算出する処理は、3次元空間上に設定された3次元要素ごとに前記総合尤度を算出し、
    前記第二の尤度を算出する処理は、前記複数の視点それぞれにおける前記各画素について、前記複数の視点それぞれに対応するカメラの光学中心から前記各画素を通る光軸が貫く3次元要素の総合尤度のうち最も前景らしい総合尤度を前記第二の尤度として算出することを特徴とする請求項1または請求項2に記載の映像生成プログラム。
  4. 前記判定する処理は、前記第二の尤度によりデータ項が定義されたエネルギー関数を最小化するラベルの集合を2次元のグラフカットで算出することにより、前記各画素が、前記前景または前記背景のいずれに相当するかを判定することを特徴とする請求項1〜請求項3のいずれか1つに記載の映像生成プログラム。
  5. 複数の視点からそれぞれ撮影された複数の画像における各画素について、前記複数の視点それぞれでの背景または前景らしさを示す第一の尤度を算出し、
    前記各画素についての各視点における前記第一の尤度を総合した、前記各画素を複数視点から見たときの総合尤度を算出し、
    総合尤度および前記第一の尤度に基づき、前記複数の視点それぞれにおける前記各画素の第二の尤度をそれぞれ算出し、
    前記第二の尤度に基づき、前記各画素が、前記前景または前記背景のいずれに相当するかを判定する、
    処理をコンピュータが実行することを特徴とする映像生成方法。
  6. 複数の視点からそれぞれ撮影された複数の画像における各画素について、前記複数の視点それぞれでの背景または前景らしさを示す第一の尤度を算出する第一の算出部と、
    前記各画素についての各視点における前記第一の尤度を総合した、前記各画素を複数視点から見たときの総合尤度を算出する総合尤度算出部と、
    総合尤度および前記第一の尤度に基づき、前記複数の視点それぞれにおける前記各画素の第二の尤度をそれぞれ算出する第二の算出部と、
    前記第二の尤度に基づき、前記各画素が、前記前景または前記背景のいずれに相当するかを判定する判定部と、
    を有することを特徴とする映像生成装置。
JP2018000808A 2018-01-05 2018-01-05 映像生成プログラム、映像生成方法及び映像生成装置 Pending JP2019121196A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018000808A JP2019121196A (ja) 2018-01-05 2018-01-05 映像生成プログラム、映像生成方法及び映像生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018000808A JP2019121196A (ja) 2018-01-05 2018-01-05 映像生成プログラム、映像生成方法及び映像生成装置

Publications (1)

Publication Number Publication Date
JP2019121196A true JP2019121196A (ja) 2019-07-22

Family

ID=67307878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018000808A Pending JP2019121196A (ja) 2018-01-05 2018-01-05 映像生成プログラム、映像生成方法及び映像生成装置

Country Status (1)

Country Link
JP (1) JP2019121196A (ja)

Similar Documents

Publication Publication Date Title
EP3395064B1 (en) Processing a depth map for an image
JP6351238B2 (ja) 画像処理装置、撮像装置および距離補正方法
KR101669820B1 (ko) 볼륨 예측 기반 폐색 영역 양방향 복원 장치 및 방법
EP2087466B1 (en) Generation of depth map for an image
US10762649B2 (en) Methods and systems for providing selective disparity refinement
US9600898B2 (en) Method and apparatus for separating foreground image, and computer-readable recording medium
CN107316326B (zh) 应用于双目立体视觉的基于边的视差图计算方法和装置
CN110493488B (zh) 视频稳像方法、视频稳像装置和计算机可读存储介质
JP2020129276A (ja) 画像処理装置、画像処理方法、およびプログラム
CN107851321A (zh) 图像处理方法和双摄像头系统
KR101855980B1 (ko) 홀 채우기 방법 및 장치
US20140294299A1 (en) Image processing apparatus and method
JP2017021759A (ja) 画像処理装置、画像処理方法及びプログラム
JP2018194985A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2018195084A (ja) 画像処理装置及び画像処理方法、プログラム、記憶媒体
CN111598777A (zh) 天空云图的处理方法、计算机设备和可读存储介质
CN108109148A (zh) 图像立体分配方法、移动终端
KR102491674B1 (ko) 가상시점 영상을 생성하는 방법 및 장치
JP2013185905A (ja) 情報処理装置及び方法、並びにプログラム
JP2018036898A (ja) 画像処理装置及びその制御方法
JP7275583B2 (ja) 背景モデル生成装置、背景モデル生成方法及び背景モデル生成プログラム
WO2012169174A1 (ja) 画像処理装置および画像処理方法
JP2019121196A (ja) 映像生成プログラム、映像生成方法及び映像生成装置
JP7195785B2 (ja) 3次元形状データを生成する装置、方法、及びプログラム
JP2015033047A (ja) 複数カメラを用いた奥行き推定装置