(57)【要約】      （修正有）【課題】球状物体間距離測定を行うシステム、方法及びプログラムを提供する。【解決手段】球状物体間距離測定のためのシステム３００であって、該システム３００は、ある光軸を有し、移動可能な撮像手段３１０と、光軸の傾きに応じた出力を行う検知手段３２０と、撮像手段３１０からの出力画像における所定の位置に所定の大きさの球状物体が撮像されたかを判定する第１判定手段３３２と、検知手段３２０からの出力を用いて、光軸に垂直な平面が水平であるかを判定する第２判定手段３３３と、撮像手段３１０からの出力画像における所定の位置に所定の大きさの球状物体が撮像されたと判定され、且つ、撮像手段の光軸に垂直な平面が水平であると判定されたときに、撮像手段からの出力画像を特定画像として自動的に記録する特定画像記録手段３３４とを備える。【選択図】図３
2018081537.tif 000002
【特許請求の範囲】
【請求項１】
ある光軸を有し、移動可能な撮像手段と、
前記光軸の傾きに応じた出力を行う検知手段と、
前記撮像手段からの出力画像における所定の位置に所定の大きさの球状物体が撮像されたかを判定する第１判定手段と、
前記検知手段からの出力を用いて、前記光軸に垂直な平面が水平であるかを判定する第２判定手段と、
前記出力画像における所定の位置に前記所定の大きさの球状物体が撮像されたと判定され、且つ、
前記光軸に垂直な平面が水平であると判定された
ときに、前記撮像手段からの出力画像を特定画像として自動的に記録する手段と
を備えたシステム。
【請求項２】
請求項１に記載のシステムであって、
前記所定の大きさの円と、前記光軸の傾きに応じた表示とを重ね合わせて、前記撮像手段からの出力画像を表示する手段であって、前記円は、前記出力画像における前記所定の位置に表示される、手段
を更に備えたシステム。
【請求項３】
請求項２に記載のシステムであって、
前記第１判定手段は、前記出力画像における、重ね合わせて表示される前記円内の少なくとも１つのピクセルの輝度値に基づく値と、前記円外の少なくとも１つのピクセルの輝度値に基づく値との比較により、前記出力画像における所定の位置に所定の大きさの球状物体が撮像されているかを判定する、システム。
【請求項４】
請求項１から３のうちの何れか一項に記載のシステムであって、
前記特定画像に基づいて、当該画像において第１の所定の範囲の大きさの円を検出するための円検出手段と、
前記特定画像に基づいて、検出された前記円のうちの各円について、当該円の中心と、検出された前記円のうちの他の円の中心とを結ぶ線分上にあり、且つ、当該円の中心から第２の所定の範囲にある輪郭であって、当該輪郭が複数存在する場合には、前記複数の輪郭のうち、当該円の中心から最も外側にある輪郭を、当該円に関連した輪郭として検出する輪郭検出手段と、
検出された前記円のうちの第１の円の中心と第２の円の中心とを結ぶ線分上にある、検出された前記輪郭であって前記第１の円及び前記第２の円に関連した輪郭間の、前記特定画像における距離を測定する手段と、
を更に備えたシステム。
【請求項５】
請求項４に記載のシステムであって、
測定された前記距離を、変換係数を用いて、所定の単位の距離に変換する手段
を更に備え、前記表示手段は、前記所定の単位の距離を表示する、システム。
【請求項６】
請求項４又は５に記載のシステムであって、前記円検出手段は、
前記特定画像に基づいて、複数のチャネルの画像を生成するチャネル別画像生成手段と、
前記チャネル別画像生成手段により生成された各チャネルの画像から、前記第１の所定の範囲の大きさの円を検出するチャネル別円検出手段と、
前記チャネル別円検出手段により異なるチャネルの画像からそれぞれ検出された少なくとも２つの円の中心間の距離が所定の閾値以下である場合に、前記少なくとも２つの円のうち、前記チャネル別円検出手段により各チャネルの画像から検出された全ての円の大きさの平均に最も近い大きさの円以外の円を、検出された円から除外する手段と
を含む、システム。
【請求項７】
請求項６に記載のシステムであって、前記複数のチャネルは、Ｒチャネル、Ｇチャネル、Ｂチャネル、Ｙチャネル、Ｃｒチャネル、Ｃｂチャネル、第１複合チャネル及び第２複合チャネルのうちの２以上を含み、
前記第１複合チャネルの画像の各ピクセルは、
Ｃｒチャネルの画像の対応するピクセルの値と、Ｃｒチャネルの画像の全ピクセルの値の中央値との差の絶対値と、
Ｃｂチャネルの画像の対応するピクセルの値と、Ｃｂチャネルの画像の全ピクセルの値の中央値との差の絶対値と
の和をガンマ補正した値を有し、
前記第２複合チャネルの画像の各ピクセルは、Ｙチャネルの画像の対応するピクセルの値と、Ｙチャネルの画像の全ピクセルの値の中央値との差の絶対値をガンマ補正した値を有する、システム。
【請求項８】
請求項６又は７に記載のシステムであって、
前記特定画像に基づいて、検出された前記円のうちの少なくとも１つの円に対応した色を特定する色特定手段
を更に備え、前記輪郭検出手段は、ある色に対応した円を検出する際に、当該色に対応したチャネルの画像から輪郭の検出を試み、輪郭の検出ができなかった場合に、異なるチャネルの画像から輪郭の検出を試みる、システム。
【請求項９】
請求項８に記載のシステムであって、前記色特定手段は、
検出された前記円のうち、前記所定の位置にある円に対応した色を白と特定する手段と、
前記特定画像のＣｒチャネルの画像から検出された円のうち、当該画像における当該円内の少なくとも１つのピクセルの値に基づく値が、所定の値より大きく、且つ、前記特定画像のＣｂチャネルの画像における対応するピクセルの値に基づく値に所定の割合を乗じた値よりも大きい円に対応した色を赤と特定する手段と、
前記特定画像のＣｂチャネルの画像から検出された円のうち、当該画像における当該円内の少なくとも１つのピクセルの値に基づく値が、所定の値より大きく、且つ、前記特定画像のＣｒチャネルの画像における対応するピクセルの値に基づく値に所定の割合を乗じた値よりも大きい円に対応した色を青と特定する手段と
のうちの１以上を含む、システム。
【請求項１０】
コンピュータが実行する方法であって、
第１判定ステップであって、
カメラから出力画像を得るステップと、
前記出力画像における所定の位置に所定の大きさの球状物体が撮像されたかを判定するステップと
を含む、ステップと、
第２判定ステップであって、
センサから、前記カメラの光学系の光軸の傾きに応じた出力を得るステップと、
前記出力を用いて、前記光軸に垂直な平面が水平であるかを判定するステップと
を含む、ステップと、
前記出力画像における所定の位置に前記所定の大きさの球状物体が撮像されたと判定され、且つ、
前記光軸に垂直な平面が水平であると判定された
ときに、前記カメラからの出力画像を特定画像として自動的に記録するステップと
を含む方法。
【請求項１１】
請求項１０に記載の方法であって、
前記所定の大きさの円と、前記光軸の傾きに応じた表示とを重ね合わせて、前記カメラからの出力画像をディスプレイに表示するステップであって、前記円は、前記出力画像における前記所定の位置に表示される、ステップ
を更に含む、方法。
【請求項１２】
請求項１１に記載の方法であって、
前記第１判定ステップは、前記出力画像における、重ね合わせて表示される前記円内の少なくとも１つのピクセルの輝度値に基づく値と、前記円外の少なくとも１つのピクセルの輝度値に基づく値との比較により、前記出力画像における所定の位置に所定の大きさの球状物体が撮像されているかを判定するステップを含む、方法。
【請求項１３】
請求項１０から１２のうちの何れか一項に記載の方法であって、
前記特定画像に基づいて、当該画像において第１の所定の範囲の大きさの円を検出する円検出ステップと、
前記特定画像に基づいて、検出された前記円のうちの各円について、当該円の中心と、検出された前記円のうちの他の円の中心とを結ぶ線分上にあり、且つ、当該円の中心から第２の所定の範囲にある輪郭であって、当該輪郭が複数存在する場合には、前記複数の輪郭のうち、当該円の中心から最も外側にある輪郭を、当該円に関連した輪郭として検出する輪郭検出ステップと、
検出された前記円のうちの第１の円の中心と第２の円の中心とを結ぶ線分上にある、検出された前記輪郭であって前記第１の円及び前記第２の円に関連した輪郭間の、前記特定画像における距離を測定するステップと
を更に含む方法。
【請求項１４】
請求項１３に記載の方法であって、
測定された前記距離を、変換係数を用いて、所定の単位の距離に変換するステップと、
前記所定の単位の距離をディスプレイに表示するステップと
を更に含む方法。
【請求項１５】
請求項１３又は１４に記載の方法であって、前記円検出ステップは、
前記特定画像に基づいて、複数のチャネルの画像を生成するチャネル別画像生成ステップと、
前記チャネル別画像生成ステップにおいて生成された各チャネルの画像から、前記第１の所定の範囲の大きさの円を検出するチャネル別円検出ステップと、
前記チャネル別円検出ステップにおいて異なるチャネルの画像からそれぞれ検出された少なくとも２つの円の中心間の距離が所定の閾値以下である場合に、前記少なくとも２つの円のうち、前記チャネル別円検出ステップにおいて各チャネルの画像から検出された全ての円の大きさの平均に最も近い大きさの円以外の円を、検出された円から除外するステップと
を含む、方法。
【請求項１６】
請求項１５に記載の方法であって、前記複数のチャネルは、Ｒチャネル、Ｇチャネル、Ｂチャネル、Ｙチャネル、Ｃｒチャネル、Ｃｂチャネル、第１複合チャネル及び第２複合チャネルのうちの２以上を含み、
前記第１複合チャネルの画像の各ピクセルは、
Ｃｒチャネルの画像の対応するピクセルの値と、Ｃｒチャネルの画像の全ピクセルの値の中央値との差の絶対値と、
Ｃｂチャネルの画像の対応するピクセルの値と、Ｃｂチャネルの画像の全ピクセルの値の中央値との差の絶対値と
の和をガンマ補正した値を有し、
前記第２複合チャネルの画像の各ピクセルは、Ｙチャネルの画像の対応するピクセルの値と、Ｙチャネルの画像の全ピクセルの値の中央値との差の絶対値をガンマ補正した値を有する、方法。
【請求項１７】
請求項１５又は１６に記載の方法であって、
前記特定画像に基づいて、検出された前記円のうちの少なくとも１つの円に対応した色を特定する色特定ステップ
を更に含み、前記輪郭検出ステップは、ある色に対応した円を検出する際に、当該色に対応したチャネルの画像から輪郭の検出を試み、輪郭の検出ができなかった場合に、異なるチャネルの画像から輪郭の検出を試みるステップを含む、方法。
【請求項１８】
請求項１７に記載の方法であって、前記色特定ステップは、
検出された前記円のうち、前記所定の位置にある円に対応した色を白と特定するステップと、
前記特定画像のＣｒチャネルの画像から検出された円のうち、当該画像における当該円内の少なくとも１つのピクセルの値に基づく値が、所定の値より大きく、且つ、前記特定画像のＣｂチャネルの画像における対応するピクセルの値に基づく値に所定の割合を乗じた値よりも大きい円に対応した色を赤と特定するステップと、
前記特定画像のＣｂチャネルの画像から検出された円のうち、当該画像における当該円内の少なくとも１つのピクセルの値に基づく値が、所定の値より大きく、且つ、前記特定画像のＣｒチャネルの画像における対応するピクセルの値に基づく値に所定の割合を乗じた値よりも大きい円に対応した色を青と特定するステップと
のうちの１以上を含む、方法。
【請求項１９】
請求項１０〜１８のうちの何れか一項に記載の方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、球状物体間距離測定をするための技術に関する。より詳細には、本発明は、ボール間距離測定用画像を取得して、該画像からボール間距離を測定する技術に関する。
【背景技術】
【０００２】
「ボッチャ」と呼ばれる、ヨーロッパで生まれた重度脳性麻痺者又は同程度の四肢重度機能障がい者のために考案されたスポーツが存在し、パラリンピックの正式種目にもなっている。
【０００３】
ボッチャにおいては、ジャックボール（目標球）と呼ばれる白いボールに、赤及び青のそれぞれ６球ずつのボールを投げたり、転がしたり、他のボールに当てたりして、いかに近づけるかが競われる。特に、ボッチャにおける勝敗は、ジャックボールである白いボールと、赤及び青のそれぞれのボールとの距離（ボールの中心を基準とした距離ではなく、ボールの表面を基準とした距離）に基づいて行われる。
【０００４】
なお、ジャックボール自体、選手によって投げられる等するため、ボッチャを行うコート上の白いボールの初期位置は様々であり、更に、試合中の他のボールとの衝突により、白いボールの位置は初期位置から移動しうる。また、ボールは、色（赤、青及び白）、重量（２７５ｇ±１２ｇ）及び周長（２７０ｍｍ±８ｍｍ）が定められているものの、材質に関する制限はない。また、ボールには、切れ目を入れたり、シールを張ったりなどの改造があってはならないが、模様（印刷されたメーカーのロゴ等）がそもそも存在する場合がある。
【０００５】
現在、ボッチャにおけるボール間の距離は、メジャー等を用いて人手により測定されている。しかしながら、このような手法によると、重量が比較的軽いこともあり、測定時に誤ってボールを動かしてしまうことがある。
【０００６】
ところで、距離を測定することに関連した先行技術として、特開２００８−２２８７７３号公報には、遊戯装置に固定されたＣＣＤカメラ等により所定のエリアを撮影し、初期画像から基準円の中心点（基準点）の座標を求め、判定画像から遊戯媒体の中心点の位置座標を求め、そして基準点から遊戯媒体の中心点までの直線距離を求める遊戯装置が記載されている（当該文献の段落［０１００］及び［０１４８］並びに図２等を参照。）
【特許文献１】特開２００８−２２８７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ボッチャにおいて、ジャックボールは比較的広いコートのどこにでも位置する可能性がある。また、ボールの材質に制限がないため、試合中にボールがゆがんでしまうことや、そもそも最初からゆがんだボールが用いられることもある一方で、距離は、ボールの表面を基準として測定される。
【０００８】
そのため、予め定められたエリアのみを撮影する固定されたカメラを用いる手法や、物体の中心間の距離を単に測定する手法は、ボッチャにおけるボール間距離測定には不適当である。
【０００９】
誤ってボールを動かしてしまう恐れなく、ボッチャにおけるような条件のもと、ボール間距離測定をできる手法があれば、そのような手法は非常に有用である。
【課題を解決するための手段】
【００１０】
本発明は、以上に鑑みてなされたものである。
本発明の基本的な実施形態の一例は、球状物体間距離測定のためのシステムである。このシステムは、ある光軸を有し、移動可能な撮像手段と、光軸の傾きに応じた出力を行う検知手段と、撮像手段からの出力画像における所定の位置に所定の大きさの球状物体が撮像されたかを判定する第１判定手段と、検知手段からの出力を用いて、光軸に垂直な平面が水平であるかを判定する第２判定手段と、撮像手段からの出力画像における所定の位置に所定の大きさの球状物体が撮像されたと判定され、且つ、撮像手段の光軸に垂直な平面が水平であると判定されときに、撮像手段からの出力画像を特定画像として自動的に記録する手段とを備えたものである。
【００１１】
本発明の基本的な実施形態の別の一例は、物体間距離測定のための方法である。この方法は、コンピュータが実行するものであり、第１判定ステップと第２判定ステップとを含んでいる。第１判定ステップは、カメラから出力画像を得るステップと、出力画像に所定の位置に所定の大きさの球状物体が撮像されたかを判定するステップとを含むものである。第２判定ステップは、センサから、カメラの光学系の光軸の傾きに応じた出力を得るステップと、得られた出力を用いて、カメラの光学系の光軸に垂直な平面が水平であるかを判定するステップとを含むものである。この方法は、更に、カメラからの出力画像における所定の位置に所定の大きさの球状物体が撮像されたと判定され、且つ、カメラの光学系の光軸に垂直な平面が水平であると判定されたときに、カメラからの出力画像を特定画像として自動的に記録するステップを含んでいる。
【００１２】
本発明の基本的な実施形態のまた別の一例は、コンピュータに、上記方法を実行させるプログラムである。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例の第１の画面を示している。
【図２】本発明の実施例の第２の画面を示している。
【図３】本発明の実施形態の一例であるシステム３００のブロック図である。
【図４】円検出手段３３１をより詳細に説明するためのブロック図である。
【図５】色特定手段３３８をより詳細に説明するためのブロック図である。
【図６】本発明の実施形態の一例である方法６００のフローチャートである。
【図７】第１判定ステップ７００のフローチャートである。
【図８】第２判定ステップ８００のフローチャートである。
【図９】円検出ステップ７３１をより詳細に説明するためのフローチャートである。
【図１０】色特定ステップ６３８をより詳細に説明するためのフローチャートである。
【図１１】水平にすることの意義について説明するための図である。
【図１２】複数チャネルの画像を用いることの意義について説明するための図である。
【図１３】輪郭検出手段３３５の処理について説明するための図である。
【図１４】コンピュータについて説明するための図である。
【発明を実施するための形態】
【００１４】
１  本発明の実施の一例
まず、本発明についての理解が容易となるように、一般的なスマートフォンを利用して本発明を実施した例について説明する。
【００１５】
本スマートフォンは、少なくとも、ハードウエア資源として、タッチパネル・ディスプレイ、カメラ、加速度センサ、スピーカ、メモリ及びプロセッサを備えるものとし、タッチパネル・ディスプレイ、カメラ、加速度センサ及びスピーカは、メモリに格納されたプログラム（ソフトウエア）に従い、プロセッサにより制御されるものとする。
【００１６】
また、本スマートフォンは、平板状の外観を有し、その平板の一方の面に、少なくとも主要部が平面であるタッチパネル・ディスプレイが取り付けられ、その他方の面に、カメラが取り付けられているものとする。カメラは、その光学系の光軸に垂直な平面が、平板の面と平行であるように固定されているものとする。従って、本スマートフォンが水平であれば、カメラの光軸に垂直な平面もまた水平である。
【００１７】
更に、加速度センサは、本スマートフォンの傾きに応じた信号を出力するものとする。従って、加速度センサは、本スマートフォンに固定されたカメラの傾き即ち光軸の傾きに応じた信号を出力するともいえる。なお、上記のような加速度センサの代わりに、カメラの光学系の光軸の傾きを検知する任意の別のタイプのセンサを用いてもよいことはいうまでもない。
【００１８】
図１は、タッチパネル・ディスプレイに表示される第１の画面１００を表している。
画面１００は、カメラからの出力画像１１０を含んでいる。なお、出力画像１１０は、スマートフォンの動きに応じて刻一刻と変化する。１２０、１３０及び１４０は、それぞれ、白、赤及び青のボールを撮影したものを示している。１５０は、ボールが置かれている床を撮影したものを示している。１６０は、出力画像１１０に重ねて表示されるガイドを示している。
【００１９】
１７１及び１８１は、加速度センサの出力から求められた、スマートフォンの傾きの度合いを示し、１７２及び１８２は、どのように傾ければスマートフォンが水平になるかを示している。
【００２０】
１７１が示す「０．２」は、本稿の紙面を基準とすると、画面１００の上方が下方よりも、水平から０．２度だけ紙面表側に傾いていることを表している。１７２が示す上矢印は、画面１００の下方を上方に対して紙面表側に傾けることにより、スマートフォンが水平になることを表している。従って、逆に、画面１００の下方が上方よりも紙面表側に傾いているならば、１７１が示す値は負となり、１７２が示す矢印は下矢印となる。なお、スマートフォンが水平である場合、１７１が示す値は０となり、１７２が示す矢印は表示されなくなる。
【００２１】
同様に、１８１が示す「７．８」は、本稿の紙面を基準とすると、画面１００の右方が左方よりも、水平から７．８度だけ紙面表側に傾いていることを表している。１８２が示す右矢印は、画面１００の左方を右方に対して紙面表側に傾けることにより、スマートフォンが水平になることを表している。従って、逆に、画面１００の左方が右方よりも紙面表側に傾いているならば、１８１が示す値は負となり、１８２が示す矢印は左矢印となる。なお、スマートフォンが水平である場合、１８１が示す値は０となり、１８２が示す矢印は表示されなくなる。
【００２２】
タッチパネル・ディスプレイに画面１００が表示されているとき、ユーザは、当該画面を見ながら、スマートフォンが水平となるように、且つ、白のボール１２０がガイド１６０と重なるように、スマートフォンの傾きを調整し且つスマートフォンを上下前後左右に動かすことを要求される。スマートフォンがほぼ水平となった状態が一定時間継続し、且つ、白のボール１２０がガイド１６０とほぼ重なっていると、スマートフォンは、自動的に、そのときの出力画像１１０を特定画像として記録する。
【００２３】
ここで、スマートフォンを水平となるようにする技術的意義について説明する。上述したように、スマートフォンが水平であることは、カメラの光学系の光軸に垂直な平面が水平であることを意味する。一般的に、カメラの光学系の光軸に垂直な平面と、撮像される物体との垂直距離に応じて、当該物体の出力画面上の大きさの縮尺は、異なったものとなる。例えば、図１１を用いて説明すると、水平な地面１１１０に置かれた同じ大きさの２つのボール１１２０ａ及び１１２０ｂを、カメラ１１０５の光学系の光軸１１３０に垂直なある平面１１４０が水平でない場合に撮像したとき、各ボールと当該平面との垂直距離１１５０ａ及び１１５０ｂは異なることがあり、そのような場合には、出力画像１１６０上の各ボールを撮像したものの大きさ１１７０ａ及び１１７０ｂが異なったものとなってしまう。このことは、そのような出力画像１１６０の２点間の距離が、当該２点の当該画像上の位置によって異なりうることも意味している。
【００２４】
次に、白のボール１２０がガイド１６０と重なることの技術的意義について説明する。スマートフォンには、白のボールの所定の単位での大きさ（例えば、ｃｍ単位での直径）と、ガイド１６０の画像１１０上の大きさ（ガイド１６０は、幅のある線で描かれた円として画像１１０上に表示されているため、例えば、当該円に重なるある円のピクセル単位での直径）との関係を、変換係数（例えば、単位はｃｍ／ピクセル）として予め記憶しておくことができる。従って、ガイド１６０に白のボール１２０が重なったとき、画像１１０上の２点間の所定の単位での距離は、画像１１０上の２点間の距離×変換係数として求めることが可能となる（上述したように、画像１１０は、スマートフォンが水平な状態で得られたものであると仮定している。）。
【００２５】
更に、自動的に画像を記録することの技術的意義について説明する。上記条件が満たされた後、何らかの入力、特に物理的入力に応答して画像を記録するようにすると、そのような入力によって条件が満たされなくなる場合がある。例えば、タッチパネル・ディスプレイへのタップは、スマートフォンを移動させたり傾けたりさせうる。条件が満たされたときの自動的な画像記録は、そのような問題に対処するものである。
【００２６】
なお、スマートフォンが水平であるか、及び、白のボール１２０がガイド１６０と重なっているかの一方又は双方は、スピーカからの音によって示すようにしてもよい。例えば、スマートフォンが水平から離れている場合には間隔の大きな繰り返し音（ピッ、ピッ、ピッ…）が、水平に近い場合には間隔の小さな繰り返し音（ピッピッピッ…）が、白のボール１２０がガイド１６０から外れている場合には低い音（プププ…のような音）が、入っている場合には高い音（ピピピのような音）がスピーカから発されるようにスマートフォンを構成することもできる。
【００２７】
１９０は、ガイド１６０の大きさを変更するためのＵＩ（ユーザ・インターフェース）を示している。ここで、ガイド１６０の大きさを大きくした場合（近接）、白のボール１２０をガイド１６０と重なるようにするために、スマートフォンを当該ボールにより近接させることになり、結果、撮影される床１５０の領域が狭くなる一方で、距離測定の精度は向上する。逆に、ガイド１６０の大きさを小さくした場合（広範囲）、白のボール１２０をガイド１６０と重なるようにするために、スマートフォンを当該ボールからより遠ざけることになり、結果、撮影される床１５０はより広範囲となる一方で、距離測定の精度は悪くなる。なお、ＵＩ１９０は、ガイド１６０の大きさはそのままに、カメラの光学又はデジタル・ズームの倍率を変更するものであってもよい。また、ＵＩ１９０によって撮影距離が変更される場合を想定して、スマートフォンは、それぞれの撮影距離に対応する複数の変換係数を予め記憶しておくか、又は、１つの変換係数から任意の撮影距離に対応した変換係数を導出できるように構成することができる。
【００２８】
なお、極端にいえば、表示も見ずに音も聞かずに、スマートフォンを適当な場所で上下前後左右に適当に動かし傾きを調節するだけでも、所定の条件が満たされれば、適切な出力画像１１０は記録される。即ち、画面１００の表示や音は必須でないことに留意されたい。このことは、ディスプレイやスピーカを備えていないデバイスであっても、本発明は実施しうることを意味している。
【００２９】
図２は、ある瞬間の出力画像１１０が特定画像２１０として記録された後で、タッチパネル・ディスプレイに表示される第２の画面２００を表している。画面２００には、記録された特定画像２１０も表示されている。
【００３０】
２２０（破線）は、特定画像２１０から検出された、白のボール１２０に対応した円を示している。２３０及び２４０（破線）は、同様に検出された、赤のボール１３０及び青のボール１４０に対応した円である。
【００３１】
２２５及び２３５は、それぞれ、白のボール１２０と赤のボール１３０及び白のボールと青のボール１４０の、測定された所定の単位（例えば、ｃｍ）での距離を示している。ここで、測定された距離の基準は、ボールの検出された輪郭（図示せず）である。輪郭は、ボールについて検出された円２２０、２３０及び２４０を利用して求められるものであり、後述する。
【００３２】
２５１、２５２、２５３及び２５４は、その先端が距離測定の基準点（輪郭）を示すマーカである。輪郭の検出が失敗し、正しい距離が得られていない場合には、その先端が正しい基準点を指すようにマーカ２５１、２５２、２５３又は２５４を手動で移動させることにより、再計算された距離２２５又は２３５が表示される。マーカは、追加したり削除したりすることもできる。
【００３３】
なお、画面２００は、スマートフォン自体に表示される必要はないことを理解されたい。例えば、本発明の実施例をボッチャの大会において用いる場合、その会場に据え付けられたスクリーン上に、画面２００を表示することができる。
【００３４】
２  本発明の実施形態の第１例
以下、本発明の実施形態の一例である球状物体間距離測定のためのシステムについて説明する。
【００３５】
２−１  実施形態の概要
図３は、本システム３００が含む主な手段を表したブロック図である。なお、ブロック間の矢印は、情報の例示の流れを示している。システム３００は、一部の手段を含まないことや、図示しない手段を含むことがあるし、また、情報は図示したものとは異なる経路で流れることがあることは理解されたい。
【００３６】
３１０は、ある光軸を有し、移動可能な撮像手段を示している。当該手段は、例えばハードウエア資源としての少なくともカメラとソフトウエアとの協働により実現される手段である。撮像手段３１０の光軸は、例えばカメラを用いる場合、カメラの光学系の光軸である。なお、先にスマートフォンのカメラを例示したが、撮像手段３１０を実現するためのハードウエア資源としてはこれに限定されず、例えば、ドローンに搭載されたカメラを用いることも想定される。
【００３７】
３２０は、撮像手段３１０の光軸の傾きに応じた出力を行う検知手段である。当該手段は、例えばハードウエア資源としての少なくともセンサとソフトウエアとの協働により実現される手段である。センサの一例は、先に例示した加速度センサであるが、複数のカメラを用いるなどして、光学的に傾きを検知するセンサも想定される。
【００３８】
３３０は、図３において示されている以下に説明する各手段を含む（一部手段は実施例によっては含まない場合がある）制御手段を示している。当該手段は、例えばハードウエア資源としての少なくともプロセッサ及びメモリとソフトウエアとの協働により実現される手段である。
【００３９】
３３２は、撮像手段３１０からの出力画像における所定の位置に、所定の大きさの球状物体が撮像されたかを判定する第１判定手段を示している。なお、一般的に、カメラの光学系は固有の収差を有するが、「撮像手段３１０からの出力画像」は、そのような収差の少なくとも一部が公知の手法により補正された後の画像であってよい。
【００４０】
第１判定手段３３２が用いる判定手法は任意であるが、一例を述べると、第１判定手段３３２は、撮像手段３１０からの出力画像において、所定の位置に仮定された所定の大きさの円の内側が、当該円の外側よりも有意に明るいときに、所定の位置に所定の大きさの球状物体が撮像されたと判定することができる。即ち、第１判定手段は、当該円内の少なくとも１つのピクセルの輝度値に基づく値と、当該円外の少なくとも１つのピクセルの輝度値に基づく値との比較による判定を行うことができる。より詳細には、例えば、当該円の円周付近且つ当該円内の少なくとも２つのピクセルの輝度値の平均値又は中央値に所定の割合を乗じた値が、当該円の円周付近且つ当該円外の少なくとも２つのピクセルの輝度値の平均値又は中央値よりも大きいときに、第１判定手段３３２は、所定の位置に所定の大きさの球状物体が撮像されたと判定することができる。また、例えば、当該円内のピクセルの輝度値の平均値又は中央値に所定の割合を乗じた値が、当該円に外接する四角形内且つ当該円外のピクセルの輝度値の平均値又は中央値よりも大きいときに、第１判定手段３３２は、所定の位置に所定の大きさの球状物体が撮像されたと判定することができる。ここで、「所定の割合」は１１０％程度であってよい。
【００４１】
なお、上記例示手法は、球状物体が白いボールであるときに特に好適なものであり、次に述べる例示手法に比べて計算量が少ないものである。また、システム３００が後述する表示手段３４０を含む場合、上記例示手法における「所定の位置に仮定された所定の大きさの円」は、重ね合わせて表示される円と同一であることができる。
【００４２】
第１判定手段３３２が用いる判定手法の別例は、撮像手段３１０からの出力画像に基づいて検出された、当該画像において所定の範囲の大きさの円を用いたものであり、第１判定手段３３２は、撮像手段３１０からの出力画像において、所定の位置からの距離が所定の閾値以下である中心を有する所定の範囲の大きさの円が検出されたときに、所定の位置に所定の大きさの球状物体が撮像されたと判定することができる。なお、円の検出は、図示しない手段により、後述する円検出手段３３１が行う処理と同様の処理によって行うことができる。また、システム３００が後述する表示手段３４０を含む場合、上記例示手法における「所定の範囲の大きさ」は、重ね合わせて表示される円の大きさを含むものであり、上記例示手法における「所定の位置」は、当該円の中心であり、上記例示手法における「所定の閾値」は、当該円の半径であることができる。
【００４３】
上に例示した２つの手法によると、システム３００が表示手段３４０を含む場合、重ね合わせて表示される円と、撮像された球状物体とがほぼ重なったときに、第１判定手段３３２は、真という判定をすることになる。
【００４４】
３３３は、検知手段３２０からの出力を用いて、撮像手段３１０の光軸に垂直な平面が水平であるかを判定する第２判定手段を示している。ここで、「水平」とは、「完全に水平」であることを要しないことに留意されたい。また、第２判定手段は、検知手段３２０からの出力が、所定の時間、撮像手段３１０の光軸に垂直な平面が水平であることを示すときに、水平であるとの判定をすることができる。即ち、第２判定手段３３３は、所定の時間例えば１秒間、所定の範囲例えば適切な誤差の範囲で水平であるときに、水平であると判定してよい。
【００４５】
３３４は、出力画像における所定の位置に所定の大きさの球状物体が撮像されたと判定され、且つ、撮像手段３１０の光軸に垂直な平面が水平であると判定されたときに、撮像手段３１０からの出力画像を特定画像として自動的に記録する特定画像記録手段を示している。
【００４６】
なお、本例では、特定画像記録手段３３４は、第１判定手段３３２から、判定に係る出力画像をも受けるものとしているが、別例では、特定画像記録手段３３４は、判定の結果を第１判定手段３３２から、出力画像を撮像手段３１０から受けることができる。後者の場合、第１判定手段３３２が判定に用いた画像と、撮像手段３１０から受けた出力画像とが同じではなく、時間的に前後する場合がありうるが、そのような時間的なズレは十分に小さければ許容されうる。
【００４７】
３４０は、システム３００が含むことのできる、所定の大きさの円と、撮像手段３１０の光軸の傾きに応じた表示とを重ね合わせて、撮像手段３１０からの出力画像を表示する表示手段を示している。当該手段は、例えばハードウエア資源としての少なくともディスプレイとソフトウエアとの協働により実現される手段である。重ね合わせて表示される円は、図１のガイド１６０に対応するものである。検出する円の大きさは、第１判定手段３３２の上述した例示の判定手法において又は後述する円検出手段３３１が検出する円の大きさの範囲内であることができる。言い換えると、検出される円の大きさの範囲は、ガイドとしての円の大きさを基準とすることができる（例えば、所定の大きさの±２０％）。また、傾きに応じた表示は、図１の１７１、１７２、１８１及び１８２に対応する。
【００４８】
３３１は、システム３００が含むことのできる、特定画像記録手段３３４が記録した出力画像、即ち特定画像に基づいて、当該画像において所定の範囲の大きさの円を検出するための円検出手段を示している。円の検出には、例えば公知のＨｏｕｇｈ変換を用いることができる。また、円を検出するための公知のライブラリ、例えば、ＯｐｅｎＣＶが存在し、ソフトウエアとしてそのようなライブラリを用いることができる。
【００４９】
なお、検出する円の大きさを所定の範囲に限定したのは、既定の大きさの球状物体例えばボールを検出することを前提としているためである。このようにすることで、円形として検出されうるが大きさの異なる床の模様等の誤検出を防ぐことができる。
【００５０】
３３５は、システム３００が含むことのできる、特定画像に基づいて、輪郭を検出する輪郭検出手段を示している。輪郭の検出には、例えば公知のＣａｎｎｙアルゴリズムを用いることができる。なお、輪郭検出手段３３５は、検出された円のうちの各円について、少なくとも、当該円の中心と、検出された円のうちの他の円の中心とを結ぶ線分上であり、且つ、当該円の中心から所定の範囲にある輪郭を、当該円に関連した輪郭として検出すればよい。なお、そのような輪郭が複数存在する場合には、当該複数の輪郭のうち、当該円の中心から最も外側の輪郭、言い換えると、当該円の中心から最も遠い輪郭を、当該円に関連した輪郭として検出することが好ましい。このように検出された輪郭は、図２のマーカ２５１、２５２、２５３及び２５４の先端に対応する。
【００５１】
なお、輪郭検出手段３３５が用いる「所定の範囲」は、円検出手段３３１が用いる「所定の範囲の大きさ」の「所定の範囲」と同じであっても異なっていてもよい。また、特定画像によっては、適切に輪郭が検出できず、特に、ある円について、当該円の中心と他の円の中心とを結ぶ線分上の当該円の中心から所定の範囲に輪郭が検出できないことがある。このような場合、輪郭検出手段３３５は、当該円と当該線分との交点を輪郭として検出することができる。
【００５２】
ここで、輪郭検出手段３３５の上記処理について、図１３を用いて説明する。図１３（ａ）を参照すると、１３００は、例示の特定画像のＣｂチャネルの画像の一部である。なお、１３００は、図１３（ｂ）及び図１３（ｃ）においても共通である。１３１１は、白いボールを撮像したものを示し、１３１２は白いボールが置かれた床を撮像したものを示し、１３１３は床の模様（水色線）を撮像したものを示している。１３２０（白いボールを撮像したもの１３１１を取り囲むように存在する灰色のドットの集合。図１３（ｂ）の１３３３、１３３５及び１３３６を含む）は、画像の一部１３００から検出された輪郭を示している。
【００５３】
図１３（ｂ）を参照すると、１３３１（点線で描かれた二重円）は、画像の一部１３００から検出された円（図１３（ｃ）における１３４２）の中心１３３２から所定の範囲を示している。「当該円の中心から所定の範囲にある輪郭」とは、この二重円１３３１の円と円の間にある輪郭を意味しており、従って、例えば１３３３が示す輪郭は、検出から除外されことが理解されよう。この処理は、床の模様等に由来する輪郭（即ち、輪郭１３３３）の誤検出を防ぐことを目的とするものである。更に、１３３４は、中心１３３２から、図示しない別の検出された円の中心へと引いた線分を示しており、１３３５及び１３３６は、線分１３３４上にある輪郭を示している（図１３（ａ）も参照されたい）。即ち、線分１３３４上に複数の輪郭が存在していることが理解されよう。この場合、「当該複数の輪郭のうち、当該円の中心から最も外側の輪郭、言い換えると、当該円の中心から最も遠い輪郭を、当該円に関連した輪郭として検出する」ことにより、例えば輪郭１３３６が、検出された円１３４２に関連した輪郭として検出される。この処理は、ボール内部の模様等に由来する輪郭（即ち、輪郭１３３５）の誤検出を防ぐことを目的とするものである。
【００５４】
図１３（ｃ）を参照すると、１３４４は、中心１３３２から、図示しないまた別の検出された円の中心へと引いた線分を示している。このとき、検出された円１３４２について、線分１３４４の当該円の中心から所定の範囲に輪郭が検出できない（図１３（ａ）も参照されたい）。「当該円と当該線分との交点を輪郭として検出する」とは、このようなときに、検出された円１３４２と線分１３４４との交点１３４５を、検出された輪郭として用いることを意味している。
【００５５】
３３６は、システム３００が含むことのできる、検出された円のうちの第１の円の中心と第２の円の中心とを結ぶ線分上にある、輪郭検出手段３３５により検出された輪郭間の、上記特定画像における距離を測定する距離測定手段を示している。
【００５６】
３３７は、システム３００が含むことのできる、測定された上記特定画像における距離を、変換係数を用いて、所定の単位の距離に変換する距離変換手段を示している。
なお、上述した表示手段３４０は、距離変換手段３３７により得られた所定の単位の距離を表示することができる。この際、表示手段３４０は、円検出手段３３１により検出された円と、輪郭検出手段３３５により得られた輪郭の少なくとも一部に対応した表示と、距離測定手段３３６が測定した距離に対応する表示と、距離変換手段３３７により得られた所定の単位の距離とを重ねて、特定画像記録手段３３４が記録した特定画像を表示してもよい。そのように表示される画面の例が、図２の画面２００である。
【００５７】
３３８は、システム３００が含むことのできる、上記特定画像に基づいて、検出された円に対応した色を特定する色特定手段を示している。
色特定手段３３８により特定された色は、輪郭検出手段３３５が用いることができる。輪郭検出手段３３５は、ある色に対応した円を検出する際に、最初に、当該色に対応したチャネルの画像から輪郭の検出を試み、輪郭の検出ができなかった場合に、異なるチャネルの画像から輪郭の検出を試みることができる。例えば、ある円に対応した色が白である場合、当該円は、白いボールを表していることが期待される。一般的に、白いボールと当該ボールが置かれた床とは明るさが異なることが多いため、そのようなときには、Ｙチャネルの画像を優先的に用いて輪郭の検出を試みて、その検出が失敗した場合に、異なるチャネルの画像から改めて輪郭の検出を試みることができる。即ち、白に対応したチャネルは、Ｙチャネルであってよい。同様に、赤及び青に対応したチャネルは、それぞれ、Ｃｒチャネル及びＣｂチャネルであってよい。
【００５８】
２−２  円検出手段
図４は、円検出手段３３１が含みうる、より詳細な手段を表したブロック図である。
４１０は、特定画像に基づいて、複数のチャネルの画像を生成するチャネル別画像生成手段を示している。ここで、複数のチャネルは、Ｒチャネル、Ｇチャネル、Ｂチャネル、Ｙチャネル、Ｃｒチャネル、Ｃｂチャネル及びその他のチャネルのうちの２以上を含むことができる。
【００５９】
その他のチャネルの画像の一例は、各ピクセルが、Ｒチャネル、Ｇチャネル、Ｂチャネル、Ｙチャネル、Ｃｒチャネル又はＣｂチャネルの画像の対応するピクセルの値をガンマ補正した値を有するものである。
【００６０】
その他のチャネルの画像の別例は、各ピクセルが、Ｃｒチャネルの画像の対応するピクセルの値と、Ｃｒチャネルの画像の全ピクセルの値の中央値との差の絶対値と、Ｃｂチャネルの画像の対応するピクセルの値と、Ｃｂチャネルの画像の全ピクセルの値の中央値との差の絶対値との和をガンマ補正した値を有するものである。
【００６１】
その他のチャネルの画像の更に別例は、各ピクセルが、Ｙチャネルの画像の対応するピクセルの値と、Ｙチャネルの画像の全ピクセルの値の中央値との差の絶対値をガンマ補正した値を有するものである。
【００６２】
４２０ａ、４２０ｂ、…は、チャネル別画像生成手段により生成された各チャネルの画像から、所定の範囲の大きさの円を検出するチャネル別円検出手段を示している。図４においてチャネル別円検出手段は２つのみ示されているが、「…」で示されている通り、チャネル別円検出手段は、生成されたチャネル別画像の数だけ存在しうる。
【００６３】
ここで、複数のチャネルの画像から円を検出するのは、ボールの色とそのボールの置かれた背景（例えば、床）の色との関係により、あるチャネルの画像からは円を検出できないが、別のチャネルの画像からは円を検出できるといったことが起こりうるからである。
【００６４】
４３０は、チャネル別円検出手段４２０ａ、４２０ｂ、…の各々において検出された円を統合する検出円統合手段である。ここで、検出円統合手段４３０は、少なくとも、異なるチャネルの画像からそれぞれ検出された少なくとも２つの円の中心間の距離が所定の閾値以下である場合に、少なくとも２つの円のうち、チャネル別円検出手段により各チャネルの画像から検出された全ての円の大きさの平均に最も近い大きさの円以外の円を、検出された円から除外するものである。
【００６５】
ここで、検出円統合手段４３０が行う処理の技術的意義について、図１２を用いて説明する。１２００は、ある色のボールを撮像した画像を示している。１２１０は、画像のうちのボールそのものに対応する部分を示し、１２２０はボールの影に対応するものを示している。このような画像において円検出をした場合、あるチャネルの画像では１２３０（点線）で示す円が検出される一方、別のチャネルの画像では１２４０（点線）で示す円が検出されることがある。このとき、検出されるべき円は、１２３０で示すものである。複数のボールが撮像されている場合、各チャネルの画像では、他にも、そのボール又は他のボールについての複数の円が検出されていることが期待される。そのように検出された円には、当然、１２４０が示すような誤った円も含まれている場合もある。しかしながら、複数のボールが様々な色のボールからなるが大きさが等しいとき、それら複数の検出される円の大きさの平均は、多くの場合、検出されるべき円の大きさに近いことが判明している。以上に鑑みて、検出円統合手段４３０は上記のような処理を行っている。
【００６６】
２−３  色特定手段
図５は、色特定手段３３８が含みうる、より詳細な手段を表したブロック図である。
５１０は、検出された円のうち、所定の位置にある円に対応した色を白と特定する白特定手段である。この所定の位置は、第１判定手段３３２が判定に用いている所定の位置と同一であってよい。
【００６７】
５２０は、特定画像のＣｒチャネルの画像から検出された円のうち、当該画像における当該円内の少なくとも１つのピクセルの値に基づく値が、所定の値より大きく、且つ、特定画像のＣｂチャネルの画像における対応するピクセルの値に基づく値に所定の割合を乗じた値よりも大きい円に対応した色を赤と特定する赤特定手段を示している。
【００６８】
５３０は、特定画像のＣｂチャネルの画像から検出された円のうち、当該画像における当該円内の少なくとも１つのピクセルの値に基づく値が、所定の値より大きく、且つ、特定画像のＣｒチャネルの画像における対応するピクセルの値に基づく値に所定の割合を乗じた値よりも大きい円に対応した色を青と特定する青特定手段を示している。
【００６９】
ここで、上記「ピクセルの値に基づく値」の例は、当該ピクセルがただ１つのピクセルである場合、そのピクセルの値であり、当該ピクセルが複数のピクセルである場合、それら複数のピクセルの値の平均値又は中央値である。
【００７０】
また、上記「対応するピクセル」とは、Ｃｂ（又はＣｒ）チャネルの画像における少なくとも１つのピクセルの位置と、Ｃｒ（又はＣｂ）チャネルの画像において同様の位置にあるピクセルのことである。例えば、少なくとも１つのピクセルが、Ｃｂ（又はＣｒ）チャネルの画像において、４隅の座標が（ｘ０，ｙ０），（ｘ１，ｙ０），（ｘ０，ｙ１），（ｘ１，ｙ１）である四角形に含まれるピクセルである場合、対応するピクセルは、Ｃｒ（又はＣｂ）チャネルの画像において、４隅の座標が（ｘ０，ｙ０），（ｘ１，ｙ０），（ｘ０，ｙ１），（ｘ１，ｙ１）である四角形に含まれるピクセルである。
【００７１】
更に、ピクセルがとりうる値が０から２５５の範囲である場合、上記「所定の値」及び「所定の割合」は、それぞれ１９２及び１２５％程度であってよい。
このように構成された色特定手段３３８は、測定に係る球状物体が白、赤及び青からなるボールからなる場合に、特に有用である。
【００７２】
２−４  その他の手段
撮像手段３１０からの出力画像には、通常、撮像手段３１０の特性（例えば、カメラのセンサの特性）や、撮像するもの（例えば、床の木目やカーペットの細かい模様）に由来するノイズが含まれている。そのため、上述したように各種画像に基づいて円検出、輪郭検出、複数のチャネルの画像生成、色特定等を行う際には、図示しない手段により、事前に画像からノイズ除去処理を行うことができる。そのようなノイズ除去処理の例は、ガウスぼかしやバイラテラルフィルタを用いた処理である。
【００７３】
ここで、ガウスぼかしには、ｓｉｇｍａというパラメータにより、どの程度の範囲でぼかしをかけるかについて調整することができる。このとき、画像に木目のような比較的大きな模様が映ることが想定される場合には、ｓｉｇｍａを大きく、カーペットのように細かい模様が映ることが想定される場合には、ｓｉｇｍａを小さくすることができる。
【００７４】
また、バイラテラルフィルタは、輪郭をなるべく維持しつつ平滑化を行うフィルタであり、ガウスぼかしのｓｉｇｍａと同様のｓｉｇｍａＳｐａｃｅというパラメータや、ぼかしをかける色域の範囲（どのくらい似ている色をぼかすか）を指定するｓｉｇｍａＣｏｌｏｒといったパラメータが存在する。
【００７５】
上述したように、円の検出には公知のＨｏｕｇｈ変換を用いることができる。Ｈｏｕｇｈ変換においては投票というという概念が登場し、投票数が閾値を上回ったときに当該投票に関連した円が検出されることになる。また、上述したように、輪郭の検出には公知のＣａｎｎｙアルゴリズムを用いることができる。Ｃａｎｎｙアルゴリズムにおいても、閾値を用いて輪郭かどうかを判定している。ここで、閾値を大きく設定すると、はっきりした輪郭のみが検出されるようになり、結果、検出される輪郭が少なくなる。
【００７６】
しかしながら、適切な閾値は画像によって異なる。例えば、Ｙチャネルの画像においては、物体であるかそうでないか、例えば、ボールなのか床なのかがかなりくっきり表れる。これは、ボールと床との明るさが比較的異なるためである。一方、ＣｒチャネルやＣｂチャネルの画像においては、そうではない。
【００７７】
そのため、円検出については、Ｙチャネルの画像については閾値を高く、ＣｒやＣｂチャネルについては閾値を低くすることが好ましい。輪郭検出についても、Ｙチャネルの画像については閾値を高くしてはっきりとした輪郭のみを抽出するようにし、ＣｒやＣｂチャネルについては閾値を低くして曖昧な輪郭についても抽出するようにして抽出漏れを防ぐことが好ましい。
【００７８】
上述したようなパラメータや閾値は、その最適な値が、撮像する物体が置かれた平面（例えば、地面やカーペットや体育館の床）の状態（色合い、木目の濃さ、床の滑らかさ、汚れ具合、照明の明るさと映り込み方など）や、撮像する物体（例えば、ボール）の色合い（同じ色であるとしても、若干相違することがある）によって異なる。
【００７９】
上記に鑑みて、システム３００は、予め記憶されたパラメータ及び閾値の複数のセットを切り替えるための入力手段（図示せず）を含んでいてもよい。また、システム３００は、更に、特定画像記録手段３３４が記録した１つの特定画像について、パラメータ及び閾値の複数のセットを順次切り替えて距離変換手段３３７による所定の単位の距離の計算までを行い、図２の画面２００に相当する画面を表示手段３４０に順次表示するようにしてもよい。
【００８０】
３  本発明の実施形態の第２例
以下、本発明の実施形態の一例である球状物体間距離測定のための方法について説明する。なお、この方法はコンピュータが実行するものである。また、「コンピュータ」について、節４にて後述しているため、参照されたい。
【００８１】
図６は、本方法６００が含む主なステップを表したフローチャートである。方法６００は、一部のステップを含まないことや、図示しないステップを含むことがあるし、また、ステップの前後関係は図示するものに限られないことは理解されたい。
【００８２】
６１０は、ある２つの判定ステップにおける２つの判定の双方が真であるかを判定するステップを示している。便宜上、上記２つの判定ステップを第１判定ステップ及び第２判定ステップといい、判定ステップ６１０自体を第３判定ステップという。第３判定ステップ６１０における判定が真である場合（Ｔ）、ステップ６２０に進む。第３判定ステップ６１０における判定が偽である場合（Ｆ）には、本例においては第３判定ステップ６１０を結果的に繰り返すことになるが、別例においては、このような処理に限定されるわけではない。なお、第１の判定ステップ、第２の判定ステップ及び第３の判定ステップは、互いに独立して実行されうる。従って、これら３つの判定ステップの実行順序は順不同である。
【００８３】
ここで、第１判定ステップについて、図７を用いて説明する。図７が表わすフローチャート全体７００が、第１判定ステップを示している。
７１０は、カメラから出力画像を得る画像取得ステップを示している。なお、一般的に、カメラの光学系は固有の収差を有するが、カメラから得た「出力画像」は、そのような収差の少なくとも一部が公知の手法により補正された後の画像であってよい。
【００８４】
７３２は、得られた出力画像における所定の位置に、所定の大きさの球状物体が撮像されたかを判定する判定ステップを示している。判定ステップ７３２を、便宜上第４判定ステップという。第４判定ステップ７３２における判定手法は、第１判定手段３３２が用いるものと同様のものであってよい。第４判定ステップ７３２における判定が真である場合（Ｔ）、第１判定ステップ７００全体としての判定が真となり、第１判定ステップ７００は終了する。第４判定ステップ７３２における判定が偽である場合（Ｆ）には、本例においてはステップ７１０に戻ることになるが、別例においては、このような処理に限定されるわけではない。
【００８５】
次に、第２判定ステップについて、図８を用いて説明する。図８が表わすフローチャート全体８００が、第２判定ステップを示している。
８２０は、センサから、カメラの光学系の光軸の傾きに応じた出力を得るセンサ出力取得ステップを示している。このカメラは、ステップ７１０において出力画像を得るものである。
【００８６】
８３３は、センサ出力取得ステップ８２０において得た出力を用いて、カメラの光学系の光軸に垂直な平面が水平であるかを判定する判定ステップを示している。判定ステップ８３３を、便宜上第５判定ステップという。第５判定ステップ８３３における判定が真である場合（Ｔ）、第２判定ステップ８００全体としての判定が真となり、第２判定ステップ８００は終了する。第５判定ステップ８３３における判定が偽である場合（Ｆ）には、本例においてはステップ８２０に戻ることになるが、別例においては、このような処理に限定されるわけではない。
【００８７】
図６に戻ると、６２０は、第３判定ステップ６１０における判定が真であるときに、カメラからの出力画像を特定画像として自動的に記録する特定画像記録ステップを示している。
【００８８】
なお、重要なのは、得られた出力画像における所定の位置に所定の大きさの球状物体が撮像されたと判定され、且つ、カメラの光学系の光軸に垂直な平面が水平であると判定されたときに、特定画像記録ステップ６２０に進むことである。従って、そのようなとき、本例においては、第１判定ステップ７００における判定と第２判定ステップ８００における判定との双方が真となるように構成されているが、別例においては異なる（例えば、第１判定ステップ７００における判定と第２判定ステップ８００における判定との双方が偽であるときに条件を満たす）ように構成されうることに留意されたい。
【００８９】
６４０は、方法６００が含むことのできる、所定の大きさの円と、カメラの光軸の傾きに応じた表示とを重ね合わせて、カメラからの出力画像をディスプレイに表示する表示ステップを示している。表示ステップ６４０で行う処理は、表示手段３４０が行う処理に対応する。なお、表示ステップ６４０において用いる、カメラからの出力画像及びカメラの光軸の傾きは、ぞれぞれ、当該ステップとは独立して直近に実行された画像取得ステップ７１０及びセンサ出力取得ステップ８２０において取得されたものであってよい。
【００９０】
７３１は、特定画像に基づいて、当該画像において所定の範囲の大きさの円を検出する円検出ステップを示している。このステップで行う処理は、上述した円検出手段３３１が行う処理に対応する。
【００９１】
６３８は、方法６００が含むことのできる色特定ステップを示している。このステップで行う処理は、上述した色特定手段３３８が行う処理に対応する。
６３５は、方法６００が含むことのできる輪郭検出ステップを示している。このステップで行う処理は、上述した輪郭検出手段３３５が行う処理に対応する。
【００９２】
６３６は、方法６００が含むことのできる距離測定ステップを示している。このステップが行う処理は、上述した距離測定手段３３６が行う処理に対応する。
６３７は、方法６００が含むことのできる距離変換ステップを示している。このステップで行う処理は、上述した距離変換手段３３７が行う処理に対応する。
【００９３】
図９は、円検出ステップ７３１が含みうる、より詳細なステップを表したフローチャートである。
９１０は、チャネル別画像生成ステップを示している。このステップが行う処理は、上述したチャネル別画像生成手段４１０が行う処理に対応する。
【００９４】
９２０ａ，９２０ｂ、…は、チャネル別円検出ステップを示している。これらステップが行う処理は、上述したチャネル別円検出手段４２０ａ，４２０ｂ、…が行う処理に対応する。図９においてチャネル別円検出ステップは２つのみ示されているが、「…」で示されている通り、チャネル別円検出ステップは、生成されたチャネル別画像の数だけ存在しうる。また、図９では、ステップ９２０ａの次にステップ９２０ｂが実行されるように示されているが、各チャネル別円検出ステップは、並列又は同時に実行されうる。
【００９５】
９３０は、検出円統合ステップを示している。このステップが行う処理は、検出円統合手段４３０が行う処理に対応する。
図１０は、色特定ステップ６３８が含みうる、より詳細なステップを表したフローチャートである。１０１０、１０２０及び１０３０は、それぞれ、白特定ステップ、赤特定ステップ及び青特定ステップを示している。これらステップが行う処理は、それぞれ、上述した白特定手段５１０、赤特定手段５２０及び青特定手段５３０が行う処理に対応する。なお、図１０では、ステップ１０１０．ステップ１０２０、ステップ１０３０の順に実行されるように示されているが、実行の順番はこれに限定されず、各ステップは、並列又は同時に実行されうる。
【００９６】
４  本発明の実施形態の第３例
本発明の一例は、球状物体間距離測定のための方法を、コンピュータに実行させるプログラム若しくは命令又は当該プログラム若しくは命令を記憶したコンピュータ可読記憶媒体である。
【００９７】
ここで、「コンピュータ」は１以上のコンピュータを意味し、また、据え置き型であるかモバイル型であるかを問わない。据え置き型コンピュータは、デスクトップ・コンピュータ、ワークステーション、ラックマウント・コンピュータ等を含み、モバイル型コンピュータは、ノートブック・コンピュータ、スマートフォン、タブレット等を含む。
【００９８】
図１４は、コンピュータのハードウエア構成の一例を表している。同図に示すように、コンピュータ１４００は、主に、プロセッサ１４１０と、主記憶装置１４２０と、補助記憶装置１４３０と、ユーザインターフェース１４４０と、通信インターフェース１４５０とを備えており、これらはアドレスバス、データバス、コントロールバス等を含むバスライン１４６０を介して相互に接続されている。なお、バスライン１４６０と各ハードウエア資源との間には適宜インターフェース回路（図示せず）が介在している場合もある。
【００９９】
プロセッサ１４１０は、コンピュータ全体の制御を行う。
主記憶装置１４２０は、プロセッサ１４１０に対して作業領域を提供し、例えばＳＲＡＭ、ＤＲＡＭ等の揮発性メモリである。
【０１００】
補助記憶装置１４３０は、ソフトウエアであるプログラム等や各種データ等を記憶する、例えば、ハードディスクドライブ、フラッシュメモリ等の不揮発性メモリである。当該プログラムは、任意の時点で補助記憶装置１４３０からバスライン１４６０を介して主記憶装置１４２０へとロードされる。
【０１０１】
ユーザインターフェース１４４０は、ユーザに情報を提示すること及びユーザから情報の入力を受けることの一方又は双方を行うものであり、例えば、キーボード、マウス、ディスプレイ、タッチパネル・ディスプレイ、マイク、スピーカ等である。
【０１０２】
通信インターフェース１４５０は、ネットワーク１４７０と接続されるものであり、ネットワーク１４７０を介してデータを送受する。通信インターフェース１４５０とネットワーク１４７０とは、有線又は無線で接続されうる。
【０１０３】
４  むすび
以上、本発明の実施例について説明してきたが、他の類似する実施態様の採用や、適宜態様の変更又は追加を行うことができることは理解されたい。
【図１】
2018081537.tif 000003
【図２】
2018081537.tif 000004
【図３】
2018081537.tif 000005
【図４】
2018081537.tif 000006
【図５】
2018081537.tif 000007
【図６】
2018081537.tif 000008
【図７】
2018081537.tif 000009
【図８】
2018081537.tif 000010
【図９】
2018081537.tif 000011
【図１０】
2018081537.tif 000012
【図１１】
2018081537.tif 000013
【図１２】
2018081537.tif 000014
【図１３】
2018081537.tif 000015
【図１４】
2018081537.tif 000016