(57)【要約】【課題】  それぞれ屈折率が異なる空気中の領域と水中の領域に跨ってオブジェクト９００が存在する場合であっても、当該オブジェクト９００の３次元形状を表す形状データを生成できるようにする。【解決手段】  形状データ生成部５００は、水面より上側に位置するカメラ１１０ａによる撮像に基づく画像からオブジェクト９００水上部分の３次元形状を特定する。また、水面より下側に位置するカメラ１１０ｗによる撮像に基づく画像からオブジェクト９００の水中部分の３次元形状を特定する。そして形状データ生成部５００は、特定された水上部分の３次元形状と水中部分の３次元形状とに基づいて、オブジェクト９００の形状を表す形状データを生成する。【選択図】  図５
2020201767.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間における光の屈折が生じる屈折面を特定可能にする情報を取得する情報取得手段と、
前記屈折面の少なくとも一部を含む撮像領域を撮像する複数の撮像装置のうち前記屈折面に対して第１方向側に位置する撮像装置による撮像に基づく画像と、前記情報取得手段により取得された情報とに基づいて、前記屈折面に対して両側に跨って位置するオブジェクトのうち前記第１方向側に位置する第１部分の３次元形状を特定する第１特定手段と、
前記複数の撮像装置のうち前記屈折面に対して前記第１方向側とは逆の第２方向側に位置する撮像装置による撮像に基づく画像と、前記情報取得手段により取得された情報とに基づいて、前記オブジェクトのうち前記第２方向側に位置する第２部分の３次元形状を特定する第２特定手段と、
前記第１特定手段により特定された前記第１部分の３次元形状と、前記第２特定手段により特定された前記第２部分の３次元形状とに基づいて、前記オブジェクトの３次元形状を表す形状データを生成する生成手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記第１特定手段は、前記屈折面に対して前記第１方向側に位置する複数の撮像装置による撮像に基づく複数の画像を用いて前記第１部分の３次元形状を特定し、
前記第２特定手段は、前記屈折面に対して前記第２方向側に位置する複数の撮像装置による撮像に基づく複数の画像を用いて前記第２部分の３次元形状を特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記生成手段は、前記第１特定手段により特定された前記第１部分の３次元形状と前記第２特定手段により特定された前記第２部分の３次元形状とを前記屈折面において結合して、前記形状データを生成することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記生成手段は、前記第１特定手段により特定された前記第１部分の３次元形状と前記第２特定手段により特定された前記第２部分の３次元形状との前記屈折面におけるずれに基づいて、前記第１部分の３次元形状と前記第２部分の３次元形状との少なくとも何れかを変更する変更処理を行って、前記形状データを生成することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記生成手段による前記変更処理は、前記第２特定手段により特定された前記第２部分の３次元形状の位置と大きさとの少なくとも何れかを変更する処理を含むことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記生成手段は、前記第１特定手段により特定された前記第１部分の３次元形状と前記第２特定手段により特定された前記第２部分の３次元形状との前記屈折面におけるずれが小さくなるように、前記複数の撮像装置に含まれる撮像装置による撮像に基づく画像と前記複数の撮像装置に含まれる撮像装置に関するパラメータとの少なくとも何れかを変更する変更処理を行って、前記形状データを生成することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項７】
前記生成手段は、前記屈折面に対して前記第１方向側に存在する物質及び前記第２方向側に存在する物質の屈折率と、前記屈折面における相対屈折率との、少なくとも何れかに基づいて前記変更処理を行うことを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記第１特定手段は、前記屈折面に対して前記第１方向側と前記第２方向側とに跨って位置する複数のオブジェクトそれぞれについて、前記第１方向側に位置する部分の３次元形状を特定し、
前記第２特定手段は、前記複数のオブジェクトそれぞれについて、前記第２方向側に位置する部分の３次元形状を特定し、
前記生成手段は、前記複数のオブジェクトそれぞれについて、前記第１方向側に位置する部分の３次元形状と前記第２方向側に位置する部分の３次元形状との前記屈折面におけるずれを小さくする処理を行って、前記複数のオブジェクトの３次元形状を表す形状データを生成することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記生成手段により生成された前記形状データと、仮想視点の位置及び向きを示す視点情報とに基づいて、仮想視点画像を生成する生成手段を有することを特徴とする請求項１乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
前記情報取得手段により取得される前記屈折面を特定可能にする情報には、３次元空間における前記屈折面の位置を示す座標と、前記第１方向側の領域及び前記第２方向側の領域を示す座標との、少なくとも何れかが含まれることを特徴とする請求項１乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
前記撮像に基づく画像は、撮像装置により取得された撮像画像から前記オブジェクトに対応する領域を抽出することで得られる画像であることを特徴とする請求項１乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記生成手段により生成される前記形状データは、前記オブジェクトの３次元形状をポリゴンメッシュ又は点群により表すデータであることを特徴とする請求項１乃至１１の何れか１項に記載の情報処理装置。
【請求項１３】
前記屈折面は、互いに屈折率が異なる２種の流体の境界面であることを特徴とする請求項１乃至１２の何れか１項に記載の情報処理装置。
【請求項１４】
前記屈折面は、互いに屈折率が異なる気体と液体との境界面であることを特徴とする請求項１乃至１３の何れか１項に記載の情報処理装置。
【請求項１５】
複数の撮像装置のうち第１領域内に位置する第１撮像装置群による撮像に基づく画像と、前記複数の撮像装置のうち前記第１領域を満たす物質とは屈折率が異なる物質で満たされた第２領域内に位置する第２撮像装置群による撮像に基づく画像とに基づいて、前記第１領域と前記第２領域とに跨って位置するオブジェクトの３次元形状を特定する特定手段と、
前記特定手段により特定された前記オブジェクトの３次元形状と、仮想視点の位置及び向きを示す視点情報とに基づいて、前記オブジェクトを含む仮想視点画像を生成する生成手段とを有することを特徴とする情報処理システム。
【請求項１６】
前記第１領域を満たす物質は気体であり、前記第２領域を満たす物質は液体であることを特徴とする請求項１５に記載の情報処理システム。
【請求項１７】
３次元空間における光の屈折が生じる屈折面を特定可能にする情報を取得する情報取得工程と、
前記屈折面の少なくとも一部を含む撮像領域を撮像する複数の撮像装置のうち前記屈折面に対して第１方向側に位置する撮像装置による撮像に基づく画像と、前記情報取得工程において取得された情報とに基づいて、前記屈折面に対して両側に跨って位置するオブジェクトのうち前記第１方向側に位置する第１部分の３次元形状を特定する第１特定工程と、
前記複数の撮像装置のうち前記屈折面に対して前記第１方向側とは逆の第２方向側に位置する撮像装置による撮像に基づく画像と、前記情報取得工程において取得された情報とに基づいて、前記オブジェクトのうち前記第２方向側に位置する第２部分の３次元形状を特定する第２特定工程と、
前記第１特定工程において特定された前記第１部分の３次元形状と、前記第２特定工程において特定された前記第２部分の３次元形状とに基づいて、前記オブジェクトの３次元形状を表す形状データを生成する生成工程と、を有することを特徴とする情報処理方法。
【請求項１８】
前記第１特定工程は、前記屈折面に対して前記第１方向側に位置する撮像装置による撮像に基づく画像を用いて前記第１部分の３次元形状を特定し、
前記第２特定工程は、前記屈折面に対して前記第２方向側に位置する撮像装置による撮像に基づく画像を用いて前記第２部分の３次元形状を特定することを特徴とする請求項１７に記載の情報処理方法。
【請求項１９】
前記屈折面は、互いに屈折率が異なる気体と液体との境界面であることを特徴とする請求項１７又は１８に記載の情報処理方法。
【請求項２０】
コンピュータを、請求項１乃至１４の何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像画像に基づいてオブジェクトの形状データを生成する技術に関するものである。
【背景技術】
【０００２】
複数の撮像装置を異なる位置に設置して同期撮像し、当該撮像により得られた複数の撮像画像を用いて、視点を任意に変更可能な仮想視点画像を生成する技術がある。具体的には、複数の撮像画像に基づいて、撮像画像に含まれる被写体（オブジェクト）の３次元形状データを生成し、仮想視点の位置及び向きに基づくレンダリング処理を行うことにより、仮想視点画像が生成される。
【０００３】
特許文献１には、対象のオブジェクトの一部しか撮像範囲に含まないような撮像装置が存在する場合でも、そのオブジェクトの３次元形状を正しく特定するための技術が開示されている。具体的には、オブジェクトの部分ごとに、その部分を撮像範囲に含む撮像装置により取得された撮像画像を用いて３次元形状を特定することが開示されている。また、特定された各部分の３次元形状を合わせることでオブジェクト全体の３次元形状を表す形状データを生成することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２０７２５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術では、光の屈折が生じる屈折面に対して両側に跨ってオブジェクトが存在する場合に、当該オブジェクトの３次元形状を表す形状データに誤りが生じる虞がある。例えば、アーティスティックスイミングなどの水上競技を撮像対象として仮想視点画像を生成する場合に、形状データの生成の対象となる選手の体の一部は水面より上側（水上）に存在し、一部は水面より下側（水中）に存在することがある。空気中と水中とでは光の屈折率が異なるため、水面で光の反射が生じたり、水面の揺らぎが生じたりすることにより、撮像装置から見て水面より奥に位置する物体は歪んだ形状で撮像される場合がある。そのため、選手の体の水中部分の形状データの生成に、その水中部分を撮像範囲に含む空気中の撮像装置により取得された撮像画像が用いられると、選手の体の３次元形状を正しく表す形状データを生成できない虞がある。
【０００６】
本発明は上記の課題に鑑み、光の屈折が生じる屈折面に対して両側に跨ってオブジェクトが存在する場合であっても、当該オブジェクトの３次元形状を表す形状データを生成できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明に係る情報処理装置は、例えば以下の構成を有する。すなわち、３次元空間における光の屈折が生じる屈折面を特定可能にする情報を取得する情報取得手段と、前記屈折面の少なくとも一部を含む撮像領域を撮像する複数の撮像装置のうち前記屈折面に対して第１方向側に位置する撮像装置による撮像に基づく画像と、前記情報取得手段により取得された情報とに基づいて、前記屈折面に対して両側に跨って位置するオブジェクトのうち前記第１方向側に位置する第１部分の３次元形状を特定する第１特定手段と、前記複数の撮像装置のうち前記屈折面に対して前記第１方向側とは逆の第２方向側に位置する撮像装置による撮像に基づく画像と、前記情報取得手段により取得された情報とに基づいて、前記オブジェクトのうち前記第２方向側に位置する第２部分の３次元形状を特定する第２特定手段と、前記第１特定手段により特定された前記第１部分の３次元形状と、前記第２特定手段により特定された前記第２部分の３次元形状とに基づいて、前記オブジェクトの３次元形状を表す形状データを生成する生成手段とを有する。
【発明の効果】
【０００８】
本発明によれば、光の屈折が生じる屈折面に対して両側に跨ってオブジェクトが存在する場合であっても、当該オブジェクトの３次元形状を表す形状データを生成できる。
【図面の簡単な説明】
【０００９】
【図１】カメラシステムの設置例を示す図である。
【図２】情報処理システムの構成例を示す図である。
【図３】装置のハードウェア構成を示す図である。
【図４】形状データの生成に係る処理の例を示すフローチャートである。
【図５】オブジェクトの部分ごとの形状データ生成について説明する図である。
【図６】オブジェクトの全体の形状データ生成について説明する図である。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して本発明の実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
［情報処理システムの構成］
図１および図２を用いて、情報処理システム１０の構成例について説明する。情報処理システム１０は、複数の撮像装置による撮像に基づく複数の画像（複数視点画像）と、指定された仮想視点とに基づいて、指定された仮想視点からの見えを表す仮想視点画像を生成するシステムである。本実施形態における仮想視点画像は、自由視点映像とも呼ばれるものであるが、ユーザが自由に（任意に）指定した視点に対応する画像に限定されず、例えば複数の候補からユーザが選択した視点に対応する画像なども仮想視点画像に含まれる。また、本実施形態では仮想視点の指定がユーザ操作により行われる場合を中心に説明するが、仮想視点の指定が画像解析の結果等に基づいて自動で行われてもよい。また、本実施形態では仮想視点画像が動画である場合を中心に説明するが、仮想視点画像は静止画であってもよい。
【００１２】
情報処理システム１０は、３次元空間内の撮像領域を複数の方向から撮像する撮像装置としての複数のカメラを有する。本実施形態では、撮像対象となる撮像領域が、アーティスティックスイミングや競泳、水球などの水上競技が行われるプールの近傍であるものとする。複数のカメラは、このような撮像領域を取り囲むようにそれぞれ異なる位置に設置され、同期して撮像を行う。また、情報処理システム１０に含まれる複数のカメラは、設置場所が異なる複数の撮像装置群に分類される。図１に示す例において、空気中カメラシステム１００ａは水面より上側、具体的にはプール周囲の空気中に設置された複数のカメラ１１０ａを有する撮像装置群であり、主に水上の空気中を撮像する。一方、水中カメラシステム１００ｗは水面より下側、具体的にはプールの隅の水中に設置された複数のカメラ１１０ｗを有する撮像装置群であり、主に水中を撮像する。ただし、空気中のカメラ１１０ａと水中のカメラ１１０ｗのいずれも、空気中の領域と水中の領域との境界面であるプールの水面を少なくとも一部含む撮像範囲を撮像する。
【００１３】
このようなカメラの設置構成によれば、図１に示すように選手等のオブジェクト９００がプールの水上と水中とに跨って位置する場合においても、オブジェクト９００の全体を撮像することができる。すなわち、オブジェクト９００全体のうち空気中に位置する水上部分（例えば選手の上半身）は少なくとも空気中のカメラ１１０ａにより撮像される。そして、オブジェクト９００全体のうち水中に位置する水中部分（例えば選手の下半身）は少なくとも水中のカメラ１１０ｗにより撮像される。
【００１４】
なお、複数のカメラは撮像領域の全周にわたって設置されていなくてもよく、設置場所の制限等によっては撮像領域の一部の方向にのみ設置されていてもよい。また、図１ではカメラ１１０−１ａ、１１０−２ａ、１１０−１ｗ、及び１１０−２ｗを示しており、図２ではこれに加えてカメラ１１０−３ａ及び１１０−３ｗを示しているが、カメラの数はこれに限定されない。例えば、空気中カメラシステム１００ａと水中カメラシステム１００ｗとがそれぞれ３０台程度のカメラを有していてもよい。また、撮像対象は上記に限定されるものではなく、撮像対象に応じてカメラの数が異なっていてもよい。また、望遠カメラと広角カメラなど機能が異なるカメラが設置されていてもよい。
【００１５】
本明細書では、符号末尾にアルファベットのａが付けられた構成要素は空気中に存在するものとし、符号末尾にアルファベットのｗが付けられた構成要素は水中に存在するものとする。また、空気中カメラシステム１００ａ内のカメラを区別しない場合にはカメラ１１０ａと表記し、水中カメラシステム１００ｗ内のカメラを区別しない場合にはカメラ１１０ｗと表記し、空気中か水中かも区別しない場合には単にカメラ１１０と表記する。空気中カメラシステム１００ａと水中カメラシステム１００ｗのその他の構成要素についても、同様に符号を表記する。
【００１６】
図１および図２に示すように、空気中カメラシステム１００ａが有する複数のカメラ１１０ａは、それぞれに対応するカメラ制御部２１０ａを介してデイジーチェイン接続される。水中カメラシステム１００ｗが有する複数のカメラ１１０ｗも同様に、それぞれに対応するカメラ制御部２１０ｗを介してデイジーチェイン接続される。なお、空気中カメラシステム１００ａと水中カメラシステム１００ｗとが分離して接続されることは必須ではなく、空気中カメラシステム１００ａと水中カメラシステム１００ｗとが直列に接続されていてもよい。また、デイジーチェイン接続は必須ではなく、複数のカメラ制御部２１０がスター型などのネットワークトポロジーで接続されていてもよい。
【００１７】
空気中カメラシステム１００ａが有する複数のカメラ１１０ａは、プールの水上を撮像するために適した位置及び向きで設置され、例えば水面近傍などの注目位置を所定の画質で撮像できるように焦点距離とフォーカスが設定される。水中カメラシステム１００ｗのカメラ１１０ｗも同様に、プールの水中を撮像するために適した位置及び向きで設置され、水面近傍などの注目位置を所定の画質で撮像できるように焦点距離とフォーカスが設定される。本実施形態では、水中カメラシステム１００ｗが有するカメラ１１０ｗは防水機能を有しており、水中に直接設置されているものとする。ただしこれに限らず、カメラ１１０ｗは、水中に設置された防水性を担保するハウジング等に収容されていてもよい。また、プールが透明なアクリルガラス等でできており、カメラ１１０ｗはプールの外側で且つ水面より下側から水中を撮像できるように設置されていてもよい。
【００１８】
図２に示すように、空気中カメラシステム１００ａは、カメラ１１０ａと、カメラ１１０ａに接続されたカメラ制御部２１０ａを複数有する。そして各カメラ制御部２１０ａは、同期クライアント２１１ａと画像送信部２１２ａとを有する。空気中カメラシステム１００ａが有する複数のカメラ制御部２１０ａはデイジーチェイン接続され、最も端のカメラ制御部２１０−１ａは時刻サーバ３００およびデータ保存部４００に接続される。水中カメラシステム１００ｗの構成も同様である。
【００１９】
各カメラ制御部２１０の同期クライアント２１１は、時刻サーバ３００および他のカメラ制御部２１０の同期クライアント２１１と通信して同期処理を行う。同期プロトコルとしては、ＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）を使用するものとするが、この方式に限定されるものではない。各同期クライアント２１１が同期処理の結果に応じてＧｅｎＬｏｃｋ信号とＴｉｍｅｃｏｄｅをカメラ１１０に対して出力することで、複数のカメラ１１０の同期が実現される。そして、複数のカメラ１１０は同期撮像を行い、各カメラ１１０は取得した撮像画像と撮像時刻を示すＴｉｍｅｃｏｄｅとをカメラ制御部２１０の画像送信部２１２へ出力する。画像送信部２１２は、カメラ１１０により取得された撮像画像をデータ保存部４００へ送信する。
【００２０】
データ保存部４００は、カメラ１１０により取得された撮像画像の他にも、仮想視点画像の生成に必要な各種の情報を保存する。例えばデータ保存部４００には、複数の撮像画像に基づいてカメラキャリブレーションを行うことで取得された、複数のカメラ１１０それぞれのカメラパラメータが保存されてもよい。カメラパラメータには、少なくともカメラ１１０の位置を示すパラメータが含まれる。ただしこれに限らず、データ保存部４００に保存されるカメラパラメータには、カメラの向きを示すパラメータや、カメラの焦点距離を示すパラメータや、カメラのレンズ歪の状態を示すパラメータなどが含まれていてもよい。
【００２１】
また、データ保存部４００に保存される情報には、形状データ生成部５００により生成されたオブジェクトの形状データも含まれる。形状データ生成部５００は、画像分離部５１０と、モデル生成部５２０と、モデル調整部５３０とを有し、データ保存部４００から取得した画像に基づいて形状データの生成を行う。本実施形態における形状データは、複数のカメラ１１０により撮像される撮像領域に位置するオブジェクトの３次元形状を点群により表すデータである。なお、形状データの内容はこれに限定されず、例えば３次元形状をポリゴンメッシュにより表すデータであってもよい。形状データの生成処理の詳細については後述する。
【００２２】
画像生成部６００は、データ保存部４００から複数視点画像と形状データとを取得し、これらと視点設定部７００から取得した視点情報とに基づいてレンダリングを行って仮想視点画像を生成する。仮想視点画像の生成に用いられる視点情報は、仮想視点の位置及び向きを示す情報である。具体的には、視点情報は、仮想視点の３次元位置を表すパラメータと、パン、チルト、及びロール方向における仮想視点の向きを表すパラメータとを含む、パラメータセットである。なお、視点情報の内容は上記に限定されない。例えば、視点情報としてのパラメータセットには、仮想視点の視野の大きさ（画角）を表すパラメータが含まれてもよい。また、視点情報は複数のパラメータセットを有していてもよい。例えば、視点情報が、仮想視点画像の動画を構成する複数のフレームにそれぞれ対応する複数のパラメータセットを有し、連続する複数の時点それぞれにおける仮想視点の位置及び向きを示す情報であってもよい。視点設定部７００は、ユーザ操作に応じて視点情報を生成し、画像生成部６００へ視点情報を出力する。
【００２３】
仮想視点画像は、例えば以下のような方法で生成される。まず、複数のカメラ１１０によりそれぞれ異なる方向から撮像することで複数視点画像が取得される。次に、画像分離部５１０が、複数視点画像から、人物やボールなどの前景となるオブジェクトに対応する前景領域を抽出した前景画像と、前景領域以外の背景領域を抽出した背景画像を取得する。そして、モデル生成部５２０とモデル調整部５３０が、複数視点画像から抽出された複数の前景画像に基づいて、オブジェクトの形状データを生成する。この形状データの生成には、各カメラ１１０の位置や向きの情報が必要であり、キャリブレーションで得られたカメラパラメータが用いられてもよい。画像生成部６００は、形状データにより表される３Ｄモデルである前景モデルに色付けするためのテクスチャデータを前景画像に基づいて生成し、背景の３Ｄモデルである背景モデルに色づけするためのテクスチャデータを背景画像に基づいて生成する。そして、画像生成部６００が、前景モデルと背景モデルに対してテクスチャデータをマッピングし、視点情報が示す仮想視点に応じてレンダリングを行うことにより、仮想視点画像が生成される。ただし、仮想視点画像の生成方法はこれに限定されず、種々の方法を用いることができる。
【００２４】
なお、情報処理システム１０の構成は、図２に示したものに限定されない。例えば、形状データ生成部５００と画像生成部６００とが一体となって構成されていてもよい。またこの場合に、生成された形状データがデータ保存部４００に保存されることなく、そのまま仮想視点画像の生成に用いられてもよい。また例えば、カメラ制御部２１０が画像分離部５１０を有し、カメラ制御部２１０からデータ保存部４００へ前景画像と背景画像が出力されてもよい。この場合、形状データ生成部５００は、複数のカメラ１１０による撮像に基づく複数の画像として、複数の前景画像をデータ保存部４００から取得してもよい。
【００２５】
［ハードウェア構成］
次に、情報処理システム１０が有する情報処理装置の一例である形状データ生成部５００のハードウェア構成について、図３を用いて説明する。なお、カメラ制御部２１０や画像生成部６００など、情報処理システム１０に含まれる他の装置も、形状データ生成部５００と同様のハードウェア構成であってよい。形状データ生成部５００は、ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３、補助記憶装置５０４、表示部５０５、操作部５０６、通信Ｉ／Ｆ５０７、及びバス５０８を有する。
【００２６】
ＣＰＵ５０１は、ＲＯＭ５０２やＲＡＭ５０３に格納されているコンピュータプログラムやデータを用いて形状データ生成部５００の全体を制御することで、形状データ生成部５００の各機能を実現する。なお、形状データ生成部５００がＣＰＵ５０１とは異なる１又は複数の専用のハードウェアを有し、ＣＰＵ５０１による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、およびＤＳＰ（デジタルシグナルプロセッサ）などがある。ＲＯＭ５０２は、変更を必要としないプログラムなどを格納する。ＲＡＭ５０３は、補助記憶装置５０４から供給されるプログラムやデータ、及び通信Ｉ／Ｆ５０７を介して外部から供給されるデータなどを一時記憶する。補助記憶装置５０４は、例えばハードディスクドライブ等で構成され、撮像画像や形状データなどの種々のデータを記憶する。
【００２７】
表示部５０５は、例えば液晶ディスプレイやＬＥＤ等で構成され、ユーザが形状データ生成部５００を操作するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などを表示する。操作部５０６は、例えばキーボードやマウス、ジョイスティック、タッチパネル等で構成され、ユーザによる操作を受けて各種の指示をＣＰＵ５０１に入力する。ＣＰＵ５０１は、表示部５０５を制御する表示制御部、及び操作部５０６を制御する操作制御部として動作する。通信Ｉ／Ｆ５０７は、外部の装置との通信に用いられる。例えば、形状データ生成部５００が外部の装置と有線で接続される場合には、通信用のケーブルが通信Ｉ／Ｆ５０７に接続される。形状データ生成部５００が外部の装置と無線通信する機能を有する場合には、通信Ｉ／Ｆ５０７はアンテナを備える。バス５０８は、形状データ生成部５００の各部をつないで情報を伝達する。
【００２８】
本実施形態では表示部５０５と操作部５０６が形状データ生成部５００の内部に存在するものとするが、表示部５０５と操作部５０６との少なくとも一方が別の装置として存在していてもよいし、これらが存在しなくてもよい。
【００２９】
［形状データ生成処理］
形状データ生成部５００による形状データの生成は、仮想視点画像の生成対象となる競技をカメラ１１０により撮像することで得られた動画の各フレームについて行われる。すなわち、複数のカメラ１１０により時刻Ｔに撮像された複数の画像に基づいて、時刻Ｔにおけるオブジェクトの３次元形状を表す形状データが生成される。なお、形状データの生成は、カメラ１１０による撮像と並行してリアルタイムに行われてもよいし、データ保存部４００に保存された画像に基づいて撮像対象の競技の終了後に行われてもよい。以下では、図１に示すように空気中と水中とに跨って位置するオブジェクト９００を複数のカメラ１１０により撮像することで得られた複数の画像に基づいて、オブジェクト９００の３次元形状を表す形状データを生成する処理について説明する。
【００３０】
形状データ生成部５００による形状データの生成に係る処理の詳細について、図４のフローチャートを用いて説明する。図４に示す処理は、形状データ生成部５００のＣＰＵ５０１がＲＯＭ５０２に格納されたプログラムをＲＡＭ５０３に展開して実行することで実現される。なお、図４に示す処理の少なくとも一部を、ＣＰＵ５０１とは異なる１又は複数の専用のハードウェアにより実現してもよい。図４に示す処理は、複数のカメラ１１０により取得された複数の撮像画像がデータ保存部４００に記憶され、且つ形状データを生成するための指示が形状データ生成部５００に入力されたタイミングで開始される。ただし、図４に示す処理の開始タイミングはこれに限定されない。また、図４に示す処理は、撮像画像のフレームごとに繰り返し実行される。
【００３１】
Ｓ１０１において、モデル生成部５２０は、撮像領域における空気中の領域と水中の領域との境界面である水面の位置を特定可能にする情報をデータ保存部４００から取得する。この情報は、プールにおける水面の高さを示す情報であり、キャリブレーションにより得られたカメラの位置等と共に予めデータ保存部４００に保存されているものとする。カメラと水面の３次元空間における位置は、同じ座標系における座標で表される。ただし、水面の位置を特定可能にする情報の内容はこれに限定されず、例えば水中の領域と空気中の領域をその頂点又は辺の座標などにより示す情報であってもよい。また、モデル生成部５２０は、水面の位置を特定可能にする情報をユーザ操作に基づいて取得してもよい。
【００３２】
そしてモデル生成部５２０は、水面の位置を特定可能にする情報に基づいて、複数のカメラ１１０により撮像される撮像領域に対応する仮想空間を表す世界座標系を設定する。本実施形態では、プールの水面に対して垂直上方向をｚ軸正方向とし、水面がｚ＝０の平面に対応するように、座標系が設定される。このように設定された座標系により表される空間において、ｚ座標が正である位置は水面より上の空気中の位置に対応し、ｚ座標が負である位置は水中の位置に対応する。ただし、水面の位置が変化する場合には、データ保存部４００に保存された水面位置が更新されてもよい。なお、Ｓ１０１における座標系の設定は、撮像期間に対応する一連の形状データの生成において少なくとも一度行われればよく、撮像画像のフレームごとに行われなくてもよい。
【００３３】
Ｓ１０２において、画像分離部５１０が、処理対象のフレームに対応する時刻Ｔにおいて複数のカメラ１１０によりそれぞれ異なる方向から撮像することで得られた複数の撮像画像を、データ保存部４００から取得する。Ｓ１０３において、画像分離部５１０は、取得した各撮像画像に対して前景背景分離を行い、前景画像と背景画像を取得する。前景背景分離の手法としては、例えば隣接するカメラ１１０同士の画像を比較した視差を利用して前景を抽出する手法などがあるが、これに限定されない。
【００３４】
前景画像とは、撮像画像からオブジェクトの領域（前景領域）を抽出した画像である。前景領域として抽出されるオブジェクトとは、時系列で同じ方向から撮像を行った場合において動きのある（その絶対位置や形が変化し得る）動的オブジェクト（動体）を指す。ここでは、プールの水面近傍で競技を行う人物であるオブジェクト９００が前景領域として抽出されるものとする。ただしオブジェクトはこれに限らず、例えば、競技において、それが行われるフィールド内にいる選手や審判などの人物、例えば球技であればボールなど、またコンサートやエンタテイメントにおける歌手、演奏者、パフォーマー、司会者などであってもよい。
【００３５】
背景画像とは、少なくとも前景となるオブジェクトとは異なる領域（背景領域）の画像である。具体的には、背景画像は、撮像画像から前景となるオブジェクトを取り除いた状態の画像である。また、背景は、時系列で同じ方向から撮像を行った場合において静止している、又は静止に近い状態が継続している撮像対象物を指す。ここでは、背景が、競技が行われるプールやプールサイドなどの構造物であるものとする。ただし背景となる撮像対象物はこれに限らず、例えば、コンサート等のステージ、競技などのイベントを行うスタジアム、球技で使用するゴールなどの構造物、フィールド、などであってもよい。なお、背景は少なくとも前景となるオブジェクトとは異なる領域であり、撮像対象としては、オブジェクトと背景の他に、別の物体等が含まれていてもよい。例えば、プール内の水は、背景として処理されてもよいし、前景とも背景とも区別して処理されてもよい。
【００３６】
Ｓ１０４において、モデル生成部５２０は、Ｓ１０３で取得された前景画像に基づいて、オブジェクト９００の水上部分と水中部分それぞれの３次元形状を特定する。具体的には、モデル生成部５２０は、空気中のカメラ１１０ａで取得した撮像画像から抽出された前景画像に基づいて、空気中に位置するオブジェクト９００の水上部分の形状データを生成する。また、モデル生成部５２０は、水中のカメラ１１０ｗで取得した撮像画像から抽出された前景画像に基づいて、水中に位置するオブジェクト９００の水中部分の形状データを生成する。この２つの形状データにより表される３次元形状を足し合わせたものが、オブジェクト９００全体の３次元形状となる。
【００３７】
オブジェクト９００の水上部分と水中部分それぞれの形状データを生成する処理について、図５を用いて説明する。図５（ａ）は、ｚ＝０に水面９０１があり、水面９０１の近傍にオブジェクト９００が位置する様子を示している。図５（ａ）に示す状態のオブジェクト９００を空気中のカメラ１１０ａにより撮像することで取得した撮像画像から前景画像を抽出し、その前景画像から生成された形状データにより表される３Ｄモデル８０１ａは、図５（ｂ）に示すような形状となる。
【００３８】
３Ｄモデル８０１ａのうちｚ＜０の部分は、空気中のカメラ１１０ａで取得した撮像画像に含まれる水中部分の画像に基づいて生成される。空気中と水中とでは屈折率が異なるため、空気中のカメラ１１０ａで取得された画像において、水中にある物体は、水面９０１における屈折率変化の影響で変形して撮像される。そのため、図５（ｂ）に示すように、３Ｄモデル８０１ａのうちｚ＜０の部分は、破線で表される実際のオブジェクト９００の形状と比較してｚ方向に圧縮された形状となる。モデル生成部５２０は、３Ｄモデル８０１ａのうち水中に存在する部分、すなわちｚ＜０の部分を削除することで、図５（ｃ）に示すようなオブジェクト９００の水上部分の３Ｄモデル８０２ａを取得する。これによりオブジェクト９００の水上部分の３次元形状が特定される。
【００３９】
一方、図５（ａ）に示す状態のオブジェクト９００を水中のカメラ１１０ｗにより撮像することで取得した撮像画像から前景画像を抽出し、その前景画像から生成された形状データにより表される３Ｄモデル８０１ｗは、図５（ｄ）に示すような形状となる。３Ｄモデル８０１ｗのうちｚ＜０の部分は水中のカメラ１１０ｗで取得した撮像画像に含まれる水中部分の画像に基づいて生成され、ｚ＞０の部分は水中のカメラ１１０ｗで取得した撮像画像に含まれる水上部分の画像に基づいて生成される。空気中と水中とでは屈折率が異なるため、水中のカメラ１１０ｗで取得された撮像画像におけるオブジェクト９００は、空気中のカメラ１１０ａで取得された撮像画像におけるオブジェクト９００よりも大きくなる。すなわち、水中のカメラ１１０ｗで取得された撮像画像は、実際にカメラ１１０ｗに設定されている焦点距離よりも望遠寄りの焦点距離で撮影したような画像となる。
【００４０】
そのため、図５（ｄ）に示すように、３Ｄモデル８０１ｗは、破線で表される実際のオブジェクト９００の形状と比較して、少なくとも大きさが異なる。また、空気中にある物体は水中のカメラ１１０ｗからは変形して撮像されるため、３Ｄモデル８０１ｗのうちｚ＞０の部分は実際のオブジェクト９００とは異なる形状になりうる。さらに、水中のカメラ１１０ｗにより取得される撮像画像は、実際にカメラ１１０ｗに設定されている焦点距離とは異なる焦点距離の写り方になるため、３Ｄモデル８０１ｗの位置が実際のオブジェクト９００の位置からずれた位置になりうる。モデル生成部５２０は、３Ｄモデル８０１ｗのうち空気中に存在する部分、すなわちｚ＞０の部分を削除することで、図５（ｅ）に示すようなオブジェクト９００の水中部分の３Ｄモデル８０２ｗを取得する。これによりオブジェクト９００の水中部分の３次元形状が特定される。
【００４１】
Ｓ１０５において、モデル調整部５３０は、Ｓ１０４で生成された３Ｄモデルの調整と結合を行う。この処理の内容について図６を用いて説明する。図６（ａ）は、Ｓ１０４で生成されたオブジェクト９００の水上部分の３Ｄモデル８０２ａと水中部分の３Ｄモデル８０２ｗとをそのまま水面９０１において結合することで得られる、オブジェクト９００全体の３Ｄモデル８１０を示す。屈折率の影響により、３Ｄモデル８０２ｗの水面９０１に接する部分は、３Ｄモデル８０２ａの水面９０１に接する部分よりも大きくなっている。そのため、３Ｄモデル８１０は水面９０１の位置において崩れた形状となっており、オブジェクト９００の３次元形状を正しく表すことができない。
【００４２】
そこでモデル調整部５３０は、３Ｄモデル８０２ａと３Ｄモデル８０２ｗとの水面９０１におけるずれに基づいて、３Ｄモデル８０２ａと３Ｄモデル８０２ａとの少なくとも何れかを変更する変更処理を行うことで、水面９０１におけるずれを補正する。具体的には、モデル調整部５３０は、３Ｄモデル８０２ａと３Ｄモデル８０２ｗのうち一方の大きさを他方に合わせて変更する。図６（ｂ）は、３Ｄモデル８０２ｗの大きさを３Ｄモデル８０２ａに合わせて変更した上で３Ｄモデル８０２ａと３Ｄモデル８０２ｗとを水面９０１において結合することで得られる、オブジェクト９００全体の３Ｄモデル８１１を示す。３Ｄモデル８０２ｗの大きさを変更したことで、３Ｄモデル８０２ａと３Ｄモデル８０２ｗとの水面９０１におけるずれが補正され、３Ｄモデル８１１はオブジェクト９００の３次元形状を正しく表したものとなっている。
【００４３】
なお、３Ｄモデル８０２ａと３Ｄモデル８０２ｗとの水面９０１における位置がずれている場合には、モデル調整部５３０は、３Ｄモデル８０２ａと３Ｄモデル８０２ｗのうち一方の位置を他方に合わせて変更してもよい。また、モデル調整部５３０は、３Ｄモデル８０２ａと３Ｄモデル８０２ｗとの位置や大きさのずれが補正されるように、３Ｄモデル８０２ａと３Ｄモデル８０２ｗの両方に変更を加えてもよい。
【００４４】
３Ｄモデル８０２の位置や大きさの変更は、屈折率が変化する水面９０１に対応するｚ＝０の平面における３Ｄモデル８０２の断面形状に基づいて行われる。すなわち、モデル調整部５３０は、ｚ＝０の平面における３Ｄモデル８０２ａの断面と３Ｄモデル８０２ｗの断面とを特定し、これらの断面の位置及び形状が近づくように３Ｄモデル８０２ａと３Ｄモデル８０２ｗの少なくとも一方を変更する。例えば、モデル調整部５３０は、両断面の重心位置が一致するように３Ｄモデル８０２ｗの位置を変更し、両断面の外形の誤差を最小化するように３Ｄモデル８０２ｗの大きさを変更する。
【００４５】
ただし、３Ｄモデル８０２の調整方法はこれに限定されない。例えば、モデル調整部５３０は、ユーザまたは外部装置からの入力に基づいて、ｚ＝０の平面を境界とする２つの領域を満たす物質それぞれの屈折率又はそれらの物質の相対屈折率を示す情報を取得してもよい。そしてモデル調整部５３０は、取得した情報にもとづいて３Ｄモデル８０２を変更してもよい。ｚ＝０の平面が水面９０１に対応する本実施形態の例においては、水の屈折率が１．３３３であることから、モデル調整部５３０は３Ｄモデル８０２ｗの大きさを１／１．３３３倍することによりずれを補正することができる。屈折率が既知である場合には、この方法を用いることで補正の精度を向上できる。
【００４６】
Ｓ１０６において、モデル生成部５２０は、モデル調整部５３０により調整及び結合された３Ｄモデル８１１を表すオブジェクト９００の形状データを生成してデータ保存部４００へ出力する。データ保存部４００により保存された形状データは、画像生成部６００による仮想視点画像の生成に用いられる。モデル調整部５３０による調整の結果を反映した形状データはオブジェクト９００の３次元形状を正しく表現するため、形状データに基づいて生成される仮想視点画像においてオブジェクト９００が正しく再現される。
【００４７】
なお、撮像領域を撮像した複数視点画像に、水面近傍に位置する複数のオブジェクトが含まれる場合、形状データ生成部５００は、各オブジェクトの水上部分の３Ｄモデル８０２ａと水中部分の３Ｄモデル８０２ｗを生成して対応付けを行う。そして形状データ生成部５００は、対応付けられた３Ｄモデル８０２ａと３Ｄモデル８０２ｗの調整を行うことで、オブジェクトごとにずれを小さくする処理を行い、各オブジェクトの形状データを生成する。これにより、複数のオブジェクトが存在する場合でも各オブジェクトの形状データを正しく生成することができる。
【００４８】
また、撮像領域内のあるオブジェクトの全体が空気中に位置する場合には、形状データ生成部５００は、前景画像から生成されたそのオブジェクトの３Ｄモデルに対して上述の調整処理を行わなくてもよい。また、あるオブジェクトの全体が水中に位置する場合には、形状データ生成部５００は、前景画像から生成されたそのオブジェクトの３Ｄモデル全体に対して屈折率に応じた大きさ調整を行ってもよい。
【００４９】
図４を用いた上記の説明では、まずオブジェクト９００の水上部分の形状データと水中部分の形状データをそれぞれ生成し、それらの少なくとも一方を調整することで水面９０１におけるずれを補正するものとした。ただし、オブジェクト９００の形状データのずれを補正する方法はこれに限定されない。
【００５０】
例えば、複数のカメラ１１０の設置および設定が、カメラ１１０が設置される領域の屈折率に基づいて行われてもよい。空気中と水中にカメラ１１０が設置される場合には、空気中のカメラ１１０ａの画角と同じ画角で写せるように、水中のカメラ１１０ｗの焦点距離が空気中のカメラ１１０ａの焦点距離よりも短く設定されてもよい。さらに、各カメラ１１０の位置や向きが画角に応じて調整されてもよい。この方法により高精度にカメラ１１０の調整を行うことで、形状データの調整に係る処理を削減しつつ、オブジェクト９００の形状データのずれを補正することができる。一方、図４を用いて上述した方法によれば、多数存在するカメラ１１０の設置や設定を簡易化することができ、また各領域の屈折率がわからない場合でもずれの補正が可能となる。
【００５１】
また例えば、ずれを小さくする方法として、形状データ生成部５００が、形状データを生成するための前景画像や撮像画像、又はキャリブレーション等により得られるカメラパラメータを、屈折率に基づいて変換してもよい。空気中と水中にカメラ１１０が設置される場合には、水中のカメラ１１０ｗによる撮像に基づく撮像画像又は前景画像のサイズ、又は水中のカメラ１１０ｗのカメラパラメータを、水の屈折率による焦点距離の変化に応じて変換してもよい。このように予め変換された前景画像やカメラパラメータを用いて形状データの生成を行うことで、形状データの調整に係る処理を削減しつつ、オブジェクト９００の形状データのずれを補正することができる。また、形状データ生成部５００は、前景画像内の水上の領域と水中の領域にそれぞれ異なる変換処理を行うことで、オブジェクト９００の水上部分と水中部分それぞれの形状データを生成せずに、オブジェクト９００全体の形状データを直接生成することもできる。一方、図４を用いて上述した方法によれば、画像やパラメータの変換に係る処理を削減することができ、また各領域の屈折率がわからない場合でもずれの補正が可能となる。
【００５２】
また、本実施形態においては、オブジェクト９００を撮像するカメラ１１０が屈折率の異なる複数の領域である空気中と水中にそれぞれ設置される場合の例について説明したが、カメラ１１０の配置はこれに限定されない。例えば、複数のカメラ１１０が空気中にのみ設置されてもよい。そして、形状データ生成部５００は、空気中のカメラ１１０ａにより取得された画像から、オブジェクト９００の水上部分と水中部分それぞれの形状データを生成し、水中部分の形状データを屈折率等に基づいて調整してもよい。このようにして調整された水中部分の形状データと、水上部分の形状データとを組み合わせることで、オブジェクト９００全体の形状データを生成できる。この方法によれば、カメラ１１０の設置が容易になる。
【００５３】
ただしこの方法を用いる場合、空気中のカメラ１１０ａから水面より奥に位置するオブジェクト９００の水中部分を撮像した画像に基づいて水中部分の形状データが生成される。水面では光の屈折が生じることに加え、水面で光の反射が生じたり、水面の揺らぎにより光の入射角が変化したりすることにより、カメラ１１０ａからオブジェクト９００の水中部分を安定的に撮像できない場合が考えられる。このような場合には、屈折率を考慮してもオブジェクト９００の水中部分の３次元形状を正確に特定できず、オブジェクト９００全体の形状データを正しく生成できない虞がある。
【００５４】
一方、本実施形態の形状データ生成部５００は、空気中のカメラ１１０ａにより取得された画像からオブジェクト９００の水上部分の３次元形状を特定し、水中のカメラ１１０ｗにより取得された画像からオブジェクト９００の水中部分の３次元形状を特定する。そして形状データ生成部５００は、特定された水上部分と水中部分の３次元形状に基づいてオブジェクト９００全体の形状データを生成する。そのため、カメラ１１０から見て水面より奥の画像が乱れることによる影響が形状データに現れず、結果としてオブジェクト９００全体の形状データを正しく生成することができる。
【００５５】
以上説明したように、本実施形態における形状データ生成部５００は、空気中と水中とに跨って位置するオブジェクト９００を、複数のカメラ１１０によりそれぞれ異なる方向から撮像することで得られる複数の画像を取得する。そして形状データ生成部５００は、取得した複数の画像に基づいてオブジェクト９００の３次元形状を表す形状データを生成する。この形状データの生成において、形状データ生成部５００は、空気中に位置するオブジェクト９００の水上部分の３次元形状と、水中に位置するオブジェクト９００の水中部分の３次元形状との、水面９０１におけるずれを補正するための処理を行う。
【００５６】
このような構成によれば、それぞれ屈折率が異なる空気中の領域と水中の領域に跨ってオブジェクト９００が存在する場合であっても、オブジェクト９００の３次元形状を表す形状データを生成することができる。そして、このように生成された形状データを用いることで、オブジェクト９００の形状を正しく再現した仮想視点画像を生成することができる。
【００５７】
以上の説明では、撮像領域内における光の屈折が生じる屈折面が、空気で満たされた領域（水上の領域）と、空気とは屈折率が異なる物質である水で満たされた領域（水中の領域）との境界面である場合の例を説明した。ただし、本実施形態における形状データの生成方法の適用先はこれに限定されない。例えば、撮像領域内に、空気で満たされた領域と、ガラスや樹脂などの固体又は油などの液体で満たされた領域との境界面が存在する場合も、本実施形態における形状データの生成方法を適用することで、形状データの精度を向上させることができる。また例えば、撮像領域内に水で満たされた領域と油で満たされた領域とが存在してもよい。撮像領域に、互いに屈折率が異なる２種の流体の層がある場合、特に気体層と液体層がある場合には、それらの層の境界面に揺らぎが生じやすいため、本実施形態による形状データ生成の精度の向上の効果が大きい。それぞれ異なる物質で満たされた３以上の領域に跨ってオブジェクト９００が位置する場合も、本実施形態を適用してオブジェクト９００全体の３次元形状を特定できる。なお、本実施形態において領域を満たす物質とは、その領域の全てを占める物質に限定されず、その領域を主に構成する物質（例えば３次元領域の体積の半分以上を占める物質）を指す。
【００５８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ等）によっても実現可能である。また、そのプログラムをコンピュータにより読み取り可能な記録媒体に記録して提供してもよい。
【符号の説明】
【００５９】
１０  情報処理システム
１１０  カメラ
５００  形状データ生成部
９００  オブジェクト
９０１  水面
【図１】
2020201767.tif 000003
【図２】
2020201767.tif 000004
【図３】
2020201767.tif 000005
【図４】
2020201767.tif 000006
【図５】
2020201767.tif 000007
【図６】
2020201767.tif 000008