(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-06
(45)【発行日】2024-03-14
(54)【発明の名称】フレーミング領域学習装置及びフレーミング領域推定装置、並びに、それらのプログラム
(51)【国際特許分類】
H04N 23/60 20230101AFI20240307BHJP
G03B 15/00 20210101ALI20240307BHJP
G06N 3/04 20230101ALI20240307BHJP
G06N 20/00 20190101ALI20240307BHJP
G06T 7/00 20170101ALI20240307BHJP
H04N 23/69 20230101ALI20240307BHJP
H04N 23/695 20230101ALI20240307BHJP
【FI】
H04N23/60 100
G03B15/00 P
G06N3/04
G06N20/00
G06T7/00 350C
H04N23/69
H04N23/695
(21)【出願番号】P 2020027891
(22)【出願日】2020-02-21
【審査請求日】2023-01-05
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】荒井 敦志
(72)【発明者】
【氏名】三須 俊枝
(72)【発明者】
【氏名】三ツ峰 秀樹
(72)【発明者】
【氏名】洗井 淳
【審査官】登丸 久寿
(56)【参考文献】
【文献】特開2019-140561(JP,A)
【文献】特開2006-191524(JP,A)
【文献】特開2018-077807(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
G03B 15/00
G06N 3/04
G06N 20/00
G06T 7/00
H04N 23/69
H04N 23/695
(57)【特許請求の範囲】
【請求項1】
カメラの姿勢と画角とを示すカメラパラメータを、前記カメラがフレーミングするフレーミング領域を示すフレーミングパラメータに変換し、前記フレーミングパラメータと、被写体の位置又は速度の少なくとも一方を示す被写体情報とに対応付けて学習するフレーミング領域学習装置であって、
予め設定した変換規則に基づいて、前記被写体情報に同期させて
取得した前記カメラパラメータを前記フレーミングパラメータに変換する変換部と、
前記被写体情報と前記フレーミングパラメータとを対応付けて学習することにより、前記フレーミングパラメータの学習済み推論モデルを生成する学習部と、
を備えることを特徴とするフレーミング領域学習装置。
【請求項2】
予め、前記被写体情報を記憶する被写体情報記憶部と、
前記被写体情報記憶部から所定時刻の前記被写体情報を読み出す被写体情報読出部と、
予め、前記カメラパラメータを記憶するカメラパラメータ記憶部と、
前記被写体情報の読出時刻に対して、予め設定したオフセット時刻だけオフセットした未来時刻の前記カメラパラメータを読み出すカメラパラメータ読出部と、をさらに備え、
前記変換部は、前記カメラパラメータ読出部が読み出したカメラパラメータを、前記未来時刻のフレーミングパラメータに変換し、
前記学習部は、前記読出時刻の被写体情報と前記未来時刻のフレーミングパラメータとを対応付けて学習することを特徴とする請求項1に記載のフレーミング領域学習装置。
【請求項3】
前記被写体情報は、世界座標系で前記被写体の位置を画像化した位置マップ、又は、前記世界座標系で前記被写体の速度を画像化した速度マップの少なくとも一方を含むことを特徴とする請求項1又は請求項2に記載のフレーミング領域学習装置。
【請求項4】
前記学習部は、推論モデルとして、畳み込みニューラルネットワークを用いることを特徴とする請求項3に記載のフレーミング領域学習装置。
【請求項5】
前記変換部から前記フレーミングパラメータを世界座標系上の連続値として入力し、予め設定した量子化規則に基づいて、前記フレーミングパラメータを前記世界座標系上の離散値に量子化する量子化部、をさらに備え、
前記学習部は、前記フレーミングパラメータの離散値と前記被写体情報とを対応付けて学習することを特徴とする請求項1から請求項4の何れか一項に記載のフレーミング領域学習装置。
【請求項6】
請求項1から請求項5の何れか一項に記載のフレーミング領域学習装置で生成した学習済み推論モデルを用いて、カメラのフレーミング領域を示すフレーミングパラメータを推定するフレーミング領域推定装置であって、
被写体の位置又は速度の少なくとも一方を示す被写体情報を入力し、前記学習済み推論モデルにより、前記被写体情報に応じた前記フレーミングパラメータの推定値を出力する推定部と、
前記推定部が出力したフレーミングパラメータの推定値を、予め設定した逆変換規則に基づいて、前記カメラの姿勢と画角とを示すカメラパラメータの推定値に逆変換する逆変換部と、
を備えることを特徴とするフレーミング領域推定装置。
【請求項7】
前記被写体情報は、世界座標系で前記被写体の位置を画像化した位置マップ、又は、前記世界座標系で前記被写体の速度を画像化した速度マップの少なくとも一方を含むことを特徴とする請求項6に記載のフレーミング領域推定装置。
【請求項8】
前記推定部は、前記フレーミングパラメータの推定値を世界座標系上の離散値として出力し、
予め設定した逆量子化規則に基づいて、前記推定部から入力したフレーミングパラメータの推定値を前記世界座標系上の連続値に逆量子化する逆量子化部、をさらに備えることを特徴とする請求項6又は請求項7に記載のフレーミング領域推定装置。
【請求項9】
コンピュータを、請求項1から請求項5の何れか一項に記載のフレーミング領域学習装置として機能させるためのプログラム。
【請求項10】
コンピュータを、請求項6から請求項8の何れか一項に記載のフレーミング領域推定装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラのフレーミングパラメータを学習するフレーミング領域学習装置及びフレーミング領域推定装置、並びに、それらのプログラムに関する。
【背景技術】
【0002】
雲台などの駆動機構に取り付けられたカメラや固定カメラからの切り出しにより自動撮影を行うことは、カメラの構図となるフレーミングを順次決定していくことに相当する。例えば、特許文献1には、カメラからの画像データから注視対象が含まれる構図を決定し、駆動機構を制御する手法が提案されている。また、特許文献2には、構図情報を学習させて、元画像からの切り出しルールを更新していく手法が提案されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第4464902号公報
【文献】特許第5016540号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1,2に記載の従来技術は、ある撮影意図に対して最終的な構図を決定し、駆動機構の制御及び画像の切り出しを行うものである。これら従来技術において、実際のカメラマンによるカメラワークを模倣しようとした場合を考える。カメラマンは、被写体とそれを取り巻く状況に応じて最適な構図を連続的に決定している。この場合、前記した従来技術では、カメラマンのような状況に応じた構図を自動的に決定するのは困難である。
【0005】
そこで、本発明は、様々なカメラ位置から実際のカメラマンがフレーミングしたようなフレーミング領域を自動で決定できるフレーミング領域学習装置及びフレーミング領域推定装置、並びに、それらのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0006】
前記課題を解決するため、本発明に係るフレーミング領域学習装置は、カメラの姿勢と画角とを示すカメラパラメータを、カメラがフレーミングするフレーミング領域を示すフレーミングパラメータに変換し、フレーミングパラメータと、被写体の位置又は速度の少なくとも一方を示す被写体情報とに対応付けて学習するフレーミング領域学習装置であって、変換部と、学習部と、を備える構成とした。
【0007】
かかる構成によれば、変換部は、予め設定した変換規則に基づいて、被写体情報に同期させて取得したカメラパラメータをフレーミングパラメータに変換する。
そして、学習部は、被写体情報とフレーミングパラメータとを対応付けて学習することにより、フレーミングパラメータの学習済み推論モデルを生成する。
【0008】
このように、フレーミング領域学習装置は、カメラ位置に依存するカメラパラメータではなく、カメラ位置に依存しない世界座標系でフレーミングパラメータを学習する。従って、フレーミング領域学習装置は、カメラ位置に依存しない学習済み推論モデルを生成できる。
【0009】
また、前記課題を解決するため、本発明に係るフレーミング領域推定装置は、本発明に係るフレーミング領域学習装置で生成した学習済み推論モデルを用いて、カメラのフレーミング領域を示すフレーミングパラメータを推定するフレーミング領域推定装置であって、推定部と、逆変換部と、を備える構成とした。
【0010】
かかる構成によれば、推定部は、被写体の位置又は速度の少なくとも一方を示す被写体情報を入力し、学習済み推論モデルにより、被写体情報に応じたフレーミングパラメータの推定値を出力する。
そして、逆変換部は、推定部が出力したフレーミングパラメータの推定値を、予め設定した逆変換規則に基づいて、カメラの姿勢と画角とを示すカメラパラメータの推定値に逆変換する。
【0011】
このように、フレーミング領域推定装置は、学習済み推論モデルを用いて、カメラ位置に依存しない世界座標系でフレーミングパラメータを推定し、推定したフレーミングパラメータをカメラパラメータに変換する。従って、フレーミング領域推定装置は、カメラ位置に依存しない学習済み推論モデルを用いて、各カメラで固有のカメラパラメータを推定できる。
【0012】
なお、本発明は、コンピュータを、前記したフレーミング領域学習装置又はフレーミング領域推定装置として機能させるためのプログラムで実現することもできる。
【発明の効果】
【0013】
本発明は、カメラ位置に依存しない推論モデルを用いるので、様々なカメラ位置から実際のカメラマンがフレーミングしたようなフレーミング領域を自動で決定できる。
【図面の簡単な説明】
【0014】
【
図1】従来のカメラの一例を説明する説明図であり、(a)はカメラの外観図であり、(b)はセンサのブロック図である。
【
図2】第1実施形態に係るフレーミング領域学習装置の構成を示すブロック図である。
【
図3】第1実施形態に係るフレーミング領域推定装置の構成を示すブロック図である。
【
図4】第1実施形態において、世界座標系及びカメラ座標系を説明する説明図である。
【
図5】カメラ位置を移動する前後において、画角及びスケールの変換を説明する説明図である。
【
図6】状況データの一例として、サッカーの試合映像を説明する説明図である。
【
図7】位置マップを説明する説明図であり、(a)は選手及びボールの位置を示す位置マップであり、(b)は一方のチームの選手の位置を示す位置マップであり、(c)は他方のチームの選手の位置を示す位置マップであり、(d)はボールの位置を示す位置マップである。
【
図8】速度マップを説明する説明図であり、(a)は一方のチームの選手の位置と速度成分とを示す図であり、(b)は一方のチームの選手の速度成分をドットで示す速度マップであり、(c)は一方のチームの選手の速度成分を円領域で示す速度マップである。
【
図9】第1実施形態に係るフレーミング領域学習装置の動作を示すフローチャートである。
【
図10】第1実施形態に係るフレーミング領域推定装置の動作を示すフローチャートである。
【
図11】第2実施形態に係る学習部の構成を示すブロック図である。
【
図12】第3実施形態に係る学習部の構成を示すブロック図である。
【発明を実施するための形態】
【0015】
(第1実施形態)
以下、本発明の各実施形態について図面を参照して説明する。
まず、第1実施形態に関連したカメラ3の一例を説明した後、第1実施形態に係るフレーミング領域学習装置1及びフレーミング領域推定装置2の構成を順に説明する。
【0016】
[カメラ]
図1を参照し、カメラ3について説明する。
カメラ3は、遠隔操作可能に構成されるカメラである。
図1(a)に示すように、カメラ3は、雲台などの駆動機構30に搭載されており、この駆動機構30によって、パン、チルト、ズーム及びフォーカスが制御されている。なお、ズーム及びフォーカスの制御は、カメラ3の内部機構によって行われ、この駆動機構30で包括しているものとして説明する。
【0017】
また、
図1(b)に示すように、カメラ3は、そのカメラ操作を検出するセンサ31を備える。このセンサ31は、カメラ3の姿勢、図示を省略したレンズの画角、焦点位置を測定するためのものである。このセンサ31には、カメラ3が固定されている雲台のパン角を検出するパン角センサ31aと、カメラ3のチルト角を検出するチルト角センサ31bと、カメラ3のズーム量(画角)を検出するズームセンサ31cと、カメラ3に内蔵されているレンズの焦点位置(フォーカス)を検出するフォーカスセンサ31dとが含まれている。
【0018】
例えば、パン角センサ31a及びチルト角センサ31bは、雲台に取り付けられたロータリエンコーダ、ポテンショメータ又はジャイロセンサによって構成できる。また、ズームセンサ31c及びフォーカスセンサ31dは、ズームリング及びフォーカスリングの回転角をロータリエンコーダ、ポテンショメータで読みとる方式によって構成できる。この他、ズームセンサ31c及びフォーカスセンサ31dは、カメラ3のレンズ摺動部に設置されるリニアセンサを用いることができる。
【0019】
[フレーミング領域学習装置の構成]
図2を参照し、フレーミング領域学習装置1の構成について説明する。
フレーミング領域学習装置1は、カメラ3のカメラパラメータを、カメラ3のフレーミングパラメータに変換し、変換したフレーミングパラメータと被写体の位置又は速度の少なくとも一方を示す状況データ(被写体情報)jとを対応付けて学習するものである。
【0020】
ここで、フレーミングパラメータとは、カメラ3がフレーミングしているフレーミング領域(構図)を示すパラメータのことであり、世界座標系で示されている。
また、世界座標系とは、被写体が存在する空間に対応した3次元座標系のことであり、各カメラ3で共通する座標系である。
また、カメラパラメータとは、カメラ3の姿勢と画角とを示すパラメータのことであり、カメラ座標系で示されている。
また、カメラ座標系とは、カメラ3を基準とした3次元座標系のことであり、各カメラ3で固有の座標系である。
なお、フレーミングパラメータ、世界座標系、カメラパラメータ及びカメラ座標系の詳細は、後記する。
【0021】
図2に示すように、フレーミング領域学習装置1は、状況データ記憶部(被写体情報記憶部)10Aと、カメラパラメータ記憶部10Bと、データ選択部11と、時刻調整部12と、状況データ読出部(被写体情報読出部)13と、カメラパラメータ読出部14と、変換部15と、量子化部16と、学習部17とを備える。
【0022】
状況データ記憶部10Aは、予め、後記する状況データjを記憶するHDD(hard disk drive)、SSD(solid state drive)、メモリ等の記憶装置である。ここでは、状況データ記憶部10Aは、各時刻νの状況データj(ν)を記憶している({j(ν)}ν∈(1,2,…,N))。
【0023】
カメラパラメータ記憶部10Bは、予め、後記するカメラパラメータを記憶するHDD、SSD、メモリ等の記憶装置である。ここで、カメラパラメータ記憶部10Bは、各時刻νのカメラパラメータθ(ν)を記憶している({θ(ν)}ν∈(1,2,…,N))。
【0024】
なお、状況データj(ν)及びカメラパラメータθ(ν)は、同時刻に同期して取得されているものとする。
また、
図2では、状況データ記憶部10A及びカメラパラメータ記憶部10Bを別々に図示したが、記憶部として一体化してもよい。
【0025】
データ選択部11は、状況データj(ν)とカメラパラメータθ(ν)とに紐づけられている時刻ν=nを順次選択するものである(n=1,2,…,N)。そして、データ選択部11は、選択した時刻nを時刻調整部12及び状況データ読出部13に出力する。
【0026】
時刻調整部12は、オフセット時刻Δnが予め設定され、データ選択部11から入力された時刻nにオフセット時刻Δを加算し、未来時刻(n+Δn)を算出するものである。このオフセット時刻Δnは、任意の値で設定できる。そして、時刻調整部12は、生成した未来時刻(n+Δn)をカメラパラメータ読出部14に出力する。
【0027】
状況データ読出部13は、データ選択部11より入力された所定時刻nの状況データj(n)を状況データ記憶部10Aから読み出すものである。そして、状況データ読出部13は、読み出した状況データj(n)を学習部17に出力する。
【0028】
カメラパラメータ読出部14は、状況データj(n)の読出時刻nに対して、予め設定したオフセット時刻Δnだけオフセットした未来時刻(n+Δn)のカメラパラメータθ(n+Δn)を読み出すものである。このカメラパラメータ読出部14は、時刻調整部12より入力された未来時刻(n+Δn)のカメラパラメータθ(n+Δn)を読み出す。そして、カメラパラメータ読出部14は、読み出したカメラパラメータθ(n+Δn)を変換部15及び学習部17に出力する。
【0029】
ここで、カメラパラメータθ(n+Δn)の読み出し時刻をオフセット時刻Δnだけ先の時刻(未来)にオフセットさせる理由について説明する。
カメラマンのカメラワークが遅れた場合、カメラパラメータθにも遅れが反映されてしまう。そこで、カメラパラメータθの読み出し時刻をオフセットさせると、カメラマンによるカメラワークの遅れを先読みでき、カメラパラメータθの遅延の影響を低減できる。
さらに、カメラパラメータθの読み出し時刻をオフセットさせることで、フレーミング領域推定装置2で発生する処理遅延の影響を低減できる。
【0030】
変換部15は、状況データj(n)に同期したカメラパラメータθ(n+Δn)をカメラパラメータ読出部14から入力する。そして、変換部15は、予め設定した変換規則Tに基づいて、入力されたカメラ座標系のカメラパラメータθ(n+Δn)を世界座標系のフレーミングパラメータの連続値g(n+Δn)=T(θ(n+Δn))に変換するものである。さらに、変換部15は、変換したフレーミングパラメータの連続値g(n+Δn)を量子化部16に出力する。
なお、変換部15による変換処理の詳細は、後記する。
【0031】
量子化部16は、フレーミングパラメータを世界座標系上の連続値g(n+Δn)として変換部15から入力する。そして、量子化部16は、予め設定した量子化規則Qに基づいて、入力されたフレーミングパラメータを世界座標系上の離散値q(n+Δn)=Q(g(n+Δn))に量子化するものである。さらに、量子化部16は、量子化したフレーミングパラメータの離散値q(n+Δn)を学習部17に出力する。
なお、量子化部16による量子化処理の詳細は、後記する。
【0032】
ここで、離散値とは、推論モデルがフレーミングパラメータを世界座標系上の離散値(空間的な離散値)に変換した値をいう。例えば、離散値は、0.25メートル刻み、0.5メートル刻み、又は、1.0メートル刻みのようにメッシュオーダとなる。
また、連続値とは、推論モデルがフレーミングパラメータを世界座標系上の連続値(空間的な連続値)に変換した値をいう。
【0033】
学習部17は、状況データ読出部13から状況データj(n)を入力し、量子化部16からフレーミングパラメータの離散値q(n+Δn)を入力する。そして、学習部17は、状況データj(n)とフレーミングパラメータの離散値q(n+Δn)とを対応付けて学習することにより、フレーミングパラメータの学習済み推論モデルを生成するものである。つまり、学習部17は、状況データj(n)及びフレーミングパラメータの離散値q(n+Δn)のデータ対を取り込み、学習済みパラメータPを出力する。
なお、学習部17の構成は、第2実施形態及び第3実施形態で説明する。
【0034】
推論モデルは、任意に選択できる。例えば、推論モデルとして、サポートベクターマシン(SVM:support vector machine)やk近傍法(k-NN:k-nearest neighbor)などの機械学習を用いてもよい。また、推論モデルとして、ニューラルネットワークを用いてもよい。状況データjが画像化されたデータの場合、推論モデルとして、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いることが好ましい。
【0035】
ここで、フレーミングパラメータの離散値q(n+Δn)又は連続値g(n+Δn)の何れで学習するかは、推論モデルの種類に応じて任意に選択できる。
なお、学習部17がフレーミングパラメータの連続値g(n+Δn)を直接学習する場合、フレーミング領域学習装置1は、量子化部16を備えなくともよい。この場合、変換部15は、フレーミングパラメータの連続値g(n+Δn)を学習部17に出力する。
【0036】
以上のように、フレーミング領域学習装置1は、カメラ位置に依存するカメラパラメータθではなく、カメラ位置に依存しない世界座標系でフレーミングパラメータの離散値q又は連続値gを学習するので、カメラ位置に依存しない学習済み推論モデルを生成できる。従って、フレーミング領域学習装置1は、様々なカメラ位置から実際のカメラマンがフレーミングしたようなフレーミング領域を自動で決定できる。
【0037】
従来の推論モデルは、カメラパラメータθをそのまま学習しているので、カメラパラメータθをそのまま出力するため、カメラパラメータθがカメラ位置に依存し、学習時及び推定時でカメラ位置が同一でなければ、この推論モデルを利用できない。現実的には、学習時及び推定時にカメラ位置が異なるため、従来の推論モデルの利用が困難である。その一方、フレーミング領域学習装置1の学習済み推論モデルは、世界座標系のフレーミングパラメータを学習しているので、学習時及び推定時でカメラ位置が異なる場合にも利用できる。
【0038】
さらに、フレーミング領域学習装置1は、カメラパラメータθ(n+Δn)の読み出し時刻を未来にオフセットさせるので、カメラパラメータθの遅延の影響やフレーミング領域推定装置2の処理遅延の影響を低減できる。
【0039】
[フレーミング領域推定装置の構成]
図3を参照し、フレーミング領域推定装置2の構成について説明する。
フレーミング領域推定装置2は、フレーミング領域学習装置1で生成した学習済み推論モデルを用いて、フレーミングパラメータを推定し、推定したフレーミングパラメータをカメラパラメータに変換するものである。
図3に示すように、フレーミング領域推定装置2は、推定部20と、逆量子化部21と、逆変換部22とを備える。
【0040】
推定部20は、後記する状況データjを入力し、学習済み推論モデルにより、入力した状況データjに応じたフレーミングパラメータの推定値を世界座標系で出力するものである。つまり、推定部20は、学習済みパラメータPによって構成される学習済みの推論モデルであり、状況データjを入力すると、フレーミングパラメータの離散推定値qestを逆量子化部21に出力する。
【0041】
以後、フレーミングパラメータの推定値が離散値であるものを「離散推定値」と記載し、フレーミングパラメータの推定値が連続値であるものを「連続推定値」と記載する場合がある。
【0042】
逆量子化部21は、予め設定した逆量子化規則Q-1に基づいて、推定部20から入力されたフレーミングパラメータの離散推定値qestを連続推定値gest=Q-1(qest)に逆量子化するものである。そして、逆量子化部21は、逆量子化したフレーミングパラメータの連続推定値gestを逆変換部22に出力する。
【0043】
なお、逆量子化部21による逆量子化の詳細は、後記する。
また、推定部20がフレーミングパラメータの連続推定値gestを直接出力する場合、フレーミング領域推定装置2は、逆量子化部21を備えなくともよい。この場合、推定部20は、フレーミングパラメータの連続推定値gestを逆変換部22に出力する。
【0044】
逆変換部22は、逆量子化部21から入力された世界座標系のフレーミングパラメータの連続推定値gestを、予め設定した逆変換規則T-1に基づいて、カメラ座標系のカメラパラメータの推定値θest=T-1(gest)に逆変換するものである。そして、逆変換部22は、逆変換したカメラパラメータの推定値θestを外部に出力する。
なお、逆変換部22による逆変換処理の詳細は、後記する。
【0045】
以上のように、フレーミング領域推定装置2は、カメラ位置に依存しない推論モデルを用いるので、様々なカメラ位置から実際のカメラマンがフレーミングしたようなフレーミング領域を自動で決定できる。すなわち、フレーミング領域推定装置2は、学習済み推論モデルを用いて、カメラ位置に依存しない世界座標系でフレーミングパラメータの離散推定値qestを推定し、推定したフレーミングパラメータの離散推定値qestをカメラパラメータの推定値θestに変換する。このカメラパラメータの推定値θestからカメラ3の制御信号を生成すれば、様々なカメラ位置でカメラ3の姿勢を制御できる。
【0046】
図4及び
図5を参照し、世界座標系のフレーミングパラメータ及びカメラ座標系のカメラパラメータと、変換処理及び逆変換処理と、量子化処理及び逆量子化処理とを順に説明する。
【0047】
<世界座標系のフレーミングパラメータ、カメラ座標系のカメラパラメータ>
図4には、サッカーフィールドを一例として、被写体が存在する世界座標系と、カメラ3の位置及び姿勢が反映されたカメラ座標系との関係を図示した。
【0048】
図4に示すように、世界座標系は、サッカーフィールド90の中央91を原点とし、原点を通りサイドライン92と平行な軸をX軸とし、センターライン93と平行な軸をY軸とし、サッカーフィールド90の平面に垂直かつ上向きの軸を+Z軸とする。従って、世界座標系は、X軸、Y軸、Z軸の順に右手系となる。
【0049】
カメラ座標系は、カメラ3の光軸方向を+z軸とする。カメラ座標系の原点が世界座標系の原点と一致し、かつ、各軸の回転がない場合を考える。この場合、カメラ座標系+x軸と世界座標系+X軸、カメラ座標系+yと世界座標系-Z軸、カメラ座標系+z軸と世界座標系+Y軸が一致する関係となる。従って、カメラ座標系は、x軸、y軸、z軸の順に右手系となる。
【0050】
カメラ座標系において、y軸の回転角をパン角α[rad]とし、x軸の回転角をチルト角δ[rad]とし、z軸の回転角をロール角φ[rad]とする。この場合、カメラ座標系における世界座標系の姿勢Rは、以下の式(1)で表される。つまり、カメラ座標系のパン角α、チルト角δ及びロール角φと世界座標系の姿勢Rとの間には、式(1)の関係がある。
【0051】
【0052】
図5に示すように、世界座標系におけるカメラ座標系の原点(カメラ3の位置)をt
w=[t
wx,t
wy,t
wz]とする。この場合、カメラ座標系における世界座標系の原点t
c=[t
cx,t
cy,t
cz]は、t
c=-Rt
wで表すことができる。
【0053】
カメラ3のフレーミング領域は、カメラ3の位置tw、姿勢R及び画角(正確にはカメラ3に装着されているレンズの水平画角)βによって決定される。
カメラ3の位置twは、撮影現場で実際に測定すればよい。また、カメラ3の位置twは、その位置で撮影された画像内の対象物と、この対象物の実際の地上のデータであるグラウンドトゥルースとの対応関係から推定できる。
【0054】
カメラ3の姿勢Rは、カメラ3に接続されているセンサ31(パン角センサ31a及びチルト角センサ31b)から取得できる。一般的に使用される雲台にはロール角φを操作する回転機構がないため、ロール角φ=0とすればよい。従って、カメラ座標系のパン角α及びチルト角δが分かれば、世界座標系でカメラ3の姿勢Rを求められる。
【0055】
カメラ3の画角βは、ズームレンズを使用している場合、ズームリングの回転量に応じて変化する。ズームセンサ31cの出力値を入力とし、カメラ3の画角βを出力とした場合、カメラ3のセンササイズやズームレンズの組み合わせに応じて、入出力値が変化する。そこで、入出力値を予め測定し、それら入出力値をルックアップテーブル化することで、カメラ3の画角βを求められる。
この他、カメラ3の画角βは、カメラ3のセンササイズから一意に定まる焦点距離fとしてもよい。
【0056】
以上より、フレーミング領域の決定に最低限必要、かつ、取得可能なカメラパラメータは、パン角α、チルト角δ及び画角βの3つとなる。つまり、カメラ3のパン角α、チルト角δ及び画角βが、カメラパラメータθに相当する。
【0057】
カメラ3の位置が固定という条件であれば、カメラパラメータθを教師データとして学習した推論モデルによって、状況データjに応じたフレーミングパラメータを推定できる。カメラ位置に依存せずフレーミングパラメータを推定するためには、カメラ3のフレーミングパラメータとスケールsとを世界座標系に変換して学習し、これらの推定値をカメラ座標系に逆変換し、カメラパラメータの推定値θestを求める必要がある。
【0058】
カメラ3のチルト角δ<0の場合、
図4及び
図5に示すように、カメラ3の光軸(z軸)と世界座標系におけるXY平面(Z=0)とが交わる交差位置をc
w=[c
wx,c
wy,0]とする。この場合、交差位置c
wは、以下の式(2)で算出できる。
【0059】
【0060】
スケールsは、世界座標系におけるフレーミング領域のサイズを示している。
図5に示すように、スケールsは、カメラ3の位置t
wから交差位置c
wまでの光軸長lとカメラ3の画角βとから、以下の式(3)で算出できる。つまり、交点位置c
wx,c
wy及びスケールsが、フレーミングパラメータの連続値gに相当する。
【0061】
【0062】
なお、
図5では、カメラ3の移動後の位置をt
w_newとし、カメラ3の移動後に推定される画角をβ
estとする。また、カメラ3の移動後に推定されたスケールをs
estとし、光軸長をl
estとし、交点位置をc
w_estとする。
【0063】
<変換処理及び逆変換処理>
以上より、前記した式(2)及び式(3)が、変換部15に予め設定されている変換規則Tに相当する。すなわち、変換部15は、前記した式(2)及び式(3)を用いて、カメラ座標系のカメラパラメータθ=[α,δ,β]を世界座標系のフレーミングパラメータの連続値g=[cwx,cwy,s]に変換する。
【0064】
また、世界座標系のフレーミングパラメータの連続推定値gestからカメラパラメータの推定値θestへの逆変換についても検討する。ここでは、パン角の推定値αestが式(4)で算出でき、チルト角の推定値δestが式(5)で算出できる。
【0065】
【0066】
図5に示すように、カメラ3の画角の推定値β
estは、カメラ3の位置t
w_newから交差位置c
w_estまでの光軸長l
estとすると、以下の式(6)で算出できる。
【0067】
【0068】
前記した式(4)~式(6)が、逆変換部22に予め設定されている逆変換規則T-1に相当する。すなわち、逆変換部22は、前記した式(4)~式(6)を用いて、フレーミングパラメータの連続推定値gest=[cwx_est,cwy_est,sest]をカメラ座標系のカメラパラメータの推定値θest=[αest,δest,βest]に逆変換する。
【0069】
<量子化処理及び逆量子化処理>
推論モデルが連続値ではなく離散値を扱う場合、連続値から離散値への量子化、及び、離散値から連続値への逆量子化が必要になる。前記したように、フレーミングパラメータの連続推定値gestがcwx,cwy,sという3つのパラメータで構成されている。この場合、ベクトル次元数k=3であることから、フレーミングパラメータの連続値g=[g1,g2,g3]と表される。このとき、フレーミングパラメータの離散値q=[q1(g1),q2(g2),q3(g3)]は、以下の式(7)で算出できる。なお、Ak及びBkは、各次元kにおいて、任意に設定できるパラメータである。
【0070】
【0071】
前記した式(7)が、量子化部16に予め設定されている量子化規則Qに相当する。すなわち、量子化部16は、前記した式(7)を用いて、フレーミングパラメータを連続値gから離散値qに量子化する。
【0072】
逆量子化部21は、以下の式(8)で表されるように逆量子化する。この式(8)が、逆量子化部21に予め設定されている逆量子化規則Q-1に相当する。すなわち、逆量子化部21は、式(8)を用いて、フレーミングパラメータの離散推定値qk_estを連続推定値gk_estに逆量子化する。
【0073】
【0074】
<状況データ>
図6~
図8を参照し、サッカーの試合映像を一例として、状況データjについて説明する。
状況データjは、被写体の状況として、被写体の位置又は速度の少なくとも一方を示すデータである。例えば、状況データjは、
図6に示すように、サッカーの試合映像j
1である。
図6の試合映像j
1は、被写体である選手9
Aやボール9
Bの位置を示している。なお、
図6では、図面を見やすくするため、一部の選手9
Aのみ符号を付した。
【0075】
また、状況データjは、被写体の位置又は速度の少なくとも一方を画像化したマップであってもよい。
図7には、状況データjの一例として、選手やボールの位置を示す位置マップを図示した。
【0076】
図7(a)の位置マップj
2は、全選手とボールの位置を示している。このマップでは、〇が一方のチームの選手の位置を示し、×が他方のチームの選手の位置を示し、●がボールの位置を示している。
図7(b)の位置マップj
3は、一方のチームの選手の位置を示している。この位置マップj
3では、各選手の位置を、中心側から外周側にかけて濃淡を有する円領域で示した。この位置マップj
3によれば、ぼかした円領域で各選手の位置を大まかに示すので、推論モデルの精度を向上させることができる。
図7(c)の位置マップj
4は、他方のチームの選手の位置を、位置マップj
3と同様の円領域で示している。この位置マップj
4によれば、位置マップj
3と同様、推論モデルの精度を向上させることができる。
図7(d)の位置マップj
5は、ボールの位置を位置マップj
3と同様の円領域で示している。
【0077】
図8には、状況データjの一例として、選手の速度を示す速度マップを図示した。
図8(a)は、一方のチームの選手の位置と速度成分(X軸成分、Y軸成分)とを図示した。この速度成分は、所定の規則で正規化した値を示している。
図8(a)の速度マップj
6は、
図8(a)の各選手の位置を無視し、各選手の速度成分を点で示している。
図8(c)の速度マップj
7は、
図8(a)の各選手の速度成分をぼかした円領域で示している。この速度マップj
7によれば、ぼかした円領域で各選手の速度を大まかに示すので、推論モデルの精度を向上させることができる。
なお、
図8(b)及び
図8(c)では、説明のために縦軸及び横軸を図示したものであり、速度マップj
6,j
7に軸線を含める必要はない。
【0078】
ここで、状況データjとして、試合映像j1、位置マップj2~j5又は速度マップj6,j7の何れを用いてもよい。例えば、状況データjとして、試合映像j1、位置マップj2~j5又は速度マップj6,j7の何れか1つのみを用いてもよい。また、状況データjとして、試合映像j1、位置マップj2~j5又は速度マップj6,j7の2つ以上を任意に組み合わせてもよい。さらに、状況データjとして、両チームの選手の位置マップj3,j4を組み合わせると、推論モデルの精度を向上させることができる。
【0079】
[フレーミング領域学習装置の動作]
図9を参照し、フレーミング領域学習装置1の動作について説明する。
ステップS10において、データ選択部11は、状況データj(ν)とカメラパラメータθ(ν)とに紐づけられている時刻ν=nを選択する。
ステップS11において、時刻調整部12は、オフセット時刻Δnが予め設定される。そして、時刻調整部12は、時刻nにオフセット時刻Δを加算し、未来時刻(n+Δn)を算出する。
【0080】
ステップS12において、状況データ読出部13は、時刻nの状況データj(n)を状況データ記憶部10Aから読み出す。
ステップS13において、カメラパラメータ読出部14は、未来時刻(n+Δn)のカメラパラメータθ(n+Δn)をカメラパラメータ記憶部10Bから読み出す。
【0081】
ステップS14において、変換部15は、カメラパラメータθ(n+Δn)を世界座標系のフレーミングパラメータの連続値g(n+Δn)に変換する。
ステップS15において、量子化部16は、フレーミングパラメータの連続値g(n+Δn)を離散値q(n+Δn)に量子化する。
【0082】
ステップS16において、学習部17は、ステップS12で読み出した状況データj(n)と、ステップS15で量子化したフレーミングパラメータの離散値q(n+Δn)とを対応付けて学習することにより、フレーミングパラメータの学習済み推論モデルを生成する。
なお、ステップS16において、学習部17がフレーミングパラメータの連続値g(n+Δn)を直接学習する場合、ステップS15の処理を実行しなくともよい。
【0083】
[フレーミング領域推定装置の動作]
図10を参照し、フレーミング領域推定装置2の動作について説明する。
ステップS20において、推定部20は、状況データjを入力する。
ステップS21において、推定部20は、学習済み推論モデルにより、状況データjに応じたフレーミングパラメータの離散推定値q
estを出力する。
【0084】
ステップS22において、逆量子化部21は、フレーミングパラメータの離散推定値qestを連続推定値gestに逆量子化する。
ステップS23において、逆変換部22は、フレーミングパラメータの連続推定値gestをカメラパラメータの推定値θestに逆変換する。
なお、ステップS21において、推定部20がフレーミングパラメータの連続推定値gestを直接出力する場合、ステップS22の処理を実行しなくともよい。
【0085】
(第2実施形態)
図11を参照し、第2実施形態に係る学習部17の構成の一例を説明する。
学習部17は、学習の過程において学習パラメータを更新し、最終的な学習パラメータを学習済みパラメータPとして出力するものである。
図11に示すように、学習部17は、推定部170と、逆量子化部171と、逆量子化部172と、誤差評価部173と、パラメータ更新部174と、パラメータ記憶部175とを備える。
【0086】
推定部170は、パラメータ記憶部175の学習パラメータで構成される推論モデルであり、
図3の推定部20と同様、状況データjを入力すると、フレーミングパラメータの離散推定値q
estを逆量子化部171に出力する。
【0087】
逆量子化部171は、
図3の逆量子化部21と同様、推定部170から入力されたフレーミングパラメータの離散推定値q
estを連続推定値g
estに逆量子化するものである。そして、逆量子化部171は、逆量子化したフレーミングパラメータの連続推定値g
estを誤差評価部173に出力する。
【0088】
逆量子化部172は、
図3の逆量子化部21と同様、
図2の量子化部16から入力されたフレーミングパラメータの離散値qを連続値gに逆量子化するものである。そして、逆量子化部172は、逆量子化したフレーミングパラメータの連続値gを誤差評価部173に出力する。
【0089】
なお、推定部170がフレーミングパラメータの連続推定値g
estを直接出力する場合、学習部17は、逆量子化部171及び逆量子化部172を備えなくともよい。この場合、推定部170は、フレーミングパラメータの連続推定値g
estを誤差評価部173に出力し、
図2の変換部15からフレーミングパラメータの連続値gを誤差評価部173に入力すればよい。
【0090】
誤差評価部173は、逆量子化部171から入力されたフレーミングパラメータの連続推定値gestと、逆量子化部172から入力されたフレーミングパラメータの連続値gとの誤差を算出するものである。例えば、誤差評価部173は、2乗和誤差や交差エントロピー誤差を算出する。そして、誤差評価部173は、算出した誤差をパラメータ更新部174に出力する。
【0091】
パラメータ更新部174は、誤差評価部173で算出したフレーミングパラメータの連続推定値gestとフレーミングパラメータの連続値gとの誤差から学習信号を生成し、パラメータ記憶部175の学習パラメータを更新するものである。つまり、パラメータ更新部174は、誤差評価部173で算出した誤差が最小となるように、パラメータ記憶部175の学習パラメータを逆伝搬で更新する。
【0092】
パラメータ記憶部175は、教師データとして、パラメータ更新部174が更新した学習パラメータを記憶する記憶装置である。パラメータ記憶部175の学習パラメータは、推定部170によって参照される。
【0093】
このように、学習部17は、推定部170が出力したフレーミングパラメータの推定値qestをカメラ座標系に変換する必要がないので、演算量を抑えることができる。
【0094】
(第3実施形態)
図12を参照し、第3実施形態に係る学習部17Bの構成の一例を説明する。
第2実施形態に係る学習部17では、世界座標系でフレーミングパラメータの連続推定値g
estとフレーミングパラメータの連続値gとの誤差を評価している。これに対し、第3実施形態に係る学習部17Bでは、カメラ座標系でカメラパラメータの推定値θ
estとカメラパラメータθとの誤差を評価する点が、第2実施形態と異なっている。
【0095】
図12に示すように、学習部17Bは、推定部170と、逆量子化部171と、逆量子化部172と、パラメータ更新部174と、パラメータ記憶部175と、逆変換部176と、誤差評価部177とを備える。
なお、逆変換部176及び誤差評価部177以外の構成は、第2位実施形態と同様のため、説明を省略する。
【0096】
逆変換部176は、
図3の逆変換部22と同様、逆量子化部171から入力されたフレーミングパラメータの連続推定値g
estをカメラパラメータθ
estに逆変換するものである。そして、逆変換部176は、逆変換したカメラパラメータの推定値θ
estを誤差評価部177に出力する。
【0097】
誤差評価部177は、逆変換部176から入力されたカメラパラメータの推定値θ
estと、
図2のカメラパラメータ読出部14から入力されたカメラパラメータθとの誤差を算出するものである。例えば、誤差評価部177は、2乗和誤差や交差エントロピー誤差を算出する。そして、誤差評価部177は、算出した誤差をパラメータ更新部174に出力する。
【0098】
このように、学習部17Bは、カメラマンが構図を決めるカメラ座標系で誤差を評価するので、推定精度を向上させることができる。
【0099】
(変形例)
以上、本発明の各実施形態を詳述してきたが、本発明は前記した各実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
第2実施形態及び第3実施形態では、学習部の具体的な構成を説明したが、これに限定されない。
【0100】
前記した各実施形態では、サッカーの試合映像を一例として説明したが、これに限定されない。特に、本発明は、カメラマンのカメラワークと被写体の位置との間に相関がある映像であれば、高精度なカメラパラメータを推定できるので好ましい。例えば、本発明は、バスケットボールやラグビーなどの試合映像、コンサートや舞台などの撮影映像に最適である。
さらに、本発明は、世界座標系が共通する場合、学習済み推論モデルをそのまま利用できる。例えば、国際規格に対応したサッカーフィールドであれば、同一の世界座標系を設定できるので、学習済み推論モデルをそのまま利用できる。
【0101】
前記した第1実施形態では、カメラパラメータの読み出し時刻をオフセットさせるものとして説明したが、これに限定されない。つまり、オフセット時刻を0に設定してもよい。この場合、学習部は、同一時刻の状況データとフレーミングパラメータとを対応付けて学習することになる。
前記した第1実施形態では、変換規則及び逆変換規則の一例と、量子化規則及び逆量子化規則の一例とを説明したが、これに限定されない。
【0102】
前記した各実施形態では、フレーミング領域学習装置及びフレーミング領域推定装置を独立したハードウェアとして説明したが、本発明は、これに限定されない。例えば、本発明は、コンピュータが備えるCPU、メモリ、ハードディスク等のハードウェア資源を、前記した各装置として動作させるプログラムで実現することもできる。これらのプログラムは、通信回線を介して配布してもよく、CD-ROMやフラッシュメモリ等の記録媒体に書き込んで配布してもよい。
【符号の説明】
【0103】
1 フレーミング領域学習装置
10A 状況データ記憶部(被写体情報記憶部)
10B カメラパラメータ記憶部
11 データ選択部
12 時刻調整部
13 状況データ読出部(被写体情報読出部)
14 カメラパラメータ読出部
15 変換部
16 量子化部
17 学習部
2 フレーミング領域推定装置
20 推定部
21 逆量子化部
22 逆変換部
170 推定部
171 逆量子化部
172 変換部
173,177 誤差評価部
174 パラメータ更新部
175 パラメータ記憶部
176 逆変換部