JP4904755B2 - 画像識別用タグおよび画像識別システム - Google Patents

画像識別用タグおよび画像識別システム Download PDF

Info

Publication number
JP4904755B2
JP4904755B2 JP2005278345A JP2005278345A JP4904755B2 JP 4904755 B2 JP4904755 B2 JP 4904755B2 JP 2005278345 A JP2005278345 A JP 2005278345A JP 2005278345 A JP2005278345 A JP 2005278345A JP 4904755 B2 JP4904755 B2 JP 4904755B2
Authority
JP
Japan
Prior art keywords
tag
gradation
image
luminance
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005278345A
Other languages
English (en)
Other versions
JP2006252522A (ja
Inventor
賢一 萩原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2005278345A priority Critical patent/JP4904755B2/ja
Publication of JP2006252522A publication Critical patent/JP2006252522A/ja
Application granted granted Critical
Publication of JP4904755B2 publication Critical patent/JP4904755B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、対象物の位置等を画像処理によって認識するときにその対象物に付与される画像識別用タグおよびそれを利用した画像識別システムに関する。
従来から、自動化機械やロボットによる対象物の位置等の認識システムにおいては、予めその対象物の決められた位置に特定のタグを印刷等により付しておき、自動化機械等がその対象物の位置を認識する際には、カメラにより撮像された対象画像の中から特定のタグを識別し、その識別されたタグの対象画像内における相対的な位置等に基づいて対象物の位置情報を取得する、ということが行われていた。
また、製品等に印刷されたバーコード等の情報を読み取る際には、作業員がバーコードの位置を把握してそれに読み取り機器を向けているが、その作業効率を上げるために、予めバーコードに対して相対的に決まった位置に特定のタグを付しておき、そのタグを上記と同様に識別し、そしてバーコードの位置を自動的に認識してバーコードの情報を読み取るということが有効であると考えられている。
さらには、自動車の安全性を高めるために、道路や近隣車両等の所定部位に予め特定のタグを付しておき、そのタグを上記と同様に画像処理により識別し、道路の形状や近隣車両の存在等を認識するというシステムもある。
このような種々のシステムを実施するためには、特定のタグの画像を識別装置側にテンプレートとして保存しておき、識別装置では、撮像した対象画像全体の中から部分的な画像を部分画像として順次切り出し、その部分画像毎にテンプレートと照合し、両者が一致した場合にタグを識別したという処理(テンプレートマッチング法)を実行することになる(例えば、特許文献1参照)。
そして、従来の画像識別システムにあっては、カメラで撮像した対象画像を、直接テンプレート画像と照合するというのが一般的であった。しかしながら、そのように直接照合する方法では、撮像時の状態によっては、対象画像の中で識別すべきタグの画像が、テンプレート画像とは厳密には一致しなくなり、照合が行えず、タグが検出できない可能性が比較的高いという問題点がある。例えば、撮像時の照明の状態により、対象画像の輝度が変動してしまうからである。
なお、産業界での利用実績が比較的高い「正規化相関法」を適用したとしても、計算コストが高いという問題があり、しかも、一様な照明変動には対応可能であるが、局所的な照明不良(陰影やハイライト等の発生)や部分的な遮蔽には対応不可能である。
一方、非特許文献1、2に記載されるような「方向符号法」も公知である。即ち、「方向符号法」によれば、局所的及び大域的な照明変動にも対応可能であり、部分的な遮蔽にも対応可能である。但し、処理の一層の高速化が求められる。
その他、上記テンプレートマッチング法にあっては、カメラと撮像対象との相対位置が固定されていない場合には、識別すべきタグとカメラとの距離によりタグ画像の大きさが変動する、カメラの回転によりタグ画像の回転角度が変動する、識別すべきタグとカメラとの方向によりタグ画像に視覚歪が発生する、等々のために、テンプレート画像との照合が行えずタグが検出できない可能性が比較的高いという欠点もある。
さらには、対象物の位置のみではなく、対象物(固体)自体を識別するために、個体毎に特定の識別コードを付け、個別処理を施したり個別に情報を管理したりすることは、産業分野や社会生活において広く行われている。具体例としては、
(1)物流システムや在庫管理システムでは、個々の製品や部品に識別コードを付け、その識別コードを読み取ることにより、製品毎に搬送先を仕分けたり、部品の有無・在庫場所・生産加工履歴などを管理したりしている。
(2)自動化機械やロボットは、対象物の位置と種別などを認識するために特定の識別コードを保持したタグを画像の中から識別している。
(3)薬品などに識別コードを付け、その識別コードを読み取ることにより、投薬ミスを防止している。
(4)家畜や農作物に識別コードを付け、個々の産地・行動範囲・加工過程などを管理してトレーサビリティを確保している。
(5)製品や文書などに印刷されたバーコードなどの識別コードを読み取り、インターネットなどを介して追加情報にアクセスしている。
以上のように、機器部品や製品、牛馬などの家畜、農作物、薬品、カルテ等の文書など個体を識別するために、識別コードが広く使用されている。この識別コードの代表的なものを以下に挙げる。
(1)バーコードによる識別コード
・1次元または2次元の2値パターン(白と黒)として識別コードを表現している。
・読み取り機をバーコードに近付けて、識別コードを読み取る。
(2)特定パターンによる識別コード
・丸、三角、格子模様など特定の模様や標識で識別コードを表現している。
・カメラを模様に向けて、識別コードを読み取る。
(3)RFID(無線タグ)による識別コード
・メモリ内に識別コードを保持している。
・専用読み取り機をRFIDに近付け、識別コードを読み取る。
「実世界マシンビジョンのためのロバスト画像照合技術」金子俊一、T.IEEE Japan,Vol.121−C,No.5,2001 Orientation Code Matching for Robust Object Search,F.Ullah et al,IEICE Trans.Inf.&Syst.,Vol.E84−D,Aug,2001) 特開平8−7098号公報
上記テンプレートマッチング法を実施するためには、実際には、予め用意されたテンプレート画像だけではなく、そのテンプレート画像の拡大画像や縮小画像、或いは回転させた画像、幾何学的関数により変形させた画像等をもテンプレート画像として生成し、それら全てのテンプレート画像と対象画像から切り出した部分画像との照合を行うという対策が必要であった。
しかしながら、そのような対策には多大な計算コストが必要である。計算コストを削減するためには、例えば、テンプレートの上記のような変形画像を生成する際の変形パラメータ(拡大率、縮小率、回転の分解能等)の値を飛び飛びに設定するということも考えられるが、これでは、計算コストは低減するものの、充分な照合が行えずにタグの検出が行えない可能性が高くなってしまう。
また、固体識別用の識別コードを読み取るためには、一般に専用の読み取り機を識別コードに近付けその方向に正しく向ける必要がある。即ち、識別コードの位置は予め既知のものとしており、また読み取り機と識別コードが適正な位置関係を保つよう調整されるものとしている。しかし、多種多様な小包などを仕分けする物流ラインなどでは、必ずしも識別コードが読み取り機に正対して流れてくるとは限らない。このため、読み取りミスが発生するという問題がある。そのようなミスを防止するためには、小包を読み取り機に正対するよう整列させる必要があるが、そのための手間や追加設備のコストがかかるという新たな問題が発生する。家畜など動き回るものに付けた識別コードの読み取りも上記と同様の問題がある。また、自身が動き回る移動ロボットや搬送機器の場合も、壁や部品などに付けた目印としての識別コードを読み取る際に、同様の問題がある。光学的な処理に基づくバーコードや特定パターンによる識別コードの場合は、当該コードが読み取り範囲の大部分を占めるように読み取り機を識別コードに近付けなくてはならない。読み取り機が所定の距離範囲外に出ると、識別コードの読み取りができなくなるという問題がある。
更に、カメラによる識別コード撮像時の状態により、識別コードの読み取りに失敗するという問題がある。例えば、カメラ撮像時の照明の状態により、対象画像の輝度に変動が生じる。産業界での利用実績が多い「輝度閾値による2値化法」の場合、一様な照明変動や局所的な照明不良(陰影、ハイライトなど)に対応できず、識別コードの読み取りに失敗する。更にまた、カメラと撮像対象との相対位置が固定されていない場合には、識別コード画像に大きさや回転角度の変動や視覚歪が発生するために、読み取りに失敗するという問題がある。また、重なりや汚れなどによって識別コードの一部が遮蔽された場合には、識別コードの認識自体ができないという問題がある。
上記のような問題点に対処しようとすると、識別コード画像を正しく抽出するために輝度平均化や拡大・縮小・回転・変形などの事前処理が必要となり多大な計算コストを必要とするし、識別コードを明瞭な状態に維持するためのコストが必要になるという新たな問題が発生する。
電波に基づくRFIDの場合は、当該コードが発信する電波が、電波障害を受けずに届く範囲内に読み取り機を近付けなくてはならない。例えば、高電圧機器の付近など電波障害のある場所では使えないという問題がある。また、RFIDの設置位置を正確に検出できないという問題がある。
本発明は、このような従来の技術が有する問題点に着目してなされたものであって、カメラによる撮像時の照明状態やカメラと撮像対象との相対位置等の影響を受けずに識別することが可能な画像識別用タグおよびそれを用いた画像識別システムを提供することを目的としている。
上記課題を解決するために、請求項1に記載の発明は、対象物に付され画像処理により識別される画像識別用タグであって、撮像された場合の画像が円形を成し、この円の中心点を起点として半径方向に沿った輝度変化パターンが全半径方向で同一であり、且つ前記輝度変化パターンは、前記中心点から離れるに従って徐々に輝度が低くなる減少パターン及び徐々に輝度が高くなる増加パターンの何れか一方であって、さらに撮像された場合の円形の画像の半径方向に沿った輝度変化パターンには、識別コードに対応した信号パターンが埋め込まれ、当該信号パターンは前記半径方向に沿った輝度変化率で表されることを特徴とする画像識別用タグを提供する
求項に記載の発明は、請求項1記載の画像識別用タグにおいて、自タグ内の輝度値は、当該輝度値として設定可能な最大輝度よりも小さい値に設定された上限値と、前記輝度値として設定可能な最小輝度よりも大きい値に設定された下限値と、の範囲内にあることを特徴とする。
請求項に記載の発明は、請求項1または請求項2記載の画像識別用タグにおいて、光を透過させる球体で構成され、この球体内に吸光性と撥光性と発光性との何れか1の性質を有する粒子が所定の密度で分布していることを特徴とする。
請求項に記載の発明は、請求項1からの何れか1項に記載された画像識別用タグと、この画像識別用タグが付された対象物の画像を撮像可能な撮像手段と、この撮像手段が撮像した画像である対象画像から前記タグを識別するタグ識別手段と、を備えたことを特徴とする画像識別システムを提供する。
請求項に記載の発明は、請求項に記載の画像識別システムにおいて、前記タグ識別手段は、前記タグを識別可能な特徴情報を記憶しており、前記対象画像から前記特徴情報と比較可能な比較情報を取得し、この比較情報と前記特徴情報とを比較し、その比較結果に基づいて前記タグを識別することを特徴とする。
請求項に記載の発明は、請求項に記載の画像識別システムにおいて、前記タグ識別手段は、前記特徴情報を生成するのに用いた画像領域と同じ大きさの部分画像を前記対象画像から順次抽出し、この抽出された部分画像毎に前記比較情報を取得することを特徴とする。
請求項に記載の発明は、請求項又はに記載の画像識別システムにおいて、前記特徴情報及び前記比較情報は、画素毎の輝度の最大増加方向及び最大減少方向の何れか一方を表す方向符号であることを特徴とする。
請求項に記載の発明は、請求項に記載の画像識別システムにおいて、前記タグ識別手段は、前記対象画像の各画素毎に、その画素の輝度値と、それに隣接する他の画素の輝度値との差を演算し、その演算結果に基づいて各画素毎の前記比較情報としての前記方向符号を求めることを特徴とする。
請求項に記載の発明は、請求項からの何れか1項に記載の画像識別システムにおいて、前記タグ識別手段は、前記対象画像の各画素毎に輝度の最大増加方向及び最大減少方向の何れか一方を表す方向符号を計算し、その計算された方向符号に基づいてタグの候補領域を選択し、その選択されたタグの候補領域に対して前記比較を行うことを特徴とする。
請求項10に記載の発明は、請求項に記載の画像識別システムにおいて、前記タグの候補領域を選択する処理は、一の画素の方向符号とそれに隣接する他の画素の方向符号との差が所定しきい値以下である場合に、それら一の画素と他の画素とを同一のグループに分類するという分類処理を、前記対象画像全体に対して実行し、その分類処理の結果得られたグループのうち、予め定めた選出基準により選出されたグループの画像を前記タグの候補領域として選択する処理であることを特徴とする。
請求項11に記載の発明は、請求項から請求項10の何れか1項に記載の画像識別システムにおいて、前記タグ識別手段は、撮像された前記画像識別用タグの画像の、前記信号パターンが埋め込まれた方向である所定方向に沿った輝度変化パターンから、特定の信号パターンを抽出する信号パターン抽出手段と、前記信号パターン抽出手段により抽出された特定の信号パターンに基づいて前記画像識別用タグと対応付けられている識別コードを判別する識別コード判別手段とを備えることを特徴とする。
請求項12に記載の発明は、請求項11に記載の画像識別システムにおいて、前記特定の信号パターンは、前記所定方向に沿った輝度変化率の変化を表すグラフの形態であることを特徴とする。
請求項13に記載の発明は、請求項11に記載の画像識別システムにおいて、前記特定の信号パターンは、前記所定方向に沿った輝度変化率の変化を表すグラフに現れた波数であることを特徴とする。
請求項14に記載の発明は、請求項11に記載の画像識別システムにおいて、前記信号パターン抽出手段は、前記所定方向に沿った区間での輝度変化率に関する値と所定の閾値との比較結果に基づき、2値で表される特定の信号パターンを抽出することを特徴とする。
請求項15に記載の発明は、請求項11に記載の画像識別システムにおいて、前記信号パターン抽出手段は、前記所定方向に沿った区間での輝度変化率に関する値が所定の閾値の何倍かを示す値を特定の信号パターンとして抽出することを特徴とする。
請求項16に記載の発明は、請求項11に記載の画像識別システムにおいて、前記信号パターン抽出手段は、前記所定方向に沿った輝度変化率が所定の閾値を超えた巾で変化する点で区切られる区間の長さに関する比の値を特定の信号パターンとして抽出することを特徴とする
以上説明したように、本発明に係る画像識別用タグは、撮像された場合の画像が円形を成し、この円の中心点から半径方向に沿った輝度変化パターンが全半径方向で同一であるため、撮像される際の状況の変化の影響を受けにくく、また画像識別するために多数の変形テンプレートを用意する必要もなく単一のテンプレートで対応できるという効果がある。
また、画像識別用タグが撮像された場合の画像の円上の所定方向に沿った輝度変化パターンには、識別コードに対応した信号パターンが埋め込まれているため、画像識別用タグから信号パターンを抽出して識別コードを判別することができ、タグが付された対象物を一意に識別することが可能となる。
そして、本発明に係る画像識別システムは、撮像時の照明条件や画像識別用タグと撮像手段との相対位置関係に関係なく、画像識別用タグをより確実で高速に識別することができる。
以下、図を参照して、本発明の実施の形態について説明する。
(第1の実施の形態)
まず、本発明の第1の実施の形態について説明する。本実施の形態は、本発明に係る画像識別システムをバーコードリーダのシステムに適用したものである。
図1は、本発明の第1の実施の形態に係る画像識別システムの構成を示す図である。バーコードリーダ1は、倉庫の商品を管理する者が所持し、対象物としての商品10の包装等に印刷されているバーコード11から光学的に情報を読み取る装置であり、撮像手段としてのカメラ2と、このカメラ2が撮像した画像である対象画像が供給されるタグ識別手段としてのタグ識別装置3と、同じく対象画像が供給されるバーコード識別装置4と、を備えている。
カメラ2は、商品10の撮像が可能な撮像領域と所定画素数とを備えたディジタルカメラであり、連続した撮像処理(例えば、1秒間に24枚の撮像処理)が可能であって、撮影した各画像のデータである対象画像データDを、順次、タグ識別装置3とバーコード識別装置4とに供給するようになっている。
なお、タグ識別装置3及びバーコード識別装置4は、この実施の形態ではそれぞれ独立した装置として説明しているが、バーコードリーダ1のカメラ2以外の部分は実際にはコンピュータ及びそれにインストールされたソフトウェアによって実現されるものであり、タグ識別装置3及びバーコード識別装置4も実際にはソフトウェアであってもよい。
そして、タグ識別装置3は、その機能構成を示すブロック図である図2に示すように、一画面分の画像データである対象画像データDから、所定サイズの部分画像を順次抽出する部分画像抽出部31と、その抽出された部分画像毎に比較情報としての方向符号を演算する方向符号演算部32と、を備えている。
ここで、本実施の形態では、商品10の包装には、図3(a)又は(b)に示すような画像識別用のグラデーションタグ12が、バーコード11の一方の対角線上にある二つの角に近接した二箇所に印刷により付されている。
グラデーションタグ12は、その中心点Oを起点として、半径方向に沿った輝度変化パターンが全半径方向で同一になっている。なお、輝度変化パターンは、狭義の単調減少又は単調増加のパターンであればどのような変化パターンでも構わない。図3(a)の例であれば、図4(a)に示すように輝度値が直線的に減少するパターンであり、図3(b)の例であれば、図4(b)に示すように輝度値が直線的に増加するパターンである。その他、減少するパターンとしては、接線の傾きが負である曲線であればよく、図5(a)に示すように上に凸の曲線でもいいし、同(b)に示すように下に凸の曲線でもいいし、同(c)に示すようなS字曲線でもいいし、同(d)に示すようなS字を二つ合わせたような曲線でもいい。増加パターンの場合も同様に種々のパターンが採用可能である。
図2に戻って、タグ識別装置3は、グラデーションタグ12を識別可能な特徴情報としてのタグ方向符号33を記憶部33A に予め記憶している。
ここで、方向符号とは、例えば、図6に示すように、任意の画素P0を考えたとき、その画素P0に隣接して包囲する八つの画素P1〜P8の各輝度値と、画素P0の輝度値とをそれぞれ比較し、画素P0の輝度値からの増加(又は減少)幅が最も大きな方向を符号化してなる情報である。この場合であれば、紙面に向かって、右方向、斜め右上方向、上方向、斜め左上方向、左方向、斜め左下方向、下方向、斜め右下方向の8方向に、例えば、当該8方向に0〜7の番号を付すことで符号化してなる情報である。そして、この方向符号をグラデーションタグ12の元データ全体に対して求めてそれを2次元データとして保存したものが、タグ方向符号33となる。なお、ここでは画素P0に隣接する8つの画素に注目して8方向としたが、これに限定されることはなく、より多くの方向に、例えば周囲8つの画素の配置された方向それぞれの中間方向も含めて細分化し、この場合は各方向に0〜15の番号を付して、より詳細な符号化をしても構わない。
また、ここではタグ方向符号33をグラデーションタグ12の元データから生成する方法を説明したが、これに限定されることなく、所定の大きさのタグ方向符号33を直接計算して生成するようにしてもよい。このようにして生成したタグ方向符号33は、すべての方向符号(上記の例では0〜7)が円周方向に連続して一様に現れ、また同一の半径上ではすべて同一の方向符号となる特徴がある。
そして、タグ識別装置3の上記部分画像抽出部31は、タグ方向符号33を生成する際に用いた画像サイズと同じ大きさの部分画像を抽出するようになっており、上記方向符号演算部32は、抽出された部分画像に対してタグ方向符号33を生成する際と同様の手順で演算を行なって部分画像の方向符号を求めるようになっている。
さらに、タグ識別装置3は、タグ方向符号33と、部分画像から順次演算される方向符号とを比較して、両者が一致又は近似しているかを判定する方向符号比較部34と、この方向符号比較部34が比較した両者が一致又は近似していると判定した場合に、そのときの部分画像はグラデーションタグ12であると判定し、部分画像抽出部31の現在の抽出位置を認識することにより、対象画像データD中におけるグラデーションタグ12の中心座標を求めるタグ座標演算部35と、を備えている。タグ座標演算部35は、例えば、対象画像データDの左上を座標の原点(0,0)としてグラデーションタグ12の中心座標(x,y)を求めるようになっている。
なお、ここでは対象画像データDから部分画像を抽出し、その部分画像に対して方向符号を求める方法について説明したが、これに限定されることなく、対象画像データD全体に対して方向符号を求めておき、そこから部分画像に対応する方向符号を抽出して、方向符号比較部34に供給するようにしてもよい。
この実施の形態の場合、商品10の包装には二つのグラデーションタグ12が付されているから、タグ座標演算部35は、二つの中心座標(x1,y1),(x2,y2)を取得することになり、それら二つの中心座標(x1,y1),(x2,y2)を、バーコード識別装置4に供給するようになっている。
そして、バーコード識別装置4は、供給された二つの中心座標(x1,y1),(x2,y2)を結ぶ線分を対角線とする長方形の領域を指定し、この領域内の領域指定画像情報を対象画像データDから抽出する。なお、このとき必要ならカメラをズームして得られた拡大画像データから、より詳細な情報を抽出するようにしてもよい。この抽出された領域指定画像情報は、すなわちバーコード11に他ならず、そしてバーコード識別装置4は、自身の内部に予め記憶しているバーコード記載内容情報に基づいて、そのバーコード11に記載された内容情報を抽出し、これをバーコードリーダ1の外部にあるバーコード情報処理装置5に供給する。
そして、このバーコード情報処理装置5により、商品10の管理情報が表示部に表示されたり、商品10の在庫状況が管理されたりする。
なお、カメラ2が撮像対象に対して回転した場合でも、360度すべての方向に対して同じように変化する円形のパターンをグラデーションタグ12に持たせているので、タグ識別装置3の処理は影響を受けない。
また、カメラ2がグラデーションタグ12に接近又は遠ざかり、これによって撮像されるグラデーションタグ12の円形のパターンが拡大又は縮小しても、輝度が中心から360度すべての方向に対して同じように変化するという特徴は変わらず、その方向符号がタグ方向符号33と同じなのでグラデーションタグ12を識別することができ、タグ識別装置3の処理は影響を受けない。
また、グラデーションタグ12とカメラ2との方向により、撮像されたグラデーションタグ12の円形のパターンに視覚歪が発生しても(すなわち、グラデーションタグ12が撮影された場合の画像の円形が真円でなく、多少歪があったとしても)、輝度が中心から360度全ての方向に対して同じように変化するという特徴に変わりはなく、撮像されたグラデーションタグ12の方向符号とタグ方向符号33の大部分とが一致することで、グラデーションタグ12を識別することが可能となり、タグ識別装置3の処理は影響を受けない。
なお、本発明に係る画像識別用タグ及び画像識別システムでは、テンプレートマッチング処理として「方向符号法」を用いており、またグラデーションタグ12の円形のパターンの輝度が中心から360度すべての方向に対して同じように変化するという特徴は変わらない。このため、例えば、グラデーションタグ12をカメラ2で撮像する際に、照明変動が起きてグラデーションタグ12上に影が発生したり、充分な光量が得られずに暗がりでの撮像だったとしても、撮像された対象画像データDに基づく方向符号がタグ方向符号33と同じであることに変わりはないので、タグ識別装置3の処理は影響を受けない。
このように、 グラデーションタグ12は、輝度が中心点O から360度すべての方向に対して同じように変化する円形のパターンを持たせているので、このグラデーションタグ12をカメラ2で撮像する際の状況が変化しても影響を受けない。
このため、テンプレートマッチングの際に、1つのテンプレート(タグ方向符号33)を用意することでカメラ2での撮像状況に広く対応でき、計算コストを削減して画像識別処理を高速化できるという効果が得られる。
また、上記記載の理由により、グラデーションタグ12とカメラ2との位置関係及び撮像状況に制約を受けずにグラデーションタグ12を識別できるという効果が得られる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。図7は、第2の実施の形態に係るタグ識別装置3の別の機能構成を示すブロック図である。なお、上記実施の形態に記載されている、タグ識別装置3の構成における説明において、既述の部分の説明は適宜省略する。
方向符号比較部34によるテンプレートマッチング処理に先立ち、上記実施の形態における画像識別の処理時間を短縮するために、方向符号演算部32と部分画像抽出部31との間にマスク生成処理部36を配することにより、グラデーションタグ12を照合する範囲が限定されるようになっている。
まず識別対象とする対象画像データD全体に対して上記の方向符号を方向符号演算部32により算出する。その後、マスク生成処理部36は、隣接する2つの画素の方向符号を調べ、2つの当該方向符号の値の差が所定の範囲にあるときに限り、当該2つの画素を同一グループとして分類する。例えば、方向符号の値の差が所定の値“c”以内の範囲にあるときに限り、同一グループとして分類する場合について述べる。また、ここでは、方向を8等分し、0から7までの方向符号を割り当てる場合を説明する。
まず、対象画像データDの中の隣接する2つの画素P1及びP2を取る。そして、それぞれの方向符号をOC1及びOC2とする。以下の条件が成立するときに限り、2つの画素P1及びP2を同一グループとして分類する。
Min{G,8−G}≦c
但し、G=|OC1−OC2|
すなわち、2つの方向符号の差の絶対値G=|OC1−OC2|を算出し、このG及び(8−G)の内どちらか小さい方の値を、当該2つの画素の方向符号の差として定義し、それが所定の値c以内であれば、同一グループとして分類するようになっている。例えば、OC1=0,OC2=7の場合、上記方向符号の差は1と計算され、c=1の場合には、当該2つの画素P1及びP2は同一グループとして分類される。
上記の処理を対象画像の中の画素全てについて順次適用することにより、対象画像データDは複数のグループに分類される。
こうして得られた全てのグループの中から、予め定めた選出基準によってマスクを選出する。なお、選出基準としては、例えば、グループの占める面積、真円度等が挙げられる。
そして、グラデーションタグ12には、輝度が中心点O から360度すべての方向に対して同じように変化する円形のパターンを持たせているので、その画像から生成される方向符号は連続した値をとる。従って、グラデーションタグ12は、上記のグルーピング処理によって、一つのグループ、すなわちマスクとして抽出される。
マスクの生成処理が終了した後に、対象画像データDのうち当該マスクに属する画素に限り、対応する方向符号を部分画像抽出部31によって抽出し、上記方向符号比較部34によるテンプレートマッチング処理を行い、タグ方向符号33との方向符号の照合を行う。
このように、グラデーションタグ12は、輝度が中心点O から360度すべての方向に対して同じように変化する円形のパターンであり、連続する一様な方向符号を持つという特徴があるので、上記グルーピング処理により、一つのグループとして抽出される。これをマスクとして選定し、対象画像データDのうち当該マスクに属する画素に限り方向符号比較部34により、方向符号の照合を行うことにより、照合回数が減少して画像識別のための処理が高速化されるという効果が得られる。
上記マスクを生成する方法として、対象画像の輝度を「2値化処理」することが広く行われている。しかし、この「2値化処理」は、対象画像をカメラで撮像する時の照明の状態により、大きな影響を受けマスクの形が安定しなくなってしまうことが広く知られている。これに対して、本実施の形態は、カメラ撮像時の照明状態の影響を受けずに効果的なマスクを生成することができるので、高速化を安定して実現することができるという効果が得られる。
上記の第1及び第2の実施の形態の画像識別用タグ及び画像識別システムは、次のよう
な用途に用いることが可能である。
上記タグ座標演算部35により算出されるグラデーションタグ12の位置情報を得て、アプリケーションに対する“ランドマーク”として利用する。例えば、移動ロボットの進行目標として走行機構を制御する。また、空間的に分割して撮影された画像や時系列的に分割して撮影された画像を重ね合わせる際の、基準点とする。あるいは、複数のカメラやプロジェクタを相互にキャリブレーションする際の、基準点とする。
また、複数の上記位置情報を得て、それらの相互関係に基づく特徴量を算出し利用する。例えば、平面上に配置した4つの画像識別用タグの位置情報から、透視変更行列を計算して、当該平面の位置や姿勢を同定する。又は、立体に配置した4つの画像識別用タグの位置情報から、2つの当該画像識別用タグを結ぶ直線を2本得て、その交点を求めることにより、直接指定できない点の位置を同定する。
このように、画像識別用タグの位置情報を用いた情報処理により、アプリケーションに対する“ランドマーク”を安定して検出できるので、例えば、移動ロボットは進行目標を見失わずに走行できるという効果が得られる。また、複数の画像識別用タグの位置関係に基づいて特徴量を算出して利用するので、例えば、カメラ撮像条件の影響を受け易い2値化処理による特徴点の検出に比べて、はるかに安定して特徴点の検出ができるという効果が得られる。
また、図5に示すような、輝度及び中心点O からの距離との関係を示すグラデーショングラフに基づいて、画像識別用タグ情報を生成し、これを印刷することができる。
画像識別用タグは、次のように生成することができる。画像識別用タグの生成処理にあたり、まず画像識別用タグの大きさ(中心点O からの距離r)、パターンの輝度変化曲線(グラデーショングラフ)、パターンの色などに基づいて、画像識別用タグ情報を生成する。また特徴量の指定を受け、その値を算出するために生成する複数の画像識別用タグそれぞれの配置位置を決定する。そして、指定された媒体の上に当該画像識別用タグ情報に基づいて画像識別用タグを印刷する。なお、前記指定された媒体には、紙、ねじのプレート部、シール、電化製品の表面、透明シート等が挙げられる。
このように、安定して識別される高品質の画像識別用タグ情報を、印刷機器の印刷特性に応じて手軽に生成できるという効果が得られる。また、所定の特徴量を算出するための複数の画像識別用タグの配置位置を、煩雑な計算をせずに特定できるという効果が得られる。
(第3の実施の形態)
次に、本発明の第3の実施の形態について説明する。図8には、第3の実施の形態に係る画像識別システムの構成を示す。同図に示すように、本実施の形態に係る画像識別システムは、グラデーションタグ12と、カメラ2と、タグ識別装置3とで構成される。
本実施の形態においては、タグ識別装置3は、グラデーションタグ12における所定の方向に沿った輝度変化パターンに基づいて、グラデーションタグ12に予め対応付けられている識別コードを判別する。これにより、グラデーションタグ12やグラデーションタグ12が付された対象物を一意に識別することが可能となる。
本実施の形態に係るタグ識別装置3の機能構成について詳細に説明すると、タグ識別装置3は、第1の実施形態に係るタグ識別装置3が備える機能に加えて、信号パターン抽出部37と識別コード判別部38とを備えている。
信号パターン抽出部37は、グラデーションタグ12の所定方向に沿った輝度変化パターンから特定の信号パターンを抽出する。ここで、所定方向とは、グラデーションタグ12の半径方向と円周方向との少なくとも一方の方向をいう。
グラデーションタグ12の半径方向における輝度変化パターンは、第1及び第2の実施の形態で説明した輝度変化パターンと同様に、中心点から離れるに従って徐々に輝度が低くなる減少パターン及び徐々に輝度が高くなる増加パターンの何れか一方である。例えば、輝度変化パターンが減少パターンの場合を考えると、同じ減少パターンであっても、図5に示すように中心点から離れるに従って除々に輝度の減少率が大きくなる減少パターンや、所定の区間でのみ輝度の減少率が大きくなる減少パターン等、様々な減少パターンが存在する。このような場合には、例えば、半径方向の輝度の変化率を特定の信号パターンとして抽出することが可能となる。
一方、グラデーションタグ12の円周方向における輝度変化パターンについては、第1及び第2の実施の形態では輝度が一定であったが、本実施の形態においては、円周方向の輝度を変化させたり、輝度の増加率或いは減少率を変化させたりすることによって、円周方向の輝度或いは輝度の変化率等を特定の信号パターンとして抽出する。
識別コード判別部38は、信号パターン抽出部37により抽出された特定の信号パターンに基づいて、グラデーションタグ12と対応付けられている識別コードを特定する。なお、信号パターンと識別コードとを対応付けるための情報は予め記憶部33Aに記憶されている。
上記のタグ識別装置3が備える機能は、タグ識別装置3のCPUが記憶部33Aに記憶されているプログラムを実行することにより実現される。
次に、タグ識別装置3が備える上記の機能の詳細について、数式を用いて説明する。まず、グラデーションタグ12内の点Pの直交座標(x、y)及び極座標(r、θ)を図9に示すように定義する。この場合、次の関係式が成り立つ。
Figure 0004904755
ここで、(x、y)はグラデーションタグ12の画像における画素のアドレスに対応し、輝度Int(x、y)は当該画素の値を読み出すことにより得られる。
グラデーションタグ12内の点Pにおける輝度Intは、半径rにのみ依存するので、次のように表せる。
Int(x、y)=I(r) ・・・(3)
そして、半径方向の輝度変化率の符号は正あるいは負の何れかであるが、ここでは正として説明する。このため、次の制約式が成り立つ。
Figure 0004904755
この半径方向の輝度変化率I’(r)は、グラデーションタグ12の画像から次のようにして計算できる。検出されたグラデーションタグ12の中心位置を(x0、y0)とする。中心点から例えば水平方向(x軸に平行な方向)に並んだ画素の輝度を順次読み出して差分をとればよい。即ち、
I’(r)=Int(x0+r+1、y0)−Int(x0+r、y0)
また、半径Rのグラデーションタグ12について、グラデーションタグ12の中心(r=0)での輝度をInt(0)、グラデーションタグ12の周縁(r=R)での輝度をInt(R)とすると、次の制約式が成り立つ。
Figure 0004904755
次に、グラデーションタグ12を検出する際に利用する輝度の最大変化方向について、数式を用いて記述する。次のような量Tを考える。
Figure 0004904755
ここで、Tの分子は、グラデーションタグ12の画像において点P(x、y)と隣接する点P(x、y+1)の輝度の差分(Int(x、y+1)−Int(x、y))として計算できる。同様に、Tの分母は、グラデーションタグ12の画像において点P(x、y)と隣接する点P(x+1、y)の輝度の差分(Int(x+1、y)−Int(x、y))として計算できる。
なお、Tの分子及び分母を隣接点の差分として計算する方法を説明したが、これに限られることはない。例えば、点P(x、y)とその周辺の8点についてSobelフィルタを適用して計算してもよい。即ち、
Tの分子=Int(x−1、y+1)+2*Int(x、y+1)+Int(x+1、y+1)−Int(x−1、y−1)−2*Int(x、y−1)−Int(x+1、y−1) (“*”は乗算を表す、以下同様)
Tの分母=Int(x+1、y−1)+2*Int(x+1、y)+Int(x+1、y+1)−Int(x−1、y−1)−2*Int(x−1、y)−Int(x−1、y+1)
このように周辺の画素情報を用いることにより、画像ノイズの影響を少なくできるというメリットがある。
点P(x、y)における輝度の最大変化方向θMAXは、式(6)のTを計算して式(7)に代入することにより得られる。
θMAX=tan-1T ・・・(7)
グラデーションタグ12の場合には、式(6)に式(3)を代入し、式(1)及び(2)を使うと、量T及び最大変化方向θMAXは次のようになる。
Figure 0004904755
即ち、式(8)は、各点における輝度は半径方向に増加するというグラデーションタグ12の定義と一致した内容を表している。
[半径方向に識別コードに対応した信号パターンを埋め込む方式]
さて、ここで、以下の各実施例において、識別コードに対応する特定の信号パターンを関数I’(r)の中に埋め込むことを考える。
<第1の実施例>
まず、第1の実施例では、識別コードに対応する特定の信号パターンとして、「I’(r)の傾き」を採用する。
即ち、図10に示すような3種類のI’’(r)を用意する。但し、I’’(r)はI’(r)を更にrで微分したものである。それぞれのI’’(r)をrで2回積分すると各々のI(r)が得られる。但し、制約式(4)及び(5)を満たすものとする。そして、それぞれを式(3)に代入して生成される輝度Int(x、y)をもつ3種類のグラデーションタグ12を作成する。このようにして作成されたグラデーションタグ12の一例を図15(a)に示す。
そして、各々を以下のような3種類の識別コード「0」、「1」、「2」に対応付ける。
I’’(r) = 0 ・・・ 「0」
I’’(r) = +c > 0 ・・・ 「1」
I’’(r) = −c < 0 ・・・ 「2」
さて、タグ識別装置3により当該グラデーションタグ12が検出されたとき、その「I’(r)の傾き」は、グラデーションタグ12の中心から、例えば水平方向に順次I’(r)の変化率を次のように計算してその符号を調べることにより得られる。即ち、
I’’(r) = I’(r+1)−I’(r) = Int(r+2)−Int(r+1)−Int(r+1)+Int(r) = Int(r+2)−2*Int(r+1)+Int(r)
なお、水平方向に限らず、上下左右などいくつかの方向に順次I’(r)の変化率を計算し、各方向の多数決をとるようにしてもよい。複数の方向について計算することにより、検出されたグラデーションタグ12に視覚歪があった場合でも、その影響を受けにくくなるというメリットがある。また、グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の方向について計算することによりその影響を受けにくくなるというメリットがある。
この実施例のメリットは、識別コードをグラデーションタグ12の検出サイズ(半径R)に依存しないで検出できることである。
<第2の実施例>
次に、第2の実施例について説明する。第2の実施例では、識別コードに対応する特定の信号パターンとして、「I’(r)の形態」を採用する。即ち、図11に示すような5種類のI’(r)の形態を用意する。それぞれのI’(r)をrで1回積分すると各々のI(r)が得られる。但し、制約式(4)及び(5)を満たすものとする。そして、それぞれを式(3)に代入して生成される輝度Int(x、y)をもつ5種類のグラデーションタグ12を作成する。また、グラデーションタグ12の外周の輝度を”0(黒)”にして、そこが当該グラデーションタグ12の周縁であることを明示しておく。このようにして作成されたグラデーションタグ12の一例を図15(b)に示す。
そして、各々の形態を以下のような5種類の識別コードに対応付ける。
・I’(r)の形態が「平坦」 ・・・「0」
・I’(r)の形態が「矩形波(低→高)」・・・「1」
・I’(r)の形態が「矩形波(高→低)」・・・「2」
・I’(r)の形態が「三角波(低→高)」・・・「3」
・I’(r)の形態が「三角波(高→低)」・・・「4」
なお、I’(r)の形態は上記のものに限られず、例えば三角関数(SIN、COS)やパルス波などでもよい。
さて、タグ識別装置3により当該グラデーションタグ12が検出されたとき、その「I’(r)の形態」は、グラデーションタグ12の中心から周縁まで、例えば水平方向に順次I’(r)の値を比較することにより得られる。
あるいは、グラデーションタグ12の中心から周縁まで、例えば水平方向に順次I’(r)の変化率I’’(r)を計算することにより「I’(r)の形態」を得るようにしてもよい。即ち、I’’(r)の値の符号の変化が0、0→+→0、0→−→0、+、−ならば、識別コードはそれぞれ「0」、「1」、「2」、「3」、「4」と判別できる。
また、グラデーションタグ12の周縁までの半径Rは、グラデーションタグ12の中心から、例えば水平方向に順次I’(r)の値を計算し、正から負に大きく変化するときのrとして検出できる。
なお、上記のいずれの水平方向もこれに限らず、上下左右などいくつかの方向に順次I’(r)の変化率を計算し、各方向の多数決をとるようにしてもよい。複数の方向について計算することにより、検出されたグラデーションタグ12に視覚歪があった場合でも、その影響を受けにくくなるというメリットがある。また、グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の方向について計算することによりその影響を受けにくくなるというメリットがある。
この実施例のメリットは、カメラ2によるグラデーションタグ12の撮像条件に影響されず、安定して識別コードが検出できることである。
<第3の実施例>
第3の実施例では、識別コードに対応する特定の信号パターンとして、「I’(r)の波数」を採用する。即ち、グラデーションタグ12の半径Rを1周期とする波形を考える。このような波形として例えば、矩形波(低→高)あるいは三角波(低→高)などから選択すればよい。但し、I’(r)>0の制約は満たすようにする。この波形の周期を1/2にすると、半径Rの中に2つの波形が入る。一般に、この波形の周期を1/nにすると、半径Rの中にn個の波形が入る。
半径Rの中にn個(n=0〜N−1;Nは自然数)の波形を含むようなN種類のI’(r)を用意する。それぞれのI’(r)をrで1回積分すると各々のI(r)が得られる。但し、制約式(4)及び(5)を満たすものとする。そして、それぞれを式(3)に代入して生成される輝度Int(x、y)をもつN種類のグラデーションタグ12を作成して、各々をN種類の識別コード「n」(n=0〜N−1)に対応付ける。また、グラデーションタグ12の外周の輝度を“0(黒)”にして、そこが当該グラデーションタグ12の周縁であることを明示しておく。図12には、N=3の場合のI’(r)の波数と識別コードとの対応付けの一例を示す。図15(c)には、このようにして作成されたグラデーションタグ12の一例を示す。
さて、タグ識別装置3により当該グラデーションタグ12が検出されたとき、その「I’(r)の波数」は、グラデーションタグ12の中心から周縁まで、例えば水平方向に順次I’(r)の値を比較し、低→高の変化の回数を計数することにより得られる。
あるいは、グラデーションタグ12の中心から周縁まで、例えば水平方向に順次I’(r)の変化率を計算することにより低→高の変化を検出しその回数を計数して「I’(r)の波数」を得るようにしてもよい。
グラデーションタグ12の周縁までの半径Rは、グラデーションタグ12の中心から、例えば水平方向に順次I’(r)の値を計算し、正から負に大きく変化するときのrとして検出できる。
なお、上記のいずれの水平方向もこれに限らず、上下左右などいくつかの方向に順次I’(r)の変化率を計算し、各方向の多数決をとるようにしてもよい。複数の方向について計算することにより、検出されたグラデーションタグ12に視覚歪があった場合でも、その影響を受けにくくなるというメリットがある。また、グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の方向について計算することによりその影響を受けにくくなるというメリットがある。
この実施例のメリットは、識別コードの種類を増やせることである。
<第4の実施例>
第4の実施例では、識別コードに対応する特定の信号パターンとして、「I’(r)のビット列」を採用する。即ち、まず、グラデーションタグ12の半径RをN等分する。そして、これらN個の区間において、それぞれ所定の閾値G0に比べて大きな値G+あるいは閾値G0に比べて小さな値G−の何れかをI’(r)に割り付ける。但し、I’(r)>0の制約は満たすようにする。また、閾値G0は例えば、125(0〜255の中間値)に設定する。
そして、I’(r)の最初の区間(0<=r<R/N)には基準となる閾値G0を必ず割り付ける。このようにして得られた(N−1)個の値の列は、G+を”1”そしてG−を”0”と見なせば(N−1)ビットの2進数となる。
半径Rの中に1個のG0と(N−1)個のG+ないしはG−の値を含むような2(N-1)種類のI’(r)を用意する。それぞれのI’(r)をrで1回積分すると各々のI(r)が得られる。但し、制約式(4)及び(5)を満たすものとする。そして、それぞれを式(3)に代入して生成される輝度Int(x、y)をもつ2(N-1)種類のグラデーションタグ12を作成して、各々を2(N-1)種類の識別コード「n」(n=0〜2(N-1)−1)に対応付ける。また、グラデーションタグ12の外周の輝度を“0(黒)”にして、そこが当該グラデーションタグ12の周縁であることを明示しておく。図15(d)には、このようにして作成されたグラデーションタグ12の一例を示す。
さて、タグ識別装置3により当該グラデーションタグ12が検出されたとき、その「I’(r)のビット列」は、図13に示すように、グラデーションタグ12の中心から周縁までの半径RをN等分し、例えば水平方向に順次I’(r)の値を読み出し、N個の各区間で閾値G0と比較することにより得られる。グラデーションタグ12の周縁までの半径Rは、グラデーションタグ12の中心から、例えば水平方向に順次I’(r)の値を計算し、正から負に大きく変化するときのrとして検出できる。また、閾値G0は、グラデーションタグ12の中心(r=0)から最初の区間におけるI’(r)の値として算出する。
なお、上記のいずれの水平方向もこれに限らず、上下左右などいくつかの方向に順次I’(r)の変化率を計算し、各方向の多数決をとるようにしてもよい。複数の方向について計算することにより、検出されたグラデーションタグ12に視覚歪があった場合でも、その影響を受けにくくなるというメリットがある。また、グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の方向について計算することによりその影響を受けにくくなるというメリットがある。
なお、ここでは識別コードを(N−1)桁の2進数で表し、“1”をG+に、そして“0”をG−に割り付ける方法を説明したが、これに限られない。同じ数字が並んだ場合は、G0を挿入して、ビット毎に割り付ける値を必ず変化させてもよい。例えば、4ビットの2進数”1110”を考える。上記の方式ではこの2進数は「G+ G+ G+ G−」と表現された。これに対してG0を挿入する方法では、同じ2進数が「G+ G0 G+ G−」と表現される。このようにすると、ビット毎に必ず値が変化するので、ビットの区切りを誤ることを防止できるというメリットがある。
また、ここでは(N−1)桁全体に信号パターンを載せる方法を説明したが、これに限られることはない。(N−1)桁の一部にビット誤りを検出したり修正するための「パリティビット」を割り付けてもよい。偶数パリティ、奇数パリティ、ECC(Error Correcting Code)などのパリティビットについては公知なので、ここでは説明を省略する。パリティを割り付けることにより、識別コードの信頼性を向上できるというメリットがある。
この実施例のメリットは、識別コードの種類を大幅に増やせることである。
<第5の実施例>
第5の実施例では、識別コードに対応する特定の信号パターンとして、「I’(r)の数値列」を採用する。即ち、グラデーションタグ12の半径RをN等分する。そして、これらN個の区間において、それぞれ所定の閾値G0に対してk倍(k=1、2,・・・,K−1,K)の大きさの値Gkの何れかをI’(r)に割り付ける。但し、I’(r)>0の制約は満たすようにする。また、閾値G0は例えば、50に設定する。そして、I’(r)の最初の区間(0<=r<R/N)には基準となる閾値G0を必ず割り付ける。
このようにして得られたN個の値の列は、N桁のK進数となる。但し、最初の1桁は基準値G0の提示で使用されるので、実質的にはN−1桁のK進数となる。
半径Rの中に1個のG0とN−1個のGkの値を含むようなK(N-1)種類のI’(r)を用意する。それぞれのI’(r)をrで1回積分すると各々のI(r)が得られる。但し、制約式(4)及び(5)を満たすものとする。そして、それぞれを式(3)に代入して生成される輝度Int(x、y)をもつK(N-1)種類のグラデーションタグ12を作成して、各々をK(N-1)種類の識別コード「n」(n=0〜K(N-1)−1)に対応付ける。また、グラデーションタグ12の外周の輝度を”0(黒)”にして、そこが当該グラデーションタグ12の周縁であることを明示しておく。図15(e)には、このようにして作成されたグラデーションタグ12の一例を示す。
さて、当該グラデーションタグ12が検出されたとき、その「I’(r)の数値列」は、図14に示すように、グラデーションタグ12の中心から周縁までの半径RをN等分し、例えば水平方向に順次I’(r)の値を読み出し、N個の区間毎に閾値G0で除することにより得られる。グラデーションタグ12の周縁までの半径Rは、グラデーションタグ12の中心から、例えば水平方向に順次I’(r)の値を計算し、正から負に大きく変化するときのrとして検出できる。また、閾値G0は、グラデーションタグ12の中心(r=0)から最初の区間におけるI’(r)の値として算出する。
なお、上記のいずれの水平方向もこれに限らず、上下左右などいくつかの方向に順次I’(r)の変化率を計算し、各方向の平均をとるようにしてもよい。複数の方向について計算することにより、検出されたグラデーションタグ12に視覚歪があった場合でも、その影響を受けにくくなるというメリットがある。また、グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の方向について計算することによりその影響を受けにくくなるというメリットがある。
また、ここでは所定の閾値G0に対してk倍(k=1,2,・・・,K−1,K)の大きさの値としてGkを設定する例を説明したが、これに限られない。例えば、Gkの値を閾値G0に対してk倍(k=2/K,・・・,1/3,1/2,1,2,3,・・・,K/2)と設定してもよい。この場合、閾値G0が中央値になるので、上記の制約式(4)の下でも安定して閾値G0の値を検出できる。
この実施例のメリットは、識別コードの種類を格段に増やせることである。
<第6の実施例>
第6の実施例では、識別コードに対応する特定の信号パターンとして、「I’(r)に基づく複比」を採用する。即ち、I’(r)として3個所(r=R1、R2、R3)の変化点をもつ波形を用意する。このような波形として例えば、矩形波(低→高→低→高)あるいは階段波(低→中→高→より高)などから選択すればよい。但し、I’(r)>0の制約は満たすようにする。図12の右端に示したものは、3個所の変化点(低→高、高→低、低→高)をもつ矩形波の一例である。
いま、グラデーションタグ12の中心から1本の直線をとり、半径R1、R2、R3にある当該直線上の点をそれぞれ1,2,3とする。また、中心点を0とする。そして、点iと点jとで挟まれた区間の長さをLijと表すことにする。
ここで一直線上の4点0,1,2,3に関する複比は、次の式で計算される。
(L12*L03)/(L02*L13)
よく知られているように、上記の複比は幾何学的不変量である。即ち、一直線上に並んだ4点0,1,2,3を如何なる距離や方向から撮像しても、その画像から当該4点を検出し、それらで挟まれた区間の長さLijを計算し、上記の複比を計算すると、その値は一定(不変)である。
グラデーションタグ12を作製したときの3点1,2,3の半径R1、R2、R3を使うと、上記の複比の値は次のようになる。
{(R2−R1)*R3}/{R2*(R3−R1)}
半径R1、R2、R3の3個所に変化点をもつ波形を含むようなI’(r)を用意する。このI’(r)をrで1回積分するとI(r)が得られる。但し、制約式(4)及び(5)を満たすものとする。そして、それぞれを式(3)に代入して生成される輝度Int(x、y)をもつグラデーションタグ12を作成して、上記の複比の値を識別コードとして対応付ける。
さて、タグ識別装置3により当該グラデーションタグ12が検出されたとき、その「I’(r)に基づく複比」は、グラデーションタグ12の中心から、例えば水平方向に順次I’(r)の値を比較し、低→高或いは高→低に変化する3個所のr(r1、r2、r3)を検出し、次の複比を計算することにより得られる。
{(r2−r1)*r3}/{r2*(r3−r1)}
あるいは、グラデーションタグ12の中心から、例えば水平方向に順次I’(r)の変化率を計算することにより低→高或いは高→低に変化する3個所のr(r1、r2、r3)を検出し、「I’(r)に基づく複比」を得るようにしてもよい。
なお、上記のいずれの水平方向もこれに限らず,上下左右などいくつかの方向に順次I’(r)の変化率を計算し、各方向の平均をとるようにしてもよい。複数の方向について計算することにより、検出されたグラデーションタグ12の変化点計測に誤差があった場合でも、その影響を受けにくくなるというメリットがある。また、グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の方向について計算することによりその影響を受けにくくなるというメリットがある。
また、識別コードとして複比の値をそのまま使う場合を説明したが,これに限られない。上記のように計算された複比の値CRを、所定の単位Qで量子化したものを識別コードとして使用してもよい。即ち、
識別コード=[CR/Q]
但し、[a]は、実数aの小数点以下を切り捨てた整数を表す。
量子化した複比の値を識別コードとして使用することにより,変化点の半径を計測する際に含まれる誤差の影響を低減できるというメリットがある。
この実施例のメリットは、グラデーションタグ12の検出サイズ(半径R)に依存せず、またグラデーションタダ12撮影時の視覚歪の影響を受けずに、識別コードを安定して検出できることである。更に、3つの半径R1、R2、R3の組み合わせにより.識別コードを大幅に増やせることである。
なお、上述した各実施例においては、半径方向の輝度変化率I’(r)が正であるとして説明したが、負の場合も同様に説明できることは明らかである。
[円周方向に識別コードに対応した信号パターンを埋め込む方式]
次に、グラデーションタグ12の円周方向に識別コードに対応した特定の信号パターンを埋め込む方式について説明する。
グラデーションタグ12の輝度Intは、主に半径rに依存するが、円周角θにも依存するようにする。即ち、
Int(r、θ)=I(r)+α*J(θ) ・・・(9)
そして、半径方向の輝度変化率の符号は正あるいは負の何れかであるが、ここでは正として説明するので、上述した式(4)の制約式が成り立つ。
また、J(θ)は、基本周期を2πとする周期関数である。即ち、
J(θ+2π)=J(θ) ・・・(10)
なお、係数αは、輝度Int(x、y)が円周方向の輝度変化により所定の値域(例えば0〜255)を超えないようにすると共に、円周方向の輝度変化がグラデーションタグ12の検出を妨げないようにするためのものであり、グラデーションタグ12の使用環境や撮像条件に応じて調整できるようにしている。
グラデーションタグ12内の点Pにおける円周方向の輝度変化率J’(θ)は、グラデーションタグ12の画像から次のようにして計算できる。中心角θの刻み幅をΔθとする。例えば、Δθを1度(0.017ラジアン)とする。
Figure 0004904755
即ち、J’(θ)は、円周上の隣接画素の輝度の差分をとり、式(11)に代入することにより計算できる。J(θ)は輝度を表すので、グラデーションタグ12を撮像する際の照明変動(部分的なハイライトや陰影など)の影響を受ける。
一方、J’(θ)を使うと、照明変動の影響が少なくなり、J(θ)の特徴的なパターンを抽出し易くなるというメリットがある。
なお、中心が(x0、y0)のグラデーションタグ12において、輝度Int(r、θ)は、上述した式(1)及び(2)の関係を使うと、次のx’、y’をアドレスにもつ画素P(x’、y’)の輝度Int(x’、y’)を読み出せばよい。
x’ = x0+r*COSθ
y’ = y0+r*SINθ
さて、ここで、以下の各実施例において、識別コードに対応する特定の信号パターンを関数J(θ)の中に埋め込むことを考える。
<第1の実施例>
第1の実施例では、識別コードに対応する特定の信号パターンとして、「J(θ)の形態」を採用する。即ち、以下のような5種類のJ(θ)を用意する。そして、それぞれを式(9)に代入して生成される輝度Int(r、θ)をもつ5種類のグラデーションタグ12を作成する。図21(a)には、このようにして作成されたグラデーションタグ12の一例を示す。なお、半径方向のグラデーションとして、例えばI’(r)=c(定数)、即ち、I(r)は一定の割合cで単調増加するようにしておく。但し、I’(r)は定数に限られることはなく、I’(r)>0であれば任意の関数でよい。
そして、図16に示すように、各々のグラデーションタグ12を以下のような5種類の識別コードに対応付ける。
J(θ)の形態が「平坦」・・・「0」
J(θ)の形態が「周期2πの矩形波(低→高)」・・・「1」
J(θ)の形態が「周期2πの矩形波(高→低)」・・・「2」
J(θ)の形態が「周期2πの三角波(低→高)」・・・「3」
J(θ)の形態が「周期2πの三角波(高→低)」・・・「4」
なお、J(θ)の形態は上記のものに限られず、例えば三角関数(SIN、COS)やパルス波などでもよい。
さて、タグ識別装置3により当該グラデーションタグ12が検出されたとき、その「J(θ)の形態」は、グラデーションタグ12内の半径r0において、例えば水平方向をθ=0として順次Int(r0、θ)の値を0<=θ<=2πにおいて比較することにより得られる。このとき、半径はr0に固定されているから、I(r0)は0<=θ<=2πに渡って、一定である。従って、順次Int(r0、θ)を読み出すことにより、J(θ)の形態を判別することができる。
あるいは、グラデーションタグ12内の半径r0において、例えば水平方向をθ=0として順次輝度の変化率J’(θ)を式(11)を使って0<=θ<=2πにおいて計算することにより「J(θ)の形態」を得るようにしてもよい。即ち、変化率J’(θ)が0、0→+→0、0→−→0、+、−ならば、識別コードはそれぞれ「0」、「1」、「2」、「3」、「4」と判別できる。
なお、上記のいずれの水平方向もこれに限らず、上下左右などいくつかの方向にθ=0を設定し、Int(r0、θ)の値あるいはJ’(θ)の値を順次計算し、各方向の多数決をとるようにしてもよい。複数の方向について計算することにより、J(θ)を設計したときのθ=0の方向と、検出されたグラデーションタグ12に対して計算するときのθ=0の方向とがズレた場合でも、その影響を受けにくくなるというメリットがある。
また、上記の説明では、読み出す半径をr0に固定したが、これに限られない。複数の半径r1、r2、・・・について、上記のような計算を行い、各半径の多数決をとるようにしてもよい。グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の半径について計算することによりその影響を受けにくくなるというメリットがある。
この実施例のメリットは、カメラ2によるグラデーションタグ12の撮像条件に影響されず安定して識別コードが検出できることである。
<第2の実施例>
第2の実施例においては、識別コードに対応する特定の信号パターンとして、「J(θ)の波数」を採用する。即ち、J(θ)の波形として例えば、三角関数(SINまたはCOS)あるいは矩形波(低→高)あるいは三角波(低→高)などから選択すればよい。但し、J(θ+2π)=J(θ)の制約は満たすようにする。
この波形の周期を1/2にすると、円周の中に2つの波形が入る。一般に、この波形の周期を1/nにすると、円周の中にn個の波形が入る。
円周の中にn個(n=0〜N−1)の波形を含むようなN種類のJ(θ)を用意する。そして、それぞれを式(9)に代入して生成される輝度Int(r、θ)をもつN種類のグラデーションタグ12を作成する。なお、半径方向のグラデーションとして、例えばI’(r)=c(定数)即ち、I(r)は一定の割合cで単調増加するようにしておく。但し、I’(r)は定数に限られることはなく、I’(r)>0であれば任意の関数でよい。図21(b)には、このようにして作成されたグラデーションタグ12の一例を示す。
そして、各々をN種類の識別コード「n」(n=0〜N−1)に対応付ける。図17には、N=3の場合のJ(θ)の波数と識別コードとの対応付けの例を示す。
さて、タグ識別装置3により当該グラデーションタグ12が検出されたとき、その「J(θ)の波数」は、グラデーションタグ12内の半径r0において、例えば、水平方向をθ=0として順次Int(r0、θ)の値を0<=θ<=2πにおいて比較することにより、低→高の変化の回数を計数することにより得られる。
あるいは、グラデーションタグ12内の半径r0において、例えば水平方向をθ=0として順次J’(θ)の変化率を、式(11)を使って0<=θ<=2πにおいて計算することにより、低→高の変化を検出しその回数を計数することにより、「J(θ)の波数」を得るようにしてもよい。
なお、上記のいずれの水平方向もこれに限らず、上下左右などいくつかの方向にθ=0を設定し、Int(r0、θ)の値あるいはJ’(θ)の変化率を順次計算し、各方向の多数決をとるようにしてもよい。
複数の方向について計算することにより、J(θ)を設計したときのθ=0の方向と、検出されたグラデーションタグ12に対して計算するときのθ=0の方向とがズレた場合でも、その影響を受けにくくなるというメリットがある。
また、上記の説明では、読み出す半径をr0に固定したが、これに限られない。複数の半径r1、r2、・・・について、上記のような計算を行い、各半径の多数決をとるようにしてもよい。グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の半径について計算することによりその影響を受けにくくなるというメリットがある。
この別の実施例のメリットは、識別コードの種類を増やせることである。
<第3の実施例>
第3の実施例においては、識別コードに対応する特定の信号パターンとして、「J(θ)のビット列」を採用する。
即ち、グラデーションタグ12の円周をN等分する。そして、これらN個の区間において、それぞれ所定の閾値G0に比べて大きな値G+あるいは閾値G0に比べて小さな値G−の何れかをJ(θ)に割り付ける。但し、ビット列の先頭を明示するために、G0を1つだけ割り付ける。そして、例えば、そこから反時計回りに第1ビット、第2ビット、・・・、とする。なお、J(θ+2π)=J(θ)の制約は満たされている。また、閾値G0は例えば、125(0〜255の中間値)に設定する。
このようにして得られた(N−1)個の値の列は、G+を“1”そしてG−を“0”と見なせば(N−1)ビットの2進数となる。
円周の中に1個のG0と(N−1)個のG+ないしはG−の値を含むような2(N-1)種類のJ(θ)を用意する。そして、それぞれを式(9)に代入して生成される輝度Int(r、θ)をもつ2(N-1)種類のグラデーションタグ12を作成する。なお、半径方向のグラデーションとして、例えばI’(r)=c(定数)即ち、I(r)は一定の割合cで単調増加するようにしておく。但し、I’(r)は定数に限られることはなく、I’(r)>0であれば任意の関数でよい。図21(c)には、このようにして作成されたグラデーションタグ12の一例を示す。
そして、各々を2(N-1)種類の識別コード「n」(n=0〜2(N-1)−1)に対応付ける。
さて、当該グラデーションタグ12が検出されたとき、その「J(θ)のビット列」は、図18に示すように、グラデーションタグ12内の半径r0において円周をN等分し、例えば、水平方向をθ=0として順次Int(r0、θ)の値をθ=k*2π/N(k=0,1,2、・・・N−1)において閾値G0と比較することにより得られる。
なお、閾値G0はN個の内、唯1度だけ現れる値として或いは中間値として識別できる。また、閾値G0の位置がビット列の先頭を示す。
但し、グラデーションタグ12の画像から読み出されるInt(r0、θ)にはI(r0)が含まれている。しかし、これはすべての0<=θ<=2πについて一定である。従って、上記のように閾値G0はN個の内、唯1度だけ現れる値として或いは中間値として識別でき、閾値G0の区間のInt(r0、θ)の値を他の区間のものと順次比較することにより、ビット(G+かG−か)の判定はできる。
なお、上記の水平方向はこれに限らず、上下左右などいくつかの方向にθ=0を設定し、Int(r0、θ)の値を順次計算し、各方向の多数決をとるようにしてもよい。複数の方向について計算することにより、J(θ)を設計したときのθ=0の方向と、検出されたグラデーションタグ12に対して計算するときのθ=0の方向とがズレた場合でも、その影響を受けにくくなるというメリットがある。
また、上記の説明では、読み出す半径をr0に固定したが、これに限られない。複数の半径r1、r2、・・・について、上記のような計算を行い、各半径の多数決をとるようにしてもよい。グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の半径について計算することによりその影響を受けにくくなるというメリットがある。
また、ここでは(N−1)桁全体に信号パターンを載せる方法を説明したが、これに限られることはない。(N−1)桁の一部にビット誤りを検出したり修正するための「パリティビット」を割り付けてもよい。偶数パリティ、奇数パリティ、ECC(Error Correcting Code)などのパリティビットについては公知なので、ここでは説明を省略する。パリティを割り付けることにより、識別コードの信頼性を向上できるというメリットがある。
1つの変形例を示す。ここでは円周をN等分してN桁のビット列とし、その先頭を明示するために、G0を割り付ける方法を説明したが、これに限られない。図19に示すように、予め設定された角度(θstart)を中心角とする扇形にG−を並べ、これをビット列の先頭とする。そして、例えばそこから反時計回りに第1ビット、第2ビット、・・・とする。但し、第1ビットはG+、第2ビットはG−、そして再び第3ビットはG+、第4ビットはG−とする。
さて、タグ識別装置3により当該グラデーションタグ12が検出されたとき、グラデーションタグ12内の半径r0において円周θ=0〜2πに渡り順次Int(r0、θ)の値を読み取る。そこから、まず同一の値が予め設定された角度(θstart)に渡って並んでいる部分を検出し、これをビット列の先頭と見なす。同時にG−の値がわかる。次に、その位置から反時計回りに見て、{G+、G−、G+、G−}の並びの角度θ4を計測する。この角度を4等分したもの(θ4/4)が、1ビットの角度であるとわかる。以降、θ4/4毎にInt(r0、θ)を読み出すことにより、すべてのビット値を得ることができる。
この変形例では、先頭ビットの並びから1ビットの角度を算出するようにしたので、ビット数Nを予め固定する必要がなく、任意のビット数の信号パターンを同一の処理で検出できるというメリットがある。
この実施例のメリットは、識別コードの種類を大幅に増やせることである。
<第4の実施例>
第4の実施例においては、識別コードに対応する特定の信号パターンとして、「J(θ)の数値列」を採用する。
即ち、グラデーションタグ12の円周をN等分する。そして、これらN個の区間において、それぞれ所定の閾値G0に対してk倍(k=1,2,3,・・・,K−1,K)の大きさの値Gkの何れかをJ(θ)に割り付ける。但し、ビット列の先頭を明示するために、J(θ)=0を1つだけ割り付け、続く区間にG0を1つだけ割り付ける。そして、例えばそこから反時計回りに第1ビット、第2ビット、・・・とする。なお、J(θ+2π)=J(θ)の制約は満たされている。また、閾値G0は例えば、50に設定する。
円周の中に(N−2)個のGkの値を含むようなK(N-2)種類のJ(θ)を用意する。そして、それぞれを式(9)に代入して生成される輝度Int(r、θ)をもつK(N-2)種類のグラデーションタグ12を作成する。なお、半径方向のグラデーションとして、例えばI’(r)=c(定数)即ち、I(r)は一定の割合cで単調増加するようにしておく。但し、I’(r)は定数に限られることはなく、I’(r)>0であれば任意の関数でよい。図22(d)には、このようにして作成されたグラデーションタグ12の一例を示す。
そして、図20に示すように、各々をK(N-2)種類の識別コード「n」(n=0〜K(N-2)−1)に対応付ける。
さて、当該グラデーションタグ12が検出されたとき、その「J(θ)の数値列」は、グラデーションタグ12内の半径r0において円周をN等分し、例えば水平方向をθ=0として順次Int(r0、θ)の値をθ=k*2π/N(k=0,1,2、・・・N−1)において読み出し、それを閾値G0で除することにより得られる。
なお、J(θ)=0の区間はN個の内、唯1度だけ現れる値として識別できる。また、J(θ)=0の区間に続く閾値G0の区間の輝度からJ(θ)=0の区間の輝度の差分をとることにより、閾値G0の値が求まる。そして、ビット列の先頭の位置もわかる。
なお、上記の水平方向はこれに限らず、上下左右などいくつかの方向にθ=0を設定し、Int(r0、θ)の値を順次計算し、各方向の平均をとるようにしてもよい。複数の方向について計算することにより、J(θ)を設計したときのθ=0の方向と、検出されたグラデーションタグ12に対して計算するときのθ=0の方向とがズレた場合でも、その影響を受けにくくなるというメリットがある。
また、上記の説明では、読み出す半径をr0に固定したが、これに限られない。複数の半径r1、r2、・・・について、上記のような計算を行い、各半径の平均をとるようにしてもよい。グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の半径について計算することによりその影響を受けにくくなるというメリットがある。
また、ここでは所定の閾値G0に対してk倍(k=1,2,・・・,K−1,K)の大きさの値としてGkを設定する例を説明したが、これに限られない。例えば、閾値G0の値を例えば125(0〜255の中間値)として、Gkの値を閾値G0に対してk倍(k=2/K,・・・,1/3,1/2,1,2,・・・,K/2)と設定してもよい。この場合、閾値G0が中央値になるので、安定して閾値G0の値を検出できるというメリットがある。
この実施例のメリットは、識別コードの種類を格段に増やせることであるというメリットがある。
<第5の実施例>
第5の実施例においては、識別コードに対応する特定の信号パターンとして、「J(θ)の周波数成分」を採用する。
即ち、J(θ)の波形として、三角関数の合成波を採用する。例えば、J(θ)を基本周期2πの1/N倍までの周期をもつN個のSIN波を合成したものとする。即ち、
Figure 0004904755
ここで、ak(k=1〜N)はそれぞれ周期2π/kのSIN波の周波数成分である。そして、akが取り得る値を{A0,A1,...,AM-1}のM種類とする。
なお、ここでは、SIN波のみを合成してJ(θ)を作成したが、これに限られることはなく、COS波のみあるいはSIN波とCOS波を合成してJ(θ)を作成してもよい。なお、J(θ+2π)=J(θ)の制約は満たされている。
それぞれM個の値を取り得る周波数成分をもったN個のSIN波を合成したMN種類のJ(θ)を用意する。そして、それぞれを式(9)に代入して生成される輝度Int(r、θ)をもつMN種類のグラデーションタグ12を作成する。なお、半径方向のグラデーションとして、例えばI’(r)=c(定数)即ち、I(r)は一定の割合cで単調増加するようにしておく。但し、I’(r)は定数に限られることはなく、I’(r)>0であれば任意の関数でよい。図21(e)には、このようにして生成されたグラデーションタグ12の一例を示す。
そして、各々をMN種類の識別コード「n」(n=0〜MN−1)に対応付ける。
さて、当該グラデーションタグ12が検出されたとき、その「J(θ)の周波数成分」は、グラデーションタグ12内の半径r0において、例えば水平方向をθ=0として順次Int(r0、θ)の値を0<=θ<=2πにおいて読み出し、次のように計算することにより得られる。
周期2π/kのSIN波の周波数成分ak(k=1〜N)は、Int(r0、θ)とSIN(kθ)の積を円周に渡って積和すれば求められる。積和をとるとき、θの刻み幅は、例えば1度(0.017ラジアン)とする。即ち、
Figure 0004904755
右辺の第1項は、SIN(kθ)が2πの周期をもつ三角関数であるから、その積和は0となる。また、右辺の第2項は、三角関数の加法定理により、SIN(jθ)*SIN(kθ)=1/2{−COS(jθ+kθ)+COS(jθ−kθ)}である。各々の項が2πの周期をもつ三角関数であるから、第1項の積和は0となり、第2項の積和はj=kのときのみ2πでその他のときは0である。従って、上記の式は、次のようになる。
Figure 0004904755
こうして、周期2π/kのSIN波の周波数成分ak(k=1〜N)が求められた。
別の計算方法として、グラデーションタグ12内の半径r0において、例えば水平方向をθ=0として順次J’(θ)とCOS(kθ)の積を円周に渡って積和することにより「J(θ)の周波数成分」を得るようにしてもよい。即ち、
Figure 0004904755
三角関数の加法定理により、COS(jθ)*COS(kθ)=1/2{COS(jθ+kθ)+COS(jθ−kθ)}である。各々の項が2πの周期をもつ三角関数であるから、第1項の積和は0となり、第2項の積和はj=kのときのみ2πでその他のときは0である。従って、上記の式は、次のようになる。
Figure 0004904755
なお、J’(θ)は式(11)によって計算される。
輝度自体Int(r、θ)ではなく、円周方向の輝度変化率J’(θ)を用いることにより、グラデーションタグ12を撮像する際に照明変動(部分的なハイライトや陰影など)があっても、その影響を受けにくくなるというメリットがある。
これまでの説明では、信号パターンとして基本周期2πの1/N倍までの周期をもつN個のSIN波をすべて合成したが、これに限られない。信号パターンとして基本周期2πの1/Nmin倍から1/N倍までの周期をもつ(N−Nmin+1)個のSIN波を合成してもよい。例えば、Nmin=3と設定した場合、周期2π、πをそれぞれもつSIN(θ)、SIN(2*θ)は使わない。そして、SIN(3*θ)からSIN(4*θ)、SIN(5*θ)、・・・、SIN(N*θ)までの(N−2)個のSIN波を合成する。周波数成分の設定方法及び当該グラデーションタグ12が検出されたときの周波数成分の計算方法は、上記と同一である。
低周波成分(1〜Nmin−1)を使用しないようにすることにより、グラデーションタグ12の中心位置の検出誤差やグラデーションタグ12の画像に視覚歪がある場合でも、その影響を受けにくくなるというメリットがある。
なお、上記のいずれの水平方向もこれに限らず、上下左右などいくつかの方向にθ=0を設定し、Int(r0、θ)の値あるいはJ’(θ)の値を順次計算し、各方向の平均をとった後{A0,A1,...,AM−1}に量子化するようにしてもよい。複数の方向について計算することにより、J(θ)を設計したときのθ=0の方向と、検出されたグラデーションタグ12に対して計算するときのθ=0の方向とがズレた場合でも、その影響を受けにくくなるというメリットがある。
また、上記の説明では、読み出す半径をr0に固定したが、これに限られない。複数の半径r1、r2、・・・について、上記のような計算を行い、各半径の平均をとった後{A0,A1,...,AM−1}に量子化するようにしてもよい。グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の半径について計算することによりその影響を受けにくくなるというメリットがある。
また、これまでの説明では、周波数成分ak(k=1〜N)の値を検出し、それらを信号パターンとして直接利用したが、これに限られない。所定の周波数成分、例えばa1を基準にして、各周波数成分の比率ak/a1(k=2〜N)を求め、これらを信号パターンとして利用してもよい。グラデーションタグ12の画像の輝度Int(r、θ)は、照明条件によって定数倍だけ変化するので、J’(θ)の計算値も変化し、従ってakの計算値に影響が出る。しかし、周波数成分の比率ak/a1(k=2〜N)を用いることにより、照明条件に起因する定数倍の変動の影響を受けにくくなるというメリットがある。
この実施例のメリットは、信号パターンの先頭位置を意識することなく識別コードを計算でき、また識別コードの種類を増やせることである。
<第6の実施例>
第6の実施例では、識別コードに対応する特定の信号パターンとして、「J(θ)の周波数成分の有無」を採用する。
即ち、J(θ)の波形として、三角関数の合成波を採用する。例えば、上述した式(12)に示すような、基本周期2πの1/N倍までの周期をもつN個のSIN波を合成したものとする。
ここで、ak(k=1〜N)はそれぞれ周期2π/kのSIN波の周波数成分である。そして、akが取り得る値を{0,1}の2種類とする。即ち、{a1,a2,・・・、aN}はN桁の2進数と見なせる。
なお、ここでは、SIN波のみを合成してJ(θ)を作成したが、これに限られることはなく、COS波のみあるいはSIN波とCOS波を合成してJ(θ)を作成してもよい。なお、J(θ+2π)=J(θ)の制約は満たされている。
それぞれ2個の値を取り得る周波数成分をもったN個のSIN波を合成した2N種類のJ(θ)を用意する。そして、それぞれを式(9)に代入して生成される輝度Int(r、θ)をもつ2N種類のグラデーションタグ12を作成する。なお、半径方向のグラデーションとして、例えばI’(r)=c(定数)即ち、I(r)は一定の割合cで単調増加するようにしておく。但し、I’(r)は定数に限られることはなく、I’(r)>0であれば任意の関数でよい。図21(f)には、このようにして生成されたグラデーションタグ12の一例を示す。
そして、各々を2N種類の識別コード「n」(n=0〜2N−1)に対応付ける。
さて、当該グラデーションタグ12が検出されたとき、その「J(θ)の周波数成分の有無」は、グラデーションタグ12内の半径r0において、例えば水平方向をθ=0として順次Int(r0、θ)の値を0<=θ<=2πにおいて読み出し、次のように計算することにより得られる。
周期2π/kのSIN波の周波数成分ak(k=1〜N)は、Int(r0、θ)とSIN(kθ)の積を円周に渡って積和すれば求められる。即ち、
Figure 0004904755
右辺の第1項は、SIN(kθ)が2πの周期をもつ三角関数であるから、その積和は0となる。また、右辺の第2項は、三角関数の加法定理により、SIN(jθ)*SIN(kθ)=1/2{−COS(jθ+kθ)+COS(jθ−kθ)}である。各々の項が2πの周期をもつ三角関数であるから、第1項の積和は0となり、第2項の積和はj=kのときのみ2πでその他のときは0である。従って、上記の式は、上述した式(13)のようになる。
このようにして得られたakを、予め設定しておいた閾値Aと比較し、k番目の周波数成分の有無を次のように判定する。
k<Aならば、k番目の周波数成分は「無」
k>=Aならば、k番目の周波数成分は「有」
別の計算方法として、グラデーションタグ12内の半径r0において、例えば、水平方向をθ=0として順次J’(θ)とCOS(kθ)の積を円周に渡って積和することにより「J(θ)の周波数成分の有無」を得るようにしてもよい。即ち、
Figure 0004904755
三角関数の加法定理により、COS(jθ)*COS(kθ)=1/2{COS(jθ+kθ)+COS(jθ−kθ)}である。各々の項が2πの周期をもつ三角関数であるから、第1項の積和は0となり、第2項の積和はj=kのときのみ2πでその他のときは0である。従って、上記の式は、上述した式(14)のようになる。
このようにして得られたakを予め設定しておいた閾値Aと比較し、k番目の周波数成分の有無を次のように判定する。
k<Aならば、k番目の周波数成分は「無」
k>=Aならば、k番目の周波数成分は「有」
なお、J’(θ)は上述した式(11)によって計算される。
輝度自体Int(r、θ)ではなく、円周方向の輝度変化率J’(θ)を用いることにより、グラデーションタグ12を撮像する際に照明変動(部分的なハイライトや陰影など)があっても、その影響を受けにくくなるというメリットがある。
これまでの説明では、信号パターンとして基本周期2πの1/N倍までの周期をもつN個のSIN波を合成したが、これに限られない。信号パターンとして基本周期2πの1/Nmin倍から1/N倍までの周期をもつ(N−Nmin+1)個のSIN波を合成してもよい。例えば、Nmin=3と設定した場合、周期2π、πそれぞれをもつSIN(θ)、SIN(2*θ)は使わない。そして、SIN(3*θ)からSIN(4*θ)、SIN(5*θ)、・・・、SIN(N*θ)までの(N−2)個のSIN波を合成する。
周波数成分の設定方法及び当該グラデーションタグ12が検出されたときの周波数成分の計算方法は、上記と同一である。
低周波成分(1〜Nmin−1)を使用しないようにすることにより、グラデーションタグ12の中心位置の検出誤差やグラデーションタグ12の画像に視覚歪がある場合でも、その影響を受けにくくなるというメリットがある。
また、ここではN桁全体に信号パターンを載せる方法を説明したが、これに限られることはない。N桁の一部にビット誤りを検出したり修正するための「パリティビット」を割り付けてもよい。偶数パリティ、奇数パリティ、ECC(Error Correcting Code)などのパリティビットについては公知なので、ここでは説明を省略する。パリティを割り付けることにより、識別コードの信頼性を向上できるというメリットがある。
なお、上記のいずれの水平方向もこれに限らず、上下左右などいくつかの方向にθ=0を設定し、Int(r0、θ)の値あるいはJ’(θ)の値を順次計算し、各方向の多数決をとるようにしてもよい。複数の方向について計算することにより、J(θ)を設計したときのθ=0の方向と、検出されたグラデーションタグ12に対して計算するときのθ=0の方向とがズレた場合でも、その影響を受けにくくなるというメリットがある。
また、上記の説明では、読み出す半径をr0に固定したが、これに限られない。複数の半径r1、r2、・・・について、上記のような計算を行い、各半径の多数決をとるようにしてもよい。グラデーションタグ12の一部に汚れなどが付着し、グラデーションタグ12が部分的に遮蔽された場合でも、複数の半径について計算することによりその影響を受けにくくなるというメリットがある。
この実施例のメリットは、信号パターンの先頭位置を意識することなく計算でき、グラデーションタグ12の撮像条件が変動しても影響を受けにくく、また識別コードの種類を増やせることである。
<第7の実施例>
第7の実施例においては、上述した円周方向に信号パターンを埋め込む方式の実施例である<第1の実施例>〜<第6の実施例>の各々について、信号パターンJ(θ)を半径に応じて増加させるようにする。即ち、
Int(r、θ)=I(r)+α*W(r)*J(θ) ・・・(15)
ここで、W(r)は半径rによって決まる重みである。
W(r)として、例えばグラデーションタグ12の半径Rに対するrの割合のK次多項式を採用する。即ち、
Figure 0004904755
r=0(グラデーションタグ12の中心)ではW(r)=0となり、J(θ)の影響はまったくない。グラデーションタグ12の中心(r=0)付近ではr/Rが0に近いのでW(r)の値も0に近く、従ってJ(θ)の影響は少ない。グラデーションタグ12の周縁(r=R)付近ではr/Rが1に近いのでW(r)の値も1に近く、従ってJ(θ)の影響がはっきりと現れる。
W(r)を掛けることを除いて、信号パターンJ(θ)の設定の仕方及び検出されたグラデーションタグ12からの算出の仕方は、それぞれ上記の<第1の実施例>〜<第6の実施例>と同一である。
この実施例のメリットは、信号パターンJ(θ)を半径に応じて増加させるようにすることにより、グラデーションタグ12の中心付近ではJ(θ)の影響が少なくなり、Int(r、θ)は殆どI(r)と見做せることで、グラデーションタグ12の中心の検出誤差が低減され、誤検出も減少して検出性能が向上すると共に、係数αの値を大きく取ることができるので、信号パターンJ(θ)のS/N比(耐ノイズ性)を高められることである。
<第8の実施例>
上述した円周方向に信号パターンを埋め込む方式の実施例である<第1の実施例>〜<第6の実施例>の各々について、予め定めた半径R0以内では信号パターンJ(θ)を載せないようにする。即ち、式(15)において、W(r)として、例えば次のような折れ線型の関数を採用する。即ち、
Figure 0004904755
0<=r<=R0(グラデーションタグ12の中心付近)ではW(r)=0となり、J(θ)の影響はまったくない。所定の半径R0を超えたばかりでは、(r−R0)/(R−R0)が0に近いのでW(r)の値も0に近く、従ってJ(θ)の影響は少ない。グラデーションタグ12の周縁付近では(r−R0)/(R−R0)が1に近いのでW(r)の値も1に近く、従ってJ(θ)の影響がはっきりと現れる。
W(r)を掛けることを除いて、信号パターンJ(θ)の設定の仕方及び検出されたグラデーションタグ12からの算出の仕方は、それぞれ上記の<第1の実施例>〜<第6の実施例>と同一である。
この実施例のメリットは、予め定めた半径R0以内では信号パターンJ(θ)を載せないようにすることにより、グラデーションタグの中心付近ではJ(θ)の影響がまったくなくなり、Int(r、θ)=I(r)となることで、グラデーションタグ12の中心の検出誤差が低減され、誤検出も減少して検出性能が一層向上すると共に、係数αの値をより大きく取ることができるので、信号パターンJ(θ)のS/N比(耐ノイズ性)を一層高められることである。
なお、上述した各実施例においては、半径方向の輝度変化率I’(r)が正であるとして説明したが、負の場合も同様に説明できることは明らかである。
(第4の実施の形態)
次に、本発明の第4の実施の形態においては、グラデーションタグ12の輝度パターンに対して、予め輝度の上限値あるいは下限値あるいは上下限値を設定する。
半径Rのグラデーションタグ12において、その中心(r=0)で輝度Intは最小値Iminをとり、またその周縁(r=R)で輝度Intは最大値Imaxをとるものとすると、次の関係が成立する。
Figure 0004904755
一般に、輝度は0〜255の値をとる。グラデーションタグ12を作成する際、Imin=0、Imax=255としてもいっこうに構わない。
ところが、このグラデーションタグ12を撮像すると、一般にカメラ2の絞りが働くために、画像の輝度は補正される。ここでは簡単のために、画像の輝度Ic(r)が実際の輝度Int(r)の定数(k)倍されたものとする。即ち、
Ic(r) = k*I(r)
k<1(露出アンダー)の場合、グラデーションタグ12の中心付近(r=〜0)でI(r)の値が小さいときは、Ic(r) = k*I(r) = 0(r<Ru)となることがある。この場合、Ic’(r) = 0となり、I’(r) > 0の制約を満たせないので、グラデーションタグ12を検出できない。
k>1(露出オーバー)の場合、グラデーションタグ12の周縁付近(r=〜R)でI(r)の値が大きいときは、Ic(r) = k*I(r) = 255(r>Ro)となることがある。この場合、Ic’(r) = 0となり、I’(r) > 0の制約を満たせないので、グラデーションタグ12を検出できない。
Iminをやや大きめ(例えば、50)に設定する、あるいはImaxをやや小さめ(例えば、200)に設定することにより、上記のように画像Ic(r)が飽和する範囲(r<Ru、あるいはr>Ro)を縮小できる。
本実施の形態のメリットは、グラデーションタグ12の輝度パターンに対して、予め輝度の上限値あるいは下限値あるいは上下限値を設定することにより、グラデーションタグ12を撮像する時の絞りの影響を受けずに、グラデーションタグ12の検出性能が向上することである。
(第5の実施の形態)
次に、本発明の第5の実施の形態について説明する。上述した第1〜第4の実施の形態においては、2次元の平面状のグラデーションタグ12について説明してきたが、3次元の球状のタグ(以下、「グラデーションボール120」という)においても本発明を適用可能であることを説明する。
以下では、グラデーションボール120について数式を用いて記述する。
まず、グラデーションボール120内の点Pの直交座標(x、y、z)及び極座標(r、Φ、θ)を図22に示すように定義する。
いま、グラデーションボール120の中に微粒子を分布させる。そして、微粒子の密度(体積当たりの濃度)は、球中心からの距離にのみ依存させるものとする。密度(体積当たりの微粒子濃度)をD(r)と記述する。
グラデーションボール120を任意の方向からカメラで撮影したとき、グラデーションボール120は円形として観測される。
この円形の輝度が、第1〜第4の実施の形態において述べたグラデーションタグ12の要件、即ち輝度が円中心からの半径rのみに依存し、単調に増加または減少することを以下に説明する。
円中心から半径rにある点の輝度は、グラデーションボール120の中心から距離rにあって観測視線と平行な柱に含まれる微粒子の濃度(総数)N(r)に依存する。
ここでN(r)は、次の式で表される。但し、Rはグラデーションボール120の半径である。
Figure 0004904755
また、微粒子の濃度(総数)N(r)の変化率は、次の式で計算される。但し、D’(r)は、密度(体積当たりの微粒子濃度)D(r)の半径方向の変化率である。
Figure 0004904755
式(20)において、D(r)は正なので、式の第1項の符号は負である。また、式の第2項の符号はD’(r)の符号と同じである。
そこで、D’(r)の符号を非正、即ち微粒子の密度を半径に治って一定に保つ(D’(r)=0)或いは減少させる(D’(r)<0)ようにすれば、式の第2項の符号は非正となる。
このとき、式(20)全体が表すN(r)の変化率N’(r)は常に負となる。即ち、グラデーションボール120を撮像して観測された円形の半径rにおける輝度を決める微粒子の濃度(総数)N(r)は、単調減少することになる。
<第1の実施例>
次にグラデーションボール120の作製方法について説明する。
第1の実施例では、透明な媒体(例えばガラス)の中に、吸光性(光を吸収する性質)の微粒子(例えば炭素の微粒子)を均一の密度で溶かしたものを、球形に整形する。
均一密度をD(r)=C、従ってD’(r)=0と置くと、上記の式(19)及び(20)はそれぞれ以下のようになる。
Figure 0004904755
このグラデーションボール120に光を当て、その反射光をカメラ2で撮像すると、円形が観測される。そして、その中心からrにある点では、N(r)が増大すると吸光量が増大するので輝度Int(r)は減少する。また、N(r)が減少すると吸光量が減少するので輝度Int(r)は増加する。
式(22)に示すように、半径rが増加するとN(r)が単調減少するので、輝度Int(r)が単調増加するグラデーションの画像が観測される。この画像は、第1〜4の実施の形態におけるグラデーションタグ12の輝度変化パターンを有する。この観測された画像は、第1〜4の実施の形態で説明したタグ識別装置3により検出される。
なお、ここでは吸光性の微粒子を均一密度で分散させて作製する例について説明したが、これに限られることはない。
ある密度で吸光性の微粒子を溶かした媒体で小さな球の核を作る。その外側に密度をやや減少させた媒体を例えば蒸着などの手段で付着させる。密度を徐々に減少させながら球を次第に大きくしてゆくようにして、グラデーンョンボール120を作製してもよい。
この場合、D’<0であるから、式(20)の符号は負となる。従って、当該グラデーションボール120をカメラ2で撮像すると輝度単調増加型のグラデーションの画像が観測され、タグ識別装置3により検出される。
また、ここではグラデーションボール120に光を当て、その反射光をカメラ2で撮像する例について説明したが、これに限られることはない。グラデーションボール120に光を当て、光源と反対側から透過光をカメラ2で撮像するようにしてもよい。この場合も、観測される円形において、単調減少するN(r)に応じて輝度Int(r)は単調増加する。即ち、グラデーションタグ12の輝度変化パターンを有する画像が観測され、タグ識別装置3により検出される。
<第2の実施例>
第2の実施例では、透明な媒体(例えばガラス)の中に、撥光性(光を反射する性質)の微粒子(例えば金の微粒子)を均一の密度で溶かしたものを球形に整形する。
均一密度をD(r)=C、従ってD’(r)=0と置くと、上記の式(19)及び(20)はそれぞれ(21)及び(22)のようになる。
このグラデーションボール120に光を当て、その反射光をカメラ2で撮像すると、円形が観測される。そして、その中心からrにある点では、N(r)が増大すると撥光量が増大するので輝度Int(r)は増加する。また、N(r)が減少すると撥光量が減少するので輝度Int(r)は減少する。
式(22)に示すように、半径rが増加するとN(r)が単調減少するので、輝度Int(r)は単調減少するグラデーションの画像が観測される。この観測された画像は、タグ識別装置3により検出される。
なお、ここでは撥光性の微粒子を均一密度で分散させて作製する例について説明したが、これに限られることはない。
ある密度で撥光性の微粒子を溶かした媒体で小さな球の核を作る。その外側に密度をやや減少させた媒体を例えば蒸着などの手段で付着させる。密度を徐々に減少させながら球を次第に大きくしてゆくようにして、グラデーションボール120を作製してもよい。
この場合、D’(r)<0であるから、式(20)の符号は負となる。従って.当該グラデーションボール120をカメラ2で撮像すると輝度単調減少型のグラデーションの画像が観測され、タグ識別装置3により検出される。
また、ここではグラデーションボール120に光を当て、その反射光をカメラ2で撮像する例について説明したが、これに限られることはない。グラデーションボール120に撥光性(光を反射する性質)の微粒子ではなく、発光性(自ら発光する性質)の微粒子(例えば蛍光性の微粒子)を分布させる。
この場合、グラデーションボール120に光を当てなくても、自ら発光するのでそれをカメラ2で撮像するようにしてもよい。
この場合も、観測される円形において、単調減少するN(r)に応じて輝度Int(r)は単調減少する。即ち、グラデーションの画像が観測され、タグ識別装置3により検出される。
また、第1および第2の実施例では、透明な媒体の中に微粒子を分布させる例について説明したが、これに限られることはない。
完全に透明ではない材料でグラデーションボール120を作製し、その透過光を観測すると輝度単調増加型のグラデーションタグ12の画像が観測され、タグ識別装置3により検出される。
第1〜第4の実施の形態で説明したグラデーションタグ12は平面なので、カメラ2で撮像する際の視線がタグ12の鉛直線から大きく傾くと、正しく検出できないという問題がある。例えば、グラデーションタグ12の平面とほぼ平行な視線で撮像しても、グラデーションを捉えられない。
これに対して、本実施の形態に係るグラデーションボール120は球なので、カメラ2でどの方向から撮像しても同じグラデーションが観測される。即ち、グラデーションボール120はカメラ2による撮像方向にまったく影響されずに,安定して検出することができるという効果がある。
[識別コードを埋め込む方式]
ここで、グラデーションボール120を個々に識別することを考える。
グラデーションボール120に微粒子を分布させるときの密度関数D(r)の中に、識別コ一ドに対応する特定の信号パターンを埋め込む方法について説明する。なお、D’(r)は非正(0か負)とする。また、微粒子は吸光性とし、輝度単調増加型のグラデーションボール120について説明する。
<第3の実施例>
本実施例では、識別コードに対応する特定の信号パターンとして、「D’(r)の波数」を採用する。グラデーションボール120の半径をRとする。
当該グラデーションボール120の中に内包され、中心を同じくする半径R1(R1<R)の球を設ける。
そして、当該の内包球に微粒子を一定密度D1(r)=C1(r=0〜R1)で分布させる。また、当該グラデーションボール120の残りの部分(内包球の外側。r=R1〜R)には微粒子を分布させないようにする。
このグラデーションボール120を観測すると、上記の式(19)及び(20)はそれぞれ以下のようになる。
Figure 0004904755
式(24)から、N’(r)はr=0〜R1において負の値をとり、rがR1に近付くにつれてその値は急激に減少し、r=R1〜以降は0となることが判る。即ち、N’(r)はrが内包球の半径R1になったところで不連続に大きな負の値をとる。従って、当該グラデーションボール120が検出されたとき、例えば水平方向の半径rに沿って輝度Int(r)の変化率Int’(r)を測定することにより、それと単調な関係で変化するN’(r)を推測できる。そして、もし当該グラデーションボール120に内包球が含まれていれば、その半径R1は、N’(r)が不連続に大きな負の値をとったとき、従ってInt’(r)が不連続に大きな正の値をとったときのrとして検出できる。
次に、半径R1の第1の内包球の外側に半径R2(R1<R2<R)の同心の球を設ける。そして、当該第2の内包球に一定密度D2(r)=C2(r=R1〜R2)で微粒子を分布させる。但し、C1>C2とする。
また、当該グラデーションボール120の残りの部分(第2の内包球の外側。r=R2〜R)には微粒子を分布させないようにする。
このグラデーションボール120を観測すると、上記の式(23)及び(24)はそれぞれ以下のようになる。
Figure 0004904755
式(26)から、N’(r)はr=0〜R2において負の値をとり、rがR1とR2に近付くにつれて各々その値は急激に減少し、r=R2〜以降は0となることが判る。
即ち、N’(r)はrが第1の内包球の半径R1になったところ、及び第2の内包球の半径R2になったところで不連続に大きな負の値をとる。
従って、当該グラデーションボール120が検出されたとき、例えば水平方向の半径rに沿って輝度Int(r)の変化率Int’(r)を測定することにより、それと単調な関係で変化するN’(r)を推測できる。そして、もし当該グラデーションボール120に2つの同心の内包球が含まれていれば、その半径R1及びR2は、N’(r)が不連続に大きな負の値をとったとき、従ってInt’(r)が不連続に大きな正の値をとったときの各々のrとして検出できる。
以上のことから、グラデーションボール120を異なる微粒子密度(C1>C2・・・>CN)をもつN層の同心球(中心から順に1、2、・・・、N)で構成することにより、N’(r)は不連続に大きな負の値をとり、従ってInt’(r)はN箇所で不連続に大きな正の値をとる。そして、不連続点のrからそれぞれの同心球の半径R1<R2<・・・<RNを測定することができる。なお、N=1の場合は、内包球を含まない単一のグラデーションボール120に対応する。
さて、半径Rの中にn層(n=1〜N)の異なる微粒子密度の同心球を含むようなN種類のグラデーションボール120を用意する。そして、各々をN種類の識別コード「n」(n=0〜N−1)に対応付ける。
当該グラデーションボール120が検出されたとき、その撮像であるグラデーションタグ12における「D’(r)の波数」は、グラデーションタグ12の中心から周縁まで、例えば水平方向に順次Int(r)の値を比較し、Int’(r)が急激に大きな正の値に変化する回数を計数することにより得られる。
グラデーションタグ12の周縁までの半径Rは、タグ識別装置3がグラデーションタグ12を検出する際に、計算する。
なお、上記では水平方向に順次Int(r)を調べたがこれに限らず、上下左右などいくつかの方向に順次Int(r)の変化率を計算し、各方向で得られた「D’(r)の波数」の多数決をとるようにしてもよい。グラデーションボール120の一部に汚れなどが付着し、観測されたグラデーションタグ12が部分的に遮蔽された場合でも、複数の方向について計算することによりその影響を受けにくくなるというメリットがある。
この実施例のメリットは、N層のグラデーションボール120を作製する場合、各層の半径の精度を高めなくても容易に識別コードの種類Nを増やせることである。
<第4の実施例>
第4の実施例では、識別コードに対応する特定の信号パターンとして、「D’(r)のビット列」を採用する。
即ち、グラデーションボール120の半径RをN等分し、各々の等分面を境界とするN層の同心球を設ける。各々の球の半径は、R/N,2R/N,・・・、Rである。
そして、これらN層の微粒子密度を、各々C1,C2,・・・、CNとする。
今、中心からn番目の球と、その球の外側にある(n+1)番目の球を見る。
もし、両者の微粒子密度が異なる(Cn>Cn+1)場合は、上記の式(26)からわかるように、両者の境界r=n*R/Nにおいて、N’(r)は不連続に大きな負の値をとる。
一方、もし、両者の微粒子密度が同じ(Cn=Cn+1)場合は、上記の式(26)からわかるように、両者の境界r=n*R/Nにおいて、N’(r)は不連続に大きな負の値はとらない。
以上のことから、グラデーションボール120をN層の同心球(中心から順に1,2,・・・、N)で構成し、隣接する層の微粒子密度を違える(Cn>Cn+1)か同じにする(Cn=Cn+1)かによって、境界r=RnにおけるN’(r)の不連続に大きな負の値、従ってInt’(r)の不連続に大きな正の値の「有り」か「無し」かを設定することができる。
(N−1)個の境界r=R1、R2、・・・、RN−1におけるInt’(r)の大きな正の変化の「有り」/「無し」をそれぞれ「1」/「0」と見なせば、(N−1)桁の2進数となる。
なお、N層の同心球の微粒子密度を違えるか同じにするかには関わりなく、N’(r)従ってInt’(r)が不連続に大きな値を少なくとも1回はとる。それは、グラデーションボール120の周縁(r=R)で起こる。
さて、半径Rの中に(N−1)個の境界で微粒子密度を減少ないしは同一にしたような2(N-1)種類のグラデーションボール120を用意する。そして、各々を2(N-1)種類の識別コード「n」(n=0〜2(N-1)−1)に対応付ける。
当該グラデーションボール120が検出されたとき、その撮像であるグラデーションタグ12における「D’(r)のビット列」は、グラデーションタグ12の中心から周縁まで、例えば水平方向に順次Int(r)の値を比較し、Int’(r)が急激に大きな正の値に変化する有無を判定することにより得られる。
グラデーションタグ12の周縁までの半径Rは、タグ識別装置3がグラデーションタグ12を検出する際に、計算する。
そして、r=n*R/N(n=1,2,・・・,N−1)におけるInt’(r)の値を所定の閾値と比較して、急変の有/無を判定し、各々1/0に置き換えて並べることにより、2進数を得る。
なお、上記では水平方向に順次Int(r)を調べたがこれに限らず、上下左右などいくつかの方向に順次Int(r)の変化率を計算し、各方向で得られたInt’(r)の急変の有/無の多数決をとるようにしてもよい。グラデーションボール120の一部に汚れなどが付着し、観測されたグラデーションが部分的に遮蔽された場合でも、複数の方向について計算することによりその影響を受けにくくなるというメリットがある。
また、ここでは(N−1)桁全体に信号パターンを載せる方法を説明したが、これに限られることはない。(N−1)桁の一部にビット誤りを険出したり修正するための「パリティビット」を割り付けてもよい。偶数パリティ、奇数パリティ、ECC(Error Correctin Code)などのパリティビットについては公知なので、ここでは説明を省略する。パリティを割り付けることにより、識別コードの信頼性を向上できるというメリットがある。この実施例のメリットは、識別コードの種類を大幅に増やせることである。
<第5の実施例>
第5の実施例では、識別コードに対応する特定の信号パターンとして、「D’(r)に基づく複比」を採用する。即ち、グラデーションボール120の中に、3つの同心球を設ける。各々の球の半径を内側から順にR1、R2、R3とする。そして、微粒子密度を、各々C1、C2、C3とする。但し、C1>C2>C3とする。
このグラデーションボール120を観測すると、上記の第3の実施例で述べたように、3つの同心球の半径R1、R2、R3は、輝度の変化率Int’(r)が不連続に大きな正の値をとるrとして検出できる。
いま、グラデーションボール120の中心から1本の直線をとり、半径R1、R2、R3にある当該直線上の点をそれぞれ1,2,3とする。また、中心点を0とする。そして、点iと点jとで挟まれた区間の長さをLijと表すことにする。
ここで一直線上の4点0,1,2,3に関する複比は、次の式で計算される。
(L12*L03)/(L02*L13)
よく知られているように、上記の複比は幾何学的不変量である。即ち、一直線上に並んだ4点0,1,2,3を如何なる距離や方向から撮像しても、その画像から当該4点を検出し、それらで挟まれた区間の長さLijを計算し、上記の複比を計算すると、その値は一定(不変)である。
グラデーションボール120を作製したときの3点1,2,3の半径R1、R2、R3を使うと、上記の複比の値は次のようになる。
{(R2−R1)*R3}/{R2*(R3−R1)}
さて、半径R1、R2、R3で、微粒子密度C1,C2,C3の3同心球を含むようなグラデーションボール120を用意する。そして、上記の複比の値を識別コードとして対応付ける。
タグ識別装置3により当該グラデーションボール120が検出されたとき、その撮像であるグラデーションタグ12における「D’(r)に基づく複比」は、グラデーションタグ12の中心から、例えば水平方向に順次Int(r)の値を比較し、Int’(r)が急激に大きな正の値に変化する3個所のr(r1、r2、r3)を検出し、次の複比を計算することにより得られる。
{(r2−r1)*r3/{r2*(r3−r1)}
なお、上記では水平方向に順次Int(r)を調べたが、これに限らず、上下左右などいくつかの方向に順次Int(r)の変化率を計算し、各方向で得られた「D’(r)に基づく複比」の平均をとるようにしてもよい。複数の方向について計算することにより、検出されたグラデーションタグ12の変化点計測に誤差があった場合でも、その影響を受けにくくなるというメリットがある。また、グラデーションボール120の一部に汚れなどが付着し、観測されたグラデーションタグ12が部分的に遮蔽された場合でも、複数の方向について計算することによりその影響を受けにくくなるというメリットがある。
また、識別コードとして複比の値をそのまま使う場合を説明したが、これに限られない。上記のように計算された複比の値CRを所定の単位Qで量子化したものを識別コードとして使用してもよい。即ち、
識別コード=[CR/Q]
但し、[a]は、実数aの小数点以下を切り捨てた整数を表す。
量子化した複比の値を識別コードとして使用することにより、変化点の半径を計測する際に含まれる誤差の影響を低減できるというメリットがある。
更に、3つの同心球によってグラデーションボール120を構成する場合を説明したが、これに限られない。第4の半径R4(R3<R4)の同心球を設けてもよい。第4の同心球で内側の3つの同心球を保護することにより、磨耗や破損によって第3の同心球の半径R3が変化することを防止し、計算される識別コードの誤りをなくせるというメリットがある。
この実施例のメリットは、グラデーションボール120の検出サイズ(半径R)に依存せず、またグラデーションボール120の撮像時の視覚歪の影響を受けずに、識別コードを安定して検出できることである。更に、3つの半径R1、R2、R3の組み合わせにより、識別コードを大幅に増やせることである。
なお、上記の第3〜第5の実施例では、輝度単調増加型のグラデーションボール120について説明したが、輝度単調減少型のグラデーションボール120についてもN’(r)の急変に伴うInt’(r)の急変の値が負の値となることを除き、同様に扱うことができる。
以上説明したように、グラデーションタグ12やグラデーションボール120をカメラ2で撮像することにより得られた2次元の円形状のグラデーション画像は、中心点から半径方向に沿った輝度変化パターンが全半径方向で同一であるため、撮像される際の状況の変化の影響を受けにくく、また画像識別するために多数の変形テンプレートを用意する必要もなく単一のテンプレートで対応できるという効果がある。
また、グラデーション画像の半径方向及び円周方向に沿った輝度変化パターンには識別コードに対応した信号パターンが埋め込まれているため、識別コードを判別し、グラデーションタグ12やグラデーションボール120が付された対象物を一意に識別することが可能となる。
そして、本発明に係る画像識別システムは、撮像時の照明条件、或いは、グラデーションタグ12やグラデーションボール120と撮像手段との相対位置関係に関係なく、グラデーションタグ12やグラデーションボール120をより確実で高速に識別することができる。
なお、上述した各種実施例及び変形例を適宜組み合わせて多様なグラデーションタグ12やグラデーションボール120を作成することが可能である。
あらゆる対象物の位置や対象物自体を識別することが可能となる。
本発明の第1の実施の形態に係る画像識別システムの構成を示す図である。 同実施の形態に係るタグ識別装置の機能構成を示すブロック図である。 画像識別用タグの中心点から離れるに従って輝度が減少するパターン及び増加するパターンの一例を示す図である。 画像識別用タグの輝度及び中心点からの距離との関係を示すグラデーショングラフの一例を示す図である。 画像識別用タグの輝度及び中心点からの距離との関係を示すグラデーショングラフの他の一例を示す図である。 方向符号の生成を説明するための概略図の一例である。 第2の実施の形態に係るタグ識別装置の機能構成を示す他のブロック図である。 第3の実施の形態に係る画像識別システムの構成を示す図である。 グラデーションタグ内の点Pの直交座標及び極座標の定義を示す図である。 特定の信号パターン(I’(r)の傾き)と識別コードとの対応付けの一例を示す図である。 特定の信号パターン(I’(r)の形態)と識別コードとの対応付けの一例を示す図である。 特定の信号パターン(I’(r)の波数)と識別コードとの対応付けの一例を示す図である。 半径方向の輝度変化率から特定の信号パターン(I’(r)のビット列)を抽出する様子を示す図である。 半径方向の輝度変化率から特定の信号パターン(I’(r)の数値列)を抽出する様子を示す図である。 半径方向に識別コードに対応した信号パターンを埋め込む場合に、各実施例において作成されたグラデーションタグの一例を示す図である。 特定の信号パターン(J(θ)の形態)と識別コードとの対応付けの一例を示す図である。 特定の信号パターン(J(θ)の波数)と識別コードとの対応付けの一例を示す図である。 円周方向の輝度から特定の信号パターン(J(θ)のビット列)を抽出する様子を示す図である。 円周方向の輝度から特定の信号パターン(J(θ)のビット列)を抽出する様子を示す図である。 円周方向の輝度から特定の信号パターン(J(θ)の数値列)を抽出する様子を示す図である。 円周方向に識別コードに対応した信号パターンを埋め込む場合に、各実施例において作成されたグラデーションタグの一例を示す図である。 第5の実施の形態に係るグラデーションボール内の点Pの直交座標及び極座標の定義を示す図である。
符号の説明
1 バーコードリーダ
2 カメラ
3 タグ識別装置
4 バーコード識別装置
5 バーコード情報処理装置
10 商品
11 バーコード
12 グラデーションタグ
31 部分画像抽出部
32 方向符号演算部
33 タグ方向符号
33A 記憶部
34 方向符号比較部
35 タグ座標演算部
36 マスク生成処理部
37 信号パターン抽出部
38 識別コード判別部
120 グラデーションボール

Claims (16)

  1. 対象物に付され画像処理により識別される画像識別用タグであって、
    撮像された場合の画像が円形を成し、この円の中心点を起点として半径方向に沿った輝度変化パターンが全半径方向で同一であり、且つ前記輝度変化パターンは、前記中心点から離れるに従って徐々に輝度が低くなる減少パターン及び徐々に輝度が高くなる増加パターンの何れか一方であって、さらに撮像された場合の円形の画像の半径方向に沿った輝度変化パターンには、識別コードに対応した信号パターンが埋め込まれ、当該信号パターンは前記半径方向に沿った輝度変化率で表されることを特徴とする画像識別用タグ。
  2. 自タグ内の輝度値は、当該輝度値として設定可能な最大輝度よりも小さい値に設定された上限値と、前記輝度値として設定可能な最小輝度よりも大きい値に設定された下限値と、の範囲内にあることを特徴とする請求項1記載の画像識別用タグ。
  3. 光を透過させる球体で構成され、この球体内に吸光性と撥光性と発光性との何れか1の性質を有する粒子が所定の密度で分布していることを特徴とする請求項1または請求項2記載の画像識別用タグ。
  4. 請求項1からの何れか1項に記載された画像識別用タグと、この画像識別用タグが付された対象物の画像を撮像可能な撮像手段と、この撮像手段が撮像した画像である対象画像から前記タグを識別するタグ識別手段と、を備えたことを特徴とする画像識別システム。
  5. 前記タグ識別手段は、前記タグを識別可能な特徴情報を記憶しており、前記対象画像から前記特徴情報と比較可能な比較情報を取得し、この比較情報と前記特徴情報とを比較し、その比較結果に基づいて前記タグを識別することを特徴とする請求項に記載の画像識別システム。
  6. 前記タグ識別手段は、前記特徴情報を生成するのに用いた画像領域と同じ大きさの部分画像を前記対象画像から順次抽出し、この抽出された部分画像毎に前記比較情報を取得することを特徴とする請求項に記載の画像識別システム。
  7. 前記特徴情報及び前記比較情報は、画素毎の輝度の最大増加方向及び最大減少方向の何れか一方を表す方向符号であることを特徴とする請求項又はに記載の画像識別システム。
  8. 前記タグ識別手段は、前記対象画像の各画素毎に、その画素の輝度値と、それに隣接する他の画素の輝度値との差を演算し、その演算結果に基づいて各画素毎の前記比較情報としての前記方向符号を求めることを特徴とする請求項に記載の画像識別システム。
  9. 前記タグ識別手段は、前記対象画像の各画素毎に輝度の最大増加方向及び最大減少方向の何れか一方を表す方向符号を計算し、その計算された方向符号に基づいてタグの候補領域を選択し、その選択されたタグの候補領域に対して前記比較を行うことを特徴とする請求項からの何れか1項に記載の画像識別システム。
  10. 前記タグの候補領域を選択する処理は、一の画素の方向符号とそれに隣接する他の画素の方向符号との差が所定しきい値以下である場合に、それら一の画素と他の画素とを同一のグループに分類するという分類処理を、前記対象画像全体に対して実行し、その分類処理の結果得られたグループのうち、予め定めた選出基準により選出されたグループの画像を前記タグの候補領域として選択する処理であることを特徴とする請求項に記載の画像識別システム。
  11. 前記タグ識別手段は、
    撮像された前記画像識別用タグの画像の、前記信号パターンが埋め込まれた方向である所定方向に沿った輝度変化パターンから、特定の信号パターンを抽出する信号パターン抽出手段と、
    前記信号パターン抽出手段により抽出された特定の信号パターンに基づいて前記画像識別用タグと対応付けられている識別コードを判別する識別コード判別手段とを備えることを特徴とする請求項から10の何れか1項に記載の画像識別システム。
  12. 前記特定の信号パターンは、前記所定方向に沿った輝度変化率の変化を表すグラフの形態であることを特徴とする請求項11に記載の画像識別システム。
  13. 前記特定の信号パターンは、前記所定方向に沿った輝度変化率の変化を表すグラフに現れた波数であることを特徴とする請求項11に記載の画像識別システム。
  14. 前記信号パターン抽出手段は、前記所定方向に沿った区間での輝度変化率に関する値と所定の閾値との比較結果に基づき、2値で表される特定の信号パターンを抽出することを特徴とする請求項11に記載の画像識別システム。
  15. 前記信号パターン抽出手段は、前記所定方向に沿った区間での輝度変化率に関する値が所定の閾値の何倍かを示す値を特定の信号パターンとして抽出することを特徴とする請求項11に記載の画像識別システム。
  16. 前記信号パターン抽出手段は、前記所定方向に沿った輝度変化率が所定の閾値を超えた巾で変化する点で区切られる区間の長さに関する比の値を特定の信号パターンとして抽出することを特徴とする請求項11に記載の画像識別システム。
JP2005278345A 2005-02-09 2005-09-26 画像識別用タグおよび画像識別システム Expired - Fee Related JP4904755B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005278345A JP4904755B2 (ja) 2005-02-09 2005-09-26 画像識別用タグおよび画像識別システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005033024 2005-02-09
JP2005033024 2005-02-09
JP2005278345A JP4904755B2 (ja) 2005-02-09 2005-09-26 画像識別用タグおよび画像識別システム

Publications (2)

Publication Number Publication Date
JP2006252522A JP2006252522A (ja) 2006-09-21
JP4904755B2 true JP4904755B2 (ja) 2012-03-28

Family

ID=37092896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005278345A Expired - Fee Related JP4904755B2 (ja) 2005-02-09 2005-09-26 画像識別用タグおよび画像識別システム

Country Status (1)

Country Link
JP (1) JP4904755B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6006676B2 (ja) * 2013-05-15 2016-10-12 日本電信電話株式会社 マーカ埋め込み装置、マーカ検出装置、マーカ埋め込み方法、マーカ検出方法、及びプログラム
JP6006675B2 (ja) * 2013-05-15 2016-10-12 日本電信電話株式会社 マーカ検出装置、マーカ検出方法、及びプログラム
JP6006698B2 (ja) * 2013-08-27 2016-10-12 日本電信電話株式会社 マーカ埋め込み装置、マーカ検出装置、マーカ埋め込み方法、マーカ検出方法、及びプログラム
JP6088410B2 (ja) * 2013-12-03 2017-03-01 日本電信電話株式会社 マーカ埋め込み装置及びマーカ埋め込みプログラム、並びにマーカ検出装置及びマーカ検出プログラム
JP6101656B2 (ja) * 2014-03-28 2017-03-22 日本電信電話株式会社 マーカ埋め込み装置、マーカ検出装置、及びプログラム
CN117830306B (zh) * 2024-03-04 2024-05-03 苏州宣雄智能科技有限公司 基于全息图的产品标签图像检测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3852125B2 (ja) * 1996-03-14 2006-11-29 コニカミノルタホールディングス株式会社 2次元多階調画像におけるパタン検出方法及び装置
JP2001319197A (ja) * 2000-03-06 2001-11-16 Nonomura Tomosuke 情報媒体および情報検出装置と情報媒体書き込み装置とその使用方法

Also Published As

Publication number Publication date
JP2006252522A (ja) 2006-09-21

Similar Documents

Publication Publication Date Title
CN109791623B (zh) 具有包括物理表面的基底的制品及其构造方法
CN107862303B (zh) 表格类图像的信息识别方法、电子装置及可读存储介质
JP4904755B2 (ja) 画像識別用タグおよび画像識別システム
US9053364B2 (en) Product, image, or document authentication, verification, and item identification
RU2678485C1 (ru) Способ сегментации и распознавания символов
CN104781834B (zh) 二维码、二维码的生成系统以及分析程序
Bergamasco et al. Pi-tag: a fast image-space marker design based on projective invariants
JP2019534507A (ja) 静的データ及び動的ルックアップデータ光学要素セットを含む多次元光コード
US10937168B2 (en) System and method for finding and classifying lines in an image with a vision system
US10423827B1 (en) Image text recognition
JP7140453B2 (ja) 光学活性物品上に配置された記号内へのデータのエンコード
Kurnianggoro et al. A survey of 2D shape representation: Methods, evaluations, and future research directions
US20180341810A1 (en) Recognition Process Of An Object In A Query Image
US20120033852A1 (en) System and method to find the precise location of objects of interest in digital images
CN109791624A (zh) 用于机读制品的遮蔽弹性光学代码
CN102460478A (zh) 二维符号代码和用于读取符号代码的方法
CN104781835B (zh) 二维码
US20150262051A1 (en) Dot pattern, dot pattern formation medium, program generating image data of dot pattern, dot pattern formation device, optical device, optical reading device, information input/output device, dot pattern reading device
CN113158895B (zh) 票据识别方法、装置、电子设备及存储介质
RU2729399C1 (ru) Способ обнаружения и распознавания визуальных маркеров большой дальности и высокой плотности
CN106462785A (zh) 二维码以及二维码的分析系统
Bergamasco et al. Image-space marker detection and recognition using projective invariants
Lertsawatwicha et al. A novel stock counting system for detecting lot numbers using Tesseract OCR
EP0996079B1 (en) Method for locating codes in bidimensional images
CN116469090A (zh) 喷码图案的检测方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080812

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111226

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees