(58)【調査した分野】(Int.Cl.,DB名)
移動体が移動を開始した第1地点と、前記第1地点から前記移動体の到達地点を撮影する撮影装置の第1撮影方向と、前記第1地点で前記第1撮影方向に向けられた前記撮影装置によって撮影された第1画像と、を取得する第1取得手段と、
前記第1地点と前記到達地点までの距離が異なる第2地点と、前記第2地点から前記到達地点を撮影する前記撮影装置の第2撮影方向と、前記第2地点で前記第2撮影方向に向けられた前記撮影装置によって撮影された第2画像と、を取得する第2取得手段と、
前記第1画像に基づく特徴点と、前記第2画像に基づく特徴点と、に基づいて、前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一であるか否かを判別する判別手段と、
前記第1地点、前記第1撮影方向、及び、同一であると判別された前記到達地点の前記第1画像における第1描画位置と、前記第2地点、前記第2撮影方向、及び、同一であると判別された前記到達地点の前記第2画像における第2描画位置と、に基づいて、前記第1地点から前記到達地点までの移動距離を測定する測定手段と、を備える、
ことを特徴とする測定装置。
前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一でないと判別されると、前記到達地点を再度撮影するように促すメッセージを表示する表示手段、をさらに備える、
ことを特徴とする請求項1に記載の測定装置。
前記第1特定手段は、前記撮影装置の焦点距離と前記第1描画位置と前記第1撮影方向とに基づいて前記第1地点から前記到達地点へ向かう第1到達方向を特定し、かつ、前記第1地点から前記第1到達方向へ向かう第1半直線上の点を含むように前記第1誤差範囲を特定し、
前記第2特定手段は、前記焦点距離と前記第2描画位置と前記第2撮影方向とに基づいて前記第2地点から前記到達地点へ向かう第2到達方向を特定し、かつ、前記第2地点から前記第2到達方向へ向かう第2半直線上の点を含むように前記第2誤差範囲を特定する、
ことを特徴とする請求項3に記載の測定装置。
前記判別手段は、前記第1画像及び前記第2画像を、所定の撮影方向に向けられた前記撮影装置によって撮影される画像に変換してから、前記変換された第1画像に基づく特徴点と、前記変換された第2画像に基づく特徴点と、に基づいて、前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一であるか否かを判別する、
ことを特徴とする請求項1に記載の測定装置。
前記判別手段は、所定の撮影方向に向けられた前記撮影装置によって撮影される画像に前記第1画像を変換する第1変換処理を、前記第1画像から抽出された特徴点に対して実行し、かつ、前記所定の撮影方向に向けられた前記撮影装置によって撮影される画像に前記第2画像を変換する第2変換処理を、前記第2画像から抽出された特徴点に対して実行してから、前記第1変換処理が実行された前記特徴点と、前記第2変換処理が実行された前記特徴点と、に基づいて、前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一であるか否かを判別する、
ことを特徴とする請求項1に記載の測定装置。
【発明を実施するための形態】
【0011】
(実施例1)
以下、本発明の実施例1について添付図面を参照しつつ説明する。
【0012】
実施例1に係る測定装置100は、例えば、スマートフォン等の携帯電話である。測定装置100は、例えば、
図1に示すようなゴルフ場で行われるドライビングコンテストにおいて、移動体であるボールBOがショットされて移動を開始した第1地点P1からボールBOの到達地点PAまでの移動距離を測定する。
【0013】
測定装置100は、
図2に示すような、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、フラッシュメモリ104、通信回路105、ビデオカード106、表示装置107、入力装置108、座標測定回路109、撮影装置110、及び、方角検出装置111を備える。
【0014】
CPU101は、ROM102又はフラッシュメモリ104に保存されたプログラムを実行することで、測定装置100の全体制御を行う。RAM103は、CPU101によるプログラムの実行時において、処理対象とするデータを一時的に記憶する。
【0015】
フラッシュメモリ104は、ボールBOの移動距離を測定するために用いられる各種のデータやデータを保存したテーブルを記憶する。通信回路105は、不図示のアンテナを備え、不図示の基地局又はアクセスポイントと無線でデータ通信する。
【0016】
ビデオカード106は、CPU101から出力されたデジタル信号に基づいて画像をレンダリングすると共に、描画された画像を表す画像信号を出力する。表示装置107は、例えば、LCD(Liquid Crystal Display)であり、ビデオカード106から出力された画像信号に従って画像を表示する。尚、測定装置100は、LCDの代わりに、PDP(Plasma Display Panel)又はEL(ElectroLuminescence)ディスプレイを備えても良い。
【0017】
入力装置108は、例えば、タッチパネルであり、ユーザの操作に応じた信号又は情報を入力する。
【0018】
座標測定回路109は、不図示のGPS(Global Positioning System)アンテナと、GPSアンテナで受信されたGPS信号に基づいて、測定装置100の緯度及び経度を計測する不図示の計測回路と、を備える。座標測定回路109の計測回路は、北緯及び東経を正の角度で計測し、南緯及び西経を負の角度で計測する。座標測定回路109が測定する緯度及び経度には、誤差eが含まれている。
【0019】
撮影装置110は、例えば、デジタルカメラであり、レンズ110a、受光素子群110b、及び、画像生成回路110cを備える。レンズ110aは、光学レンズであり、
図3に示すようなプレーヤーPrが視認する表示装置107の表示面の法線方向である表示方向と、反対方向に光軸が向けられている。光軸の方向Dsは、経度が増加する東の方向を正の方向とするX軸と、緯度が増加する北の方向を正の方向とするY軸と、からなる、
図1及び3に示すようなXY座標系のベクトルで表される。
【0020】
受光素子群110bは、例えば、複数のCMOS(Complementary Metal Oxide Semiconductor)で構成されている。受光素子群110bを構成するそれぞれの受光素子は、レンズ110aで集光された光を受光面で受光し、受光した光に応じた信号を出力する。画像生成回路110cは、受光素子群110bから出力された信号に基づいて画像を生成し、生成した画像を表すデータを出力する。
【0021】
方角検出装置111は、例えば、電子コンパスであり、不図示の磁気センサを備える。方角検出装置111は、磁気センサで検出される地磁気に基づいて、撮影装置110の光軸の方向Dsを表す方角を検出する。
【0022】
測定装置100のCPU101は、
図2のハードウェアを用いて、移動体であるボールBOの移動距離を測定する、
図4に示すような測定処理を実行する。これにより、CPU101は、ボールBOの移動開始地点である第1地点P1から到達地点PAを撮影した、
図5の第1画像IM1を取得する、
図6の第1取得部121として機能する。
【0023】
また、測定装置100のCPU101は、ボールの到達地点PAの近傍の地点である、
図1に示すような第2地点P2から到達地点PAを撮影した、
図7の第2画像IM2を取得する第2取得部122として機能する。
【0024】
第2地点P2を到達地点PAの近傍の地点としたのは、ドライビングコンテストでは、一般的に、プレーヤーPrがボールBOの到達地点PAの近傍まで移動するからである。プレーヤーPrは、到達地点PAの近傍まで移動した後に、当該プレーヤーPrよりも前にショットした他のプレーヤー達のボールの到達地点の内で、第1地点P1から最も遠い到達地点に立てられた、
図1に示すような旗C1を探す。その後、プレーヤーPrは、測定装置100を操作して、旗C1と、プレーヤーPrがショットしたボールBOの到達地点PAと、を撮影する。旗C1と到達地点PAとの位置関係を画像に記録するためである。その後、プレーヤーPrがショットしたボールBOの到達地点PAが、旗C1が立てられた地点よりも第1地点P1から遠いか否かを判断し、到達地点PAが旗C1の地点よりも遠い場合に、旗C1を到達地点PAに移動させる。
【0025】
測定装置100のCPU101は、第1画像IM1に描画されたボールBOが置かれた地点と、第2画像IM2に描画されたBOが置かれた地点と、が同一の到達地点PAであるか否かを判別する、
図6の判別部130として、さらに機能する。プレーヤーPrが誤って、他のプレーヤーのボールを撮影してしまったり、到達地点PAに在るボールBOを動かしてからボールBOを撮影してしまったりすることがあるためである。
【0026】
またさらに、CPU101は、第1画像IM1のボールBOが置かれた地点と、第2画像IM2のボールBOが置かれた地点と、が同一の到達地点PAでないと判別すると、到達地点PAを再度撮影するように促すメッセージを、
図2の表示装置107に表示させる表示制御部140として機能する。
【0027】
さらに、CPU101は、到達地点PAを含む、
図8に示すような第1誤差範囲ER1を、第1画像IM1と、第1画像IM1を撮影した撮影装置100の第1撮影方向Ds1と、に基づいて特定する第1特定部151として機能する。同様に、CPU101は、到達地点PAを含む、
図9に示すような第2誤差範囲ER2を、第2画像IM2と第2撮影方向Ds2とに基づいて特定する第2特定部152として機能する。
【0028】
またさらに、CPU101は、第1特定部151で特定された第1誤差範囲ER1と、第2特定部152で特定された第2誤差範囲ER2と、が重なる、
図10に示すような重複誤差範囲CE内の地点をボールBOの到達地点PAとし、第1地点P1から到達地点PAまでの移動距離を測定する、
図6の測定部160として機能する。
【0029】
図2のフラッシュメモリ104は、移動距離の測定に用いられるデータが保存された、
図11に示すような距離テーブルを予め記憶している情報記憶部190として機能する。距離テーブルには、撮影装置110で撮影された画像に描画されたボールBOの面積と、撮影地点からボールまでの距離と、面積により特定される距離の誤差と、を対応付けたデータを有するレコードが複数保存されている。距離テーブルに保存された誤差は、対応付けられた距離がより短くなれば、より小さくなる。撮影装置110からボールまでの距離が単位長さだけ長くなった場合に変化するボールの描画面積よりも、距離が単位長さだけ短くなった場合に変化するボールの描画面積の方が多いからである。
【0030】
図2の入力装置108がユーザの操作に応じた信号を入力すると、測定装置100のCPU101は、
図4の測定処理の実行を開始する。測定処理を開始すると、
図6の表示制御部140は、ボールBOがショットされた地点である第1地点P1からボールBOの到達地点PAを撮影するように促すメッセージを、
図2の表示装置107に表示させる(ステップS01)。
【0031】
メッセージを視認したユーザは、
図1に示した第1地点P1に立ち、測定装置100が備える撮影装置110を、到達地点PAが在る北西に向け、測定装置100の入力装置108に対して撮影操作を行う。
【0032】
その後、入力装置108が撮影操作に応じた信号を入力すると、
図6の第1取得部121は、第1画像IM1を取得するために、
図12に示すような取得処理を実行する(ステップS02)。
【0033】
取得処理の実行を開始すると、第1取得部121は、
図2に示した撮影装置110の画像生成回路110cから、
図5に示すような第1画像IM1を取得する(ステップS21)。第1画像IM1には、到達地点PAに在るボールBOが描画されている。また、主走査方向を右方向とし、副走査方向を下方向とすると、第1画像IM1には、ボールBOの付近に立てられていた旗C1が、ボールBOよりも下方向に描画されている。旗C1は、第1画像IM1の撮影地点である第1地点P1から見て、ボールBOよりも手前に立てられていたためである。また、第1画像IM1には、ボールBOの付近に落ちていた枝C2がボールBOの左上方向に描画されている。枝C2は、第1地点P1から見て、ボールBOの左奥に落ちていたためである。同様に、第1画像IM1には、第1地点P1から見て、ボールBOの右奥に落ちていた落葉C3がボールBOの右上方向に描画されている。
【0034】
次に、第1取得部121は、
図2の座標測定回路109から測定装置100の緯度及び経度を取得し、取得した緯度及び経度を、第1画像IM1の撮影地点である第1地点P1の緯度及び経度とする(ステップS22)。次に、第1取得部121は、第1地点P1の緯度及び経度を、
図1及び3に示したXY座標系におけるXY座標値(0,0)に対応させることで、XY座標系の原点を第1地点P1とする。
【0035】
その後、第1取得部121は、
図2の方角検出装置111から、測定装置100が備える撮影装置110の光軸の方向Dsを表す方角を取得する(ステップS23)。次に、第1取得部121は、取得した方角に基づいて、第1画像IM1の撮影時における撮影装置110の撮影方向(以下、第1撮影方向という)Ds1を表すXY座標系のベクトルを取得する。その後、第1取得部121は、取得処理の実行を終了する。
【0036】
図4のステップS02で取得処理が実行された後、
図6の表示制御部140は、ボールの到達地点PAの近傍まで移動してから到達地点PAを撮影するように促すメッセージを、
図2の表示装置107に表示させる(ステップS03)。
【0037】
メッセージを視認したユーザは、ボールの到達地点PAに近づいた後に、
図1に示した第2地点P2から、測定装置100が備える撮影装置110を、到達地点PAの在る南東に向けてから、測定装置100の入力装置108に対して撮影操作を行う。
【0038】
その後、入力装置108が撮影操作に応じた信号を入力すると、
図6の第2取得部122は、第2画像IM2を取得するために、
図12に示した取得処理を実行する(ステップS04)。
【0039】
これにより、第2取得部122は、
図7に示すような第2画像IM2、第2地点P2のXY座標値(x2,y2)、及び、第2画像IM2の撮影時における撮影装置110の撮影方向(以下、第2撮影方向という)Ds2を表すベクトルを取得する。
【0040】
図7の第2画像IM2には、到達地点PAに在るボールBOが、第1画像IM1よりも大きく描画されている。第2画像IM2が撮影された第2地点P2は、第1画像IM1が撮影された第1地点P1よりも、ボールの到達地点PAに近いからである。また、第2画像IM2には、第1画像IM1においてボールBOの下方向に描画されていた旗C1が、ボールBOの上方向に描画されている。さらに、第2画像IM2には、第1画像IM1においてボールBOの左上方向及び右上方向に描画されていた枝C2及び落葉C3が、ボールBOの右下方向及び左下方向にそれぞれ描画されている。北西方向である第1撮影方向Ds1と、南東方向である第2撮影方向Ds2は、互いに対向する向きだからである。
【0041】
図4のステップS04で取得処理が実行された後、
図6の判別部130は、第1画像IM1に描画されたボールBOが置かれた地点と、第2画像IM2に描画されたボールBOが置かれた地点と、が同一の到達地点PAであるか否かを判別する、
図13に示すような同一判別処理を実行する(ステップS05)。
【0042】
同一判別処理を開始すると、判別部130は、例えば、画素値に基づいて、第1画像IM1に描画されたボールBOの面積である第1面積S1と、第2画像IM2に描画されたボールBOの面積である第2面積S2と、を算出する。その後、判別部130は、第1画像IM1におけるボールBOの描画面積が、第2画像IM2におけるボールBOの描画面積である第2面積S2と同一又は略同一となるように、第2面積S2を第1面積S1で除算した倍率だけ第1画像IM1を拡大する拡大変換処理を、第1画像IM1に対して実行する(ステップS31)。
【0043】
次に、判別部130は、第1撮影方向Ds1と第2撮影方向Ds2とが対向しているか否かを判別する(ステップS32)。このとき、判別部130は、第1撮影方向Ds1が北西方向であり、第2撮影方向Ds2が南東方向であるため、第1撮影方向Ds1と第2撮影方向Ds2とが対向していると判別し(ステップS32;Yes)、第1画像IM1を鏡像画像に変換する鏡像変換処理を行う(ステップS33)。
【0044】
その後、判別部130は、拡大変換処理及び鏡像変換処理が実行された第1画像IMを処理対象の第1画像IMとする。これに対して、判別部130は、第1撮影方向Ds1と第2撮影方向Ds2とが対向していないと判別すると(ステップS32;No)、拡大変換処理が実行されているが、鏡像変換処理が実行されていない第1画像IMを処理対象の第1画像IMとする。
【0045】
次に、判別部130は、例えば、ハリスのコーナー検出法を用いて、処理対象の第1画像IMを特徴付けるコーナー特徴量(以下、第1コーナー特徴量という)を算出する。同様に、判別部130は、第2画像IM2のコーナー特徴量(以下、第2コーナー特徴量という)を算出する。
【0046】
その後、判別部130は、処理対象の第1画像IM1に描画されたボールBOの描画面積に基づいて、
図5に示すようなボールBOの周辺領域を定める半径rを決定する。判別部130は、描画面積が大きい程、半径rを大きく決定する。描画面積が大きい程、第1画像IM1が大きく拡大されているからである。
【0047】
次に、判別部130は、処理対象の第1画像IM1に描画されたボールBOの中心点を中心とする半径rの円形領域R1を、処理対象の第1画像IM1に決定する。その後、例えば、中心を通り主走査方向となす角度が90度、210度、及び、330度の3つの半径で円形領域R1を分割して得られる3つの分割領域において第1コーナー特徴量が最大となる点を第1特徴点とし、合計3つの第1特徴点を抽出する。本実施例では、旗C1を表す点、枝C2を表す点、及び、落葉C3を表す点が、第1特徴点として抽出されるとして説明を行う。同様に、判別部130は、
図7に示すような半径rの円形領域R2の3つの分割領域から、旗C1を表す点、枝C2を表す点、及び、落葉C3を表す点を、第2特徴点として抽出する(ステップS34)。
【0048】
次に、判別部130は、3つの第1特徴点の1つに注目し、かつ、3つの第2特徴点の1つに注目する。その後、判別部130は、処理対象の第1画像IM1における注目した第1特徴点の描画位置と、第2画像IM2における注目した第2特徴点の描画位置と、が同一又は略同一となるように、第2画像IM2を回転及び並進させる。
【0049】
次に、処理対象の第1画像IM1における注目した第1特徴点の周辺領域と、回転及び並進させた第2画像IM2における注目した第2特徴点の周辺領域と、の類似度を、テンプレートマッチングを用いて算出する。
【0050】
その後、判別部130は、未注目の2つの第1特徴点の1つに注目し、かつ、未注目の2つの第2特徴点の1つに注目する。次に、判別部130は、注目した第1特徴点の周辺領域と、注目した第2特徴点の周辺領域と、の類似度を算出する。その後、判別部130は、残り1つの第1特徴点の周辺領域と、残り1つの第2特徴点の周辺領域と、の類似度を算出し、算出した3つの類似度の合計値を算出する。
【0051】
判別部130は、3つの第1特徴点と3つの第2特徴点との全組み合わせについて、同様に、類似度の合計値を算出する。その後、判別部130は、最も大きい類似度の合計値を、第1画像IM1のボールBOが置かれた地点と、第2画像IM2のボールBOが置かれた地点と、がどの程度一致しているかを表す指標である一致度として算出する(ステップS35)。
【0052】
その後、判別部130は、予め定められた閾値を表す変数を情報記憶部190から読み出し、読み出した変数で表される閾値よりも一致度が大きいか否かを判別する(ステップS36)。好適な閾値は、当業者が実験により定めることができる。
【0053】
判別部130は、閾値よりも一致度が大きいと判別すると(ステップS36;Yes)、第1画像IM1のボールBOが置かれた地点と、第2画像IM2のボールBOが置かれた地点と、が同一であると判別した後に(ステップS37)、同一判別処理の実行を終了する。これに対して、判別部130は、一致度が閾値以下であると判別すると(ステップS36;No)、第1画像IM1のボールBOが置かれた地点と、第2画像IM2のボールBOが置かれた地点と、が異なると判別した後に(ステップS38)、同一判別処理の実行を終了する。
【0054】
図4のステップS05で実行された同一判別処理において、第1画像IM1のボールBOが置かれた地点と、第2画像IM2のボールBOが置かれた地点と、が同一でないと判別されると(ステップS06;No)、ステップS03から上記処理が繰り返される。これにより、再度到達地点PAを撮影するように促すメッセージが表示される。
【0055】
これに対して、第1画像IM1のボールBOが置かれた地点と、第2画像IM2のボールBOが置かれた地点と、が同一の到達地点PAであると判別されると(ステップS06;Yes)、第1画像IM1及び第2画像IM2に基づいて、到達地点PAを含む第1誤差範囲ER1又は第2誤差範囲ER2を特定する、
図14に示すような誤差範囲特定処理が実行される(ステップS07)。
【0056】
誤差範囲特定処理が開始されると、
図6の第1特定部151は、第1画像IM1の撮影時に第1地点P1に在るレンズ110aの中心点を原点O1とする、
図5に示すようなカメラ座標系(以下、第1カメラ座標系という)Xs1Ys1Zs1を決定する。第1カメラ座標系Xs1Ys1Zs1は、第1画像IM1の主走査方向をXs1軸の正方向とし、レンズ110aの光軸の方向をYs1軸の正方向とし、Xs1軸とYs1軸と直交する方向をZs軸の方向とする右手座標系である。
【0057】
その後、第1特定部151は、レンズ110aの焦点距離fを表すデータと、受光素子群110bを構成する受光素子のサイズを表すデータと、を情報記憶部190から読み出す。次に、第1特定部151は、
図5に示したレンズ110aの中心点である原点O1から第1画像IM1の中心点Q1に対応する受光素子までの距離が焦点距離fに等しいと特定する。その後、中心点Q1の描画位置からボールBOの描画位置(以下、第1描画位置という)までのピクセル数と、受光素子のサイズと、に基づいて、中心点Q1に対応する受光素子から第1描画位置に対応する受光素子までの素子間距離を特定する。その後、長さが焦点距離f及び素子間距離である対辺及び隣辺を有する直角三角形に基づいて、レンズ110aの中心点である原点O1からボールBOの到達地点PAへ向かう第1到達方向Da1を表す第1カメラ座標系Xs1Ys1Zs1のベクトルを特定する。
【0058】
次に、第1特定部151は、第1カメラ座標系Xs1Ys1Zs1のXs1Ys1座標系を、
図1及び3に示した世界座標系であるXY座標系に変換する変換行列を、光軸の方向Dsに等しい第1撮影方向Ds1を表すXY座標系のベクトルに基づいて特定する。その後、第1特定部151は、特定した変換行列を用いて、第1到達方向Da1を表すXs1Ys1座標系におけるベクトルをXY座標系のベクトル(ax1,ay1)に変換することで、XY座標系における第1到達方向Da1を特定する。
【0059】
同様に、第2特定部152は、
図7に示すような第2画像IM2の中心点Q2の描画位置と第2画像IM2におけるボールBOの描画位置である第2描画位置との相違、焦点距離f、及び、受光素子のサイズを特定する。その後、第2特定部152は、特定した描画位置の相違、焦点距離f、及び、受光素子のサイズ、並びに、第2撮影方向Ds2に基づいて、第2地点P2からからボールBOの到達地点PAへ向かう第2到達方向Da2を表すXY座標系のベクトル(ax2,ay2)を特定する(ステップS41)。
【0060】
次に、第1特定部151は、撮影地点である第1地点P1を始点として、第1到達方向Da1へ向かう、
図15に示すような第1半直線m1を、第1地点P1の座標値(0,0)及び第1到達方向Da1のベクトル(ax1,ay1)に基づいて特定する。同様に、第2特定部152は、第2地点P2から第2到達方向Da2へ向かう、
図9に示すような第2半直線m2を、第2地点P2の座標値(x2,y2)及び第2到達方向Da2のベクトル(ax2,ay2)に基づいて特定する(ステップS42)。
【0061】
その後、第1特定部151は、
図11の距離テーブルを参照して、第1画像IM1に描画されたボールBOの第1面積S1と対応付けられた距離及び誤差である第1距離L1及び第1誤差el1を取得する。同様に、第2特定部152は、第2画像IM2に描画されたボールBOの第2面積S2と対応付けられた第2距離L2と第2誤差el2とを取得する(ステップS43)。
【0062】
その後、第1特定部151は、第1地点P1から第1距離L1離れた、
図15に示すような第1半直線m1上の点PS1を特定する。次に、第1特定部151は、点PS1よりも第1誤差el1だけ第1地点P1に近い点から、点PS1よりも第1誤差el1だけ第1地点P1から遠い点までの線分状の範囲を、ボールBOの到達地点PAが含まれる第1誤差範囲ES1として特定する。同様に、第2特定部152は、第2地点P2から距離L2離れた、
図9に示すような第2半直線m2上の点PS2を特定し、第2誤差el2に基づいて、第2半直線m2上の点PS2を含む線分状の第2誤差範囲ES2を特定する(ステップS44)。
【0063】
その後、第1特定部151は、
図2の座標測定回路109が検出する緯度及び経度に含まれる誤差eを表すデータを情報記憶部190から取得する(ステップS45)。
【0064】
次に、第1特定部151は、点(−e,−e)、点(−e,+e)、点(+e,−e)、及び、点(+e,+e)を頂点とする、
図8に示すような第1地点P1(0,0)の誤差範囲RP1を特定する。その後、第1特定部151は、第1半直線m1の始点が、正方形状の誤差範囲RP1の四辺上に位置するように、第1半直線m1を平行移動させた場合に得られる線分状の第1誤差範囲ES1の軌跡を、多角形状の第1誤差範囲ER1とする。同様に、第2特定部152は、線分状の第2誤差範囲ES2を、
図9に示すような多角形状の第2誤差範囲ER2に拡張する(ステップS46)。その後、第2特定部152は、誤差範囲特定処理の実行を終了する。
【0065】
図4のステップS07で誤差範囲特定処理が実行された後に、
図6の測定部160は、第1誤差範囲ER1と第2誤差範囲ER2とが重なる、
図10の重複誤差範囲CEを特定する。次に、測定部160は、重複誤差範囲CEの内部に含まれる最大の円ICを算出し、算出した円ICの中心地点をボールBOの到達地点PAとする(ステップS08)。
【0066】
その後、測定部160は、算出した円の中心地点の座標値(xa,ya)を、到達地点PAの座標値とする。次に、測定部160は、第1地点P1の座標値(0,0)と、到達地点PAの座標値(xa,ya)と、に基づいて、第1地点P1から到達地点PAまでの移動距離を測定する(ステップS09)。
【0067】
次に、
図6に示した表示制御部140は、測定された移動距離を表示するように、
図2の表示装置107を制御した後に(ステップS10)、測定処理の実行を終了する。
【0068】
これらの構成によれば、測定装置100は、第1地点P1の座標値、第1撮影方向Ds1、及び、第1画像IM1における到達地点PAの第1描画位置と、第2地点P2の座標値、第2撮影方向Ds2、及び、第2画像IM2における到達地点PAの第2描画位置と、に基づいて、第1地点P1から到達地点PAまでの移動距離を測定する。このため、第1画像IM1と第2画像IM2とにおいて、ボールBOの描画サイズが異なっていても、移動体であるボールBOの第1地点P1から到達地点PAまでの移動距離を精度良く測定できる。
【0069】
また、これらの構成によれば、測定装置100は、第1画像IM1と第2画像IM2とにおける移動体の描画サイズが異なっていても移動距離を測定できるため、第2画像IM2の撮影地点である第2地点P2に課せられる制約を少なくできる。さらに、第1画像IM1の第1撮影方向Ds1と、第2画像IM2の第2撮影方向Ds2と、が互いに平行でなかったり、互いに対向していても移動距離を測定できるため、第2撮影方向Ds2に課せられる制約を少なくできる。これらのため、測定装置100によれば、第2画像IM2を従来よりも容易に撮影できるので、従来よりも容易に移動体の移動距離を測定できる。
【0070】
また、これらの構成によれば、測定装置100は、第1画像IM1に基づく特徴点と、第2画像IM2に基づく特徴点と、に基づいて、第1画像IM1に描画された地点と、第2画像IM2に描画された地点と、が同一の到達地点PAか否かを判別する。このとき、測定装置100は、同一の到達地点PAでないと判別すると、到達地点PAを再度撮影するように促すメッセージを表示する。これに対して、測定装置100は、第1画像IM1に描画された地点と、第2画像IM2に描画された地点と、が同一の到達地点PAであると判別すると、第1画像IM1と第2画像IM2とに基づいて移動距離を測定する。これらのため、例えば、プレーヤーPrが、他のプレーヤーのボールが置かれた地点を到達地点PAと勘違いした場合、手違いにより到達地点PAから動かされたボールBOの置かれた地点を到達地点PAと勘違いした場合、又は、ボールBOの移動距離を実際よりも長く測定装置100に測定させる不正を行った場合等においても、測定装置100は、誤った移動距離を測定することを従来よりも防止できる。
【0071】
例えば、プレーヤーPrが、不正を行うために、到達地点PAに在るボールBOを第1地点P1で測定装置100に撮影させた後、到達地点PAの近傍へ移動し、到達地点PAよりも第1地点P1から遠い地点(以下、偽の到達地点という)へボールBOを移動させてから、ボールBOを第2地点P2で測定装置100に撮影させた場合を例に挙げて説明する。ドライビングコンテストでは、プレーヤーPrがショットしたボールBOの到達地点PAの近傍まで、プレーヤーPrが一人で移動することもあるため、他のプレーヤーに見られていないプレーヤーPrが不正をすることもあるからである。この例では、第1地点P1で取得された第1画像IM1には、実際の到達地点PAに在るボールBOが描画されているが、第2地点P2で取得された第2画像IM2には、偽の到達地点に在るボールBOが描画されている。このため、測定装置100は、第1画像IM1の特徴点と、第2画像IM2の特徴点と、に基づいて、第1画像IM1のボールBOが置かれた到達地点PAと、第2画像IM2のボールBOが置かれた偽の到達地点と、が同一の地点でないと判別する。また、測定装置100は、第1画像IM1に描画された到達地点PAと、第2画像IM2に描画された偽の到達地点と、が同一の地点でないと判別すると、第1画像IM1と第2画像IM2とに基づく移動距離の測定を行わず、再撮影を促すメッセージを表示する。このため、測定装置100は、プレーヤーPrの不正により誤った移動距離を測定することを従来よりも確実に防止できる。
【0072】
さらに、これらの構成によれば、測定装置100は、第1地点P1から第1到達方向Da1へ向かう第1半直線m1上の点PS1を含む第1誤差範囲ES1を特定し、同様に、第2誤差範囲ES2を特定し、かつ、第1誤差範囲ES1と第2誤差範囲ES2とが重なる重複誤差範囲CE内の地点を到達地点PAとする。このため、測定装置100は、従来よりも精度良く到達地点PAを特定できる。
【0073】
さらに、これらの構成によれば、測定装置100は、第1画像IM1に描画されたボールBOの描画面積である第1面積S1と、第2画像IM2に描画されたボールBOの第2面積S2と、が同一又は略同一となるように拡大した第1画像IM1から複数の第1特徴点を抽出する。このため、拡大前の第1画像IM1から複数の第1特徴点を抽出してから、複数の第1特徴点と、第2画像IM2の複数の第2特徴点との一致度が最大となるように、複数の第1特徴点の位置関係を調節する従来技術よりも少ない計算量で精度良く一致度を算出できる。
【0074】
(実施例1の変形例1)
実施例1では、測定装置100は、
図2に示した座標測定回路109による緯度及び経度の測定誤差eに基づいて、
図15に示した線分状の第1誤差範囲ES1を、
図8に示した多角形状の第1誤差範囲ER1に拡張すると説明した。測定装置100は、同様に、
図9に示した線分状の第2誤差範囲ES2を多角形状の第2誤差範囲ER2に拡張すると説明したが、これらに限定される訳ではない。
【0075】
測定装置100は、
図2に示した方角検出装置111による方角の検出誤差θeに基づいて、
図15の線分状の第1誤差範囲ES1を、
図16に示すような扇状の第1誤差範囲ER1に拡張し、同様に、
図9の線分状の第2誤差範囲ES2を、不図示の扇状の第2誤差範囲に拡張しても良い。
【0076】
本変形例の第1特定部151は、
図17に示すような誤差範囲特定処理を実行する。第1特定部151は、誤差範囲特定処理を開始すると、
図14のステップS41からS44と同じ処理を実行することで(ステップS41からS44)、
図15の線分状の第1誤差範囲ES1を特定する。
【0077】
次に、第1特定部151は、
図2の方角検出装置111による方角の検出誤差θeを表すデータを情報記憶部190から取得する(ステップS45a)。
【0078】
次に、第1特定部151は、第1半直線m1の始点を中心として、+θe方向と−θe方向とに第1半直線m1を回転させた場合に得られる線分状の第1誤差範囲ES1の軌跡を、
図16に示すような扇状の第1誤差範囲ER1とする。つまり、第1特定部151は、線分状の第1誤差範囲ES1を扇状の第1誤差範囲ER1に拡張した後に(ステップS46)、誤差範囲特定処理の実行を終了する。
【0079】
本変形例の第2特定部152は、第1特定部151と同様に、
図17の誤差範囲特定処理を実行することで、
図9の線分状の第2誤差範囲ES2を、不図示の扇状の第2誤差範囲に拡張する。
【0080】
(実施例1の変形例2)
実施例1の変形例1では、測定装置100は、
図2に示した方角検出装置111による方角の検出誤差θeに基づいて、
図15の線分状の第1誤差範囲ES1を、
図16の扇状の第1誤差範囲ER1に拡張し、
図9の線分状の第2誤差範囲ES2を、不図示の扇状の第2誤差範囲に拡張すると説明した。
【0081】
しかし、これに限定される訳ではなく、測定装置100は、第1画像IM1におけるボールBOの第1描画位置と、焦点距離fと、受光素子のサイズと、に基づいて特定される第1到達方向Da1の算出誤差に基づいて、線分状の第1誤差範囲ES1を扇状の第1誤差範囲ER1に拡張しても良い。同様に、測定装置100は、第2到達方向Da2の算出誤差に基づいて、線分状の第2誤差範囲ES2を、不図示の扇状の第2誤差範囲に拡張しても良い。
【0082】
(実施例1の変形例3)
実施例1では、測定装置100は、
図2の座標測定回路109による緯度及び経度の測定誤差eに基づいて、
図15に示した線分状の第1誤差範囲ES1を、
図8に示した平面状の第1誤差範囲ER1に拡張すると説明した。測定装置100は、同様に、
図9に示した線分状の第2誤差範囲ES2を平面状の第2誤差範囲ER2に拡張すると説明したが、これらに限定される訳ではない。
【0083】
測定装置100は、座標測定回路109による緯度及び経度の測定誤差eだけでなく、高度の測定誤差eにも基づいて、線分状の第1誤差範囲ES1を、不図示の立体状の第1誤差範囲に拡張し、同様に、線分状の第2誤差範囲ES2を、不図示の立体状の第2誤差範囲に拡張しても良い。
【0084】
本変形例に係る測定装置100は、
図2に示した座標測定回路109等を含むハードウェアに加え、
図18に示すような姿勢検出装置112をさらに備える。
【0085】
本変形例に係る座標測定回路109は、緯度、経度、及び、高度を計測し、計測した緯度、経度、及び、高度を表す信号を出力する。座標測定回路109が測定する緯度、経度、及び、高度には、誤差eが含まれている。
【0086】
姿勢検出装置112は、例えば、ジャイロセンサであって、
図19に示すような水平面であるXY平面と、撮影装置110の光軸の方向Dsと、で挟まれる、角度φを、測定装置100の姿勢を表す角度φとして検出する。
【0087】
撮影装置110の光軸の方向Dsは、方角検出装置111が検出する方角、及び、姿勢検出装置112が検出する姿勢を表す角度φによって表される。光軸の方向Dsは、経度が増加する方向を正の方向とするX軸と、緯度が増加する方向を正の方向とするY軸と、高度が増加する方向を正の方向とするZ軸と、からなる、右手座標系であるXYZ座標系のベクトルで表される。
【0088】
本変形例に係る測定装置100は、
図4に示した測定処理を実行する。測定処理の実行を開始すると、測定装置100は、ステップS01からS06の処理を実行した後に、ステップS07において、
図14に示した誤差範囲特定処理を実行する。
【0089】
測定装置100は、誤差範囲特定処理の実行を開始すると、XYZ座標系における第1到達方向Da1及び第2到達方向Da2を、焦点距離fと、第1画像IM1及び第2画像IM2におけるボールBOの描画位置と、XYZ座標系の第1撮影方向Ds1及び第2撮影方向Ds2と、に基づいて特定する(ステップS41)。
【0090】
ここで、測定装置100は、ボールBOの移動開始地点である地表面上の第1地点P1から、ボールBOの到達地点PAを撮影しても良い。しかし、本変形例では、測定装置100は、例えば、第1地点P1に立ったプレーヤーPrに保持されて、第1地点P1よりも上方の地点からボールBOの到達地点PAを撮影したとして、以下の説明を行う。同様に、測定装置100は、ボールBOの到達地点PAの近傍の地点である地表面上の第2地点P2から到達地点PAを撮影しても良い。しかし、本変形例では、測定装置100は、例えば、第2地点P2に立ったプレーヤーPrに保持されて、第2地点P2よりも上方の地点から到達地点PAを撮影したとして、以下の説明を行う。
【0091】
測定装置100は、地表面上の第1地点P1よりも上方の地点である第1画像IM1の撮影地点を始点とし、かつ、第1到達方向Da1へ向かう第1半直線m1と、地表面上の第2地点P2よりも上方の地点である第2画像IM2の撮影地点を始点として第2到達方向Da2へ向かう第2半直線m2と、を、XYZ座標系において特定する(ステップS42)。
【0092】
その後、測定装置100は、ステップS43及びS44の処理を、実施例1と同様に実行することで(ステップS43及びS44)、第1半直線m1及び第2半直線m2上に、線分状の第1誤差範囲ES1及び第2誤差範囲ES2を特定する。
【0093】
その後、測定装置100は、
図2の座標測定回路109が検出する緯度、経度、及び、高度に含まれる誤差eを表すデータを情報記憶部190から取得する(ステップS45)。
【0094】
次に、測定装置100は、第1画像IM1の撮影地点を中心に含み、一辺の長さが2eの立方体を、第1画像IM1の撮影地点の誤差範囲RP1と特定する。その後、測定装置100は、第1半直線m1の始点が、立方形状の誤差範囲RP1が有する6つの面上に位置するように、第1半直線m1を平行移動させた場合に得られる線分状の第1誤差範囲ES1の軌跡を、不図示の立体形状の第1誤差範囲とする。同様に、測定装置100は、線分状の第2誤差範囲ES2を、不図示の立体状の第2誤差範囲に拡張する(ステップS46)。その後、第2特定部152は、誤差範囲特定処理の実行を終了する。
【0095】
本変形例に係る測定装置100は、
図4のステップS07の実行後に、立体状の第1誤差範囲と立体状の第2誤差範囲とが重なる、不図示の立体状の重複誤差範囲を特定する。その後、測定装置100は、立体状の重複誤差範囲に含まれる最大の球を算出し、算出した球の中心地点をボールBOの到達地点PAとする(ステップS08)。
【0096】
その後、測定部160は、重複誤差範囲内の到達地点PAを含み、XY平面と平行な面を、地表面を表す面として特定する。その後、測定部160は、地表面を表す面における、第1画像IM1の撮影地点から到達地点PAまでの距離を、第1地点P1から到達地点PAまで移動距離として算出する(ステップS09)。
【0097】
その後、測定部160は、測定した移動距離を表示した後に(ステップS10)、測定処理の実行を終了する。
【0098】
これらの構成によれば、測定部160は、例えば、ゴルフ場の地面に勾配がある場合等、移動体であるボールBOが移動を開始した第1地点P1と、ボールBOの到達地点PAと、に高低差が在る場合でも、水平面上の移動距離を精度良く測定できる。
【0099】
(実施例1の変形例4)
実施例1では、測定装置100は、携帯電話であると説明したが、これに限定される訳ではない。例えば、
図20に示すように、測定装置100は、サーバ機であり、インターネットである通信回線網10を介して接続されたスマートフォン等の端末装置210及び220と共に、測定システム1を構成しても良い。
【0100】
本実施例に係る測定装置100は、
図2に示したCPU101、ROM102、RAM103、フラッシュメモリ104、通信回路105、ビデオカード106、表示装置107、及び、入力装置108を備えるが、座標測定回路109、撮影装置110、及び、方角検出装置111を備えていない。端末装置210及び220は、座標測定回路109、撮影装置110、及び、方角検出装置111を含む、
図2に示したハードウェアと同様のハードウェアを備えている。
【0101】
図6に示した情報記憶部190は、ユーザ認証に用いられる不図示のユーザテーブルを記憶している。ユーザテーブルには、プレーヤーPrを含むユーザのユーザIDとパスワードを表すデータと氏名を表すデータとが対応付けられたレコードが複数保存されている。
【0102】
測定装置100の通信回路105が端末装置210又は220からリクエストを受信すると、
図6の表示制御部140は、ユーザ認証を受けるように促すメッセージと、メッセージを表示するように指示する指令と、を通信回路105に出力する。
【0103】
その後、メッセージと指令とを送信した通信回路105が、端末装置210又は220からプレーヤーPrのユーザIDとパスワードを表すデータとを受信すると、CPU101は、通信回路105からユーザIDとパスワードを表すデータとを取得する。次に、CPU101は、取得したユーザIDとパスワードを表すデータとが、フラッシュメモリ104に保存されたユーザIDとパスワードを表すデータと一致するか否かを判別する。CPU101は、取得したユーザID及びパスワードを表すデータが、保存されたユーザID及びパスワードを表すデータと一致しないと判別すると、ユーザ認証を失敗したと判別し、測定処理の実行を中止する。
【0104】
これに対して、CPU101は、取得したユーザID及びパスワードを表すデータが、保存されたユーザID及びパスワードを表すデータと一致すると判別すると、ユーザ認証を成功したと判別し、
図4の測定処理の実行を開始する。
【0105】
測定処理の実行が開始されると、
図6の表示制御部140は、撮影を促すメッセージを表示するように端末装置210又は220を制御する(ステップS01)。
【0106】
次に、
図6の第1取得部121は、
図12の取得処理を実行する(ステップS02)。これにより、第1取得部121は、距離の測定に必要なデータを送信するように求めるリクエストを、端末装置210又は220を宛先として通信回路105に出力する。その後、リクエストを送信した通信回路105が、端末装置210又は220から第1画像IM1、第1地点P1の緯度及び経度、及び、第1撮影方向Ds1の方角を表すデータを受信すると、第1取得部121は、受信されたデータを通信回路105から取得する(ステップS21からS23)。
【0107】
その後、
図4のステップS01及びS02と同様に、第2画像IM2、第2地点P2の緯度及び経度、及び、第2撮影方向Ds2の方角を表すデータが取得される(ステップS03及びS04)。
【0108】
次に、ステップS05からS09の処理が測定装置100で実行された後、表示制御部140は、端末装置210又は220を宛先として、測定された移動距離と、移動距離を表示するように指示する指令と、を通信回路105に出力することで、移動距離を表示するように端末装置210又は220を制御する(ステップS10)。
【0109】
その後、測定装置100の測定部160は、端末装置210又は220を操作したプレーヤーPrのユーザIDと、測定した移動距離を表すデータと、を対応付けて、情報記憶部190に保存した後に、測定処理の実行を終了する。
【0110】
図2の通信回路105が、端末装置210又は220から勝者の発表を求めるリクエストを受信すると、測定装置100のCPU101は、情報記憶部190に保存された複数のデータでそれぞれ表される移動距離の内で、最長の移動距離と、最長の移動距離を表すデータに対応付けられた氏名を表すデータを検索する。その後、測定装置100のCPU101は、検索されたデータで表される氏名のプレーヤーPrを勝者と特定し、特定した勝者の氏名及び移動距離であるボールBOの飛距離を表すメッセージを表示するように端末装置210又は220を制御する。
【0111】
この構成によれば、例えば、ドライビングコンテストの複数の参加者に端末装置210又は220を使用させれば、複数の参加者の内で、ボールOBを最も遠くに飛ばした勝者を特定できる。
【0112】
(実施例1の変形例5)
実施例1では、第2画像IM2の撮影地点である第2地点P2は、第1画像IM1の撮影地点である第1地点P1よりも、ボールBOの到達地点PAに近い地点であると説明したが、これに限定される訳ではない。第2地点P2は、第1地点P1よりもボールBOの到達地点PAから遠い地点であっても良い。
【0113】
(実施例1の変形例6)
実施例1では、第1撮影方向Ds1が北西であり、第2撮影方向Ds2が南東であるとしたが、これに限定される訳ではない。第1撮影方向Ds1及び第2撮影方向Ds2は、互いに対向する方角である必要はなく、どのような方角であっても良い。
【0114】
しかし、移動距離の測定精度を向上させるためには、第2撮影方向Ds2に基づいて特定される第2誤差範囲ER2が、第1撮影方向Ds1に基づいて特定される第1誤差範囲ER1に完全に包含されないようにする必要があるため、第1撮影方向Ds1及び第2撮影方向Ds2は、互いに同じ方角でないことが好ましい。
【0115】
(実施例1の変形例7)
実施例1では、測定装置100は、
図10に示した重複誤差範囲CEに含まれる最大の円ICを算出し、円ICの中心地点をボールBOの到達地点PAとすると説明した。
【0116】
しかし、これに限定される訳ではなく、測定装置100は、重複誤差範囲CEを内部に含む最小の円を算出し、算出した円の中心地点をボールBOの到達地点PAとしても良い。また、測定装置100は、重複誤差範囲CEの重心を算出し、重心をボールBOの到達地点PAとしても良い。さらに、測定装置100は、重複誤差範囲CEに含まれる複数の地点からランダムに選択した地点を、ボールBOの到達地点PAとしても良い。
【0117】
(実施例1の変形例8)
実施例1では、測定装置100は、
図13のステップS34において、第1画像IM1及び第2画像IM2からそれぞれ3つの特徴点を抽出すると説明したが、これに限定される訳ではない。測定装置100は、第1画像IM1及び第2画像IM2からそれぞれ1つ、2つ、又は、4つ以上の特徴点を抽出しても良い。
【0118】
また、実施例1では、測定装置100は、
図13のステップS34において、第1画像IM1及び第2画像IM2から旗C1を表す点、枝C2を表す点、及び、落葉C3を表す点を特徴点として抽出すると説明したが、これに限定される訳ではない。測定装置100は、例えば、芝がはげて地面が露出している地点、芝目が変化する地点、芝が枯れている地点、又は、プレーヤーPrの足跡が残る地点といった地点を表す点を、第1画像IM1及び第2画像IM2から特徴点として抽出しても良い。
【0119】
さらに、実施例1では、測定装置100は、
図13のステップS31において、特徴点を抽出する前に第1画像IM1を拡大すると説明したが、これに限定される訳では無く、第2画像IM2を縮小しても良い。
【0120】
(実施例1の変形例9)
実施例1では、測定装置100は、スマートフォンであると説明したが、これに限定される訳ではなく、フューチャーフォンであっても良いし、タブレット型又はノート型のパーソナルコンピュータであっても良い。
【0121】
(実施例2)
実施例1及び実施例1の変形例3では、測定装置100は、
図13のステップS31からS35で、拡大変換処理及び鏡像変換処理を実行された第1画像IM1から第1特徴点を抽出し、かつ、第2画像IM2から第2特徴点を抽出した後に、第1特徴点と第2特徴点との一致度を算出すると説明した。
【0122】
しかし、これに限定される訳ではなく、本実施例に係る測定装置100は、第1撮影方向Ds1に向けられた撮影装置110によって撮影された第1画像IM1を、所定の撮影方向である鉛直下方向に向けられた撮影装置110によって撮影された俯瞰画像に変換する第1透視投影変換処理を第1画像IM1に実行した後に、変換された第1画像IM1から第1特徴点を抽出する。同様に、測定装置100は、第2画像IM2を俯瞰画像に変換する第2透視投影変換処理を、第2画像IM2に対して実行した後に、変換された第2画像IM2から第2特徴点を抽出する。以下、実施例1の変形例3との相違点について主に説明する。
【0123】
本実施例に係る測定装置100は、実施例1の変形例3に係る測定装置100と同様に、
図4に示した測定処理を実行する。測定処理の実行を開始すると、
図4のステップS01からS04までの処理を実行することで、測定装置100は、第1撮影方向Ds1及び第2撮影方向Ds2、並びに、第1画像IM1及び第2画像IM2を取得する(ステップS01からS04)。次に、
図6に示した測定装置100の判別部130は、
図21に示すような同一判別処理を実行する(ステップS05)。
【0124】
同一判別処理の実行を開始すると、判別部130は、
図14のステップS41と同様の処理を実行する。これにより、判別部130は、第1撮影方向Ds1及び第1画像IM1に基づいて、
図2のレンズ110aからボールBOへ向かう第1到達方向Da1を特定する。次に、判別部130は、情報記憶部190から平均身長を表すデータを取得し、平均身長に基づいて、地面から撮影装置110までの高さを特定する。地面から撮影装置110までの正確な高さが分からなくとも、第1画像IM1を俯瞰画像に変換できるからである。
【0125】
その後、判別部130は、第1地点P1からボールBOが置かれた到達地点PAまでの地面が水平面であると仮定する。第1画像IM1を俯瞰画像に変換する第1透視投影変換行列の特定に必要な演算処理量を減らすためである。次に、判別部130は、撮影装置110からボールBOへ向かう第1到達方向Da1と、地面から撮影装置110までの高さと、に基づいて、地面に置かれたボールBOのXYZ座標値を推定する。
【0126】
次に、判別部130は、第1画像IM1における旗C1の描画位置、焦点距離f、及び、受光素子のサイズに基づいて、撮影装置110のレンズ110aから旗C1へ向かう方向を特定する。その後、判別部130は、レンズ110aから旗C1へ向かう方向と地面から撮影装置110までの高さとに基づいて、地面に置かれた旗C1のXYZ座標値を推定する。さらに、同様に、判別部130は、第1画像IM1に描画された様々なオブジェクトのXYZ座標値を推定する。
【0127】
その後、判別部130は、第1画像IM1に描画された様々なオブジェクトのXYZ座標値を用いて、第1画像IM1を鉛直下方向に向けられた撮影装置110によって撮影される俯瞰画像に変換する第1透視投影変換行列を特定する。同様に、判別部130は、第2画像IM2を俯瞰画像に変換する第2透視投影変換行列を特定する。
【0128】
その後、判別部130は、第1透視投影変換行列を用いて、
図22に示すような第1俯瞰画像DM1に第1画像IM1を変換する第1透視投影変換処理を実行する。
図22の第1俯瞰画像DM1において、主走査方向を右方向とし、副走査方向を下方向とすると、第1画像IM1の撮影時における第1撮影方向Ds1が北西方向であるため、北西方向が上方向に描画されている。同様に、判別部130は、第2透視投影変換行列を用いて、第2撮影方向Ds2である南東方向が上方向に描画される、不図示の第2俯瞰画像に第2画像IM2を変換する第2透視投影変換処理を実行する(ステップS51)。
【0129】
次に、判別部130は、鉛直下方向と直交する基準の方向を北方向と決定し、第1俯瞰画像DM1において基準の方向が上方向に描画されるように、第1俯瞰画像DM1を回転させる第1回転処理を実行する。これによって、北西方向が上方向に描画されていた第1俯瞰画像DM1が、
図23に示すように、基準の方向である北方向が上方向に描画された第1俯瞰画像DM1に変換される。つまり、
図23の第1俯瞰画像DM1では、南方向が副走査方向に描画され、東方向が主走査方向に描画されている。同様に、判別部130は、南東方向が上方向に描画されていた第2俯瞰画像を、北方向が上方向に描画された、
図24に示すような第2俯瞰画像DM2に変換する第2回転処理を実行する(ステップS52)。
【0130】
その後、判別部130は、
図13のステップ31と同様に、
図23の第1俯瞰画像DM1に描画されたボールBOの面積が、
図24の第2俯瞰画像DM2に描画されたボールBOの面積と同一又は略同一となるように、
図23の第1俯瞰画像DM1を拡大する拡大変換処理を実行する(ステップS53)。
【0131】
さらに、判別部130は、拡大した第1俯瞰画像DM1におけるボールBOの描画位置が、回転させた第2俯瞰画像DM2におけるボールBOの描画位置と同一又は略同一となるように、拡大した第1俯瞰画像DM1を並進させる。
【0132】
その後、判別部130は、北方向が上方向に描画され、かつ、拡大変換及び並進変換が行われた第1俯瞰画像DM1から、旗C1、枝C2、及び、落葉C3をそれぞれ表す第1特徴点を抽出する。同様に、判別部130は、北方向が上方向に描画された第2俯瞰画像DM2から、旗C1、枝C2、及び、落葉C3をそれぞれ表す第2特徴点を抽出する(ステップS54)。
【0133】
次に、判別部130は、それぞれ同一又は略同一の位置に描画された第1特徴点と、第2特徴点と、を互いに対応する特徴点のペアとする。その後、判別部130は、互いに対応する第1特徴点の周辺領域と第2特徴点の周辺領域との類似度の合計値を算出し、算出した類似度の合計値を一致度として算出する(ステップS55)。
【0134】
その後、判別部130は、
図13のステップS36からステップS38と同様の処理を実行する(ステップS56からステップS58)。これにより、判別部130は、第1画像IM1のボールBOが置かれた地点と、第2画像IM2のボールBOが置かれた地点と、が同一の到達地点PAであるか否かを、一致度に基づいて判別した後、同一判別処理の実行を終了する。
【0135】
図4のステップ05で同一判別処理が実行された後に、ステップS06からS10の処理が実行されることで(ステップS06からS10)、同一の到達地点PAが描画された第1画像IM1と第2画像IM2とに基づいて距離が測定される。その後、測定装置100は、測定処理の実行を終了する。
【0136】
これらの構成によれば、測定装置100は、第1画像IM1及び第2画像IM2を、所定の撮影方向である鉛直下に向けられた撮影装置110によって撮影される第1俯瞰画像DM1及び第2俯瞰画像DM2に変換する。その後、測定装置100は、第1俯瞰画像DM1及び第2俯瞰画像DM2に基づいて、第1画像IM1に描画された地点と、第2画像IM2に描画された地点と、が同一の到達地点PAであるか否かを判別する。これらのため、第1撮影方向Ds1と第2撮影方向Ds2とが異なる方向であっても、同じ透視投影方向の第1俯瞰画像DM1及び第2俯瞰画像DM2に基づいて、第1画像IM1に描画された地点と、第2画像IM2に描画された地点と、の同一性を判別するため、精度良く同一性を判別できる。
【0137】
またこれらの構成によれば、測定装置100は、第1俯瞰画像DM1及び第2俯瞰画像DM2を、基準の方向である北方向が副走査方向の負方向に描画されるように回転させる。その後、測定装置100は、回転させた第1俯瞰画像DM1及び第2俯瞰画像DM2から複数の第1特徴点及び複数の第2特徴点を抽出する。このため、第1画像IM1のボールBOが置かれた地点と、第2画像IM2のボールBOが置かれた地点と、が同一の到達地点PAであれば、複数の第1特徴点の位置関係と、複数の第2特徴点の位置関係と、は、同一又は略同一となる。このため、複数の第1特徴点と複数の第2特徴点との全組み合わせについて、互いの描画位置が同一又は略同一となるように、複数の第1特徴点又は複数の第2特徴点を回転させる必要が無い。よって、測定装置100は、従来よりも少ない演算処理量で、従来よりも高速に、同一性を判別できる。
【0138】
(実施例2の変形例1)
実施例2では、測定装置100は、
図21のステップS51からS53で、第1画像IM1及び第2画像IM2に対して透視投影変換処理、回転処理、及び、拡大変換処理を行った後に、ステップS54で、変換された第1画像IM1及び第2画像IM2から第1特徴点及び第2特徴点を抽出すると説明したが、変換及び抽出のタイミングは、これに限定される訳ではない。
【0139】
測定装置100は、
図25に示すような同一判別処理を実行することで、第1特徴点及び第2特徴点を抽出した後に、第1特徴点及び第2特徴点に対して透視投影変換処理、回転処理、及び、拡大変換処理を実行しても良い。
【0140】
本変形例に係る測定装置100は、
図25の同一判別処理の実行を開始すると、判別部130で、第1画像IM1及び第2画像IM2から第1特徴点及び第2特徴点を抽出する(ステップS61)。
【0141】
次に、判別部130は、第1特徴点に対して、実施例2で説明した第1透視投影変換処理を実行する。これにより、判別部130は、
図22の第1俯瞰画像DM1から抽出される特徴点に、第1画像IM1から抽出された第1特徴点を変換する。同様に、判別部130は、第2特徴点に対して、実施例2で説明した第2透視投影変換処理を実行する(ステップS62)。
【0142】
その後、判別部130は、第1透視投影変換処理が実行された第1特徴点に対して、実施例2で説明した第1回転処理を実行する。これにより、判別部130は、第1透視投影変換処理が実行された第1特徴点を、北方向が上方向に描画されるように回転させられた第1俯瞰画像DM1から抽出される第1特徴点に変換する。同様に、判別部130は、第2透視投影変換処理が実行された第2特徴点に対して、実施例2で説明した第2回転処理を実行する(ステップS63)。
【0143】
その後、判別部130は、
図21のステップS53及びS55からS58の処理を実行することで、回転させた第1特徴点及び第2特徴点に基づいて、第1画像IM1のボールBOが置かれた地点と、第2画像IM2のボールBOが置かれた地点と、が同一地点であるか否かを判別する(ステップS64からS68)。その後、判別部130は、同一判別処理の実行を終了する。
【0144】
(実施例2の変形例2)
実施例2及び実施例2の変形例1では、測定装置100は、第1画像IM1及び第2画像IM2を、所定の撮影方向である鉛直下方向に向けられた撮影装置110によって撮影される俯瞰画像に変換すると説明した。しかし、所定の撮影方向は、鉛直下方向に限定される訳ではなく、例えば、斜め下45度の方向を含むどのような方向であっても良い。
【0145】
また、実施例2及び実施例2の変形例1では、測定装置100は、鉛直下方向と直交する基準の方向を北方向と決定すると説明したが、これに限定される訳ではない。基準の方向は、鉛直下方向と直交していれば、どのような方向でも良く、例えば、東、南、西、北東、南東、南西、北西、又は、北北東の方向であっても良い。
【0146】
さらに、実施例2及び実施例2の変形例1では、測定装置100は、第1俯瞰画像DM1及び第2俯瞰画像DM2を、基準の方向である北方向が副走査方向の負方向に描画されるように回転させると説明したが、これに限定される訳ではない。例えば、測定装置100は、基準の方向である北方向が主走査方向の正の方向に描画されるように第1俯瞰画像DM1及び第2俯瞰画像DM2を回転させても良い。
【0147】
本発明の実施例1及び2、実施例1の変形例1から9、並びに、実施例2の変形例1及び2は、互いに組み合わせることができる。
【0148】
本発明の実施例1及び2、実施例1の変形例1から9、並びに、実施例2の変形例1及び2のいずれかに係る機能を実現するための構成を予め備えた測定装置100として提供できる。また、プログラムの適用により、既存の測定装置100を本発明の実施例1及び2、実施例1の変形例1から9、並びに、実施例2の変形例1及び2のいずれかに係る測定装置100として機能させることもできる。すなわち、上記本発明の実施例1及び2、実施例1の変形例1から9、並びに、実施例2の変形例1及び2のいずれかで例示した測定装置100による各機能構成を実現させるためのプログラムを、既存の測定装置100を制御するコンピュータ(CPUなど)が実行することで、本発明の実施例1及び2、実施例1の変形例1から9、並びに、実施例2の変形例1及び2のいずれかに係る測定装置100として機能させることができる。
【0149】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM(Compact Disc Read Only Memory)、又は、DVD−ROM(Digital Versatile Disk Read Only Memory)、などの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。尚、本発明の測定方法は、測定装置100を用いて実施できる。
【0150】
また、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【0151】
上記の実施例の一部又は全部は、以下の付記のようにも記載される。しかし、上記の実施例の一部又は全部は、以下の記載に限定される訳ではない。
【0152】
(付記)
(付記1)
移動体が移動を開始した第1地点と、前記第1地点から前記移動体の到達地点を撮影する撮影装置の第1撮影方向と、前記第1地点で前記第1撮影方向に向けられた前記撮影装置によって撮影された第1画像と、を取得する第1取得手段と、
前記第1地点と前記到達地点までの距離が異なる第2地点と、前記第2地点から前記到達地点を撮影する前記撮影装置の第2撮影方向と、前記第2地点で前記第2撮影方向に向けられた前記撮影装置によって撮影された第2画像と、を取得する第2取得手段と、
前記第1画像に基づく特徴点と、前記第2画像に基づく特徴点と、に基づいて、前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一であるか否かを判別する判別手段と、
前記第1地点、前記第1撮影方向、及び、同一であると判別された前記到達地点の前記第1画像における第1描画位置と、前記第2地点、前記第2撮影方向、及び、同一であると判別された前記到達地点の前記第2画像における第2描画位置と、に基づいて、前記第1地点から前記到達地点までの移動距離を測定する測定手段と、を備える、
ことを特徴とする測定装置。
【0153】
(付記2)
前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一でないと判別されると、前記到達地点を再度撮影するように促すメッセージを表示する表示手段、をさらに備える、
ことを特徴とする付記1に記載の測定装置。
【0154】
(付記3)
前記第1地点、前記第1撮影方向、及び、前記第1描画位置に基づいて、前記到達地点が含まれる第1誤差範囲を特定する第1特定手段と、
前記第2地点、前記第2撮影方向、及び、前記第2描画位置に基づいて、前記到達地点が含まれる第2誤差範囲を特定する第2特定手段と、をさらに備え、
前記測定手段は、前記第1誤差範囲と前記第2誤差範囲とが重なる範囲内の地点を前記到達地点として前記移動距離を測定する、
ことを特徴とする付記1に記載の測定装置。
【0155】
(付記4)
前記第1特定手段は、前記撮影装置の焦点距離と前記第1描画位置と前記第1撮影方向とに基づいて前記第1地点から前記到達地点へ向かう第1到達方向を特定し、かつ、前記第1地点から前記第1到達方向へ向かう第1半直線上の点を含むように前記第1誤差範囲を特定し、
前記第2特定手段は、前記焦点距離と前記第2描画位置と前記第2撮影方向とに基づいて前記第2地点から前記到達地点へ向かう第2到達方向を特定し、かつ、前記第2地点から前記第2到達方向へ向かう第2半直線上の点を含むように前記第2誤差範囲を特定する、
ことを特徴とする付記3に記載の測定装置。
【0156】
(付記5)
前記第1画像及び前記第2画像には、前記到達地点に在る前記移動体が描画されており、
前記第1特定手段は、前記第1画像に描画された前記移動体の面積である第1面積に基づいて前記第1地点から前記到達地点までの第1距離及び第1誤差を特定し、かつ、前記特定した第1距離及び第1誤差に基づいて前記第1誤差範囲を特定し、
前記第2特定手段は、前記第2画像に描画された前記移動体の面積である第2面積に基づいて前記第2地点から前記到達地点までの第2距離及び第2誤差を特定し、かつ、前記特定した第2距離及び第2誤差に基づいて前記第2誤差範囲を特定する、
ことを特徴とする付記4に記載の測定装置。
【0157】
(付記6)
前記判別手段は、前記第1画像及び前記第2画像を、所定の撮影方向に向けられた前記撮影装置によって撮影される画像に変換してから、前記変換された第1画像に基づく特徴点と、前記変換された第2画像に基づく特徴点と、に基づいて、前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一であるか否かを判別する、
ことを特徴とする付記1に記載の測定装置。
【0158】
(付記7)
前記判別手段は、前記変換された第1画像と前記変換された第2画像とを、前記所定の撮影方向と直交する基準の方向が走査方向又は副走査方向に描画されるように回転させてから、前記変換及び回転された第1画像から抽出される特徴点と、前記変換及び回転された第2画像から抽出される特徴点と、に基づいて、前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一であるか否かを判別する、
ことを特徴とする付記6に記載の測定装置。
【0159】
(付記8)
前記判別手段は、所定の撮影方向に向けられた前記撮影装置によって撮影される画像に前記第1画像を変換する第1変換処理を、前記第1画像から抽出された特徴点に対して実行し、かつ、前記所定の撮影方向に向けられた前記撮影装置によって撮影される画像に前記第2画像を変換する第2変換処理を、前記第2画像から抽出された特徴点に対して実行してから、前記第1変換処理が実行された前記特徴点と、前記第2変換処理が実行された前記特徴点と、に基づいて、前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一であるか否かを判別する、
ことを特徴とする付記1に記載の測定装置。
【0160】
(付記9)
前記判別手段は、前記所定の撮影方向と直交する基準の方向が走査方向又は副走査方向に描画されるように前記第1画像を回転させる第1回転処理を、前記第1変換処理が実行された前記特徴点に対して実行し、かつ、前記基準の方向が走査方向又は副走査方向に描画されるように前記第2画像を回転させる第2回転処理を、前記第2変換処理が実行された前記特徴点に対して実行してから、前記第1回転処理が実行された前記特徴点と、前記第2回転処理が実行された前記特徴点と、に基づいて、前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一であるか否かを判別する、
ことを特徴とする付記8に記載の測定装置。
【0161】
(付記10)
前記第2地点は、前記第1地点よりも前記移動体の前記到達地点に近い地点である、
ことを特徴とする付記1に記載の測定装置。
【0162】
(付記11)
前記第2地点は、前記第1地点の近傍の地点である、
ことを特徴とする付記10に記載の測定装置。
【0163】
(付記12)
前記所定の撮影方向は、鉛直下方向である、
ことを特徴とする付記7又は9に記載の測定装置。
【0164】
(付記13)
前記基準の方向は、方角で表される方向である、
ことを特徴とする付記12に記載の測定装置。
【0165】
(付記14)
前記第1撮影方向と、前記第2撮影方向と、は、互いに異なる方向である、
ことを特徴とする付記1に記載の測定装置。
【0166】
(付記15)
前記第1撮影方向と、前記第2撮影方向と、は、互いに対向する方向である、
ことを特徴とする付記14に記載の測定装置。
【0167】
(付記16)
第1取得手段、第2取得手段、判別手段、及び、測定手段を備える測定装置が実行する方法であって、
前記第1取得手段が、移動体が移動を開始した第1地点と、前記第1地点から前記移動体の到達地点を撮影する撮影装置の第1撮影方向と、前記第1地点で前記第1撮影方向に向けられた前記撮影装置によって撮影された第1画像と、を取得する第1取得ステップと、
前記第2取得手段が、前記第1地点と前記到達地点までの距離が異なる第2地点と、前記第2地点から前記到達地点を撮影する前記撮影装置の第2撮影方向と、前記第2地点で前記第2撮影方向に向けられた前記撮影装置によって撮影された第2画像と、を取得する第2取得ステップと、
前記判別手段が、前記第1画像に基づく特徴点と、前記第2画像に基づく特徴点と、に基づいて、前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一であるか否かを判別する判別ステップと、
前記測定手段が、前記第1地点、前記第1撮影方向、及び、同一であると判別された前記到達地点の前記第1画像における第1描画位置と、前記第2地点、前記第2撮影方向、及び、同一であると判別された前記到達地点の前記第2画像における第2描画位置と、に基づいて、前記第1地点から前記到達地点までの移動距離を測定する測定ステップと、を有する、
ことを特徴とする測定方法。
【0168】
(付記17)
コンピュータを、
移動体が移動を開始した第1地点と、前記第1地点から前記移動体の到達地点を撮影する撮影装置の第1撮影方向と、前記第1地点で前記第1撮影方向に向けられた前記撮影装置によって撮影された第1画像と、を取得する第1取得手段、
前記第1地点と前記到達地点までの距離が異なる第2地点と、前記第2地点から前記到達地点を撮影する前記撮影装置の第2撮影方向と、前記第2地点で前記第2撮影方向に向けられた前記撮影装置によって撮影された第2画像と、を取得する第2取得手段、
前記第1画像に基づく特徴点と、前記第2画像に基づく特徴点と、に基づいて、前記第1画像に描画された前記到達地点と、前記第2画像に描画された前記到達地点と、が同一であるか否かを判別する判別手段、
前記第1地点、前記第1撮影方向、及び、同一であると判別された前記到達地点の前記第1画像における第1描画位置と、前記第2地点、前記第2撮影方向、及び、同一であると判別された前記到達地点の前記第2画像における第2描画位置と、に基づいて、前記第1地点から前記到達地点までの移動距離を測定する測定手段、として機能させる、
ことを特徴とするプログラム。
【解決手段】測定装置100は、移動体が移動を開始した第1地点から移動体の到達地点を撮影した第1画像に基づく特徴点と、第1地点と到達地点までの距離が異なる第2地点から到達地点を撮影した第2画像に基づく特徴点と、に基づいて、第1画像の到達地点と第2画像の到達地点とが同一であるか否かを判別する判別部130を備える。また、測定装置100は、第1地点、第1撮影方向、及び、同一であると判別された到達地点の第1画像における第1描画位置と、第2地点、第2撮影方向、及び、同一であると判別された到達地点の第2画像における第2描画位置と、に基づいて、第1地点から到達地点までの移動距離を測定する測定部160を備える。