トップ :: H 電気 :: H04 電気通信技術




【発明の名称】 撮像装置及びプログラム
【発明者】 【氏名】浜田 玲

【氏名】松井 紳一

【要約】 【課題】運動体の位置及びぶれ幅を適正に推定して、運動体の運動速度を算出する。

【構成】デジタルカメラ100は、スポーツの種類に応じて用いられ、高速度で運動するボールを含む画像を撮像して、画像情報を出力する撮像部1と、スポーツシーンでのボールの想定される運動速度範囲に基づいて、画像におけるボールのぶれ幅範囲を推定するとともに、当該ぶれ幅範囲に基づいて、撮像部1から出力された画像情報を解析して画像におけるボールの位置及びそのぶれ幅を推定するCPU71とを備えている。
【特許請求の範囲】
【請求項1】
高速度で運動する運動体を含む画像を撮像して、画像情報を出力する撮像手段と、
前記運動体の想定される運動速度範囲に基づいて、前記画像における前記運動体のぶれ幅範囲を推定するぶれ幅範囲推定手段と、
前記ぶれ幅範囲推定手段により推定された前記ぶれ幅範囲に基づいて、前記撮像手段から出力された前記画像情報を解析して前記画像における前記運動体の位置及びそのぶれ幅を推定する運動体推定手段とを備えることを特徴とする撮像装置。
【請求項2】
前記ぶれ幅範囲推定手段は、さらに、前記運動体の寸法と前記撮像手段の露光時間に基づいて前記ぶれ幅範囲を推定することを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記運動体推定手段は、前記運動体の種類に応じて寸法が規定される領域である第1領域と前記第1領域に隣合う外側の領域である第2領域の画素の分離度に基づいて、前記運動体の位置及びそのぶれ幅を推定することを特徴とする請求項1又は2に記載の撮像装置。
【請求項4】
前記撮像手段は、前記運動体を含む画像を連続して撮像して前記画像情報を複数出力し、
前記撮像手段から出力された前記画像情報に基づいて前記運動体推定手段により推定される複数の前記運動体の位置に基づいて、これら運動体の位置の差分を算出して当該運動体の速度を推定する速度推定手段を備えることを特徴とする請求項1〜3の何れか一項に記載の撮像装置。
【請求項5】
前記運動速度範囲はスポーツの種類に応じて求められることを特徴とする請求項1〜4の何れか一項に記載の撮像装置。
【請求項6】
コンピュータに、
高速度で運動する運動体の想定される運動速度範囲に基づいて、前記運動体を含む画像における当該運動体のぶれ幅範囲を推定する機能と、
推定された前記ぶれ幅範囲に基づいて、前記画像に係る画像情報を解析して前記画像における前記運動体の位置及びそのぶれ幅を推定する機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、高速で運動する運動体を撮像する撮像装置及びプログラムに関する。
【背景技術】
【0002】
従来、野球やテニス等のスポーツで用いるボールの速度を測定する装置としては、スピードガンが良く知られている。
このスピードガンは、例えば、ボールによる反射波のドップラー効果を測定して、ボールの速度を推定するようになっていることから、ボールの運動方向に沿ってスピードガンを設置する必要があるため、ボールとの衝突のリスクが高いという問題がある。さらに、運動するボールのどの時点での測定結果であるのかといった正確性の検証が困難であるといった問題もある。
【0003】
そこで、ボールとの衝突を回避する上で、当該ボールの運動方向に略直交する方向側から運動中のボールを撮像して、その画像情報を用いて、ボールの運動速度を測定する方法が考えられる。
この方法によりボールの運動速度を測定するためにはボールの認識や追跡を適正に行う必要があるところ、画像を用いてボールを認識する手法としては、球形の物体を認識する点に着目して、Hough変換などの輪郭情報から検出する幾何的な方法1や、運動する物体という点に着目して、フレーム間差分画像を二値化する方法2等が考えられる(例えば、特許文献1参照)。
【特許文献1】特開2002−216138号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、ボールが高速で運動することから、強い照明下にて露光時間を短くしてボールがぶれずに本来の形を保った状態で撮像される条件を作る必要がある。
しかしながら、屋内や曇天時では、テニスボールやゴルフボール等の軌跡を撮像しようとすると、1/300秒程度の露光時間は必要となるが、この程度の露光時間では、ボールは理想的な円形(図9(a)参照)とならず著しくぶれ、円形からはほど遠いレーストラックに近い形状(図9(b)参照)となってしまう。また、ボールは背景の濃淡と混ざってしまい、特に、ボールの混合割合の少なくなる両端のエッジ、及び照明のあたりにくい下側のエッジは非常に不明確となってしまう。従って、ボールのエッジが曖昧なため、方法1の幾何形状認識手法は適用困難であるといった問題がある。
【0005】
また、照度不足のため露光時間を長くする必要があるが、この場合、手ぶれがさらに激しくなる上、蛍光灯フリッカーに起因する照明変動の問題が生じるという問題もあった。
さらに、CMOS型イメージセンサのハイスピードカメラは、ほとんどがローリングシャッター方式であり、運動歪みと激しいフレーム内照明変動が生じるという問題もある。特に、フレーム内照明変動は補正が困難であり、方法2のフレーム間差分を用いる方法だけでは好結果を得られない。
また、平均輝度の比較から輝度補正を施せば、ある程度のボールの検出は可能であったが、差分画像を二値化する際にフレーム内照明変動の影響による偏りが生じてしまい、背景が単純な場合でさえ、精度良くボールの所定位置(例えば中心位置)を捉えることができないという問題もある。
【0006】
そこで、本発明の課題は、運動体の位置及びぶれ幅を適正に推定することができ、運動体の運動速度を算出することができる撮像装置及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
請求項1に記載の発明の撮像装置(例えば、図1のデジタルカメラ100等)は、
高速度で運動する運動体を含む画像を撮像して、画像情報を出力する撮像手段(例えば、図1の撮像部1等)と、
前記運動体の想定される運動速度範囲に基づいて、前記画像における前記運動体のぶれ幅範囲を推定するぶれ幅範囲推定手段(例えば、図1のCPU71等)と、
前記ぶれ幅範囲推定手段により推定された前記ぶれ幅範囲に基づいて、前記撮像手段から出力された前記画像情報を解析して前記画像における前記運動体の位置及びそのぶれ幅を推定する運動体推定手段(例えば、図1のCPU71等)とを備えることを特徴としている。
【0008】
請求項2に記載の発明は、請求項1に記載の撮像装置において、
前記ぶれ幅範囲推定手段は、さらに、前記運動体の寸法と前記撮像手段の露光時間に基づいて前記ぶれ幅範囲を推定することを特徴としている。
【0009】
請求項3に記載の発明は、請求項1又は2に記載の撮像装置において、
前記運動体推定手段は、前記運動体の種類に応じて寸法が規定される領域である第1領域(例えば、図2の第1領域A1等)と前記第1領域に隣合う外側の領域である第2領域(例えば、図2の第2領域A2等)の画素の分離度に基づいて、前記運動体の位置及びそのぶれ幅を推定することを特徴としている。
【0010】
請求項4に記載の発明は、請求項1〜3の何れか一項に記載の撮像装置において、
前記撮像手段は、前記運動体を含む画像を連続して撮像して前記画像情報を複数出力し、
前記撮像手段から出力された前記画像情報に基づいて前記運動体推定手段により推定される複数の前記運動体の位置に基づいて、これら運動体の位置の差分を算出して当該運動体の速度を推定する速度推定手段(例えば、図1のCPU71等)を備えることを特徴としている。
【0011】
請求項5に記載の発明は、請求項1〜4の何れか一項に記載の撮像装置において、
前記運動速度範囲はスポーツの種類に応じて求められることを特徴としている。
【0012】
請求項6に記載の発明のプログラムは、
コンピュータ(例えば、図1のデジタルカメラ100等)に、
高速度で運動する運動体の想定される運動速度範囲に基づいて、前記運動体を含む画像における当該運動体のぶれ幅範囲を推定する機能と、
推定された前記ぶれ幅範囲に基づいて、前記画像に係る画像情報を解析して前記画像における前記運動体の位置及びそのぶれ幅を推定する機能と、
を実現させることを特徴としている。
【発明の効果】
【0013】
本発明によれば、運動体の想定される運動速度範囲を考慮して画像情報の解析を行うことができ、これにより、運動体の位置及びぶれ幅を適正に推定することができ、運動体の速度を算出することができる。
【発明を実施するための最良の形態】
【0014】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
図1は、本発明を適用した一実施形態のデジタルカメラ100の概略構成を示すブロック図である。
【0015】
本実施形態のデジタルカメラ(撮像装置)100は、例えば、野球、テニス、ゴルフといったスポーツシーンにて高速度で運動するボール等の運動体を撮像して、その運動速度を推定するものである。
具体的には、デジタルカメラ100は、例えば、図1に示すように、ボール等の被写体を撮像する撮像部1と、この撮像部1による被写体の撮像の際に駆動する撮像補助部2と、撮像部1により撮像された画像を表示する表示部3、当該デジタルカメラ100の所定操作を行うための操作部4と、撮像された画像を記録する記録媒体5と、外部機器との接続用のUSB端子6と、これら各部を制御する制御部7等を備えて構成されている。
【0016】
撮像部1は、例えば、フォーカス機能及びズーム機能を有し、複数の撮像レンズからなる撮像レンズ群11と、この撮像レンズ群11を通過した被写体像を二次元の画像信号に変換するCCD(Charge Coupled Device)やCMOS(Complementary Metal-oxide Semiconductor)等からなる電子撮像部12と、この電子撮像部12から出力される画像信号に対して所定の画像処理を施す映像信号処理部13と、画像処理後の画像信号を一時的に記憶する画像メモリ14と、CPU71の制御下にて、電子撮像部12及び映像信号処理部13を制御するための撮影制御部15等を備えている。
【0017】
また、撮像部1は、例えば、ユーザによる操作部4のモード設定ボタン41bの所定操作に基づいて連続撮像モードに切り換えられた場合に、高速度で撮像を連続して行うことができ、具体的には、露光時間を1/300秒として300fpsで撮像(画像の取り込み)を行うことができるようになっている。
即ち、撮像部1は、撮像手段として、スポーツの種類に応じて使用されるボール等の運動体が高速度で運動中に、当該運動体を含む画像を電子撮像部12により連続して撮像して複数の画像フレーム(画像情報)を映像信号処理部13に出力するようになっている。
【0018】
撮像補助部2は、例えば、撮像レンズ群11に接続されたフォーカス機構部(図示略)を駆動させるためのフォーカス駆動部21と、撮像レンズ群11に接続されたズーム機構部(図示略)を駆動させるためのズーム駆動部22等を備えている。
これらフォーカス駆動部21及びズーム駆動部22は、例えば、撮影制御部15に接続され、撮影制御部15の制御下にて駆動するようになっている。
【0019】
表示部3は、例えば、CPU71から適宜出力される表示データを一時的に保存するビデオメモリ(VRAM)を備える表示制御部31と、この表示制御部31からの出力信号に基づいて所定の画像を表示する液晶モニタ等の画像表示部32等を備えている。
【0020】
操作部4は、例えば、当該デジタルカメラ100の各部に設けられ、撮像部1による被写体の撮像を指示するシャッターボタン41a、撮像モードを通常撮像モードや連続撮像モード等に切り替えて設定するためのモード設定ボタン41b、撮像シーンとして野球、テニス、ゴルフ等のスポーツの種類を選択するためのスポーツ選択ボタン41c等の各種操作スイッチ等を備える操作入力部41と、この操作入力部41から入力された操作信号をCPU71に入力するための入力回路42等を備えている。
【0021】
記録媒体5としては、例えば、カード型の不揮発性メモリ(フラッシュメモリ)やハードディスク等を適用することができる。
【0022】
制御部7は、例えば、デジタルカメラ100の各部を統括的に制御するCPU71と、CPU71の動作に必要な各種プログラムやデータを記憶するプログラムメモリ72と、画像データ記憶用の内蔵フラッシュメモリであるデータメモリ73等を備えている。
【0023】
プログラムメモリ72は、例えば、評価値算出プログラム72a、ぶれ幅範囲推定プログラム72b、運動体推定プログラム72c、評価値統合プログラム72d、想定動きベクトル推定プログラム72e、補正済み動きベクトル算出プログラム72f、運動パラメータ推定プログラム72g等を記憶している。
【0024】
評価値算出プログラム72aは、CPU71を評価値算出手段として機能させるものである。即ち、評価値算出プログラム72aは、連続して撮像され電子撮像部12から出力された複数の画像フレームの各々に基づいて、画像の所定位置にボールが存する確度に係る評価値を算出する評価値算出処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、評価値算出処理では、ボールのぶれ幅範囲を推定するぶれ幅範囲推定処理を実行して、その後に、算出された評価値に基づいて運動体推定処理を実行するようになっている(詳細後述)。
【0025】
ぶれ幅範囲推定プログラム72bは、CPU71をぶれ幅範囲推定手段として機能させるものである。即ち、ぶれ幅範囲推定プログラム72bは、各種スポーツシーンでのスポーツの種類に応じたボールの想定される運動速度範囲に基づいて、画像にてボールのぼやけが生じるであろうと予想されるぶれ幅範囲rを推定するぶれ幅範囲推定処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71によるぶれ幅範囲推定プログラム72bの実行に基づいて、ユーザによるスポーツ選択ボタン41cの所定操作に基づいて選択されたスポーツにて用いられるボールの運動速度範囲、ボールの画像上における大まかな寸法(半径)、撮像部1の露光時間(例えば、1/300秒程度)に基づいて、ボールのぶれ幅範囲rを推定するようになっている。
【0026】
ここで、ボールのぶれ幅範囲rの推定方法について、図2を参照してより詳細に説明する。
先ず、ボールが写っている画像フレームに基づいて、ボールの半径rの画像上における大まかな大きさ(寸法)を指定する。
半径rの大きさの指定は、例えば、ユーザによる操作部の所定操作に基づいてボールの画像距離単位の大きさを直接指定するようにしても良いし、当該画像上にて基準となる物体(例えば、人間の身長等)を指定して、当該基準物体との比率を用いてボールの半径rを間接的に導出するようにしても良いし、実際のボールの物理的な大きさとボールまでの物理的な距離とデジタルカメラ100の焦点距離を指定してボールの半径rを間接的に導出するようにしても良い。
なお、ボールを静止状態で長時間露光して撮像することができる場合、例えば、当該ボールの径を円のHough変換等によって認識しても良い。
【0027】
そして、ボールの半径rと撮像時の露光時間とボールの運動速度範囲に応じた運動画素距離sに基づいて、ボールのぶれ幅範囲rを推定する。
ここで、ボールの運動画素距離sは、例えば、スポーツの種類に応じたボールの運動速度範囲と撮像時の露光時間に基づいて規定され、その最小値をsとし最大値をsとする。
具体的には、ボールのぶれ幅範囲の最小値r(=max(r,s/2))は、ボールのぶれが大きくなるとレーストラック形状の両端の半円状の部分の輝度が次第に薄くなることを考慮して、その後の処理に余裕を持たせるためにボールの半径rとボールの運動画素距離sの大きい方とする。また、ボールのぶれ幅範囲の最大値r(=r+s/2)は、ボールの半径rとボールの運動画素距離sの和とする。
【0028】
なお、ボールの運動速度範囲は、例えば、野球の投手の投球速度を測定する場合には、時速100〜160km程度である。
【0029】
運動体推定プログラム72cは、CPU71を運動体推定手段として機能させるものである。即ち、運動体推定プログラム72cは、ぶれ幅範囲推定処理にて推定されたボールのぶれ幅範囲に基づいて、撮像部1から出力され入力された画像フレームを解析して画像におけるボールの位置を推定する運動体推定処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71による運動体推定プログラム72cの実行に基づいて、ボールのぶれ幅範囲とその種類(半径r)に応じて寸法が規定される領域である第1領域A1と、第1領域A1に隣合う外側の領域である第2領域A2の画素の分離度に基づいて、画像におけるボールの位置を推定するようになっている。
【0030】
ここで、運動体推定処理について、図2を参照してより詳細に説明する。
運動体推定処理は、画像の所定位置にボールが存する確度に係る評価値として第1領域A1と第2領域A2の画素の分離度を算出し、当該分離度は第1領域A1(内側)がボールの輪郭に対応した大きさとなるときに最大値となることを考慮してボールの位置を推定するようになっている。
具体的には、例えば、図2に示すように、画像G上の所定の座標(x,y)を中心として、(x−2r,y−2r)、(x−2r,y+2r)、(x+2r,y−2r)、(x+2r,y+2r)を頂点とする矩形領域を全体領域A0とし、このうち、(x−r,y−r)、(x−r,y+r)、(x+r,y−r)、(x+r,y+r)を頂点とする矩形領域を第1領域A1とし、全体領域A0のうちの第1領域A1以外の領域を第2領域A2とする。
そして、全体領域A0の画素数を「N」、各画素値(輝度値)を「P」、画素値平均を「Pmave」とし、第1領域A1の画素数を「n」、画素値平均を「Pave」とし、第2領域A2の画素数を「n」、画素値平均を「Pave」とした場合に、分離度ηは、下記式(1)のように表される。
【数1】


なお、画素値としては、例えば、輝度値に代えて特定の色成分や色相等を利用しても良い。
【0031】
式(1)の分離度ηは、全体の変動に占める第1領域A1と第2領域A2の領域間の変動の割合を示しており、領域間を最良に分離するときに最大値をとるようになっている。
即ち、1枚の入力画像フレームにおいて、中心座標(x,y)を所定の座標に固定した状態で、ボールのぶれ幅範囲rを最小値rから最大値rまで所定の刻み幅(例えば、1〜数画素)で変更してループにより各々の分離度ηを算出する。
なお、後述する変形例1、変形例2においては、分離度ηが最大となる評価値を与えた中心座標(x,y)をボールの中心位置(中心座標)として推定する。
【0032】
ここで、上記の分離度ηは、0〜1の範囲に正規化された値であるため、異なる大きさや形状の領域に適用しても単純に比較することができる点で有用である。
つまり、評価値は分離度ηに限られるものではないが、分離度η以外を用いる場合、即ち、例えば、テンプレートマッチング等の場合には、差分二乗和を領域画素数で除算して適合率に変更するなどの正規化が必要となる場合がある。
【0033】
評価値統合プログラム72dは、CPU71を評価値統合手段として機能させるものである。即ち、評価値統合プログラム72dは、ボールが所定方向に所定速度(運動パラメータ)で運動したと推定して、評価値算出処理により算出された複数の評価値を累算(統合)して統合評価値を算出する評価値累算処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71による評価値統合プログラム72dの実行に基づいて、運動体位置推定処理にて推定されたボールの位置と、想定動きベクトル推定処理(後述)にて推定されるボールの想定動きベクトルと、補正済み動きベクトル算出処理(後述)にて算出される補正済み動きベクトルに基づいて、統合評価値を算出するようになっている。
【0034】
先ず、想定動きベクトル推定処理について説明する。
想定動きベクトル推定処理は、CPU71による想定動きベクトル推定プログラム72eの実行に基づいて実行される。
想定動きベクトル推定プログラム72eは、スポーツシーンでのボールの想定される運動速度範囲及びフレーム間隔に基づいて、画像におけるボールの想定される想定動きベクトル「x」、「y」を推定する想定動きベクトル推定処理に係る機能をCPU71に実現させるためのプログラムである。
ここで、想定動きベクトル推定プログラム72eは、CPU71を想定動きベクトル推定手段として機能させるものである。
【0035】
次に、補正済み動きベクトル算出処理について説明する。
補正済み動きベクトル算出処理は、CPU71による補正済み動きベクトル算出プログラム72fの実行に基づいて実行される。
補正済み動きベクトル算出プログラム72fは、後述するループにより想定動きベクトルが変更される毎に、当該想定動きベクトルに係るボールを含む画像の撮像順序に基づいて、想定動きベクトル「x」、「y」を補正して、補正済み動きベクトル「x’」、「y’」を算出する処理に係る機能をCPU71に実現させるためのプログラムである。
ここで、補正済み動きベクトル算出プログラム72fは、CPU71を補正済み動きベクトル算出手段として機能させるものである。
【0036】
より具体的には、CPU71は、下記式(2)に従って、x軸方向(左右幅方向)の想定動きベクトル「x」に画像フレームの撮像番号pを乗算するとともに、動きベクトルの算出に係る画像枚数(即ち、総画像枚数Lから基準画像(p=0)1枚を引いた枚数)で除算して、補正済み動きベクトル「x’」を算出するようになっている。また、CPU71は、下記式(3)に従って、y軸方向(上下方向)の想定動きベクトル「y」に画像フレームの撮像番号pを乗算するとともに、動きベクトルの算出に係る画像枚数で除算して、補正済み動きベクトル「y’」を算出するようになっている。
【数2】


【数3】


【0037】
そして、評価値累算処理にて、CPU71は、ボールの位置(x,y)をそれぞれ所定の刻み幅で変更してループを回すとともに、想定動きベクトル推定処理にて推定されたボールの動きベクトル(x,y)をボールの運動速度範囲に応じた運動画素距離sに基づいて変更してループを回し、補正済み動きベクトル算出処理にて補正済み動きベクトル(x’,y’)を算出して、下記式(4)に従って、累算評価値を表す4次元実数配列A[x] [y] [x] [y]の値を加算していく。
【数4】


これにより、例えば、図3(a)〜図3(d)に示すように、総画像枚数Lが3枚の場合、所定位置(x,y)にてボールの基準画像(p=0)に1枚目の画像(p=1)及び2枚目の画像(p=2)が補正済み動きベクトル(x’,y’)の分ずつずらした状態で加算(累算)されていくこととなる(図3(d)参照)。
なお、図3(a)〜図3(d)はボール輪郭を模式的に示した説明図であり、実際に輪郭処理を行うわけではない。また、図3(a)〜図3(d)における標識「○」、「△」、「□」は、ボールの背景に存する背景画像(静物体)の存在する位置を模式的に表している。
【0038】
なお、配列Aに関するループのうち、ボールの位置(x,y)の刻み幅は、適宜適当な値に設定することで、メモリの容量と処理時間の削減を図ることができる。
【0039】
運動パラメータ推定プログラム72gは、CPU71を運動パラメータ推定手段として機能させるものである。即ち、運動パラメータ推定プログラム72gは、評価値累算処理により算出された統合評価値に基づいて、ボールの運動速度(運動パラメータ)を推定する運動パラメータ推定処理に係る機能をCPU71に実現させるためのプログラムである。
具体的には、CPU71は、全ての画像pに関するループが終了すると、運動パラメータ推定プログラム72gの実行に基づいて、配列Aの各要素のうち、最大値を示す「xmax」、「ymax」、「xdmax」、「ydmax」を探索して、当該最大値を示す要素に基づいてボールの推定位置を(xmax,ymax)とし、基準画像(p=0)と「L−1」番目の画像の間の推定動きベクトルを(xdmax,ydmax)とする。そして、CPU71は、ボールの推定位置(xmax,ymax)と推定動きベクトルを(xdmax,ydmax)から画素距離d(図3(d)参照)を算出して、画像フレーム間隔と物理距離に対する所定の変換係数に基づいて、ボールの速度に換算するようになっている。
【0040】
次に、速度算出処理について図4〜図6を参照して説明する。
ここで、図4は、速度算出処理に係る動作の一例を示すフローチャートである。
【0041】
速度算出処理にあっては、図4に示すように、CPU71は、評価値累算処理に係る4次元実数配列Aの全ての要素[x] [y] [x] [y]の値をクリアする(ステップS1)。
続けて、総画像枚数Lの各画像に関して、評価値算出処理及び評価値累算処理をループにより演算する処理を行う(ステップS21〜ステップS26)。
【0042】
CPU71は、処理対象となる画像pを記録媒体等から読み出し、当該画像が入力されると(ステップS22)、先ず、評価値算出処理を行う(ステップS23)。
【0043】
以下に、評価値算出処理について図5を参照して説明する。
図5は、評価値算出処理に係る動作の一例を示すフローチャートである。
【0044】
評価値算出処理にあっては、図5に示すように、CPU71は、ボールの中心座標(x,y)を所定の刻み幅で変更するとともに、ボールのぶれ幅範囲rを所定の刻み幅で変更してループにより分離度ηを算出するようになっている。
即ち、CPU71は、ボールの中心座標(x,y)のうち、座標yに関するループ(ループ1)の演算(ステップS201〜S211)の中で、座標xに関するループ(ループ2)の演算(ステップS202〜S210)を行い、その中でボールのぶれ幅範囲rに関するループ(ループ3)の演算(ステップS204〜S208)を行う。
【0045】
先ず、CPU71は、ユーザによるスポーツ選択ボタン41cの所定操作に基づいて所定のスポーツが選択されると、プログラムメモリ72から読み出した評価値算出プログラム72aの実行に基づいて、ボールの中心座標(x,y)のうち、座標yを所定の座標に固定し、続けて、座標xを所定の座標に固定する(ステップS201及びS202)。
【0046】
次に、CPU71は、分離度記憶用メモリの値mをクリアし(ステップS203)、続けて、ぶれ幅範囲推定プログラム72bの実行に基づいてボールのぶれ幅範囲を推定した後、運動体推定プログラム72cの実行に基づいて、ボールのぶれ幅範囲rを最小値rから最大値rの範囲で変更してループ3により分離度ηを算出する(ステップS204〜S208)。具体的には、CPU71は、分離度ηを算出する毎に(ステップS205)、分離度記憶用メモリの値mと比較して(ステップS206)、算出された分離度ηの方が大きいと判定されると(ステップS206;YES)、当該分離度ηに係る評価値v(x,y,r)に分離度記憶用メモリの値mを書き換えるようになっている(ステップS207)。
上記の処理は、ボールのぶれ幅範囲rを最小値rから最大値rの間で変更して、全ての分離度ηが算出されると、ぶれ幅範囲rに関するループ3を終了する(ステップS208)。
これにより、rに関して最大の分離度が分離度記憶用メモリに記憶された状態となる。
【0047】
続けて、CPU71は、分離度記憶用メモリの値m、即ち、rに関して最大の分離度を(x,y)に関する評価値とし、2次元実数配列F[x] [y]に格納する(ステップS209)。
ここで、分離度最大値を与えたときのぶれ幅範囲rについては、例えば、異常値を除外する目的で所定のメモリに保存するようにしても良い。
【0048】
そして、CPU71は、上記の処理をボールの中心座標候補(x,y)のうち、座標yを所定の座標に固定した状態で、座標xを所定の刻み幅(例えば、1〜数画素)で変更してループ2を行って分離度ηを算出し、全ての分離度ηが算出されると、座標xに関するループ2を終了する(ステップS202〜S210)。
また、CPU71は、ボールの中心座標(x,y)のうち、座標yを所定の刻み幅(例えば、1〜数画素)で変更してループ1を行って分離度ηを算出し、全ての分離度ηが算出されると、座標yに関するループ1を終了する(ステップS201〜S211)。
【0049】
上記の処理によって、各座標(x,y)毎に求められた評価値の配列F[x] [y]が構成された。この配列Fを、分離度マップと呼ぶことにする。
【0050】
次に、CPU71は、分離度マップの差分計算を行う(ステップS24)。
即ち、CPU71は、2枚目以降の画像フレームに対する分離度マップFに対して、その直前の画像フレームに対する分離度マップFi−1との間でフレーム間差分をとる分離度マップの差分計算を行う。具体的には、i番目の画像フレームの分離度マップF[x] [y]からi−1番目の画像フレームの分離度マップFi−1[x] [y]を画素毎に減算して、減算後の値をi番目の画像フレームの分離度マップ差分D[x] [y]とする。
或いは、差分値そのものの代わりに、画素毎にF[x] [y] >Fi−1[x] [y]となるか否かを判定して、F[x] [y] >Fi−1[x] [y]となるならばD[x] [y]=F[x] [y]とし、それ以外はD[x] [y]=0とするマスク処理を行うようにしても良い。
【0051】
この分離度マップの差分計算により、静物体の影響を除去することができる。
つまり、背景にボールと略等しい大きさの静物体(或いは、図柄模様等)が存在する場合には、分離度がボール同様に高くなって、全ての画像フレームについて評価値の累算を行っても、紛らわしい静物体が残ってしまい、さらに、ほぼ等しい間隔で並んでいる場合には運動するボールと誤認される虞もあるためである。
ここで、画像の輝度値のフレーム間差分を直接とると、フレーム間やフレーム内の照明変動により静物体を正しく除去することができない虞があるが、分離度は輝度値の大きさに捉われずに正規化された値であるため、分離度マップのフレーム間差分は適正に静物体を除去することができると考えられる。
【0052】
なお、当該差分計算は、一種のフレーム間差分であるので、手持ち撮像の場合には、可能なら動き補償を行うべきである。ただし、ハイスピードカメラの場合、カメラの動きが小さく、それに対して分離度マップの隣接画素間の相関が強いため、動き補償を省略しても通常は問題とはならないと考えられる。
【0053】
その後、CPU71は、評価値累算処理を行う(ステップS25;図4参照)。
以下に、評価値累算処理について図6を参照して説明する。
図7は、評価値累算処理に係る動作の一例を示すフローチャートである。
【0054】
評価値累算処理にあっては、図6に示すように、CPU71は、ボールの中心座標(x,y)を所定の刻み幅で変更するとともに、ボールの想定動きベクトル(x,y)を所定の刻み幅で変更して、補正済み動きベクトルの算出後、4次元実数配列Aの値を算出するようになっている。
即ち、CPU71は、ボールの中心座標(x,y)のうち、座標yに関するループ(ループ4)の演算(ステップS301〜S311)の中で、座標xに関するループ(ループ5)の演算(ステップS302〜S310)を行い、さらに、その中で、動きベクトル(x,y)のうち、y軸動きベクトルに関するループ(ループ6)の演算(ステップS303〜ステップS309)を行い、さらに、その中で、x軸動きベクトルに関するループ(ループ7)の演算(ステップS304〜S308)を行う。
【0055】
先ず、CPU71は、プログラムメモリ72から読み出した評価値統合プログラム72dの実行に基づいて、ボールの中心座標(x,y)のうち、座標yを所定の座標に固定し、続けて、座標xを所定の座標に固定する(ステップS301及びS302)。
【0056】
次に、CPU71は、想定動きベクトル推定プログラム72eの実行に基づいて、ボールの動きベクトル(x,y)を推定した後、当該動きベクトル(x,y)のうち、y軸動きベクトルを固定した後、x軸動きベクトルをボールの運動速度範囲に応じた運動画素距離sに基づいて変更してループを回す(ステップS304)。
続けて、CPU71は、補正済み動きベクトル算出プログラム72fの実行に基づいて、補正済み動きベクトル「x’」、「y’」を算出する(ステップS305及びS306)。
次に、CPU71は、ボールの位置(x,y)ボールの動きベクトル(x,y)、補正済み動きベクトル(x’,y’)に基づいて、4次元実数配列A[x] [y] [x] [y]にF[x+x’] [y+y’]を加算する(ステップS307)。
上記の処理は、x軸動きベクトルをボールの運動速度範囲に応じた運動画素距離sに基づいて変更して、配列Aに全て加算されると、x軸動きベクトルに関するループ7を終了する(ステップS308)。
【0057】
そして、CPU71は、上記の処理をボールの中心座標(x,y)を固定した状態で、y軸動きベクトルをボールの運動速度範囲に応じた運動画素距離sに基づいて変更してループ6を回して、配列Aに全て加算されると、y軸動きベクトルに関するループ6を終了する(ステップS303〜S309)。
また、CPU71は、ボールの中心座標(x,y)のうち、座標yを所定の座標に固定した状態で、座標xを所定の刻み幅(例えば、1〜数画素)で変更してループ5を回して、配列Aに全て加算されると、座標xに関するループ5を終了する(ステップS302〜S310)。
また、CPU71は、ボールの中心座標(x,y)のうち、座標yを所定の刻み幅(例えば、1〜数画素)で変更してループ4を回して、配列Aに全て加算されると、座標yに関するループ4を終了する(ステップS301〜S311)。
【0058】
そして、全ての画像pに関するループが終了すると(ステップS26;図4参照)、CPU71は、プログラムメモリ72から読み出した運動パラメータ推定プログラム72gの実行に基づいて、配列Aの各要素のうち、最大値を探索して、その指標値「xmax」、「ymax」、「xdmax」、「ydmax」を取得(保持)する(ステップS3)。
次に、CPU71は、最大値を示す要素に基づいてボールの推定位置を(xmax,ymax)とし、基準画像(p=0)と「L−1」番目の画像の間の推定動きベクトルを(xdmax,ydmax)として、ボールの推定位置(xmax,ymax)と推定動きベクトルを(xdmax,ydmax)から画素距離d(図3(d)参照)を算出する(ステップS4)。
続けて、CPU71は、画素距離dを画像フレーム間隔と物理距離に対する所定の変換係数に基づいて、物体の速度に換算して(ステップS5)、画像表示部に表示させる(ステップS6)。
【0059】
以上のように、本実施形態のデジタルカメラ100によれば、連写画像にて、各画像の所定位置にボールが存する確度に係る評価値を累算して統合評価値を算出することができる。即ち、スポーツシーンでのボールの想定される運動速度範囲を考慮して画像情報の解析を行って、画像におけるボールの位置を算出して、各画像の所定位置にボールが存する確度に係る評価値を算出することができる。そして、連写画像の各画像におけるボールの位置(x,y)と想定動きベクトル(x,y)と補正済み動きベクトル(x’,y’)に基づいて、4次元実数配列Aを用いて統合評価値を適正に算出することができる。
従って、各画像にてボールの位置の推定を適正に行うことができない場合であっても、統合評価値に基づいてボールの運動速度の推定を適正に行うことができ、ボールの位置の検出を適正に行うことができる。
つまり、ボールと同じような運動をしていない限り、多少紛らわしい物体であっても誤認識されることはなくなって、照明変動を補償して背景差分画像を作成するといった処理を行わずに原画像をそのまま処理することができる。
このように、画像情報のみからボールの速度を適正に算出することができ、スポーツや計測等においてデジタルカメラ100をスピードガンとして代替することができる。
【0060】
また、評価値F[x] [y]の累算を行ってボールの速度を推定する際に、算出された評価値F[x] [y]を単に用いるのではなく、分離度マップ差分D[x] [y]を計算して当該差分値を用いることにより、背景画像中の静物体の影響を除去することができ、ボールの速度の推定をよりロバストに行うことができる。
【0061】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、4次元評価値配列Aに関する累算は、画像の縦横の次元と対応する2次元評価値を時間軸に並べた3次元の時空間としてみた場合に、3次元空間内の直線に対する重みつき投票とみなすことができ、従って、空間直線のHough変換によって累算を行っても良い。
また、ループの順番を換えることで、4次元評価値配列Aは、配列でなく単純変数ですませることもできる。即ち、フレーム毎の評価値算出処理を所定フレーム枚数N分、先に行っておき、その結果を全て3次元配列F[p] [x] [y](pは0からN−1)に保存しておく。そして、評価値累算ループを外側からx、y、x、y、pの順番で行えば、累算ループと最大値探索ループを一つに統合でき、単純に累算評価値の最大値aとその最大値を与える動きベクトル値を保持するだけですむ。
なお、評価値算出、評価値累算及び最大値探索に係る具体的な演算処理は、上記実施形態と同様であり、その説明は省略するものとする。
【0062】
以下に、デジタルカメラ100の変形例について説明する。
【0063】
<変形例1>
変形例1のデジタルカメラは、複数の画像のうちの何れか一の画像フレームを用いて、ボールの速度を推定するものである。
【0064】
即ち、CPU71は、運動体推定処理にて、ボールの位置だけでなく、ボールのぶれ幅(図7参照)も推定するようになっている。具体的には、CPU71は、運動体推定プログラム72cの実行に基づいて、1枚の画像フレームにおいて、中心座標(x,y)を所定の刻み幅(例えば、1〜数画素)で変更するとともに、ボールのぶれ幅範囲rを最小値rから最大値rまで所定の刻み幅で変更してループを行うことにより、分離度ηが最大となる評価値v(x,y,r)を算出する。
そして、CPU71は、当該評価値v(x,y,r)の引数の組(xmax,ymax,rmax)を算出して、ボールの水平運動速度を算出する。即ち、例えば、図7に示すように、輪郭がぼやけたボールとほぼ重なる、(xmax−rmax,ymax−r)、(xmax−rmax,ymax+r)、(xmax+rmax,ymax−r)、(xmax+rmax,ymax+r)を頂点とする矩形領域が特定され、rmaxを2倍した値が画素距離dの近似値となる。そして、CPU71は、画素距離dを画像フレーム間隔と物理距離に対する所定の変換係数に基づいてボールの速度に変換することができる。
【0065】
次に、変形例1のデジタルカメラによる評価値算出処理について図8を参照して説明する。
この評価値算出処理にあっては、CPU71は、分離度記憶用メモリの値mをクリアした後(ステップS401)、ボールの中心座標(x,y)のうち、座標yに関するループ(ループ8)の演算(ステップS402〜S411)の中で、座標xに関するループ(ループ9)の演算(ステップS403〜S410)を行い、さらに、その中で、ボールのぶれ幅範囲rに関するループ(ループ10)の演算(ステップS404〜ステップS409)を行う。
【0066】
先ず、CPU71は、プログラムメモリ72から読み出した評価値算出プログラム72aの実行に基づいて、ボールの中心座標(x,y)のうち、座標yを所定の座標に固定し、続けて、座標xを所定の座標に固定する(ステップS402及びS403)。
続けて、CPU71は、運動体推定プログラム72cの実行に基づいて、ボールのぶれ幅範囲rを最小値rから最大値rの範囲で変更してループ10により分離度ηを算出する(ステップS404〜S409)。具体的には、CPU71は、分離度ηを算出する毎に(ステップS405)、分離度記憶用メモリの値mと比較して(ステップS406)、算出された分離度ηの方が大きいと判定されると(ステップS406;YES)、当該分離度ηに係る評価値v(x,y,r)に分離度記憶用メモリの値mを書き換えて(ステップS407、評価値v(x,y,r)の引数の組(xmax,ymax,rmax)を算出するようになっている(ステップS408)。
上記の処理は、ボールのぶれ幅範囲rを最小値rから最大値rの間で変更して、全ての分離度ηが算出されると、ぶれ幅範囲rに関するループ10を終了する(ステップS409)。
【0067】
そして、CPU71は、上記の処理をボールの中心座標(x,y)のうち、座標yを所定の座標に固定した状態で、座標xを所定の刻み幅(例えば、1〜数画素)で変更してループ9を行って分離度ηを算出し、全ての分離度ηが算出されると、座標xに関するループ9を終了する(ステップS403〜S410)。
また、CPU71は、ボールの中心座標(x,y)のうち、座標yを所定の刻み幅(例えば、1〜数画素)で変更してループ8を行って分離度ηを算出し、全ての分離度ηが算出されると、座標yに関するループ8を終了する(ステップS402〜S411)。
【0068】
上記の処理によって、分離度記憶用メモリの値m、即ち、分離度ηが最大となる評価値v(x,y,r)及びその引数(xmax,ymax,rmax)が推定される。
この結果、ボールの位置(xmax,ymax)及びぶれ幅2rmaxが推定される。
【0069】
その後、CPU71は、ぶれ幅2rmaxを露光時間で割って画素距離dを算出して、画素距離dに基づいてボールの運動速度を推定するようになっている。
【0070】
従って、変形例1のデジタルカメラによれば、スポーツシーンでのボールの想定される運動速度範囲を考慮して、複数の画像フレームのうちの何れか一の画像フレームにおけるボールのぶれ幅を推定することができる。具体的には、運動速度範囲に加えて、ボールの寸法と撮像部1の露光時間に基づいてぶれ幅範囲rを推定することができるので、ぶれ幅範囲rを過不足なく特定することができ、速度算出処理の処理時間の短縮を図ることができる。
そして、推定されたぶれ幅範囲rに基づいて画像情報の解析を行って、画像フレームの第1領域A1と第2領域A2の画素の分離度に基づいて、ボールの位置及びぶれ幅を適正に推定することができる。即ち、画像中のエッジ情報や所定の閾値を用いることなく、ボールの位置及びぶれ幅の推定を適正に行うことができる。
これにより、ボールの運動速度を適正に算出することができる。
【0071】
<変形例2>
変形例2のデジタルカメラは、連続する2つの画像フレームの各々から算出された評価値v(x,y,r)に基づいて、下記式(5)に従って、画素距離dを算出して、ボールの運動速度を推定するものである。
【数5】


【0072】
即ち、変形例2のデジタルカメラのCPU71は、速度推定手段として、変形例1に例示した図8の手順によって、評価値算出処理にて各画像フレームから評価値va(xa,ya,ra)、v(x,y,r)を算出し、それぞれの分離度ηが最大となる座標値を(xmax,ymax)のように示すと、式(5)のように画素距離d(ボールの位置の差分)を算出して、当該ボールの速度を推定するようになっている。
【0073】
従って、変形例2のデジタルカメラによれば、評価値累算処理を行わなくとも、複数のボールの位置に基づいて、これらボールの位置の差分を算出してボールの運動速度をある程度推定することができる。
【0074】
なお、上記実施形態では、デジタルカメラ100をプログラムが記録されたパーソナルコンピュータ(PC)等の外部機器とUSB端子6を介して接続して、ボールの撮像画像データを転送し、当該PCにてボールの運動速度の推定処理を行うようにしても良い。
【0075】
また、評価値累算処理における評価値の統合方法は、上記実施形態における評価値の累算に限られるものではなく、例えば、二乗平均等の方法であっても良い。
【0076】
さらに、上記実施形態では、ボールの運動を等速直線運動として説明したが、これに限られるものではなく、例えば、放物線軌道の運動であっても良く、この場合、画像フレームの取得タイミングに応じて動きベクトルの垂直方向の座標y’を2次関数に従ってずらして評価値を取得しても良い。
【0077】
また、上記実施形態では、全ての画像の評価値を累算するようにしたが、処理の高速化の観点からは、例えば、評価値が所定の値以上の座標についてのみ累算を行うようにしても良いし、所定の撮像順序の画像までに所定値以上の累算評価値が得られた座標のみ、それ以降の評価値の累算を行うようにしても良い。
【0078】
さらに、上記実施形態における評価値算出処理及び評価値累算処理中の各ループの順序は、例示したものに限られるものではなく、適宜変更することができる。
【0079】
加えて、上記実施形態では、評価値算出処理後に、分離度マップの差分計算を行うようにしたが、これに限られるものではなく、当該差分計算を行うか否かは適宜変更することができる。即ち、背景がほとんど平坦であればボールの誤認は生じないと考えられるので、評価値算出処理後に評価値累算処理を行うようにしても良い。
【0080】
また、上記実施形態では、原画像を直接処理するようにしたが、背景差分画像を用いても良く、この場合、画像枚数が少ない場合等に特に有用であると考えられる。
【0081】
さらに、フレーム間の手ぶれ除去する回路やソフトウェア処理、例えば、背景物体の運動ベクトル検出値に基づく平行運動、アフィン変換、射影変換等の画像処理を行うようにしても良く、この場合、三脚を使わずに、且つ、フレームレートが比較的低い画像や望遠画像等に対して検出精度を向上させることができる。
【0082】
また、上記実施形態では、第1領域A1及び第2領域A2として外形矩形状の領域を例示したが、領域の形状はこれに限られるものではなく、例えば、ボールのぼやけを考慮してレーストラック形状としても良い。また、例えば、ゴルフのティーショット等のようにボールの運動方向が水平方向よりもずれて傾く場合、即ち、その傾きを検出したりスポーツの性質上ボールの運動方向が傾くことがわかっている場合には、第1領域A1及び第2領域A2に所定の角度をつけて傾けても良い。
【0083】
さらに、上記実施形態では、運動体として、野球、テニス、ゴルフといった球技に用いられるボールを例示したが、運動体の形状はこれに限られるものではなく、例えば、バドミントンのシャトルといった球形以外の運動体であっても良い。即ち、高速度撮像では、運動体の輪郭はぼやけて、テクスチャも平均化されてしまうので、極端に不均質な物体でない限り、平面視にて矩形やレーストラック形状のものであっても良い。
【図面の簡単な説明】
【0084】
【図1】本発明を適用した一実施形態のデジタルカメラの概略構成を示すブロック図である。
【図2】図1のデジタルカメラによる分離度算出処理に係る第1領域及び第2領域を模式的に示す図である。
【図3】図1のデジタルカメラによる評価値累算処理に係る画像フレームを模式的に示す図である。
【図4】図1のデジタルカメラによる速度算出処理に係る動作の一例を示すフローチャートである。
【図5】図1のデジタルカメラによる評価値算出処理に係る動作の一例を示すフローチャートである。
【図6】図1のデジタルカメラによる評価値累算処理に係る動作の一例を示すフローチャートである。
【図7】変形例1のデジタルカメラによる評価値算出処理に係る第1領域及び第2領域を模式的に示す図である。
【図8】図7のデジタルカメラによる評価値算出処理に係る動作の一例を示すフローチャートである。
【図9】デジタルカメラにより高速度撮像された画像を模式的に示す図である。
【符号の説明】
【0085】
100 デジタルカメラ(撮像装置)
1 撮像部(撮像手段)
71 CPU(評価値算出手段、ぶれ幅範囲推定手段、運動体推定手段、評価値統合手段、想定動きベクトル推定手段、補正済み動きベクトル算出手段、運動パラメータ推定手段)
G 画像フレーム
A1 第1領域
A2 第2領域
【出願人】 【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
【出願日】 平成18年8月31日(2006.8.31)
【代理人】 【識別番号】100090033
【弁理士】
【氏名又は名称】荒船 博司

【識別番号】100093045
【弁理士】
【氏名又は名称】荒船 良男


【公開番号】 特開2008−60982(P2008−60982A)
【公開日】 平成20年3月13日(2008.3.13)
【出願番号】 特願2006−236460(P2006−236460)