(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-27
(45)【発行日】2024-03-06
(54)【発明の名称】画像処理装置およびその制御方法、プログラム
(51)【国際特許分類】
G06T 15/20 20110101AFI20240228BHJP
G06T 19/00 20110101ALI20240228BHJP
G01B 11/24 20060101ALI20240228BHJP
【FI】
G06T15/20 500
G06T19/00 A
G01B11/24 K
(21)【出願番号】P 2020046840
(22)【出願日】2020-03-17
【審査請求日】2023-03-17
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】古川 剛史
【審査官】▲徳▼田 賢二
(56)【参考文献】
【文献】特開2020-028096(JP,A)
【文献】特開2004-202131(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/20
G06T 19/00
G01B 11/24
(57)【特許請求の範囲】
【請求項1】
仮想視点画像を生成する画像処理装置であって、
オブジェクトの3次元形状を導出する導出手段と、
前記3次元形状の体積を測定する測定手段と、
前記オブジェクトの基準の体積を保存する保存手段と、
前記保存手段に保存されている前記基準の体積と、前記測定手段が測定した前記3次元形状の体積との比較に基づいて、前記オブジェクトの前記3次元形状が正常か否かを判定する判定手段と、
前記判定手段によって前記3次元形状が正常でないと判定された場合に警告を行う警告手段と、を備えることを特徴とする画像処理装置。
【請求項2】
前記体積は、オブジェクトの3次元形状を構成するボクセル群のボクセル数で表されることを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記測定手段は、前記オブジェクトに外接するバウンディングボックス内の前記ボクセル群のボクセル数を前記オブジェクトの体積として測定することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記保存手段は、仮想視点画像においてオペレータが指定したオブジェクトの3次元形状について前記測定手段が測定した体積を、前記基準の体積として保存することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記保存手段は、複数のフレームにわたって前記測定手段により測定された、前記オブジェクトから導出された前記3次元形状の体積の平均値を前記基準の体積として保存することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項6】
前記判定手段は、前記基準の体積と前記3次元形状の体積との差が、前記基準の体積に基づいて設定された範囲を超える場合に前記3次元形状が正常ではないと判定することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記判定手段は、前記オブジェクトを所定の方向に所定の比率で所定数に分割し、分割された部分ごとに前記基準の体積と前記測定手段が測定した前記3次元形状の体積とを比較することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項8】
前記警告手段は、前記基準の体積と、前記測定手段が測定した前記3次元形状の体積との乖離の程度に基づいて、段階的に変更された警告を行うことを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
前記警告手段は、前記判定手段により前記3次元形状が正常でないと判定されている期間または所定の期間のうちの長い方の期間にわたって警告を行うことを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
【請求項10】
前記警告手段は、仮想視点画像に前記警告を示す警告表示を重畳することを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。
【請求項11】
前記警告手段は、前記判定手段により前記3次元形状が正常でないと判定されたときの時刻を示す時刻情報を仮想視点画像に付与することを特徴とする請求項1乃至10のいずれか1項に記載の画像処理装置。
【請求項12】
オペレータが仮想カメラを操作するための第1の仮想視点画像と撮影対象を俯瞰する第2の仮想視点画像を生成する生成手段を備え、
前記警告手段は、前記第2の仮想視点画像に前記警告を付与することを特徴とする請求項1乃至11のいずれか1項に記載の画像処理装置。
【請求項13】
仮想視点画像を生成する画像処理装置の制御方法であって、
オブジェクトの3次元形状を導出する導出工程と、
前記3次元形状の体積を測定する測定工程と、
前記オブジェクトの基準の体積を保存する保存工程と、
前記保存工程に保存されている前記基準の体積と、前記測定工程が測定した前記3次元形状の体積との比較に基づいて、前記オブジェクトの前記3次元形状が正常か否かを判定する判定工程と、
前記判定工程によって前記3次元形状が正常でないと判定された場合に警告を行う警告工程と、を備えることを特徴とする画像処理装置の制御方法。
【請求項14】
請求項1乃至12のいずれか1項に記載された画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置およびその制御方法、プログラムに関する。
【背景技術】
【0002】
オブジェクトをさまざまな視点や角度から見た画像を視聴可能とする仮想視点画像技術が注目されている。仮想視点画像技術によれば、例えば、サッカーやバスケットボールの試合におけるハイライトシーンを様々な視点位置から視聴することが出来るため、通常の画像と比較して視聴者に高臨場感を与えることが出来る。このような仮想視点画像は、オブジェクトを取り囲むように設置した複数の撮像装置(カメラ)を用いて、同一のタイミングで多方向から撮影した複数の画像から生成される(特許文献1)。また、オペレータが指示した視点の仮想視点画像をインターネットや放送などを介して視聴者に提供することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
仮想視点画像を生成するための処理において、オブジェクトの正しい3次元形状が導出されない場合がある。特許文献1では、複数のカメラで異なる方向から撮影した複数の画像を用いてオブジェクトのシルエット画像を生成し、異なる方向に対応する複数のシルエット画像からオブジェクトの3次元形状を導出し、仮想視点画像を生成する。しかしながら、撮影対象領域における日照変化や撮影環境の変化などの要因により、シルエット画像が正しく生成されない場合がある。このような場合、オブジェクトの3次元形状が正しく導出されず、例えばオブジェクトである人物の頭や足の一部が欠けた仮想視点画像が生成されてしまう場合がある。このような仮想視点画像は、視聴者に違和感を与えてしまうという課題がある。
【0005】
本発明は、違和感のある仮想視点画像の生成を抑制することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様による画像処理装置は以下の構成を備える。すなわち、
仮想視点画像を生成する画像処理装置であって、
オブジェクトの3次元形状を導出する導出手段と、
前記3次元形状の体積を測定する測定手段と、
前記オブジェクトの基準の体積を保存する保存手段と、
前記保存手段に保存されている前記基準の体積と、前記測定手段が測定した前記3次元形状の体積との比較に基づいて、前記オブジェクトの前記3次元形状が正常か否かを判定する判定手段と、
前記判定手段によって前記3次元形状が正常でないと判定された場合に警告を行う警告手段と、を備える。
【発明の効果】
【0007】
本発明によれば、違和感のある仮想視点画像の生成を抑制することができる。
【図面の簡単な説明】
【0008】
【
図1A】実施形態による画像処理システムの構成例、および画像処理装置の機能構成例を示すブロック図。
【
図1B】画像処理装置のハードウェア構成例を示すブロック図。
【
図2】実施形態による仮想視点画像と警告表示の例を示す図。
【
図3】実施形態における3次元形状とボクセル数の例を示す図。
【
図4】実施形態における体積測定処理を説明するフローチャート。
【
図5】実施形態における警告判定処理を説明するフローチャート。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
なお、本明細書において、画像とは、1フレームで構成される静止画、複数フレームから構成される動画または映像を含む。
【0011】
図1Aに実施形態に関わる画像処理システムの構成例を示す。また、
図1Aには、画像処理装置100の機能ブロックの構成例も示されている。本実施形態の画像処理システムにおいて、画像処理装置100には、撮像部110、シルエット画像導出部120、表示部130、操作部140が直接または間接的に接続されている。撮像部110は、オブジェクトを含む画像を撮影し、その撮影画像をシルエット画像導出部120に供給する。シルエット画像導出部120は、撮影画像から背景画像と前景画像を分離し、前景画像であるオブジェクトについてシルエット画像を抽出し、シルエット画像とシルエット画像に対応したテクスチャの画像データ(テクスチャ情報)を導出する。そして、シルエット画像導出部120は、画像処理装置100へ、シルエット画像とテクスチャ情報を送信するとともに、必要に応じて背景画像を送信する。画像処理システムは、複数組の撮像部110とシルエット画像導出部120の対を有し、複数の撮像部110が異なる複数の方向からオブジェクトを撮影することにより、複数のシルエット画像導出部120からシルエット画像とテクスチャ情報が出力される。こうして、画像処理装置100は撮影方向が異なる複数のシルエット画像とこれに対応したテクスチャ情報を取得することができる。
【0012】
上述したように、画像処理装置100には、シルエット画像導出部120が導出したシルエット画像と、シルエットに対応したテクスチャ情報が入力される。シルエット画像とは、オブジェクトの輪郭の中が塗りつぶされた白黒(2値)の画像である。すなわち、シルエット画像は、オブジェクトの輪郭の中と外の各ピクセルを2値の情報で表すことによりオブジェクトの形状を表した情報である。また、画像処理装置100は、オペレータから仮想カメラ(仮想視点)の位置及び向きなどの指示を受け付ける操作部140と、オペレータに仮想視点画像を表示する表示部130に接続されている。オペレータは、表示部130の仮想視点画像を見ながら、操作部140を用いて仮想カメラの位置及び向きを指定することができる。なお、表示部130と操作部140は、画像処理装置100に接続された外部装置であってもよいし、画像処理装置100に含まれる構成であってもよい。
【0013】
撮像部110は、例えば、シリアルデジタルインターフェイス(SDI)に代表される画像信号インターフェイスを備えたデジタルビデオカメラである。撮像部110は画像信号インターフェイスを介して画像データ(撮影画像)をシルエット画像導出部120に入力する。シルエット画像導出部120は、入力された画像データに対して背景差分法などに代表される処理を適用し、撮影画像からオブジェクトの形状情報であるシルエット画像を抽出する。なお、シルエット画像導出部120は、
図1Aに示されるように撮像部110ごとに設けられてもよいし、複数の撮像部110と接続されたサーバーとして設けられてもよい。この場合、シルエット画像導出部120は、複数の撮像部110から撮影画像を取得し、個々の撮像部110からの撮影画像ごとにシルエット画像を演算する。
【0014】
表示部130は、液晶ディスプレイ等を有し、オペレータに種々の画像を提示する。例えば、画像処理装置100が生成した仮想視点画像が表示部130に表示され、オペレータにより視聴され得る。操作部140は、オペレータによる種々の操作を受け付ける。例えば、操作部140は、仮想視点カメラの位置を指定するレバーとスイッチで構成された入力装置を有し、オペレータの操作に応じて、画像処理装置100に仮想視点カメラの位置を指示する。画像処理装置100は、操作部140から入力された仮想視点カメラの位置に基づき仮想視点画像の生成を行う。
【0015】
画像処理装置100は、機能構成として、3次元形状導出部101と、体積測定部102と、体積情報保存部103と、警告判定部104と、仮想視点画像生成部105を備える。以下、各部について説明する。
【0016】
3次元形状導出部101は、シルエット画像導出部120から入力されたシルエット画像に基づいて3次元形状情報を導出する。3次元形状導出部101がシルエット画像から3次元形状情報を導出する手法は、一般的に使用されている視体積交差法などが用いられ得る。視体積交差法とは、複数の撮像部からのシルエット画像を3次元空間に逆投影し、それぞれの視体積の交差部分を求めることにより3次元形状情報を得る手法である。
【0017】
体積測定部102は、3次元形状導出部101が導出した3次元形状の体積を測定する。例えば、体積測定部102は、3次元形状を構成するボクセル群のボクセル数を測定する。なお体積測定部102は、個々のオブジェクトについてボクセル数を測定することができる。また、本実施形態の体積測定部102は、操作部140から受け付けたオペレータの指示によって指定されたオブジェクトについて体積(例えば、ボクセル数)を測定し、その結果を後述する体積情報保存部103に記録する。なお、体積測定部102のより具体的な処理については、
図4のフローチャートを用いて後述する。
【0018】
体積情報保存部103は、ハードディスクなどに代表される記憶装置を用いて、体積測定部102が測定、導出したオブジェクト毎の3次元形状の体積(ボクセル数)を記録する。警告判定部104は、体積測定部102が導出したオブジェクト毎の体積(ボクセル数)と、体積情報保存部103に記録されているオブジェクト毎の体積(ボクセル数)とに基づいて、警告表示を行うか否かを判定する。警告判定部104のより具体的な処理については、
図5のフローチャートを用いて後述する。仮想視点画像生成部105は、3次元形状導出部101から3次元形状情報およびテクスチャ情報を受信し、仮想視点画像を生成する。すなわち、仮想視点画像生成部105は、3次元形状情報とテクスチャ情報に基づいてレンダリング処理を行い、仮想視点画像を生成する。仮想視点画像生成部105は生成した仮想視点画像を表示部130に出力する。
【0019】
なお、3次元形状導出部101、体積測定部102、体積情報保存部103、警告判定部104、仮想視点画像生成部105は、1台の画像処理装置により実現されてもよいし、複数の画像処理装置に分散され、実現されてもよい。また、これら各機能部は、1つ以上のプロセッサーが所定のプログラムを実行することにより実現されてもよいし、専用のハードウェアにより実現されてもよいし、或いは、ハードウェアとソフトウェアの協働により実現されてもよい。
【0020】
画像処理装置100のハードウェア構成例について、
図1Bを用いて説明する。画像処理装置100は、CPU181、ROM182、RAM183、補助記憶装置184、表示部130、操作部140、通信I/F185、及びバス186を有する。すなわち、画像処理装置100は、いわゆる情報処理装置により構成されており、例えば、パーソナルコンピュータなどで実現され得る。
【0021】
CPU181は、ROM182やRAM183に格納されているコンピュータプログラムやデータを用いて画像処理装置100の全体を制御することで、
図1Aに示す画像処理装置100の各機能を実現する。なお、画像処理装置100がCPU181とは異なる1又は複数の専用のハードウェアを有し、CPU181による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、およびDSP(デジタルシグナルプロセッサ)などがある。ROM182は、変更を必要としないプログラムなどを格納する。RAM183は、補助記憶装置184から供給されるプログラムやデータ、及び通信I/F185を介して外部から供給されるデータなどを一時記憶する。補助記憶装置184は、例えばハードディスクドライブ等で構成され、画像データや音声データなどの種々のデータを記憶する。
【0022】
表示部130は、上述のように例えば液晶ディスプレイやLED等で構成され、オペレータが画像処理装置100を操作するためのGUI(Graphical User Interface)などを表示するようにしてもよい。操作部140は、例えばキーボードやマウス、ジョイスティック、タッチパネル等で構成され、オペレータによる操作を受けて各種の指示をCPU181に入力する。
【0023】
通信I/F185は、画像処理装置100の外部の装置との通信に用いられる。例えば、画像処理装置100が外部の装置と有線で接続される場合には、通信用のケーブルが通信I/F185に接続される。画像処理装置100が外部の装置と無線通信する機能を有する場合には、通信I/F185はアンテナを備える。バス186は、画像処理装置100の各部をつないで情報を伝達する。
【0024】
なお、
図1Bでは表示部130と操作部140が画像処理装置100の内部に存在しているが、
図1Aに示したように表示部130と操作部140の少なくとも一方が画像処理装置100の外部の装置として存在してもよい。この場合、CPU181が、表示部130を制御する表示制御部、及び操作部140を制御する操作制御部として動作してもよい。
【0025】
図2に、画像処理装置100の仮想視点画像生成部105が生成し、出力する仮想視点画像の例を示す。
図2(a)に示した仮想視点画像200の例では、フィールド上でサッカーを行っているシーンが映し出されている。
図2(a)に示した仮想視点画像200は例えば以下の処理により生成された仮想視点画像である。
【0026】
まず、スタジアムの周囲に配置された複数の撮像部110が撮影を行って撮影画像を取得し、複数のシルエット画像導出部120のそれぞれが、撮影画像からオブジェクトのシルエット画像とテクスチャ情報を導出する。導出されたシルエット画像とテクスチャ情報は画像処理装置100に送信される。ここでは、選手210、211とボール212のシルエット画像、およびそれらのテクスチャ情報が送信されるものとする。画像処理装置100の仮想視点画像生成部105は、シルエット画像からオブジェクトの3次元形状を導出し、テクスチャ情報を用いて背景画像上にレンダリングを行うことで、
図2(a)のような仮想視点画像200を生成する。仮想視点画像200には、選手210、211とボール212が描画されている。
【0027】
ここで、選手211のシルエット画像が正しく生成されなかったことの影響を受け、正しく3次元形状の導出が行えていないとする。例えば、
図2(a)において、選手211の3次元形状が正しく導出できていないために、選手211の頭の一部が欠けた仮想視点画像が生成されている。このような仮想視点画像を視聴者に提供してしまうと、現実世界では起きえない状況が表された画像となるため、臨場感を損ない、視聴者に違和感を与えてしまう。画像処理装置100では、このように3次元形状が正しく導出されない可能性があるオブジェクトに対し、
図2(b)の仮想視点画像201に示されるように、警告表示220及び警告表示221を仮想視点画像に重畳して表示する。例えば、警告表示220は警告対象のオブジェクトを囲むバウンディングボックスで構成され、警告表示221は3次元形状が正しく導出できていない旨のメッセージと該当するオブジェクトを指し示す図形で構成されている。
【0028】
警告表示220、221により、オペレータは、警告の対象となっているオブジェクトの3次元形状が正しく導出されていないことを認識することができる。従って、オペレータは、例えば、操作部140を用いて該当オブジェクトが仮想視点カメラの視野から外れるように仮想視点を操作することができる。この操作により、例えば、
図2(c)に示す仮想視点画像202が生成される。仮想視点画像202では、前述の3次元形状が正しく導出されていない選手211が仮想視点カメラの視野に入っていないことから、違和感をあたえることのない仮想視点画像が提供されることになる。
【0029】
図3に本実施形態の体積測定部102が導出するボクセル数の例を示す。体積測定部102は、3次元形状導出部101が導出した3次元形状を形成するボクセル群のボクセル数を測定する。
図3(a)には、シルエット画像導出部120がシルエット画像を正しく導出でき、3次元形状導出部101が3次元形状を正しく導出できた例を示す。シルエット画像導出部120は、複数のシルエット画像310a、311a、312a、313aを複数の撮像部110からの撮影画像に基づいて導出する。3次元形状導出部101は、シルエット画像310a~313aに基づき、3次元形状320aを導出する。なお、本実施形態では説明を簡単にするためにシルエット画像の数を4つとしたが、高精度の3次元形状を導出するためには多数の異なる角度からのシルエット画像が必要となる。また、本実施形態の3次元形状導出部101は、ボクセルサイズ1×1×1cmを1ボクセルとする3次元形状情報を導出する。
【0030】
体積測定部102は、3次元形状320aのボクセル数を計測する。3次元形状320aのボクセル数を計測するためには、3次元空間内の各3次元位置に3次元形状320aを構成するボクセルが存在するか否かを判定すればよい。しかし、3次元空間が広く、判定対象の3次元位置が多数ある場合には処理負荷が大きくなる。そこで、本実施形態の体積測定部102は、3次元形状320aに外接する直方体(以後、バウンディングボックス330aと呼ぶ)内の各3次元位置についてボクセルが存在するか否かを判定することで、判定対象の3次元位置の数を削減し、処理負荷を低減する。バウンディングボックス330aの8つの頂点の各々は、複数のボクセルで構成されているボクセル群のXYZ軸の各軸の最大座標値(Xmax、Ymax、Zmax)と最小座標値(Xmin、Ymin、Zmin)から以下に示すように算出可能である。
頂点1(Xmin,Ymin,Zmin)
頂点2(Xmax,Ymin,Zmin)
頂点3(Xmin,Ymax,Zmin)
頂点4(Xmax,Ymax,Zmin)
頂点5(Xmin,Ymin,Zmax)
頂点6(Xmax,Ymin,Zmax)
頂点7(Xmin,Ymax,Zmax)
頂点8(Xmax,Ymax,Zmax)。
【0031】
体積測定部102は、上記の8つの頂点を持つ直方体に内包される3次元形状320aを構成するボクセル数を計測する。例えば、
図3(a)に示した3次元形状320aの、体積測定部102により測定されたボクセル数が72000個であったとする。ここで、72000個をボクセル数の数値例として用いた理由は以下のとおりである。理想的に3次元形状の導出が行える場合、ボクセル数は、実際のオブジェクの体積に比例する。例えば、3次元形状320aのオブジェクトである選手の体重が70kgであった場合、人間の比重を0.97とすると体積は約72000cm
3となる。前述のようにボクセルサイズ1×1×1cmを1ボクセルとすることから、この選手のボクセル数は約72000ボクセルとなる。そこで、シルエット画像導出部120がシルエット画像を正しく導出でき、かつ、3次元形状導出部101が3次元形状を正しく導出できた場合のバウンディングボックス330a内の3次元形状320aを構成するボクセル数を、
図3(a)に示すように約72000と仮定して説明を行う。
【0032】
図3(b)は、異常なシルエット画像の影響により、3次元形状の導出が正しく行えなかった場合を示す。なお、
図3(b)の3次元形状320bと、
図3(a)の3次元形状320aは同じオブジェクトについて生成されたものとする。
【0033】
シルエット画像導出部120は
図3(b)に示すシルエット画像310b、311b、312b、313bを各撮像部の画像に基づき導出する。しかしながら、
図3(b)のシルエット画像310bは日照変化などの撮影条件の変化により頭部のシルエットが一部欠損しているとする。このようにシルエット画像が欠損していると、3次元形状導出部101により導出される3次元形状は、
図3(b)に示す3次元形状320bのようになり、正しい形状が導出されない。
図3(b)の3次元形状320bはシルエット画像310bの欠損の影響により、頭部の一部が欠損している状態にある。例えば欠損しているボクセル数は、頭部を直径25cmの球体とすると球体の体積から約8000ボクセルとなるので、頭部のボクセルの50%が欠損したとすると、約4000ボクセルが減少することとなる。したがって、
図3(b)の例では、バウンディングボックス330b内のボクセル数は約68000になり、正常時の3次元形状320aに比べ約5.5%のボクセル数が減少することとなる。なお、異常なシルエットによるボクセル数の変化は、減少に限られるものではなく、増加する場合もある。画像処理装置100は、以上のようなボクセル数の減少、あるいは増加などの異常を検知することにより該当するオブジェクトに対して警告を付与する。
【0034】
図4は、ボクセル数の計測によりオブジェクトの体積を測定する体積測定部102の処理を示すフローチャートである。
【0035】
まず、ステップS401において、体積測定部102はボクセル数を導出するオブジェクトを選択する。オブジェクトの選択方法としては、例えば、オペレータが体積を測定したいオブジェクトを操作部140から指示する方法(手動選択)、体積測定部102が処理対象のオブジェクトを自動的に選択する方法(自動選択)があげられる。手動選択では、オペレータが体積を測定したいオブジェクトを操作部140から指定すると、当該指定が仮想視点画像生成部105と体積測定部102に通知される。オブジェクトの指定は、例えば、表示部130の画面上に設けられたタッチパネルにより、当該画面に表示されている仮想視点画像において所望のオブジェクトが表示されている位置をオペレータがタッチすることによりなされる。他方、自動選択では、体積測定部102が処理対象のオブジェクトを順に自動的に選定する。自動選択は、体積測定部102が、毎フレームについてオブジェクトの体積を計測する場合に使用される。
【0036】
手動選択において、体積測定部102は、操作部140を介して指定されたオブジェクトについて体積を測定する。このとき、仮想視点画像生成部105は、オペレータに選択されているオブジェクトを通知するための画像効果を付与し、表示部130を介して、仮想視点画像を表示する。例えば、選択されているオブジェクトを矩形で囲むなどの画像効果が付与され、これによりオペレータは選択中のオブジェクトを容易に認識できる。手動選択は、3次元形状が正常な状態におけるボクセル数を基準ボクセル数として保存する場合に使用される。
【0037】
まず、手動選択における動作を説明する。ステップS401において、オペレータによるオブジェクトの選択操作により
図2(a)の選手210が選択されたとする。ステップS402において、体積測定部102は選択したオブジェクトのバウンディングボックス内のボクセル数を計測する。例えば、選択したオブジェクトが選手210であり、その3次元形状が正しく導出されている状態であり、計測されたボクセル数は約72000であったとする。
【0038】
次にステップS403において、体積測定部102はオペレータからの保存指示を確認する。上述したように仮想視点画像生成部105は、表示部130に仮想視点画像を表示するとともに、選手210が計測対象であることを示す表示を行っている。オペレータは仮想視点画像上に表示されている計測対象の選手210を視認し、3次元形状の導出が正しく行われているか否かを確認することができる。オペレータは、3次元形状の導出が問題なく行われていると確認した場合に、操作部140に対し保存指示を行う。操作部140はこの保存指示を体積測定部102に通知する(ステップS403でYES)。
【0039】
ステップS404において、保存指示の通知を受けた体積測定部102は、測定したボクセル数と計測対象のオブジェクトの識別情報を体積情報保存部103に通知する。体積情報保存部103は、体積測定部102から通知されたオブジェクトの識別情報とボクセル数を関連付けてメモリ(例えば、RAM183)に保存する。上記の例では、選手210の識別情報に関連付けてボクセル数(=72000)がメモリに保存される。このようにオペレータからの保存指示によりメモリに保存されたボクセル数が、その時の計測対象のオブジェクトの基準ボクセル数(3次元形状の導出が正しく行われた場合のボクセル数)となる。後述する警告判定部104はこの保存された基準ボクセル数と現在の3次元形状から測定されるボクセル数とを比較し、3次元形状の正常/異常を判定する。
【0040】
次にステップS405において、体積測定部102は、仮想視点画像の1フレーム中のすべてのオブジェクトについて処理が完了したかを判断する。体積測定部102は、前述のステップS401~S404をすべてのオブジェクトに対して繰り返し、体積情報保存部103は、オペレータにより選択されたオブジェクトのボクセル数をメモリに保存する。なお、体積測定部102は、識別情報を割り当てたオブジェクトを追跡し、オブジェクトについて体積(ボクセル数)を測定した場合は、その測定結果と識別情報を対応づける。
【0041】
また、体積測定部102はステップS403においてオペレータから保存指示が無い場合(ステップS403でNO)、処理はステップS406に遷移する。保存指示が無い場合とは、例えば、オブジェクトが処理対象に選択されてから所定時間が経過するまでにオペレータからの保存指示が発生しなかった場合である。なお、オペレータが明示的に保存しないことを示す指示(3次元形状が正しくないことを示す指示)を行うようにしてもよい。また、手動選択が設定されている間は、ステップS406をスキップするようにしてもよい。また、ステップS401で選択したオブジェクトについて3次元形状の異常、正常をオペレータが判断して保存指示を出力するようにした(ステップS403)がこれに限られるものではない。例えば、ステップS401において、オペレータが仮想視点画像から3次元形状が正常に描画されているオブジェクトを選択するようにして、オブジェクトが選択されたことに応じてステップS402、S404が実行され、基準ボクセル数が保存されるようにしてもよい。なお、体積測定部102が計測対象のオブジェクトの自動選択を実施している場合には、ステップS403を自動的にNO判定として、自動的に順次に選択されたオブジェクトについてS406が実行されるようにする。
【0042】
ステップS406において、体積測定部102は警告判定部104に測定したボクセル数を通知する。オペレータからの保存指示がない場合(ステップS406でNO)は、体積測定部102は、計測したボクセル数と計測対象となっているオブジェクトの識別情報を警告判定部104に通知する。警告判定部104の処理については
図5のフローチャートを用いて後述する。次にステップS405において、体積測定部102はすべてのオブジェクトの処理が完了したかの判断を行う。体積測定部102は、計測対象のオブジェクトの自動選択を行っている場合、前述のステップS401~S403及びS406をすべてのオブジェクトに対して行い、警告判定部104に対してオブジェクトのボクセル数を通知する。
【0043】
次に、ステップS407において、体積測定部102はすべてのフレームで処理が完了したかを判断する。未処理の次フレームがあれば、処理はステップS401に遷移し、上述の処理が繰り返される。なお、手動選択では、通常の再生よりもフレームレートを下げて、もしくは、1フレームずつコマ送りにして、各オブジェクトの選択、基準ボクセルの設定ができるようにしてもよい。また、手動選択では、ステップS405およびステップS407における完了の判定を、操作部140から指示できるようにしてもよい。さらに、自動選択が設定されている場合は、通常のフレームレート(例えば、30フレーム毎秒)で仮想視点画像が生成、表示され、体積測定部102は1フレームごとにそれぞれのオブジェクトのボクセル数を測定し警告判定部104に通知する。自動選択が設定されている場合、体積測定部102は、ステップS401~S403、S405、S406に示される動作を、仮想視点画像の再生を終えるまで(ステップS407でYESと判定されるまで)継続する。なお、S407でYESと判定された場合、体積測定部102は、仮想視点画像の再生が完了したことを示す完了通知を警告判定部104に通知する(後述するステップS507の判定で用いられる)。
【0044】
図5は、警告判定部104による警告表示の処理(ステップS406の処理)を示すフローチャートである。警告判定部104は、体積測定部102から通知されたオブジェクトの識別情報とボクセル数に基づいて、警告表示を付与するか判定する。また、オブジェクトのボクセル数のフレーム毎の遷移の例を
図6(a)に示す。以下、
図5及び
図6(a)を用いて警告判定部104の処理について説明する。
図5に示される処理は、ステップS406で体積測定部102がオブジェクト数と識別情報を警告判定部104に通知することで開始する。
【0045】
まず、ステップS501において、警告判定部104は、体積測定部102から通知された識別情報に基づいて警告判定を行うオブジェクト(判定対象のオブジェクト)を特定する。例えば、体積測定部102から
図2(a)の選手210の識別情報が通知されると、警告判定部104は選手210を判定対象として特定する。次にステップS502において、警告判定部104は、ステップS501で特定されたオブジェクトの基準ボクセル数を、体積情報保存部103がメモリに識別情報と関連付けて保存した基準ボクセル数の中から取得する。
【0046】
ここで、
図6(a)に示されたオブジェクトのボクセル数の遷移の例を用いて説明を行う。
図6(a)は、特定のオブジェクトのボクセル数の時間ごとの遷移の例を示している。本実施形態では時間は、LTC(Longitudinal Time Code)で表記されており、時:分:秒:フレーム数で表記されているとする。
図6(a)の横軸は画像処理装置100が稼働を開始した時刻を00:00:00:00として、それからの経過時刻を示している。
【0047】
時刻610(00:05:30:00)において、体積測定部102がオペレータの指示(ステップS403の保存指示)を受けてオブジェクトの識別情報(選手210)とその基準ボクセル数を体積情報保存部103に通知したとする。体積情報保存部103により、通知された識別情報と基準ボクセル数はメモリに保存される。
図6(a)に示すように時刻610において取得されたボクセル数は72000であり、これが選手210の識別情報と関連付けられて基準ボクセルとしてメモリに保存される。よって、
図6(a)の例ででは、警告判定部104は、通知された識別情報に関連付けてメモリに保存されている基準ボクセル数(=72000)を取得する。
【0048】
次に、ステップS503において、警告判定部104は、体積測定部102から通知されたボクセル数と、ステップS502で取得された基準ボクセル数を比較する。説明を簡単にするために、時刻610(00:05:30:00)から時間が経過し、時刻611(01:17:00:00)である場合を説明する。この場合、ステップS501で警告判定部104が体積測定部102から取得した選手210(判定対象のオブジェクト)のボクセル数は73800である。したがって、ステップS503において、警告判定部104は、基準ボクセル数(72000)と時刻611において体積測定部102から通知されたボクセル数(73800)とを比較する。
【0049】
次に、ステップS504において、警告判定部104は、ステップS503の比較に基づいて、判定対象となっているオブジェクト(本例では選手210)について警告表示を付与するか否かを判定する。警告判定部104は、例えば、基準ボクセル数から5%以上乖離している場合に、警告表示を付与すると判定する。
図6(a)の例では、基準ボクセル数は72000であり、基準ボクセル数から5%の乖離がある場合のボクセル数の下限622は68400であり、上限621は75600となる。時刻611において警告判定部104が体積測定部102から通知されたボクセル数は73800であり、上限621と下限622の範囲内に収まっていることから、警告判定部104は、警告表示は不要と判定する(ステップS504でNO)。すなわち、基準ボクセル数と現在のボクセル数の差異が閾値未満であることから警告判定部104は、警告表示は不要と判定する。
【0050】
警告表示が不要と判定されると(ステップS504でNO)、警告判定部104はステップS506において、判定対象のオブジェクト(本例では選手210)に対応する警告出力を停止するように仮想視点画像生成部105に通知する。なお、判定対象のオブジェクトについて警告表示が実施中でない場合は、警告判定部104はステップS506で仮想視点画像生成部105に何も通知しないようにしても良い。
【0051】
一方、警告判定部104が体積測定部102から通知されたボクセル数と基準ボクセル数との差異が閾値(基準ボクセル数の5%)以上の場合、警告表示が必要と判定される(ステップS504でYES)。この場合、警告判定部104は、ステップS505において、判定対象となっているオブジェクトに警告表示を付与するように仮想視点画像生成部105に通知する。なお、判定対象のオブジェクトについて警告表示が実施中である場合は、警告判定部104はステップS505で仮想視点画像生成部105に何も通知しないようにしても良い。
【0052】
その後、ステップS507において、警告判定部104は体積測定部102から完了通知または次のオブジェクトの通知のいずれを受信したかを判定する。完了通知された場合、本処理を終了する。次のオブジェクトが通知された場合、処理はステップS501へ戻り、上述した処理が繰り返される。完了通知は、上述したステップS407で全てのフレームについて処理を終えたと判定された場合に体積測定部102から送信される。また、次のオブジェクトの通知とは、ステップS406で体積測定部102から通知される識別情報とボクセル数である。
【0053】
警告判定部104がステップS504において基準ボクセルから5%以上の乖離があると判定した場合の動作について、
図6(a)を参照して詳細に説明する。上述したように、警告判定部104は、体積測定部102から通知された識別情報により処理対象のオブジェクトを特定し(ステップS501)、そのオブジェクトの基準ボクセル数(=72000)を取得する(ステップS502)。そして、警告判定部104は、体積測定部102から通知された現在のボクセル数と基準ボクセル数とを比較する(ステップS503)。
図6(a)の時刻612(1:17:10:00)において、体積測定部102から通知されたボクセル数が75800であったとする。この場合、基準ボクセル数の5%の上限621(=75600)を通知されたボクセル数が上回ることから、警告判定部104は、閾値以上の差異があると判定する(ステップS504でYES)。
【0054】
現在のボクセル数と基準ボクセル数の間に閾値以上の差異がある判定した場合、警告判定部104は、該当オブジェクトに対する警告表示指示を仮想視点画像生成部105に対し行う(ステップS505)。警告判定部104から、オブジェクトの警告表示の指示を受けた仮想視点画像生成部105はオブジェクトに対して警告表示を付与する。
【0055】
仮想視点画像生成部105は、3次元形状導出部101からオブジェクトの3次元形状を入力されているので、警告判定部104から警告表示を行うように指定されたオブジェクトのバウンディングボックスの頂点を結ぶように警告表示用の点群を付与する。さらに仮想視点画像生成部105は、付与した点群に例えば赤色などの警告表示用の色で着色しレンダリングを行うことで、
図2(b)に示すようにバウンディングボックスで構成された警告表示220としてオペレータに提示する。なお、警告表示はこれに限られるものではなく、例えば、仮想視点画像生成部105の警告表示方法は、仮想視点カメラの座標に基づき3次元オブジェクトをレンダリングしたのち、該当オブジェクトを2次元の枠で囲った警告表示でもよい。また、上述したように、警告の対象となっていることを記述した警告表示221が用いられてもよいし、警告表示220と警告表示221が同時に用いられてもよい。
【0056】
なお、3次元オブジェクトの座標位置をカメラ外部パラメータ及びカメラ内部パラメータを用いて仮想視点カメラの画面座標に変換することにより、該当オブジェクトに警告表示を付与することが可能となる。また、警告判定部104は、体積測定部102から通知されるボクセル数が基準ボクセル数の5%の範囲になるまで警告表示を指示する。例えば、
図6(a)の期間640の間、該当オブジェクトに対して警告表示が行われる。
【0057】
以上のようにボクセル数の比較を行うことにより、仮想視点画像生成のオペレータに3次元形状が正しく導出されないことを警告することが可能となる。このことにより、不自然な仮想視点画像の生成の抑止を促し、視聴者に違和感を与えない仮想視点画像の提供が可能となる。
【0058】
なお、
図6(b)に示したように数フレームだけ閾値を超える場合がある。
図6(b)に示した時刻613(02:16:50:00)において、体積測定部102から通知されたボクセル数は下限622を下回っており、警告の対象となる。しかしながら、ボクセル数が短期間で正常範囲(上限621と下限622の間)に戻る場合、警告表示がごく短い期間のみでしか表示されなくなり、オペレータがそれを視認できない可能性がある。このような課題に対処するべく、基準ボクセル数との差異が閾値を超えた時点から一定期間は警告表示が継続されるようにしても良い。例えば、
図6(b)に示されるように、警告表示の表示期間は期間641以上となるようにしてもよい。すなわち、警告表示は、ボクセル数が異常であることが検出されている期間(例えば期間640)と、所定長の期間(例えば期間641)のうちの長い方とするように制御されてもよい。
【0059】
また、本実施形態では、基準ボクセル数はオペレータの指示に基づき決定される例を示したが、基準ボクセル数は過去の各フレームにおける平均値が用いられても良い。すなわち、ボクセル数が平均値から乖離した場合には異常な3次元形状である可能性があり、オペレータに警告表示を行うように構成しても良い。
【0060】
また、本実施形態では、オブジェクト全体(バウンディングボックス全体)のボクセル数を比較する例を示したがこれに限られるものではない。例えば、3次元形状を頭部、上半身、下半身に分割して個別に比較しても良い。例えば、バウンディングボックスを所定の方向(例えばz軸方向)で、頭の高さ、上半身の高さ、下半身の高さに応じた所定の比率で分割し、バウンディングボックスの各部分についてボクセル数を比較するようにしてもよい。このように所定数に分割した3次元形状または所定数に分割したバウンディングボックスを用いてボクセル数の比較を行うことで、基準ボクセル数との乖離をより明瞭に出現させることができる。例えば、前述のように頭のボクセル数が半分になったときには全体のボクセル数と5%程度異なる程度であったが、頭のバウンディングボックス内で比較することで、ボクセル数は50%の減少となる。このように、バウンディングボックスを分割して比較することで、基準ボクセル数との乖離の閾値を大きくすることが可能となり、誤検出を防止または低減することができる。
【0061】
また、前述の実施形態では警告の有無だけだったが、警告に段階を設けるようにしてもよい。例えば、基準ボクセル数からの乖離について複数の境界値を設定して段階的に警告を表示するようにしても良い。また、例えば、第1と第2の境界値を設け、それぞれの境界を超えた場合に警告の色を変更するようにしても良い。例えば、第1の境界を超えた場合には赤色で警告表示を行い、第2の境界を超えた場合には黄色で警告表示を行うようにする。
【0062】
また、
図2ではオペレータが指定した仮想視点に対応する仮想視点画像上に警告表示を示す例を示したがこれに限られるものではない。例えば、撮影対象の一部もしくは全体を俯瞰する画像(仮想視点画像)を生成し、これに警告を表示するようにしても良い。例えば、フィールドの広い領域あるいは全体を俯瞰した仮想視点画像を表示し、その仮想視点画像上でオブジェクトに対する警告表示を行うようにしても良い。このようにすることでオペレータに対して、フィールドの広域または全体において、上述した警告を提供することが可能となる。
【0063】
さらに警告表示には、警告が発生した時刻情報を表示させても良い。例えば、時刻情報とは画像に付与されているタイムコードである。3次元形状が正しく導出できていない期間の開始時刻と終了時刻を表示しても良い。このような表示によれば、オペレータは3次元形状の導出が正しく行われなかった期間の時刻を知ることが可能となる。
【0064】
以上のように、実施形態によれば、仮想視点画像生成のオペレータに3次元形状が正しく導出されないことを警告することにより、不自然な仮想視点画像の生成の抑止を促し、視聴者に臨場感を損なうことなく違和感を与えない仮想視点画像の提供が可能となる。
【0065】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0066】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【0067】
100:画像処理装置、101:3次元形状導出部、102:体積測定部、103:体積情報保存部、104:警告判定部、105:仮想視点画像生成部、110:撮像部、120:シルエット画像導出部、表示部130、操作部140