マーカー処理方法、マーカー処理装置、マーカー、マーカーを備える物体、およびマーカー処理プログラム
【課題】撮像された画像から、マーカーの姿勢(位置、回転、傾き)、およびマーカーの大きさに依存しないマーカー処理方法、マーカー処理装置、マーカー、マーカーを備える物体、およびマーカー処理プログラムを提供することを目的としている。
【解決手段】マーカー処理装置100は、画像データ取り込み部101と、二値化部102と、二値化閾値設定部103と、領域ラベリング部104と、領域重心取得部105と、領域重心の多重度取得部106と、マーカー判定部107と、マーカー候補領域リスト記憶部108と、マーカー位置出力部109から構成されている。
【解決手段】マーカー処理装置100は、画像データ取り込み部101と、二値化部102と、二値化閾値設定部103と、領域ラベリング部104と、領域重心取得部105と、領域重心の多重度取得部106と、マーカー判定部107と、マーカー候補領域リスト記憶部108と、マーカー位置出力部109から構成されている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マーカー処理方法、マーカー処理装置、マーカー、マーカーを備える物体、およびマーカー処理プログラムに関する。
【背景技術】
【0002】
マーカーが付加された物体を撮像した画像からマーカーを検出する方法として、形状の対称性を検出する方法や色の組み合わせを検出する方法が知られている。
形状の対称性を検出する方法として、位置決め用シンボルを持つ二次元コードを検出する方法が提案されている。この位置決め用シンボルは所定の位置に配置され、撮像した画像から検出された位置決め用シンボルにより、二次元コードの位置や回転角度を算出できる(例えば、特許文献1参照)。
【0003】
色の組み合わせを検出する方法としては、ある色相の領域に全周を囲まれた、それとは異なる色の相領域をマーカーとして検出する方法が提案されている。このマーカーに用いる2つの色相領域は、色の組み合わせごとの識別番号が予め付与されている。このため、撮像された画像から、色相画像を抽出し、抽出された色相画像から、色相の変化パターンを走査により探索する。この色相探索によりマーカーと予想できる領域を検出し、検出された色相の変化パターンが予め定められた組み合わせと一致しているか判定することで、マーカーを検出する(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平7−254037号公報
【特許文献2】特開2005−309717号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の技術による形状の対称性を検出する方法では、特許文献1の図2のように、明暗の期間の比率が暗:明:暗:明:暗=1:1:3:1:1に設定されている位置決め用シンボルを走査により検出するため、走査間隔によっては回転および傾いているシンボルの検出可能範囲が狭くなるという課題があった。また、マーカーを検出する走査線が、いろいろな方向から横切った場合に対応するには、マーカー自体に高い対称性が必要になるため、多数のマーカーを生成する上での制限になるという課題があった。また、明暗の周期が1:1:3:1:1の比率になっていることのみ要求されるため、絶対周期には基本的に制限が無いため、マーカー検出側でマーカーの大きさによる周期変化に対応する必要があるという課題があった。また、マーカーに白黒反転周期を用いているため、入力画像にノイズが混入した場合に周期判定が困難になる。このため、ノイズ対策が必要になるという課題があった。
すなわち、特許文献1の技術では、マーカー検出において、マーカーの姿勢(位置、回転、傾き)に依存し、またマーカーの大きさに依存し、さらにまた画像中のノイズの影響が大きいという課題があった。
【0006】
また、上述の技術による色の組み合わせを検出する方法では、白黒画像を用いる場合に比較して約3倍のデータ処理を行う必要がある。このため、白黒画像と同等の処理量にするためには、画像の解像度を下げたり、画像を取り込むフレームレートを下げる必要があるという課題があった。また、撮像された画像中の色相情報は、照明条件などの強い影響を受け、また撮像するカメラのホワイトバランスなどの影響も大きいため、これらに対する対策が必要になるという課題があった。また、使用するマーカーを構成する材料中の色素や色材が経年変化するため、この経年変化に対する対応が必要になるという課題があった。
【0007】
本発明は、上記の問題点に鑑みてなされたものであって、マーカーの姿勢(位置、回転、傾き)に依存せず、またマーカーの大きさに依存せず、さらにまた画像中のノイズに対して耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカー処理方法、マーカー処理装置、およびマーカーを提供することを目的としている。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明は、マーカー処理方法において、撮像された画像を二値化する二値化工程と、前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程と、を備えることを特徴としている。
なお、画像の構成要素とは、撮像された画像に含まれている面積を備える点、線、図形であり、領域重心とは、ラベリングされた図形の重心(図心でも可)であり、領域重心の重なり度とは、一定の範囲内に収まる重心(図心でも可)を有するラベリングの個数である。
【0009】
また、本発明は、マーカー処理方法において、前記マーカー判定工程で検出されたマーカーを、前記領域重心の多重度取得工程で求められた領域重心の重なり度、前記マーカーの前記各領域の面積比、あるいは前記マーカーの前記各領域の大きさの比の少なくとも1つを用いて前記マーカーの種別を識別するマーカー種別識別工程と、をさらに備えることを特徴としている。
なお、マーカー判定工程とは、撮像された画像の中からどれがマーカーであるかを認識することであり、マーカー種別識別工程とは、撮像された画像の中のマーカーの種類を識別することである。
【0010】
さらにまた、本発明は、マーカー処理方法において、前記マーカー判定工程は、領域重心の重なり度が3以上の場合にマーカーとして検出することを特徴としている。
【0011】
さらにまた、本発明は、マーカー処理方法において、前記マーカーは、重心を共通にする少なくとも3個以上の図形を備えることを特徴としている。
【0012】
さらにまた、本発明は、マーカー処理装置において、撮像された画像を二値化する二値化部と、前記二値化部で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング部と、前記ラベリング部でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得部と、前記領域重心取得部で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得部と、前記領域重心の多重度取得部で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定部と、を備えることを特徴としている。
【0013】
さらにまた、本発明は、マーカーにおいて、重心を共通にする少なくとも3個以上の図形を備えることを特徴としている。
ここで、重心を共通にするとは、複数の図形の重心が一定の範囲内に収まっていることを意味する。
【0014】
さらにまた、本発明は、マーカーにおいて、付加情報をさらに備えることを特徴としている。
なお、マーカーが付加情報を備えるとは、マーカーに一般的な二次元コードの生成手法で生成された冗長化データを重畳し、冗長化データを埋め込んだマーカーのことである。
【0015】
さらにまた、本発明は、マーカーにおいて、前記付加情報は、デジタルデータであることを特徴としている。
【0016】
さらにまた、本発明は、マーカーを備える物体であることを特徴としている。
【0017】
上記目的を達成するため、本発明は、マーカー処理プログラムにおいて、コンピュータに、撮像された画像を二値化する二値化工程と、前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程とを実行させることを特徴としている。
【0018】
本発明によれば、撮像された画像からラベリングされた各領域の重心(図心であっても可)を求めて、求めた各ラベルに対応する各領域の重心の重なり度からマーカーを検出するようにしたので、マーカーの姿勢や大きさに依存せず、さらにまた画像中のノイズに対して高い耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカー処理方法、マーカー処理装置、マーカー、マーカーを備える物体、およびマーカー処理プログラムを提供することが可能になる。
【図面の簡単な説明】
【0019】
【図1】本発明の第1の実施形態に係るマーカーの一例を示す図である。
【図2】同実施形態に係る図1(b)のマーカーの構成要素を説明する図である。
【図3】同実施形態に係る図1(b)のマーカーの構成要素の重心を説明する図である。
【図4】同実施形態に係るマーカー処理装置の構成の一例を示すブロック図である。
【図5】同実施形態に係るマーカーを貼った検出物体を含む画像の一例を示す図である。
【図6】同実施形態に係る処理方法のフローチャートである。
【図7】同実施形態に係る前処理のフローチャートである。
【図8】同実施形態に係る領域重心取得部が求めた各ラベルの重心座標を示すデータの一例を示す図である。
【図9】同実施形態に係る位置出力部109が出力するマーカー情報の一例を示す図である。
【図10】同実施形態に係るマーカー候補領域リスト記憶部108に記憶されているマーカー候補リストのデータ構成の一例である。
【図11】同実施形態に係る入力画像を二値化した画像情報の一例を示す図である。
【図12】同実施形態に係るラベリング処理を説明する図である。
【図13】同実施形態に係る同一ラベルを持つ領域の重心を求めた結果の一例を示す図である。
【図14】同実施形態に係るマーカー検出において姿勢に依存しないことを説明する図である。
【図15】同実施形態に係るマーカー検出において大きさに依存しないことを説明する図である。
【図16】同実施形態に係る他のマーカーの一例を示す図である。
【図17】同実施形態に係る冗長部分を含むマーカーの一例を示す図である。
【図18】同実施形態に係る手書きによるマーカーの一例を示す図である。
【図19】本発明の第2の実施形態に係るマーカー処理装置の構成の一例を示すブロック図である。
【図20】同実施形態に係る処理方法のフローチャートである。
【図21】同実施形態に係る領域ラベリング部104のラベリング処理で得られた情報の一例を示す図である。
【図22】同実施形態に係るマーカーの多重度の違いによりマーカーを識別する例を説明する図である。
【図23】同実施形態に係るマーカーの領域面積比、領域の大きさ比でマーカー種別を識別する例を説明する図である。
【図24】本発明の第3の実施形態に係るマーカーに付加的な情報を埋め込む処理のフローチャートである
【図25】同実施形態に係る保護領域付加マーカー作成の方法を説明する図である。
【図26】同実施形態に係るマーカーへの付加データ方法を説明する図である。
【図27】同実施形態に係るマーカーの付加データを埋め込める領域、および実際に付加データを埋め込んだ一例を示す図である。
【図28】本発明の第4の実施形態に係るマーカーを備える物体の一例を示す図である。
【図29】本発明の第5の実施形態に係るマーカーを備える物体の一例を示す図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態について、図1〜29を用いて説明する。なお、本発明は斯かる実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0021】
[第1実施形態]
図1は、第1の実施形態におけるマーカーの一例を示す図である。図1において、図(a)〜(d)の各マーカーは、後述するように、各マーカーにおける各ラベルの重心位置が一致するように生成されている。また、図1(a)〜(d)のマーカーは4個の重心を備えている。
【0022】
図2は、第1の実施形態における図1(b)のマーカーの構成要素を説明する図である。図1(b)のマーカーは、白黒により分離される構成要素として、構成要素1と、構成要素2と、構成要素3(黒丸)と、構成要素4(白丸)から構成されている。これらの構成要素は、後述するラベリング処理により、各構成要素である領域ごとにラベリングされる。
【0023】
図3は、第1の実施形態における図1(b)のマーカーの構成要素の重心を説明する図である。図1(b)マーカーは、図3のように各構成要素1−4で図形の重心が、符号aに示す位置において一致するように重ねられて生成されている。なお、図3において、重心は説明のためにバツ(×)印を用いて表しているが、このマーカーの構成要素にはバツ(×)印はない。すなわち構成要素1−4で図形の重心が共通であるように配置されている。なお、各構成要素1−4で図形の重心座標の関係は、例えばこのマーカーを撮像するカメラの解像度や、マーカーの大きさや、あるいはマーカーをプリントするプリンタの解像度により、予め定められた範囲内の誤差を備えている場合でも、重心が一致していると定義する。なお、重心は図心であっても良い。
【0024】
図4は、第1の実施形態におけるマーカー処理装置の構成の一例を示すブロック図である。マーカー処理装置100は、画像データ取り込み部101と、二値化部102と、二値化閾値設定部103と、領域ラベリング部104と、領域重心取得部105と、領域重心の多重度取得部106と、マーカー判定部107と、マーカー候補領域リスト記憶部108と、マーカー位置出力部109から構成されている。また、マーカー処理装置100は、カメラ120が撮像した画像を受ける。またマーカー処理装置100は、処理により検出されたマーカー情報を画像表示装置121に出力する。
【0025】
カメラ120は、例えば受光レンズとCCDカメラ等で構成され、マーカーが貼られた検出物体を含む画像を撮像し、撮像された画像をマーカー処理装置100に送信する。
【0026】
画像データ取り込み部101は、カメラ120により撮像された画像を所定のタイミングで取り込み、二値化部102と二値化閾値設定部103に出力する。画像の取り込みタイミングは、例えばマーカー判定毎に行っても良く、または一定周期毎に画像を取り込むようにしても良い。
【0027】
二値化部102は、画像データ取り込み部101から撮像された画像が入力される。また、二値化部102は、受け取った画像を二値化閾値設定部103で設定された閾値を用いて二値化し、二値化された画像情報を領域ラベリング部104に出力する。
【0028】
二値化閾値設定部103は、画像データ取り込み部101から撮像された画像が入力される。また、二値化閾値設定部103は、受け取った画像から二値化を行う際の閾値を設定し、設定された閾値を二値化部102に出力する。
なお、閾値の設定方法は、例えば1979年に大津展之によって提案された方法(以下、大津の方法)を用いる。
【0029】
領域ラベリング部104(ラベリング部)は、二値化部102から二値化された画像情報が入力される。
また、領域ラベリング部104は、受け取った二値化された画像情報に対して、一般的なラベリング方法で領域のラベリング処理を行い、領域のラベリングされた情報を領域重心取得部105に出力する。このラベリング処理により、二値化された画像情報は、画像を構成している図形に分離される。
なおラベリング処理の方法は、4連結処理や8連結処理などがあるが、すでに公知のものであるためその説明は省略する。
また、領域のラベリングされた情報とは、このラベリング処理過程で求まる、ラベリングされた各領域を構成するピクセルの総数および、各領域におけるX座標の最大値と最小値、およびY座標の最大値と最小値、ラベリング処理により分離された領域に付けられたラベル番号などである。
【0030】
領域重心取得部105は、領域ラベリング部104から領域のラベリング処理された情報が入力される。また、領域重心取得部105は、受け取った領域のラベリング処理された情報を用いて、領域毎に一般的な方法により重心の座標を求め、求めた重心座標の情報を領域重心の多重度取得部106に出力する。
【0031】
領域重心の多重度取得部106は、領域重心取得部105から取得された各領域の重心座標の情報が入力される。また、領域重心の多重度取得部106は、受け取った各領域の重心座標の情報を用いて、各領域の重心座標の位置を比較する。領域重心の多重度取得部106は、比較の結果、互いの重心座標が所定の誤差範囲であれば同じ座標にあると判定し、重心の重なり度である多重度を取得する。重心の重なり度である多重度とは、所定の誤差範囲内に収まっている複数の図形の重心の個数である。例えば、第1の図形の重心と第2の図形の重心が所定の誤差範囲内に収まるっている時の多重度は2である。また、互いの重心座標が重なっているか否かを判定する誤差範囲は、例えば撮像するカメラ120の解像度や焦点距離、マーカー生成時の重心位置精度、マーカーをプリントするプリンタの解像度などに基づき決めることができる。
【0032】
マーカー判定部107は、領域重心の多重度取得部106から取得された各領域の重心座標の多重度が入力される。また、マーカー判定部107は、マーカー候補領域リスト記憶部108に記憶されているマーカー候補領域リストから後述するマーカー候補領域の情報を読み出す。また、マーカー情報とは、ラベル番号、重心座標、多重度等である。また、マーカー判定部107は、領域重心の多重度取得部106から受け取った各領域の重心座標の多重度と、マーカー候補領域リスト記憶部108から読み出したマーカー候補領域の情報を用いて、多重度が所定以上の多重度の重心座標か否かを判定する。また、マーカー判定部107は、判定の結果、多重度が所定値以上の場合に、カメラ120が撮像した画像をマーカーと判定し、マーカーと判定された領域のマーカー候補領域の情報をマーカー情報としてマーカー位置出力部109に出力する。マーカーか否かの判定における所定値以上の多重度は、例えば3以上とする。
【0033】
マーカー候補領域リスト記憶部108は、領域重心の多重度取得部106により記憶された第1の領域と第2の領域の各重心座標と、各多重度を記憶している。
図10は、マーカー候補領域リスト記憶部108に記憶されているマーカー候補リストのデータ(マーカー候補領域の情報)構成の一例である。図10のように、マーカー候補領域リストは、ラベル番号、重心座標、および重心の多重度が関連付けられて記憶されている。
【0034】
マーカー位置出力部109は、マーカー判定部107から判定されたマーカー情報が入力され、受け取ったマーカー情報に基づき画像表示装置に表示する情報を生成して画像表示装置121に出力する。
図9は、マーカー位置出力部109が出力するマーカー情報の一例を示す図である。図9のように、マーカー位置出力部109が出力するマーカー情報は、マーカーと判定された重心座標(マーカーのX座標とマーカーY座標の組み合わせ)と、その重心の多重度と、重心が重なっている各構成要素に対応する領域情報であるラベル名などが関連付けられて出力される。
【0035】
画像表示装置121は、マーカー処理装置100から生成されたマーカー情報を表示する画像が入力され、受け取った画像を表示する。
【0036】
図5は、第1の実施形態におけるマーカーを貼った検出物体を含む画像の一例を示す図である。図5の例では、検出物体は4個あり、各検出物体には、図1(a)〜(d)の各マーカーのうちいずれか1つが貼られている。また、図5のように、マーカーが貼られている各検出物体のマーカーは、位置が異なり、さらに回転を伴い、配置による遠近感の影響による拡大・縮小を伴って配置されている。
【0037】
次に、第1の実施形態におけるマーカー処理方法を図6と図7のフローチャート、図8の前処理で得られる重心データの一例を用いて説明する。図6は、第1の実施形態におけるマーカー処理方法のフローチャートである。図7は、第1の実施形態における前処理のフローチャートである。図8は、領域重心取得部105が求めた各ラベルの重心座標を示すデータの一例を示す図である。まず、前処理で各々の領域の重心を求める(ステップS1)。
【0038】
このステップS1における前処理について、図7のフローチャートを用いて説明する。
画像データ取り込み部101は、カメラ120により撮像された画像を取得する(画像取得工程:ステップS101)。
画像データ取り込み部101は、取り込んだ画像を二値化部102と二値化閾値設定部103に出力する。二値化閾値設定部103は、画像データ取り込み部101から受け取った画像に基づき、二値化するための閾値を、例えば大津の方法で求める(二値化閾値設定工程:ステップS102)。
次に、二値化部102は、画像データ取り込み部101から受け取った画像を二値化閾値設定部103で求められた閾値を用いて二値化する(画像二値化工程(二値化工程):ステップS103)。
二値化部102は、二値化された画像情報を領域ラベリング部104に出力する。
次に、領域ラベリング部104は、この二値化部102から受け取った二値化された画像情報から、領域のラベリングを行う(領域ラベリング工程(ラベリング工程):ステップS104)。また、領域ラベリング部104は、ラベリングされた情報を領域重心取得部105に出力する。
次に、領域重心取得部105は、領域ラベリング部104から受け取ったラベリングされた情報から各ラベル領域(ラベリングされた各構成要素の各領域)の各重心の座標を求める(領域重心取得工程:ステップS105)。領域重心取得部105は、求められた各ラベル領域の各重心の座標を領域重心の多重度取得部106に出力する。
以上で、前処理を終了する。
【0039】
図6に戻り、領域重心の多重度取得部106とマーカー判定部107は、全ての未処理領域の処理が終了したか判定する(ステップS2)。未処理領域の処理とは、領域重心の多重度取得部106による全てのラベリングされた領域の組み合わせの多重度の取得、およびマーカー判定部107による全ての領域の組み合わせのマーカー判定が完了しているか否かである。
ステップS2で、全ての未処理領域の処理が終了していないと判定された場合(ステップS2;No)、領域重心の多重度取得部106はマーカー候補領域リスト記憶部108に記憶されているマーカー候補領域のリストのデータを削除して空にする(ステップS3)。
次に、領域重心の多重度取得部106は、領域重心取得部105から受け取った各ラベル領域の各重心の座標から未処理の第1領域を1つ選択する(ステップS4)。
次に、領域重心の多重度取得部106は、選択された未処理の第1領域をマーカー候補領域リスト記憶部108のリストに追加する(ステップS5)。すなわち、マーカー候補領域リストとは、領域重心の多重度取得部106により選択されたラベリングされた領域情報であり、マーカー判定部107によりマーカーか否かの判定を行うマーカーの候補のリストである。
次に、領域重心の多重度取得部106は、領域重心の多重度取得部106内の多重度記憶部に記憶されている多重度を1にリセットする(ステップS6)。
【0040】
次に、領域重心の多重度取得部106は、全ての未処理領域の処理が終了したか判定する(ステップS7)。
ステップS7で、全ての未処理領域の処理が終了していないと判定された場合(ステップS7;No)、領域重心の多重度取得部106は、ステップS4で選択された未処理の第1領域以外の1つの未処理の第2領域を選択する(ステップS8)。
次に、領域重心の多重度取得部106は、ステップS4で選択された未処理の第1領域とステップS8で選択された未処理の第2領域の重心座標を比較する。また、領域重心の多重度取得部106は、重心座標を比較した結果、未処理の第1領域と未処理の第2領域の重心座標が、予め定められている誤差範囲内で一致するか否かを判定する(ステップS9)。この予め定められている誤差範囲は、例えば撮像するカメラ120の焦点距離や、マーカー生成時の重心位置精度、マーカーをプリントするプリンタの解像度等に基づいて決められている値である。
ステップS9で、未処理の第1領域と未処理の第2領域の重心座標が、予め定められている誤差範囲内で一致すると判定された場合(ステップS9;Yes)、領域重心の多重度取得部106は、重心の多重度に1を加算し(ステップS10)、領域重心の多重度取得部106が備える多重度記憶部に記憶する(ステップS11)。
また、領域重心の多重度取得部106は、マーカー候補領域リスト記憶部108に未処理の第2領域の重心座標と多重度を記憶する。
ここでは、図10のように、ラベル番号、重心座標、および重心の多重度が関連付けられて記憶されている。
一方、ステップS9で、未処理の第1領域と未処理の第2領域の重心座標が、予め定められている誤差範囲内で一致しないと判定された場合(ステップS9;No)、領域重心の多重度取得部106はステップS7の処理に戻す。
なお、ステップS7〜S11は、重心位置多重度取得工程(領域重心の多重度取得工程)である。
【0041】
ステップS7で、全ての未処理領域の処理が終了していると判定された場合(ステップS7;Yes)、マーカー判定部107は、マーカー候補領域リスト記憶部108に記憶されている未処理の第1領域と未処理の第2領域のマーカー候補領域について、各候補領域の重心の多重度が所定値、例えば3以上であるか否かを判定する(ステップS12)。ステップS12で、各候補領域の重心の多重度が所定値以上であると判定された場合(ステップS12;Yes)、マーカー判定部107は、未処理の第1領域と未処理の第2領域の組み合わせを処理済みにする(ステップS13)。
一方、ステップS12で、各候補領域の重心の多重度が所定値以上でないと判定された場合(ステップS12;No)、マーカー判定部107はステップS2に戻す。
次に、マーカー判定部107は、重心の多重度が所定値以上のマーカー候補をマーカーと判定して、マーカー位置出力部109に出力する(ステップS14)。
なお、ステップS12〜S14は、マーカー判定工程である。
【0042】
上記ステップS2〜S14を繰り返し、全てのラベリングされた領域の組み合わせの多重度を求めて、さらに求められた多重度に基づいてマーカーか否かを判定する。
マーカー位置出力部109は、マーカー判定部107からマーカーと判定されたマーカー情報が入力される。また、マーカー位置出力部109は、受け取ったマーカー情報に基づき画像表示装置に表示する画像データを生成し、生成された画像情報を画像表示装置121に出力する。
ここでは、図9のように、マーカーと判定された重心座標と、その重心の多重度と、重心が重なっている領域情報であるラベル名などが関連付けられて出力される。
以上の処理により、マーカー処理は終了する。
なお、マーカーの検出は、2つの領域を比較する毎に行う方法について説明したが、これに限られず、領域重心の多重度取得部106が先に全ての領域の組み合わせについて比較を行い、比較の結果により順次、多重値を求める。さらに、全ての多重値が求まった後に、マーカー判定部107がマーカーを判定するようにしても良い。
【0043】
次に、マーカー処理の具体的な例を、図11〜13を用いて説明する。図11は、第1の実施形態における入力画像を二値化した画像の一例を示す図である。図12は、第1の実施形態におけるラベリング処理を説明する図である。図13は、第1の実施形態における同一ラベルを持つ領域の重心を求めた結果の一例を示す図である。
カメラ120で取得された画像をマーカー処理の過程を説明するために簡略化し、二値化部102で二値化された画像が図11である場合について説明する。
領域ラベリング部104は、二値化部102で二値化された画像情報を図12のように構成要素10〜21にラベリングする。なお、ここでは、構成要素10が背景としてラベリングされる場合について説明する。
次に、領域重心取得部105は、領域ラベリング部104でラベリングされた各ラベルの重心座標を取得する。図13のように、領域重心取得部105により取得された各ラベルの重心は座標30〜41に対応している。図13において、座標30はラベル10の重心座標、座標31はラベル11の重心座標のように対応している。なお、図13において重心は、バツ(×)印で表している。
【0044】
次に領域重心の多重度取得部106は、領域重心取得部105で取得された重心座標を順次比較して、重心が重なっている座標(誤差範囲内で重心が一致する座標)の多重度を算出していく。図13において、領域重心の多重度取得部106は、ラベル10〜21の重心座標30〜41を順次比較していく。図11と図13において、ラベル11〜13の重心座標31〜33は、お互いに一致すると判定され多重度=3である。また、ラベル18〜21の重心座標38〜41は、お互いに一致すると判定され多重度=4である。一方、ラベル10、14〜17の各重心座標30、34〜37は一致する座標がないため多重度=1である。
次に、マーカー判定部107は、マーカー候補領域リスト記憶部108に記憶されているマーカー候補領域の各候補について、各候補領域の重心の多重度が所定値、例えば3以上であるか否かを判定する。図13において、マーカー判定部107は、重心の多重度が3以上の領域、すなわち、ラベル11〜13(重心31〜33、重心の多重度=3)とラベル18〜21(重心38〜41、重心の多重度=4)の2箇所をマーカーと判定する。
また、マーカー判定部107は、マーカーと判定された領域の重心座標(マーカーのX座標,Y座標)、重心の多重度(マーカー多重度)、およびマーカーの構成要素に付与されたラベル番号を関連付けてマーカー位置出力部109に出力する。
以上のマーカー処理により、撮像された画像は、マーカーとマーカーではない図形に分離される。ここでは、図12において、ラベル11〜13、およびラベル18〜21はマーカーであり、ラベル10、14〜17はマーカー以外である。
【0045】
次に、第1の実施形態によるマーカー、およびマーカー処理方法がマーカーの回転や傾き、そして大きさ(拡大、縮小)の影響を受けないことを図14と図15を用いて説明する。図14は、マーカー検出において姿勢に依存しないことを説明する図である。図15は、マーカー検出において大きさに依存しないことを説明する図である。
図14(a)はマーカーに傾きがない例の図であり、図14(b)と(c)はマーカーが傾いている(回転している)例の図である。図15(a)〜(c)は、マーカーの大きさが拡大、縮小されて大きさが変化した場合の一例を示す図である。図14と図15のように、マーカーが回転、傾いていても、あるいはマーカーが拡大、縮小して大きさが変化しても、第1の実施形態によるマーカー処理によれば、マーカーの重心座標という点の情報を取得して、重心座標の重なりからマーカー判定を行うため、マーカー検出の際にマーカーの姿勢(位置、回転、傾き)、及びマーカーの大きさに依存しない。
【0046】
次に、第1の実施形態における他のマーカーの例を、図16(a)〜(f)、図17(a)〜(f)、図18(a)〜(d)に示す。
図16は、第1の実施形態における他のマーカーを示す図である。図16において(a)〜(f)は、重心が4重のマーカーの一例を示す図である。なお、図16において重心は、バツ(×)印で表している。図16のように、第1の実施形態におけるマーカー処理方法によれば多様なマーカーが生成できる。
第1の実施形態において、マーカー、およびマーカー処理の条件は、所定の構成要素の領域(ラベル)の重心が重なっていることのみなので、領域以外の空間に冗長な要素を埋め込んでも同様の効果が得られる。このため、マーカーに冗長な要素を埋め込んだ例を図17に示す。図17は、冗長部分を含むマーカーの一例を示す図である。図17のように、図17(a)と(e)は重心が4重の例であり、図17(b)、(c)、および(f)は重心が3重の例であり、図17(d)は重心が5重の例である。また、図17において、51〜72は、それぞれマーカーの構成要素である領域を表している。例えば、図17(a)において、構成要素の領域は51〜54であり、この4つの領域の重心は一箇所で一致している(多重度=4)。
また、図18(a)〜(d)は、手書きによるマーカーの一例を示す図である。図18のように、重心が所定の誤差範囲に入る、もしくは手書きマーカーの重心の誤差が収まる範囲に重心の誤差を設定することで、第1の実施形態によれば、手書きのマーカーの場合でも同様にマーカー処理が行える。
【0047】
以上のように、第1の実施形態によれば、撮像された画像を二値化部102が二値化して、二値化された画像情報から領域ラベリング部104がラベリングを行い、ラベリングされた各領域の重心(図心でも可)を領域重心取得部105が求める。次に、領域重心の多重度取得部106が求められた各ラベルを持つ領域の重心を比較し、重心の重なり具合である多重度を求める。さらに、マーカー判定部107が、求められた多重度が所定の値以上か否かによりマーカー判定を行う。このため、マーカーの姿勢(位置、回転、傾き)、およびマーカーの大きさに依存しないマーカーを提供、およびマーカー処理を行うことが可能になる。
【0048】
[第2実施形態]
次に、第2の実施形態について、図19〜23を用いて説明する。第1の実施形態では、領域ラベリング部104でラベリングされた領域について、各領域の重心の重なり度である多重度を用いてマーカー判定を行った。第2の実施形態では、領域ラベリング部104でラベリングされた領域について、さらにマーカーの種別の識別を行う。
図19は、第2の実施形態におけるマーカー処理装置の構成の一例を示すブロック図である。マーカー処理装置100Aは、画像データ取り込み部101と、二値化部102と、二値化閾値設定部103と、領域ラベリング部104と、領域重心取得部105と、領域重心の多重度取得部106と、マーカー判定部107と、マーカー候補領域リスト記憶部108と、マーカー種別識別部201と、マーカー位置・種別出力部202から構成されている。また、マーカー処理装置100Aは、カメラ120が撮像した画像が入力される。
またマーカー処理装置100Aは、検出されたマーカー情報を画像表示装置121に出力する。第1の実施形態との違いは、マーカー種別識別部201と、マーカー位置・種別出力部202である。この図において、図4の各部に対応する部分に同様の符号を付し、その説明を省略する。
【0049】
マーカー種別識別部201は、領域ラベリング部104からラベリング処理において得られた各領域の情報を受ける。
図21は、領域ラベリング部104のラベリング処理で得られた情報の一例を示す図である。図21のように、領域ラベリング部104のラベリング処理により、ラベリングされた全てのラベル番号と、各領域のラベルの重心座標、各領域のラベルの面積と、各領域のラベルの最大X座標と、各領域のラベルの最大Y座標と、各領域のラベルの最小X座標と、各領域のラベルの最小Y座標が得られる。なお、重心は図心であっても良い。
また、マーカー種別識別部201は、領域ラベリング部104から受けた領域情報を用いて、各領域の大きさの比、もしくは領域の面積の比によりマーカーの識別を行う。ラベルの領域の面積は、取得された画像において、例えば同じラベルを持つピクセルの合計にあたる。また、同じラベルを持つ全てのピクセルの座標値について、順次、最大値と最小値を比較していくことで、ラベルにおける座標の最大値と最小値が求められる。これら、座標の最大値、最小値、および同じラベルを持つピクセル数を用いて、各ラベルの面積を演算により求める。
マーカー判定部107は、まず、領域重心の多重度取得部106で取得された多重度からマーカー判定を行う。
マーカー種別識別部201は、マーカー判定部107でマーカーと判定された情報について、各マーカーの多重度、もしくは各マーカーの各領域の面積比、あるいは大きさの比の少なくとも1つを用いてマーカーの種別を識別する。
また、マーカー種別識別部201は、判定・識別されたマーカー情報をマーカー位置・種別出力部202に出力する。
【0050】
マーカー位置・種別出力部202は、マーカー種別識別部201から識別されたマーカーの位置情報、マーカーの種別情報、多重度、およびマーカーを構成するラベル番号等が入力され、受け取ったマーカー情報に基づき画像表示装置に表示する情報を生成して画像表示装置121に出力する。
【0051】
図22は、マーカーの多重度の違いによりマーカーを識別する例を説明する図である。
図22において、図22の(a)〜(d)は多重度=3のマーカーの一例であり、図22の(e)〜(h)は多重度=4のマーカーの一例であり、図22の(i)〜(l)は多重度=5のマーカーの一例である。例えば、識別したい検出物体が3個あった場合に、多重度の異なるマーカーを貼っておけば、それぞれのマーカーを多重度の相違に基づいて識別できるため、マーカーが貼られている検出物体の位置や予めマーカーと関連付けられている検出物体の種類も識別できる(例えば、マーカー処理装置100Aが、予めマーカーが貼られる検出物体の種類をマーカーに関連づけて記憶しておく)。また、検出物体とマーカーが関連付けられていない場合でも、取得された画像から、多重度の異なるマーカーを識別し、その位置を求めることができる。
【0052】
図23は、マーカーの領域面積比、領域の大きさ比でマーカー種別を識別する例を説明する図である。図23において、(a)〜(l)はすべて多重度=3のマーカーの例である。例えば、図23の(d)、(h)、および(l)は、マーカーの大きさは3つのマーカーともに同一だが、各ラベルの領域面積の大きさが異なっている。このため、図23(d)、(h)、および(l)のマーカーは、領域間の面積を比較することで種別できる。同様に、他のマーカーにおいても、各領域の面積の比や、大きさの比を比較することで、各々のマーカーを識別することが可能である。
【0053】
次に、第2の実施形態におけるマーカー処理方法を図20のフローチャートを用いて説明する。なお、第1の実施形態と同じ動作については説明を省略する。図20において、ステップS201〜ステップS207は、第1の実施形態のステップS1(ステップS101〜ステップS105)〜S14の処理と同一である。
次に、マーカー種別識別部201は、マーカー判定部107から判定されたマーカー情報と、領域ラベリング部104から領域のラベリングされた情報が入力される。また、マーカー種別識別部201は、受け取ったマーカー判定部107により判定されたマーカー情報と、領域ラベリング部104によりラベリングされた領域のラベリングされた情報を用いて、マーカーの多重度、マーカーの各領域の面積比、あるいはマーカーの各領域の大きさの比のうち少なくとも1つによりマーカーを識別する(マーカー種別識別工程:ステップS208)。
次に、マーカー種別識別部201は、識別されたマーカー情報(マーカーの重心座標、マーカーを構成するラベル番号、多重度、およびマーカー種別)をマーカー位置・種別出力部202に出力する(マーカー位置・種別出力工程:ステップS209)。
以上により、第2の実施形態によるマーカー処理を終了する。
【0054】
以上のように、第2の実施形態によれば、撮像された画像を二値化部102が二値化して、二値化された画像情報から領域ラベリング部104がラベリングを行い、ラベリングされた各領域の重心を領域重心取得部105が求める。次に、領域重心の多重度取得部106により求められた各ラベルを持つ領域の重心を比較し、重心の重なり具合である多重度を求める。さらに、マーカー判定部107が、求められた多重度が所定の値以上か否かによりマーカー判定を行う。さらに、マーカー種別識別部201は、領域ラベリング部104でラベリング処理時に生成された情報と、領域重心の多重度取得部106により求められた多重度、およびマーカー判定部107により判定されたマーカー情報を用いてマーカーを識別する。
また、第2の実施形態によれば、マーカーである領域の重心、あるいは面としての情報を用いているために、ノイズ成分が積分により低減または平均化されることが期待され、耐ノイズ性が従来技術によるマーカー、およびマーカー処理方法より高い。
このように、第2の実施形態によれば、マーカーの重心(図心でも可)の多重度、マーカーの各領域の面積比、あるいは各領域の大きさの比によりマーカーを識別するようにしたので、マーカーの姿勢(位置、回転、傾き)、およびマーカーの大きさに依存せず、さらに撮像された画像中のノイズに対しても十分な耐性を備えるマーカーの提供、およびマーカー処理を行うことが可能になる。
【0055】
[第3実施形態]
次に、第3の実施形態について、図24〜図27を用いて説明する。第3の実施形態は、付加情報を埋め込めこんだマーカーの生成方法に関するものである。第1の実施形態の図17でも説明したように、本発明におけるマーカー、マーカー処理方法、およびマーカー処理装置は、所定の要素の領域(ラベル)の重心が重なっていることのみなので、領域以外の空間に冗長な要素を埋め込んでも同様の効果が得られる。
【0056】
マーカーに冗長な情報を埋め込む方法の例について、図24〜図26を用いて説明する。
図24は、マーカーに付加的な情報を埋め込む処理のフローチャートである。図25は、保護領域付加マーカー作成の方法を説明する図である。図26は、マーカーへの付加データ方法を説明する図である。以下のマーカー生成、およびマーカーに付加情報を埋め込む処理は、例えばコンピュータにより行われ、具体的には、CPU(中央演算装置)に接続されたROM(Read Only Memory)、HDD(Hard Disk Drive)もしくはUSB(Universal Serial Bus) I/Fを介して接続されるUSBメモリー等の記憶装置に保存されているプログラムにより実行する。
まず、図24と25において、コンピュータは、自身に設けられているマーカー要素領域記憶部からマーカー要素領域を読み出す(ステップS301)。
次に、コンピュータは、マーカー要素領域記憶部から読み出されたマーカー要素領域の中から、マーカー生成に用いるマーカー要素領域を選択する(マーカー要素領域選択工程:ステップS302)。マーカー構成要素は、マーカーの生成を行うコンピュータによりランダム、あるいは予め定められた選択基準に基づいて選択され、例えば、図25(b)と(d)が選択される。
【0057】
次に、図25(e)のように、コンピュータは、選択されたマーカー要素領域について、必要に応じて拡大、縮小、回転処理を単独あるいは組み合わせて行う。(マーカー要素領域変形工程:ステップS303)。例えば、図25において、コンピュータにより、選択された要素領域(b)は拡大による変形処理が行われ、選択されたマーカー要素領域(d)は、縮小、および縮小と回転処理による変形が行われる。また、マーカー領域の大きさは、埋め込まれる付加情報、例えば、二次元コードにおけるデータ欠落時の補正が可能な範囲になるように、マーカー、およびマーカーの保護領域を設定するようにしても良い。マーカーの保護領域とは、埋め込まれる画像を配置しない領域である。
次に、ステップS303で変形された各マーカー要素領域について、コンピュータは、最小領域幅の検出を行う(最小領域幅検出工程:ステップS304)。これは、マーカー要素領域に付加情報を埋め込む際に、マーカー要素を埋め込んだ付加情報から分離し、保護するためのガードであり、この最小領域幅は、例えばカメラ120の解像度や、マーカーを印刷する際に用いるプリンタの解像度、および生成しようとしているマーカーの大きさ等に基づいて設定されている領域幅である。
次に、図25(f)のように、コンピュータは、ステップS304で検出された最小領域幅を、ステップS303で変形させた各マーカー要素領域に重畳する(保護領域重畳工程:ステップS305)。
【0058】
次に、図25(g)のように、コンピュータは、ステップS305で保護領域が重畳されたマーカー要素領域を、重心(図心でも可)の座標が一致するように合成して保護領域付きマーカーを配置する(保護領域付きマーカー配置工程:ステップS306)。
次に、図24、26において、コンピュータは、マーカーに埋め込むデータを取得する(埋め込みデータ取得工程:ステップS307)。埋め込むデータは、例えば、ROM、HDDもしくはUSB I/Fを介して接続されるUSBメモリー等の記憶装置に記憶されているデータを読み出すか、USBメモリーやネットワーク経由等で取得するようにしても良い。
次に、図26(a)のように、コンピュータは、ステップS307で取得された埋め込むデータを用いて、冗長化データを生成する(冗長化データ生成工程:ステップS308)。冗長化データ生成は、例えば、予め定められた方法、例えば一般的な二次元コードの生成方法を用いる。
【0059】
次に、コンピュータは、ステップS306で配置された保護領域付きマーカーに、ステップS308で生成された冗長化データを重畳し、冗長化データを埋め込んだマーカーを生成する(保護領域付きマーカー重畳工程:ステップS309)。例えば、コンピュータは、図26(b)(図25(g)と同一)の保護領域付きマーカーに、図26(a)の冗長化データを重畳し、図26(c)の冗長化データを埋め込んだマーカーを生成する。
次に、コンピュータは、ステップS308で生成された冗長化データを埋め込んだマーカーから、保護領域を削除し、マーカー生成を行い、例えばROM、HDDもしくはUSB I/Fを介して接続されるUSBメモリー等の記憶装置、もしくはコンピュータに接続されているプリンタ装置へ出力する(マーカー出力工程:ステップS310)。
以上により、付加データを埋め込んだマーカーの生成を終了する。
【0060】
次に、マーカーに付加データを埋め込んだ例を、図27を用いて説明する。図27は、マーカーの付加データを埋め込める領域、および実際に付加データを埋め込んだ一例を示す図である。図27(a)は多重度=3のマーカーの例を示す図であり、図27(b)は図27(a)のマーカーに付加データを埋め込んだ一例を示す図である。同様に、図27(c)は多重度=3のマーカーの例を示す図であり、図27(d)は図27(c)のマーカーに付加データを埋め込んだ一例を示す図である。図27(e)は多重度=4のマーカーであり、付加データである任意のデータ範囲の一例を示す図である。
【0061】
以上のように、第3の実施形態によれば、生成しようとしているマーカーに保護領域を設けて付加データを重畳するようにしたので、マーカー検出処理に影響を与えない付加データを配置できる範囲に、マーカーに付加データを埋め込こむことが可能になる。このように、本発明によるマーカー処理方法とマーカーを用いた場合、第1の実施形態、第2の実施形態で示したように、多様なマーカーを生成できる上、第3の実施形態で説明した方法を用いて、付加情報を埋め込むことも可能であり、応用、実用範囲が広い。
【0062】
また、第3の実施形態によれば、付加データを表す図形を、マーカーの構成要素を取り囲むように配置したマーカーを生成することができる。
【0063】
なお、第3の実施形態について、マーカーおよびマーカーへの付加情報の埋め込みは、コンピュータを用いて生成する方法について説明したが、図24〜27の各工程の処理を行う機能を備えたマーカー生成装置で行っても良い。
【0064】
[第4実施形態]
次に、第4の実施形態について、図28を用いて説明する。第4の実施形態は、第3の実施形態の方法により生成されたマーカーを備える物体に関するものである。図28は、本実施形態に係るマーカーを備える物体の一例を示す図である。図28(a)は、ドライバー301にマーカー302を付けた例の図であり、図28(b)は、スパナ311にマーカー312を付けた例の図である。物体が備えるマーカーは、多重度が異なるものでもよく、第2の実施形態で説明した各領域の大きさの比、もしくは領域の面積の比が異なるものでもよい。そして、予めマーカー302とマーカー312にドライバー301とスパナ311を関連づけてマーカー処理装置に記憶しておくことにより、マーカーの識別を行うことで物体を識別できる。
マーカーの識別は、第1の実施形態の方法により、全てのラベリングされた領域の組み合わせの多重度を求めて、さらに求められた多重度に基づいてマーカーか否かを判定する。また、第2の実施形態の方法により、各領域の大きさの比、もしくは領域の面積の比によりマーカーの識別を行う。また、図5のように、撮像された画像中に複数のマーカーを備える物体がある場合においても、そして、物体の配置によりマーカーが回転していても拡大縮小されていても精度良く識別することができる。また、マーカー302とマーカー312は、ドライバー301とスパナ311にシール等で貼っても良く、あるいは各物体に印刷しても良く、あるいは各物体の製造時に金型等で形成するようにしても良い。
【0065】
以上のように、第4の実施形態によれば、第3の実施形態の方法により生成されたマーカーを物体が備え、第1の実施形態および第2の実施形態の方法によりマーカーを識別するようにしたので、マーカーの姿勢や大きさに依存せず、さらにまた画像中のノイズに対して高い耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカーを備える物体を提供することができる。
【0066】
[第5実施形態]
次に、第5の実施形態について、図29を用いて説明する。第5の実施形態は、マーカーを備える物体の他の実施形態に関するものである。図29は、本実施形態に係るマーカーを備える物体の一例を示す図である。図29において、物体(本、または雑誌など)321は、ページ内にマーカー322が印刷されている。マーカー322は、第3の実施形態で生成された付加情報が埋め込まれたものである。マーカー処理装置は、予めマーカーが付けられたページに関連した記事や広告が載っているインターネット上のurl(Uniform Resource Locator)アドレス等を登録しておく。そして、マーカー処理装置は、第1の実施形態の方法により、全てのラベリングされた領域の組み合わせの多重度を求めて、さらに求められた多重度に基づいてマーカーか否かを判定する。また、第2の実施形態の方法により、各領域の大きさの比、もしくは領域の面積の比によりマーカーの識別を行う。さらに、マーカー処理装置は、二次元コードを読み取り、読み取った二次元コードに基づくurlアドレス等にアクセスして付加される情報に関連した記事や広告を表示する。
なお、物体321に付けたマーカーの例として付加情報が埋め込まれた場合を説明したが、例えば複数のマーカー毎に異なるインターネット上のurlアドレス等を関連づけてマーカー処理装置に登録する場合、ページに付けるマーカーは付加情報がないものでも良い。また、マーカーもしくはマーカーに埋め込まれた付加情報に関連づける情報は、urlアドレスに限られず、他の情報でも良く、例えば、画像や文字情報などに直接関連づけるようにしても良い。
【0067】
以上のように、第5の実施形態によれば、第3の実施形態の方法により生成されたマーカーを物体に付け、第1の実施形態および第2の実施形態の方法によりマーカーを識別し、さらに物体に付けられたマーカーもしくはマーカーに埋め込まれた付加情報に関連づけてurlアドレス等を予めマーカー処理装置に登録し、登録されているマーカーもしくはマーカーに埋め込まれた付加情報に関連づけられている情報に基づき情報を読み出して表示等するようにしたので、マーカーの姿勢や大きさに依存せず、さらにまた画像中のノイズに対して高い耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカーを備える物体を提供することができる。
【0068】
さらにまた、第1の実施形態〜第5の実施形態において、マーカーは白黒のパターンを用いる例について説明したが、撮像された画像が白黒のパターンと同等にコントラストが得られる範囲でのグレースケールであっても良く、また色相の組合せであっても良い。
【0069】
さらにまた、第1の実施形態〜第5の実施形態において、マーカーは円、四角形、線などを用いた例について説明したが、これに限られず、多角形、曲線で囲まれた形など、領域として面積や重心を備え、かつそれらの重心座標が、所定の誤差範囲であれば良い。
【0070】
なお、第1の実施形態の図4、および第2の実施形態の図19の機能の全て、もしくは一部を、マーカー処理装置の図示しないCPUに接続されたROM、HDDもしくはUSB I/Fを介して接続されるUSBメモリー等の記憶装置に保存されているプログラムにより実行することも可能である。
【符号の説明】
【0071】
100・・・マーカー処理装置
101・・・画像データ取り込み部
102・・・二値化部
103・・・二値化閾値設定部
104・・・領域ラベリング部
105・・・領域重心取得部
106・・・領域重心の多重度取得部
107・・・マーカー判定部
108・・・マーカー候補領域リスト記憶部
109・・・マーカー位置出力部
201・・・マーカー種別識別部
202・・・マーカー位置・種別出力部
【技術分野】
【0001】
本発明は、マーカー処理方法、マーカー処理装置、マーカー、マーカーを備える物体、およびマーカー処理プログラムに関する。
【背景技術】
【0002】
マーカーが付加された物体を撮像した画像からマーカーを検出する方法として、形状の対称性を検出する方法や色の組み合わせを検出する方法が知られている。
形状の対称性を検出する方法として、位置決め用シンボルを持つ二次元コードを検出する方法が提案されている。この位置決め用シンボルは所定の位置に配置され、撮像した画像から検出された位置決め用シンボルにより、二次元コードの位置や回転角度を算出できる(例えば、特許文献1参照)。
【0003】
色の組み合わせを検出する方法としては、ある色相の領域に全周を囲まれた、それとは異なる色の相領域をマーカーとして検出する方法が提案されている。このマーカーに用いる2つの色相領域は、色の組み合わせごとの識別番号が予め付与されている。このため、撮像された画像から、色相画像を抽出し、抽出された色相画像から、色相の変化パターンを走査により探索する。この色相探索によりマーカーと予想できる領域を検出し、検出された色相の変化パターンが予め定められた組み合わせと一致しているか判定することで、マーカーを検出する(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平7−254037号公報
【特許文献2】特開2005−309717号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の技術による形状の対称性を検出する方法では、特許文献1の図2のように、明暗の期間の比率が暗:明:暗:明:暗=1:1:3:1:1に設定されている位置決め用シンボルを走査により検出するため、走査間隔によっては回転および傾いているシンボルの検出可能範囲が狭くなるという課題があった。また、マーカーを検出する走査線が、いろいろな方向から横切った場合に対応するには、マーカー自体に高い対称性が必要になるため、多数のマーカーを生成する上での制限になるという課題があった。また、明暗の周期が1:1:3:1:1の比率になっていることのみ要求されるため、絶対周期には基本的に制限が無いため、マーカー検出側でマーカーの大きさによる周期変化に対応する必要があるという課題があった。また、マーカーに白黒反転周期を用いているため、入力画像にノイズが混入した場合に周期判定が困難になる。このため、ノイズ対策が必要になるという課題があった。
すなわち、特許文献1の技術では、マーカー検出において、マーカーの姿勢(位置、回転、傾き)に依存し、またマーカーの大きさに依存し、さらにまた画像中のノイズの影響が大きいという課題があった。
【0006】
また、上述の技術による色の組み合わせを検出する方法では、白黒画像を用いる場合に比較して約3倍のデータ処理を行う必要がある。このため、白黒画像と同等の処理量にするためには、画像の解像度を下げたり、画像を取り込むフレームレートを下げる必要があるという課題があった。また、撮像された画像中の色相情報は、照明条件などの強い影響を受け、また撮像するカメラのホワイトバランスなどの影響も大きいため、これらに対する対策が必要になるという課題があった。また、使用するマーカーを構成する材料中の色素や色材が経年変化するため、この経年変化に対する対応が必要になるという課題があった。
【0007】
本発明は、上記の問題点に鑑みてなされたものであって、マーカーの姿勢(位置、回転、傾き)に依存せず、またマーカーの大きさに依存せず、さらにまた画像中のノイズに対して耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカー処理方法、マーカー処理装置、およびマーカーを提供することを目的としている。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明は、マーカー処理方法において、撮像された画像を二値化する二値化工程と、前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程と、を備えることを特徴としている。
なお、画像の構成要素とは、撮像された画像に含まれている面積を備える点、線、図形であり、領域重心とは、ラベリングされた図形の重心(図心でも可)であり、領域重心の重なり度とは、一定の範囲内に収まる重心(図心でも可)を有するラベリングの個数である。
【0009】
また、本発明は、マーカー処理方法において、前記マーカー判定工程で検出されたマーカーを、前記領域重心の多重度取得工程で求められた領域重心の重なり度、前記マーカーの前記各領域の面積比、あるいは前記マーカーの前記各領域の大きさの比の少なくとも1つを用いて前記マーカーの種別を識別するマーカー種別識別工程と、をさらに備えることを特徴としている。
なお、マーカー判定工程とは、撮像された画像の中からどれがマーカーであるかを認識することであり、マーカー種別識別工程とは、撮像された画像の中のマーカーの種類を識別することである。
【0010】
さらにまた、本発明は、マーカー処理方法において、前記マーカー判定工程は、領域重心の重なり度が3以上の場合にマーカーとして検出することを特徴としている。
【0011】
さらにまた、本発明は、マーカー処理方法において、前記マーカーは、重心を共通にする少なくとも3個以上の図形を備えることを特徴としている。
【0012】
さらにまた、本発明は、マーカー処理装置において、撮像された画像を二値化する二値化部と、前記二値化部で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング部と、前記ラベリング部でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得部と、前記領域重心取得部で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得部と、前記領域重心の多重度取得部で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定部と、を備えることを特徴としている。
【0013】
さらにまた、本発明は、マーカーにおいて、重心を共通にする少なくとも3個以上の図形を備えることを特徴としている。
ここで、重心を共通にするとは、複数の図形の重心が一定の範囲内に収まっていることを意味する。
【0014】
さらにまた、本発明は、マーカーにおいて、付加情報をさらに備えることを特徴としている。
なお、マーカーが付加情報を備えるとは、マーカーに一般的な二次元コードの生成手法で生成された冗長化データを重畳し、冗長化データを埋め込んだマーカーのことである。
【0015】
さらにまた、本発明は、マーカーにおいて、前記付加情報は、デジタルデータであることを特徴としている。
【0016】
さらにまた、本発明は、マーカーを備える物体であることを特徴としている。
【0017】
上記目的を達成するため、本発明は、マーカー処理プログラムにおいて、コンピュータに、撮像された画像を二値化する二値化工程と、前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程とを実行させることを特徴としている。
【0018】
本発明によれば、撮像された画像からラベリングされた各領域の重心(図心であっても可)を求めて、求めた各ラベルに対応する各領域の重心の重なり度からマーカーを検出するようにしたので、マーカーの姿勢や大きさに依存せず、さらにまた画像中のノイズに対して高い耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカー処理方法、マーカー処理装置、マーカー、マーカーを備える物体、およびマーカー処理プログラムを提供することが可能になる。
【図面の簡単な説明】
【0019】
【図1】本発明の第1の実施形態に係るマーカーの一例を示す図である。
【図2】同実施形態に係る図1(b)のマーカーの構成要素を説明する図である。
【図3】同実施形態に係る図1(b)のマーカーの構成要素の重心を説明する図である。
【図4】同実施形態に係るマーカー処理装置の構成の一例を示すブロック図である。
【図5】同実施形態に係るマーカーを貼った検出物体を含む画像の一例を示す図である。
【図6】同実施形態に係る処理方法のフローチャートである。
【図7】同実施形態に係る前処理のフローチャートである。
【図8】同実施形態に係る領域重心取得部が求めた各ラベルの重心座標を示すデータの一例を示す図である。
【図9】同実施形態に係る位置出力部109が出力するマーカー情報の一例を示す図である。
【図10】同実施形態に係るマーカー候補領域リスト記憶部108に記憶されているマーカー候補リストのデータ構成の一例である。
【図11】同実施形態に係る入力画像を二値化した画像情報の一例を示す図である。
【図12】同実施形態に係るラベリング処理を説明する図である。
【図13】同実施形態に係る同一ラベルを持つ領域の重心を求めた結果の一例を示す図である。
【図14】同実施形態に係るマーカー検出において姿勢に依存しないことを説明する図である。
【図15】同実施形態に係るマーカー検出において大きさに依存しないことを説明する図である。
【図16】同実施形態に係る他のマーカーの一例を示す図である。
【図17】同実施形態に係る冗長部分を含むマーカーの一例を示す図である。
【図18】同実施形態に係る手書きによるマーカーの一例を示す図である。
【図19】本発明の第2の実施形態に係るマーカー処理装置の構成の一例を示すブロック図である。
【図20】同実施形態に係る処理方法のフローチャートである。
【図21】同実施形態に係る領域ラベリング部104のラベリング処理で得られた情報の一例を示す図である。
【図22】同実施形態に係るマーカーの多重度の違いによりマーカーを識別する例を説明する図である。
【図23】同実施形態に係るマーカーの領域面積比、領域の大きさ比でマーカー種別を識別する例を説明する図である。
【図24】本発明の第3の実施形態に係るマーカーに付加的な情報を埋め込む処理のフローチャートである
【図25】同実施形態に係る保護領域付加マーカー作成の方法を説明する図である。
【図26】同実施形態に係るマーカーへの付加データ方法を説明する図である。
【図27】同実施形態に係るマーカーの付加データを埋め込める領域、および実際に付加データを埋め込んだ一例を示す図である。
【図28】本発明の第4の実施形態に係るマーカーを備える物体の一例を示す図である。
【図29】本発明の第5の実施形態に係るマーカーを備える物体の一例を示す図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態について、図1〜29を用いて説明する。なお、本発明は斯かる実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0021】
[第1実施形態]
図1は、第1の実施形態におけるマーカーの一例を示す図である。図1において、図(a)〜(d)の各マーカーは、後述するように、各マーカーにおける各ラベルの重心位置が一致するように生成されている。また、図1(a)〜(d)のマーカーは4個の重心を備えている。
【0022】
図2は、第1の実施形態における図1(b)のマーカーの構成要素を説明する図である。図1(b)のマーカーは、白黒により分離される構成要素として、構成要素1と、構成要素2と、構成要素3(黒丸)と、構成要素4(白丸)から構成されている。これらの構成要素は、後述するラベリング処理により、各構成要素である領域ごとにラベリングされる。
【0023】
図3は、第1の実施形態における図1(b)のマーカーの構成要素の重心を説明する図である。図1(b)マーカーは、図3のように各構成要素1−4で図形の重心が、符号aに示す位置において一致するように重ねられて生成されている。なお、図3において、重心は説明のためにバツ(×)印を用いて表しているが、このマーカーの構成要素にはバツ(×)印はない。すなわち構成要素1−4で図形の重心が共通であるように配置されている。なお、各構成要素1−4で図形の重心座標の関係は、例えばこのマーカーを撮像するカメラの解像度や、マーカーの大きさや、あるいはマーカーをプリントするプリンタの解像度により、予め定められた範囲内の誤差を備えている場合でも、重心が一致していると定義する。なお、重心は図心であっても良い。
【0024】
図4は、第1の実施形態におけるマーカー処理装置の構成の一例を示すブロック図である。マーカー処理装置100は、画像データ取り込み部101と、二値化部102と、二値化閾値設定部103と、領域ラベリング部104と、領域重心取得部105と、領域重心の多重度取得部106と、マーカー判定部107と、マーカー候補領域リスト記憶部108と、マーカー位置出力部109から構成されている。また、マーカー処理装置100は、カメラ120が撮像した画像を受ける。またマーカー処理装置100は、処理により検出されたマーカー情報を画像表示装置121に出力する。
【0025】
カメラ120は、例えば受光レンズとCCDカメラ等で構成され、マーカーが貼られた検出物体を含む画像を撮像し、撮像された画像をマーカー処理装置100に送信する。
【0026】
画像データ取り込み部101は、カメラ120により撮像された画像を所定のタイミングで取り込み、二値化部102と二値化閾値設定部103に出力する。画像の取り込みタイミングは、例えばマーカー判定毎に行っても良く、または一定周期毎に画像を取り込むようにしても良い。
【0027】
二値化部102は、画像データ取り込み部101から撮像された画像が入力される。また、二値化部102は、受け取った画像を二値化閾値設定部103で設定された閾値を用いて二値化し、二値化された画像情報を領域ラベリング部104に出力する。
【0028】
二値化閾値設定部103は、画像データ取り込み部101から撮像された画像が入力される。また、二値化閾値設定部103は、受け取った画像から二値化を行う際の閾値を設定し、設定された閾値を二値化部102に出力する。
なお、閾値の設定方法は、例えば1979年に大津展之によって提案された方法(以下、大津の方法)を用いる。
【0029】
領域ラベリング部104(ラベリング部)は、二値化部102から二値化された画像情報が入力される。
また、領域ラベリング部104は、受け取った二値化された画像情報に対して、一般的なラベリング方法で領域のラベリング処理を行い、領域のラベリングされた情報を領域重心取得部105に出力する。このラベリング処理により、二値化された画像情報は、画像を構成している図形に分離される。
なおラベリング処理の方法は、4連結処理や8連結処理などがあるが、すでに公知のものであるためその説明は省略する。
また、領域のラベリングされた情報とは、このラベリング処理過程で求まる、ラベリングされた各領域を構成するピクセルの総数および、各領域におけるX座標の最大値と最小値、およびY座標の最大値と最小値、ラベリング処理により分離された領域に付けられたラベル番号などである。
【0030】
領域重心取得部105は、領域ラベリング部104から領域のラベリング処理された情報が入力される。また、領域重心取得部105は、受け取った領域のラベリング処理された情報を用いて、領域毎に一般的な方法により重心の座標を求め、求めた重心座標の情報を領域重心の多重度取得部106に出力する。
【0031】
領域重心の多重度取得部106は、領域重心取得部105から取得された各領域の重心座標の情報が入力される。また、領域重心の多重度取得部106は、受け取った各領域の重心座標の情報を用いて、各領域の重心座標の位置を比較する。領域重心の多重度取得部106は、比較の結果、互いの重心座標が所定の誤差範囲であれば同じ座標にあると判定し、重心の重なり度である多重度を取得する。重心の重なり度である多重度とは、所定の誤差範囲内に収まっている複数の図形の重心の個数である。例えば、第1の図形の重心と第2の図形の重心が所定の誤差範囲内に収まるっている時の多重度は2である。また、互いの重心座標が重なっているか否かを判定する誤差範囲は、例えば撮像するカメラ120の解像度や焦点距離、マーカー生成時の重心位置精度、マーカーをプリントするプリンタの解像度などに基づき決めることができる。
【0032】
マーカー判定部107は、領域重心の多重度取得部106から取得された各領域の重心座標の多重度が入力される。また、マーカー判定部107は、マーカー候補領域リスト記憶部108に記憶されているマーカー候補領域リストから後述するマーカー候補領域の情報を読み出す。また、マーカー情報とは、ラベル番号、重心座標、多重度等である。また、マーカー判定部107は、領域重心の多重度取得部106から受け取った各領域の重心座標の多重度と、マーカー候補領域リスト記憶部108から読み出したマーカー候補領域の情報を用いて、多重度が所定以上の多重度の重心座標か否かを判定する。また、マーカー判定部107は、判定の結果、多重度が所定値以上の場合に、カメラ120が撮像した画像をマーカーと判定し、マーカーと判定された領域のマーカー候補領域の情報をマーカー情報としてマーカー位置出力部109に出力する。マーカーか否かの判定における所定値以上の多重度は、例えば3以上とする。
【0033】
マーカー候補領域リスト記憶部108は、領域重心の多重度取得部106により記憶された第1の領域と第2の領域の各重心座標と、各多重度を記憶している。
図10は、マーカー候補領域リスト記憶部108に記憶されているマーカー候補リストのデータ(マーカー候補領域の情報)構成の一例である。図10のように、マーカー候補領域リストは、ラベル番号、重心座標、および重心の多重度が関連付けられて記憶されている。
【0034】
マーカー位置出力部109は、マーカー判定部107から判定されたマーカー情報が入力され、受け取ったマーカー情報に基づき画像表示装置に表示する情報を生成して画像表示装置121に出力する。
図9は、マーカー位置出力部109が出力するマーカー情報の一例を示す図である。図9のように、マーカー位置出力部109が出力するマーカー情報は、マーカーと判定された重心座標(マーカーのX座標とマーカーY座標の組み合わせ)と、その重心の多重度と、重心が重なっている各構成要素に対応する領域情報であるラベル名などが関連付けられて出力される。
【0035】
画像表示装置121は、マーカー処理装置100から生成されたマーカー情報を表示する画像が入力され、受け取った画像を表示する。
【0036】
図5は、第1の実施形態におけるマーカーを貼った検出物体を含む画像の一例を示す図である。図5の例では、検出物体は4個あり、各検出物体には、図1(a)〜(d)の各マーカーのうちいずれか1つが貼られている。また、図5のように、マーカーが貼られている各検出物体のマーカーは、位置が異なり、さらに回転を伴い、配置による遠近感の影響による拡大・縮小を伴って配置されている。
【0037】
次に、第1の実施形態におけるマーカー処理方法を図6と図7のフローチャート、図8の前処理で得られる重心データの一例を用いて説明する。図6は、第1の実施形態におけるマーカー処理方法のフローチャートである。図7は、第1の実施形態における前処理のフローチャートである。図8は、領域重心取得部105が求めた各ラベルの重心座標を示すデータの一例を示す図である。まず、前処理で各々の領域の重心を求める(ステップS1)。
【0038】
このステップS1における前処理について、図7のフローチャートを用いて説明する。
画像データ取り込み部101は、カメラ120により撮像された画像を取得する(画像取得工程:ステップS101)。
画像データ取り込み部101は、取り込んだ画像を二値化部102と二値化閾値設定部103に出力する。二値化閾値設定部103は、画像データ取り込み部101から受け取った画像に基づき、二値化するための閾値を、例えば大津の方法で求める(二値化閾値設定工程:ステップS102)。
次に、二値化部102は、画像データ取り込み部101から受け取った画像を二値化閾値設定部103で求められた閾値を用いて二値化する(画像二値化工程(二値化工程):ステップS103)。
二値化部102は、二値化された画像情報を領域ラベリング部104に出力する。
次に、領域ラベリング部104は、この二値化部102から受け取った二値化された画像情報から、領域のラベリングを行う(領域ラベリング工程(ラベリング工程):ステップS104)。また、領域ラベリング部104は、ラベリングされた情報を領域重心取得部105に出力する。
次に、領域重心取得部105は、領域ラベリング部104から受け取ったラベリングされた情報から各ラベル領域(ラベリングされた各構成要素の各領域)の各重心の座標を求める(領域重心取得工程:ステップS105)。領域重心取得部105は、求められた各ラベル領域の各重心の座標を領域重心の多重度取得部106に出力する。
以上で、前処理を終了する。
【0039】
図6に戻り、領域重心の多重度取得部106とマーカー判定部107は、全ての未処理領域の処理が終了したか判定する(ステップS2)。未処理領域の処理とは、領域重心の多重度取得部106による全てのラベリングされた領域の組み合わせの多重度の取得、およびマーカー判定部107による全ての領域の組み合わせのマーカー判定が完了しているか否かである。
ステップS2で、全ての未処理領域の処理が終了していないと判定された場合(ステップS2;No)、領域重心の多重度取得部106はマーカー候補領域リスト記憶部108に記憶されているマーカー候補領域のリストのデータを削除して空にする(ステップS3)。
次に、領域重心の多重度取得部106は、領域重心取得部105から受け取った各ラベル領域の各重心の座標から未処理の第1領域を1つ選択する(ステップS4)。
次に、領域重心の多重度取得部106は、選択された未処理の第1領域をマーカー候補領域リスト記憶部108のリストに追加する(ステップS5)。すなわち、マーカー候補領域リストとは、領域重心の多重度取得部106により選択されたラベリングされた領域情報であり、マーカー判定部107によりマーカーか否かの判定を行うマーカーの候補のリストである。
次に、領域重心の多重度取得部106は、領域重心の多重度取得部106内の多重度記憶部に記憶されている多重度を1にリセットする(ステップS6)。
【0040】
次に、領域重心の多重度取得部106は、全ての未処理領域の処理が終了したか判定する(ステップS7)。
ステップS7で、全ての未処理領域の処理が終了していないと判定された場合(ステップS7;No)、領域重心の多重度取得部106は、ステップS4で選択された未処理の第1領域以外の1つの未処理の第2領域を選択する(ステップS8)。
次に、領域重心の多重度取得部106は、ステップS4で選択された未処理の第1領域とステップS8で選択された未処理の第2領域の重心座標を比較する。また、領域重心の多重度取得部106は、重心座標を比較した結果、未処理の第1領域と未処理の第2領域の重心座標が、予め定められている誤差範囲内で一致するか否かを判定する(ステップS9)。この予め定められている誤差範囲は、例えば撮像するカメラ120の焦点距離や、マーカー生成時の重心位置精度、マーカーをプリントするプリンタの解像度等に基づいて決められている値である。
ステップS9で、未処理の第1領域と未処理の第2領域の重心座標が、予め定められている誤差範囲内で一致すると判定された場合(ステップS9;Yes)、領域重心の多重度取得部106は、重心の多重度に1を加算し(ステップS10)、領域重心の多重度取得部106が備える多重度記憶部に記憶する(ステップS11)。
また、領域重心の多重度取得部106は、マーカー候補領域リスト記憶部108に未処理の第2領域の重心座標と多重度を記憶する。
ここでは、図10のように、ラベル番号、重心座標、および重心の多重度が関連付けられて記憶されている。
一方、ステップS9で、未処理の第1領域と未処理の第2領域の重心座標が、予め定められている誤差範囲内で一致しないと判定された場合(ステップS9;No)、領域重心の多重度取得部106はステップS7の処理に戻す。
なお、ステップS7〜S11は、重心位置多重度取得工程(領域重心の多重度取得工程)である。
【0041】
ステップS7で、全ての未処理領域の処理が終了していると判定された場合(ステップS7;Yes)、マーカー判定部107は、マーカー候補領域リスト記憶部108に記憶されている未処理の第1領域と未処理の第2領域のマーカー候補領域について、各候補領域の重心の多重度が所定値、例えば3以上であるか否かを判定する(ステップS12)。ステップS12で、各候補領域の重心の多重度が所定値以上であると判定された場合(ステップS12;Yes)、マーカー判定部107は、未処理の第1領域と未処理の第2領域の組み合わせを処理済みにする(ステップS13)。
一方、ステップS12で、各候補領域の重心の多重度が所定値以上でないと判定された場合(ステップS12;No)、マーカー判定部107はステップS2に戻す。
次に、マーカー判定部107は、重心の多重度が所定値以上のマーカー候補をマーカーと判定して、マーカー位置出力部109に出力する(ステップS14)。
なお、ステップS12〜S14は、マーカー判定工程である。
【0042】
上記ステップS2〜S14を繰り返し、全てのラベリングされた領域の組み合わせの多重度を求めて、さらに求められた多重度に基づいてマーカーか否かを判定する。
マーカー位置出力部109は、マーカー判定部107からマーカーと判定されたマーカー情報が入力される。また、マーカー位置出力部109は、受け取ったマーカー情報に基づき画像表示装置に表示する画像データを生成し、生成された画像情報を画像表示装置121に出力する。
ここでは、図9のように、マーカーと判定された重心座標と、その重心の多重度と、重心が重なっている領域情報であるラベル名などが関連付けられて出力される。
以上の処理により、マーカー処理は終了する。
なお、マーカーの検出は、2つの領域を比較する毎に行う方法について説明したが、これに限られず、領域重心の多重度取得部106が先に全ての領域の組み合わせについて比較を行い、比較の結果により順次、多重値を求める。さらに、全ての多重値が求まった後に、マーカー判定部107がマーカーを判定するようにしても良い。
【0043】
次に、マーカー処理の具体的な例を、図11〜13を用いて説明する。図11は、第1の実施形態における入力画像を二値化した画像の一例を示す図である。図12は、第1の実施形態におけるラベリング処理を説明する図である。図13は、第1の実施形態における同一ラベルを持つ領域の重心を求めた結果の一例を示す図である。
カメラ120で取得された画像をマーカー処理の過程を説明するために簡略化し、二値化部102で二値化された画像が図11である場合について説明する。
領域ラベリング部104は、二値化部102で二値化された画像情報を図12のように構成要素10〜21にラベリングする。なお、ここでは、構成要素10が背景としてラベリングされる場合について説明する。
次に、領域重心取得部105は、領域ラベリング部104でラベリングされた各ラベルの重心座標を取得する。図13のように、領域重心取得部105により取得された各ラベルの重心は座標30〜41に対応している。図13において、座標30はラベル10の重心座標、座標31はラベル11の重心座標のように対応している。なお、図13において重心は、バツ(×)印で表している。
【0044】
次に領域重心の多重度取得部106は、領域重心取得部105で取得された重心座標を順次比較して、重心が重なっている座標(誤差範囲内で重心が一致する座標)の多重度を算出していく。図13において、領域重心の多重度取得部106は、ラベル10〜21の重心座標30〜41を順次比較していく。図11と図13において、ラベル11〜13の重心座標31〜33は、お互いに一致すると判定され多重度=3である。また、ラベル18〜21の重心座標38〜41は、お互いに一致すると判定され多重度=4である。一方、ラベル10、14〜17の各重心座標30、34〜37は一致する座標がないため多重度=1である。
次に、マーカー判定部107は、マーカー候補領域リスト記憶部108に記憶されているマーカー候補領域の各候補について、各候補領域の重心の多重度が所定値、例えば3以上であるか否かを判定する。図13において、マーカー判定部107は、重心の多重度が3以上の領域、すなわち、ラベル11〜13(重心31〜33、重心の多重度=3)とラベル18〜21(重心38〜41、重心の多重度=4)の2箇所をマーカーと判定する。
また、マーカー判定部107は、マーカーと判定された領域の重心座標(マーカーのX座標,Y座標)、重心の多重度(マーカー多重度)、およびマーカーの構成要素に付与されたラベル番号を関連付けてマーカー位置出力部109に出力する。
以上のマーカー処理により、撮像された画像は、マーカーとマーカーではない図形に分離される。ここでは、図12において、ラベル11〜13、およびラベル18〜21はマーカーであり、ラベル10、14〜17はマーカー以外である。
【0045】
次に、第1の実施形態によるマーカー、およびマーカー処理方法がマーカーの回転や傾き、そして大きさ(拡大、縮小)の影響を受けないことを図14と図15を用いて説明する。図14は、マーカー検出において姿勢に依存しないことを説明する図である。図15は、マーカー検出において大きさに依存しないことを説明する図である。
図14(a)はマーカーに傾きがない例の図であり、図14(b)と(c)はマーカーが傾いている(回転している)例の図である。図15(a)〜(c)は、マーカーの大きさが拡大、縮小されて大きさが変化した場合の一例を示す図である。図14と図15のように、マーカーが回転、傾いていても、あるいはマーカーが拡大、縮小して大きさが変化しても、第1の実施形態によるマーカー処理によれば、マーカーの重心座標という点の情報を取得して、重心座標の重なりからマーカー判定を行うため、マーカー検出の際にマーカーの姿勢(位置、回転、傾き)、及びマーカーの大きさに依存しない。
【0046】
次に、第1の実施形態における他のマーカーの例を、図16(a)〜(f)、図17(a)〜(f)、図18(a)〜(d)に示す。
図16は、第1の実施形態における他のマーカーを示す図である。図16において(a)〜(f)は、重心が4重のマーカーの一例を示す図である。なお、図16において重心は、バツ(×)印で表している。図16のように、第1の実施形態におけるマーカー処理方法によれば多様なマーカーが生成できる。
第1の実施形態において、マーカー、およびマーカー処理の条件は、所定の構成要素の領域(ラベル)の重心が重なっていることのみなので、領域以外の空間に冗長な要素を埋め込んでも同様の効果が得られる。このため、マーカーに冗長な要素を埋め込んだ例を図17に示す。図17は、冗長部分を含むマーカーの一例を示す図である。図17のように、図17(a)と(e)は重心が4重の例であり、図17(b)、(c)、および(f)は重心が3重の例であり、図17(d)は重心が5重の例である。また、図17において、51〜72は、それぞれマーカーの構成要素である領域を表している。例えば、図17(a)において、構成要素の領域は51〜54であり、この4つの領域の重心は一箇所で一致している(多重度=4)。
また、図18(a)〜(d)は、手書きによるマーカーの一例を示す図である。図18のように、重心が所定の誤差範囲に入る、もしくは手書きマーカーの重心の誤差が収まる範囲に重心の誤差を設定することで、第1の実施形態によれば、手書きのマーカーの場合でも同様にマーカー処理が行える。
【0047】
以上のように、第1の実施形態によれば、撮像された画像を二値化部102が二値化して、二値化された画像情報から領域ラベリング部104がラベリングを行い、ラベリングされた各領域の重心(図心でも可)を領域重心取得部105が求める。次に、領域重心の多重度取得部106が求められた各ラベルを持つ領域の重心を比較し、重心の重なり具合である多重度を求める。さらに、マーカー判定部107が、求められた多重度が所定の値以上か否かによりマーカー判定を行う。このため、マーカーの姿勢(位置、回転、傾き)、およびマーカーの大きさに依存しないマーカーを提供、およびマーカー処理を行うことが可能になる。
【0048】
[第2実施形態]
次に、第2の実施形態について、図19〜23を用いて説明する。第1の実施形態では、領域ラベリング部104でラベリングされた領域について、各領域の重心の重なり度である多重度を用いてマーカー判定を行った。第2の実施形態では、領域ラベリング部104でラベリングされた領域について、さらにマーカーの種別の識別を行う。
図19は、第2の実施形態におけるマーカー処理装置の構成の一例を示すブロック図である。マーカー処理装置100Aは、画像データ取り込み部101と、二値化部102と、二値化閾値設定部103と、領域ラベリング部104と、領域重心取得部105と、領域重心の多重度取得部106と、マーカー判定部107と、マーカー候補領域リスト記憶部108と、マーカー種別識別部201と、マーカー位置・種別出力部202から構成されている。また、マーカー処理装置100Aは、カメラ120が撮像した画像が入力される。
またマーカー処理装置100Aは、検出されたマーカー情報を画像表示装置121に出力する。第1の実施形態との違いは、マーカー種別識別部201と、マーカー位置・種別出力部202である。この図において、図4の各部に対応する部分に同様の符号を付し、その説明を省略する。
【0049】
マーカー種別識別部201は、領域ラベリング部104からラベリング処理において得られた各領域の情報を受ける。
図21は、領域ラベリング部104のラベリング処理で得られた情報の一例を示す図である。図21のように、領域ラベリング部104のラベリング処理により、ラベリングされた全てのラベル番号と、各領域のラベルの重心座標、各領域のラベルの面積と、各領域のラベルの最大X座標と、各領域のラベルの最大Y座標と、各領域のラベルの最小X座標と、各領域のラベルの最小Y座標が得られる。なお、重心は図心であっても良い。
また、マーカー種別識別部201は、領域ラベリング部104から受けた領域情報を用いて、各領域の大きさの比、もしくは領域の面積の比によりマーカーの識別を行う。ラベルの領域の面積は、取得された画像において、例えば同じラベルを持つピクセルの合計にあたる。また、同じラベルを持つ全てのピクセルの座標値について、順次、最大値と最小値を比較していくことで、ラベルにおける座標の最大値と最小値が求められる。これら、座標の最大値、最小値、および同じラベルを持つピクセル数を用いて、各ラベルの面積を演算により求める。
マーカー判定部107は、まず、領域重心の多重度取得部106で取得された多重度からマーカー判定を行う。
マーカー種別識別部201は、マーカー判定部107でマーカーと判定された情報について、各マーカーの多重度、もしくは各マーカーの各領域の面積比、あるいは大きさの比の少なくとも1つを用いてマーカーの種別を識別する。
また、マーカー種別識別部201は、判定・識別されたマーカー情報をマーカー位置・種別出力部202に出力する。
【0050】
マーカー位置・種別出力部202は、マーカー種別識別部201から識別されたマーカーの位置情報、マーカーの種別情報、多重度、およびマーカーを構成するラベル番号等が入力され、受け取ったマーカー情報に基づき画像表示装置に表示する情報を生成して画像表示装置121に出力する。
【0051】
図22は、マーカーの多重度の違いによりマーカーを識別する例を説明する図である。
図22において、図22の(a)〜(d)は多重度=3のマーカーの一例であり、図22の(e)〜(h)は多重度=4のマーカーの一例であり、図22の(i)〜(l)は多重度=5のマーカーの一例である。例えば、識別したい検出物体が3個あった場合に、多重度の異なるマーカーを貼っておけば、それぞれのマーカーを多重度の相違に基づいて識別できるため、マーカーが貼られている検出物体の位置や予めマーカーと関連付けられている検出物体の種類も識別できる(例えば、マーカー処理装置100Aが、予めマーカーが貼られる検出物体の種類をマーカーに関連づけて記憶しておく)。また、検出物体とマーカーが関連付けられていない場合でも、取得された画像から、多重度の異なるマーカーを識別し、その位置を求めることができる。
【0052】
図23は、マーカーの領域面積比、領域の大きさ比でマーカー種別を識別する例を説明する図である。図23において、(a)〜(l)はすべて多重度=3のマーカーの例である。例えば、図23の(d)、(h)、および(l)は、マーカーの大きさは3つのマーカーともに同一だが、各ラベルの領域面積の大きさが異なっている。このため、図23(d)、(h)、および(l)のマーカーは、領域間の面積を比較することで種別できる。同様に、他のマーカーにおいても、各領域の面積の比や、大きさの比を比較することで、各々のマーカーを識別することが可能である。
【0053】
次に、第2の実施形態におけるマーカー処理方法を図20のフローチャートを用いて説明する。なお、第1の実施形態と同じ動作については説明を省略する。図20において、ステップS201〜ステップS207は、第1の実施形態のステップS1(ステップS101〜ステップS105)〜S14の処理と同一である。
次に、マーカー種別識別部201は、マーカー判定部107から判定されたマーカー情報と、領域ラベリング部104から領域のラベリングされた情報が入力される。また、マーカー種別識別部201は、受け取ったマーカー判定部107により判定されたマーカー情報と、領域ラベリング部104によりラベリングされた領域のラベリングされた情報を用いて、マーカーの多重度、マーカーの各領域の面積比、あるいはマーカーの各領域の大きさの比のうち少なくとも1つによりマーカーを識別する(マーカー種別識別工程:ステップS208)。
次に、マーカー種別識別部201は、識別されたマーカー情報(マーカーの重心座標、マーカーを構成するラベル番号、多重度、およびマーカー種別)をマーカー位置・種別出力部202に出力する(マーカー位置・種別出力工程:ステップS209)。
以上により、第2の実施形態によるマーカー処理を終了する。
【0054】
以上のように、第2の実施形態によれば、撮像された画像を二値化部102が二値化して、二値化された画像情報から領域ラベリング部104がラベリングを行い、ラベリングされた各領域の重心を領域重心取得部105が求める。次に、領域重心の多重度取得部106により求められた各ラベルを持つ領域の重心を比較し、重心の重なり具合である多重度を求める。さらに、マーカー判定部107が、求められた多重度が所定の値以上か否かによりマーカー判定を行う。さらに、マーカー種別識別部201は、領域ラベリング部104でラベリング処理時に生成された情報と、領域重心の多重度取得部106により求められた多重度、およびマーカー判定部107により判定されたマーカー情報を用いてマーカーを識別する。
また、第2の実施形態によれば、マーカーである領域の重心、あるいは面としての情報を用いているために、ノイズ成分が積分により低減または平均化されることが期待され、耐ノイズ性が従来技術によるマーカー、およびマーカー処理方法より高い。
このように、第2の実施形態によれば、マーカーの重心(図心でも可)の多重度、マーカーの各領域の面積比、あるいは各領域の大きさの比によりマーカーを識別するようにしたので、マーカーの姿勢(位置、回転、傾き)、およびマーカーの大きさに依存せず、さらに撮像された画像中のノイズに対しても十分な耐性を備えるマーカーの提供、およびマーカー処理を行うことが可能になる。
【0055】
[第3実施形態]
次に、第3の実施形態について、図24〜図27を用いて説明する。第3の実施形態は、付加情報を埋め込めこんだマーカーの生成方法に関するものである。第1の実施形態の図17でも説明したように、本発明におけるマーカー、マーカー処理方法、およびマーカー処理装置は、所定の要素の領域(ラベル)の重心が重なっていることのみなので、領域以外の空間に冗長な要素を埋め込んでも同様の効果が得られる。
【0056】
マーカーに冗長な情報を埋め込む方法の例について、図24〜図26を用いて説明する。
図24は、マーカーに付加的な情報を埋め込む処理のフローチャートである。図25は、保護領域付加マーカー作成の方法を説明する図である。図26は、マーカーへの付加データ方法を説明する図である。以下のマーカー生成、およびマーカーに付加情報を埋め込む処理は、例えばコンピュータにより行われ、具体的には、CPU(中央演算装置)に接続されたROM(Read Only Memory)、HDD(Hard Disk Drive)もしくはUSB(Universal Serial Bus) I/Fを介して接続されるUSBメモリー等の記憶装置に保存されているプログラムにより実行する。
まず、図24と25において、コンピュータは、自身に設けられているマーカー要素領域記憶部からマーカー要素領域を読み出す(ステップS301)。
次に、コンピュータは、マーカー要素領域記憶部から読み出されたマーカー要素領域の中から、マーカー生成に用いるマーカー要素領域を選択する(マーカー要素領域選択工程:ステップS302)。マーカー構成要素は、マーカーの生成を行うコンピュータによりランダム、あるいは予め定められた選択基準に基づいて選択され、例えば、図25(b)と(d)が選択される。
【0057】
次に、図25(e)のように、コンピュータは、選択されたマーカー要素領域について、必要に応じて拡大、縮小、回転処理を単独あるいは組み合わせて行う。(マーカー要素領域変形工程:ステップS303)。例えば、図25において、コンピュータにより、選択された要素領域(b)は拡大による変形処理が行われ、選択されたマーカー要素領域(d)は、縮小、および縮小と回転処理による変形が行われる。また、マーカー領域の大きさは、埋め込まれる付加情報、例えば、二次元コードにおけるデータ欠落時の補正が可能な範囲になるように、マーカー、およびマーカーの保護領域を設定するようにしても良い。マーカーの保護領域とは、埋め込まれる画像を配置しない領域である。
次に、ステップS303で変形された各マーカー要素領域について、コンピュータは、最小領域幅の検出を行う(最小領域幅検出工程:ステップS304)。これは、マーカー要素領域に付加情報を埋め込む際に、マーカー要素を埋め込んだ付加情報から分離し、保護するためのガードであり、この最小領域幅は、例えばカメラ120の解像度や、マーカーを印刷する際に用いるプリンタの解像度、および生成しようとしているマーカーの大きさ等に基づいて設定されている領域幅である。
次に、図25(f)のように、コンピュータは、ステップS304で検出された最小領域幅を、ステップS303で変形させた各マーカー要素領域に重畳する(保護領域重畳工程:ステップS305)。
【0058】
次に、図25(g)のように、コンピュータは、ステップS305で保護領域が重畳されたマーカー要素領域を、重心(図心でも可)の座標が一致するように合成して保護領域付きマーカーを配置する(保護領域付きマーカー配置工程:ステップS306)。
次に、図24、26において、コンピュータは、マーカーに埋め込むデータを取得する(埋め込みデータ取得工程:ステップS307)。埋め込むデータは、例えば、ROM、HDDもしくはUSB I/Fを介して接続されるUSBメモリー等の記憶装置に記憶されているデータを読み出すか、USBメモリーやネットワーク経由等で取得するようにしても良い。
次に、図26(a)のように、コンピュータは、ステップS307で取得された埋め込むデータを用いて、冗長化データを生成する(冗長化データ生成工程:ステップS308)。冗長化データ生成は、例えば、予め定められた方法、例えば一般的な二次元コードの生成方法を用いる。
【0059】
次に、コンピュータは、ステップS306で配置された保護領域付きマーカーに、ステップS308で生成された冗長化データを重畳し、冗長化データを埋め込んだマーカーを生成する(保護領域付きマーカー重畳工程:ステップS309)。例えば、コンピュータは、図26(b)(図25(g)と同一)の保護領域付きマーカーに、図26(a)の冗長化データを重畳し、図26(c)の冗長化データを埋め込んだマーカーを生成する。
次に、コンピュータは、ステップS308で生成された冗長化データを埋め込んだマーカーから、保護領域を削除し、マーカー生成を行い、例えばROM、HDDもしくはUSB I/Fを介して接続されるUSBメモリー等の記憶装置、もしくはコンピュータに接続されているプリンタ装置へ出力する(マーカー出力工程:ステップS310)。
以上により、付加データを埋め込んだマーカーの生成を終了する。
【0060】
次に、マーカーに付加データを埋め込んだ例を、図27を用いて説明する。図27は、マーカーの付加データを埋め込める領域、および実際に付加データを埋め込んだ一例を示す図である。図27(a)は多重度=3のマーカーの例を示す図であり、図27(b)は図27(a)のマーカーに付加データを埋め込んだ一例を示す図である。同様に、図27(c)は多重度=3のマーカーの例を示す図であり、図27(d)は図27(c)のマーカーに付加データを埋め込んだ一例を示す図である。図27(e)は多重度=4のマーカーであり、付加データである任意のデータ範囲の一例を示す図である。
【0061】
以上のように、第3の実施形態によれば、生成しようとしているマーカーに保護領域を設けて付加データを重畳するようにしたので、マーカー検出処理に影響を与えない付加データを配置できる範囲に、マーカーに付加データを埋め込こむことが可能になる。このように、本発明によるマーカー処理方法とマーカーを用いた場合、第1の実施形態、第2の実施形態で示したように、多様なマーカーを生成できる上、第3の実施形態で説明した方法を用いて、付加情報を埋め込むことも可能であり、応用、実用範囲が広い。
【0062】
また、第3の実施形態によれば、付加データを表す図形を、マーカーの構成要素を取り囲むように配置したマーカーを生成することができる。
【0063】
なお、第3の実施形態について、マーカーおよびマーカーへの付加情報の埋め込みは、コンピュータを用いて生成する方法について説明したが、図24〜27の各工程の処理を行う機能を備えたマーカー生成装置で行っても良い。
【0064】
[第4実施形態]
次に、第4の実施形態について、図28を用いて説明する。第4の実施形態は、第3の実施形態の方法により生成されたマーカーを備える物体に関するものである。図28は、本実施形態に係るマーカーを備える物体の一例を示す図である。図28(a)は、ドライバー301にマーカー302を付けた例の図であり、図28(b)は、スパナ311にマーカー312を付けた例の図である。物体が備えるマーカーは、多重度が異なるものでもよく、第2の実施形態で説明した各領域の大きさの比、もしくは領域の面積の比が異なるものでもよい。そして、予めマーカー302とマーカー312にドライバー301とスパナ311を関連づけてマーカー処理装置に記憶しておくことにより、マーカーの識別を行うことで物体を識別できる。
マーカーの識別は、第1の実施形態の方法により、全てのラベリングされた領域の組み合わせの多重度を求めて、さらに求められた多重度に基づいてマーカーか否かを判定する。また、第2の実施形態の方法により、各領域の大きさの比、もしくは領域の面積の比によりマーカーの識別を行う。また、図5のように、撮像された画像中に複数のマーカーを備える物体がある場合においても、そして、物体の配置によりマーカーが回転していても拡大縮小されていても精度良く識別することができる。また、マーカー302とマーカー312は、ドライバー301とスパナ311にシール等で貼っても良く、あるいは各物体に印刷しても良く、あるいは各物体の製造時に金型等で形成するようにしても良い。
【0065】
以上のように、第4の実施形態によれば、第3の実施形態の方法により生成されたマーカーを物体が備え、第1の実施形態および第2の実施形態の方法によりマーカーを識別するようにしたので、マーカーの姿勢や大きさに依存せず、さらにまた画像中のノイズに対して高い耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカーを備える物体を提供することができる。
【0066】
[第5実施形態]
次に、第5の実施形態について、図29を用いて説明する。第5の実施形態は、マーカーを備える物体の他の実施形態に関するものである。図29は、本実施形態に係るマーカーを備える物体の一例を示す図である。図29において、物体(本、または雑誌など)321は、ページ内にマーカー322が印刷されている。マーカー322は、第3の実施形態で生成された付加情報が埋め込まれたものである。マーカー処理装置は、予めマーカーが付けられたページに関連した記事や広告が載っているインターネット上のurl(Uniform Resource Locator)アドレス等を登録しておく。そして、マーカー処理装置は、第1の実施形態の方法により、全てのラベリングされた領域の組み合わせの多重度を求めて、さらに求められた多重度に基づいてマーカーか否かを判定する。また、第2の実施形態の方法により、各領域の大きさの比、もしくは領域の面積の比によりマーカーの識別を行う。さらに、マーカー処理装置は、二次元コードを読み取り、読み取った二次元コードに基づくurlアドレス等にアクセスして付加される情報に関連した記事や広告を表示する。
なお、物体321に付けたマーカーの例として付加情報が埋め込まれた場合を説明したが、例えば複数のマーカー毎に異なるインターネット上のurlアドレス等を関連づけてマーカー処理装置に登録する場合、ページに付けるマーカーは付加情報がないものでも良い。また、マーカーもしくはマーカーに埋め込まれた付加情報に関連づける情報は、urlアドレスに限られず、他の情報でも良く、例えば、画像や文字情報などに直接関連づけるようにしても良い。
【0067】
以上のように、第5の実施形態によれば、第3の実施形態の方法により生成されたマーカーを物体に付け、第1の実施形態および第2の実施形態の方法によりマーカーを識別し、さらに物体に付けられたマーカーもしくはマーカーに埋め込まれた付加情報に関連づけてurlアドレス等を予めマーカー処理装置に登録し、登録されているマーカーもしくはマーカーに埋め込まれた付加情報に関連づけられている情報に基づき情報を読み出して表示等するようにしたので、マーカーの姿勢や大きさに依存せず、さらにまた画像中のノイズに対して高い耐性があり、かつ色相情報によらず白黒画像を用いてマーカー検出処理量を軽減するマーカーを備える物体を提供することができる。
【0068】
さらにまた、第1の実施形態〜第5の実施形態において、マーカーは白黒のパターンを用いる例について説明したが、撮像された画像が白黒のパターンと同等にコントラストが得られる範囲でのグレースケールであっても良く、また色相の組合せであっても良い。
【0069】
さらにまた、第1の実施形態〜第5の実施形態において、マーカーは円、四角形、線などを用いた例について説明したが、これに限られず、多角形、曲線で囲まれた形など、領域として面積や重心を備え、かつそれらの重心座標が、所定の誤差範囲であれば良い。
【0070】
なお、第1の実施形態の図4、および第2の実施形態の図19の機能の全て、もしくは一部を、マーカー処理装置の図示しないCPUに接続されたROM、HDDもしくはUSB I/Fを介して接続されるUSBメモリー等の記憶装置に保存されているプログラムにより実行することも可能である。
【符号の説明】
【0071】
100・・・マーカー処理装置
101・・・画像データ取り込み部
102・・・二値化部
103・・・二値化閾値設定部
104・・・領域ラベリング部
105・・・領域重心取得部
106・・・領域重心の多重度取得部
107・・・マーカー判定部
108・・・マーカー候補領域リスト記憶部
109・・・マーカー位置出力部
201・・・マーカー種別識別部
202・・・マーカー位置・種別出力部
【特許請求の範囲】
【請求項1】
撮像された画像を二値化する二値化工程と、
前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、
前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、
前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、
前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程と、
を備えることを特徴とするマーカー処理方法。
【請求項2】
前記マーカー判定工程で検出されたマーカーを、前記領域重心の多重度取得工程で求められた領域重心の重なり度、前記マーカーの前記各領域の面積比、あるいは前記マーカーの前記各領域の大きさの比の少なくとも1つを用いて前記マーカーの種別を識別するマーカー種別識別工程と、
をさらに備えることを特徴とする請求項1に記載のマーカー処理方法。
【請求項3】
前記マーカー判定工程は、領域重心の重なり度が3以上の場合にマーカーとして検出することを特徴とする請求項1または請求項2に記載のマーカー処理方法。
【請求項4】
前記マーカーは、
重心を共通にする少なくとも3個以上の図形
を備えることを特徴とする請求項1から請求項3のいずれか1項に記載のマーカー処理方法。
【請求項5】
撮像された画像を二値化する二値化部と、
前記二値化部で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング部と、
前記ラベリング部でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得部と、
前記領域重心取得部で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得部と、
前記領域重心の多重度取得部で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定部と、
を備えることを特徴とするマーカー処理装置。
【請求項6】
重心を共通にする少なくとも3個以上の図形
を備えることを特徴とするマーカー。
【請求項7】
付加情報、
をさらに備えることを特徴とする請求項6に記載のマーカー。
【請求項8】
前記付加情報は、デジタルデータである
ことを特徴とする請求項7に記載のマーカー。
【請求項9】
請求項6から請求項8のいずれか1項に記載のマーカーを備える物体。
【請求項10】
コンピュータに、
撮像された画像を二値化する二値化工程と、
前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、
前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、
前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、
前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程と、
を実行させるためのマーカー処理プログラム。
【請求項1】
撮像された画像を二値化する二値化工程と、
前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、
前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、
前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、
前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程と、
を備えることを特徴とするマーカー処理方法。
【請求項2】
前記マーカー判定工程で検出されたマーカーを、前記領域重心の多重度取得工程で求められた領域重心の重なり度、前記マーカーの前記各領域の面積比、あるいは前記マーカーの前記各領域の大きさの比の少なくとも1つを用いて前記マーカーの種別を識別するマーカー種別識別工程と、
をさらに備えることを特徴とする請求項1に記載のマーカー処理方法。
【請求項3】
前記マーカー判定工程は、領域重心の重なり度が3以上の場合にマーカーとして検出することを特徴とする請求項1または請求項2に記載のマーカー処理方法。
【請求項4】
前記マーカーは、
重心を共通にする少なくとも3個以上の図形
を備えることを特徴とする請求項1から請求項3のいずれか1項に記載のマーカー処理方法。
【請求項5】
撮像された画像を二値化する二値化部と、
前記二値化部で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング部と、
前記ラベリング部でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得部と、
前記領域重心取得部で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得部と、
前記領域重心の多重度取得部で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定部と、
を備えることを特徴とするマーカー処理装置。
【請求項6】
重心を共通にする少なくとも3個以上の図形
を備えることを特徴とするマーカー。
【請求項7】
付加情報、
をさらに備えることを特徴とする請求項6に記載のマーカー。
【請求項8】
前記付加情報は、デジタルデータである
ことを特徴とする請求項7に記載のマーカー。
【請求項9】
請求項6から請求項8のいずれか1項に記載のマーカーを備える物体。
【請求項10】
コンピュータに、
撮像された画像を二値化する二値化工程と、
前記二値化工程で二値化された画像に基づいて、画像の構成要素を検出し、検出された構成要素にラベリング処理を行うラベリング工程と、
前記ラベリング工程でラベリング処理された各ラベルに対応する構成要素の領域重心を求める領域重心取得工程と、
前記領域重心取得工程で取得された各ラベルに対応する構成要素の領域重心の重なり度を求める領域重心の多重度取得工程と、
前記領域重心の多重度取得工程で取得された領域重心の重なり度に基づき、マーカーを検出するマーカー判定工程と、
を実行させるためのマーカー処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図18】
【公開番号】特開2011−216067(P2011−216067A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−149715(P2010−149715)
【出願日】平成22年6月30日(2010.6.30)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願日】平成22年6月30日(2010.6.30)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]