(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】画像処理装置、3Dモデル生成方法、およびプログラム
(51)【国際特許分類】
H04N 23/90 20230101AFI20240827BHJP
G06T 15/20 20110101ALI20240827BHJP
H04N 23/60 20230101ALI20240827BHJP
H04N 23/63 20230101ALI20240827BHJP
【FI】
H04N23/90
G06T15/20 500
H04N23/60 100
H04N23/60 500
H04N23/63 310
(21)【出願番号】P 2021513570
(86)(22)【出願日】2020-03-27
(86)【国際出願番号】 JP2020014171
(87)【国際公開番号】W WO2020209108
(87)【国際公開日】2020-10-15
【審査請求日】2023-02-03
(31)【優先権主張番号】P 2019076107
(32)【優先日】2019-04-12
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【氏名又は名称】西川 孝
(74)【代理人】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】高橋 宏彰
(72)【発明者】
【氏名】福安 徹也
【審査官】吉川 康男
(56)【参考文献】
【文献】特開2009-074836(JP,A)
【文献】特開2018-063693(JP,A)
【文献】特開2014-010805(JP,A)
【文献】特開2005-277603(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/90
G06T 15/20
H04N 23/60
H04N 23/63
(57)【特許請求の範囲】
【請求項1】
複数の多視点画像から生成された撮像範囲の3D領域を生成する生成部と、
前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する判定部と
を備え、
前記判定部は、前記領域画像と前記被写体画像とのペアを用いて、前記被写体が前記複数の多視点画像を撮影した複数の前記撮像装置の撮像範囲から外れそうな状態であるかを判定する
画像処理装置。
【請求項2】
前記判定部は、前記領域画像と前記被写体画像とのペアを用いて、前記被写体が前記複数の多視点画像を撮影した複数の前記撮像装置の撮像範囲から外れたか否かを判定する
請求項1に記載の画像処理装置。
【請求項3】
前記判定部は、前記被写体が複数の前記撮像装置の撮像範囲から外れた場合に、どの撮像装置の撮像範囲から外れたかも判定する
請求項2に記載の画像処理装置。
【請求項4】
前記判定部は、前記被写体画像を用いて、前記被写体が前記特定視点に対応する撮像装置の撮像範囲から外れたか否かを判定する
請求項1に記載の画像処理装置。
【請求項5】
前記被写体のセマンティック情報を識別するセマンティック処理部をさらに備え、
前記判定部は、前記被写体のセマンティック情報を判定に用いる
請求項1に記載の画像処理装置。
【請求項6】
前記複数の多視点画像に基づいて、前記複数の多視点画像を撮影した複数の前記撮像装置のカメラパラメータを算出する算出部をさらに備え、
前記生成部は、算出された複数の前記撮像装置のカメラパラメータに基づいて、前記撮像範囲の3D領域を生成する
請求項1に記載の画像処理装置。
【請求項7】
前記生成部は、前記複数の多視点画像を撮影した全ての前記撮像装置の前記撮像範囲に含まれる1つの前記3D領域を生成する
請求項
6に記載の画像処理装置。
【請求項8】
前記3D領域を前記特定視点に投影した前記領域画像を生成する投影部をさらに備える
請求項1に記載の画像処理装置。
【請求項9】
前記領域画像は、2値画像である
請求項1に記載の画像処理装置。
【請求項10】
前記複数の多視点画像それぞれから、前記被写体の領域をシルエットとして抽出したシルエット画像を生成するシルエット抽出部をさらに備え、
前記判定部は、前記領域画像と、前記被写体画像としての前記シルエット画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する
請求項1に記載の画像処理装置。
【請求項11】
前記複数の多視点画像に対応する複数の撮像装置のなかから、一部の撮像装置を選択する選択部をさらに備え、
前記生成部は、選択された前記一部の撮像装置に対応する多視点画像から生成された前記撮像範囲の3D領域を生成し、
前記判定部は、前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する前記撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する
請求項1に記載の画像処理装置。
【請求項12】
前記複数の多視点画像を所定の縮小率で縮小させる縮小処理部をさらに備え、
前記判定部は、縮小後の前記領域画像と前記被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する
請求項1に記載の画像処理装置。
【請求項13】
前記生成部は、前記複数の多視点画像に対応する複数の撮像装置それぞれの撮像範囲を近似した複数の前記3D領域を生成し、
前記判定部は、複数の前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する
請求項1に記載の画像処理装置。
【請求項14】
前記3D領域は、四角錐台の形状である
請求項
13に記載の画像処理装置。
【請求項15】
前記判定部の判定結果をユーザに通知する通知部をさらに備える
請求項1に記載の画像処理装置。
【請求項16】
前記通知部は、所定の記憶部に記憶された前記判定結果を参照し、前記ユーザに通知する
請求項
15に記載の画像処理装置。
【請求項17】
被写体の3Dモデルを生成する3Dモデル生成方法であって、
複数の多視点画像から生成された撮像範囲の3D領域を生成するステップと、
前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定するステップと、
前記複数の多視点画像に基づいて被写体の3Dモデルを生成するステップと
を含み、
前記撮像装置の被写体の撮影状況の判定では、前記領域画像と前記被写体画像とのペアを用いて、前記被写体が前記複数の多視点画像を撮影した複数の前記撮像装置の撮像範囲から外れそうな状態であるかを判定する
を有する3Dモデル生成方法。
【請求項18】
コンピュータを、
複数の多視点画像から生成された撮像範囲の3D領域を生成する生成部と、
前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する判定部
として機能させ、
前記判定部は、前記領域画像と前記被写体画像とのペアを用いて、前記被写体が前記複数の多視点画像を撮影した複数の前記撮像装置の撮像範囲から外れそうな状態であるかを判定する
ためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、画像処理装置、3Dモデル生成方法、およびプログラムに関し、特に、3Dモデル生成のための多視点撮影において、撮影の失敗を減らすことができるようにした画像処理装置、3Dモデル生成方法、およびプログラムに関する。
【背景技術】
【0002】
多視点で撮影された動画像から被写体の3Dモデルを生成し、任意の視聴位置に応じた3Dモデルの仮想視点画像を生成することで自由な視点の画像を提供する技術がある。この技術は、ボリューメトリックキャプチャ技術などとも呼ばれている。
【0003】
3Dモデルの生成には、異なる方向からの複数の撮像画像を用いて被写体の3次元形状の削り出しを行うVisual Hull等の手法が用いられる(例えば、特許文献1参照)。カメラの台数を増やすことで、3Dモデルの精度が向上するため、異なる方向から多数のカメラで被写体を撮影することが好ましい。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、カメラの台数が多いと、被写体が動いた場合に、あるカメラの撮像範囲から外れてしまうことがあり、撮影のやり直しが必要になる場合があった。
【0006】
本技術は、このような状況に鑑みてなされたものであり、3Dモデル生成のための多視点撮影において、撮影の失敗を減らすことができるようにするものである。
【課題を解決するための手段】
【0007】
本技術の一側面の画像処理装置は、複数の多視点画像から生成された撮像範囲の3D領域を生成する生成部と、前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する判定部とを備え、前記判定部は、前記領域画像と前記被写体画像とのペアを用いて、前記被写体が前記複数の多視点画像を撮影した複数の前記撮像装置の撮像範囲から外れそうな状態であるかを判定する。
【0008】
本技術の一側面の3Dモデル生成方法は、被写体の3Dモデルを生成する3Dモデル生成方法であって、複数の多視点画像から生成された撮像範囲の3D領域を生成するステップと、前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定するステップと、前記複数の多視点画像に基づいて被写体の3Dモデルを生成するステップとを含み、前記撮像装置の被写体の撮影状況の判定では、前記領域画像と前記被写体画像とのペアを用いて、前記被写体が前記複数の多視点画像を撮影した複数の前記撮像装置の撮像範囲から外れそうな状態であるかを判定する。
【0009】
本技術の一側面のプログラムは、コンピュータを、複数の多視点画像から生成された撮像範囲の3D領域を生成する生成部と、前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する判定部として機能させ、前記判定部は、前記領域画像と前記被写体画像とのペアを用いて、前記被写体が前記複数の多視点画像を撮影した複数の前記撮像装置の撮像範囲から外れそうな状態であるかを判定するためのものである。
【0010】
本技術の一側面においては、数の多視点画像から生成された撮像範囲の3D領域が生成され、前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況が判定される。前記撮像装置の被写体の撮影状況の判定では、前記領域画像と前記被写体画像とのペアを用いて、前記被写体が前記複数の多視点画像を撮影した複数の前記撮像装置の撮像範囲から外れそうな状態であるかが判定される。
【0011】
なお、本技術の一側面の画像処理装置は、コンピュータにプログラムを実行させることにより実現することができる。コンピュータに実行させるプログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【0012】
画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
【図面の簡単な説明】
【0013】
【
図1】本技術を適用した画像処理システムの構成例を示す図である。
【
図2】画像処理システムの通知例を説明する図である。
【
図3】画像処理装置の第1実施の形態の構成例を示すブロック図である。
【
図5】有効領域マスク画像の処理例を示す図である。
【
図8】判定部のカメラ判定処理を説明する図である。
【
図9】第1の撮像範囲判定処理を説明するフローチャートである。
【
図10】画像処理装置の第2実施の形態の構成例を示すブロック図である。
【
図11】第2の撮像範囲判定処理を説明するフローチャートである。
【
図12】画像処理装置の第3実施の形態の構成例を示すブロック図である。
【
図13】第3実施の形態の3D領域計算部の処理を説明する図である。
【
図14】第3実施の形態の投影部の処理を説明する図である。
【
図16】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.画像処理システムの構成例
2.画像処理装置の第1実施の形態
3.第1の撮像範囲判定処理
4.画像処理装置の第2実施の形態
5.第2の撮像範囲判定処理
6.画像処理装置の第3実施の形態
7.第3の撮像範囲判定処理
8.カメラ配置のその他の例
9.コンピュータ構成例
【0015】
<1.画像処理システムの構成例>
図1は、本技術を適用した画像処理システムの構成例を示している。
【0016】
図1の画像処理システムは、例えば、N台の撮像装置CAM-1乃至CAM-N、画像処理装置11、および、表示装置12により構成される。
【0017】
撮像装置CAM-1乃至CAM-N(N>1)は、
図1に示されるように、被写体である人物を囲むように配置されて被写体を撮影し、その結果得られる撮像画像を画像処理装置11に供給する。撮像画像は、動画像または連番静止画像として各撮像装置CAMから画像処理装置11へ順次供給される。撮像装置CAM-1乃至CAM-Nから供給される複数の撮像画像は、被写体を撮影する視点が異なる複数の多視点画像である。
図1の例では、N=8とされ、8台の撮像装置CAM-1乃至CAM-8が被写体を取り囲むように配置された例が示されている。
【0018】
画像処理装置11は、撮像装置CAM-1乃至CAM-Nそれぞれから供給される複数の撮像画像から、被写体をオブジェクトとしたオブジェクトの3Dモデルを生成する。生成されたオブジェクトの3Dモデルのデータは、例えば、各撮像装置CAMにより得られた被写体の撮像画像の画像データと、被写体の3D形状を表した3D形状データとで構成される。3D形状データは、例えば、複数の撮像装置CAMで撮影された撮像画像に対応するデプス画像でもよいし、オブジェクトの3次元位置を点の集合で表したポイントクラウドや、頂点(Vertex)と頂点間のつながりで表したポリゴンメッシュなどで表される。
【0019】
表示装置12は、画像処理装置11から供給される所定の画像を表示する。
【0020】
なお、画像処理装置11は、撮像装置CAM-1乃至CAM-Nから撮像画像を直接取得する代わりに、データサーバなど所定の記憶部に一旦記憶された撮像画像を取得して、オブジェクトの3Dモデルを生成することもできる。また、撮像装置CAM-1乃至CAM-Nから取得した撮像画像と、記憶部に記憶された撮像画像の組み合わせにより、オブジェクトの3Dモデルを生成することもできる。
【0021】
本実施の形態では、各撮像装置CAMが生成する動画像は、RGBの波長を含む撮像画像(RGB画像)で構成されるものとするが、IR(赤外線)画像を含むマルチスペクトル画像であってもよい。
【0022】
また、各撮像装置CAMは、露光条件、光源位置、または、光源色などの撮像条件を変えて複数回撮影を行い、その結果得られる撮像画像を画像処理装置11に供給してもよい。
【0023】
さらに、各撮像装置CAMは、測距センサを備え、被写体までの距離も測定し、被写体のテクスチャ情報であるRGBの撮像画像に加えて、被写体までの距離をデプス値として撮像画像の各画素に対応させて格納したデプス画像も生成し、画像処理装置11に供給してもよい。また、測距センサは各撮像装置CAMとは独立に配置してもよい。この場合、撮像装置CAMと測距センサ(測距装置)の個数は異なってもよい。
【0024】
画像処理装置11は、クラウド上のサーバ装置であってもよく、表示装置12は、スマートフォン(携帯端末)などのディスプレイを備える装置でもよい。複数の撮像装置CAMと画像処理装置11との間、および、画像処理装置11と表示装置12との間は、直接接続されることで通信を行ってもよいし、LAN(Local Area Network)、インターネット等の所定のネットワークを介して接続されて通信を行ってもよい。
【0025】
オブジェクトの3Dモデルの生成では、撮像装置CAMの台数を増やすことで、3Dモデルの精度が向上するため、異なる方向から多数の撮像装置CAMで被写体を撮影することが好ましい。しかしながら、撮像装置CAMの台数が多いと、被写体が動いた場合に、1以上の撮像装置CAMの撮像範囲から外れてしまうことがあり、撮影のやり直しが必要になる場合がある。
【0026】
画像処理装置11は、撮影中に、N台の撮像装置CAMそれぞれから送信されてくる撮像画像からサムネイル画像を生成し、表示装置12に表示させることができる。なお、表示装置12に表示させるサムネイル画像は、N台の撮像装置CAMそれぞれの撮像画像に対応する全てのサムネイル画像でもよいし、代表する1台の撮像装置CAMによる撮像画像に対応する1枚のサムネイル画像(代表サムネイル画像)でもよい。また、所定の複数台の撮像装置CAMに対応する複数枚のサムネイル画像でもよい。サムネイル画像とは、撮像装置CAMで得られた撮像画像に対して、解像度やフレームレートを落とした画像である。
【0027】
また、画像処理装置11は、撮影中に被写体が動いたことにより、被写体が所定の撮像装置CAMの撮像範囲から外れたか否かを判定し、撮像範囲から外れたことをユーザに通知することができる。ここでのユーザは、撮影者や被写体となっている人物である。
【0028】
図2は、画像処理装置11が、被写体が所定の撮像装置CAMの撮像範囲から外れたか否かを判定して、撮像範囲から外れたことをユーザに通知する場合の通知例を示している。
【0029】
図2のAは、表示装置12に、「WARNING:CAM05」のメッセージ(文字)をダイアログで表示することにより、被写体が撮像装置CAM-5の撮像範囲から外れたことをユーザに通知する例を示している。
【0030】
図2のBは、表示装置12に表示された代表サムネイル画像に「WARNING:CAM05」のメッセージを重畳することにより、被写体が撮像装置CAM-5の撮像範囲から外れたことをユーザに通知する例を示している。
【0031】
なお、N台の撮像装置CAMに対応する全てのサムネイル画像を表示する場合には、被写体が撮像範囲から外れた撮像装置CAMのサムネイル画像に「WARNING」のメッセージを重畳してユーザに通知すればよい。
【0032】
図2のCは、所定の撮像装置CAMで得られた撮像画像から生成した被写体のシルエット画像に、撮像範囲から外れた被写体の領域を色付けすることにより、被写体の色付けされた領域が撮像範囲から外れたことをユーザに通知する例を示している。
【0033】
シルエット画像とは、描画対象のオブジェクトである被写体の領域(被写体領域)をシルエットで表した画像であり、例えば、各画素の画素値が「0」または「1」に2値化された2値画像である。シルエット画像は、例えば、被写体の領域が「1」の画素値に設定され、白色で表現され、被写体以外の領域が「0」の画素値に設定され、黒色で表現される。
【0034】
図2のCの例では、シルエット画像の白色で表された被写体領域のうち、足の領域が赤色で着色されて、撮像範囲から外れたことをユーザに通知している。なお、
図2では、図面の制約上、赤色の領域がハッチングで示されている。
【0035】
以上のように、画像処理装置11は、被写体をオブジェクトとして、オブジェクトの3Dモデルを生成するオブジェクト生成機能に加え、被写体と撮像範囲との位置関係を判定して、被写体が撮像範囲外となるときにユーザに通知(警告)する撮像範囲判定機能を備える。
【0036】
なお、被写体が撮像範囲外となるときにユーザに通知する場合に、1台の撮像装置CAMで撮像範囲から外れた場合に、ユーザに通知してもよいし、多数の撮像装置CAMで構成される場合には、予め設定した所定の台数以上の撮像装置CAMで撮像範囲から外れた場合に、ユーザに通知するようにしてもよい。この場合、後述する判定部36において何台以上で通知するかを設定(指定)することができる。
【0037】
また、
図2の例は、表示装置12に文字または画像を表示することで、被写体が所定の撮像範囲から外れたことを通知する例を説明したが、その他の方法で通知してもよい。例えば、ビープ音を出力して通知したり、「5番のカメラが外れました」や、「足がはみ出ています」などの音声を出力して通知してもよい。ビープ音や音声による音で通知する場合、スピーカを追加で設けてもよいし、表示装置12のスピーカを用いてもよい。また、表示装置12の画面表示と、音による出力の両方を行ってもよい。また、即時的な通知に代えて通知情報を撮像画像とともに記憶部に記憶し、事後的に通知できるようにしてもよい。例えば、撮像画像または3D形状データにタグ情報として通知情報を埋め込んだり、撮像画像および3D形状データとは別に、通知情報を格納したファイルを生成し、記憶させることができる。ユーザが撮像画像や3Dモデルを見たときに、タグ情報またはファイルに含まれる通知情報に基づく、文字、画像、または、音などにより、通知を行うことができる。
【0038】
以下では、画像処理装置11による撮像範囲判定機能について詳しく説明する。なお、画像処理装置11によるオブジェクト生成機能については、一般的な手法を用いて実現することとして、簡単な説明とする。
【0039】
<2.画像処理装置の第1実施の形態>
図3は、画像処理装置11の第1実施の形態の構成例を示すブロック図である。
【0040】
画像処理装置11は、画像入力部31、キャリブレーション処理部32、有効領域算出部33、シルエット抽出部34、セマンティック処理部35、判定部36、通知部37、3Dモデル計算部38、および、記憶部39により構成される。有効領域算出部33は、3D領域計算部41と投影部42で構成される。なお、セマンティック処理部35は、オプションとして設ける構成であり、省略することができる。
【0041】
画像入力部31は、N台の撮像装置CAMそれぞれから送信されてくる撮像画像を取得する。撮像画像は、動画像として順次入力される。N台の撮像装置CAMそれぞれからのN枚の撮像画像は、キャリブレーション処理部32、シルエット抽出部34、セマンティック処理部35、通知部37、および、3Dモデル計算部38に供給される。
【0042】
キャリブレーション処理部32は、N台の撮像装置CAMで撮影されたN枚の撮像画像に基づいて、各撮像装置CAMのカメラパラメータを算出するキャリブレーション処理を行う。キャリブレーション処理部32は、例えば、白と黒の格子状のチェスパターンが付されたチェスボードをN台の撮像装置CAMで撮影したN枚の撮像画像を用いて、キャリブレーション処理を行う。キャリブレーション処理により、N台の撮像装置CAMそれぞれの単体での撮像装置CAMの特性を表す特性パラメータと、他の撮像装置CAMとの関係を表す外部パラメータとが決定される。単体での撮像装置CAMの特性を表す特性パラメータには、例えば、撮像装置CAMの焦点距離、主点、画角などの内部パラメータと、歪み(収差)などの光学特性パラメータとが含まれる。外部パラメータは、他の撮像装置CAMに対する自分の撮像装置CAMの相対座標値(相対位置)を含む。
【0043】
なお、N台の撮像装置CAMの位置が固定されている場合には、3Dモデル生成のための撮影前に、1度、チェスボードを撮影し、キャリブレーション処理を実行すればよい。撮像装置CAMの位置が移動したり、ズーム(画角)などが変更される場合には、撮影開始前のキャリブレーション処理に加えて、被写体の特徴点検出などに基づくリアルタイムのキャリブレーション処理も行う必要がある。
【0044】
なお、キャリブレーション処理は、上述したチェスボードを用いた方法に限定されず、所要のパラメータを決定できる手法であれば、その他の方法でももちろんよい。キャリブレーション処理により決定された各種のパラメータは、カメラパラメータとして、有効領域算出部33(の3D領域計算部41および投影部42)に供給される。
【0045】
有効領域算出部33の3D領域計算部41は、キャリブレーション処理部32から供給されるカメラパラメータに基づいて、N台全ての撮像装置CAMの撮像範囲に含まれる3D領域を計算する。
【0046】
図4は、N=6として、6台の撮像装置CAM-1乃至CAM-6それぞれの撮像範囲に含まれる領域である3D領域51を3D領域計算部41が計算する処理例を示している。
【0047】
N台全ての撮像装置CAMの撮像範囲に含まれる3D領域を計算する手法としては、例えば、カメラパラメータに従って各撮像装置CAMの撮像範囲を投影し、3次元形状の削り出しを行うVisual Hullの手法などを用いることができる。その他、3次元幾何などを用いて、3D領域を計算してもよい。算出した3D領域を表すデータは、オブジェクトの3次元位置を点の集合で表したポイントクラウドや、直方体格子の集合で表したボクセルデータ、頂点(Vertex)と頂点間のつながりで表したポリゴンメッシュなど、所定の3Dデータ形式で、投影部42に供給される。
【0048】
投影部42には、3D領域計算部41から、N台全ての撮像装置CAMの撮像範囲に含まれる3D領域が供給されるとともに、キャリブレーション処理部32から、カメラパラメータが供給される。
【0049】
投影部42は、3D領域計算部41からの3D領域を、ターゲットカメラとなる所定の撮像装置CAMの視点に投影し、3D領域に相当する領域を白色(画素値「1」)、3D領域以外の領域を黒色(画素値「0」)に設定した2値画像で表した有効領域マスク画像(領域画像)を生成する。有効領域マスク画像は、N台の撮像装置CAMそれぞれをターゲットカメラとして、全ての撮像装置CAMについて生成されるので、撮像装置CAMの台数Nと同じ枚数(即ちN枚)、生成される。以下、有効領域マスク画像において白色で表される領域を、投影3D領域と称する。
【0050】
図5は、
図4に示した6台の撮像装置CAM-1乃至CAM-6に対応する3D領域51を、撮像装置CAM-1をターゲットカメラとして、ターゲットカメラの視点に投影した有効領域マスク画像52の例を示している。
【0051】
有効領域マスク画像52は、3D領域51を撮像装置CAM-1の視点に投影した投影面(撮像範囲)のうち、3D領域51に相当する投影3D領域53を白色(画素値「1」)、投影3D領域53以外の領域を黒色(画素値「0」)に設定した2値画像で表される。
【0052】
さらに、投影部42は、被写体の表面を何台の撮像装置CAMが見ることができるかを示した台数情報と、どの撮像装置CAMが被写体の表面を見ることができるかを示すカメラ情報とを含む視認カメラ情報を生成することができる。
【0053】
図6は、5台の撮像装置CAM-1乃至CAM-5で撮像したときの視認カメラ情報の例を示している。
【0054】
図6に示されるように、有効領域マスク画像52の投影3D領域53の内部が、被写体の表面を見ることができる撮像装置CAMの台数で区分されている。この台数が、被写体を直接視認できる撮像装置CAMの台数を示す台数情報を表す。3D領域51の表面上の各点を各撮像装置CAMに投影することによりターゲットの撮像装置CAMから直接視認できるかを判定することができる。どの撮像装置CAMが被写体(3D領域51)の表面を見ることができるかがわかれば、合計で何台の撮像装置CAMから被写体(3D領域51)の表面が見えているかも集計することができる。
【0055】
図3に戻り、投影部42は、生成したN枚の有効領域マスク画像と、視認カメラ情報を、判定部36に供給する。
【0056】
シルエット抽出部34は、画像入力部31から供給されるN枚の撮像画像それぞれに対して、描画対象のオブジェクトである被写体の領域をシルエットとして抽出したシルエット画像を生成する。生成されたシルエット画像は、判定部36に供給される。
【0057】
テクスチャ画像内の被写体のシルエットを検出する検出方法は、特に限定されず、任意の手法を採用することができる。例えば、
図7に示されるように、被写体を含まない背景のみが撮像された背景画像62を予め撮像して保持しておき、撮像画像61と背景画像62との差分をとる背景差分法を用いることにより、シルエット画像63を生成することができる。
【0058】
また、被写体までの距離がデプス値として格納されたデプス画像も取得されている場合には、デプス画像の距離情報から被写体領域である前景領域と背景領域とを分離することで、シルエット画像を生成することができる。
【0059】
あるいはまた、Graph Cut、クロマキーなどのイメージマッティング技術を用いて、1枚の撮像画像のみから被写体領域を抽出し、シルエット画像を生成してもよい。
【0060】
セマンティック処理部35は、撮像画像に被写体として写る物体のセマンティック情報を識別して、所定の領域ごとに付加するセマンティックセグメンテーション処理を行う。例えば、被写体が人物である場合には、セマンティック処理部35は、セマンティックセグメンテーション処理により、人物全体の被写体領域を、頭、手(右手、左手)、腕(右腕、左腕)、足(右足、左足)、胴体、などのように部分ごとに識別し、分類することができる。被写体が人物ではない場合には、セマンティック処理部35は、ボール、ラケット、車など、物体の種類を識別して付加することができる。セマンティック処理部35は、被写体を識別して所定の領域ごとに付加したセマンティック情報を、判定部36に供給する。このセマンティック情報は、個体情報を含むインスタンスセマンティックセグメンテーションであってもよい。個体情報を活用することによって、例えば、一人、二人など被写体数や特定の被写体に着目した処理が可能となる。
【0061】
判定部36は、投影部42からのN台の撮像装置CAMに対応するN枚の有効領域マスク画像と、判定部36から供給されるN枚のシルエット画像とに基づいて、各撮像装置CAMの被写体の撮影状況を判定する。
【0062】
具体的には、判定部36は、N台の撮像装置CAMそれぞれをターゲットカメラとして、次の他カメラ判定処理と自カメラ判定処理とを行う。判定部36は、ターゲットカメラの撮像装置CAMに対応する有効領域マスク画像とシルエット画像とのペアを用いて、被写体がターゲットカメラ以外の撮像装置CAMの撮像範囲から外れたか否かを判定する他カメラ判定処理を行う。また、判定部36は、ターゲットカメラの撮像装置CAMに対応するシルエット画像を用いて、被写体がターゲットカメラの撮像装置CAMの撮像範囲から外れたか否かを判定する自カメラ判定処理を行う。
【0063】
他カメラ判定処理では、判定部36は、
図8のAに示されるように、シルエット画像において白色で表された被写体領域71が、有効領域マスク画像52において白色で表された投影3D領域53からはみ出たか否かを、被写体領域71の画素ごとに比較する。
【0064】
自カメラ判定処理では、判定部36は、
図8のBに示されるように、シルエット画像において白色で表された被写体領域71が、シルエット画像63の外周の4辺と接しているか否かを、被写体領域71の画素ごとに比較する。
【0065】
なお、上述したように、セマンティック処理部35をオプションとして設けることができるが、セマンティック処理部35を設けた場合、判定部36は、セマンティック処理部35からのセマンティック情報を用いて、投影3D領域53からはみ出た被写体の部位(例えば、右足や左手など)や物体(ボール)などを特定することができる。
【0066】
判定部36は、判定結果を示す判定情報として、ターゲットカメラである各撮像装置CAMの撮像範囲から外れたか否かの結果と、撮像範囲から外れた場合に、どの撮像装置CAMで外れたかを示す装置特定情報とを通知部37に供給する。なお、判定情報は、常時、通知部37に供給してもよいし、撮像範囲から外れた場合のみ、通知部37に供給するようにしてもよい。
【0067】
また、セマンティック処理部35が設けられている場合には、判定部36は、撮像範囲から外れた場合に、撮像範囲から外れた被写体の物体や部位などのセマンティック特定情報も、判定情報の一部として、通知部37に供給することができる。
【0068】
さらに、
図2のBおよびCのように、通知部37が撮像画像やシルエット画像とともに撮像範囲から外れたことをユーザに通知する場合には、撮像範囲から外れたターゲットカメラのシルエット画像や撮像画像も、判定部36から通知部37に供給される。
【0069】
通知部37は、判定部36からの判定情報に基づいて、特定の撮像装置CAMにおいて撮像範囲から外れたことをユーザに通知する通知情報を生成し、表示装置12に出力する。
【0070】
通知情報は、
図2のAに示したダイアログ表示の場合は、撮像範囲から外れた撮像装置CAMの情報を含むメッセージのダイアログを表示させる表示制御情報である。また、
図2のBまたはCの例では、通知情報は、撮像範囲から外れた撮像装置CAMの情報と、シルエット画像または撮像画像を表示させる表示制御情報となる。シルエット画像や撮像画像は、必要に応じて縮小処理などを施し、サムネイル画像として表示装置12に出力することができる。
【0071】
また、ビープ音や「5番のカメラが外れました」などの音を出力してユーザに通知する場合には、通知情報は、音響信号を含む音声制御情報となる。通知情報は、画面の表示と音声の両方でもよいし、いずれか一方でもよい。セマンティック処理部35が設けられている場合には、「足が撮像範囲からはみ出ました」、「ボールが撮像範囲外です」などのような通知が可能である。表示装置12は、通知部37からの通知情報に基づいて、特定の撮像装置CAMにおいて撮像範囲から外れたことをユーザへ通知する。
【0072】
3Dモデル計算部38は、N台の撮像装置CAMそれぞれから供給される被写体の撮像画像を用いて、被写体をオブジェクトとしたオブジェクトの3Dモデルを生成し、生成したオブジェクトの3Dモデルのデータ(3Dモデルデータ)を記憶部39に供給する。
【0073】
例えば、3Dモデル計算部38は、撮像装置CAMから供給される被写体を含む撮像画像と背景画像との差分を抽出することにより、被写体領域を抽出したシルエット画像を生成する。そして、3Dモデル計算部38は、N台の撮像装置CAMそれぞれの異なる方向の複数枚のシルエット画像とカメラパラメータを用いて、Visual Hull等の手法により、オブジェクトの3Dモデルを生成する。シルエット画像とカメラパラメータは、キャリブレーション処理部32とシルエット抽出部34から取得してもよいし、別途算出してもよい。オブジェクトの3Dモデルの生成についての詳細は本明細書では省略する。
【0074】
記憶部39は、3Dモデル計算部38で生成された3Dモデルデータを記憶する。記憶された3Dモデルデータは、オブジェクトの3Dモデルを再生する再生装置などに必要に応じて提供され、再生装置で再生(復元)される。
【0075】
画像処理装置11は、以上のように構成される。
【0076】
なお、画像処理装置11が実行可能な撮像範囲判定機能とオブジェクト生成機能は、同一の装置ではなく、別々の装置で実現してもよい。その場合、撮像範囲判定機能を実行する画像処理装置11は、例えば、画像入力部31、キャリブレーション処理部32、有効領域算出部33、シルエット抽出部34、セマンティック処理部35、判定部36、および、通知部37により構成される。オブジェクト生成機能を実行する画像処理装置11は、例えば、画像入力部31、3Dモデル計算部38、および、記憶部39により構成される。
【0077】
<3.第1の撮像範囲判定処理>
次に、
図9のフローチャートを参照して、画像処理装置11の第1実施の形態による第1の撮像範囲判定処理について説明する。この処理は、例えば、N台の撮像装置CAMで撮影が開始されると同時に開始される。
【0078】
初めに、ステップS1において、画像入力部31は、N台の撮像装置CAMそれぞれから送信されてくる撮像画像を取得する。取得したN枚の撮像画像は、キャリブレーション処理部32、シルエット抽出部34、セマンティック処理部35、通知部37、および、3Dモデル計算部38に供給される。
【0079】
ステップS2において、キャリブレーション処理部32は、N台の撮像装置CAMで撮影されたN枚の撮像画像に基づいて、各撮像装置CAMのカメラパラメータを算出するキャリブレーション処理を行う。この処理により、各撮像装置CAMの特性を表す特性パラメータ(内部パラメータと光学特性パラメータ)と、撮像装置CAM間の相対位置関係を表す外部パラメータとが得られる。
【0080】
ステップS3において、3D領域計算部41は、キャリブレーション処理部32から供給されたカメラパラメータに基づいて、N台全ての撮像装置CAMの撮像範囲に含まれる3D領域を計算する。
【0081】
ステップS4において、投影部42は、3D領域計算部41で計算された3D領域を、各撮像装置CAMの視点に投影した有効領域マスク画像を生成する。有効領域マスク画像は、撮像装置CAMの台数と同じN枚生成される。また、投影部42は、撮像装置CAMの撮像範囲が直接見えている撮像装置CAMの台数を示した台数情報や、どの撮像装置CAMから見えているかを示すカメラ情報を表した視認カメラ情報も生成することができる。生成されたN枚の有効領域マスク画像と、N枚の視認カメラ情報は、判定部36に供給される。
【0082】
ステップS5において、シルエット抽出部34は、画像入力部31から供給されたN枚の撮像画像から、N枚のシルエット画像を生成する。生成されたN枚のシルエット画像は、判定部36に供給される。
【0083】
ステップS6において、セマンティック処理部35は、画像入力部31から供給されたN枚の撮像画像に対してセマンティックセグメンテーション処理を実行することによりセマンティック情報を生成して、判定部36に供給する。この処理は、撮像装置CAMの撮像範囲から外れた物体や人物の部位を特定する必要がない場合には、省略することができる。
【0084】
ステップS7において、判定部36は、投影部42からのN枚の有効領域マスク画像と、判定部36からのN枚のシルエット画像とに基づいて、被写体が撮像装置CAMの撮像範囲から外れたか否かを判定するカメラ判定処理を行う。より具体的には、判定部36は、被写体がターゲットカメラ以外の撮像装置CAMの撮像範囲から外れたか否かを判定する他カメラ判定処理と、ターゲットカメラの撮像装置CAMの撮像範囲から外れたか否かを判定する自カメラ判定処理を行う。各撮像装置CAMをターゲットカメラとして実行される他カメラ判定処理と自カメラ判定処理の判定結果を示す判定情報が、判定部36から通知部37に供給される。
【0085】
ステップS8において、通知部37は、判定部36からの判定情報に基づいて、特定の撮像装置CAMにおいて撮像範囲から外れたことをユーザに通知する通知情報を生成し、表示装置12に出力する。どの撮像装置CAMの撮像範囲からも外れていない場合には、特に通知情報は不要である。
【0086】
ステップS9において、表示装置12は、通知部37からの通知情報に基づいて、特定の撮像装置CAMにおいて撮像範囲から外れたことをユーザへ通知する。
【0087】
以上で、第1の撮像範囲判定処理が終了する。第1の撮像範囲判定処理によれば、被写体を撮影している複数の撮像装置CAMにおいて撮像範囲から外れた場合に、ユーザに通知することができるので、3Dモデル生成のための多視点撮影において、撮影の失敗を減らすことができる。
【0088】
上述した第1の撮像範囲判定処理において、判定部36は、被写体が撮像装置CAMの撮像範囲から外れたか否かを判定するようにしたが、完全に撮像範囲から外れたか否かに加えて、被写体がもう少し移動した場合に撮像範囲から外れそうな状態であるか否かについても判定し、ユーザに通知してもよい。この場合、3D領域計算部41が計算した3D領域51をターゲットカメラの視点に投影した投影3D領域53より所定の割合(例えば、10%)だけ狭い範囲を被写体領域が外れた場合に、被写体が撮像範囲から外れそうな状態であるとして、通知することができる。あるいは、被写体の動きベクトルを検出して、所定時間後に予測される被写体の位置が、投影3D領域53の外側となる場合に、被写体が撮像範囲から外れそうな状態であるとして、通知することができる。また、投影3D領域53から特定量はみ出した場合に、通知するようにしてもよいし、セマンティック処理部35で求めたセマンティック情報に基づき、特定の部位がはみ出したことを検出した場合に、通知するようにしてもよい。
【0089】
図9で説明した第1の撮像範囲判定処理は、N台の撮像装置CAMで撮影された新たな撮像画像が入力される度に繰り返し実行されるが、撮像画像の更新で変更がない処理は適宜省略することができる。例えば、ステップS2のキャリブレーション処理、ステップS3およびS4の有効領域マスク画像を生成する処理は、N台の撮像装置CAMの位置や画角が同じ場合には、最初の1度だけ実行すればよい。あるいはまた、3Dモデルを生成する撮影を行う前に実行してもよい。
【0090】
N台の撮像装置CAMそれぞれで撮影された撮像画像が、順次、画像処理装置11に入力されると、上述した撮像範囲判定処理と並行して、3Dモデル計算部38による3Dモデル生成処理も実行される。撮像範囲判定処理と3Dモデル生成処理とは、独立して実行してもよいし、連携して実行することも可能である。例えば、撮像範囲判定処理において、被写体が撮像装置CAMの撮像範囲から外れたことを示す判定情報を、判定部36から3Dモデル計算部38にも供給するようにして、被写体が撮像装置CAMの撮像範囲から外れた場合に、3Dモデルの生成を中止または中断してもよい。
【0091】
<4.画像処理装置の第2実施の形態>
図10は、画像処理装置11の第2実施の形態の構成例を示すブロック図である。
【0092】
図10において、
図3に示した第1実施の形態と対応する部分については同一の符号を付してあり、その部分の説明は適宜省略する。
【0093】
上述した第1実施の形態にかかる画像処理装置11は、被写体が撮像装置CAMの撮像範囲から外れるか否かの判定の正確性を重視した構成であるのに対して、第2実施の形態にかかる画像処理装置11は、リアルタイム性を重視した場合の構成である。
【0094】
第2実施の形態では、画像処理装置11は、N台の撮像装置CAMのなかから選択されたM台(N>M)の撮像装置CAMの撮像画像のみを用いて、被写体が撮像装置CAMの撮像範囲から外れたか否かを判定するカメラ判定処理を行う。
【0095】
図10の第2実施の形態にかかる画像処理装置11は、カメラ選択部81と縮小処理部82が新たに設けられている点で、第1実施の形態と相違する。
【0096】
カメラ選択部81には、キャリブレーション処理部32から、各撮像装置CAMのカメラパラメータが供給される。
【0097】
カメラ選択部81は、N台の撮像装置CAMのなかから、M台(N>M)の撮像装置CAMを選択する。カメラ選択部81は、ユーザの指定により手動で選択することもできるし、ユーザが指定せずに自動で選択することもできる。
【0098】
カメラ選択部81は、手動で選択する場合、各撮像装置CAMのカメラパラメータに基づいて、各撮像装置CAMの配置や画角情報を表示装置12に表示させ、使用するM台の撮像装置CAMをユーザに指定させる。
【0099】
一方、自動で選択する場合、カメラ選択部81は、各撮像装置CAMのカメラパラメータに基づいて、配置が近い複数台の撮像装置CAMを1つのグループにまとめ、N台の撮像装置CAMをM個のグループに分類する。そして、カメラ選択部81は、グループごとに1台の撮像装置CAMを選択することで、使用するM台の撮像装置CAMを選択する。あるいは、カメラ選択部81は、被写体が人物である場合、人物の顔が写っている撮像装置CAMを基準の撮像装置CAMとし、基準の撮像装置CAMに対して、位置が離れた撮像装置CAMや、選択した撮像装置CAMと対称な位置となる撮像装置CAMを、M個となるまで順番に選択してもよい。
【0100】
カメラ選択部81は、選択したM個の撮像装置CAMを特定するカメラ選択情報を、有効領域算出部33の3D領域計算部41と、縮小処理部82に供給する。
【0101】
有効領域算出部33の3D領域計算部41は、カメラ選択部81で選択されたM個の撮像装置CAMのカメラパラメータを用いて、M台の撮像装置CAMの撮像範囲に含まれる3D領域を計算する。第2実施の形態では、第1実施の形態のN台のカメラパラメータを使った3D領域計算処理から、M台のカメラパラメータを使った3D領域計算処理に変更されるので、処理負荷が軽減される。また、3D領域を計算する際のオブジェクトの3次元形状を表すポイントまたは頂点の解像度や、ボクセルサイズなどを、第1実施の形態よりも粗い設定値とすることで、処理負荷をさらに軽減してもよい。
【0102】
投影部42は、3D領域計算部41で計算された3D領域を、M台の撮像装置CAMそれぞれの視点に投影したM枚の有効領域マスク画像を生成する。また、投影部42は、生成したM枚の有効領域マスク画像を、縮小処理部82が実行する縮小処理の縮小率に応じて、縮小する。
【0103】
縮小処理部82は、画像入力部31から供給されるN台の撮像装置CAMで撮影されたN枚の撮像画像のなかから、カメラ選択部81で選択されたM個の撮像装置CAMに対応するM枚の撮像画像を選択する。そして、縮小処理部82は、選択したM枚の撮像画像を、予め決定された所定の縮小率で縮小させた低解像度の撮像画像(以下、低解像度画像と称する。)を生成する。例えば、画像入力部31から供給される撮像画像が、HD(High Definition)と呼ばれる、1920x1080の解像度や、HDの4倍の解像度を有する4K解像度である場合、縮小処理部82は、その撮像画像を、VGAと呼ばれる、640x480の低解像度画像に縮小する。縮小処理の手法は特に限定されず、任意の手法を選択することができる。例えば、最近傍法、線形補間、バイキュービック法、面積平均法などを採用することができる。また、単純に、水平方向および垂直方向それぞれの画素数を、1/2や1/4など所定の比率で間引く方法でもよい。
【0104】
縮小処理部82の縮小率と、投影部42が有効領域マスク画像を縮小する際の縮小率は、予め同じに設定される。
【0105】
シルエット抽出部34、セマンティック処理部35、および判定部36は、N枚から選択されたM枚の画像で処理を行う点、解像度が低解像度の画像とされている点を除いて、第1実施の形態と同様である。
【0106】
第2実施の形態のその他の点は、上述した第1実施の形態と同様である。
【0107】
<5.第2の撮像範囲判定処理>
次に、
図11のフローチャートを参照して、画像処理装置11の第2実施の形態による第2の撮像範囲判定処理について説明する。この処理は、例えば、N台の撮像装置CAMで撮影が開始されると同時に開始される。
【0108】
ステップS21およびS22の処理は、
図9の第1の撮像範囲判定処理のステップS1およびS2と同様であるので、説明は省略する。
【0109】
ステップS23において、カメラ選択部81は、N台の撮像装置CAMのなかから、M台(N>M)の撮像装置CAMを選択する。カメラ選択部81は、選択したM個の撮像装置CAMを特定するカメラ選択情報を、有効領域算出部33の3D領域計算部41と、縮小処理部82に供給する。
【0110】
ステップS24において、カメラ選択部81で選択されたM個の撮像装置CAMのカメラパラメータを用いて、M台の撮像装置CAMの撮像範囲に含まれる3D領域を計算する。
【0111】
ステップS25において、投影部42は、3D領域計算部41で計算された3D領域を、M台の撮像装置CAMそれぞれの視点に投影したM枚の有効領域マスク画像を生成し、所定の縮小率で縮小する。縮小処理後のM枚の有効領域マスク画像は、判定部36に供給される。なお、投影部42は、第1の実施の形態と同様に、視認カメラ情報を生成してもよい。
【0112】
ステップS26において、縮小処理部82は、画像入力部31から供給されたN枚の撮像画像のなかから、カメラ選択部81で選択されたM個の撮像装置CAMに対応するM枚の撮像画像を選択し、所定の縮小率で縮小する。縮小後のM枚の低解像度画像は、シルエット抽出部34とセマンティック処理部35に供給される。
【0113】
ステップS27において、シルエット抽出部34は、縮小処理部82から供給されたM枚の低解像度画像から、M枚のシルエット画像を生成する。生成されたM枚のシルエット画像は、判定部36に供給される。
【0114】
ステップS28において、セマンティック処理部35は、縮小処理部82から供給されたM枚の低解像度画像に対してセマンティックセグメンテーション処理を実行することによりセマンティック情報を生成して、判定部36に供給する。なお、この処理は、リアルタイム性を特に優先する場合、省略してよい。
【0115】
ステップS29において、判定部36は、投影部42からのM枚の有効領域マスク画像と、判定部36からのM枚のシルエット画像とに基づいて、被写体が撮像装置CAMの撮像範囲から外れたか否かを判定するカメラ判定処理を行う。この処理は、N枚ではなく、M枚の有効領域マスク画像とシルエット画像を用いる点以外は、第1の撮像範囲判定処理と同様である。
【0116】
ステップS30およびS31は、
図9の第1の撮像範囲判定処理のステップS8およびS9と同様であるので、説明は省略する。
【0117】
以上で、第2の撮像範囲判定処理が終了する。第2の撮像範囲判定処理においても、被写体を撮影している複数の撮像装置CAMにおいて撮像範囲から外れた場合に、ユーザに通知することができるので、3Dモデル生成のための多視点撮影において、撮影の失敗を減らすことができる。
【0118】
第2の撮像範囲判定処理によれば、M台の撮像装置CAMのなかのN台の撮像装置CAMの撮像画像のみを用いて、被写体が撮像装置CAMの撮像範囲から外れたか否かを判定するカメラ判定処理を行うので、処理負荷を軽減し、リアルタイム性を向上させることができる。
【0119】
なお、第2の実施の形態では、画像処理装置11内に、撮像画像の解像度を低解像度に変更する処理部を設けたが、撮像装置CAMの解像度設定を変更することで、撮像装置CAMから供給される撮像画像が低解像度となるようにしてもよい。この場合、第2の撮像範囲判定処理と並行して実行される3Dモデル生成処理に使用される撮像画像も低解像度となる。3Dモデル生成処理に使用される撮像画像を高解像度の画像としたい場合には、第2の撮像範囲判定処理で撮像範囲を確認した後、撮像装置CAMの解像度設定を高解像度に変更して3Dモデル生成処理を実行するように、時分割で実行すればよい。
【0120】
<6.画像処理装置の第3実施の形態>
図12は、画像処理装置11の第3実施の形態の構成例を示すブロック図である。
【0121】
図12において、
図3に示した第1実施の形態と対応する部分については同一の符号を付してあり、その部分の説明は適宜省略する。
【0122】
第3実施の形態にかかる画像処理装置11は、演算処理を軽減し、処理負荷を少なくした構成である点で第2実施の形態と共通する。一方、第2実施の形態では、有効領域算出部33が有効領域マスク画像を生成する処理自体は変更せず、撮像画像の枚数や解像度を変更したのに対し、第3実施の形態は、有効領域算出部33が有効領域マスク画像を生成する処理を変更する点で、第2実施の形態と相違する。
【0123】
図12の第3実施の形態の構成例を、
図3に示した第1実施の形態の構成例と比較すると、
図3の有効領域算出部33の3D領域計算部41および投影部42が、
図12では3D領域計算部91および投影部92に置き換えられており、その他の構成は同一である。
【0124】
3D領域計算部91は、
図13に示されるように、キャリブレーション処理部32から供給されるカメラパラメータに基づいて、N台の撮像装置CAMそれぞれの撮像範囲を、四角錐台の形状で近似して計算する。
図13における奥行き方向の範囲(Zmax、Zmin)は、パラメータとして設定(入力)される。
【0125】
3D領域計算部91は、撮像装置CAMの撮像範囲としての四角錐台の8頂点の座標を撮像装置CAMごとに計算し、投影部92に供給する。
【0126】
投影部92は、有効領域マスク画像を生成するN個の撮像装置CAMそれぞれをターゲットカメラとして、次の処理を行う。
【0127】
投影部92は、3D領域計算部91から供給される、N個の撮像装置CAMの四角錐台の8頂点の座標をターゲットカメラの視点に投影することで、N個の四角錐台の簡易3D領域をターゲットカメラの投影面に投影したN個の四角錐台投影領域を生成する。
【0128】
図14を参照して、投影部92の処理を説明する。
図14では、図をわかりやすくするため、ターゲットカメラが撮像装置CAM-3であるとして、2台の撮像装置CAM-1およびCAM-2の撮像範囲を、撮像装置CAM-3の視点に投影する例を説明する。
【0129】
図14のAは、ターゲットカメラである撮像装置CAM-3の視点から、撮像装置CAM-1の撮像範囲を見た状態を示している。この状態は、撮像装置CAM-1の撮像範囲をターゲットカメラである撮像装置CAM-3の視点に投影することで生成することができる。
【0130】
図14のBは、ターゲットカメラである撮像装置CAM-3の視点から、撮像装置CAM-2の撮像範囲を見た状態を示している。この状態は、撮像装置CAM-2の撮像範囲をターゲットカメラである撮像装置CAM-3の視点に投影することで生成することができる。
【0131】
次に、投影部92は、N個の四角錐台投影領域が全て重なる領域を、ターゲットカメラの投影3D領域とする有効領域マスク画像を生成する。
【0132】
図14のCは、撮像装置CAM-1の撮像範囲と、撮像装置CAM-2の撮像範囲とを重ねることで生成した有効領域マスク画像の概念図を示している。
【0133】
図14のCの有効領域マスク画像は、第1実施の形態では
図5に示した有効領域マスク画像52に対応し、実際には、
図5の有効領域マスク画像52と同様に2値画像となる。
図14のCにおいて、ハッチングで示された領域が、撮像装置CAM-1の撮像範囲と、撮像装置CAM-2の撮像範囲とが重なる領域であり、ターゲットカメラの投影3D領域53に相当する。
【0134】
第3実施の形態においても、投影部92は、視認カメラ情報を生成することができる。第3実施の形態における視認カメラ情報は、ターゲットカメラの投影面(撮像範囲)が何台の撮像装置CAMから見えているかを示した台数情報と、ターゲットカメラの投影面(撮像範囲)がどの撮像装置CAMから見えているかを示すカメラ情報とで構成される。
【0135】
図14のDは、ターゲットカメラの撮像範囲が何台の撮像装置CAMから見えているかを示した台数情報の例を示している。
【0136】
図14のDでは、ターゲットカメラの撮像範囲が、領域101乃至104の4つに区分され、
図14のA乃至Cの投影状態に応じた台数情報が、領域101乃至104の領域ごとに格納されている。
【0137】
領域101は、ターゲットカメラである撮像装置CAM-3のみが見えている領域となるので、台数情報は「1」となっている。領域102は、撮像装置CAM-3と撮像装置CAM-2の2台が見えている領域となるので、台数情報は「2」となっている。領域103は、撮像装置CAM-1乃至CAM-3が見えている領域となるので、台数情報は「3」となっている。領域104は、撮像装置CAM-1と撮像装置CAM-3の2台が見えている領域となるので、台数情報は「2」となっている。
【0138】
図14のEは、ターゲットカメラの撮像範囲がどの撮像装置CAMから見えているかを示すカメラ情報の例を示している。
【0139】
図14のEでは、ターゲットカメラである撮像装置CAM-3の撮像範囲が、領域101乃至104の4つに区分され、
図14のA乃至Cの投影状態に応じたカメラ情報が、領域101乃至104の領域ごとに格納されている。
【0140】
なお、カメラ情報は、自分の撮像装置CAMから見えていることは当然であるので、他の撮像装置CAMから見えているかを示す情報のみが記録される。
【0141】
領域101は、撮像装置CAM-3のみが見えている領域となるので、カメラ情報はない。領域102は、自分以外に撮像装置CAM-2から見えていることを示すカメラ情報が記録される。領域103は、自分以外に撮像装置CAM-1とCAM-2から見えていることを示すカメラ情報が記録される。領域104は、自分以外に撮像装置CAM-1から見えていることを示すカメラ情報が記録される。
【0142】
第3実施の形態のその他の点は、上述した第1実施の形態と同様である。
【0143】
<7.第3の撮像範囲判定処理>
画像処理装置11の第3実施の形態による第3の撮像範囲判定処理は、
図9を参照して説明した第1の撮像範囲判定処理のステップS3およびS4が、次のステップS3’およびS4’に置き換えられる。
【0144】
ステップS3’において、3D領域計算部91は、キャリブレーション処理部32から供給されたカメラパラメータに基づいて、N台の撮像装置CAMそれぞれの撮像範囲を、四角錐台で近似して計算する。
【0145】
ステップS4’において、投影部92は、有効領域マスク画像を生成するN個の撮像装置CAMそれぞれをターゲットカメラとして、次の処理を行う。投影部92は、3D領域計算部91から供給される、N個の撮像装置CAMの四角錐台の8頂点の座標をターゲットカメラの視点に投影することで、N個の四角錐台の簡易3D領域をターゲットカメラの投影面に投影したN個の四角錐台投影領域を生成する。次に、投影部92は、N個の四角錐台投影領域が全て重なる領域を、ターゲットカメラの投影3D領域とする有効領域マスク画像を生成する。
【0146】
したがって、第1の撮像範囲判定処理では、有効領域算出部33は、N台の撮像装置CAMそれぞれの四角錐形状の撮像範囲を計算し、N台全ての撮像範囲を統合して3D領域を計算してから、統合した3D領域を、各撮像装置CAMの視点に投影することで、ターゲットカメラの有効領域マスク画像を生成した。すなわち、第1実施の形態の有効領域算出部33は、N個の撮像範囲の計算、統合、投影の順番で処理を行う。
【0147】
これに対して、第3の撮像範囲判定処理では、有効領域算出部33は、N台の撮像装置CAMそれぞれの四角錐台の撮像範囲を計算し、各撮像装置CAMの視点に投影してのN個の四角錐台投影領域を生成し、投影後のN個の四角錐台投影領域を統合し、ターゲットカメラの投影3D領域とする有効領域マスク画像を生成する。すなわち、第3実施の形態の有効領域算出部33は、N個の撮像範囲の計算、投影、統合の順番で処理を行う。
【0148】
第1実施の形態の3D領域計算部41は、N台の撮像装置CAMそれぞれのN枚の撮像画像(複数の多視点画像)から、N台の撮像装置CAMの撮像範囲を統合した1つの3D領域を生成する生成部であると言える。
【0149】
第3実施の形態の3D領域計算部91は、N台の撮像装置CAMそれぞれのN枚の撮像画像(複数の多視点画像)から、N台の撮像装置CAMそれぞれのN個の3D領域を生成する生成部であると言える。
【0150】
第3の撮像範囲判定処理においても、被写体を撮影している複数の撮像装置CAMで撮像範囲から外れた場合に、ユーザに通知することができるので、3Dモデル生成のための多視点撮影において、撮影の失敗を減らすことができる。
【0151】
<8.カメラ配置のその他の例>
上述した各実施の形態では、
図1に示したように、N個の撮像装置CAMが、被写体を囲むように、被写体の外周に配置されることとして説明したが、撮像装置CAMの配置は、これに限られない。
【0152】
例えば、
図15のAに示されるように、複数の撮像装置CAMが外側を向くように配置したり、
図15のBに示されるように、コンサートホールのステージのように、複数の撮像装置CAMが特定方向を集中的に向くようにした配置でもよい。
【0153】
<9.コンピュータ構成例>
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているマイクロコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0154】
図16は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0155】
コンピュータにおいて、CPU(Central Processing Unit)301,ROM(Read Only Memory)302,RAM(Random Access Memory)303は、バス304により相互に接続されている。
【0156】
バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、及びドライブ310が接続されている。
【0157】
入力部306は、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部307は、ディスプレイ、スピーカ、出力端子などよりなる。記憶部308は、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体311を駆動する。
【0158】
以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インタフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0159】
コンピュータ(CPU301)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体311に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0160】
コンピュータでは、プログラムは、リムーバブル記録媒体311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。
【0161】
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
【0162】
本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0163】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0164】
例えば、上述した複数の実施の形態の全てまたは一部を組み合わせた形態を採用することができる。
【0165】
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0166】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0167】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0168】
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、本明細書に記載されたもの以外の効果があってもよい。
【0169】
なお、本技術は、以下の構成を取ることができる。
(1)
複数の多視点画像から生成された撮像範囲の3D領域を生成する生成部と、
前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する判定部と
を備える画像処理装置。
(2)
前記判定部は、前記領域画像と前記被写体画像とのペアを用いて、前記被写体が前記複数の多視点画像を撮影した複数の前記撮像装置の撮像範囲から外れたか否かを判定する
前記(1)に記載の画像処理装置。
(3)
前記判定部は、前記領域画像と前記被写体画像とのペアを用いて、前記被写体が前記複数の多視点画像を撮影した複数の前記撮像装置の撮像範囲から外れそうな状態であるかを判定する
前記(1)または(2)に記載の画像処理装置。
(4)
前記判定部は、前記被写体が複数の前記撮像装置の撮像範囲から外れた場合に、どの撮像装置の撮像範囲から外れたかも判定する
前記(2)または(3)に記載の画像処理装置。
(5)
前記判定部は、前記被写体画像を用いて、前記被写体が前記特定視点に対応する撮像装置の撮像範囲から外れたか否かを判定する
前記(1)乃至(4)のいずれかに記載の画像処理装置。
(6)
前記被写体のセマンティック情報を識別するセマンティック処理部をさらに備え、
前記判定部は、前記被写体のセマンティック情報を判定に用いる
前記(1)乃至(5)のいずれかに記載の画像処理装置。
(7)
前記複数の多視点画像に基づいて、前記複数の多視点画像を撮影した複数の前記撮像装置のカメラパラメータを算出する算出部をさらに備え、
前記生成部は、算出された複数の前記撮像装置のカメラパラメータに基づいて、前記撮像範囲の3D領域を生成する
前記(1)乃至(6)のいずれかに記載の画像処理装置。
(8)
前記生成部は、前記複数の多視点画像を撮影した全ての前記撮像装置の前記撮像範囲に含まれる1つの前記3D領域を生成する
前記(7)に記載の画像処理装置。
(9)
前記3D領域を前記特定視点に投影した前記領域画像を生成する投影部をさらに備える
前記(1)乃至(8)のいずれかに記載の画像処理装置。
(10)
前記領域画像は、2値画像である
前記(1)乃至(9)のいずれかに記載の画像処理装置。
(11)
前記複数の多視点画像それぞれから、前記被写体の領域をシルエットとして抽出したシルエット画像を生成するシルエット抽出部をさらに備え、
前記判定部は、前記領域画像と、前記被写体画像としての前記シルエット画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する
前記(1)乃至(10)のいずれかに記載の画像処理装置。
(12)
前記複数の多視点画像に対応する複数の撮像装置のなかから、一部の撮像装置を選択する選択部をさらに備え、
前記生成部は、選択された前記一部の撮像装置に対応する多視点画像から生成された前記撮像範囲の3D領域を生成し、
前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する前記撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する
前記(1)乃至(11)のいずれかに記載の画像処理装置。
(13)
前記複数の多視点画像を所定の縮小率で縮小させる縮小処理部をさらに備え、
前記判定部は、縮小後の前記領域画像と前記被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する
前記(1)乃至(12)のいずれかに記載の画像処理装置。
(14)
前記生成部は、前記複数の多視点画像に対応する複数の撮像装置それぞれの撮像範囲を近似した複数の前記3D領域を生成し、
前記判定部は、複数の前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する
前記(1)乃至(13)のいずれかに記載の画像処理装置。
(15)
前記3D領域は、四角錐台の形状である
前記(14)に記載の画像処理装置。
(16)
前記判定部の判定結果をユーザに通知する通知部をさらに備える
前記(1)乃至(15)のいずれかに記載の画像処理装置。
(17)
前記通知部は、所定の記憶部に記憶された前記判定結果を参照し、前記ユーザに通知する
前記(16)に記載の画像処理装置。
(18)
被写体の3Dモデルを生成する3Dモデル生成方法であって、
複数の多視点画像から生成された撮像範囲の3D領域を生成するステップと、
前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定するステップと、
前記複数の多視点画像に基づいて被写体の3Dモデルを生成するステップと
を有する3Dモデル生成方法。
(19)
コンピュータを、
複数の多視点画像から生成された撮像範囲の3D領域を生成する生成部と、
前記3D領域を特定視点に投影した領域画像と、前記特定視点に対応する撮像装置からの被写体画像とに基づいて、前記撮像装置の被写体の撮影状況を判定する判定部
として機能させるためのプログラム。
【符号の説明】
【0170】
CAM-1乃至CAM-8 撮像装置, 11 画像処理装置, 12 表示装置, 31 画像入力部, 32 キャリブレーション処理部, 33 有効領域算出部, 34 シルエット抽出部, 35 セマンティック処理部, 36 判定部, 37 通知部, 38 3Dモデル計算部, 41 3D領域計算部, 42 投影部, 81 カメラ選択部, 82 縮小処理部, 91 3D領域計算部, 92 投影部, 301 CPU, 302 ROM, 303 RAM, 306 入力部, 307 出力部, 308 記憶部, 309 通信部, 310 ドライブ