JP7200265B2 - バーコード検出方法 - Google Patents

バーコード検出方法 Download PDF

Info

Publication number
JP7200265B2
JP7200265B2 JP2020564405A JP2020564405A JP7200265B2 JP 7200265 B2 JP7200265 B2 JP 7200265B2 JP 2020564405 A JP2020564405 A JP 2020564405A JP 2020564405 A JP2020564405 A JP 2020564405A JP 7200265 B2 JP7200265 B2 JP 7200265B2
Authority
JP
Japan
Prior art keywords
image
digital image
image array
radon transform
typical
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.)
Active
Application number
JP2020564405A
Other languages
English (en)
Other versions
JP2021524106A (ja
Inventor
カルデネス,オスカー ゴメス
ラモス,ホセ マヌエル ロドリゲス
Original Assignee
ウープティックス ソシエダ リミターダ
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 ウープティックス ソシエダ リミターダ filed Critical ウープティックス ソシエダ リミターダ
Publication of JP2021524106A publication Critical patent/JP2021524106A/ja
Application granted granted Critical
Publication of JP7200265B2 publication Critical patent/JP7200265B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/14131D 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Description

本発明は、特許請求項1のプリアンブルで指定されたようなタイプの方法、及び特許請求項14で指定されたようなコンピュータシステムに関する。
光学機械可読バーコードは、前記バーコードを備えた物体又は物品を説明し識別するために産業と商業で一般的手段になっている。
詳細には、光学機械可読バーコードは、人間介入なしに、物体を自動的に識別し、それに関するデータを収集し、そのデータをコンピュータシステムに直接入力するための物体の自動識別及びデータ取得(AIDC)を容易にする。
多くの光学機械可読バーコードは、専用光学スキャナ(例えば、レーザスキャナを備えたスーパーマーケット会計システムで購入物品のバーコードを読み取る)によって読み取られるが、デジタルカメラ(例えば、スマートモバイル装置からのカメラ)によって取り込まれた画像からもバーコードを読み取ることができるアプリケーションソフトが開発され、それにより、バーコードの使用と応用が更に広まった。
しかしながら、デジタル画像から光学バーコードを読み取る現在の方法には幾つかの厳しい欠点と制限がある。
詳細には、デジタル画像に埋め込まれたバーコード(詳細にはデジタル画像に埋め込まれた一次元バーコード)の検出又は位置確認及び識別は、スマート装置(例えば、スマートフォン、タブレット)の現在の最新技術のプロセッサでも、計算処理が困難で計算資源集約的なタスクであることが分かっている。
実際には、現在の方法又はシステムは、本質的に、一次元バーコードが、スマート装置によって取り込まれるとき、カメラの正面にあり、カメラに位置合わせされ正確な距離にあるという意味で、専らデコーダとして動作する。
換言すると、現在の方法又はシステムは、画像内のバーコードの特定の位置及び/又はサイズ及び/又は解像度及び/又は向きを予想又は仮定する。
したがって、現在既知の方法又はシステムは、ほとんどの実際的事例で、取り込まれた画像内のバーコードが、画像内の任意の予期しない位置、サイズ又は向きを有するので、満足な結果を提供しないことが多い。
課題
したがって、本発明の目的は、デジタル画像内にあるバーコードを検出し位置確認するための改善された手段を提供することである。
詳細には、例えば、本発明の目的は、デジタル画像に埋め込まれた一次元バーコードの位置確認を単純化し高速化することである。
解決策
本発明によれば、この目的は、請求項1による方法と請求項14によるコンピュータシステムによって達成される。
有利な実施形態及び更に他の開発は、サブクレームの内容である。
二次元デジタル画像配列として表されたデジタル画像内のバーコード(例えば、一次元バーコード)を検出するための典型的な方法は、
前記画像配列にフィルタを適用するステップと、
前記フィルタ画像配列の離散ラドン変換を計算するステップであって、前記離散ラドン変換が、前記フィルタ画像配列と交差する複数の不連続線に対して計算されるステップとを含み、
所定の傾きを有する所定の不連続線ごとに、前記離散ラドン変換が、前記所定の不連続線の幾つかの異なる変位に対して計算され、前記変位の数が、前記画像配列の次元の2倍未満であり、
前記フィルタ画像配列の前記離散ラドン変換の出力内でパターンの頂点を検出するステップと、
前記デジタル画像内にあるバーコードの位置を制限するために、前記検出された頂点を前記画像配列内の不連続線に逆変換するステップと、の1つ、幾つか又は全てを含む。
本明細書において、前記二次元デジタル画像配列又はデジタル画像は、とりわけ、強度値の二次元配列(例えば、画像画素の二次元配列)として表されるように理解されうる。
要するに、典型的に前述された方法は、前記デジタル画像と交差するほとんど全ての直線に沿った画素の合計の同時かつ効率的な計算を可能にする。
更に、前記画像座標領域内の前記バーコードを直接検出し位置確認しようとする代わりに、本発明は、前記処理されたデジタル画像を、前記画像のほとんど全ての可能な投影をカバーする傾き又は角度及び変位によって表されうる領域に変換する。この新しい領域(即ち、前記フィルタ画像配列の前記離散ラドン変換を計算することによって生成された出力)において、前記バーコードの画像は、元の領域(即ち、元の画像又は元の画像座標)内の前記バーコードの検出より容易に検出できる特殊パターンを生成する。
用語「バーコード」は、本明細書では、一次元バーコード又は線形バーコード(例えば、様々な幅と、線間の様々な間隔とを有する平行線パターン)を指すように理解されうる。
更に、有限数の線点又は線要素を有する前記不連続線は、所定の不連続線が、前記画像配列の各列内の1つの配列点だけを超えるように定義されうる。
所定の不連続線は、とりわけ、傾き(例えば、傾きs)と切片(例えば、切片d)によってパラメータ化されうる。前記傾きは、角度によって表されてもよく、この角度は、atan(s/(N-1))(即ち、勾配sの逆タンジェント)として定義されてもよく、ここで、Nは、整数(処理される画像の画像配列の列数)である。
更に、所定の傾きを有する所定の不連続線の、同じ傾きを有する別の不連続線に対する変位は、切片(例えば、垂直切片)によっても特徴付けられうる。
前述された典型的な方法は、デジタル画像(例えば、スマートフォンなどのスマート装置のカメラによって取り込まれたデジタル画像)に埋め込まれた一次元バーコードの正確かつ確実な識別と位置確認を達成するのに必要な計算ステップの大幅な高速化と低減を可能にする。
これにより、デジタル画像内のバーコードを、デジタル画像内の前記バーコードの位置、サイズ又は向きに関係なく検出、位置確認、及びデコードでき、その理由は、前述の方法又は変換が、画像に埋め込まれたバーコードの角度/回転又は向きの変化に対して不変だからである。
詳細には、本発明は、処理ユニット(例えば、スマートフォンなどの一般のスマート装置の中央処理装置(CPU)及び/又は図形処理ユニット(GPU))上で、これらのステップの全て(即ち、バーコードの検出又は位置確認、及びデコーディング)の実行を可能にする。
例えば、最新技術によれば、画素サイズNxN(Nは正整数)の画像の場合、必要とされる計算の最小出力サイズ又は最小数は3Nx4Nであり、本発明によれば、デジタル画像(即ち、フィルタ画像配列)のラドン変換から得られた出力の出力サイズは、わずかNx4Nであり、log(N)x4Nの計算(例えば、整数の和の計算)に上限を有する。
本明細書に記載された方法によれば、少なくとも2x4xN回の計算を必要とする現在の力ずくの手法と比べて計算コストがかなり節約される。例えば、N=512の画像(即ち、512×512画素の画像)の場合、必要な計算は、最新技術の手法と比較して1%未満であり、即ち、計算が10億回の代わりに9400万回のみである。
本発明は、とりわけ、現在のモバイルスマート装置のプロセッサによって実行されるには計算コストがかかり過ぎる最大かつ完全なラドン変換だけしか、デジタル画像に埋め込まれたバーコードの位置を決定するのに必要十分な計算基礎を提供できないという技術的不利益を克服する。
換言すると、本発明は、画像内のバーコードの位置、サイズ及び向きに制限を課すことなく、スマートフォンなどのモバイルスマート装置上で画像データのバーコード検出及びデコードを実行するための方法、即ち、これまで現在のスマートフォンによって提供される限られた処理能力によってできないと思われていたタスクを開放する。
前記不連続線は、厳密に直線にならないという点で古典的な連続直線と異なってもよく、これは以下のことから理解される。
前記典型的な不連続線は、前記処理される画像の不連続画像配列上の整数位置で定義され、例えば、整数位置から始まるとき、整数ステップの上昇又は下降を行うことができ、前記上昇ステップ又は前記下降ステップはそれぞれ不連続画像配列の整数位置に進む。
不連続線は、例えば、サイズ(N,N)の二次元領域を横切る(整数)座標{x,y}対を有する1組の不連続点として定義されてもよく、ここで、N=2であり、nは1を超える整数であり、iとNは整数であり、位置{x=0,y=d}で始まり、{xN-1=N-1,yN-1=d+s}で終わり、即ち、x軸の終わりで、この線は、y軸上dの始点より上のsの位置で終わり、ここで、dは切片又は変位であり、sは傾き又は角度である。
Figure 0007200265000001
、xとsは、二進数で分解され、項1は、次のようになる。
Figure 0007200265000002
また評価されるとき、例えばs=3、即ちs=(s,s,s)=(1,1,0)の場合、この式は次のようになる。
Figure 0007200265000003
次に、この式を0~N-1の各x(二進数で表された)に関して評価でき、dを全てのy座標に追加した後で所望の線を得ることが可能である。
代替又は追加として、不連続線は、とりわけ、以下のように再帰的に定義されうる。例えば、前記処理される画像又は画像配列又は前記画像領域を、不連続線の異なる部分又はセグメントを含む2つの半分に分解又は分割できる。
例えば、前記画像配列又は画像領域は、水平軸に沿った2つの半分に分割されてもよく、開始整数と偶数の上昇ステップが与えられた場合、画像配列半分又は画像領域半分のそれぞれの半分内で上昇ステップの半分を上昇させるように規定でき、奇数の上昇ステップの場合は、第1の画像配列半分又は第1の画像領域半分内で上昇の第1の半分を行うように規定でき、第1の半分内のステップ数はfloor((上昇ステップ数)/2)であり、ここでfloorは床関数であり、残りの数の上昇ステップは、第2の画像配列半分又は第2の画像領域半分内で実行される。
この典型的な方法は、前記処理される画像又は画像配列の2つの点(即ち、2つの整数位置)を接続する不連続線を生成できる。
完全性のため、前記処理される画像配列と交差する前記不連続線の始(又は終)点が、前記画像配列の外側(即ち、前記画像配列点又は画像配列指数の外側)にあることに注意されたい。換言すると、前記不連続線を表現できる領域(例えば、傾き又は角度及び切片又は変位が及ぶパラメータ空間)は、前記処理される画像を示す領域(例えば、前記画像配列指数)よりも延在できる。
Figure 0007200265000004
Figure 0007200265000005
Figure 0007200265000006
更に、ステージmに対する部分的離散ラドン変換を次のように定義できる。
Figure 0007200265000007
本明細書において、用語「ステージm」は、2個v∈0..2n-m-1群の連続列内の全ての可能な加算を行う変換のステップとして理解されうる。第1ステージで、m=0の
Figure 0007200265000008
は、それぞれ4列を含むN/4個のストリップになり、その後も同様である。最終ステージで、m=nのとき、全ての列を含む1群だけになり、したがって、とりわけ、最終ラド
Figure 0007200265000009
Figure 0007200265000010
に変換するようなものである。更に、上記で、縦棒記号「I」は、配列内のパラメータを分離するために使用され(f(xIy)のように)、コンマ「,」は、これらのパラメータを分解できる二進次元を分離するために使用されたことに注意されたい。
更に、2つの連続するステージ間のマッピングは次のように表されうる。
Figure 0007200265000011
ここで、部分的ステージのビット数は、異なってもよく、m(現在のステージ)に依存
Figure 0007200265000012
離散ラドン変換の実行前にデジタル画像又は画像配列に適用できる前述のフィルタは、例えば、エッジ検出フィルタ又は勾配フィルタでよい。例えば、フィルタは、画像画素の強度値の勾配を計算できる。
そのようなフィルタの適用は、詳細には、処理される画像内のフィーチャを強調でき、輝度又は強度は、特にバーコードの場合のとき、鋭く変化するか不連続性を有する。
したがって、前記典型的な勾配フィルタが前記パターンの縁又は輪郭も強調するので、これは、とりわけ、フィルタ画像配列の離散ラドン変換の出力内でパターンの頂点を検出するステップを容易にできる。
例えば、フィルタ画像の離散ラドン変換の出力内のパターンは、四辺形(例えば、菱形)を有してもよく、前記可能な勾配フィルタは、四角形又は菱形パターンの縁又は輪郭を強調でき、その結果、四角形又は菱形パターンの頂点をより容易に検出及び位置確認できる。後でより詳細に典型的に示されるように、これは、処理される画像内の検出されるバーコードの位置の制限を改善できる。
フィルタ画像配列を交差する複数の不連続線と所定の傾きに関する離散ラドン変換の前述の計算は、とりわけ、画像配列の中心に最も近い不連続線のN個の変位に関して計算されてもよく、ここでNは整数及び画像配列の次元である。
これは、フィルタ画像配列と交差する不連続線の全ての角度又は傾きに関して行われうる。
驚くべきことに、前記N個の中央変位だけの離散ラドン変換の計算が、処理される画像内のバーコードの位置を確実かつ正確に検出し決定するのに十分であることが分かった。例えば、これまでは、バーコードの位置の推定を得るために、傾き又は角度ごとに少なくとも2N-1個の不連続線の変位を計算する必要があると仮定されていた。
処理される画像と交差する不連続線の全ての変位及び傾きを計算する本明細書に示された方法は、より効率的であるだけでなく、変位の計算又は識別も容易にし、その理由は、前記変位を、処理される画像の固定中心点に対して定義できるからである。
埋め込まれたバーコードを検出するために画像の上記及び本明細書に記載の処理を単純化し高速化するため、また処理されるデジタル画像がまだ正方形でない場合に、デジタル画像は、正方形画像(即ち、サイズNxNの画像配列)にサイズ変更されてもよく、Nは整数である。
詳細には、処理される画像は、例えば、サイズNxNの画像配列に切断、パディング又は補間することによってサイズ変更されてもよく、ここで、N=2、nは1より大きい整数である。
これは、とりわけ、画像を半分に、更に2の倍数に分割できるので、画像の処理効率を改善でき、その結果、画像の処理(例えば、ラドン変換の計算)が、画像の副部分の様々な半分に並列に実行されうるようになる。
更に、フィルタ画像配列の離散ラドン変換を4つの象限に実行でき、象限は、離散ラドン変換が計算されるフィルタ画像配列と交差する不連続線の特定の範囲の傾き又は角度を定義できる。
例えば、第1象限が、0°~45°の不連続線傾きをカバーでき、第2象限が、45°~90°の不連続線傾きをカバーでき、第3象限が、-90°~-45°の不連続線傾きをカバーでき、第4象限が、-45°~0°の不連続線傾きをカバーできる。
更に、第1象限の計算されたラドン変換の回転及び転換された複製が、第4象限と第1象限に付属されうる第5象限を定義できる。
メビウス帯又はメビウスストライプ内の第4象限と第1象限を接続できる第5象限の導入は、処理される画像の近く又は縁にあるバーコードの検出及び位置確認を妨げうる境界効果を回避するのに役立ちうる。
前述されたように、本明細書に記載された方法は、画像内のバーコードを検出し位置確認するために離散ラドン変換を計算する現在より効率的な方法である。
例えば、フィルタ画像配列の離散ラドン変換は、フィルタ画像配列の1列又はデータ列ごとに実行されうる。これは、とりわけ、より効率的なコンピュータプロセッサメモリ管理を可能にし、例えば、別個のメモリバッファが、フィルタ画像配列のラドン変換の奇数及び偶数列の計算に割り当てられうる。
例えば、計算される象限に関して、処理される画像と交差する不連続線のN個の角度のそれぞれのN個の中央変位だけが計算される場合は、離散ラドン変換の各中間ステージで、N値のデータストライプ又はN個の値の列として分散されたNxN値を計算するだけでよい。
例えば、0°~45°の不連続線の傾きs又は角度をカバーする第1象限では、dを2
Figure 0007200265000013
dの中央部分だけを検討できる。
詳細には、データストライプ間又はデータ列間の計算上の関係は、以下のように例示的に表され利用されうる。
以前のステージmからのデータから計算される特定のステージm+1におけるデータを検討する。ここで、mは0~n-1の整数であり、nは整数であり、n=log(N)である。
更に、二次元(d,s)領域内の2つの連続したデータ列又はデータストライプを検討する。ここで、指数S(偶数)とS+1(奇数)はステージm+1に属する。
これらの列のそれぞれの所望のN値を計算するために、指数S及びSを有する列から来る長さNの2つのストライプを加算できる。ここで、加算する列のd軸に沿った始点は
Figure 0007200265000014
次に、ステージm+1の指数Sは、例えば、二進表示によって以下のように細分されうる。
Figure 0007200265000015
次に、ステージmの指数を以下のように表現できる。
Figure 0007200265000016
他の軸d上のストライプ又は列の始点を計算するために、次のように定義できる。
Figure 0007200265000017
この値により、次のように計算できる。
Figure 0007200265000018
Figure 0007200265000019
≪記号は二進シフトを指し、<は0又は1に評価されるより低い比較である。
換言すると、本明細書に提案された方法では、所定のステージの2つのデータ列を加算でき、前記加算の結果は、様々な後のステージからの列の計算が探しうるメモリ場所又は位置に配置又は記憶されうる。
更に、計算の各ステップで、2つのメモリバッファが、ステージmからのデータとステージm+1からのデータを記憶できる。
以下の擬似コードは、前のステップを含むアルゴリズムの典型的な実現であり、定義さ
Figure 0007200265000020
データをどのように関連付けるかを典型的に示す。
Figure 0007200265000021
ータを加算する結果である。
Figure 0007200265000022
ら下降する列S内のN個のデータを加算する結果である。
Figure 0007200265000023
しかしながら、本明細書に記載された方法を実行するコンピュータのメモリ配置により、行を中心としたアルゴリズムバージョンを使用できる。
前述されたように、フィルタ画像配列(バーコードの画像)の離散ラドン変換を計算することによって生成された出力は、元領域内(即ち、元画像又は元画像座標)のバーコードの検出より容易に検出されうる(d,s)パラメータ空間又は領域(即ち、変位/切片及び傾き/角度領域)内の特別なパラメータを生成し変換される。
詳細には、例えば、前記パターンは、フィルタ画像配列の離散ラドン変換を計算することによって生成された出力内で検出されうる縁又は頂点を含みうる。前記縁又は頂点は、処理されるデジタル画像内にあるバーコードの位置を制限できる情報を含む。
詳細には、例えば、前記パターンは、四辺形(例えば、菱形)でよい。
より正確には、ラドン変換出力内のパターンの検出された縁又は頂点は、デジタル画像内のバーコードの位置を制限するために画像配列内の不連続線に逆変換されうる。
それにより、例えば、パターンの頂点の検出は、離散ラドン変換の出力内のそれらの強度値と分散に基づきうる。
追加又は代替として、パターン(例えば、四角形又は菱形パターン)の頂点の検出は、前記頂点の検出のためにトレーニングされたニューラルネットワークによって実行されうる。
それにより、デジタル画像内のバーコードの位置の制限は、とりわけ、検出パターンの検出された最上頂点と検出された最下頂点の縦方向指数の平均化を含む。これは、処理される画像内のバーコードの傾き又は角度を制限しうる。
デジタル画像内にあるバーコードの位置の制限は、更に、検出されたパターンの2つの検出された横方向頂点(例えば、左側頂点と右側頂点)の水平指数の差の計算を含みうる。
更に、検出された頂点を画像配列内の不連続線に変換することは、2つの検出された横方向頂点(例えば、左側頂点と右側頂点及び/又は最上頂点と最下頂点、又は頂点の他の組み合わせ)を、画像配列内の2つの不連続線の線パラメータに変換することと、前記2つの不連続線の交点を計算することを含む。
前記交点は、例えば、処理される画像内のバーコードの中心の位置を制限できる。
例えば、フィルタリングされた画像配列の離散ラドン変換の出力のラドンd及びsパラメータ空間からの検出頂点を画像内の線のx及びyパラメータ空間に変換することは、例えば0°~45°象限の場合、関係y=d+s/(N-1)・xを計算することを含みうる。
45°~90°の場合、関係は、x=-d+(N-1-s)/(N-1)・yと表されうる。
-45°~0°の場合、関係は、x=d-s/(N-1)・yと表されうる。
-90°~-45°の場合、関係は、y=d+(s-N+1)/(N-1)・xと表されうる。
典型的には、二次元デジタル画像配列として表されるデジタル画像のバーコードを検出する方法は、以下の典型的なステップのうちの1つ、幾つか又は全てを含みうる。
・スマートモバイル装置カメラによって、画像を、必要に応じて中央の正方形領域、又は任意のアスペクト比を有する画像を取り込むステップ。
・必要に応じて、サイズNxN(例えば、(装置計算能力により)N=512又はN=1024のサイズを有する)の正方形画像になるように画像をサイズ変更するステップ。
・(正方形)画像の輝度チャネルの勾配のモジュールを計算するステップ。
・4つの象限の計算された勾配の離散ラドン変換を計算するステップであって、画像と交差する不連続線の角度又は傾きごとにN個の中央変位だけを計算するステップ。
・第1象限の垂直及び水平方向に反射されたバージョンを第4象限の右側に付属させて、N個の中央変位の離散ラドン変換(DRTN)の5象限バージョンを得るステップ。
・5象限バージョン(DRTN)内の最も顕著な菱形(例えば、そのより高い平均とより小さい相対分散に基づいて)を位置確認するステップであって、例えば、
・DRTNの5象限バージョンの非重複パッチの平均と分散を局所的に分析し
・パッチをその大きさにより順序付け、より大きいパッチだけを取得し、隣接する場合はそのパッチをグループ化し、得られた菱形の頂点を抽出し、
・かつ/又は
・出力として勾配のDRTN内に菱形の位置及び入力としてバーコードを含む数千の典型的な画像対内の菱形頂点を認識するように事前にトレーニングされたニューラルネットワークに、DRTNの5つ象限バージョンを渡すステップと、
・菱形の最上及び最下頂点のs指数、即ち、正方形画像空間内のバーコードの傾きを平均化し、
・最上及び最下頂点間のd軸での差、即ち、正方形画像空間内のバーコードの高さの指標を取得し、
・菱形の左側及び右側頂点の座標を正方形画像空間内の線パラメータに変換し、これらの2本の線の交点、即ち、正方形画像空間内のバーコードのほぼ中心を計算し、
・カメラからの画像が、前述の任意ステップでサイズ変更及び/又は拡大された場合は、現在正方形画像座標を指しているバーコード位置の全ての事前計算された指標と制限を、元画像座標に変換し、
・検出又は位置確認されたバーコードの中心を通る単一線を分析するか、バーコードをその中心のまわりに長手方向に横切る幾つかの線の混合物を分析する、バーコードデコーダソフトウェアにより元画像座標内のバーコードの導出された高さ、傾き及び中心座標を使用することによって行われるステップ。
本明細書に記載された方法及び方法ステップは、コンピュータシステムによって実行でき、即ち、典型的なコンピュータシステムは、前述の方法ステップのいずれかによる方法によって実行するように構成されうる。
前記典型的なコンピュータシステムは、例えば、スマート装置(例えば、カメラを備えたスマートモバイル装置)を含みうる。
更に、1つ以上のコンピュータ可読記憶媒体は、計算処理システムの1つ以上のプロセッサによって実行されるとき、1つ以上のプロセッサに、デジタル画像内のバーコードを検出するために本明細書に記載の方法又は方法ステップを実行させる命令を記憶してもよい。
以下の図は、本発明のよりよい理解のための典型的な態様を示す。
偶数上昇を有する典型的な不連続線を示す図である。 奇数上昇を有する典型的な不連続線を示す図である。 サイズ8×8の典型的な画像配列の典型的な不連続線を示す図である。 第1象限の典型的な離散ラドン変換を示す図である。 離散ラドン変換の典型的な4象限を示す図である。 傾き又は上昇=0の場合の典型的な不連続線/投影とそれらの加算寄与を示す図である。 傾き又は上昇=N-1の場合の典型的な不連続線/投影とそれらの加算寄与を示す図である。 第1の2つ象限の古典的な従来のラドン変換の計算に関与する画素数の典型的な寄与を示す図である。 第1の2つ象限のN個の中央変位の離散ラドン変換(DRTN)の計算に関与する画素数の典型的な寄与を示す図である。 離散ラドン変換の計算の様々なステージの典型的なメモリパターン又はメモリ位置を示す図である。 データ列又はデータストライプの典型的な計算スキームを示す図である。 画像に埋め込まれたバーコードの位置を制限するための例を示す図である。
図1a、図1b及び図1cは、処理される画像配列又は画像100,105を横切る不連続線103,104の幾つかの態様を典型的に示し、これらの線に沿って、本明細書に記載されたような離散ラドン変換が計算されうる。
例えば、図1aと図1bの画像又は画像配列100は、サイズNxNのものでよく(N=2、nは1より大きい整数)、各画像配列点は、典型的な指数対(i,j)によって識別されうる(0≦i,j<N、i,jは整数)。
前記指数は単なる例であり、特に、他の指数スキーム(例えば、指数が0の代わりに1から始まる)を使用できることが考えられる。
前記典型的な画像又は画像配列又は画像領域100は、1つの軸(例えば、水平軸)に沿って、幅N/2の2つの半分101,102に、例えば幅0からN/2-1の第1の半分101と、幅N/2からN-1の第2の半分に分割される。
典型的に示された不連続線103は、切片dと傾き又は増加sにより定義されてもよく、ここでdとsは符号付き整数でよい。
図1aの前記典型的な不連続線103は、典型的には偶数の上昇ステップを含み、典型的には配列点(0,d)と(N-1,d+s)を接続し、不連続線103の上昇又は増加の第1の半分は、画像配列100の第1の半分101で起こり、不連続線103の上昇又は増加の第2の半分は、画像配列100の第2の半分102で起こる。
参照数字108,109は、典型的には、不連続線103の始点と終点を示す。
図1bの典型的な不連続線104は、典型的には、奇数の上昇ステップを含み、典型的には配列点(0,d)と(N-1,d+2(floor(s/2))+1)を接続し、不連続線104の偶数の上昇又は増加ステップは、画像配列100の第1の半分101で起こり、前記偶数は、floor((上昇ステップ数)/2)であり、floorは床関数であり、不連続線104の残りの数の上昇又は増加ステップは、画像配列100の第2の半分102で起こる。
参照数字110,111は、不連続線104の始点と終点を典型的に示す。
図1cは、画像配列105を横切る2つの不連続線106,107の特定の例を典型的に示し、N=8である。
ここで、典型的には、不連続線106は、画像配列点(0,4)と(7,6)を接続し、即ち、線106は2つの上昇ステップで上昇し、ここで、第1の上昇ステップは、第1の画像半分又は第1の画像領域内で行われ、第2の上昇ステップは、第2の画像半分又は第2の画像領域内で行われる。
典型的な不連続線107は、画像領域点(0,-1)と(7,4)を接続し、即ち、線176は、5つの上昇ステップで上昇し、第1の2つの上昇ステップは、第1の画像領域内で行なわれ、2つの他の上昇ステップは、第2の画像半分又は第2の画像領域内で行われ、残りの上昇ステップは、2つの半分の間で行われる。
完全性のため、処理される画像配列と交差する不連続線の始(又は終)点は、画像配列の外側、即ち、画像配列点又は画像配列指数の外側にあることに注意されたい。
図2aは、処理される画像の第1象限204とサイズN=NxNの画像配列200の典型的な離散ラドン変換を示し、ここで、N=2であり、nは1より大きい整数であり、Nは自然数である。
典型的な画像配列200は、例えば、(x,y)平面201内に示されてもよく、典型的指数対(i,j)によって識別されうるNxN画像配列点を含むことができ、ここで、0≦i,j<Nであり、i,jは整数である。
典型的には、画像又は画像配列200の左下角は、(x,y)平面201の始点、即ち画像配列点(0,0)と一致する。
画像200上の離散的ラドン変換を実行できる離散線が記述される領域は、典型的には、パラメータ(切片又は変位dと角度又は傾きs)の領域内でパラメータ化される。
示された例は、離散ラドン変換を計算できる不連続線202である。
前記典型的不連続線202は、処理される画像又は画像配列200の1点だけを横切るか接触し、前記典型的な不連続線202は、例えば、切片又は変位d=-N+1から始まり、傾きs=Nで上昇する(即ち、Nステップ上昇)ように記述されうる。
実際には、変位d=-N+1の場合、第1象限内で離散ラドン変換の唯一の非ゼロ和は、Nステップ又は位置を上昇させるもの(即ち、不連続線202)になる。変位を変位d=-1まで大きくすると、非ヌル上昇の数が、変位d=0からd=N-1に、和がヌルでない全ての可能な上昇に関して着実に増大する。
更に他の例として、典型的には画像200の最下縁又は最終行と一致する不連続線210が表され、不連続線210は、切片又は変位d=0から始まり、傾きs=0(即ち、水平方向)の場合にNステップ進行又は前進するように表される。
典型的には、203で示された離散ラドン変換を、画像200を横切る複数の不連続線に適用することにより、(d,s)平面208内に示された領域又は領域空間(即ち、切片又は変位d及び角度又は傾きsよってパラメータ化された領域)内に出力204が生成される。
詳細には、描かれた典型的な計算出力204は、傾き0°から45°、即ち第1の象限内の不連続線の傾き範囲を有する2N個の変位を含む1組の不連続線の離散的ラドン変換を実行することによって生成されうる。
前記出力204は、サイズN+N(N-1)/2のものであり、典型的に描かれた形状のものである。
前記出力204は、象限のラドン変換計算、より正確には第1象限のラドン変換計算とも呼ばれうる。
図2bは、処理される画像200の十分なグローバル離散ラドン変換を得るために、ラドン領域又はラドン領域空間209内で計算される4つ全ての象限204,205,206及び207の形状を典型的に示す。
完全性のため、図2bの水平軸が角度atan(s/(N-1))によってパラメータ化されることに注意されたい。しかしながら、傾きsによって単純にパラメータ化されてもよい。
前述のように、象限は、離散ラドン変換が計算されるフィルタリングされた画像配列と交差する不連続線の特定範囲の傾き又は角度を定義できる。
例えば、第1象限204は、0°から45°(0からπ/4)の不連続線傾き又は角度をカバーでき、第2象限205は、45°から90°(π/4からπ/2)の不連続線傾きをカバーでき、第3象限206は、-90°から-45°(-π/2から-π/4)の不連続線傾きをカバーでき、第4象限207は、-45°から0°(-π/4から-0)の不連続線傾きをカバーできる。
図3aは、処理されN=NxNのサイズを有する画像又は画像配列300を典型的に示し、ここで、N=8、即ち画像は8×8画素を含む。
この図は、更に、ラドン変換を実行できる、角度又は傾きs=0を有するが2N個の異なる切片又は変位dを有する典型的な1組の投影又は1組の不連続線301を示す。
参照数字302は、所定の不連続線301又は所定の投影ごとに、前記所定の不連続線又は投影のラドン変換の加算項に寄与する画像画素305の数を集計する1組の典型的なビンを示す。
典型的に示した事例では、画像300と交差又は横切る任意の投影又は不連続線301の場合、そのような投影又は不連続線のラドン変換の加算項に寄与する画像画素305の数は8である。
図3bは、この場合も図3aの画像又は画像配列300を典型的に示すが、図3aに示されたような異なる角度又は傾き、即ち、45°(又は、atan(s/(N-1))=)π/4の角度又は傾きs=N-1を有する典型的な1組の投影又は1組の不連続線303を典型的に示す。
この場合も、ラドン変換を実行できる前記角度又は傾きの2N個の異なる切片又は変位dが示される。
図3aと同様に、参照数字304は、所定の不連続線303又は所定の投影ごとに前記所定の不連続線又は所定の投影のラドン変換の加算項に寄与する画像画素305の数を集計する1組の典型的なビンを示す。
しかしながら、図3aに示された場合と対照的に、画像300を交差又は横断する投影又は不連続線303に沿ったラドン変換の加算項に寄与する画像画素305の数は変化する。
例えば、投影又は不連続線306に関して(即ち、s=N-1及びd=0)、ラドン変換の加算項に寄与する画像画素305の数は8になり、他の変位(即ち、他の投影又は不連続線302)の画像画素305に寄与する数は8未満になる。
図3cは、とりわけ、(d,s)領域313に、図3a又は図3bのサイズ8×8の典型的な画像又は画像配列300に実行される従来又は古典的ラドン変換の2つの中央象限307,308の各値の計算に関与する画素数を典型的かつ概略的に示し、輪郭311,312は、例示的に、0でないラドン変換の計算又は値を示すか、0でないラドン変換の加算項に関与する画素数を示す。
最新技術とは対照的に、本発明は、1象限当たりの(離散)ラドン変換をより効率的に計算することを可能にし、その結果、所定の傾きを有する所定の不連続線ごとに、画像配列の次元の2倍より少ない数の変位だけの離散ラドン変換が計算される。
詳細には、本発明は、所定の傾きを有する所定の不連続線に対するN個の中央変位の離散ラドン変換(DRTN)の計算を可能にする。
典型的には、2つの典型的に示された象限307,308の所定の傾きを有する所定の不連続線のN個の中央変位(DRTN)の寄与画素数は、輪郭309及び310によって示される。
図3dは、2つの典型的に示された象限307,308の所定の傾きを有する所定の不連続線のN個の中央変位(DRTN)の寄与画素309,310の数だけを、再構成した方式で典型的に示し、それにより、本発明の典型的な有利な効果を典型的に示し、象限の(d,s)領域内の計算又は必要なメモリユニットの数又はスケールは、2NxNからNxNまで減少した。
換言すると、本発明は、メモリと計算要件の著しい節減を提供できる。
図4は、処理される画像又は画像配列(例えば、NxN画像配列(N=16=2=2))に対する離散ラドン変換の計算の様々なステージm(mは0からnの整数、例えばnは整数n=4)に関する、角度又は傾きs及び切片又は変位dの領域405内のデータメモリパターン又はデータメモリ位置400,401,402,403,404を典型的かつ概略的に示す。
ここで一般に、用語「ステージm」は、とりわけ、処理される画像又は画像配列に対する離散ラドン変換の計算の1段階として理解されてもよく、ここで、ステージm=0(例えば、400)は、離散ラドン変換の加算項がまだ計算されていないときの最初の段階であり、最終ステージ(例えば、ステージ404、m=n、nは整数、n=log(N))は、全ての離散ラドン変換計算が実行されたときの段階である。そして任意の中間ステージ(例えば、401,402,403)は、必要な離散ラドン変換計算ステップの一部分だけが実行されたステージ、即ち、離散ラドン変換計算が部分的にだけ計算されたステージを指しうる。
本明細書において、m=0の初期ステージ又は入力ステージを典型的に表すメモリパターン400は、とりわけ、処理される入力画像又は画像配列に対する離散ラドン変換の計算中に実行される計算の計算値を保持又は記憶するために確保されたコンピュータシステム内のメモリ空間又はメモリ位置として理解される。
入力としてNxN画像配列を有する従来の離散ラドン変換の場合、メモリパターン又はデータメモリ位置のサイズは、少なくとも、角度又は傾き位置s(水平軸)でサイズN、及び切片又は変位d(垂直軸)でサイズ2Nのものになり、例えば、第1ステージで、メモリパターンの下側半分406(網掛け灰色塗りつぶしで示された)がゼロで埋められ、他の半分407(塗りつぶしなし/白色)、例えば、上側半分は、例えば、処理される画像又は画像配列(例えば、サイズNxN)の画像画素強度値で埋められうる。
しかしながら、サイズNx2Nの全メモリ空間を必要とする代わりに、本発明は、より小さいメモリ空間の使用を可能にするか、メモリ空間のより効率的な使用を可能にする。
示された例では、白画素又は白領域は、とりわけ、例えば本明細書に記載された方法により計算する必要がある(d,s)領域空間405内の位置を示すように理解されうる。
灰色/網掛け画素又は灰色/網掛け領域は、とりわけ、従来の離散ラドン変換技術で計算されなければならないが、本明細書に提案された方法によって回避できる(d,s)領域空間40内のこれらの位置を示すように理解されうる。
図4から明らかなように、それにより、計算されるデータの列又はストライプは、徐々に下方に移動できる。
前述されたように、データストライプ又はデータ列間の計算の関係は、特定のステージm+1におけるデータをその前のステージmからのデータから計算できることを実現することによって引き出され、ここで、mは0からn-1の整数、nは整数、n=log(N)である。
詳細には、例えば、N個の中央変位の離散ラドン変換(DRTN)において、1ステージの長さNの2つのデータストライプ又はデータ列(例えば、偶数及び奇数のデータストライプ又はデータ列)は、次のステージのデータストライプ又はデータ列を得るために加算されうる。
換言すると、各ステージで、1データ列又はデータストライプ当たりのN値を計算するだけでよい。
中間ステージ403(例えば、m=3)の長さN(垂直)の典型的なデータストライプ又はデータ列が、典型的に参照数字408で示される。
次に、nステージに実行されたときにN個の中央変位の離散ラドン変換(DRTN)のこの典型的なデータ列又はデータストライプを基準にした計算スキームは、最終ステージ404で、参照数字409によって示され入力画像又は画像配列のサイズ(例えば、サイズNxN)のメモリパターン又はメモリ領域又はフットプリントに集束できる。その典型的フットプリント409は、十分と考えられるデータ又はデータ計算の一部分に対応し、図3dで修正され示されたデータ部分309又は310と類似するが、この事例ではN=8である。
これと比較して、従来の離散ラドン変換計算スキームは、参照数字410によって示されたより大きいメモリパターン又はメモリ領域又はフットプリントをもたらす。
予期せずまた驚いたことに、前記フットプリント410内の全てのこれらの灰色/網掛け画素は、ゼロ以外の情報を伝えうるが、この情報は安全に無視できるということが分かり、これは、この情報の重み又は重要性が、白色画素、即ちN個の中央変位の離散ラドン変換(DRTN)から得られたメモリ領域又はフットプリント409に含まれる情報(ゼロと異なる合計)と比較してわずかであることが分かったからである。
図5は、参照数字500及び501で示された2つの典型的な連続ステージm及びm+1の参照数字503、504、505及び506で示された、典型的なデータ列又はデータストライプS、S、S及びS+1の典型的な切片又は変位d及び角度又は傾きs、(d,s)領域空間502内で動作する計算スキームを典型的に示す。
前に示されたように、本明細書で提案された方法では、離散ラドン変換を計算する所定のステージにおけるデータ列又はデータストライプの計算は、それ以前のステージからのデータ列又はデータストライプの計算を利用できる。
例えば、この場合、典型的ステージm+1におけるデータは、それ以前のステージmからのデータから計算でき、ここで、mは0からn-1の整数であり、nは整数であり、n=log(N)であり、Nは、処理される画像又は画像配列の整数次元であり、例えばNxN画像配列である。
指数S(偶数)とS+1(奇数)を有する二次元(d,s)領域502内の典型的な2つの連続したデータ列又はデータストライプは、前述したように、ステージm+1に属する。
これらの列のそれぞれの所望のN値を計算するために、指数S及びSを有する列から来る長さNの2つのストライプを加算できる。加算する列のd軸に沿った始点は、参照数
Figure 0007200265000024
Figure 0007200265000025
の領域又はストライプ510、511及び512は、典型的には実線の真っ直ぐな角の枠によって構成される。
Figure 0007200265000026
結果である。図5で、これらの領域又はストライプ513、514及び515は、点線の丸い角の枠によって形成される。
ここで、接頭語「top」は、典型的には、中間結果を記憶するために使用される一時バッファの最大垂直指数又は次元を示す。この指数は、例えば、3N/2に低下されてもよく、これは、より大きい指数を必要とする最新方法を超える改善である。
換言すると、本明細書で提案される方法では、所定のステージの2つのデータ列が加算されてもよく、前記加算の結果は、別のより後のステージからの列の計算が求めうるメモリ場所又は位置に配置又は記憶されうる。
図6は、画像601(例えば、モバイル装置(例えば、スマートフォン)に一体化されたデジタルカメラによって取り込まれた画像)に埋め込まれたバーコード612の位置を制限するための例を提供する。
示された例では、画像配列領域615の典型的な画像601又は画像配列(x,y)平面は、とりわけ、線形一次元バーコード612を有する物品のラベル又はタグ614(例えば、価格タグ)を含む。
N個の中央変位の離散ラドン変換(DRTN)を前記画像に適用する前に、画像領域にフィルタを適用でき、これにより、前に示されたように、とりわけ画像601に適用され、より正確には画像601のフィルタバージョン(図示せず)に適用されうるN個の中央変位の離散ラドン変換(DRTN)の出力の分析が容易になる。
左側に、画像601又は画像のフィルタバージョン(図示せず)に適用されたN個の中央変位の典型的離散ラドン変換(DRTN)の出力600が示される。この出力は、(d,s)領域又は領域空間607内に示され、ここで、dは(垂直)変位又は切片、sは角度又は傾きである。
前述したように、本明細書に記載された離散ラドン変換は、(d,s)領域又は領域空間607内の特定又は特殊パターンを生成でき、そこから画像601に埋め込まれたバーコード612の位置を導出又は制限できる。
この図では、4つの頂点602,603,604,605を有する典型的な四角形(例えば、菱形)パターン606が示され、これは、前述されたように容易に検出でき、これから、画像配列領域615の(x,y)平面内のバーコード612の位置の制限を導出できる。
より正確には、デジタル画像内にあるバーコードの位置を制限するために、ラドン変換出力内のパターンの検出された縁又は頂点を画像配列内の不連続線に逆変換できる。
これにより、デジタル画像601内にあるバーコード612の位置の制限は、とりわけ、検出パターン606の検出された最上頂点604と検出された最下頂点605の縦方向指数又は切片又は傾きの平均化を含む。これは、処理される画像601内のバーコードの傾き又は角度を制限しうる。
デジタル画像内のバーコードの位置を制限することは、更に、検出パターン606の2つの検出された横方向頂点602,603(例えば、左側頂点602と右側頂点603)の水平指数又は傾き若しくは角度sの差を計算することを含みうる。
更に、検出された頂点を画像配列内の不連続線に逆変換することは、2つの検出された横方向頂点602,603(例えば、左側頂点602と右側頂点及び/又は最上頂点604と最下頂点605、又は頂点の任意の他の組み合わせ)を、画像601の画像配列領域615の(x,y)平面内の不連続線の線パラメータに変換することを含みうる。
例えば、2つの不連続線608,609の交点613を計算でき、前記2つの不連続線608,609は、2つの検出された横方向頂点602,603(例えば、左側頂点602と右側頂点)を画像601の画像配列領域615の(x,y)平面に変換することによって得られる。
前記交点613は、例えば、処理される画像601内のバーコードの中心の位置を制限できる。
例えば、検出された最上頂点604と最下頂点605を画像601の画像配列領域615の(x,y)平面に変換することによって、画像601内のバーコードの向きと高さを制限できる線610及び611が得られる。
詳細には、例えば、フィルタリングされた画像配列の離散ラドン変換の出力のラドンd及びsパラメータ空間からの検出された頂点を画像内の線のx及びyパラメータ空間に変換することは、例えば第1象限に関して、関係y=d+s/x(N-1)xを計算することを含みうる。
換言すると、画像内のバーコードの存在は、その勾配のDRTN変換で、四角形又は菱形ゾーン又はパターンを生成でき、これは、より大きい値を有し、同時に非バーコード関連画像フィーチャから生じる他のゾーン又はパターンの残りのものより小さい相対分散を有するという特徴を有する。
通常、これらの2つの特徴(平均値と相対分散)に基づく単純な局所検出器は、特に、ここに示されたような分離型バーコード612の場合には十分である。
しかしながら、高い周波数を有する領域又は非バーコード関連画像フィーチャが、バーコードの隣りにあるときは、四角形又は菱形ゾーン又はパターン606が、このためにトレーニングされたニューラルネットワークによって検出され配置されて好都合である。
典型的には、検出されたバーコード612に関連しないテキストや記号617,618などの画像600内のフィーチャから生じる人工パターン616が示される。これらは、ノイズと見なされうる。しかしながら、図示されたように、四角形(例えば、菱形)パターン606は、十分に大きい信号雑音係数を有し、したがって、これらの非バーコード関連フィーチャは、バーコードの検出と位置確認を妨げない。
図1a、図1b、図1c、図2a、図2b、図3a、図3b、図3c、図3d、図4、図5及び図6を含む7枚の図面が後に続き、参照数字は以下のように割り当てられる。
100 典型的な画像/画像配列
101 水平軸に沿って分割された画像/画像配列の典型的な(第1の)半分
102 水平軸に沿って分割された画像/画像配列の典型的な(第2の)半分
103 典型的な不連続線
104 典型的な不連続線
105 典型的な画像/画像配列
106 偶数上昇/偶数上昇ステップを有する典型的な不連続線
107 奇数上昇/奇数上昇ステップを有する典型的な不連続線
108 典型的な始点
109 典型的な終点
110 典型的な始点
111 典型的な終点
200 処理される典型的な画像又は画像配列
201 画像配列領域の(x,y)平面の典型的な起点
202 典型的な不連続線
203 典型的なラドン変換
204 ラドン変換の典型的な出力、典型的な第1象限
205 典型的な第2象限
206 典型的な第3象限
207 典型的な第4象限
208 ラドン領域の(d,s)平面の典型的な起点
209 水平軸がatan(s/(N-1))でパラメータ化されたラドン領域の典型的起点
300 典型的な画像又は画像配列
301 典型的な1組の投影又は1組の不連続線
302 各不連続線又は各投影に関して、前記所定の投影又は線のラドン変換の加算項に寄与する画像画素の数を計数する典型的な1組の典型的なビン
303 典型的な1組の投影又は不連続線
304 各不連続線又は各投影に関して、前記所定の投影又は線のラドン変換の加算項に寄与する画像画素の数を投影する典型的な1組の典型的なビン
305 典型的な画像画素
306 典型的な投影/典型的な不連続線
307 典型的な(第1)象限
308 典型的な(第2)象限
309 典型的な輪郭
310 典型的な輪郭
311 典型的な輪郭
312 典型的な輪郭
313 典型的な(d,s)領域又は領域空間であり、dは(垂直)変位又は切片であり、sは角度又は傾きである
400 初期ステージ又は入力ステージにおける典型的なデータメモリパターン又はデータメモリ位置
401 中間ステージ(例えば、第1ステージ)の典型的なデータメモリパターン又はデータメモリ位置
402 中間ステージ(例えば、第2ステージ)の典型的なデータメモリパターン又はデータメモリ位置
403 中間ステージ(例えば、第3ステージ)の典型的なデータメモリパターン又はデータメモリ位置
404 典型的な最終ステージ(例えば、出力ステージ)の典型的なデータメモリパターン又はデータメモリ位置
405 典型的な(d,s)領域又は領域空間であり、dは(垂直)変位又は切片であり、sは角度又は傾きである
406 入力ステージにおけるメモリパターンの典型的な下側半分
407 入力ステージにおけるメモリパターンの典型的な上側半分
408 (垂直)長さNの典型的なデータストライプ又はデータ列
409 N個の中央変位の離散ラドン変換(DRTN)の出力としての最終ステージの典型的なメモリ領域
410 従来の離散ラドン変換の出力としての最終ステージの典型的なメモリ領域
500 (d,s)領域又は領域空間内のN個の中央変位の離散ラドン変換(DRTN)の計算の典型的ステージ(例えば、ステージm)であり、dは(垂直)変位又は切片であり、sは角度又は傾きである
501 (d,s)領域又は領域空間内のN個の中央変位の離散ラドン変換(DRTN)の計算の典型的ステージ(例えば、ステージm+1)であり、dは(垂直)変位又は切片であり、sは角度又は傾きである
502 典型的な(d,s)領域又は領域空間であり、dは(垂直)変位又は切片であり、sは角度又は傾きである
503 典型的なデータ列又は指数S
504 典型的なデータ列又は指数S
505 典型的なデータ列又は指数S
506 典型的なデータ列又は指数S+1
507 d軸の(垂直)オフセットの典型的な値
508 d軸の(垂直)オフセットの典型的な値
509 d軸の(垂直)オフセットの典型的な値
510 典型的なデータストライプ
511 典型的なデータストライプ
512 典型的なデータストライプ
513 典型的なデータストライプ
514 典型的なデータストライプ
515 典型的なデータストライプ
516 典型的なデータストライプ
600 N個の中央変位の典型的離散ラドン変換(DRTN)の典型的な出力
601 例えばモバイル装置に一体化されたデジタルカメラによって取り込まれた典型的な画像
602 典型的な頂点
603 典型的な頂点
604 典型的な頂点
605 典型的な頂点
606 典型的なパターン(例えば、典型的な四角形(例えば、菱形))パターン
607 典型的な(d,s)領域又は領域空間であり、dは(垂直)変位又は切片であり、sは角度又は傾きである
608 検出された頂点から導出された画像配列領域の(x,y)平面内の典型的な線
609 検出された頂点から導出された画像配列領域の(x,y)平面内の典型的な線
610 検出された頂点から導出された画像配列領域の(x,y)平面内の典型的な線
611 検出された頂点から導出された画像配列領域の(x,y)平面内の典型的な線
612 典型的なバーコード
613 画像配列領域の(x,y)平面内のバーコードの典型的な中心位置
614 典型的なラベル
615 画像又は画像配列領域の典型的な(x,y)平面
616 典型的な人工パターン(非バーコード関連画像フィーチャから生じるパターン)
617 バーコードに関連しない画像内の典型的フィーチャ
618 バーコードに関連しない画像内の典型的フィーチャ

Claims (15)

  1. 二次元デジタル画像配列として表されたデジタル画像内のバーコードを検出するためにコンピュータで実現された方法であって、
    前記二次元デジタル画像配列にフィルタを適用するステップと、
    フィルタが適用された前記二次元デジタル画像配列の離散ラドン変換を計算するステップであって、前記離散ラドン変換が、フィルタが適用された前記二次元デジタル画像配列と交差する複数の不連続線に関して計算されるステップとを含み、
    所定の傾きを有する所定の不連続線ごとに、前記離散ラドン変換が、前記所定の不連続線の幾つかの異なる変位に関して計算され、前記変位の数が、前記二次元デジタル画像配列の一次元の2倍未満であり、
    フィルタが適用された前記二次元デジタル画像配列の前記離散ラドン変換の出力内でパターンの頂点を検出するステップと、
    前記二次元デジタルデジタル画像内にあるバーコードの位置を制限するために、前記検出された頂点を前記二次元デジタル画像配列内の不連続線に変換するステップとを含む方法。
  2. 所定の傾きを有する前記所定の不連続線の変位が、切片(例えば、垂直切片)によって特徴付けられた、請求項1に記載の方法。
  3. 前記フィルタが、勾配フィルタである、請求項1または2に記載の方法。
  4. 前記パターンにおいて検出された前記頂点を結んだ図形は、四形(例えば、菱形)である、請求項1~3のいずれか一項に記載の方法。
  5. 所定の傾きの前記離散ラドン変換が、前記二次元デジタル画像配列の中心に最も近い不連続線の数Nの変位に関して計算され、Nは、整数であり前記二次元デジタル画像配列の次元である、請求項1~4のいずれか一項に記載の方法。
  6. 前記デジタル画像が正方形でない場合、前記デジタル画像は、正方形画像(即ち、サイズNxNの二次元デジタル画像配列)にサイズ変更され、Nは整数である、請求項1~5のいずれか一項に記載の方法。
  7. ィルタが適用された前記二次元デジタル画像配列の前記離散ラドン変換の計算が、前記離散ラドン変換が計算されるフィルタが適用された前記二次元デジタル画像配列と交差する不連続線の傾き又は角度の特定の範囲を定義する4つの象限に対して実行され、例えば、前記特定の範囲が0°~45°のとき第1象限であり、前記特定の範囲が45°~90°のとき第2象限であり、前記特定の範囲が-90°~-45°のとき第3象限であり、前記特定の範囲が-45°~0°のとき第4象限であり、第5象限は、前記第1象限の前記計算されたラドン変換の回転および転置によって得られる出力と前記第4象限とを接続する、請求項1~6のいずれか一項に記載の方法。
  8. フィルタが適用された前記二次元デジタル画像配列の前記離散ラドン変換の計算は、フィルタが適用された前記二次元デジタル画像配列の列毎に実行される、請求項1~7のいずれか一項に記載の方法。
  9. フィルタが適用された前記二次元デジタル画像配列の奇数及び偶数列の計算に別個のメモリバッファが割り当てられた、請求項1~8のいずれか一項に記載の方法。
  10. 前記パターンの前記頂点の前記検出が、その強度値と、前記離散ラドン変換の前記出力内の分散に基づいており、及び/又は前記パターン(例えば、四角形)の前記頂点の前記検出が、ニューラルネットワークによって実行される、請求項1~9のいずれか一項に記載の方法。
  11. 前記デジタル画像内にあるバーコードの位置を制限するステップが、検された前記パターンの検出された最上頂点と検出された最下の頂点の縦方向指数を平均化するステップを含む、請求項1~10のいずれか一項に記載の方法。
  12. 前記デジタル画像内にあるバーコードの位置を制限するステップが、検出された前記パターンの2つの検出された横方向の頂点(例えば、左側頂点と右側頂点)の水平指数の差を計算するステップを含む、請求項1~11のいずれか一項に記載の方法。
  13. された前記頂点を前記二次元デジタル画像配列内の不連続線に逆変換するステップが、2つの検出された横方向頂点(例えば、左側頂点と右側頂点)を、前記二次元デジタル画像配列内の2つの不連続線の線パラメータに変換するステップと、前記2つの不連続線の交点を計算するステップを含む、請求項1~12のいずれか一項に記載の方法。
  14. 請求項1~13のいずれか一項による方法を実行するように構成されたコンピュータシステム。
  15. 前記コンピュータシステムが、カメラを備えたモバイル装置を有する、請求項14に記載のコンピュータシステム。
JP2020564405A 2018-05-15 2019-05-09 バーコード検出方法 Active JP7200265B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18382333.5A EP3570205B1 (en) 2018-05-15 2018-05-15 Barcode detection method
EP18382333.5 2018-05-15
PCT/EP2019/061971 WO2019219512A1 (en) 2018-05-15 2019-05-09 Barcode detection method

Publications (2)

Publication Number Publication Date
JP2021524106A JP2021524106A (ja) 2021-09-09
JP7200265B2 true JP7200265B2 (ja) 2023-01-06

Family

ID=62235904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020564405A Active JP7200265B2 (ja) 2018-05-15 2019-05-09 バーコード検出方法

Country Status (11)

Country Link
US (1) US11379680B2 (ja)
EP (1) EP3570205B1 (ja)
JP (1) JP7200265B2 (ja)
KR (1) KR102562904B1 (ja)
CN (1) CN112166431A (ja)
CA (1) CA3098607C (ja)
ES (1) ES2848842T3 (ja)
PT (1) PT3570205T (ja)
RU (1) RU2764027C1 (ja)
SG (1) SG11202010788VA (ja)
WO (1) WO2019219512A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008546088A (ja) 2005-06-02 2008-12-18 モトローラ・インコーポレイテッド ハフ変換計算の並列処理のための方法およびシステム
WO2010115464A1 (de) 2009-04-08 2010-10-14 Continental Teves Ag & Co. Ohg Zweidimensionaler symbolcode und verfahren zum lesen des symbolcodes
JP2011513809A (ja) 2008-02-25 2011-04-28 テレフオンアクチーボラゲット エル エム エリクソン(パブル) バーコードに含まれている情報を読み出す方法及び装置
JP2018055495A (ja) 2016-09-29 2018-04-05 日本電産サンキョー株式会社 図形パターン認識装置および図形パターン認識方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6736321B2 (en) * 1995-12-18 2004-05-18 Metrologic Instruments, Inc. Planar laser illumination and imaging (PLIIM) system employing wavefront control methods for reducing the power of speckle-pattern noise digital images acquired by said system
JPH0512438A (ja) * 1991-07-05 1993-01-22 A T R Shichiyoukaku Kiko Kenkyusho:Kk ハフ変換による線分抽出方法
JP3110167B2 (ja) * 1992-09-16 2000-11-20 富士通株式会社 階層型ニューラルネットワークを用いた物体認識方式
JPH06259541A (ja) * 1992-10-30 1994-09-16 Toshiba Corp 画像歪み補正方法およびそのシステム
JP2835274B2 (ja) 1994-02-24 1998-12-14 株式会社テック 画像認識装置
CA2313803A1 (en) * 2000-07-11 2002-01-11 Dong-Chan He Automatic extraction of linear features from digital imagery
US7426310B1 (en) * 2002-02-08 2008-09-16 Barrett Terence W Method and application of applying filters to N-dimensional signals and images in signal projection space
SE0301143D0 (sv) * 2003-04-17 2003-04-17 C Technologies Ab Sätt och anordning för inläsning av data
US7566004B2 (en) * 2004-10-29 2009-07-28 Symbol Technologies Inc. Method and apparatus for extending the range of a product authentication device
AU2009273954B2 (en) * 2008-07-24 2015-07-02 The Regents Of The University Of California Apparatus and method for dispersive Fourier-transform imaging
US8644547B2 (en) * 2008-11-14 2014-02-04 The Scripps Research Institute Image analysis platform for identifying artifacts in samples and laboratory consumables
DE102009016598A1 (de) * 2009-04-08 2010-10-14 Continental Teves Ag & Co. Ohg Zweidimensionaler Symbolcode und Verfahren zum Lesen des Symbolcodes
BR112013006486A2 (pt) * 2010-09-20 2016-07-26 Lumidigm Inc símbolos legíveis por máquina.
GB2487242A (en) * 2011-01-17 2012-07-18 Sony Corp Interpolation Using Shear Transform
US8550349B2 (en) * 2011-08-25 2013-10-08 International Business Machines Corporation System for recovering a barcode
US10130340B2 (en) * 2011-12-30 2018-11-20 Koninklijke Philips N.V. Method and apparatus for needle visualization enhancement in ultrasound images
WO2015077493A1 (en) * 2013-11-20 2015-05-28 Digimarc Corporation Sensor-synchronized spectrally-structured-light imaging
CN105069394B (zh) * 2015-07-23 2017-10-10 福建联迪商用设备有限公司 二维码加权平均灰度法解码方法及系统
US10628736B2 (en) * 2015-09-24 2020-04-21 Huron Technologies International Inc. Systems and methods for barcode annotations for digital images
RU2651176C1 (ru) * 2016-11-17 2018-04-18 Федеральное государственное бюджетное образовательное учреждение высшего образования "Рязанский государственный радиотехнический университет" Способ обработки сигналов для обнаружения и определения толщины прямых линий на изображении
CN106875360A (zh) * 2017-02-17 2017-06-20 广州智能装备研究院有限公司 一种消除图像运动模糊的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008546088A (ja) 2005-06-02 2008-12-18 モトローラ・インコーポレイテッド ハフ変換計算の並列処理のための方法およびシステム
JP2011513809A (ja) 2008-02-25 2011-04-28 テレフオンアクチーボラゲット エル エム エリクソン(パブル) バーコードに含まれている情報を読み出す方法及び装置
WO2010115464A1 (de) 2009-04-08 2010-10-14 Continental Teves Ag & Co. Ohg Zweidimensionaler symbolcode und verfahren zum lesen des symbolcodes
JP2018055495A (ja) 2016-09-29 2018-04-05 日本電産サンキョー株式会社 図形パターン認識装置および図形パターン認識方法

Also Published As

Publication number Publication date
EP3570205B1 (en) 2020-11-04
RU2764027C1 (ru) 2022-01-12
EP3570205A1 (en) 2019-11-20
US20210089736A1 (en) 2021-03-25
PT3570205T (pt) 2021-01-21
ES2848842T3 (es) 2021-08-12
CA3098607A1 (en) 2019-11-21
CA3098607C (en) 2023-09-26
CN112166431A (zh) 2021-01-01
US11379680B2 (en) 2022-07-05
WO2019219512A1 (en) 2019-11-21
JP2021524106A (ja) 2021-09-09
SG11202010788VA (en) 2020-11-27
KR20210070235A (ko) 2021-06-14
KR102562904B1 (ko) 2023-08-02

Similar Documents

Publication Publication Date Title
US9245200B2 (en) Method for detecting a straight line in a digital image
Bailer et al. Scale robust multi view stereo
JP6007602B2 (ja) 画像処理方法、画像処理装置、スキャナ及びコンピュータプログラム
CN104981842A (zh) 表面几何成像
JP2008123141A (ja) 対応点探索方法および3次元位置計測方法
Tumblin et al. Bixels: Picture samples with sharp embedded boundaries.
Liu et al. Restoring camera-captured distorted document images
CN103455995B (zh) 图像处理装置、图像处理方法和扫描仪
CN106296587B (zh) 轮胎模具图像的拼接方法
EP1914681A1 (en) Smooth gray-level based surface interpolation for anisotropic data sets
CN108460738A (zh) 基于b样条的医学图像倾斜校正方法
KR102158390B1 (ko) 영상 처리 방법 및 장치
Kamat-Sadekar et al. Complete description of multiple line segments using the Hough transform
CN103839059A (zh) 用于提取文档图像中的文档边界的装置、方法及电子设备
JP7200265B2 (ja) バーコード検出方法
Garai et al. Dewarping of document images: A semi-CNN based approach
Coeurjolly et al. Separable distance transformation and its applications
Jung et al. Intensity-guided edge-preserving depth upsampling through weighted L0 gradient minimization
Wang et al. Efficient Euclidean distance transform using perpendicular bisector segmentation
CN113095102A (zh) 一种条形码区域的定位方法
JP2002077578A (ja) 歪み補正装置およびその方法ならびに歪み補正プログラムを記録したコンピュータ読み取り可能な記録媒体
Fan et al. Hierarchical coherency sensitive hashing and interpolation with RANSAC for large displacement optical flow
US7149354B2 (en) Extraction of a scene structure based on gradient runs analysis
Ley et al. Depth map based facade abstraction from noisy multi-view stereo point clouds
CN117523106B (zh) 一种单目结构光的三维重建方法、系统、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220607

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221104

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: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221221

R150 Certificate of patent or registration of utility model

Ref document number: 7200265

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350