【実施例1】
【0012】
(測定装置が実現されるハードウェア)
本実施形態に係る測定装置は、典型的には、プログラムをコンピュータが実行することによって実現される。当該コンピュータは、各種の出力装置や入力装置に接続され、これらの機器と情報を送受する。
【0013】
コンピュータにて実行されるプログラムは、当該コンピュータが通信可能に接続されたサーバにより配布、販売することができるほか、CD-ROM(Compact Disk Read Only Memory)やフラッシュメモリ、EEPROM(Electrically Erasable Programmable ROM)などの非一時的(non-transitory)な情報記録媒体に記録した上で、当該情報記録媒体を配布、販売等することも可能である。
【0014】
プログラムは、コンピュータが有するハードディスク、ソリッドステートドライブ、フラッシュメモリ、EEPROM等などの非一時的な情報記録媒体にインストールされる。すると、当該コンピュータにより、本実施形態における情報処理装置が実現されることになる。一般的には、コンピュータのCPU(Central Processing Unit)は、コンピュータのOS(Operating System)による管理の下、情報記録媒体からRAM(Random Access Memory)へプログラムを読み出してから、当該プログラムに含まれるコードを解釈、実行する。ただし、CPUがアクセス可能なメモリ空間内に情報記録媒体をマッピングできるようなアーキテクチャでは、RAMへの明示的なプログラムのロードは不要なこともある。なお、プログラムの実行の過程で必要とされる各種情報は、RAM内に一時的(temporary)に記録しておくことができる。
【0015】
なお、汎用のコンピュータにより本実施形態の情報処理装置を実現するのではなく、専用の電子回路を用いて本実施形態の情報処理装置を構成することも可能である。この態様では、プログラムを電子回路の配線図やタイミングチャート等を生成するための素材として利用することもできる。このような態様では、プログラムに定められる仕様を満たすような電子回路がFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)により構成され、当該電子回路は、当該プログラムに定められた機能を果たす専用機器として機能して、本実施形態の情報処理装置を実現する。
【0016】
以下では、理解を容易にするため、測定装置は、コンピュータがプログラムを実行することによって実現される態様を想定して説明する。
【0017】
図1は、本発明の実施形態に係る測定装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【0018】
本図に示すように、測定装置101は、テンプレート部102、クリップ部103、算定部104、推定部105を備える。
【0019】
ここで、テンプレート部102は、球状体が撮影された動画に含まれる複数のフレームのいずれか、もしくは、当該動画の撮影条件と共通する撮影条件により当該球状体が撮影された写真画像から、当該球状体が撮影された円状領域を抽出することにより、テンプレート画像を取得する。テンプレート画像の抽出は、ユーザの指示に基いて行うこととしても良いし、後述するように、自動抽出をすることとしても良い。
【0020】
当該動画は、ハイスピードビデオカメラにより撮影されたものとするのが典型的である。なお、本実施形態で利用される動画は、500FPS程度のフレームレートで撮影されたものを想定しているが、フレームレートは適宜変更が可能である。
【0021】
テンプレート画像は、球状体が撮影された動画のいずれかのフレームもしくは当該動画の撮影条件と共通する撮影条件で撮影された写真画像のいずれかから、球状体が撮影された円状領域を含む領域を、抽出したものである。
【0022】
図2は、本発明の実施形態に係る測定装置にて処理される動画に含まれるフレームの例を示す説明図である。本図は、野球の投手がボールを投げる様子を斜め後方約20mからハイスピードビデオカメラで撮影した動画に含まれるフレームの1枚である。
【0023】
図3は、本発明の実施形態に係る測定装置にて取得されたテンプレート画像の例を示す説明図である。画像をコンピュータで処理するにあたっては、円状領域をそのまま処理するのは計算上不利なことが多いため、本実施形態では、本図に示すように、テンプレート画像としては、動画のフレームのいずれかから、球状体が描画された正方形の領域を切り出した画像がそのまま採用されている。
【0024】
このように、処理対象の動画もしくは共通する撮影条件で撮影された写真画像からテンプレート画像を抽出する点に、本発明の特徴の一つがある。本実施形態のテンプレート画像は、動画内の他のフレームと、撮影された周囲の環境、たとえば、背景の明るさや、照明の方向、明るさ、色合い、カメラの精細度や絞り量などの条件が揃っているので、高い精度で測定が可能となるのである。なお、撮影条件が共通するか否かは、たとえば上記のような各種の条件が一致するか否かにより判断することができるが、どの条件を採用するかは、実験等により定めることができる。また、写真画像は、共通する撮影条件で撮影された他の動画内の一つのフレームを採用しても良いし、共通撮影条件で撮影された他の動画から抽出されたテンプレート画像を、そのまま、今回の動画の処理に利用するテンプレート画像としても良い。
【0025】
一方、クリップ部103は、複数のフレームのそれぞれから、取得されたテンプレート画像にそれぞれ類似する複数の類似領域を抽出して拡縮することにより、球状体の中心位置および大きさが所定の誤差範囲内で一致するように球状体が描画された一連のクリップ画像を取得する。
【0026】
具体的には、各フレームから背景を除去するためのマスク処理、各フレームとテンプレート画像との照合を行うことにより当該フレームにおいて球状体が撮影された箇所を抽出するテンプレートマッチング(template maching)、ならびに、円を検出するハフ(Hough)変換を適用して画像を適宜移動、拡縮することにより、測定装置101は、球状体が同じ大きさで描画され、その中心が共通する複数のクリップ画像を得る。
【0027】
図4は、本発明の実施形態に係る測定装置にて取得されたクリップ画像の例を示す説明図である。本図に示すように、クリップ画像は、同じ大きさの正方形で表現されており、球状体が正方形内に描画されている位置や大きさが、揃えられている。
【0028】
さらに、算定部104は、複数のクリップ画像同士の類否度を算定して、当該算定された類否度を当該複数のクリップ画像同士が抽出されたフレームの撮影順に並べた行列を取得する。
【0029】
図5は、本発明の実施形態に係る測定装置にて取得された類否度を表す行列を示す説明図である。本図では、類否度の行列の各要素を、白黒の濃淡で表現している。類否度の行列の各要素は、その行数番目のクリップ画像とその列数番目のクリップ画像との類否度を表している。
【0030】
ここで、類否度としては、クリップ画像同士がどれだけ異なるかを表す相違度を利用しても良いし、クリップ画像同士がどれだけ類似するかを表す類似度を利用しても良い。相違度としては、たとえば、各画素の差の重み付き平均や重み付き総和を採用することができる。類似度としては、たとえば、各画素の画素値からなるベクトルがなす角の余弦(画素値を並べたベクトルの方向ベクトル同士の内積)を採用することができる。
【0031】
図5に示す例では、類否度の濃淡が、斜め方向の縞模様になって現われている。この縞模様の間隔が、回転周期に相当する。そこで、推定部105は、算定された類否度の行列における要素の分布から、球状体の回転速度を推定する。回転速度が推定された後は、クリップ動画同士の類似性、ならびに、透視投影や3次元空間における回転に関する技術を応用して、回転軸を推定することも可能である。回転軸の推定の詳細については、後述する。
【0032】
このように、本実施例では、回転の情報として、単位時間あたりの回転数(回転速度)、回転周期、回転軸の方向等を推定することが可能である。
【0033】
なお、上記の各部における処理は、コンピュータのCPUや画像処理プロセッサ、専用の電子回路などにより実行される。また、処理の対象となる各種の動画や画像は、RAMやハードディスク、ソリッドステートドライブ等の記憶装置に保存される。
【0034】
図11は、本発明の実施形態に係る測定装置にて実行される測定方法の手順を示すフローチャートである。以下、測定装置101にて実行される処理にて、詳細に説明する。
【0035】
まず、測定装置101は、処理対象となる動画を受け付ける(ステップS201)。上記のように、当該動画は、球状体を撮影したものである。撮影には、ハイスピードビデオカメラを利用することで、球状体の回転を高い精度で分析することが可能である。標本化定理に基づいて、少なくとも、所望の回転速度の2倍以上のフレームレートで球状体を撮影することが必要である。実験によれば、想定される球状体の回転速度の10倍程度のフレームレートで撮影を行うことで、好ましい結果が得られている。以下、理解を容易にするため、ステップS201で受け付けられた処理対象となる入力動画を、V
srcと表記する。
【0036】
一般に、動画Vのt (1≦t≦N(V))番目のフレームの、横方向u (1≦u≦W(V))、縦方向v (1≦v≦H(V))の画素位置の画素値をV(u,v,t)と表記することとする。tをフレームレートで割った値が、現実の時間経過に相当し、N(V)をフレームレートで割った値が、動画Vの撮影時間長に相当する。W(V)およびH(V)は、動画Vの各フレームの幅および高さを画素単位で表現した値である。なお、以下では、
N = N(V
src), W = W(V
src), H = H(V
src)
のように略記する。
【0037】
次に、測定装置101は、入力動画V
srcから、平均画像I
meanおよびマスク動画V
maskを生成する(ステップS202)。平均画像I
meanは、入力動画V
srcから簡易に背景を表す画像を生成したものであり、以下のように定義できる。
I
mean(u,v) = Σ
t=1N V
src(u,v,t)/N
【0038】
マスク動画V
maskは、入力動画V
srcから背景に相当するものを除去してモノクロ化した差分動画であり、以下のように定義できる。
V
mask(u,v,t) = 0, if diff(V
src(u,v,t), I
mean(u,v)) < BK
thresh;
V
mask(u,v,t) = 1, otherwise
【0039】
ここで、diff(p,q)は、画素値p, q同士の相違を求める演算である。p, qがグレースケール画像の画素の場合には、画素値の差の絶対値を計算すれば良い。p, qがカラー画像の画素の場合には、各要素の差の自乗和、あるいは、その平方根を計算すれば良い。また、カラー画像に各種のフィルタをかけてグレースケール化してから、グレースケール画像用のdiff()を適用しても良い。以下では、理解を容易にするため、入力動画V
srcとして、各画素値が0-255の間のグレースケール動画を採用して説明する。
【0040】
BK
threshは、閾値であり、上記仕様のグレースケール動画では、たとえば、12-15程度の数値を適用することができるが、その値は適宜変更が可能である。
【0041】
なお、マスク動画V
maskに対してノイズを除去する各種の処理を施して、その処理結果をマスク動画V
maskとして扱うこととしても良い。たとえば、マスク動画V
maskに対して、1ピクセル単位のerosionを2回、dilationを2回行うopening処理を施す、等である。
【0042】
さて、入力動画V
srcからマスク動画V
maskが得られたら、測定装置101のテンプレート部102は、ユーザの指示に基づいて、あるいは、これらの情報を参照して自動的に、テンプレート画像I
tempを得る(ステップS203)。テンプレート画像I
tempは、入力動画のいずれかのフレームから球状体が描画されている正方形領域を抽出して得られる幅および高さが2×R+1の画像である。ここで、Rは、フレームにおいて球状体が描画されている半径をピクセル数で表現したものである。また、テンプレート画像において球状体が描画されていない領域は、元のフレームの画素をそのまま維持しても良いし、透明色や球状体に想定される色とは異なるあらかじめ定められた色を配置しても良い。
【0043】
テンプレート画像I
tempは、処理を行うユーザの指示に基づいて入力動画V
srcから取得しても良いが、後述する実施例に開示する手法により、自動的に抽出することも可能である。
【0044】
図3に示すようなテンプレート画像が得られたら、測定装置101は、入力動画V
src、マスク動画V
mask、テンプレート画像I
tempを参照して、マッチ動画V
tmを生成する(ステップS204)。マッチ動画V
tmは、以下のように定義される。
K(u,v,t) = Σ
i=-RR Σ
j=-RR 〔V
src(u+i,v+j,t) - I
temp(i+R+1,j+R+1)〕
2;
V
tm(u,v,t) = 0, if V
mask(u,v,t) = 0;
V
tm(u,v,t) = exp(-〔K(u,v,t)〕
2), if V
mask(u,v,t) ≠ 0
なお、テンプレート画像I
tempの背景を無視することも可能である。すなわち、
K(u,v,t) = Σ
i=-RR Σ
j=-RR fn(i,j,t)
2;
fn(i,j,t) = V
src(u+i,v+j,t) - I
temp(i+R+1,j+R+1),
if (i+R+1)
2+(j+R+1)
2≦(R+1)
2;
fn(i,j,t) = 0, otherwise
とするのである。これは、テンプレート画像の形状として円形を採用したことに相当する。
【0045】
なお、K(u,v,t)の値は、上記の総和計算の適用結果に適当な正定数を乗じても良いし、自乗和ではなく、絶対値の総和を利用しても良い。また、V
tm(u,v,t)の値は、上記の指数関数の適用結果に適当な定数を乗じても良いし、他の減衰関数を利用することとしても良い。
【0046】
ついで、測定装置101は、有効フレーム、すなわち、球状体が撮影されているフレームを抽出する(ステップS205)。これは、球状体が画面外から画面内に入ってきたり、画面内から画面外に出ていく状況を想定したものである。測定装置101は、適当な閾値TM
threshを設けて、各フレームV
tm(u,v,t)の画素値の最大値
max
1≦u≦W max
1≦v≦H V
tm(u,v,t)
を計算する。
【0047】
そして、測定装置101は、フレーム番号S+1, S+2, ..., S+N'についていずれも
max
1≦u≦W max
1≦v≦H V
tm(u,v,S+1)≧TM
thresh;
max
1≦u≦W max
1≦v≦H V
tm(u,v,S+2)≧TM
thresh;
...;
max
1≦u≦W max
1≦v≦H V
tm(u,v,S+N')≧TM
thresh
を満たす連続フレームのうち、N'が最大となるものを探す。これにより、球状体が一旦画面の外に出て、再度画面内に入ってきたときには、長い方の連続フレームが選ばれることになる。
【0048】
S+1は、球状体がフレーム内に撮影されている最初のフレーム番号であり、N'は、球状体がフレーム内に撮影されている時間長をフレーム数で表現したものである。
【0049】
さて、マッチ画像V
tmに含まれるフレーム番号tのフレームにおける最大画素値を有する画素の位置(x
tm(t),y
tm(t))は、
(x
tm(t),y
tm(t) = argmax
(u,v) | 1≦u≦W, 1≦v≦H V
tm(u,v,t)
のように定義できる。すなわち、フレーム内の画素値の最大値を有する画素を探し、その画素位置を取得すれば良い。
【0050】
さて、位置(x
tm(t),y
tm(t))には、球状体の中心が描画されていると推定することができる。しかしながら、実際には、計算誤差や標本化誤差のため、数ピクセルのずれが生じる。また、球状体とカメラとの距離が時間経過に応じて変化する場合には、動画内に描画される球状体の大きさにも変化が生じる。
【0051】
そこで、本実施形態では、測定装置101は、ハフ変換を利用することにより、各円形状を検出する。マスク動画V
maskの各フレームにおいて、画素値が0と非0の境界となる境界画素を抽出し、当該境界画素に最もフィットする円をハフ変換により検出するのである(ステップS206)。
【0052】
上記のように、テンプレート画像I
tempを照合することで検出される円の中心のおおよその推定位置は、(x
tm(t),y
tm(t))であるから、マスク動画V
maskの各フレームの全体にハフ変換を適用する必要はない。適用する領域を、(x
tm(t),y
tm(t))の周辺だけとすれば、計算時間を大幅に短縮できる。
【0053】
すなわち、フレーム番号tのフレームにおいて、ハフ変換により検出される円の中心位置を(x(t),y(t)), 半径をr(t)としたとき、これらの値が以下の範囲に属する、という制約の下で、ハフ変換を適用すれば良い。
0.5×R ≦ r(t) ≦ R;
x
tm(t)-0.5×R ≦ x(t) ≦ x
tm(t)+0.5×R;
y
tm(t)-0.5×R ≦ y(t) ≦ y
tm(t)+0.5×R
なお、球状体が次第にカメラに近付くような向きで撮影を行った場合、たとえば、キャッチャーの背後からピッチャー方向にボールを撮影した場合には、r(t)の上限は、1.5×Rや2×R等、適宜状況に応じて、検索範囲を広げることが可能である。
【0054】
また、テンプレート画像I
tempを選ぶ際には、球状体ができるだけ大きく描画されているフレームから抽出することとすれば、r(t)の上限をRのままとしても良い。
【0055】
ハフ変換により各フレームに描画された球状体の中心位置(x(t),y(t))、および半径r(t)が得られたら、測定装置101のクリップ部103は、入力動画V
srcのフレーム番号S+1, S+2, ..., S+N'のフレームから、中心位置(x(t),y(t))、半径r(t)の円領域をクリップし、これを直径2×R+1の円に拡縮することにより、幅および高さ2×R+1の正方形形状のフレームからなるクリップ動画V
clipを生成する(ステップS207)。
【0056】
すなわち、入力動画のフレーム番号t+Sのフレームを、円の中心位置(x(t),y(t))が原点になるように座標変換して、拡縮率
E(t) = R/r(t)
あるいは
E(t) = (2×R+1)/(2×r(t))
で拡縮した後、原点が(R+1,R+1)へ移動するように座標変換すれば、クリップ動画V
clipのフレーム番号tのフレームが得られる。拡縮率が2通りあるのは、周囲の1ドットを含めるか否かの違いであり、いずれを選択するかは任意である。さて、クリップ動画V
clipと入力動画V
srcの画素値の最も単純な対応関係は、以下の通りである。
V
clip(u,v,t) = V
src((u-R-1)/E(t)+x(t), (v-R-1)/E(t)+y(t), t+S)
クリップ動画V
clip(u,v,t)においては、1≦u≦2×R+1, 1≦v≦2×R+1, 1≦t≦N' が、有効な範囲である。すなわち、
H(V
clip) = W(V
clip) = 2×R+1;
N(V
clip) = N'
【0057】
なお、円形状の背景の画素は、画素値0としても良いし、上記の式のように、もとの画像の画素値をそのまま利用しても良い。また、クリップ動画を得る際には、比較的小さい領域を拡縮することとなるので、各種の平滑化処理を適用しても良い。たとえば、標準偏差が2ピクセル程度のカーネルを有するガウシアン平滑化等を適用することができる。このようにして、
図4に示すようなクリップ画像が得られる。
【0058】
クリップ動画V
clipが得られたら、算定部104は、フレーム同士の類否度を表す行列Dを、以下のように計算する(ステップS208)。ここで、添字i,jは、行列内におけるi行j列の要素を表す。
D
i,j = Σ
u=12×R+1 Σ
v=12×R+1
G
σ(u-R-1,v-R-1)×〔V
clip(u,v,i) - V
clip(u,v,j)〕
2【0059】
なお、後述する処理においては、類否度行列Dの一部の要素の値が参照されるのみであるので、全要素の計算は、実際には不要である。また、G
σ(u-R-1,v-R-1)は、クリップ動画の各フレームの中心について対称な、2次元ガウス分布に基づく重み付けである。
G
σ(u-R-1,v-R-1) = exp(-〔(u-R-1)
2+(v-R-1)
2〕/〔2×σ
2〕)
すなわち、球状体は、周縁付近に比べて中心付近の方が綺麗に精度良く撮影されている。そこで、中心付近の重み付けを大きくするのである。ガウス分布の広がりを表す標準偏差σとしては、たとえば、(2×R+1)/6などの定数を採用することができる。
【0060】
上記の通り、
図5では、行列Dの各要素の値を濃淡で表現しており、その濃淡が、斜め方向の縞模様になって現われている。
【0061】
なお、類否度としては、上記の計算式に限らず、単純な差の自乗和や差の絶対値の和等、種々の手法を採用することができる。
【0062】
このように、類否度の行列が得られたら、測定装置101の推定部105は、当該行列の要素の分布から、球状体の回転の諸元を推定する(ステップS209)。以下では、まず、回転周期を求める手法について説明する。
【0063】
行列Dの対角軸に平行に各要素を足し合わせることで、撮影順の差kのフレーム同士の相違度の平均に相当する相違度グラフv
kが得られる。すなわち、
v
k = Σ
i=1N'/3 D
i,i+k【0064】
撮影順の差kはフレーム番号の相違であり、上記の計算によれば、その範囲は、1≦k≦(2×N'/3)の間にある。
図6は、本発明の実施形態に係る測定装置にて取得された相違度グラフv
kを示す説明図である。本図に示すように、v
kは、行列Dを対角軸方向から見たときの平均的な要素の変化を表しており、相違度が小さい値が略一定間隔で出現していることがわかる。この間隔が、球状体が1回転するのに要するフレーム数に相当する。以下、球状体が1回転するのに要するフレーム数、すなわち、上記の間隔を、v
kの周期Tと表記する。
【0065】
v
kの周期Tを推定する手法としては、種々の技術を適用することができる。たとえば、以下の3通りの手法を採用することができる。
【0066】
第1の手法は、離散コサイン変換を利用するものである。離散コサイン変換では、推定部105は、数列v
kに対して、幅(M = 2×N'/3)のハニング窓関数を乗じて得られる数列w
k(ハニング窓付きv
k)に、離散コサイン変換を施す。
【0067】
離散コサイン変換DCT-IIを採用した場合には、以下の関係が成立する。
C
k = Σ
n=1M w
n×cos〔π×k×(2×n+1)/(2×M)〕;
w
k = C
1/2 + Σ
n=2M C
n×cos〔π×n×(2×k+1)/(2×M)〕
【0068】
図7は、本発明の実施形態に係る測定装置にて取得された相違度グラフw
k(ハニング窓付き相違度グラフv
k)を示す説明図である。
図8は、本発明の実施形態に係る測定装置における離散コサイン変換の結果C
kを示す説明図である。これらの図に示すように、離散コサイン変換を施すことによって、数列C
kが得られる。この数列のピークのうち、k=1を除き、次のピークを与える添字をk
*とすると、周期Tは、以下のように計算可能である。
T = 2×M/k
* - 0.5
【0069】
第2の手法は、離散フーリエ変換を利用するものである。すなわち、数列w
kに対して、以下の離散フーリエ変換を施す。
P
f = (1/M)×Σ
n=1M w
n×exp(-i×2×π×k×n/M)
【0070】
図9は、本発明の実施形態に係る測定装置における離散フーリエ変換の結果P
kのパワースペクトルを示す説明図である。本図に示すように、離散フーリエ変換により、複素数列P
kが得られる。数列P
kのパワースペクトルには、周期的なピークが出現しており、k=1を除く最初のピークを与える添字をk
*とすると、周期Tは、以下のように計算可能である。
T = M/k
*【0071】
第3の手法は、平均振幅差関数(Average Magnitute Difference Function)を利用するものである。ここで、平均振幅差関数a
kは、以下のように計算できる。
a
k = 1/〔M-k〕×Σ
i=1M-k |v
i - v
i+k|
平均振幅差関数a
kは、v
iと、これをkだけずらしたv
i+kとの差分を表すものである。
【0072】
図10は、本発明の実施形態に係る測定装置における平均振幅差関数の適用結果a
kを示す説明図である。a
kに対して、k=0を除くピークのうち突出した極小値を与える添字をk
*とすると、周期Tは、以下のように計算可能である。
T = k
*【0073】
このように、本実施形態では、複数の手法により、縞模様の間隔(撮影順の差が等しいクリップ画像同士の類否度の平均値の変化の周期)Tを推定する。そして、全手法について、同じ値Tが得られたら、これは、回転周期の測定結果としての確度が高いことになる。
【0074】
一方、複数の手法で得られた周期が異なることもある。典型的には、ある手法で得られた値の2倍の値や、ある手法で得られた値から0.5乃至1だけずれた値が、他の手法で得られる状況である。このような場合には、多数決によりいずれを推定値とするかを決定しても良いし、ユーザにいずれが正しいかを選択させることとしても良い。
【0075】
さて、上記のようにして、得られた周期Tは、整数精度で表現されている。そこで、再度v
kに立ち戻り、周期の微調整を行う。すなわち、
T
1 = argmin
0+T/2≦k<(1+T/2) v
k;
T
2 = argmin
1+T/2≦k<(2+T/2) v
k;
T
3 = argmin
2+T/2≦k<(3+T/2) v
k;
...;
T
L = argmin
L-1+T/2≦k<(L+T/2) v
k
ただし、Lは、L+T/2≦N'を満たす最大値とする。
【0076】
そして、k=T, 2×T, 3×T, ..., L×Tのそれぞれに一番近いv
kの極小値を検出し、その添字T
1, T
2, T
3, ..., T
Lを得る。
【0077】
これらの間隔T
2-T
1, T
3-T
2, ..., T
L-T
L-1の平均値を、微調整された周期T
*とする。
T
* = (T
L-T
1)/(L-1)
ここで、得られた周期T
*は、球状体の一回転にかかるフレーム数に相当する。したがって、球状体の回転周期の推測値は、T
*をフレームレートで除算することによって得られる。また、球状体の回転数(回転速度)は、球状体の回転周期の逆数である。
【0078】
さらに、球状体の回転軸を推定することも可能である。まず、回転軸の軸方向の候補を表す単位ベクトルa
1, a
2, ..., a
Zの集合Aを用意する。候補の単位ベクトルは、できるだけ等間隔とすることが望ましいので、正多面体や、準正多面体の頂点から求めたり、乱数を発生させることにより生成しても良い。
【0079】
次に、入力動画V
srcの平均画像I
meanを求めるのと同様に、クリップ動画V
clipの平均画像J
meanを求める。そして、クリップ動画V
clipから平均画像J
meanを減算したボール動画V
ballを作る。
J
mean(u,v) = Σ
t=1N' V
clip(u,v,t)/N';
V
ball(u,v,t) = V
clip(u,v,t) - J
mean(u,v)
【0080】
さて、上記のように、周期T
*がフレーム単位で求められているから、球状体は、1フレームあたり、
ω
0 = 2×π/T
*
だけ回転することとなる。
【0081】
回転軸の推定にあたっては、以下のように考える。すなわち、もし球状体の回転軸が方向aに一致しているならば、
(1)ボール動画V
ballのフレーム番号tのフレームから、当該ボール動画の各画素を半球面に投影する変換fを施し、
(2)当該半球面を方向aの回転軸周りにk×ω
0だけ回転させてから、
(3)回転後の半球面を平面に投影することにより得られる画像は、ボール動画V
ballのフレーム番号t+kのフレームと略一致するはずである。
【0082】
上記(1)-(3)により、フレーム番号tのフレーム内における位置(u,v)の画素が、フレーム番号t+kのフレーム内では、位置(u',v')の画素に移動すると考えると、両者間の変換は、以下のように計算することができる。
f(u,v) = ((u-R-1)/R, (v-R-1)/R, 〔1-((u-R-1)/R)
2-((v-R-1)/R)
2〕
1/2);
f
-1(x,y,z) = (x×R+R+1, y×R+R+1);
(u',v') = f
-1(ρ(a,k×ω
0)f(u,v))
ここで、ρ(a,k×ω
0)は、方向aの回転軸周りの角度k×ω
0の回転を表す回転行列である。また、半球面と平面の変換は、平行投影を仮定している。
【0083】
また、上記(1)-(3)により、フレーム番号tのフレーム内における位置(u'',v'')の画素が、フレーム番号t+kのフレーム内では、位置(u,v)の画素に移動すると考えると、両者間の変換は、以下のように計算することができる。
(u'',v'') = f
-1(ρ(a,-k×ω
0)f(u,v))
【0084】
その上で、方向aの回転軸についての評価関数E(a)を、たとえば以下のように定める。
E(a) = Σ
t=1T*Σ
u=12×R+1Σ
v=12×R+1
G
σ(u,v) 〔V
ball(u,v,t) - V
ball(u',v',t+k)〕
2
+Σ
t=1T*Σ
u=12×R+1Σ
v=12×R+1
G
σ(u,v) 〔V
ball(u'',v'',t) - V
ball(u,v,t+k)〕
2
このほか、評価関数E(a)は、以下のように定めても良い。
E(a) = {Σ
t=1T*Σ
u=12×R+1Σ
v=12×R+1G
σ(u,v)G
σ(u',v')〔V
ball(u,v,t) - V
ball(u',v',t+k)〕
2}/
{Σ
t=1T*Σ
u=12×R+1Σ
v=12×R+1G
σ(u,v)G
σ(u',v')}
この評価関数E(a)では、回転前と回転後の位置を使って係数を計算しているため、係数が回転軸aに依存することになり正規化のための分母が必要になっている。
【0085】
そして、球状体の回転軸の推定値a
*を、以下のように求める。
a
* = argmin
a∈A E(a)
すなわち、E(a
1), E(a
2), ..., E(a
Z)の最小値が、添字iの単位ベクトルa
iに対する評価値E(a
i)であれば、a
* = a
iとするのである。
【0086】
なお、実験によれば、回転量k×ω
0が、10度乃至50度の間に収まるようにkを選べば、推定される回転軸a
*はほとんどの場合で同じ方向となることが実験によりわかっている。したがって、kは、上記の条件を満たす範囲で選択することが望ましい。
【0087】
また、上記の条件を満たす範囲で複数のkを選択し、それぞれで回転軸を求めた推定して、多数決をとることとしても良い。
【0088】
このようにして、回転周期、回転数(回転速度)、回転軸の方向等の回転の諸元が得られたら、測定装置101は、回転の諸元の推定値を出力して(ステップS210)、本処理を終了する。
【実施例2】
【0089】
上記のように、テンプレート画像I
tempは、ユーザの指示に基づいて入力動画V
srcから抽出することも可能であるが、本実施例は、テンプレート画像I
tempを自動または半自動で取得する。
図12は、本発明の実施形態に係る測定装置にて実行されるテンプレート画像の自動取得の手順を示すフローチャートである。
【0090】
自動で行う態様では、ステップS202の後、マスク動画V
maskから、適当なフレーム(フレーム番号B)を選択し(ステップS401)、当該フレーム内における画素値0と1の境界画素に対して、円検出用のハフ変換を適用して、最もフィットする円を検出する(ステップS402)。
【0091】
ここでのハフ変換の適用範囲は、フレーム内の全体とする。また、検出用の円の直径の範囲としては、当該球状体を当該カメラで撮影したときの、典型的なフレーム内での直径の0.5倍乃至2倍程度とすれば良い。この範囲は、適宜変更が可能である。なお、ハフ変換を適用する前に、絞り込みを行っても良い。すなわち、画素値0と画素値1の境界を辺とする多角形をすべて、あるいは、幅と高さが同程度(たとえば、0.8倍-1.25倍の範囲。)の多角形を選び出して、当該多角形に対してハフ変換を適用し、最も適合した円を検出結果とすれば良い。このほか、ハフ変換以外の円検出手法や略正方形検出手法を採用しても良い。特に、撮影された球状体を略正方形に近似して検出する手法には、種々の高速なアルゴリズムが存在するので、球状体の撮影された箇所を簡易かつ高速に得ることが可能である。
【0092】
このようにして球状体が撮影された箇所が検出されたら、これに基づいてテンプレート画像I
tempを抽出する(ステップS203)。
【0093】
そして、自動抽出されたテンプレート画像I
tempによってテンプレートマッチングを行った結果、フレーム番号S+1, S+2, ..., S+N'が連続する有効フレームとして選ばれたら(ステップS204-S205)、この中にフレーム番号Bのフレームが含まれており、かつ、N'が十分に長いか、を、確認する(ステップS403)。N'が十分に長いか否か、は、たとえば、Nに対するN'の割合が閾値(たとえば、1/3や1/4等)以上であるか否かにより判定することができる。また、球状体の平均的な移動速度を測定して、その移動速度で球状体が平均的な軌跡に沿って移動したときに、ハイスピードビデオカメラの視野の中にどれぐらいの時間長登場するか、を、あらかじめ測定等により調べておき、当該登場時間長のフレーム数に対するN'の割合が閾値(たとえば、1/2や1/3等)以上であるか否かにより判定しても良い。
【0094】
もしN'が短かかったり、フレーム番号Bが含まれていない場合には(ステップS403;No)、テンプレート抽出用に選択したフレーム番号Bが適切でなかった、ということになる。この場合には、フレーム番号を選び直して、テンプレート画像の抽出をやり直す。フレーム番号Bが適切な場合(ステップS403;Yes)、ステップS206以降に進む。
【0095】
フレーム番号を選ぶ際には、最も単純には、ランダムにいずれかを選択すれば良い。このほか、最初に選択するフレーム番号を選択する順序を、以下のように規則的に定めても良い。たとえば、全フレーム数がNであるとして、
N/2,
N/3, 2×N/3,
N/4, 2×N/4, 3×N/4,
N/5, 2×N/5, 3×N/5, 4×N/5, ...
のように、順にフレーム番号を選び直してみる、等の手法を採用することが可能である。
【0096】
なお、同一の撮影条件で撮影された写真画像から自動的にテンプレート画像を抽出する際には、フレーム番号Bのフレームにかえて、写真画像を採用すれば良い。
【0097】
また、半自動で行う場合には、たとえば、以下のような手順を採用することができる。
【0098】
まず、入力動画V
srcからランダムに複数のフレームを選択する。そして、選択された各フレームに対して上記と同様にハフ変換を適用して円の中心および半径を検出する。
【0099】
円が検出されたフレームから、検出された円の中心および半径に基づいて、円状領域を抽出することにより、テンプレート候補を作成する。
【0100】
その後、テンプレート候補をユーザに提示して、テンプレート候補の中で、明瞭に球状体が撮影されているものをテンプレート画像I
tempとしてユーザに選択させる。
【0101】
なお、この手法を、自動抽出に応用することも可能である。たとえば、テンプレート候補のそれぞれについて、コントラストや明瞭度、円形領域の半径などの画像パラメータを算定する。そして、算定された画像パラメータの値に基づいて、テンプレート候補を数個(たとえば、3個乃至5個程度)のクラスタに分類する。クラスタ分類に採用する画像パラメータは、1つでも良いし、複数採用しても良い。クラスタ分類には、たとえば、k-meansやx-meansなどの公知技術を適用することができる。
【0102】
クラスタ分類が終わったら、最も多い数のテンプレート候補が分類されたクラスタ内から、最も良好な画像パラメータを有するテンプレート候補を、テンプレート画像I
tempとして選択する。要素数が少ないクラスタに分類された画像は、ノイズや誤検出の可能性が高いと考えられるからである。
【0103】
また、テンプレート候補の数が少ない場合には、以下の手法を採用することもできる。まず、全候補の画像パラメータの平均を求める。次に、各候補の画像パラメータが当該平均からどれだけ離れているかを表す離間度を計算し、離間度が小さい順に、候補をソートする。
【0104】
そして、ソートされた順序において中央の順位に位置する候補を、テンプレート画像I
tempとして選択する。中央の順位ではなく、αを2乃至5程度の定数として、先頭から全体のα分の1の順位に位置する候補をテンプレート画像I
tempとして選択しても良い。本手法は、平均から大きく離れてはおらず、ほどほどに良好な候補を選ぶ、という手法である。
【0105】
なお、ユーザにテンプレート候補を提示して選択させる際に、ここで用いた離間度の小さい順に候補を並べて提示することもできる。離間度が大きい候補は、ノイズや誤検出の可能性が高いため、順位を下げて提示することで、ユーザがテンプレート画像を選択しやすくなる。
【0106】
このように、本実施例によれば、自動もしくは半自動で、テンプレート画像を取得することが可能となる。
【0107】
上記の説明では、主として屋内での撮影を想定して説明してきたが、屋外で球状体を撮影する場合には、撮影環境が屋内に比べて明るいことが多い。
図13は、本発明の実施形態に係る測定装置にて処理される屋外で撮影された動画に含まれるフレームの例を示す説明図である。本図に示す例では、画像左下隅から中央に向けてピッチャーの右腕が撮影されており、画像中央上方にボールが撮影されている。撮影されたボールの上側には、三日月状のハイライト部分が生じている。
【0108】
ハイライト部分は、太陽を含む照明から発せられた光が強い強度のまま反射して、そのままカメラに到達し、撮影素子にて飽和が生じてしまうことにより生ずる。
【0109】
そこで、太陽等による照明の方向に応じてハイライト方向dを想定し、類否度行列D
i,jの算定において、ハイライト部分を除去することによって、回転の解析における精度を高めることができる。
図14は、クリップ画像に撮影された球状体のハイライト方向を示す説明図である。以下、本図を参照して説明する。
【0110】
本図に示すように、クリップ画像に撮影されたボールの上方の楕円で囲まれた部分がハイライト部分の中心領域である。一方、ハイライト方向dは、ボールの中心からハイライト部分の中心領域へ向かう向きである。
【0111】
ハイライト方向dは、測定を行うユーザが明示的に指定しても良いし、自動検出を行うこととしても良い。ハイライト方向の自動検出には、種々の公知の技術を採用することができるが、本実施形態においては、
(1)照明は上方にあるので、ハイライト部分はボールの上方に三日月状あるいは楕円状に出現する。
(2)どのクリップ画像においても、ほぼ同じ位置、方向にハイライト部分が出現する。
と考えられる。
【0112】
たとえば、モノクロ8ビット画像においては、明度は0-255の256段階で表現される。全クリップ画像V
clip(u,v,t)の各画素位置(u,v)の平均的な明度H(u,v)を、以下のように計算する。
H(u,v) = Σ
t=1N(V) V
clip(u,v,t)/N(V)
【0113】
次に、H(u,v)のうち、明度が所定の閾値(たとえば250-255のいずれかの正定数)を超えている画素位置(u,v)を求め、その重心位置を計算する。当該重心位置が、ハイライト部分の中心である。
【0114】
さらに、求められた重心位置の周囲に、所定の面積(たとえば、ボールの撮影面積の2割)以上、前記閾値以上の平均明度H(u,v)を有する画素が隣接して広がっているか否かを調べる。この広がりが、ハイライト部分の大きさを表す。
【0115】
ハイライト部分の面積が十分に大きければ、ハイライト方向dをクリップ画像の中心から求められた重心位置の方向に定める。ハイライト部分の面積が少なければ、以下のハイライト部分の省略処理は、実行しなくとも良い。
【0116】
さて、類否度行列D
i,jの算定において、上記の説明では、2次元ガウス分布G
σ(u-R-1,v-R-1)を重みとして採用したが、ハイライト部分の面積が十分に大きい場合には、G
σ(u-R-1,v-R-1)のかわりに、以下のような重み付けを行っても良い。理解を容易にするため、x = u-R-1, y = v-R-1のように変数の書き換えを行うと、上記の重み付け関数G
σ(x,y) = G
σ(u-R-1,v-R-1)にかえて、以下の重み付け関数M(x,y) = M(u-R-1,v-R-1)を採用することができる。
M(x,y) = 0, if x
2+y
2>R
2 or (x,y)・d>0;
M(x,y) = G
σ(x,y), otherwise
【0117】
ここで、条件「x
2+y
2>R
2」は、クリップ画像においてボールの外側に撮影された情報を、類否度行列D
i,jの算定において無視することを意味する。なお、この条件は、ハイライト部分の面積が十分に少ないあるいは存在しない場合であっても、採用することができる。
【0118】
また、条件「(x,y)・d>0」は、ベクトル(x,y)とベクトルdの内積が正、すなわち、ベクトル(x,y)とベクトルdのなす角が90度未満であることを表す。したがって、この条件は、ボールを、ハイライト方向dに直交する境界で、ハイライト部分が存在する半分と存在しない半分の2つに分割し、ハイライト部分が存在する半分を、類否度行列D
i,jの算定において無視することを意味する。
【0119】
このように、ハイライト部分を適切に無視することで、より正確な回転の測定を行うことができる。
【0120】
(まとめ)
以上のように、本実施形態における測定装置は、
球状体が撮影された動画に含まれる複数のフレームのいずれか、もしくは、当該動画の撮影条件と共通する撮影条件により当該球状体が撮影された写真画像から、当該球状体が撮影された円状領域を抽出することにより、テンプレート画像を取得するテンプレート部、
前記複数のフレームのそれぞれから、前記取得されたテンプレート画像にそれぞれ類似する複数の類似領域を抽出して拡縮することにより、前記球状体の中心位置および大きさが所定の誤差範囲内で一致するように前記球状体が描画された複数のクリップ画像を取得するクリップ部、
前記複数のクリップ画像同士の類否度を算定して、当該算定された類否度を当該複数のクリップ画像同士が抽出されたフレームの撮影順に並べた行列を取得する算定部、
前記算定された類否度の行列における要素の分布から、前記球状体の回転を推定する推定部
を備える。
【0121】
また、上記測定装置において、
前記推定部は、前記類否度の行列における要素の分布から、撮影順の差が等しいクリップ画像同士の類否度の平均値を求め、撮影順の差に対する平均値の変化の周期を、異なる複数の手法により推定し、前記複数の手法により推定された周期が一致すれば、当該一致する周期を前記球状体の回転周期と推定する
ように構成することができる。
【0122】
また、上記測定装置において、
前記複数の手法には、離散コサイン変換に基づく手法、離散フーリエ変換に基づく手法、および、平均振幅差関数に基づく手法が含まれる
ように構成することができる。
【0123】
また、上記測定装置において、
前記テンプレート部は、前記動画と、前記複数のフレームの平均画像と、の差分動画を求め、当該差分動画に描画された円状領域を検出し、当該検出された円状領域の大きさおよび位置が時間経過とともに継続して変化する円状領域を同定し、前記同定された円状領域により、前記テンプレート画像を抽出する
ように構成することができる。
【0124】
また、上記測定装置において、
前記テンプレート部、ならびに、前記クリップ部は、ハフ変換により、前記円状領域ならびに前記複数の類似領域を抽出する
ように構成することができる。
【0125】
また、上記測定装置において、
前記推定部は、前記球状体が回転軸の候補周りに回転すると仮定して得られる複数の仮定画像と、前記複数のクリップ画像と、の差分を最小化することにより、前記球状体が回転する回転軸を推定する
ように構成することができる。
【0126】
本実施形態の測定方法は、
測定装置が、球状体が撮影された動画に含まれる複数のフレームのいずれか、もしくは、当該動画の撮影条件と共通する撮影条件により当該球状体が撮影された写真画像から、当該球状体が撮影された円状領域を抽出することにより、テンプレート画像を取得するテンプレート工程、
前記測定装置が、前記複数のフレームのそれぞれから、前記取得されたテンプレート画像にそれぞれ類似する複数の類似領域を抽出して拡縮することにより、前記球状体の中心位置および大きさが所定の誤差範囲内で一致するように前記球状体が描画された複数のクリップ画像を取得するクリップ工程、
前記測定装置が、前記複数のクリップ画像同士の類否度を算定して、当該算定された類否度を当該複数のクリップ画像同士が抽出されたフレームの撮影順に並べた行列を取得する算定工程、
前記測定装置が、前記算定された類否度の行列における要素の分布から、前記球状体の回転を推定する推定工程
を備える。
【0127】
本実施形態のプログラムは、コンピュータを、
球状体が撮影された動画に含まれる複数のフレームのいずれか、もしくは、当該動画の撮影条件と共通する撮影条件により当該球状体が撮影された写真画像から、当該球状体が撮影された円状領域を抽出することにより、テンプレート画像を取得するテンプレート部、
前記複数のフレームのそれぞれから、前記取得されたテンプレート画像にそれぞれ類似する複数の類似領域を抽出して拡縮することにより、前記球状体の中心位置および大きさが所定の誤差範囲内で一致するように前記球状体が描画された複数のクリップ画像を取得するクリップ部、
前記複数のクリップ画像同士の類否度を算定して、当該算定された類否度を当該複数のクリップ画像同士が抽出されたフレームの撮影順に並べた行列を取得する算定部、
前記算定された類否度の行列における要素の分布から、前記球状体の回転を推定する推定部
として機能させる。
【0128】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
本願においては、日本国に対して平成27年(2015年)3月18日(水)に出願した特許出願特願2015-054616を基礎とする優先権を主張するものとし、指定国の法令が許す限り、当該基礎出願の内容を本願に取り込むものとする。