Nothing Special   »   [go: up one dir, main page]

JP2016105276A - 2次元マトリックスシンボルを復号するためのシステムおよび方法 - Google Patents

2次元マトリックスシンボルを復号するためのシステムおよび方法 Download PDF

Info

Publication number
JP2016105276A
JP2016105276A JP2015225405A JP2015225405A JP2016105276A JP 2016105276 A JP2016105276 A JP 2016105276A JP 2015225405 A JP2015225405 A JP 2015225405A JP 2015225405 A JP2015225405 A JP 2015225405A JP 2016105276 A JP2016105276 A JP 2016105276A
Authority
JP
Japan
Prior art keywords
module
symbol
image
data
processor
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.)
Granted
Application number
JP2015225405A
Other languages
English (en)
Other versions
JP6975526B2 (ja
Inventor
イェ キアンユン
Xiangyun Ye
イェ キアンユン
ワン キアンユ
Xianju Wang
ワン キアンユ
エイ ネグロ ジェイムズ
A Negro James
エイ ネグロ ジェイムズ
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.)
Cognex Corp
Original Assignee
Cognex Corp
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 Cognex Corp filed Critical Cognex Corp
Publication of JP2016105276A publication Critical patent/JP2016105276A/ja
Application granted granted Critical
Publication of JP6975526B2 publication Critical patent/JP6975526B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • G06K7/10732Light sources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1473Methods for optical code recognition the method including quality enhancement steps error correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

【課題】2次元マトリックスシンボルを読み取り、または、2次元マトリックスシンボルが復号可能であるか否かを判定するためのシステムを提供する。【解決手段】2次元マトリックスシンボルを読み取り、または、2次元マトリックスシンボルが復号可能であるか否かを判定するためのシステムおよび方法が開示される。システムおよび方法は、画像を受信し、固定パターンを使用することなく画像内のデータモジュールの少なくとも一部分を位置特定し、画像からモジュール部分のモデルを当てはめ、モデルを推定して予測モジュール位置をもたらし、予測モジュール位置にある画像からモジュール値を判定し、モジュール値からバイナリマトリックスを抽出するデータ読み取りアルゴリズムを含むことができる。【選択図】図1

Description

本発明の技術は、イメージングシステムおよびシンボルを復号するための方法に関し、より詳細には、固定パターンが不完全であるかまたは欠如している2次元マトリックスシンボルを読み取るためのイメージングシステムおよび方法に関する。
イメージングシステムは、観察される対象物に関する情報を送達するために画像センサを含む画像取得デバイスを使用する。システムはその後、様々なアルゴリズムに従ってこの情報を解釈して、プラグラムされた意思決定および/または識別機能を実施する。画像が、可視光および近可視光範囲内でセンサによって最も効率的に取得されるために、対象物は一般的に照明される。
画像センサを使用したシンボル読み取り(一般的に「バーコード」スキャンとも称される)は、光学素子(レンズ)およびセンサ(CMOSカメラ、CCDなど)を、シンボル(たとえば「バーコード」)を含む物体上の位置に向けること、および、そのシンボルの画像を取得することを含む。シンボルは、付属のデータプロセッサ(たとえば、マイクロコンピュータ)がそこから物体に関する有用な情報(たとえば、そのシリアルナンバー、型、モデル、価格など)を導出することができる文字または形状の順序付けされたグループを表す所定パターンのセットを含む。シンボル/バーコードは様々な形状およびサイズで利用可能である。物体をマーキングおよび識別するのに使用される、最も一般的に利用されているシンボルタイプの2つが、幅が変動する一連の棒および空間から構成されている、いわゆる1次元バーコード、ならびに、点または長方形の2次元アレイから構成されている、いわゆる2次元バーコードである。
一般的にシンボル読み取りにおいて、シンボル/バーコードは、最初に固定パターン、たとえば、ファインダーパターンを位置特定することによって識別される。固定パターンが損傷しているかまたは欠如している場合、読み取り機はシンボルを読み取ることができない。損傷した固定パターンに対処するための近年の試行において、長方形シンボルの隅の位置を判定することを含む試みが為されている。しかしながら、これらの試行には、シンボル/バーコード内の固定点を識別する必要があり、シンボルが損傷していることに起因して固定点を位置特定することができない場合は役に立たない。
特に、固定パターンが損傷しているかまたは欠如しているシンボル/バーコードに関係する欠点を克服するために、シンボルを復号するための改善されたシステムおよび方法が必要とされている。
一態様において、本開示は、2次元マトリックスシンボルを読み取り、または、2次元マトリックスシンボルが復号可能であるか否かを判定するためのシステムを提供する。2次元マトリックスシンボルは、不完全な固定パターンを含むか、または固定パターンを含まない可能性がある。2次元マトリックスシンボルは、データセットを符号化することができる。システムは、イメージングデバイスおよびプロセッサを含むことができる。システムは任意選択的に、バイナリマトリックス復号器を含んでもよい。イメージングデバイスは、2次元マトリックスシンボルの少なくとも一部分を含む画像を取得するように構成することができる。プロセッサは、イメージングデバイスに動作可能に結合することができる。プロセッサは、データ読み取りアルゴリズムを実行するように構成することができる。データ読み取りアルゴリズムは、画像を受信し、固定パターンを使用することなく画像内のデータモジュールの少なくとも一部分を位置特定し、画像からモジュール部分のモデルを当てはめ、モデルを推定して予測モジュール位置をもたらし、予測モジュール位置にある画像からモジュール値を判定し、モジュール値からバイナリマトリックスを抽出することができる。バイナリマトリックス復号器は、プロセッサに動作可能に結合することができる。バイナリマトリックス復号器は、バイナリマトリックスを復号する復号アルゴリズムを実行するように構成することができる。データ読み取りアルゴリズムは、周波数ドメイン解析を含むことができる。
別の態様において、本開示は、2次元マトリックスシンボルを読み取る方法を提供する。2次元マトリックスシンボルは、各々がモジュール値およびモジュール位置を有するデータモジュールを含むことができる。2次元マトリックスシンボルは、不完全な固定パターンを含むか、または固定パターンを含まない可能性がある。2次元マトリックスシンボルは、データセットを符号化することができる。方法は、プロセッサにおいて画像を受信するステップであって、画像は、2次元マトリックスシンボルの少なくとも一部分を含む、受信するステップと、プロセッサを使用して、固定パターンを使用することなく画像内のデータモジュールの少なくとも一部分を位置特定するステップと、プロセッサを使用して、画像からモジュール位置の少なくとも一部分にモデルを当てはめるステップと、プロセッサを使用して、予測モジュール位置を規定するためにモデルを推定するステップと、プロセッサを使用して、予測モジュール位置にある画像からモジュール値を判定するステップと、プロセッサを使用して、モジュール値からバイナリマトリックスを抽出するステップと、バイナリマトリックスを復号するステップとのうちの1つまたは複数を含むことができる。
本発明は、以下の番号を付された項目をさらに含む:
1.各々がモジュール値およびモジュール位置を有するデータモジュールを含む2次元マトリックスシンボルを読み取るためのシステムであって、2次元マトリックスシンボルはデータセットを符号化し、イメージングデバイスであって2次元マトリックスシンボルの少なくとも一部分を含む画像を取得するように構成されているイメージングデバイスと、イメージングデバイスに動作可能に結合され、データ読み取りアルゴリズムを実行するプロセッサであって、データ読み取りアルゴリズムは画像を受信し、固定パターンを使用することなく画像内のデータモジュールの少なくとも一部分を位置特定し、画像からモジュール位置のモデルを当てはめ、モデルを推定して予測モジュール位置をもたらし、予測モジュール位置にある画像からモジュール値を判定し、および、モジュール値からバイナリマトリックスを抽出することを行うように構成されている、プロセッサと、プロセッサに動作可能に結合されているバイナリマトリックス復号器であって、バイナリマトリックス復号器は、バイナリマトリックスを復号する復号アルゴリズムを実行するように構成されている、バイナリマトリックス復号器とを備える、システム;
2.データ読み取りアルゴリズムは、エラー訂正ルーチンを使用してバイナリマトリックス内のエラーを訂正する、項目1のシステム;
3.システムは、1つまたは複数の照明特徴を用いて画像の目標を照明する照明器を含む、項目1のシステム;
4.データ読み取りアルゴリズムは、照明特徴を使用して、画像内のデータモジュールの少なくとも一部分を位置特定する、項目3のシステム;
5.データモジュールの少なくとも一部分を位置特定することは、データモジュールの1つまたは複数の顕著な特徴を識別することを含み、該顕著な特徴が、形状、サドルの存否、隅の存否、点の存否、勾配、ヒストグラム、ウェーブレット、およびそれらの組み合わせから成る群から選択される、項目1のシステム;
6.プロセッサまたはバイナリマトリックス復号器は、複数のシンボルタイプを推定または復号するように構成されている、項目1のシステム;
7.複数のシンボルタイプは、データマトリックス、QRコード(登録商標)、Aztecコード、MaxiCode、およびそれらの組み合わせから成る群から選択される、項目6のシステム;
8.データ読み取りアルゴリズムは、2次元マトリックスシンボルの属性を含む、項目1のシステム;
9.データ読み取りアルゴリズムは、プロセッサに対する単一のコマンドによって実行することができる、項目1のシステム;
10.各々がモジュール値およびモジュール位置を有するデータモジュールを含む2次元マトリックスシンボルを読み取り、2次元マトリックスシンボルはデータセットを符号化する方法であって、プロセッサにおいて2次元マトリックスシンボルの少なくとも一部分を含む画像を受信するステップと、プロセッサを使用して、固定パターンを使用することなく画像内のデータモジュールの少なくとも一部分を位置特定するステップと、プロセッサを使用して、画像からモジュール位置の少なくとも一部分にモデルを当てはめるステップと、プロセッサを使用して、予測モジュール位置を規定するためにモデルを推定するステップと、プロセッサを使用して、予測モジュール位置にある画像からモジュール値を判定するステップと、プロセッサを使用して、モジュール値からバイナリマトリックスを抽出するステップと、バイナリマトリックスを復号するステップとを含む、方法;
11.方法は、プロセッサを使用して、エラー訂正ルーチンを使用してバイナリマトリックス内のエラーを訂正するステップをさらに含む、項目10の方法;
12.方法は、2次元マトリックスシンボルまたは2次元マトリックスシンボルに近い箇所を照明するステップをさらに含む、項目10の方法;
13.データモジュールの少なくとも一部分を位置特定するステップは、データモジュールの1つまたは複数の顕著な特徴を識別するステップを含み、該顕著な特徴が、形状、サドルの存否、隅の存否、点の存否、勾配、ヒストグラム、ウェーブレット、およびそれらの組み合わせから成る群から選択される、項目10の方法;
14.方法は、複数のシンボルタイプを推定または復号するよう試行するステップを含む、項目10の方法;
15.複数のシンボルタイプは、データマトリックス、QRコード(登録商標)、Aztecコード、MaxiCode、およびそれらの組み合わせから成る群から選択される、項目14の方法;
16.方法は、画像を受信する前に2次元マトリックスシンボルの1つまたは複数の属性を含むようにプロセッサを訓練するステップをさらに含む、項目10の方法;
17.方法は、プロセッサに対する単一のコマンドによって実行することができる、項目10の方法;
18.2次元マトリックスシンボルが復号可能であるか否かを判定するためのシステムであって、2次元マトリックスシンボルは、各々がモジュール値およびモジュール位置を有するデータモジュールを含み、2次元マトリックスシンボルを含む画像を取得するように構成されているイメージングデバイスと、イメージングデバイスに動作可能に結合され、データ読み取りアルゴリズムを実行し、データ読み取りアルゴリズムは画像を受信し、固定パターンを使用することなく画像内のデータモジュールの少なくとも一部分を位置特定し、画像からモジュール位置のモデルを当てはめ、モデルを推定して予測モジュール位置をもたらし、予測モジュール位置にある画像からモジュール値を判定し、および、モジュール値からバイナリマトリックスを抽出することを行うように構成され、データ読み取りアルゴリズムは周波数ドメイン解析を含む、プロセッサとを備える、システム;
19.データ読み取りアルゴリズムは、周波数ドメイン解析を使用してモデルを当てはめる、項目18のシステム;
20.システムは、プロセッサに動作可能に結合されているバイナリマトリックス復号器をさらに備え、バイナリマトリックス復号器は、バイナリマトリックスを復号する復号アルゴリズムを実行するように構成されている、項目18のシステム。
本発明の上記のおよび他の態様および利点は、以下の説明から明らかになる。その説明において、本明細書の一部を形成し、本発明の好ましい実施形態が例として示されている添付の図面を参照する。しかしながら、そのような実施形態は必ずしも本発明の全範囲を表すものではなく、それゆえ、本発明の範囲を解釈するためには特許請求の範囲および本明細書が参照される。
以下の本発明の詳細な説明に考察が与えられると、本発明は、より良好に理解されることになり、上記に記載されている以外の特徴、態様および利点が明らかになる。そのような詳細な説明は、添付の図面を参照する。
本発明の実施形態による、物体の複数の画像を取得するための固定スキャナを含む一般的な資格システム構成の概略図である。 特定の2次元マトリックスシンボルの特徴およびスタイルの図である。 特定の2次元マトリックスシンボルの特徴およびスタイルの図である。 特定の2次元マトリックスシンボルの特徴およびスタイルの図である。 特定の2次元マトリックスシンボルの特徴およびスタイルの図である。 特定の2次元マトリックスシンボルの特徴およびスタイルの図である。 特定の2次元マトリックスシンボルの特徴およびスタイルの図である。 画像内の2次元マトリックスシンボルおよび背景クラッタの図である。 本開示による、2次元マトリックスシンボル読み取り方法の一態様を示す流れ図である。 QRコード(登録商標)マトリックスシンボルの一例の図である。 Aztecコードマトリックスシンボルの一例の図である。 MaxiCodeマトリックスシンボルの一例の図である。 QRコード(登録商標)マトリックスシンボルの一例の図である。 Aztecコードマトリックスシンボルの概略図である。 Aztecコードマトリックスシンボルの特定の部分の概略図である。 MaxiCodeマトリックスシンボルの固定パターン部分の概略図である。 MaxiCodeマトリックスシンボル内のデータ領域の概略図である。 本開示による、任意選択のサブルーチンを示す流れ図である。 本開示による、当てはめサブルーチンを示す流れ図である。 本開示による、任意選択のロバスト性サブルーチンを示す流れ図である。 本開示による、抽出サブルーチンを示す流れ図である。
本発明の技術は様々な修正および代替形態を許容するが、その特定の実施形態が例として図面に示されており、本明細書において詳細に説明される。しかしながら、特定の実施形態の本明細書における説明は、本発明の技術を開示されている特定の形態に限定するようには意図されておらず、逆に、その意図するところは、添付の特許請求の範囲によって規定されるものとしての本発明の技術の精神および範囲内に入るすべての修正、均等物、および代替物を包含することである。
本発明の主題の技術の様々な態様を、これより添付の図面を参照して説明する。図面において、同様の参照符号は、いくつかの図全体を通じて同様の要素に対応する。しかしながら、図面および以降のそれに関係する詳細な説明は、特許請求されている主題を開示されている特定の形態に限定するようには意図されていない。むしろ、その意図するところは、特許請求されている主題の精神および範囲内に入るすべての修正、均等物、および代替物を包含することである。
本明細書において使用されるものとしては、「構成要素」、「システム」、「デバイス」などという用語は、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかを指すように意図される。「例示的な」という単語は、本明細書においては、例、事例、または例示としての役割を果たすことを意味するものとして使用される。「例示的」として本明細書に記載されている任意に態様または設計は、必ずしも他の態様または設計よりも好ましいかまたは有利であるものとして解釈されるべきではない。
さらに、開示されている主題は、本明細書に詳述されている態様を実装するための電子機器ベースのデバイスを制御するために、標準的なプログラミングおよび/もしくはエンジニアリング技術、ならびに/または、ハードウェア、ファームウェア、ソフトウェア、もしくはそれらの任意の組み合わせを製造するためのプログラミングを使用したシステム、方法、装置、または製造品として実装されてもよい。
別途指定または限定しない限り、「接続されている」および「結合されている」ならびにそれらの変化形は、広範に使用され、直接的および間接的の両方の取り付け、接続、支持、および結合を包含する。さらに、「接続されている」および「結合されている」は、物理的または機械的接続または結合には制限されない。本明細書において使用されるものとしては、別途明確に記述しない限り、「接続されている」とは、1つの要素/機構が別の要素/機構に直接的または間接的に接続されていることを意味し、必ずしも電気的にまたは機械的にではない。同様に、別途明確に記述しない限り、「結合されている」とは、1つの要素/機構が別の要素/機構に直接的または間接的に結合されていることを意味し、必ずしも電気的にまたは機械的にではない。
本明細書において使用されるものとしては、「プロセッサ」という用語は、1つもしくは複数のプロセッサおよびメモリならびに/または1つもしくは複数のプログラム可能ハードウェア要素を含んでもよい。本明細書において使用されるものとしては、「プロセッサ」という用語は、任意のタイプのプロセッサ、CPU、マイクロコントローラ、デジタル信号プロセッサ、または、ソフトウェア命令を実行することが可能な他のデバイスを含むように意図される。
本明細書において使用されるものとしては、「メモリ」という用語は、磁気媒体、ハードディスク、光学式記憶装置、またはフラッシュメモリ等の不揮発性媒体や、DRAM,SRAM,EDO RAM,RAMBUS RAM,DR DRAMなどのランダムアクセスメモリ(RAM)のようなシステムメモリ等の揮発性媒体、CD−ROM、またはフレキシブルディスクなどのソフトウェア媒体等のインストール媒体、を含み、プログラムをそれらに記憶することができ、かつ/または、データ通信をバッファリングすることができる。「メモリ」という用語はまた、他のタイプのメモリまたはそれらの組み合わせも含んでもよい。
本明細書において使用されるものとしては、「固定パターン」という用語は、すべてのシンボルにおいて繰り返されているパターンを含み、このパターンは、シンボルを位置特定するのに使用することができ、ファインダーパターン、タイミングパターン、位置合わせパターン、クワイエットゾーンなどを含む。
本明細書において使用されるものとしては、「モジュール値」という用語は、量子化することができる2つのモジュール間の任意の差、たとえば、照明を用いたもしくは用いないときのモジュールの明度の差、または、距離検知デバイスもしくは特定の値を視覚的に表す任意の他の手段によって測定されるモジュールの深さの差を含む。特定の態様において、モジュール値は、前景モジュールと背景モジュールとの間のバイナリである。
本明細書において使用されるものとしては、「モジュール位置」という用語は、別のモジュールまたは照明特徴のような、画像内の何らかの固定点に対するモジュールの位置を含む。
本明細書において使用される場合、「バイナリ」という用語は、文脈が別途一義的に指示しない限り、他の非バイナリ形態を含むものとする。たとえば、非バイナリ2次元マトリックスシンボルが利用されている場合、そのシンボルから判定および抽出される値は非バイナリであり得る。別の例として、非バイナリ2次元マトリックスシンボルが使用されている場合、バイナリマトリックスの復号は、非バイナリマトリックスの復号を含む可能性がある。
本発明の技術の実施形態を実装するのに使用される実施形態の構造または処理のいずれかを示すための図面を使用することによって、本発明の技術の実施形態を下記に説明する。このように図面を本発明の技術の実施形態を提示するために使用することは、その範囲を限定するものとして解釈されるべきではない。本発明の技術は、損傷した固定パターンを有するかまたは固定パターン全体を欠く2次元マトリックスシンボルを読み取るためのシステムおよび方法を企図する。
2次元マトリックスシンボルを読み取るための方法の様々な態様は、システムと関連して説明される場合があり、システムは、2次元マトリックスシンボルを読み取るように適合されている。これは、本発明の技術の特徴および利点が、この目的によく適しているためである。また、本発明の技術の様々な態様は、本明細書に記載されている特徴を有する読み取りプロセスから受益することができる、手持式スキャナ、固定マウントスキャナ、または内蔵スマートカメラのような、他の形態のイメージングシステムに適用することができることが理解されるべきである。加えて、2次元マトリックスシンボルを読み取るためのシステムの様々な態様は、2次元マトリックスシンボルを読み取るための方法と関連して説明される場合がある。
図1は、機械可読シンボル36を含む物体34の1つまたは複数の画像32を取得するように適合されている例示的な機械視覚システム30を示す。コンベヤ38が、物体34を搬送し、物体34とイメージングデバイス42の視野40との間の相対運動を引き起こす。例示的な機械視覚システムは、非限定例として、中でも、製造アセンブリ、試験、測定、自動化、および/または制御アプリケーションに使用されてもよい。機械視覚システム30は、様々なタイプの画像取得のいずれかを実施するように動作可能な画像取得ソフトウェア44を使用することができる。
イメージングデバイス42は、たとえば、画像処理および復号に使用されるプロセッサ46を含むことができる。プロセッサ46は、視覚センサ48に結合することができ、視覚センサ48の一部であってもよく、または、視覚センサ48にローカルにリンクされてもよい。プロセッサ46には、画像取得ソフトウェア44を符号化することができ、または、いくつかの態様においては、画像取得ソフトウェア44は、別個のコンピューティングデバイス50もしくはプロセッサ46上で作動されてもよい。画像取得ソフトウェア44は、中でも、単一の読み取り動作の中で複数の画像を取得し、照明を制御し、画像データを取得し、取得された画像データを処理/復号して使用可能な情報にするように構成することができる。特定の態様において、イメージングデバイス42は、距離検知デバイスであってもよい。
イメージングデバイス42はまた、視覚センサ48および/またはプロセッサ46に結合されているメモリ媒体52をも含むことができる。メモリ媒体52は、スキャンまたは処理された画像32を記憶し、データおよび通信をバッファリングするなどのために使用することができる。画像、画像ピクセルアレイなどを送信することが可能な有線または無線接続のような通信ライン54も、イメージングデバイス42に結合することができ、任意選択のコンピューティングデバイス50への接続点を提供することができる。コンピューティングデバイス50は、たとえば、スキャンまたは処理された画像32をアップロードおよびダウンロードするのに使用することができる。イメージングデバイス42またはコンピューティングデバイス50は、復号データの転送を可能にするためにデータを送信することが可能な有線または無線接続のようなさらなる通信ライン54を含むことができる。視覚システム30は、バイナリデジタル信号を送信することが可能な有線または無線接続のような通信ライン54によって、イメージングデバイス42またはコンピューティングデバイス50に結合されている任意選択のトリガ入力104を含むことができる。無線通信も企図されていることが理解されるべきである。この例において、イメージングデバイス42は、高角度および/もしくは低角度照明、または高角度照明と低角度照明との組み合わせをもたらすことが可能な従来の固定マウントスキャナ、手持式スキャナ、または内蔵スマートカメラであってもよい。
イメージングデバイス42はまた、照準器(図示せず)も含むことができる。照準器は、イメージングデバイス42の有効領域のような、イメージングデバイス42の特性を示すことができる、レーザまたはLEDのような補助照明システムであり得る。たとえば、照準器は、イメージングデバイス42のFOVの中心または境界を示すことができる。
本明細書に記載されている様々な態様は、不完全な固定パターンを含むか、または、固定パターンを含まない2次元マトリックスシンボルの読み取りを可能にする。特に、2次元マトリックスシンボルのイメージングおよび復号の文脈で様々な実施形態を説明する。この例において、シンボル36は、物体34の表面に付着されている。物体34は、時として部分的に被覆される場合があり、ラベルの縁に印刷される場合があり、適切に照明されない場合があり、または何らかの他の理由で、シンボル36のいくつかの部分が読み取り不能にレンダリングされる可能性がある。様々な態様は、不完全な固定パターンを有するかまたは固定パターンを有しないシンボルを読み取るのに有用であり得るが、様々な態様はまた、完全な固定パターンを有するシンボルを読み取るのにも適していることが理解されるべきである。
図2〜図7を参照すると、データマトリックスの形態の2次元マトリックスシンボル56は、矩形アレイに配置されている、通常は正方形のシンボルモジュール60を含む1つまたは複数のデータ領域58から構成することができる。代替的に、シンボルモジュール60は、レーザもしくはドットピーニングによって作成されるシンボルモジュールのように円形であってもよく、またはデータ記憶に適切な他の形状であってもよい。データ領域58は、概して「L」字形状であるファインダーパターン62によって部分的に包囲されており、データ領域58は、四隅すべてをクワイエットゾーン64によって包囲することができる。タイミングパターン66が、シンボル36内の行および列の数のカウントを可能にする。図5は、白地に黒の2次元マトリックスシンボル56の一例を示し、図6は、黒字に白の2次元マトリックスシンボル70の一例を示す。特定の態様において、2次元マトリックスシンボルは、カラーベースのコードである。カラーベースのコードの例としては、限定ではないが、大容量カラーバーコード(HCCB)およびUltraCodeが挙げられる。位置合わせパターン72も含むことができ、一般的により大きい格子サイズのシンボルとともに使用される(図7参照)。本開示によって読み出される、2次元マトリックスシンボル内で損傷するかまたは失われるのは、これらのファインダーパターン62、タイミングパターン66、位置合わせパターン72などである。図4は、ファインダーパターン62またはタイミングパターン66を有しないデータマトリックスの形態の2次元マトリックスシンボル56を示す。
図10を参照すると、複数のファインダーパターン62を有するQRコード(登録商標)の形態の2次元マトリックスシンボル56が示されている。図13を参照すると、複数のバージョン情報領域82、複数のフォーマット情報領域84、複数のファインダーパターン62、複数の位置合わせパターン72、複数のタイミングパターン66、およびクワイエットゾーン64を有するQRコード(登録商標)の形態の2次元マトリックスシンボル56が示されている。
図11を参照すると、ファインダーパターン62を有する(ファインダーパターン62は、2次元マトリックスシンボル56の残りの部分を灰色に抜くことによって強調されている)Aztecコードの形態の2次元マトリックスシンボル56が示されている。図14を参照するとファインダーパターン62、タイミングパターン66または基準格子、および方向パターン86を含む固定パターン、ならびにモードメッセージ88およびデータ層90を含む可変構造を有するAztecコードの形態の2次元マトリックスシンボル56が示されている。図15を参照すると、ファインダーパターン62、方向パターン86、タイミングパターン66、およびモードメッセージ88を有するAztecコードの形態の2次元マトリックスシンボルの一部分が示されている。
図12を参照すると、ファインダーパターン62を有するMaxiCodeの形態の2次元マトリックスシンボル56が示されている。図16を参照すると、シンボル「B」および「W」によって示されているモジュールによって形成されている方向パターン86を有するMaxiCodeの形態の2次元マトリックスシンボル56の一部分が示されている。図17を参照すると、ファインダーパターンを有せず、モジュール内に位置するシンボル「B」および「W」ならびに1〜144の通し番号によって示されている文字列によって示されているモジュールによって形成されている方向パターン86を有するMaxiCodeの形態の2次元マトリックスシンボル56が示されている。
図9を参照すると、本開示による方法200のステップを詳述する流れ図が与えられている。方法200の詳細は、以下の段落において説明する。システム30は、本明細書に記載されている方法を実行するように構成されている。システム30は、シンボル位置特定アルゴリズム74、モジュール測定アルゴリズム100、マトリックス復号アルゴリズム102、またはそれらの組み合わせによって、方法を実行することができる。
プロセスブロック202において、方法200は、プロセッサにおいて画像ピクセルアレイを受信することによって開始することができ、画像ピクセルアレイは、センサによってキャプチャされる2次元マトリックスシンボルの画像の少なくとも一部分を含む。画像ピクセルアレイは、カメラを使用して、その後プロセッサに送信される画像ピクセルアレイを取得することによって、または、単純にプロセッサにおいて画像ピクセルアレイファイルを受信することによって、プロセッサにおいて受信することができる。画像ピクセルアレイを取得する特定の手段が、本開示に対する限定であるとは意図されない。
2次元マトリックスシンボルは、各々がモジュール値およびモジュール位置を有するデータモジュールを含むことができる。2次元マトリックスシンボルは、不完全な固定パターンを含むか、または固定パターンを含まない可能性がある。2次元マトリックスシンボルは、データセットを符号化することができる。
プロセスブロック204において、方法200は、図18に示すような、1つまたは複数の候補領域を位置特定するステップと、候補領域を検証するステップと、候補領域を優先順位付けするステップと、画像ピクセルアレイ内の2次元シンボルの範囲を推定するステップとのうちの1つまたは複数を含む任意選択のサブルーチン204を実行することによって継続することができる。任意選択のサブルーチン204の任意のステップまたはすべてのステップは任意選択とすることができる。
図18を参照すると、プロセスブロック402において、任意選択のサブルーチン204は、画像ピクセルアレイ内の1つまたは複数の候補領域を位置特定することによって開始することができる。1つまたは複数の候補領域を位置特定することは、参照によりその全体が本明細書に組み込まれている米国特許第7,181,066号明細書に開示されている方法のような、当業者に既知の方法によって実施することができる。
プロセスブロック404において、任意選択のサブルーチン204は、1つまたは複数の候補領域を検証することによって継続することができる。検証された候補領域は、2次元シンボルを含む可能性がより高い。1つまたは複数の候補領域を検証することは、参照によりその全体が本明細書に組み込まれている米国特許第7,181,066号明細書に開示されている方法のような、当業者に既知の方法によって実施することができる。
プロセスブロック405において、任意選択のサブルーチン204は、1つまたは複数の候補領域を優先順位付けすることによって継続することができる。優先順位付けは、限定ではないが、サイズ、コントラスト、エッジ密度、勾配ヒストグラム、シーン内の存在する他のシンボル(1次元または2次元)など、またはそれらの組み合わせを含む候補領域の属性に基づくことができる。
プロセスブロック406において、任意選択のサブルーチン204は、画像ピクセルアレイ内の2次元シンボルの範囲を推定することによって継続することができる。
手持式スキャナをイメージングデバイスとして利用する態様において、または、ユーザがイメージングデバイスを2次元マトリックスシンボルに対して方向付けているか、もしくは2次元マトリックスシンボルをイメージングデバイスに対して方向付けている他の態様において、2次元マトリックスシンボルを位置特定することは、推定されるようにユーザがイメージングデバイスを2次元マトリックスシンボルに向けているか、または、2次元マトリックスシンボルをイメージングデバイスと位置合わせしているため、計算上の要求を著しく少なくすることができることが理解されるべきである。
図8を参照すると、シンボル位置特定アルゴリズム74を使用して2次元マトリックスシンボル56を発見することができる。画像ピクセルアレイ80内の残りのシンボル78、たとえば、テキストおよび数字は、2次元マトリックスシンボルであるために必要とされる十分な数の特徴を含まない場合、背景クラッタと考えられ、シンボル位置特定アルゴリズム74によって無視することができる。2次元マトリックスシンボルを位置特定することは、一般的な画像分割アルゴリズムの一部分として実施することができる。
プロセスブロック206において、方法200は、画像ピクセルアレイ内のデータモジュールの少なくとも一部分を位置特定することによって継続することができる。一般的に従来技術において、2次元マトリックスシンボルを位置特定することは、固定パターンを位置特定することによって達成されるが、この事例においては、固定パターンが損傷しているか、または欠如している。データモジュールの少なくとも一部分を位置特定することは、プロセッサまたは補助構成要素を用いて達成することができる。データモジュールの少なくとも一部分を位置特定することは、限定ではないが、形状、サドルの存否、隅の存否、点の存否、エッジ、勾配、ヒストグラム、ウェーブレット、またはそれらの組み合わせを含むデータモジュールの1つまたは複数の顕著な特徴を識別することを含む。画像ピクセルアレイ内のデータモジュールの少なくとも一部分を位置特定することは、参照によりその全体が本明細書に組み込まれる、米国特許第7,181,066号明細書および米国特許出願第13/797,910号明細書に開示されている方法のような、当業者に既知の方法によって達成することができる。
図19を参照すると、モジュール位置特定サブルーチン206は、以下のステップのうちの1つまたは複数を含むことができる。プロセスブロック502において、モジュール位置特定サブルーチン206は、任意選択的に、小さい領域をアップサンプリングし、大きい領域をダウンサンプリングすることを含むことができる。プロセスブロック504において、モジュール位置特定サブルーチン206は、候補領域または2次元マトリックスシンボルからエッジ強度画像を抽出することを含むことができる。プロセスブロック506において、モジュール位置特定サブルーチン206は、2次元パワースペクトルを作成するためにエッジ強度画像を高速フーリエ変換することを含むことができる。プロセスブロック508において、モジュール位置特定サブルーチン206は、2次元パワースペクトルから1つまたは複数のピークを抽出することを含むことができ、1つまたは複数のピークは、2次元マトリックスシンボルの主軸を規定するピーク、2次元マトリックスシンボルのピッチを規定するピーク、またはそれらの組み合わせを含む。パワースペクトルにおける対称性に起因して、2次元マトリックスシンボル内のデータモジュールが等間隔に離間されたアレイに配列されており、2次元マトリックスシンボルに対して垂直な角度からスキャンされるとき、単一のピークしか抽出される必要がないことが留意されるべきである。プロセスブロック510において、モジュール位置特定サブルーチン206は、任意選択的に、ロバスト性サブルーチンを実行することを含むことができる。プロセスブロック512において、モジュール位置特定サブルーチン206は、画像ピクセルアレイ内で、1つまたは複数のモジュールの位置を特定することを含むことができる。ロバスト性サブルーチン510を利用する態様において、このステップは、画像ピクセルアレイ内の予測されるモジュール中心のオフセットを判定する。
図20を参照すると、ロバスト性サブルーチン510は、以下のステップのうちの1つまたは複数を含むことができる。プロセスブロック602において、ロバスト性サブルーチン510は、プロセスブロック508において作成されているパワースペクトルからの1つまたは複数のピークを使用して、2次元パワースペクトルのマスクを作成することを含むことができる。プロセスブロック604において、ロバスト性サブルーチン510は、予測モジュール中心のグレースケール画像を作成するためにマスクされた2次元パワースペクトルを逆高速フーリエ変換することを含むことができる。プロセスブロック606において、ロバスト性サブルーチン510は、予測グレースケールモジュール中心を、候補領域に対して配置することと、サブピクセル補間を使用して配置を精緻化することとを含むことができる。
代替的な態様において、モジュール位置特定サブルーチンは、ヘシアン行列式またはガウス差のような、当業者に既知の点検出器を使用することと、2次元マトリックスの行および列が画像ピクセルアレイ内で垂直であるときは少なくとも2つの点を使用して、または、2次元マトリックスの行および列モジュールが垂直でないときは少なくとも3つの点を使用して、向き、ピッチ、およびオフセットを推定することと、ランダムサンプルコンセンサス(RANSAC)、幾何学的ハッシングなどのような方法を使用することと、プロセスブロック606または512を用いて継続することとを含んでもよい。向き、ピッチおよびオフセットを推定するためにより少ないモジュールが使用されるとき、配置されたモジュールの相対的な向きが向きおよびピッチの推定精度に相当の影響を及ぼすことになる。向きの精度は、モジュールの固有の測定される位置精度に起因して、モジュールが分離されているときに増大する(また、モジュールがより近いとき精度は低減する)ことを、当業者であれば認識しよう。同様に、ピッチ推定は、より大きく離れており、マトリックスの行および列におけるオフセットが分かっているモジュールからより正確に導出される。
特定の態様において、限定ではないが、前景モジュールと背景モジュールとの間のエッジを含む、モジュールの他の特徴が、上述した方法に使用されてもよい。
プロセスブロック208において、方法は、モジュール位置の少なくとも一部分にモデルを当てはめることを含むことができる当てはめサブルーチン208をさらに含むことができる。モジュール位置の少なくとも一部分にモデルを当てはめることは、当業者に既知の技法によって達成することができる。モジュール位置の少なくとも一部分にモデルを当てはめることは、プロセッサまたは補助構成要素を用いて行うことができる。モデル自体は、読み取られている2次元マトリックスシンボルのタイプに基づいて変化する可能性がある(すなわち、モジュールが矩形アレイに配列されている2次元マトリックスシンボルのモデルは、モジュールが六角形アレイに配列されている2次元マトリックスシンボルのモデルとは異なることになる)。特定の態様において、モデルは、厳密な等間隔、区分線形、透視投影、アフィンとすることができる。特定の態様において、モデルは、多項式もしくは薄板スプライン、または、マーク基板の歪曲またはマーキング不良のような他の影響を計上することができる変形可能テンプレートとすることができる。特定の態様において、モデルは、非標準的な形状(たとえば、円筒形)に対するマーキングのような影響を計上することができる幾何学的当てはめとすることができる。特定の態様において、モデルは、ラスタ内にインクの点を印刷し、結果として相関の高い行および相関の低い列、またはその逆をもたらす、連続式インクジェットプリンタのようなマーク印刷における予測される変動を計上することができる。
当てはめサブルーチン208の非限定的な一例において2次元画像を分割することができ、特徴(すなわち、白色表面上の黒色マークまたはその逆のような前景モジュール)を抽出することができる。当てはめサブルーチン208の実行を成功させるために、すべての特徴を抽出する必要はないことが理解されるべきである。次に、抽出された特徴のグループの中心付近の特徴が選択される。小さい領域において局所的に、モジュール(前景および背景モジュール)は、アフィンモデルと位置合わせされると仮定される。中心付近の特徴から開始して、中心から外側へと移動して特徴が選択され、これらの特徴が選択されるときにモデルが構築される。中心特徴から、近傍の特徴点が識別され、ローカルアフィンモデル(たとえば、5×5モジュールパッチ)が推定される。ローカルアフィンモデルが近傍の特徴点に当てはめられた後、すべての特徴モジュールが抽出される(前景および背景モジュール)。次のステップは、このアフィンモデルを様々な方向に移転させることを含む。理想的なモデルでは、中心特徴を[0,0]として定義することができる。上述したローカルアフィンモデルから開始して、アフィンモデルは様々な方向(たとえば、8つの異なる方向、ローカルアフィンモデルに関して東、南東、南、南西、西、北西、北、および北東)にある1つのモジュールに移転される。アフィンモデルがある方向にある1つのモジュールに移転されると、新たなアフィンモデルの初期推定値が作成される。新たなローカルアフィンモデル付近に位置する特徴点が、新たなローカルアフィンモジュールを精緻化するのに使用される。この移転は、それぞれの新たなローカルアフィンモデルにおいて新たな特徴点が識別されなくなるまで、各方向において継続される。すべての方向が完了し、それぞれの対応のすべてが識別されると、多項式モデルを使用して対応を当てはめることができる。コードに対して発生している場合がある損傷を計上するために、様々な行および/または列を推定することができることが理解されるべきである。
プロセスブロック210において、方法200は、予測モジュール位置をもたらすモデルを推定することをさらに含むことができる。モデルを推定することは、プロセッサまたは補助構成要素を用いて行うことができる。モデルを推定することは、マトリックスコード(2次元xピッチ、x位相、yピッチ、y位相)アレイの無次元行/列を画像ピクセルアレイにマッピングすることを含むことができる。本開示は、デカルトまたは2次元座標には限定されず、六角座標系、極座標系、および他の座標系が企図されることが理解されるべきである。
予測モジュール位置は、完全な2次元マトリックスシンボルを形成するためにモジュールが位置し得る、画像ピクセルアレイに対する位置である。予測モジュール位置は整数ピクセル座標である必要はなく、そのためサブピクセル位置が明示的に企図されていることが理解されるべきである。加えて、画像ピクセルアレイに対する既知の関係を有する較正された実世界座標系のような、画像ピクセル格子への既知のマッピングを有する他の座標系が企図されている。予測モジュール位置が画像ピクセルアレイの外側に位置するとき、これらの位置に対するモジュール値は未知である可能性がある。バイナリマトリックスを復号するステップは、画像ピクセルアレイを超えて延伸するシンボルに起因する損傷に対する耐性を最大限にするために、消失訂正を使用することができる。
プロセスブロック212において、方法200は、予測モジュール位置にある画像ピクセルアレイからモジュール値を判定することをさらに含むことができる。モジュール値を判定することは、プロセッサまたは補助構成要素を用いて行うことができる。モジュール値を判定することは、当業者に既知の技法によって達成することができる。たとえば、モジュール値は、ISO/IEC16022:2006,Section9に示されているような、データマトリックス基準復号アルゴリズムによって判定することができる。サンプリング、またはモジュール値の測定は、2値化画像またはグレースケール画像のいずれかに対して実施されてもよい(任意選択的に画像を前置フィルタリングする)。特定の態様において、サンプリングは、予測中心に最も近い位置を有するピクセルを選択することを含むことができる。特定の態様において、サンプリングは、予測中心を包囲するピクセルから補間されたグレースケールであってもよい。モジュール値を判定することは、モジュールが前景であるかまたは背景であるか(すなわち、モジュールが暗いかまたは明るいか)を判定することを含むことができる。特定の態様において、モジュール値を判定することは、モジュール位置からの反射光の強度を測定することを含むことができ、明るいモジュールは暗いモジュールよりも多くの光を反射することになる。特定の態様において、モジュール値を判定することは、距離検知デバイスからモジュールの深さを測定することを含むことができる。
特定の態様において、モジュール値を判定することは、任意選択的に、当該技術分野において既知の方法を使用して2値化することを含んでもよい。たとえば、ピクセルのグレー値に対する単一の閾値を使用した2値化が使用されてもよい。別の例として、シンボルにわたる照明変動に対応するように設計された局所閾値化が使用されてもよい。特定の態様において、モジュール値は、予測モジュール位置に最も近いピクセルのバイナリ値とすることができる。
他の態様にいて、モジュール値を判定することは、画像ピクセルアレイおよび予測モジュール位置に基づいて値をサンプリングすることを含むことができる。たとえば、雑音を低減するために平滑化フィルタを使用するなどして、元の取得画像を処理することができる。その後、予測モジュール位置に最も近いピクセルの値をモジュール値とすることができる。代替的に、モジュール位置は、予測モジュール位置付近のピクセルの値から補間することができる。
モジュール値を判定した後、モジュール値(未処理の測定値またはバイナリ)をアレイ内に格納することができる。2次元マトリックスシンボルの範囲の推定406または推定ステップ210が不正確であるとき、アレイは、2次元マトリックスシンボルにおいてデータモジュール行および/または列の数よりも大きくまたは小さくなり得る。モジュール値アレイは、2次元マトリックスシンボルの少なくとも一部分、および、場合によっては、クワイエットゾーンおよび/またはシンボルの周囲の背景クラッタの一部分を含む。アレイはシンボルの主軸に沿って編成されるが、このアレイ内の実際のシンボルのオフセットおよび向きは未確定である。アレイの格納は、当業者には明白なはずであるように、1次元もしくは2次元または多次元であってもよい。
予測モジュール位置からモジュール値を判定するときにシンボルの範囲が未知であるとき、シンボルの正確な境界は、モジュール値を判定するときに無視される。モジュール値が決定された後、2次元マトリックスシンボルの少なくとも一部分、ならびに、場合によってクワイエットゾーンおよび/またはシンボルの周囲の背景クラッタの一部分を含む1次元または多次元アレイ内に格納することができる。アレイはシンボルの主軸に沿って編成されるが、このアレイ内の実際のシンボルのオフセットおよび向きは未確定である。アレイのサイズは約10×10モジュール〜約200×200モジュールに及ぶ可能性があり、シンボルの正確な境界が道である実施形態では行および列が追加される。これらのアレイのサイズは、640×480〜2500×1200ピクセルまたはそれ以上のサイズを有する場合がある画像ピクセルアレイの一般的なサイズよりもはるかに小さい。特定の態様において、部分固定パターンは、画像ピクセルアレイ内よりもモジュール値アレイ内でより容易に識別することができる。シンボルが未知である場合、モジュール値アレイ内での固定パターンの少なくとも一部分の位置特定を、シンボル間で区別するために使用することができる。
プロセスブロック214において、方法200は、モジュール値アレイからバイナリマトリックスを抽出することをさらに含むことができる。バイナリマトリックスを抽出することは、判定されたモジュール値アレイ内で固定パターン断片を求めて探索することと、判定されたモジュール値アレイ内のシンボル位置の仮定を作成することと、任意選択的に、モジュール値を2値化することと、仮定されたまたは既知の行および列内の2次元マトリックスシンボルサイズに対応するサイズのアレイ内の仮定位置に2値化モジュール値を割り当てることによって、バイナリシンボルマトリックスを組み立てることとを含むことができる。同様に、アレイは、当業者には明白なはずであるように、1次元または多次元様式で格納されてもよい。
図21に示すように、バイナリマトリックスの抽出214は、複数のプロセスおよび決定を含み得る。プロセスブロック702において、バイナリマトリックスの抽出214は、モジュール値アレイまたはバイナリマトリックス内で、任意選択的にクワイエットゾーンを含む固定パターン断片を求めて探索することを含むことができる。固定パターンを求めて探索すること(成功した場合、固定パターンを位置特定すること)は、当業者に既知の方法を通じて行うことができる。例としては、限定ではないが、相関、正規化相関、ブロブ解析などが挙げられる。判断ブロック704において、バイナリマトリックスの抽出214は、固定パターン断片が発見された場合はプロセスブロック706によって、または、固定パターン断片が見つからなかった場合はプロセスブロック714によって進行する。
固定パターン断片が見つかったとき、プロセスブロック706において、バイナリマトリックスの抽出214は、固定パターン断片を使用して1つまたは複数の仮定を作成することを含むことができる。プロセスブロック710において、バイナリマトリックスの抽出214は、仮定されたまたは既知の行および列内の2次元マトリックスシンボルサイズに対応するサイズのアレイ内の仮定位置に2値化モジュール値を割り当てることによって、バイナリシンボルマトリックスを組み立てることを含むことができる。いくつかの態様では、プロセスブロック712において、バイナリマトリックスの抽出214は、任意選択的に、組み立てられたバイナリシンボルマトリックスを優先順位付けすることを含んでもよい。優先順位付けすることは、見つかった固定パターン断片の範囲、または、206からの特定されたモジュール位置の範囲を、210からの推定モジュール位置に対して評価することを含むことができる。
2値化がモジュール値判定の一部分ではないいくつかの態様では、プロセスブロック708においては、バイナリマトリックスの抽出214は、任意選択的に、当該技術分野において既知の方法を使用して仮定位置からモジュール値を2値化することを含んでもよい。たとえば、ピクセルのグレー値に対する単一の閾値を使用した2値化が使用されてもよい。別の例として、シンボルにわたる照明変動に対応するように設計された局所閾値化が使用されてもよい。特定の態様において、モジュール値は、予測モジュール位置に最も近いピクセルのバイナリ値とすることができる。
いくつかの態様において、仮定は、モジュール値アレイ内のバイナリシンボルマトリックスの位置またはオフセット、モジュール値アレイ内のバイナリシンボルマトリックスの向き、シンボル列および行に関するバイナリシンボルマトリックスのサイズ、シンボルタイプ、鏡に映った状態、シンボルの極性、またはそれらの組み合わせを含む。いくつかの態様において、バイナリシンボルマトリックスのサイズ、鏡に映った状態、およびシンボルの極性の1つまたは複数の属性は、ユーザ入力からの予備知識または訓練に由来してもよい。
固定パターンの少なくとも一部分がモジュール値マトリックスまたはバイナリマトリックスにおいて検出される態様において、このとき、固定パターンの部分を使用して、思考されている復号のための1つまたは複数の仮定を作成することができる。モジュール値マトリックス内での固定パターンの検出は、各値がモジュール強度もしくは高さの測定値を表す未処理値マトリックス、または、各バイナリビットが前景もしくは背景モジュールを表すバイナリマトリックスにおいて行うことができる。検出方法は、正規化相関、バイナリビットカウント、またはそれらの組み合わせのうちの1つであってもよい。一例として、16×16データ領域を有する18×18データマトリックスシンボルがファインダーパターンの少なくとも一部分の存在によって識別されるが、クロッキングパターンは観測されない場合、以下の仮定、すなわち、シンボルがクロッキングパターンを欠く18×18データマトリックスであると予測し得る仮定1、シンボルが、クロッキングパターンを欠く18×18データマトリックスであり、仮定1から90度回転していると予測し得る仮定2、および、シンボルが、クロッキングパターンに隣接する複数の行および列を欠く、20×20またはそれ以上のサイズのデータマトリックスであると予測し得る仮定3が使用され得る。特定の態様において、この例からの仮定3は、データ損失が甚大であることに起因して復号可能でない場合がある。特定の態様において、これらの仮定は優先順位付けされ、これらの仮定に対する一連の復号試行は最高優先度(最も可能性が高い)から最低優先度(最も可能性が低い)までである。特定の態様において、仮定のサブセットが試行される。特定の態様において、優先順位付けは、観測される固定パターンの範囲、観測されるデータ領域ヒストグラム、またはそれらの組み合わせに基づくことができる。
固定パターン断片が検出されないとき、プロセスブロック714において、バイナリマトリックスの抽出214は、固定パターン断片を使用することなく1つまたは複数の仮定を作成することを含むことができる。いくつかの態様では、プロセスブロック712において、バイナリマトリックスの抽出214は、任意選択的に、組み立てられたバイナリシンボルマトリックスを優先順位付けすることを含んでもよい。優先順位付けすることは、206からの特定されたモジュール位置の範囲を、210からの推定モジュール位置に対して評価することを含むことができる。
固定パターンが観測されない実施形態において、複数の仮定を作成することができる。仮定の数は、予備知識がある場合またはない場合の仮定の計算上の要求および仮定の試験の実用性に応じて変化し得る。一例として、未知のシンボルの20×20データ領域が観測される場合、以下の仮定、すなわち、シンボルが、特定の向きにおいてファインダーおよびクロッキングパターンを欠く22×22データマトリックスであると予測し得る仮定1、ならびに、シンボルが、特定の向きにおいてファインダーが損傷した21×21QRコード(登録商標)であると予測し得る仮定2、ならびに、シンボルが、ファインダーおよびクロッキングパターンならびにいくらかの数の隣接する行および列を欠く24×24データマトリックスであると予測し得る仮定3が使用され得る。この例からの仮定1について、固定パターンの欠如は向きが未知であることを意味するため、データ領域の4つの個別の向きが試験されなければならない。この例からの仮定3について、なくなっている行/列は、ファインダーに最も近くに位置する2つの行/列、クロッキングパターンの最も近くに位置する2つの行/列、またはファインダーの最も近くに位置する1つの行/列およびクロッキングパターンの最も近くに位置する1つの行/列であり得る。したがって、組み合わせの最大数は、複数のシンボル、複数の向き、および複数の損傷レベルを含む仮定の範囲とともに増大する。特定の態様において、家庭に対する組み合わせの総数が、10、20、30、40、50、100などのような特定の数を超えた場合、仮定を用いた進行には時間がかかり過ぎて効率的に復号することができなくなり、仮定は、シンボル(すなわち、訓練)についてより多くの情報が分かっている場合にしか追求されなくなり得る。特定の態様において、これらの仮定は優先順位付けされ、これらの仮定に対する一連の復号試行は最高優先度(最も可能性が高い)から最低優先度(最も可能性が低い)までである。代替の態様においては、可能性のある仮定のサブセットしか試行されなくてもよい。特定の態様において、優先順位付けは、観測される固定パターンの範囲、観測されるデータ領域ヒストグラム、またはそれらの組み合わせに基づくことができる。
プロセスブロック216において、方法200は、抽出されたバイナリマトリックスを復号することをさらに含むことができる。バイナリマトリックスを復号することは、プロセッサ、または、復号アルゴリズムを実行するように構成されている、バイナリマトリックス復号器のような補助構成要素を用いて行うことができる。モジュール値アレイ内の仮定モジュール位置が、モジュール値アレイ内の2次元マトリックスシンボルの位置または向きの正確な表現ではない場合、それらの仮定モジュール位置から抽出されたバイナリマトリックスを復号すると、無意味な結果がもたらされることになる。仮定モジュール位置がモジュール値アレイ内のモジュール位置の正確な表現である場合、それらの仮定モジュール位置から判定されたバイナリマトリックスを復号すると、データモジュールの十分な部分が復号に含まれている限り、そのデータセットがもたらされることになる。
復号ステップは、ステップ214からの1つまたは複数の仮定に基づいて、抽出された1つまたは複数のバイナリマトリックスに対して反復することができる。このシーケンスは、214における任意選択の優先順位付けステップに基づいてもよい。
特定の態様において、バイナリマトリックスを復号する結果として、データセットをもたらすことができる。
特定の態様において、バイナリマトリックスの復号によって、バイナリマトリックスが復号可能であるか否かを判定することができる。特定の態様において、復号アルゴリズムは、バイナリマトリックスがデータセットをもたらすほど十分に復号されるのではなく、むしろ、バイナリマトリックスが復号可能であるか否かが判定されるレベルまでバイナリマトリックスが復号される低レベル復号アルゴリズムとすることができる。特定の態様において、バイナリマトリックスを復号することは、2次元マトリックスシンボルを位置特定するために、バイナリマトリックス内の固定パターンが使用されなかったときに、バイナリマトリックス内の固定パターンまたは固定パターンの一部分を位置特定することと、バイナリマトリックスが復号可能であるか否かを判定するために固定パターンを利用することとを含むことができる。特定の態様において、バイナリマトリックスを復号することは、MaxiCodeのプライマリメッセージ、QRバージョン情報、または、エラー検出を利用してコードサイズおよび事実上の向きを判定するフォーマット情報ブロック、Aztec符号化情報(シンボルおよびファインダーパターン付近のデータ領域内のメッセージサイズに関する情報)などのような、可変コードデータのサブセットを位置特定することと、バイナリマトリックスが復号可能であるか否かを判定するために可変コードデータのサブセットを利用することとを含むことができる。特定の態様において、バイナリマトリックスを復号することによって、マトリックスが復号可能であるときのシンボルの位置、または、マトリックスが復号可能でないときの仮定シンボル位置のような、符号化データセット以外の情報をもたらすことができる。位置を使用して、シンボルの品質評価などを実行することができる。
位置特定ステップ、推定ステップ、判定ステップ、抽出ステップ、および復号ステップは、位置特定ステップ204において生成されるいくつかの候補領域について反復することができる。これらのステップは、一度に1つの候補領域、または、同時に複数の候補領域に対して実施することができる。
復号ステップは、抽出ステップ214において抽出されるいくつかのバイナリマトリックスについて反復することができる。反復の順序は、仮定の優先順位付けに基づくことができる。
特定の態様において、抽出ステップおよび復号ステップは、複数のシンボルタイプを抽出および復号することができる。たとえば、抽出ステップおよび復号ステップは、限定ではないが、データマトリックス、QRコード(登録商標)、Aztecコード、MaxiCode、およびそれらの組み合わせを含むシンボルタイプを抽出および復号することができる。
特定の態様において、抽出ステップおよび復号ステップは、ユーザ定義の基準セットに従って仮定を優先順位付けまたはランク付けすることができ、優先順位付けされたまたはランク付けの高い仮定を最初に復号することができる。たとえば、ユーザはマトリックスの好ましいサイズを定義することができ、好ましいサイズを有する仮定をより高く優先順位付けまたはランク付けすることができる。
特定の態様において、2次元シンボルの範囲を推定することは、バイナリマトリックスが抽出された後に実施することができる。
特定の態様において、2次元シンボルの範囲を推定するときに、固定パターンの断片を検出することができる。
特定の態様において、2次元シンボルの範囲を推定することは、クワイエットゾーンを観測することを含むことができる。クワイエットゾーンは当該技術分野において、一貫した値を有するモジュールを含む領域として既知である。この一貫性は、照明変動などを計上するための変動を含むことができる。特定の態様において、観測されるクワイエットゾーンは、特定のシンボルの仕様に一致しない変動を含む場合がある(たとえば、特定のシンボルにおける3つよりも多いまたは少ないモジュールを有するクワイエットゾーン)。特定の態様において、観測されるクワイエットゾーンは、偶発的である変動を含む場合がある(たとえば、シンボルがラベルの縁に印刷される)。特定の態様において、観測されるクワイエットゾーンは、ファインダーパターンまたはデータ領域のようなシンボルの部分をなくす損傷または照明不足に起因する変動を含む場合がある。
特定の態様において、モジュールは損傷している可能性があり、バイナリマトリックスの復号216は、エラー訂正機能を改善するために、リード−ソロモンエラー訂正のように、エラー訂正に消失を使用することを含むことができる。
システムおよび方法は、訓練によって、観測されるシンボルの知識を利用することができる。「訓練」は、ロバスト性および/または実行速度を改善するために、観測されるシンボルの属性に関する予備知識を用いて読み取りアルゴリズムを構成する方法である。属性は、限定ではないが、シンボル種類、極性、エラー訂正タイプ、行/列の数、ピクセル単位のモジュールサイズ、鏡に映った状態、シンボルの向きなどを含み得る。
アルゴリズムは、訓練された属性を利用するように構築することができる。たとえば、マトリックス内の行および列の数を知ることによって、(たとえば、データマトリックス内のクロッキングパターンを使用することによって)行および列の数を判定するのが困難になり得るダイレクトパーツマーク(DPM)における復号歩留まりを改善することができる。行および列の数の判定においてエラーを回避することによって、復号ロバスト性が改善され、復号に成功するまでの全体的な実行時間が低減されることが多い。
同様に、他の先験的属性が、復号アルゴリズムの他の要素に影響を及ぼし得る。たとえば、予測モジュールサイズは、いずれのスケールでシンボルを求めて探索すべきかに影響を及ぼし得、画像品質を改善する(サイズを低減する、コントラストを改善する、テクスチャまたは雑音を除去するなど)ために使用される画像フィルタリングカーネルサイズを判定することができる。
プロセッサまたはアルゴリズムが、シンボルがとると予測されるサイズおよび形状のようなシンボルの知識を有する場合、位置特定および推定をより効率的に達成することができる。たとえば、システムまたは方法が8×8格子を求めて探索するように訓練されている場合、位置特定は、8×8モジュール以下をカバーすることができる領域をより特定的に探すことができる。同様に、推定は、8×8モジュールよりも大幅に大きくない空間のみをサンプリングし得る。
特定の態様において、2次元シンボルの範囲を推定することは、訓練またはユーザによる入力によって測定されるもののような、先験的情報を使用することを含むことができる。
方法は、エラー訂正ルーチンを使用してバイナリマトリックス内のエラーを訂正することをさらに含むことができる。エラー訂正ルーチンは、当業者に既知の方法によって実施することができる。たとえば、エラー訂正ルーチンは、リード−ソロモン、従来のコードなどを含む線形ブロックコードのようなブロックコードを含むことができる。
方法は、2次元マトリックスシンボルまたは2次元マトリックスシンボルに近い箇所を照明することをさらに含むことができる。照明することは、照明器によって実施することができる。照明することによって、画像ピクセルアレイ内に照明特徴をもたらすことができる。照明されると、位置特定ステップは、照明または画像ピクセルアレイ内の照明特徴に少なくとも部分的に基づき得る。
特定の態様において、方法は、1つの画像ピクセルアレイ内の1つまたは複数の照明特徴を位置特定することと、たとえば、両方の画像ピクセルアレイ内で識別することができるランドマークに対する1つまたは複数の照明特徴の位置を判定することによって、別個の画像ピクセルアレイ内の1つまたは複数の照明特徴の位置を推測することとを含むことができる。これによって、復号されるべき画像が露出される露出の間に照明が機能停止されることが可能になる。代替的に、1つまたは複数の照明特徴の位置は、たとえば、照明特徴が画像ピクセルアレイ内で再現性良く現れる場所(たとえば、画像の中心、製造時のメモリ内に格納されているときに測定される位置など)を判定することによって、画像を取得する前に知ることができる。
特定の態様において、方法は、プロセッサに対する単一のコマンドまたは複数のコマンドによって実行することができる。単一のコマンドまたは複数のコマンドは、ユーザによって提供することができ、または、プロセッサもしくは補助構成要素によって提供されるよう自動的にトリガすることができる。
特定の態様において、ファインダーパターンの一部分が紙の右辺に沿っており、暗い背景から区別することができないため、固定パターンは不完全であり得る。特定の態様において、ファインダーパターンの一部分が、特にシンボルの左上部分において単純に欠如しているため、固定パターンは不完全であり得る。
本発明が特定の実施形態および実施例に関連して上記で説明されてきたが、本発明は必ずしもそのようには限定されないこと、ならびに、多数の他の実施形態、実施例、使途、修正、ならびに、当該実施形態、実施例および使途からの展開が本明細書に添付の特許値請求の範囲によって包含されることが意図されることが、当業者には理解されよう。本明細書に記載されている各特許文献および刊行物の開示全体が、そのような各特許文献および刊行物が本明細書に参照により個々に組み込まれているように、参照により組み込まれる。
30 機械視覚システム
32 画像
34 物体
36 機械可読シンボル
38 コンベヤ
40 視野
42 イメージングデバイス
44 画像取得ソフトウェア
46 プロセッサ
48 視覚センサ
50 コンピューティングデバイス
52 メモリ媒体
54 通信ライン
56、70 2次元マトリックスシンボル
58 データ領域
60 シンボルモジュール
62 ファインダーパターン
64 クワイエットゾーン
66 タイミングパターン
72 位置合わせパターン
74 シンボル位置特定アルゴリズム
78 シンボル
80 画像ピクセルアレイ
82 バージョン情報領域
84 フォーマット情報領域
86 方向パターン
88 モードメッセージ
90 データ層
100 モジュール測定アルゴリズム
102 マトリックス復号アルゴリズム
104 トリガ入力

Claims (20)

  1. 各々がモジュール値およびモジュール位置を有するデータモジュールを含み、且つデータセットを符号化する2次元マトリックスシンボル、を読み取るシステムであって、
    前記2次元マトリックスシンボルの少なくとも一部分を含む画像を取得するように構成されたイメージングデバイスと、
    前記イメージングデバイスに結合されデータ読み取りアルゴリズムを実行するプロセッサであって、前記データ読み取りアルゴリズムが、前記画像を受信し、固定パターンを使用することなく前記画像内の前記データモジュールの少なくとも一部分の位置を特定し、前記画像から前記モジュール位置のモデルを当てはめ、前記モデルを推定して予測モジュール位置をもたらし、前記予測モジュール位置にある前記画像からモジュール値を決定し、前記モジュール値からバイナリマトリックスを抽出する、プロセッサと、
    前記プロセッサに結合され前記バイナリマトリックスを復号する復号アルゴリズムを実行するように構成されているバイナリマトリックス復号器と、
    を備えるシステム。
  2. 前記データ読み取りアルゴリズムは、エラー訂正ルーチンを使用して前記バイナリマトリックス内のエラーを訂正する
    請求項1に記載のシステム。
  3. 前記システムは、1つまたは複数の照明特徴を用いて前記画像の目標を照明する照明器を含む
    請求項1に記載のシステム。
  4. 前記データ読み取りアルゴリズムは、前記照明特徴を使用して前記画像内の前記データモジュールの少なくとも一部分を位置特定する
    請求項3に記載のシステム。
  5. 前記データモジュールの少なくとも一部分を位置特定することは、前記データモジュールの1つまたは複数の顕著な特徴を識別することを含み、該顕著な特徴が、形状、サドルの存否、隅の存否、点の存否、勾配、ヒストグラム、ウェーブレット、およびそれらの組み合わせから成る群から選択される
    請求項1に記載のシステム。
  6. 前記プロセッサまたは前記バイナリマトリックス復号器は複数のシンボルタイプを推定または復号するように構成されている
    請求項1に記載のシステム。
  7. 前記複数のシンボルタイプは、データマトリックス、QRコード(登録商標)、Aztecコード、MaxiCode、およびそれらの組み合わせから成る群から選択される
    請求項6に記載のシステム。
  8. 前記データ読み取りアルゴリズムは前記2次元マトリックスシンボルの属性を含む
    請求項1に記載のシステム。
  9. 前記データ読み取りアルゴリズムは前記プロセッサに対する単一のコマンドによって実行することができる
    請求項1に記載のシステム。
  10. 各々がモジュール値およびモジュール位置を有するデータモジュールを含み、且つデータセットを符号化する2次元マトリックスシンボル、を読み取る方法であって、
    プロセッサが、前記2次元マトリックスシンボルの少なくとも一部分を含む画像を受信するステップと、
    前記プロセッサを使用し固定パターンを使用することなく、前記画像内の前記データモジュールの少なくとも一部分を位置特定するステップと、
    前記プロセッサを使用して、前記画像から前記モジュール位置の少なくとも一部分にモデルを当てはめるステップと、
    前記プロセッサを使用して、前記モデルを推定し予測モジュール位置を画定するステップと、
    前記プロセッサを使用して、前記予測モジュール位置にある前記画像から前記モジュール値を判定するステップと、
    前記プロセッサを使用して、前記モジュール値からバイナリマトリックスを抽出するステップと、
    前記バイナリマトリックスを復号するステップと、
    を含む方法。
  11. 前記プロセッサを使用し、エラー訂正ルーチンを使用して前記バイナリマトリックス内のエラーを訂正するステップをさらに含む
    請求項10に記載の方法。
  12. 前記2次元マトリックスシンボルまたは前記2次元マトリックスシンボルに近い箇所を照明するステップをさらに含む
    請求項10に記載の方法。
  13. 前記データモジュールの少なくとも一部分を位置特定するステップは、前記データモジュールの1つまたは複数の顕著な特徴を識別するステップを含み、該顕著な特徴が、形状、サドルの存否、隅の存否、点の存否、勾配、ヒストグラム、ウェーブレット、およびそれらの組み合わせから成る群から選択される
    請求項10に記載の方法。
  14. 複数のシンボルタイプを推定または復号するよう試行するステップを含む
    請求項10に記載の方法。
  15. 前記複数のシンボルタイプは、データマトリックス、QRコード(登録商標)、Aztecコード、MaxiCode、およびそれらの組み合わせから成る群から選択される
    請求項14に記載の方法。
  16. 前記画像を受信する前に前記2次元マトリックスシンボルの1つまたは複数の属性を含むように前記プロセッサを訓練するステップをさらに含む
    請求項10に記載の方法。
  17. 前記方法は、前記プロセッサに対する単一のコマンドによって実行することができる
    請求項10に記載の方法。
  18. 各々がモジュール値およびモジュール位置を有するデータモジュールを含んでいる2次元マトリックスシンボルが復号可能であるか否かを判定するためのシステムであって、
    前記2次元マトリックスシンボルを含む画像を取得するように構成されるイメージングデバイスと、
    前記イメージングデバイスに結合されデータ読み取りアルゴリズムを実行するプロセッサであって、前記データ読み取りアルゴリズムが、前記画像を受信し、固定パターンを使用することなく前記画像内の前記データモジュールの少なくとも一部分を位置特定し、前記画像から前記モジュール位置のモデルを当てはめ、前記モデルを推定して予測モジュール位置をもたらし、前記予測モジュール位置にある前記画像からモジュール値を決定し、前記モジュール値からバイナリマトリックスを抽出する、プロセッサと、を備え、
    前記データ読み取りアルゴリズムは周波数ドメイン解析を含むシステム。
  19. 前記データ読み取りアルゴリズムは周波数ドメイン解析を使用して前記モデルを当てはめる
    請求項18に記載のシステム。
  20. 前記プロセッサに結合されているバイナリマトリックス復号器をさらに備え、前記バイナリマトリックス復号器は前記バイナリマトリックスを復号する復号アルゴリズムを実行するように構成されている
    請求項18に記載のシステム。
JP2015225405A 2014-11-18 2015-11-18 2次元マトリックスシンボルを復号するためのシステムおよび方法 Active JP6975526B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462081327P 2014-11-18 2014-11-18
US62/081327 2014-11-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021002347A Division JP7245270B2 (ja) 2014-11-18 2021-01-08 2次元マトリックスシンボルを復号するためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2016105276A true JP2016105276A (ja) 2016-06-09
JP6975526B2 JP6975526B2 (ja) 2021-12-01

Family

ID=54545030

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2015225405A Active JP6975526B2 (ja) 2014-11-18 2015-11-18 2次元マトリックスシンボルを復号するためのシステムおよび方法
JP2021002347A Active JP7245270B2 (ja) 2014-11-18 2021-01-08 2次元マトリックスシンボルを復号するためのシステムおよび方法
JP2023036456A Pending JP2023068000A (ja) 2014-11-18 2023-03-09 2次元マトリックスシンボルを復号するためのシステムおよび方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2021002347A Active JP7245270B2 (ja) 2014-11-18 2021-01-08 2次元マトリックスシンボルを復号するためのシステムおよび方法
JP2023036456A Pending JP2023068000A (ja) 2014-11-18 2023-03-09 2次元マトリックスシンボルを復号するためのシステムおよび方法

Country Status (5)

Country Link
US (3) US9911024B2 (ja)
EP (3) EP4137988A1 (ja)
JP (3) JP6975526B2 (ja)
CN (2) CN111797641B (ja)
HK (1) HK1225834A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020204078A1 (ja) * 2019-04-05 2020-10-08 オムロン株式会社 シンボル評価装置、および評価方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4137988A1 (en) * 2014-11-18 2023-02-22 Cognex Corporation System and methods for decoding two-dimensional matrix symbols
US9924241B2 (en) * 2015-07-30 2018-03-20 Commscope, Inc. Of North Carolina Intelligent patching systems and methods using color identification tags and related equipment
FR3053811B1 (fr) * 2016-07-06 2018-09-07 Ehtrace Procede d'interpretation de codes-barres et tracabilite de dispositifs medicaux
DE102017109469A1 (de) * 2017-05-03 2018-11-08 Sick Ag Kontrastsensor
US11308045B2 (en) * 2017-07-04 2022-04-19 Nec Corporation Information processing apparatus, control method, and program
CN109214230B (zh) * 2017-07-05 2022-04-05 杭州海康威视数字技术股份有限公司 数据矩阵码识别方法、装置及电子设备
US10540532B2 (en) 2017-09-29 2020-01-21 Datalogic Ip Tech S.R.L. System and method for detecting optical codes with damaged or incomplete finder patterns
CN109978110B (zh) * 2017-12-28 2022-01-28 沈阳新松机器人自动化股份有限公司 一种用于agv定位与导航的二维码及解码方法
CN108507596B (zh) * 2018-03-05 2020-06-30 中国科学院上海光学精密机械研究所 二维gold矩阵绝对位置编码方法及其解码方法
CN109784121B (zh) * 2019-01-14 2022-09-23 新大陆数字技术股份有限公司 Dot-peen DPM码的识别方法及装置
CN110111302B (zh) * 2019-03-28 2021-03-05 北京博睿维讯科技有限公司 基于多方向差异Hash算法的背景杂波度量方法
US10956696B2 (en) 2019-05-31 2021-03-23 Advanced New Technologies Co., Ltd. Two-dimensional code identification and positioning
JP6931935B2 (ja) * 2019-10-11 2021-09-08 株式会社テララコード研究所 二次元シンボル、及び二次元シンボルの読取方法
CN111079463B (zh) * 2019-10-22 2022-08-16 福建新大陆支付技术有限公司 一种用于软件测试的生成污损二维码的方法
US11188727B1 (en) * 2019-11-26 2021-11-30 Amazon Technologies, Inc. Efficient parallel barcode subpixel alignment
CN110796713B (zh) * 2019-11-29 2023-06-02 北京中科核安科技有限公司 放射源定位方法和装置、电子设备及计算机可读存储介质
JP6989859B2 (ja) * 2020-04-10 2022-01-12 有限会社バラエティーエム・ワン 情報コード、情報コード生成装置、情報コード読取装置、プログラムおよび情報コード利用システム
CN111597856B (zh) * 2020-05-26 2023-04-07 成都鹏业软件股份有限公司 一种基于光敏变色材料的混凝土标识提取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100131368A1 (en) * 2007-02-07 2010-05-27 Peachinc Limited Method and Apparatus for Detecting a Two Dimensional Data Matrix
JP2012033035A (ja) * 2010-07-30 2012-02-16 Shift:Kk 二次元コードリーダおよびプログラム
JP2012185725A (ja) * 2011-03-07 2012-09-27 Denso Wave Inc 光学情報読み取り装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4301775B2 (ja) * 2002-07-18 2009-07-22 シャープ株式会社 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体
US7181066B1 (en) 2002-12-26 2007-02-20 Cognex Technology And Investment Corporation Method for locating bar codes and symbols in an image
DE102010014937B4 (de) * 2010-04-14 2013-10-17 Ioss Intelligente Optische Sensoren & Systeme Gmbh Verfahren zum Lesen eines Codes auf einem Substrat durch Zusammensetzen von Code-Fragmenten unter Verwendung eines bildgebenden Codelesers
CN101882207B (zh) * 2010-06-01 2012-06-20 福建新大陆电脑股份有限公司 Data Matrix码条码解码芯片及其解码方法
CN101908128B (zh) * 2010-06-01 2012-06-20 福建新大陆电脑股份有限公司 Aztec Code条码解码芯片及其解码方法
CN103544516B (zh) * 2012-07-12 2016-09-07 中国移动通信集团公司 二维码的编、解码方法及二维码编码器、解码器
US9946947B2 (en) * 2012-10-31 2018-04-17 Cognex Corporation System and method for finding saddle point-like structures in an image and determining information from the same
EP4137988A1 (en) * 2014-11-18 2023-02-22 Cognex Corporation System and methods for decoding two-dimensional matrix symbols

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100131368A1 (en) * 2007-02-07 2010-05-27 Peachinc Limited Method and Apparatus for Detecting a Two Dimensional Data Matrix
JP2012033035A (ja) * 2010-07-30 2012-02-16 Shift:Kk 二次元コードリーダおよびプログラム
JP2012185725A (ja) * 2011-03-07 2012-09-27 Denso Wave Inc 光学情報読み取り装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020204078A1 (ja) * 2019-04-05 2020-10-08 オムロン株式会社 シンボル評価装置、および評価方法
JP2020170466A (ja) * 2019-04-05 2020-10-15 オムロン株式会社 シンボル評価装置、および評価方法
JP7230652B2 (ja) 2019-04-05 2023-03-01 オムロン株式会社 シンボル評価装置、および評価方法
US11829837B2 (en) 2019-04-05 2023-11-28 Omron Corporation Symbol evaluation device and evaluation method

Also Published As

Publication number Publication date
JP2023068000A (ja) 2023-05-16
JP7245270B2 (ja) 2023-03-23
EP3023905A1 (en) 2016-05-25
EP4137988A1 (en) 2023-02-22
EP3467700B1 (en) 2022-05-04
CN105654015B (zh) 2020-07-14
CN111797641A (zh) 2020-10-20
EP3023905B1 (en) 2018-08-08
CN111797641B (zh) 2024-07-26
US9911024B2 (en) 2018-03-06
EP3467700A1 (en) 2019-04-10
US10956697B2 (en) 2021-03-23
US20220012447A1 (en) 2022-01-13
US20180293418A1 (en) 2018-10-11
JP2021051815A (ja) 2021-04-01
HK1225834A1 (zh) 2017-09-15
CN105654015A (zh) 2016-06-08
US20160140374A1 (en) 2016-05-19
JP6975526B2 (ja) 2021-12-01
US11455482B2 (en) 2022-09-27

Similar Documents

Publication Publication Date Title
JP7245270B2 (ja) 2次元マトリックスシンボルを復号するためのシステムおよび方法
US10262176B1 (en) Scanner with control logic for resolving package labeling
EP0669593B1 (en) Two-dimensional code recognition method
EP3462372B1 (en) System and method for detecting optical codes with damaged or incomplete finder patterns
US9286501B2 (en) Method and device for identifying a two-dimensional barcode
JP2022009465A (ja) バーコードにビジョンシステムカメラの自動焦点システム及び方法
JP6344389B2 (ja) 光学文字認識装置
US8526668B2 (en) Marker processing method, marker processing device, marker, object having a marker, and marker processing program
JP6457971B2 (ja) 複数の撮影画像を用いてパターンのステッチおよびデコードするシステムおよび方法
CN102460478A (zh) 二维符号代码和用于读取符号代码的方法
CN108573184B (zh) 一种二维码定位方法、模块及计算机可读存储介质
JP6860355B2 (ja) 改善されたマトリックス記号エラー修正方法
BR112013011943B1 (pt) método para identificação de um código de barras bidimensional em dados de imagem digital do código de barras, meio legível por computador não transitório e aparato configurado para identificar um código de barras bidimensional em dados de imagem digital do código de barras
Steinbrenner 2-Dimensional Visual Code Marker Detection Algorithm EE 368 Final Project Spring 2006
Bagherinia Mobile Vision Multicolor Target Detection And Color Information Decoding

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180130

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180822

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200316

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200908

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210108

C116 Written invitation by the chief administrative judge to file amendments

Free format text: JAPANESE INTERMEDIATE CODE: C116

Effective date: 20210126

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20210126

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20210608

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20210831

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20211012

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20211012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211108

R150 Certificate of patent or registration of utility model

Ref document number: 6975526

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150