(57)【要約】【課題】  撮像画像から予め定めたマーカー画像を認識し、マーカーを検知する際、小さい処理負荷で迅速に検知を行えるようにする。【解決手段】  マーカーは４つの三角形をマーカー要素とし、近接配置した同一三角形の要素（Ａ，Ａ’）よりなる第１要素ペアＰ１と異なる同一三角形の要素（Ｂ，Ｂ’）よりなる第２要素ペアＰ２を図１（Ｂ）のように組み合わせて構成する。ペアＰ１とペアＰ２の位置関係は、図１（Ｃ）のようにペアＰ１の三角形（Ａ，Ａ’）それぞれの重心を結ぶ直線Ｃと、ペアＰ２の三角形（Ｂ，Ｂ’）それぞれの重心を結ぶ直線Ｄが所定の角度で交差するように配置する。撮影画像から白領域の形状パラメータ（円形度）を算出するという簡単な処理で要素を認識し、要素間の単純な関係を求めることでマーカーを検知することができる。【選択図】  図１
2011070566.tif 000002
【特許請求の範囲】
【請求項１】
撮影画像から予め検知対象として定めたマーカーの画像を認識することによりマーカーを検知するマーカー検知装置であって、
撮影画像を２値化する２値化手段と、
前記２値化手段によって処理された２値化画像に現れる連結画素領域の形状パラメータを算出する形状認識手段と、
前記形状認識手段によって形状パラメータを算出した連結画素領域から予め検知対象として定めた第１の形状パラメータに近い形状パラメータの連結画素領域をマーカー要素の候補として選出する第１のマーカー要素候補選出手段と、
前記形状認識手段によって形状パラメータを算出した連結画素領域から予め検知対象として定めた第２の形状パラメータに近い形状パラメータの連結画素領域をマーカー要素の候補として選出する第２のマーカー要素候補選出手段と、
第１のマーカー要素候補選出手段によって選出されたマーカー要素候補群から予め検知対象として定めたマーカー要素ペアの構成条件を満たすペアをマーカー要素ペア候補として決定する第１のペア候補決定手段と、
第２のマーカー要素候補選出手段によって選出されたマーカー要素候補群から予め検知対象として定めたマーカー要素ペアの構成条件を満たすペアをマーカー要素ペア候補として決定する第２のペア候補決定手段と、
第１のペア候補決定手段と第２のペア候補決定手段の双方によって決定されたマーカー要素ペア候補同士の関係が予め検知対象として定めたマーカー構成条件を満たすマーカー要素ペア候補の組み合わせを検知対象のマーカーとして確定するマーカー確定手段
を有したことを特徴とするマーカー検知装置。
【請求項２】
請求項１に記載されたマーカー検知装置において、
第１及び第２のペア候補決定手段はそれぞれ、マーカー要素候補同士が予め検知対象として定めた距離範囲内にあり、双方の面積の違いが予め検知対象として定めた範囲内にあり、かつ双方の形状パラメータの違いが予め検知対象として定めた範囲内にあることをペア候補の決定条件としたことを特徴とするマーカー検知装置。
【請求項３】
請求項１又は２に記載されたマーカー検知装置において、
前記マーカー確定手段は、双方のマーカー要素ペア候補のうち一方を構成するマーカー要素の重心を結ぶ線と、他方を構成するマーカー要素の重心を結ぶ線が交差し、かつ交差角度が予め検知対象として定めた範囲内にあることをマーカー構成条件としたことを特徴とするマーカー検知装置。
【請求項４】
請求項１乃至３のいずれかに記載されたマーカー検知装置において、
前記形状パラメータが円形度であることを特徴とするマーカー検知装置。
【請求項５】
マーカー検知装置のコンピュータを請求項１乃至４のいずれかに記載されたマーカー検知装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラ等によって撮影された画像から予め検知対象として定めたマーカーの画像が認識できるか否かによってマーカーやマーカーを付した対象物を検知するマーカー検知装置及びマーカー検知装置用プログラムに関する。
【背景技術】
【０００２】
ビデオカメラで撮影された画像から検出対象として定めたマーカーが存在するか否かを検出する方法として、対象物に付したマーカーの有無をマーカーの画像認識を通して検知する手法は、従来から知られている。
従来の検知方法は、マーカーの形状そのものをユニークにして、テンプレートマッチングを用いて画像のパターン認識をする方法が主流であるが、パターン認識をする際にマーカー画像に対する拡大縮小、回転、傾き、歪みなどによる幾何変換を施し、認識精度を高めることが必要になる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
テンプレートマッチングによる従来のマーカー検知方法は、上記のように、ユニークな形状を持つテンプレートと合致する画像を画面全体にわたって探索しなければならないので、処理負荷が大きく、幾何変換を伴う場合には、さらに処理負荷が大きくなる。
本発明は、撮像された画像から予め検知対象として定めたマーカーの画像を認識することによって、マーカーやマーカーを付した対象物を検知する上記従来技術の問題に鑑みてなされたもので、その目的は、小さい処理負荷でマーカーの検知を行うことを可能にし、検知を迅速に行えるようにすることにある。
【課題を解決するための手段】
【０００４】
本発明は、撮影画像から予め検知対象として定めたマーカーの画像を認識することによりマーカーを検知するマーカー検知装置であって、撮影画像を２値化する２値化手段と、前記２値化手段によって処理された２値化画像に現れる連結画素領域の形状パラメータを算出する形状認識手段と、前記形状認識手段によって形状パラメータを算出した連結画素領域から予め検知対象として定めた第１の形状パラメータに近い形状パラメータの連結画素領域をマーカー要素の候補として選出する第１のマーカー要素候補選出手段と、前記形状認識手段によって形状パラメータを算出した連結画素領域から予め検知対象として定めた第２の形状パラメータに近い形状パラメータの連結画素領域をマーカー要素の候補として選出する第２のマーカー要素候補選出手段と、第１のマーカー要素候補選出手段によって選出されたマーカー要素候補群から予め検知対象として定めたマーカー要素ペアの構成条件を満たすペアをマーカー要素ペア候補として決定する第１のペア候補決定手段と、第２のマーカー要素候補選出手段によって選出されたマーカー要素候補群から予め検知対象として定めたマーカー要素ペアの構成条件を満たすペアをマーカー要素ペア候補として決定する第２のペア候補決定手段と、第１のペア候補決定手段と第２のペア候補決定手段の双方によって決定されたマーカー要素ペア候補同士の関係が予め検知対象として定めたマーカー構成条件を満たすマーカー要素ペア候補の組み合わせを検知対象のマーカーとして確定するマーカー確定手段を有したことを特徴とする。
【発明の効果】
【０００５】
本発明によると、撮像された画像から予め検知対象として定めたマーカーを検知する際に、マーカー検知を小さい処理負荷で迅速に行うことができ、コストパフォーマンスを高め、マーカー検知の利用分野を拡大することができる。
【図面の簡単な説明】
【０００６】
【図１】本発明のマーカー検知装置が検出するマーカーの構成例を示す図及びそのマーカーの構成条件を説明する図である。
【図２】撮影画像に現れるマーカー像の変動を説明する図である。
【図３】本発明のマーカー検知装置の実施形態に係る概略構成を示すブロック図である。
【図４】本発明に係るマーカー検知の処理フローの一部（図５の処理フローに繋がる）を示す図である。
【図５】本発明に係るマーカー検知の処理フローの一部（図４の処理フローから繋がる）を示す図である。
【図６】本発明のマーカー検知装置により得られる中間処理の結果及びマーカー検知結果の１例を示す図である。
【発明を実施するための形態】
【０００７】
以下に、本発明のマーカー検知装置に係る実施形態を説明する。
撮像された画像から予め検知対象として定めたマーカーの画像を認識することによって、マーカーを検知する方法に基づくという点で、従来技術と変わらないが、マーカーの形状をユニークにし、テンプレートマッチングを用いる従来のマーカー検知方法は、処理負荷が大きく、幾何変換を伴う場合には、さらに処理負荷を大きくする。
そこで、本発明のマーカー検知装置では、検知対象として予め定めるマーカーを以下に示す条件に従い構成する。
【０００８】
「マーカーの構成」
本発明では、マーカーを構成する要素（以下「マーカー要素」という）を簡単な形状パラメータで表される要素とし、このマーカー要素を所定の関係で配置することによって、マーカーを構成する。
上記の簡単な形状パラメータは、三角形、多角形、円形等を一定の数値で表現する円形度を用いることができる。なお、円形度は、
円形度＝（４π×面積）／（周囲長×周囲長）
であり、大きさに依存しないパラメータであるから、拡大縮小、回転の影響を受けない。また、簡単な形状とする方が、円形度の算出結果によってマーカー要素を認識し、マーカーを検知する処理の負担を少なくできる。
マーカー要素の形状パラメータには、円形度のほかに、充填率や縦横比を採用してもよい。なお、充填率は認識対象（マーカー要素）の画像に外接する矩形の面積に対する画像の面積の割合であり、また、縦横比は同外接矩形の縦、横の長さ比である。充填率や縦横比も、認識対象（マーカー要素）の大きさに依存しないパラメータであるから、拡大縮小、回転の影響を受けない。
【０００９】
また、マーカー要素は、簡単な形状パラメータで表されるので、処理条件によっては、マーカー要素だけでは認識対象以外の同じ形状パラメータの画像を認識してしまい、認識精度が出ない。このため、簡単な形状パラメータで表されるマーカー要素を次に示す所定の関係で配置することをマークの構成条件とする。
即ち、同一の形状パラメータを有するマーカー要素を対（以下「マーカー要素ペア」という）にして、このマーカー要素同士を所定の距離以内に近接して配置し、さらに、このマーカー要素ペアを２種類（形状パラメータが異なる）にして、マーカー要素ペア同士を所定の位置関係で配置する。このような構成条件を定めることによりマーカーの認識精度を保つ。マーカー要素ペア間の所定位置関係は、各マーカー要素の重心の位置座標にもとづいて相対位置を定める方法をとる（後述するマーカーの構成例を示す図１の（Ｃ）の説明、参照）。
【００１０】
ここで、添付図を参照して本実施形態のマーカーの構成例を説明する。なお、添付図を参照して説明する以下の実施形態では、簡単な形状パラメータとしての円形度で表されるマーカー要素として、三角形を用いた例を示すが、これは１構成例を示すものであり、三角形に限定する趣旨ではない。
図１は、マーカーの１例を示すもので、同図中の（Ａ）はマーカーの構成を示し、（Ｂ），（Ｃ）は、同マーカーの構成条件を説明する図である。
図１（Ａ）に示すように、この実施形態のマーカーは、４つの三角形（マーカー要素）の白領域によりマーカーを構成する。４つの三角形（マーカー要素）は、図１（Ｂ）に示すように、近接配置した同一三角形のマーカー要素（Ａ，Ａ’）よりなる第１のマーカー要素ペアＰ１（以下、単に「ペアＰ１」ともいう）と、他の近接配置した同一三角形（Ａ，Ａ’と異なる三角形）のマーカー要素（Ｂ，Ｂ’）よりなる第２のマーカー要素ペアＰ２（以下、単に「ペアＰ２」ともいう）を組み合わせて構成する。
また、マーカーの構成条件として、ペアＰ１とペアＰ２の位置関係は、図１（Ｃ）に示すように、ペアＰ１の三角形（Ａ，Ａ’）それぞれの重心を結ぶ直線Ｃと、ペアＰ２の三角形（Ｂ，Ｂ’）それぞれの重心を結ぶ直線Ｄが所定の角度（図示では直角）で交差するように配置する。
【００１１】
図１に示したマーカーの構成、即ち、予め定めた条件に従いマーカー要素ペアＰ１とＰ２よりマーカーを構成することで、簡単な形状パラメータで表されるマーカー要素及び簡単なマーカー要素相互間の関係を採用しても、マーカーの認識精度を保つことができる。しかも、撮像された画像からマーカー要素ペアを見つける際に、片方の面積や形状からもう一方の面積や形状の目安をつけることができ、さらに面積から互いの距離の目安も付けることができる。
よって、１つのマーカー要素が求まれば、面積、形状、距離等から残りの要素との関係が数珠繋ぎにわかり、この点からも誤認識を少なくする有効な手法となる。
【００１２】
また、検知対象のマーカーとマーカーを撮影するカメラの間に一定の撮影条件が得られないのが普通であるから、撮影条件の違いが画像に現れ、例えば、図２に示すように、原マーカー（図２中の（Ａ））に対して、縮小（図２中の（Ｂ））、傾き（図２中の（Ｃ））、ゆがみ（図２中の（Ｄ））が撮影画像に生じる。
縮小や拡大に対しては、マーカー要素の大きさに依存しない円形度を用いることにより対応することが可能である。
傾きやゆがみに対しては、円形度からマーカー要素であるか否かを判定する基準値を下げることにより対応可能である。即ち、傾きやゆがみがあっても、１つのマーカー要素ペアは見つかる場合が多いため、一方のマーカー要素ペアが見つかっていれば、もう片方については、おおよその位置や大きさが求まり、こうした場合には、周囲のマーカー要素に対して、面積や円形度から判定するマーカー要素の判定幅を広くすることで対応することができる。
【００１３】
「マーカー検知装置の構成」
図３は、本実施形態に係るマーカー検知装置の概略構成を示すブロック図である。
図３に示すように、マーカー検知装置１０は、制御部１１と、制御部１１の制御下で動作する画像処理部１２、マーカーパラメータ設定部１３、記憶部１４、表示部１５、入力部１６及びインターフェース部１７の各部と、上記各部１１〜１７が相互にデータをやり取りするために接続するバス１８を有する。
制御部１１は、マーカー検知装置全体を制御し、マーカー検知動作等を実行するためのデータ処理等を行う手段として、図示しないが、ＣＰＵ（Central Processing Unit）、ＣＰＵの処理に必要なプログラムやデータ等を一時的に記憶しておくためのＲＡＭ（Random Access Memory）及びＣＰＵを駆動して演算や処理等を実行させるためのプログラム等を格納したＲＯＭ（Read Only Memory）を備えたコンピュータ等を備える。
【００１４】
画像処理部１２は、撮影画像からマーカーを検知する処理を行う手段であり、後記で図４及び図５の処理フローを参照して詳述する検知処理を実行する手段を備える。なお、画像処理部１２は、マーカー検知処理を行う専用の画像処理回路で構成してもよい(図３はこの例を示す)が、マーカー検知処理を実行するプログラムを制御部１１のコンピュータで駆動することにより実施してもよい。
マーカーパラメータ設定部１３は、入力部１６(後述)からユーザーが指示するマーカー検知処理の処理（制御）条件を受け取り、画像処理部１２に処理（制御）パラメータを設定する手段である。なお、マーカーパラメータ設定部１３についても、制御部１１のコンピュータを実行手段として実施してもよい。
記憶部１４は、撮影画像や処理画像等の画像データを含む各種データを記憶する手段であるが、そのほかに制御部１１のコンピュータに提供するマーカー検知処理や画像処理等に必要な各種プログラムを保存する。
【００１５】
入力部１６は、マーカー検知装置１０に対する指示や操作、或いは上述したマーカー検知処理の処理（制御）条件の設定等、マーカー検知に必要な設定データを含む各種データ等を入力するための、例えばマウスやキーボード又はタッチパネル等である。
表示部１５は、入力部１６とともにユーザーインターフェースとしての機能を提供する手段であり、入力部１６を介して入力されたデータやカメラ１による撮影画像或いは画像処理部１２によって処理された処理画像等のデータを表示するモニタ等の表示手段であり、マーカーの検知結果を撮影画像上で表示する際、入力時の設定データや検知結果等をキャラクタで表示する際に使用される。
インターフェース部１７は、外部機器との間でデータを交換するための手段であり、この実施形態では、ここを介して検知対象のマーカーを撮影するカメラ１からの撮影画像をマーカー検知装置１０に取り込む。
【００１６】
「マーカー検知処理」
上記したマーカー検知装置１０が行うマーカー検知処理の詳細を以下に説明する。
マーカー検知処理は、カメラ１の撮影画像から上記「マーカーの構成」で説明したマーカーを検知する処理で、制御部１１の制御の下で画像処理部１２が行う処理である。
マーカー検知処理の概要は、次の(１)〜(６)に示す流れに従って行う。
（１）  カメラの撮影画像を２値化画像に変換する。
（２）  上記（１）で得た２値化画像に表れる連結画素領域(図１のマーカーの場合は白領域、以下“白領域”を例に説明する)をラベリングし、大きすぎるものと小さすぎるものを処理対象から除外する。
（３）  上記（２）で得た白領域それぞれの形状パラメータ(円形度)を算出して、各白領域の形状を認識する。
（４）  上記（３）で形状パラメータ(円形度)を算出した各白領域から、予め検知対象として定めた形状パラメータが異なる２種類のマーカー要素に近い白領域をそれぞれマーカー要素の候補として選出する。
（５）  上記（４）で選出した２種類のマーカー要素の候補群から、予め検知対象として定めたマーカー要素ペアの構成条件（マーカー要素間の距離、面積、形状パラメータの関係）を満たすペアをそれぞれマーカー要素ペア候補として決定する。
（６）  上記（５）で決定した２種類のマーカー要素ペア候補同士の関係が予め検知対象として定めたマーカー構成条件（各ペアにおけるマーカー要素を結ぶ線の長さ、結ぶ線同士の交差と交差角度）を満たすマーカー要素ペア候補の組み合わせを検知対象のマーカーとして確定する。
【００１７】
“マーカー検知の処理フロー”
上記(１)〜(６)の流れで概要を示したマーカー検知処理の１実施例を図４及び図５に示す処理フローをもとに説明する。なお、この処理フローは、円形度を形状パラメータとしてマーカー要素を認識し、マーカー検知を行うので、図１の白の三角形を要素とするマーカーの例に限らず適用することができるが、説明の便宜上、図１の白の三角形に即して処理例を説明する。また、検知処理の説明では、処理過程において生じる中間データとその解説図及び検知結果を示す図６を参照する。
画像処理部１２は、制御部１１からマーカー検知処理の指示とともにカメラ１の撮影画像を処理対象画像として受け取り、マーカー検知の処理フローを起動する。
処理を開始すると、先ず、撮影画像の白色領域を抽出すべく、２値化処理により撮影画像を２値画像に変換する（ステップＳ１０１）。白色領域が抽出できる輝度レベルの閾値を設定して、この閾置を超える撮影画像信号を２値化画像として得る。図６（Ａ）は、同図（Ｃ）に示す原撮影画像の２値化後の画像を表している。なお、同図（Ａ）には、抽出した白色領域を黒画像で表している。
【００１８】
撮影画像の２値化処理によって抽出した白色領域が示された画像に対して、次にラベリングを行う（ステップＳ１０２）。このステップでは、白色領域を抽出した画像を連結画素領域(白画素が連結し、１かたまりとなった領域）単位に分け、領域ごとに領域を識別するラベルを付し、管理情報として用いる。
次いで、連結画素領域のうちノイズとみなすことができる大きすぎるものと小さすぎるものを除去することで、これ以降に行う処理の対象から除外する（ステップＳ１０３）。除去する大きすぎるものと小さすぎるものは、検知対象とするマーカーの撮影画像における大きさから予め定めることができる。
次に、ノイズを除去した後の連結画素領域に対し、形状を認識する処理を行う（ステップＳ１０４）。この処理は、形状パラメータとしての円形度を算出する処理であり、円形度＝（４π×面積）／（周囲長×周囲長）の演算を行う。この実施例では、検知対象とするマーカーは三角形を要素としているので、撮影画像上の連結画素領域から得られるこのマーカー要素から算出される円形度は、おおよそ一定数値範囲に含まれる。図６（Ｂ）には、円形度を算出した連結画素領域に添えて、算出した数値を記入している（なお、同図中の数値は、円形度そのものではなく換算値である）。この数値は、円に近いほど大きな値となり、三角形の場合、正三角形に近いほど大きな値となる。
【００１９】
連結画素領域の形状パラメータとしての円形度を算出した後、算出結果をもとに、予め検知対象として定めた２種類のマーカー要素、即ち、円形度によって区別されるマーカー要素のペア（図１（Ｃ）のペアＰ１（Ａ，Ａ’）とペアＰ２（Ｂ，Ｂ’）の説明、参照）に用いる円形度に近い領域をそれぞれマーカー要素の候補として選出する（ステップＳ１１１，Ｓ１２１）。異なる形状の三角形をマーカー要素とするペアを構成する場合も、円形度によって三角形を区別することができるので、図１（Ｃ）のペアＰ１（Ａ，Ａ’）とペアＰ２（Ｂ，Ｂ’）それぞれに対応して定めた円形度の範囲に従いマーカー要素の候補群を選出する。図６（Ｂ）の例では、ペアＰ１（Ａ，Ａ’）の候補となるマーカー要素が、ほぼ５０〜８０、ペアＰ２（Ｂ，Ｂ’）の候補となるマーカー要素が、ほぼ３０〜５０、という数値の範囲に属し、この数値範囲に従いペアＰ１、ペアＰ２それぞれのマーカー要素の候補群が選出される。
【００２０】
ステップＳ１１１でペアＰ１（Ａ，Ａ’）のマーカー要素の候補群を選出した後、ペアＰ１の候補を決定する処理を行う。この処理は、選出したマーカー要素の候補群から取り出した２つの要素が、予め検知対象として定めたマーカー要素ペアＰ１（Ａ，Ａ’）の構成条件を満たすペアであるか否かを判断し、構成条件を満たしたペアをペアＰ１の候補として決定する。
ペアＰ１候補の決定処理手順では、始めに、マーカー要素の候補群から候補Ａとして１つの要素を選出し（ステップＳ１１２）、選出した候補ＡとペアＰ１（Ａ，Ａ’）を構成する候補Ａ’間の第１の構成条件として、候補間の距離が近いか、即ち、候補Ａのマーカー要素の面積から推測される距離範囲に候補Ａ’があるか否かを調べる（ステップＳ１１３）。なお、このとき求めるマーカー要素間の距離は、要素の重心位置同士の距離を算出することにより求める。また、上記距離範囲を面積から推測しているが、これは、予め検知対象として定めたマーカーの構成条件をそのまま実際に撮影された画像に適用すると正しい判定結果が得られない場合があり、正しい結果を得るための補正量を面積によって推測するからである。
【００２１】
ステップＳ１１３で距離範囲内に候補Ａ’がない場合（ステップＳ１１３-NO）、ペアＰ１（Ａ，Ａ’）の構成条件を満たさないので、ステップＳ１１２に戻し、マーカー要素の候補群から候補Ａとして、次の順番の要素を選出して、前の要素に対してと同様の手順によりペアＰ１を構成するか否かを調べる。
他方、ステップＳ１１３で距離範囲内に候補Ａ’があった場合（ステップＳ１１３-YES）、次に、このペアＰ１（Ａ，Ａ’）の第２の構成条件として、このマーカー要素候補間の面積が近いか、即ち双方の面積の違いが所定範囲内にあるか否かを調べる（ステップＳ１１４）。
ここで、双方の面積の違いが所定範囲内を外れている場合（ステップＳ１１４-NO）、ペアＰ１（Ａ，Ａ’）の第２の構成条件を満たさないので、ステップＳ１１２に戻し、マーカー要素の候補群から候補Ａとして、次の順番の要素を選出して、前の要素に対してと同様の手順によりペアＰ１を構成するか否かを調べる。
【００２２】
他方、双方の面積の違いが所定範囲内であった場合（ステップＳ１１４-YES）、次に、このペアＰ１（Ａ，Ａ’）の第３の構成条件として、このマーカー要素候補間の形状パラメータとしての円形度が近いか、即ち双方の円形度の違いが所定範囲内にあるか否かを調べる（ステップＳ１１５）。
ここで、双方の円形度の違いが所定範囲内を外れている場合（ステップＳ１１５-NO）、ペアＰ１（Ａ，Ａ’）の第３の構成条件を満たさないので、ステップＳ１１２に戻し、マーカー要素の候補群から候補Ａとして、次の順番の要素を選出して、前の要素に対してと同様の手順によりペアＰ１を構成するか否かを調べる。
【００２３】
他方、双方の円形度の違いが所定範囲内であった場合（ステップＳ１１５-YES）、ペアＰ１（Ａ，Ａ’）の構成条件を満たしたペアをペアＰ１の候補として決定する（ステップＳ１１６）。つまり、このとき決定したペアＰ１（Ａ，Ａ’）は、上記第１〜３の全ての構成条件を満たし、上記第１〜３の１つの構成条件でも満たさなければ、ペアＰ１の候補として決定しない。なお、図６（Ｂ）の例では、ペアＰ１（Ａ，Ａ’）の候補として、同図に示すように、（７９，７０）（７２，６８）の円形度を有する２組が決定されている。
この後、ペアＰ１（Ａ，Ａ’）のマーカー要素の候補群の全てを候補ＡとしてペアＰ１（Ａ,Ａ’）の構成条件をチェックする処理が完了したか否かを確認する（ステップＳ１１７）。ここで、このチェック処理が完了していなければ（ステップＳ１１７-NO）、未処理の要素があるので、ステップＳ１１２に戻し、マーカー要素の候補群から候補Ａとして、次の順番の要素を選出して、前の要素に対してと同様の手順によりペアＰ１を構成するか否かを調べる。
他方、ペアＰ１（Ａ，Ａ’）の構成条件をチェックする処理が完了していれば（ステップＳ１１７-YES）、次の交差のチェック（ペアＰ１、ペアＰ２同士の関係が予め検知対象として定めたマーカー構成条件を満たすか否かのチェック）に移行する。
【００２４】
上記ステップＳ１１１〜Ｓ１１７は、ペアＰ１の候補を決定する手順であるが、もう一方のマーカー要素ペアであるペアＰ２の候補を決定する手順も、手順そのものはペアＰ１におけると変わらない。つまり、ペアＰ１の候補を決定する手順であるステップＳ１１１〜Ｓ１１７と対応するステップＳ１２１〜Ｓ１２７を並行にペアＰ２の候補を決定する手順として行う。図６（Ｂ）の例では、ペアＰ２（Ｂ，Ｂ’）の候補として、（３３，４０）の円形度を有する１組が決定されている。
なお、ペアＰ２の候補を決定する手順の説明は、先のペアＰ１の候補を決定する手順の記載を参照することとして、ここでは記載を省略する。
ただ、ペアＰ１（Ａ，Ａ’）の構成条件をチェックする処理と、ペアＰ２（Ｂ，Ｂ’）の構成条件をチェックする処理の双方が完了することが、次の交差のチェックへの移行条件であるから、双方の処理完了の確認後に、交差のチェックの処理フロー（図５）に移行する。
【００２５】
交差のチェックの処理フロー（図５）においては、ペアＰ１、ペアＰ２同士の関係が予め検知対象として定めたマーカー構成条件を満たすか否かをチェックする。
先ず、前段の処理（図４）でペアＰ１、ペアＰ２それぞれの候補として決定したペアからそれぞれ１組を選出する（ステップＳ１３１）。
次いで、選出したペアＰ１のマーカー要素Ａ，Ａ’それぞれの重心を求め、求めた重心間を結ぶ直線を求める（ステップＳ１３２）。この重心間を結ぶ直線は、マーカー要素Ａ，Ａ’が三角形である場合の例を示した図１（Ｃ）を参照すると、同図に示す直線Ｃとなる。
ペアＰ１と同様に、選出したペアＰ２のマーカー要素Ｂ，Ｂ’それぞれの重心を求め、求めた重心間を結ぶ直線を求める（ステップＳ１３３）。この重心間を結ぶ直線は、マーカー要素Ｂ，Ｂ’が三角形である場合の例を示した図１（Ｃ）を参照すると、同図に示す直線Ｄとなる。
【００２６】
マーカーの構成条件として、ペアＰ１、ペアＰ２同士の間に予め定めた関係は、前段で求めた重心を結ぶ直線が交差し、かつ交差角度が予め検知対象として定めた範囲内にあることである。
よって、次に、ステップＳ１３２で求めた重心間を結ぶ直線とステップＳ１３３で求めた重心間を結ぶ直線が交差するか否かを調べる（ステップＳ１３４）。
ここで、直線同士の交差がなければ（ステップＳ１３４-NO）、次のペアＰ１、ペアＰ２の組み合わせをチェックするためにステップＳ１３１に戻る。
他方、直線同士の交差があれば（ステップＳ１３４-YES）、もう１つの構成条件である交差角度が予め検知対象として定めた範囲と認めることができる許容範囲内であるか否かを調べる（ステップＳ１３５）。
ここで、交差角度が許容範囲ではなければ（ステップＳ１３５-NO）、次のペアＰ１、ペアＰ２の組み合わせをチェックするためにステップＳ１３１に戻る。
【００２７】
他方、交差角度が許容範囲であれば（ステップＳ１３５-YES）、当該ペアＰ１、ペアＰ２の組み合わせは、マーカーの構成条件を満たすので、検知対象のマーカーとして確定させる（ステップＳ１３６）。確定したマーカーを構成する要素である連結画素領域のデータは検知したマーカーの情報として記憶部１４に記憶しておく。図６（Ｃ）は、マーカーの検知結果を示す１例である。この例では、原撮影画像を表示する表示部１５の画面上において、検知されたマーカー部分が分かるように、線で囲っており、このような表示に上記の検知結果を利用することができる。なお、図６（Ｃ）は利用の１例を示すもので、この例に限らず、識別表示が可能な既存の表示方法を採用することができる。また、検知結果として得たデータを他の制御システムで利用してもよい。
【００２８】
ステップＳ１３６で当該ペアＰ１、ペアＰ２をマーカーとして確定させた後、ペアＰ１、ペアＰ２それぞれの候補として決定したペアの全ての組み合わせをチェックしたか否かを確認し（ステップＳ１３７）、未チェックの組み合わせがあれば（ステップＳ１３７-NO）、次のペアＰ１、ペアＰ２の組み合わせをチェックするためにステップＳ１３１に戻る。
他方、ペアＰ１、ペアＰ２それぞれの候補の全ての組み合わせのチェックが終了していれば（ステップＳ１３７-YES）、全てのマーカーのペアをチェックしたかを確認する（ステップＳ１３８）。このステップは、複数のマーカーを検知する場合に対応する手順である。
ここで、未チェックのマーカーがあれば（ステップＳ１３８-NO）このマーカーのペア候補を選出するためにステップＳ１３１に戻す。
新たなマーカーについて、ステップＳ１３１〜１３７の検知処理を前のマーカーで行ったと同様に行い、全てのマーカーのペアをチェックしたことが確認できれば（ステップＳ１３８-YES）、マーカー検知の処理フローを終了する。
【符号の説明】
【００２９】
１・・カメラ、１０・・マーカー検知装置、１１・・制御部、１２・・画像処理部、１３・・マーカーパラメータ設定部、１４・・記憶部、１５・・表示部、１６・・入力部、１７・・インターフェース部、１８・・バス。
【図１】
2011070566.tif 000003
【図２】
2011070566.tif 000004
【図３】
2011070566.tif 000005
【図４】
2011070566.tif 000006
【図５】
2011070566.tif 000007
【図６】
2011070566.tif 000008