(57)【要約】【課題】  被写体面上の模様によらず、高精度の３次元形状データを取得することを目的とする。【解決手段】  生成装置であって、被写体面を複数の方向から撮影して取得される複数の撮影画像を取得する第１取得手段と、前記被写体面における模様の位置及び形状を示す情報を取得する第２取得手段と、前記第１取得手段により取得された前記複数の撮影画像と、前記第２取得手段により取得された前記模様の位置及び形状を示す情報とに基づき、前記被写体面における複数の領域毎に３次元位置情報を決定する決定手段と、前記決定手段により決定された前記領域毎の３次元位置情報に基づき、前記被写体面に対応する３次元形状データを生成する生成手段と、を有する。【選択図】  図５
2020004053.tif 000002
【特許請求の範囲】
【請求項１】
被写体面を複数の方向から撮影して取得される複数の撮影画像を取得する第１取得手段と、
前記被写体面における模様の位置及び形状を示す情報を取得する第２取得手段と、
前記第１取得手段により取得された前記複数の撮影画像と、前記第２取得手段により取得された前記模様の位置及び形状を示す情報とに基づき、前記被写体面における複数の領域毎に３次元位置情報を決定する決定手段と、
前記決定手段により決定された前記領域毎の３次元位置情報に基づき、前記被写体面に対応する３次元形状データを生成する生成手段と、を有することを特徴とする３次元形状データの生成装置。
【請求項２】
前記第２取得手段により取得された前記模様の位置及び形状を示す情報に基づき、前記被写体面における複数の領域を設定する設定手段を、さらに有し、
前記決定手段は、前記設定手段により設定された前記被写体面における複数の領域毎に３次元位置情報を決定することを特徴とする請求項１に記載の生成装置。
【請求項３】
前記設定手段は、前記複数の領域のそれぞれに、前記模様の少なくとも一部が含まれるように前記複数の領域を設定することを特徴とする請求項２に記載の生成装置。
【請求項４】
前記第１取得手段により取得された複数の撮影画像に基づき、前記領域毎及び前記被写体面からの距離毎に、前記被写体面からの距離が異なる投影面における投影画像を生成する投影手段をさらに有し、
前記決定手段は、前記投影手段により生成された、前記領域毎及び前記被写体面からの距離毎の投影画像に基づいて、前記領域毎に３次元位置情報を決定することを特徴とする請求項１乃至３のいずれか１項に記載の生成装置。
【請求項５】
前記領域毎及び前記被写体面からの距離毎に、前記被写体面からの距離が同じである複数の投影画像を合成して合成画像を生成する合成手段をさらに有し、
前記決定手段は、前記合成手段により生成された、前記領域毎及び前記被写体面からの距離毎の合成画像に基づいて、前記領域毎に３次元位置情報を決定することを特徴とする請求項４に記載の生成装置。
【請求項６】
前記決定手段は、前記合成手段により生成された、前記領域毎及び前記被写体面からの距離毎の前記合成画像のうち、前記模様が鮮鋭となる合成画像に対応する３次元位置情報を、前記領域の３次元位置情報と決定することを特徴とする請求項５に記載の生成装置。
【請求項７】
撮像装置のパラメータを取得する第３取得手段をさらに有し、
前記第２取得手段により取得された前記模様の位置及び形状を示す情報と、前記第３取得手段により取得された前記パラメータと、に基づいて、前記複数の領域の３次元位置情報を決定するための指標を算出する算出手段をさらに有し、
前記合成手段は、前記算出手段により算出された前記指標に基づき、前記被写体面からの距離が同じである前記複数の投影画像を合成することを特徴とする請求項５又は６に記載の生成装置。
【請求項８】
前記合成手段は、前記被写体面からの距離が同じである前記複数の投影画像を合成する際に、前記算出手段により算出された前記指標を重みとして、各投影画像で対応する画素の画素値に対して重み付き平均化処理を行うことを特徴とする請求項７に記載の生成装置。
【請求項９】
前記決定手段は、前記領域毎及び前記被写体面からの距離毎の投影画像内の前記模様の存在領域に基づき、前記被写体面における複数の領域毎に３次元位置情報を決定することを特徴とする請求項４に記載の生成装置。
【請求項１０】
前記決定手段は、前記領域毎及び前記被写体面からの距離毎の投影画像内の前記模様の存在領域の積集合に基づき、前記被写体面における複数の領域毎に３次元位置情報を決定することを特徴とする請求項９に記載の生成装置。
【請求項１１】
前記決定手段は、前記領域毎及び前記被写体面からの距離毎の投影画像内の前記模様の存在領域の和集合に基づき、前記被写体面における複数の領域毎に３次元位置情報を決定することを特徴とする請求項９に記載の生成装置。
【請求項１２】
前記決定手段は、前記複数の領域のうち隣り合う２つの領域の前記被写体面からの距離の連続性に基づいて、前記被写体面における複数の領域毎に３次元位置情報を決定することを特徴とする請求項４乃至１１のいずれか１項に記載の生成装置。
【請求項１３】
前記被写体面からの距離の連続性は、前記複数の領域のうち前記隣り合う２つの領域の前記被写体面からの距離の変化を示す指標を用いて表されることを特徴とする請求項１２に記載の生成装置。
【請求項１４】
前記模様は、競技を行うためのフィールドに描かれるラインであることを特徴とする請求項１乃至１３のいずれか１項に記載の生成装置。
【請求項１５】
前記模様は、被写体面上において他の領域の色と異なる色であることを特徴とする請求項１乃至１４のいずれか１項に記載の生成装置。
【請求項１６】
被写体面を複数の方向から撮影して取得される複数の撮影画像を取得する第１取得工程と、
前記被写体面における模様の位置及び形状を示す情報を取得する第２取得工程と、
前記第１取得工程により取得された前記複数の撮影画像と、前記第２取得工程により取得された前記模様の位置及び形状を示す情報とに基づき、前記被写体面における前記複数の領域毎に３次元位置情報を決定する決定工程と、
前記決定工程により決定された前記領域毎の３次元位置情報に基づき、前記被写体面に対応する３次元形状データを生成する生成工程と、を有することを特徴とする３次元形状データの生成方法。
【請求項１７】
前記第２取得工程により取得された前記模様の位置及び形状を示す情報に基づき、前記被写体面における複数の領域を設定する設定工程を、さらに有し、
前記決定工程は、前記設定工程により設定された前記被写体面における複数の領域毎に３次元位置情報を決定することを特徴とする請求項１６に記載の生成方法。
【請求項１８】
前記設定工程は、前記複数の領域のそれぞれに、前記模様の少なくとも一部が含まれるように前記複数の領域を設定することを特徴とする請求項１７に記載の生成方法。
【請求項１９】
前記第１取得工程により取得された複数の撮影画像に基づき、前記領域毎及び前記被写体面からの距離毎に、前記被写体面からの距離が異なる投影面における投影画像を生成する投影工程をさらに有し、
前記決定工程は、前記投影工程により生成された、前記領域毎及び前記被写体面からの距離毎の投影画像に基づいて、前記領域毎に３次元位置情報を決定することを特徴とする請求項１６乃至１８のいずれか１項に記載の生成方法。
【請求項２０】
コンピュータに、請求項１乃至１５のいずれか１項に記載の生成装置の各手段を機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状データを生成する生成装置、生成方法及びプログラムに関する。
【背景技術】
【０００２】
地形分析やストリートビューイングなど様々な用途のために、カメラの撮影画像を解析して、地形の３次元位置情報（３次元形状データ）を取得する需要がある。特許文献１では、ステレオマッチング法を用いて、地形を複数の方向から撮影した航空写真から３次元形状データの取得を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開ＷＯ０８／１５２７４０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１のようなステレオマッチング法では、画像間の画素毎のマッチングを利用しているため、被写体面上の模様によっては、精度よく３次元形状データを取得することができない場合がある。例えば、競技フィールドに描かれたラインのように色がほぼ同じでかつ、ある方向に延伸するような模様が描かれた被写体面については、上記マッチングの精度が上がらず、被写体面の３次元形状データを精度よく取得することはできない。
【０００５】
本発明では、被写体面上の模様によらず、高精度の３次元形状データを取得することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の生成装置は、被写体面を複数の方向から撮影して取得される複数の撮影画像を取得する第１取得手段と、前記被写体面における模様の位置及び形状を示す情報を取得する第２取得手段と、前記第１取得手段により取得された前記複数の撮影画像と、前記第２取得手段により取得された前記模様の位置及び形状を示す情報とに基づき、前記被写体面における複数の領域毎に３次元位置情報を決定する決定手段と、前記決定手段により決定された前記領域毎の３次元位置情報に基づき、前記被写体面に対応する３次元形状データを生成する生成手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、被写体面上の模様によらず、高精度の３次元形状データを取得することができる。
【図面の簡単な説明】
【０００８】
【図１】被写体面の３次元形状データを生成する生成装置の構成の一例を示す図。
【図２】カメラ群を構成する各カメラの一例を示した図。
【図３】実施形態１の概念を説明するための図。
【図４】フィールドに描かれるラインの形状の模式図。
【図５】実施形態１に係る生成装置の論理構成の一例を示すブロック図。
【図６】実施形態１に係る生成装置の処理の流れを示すフローチャート。
【図７】投影面の高さの違いによる投影画像上のラインの見え方の違いを表す模式図。
【図８】カメラ信頼度を説明するための図。
【図９】投影面の高さ毎に、投影画像を合成した合成画像を表す模式図。
【図１０】実施形態２に係る生成装置の論理構成の一例を示すブロック図。
【図１１】実施形態２に係る生成装置の処理の流れを示すフローチャート。
【図１２】実施形態３に係る画像処理システムの構成例を示す図。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１０】
また、以下の実施形態では、スタジアムのフィールド（グラウンド）の３次元形状データの生成を例に説明を行うが、本発明の適用はこれに限られない。本発明は、一般的な地形、道路の形状、壁面の形状、絵画の形状、壁画の形状についての３次元情報の取得にも応用することができる。
【００１１】
本実施形態において、３次元形状データは、ほぼ平面である被写体面の３次元形状を表すデータであり、例えば、撮像対象となる撮像空間を一意に示す世界座標空間における３次元空間のｘ、ｙ、ｚの位置情報を持った点群で表現されるものである。また、３次元形状データは、点群で表現されるものに限定されず、他のデータ形式で表現されてもよく、例えば、三角形や四角形などの単純な凸多角形（ポリゴンと呼ばれる）の面で構成されるポリゴンメッシュデータやボクセルなどで表現されてもよい。
【００１２】
また、本実施形態における画像は、画像データであって、必ずしもディスプレイ等の表示デバイスで表示させるために生成される、視認可能な画像でなくてもよい。
【００１３】
［実施形態１］
図１は本実施形態における、３次元形状データを生成する生成装置１００の構成の一例を示す図である。生成装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、メインメモリ１０２、記憶部１０３、入力部１０４、表示部１０５、外部Ｉ／Ｆ部１０６を備え、各部がバス１０７を介して接続されている。まず、ＣＰＵ１０１は、生成装置１００を統括的に制御する演算処理装置であり、記憶部１０３等に格納された各種プログラムを実行して様々な処理を行う。メインメモリ１０２は、各種処理で用いるデータやパラメータなどを一時的に格納するほか、ＣＰＵ１０１に作業領域を提供する。記憶部１０３は、各種プログラムやＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）表示に必要な各種データを記憶する大容量記憶装置で、例えばハードディスクやシリコンディスク等の不揮発性メモリが用いられる。
【００１４】
入力部１０４は、キーボードやマウス、電子ペン、タッチパネル等の装置であり、ユーザからの操作入力を受け付ける。表示部１０５は、液晶パネルなどで構成され、分析結果のＧＵＩ表示などを行う。外部Ｉ／Ｆ部１０６は、カメラ群１０９を構成する各カメラとＬＡＮ１０８を介して接続され、映像データや制御信号データの送受信を行う。バス１０７は上述の各部を接続し、データ転送を行う。
【００１５】
生成装置１００は、ＬＡＮ１０８経由でカメラ群１０９と接続されている。カメラ群１０９は、生成装置１００からの制御信号をもとに、撮影の開始や停止、カメラ設定（シャッタースピード、絞りなど）の変更、撮影した映像データの転送を行う。
【００１６】
なお、生成装置１００の構成については、上記以外にも、様々な構成要素が存在するが、本実施形態の主眼ではないので、その説明は省略する。
【００１７】
図２は、カメラ群１０９を構成する各カメラの配置例を示した図である。ここではスタジアムに１０台のカメラを設置した例を示すが、カメラの台数や設置位置はこれに限られない。競技を行うフィールド２０１上に選手２０２やボールが存在し、１０台のカメラ２０３ａ〜２０３ｊがフィールド２０１の周りに配置されている。カメラ群１０９を構成する個々のカメラ２０３ａ〜２０３ｊにおいて、フィールド２０１全体、或いはフィールド２０１の注目領域が画角内に収まるように、適切なカメラの向き、焦点距離、露出制御パラメータ等が設定されている。
【００１８】
図３は本実施形態の概要を示す図である。本実施形態では、まずＳＴＥＰ．１のように、フィールド２０１に描かれるラインの２次元的な位置や形状を基に、フィールドを複数の領域に分割する。図４には、フィールドに描かれたラインの形状を表す。このラインは、ある方向に延伸し、その方向に垂直な方向に有限の幅を持つパターンのことを指す。ラインの長さや幅は、競技の規格でその大きさが決められている。本実施形態では、ラインのような特定パターン（模様）を基に、領域毎にフィールドの高さを取得するため、このラインを含むように、フィールド２０１を仮想的に複数の分割領域に分割する。この分割は、カメラで撮影して得られた撮影画像において分割されてもよい。図３（ａ）においては、６つの分割領域（Ｓ１〜Ｓ６）に分割される例を示す。なお、分割領域は、撮像画像に対して仮想的に設定されてもよいし、後述する投影画像に対して仮想的に設定されてもよい。
【００１９】
この特定パターンであるラインに関する情報（例えば、フィールド上の位置や、延伸方向の長さや延伸方向に垂直な方向の幅などの形状を示す情報）に関しては、事前に入力部１０４を介して生成装置１００に入力される。ただし、撮影画像や、この後のＳＴＥＰ．２で出力する投影画像から生成装置１００が決定するようにしてもよい。本実施形態では、ラインに関する情報を事前に入力されて生成装置１００が取得する場合について述べる。
【００２０】
次にＳＴＥＰ．２のように、被写体面であるフィールドからの距離（高さ）が異なる投影面での投影画像を、カメラの撮影画像に基づき生成する。図３（ｂ）では、分割領域Ｓ１については、カメラ１〜１０のすべてのカメラで撮影している例を示す。この場合、領域Ｓ１については、カメラ１により取得された撮影画像をフィールドからの高さが異なる複数の投影面へ投影し、複数の投影画像を生成する。例えば、高さを５ｃｍ刻みで、フィールドの中央点の高さを０ｃｍとして、−１５ｃｍから＋１５ｃｍまでの投影面に投影して投影画像を生成する場合、カメラ１により取得された撮影画像からは、７枚の投影画像が生成される。この投影画像を、分割領域Ｓ１を撮影しているカメラ１〜１０の１０台から生成すると、分割領域Ｓ１で、被写体面の距離毎に、計７０（＝７×１０）枚の投影画像が生成される。また、他の分割領域においても同様に、複数の投影画像が生成される。ただし、例えば、ある分割領域においては、カメラ３によって撮影されていなかった場合は、そのカメラ３以外のカメラの撮影画像から、投影画像を生成するようにする。
【００２１】
また、この投影面の高さは、フィールド上における任意の点を基準としてもよい。例えば、フィールドの中央点を基準点として、このフィールドの基準点を含む平行な平面に平行な面を投影面として設定してもよい。具体的には、その基準点を３次元座標で（０，０，０）として、基準点近傍の被写体面上の領域をｘｙ平面である基準平面として、その基準平面からのｚ方向の距離を変えて投影面を設定してもよい。
【００２２】
ＳＴＥＰ．２によって、フィールドからの高さを変えることにより、図３（ｂ）のカメラ１の複数の投影画像のように、投影画像内のラインの位置が変わる。これは、カメラ１がラインの延伸方向に垂直な方向から分割領域Ｓ１を撮影しているからである。そして、撮影画像をフィールドからの高さが異なる投影画像において、撮影画像の画素位置と投影面上の位置との対応関係から、投影面の高さが変わると、延伸方向と垂直な方向に対してそれぞれの投影画像内におけるラインの位置が変わる。
【００２３】
一方、図３（ｂ）のカメラ１０の複数の投影画像では、投影画像内のラインの位置は変わらないように見える。これは、カメラ１０がラインの延伸方向に平行な方向から分割領域Ｓ１を撮影しているからである。この場合は、撮影画像の画素位置と投影面上の位置との対応関係により、投影画像内のラインの位置は、投影面が変わると、延伸方向と平行な方向に変わるため、ラインの位置が変わらないように見える。
【００２４】
なお、ＳＴＥＰ．１とＳＴＥＰ．２の順番は入れ替えてもよい。具体的には、フィールドからの高さ毎に、カメラ２０３ａ〜２０３ｊの投影画像を生成し、その高さ毎の投影画像を領域毎に分割するようにしてもよい。
【００２５】
次に、本実施形態については、ＳＴＥＰ．３のように投影画像を、設定領域毎に、及びフィールドからの高さ毎に合成し、合成画像を生成する。図３（ｂ）、（ｃ）に示すように、領域Ｓ１において、例えば高さ＋１５ｃｍにおいて、カメラ１〜１０のそれぞれの撮影画像から生成された投影画像３０１Ａａ〜３０１Ａｊの１０枚の画像が合成されて、合成画像３０２Ａが生成される。他の合成画像（例えば合成画像３０２Ｄ、３０２Ｇ）も同様に生成される。ここで、３０１Ａａの“Ａ”は、高さを表し、同じ“Ａ”であれば、フィールドからの高さが同じであることを表している。また、“ａ”は、カメラ番号を指し、同じ“ａ”であれば同じカメラで取得された撮像画像に基づく投影画像であることを意味する。
【００２６】
次に、ＳＴＥＰ．４のように、分割領域Ｓ１のフィールドからの高さ毎の合成画像３０２Ａ〜３０２Ｇの中から、ラインが最も鮮鋭となる合成画像を決定する。そして、決定された合成画像に対応するフィールドからの高さを、分割領域Ｓ１におけるフィールドからの高さと決定する。このＳＴＥＰ．４の処理を設定領域毎に行うことで、各分割領域におけるフィールドからの高さが決定される。なお、画像の鮮鋭度ではなく、他の評価値に基づき、各分割領域におけるフィールドからの高さを決定するようにしてもよい。
【００２７】
最後にＳＴＥＰ．５のように、決定された各分割領域におけるフィールドからの高さを基に、フィールドの３次元形状データを生成する。以下で、生成装置１００が行う処理について詳細に説明する。
【００２８】
図５は、生成装置１００の機能構成を示すブロック図である。本実施形態では、生成装置１００によりスタジアムのフィールドの３次元形状データを生成する。生成装置１００は、画像取得部５０１、カメラパラメータ取得部５０２、投影部５０３、領域設定部５０４、信頼度算出部５０５、合成部５０６、距離決定部５０７、生成部５０８、及び特定パターン取得部５０９を有する。
【００２９】
画像取得部５０１は、カメラ群１０９で撮影された複数の撮影画像を取得する。カメラ群１０９は、図２で示すカメラ２０３ａ〜２０３ｊの１０台のカメラで構成される。そして、画像取得部５０１は、カメラ２０３ａ〜２０３ｊそれぞれから撮影画像を取得する。画像取得部５０１は、カメラパラメータ取得部５０２及び投影部５０３に、撮影画像を出力する。
【００３０】
カメラパラメータ取得部５０２は、画像取得部５０１から出力された撮影画像からカメラキャリブレーションを行い、カメラの外部パラメータ、内部パラメータ、歪曲パラメータを含むカメラパラメータを取得する。外部パラメータは、カメラの位置姿勢を表すパラメータであり、回転行列及び位置ベクトル等である。内部パラメータは、カメラ固有のパラメータであり、焦点距離、及び画像中心等である。カメラパラメータ取得部５０２は、投影部５０３及び信頼度算出部５０５に、カメラパラメータを出力する。
【００３１】
投影部５０３は、画像取得部５０１から出力された複数の撮影画像と、カメラパラメータ取得部５０２から出力されたカメラパラメータと、後述する領域設定部５０４から出力される設定領域を示す情報を基に、投影画像を生成する。投影画像は、撮影画像それぞれを被写体面からの距離が異なる投影面に投影し、設定領域毎及び被写体面からの距離毎に投影画像を生成する。投影部５０３は、合成部５０６に、設定領域毎及び被写体面からの距離毎の投影画像を出力する。
【００３２】
特定パターン取得部５０９は、外部から特定パターンに関する情報を取得する。特定パターンに関する情報は、特定パターンの被写体面上の位置情報、特定パターンの形状を示す情報、被写体面の他の領域と特定パターンとの色差を示す情報などを含む。特定パターンがフィールドに描かれたラインの場合、ラインの延伸方向やその長さ、ラインの延伸方向に垂直な方向の幅がラインの形状を示す情報である。特定パターン取得部５０９は、特定パターンに関する情報を領域設定部５０４及び距離決定部５０７に出力する。
【００３３】
領域設定部５０４は、特定パターン取得部５０９から出力された特定パターンに関する情報を基に、被写体面の３次元位置情報を決定するための被写体面上に仮想的に複数の領域を設定する。具体的には、領域設定部５０４は、特定パターンの少なくとも一部が、複数の設定領域それぞれに含まれるように仮想的に領域を設定する。なお、設定される領域は、ここでは投影画像上で設定する例を示すが、撮像画像で領域を設定してもよい。領域設定部５０４は、投影部５０３及び信頼度算出部５０５に、被写体面の基準点の距離を決定するための複数の設定領域を示す情報を出力する。
【００３４】
信頼度算出部５０５は、領域設定部５０４が設定した領域毎、及びカメラ毎（投影画像毎）のカメラ信頼度を算出する。カメラ信頼度は、カメラパラメータ取得部５０２から出力されたカメラパラメータと、領域設定部５０４から出力された複数の設定領域を示す情報と、特定パターン取得部５０９から出力された特定パターンの位置及び形状を示す情報に基づき算出される。カメラ信頼度は、後述する合成部５０６が投影画像を合成する際に利用される。信頼度算出部５０５は、合成部５０６に、カメラ信頼度を出力する。
【００３５】
合成部５０６は、信頼度算出部５０５から出力されたカメラ信頼度を基に、被写体面からの距離が同じ投影面における、設定領域毎の投影画像を合成し、合成画像を生成する。このカメラ信頼度は、重み付き平均化処理により合成を行う際に、各投影画像の重みとして利用される。ここでいう重み付き平均化処理とは、複数の投影画像それぞれの対応する画素の画素値どうしを重み付きで平均化して画素値を算出することをいう。合成部５０６は、設定領域毎及び被写体面からの距離毎の合成画像を、距離決定部５０７に出力する。
【００３６】
距離決定部５０７は、合成部５０６から出力された、設定領域毎及び被写体面からの距離毎の合成画像と、特定パターン取得部５０９から出力された特定パターンの位置及び形状を示す情報とに基づいて、被写体面からの距離を決定する。具体的には、距離決定部５０７は、設定領域毎及び被写体面からの距離毎の合成画像において、特定パターンの評価値を計算し、その評価値を基に被写体面からの距離を決定する。例えば、距離決定部５０７は、評価値として鮮鋭度を用いることができる。この場合、ある設定領域の、被写体面からの距離毎の合成画像において、特定パターンの鮮鋭度が最も高い合成画像に対応する被写体面からの距離を、その設定領域における被写体面からの距離と決定する。距離決定部５０７は、生成部５０８に、設定領域毎に決定された被写体面の基準点からの距離を出力する。この距離決定部５０７により、設定領域の３次元位置情報が決定される。つまり、設定領域のｘｙ座標は領域設定部５０４に基づく座標であり、距離決定部５０７が決定した被写体面の基準点からの距離は、ｚ座標に対応する。
【００３７】
生成部５０８は、距離決定部５０７から出力された設定領域毎に決定された被写体面の基準点からの距離、つまり、設定領域毎に決定された３次元位置情報を基に、被写体面の３次元形状データを生成する。生成部５０８は、被写体面の３次元形状データを出力する。
【００３８】
次に、生成装置１００で行われる処理について、図６に示すフローチャートを参照して、詳細に説明する。この一連の処理は、ＣＰＵ１０１が、所定のプログラムを記憶部１０３から読み込んでメインメモリ１０２に展開し、これをＣＰＵ１０１が実行することで実現される。
【００３９】
Ｓ６０１において、キャリブレーション処理により、カメラパラメータを取得する。まず、画像取得部５０１がＬＡＮ１０８経由でカメラ群１０９に撮影指示を送る。撮影された画像は、画像取得部５０１で取得される。カメラ群１０９は、図２で示すように、撮影方向が異なる複数のカメラ２０３ａ〜２０３ｊで構成されている。カメラパラメータ取得部５０２が、画像取得部５０１が取得した画像からカメラ群１０９の各カメラのパラメータを算出する。カメラパラメータは、カメラの撮影位置が異なる複数の画像を入力とした、カメラキャリブレーション処理によって算出する。以下、簡単なカメラキャリブレーションの手順の例を示す。
【００４０】
第一に、スクエアグリッド等の平面パターンを多視点から撮影する。第二に、撮影画像の特徴点を検出し、画像座標系において特徴点の座標を求める。ここで、スクエアグリッドの特徴点とは、直線の交点のことである。第三に、算出した特徴点座標を用いてカメラの内部パラメータの初期値を算出する。ここでカメラの内部パラメータとは焦点距離や、主点と呼ばれる光学的中心を表すパラメータである。また、カメラの内部パラメータの初期値は必ずしも、画像中の特徴点から算出する必要はなく、カメラの設計値を用いてもよい。第四に、バンドル調整と呼ばれる非線形最適化処理によって、カメラの内部パラメータ、外部パラメータ、歪曲収差係数を算出する。ここでカメラの外部パラメータとは、カメラの位置、視線方向、視線方向を軸とする回転角を表すパラメータのことである。また、歪曲収差係数とは、レンズの屈折率の違いによって生じる半径方向の画像の歪みや、レンズとイメージプレーンが平行にならないことによって生じる円周方向の歪みを表す係数のことである。カメラキャリブレーションの手法は他にも多く存在するが、本実施形態の主眼でないため詳細は省略する。
【００４１】
Ｓ６０２において、画像取得部５０１がカメラ群１０９に対してフィールドを撮影するように撮影指示を送る。カメラ群１０９を構成する撮影方向が異なる複数のカメラ２０３ａ〜２０３ｊが被写体面を撮影して取得した撮影画像を画像取得部５０１が受け取る。
【００４２】
Ｓ６０３において、特定パターン取得部５０９は、特定パターンに関する情報を取得する。具体的には、特定パターン取得部５０９は、特定パターンであるラインの形状やそのラインの被写体面上の位置を含む情報を、Ｓ６０２で取得した撮影画像に基づき、抽出する。
【００４３】
Ｓ６０４において、Ｓ６０３で取得された特定パターンに関する情報に基づいて、領域設定部５０４が被写体面について、距離を決定するための複数の所定の領域を設定する。具体的には、領域設定部５０４は、各設定領域に特定パターンの少なくとも一部が含まれるように領域を設定する。また、領域設定部５０４は、特定パターンである１つのラインを均等に分割するように領域を分割してもよい。分割する場合は、投影面の高さが変化した際に、ラインが一つの領域に含まれるように領域幅を決定するようにするのが好ましい。複数の設定領域により被写体面がすべて覆われるように設定領域が設定されればよい。つまり、より密に高さを算出するために、設定領域が重なるように設定してもよい。また、設定領域は、被写体面を重複なく分割するように設定されてもよい。設定された領域は、互いに同じ大きさや同じ形状でなくてもよく、特定パターンであるラインを含むのであれば領域の大きさや形状が異なっていてもよい。
【００４４】
Ｓ６０５において、投影部５０３が、Ｓ６０１で取得したカメラパラメータを基に、Ｓ６０４で設定された複数の設定領域毎に、複数の撮影画像を用いて、被写体面からの距離が異なる複数の投影面に投影した投影画像を生成する。なお、投影部５０３は、撮像画像を異なる投影面に投影して投影画像を生成した後、その投影画像に対して設定領域に対応する投影画像を抽出してもよい。また、投影部５０３は、撮像画像から設定領域毎で画像を抽出した後、その画像を投影面に投影して設定領域に対応する投影画像を生成するようにしてもよい。
【００４５】
また、カメラキャリブレーションを行う際、図２のフィールド２０１を高さがおおよそ０ｍとなる平面の基準とし、フィールドの直軸方向をｘ軸、短軸方向をｙ軸、フィールドの鉛直方向をｚ軸と設定し、原点をフィールド中心に設定する。投影面は、被写体面であるフィールドに水平な面である。投影面に投影する水平方向の範囲に関して、フィールド全体を網羅できるように、ラインの位置や形状を示す情報を用いて決定する。例えば、図４のラインの形状に基づくと、縦８０ｍ、横１２０ｍの範囲に対して投影を行う。もちろん、実際のフィールドとラインの形状との誤差を考慮して、数％の余剰を持たして投影を行ってもよい。
【００４６】
フィールド全体の高さを算出できるように、高さの異なる複数の投影面に対して行うが、投影する高さの範囲に関して、競技場のフィールド勾配に関する規格に合わせて決定する。例えば、フィールド規格として、フィールド中心に対して、フィールドの端までの勾配が０．３％までなどの規格があるとする。この場合、フィールドの原点からフィールド端までの距離が４０ｍであれば、許容される高さの変動は、１２ｃｍまでとなる。そのため、投影する高さの範囲は、これを網羅するように、−１５ｃｍ〜＋１５ｃｍなどに設定する。この範囲の中で、高さの刻みは任意に設定することが可能である。この刻みの数、つまり投影面の数を多くすれば、精度の高い３次元形状データが得られる。
【００４７】
投影画像を生成する際に、まずカメラの内部パラメータと歪みパラメータに合わせて各カメラの撮影画像の歪み補正を行う。画像の歪み補正に用いるパラメータはＳ６０１で算出した内部パラメータ、及び歪曲パラメータである。
【００４８】
次に、投影画像の座標と撮像画像の座標との変換行列を算出する。投影面が存在するワールド座標系からカメラ座標系への変換行列をＶと定義する。ここでカメラ座標系とは、座標系の原点を始点とし、ｘ軸、ｙ軸をそれぞれ画像の水平方向、垂直方向とし、ｚ軸をカメラの視線方向になるように設定する。さらに、カメラ座標系からスクリーン座標系への変換行列をＰと定義する。これはカメラ座標系に対して存在する３次元座標を有する被写体面を２次元平面上に対して射影する変換行列である。すなわち投影画像上の点Ｘの同次座標（ｘ、ｙ、ｚ、ｗ）の撮影画像上の点Ｕの同次座標（ｘ’、ｙ’、ｚ’、ｗ’）に射影する式（１）は、以下のとおりである。
【００４９】
【数１】
2020004053.tif 000003
【００５０】
ここで、並進変換を加えるため、座標ｗ及びｗ’を追加し、４次元座標とした。この式（１）を用いて、各カメラの撮像画像をそれぞれ、異なる高さｚの投影面に対して、投影して、投影画像を生成する。具体的には、撮像画像の各座標の画素値を、撮像画像の座標それぞれに対応する投影画像の座標の画素値とすることで投影画像が生成される。
【００５１】
Ｓ６０６において、信頼度算出部５０５は、Ｓ６０４で設定された設定領域毎に、Ｓ６０１で取得されたカメラパラメータと、Ｓ６０３で取得された特定パターンから、カメラ信頼度を算出する。ここでカメラ信頼度とは、設定領域毎に被写体面の距離を決定する際に、各カメラから取得された撮影画像が、どの程度距離の決定に有用かを示す指標となる。簡単な例を図７に示す。
【００５２】
図７は、カメラ４台（７０１〜７０４）でフィールドを撮影している模式図である。ここでは、フィールド中央に設定された矩形領域７０５の高さを求めるものとする。矩形領域７０５の高さが変化したとき、ラインの延伸方向に対して垂直な視線ベクトル（光軸）を持つカメラ７０１、７０３の撮影画像から投影画像を生成した場合、各投影画像におけるラインの位置が大きく変化する。一方、ラインの延伸方向に対して平行な視線ベクトル（光軸）を持つカメラ７０２、７０４の撮影画像から投影面の高さを変えて投影画像を生成した場合、各投影画像におけるラインの位置はほとんど変化しない。
【００５３】
本実施形態では、後述するように、設定領域毎に及びフィールド面からの高さ毎に、各カメラの投影画像を合成して合成画像を生成する。その合成画像において、ラインのずれやボケ度合いといった評価値を算出するため、合成画像にそのような特徴が表れやすい画像を選択的に用いる、もしくは重みづけをしてから合成するなどの処理を行うことが望ましい。その画像の選択や合成の際の重みの算出のために、カメラ信頼度を定義する。
【００５４】
従って、図８に示すように、ライン８０１に対してカメラ８０２が設置されているとき、ラインの中心に対するカメラの位置を水平角φ、仰角θで定義すると、例えばカメラ信頼度ωは、式（２）で表される。
【００５５】
【数２】
2020004053.tif 000004
【００５６】
これは、カメラの視線ベクトルがラインの向きに対して垂直に近く、かつ仰角θが小さいカメラの方が、カメラ信頼度が高くなることを表す。つまり、矩形領域７０５の高さを決定する際には、図７で示す、カメラ７０１、７０３のカメラ信頼度が高くなる。式（２）から明らかなように、設定領域毎に、各カメラのカメラ信頼度は変わるため、設定領域毎、及びカメラ毎にカメラ信頼度を算出する。また、カメラ信頼度は、被写体面からの距離、つまり被写体面の３次元位置情報を決定するために各カメラと対応する撮影画像又は投影画像がどれくらい有用か否かを示す信頼度であると言える。また、カメラ信頼度は、設定領域毎に被写体面の基準点からの距離、つまり被写体面の３次元位置情報を決定するための指標であり、設定領域毎の、各撮影画像又は各投影画像の距離決定時の有用性の度合いを示す指標である。
【００５７】
式（２）からわかるように、特定パターンがラインのようなものであれば、ラインの延伸方向と、カメラの光軸をラインの延伸方向の面内に射影したときの直線方向とのなす角度（９０°−φ）が大きいカメラほど、カメラ信頼度が大きくなる。また、仰角θが小さいカメラほどカメラ信頼度が大きくなる。
【００５８】
カメラ信頼度の決定方法は、上記の方法に限られない。カメラからラインまでの物理的な距離ｄ、焦点距離ｆ、画素数ｐなどによって、ラインを明瞭にカメラで撮影できているかどうかに違いが出るため、それらのパラメータに応じてカメラの信頼度を大きくしてもよい。また、明瞭にラインを撮影できているカメラかつ、水平角、仰角が小さいカメラの信頼度を大きくするなどを組み合わせてカメラ信頼度ωを算出してもよい。この組み合わせによるカメラ信頼度ωは、式（３）のとおりである。ここでα、βは重みパラメータである。
【００５９】
【数３】
2020004053.tif 000005
【００６０】
また、カメラ信頼度が所定の閾値より低いカメラ信頼度を０とするなどの、閾値処理を行ってもよい。
【００６１】
Ｓ６０７において、合成部５０６が、Ｓ６０６で取得したカメラ信頼度を基に、Ｓ６０５で取得した複数の投影画像を、設定領域毎に、同じ投影面の複数の投影画像を合成する。具体的にはまず、各カメラで撮影できている領域は異なるため、設定領域を各カメラが撮影できているかどうかを判定する。具体的には、設定領域毎の投影画像において、各領域の全ての画素に撮影画像を投影した画素値が存在すれば、その設定領域を該当のカメラで撮影できているとする。この判定は、Ｓ６０４において、領域設定部５０４が行うようにしてもよいし、Ｓ６０５で投影部５０３が行うようにしてもよい。
【００６２】
次に、設定領域毎に、撮影できている複数のカメラのそれぞれの投影画像を用いて、投影面毎に投影画像を合成する。具体的には、Ｓ６０６で算出した、設定領域毎のカメラ信頼度ωに基づいた重み付きの平均化処理を行い、合成画像を生成する。すなわち、投影画像をｒｇｂ画像として、投影面の高さｈにおける各設定領域Ｂｊの合成画像は式（４）で表される。なお、カメラ番号をｋとする。
【００６３】
【数４】
2020004053.tif 000006
【００６４】
Ｓ６０６の処理で述べたように、必ずしもカメラ信頼度を全て用いて重み付き平均画像を生成しなくてもよい。例えば、カメラ信頼度が所定の閾値以下のカメラに対応する投影画像を用いない、もしくは所定の閾値以上のカメラに対応する投影画像だけを用いて平均化処理を行い、合成画像を生成するようにしてもよい。また、カメラ信頼度を用いて平均化処理を行って合成画像を生成しなくても、投影画像の対応する画素どうしの画素値の単純な平均化値や中間値を用いて、合成画像を生成してもよい。
【００６５】
Ｓ６０７において、距離決定部５０７は、Ｓ６０７にて合成された、設定領域毎及び投影面毎の合成画像に基づいて、設定領域毎の被写体面の基準点からの距離、つまり、設定領域毎の３次元位置情報を決定する。被写体面の基準点からの距離を決定する際は、合成画像の設定領域毎の特定パターンの評価値を評価する。評価値とは、具体的には、以下では鮮鋭度を用いて説明するが、これに限られない。
【００６６】
ある設定領域における、被写体面の基準点からの距離（高さ）毎の合成画像の例を図９に示す。具体的には、図９では、被写体面に対して−１５ｃｍ〜＋１５ｃｍまで、０．５ｃｍ刻みで高さを変えて投影面を設定し、それぞれの高さで合成画像が生成された例を示している。図９に示すように、この合成画像のうち、適切な高さ（０ｃｍ）における合成画像では、ラインが鮮明に見える。これは、合成に使用された複数の投影画像それぞれに含まれるラインの位置がほぼ同じ位置で重なるからである。位置が重なるということは、実際のラインの高さがその投影面にあることを意味する。一方、それ以外の高さにおける合成画像では、合成に使用された複数の投影画像それぞれに含まれるラインの位置はずれるため、ラインがぼやけてしまっている。
【００６７】
このため、ラインの鮮鋭度を評価することで、ラインの実際の高さを決定することができる。画像の鮮鋭度を評価するため、例えばラプラシアンフィルタＬ等のフィルタを使用する。高さｈにおける、ある設定領域Ｂｊの合成画像の鮮鋭度Ｓｊ，ｈは式（５）で表される。
【００６８】
【数５】
2020004053.tif 000007
【００６９】
なお、画像の鮮鋭度を評価するフィルタは、ラプラシアンフィルタに限定されず、一次微分フィルタ、Ｐｒｅｗｉｔｔフィルタ、Ｓｏｂｅｌフィルタ等を用いてもよい。また、平滑化フィルタをかけた合成画像とフィルタをかけない元の合成画像との差分を算出して、差分が大きくなるような高さの合成画像を、設定領域の適切な高さとして決定するようにしもよい。
【００７０】
鮮鋭度を評価した後、高さを決定する方法もいくつか存在する。例えば、鮮鋭度が最大となるような高さＨｊを、設定領域Ｂｊの適切な高さとして決定する（式（６）参照）。
【００７１】
【数６】
2020004053.tif 000008
【００７２】
適切な高さが正しく算出できているかどうかの指標として、例えば、高さを変化させた時に鮮鋭度が滑らかに変化しているかどうかを判定するようにしてもよい。具体的には、鮮鋭度が最大となる高さの周辺で、鮮鋭度が滑らかに変化しているか否かについて式（７）を用いて判定する。ここで投影画像を生成している高さ幅（刻み）をａとする。式（７）を満たしていれば。その高さを設定領域Ｂｊの適切な高さであると判断し、満たしていなければ、その次に鮮鋭度が大きい合成画像に対応する高さについて同様の判定を行う。
【００７３】
【数７】
2020004053.tif 000009
【００７４】
また、最大の鮮鋭度に近い鮮鋭度が複数算出されたときに、それらの鮮鋭度に対応する投影面の高さを平均して、設定領域の適切な高さとして算出してもよい。
【００７５】
さらに、隣接する設定領域との高さの連続性を拘束条件としてもよい。被写体面の高さは滑らかに変化するため、隣接する設定領域との高さの差は小さくなるはずである。この拘束条件と上記の鮮鋭度を組み合わせて、領域Ｂｊにおける高さｈｊの尤度Ｍｊ，ｈは、式（８）で算出できる。ここで、α、βは重みパラメータである。そして、この尤度が最も大きくなる高さを設定領域の最適な高さと決定するようにしてもよい。
【００７６】
【数８】
2020004053.tif 000010
【００７７】
式（８）の右辺第１項は、被写体面からの距離の連続性を示す、隣り合う２つの設定領域の被写体面からの距離の変化を示す指標である。
【００７８】
このようにして、合成画像を用いて、各設定領域における適切な高さが決定される。また、距離決定部５０７は、領域設定部５０４で設定された、設定領域が互いに重複する部分を含む設定領域においては、まず、それぞれの設定領域の頂点の被写体面の基準点からの距離を、上記の方法で決定する。そして、距離決定部５０７は、それぞれの設定領域の頂点の被写体面の基準点からの距離の中間値や平均値を、重複部分の頂点における被写体面の基準点からの距離と決定するようにしてもよい。
【００７９】
Ｓ６０９において、生成部５０８が、Ｓ６０８で決定された各設定領域の高さに合わせて、被写体面の３次元形状データを生成する。具体的には、設定領域の幾何学的中心位置に頂点が存在するとして、その頂点座標をＳ６０８で決定された高さに合わせて変更する。この場合、信頼度の低いカメラしか高さ算出に用いられていない領域については、３次元形状データを生成する際の頂点として用いないなどの処理を行ってもよい。また、ライン上以外の領域については、ライン部分の頂点座標を用いて頂点座標を生成できる。例えば、ライン上ではない領域の頂点ｖの高さｖｚは、その頂点の近傍領域Ωに存在する頂点ｖ’との距離に関する重み付き平均で算出することができる（式（９）、式（１０）、式（１１）参照）。
【００８０】
【数９】
2020004053.tif 000011
【００８１】
３次元形状データの表現方法は、算出した頂点だけを用いて、点群として形状を表現してもよい。この場合、撮像空間を一意に示す世界座標空間における３次元空間のｘ、ｙ、ｚの位置情報を持った点群で表現される。また、３次元形状データは、設定領域の幾何学的な中心位置を結ぶ面を生成して、複数の面の集合としてポリゴンメッシュデータとして表現されてもよい。また、３次元形状データは、ボクセルで表現されてもよい。
【００８２】
以上のように、本実施形態では、領域設定部５０４において、特定パターン（模様）の少なくとも一部を含むように、３次元位置情報を決定する領域を設定し、特定パターン（模様）を利用して被写体面の３次元位置情報を決定している。そのため、精度よく３次元形状データを生成することができる。
【００８３】
本実施形態における模様は、フィールドに描かれたラインを例に説明したが、これに限られない。例えば模様は、図形、標識、絵画などを含んでもよい。また、模様は、人工的な作られた模様でもいいし、自然にできた模様でもよい。また、模様は、被写体面において、模様とは異なる他の領域の色とは、異なる色であることが望ましい。
【００８４】
［実施形態２］
実施形態１では投影画像を合成した後に、設定領域毎の高さを決定した。本実施形態では、投影画像を合成せずに、設定領域毎の高さを決定する形態について説明する。図１０は、本実施形態に係る生成装置１０００の機能構成を示すブロック図である。また、図１１は、生成装置１０００で行われる処理のフローチャートである。図１０、１１において、実施形態１と同じ構成については、同じ符号を付す。
【００８５】
生成装置１０００は、画像取得部５０１、カメラパラメータ取得部５０２、投影部５０３、領域設定部５０４、信頼度算出部１００１、合成部５０６、距離決定部１００２、生成部５０８、及び特定パターン取得部５０９を有する。実施形態１の信頼度算出部５０５は、合成部５０６にカメラ信頼度を出力していたが、本実施形態の信頼度算出部１００１は、距離決定部１００２にカメラ信頼度を出力する点のみが異なる。
【００８６】
図１１において、カメラ信頼度を算出するまでの処理（Ｓ６０１〜Ｓ６０６）及び、３次元形状データを生成する処理（Ｓ６０９）は、実施形態１と同様であるため、説明を省略する。以下ではＳ１１０１の処理について具体的に説明する。
【００８７】
Ｓ１１０１において、距離決定部１００２は、Ｓ６０５で算出されたカメラ信頼度と、Ｓ６０５で取得された設定領域毎及び被写体面からの距離毎の投影画像から、適切な距離を決定する。まずは実施形態１で述べたように、各カメラで撮影できている領域は異なるため、設定領域を各カメラが撮影できているかどうかを判定する。
【００８８】
次に、設定領域に存在するラインを検出する。ラインは、芝生や地面の上に、所定の規格で明瞭に描かれているため、色検出や輝度が大きい領域を抽出する処理によって容易に抽出可能である。投影面の高さを変更した場合、カメラ信頼度が高いカメラに対応する投影画像間では、ラインの位置が大きく変化する。しかし、適切な投影面の高さに投影した場合、どのカメラに対応する投影画像であってもラインの位置もほぼ一致する。すなわち高さｈについて、カメラｉの投影画像の任意の領域Ｂｉ，ｊ，ｈのラインの存在領域Ｗｉ，ｊの積集合が最大になるような投影面の高さＨを、設定領域の最適な高さと決定することができる（式（１２）参照）。なお、設定領域の適切な高さを決定する方法は、この方法に限られない。例えば、ラインの存在領域の和集合が最小となるような高さを算出してもよい（式（１３）参照）。なお、ラインの存在領域とは、投影画像内のラインが描画される領域のことである。
【００８９】
【数１０】
2020004053.tif 000012
【００９０】
また隣接する設定領域の連続性を拘束条件とする場合、カメラ信頼度が高い投影画像のラインの存在領域の連続性を考慮すればよい。例えば、領域の一部重複するように領域分割されている場合、隣接するラインの存在領域の積集合が最大となる高さを採用するような拘束条件を加えればよい。
【００９１】
［実施形態３］
以下では、本実施形態の仮想視点画像を生成する画像処理システムについて説明する。上述した実施形態で生成されたフィールドの３次元形状データは、仮想視点画像を生成する際に利用される。
【００９２】
競技場（スタジアム）やコンサートホールなどの施設に複数のカメラ及びマイクを設置し撮影及び集音を行うシステムについて、図１２のシステム構成図を用いて説明する。画像処理システム１２００は、センサシステム１２１０ａ〜１２１０ｊ、画像コンピューティングサーバ１３００、コントローラ１４００、スイッチングハブ１２８０、及びエンドユーザ端末１２９０を有する。
【００９３】
コントローラ１４００は、制御ステーション１４１０と仮想カメラ操作ＵＩ１４３０を有する。制御ステーション１４１０は、画像処理システム１２００を構成するそれぞれのブロックに対してネットワーク１４１０ａ〜１４１０ｃ、１３９１、１２８０ａ、１２８０ｂ、及び１２７０ａ〜１２７０ｉを通じて動作状態の管理及びパラメータ設定制御などを行う。ここで、ネットワークはＥｔｈｅｒｎｅｔ（登録商標、以下省略）であるＩＥＥＥ標準準拠のＧｂＥ（ギガビットイーサーネット）や１０ＧｂＥでもよいし、インターコネクトＩｎｆｉｎｉｂａｎｄ、産業用イーサーネット等を組合せて構成されてもよい。また、これらに限定されず、他の種別のネットワークであってもよい。
【００９４】
最初に、センサシステム１２１０ａ〜１２１０ｊの１０セットの画像及び音声をセンサシステム１２１０ｊから画像コンピューティングサーバ１３００へ送信する動作を説明する。本実施形態の画像処理システム１２００は、センサシステム１２１０ａ〜１２１０ｊがデイジーチェーンにより接続される。
【００９５】
本実施形態において、特別な説明がない場合は、センサシステム１２１０ａ〜１２１０ｊまでの１０セットのシステムを区別せずセンサシステム１２１０と記載する。各センサシステム１２１０内の装置についても同様に、特別な説明がない場合は区別せず、マイク１２１１、カメラ１２１２、雲台１２１３、外部センサ１２１４、及びカメラアダプタ１２２０と記載する。なお、センサシステムの台数として６セットと記載しているが、あくまでも一例であり、台数をこれに限定するものではない。撮像システムのカメラ１２１２ａ〜１２１２ｊそれぞれは、異なるカメラの対称位置以外の位置に配置されている。
【００９６】
また、複数のセンサシステム１２１０は同一の構成でなくてもよく、例えばそれぞれが異なる機種の装置で構成されていてもよい。なお、本実施形態では、特に断りがない限り、画像という文言が、動画と静止画の概念を含むものとして説明する。すなわち、本実施形態の画像処理システム１２００は、静止画及び動画の何れについても処理可能である。また、本実施形態では、画像処理システム１２００により提供される仮想視点コンテンツには、仮想視点画像と仮想聴収点音響が含まれる例を中心に説明するが、これに限らない。例えば、仮想視点コンテンツに音声が含まれていなくてもよい。また例えば、仮想視点コンテンツに含まれる音声が、仮想視点に最も近いマイクにより集音された音響であってもよい。また、本実施形態では、説明の簡略化のため、部分的に音声についての記載を省略しているが、基本的に画像と音声は共に処理されるものとする。
【００９７】
センサシステム１２１０ａ〜１２１０ｊは、それぞれ１台ずつのカメラ１２１２ａ〜１２１２ｊを有する。すなわち、画像処理システム１２００は、被写体を複数の方向から撮影するための複数のカメラ１２１２を有する。なお、複数のカメラ１２１２は同一符号を用いて説明するが、性能や機種が異なっていてもよい。複数のセンサシステム１２１０同士はデイジーチェーンにより接続される。この接続形態により、撮影画像の４Ｋや８Ｋなどへの高解像度化及び高フレームレート化に伴う画像データの大容量化において、接続ケーブル数の削減や配線作業の省力化ができる効果があることをここに明記しておく。
【００９８】
なおこれに限らず、接続形態として、各センサシステム１２１０ａ〜１２１０ｊがスイッチングハブ１２８０に接続されて、スイッチングハブ１２８０を経由してセンサシステム１２１０間のデータ送受信を行うスター型のネットワーク構成としてもよい。
【００９９】
また、図１２では、デイジーチェーンとなるようセンサシステム１２１０ａ〜１２１０ｊの全てがカスケード接続されている構成を示したがこれに限定するものではない。例えば、複数のセンサシステム１２１０をいくつかのグループに分割して、分割したグループ単位でセンサシステム１２１０間をデイジーチェーン接続してもよい。そして、分割単位の終端となるカメラアダプタ１２２０がスイッチングハブに接続されて画像コンピューティングサーバ１３００へ画像の入力を行うようにしてもよい。このような構成は、スタジアムにおいて特に有効である。例えば、スタジアムが複数階で構成され、フロア毎にセンサシステム１２１０を配備する場合が考えられる。この場合、フロア毎、又はスタジアムの半周毎に画像コンピューティングサーバ１３００への入力を行うことができ、全センサシステム１２１０を１つのデイジーチェーンで接続する配線が困難な場所でも設置の簡便化及びシステムの柔軟化を図ることができる。
【０１００】
また、デイジーチェーン接続されて画像コンピューティングサーバ１３００へ画像入力を行うカメラアダプタ１２２０が１つであるか２つ以上であるかに応じて、画像コンピューティングサーバ１３００での画像処理の制御が切り替えられる。すなわち、センサシステム１２１０が複数のグループに分割されているかどうかに応じて制御が切り替えられる。画像入力を行うカメラアダプタ１２２０が１つの場合は、デイジーチェーン接続で画像伝送を行いながら競技場全周画像が生成されるため、画像コンピューティングサーバ１３００において全周の画像データが揃うタイミングは同期がとられている。すなわち、センサシステム１２１０がグループに分割されていなければ、同期はとれる。
【０１０１】
しかし、画像入力を行うカメラアダプタ１２２０が複数になる場合は、画像が撮影されてから画像コンピューティングサーバ１３００に入力されるまでの遅延がデイジーチェーンのレーン（経路）毎に異なる場合が考えられる。すなわち、センサシステム１２１０がグループに分割される場合は、画像コンピューティングサーバ１３００に全周の画像データが入力されるタイミングは同期がとられないことがある。そのため、画像コンピューティングサーバ１３００において、全周の画像データが揃うまで待って同期をとる同期制御によって、画像データの集結をチェックしながら後段の画像処理を行う必要があることを明記しておく。
【０１０２】
本実施形態では、センサシステム１２１０ａはマイク１２１１ａ、カメラ１２１２ａ、雲台１２１３ａ、外部センサ１２１４ａ、及びカメラアダプタ１２２０ａを有する。なお、この構成に限定するものではなく、少なくとも１台のカメラアダプタ１２２０ａと、１台のカメラ１２１２ａまたは１台のマイク１２１１ａを有していればよい。また例えば、センサシステム１２１０ａは１台のカメラアダプタ１２２０ａと、複数のカメラ１２１２ａで構成されてもよいし、１台のカメラ１２１２ａと複数のカメラアダプタ１２２０ａで構成されてもよい。すなわち、画像処理システム１２００内の複数のカメラ１２１２と複数のカメラアダプタ１２２０はＮ対Ｍ（ＮとＭは共に１以上の整数）で対応する。また、センサシステム１２１０は、マイク１２１１ａ、カメラ１２１２ａ、雲台１２１３ａ、及びカメラアダプタ１２２０ａ以外の装置を含んでいてもよい。さらに、カメラアダプタ１２２０の機能の少なくとも一部をフロントエンドサーバ１３３０が有していてもよい。本実施形態では、センサシステム１２１０ｂ〜１２１０ｊについては、センサシステム１２１０ａと同様の構成なので省略する。なお、センサシステム１２１０ａと同じ構成に限定されるものではなく、其々のセンサシステム１２１０が異なる構成でもよい。
【０１０３】
マイク１２１１ａにて集音された音声と、カメラ１２１２ａにて撮影された画像は、カメラアダプタ１２２０ａにおいて、様々な処理などが施された後、デイジーチェーン１２７０ａを通してセンサシステム１２１０ｂのカメラアダプタ１２２０ｂに伝送される。同様にセンサシステム１２１０ｂは、集音された音声と撮影された画像を、センサシステム１２１０ａから取得した画像及び音声と合わせてセンサシステム１２１０ｃに伝送する。
【０１０４】
カメラアダプタ１２２０は、カメラ１２１２が撮影した画像データ及び他のカメラアダプタ１２２０から受取った画像データに対して、前景背景分離処理、前景３次元形状データ情報生成処理、動的キャリブレーションなどの処理を行う。カメラアダプタ１２２０により、撮像画像に対する前景背景分離処理に基づき、動的オブジェクトのシルエット画像が生成される。また、他のカメラアダプタ１２２０から受け取った複数のシルエット画像に基づき、視体積交差法などにより、動的オブジェクトに対応する３次元形状データを生成する。後述する画像コンピューティングサーバ１３００により複数の３次元形状データが統合される。なお、カメラアダプタ１２２０では、動的オブジェクトに対応する３次元形状データを生成せずに、画像コンピューティングサーバ１３００により、一括で複数の動的オブジェクトに対応する３次元形状データを生成するようにしてもよい。なお、ここでいう３次元形状データは、上述した実施形態１，２で生成される３次元形状データとは異なり、動的オブジェクトに対応する３次元形状データである。動的オブジェクトとは、時系列で同じ方向から撮影を行った場合において動きのある（その絶対位置が変化し得る）オブジェクト、つまり、動体を指す。動的オブジェクトは、例えば、人物や球技におけるボールを指す。
【０１０５】
前述した動作を続けることにより、センサシステム１２１０ａ〜１２１０ｊが取得した画像及び音声は、センサシステム１２１０ｊから１２８０ｂを用いてスイッチングハブ１２８０に伝わり、その後、画像コンピューティングサーバ１３００へ伝送される。
【０１０６】
なお、本実施形態では、カメラ１２１２ａ〜１２１２ｊとカメラアダプタ１２２０ａ〜１２２０ｊが分離された構成にしているが、同一筺体で一体化されていてもよい。その場合、マイク１２１１ａ〜１２１１ｊは一体化されたカメラ１２１２に内蔵されてもよいし、カメラ１２１２の外部に接続されていてもよい。
【０１０７】
次に、画像コンピューティングサーバ１３００の構成及び動作について説明する。本実施形態の画像コンピューティングサーバ１３００は、センサシステム１２１０ｊから取得したデータの処理を行う。画像コンピューティングサーバ１３００はフロントエンドサーバ１３３０、データベース１３５０（以下、ＤＢとも記載する。）、バックエンドサーバ１３７０、タイムサーバ１３９０を有する。なお、実施形態１，２で生成される被写体面であるフィールドに対応する３次元形状データは、このＤＢ１３５０に予め格納されている。
【０１０８】
タイムサーバ１３９０は時刻及び同期信号を配信する機能を有し、スイッチングハブ１２８０を介してセンサシステム１２１０ａ〜１２１０ｊに時刻及び同期信号を配信する。時刻と同期信号を受信したカメラアダプタ１２２０ａ〜１２２０ｊは、カメラ１２１２ａ〜１２１２ｊを時刻と同期信号をもとにＧｅｎｌｏｃｋさせ画像フレーム同期を行う。すなわち、タイムサーバ１３９０は、複数のカメラ１２１２の撮影タイミングを同期させる。これにより、画像処理システム１２００は同じタイミングで撮影された複数の撮影画像に基づいて仮想視点画像を生成できるため、撮影タイミングのずれによる仮想視点画像の品質低下を抑制できる。なお、本実施形態ではタイムサーバ１３９０が複数のカメラ１２１２の時刻同期を管理するものとするが、これに限らず、時刻同期のための処理を各カメラ１２１２又は各カメラアダプタ１２２０が独立して行ってもよい。
【０１０９】
フロントエンドサーバ１３３０は、センサシステム１２１０ｊから取得した画像及び音声から、セグメント化された伝送パケットを再構成してデータ形式を変換した後に、カメラの識別子やデータ種別、フレーム番号に応じてＤＢ１３５０に書き込む。
【０１１０】
次に、バックエンドサーバ１３７０では、仮想カメラ操作ＵＩ１４３０から視点の指定を受け付け、受け付けられた視点に基づいて、ＤＢ１３５０から対応する画像及び音声データ等のデータを読み出し、レンダリング処理を行って仮想視点画像を生成する。この読みだされるデータとしては、スタジアムに対応する３次元形状データや、フィールドに対応する３次元形状データなども含まれる。
【０１１１】
なお、画像コンピューティングサーバ１３００の構成はこれに限らない。例えば、フロントエンドサーバ１３３０、データベース１３５０、及びバックエンドサーバ１３７０のうち少なくとも２つが一体となって構成されていてもよい。また、フロントエンドサーバ１３３０、データベース１３５０、及びバックエンドサーバ１３７０の少なくとも何れかが複数含まれていてもよい。また、画像コンピューティングサーバ１３００内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ１３００の機能の少なくとも一部をエンドユーザ端末１２９０や仮想カメラ操作ＵＩ１４３０が有していてもよい。
【０１１２】
レンダリング処理された画像は、バックエンドサーバ１３７０からエンドユーザ端末１２９０に送信され、エンドユーザ端末１２９０を操作するユーザは視点の指定に応じた画像閲覧及び音声視聴ができる。すなわち、バックエンドサーバ１３７０は、複数のカメラ１２１２により撮影された撮影画像（複数視点画像）と視点情報とに基づく仮想視点コンテンツを生成する。より具体的には、バックエンドサーバ１３７０は、例えば複数のカメラアダプタ１２２０により複数のカメラ１２１２による撮影画像から抽出された所定領域の画像データと、ユーザ操作により指定された視点に基づいて、仮想視点コンテンツを生成する。そしてバックエンドサーバ１３７０は、生成した仮想視点コンテンツをエンドユーザ端末１２９０に提供する。なお、本実施形態において仮想視点コンテンツは画像コンピューティングサーバ１３００により生成されるものであり、特にバックエンドサーバ１３７０により生成される場合を中心に説明する。ただしこれに限らず、仮想視点コンテンツは、画像コンピューティングサーバ１３００に含まれるバックエンドサーバ１３７０以外の装置により生成されてもよいし、コントローラ１４００やエンドユーザ端末１２９０により生成されてもよい。
【０１１３】
本実施形態における仮想視点コンテンツは、仮想的な視点から被写体を撮影した場合に得られる画像としての仮想視点画像を含むコンテンツである。言い換えると、仮想視点画像は、指定された視点における見えを表す画像であるとも言える。仮想的な視点（仮想視点）は、ユーザにより指定されてもよいし、画像解析の結果等に基づいて自動的に指定されてもよい。すなわち仮想視点画像には、ユーザが任意に指定した視点に対応する任意視点画像（自由視点画像）が含まれる。また、複数の候補からユーザが指定した視点に対応する画像や、装置が自動で指定した視点に対応する画像も、仮想視点画像に含まれる。
【０１１４】
なお、本実施形態では、仮想視点コンテンツに音声データ（オーディオデータ）が含まれる場合の例を中心に説明するが、必ずしも音声データが含まれていなくてもよい。また、バックエンドサーバ１３７０は、仮想視点画像を例えばＨ．２６４やＨＥＶＣなどの符号化方式に従って圧縮符号化したうえで、ＭＰＥＧ−ＤＡＳＨプロトコルを使ってエンドユーザ端末１２９０へ送信してもよい。また、仮想視点画像は、非圧縮でエンドユーザ端末１２９０へ送信されてもよい。とくに圧縮符号化を行う前者はエンドユーザ端末１２９０としてスマートフォンやタブレットを想定しており、後者は非圧縮画像を表示可能なディスプレイを想定している。すなわち、エンドユーザ端末１２９０の種別に応じて画像フォーマットが切り替え可能であることを明記しておく。また、画像の送信プロトコルはＭＰＥＧ−ＤＡＳＨに限らず、例えば、ＨＬＳ（ＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ）やその他の送信方法を用いてもよい。
【０１１５】
このように、画像処理システム１２００は、映像収集ドメイン、データ保存ドメイン、及び映像生成ドメインという３つの機能ドメインを有する。映像収集ドメインはセンサシステム１２１０〜１２１０ｊを含む。また、データ保存ドメインはデータベース１３５０、フロントエンドサーバ１３３０及びバックエンドサーバ１３７０を含む。また、映像生成ドメインは仮想カメラ操作ＵＩ１４３０及びエンドユーザ端末１２９０を含む。なお本構成に限らず、例えば、仮想カメラ操作ＵＩ１４３０が直接センサシステム１２１０ａ〜１２１０ｊから画像を取得する事も可能である。しかしながら、本実施形態では、センサシステム１２１０ａ〜１２１０ｊから直接画像を取得する方法ではなくデータ保存機能を中間に配置する方法をとる。具体的には、フロントエンドサーバ１３３０がセンサシステム１２１０ａ〜１２１０ｊが生成した画像データや音声データ及びそれらのデータのメタ情報をデータベース１３５０の共通スキーマ及びデータ型に変換している。これにより、センサシステム１２１０ａ〜１２１０ｊのカメラ１２１２が他機種のカメラに変化しても、変化した差分をフロントエンドサーバ１３３０が吸収し、データベース１３５０に登録することができる。このことによって、カメラ１２１２が他機種カメラに変わった場合に、仮想カメラ操作ＵＩ１４３０が適切に動作しないおそれを低減できる。
【０１１６】
また、仮想カメラ操作ＵＩ１４３０は、直接データベース１３５０にアクセスせずにバックエンドサーバ１３７０を介してアクセスする構成である。バックエンドサーバ１３７０で画像生成処理に係わる共通処理を行い、操作ＵＩに係わるアプリケーションの差分部分を仮想カメラ操作ＵＩ１４３０で行っている。このことにより、仮想カメラ操作ＵＩ１４３０の開発において、ＵＩ操作デバイスや、生成したい仮想視点画像を操作するＵＩの機能要求に対する開発に注力する事ができる。また、バックエンドサーバ１３７０は、仮想カメラ操作ＵＩ１４３０の要求に応じて画像生成処理に係わる共通処理を追加又は削除する事も可能である。このことによって仮想カメラ操作ＵＩ１４３０の要求に柔軟に対応する事ができる。
【０１１７】
このように、画像処理システム１２００においては、被写体を複数の方向から撮影するための複数のカメラ１２１２による撮影に基づく画像データに基づいて、バックエンドサーバ１３７０により仮想視点画像が生成される。なお、本実施形態における画像処理システム１２００は、上記で説明した物理的な構成に限定される訳ではなく、論理的に構成されていてもよい。
【０１１８】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１９】
１００  生成装置
５０１  画像取得部
５０４  領域設定部
５０７  決定部
５０８  生成部
５０９  特定パターン取得部
【図１】
2020004053.tif 000013
【図２】
2020004053.tif 000014
【図３】
2020004053.tif 000015
【図４】
2020004053.tif 000016
【図５】
2020004053.tif 000017
【図６】
2020004053.tif 000018
【図７】
2020004053.tif 000019
【図８】
2020004053.tif 000020
【図９】
2020004053.tif 000021
【図１０】
2020004053.tif 000022
【図１１】
2020004053.tif 000023
【図１２】
2020004053.tif 000024