JP6455832B2 - バーコード検出方法、バーコード検出システムおよびそのためのプログラム - Google Patents

バーコード検出方法、バーコード検出システムおよびそのためのプログラム Download PDF

Info

Publication number
JP6455832B2
JP6455832B2 JP2014244076A JP2014244076A JP6455832B2 JP 6455832 B2 JP6455832 B2 JP 6455832B2 JP 2014244076 A JP2014244076 A JP 2014244076A JP 2014244076 A JP2014244076 A JP 2014244076A JP 6455832 B2 JP6455832 B2 JP 6455832B2
Authority
JP
Japan
Prior art keywords
barcode
blob
rectangular shape
blobs
cluster
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
JP2014244076A
Other languages
English (en)
Other versions
JP2016110196A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2014244076A priority Critical patent/JP6455832B2/ja
Priority to US14/953,781 priority patent/US9818012B2/en
Publication of JP2016110196A publication Critical patent/JP2016110196A/ja
Application granted granted Critical
Publication of JP6455832B2 publication Critical patent/JP6455832B2/ja
Expired - Fee Related 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/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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/48Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation

Landscapes

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

Description

本発明は、バーコード検出に関し、より詳細にはバーコード検出の精度および実時間特性の改善に関する。
バーコードは、種々の市販製品、商品などをタグ付けするために広く用いられている。通常バーコードは、専用のバーコード用レーザ・リーダによって読み取られ、バーコードとしてエンコードされた識別番号が得られる。しかしながら、バーコードにエンコードされた情報は、バーコードが消費者のデバイスによりデコードできたとすると、消費者にとっても利便性が良い。
近年、スマートホン、タブレット型コンピュータまたはウェアラブル・デバイスといった種々の可搬型デバイスが普及している。このような可搬型デバイスは、またカメラ機能およびQRコード(登録商標)といったエンコード化されたコードのデコーダを搭載することができる。QRコード(登録商標)といったエンコード規格は、既知のものであって広く使われているものの、リニア・バーコードは、依然として商品、製品または他の市販物品をタグ付けするための主要なエンコード規格の1つとなっている。このため、リアルタイムで物品のバーコードを読み取ることは有用である。
バーコードを検出するための多くの既存技術が存在し、非特許文献1(A. Zamberletti, et al., Robust angle invariant 1 d barcode detection, In Pattern Recognition (ACPR), 2013 2nd IAPR Asian Conference, pp. 160-164, Nov. 2013)では、バーコード内の複数のバーを検出するためにハフ変換する。
Zamberlettiらは、バーコード中のバーを認識することに成功してはいるものの、多くの偽のポジティブ・ラインが認識され、バーコードの誤検出につながっていた。
特許文献1(US200100006191 A1)では、標準的なカラー・ブロブ分析を使用して複数のラインをクラスタリングする技術が開示されている。
US200100006191 A1
A. Zamberletti, et al., Robust angle invariant 1 d barcode detection, In Pattern Recognition (ACPR), 2013 2nd IAPR Asian Conference, pp. 160-164, Nov. 2013 J. Matas et al., Robust wide baseline stereo from maximally stable external regions, In Proc. of the British Machine Vision Conference, pp.384-393, 2002 X. Ren et al. Figure-ground segmentation improves handled object recognition in egocentric video, In Computer Vision and Pattern Recognition (CVPR), 2010, IEEE Conference, pp. 3137-3144, 2010 S. Wachenfeld et.al. Robust recognition of 1-d barcodes using camera phones, In Proc. of 19th International Conference on Pattern Recognition (ICPR 2008), pp. 1-4, 2008
したがって、物体上のバーコードを可搬性デバイスといった情報処理装置で読み取り、それを実時間スケールでデコードすることも可能と言える。さらにバーコードがプリントされた物体は、時としてプラスチック・パッケージのように柔軟性がある。
さらには、物品には時として複数のバーコードが、互いに隣接してプリントされている場合もあり、このような状況は、物体画像中においてバーコード・セットを識別する際にさらに別の問題を生じさせることになっている。
製品、商品および他の市販物品は、広く輸出され、多くの国で販売されており、このため、物品の消費者や取扱者は、バーコードにエンコードされた情報を、実時間スケールでそのネイティブ言語で知りたいこともある。
本発明は、上述した従来技術に鑑みてなされたものであり、本発明の目的は、可搬型装置(とりわけハンドフリーのウェアラブル・カメラ類)によるバーコードの高い認識性を有するバーコード検出システムを提供することにある。
本発明の他の目的は、互いに近接して配置されるかまたは重なり合ったバーコードを認識するために堅牢性の改善されたバーコード検出システムを提供することにある。
本発明のさらなる目的は、改善された堅牢性を備えつつ、実時間でバーコードを検出するための方法を提供することにある。
本発明によれば、バーコードを検出する方法であって、前記方法は、
画像から複数のブロブを検出するステップと、
検出した各ブロブに対して検出された前記各ブロブを中央で垂直に2分する仮想線を得るステップと、
前記仮想線の傾きおよび位置にしたがって特徴空間内で前記仮想線の少なくとも1つのクラスタを決定するステップと、
1つの前記クラスタ内の前記ブロブを前記バーコードに対応する矩形形状にグループ化するステップと
を含む。
前記方法は、さらに少なくとも1つの矩形形状をバーコードに対応するブロブ領域に割り当て、前記仮想線を得る前にバーコードのサイズに依存して前記矩形形状を削除するステップを含むことができる。
前記方法は、さらに前記グループ化するステップの後に、前記ブロブの間の間隔を使用して少なくとも1つの矩形形状に対する前記ブロブの割り当てを修正するステップを含むことができる。
前記少なくとも1つのクラスタを決定するステップは、前記仮想線に対してハフ変換を適用し、前記仮想線のそれぞれについて特徴ベクトルを生成するステップを含むことができる。
前記少なくとも1つのクラスタを決定するステップは、直交座標系で定義される特徴空間内の距離に応答して少なくとも1つのクラスタへと特徴ベクトルをクラスタリングするステップを含むことができる。
本発明の他の側面によれば、バーコードを検出するためのプログラムおよびシステムが提供できる。
本発明のバーコード検出技術は、改善された認識精度および改善された計算速度を有し、本発明によれば、スマートホン、タブレット型コンピュータおよびハンドフリー環境を提供するウェアラブル・デバイスに好ましく適用することができる。
図1は、本発明のバーコード検出システム100の実施形態を示す。 図2は、本実施形態のバーコード検出システム100に使用される情報処理装置のソフトウェア実装態様を示す。 図3は、本実施形態のバーコード検出システムにおいて実行される全体プロセスを示す。 図4は、ステップ400から開始するフィルタリング・プロセスの処理を示す。 図5は、図3のステップS305のブロブ・クラスタリングの処理を示す。 図6は、本発明に従ったハフ空間へのプロットを示す。 図7は、図3に記載したステップS306のポスト・プロセッシングの処理を示す。 図8は、本実施形態の処理における画像認識を示す。 図9は、本発明のプログラムがサーバ・コンピュータ906に実装された場合の他の実施形態を示した図。 図10は、2つのデータセットに対する結果をグラフィカルに表示として示す。 図11は、本バーコード検出システム100において使用される情報処理装置のハードウェア実装態様を示す。
100:バーコード検出システム
101:スマートホン
103:バーコード
200:ソフトウェア実装態様
201:入力インタフェース
202:画像蓄積部
203:ブロブ検出部
204:ブロブ・フィルタ部
205:ハフ・クラスタリング部
206:修正部
207:認識バーコード記憶部
208:出力インタフェース
以下、本発明について図面を伴う特定の実施形態を使用して説明するが、上述した特定の実施形態は、本発明を限定するものではなく、本発明を理解するためにのみ記載されたものである。図1は、本バーコード検出システム100の実施形態を示す。バーコード検出システム100は、例えば、ANDROID(登録商標)、Chrome(登録商標)、Windows(登録商標)またはIOS(登録商標)といった適切なオペレーティング・システム(以下、単にOSとして参照する。)を搭載したスマートホン101など、如何なる形式の情報処理装置にでも実装することができる。可搬型装置は、スマートホン101に限定されるものではなく、タブレット型コンピュータ、ノートブック型コンピュータ、デスクトップ型コンピュータおよびサーバ・コンピュータの他、カメラ機能を含むウェアラブル・デバイスも本発明においては使用することができる。以下、本発明につき、説明の簡略化のため、情報処理装置がスマートホン101として実装されるものとして説明を行う。
図1に示す実施形態では、スマートホン101のディスプレイは、バーコード103がプリントされた物品の画像を表示している。本発明は、可搬型装置が取得した画像からバーコード103を決定および検出する。図1に示すように、バーコード103の画像は、物品の形状によって変形しており、光の反射がラインのコントラストを低下させている。本発明におけるバーコードは、JANコード、ITFコード、ITF−14コード、NW−7コード、CODE39、CODE128、UPC、UPC−A、UPC−E、またはGSIエンコーディングから選択することができる。バーコード検出システム100は、装置の特定の設定に依存して、静止画像または動画像からバーコード情報を取得することができる。
図2は、本情報処理装置のソフトウェア実装形態200を示す図である。図2に示すソフトウェア・モジュールは、情報処理装置のCPUがソフトウェアを実行することにより実現される。情報処理装置の複数のモジュールは、画像蓄積部202と、ブロブ検出部203と、ブロブ・フィルタ部204とを含むことができる。
画像蓄積部202は、情報処理装置の入力インタフェース201を通してカメラ機能によりキャプチャしたか、またはインターネットといったネットワークを介して受信した静止画像またはビデオ・フレームを格納する。ブロブ検出部203は、画像中のブロブを、従来のMSER技術(非特許文献2:J. Matas et al., Robust wide baseline stereo from maximally stable external regions, In Proc. of the British Machine Vision Conference, pp.384-393, 2002)を使用して検出する。検出されたブロブには、ラインの検出精度を改善するためにブロブ・フィルタ部204が適用され、長さ、幅またはそれらいずれか一方または両方を判断することによりノイズ・ブロブが排除される。
情報処理装置は、ハフ・クラスタリング部205と、修正部206と、認識バーコード記憶部207といったソフトウェア・モジュールを含むことができる。ハフ・クラスタリング部205は、本発明に従い、ブロブのクラスタリングを実行する。ハフ・クラスタリング部205は、ブロッブに対してブロブの中央を垂直に横断して延びる仮想線を規定する。ハフ・クラスタリング部205は、さらに、ライン検出の目的で、仮想線に対してハフ変換を適用し、各仮想線に対して特徴ベクトルを生成する。その後、ハフ・クラスタリング部205は、上述の特徴ベクトルをハフ空間、すなわち直交座標系として規定される特徴空間に写像することで、バーコード領域に対応する特定の矩形形状のブロブをクラスタ化することを可能とする。
上述の矩形形状は、認識されたバーコードの領域を規定する“境界ボックス”に対応する。以下、“矩形形状”は、バーコードとして推定または決定されたブロブ領域を参照するものとする。ハフ・クラスタリング部205は、さらに、ブロブをクラスタリングの結果にしたがって、特定の矩形形状に割り当てる。この段階で、粗々のバーコード候補が生成される。ハフ・クラスタリング部は、より詳細に後述する。
修正部206は、上述した粗々のバーコード候補を、ブロブ間の間隔およびバーコード規格を考慮して排除することにより修正すると共に、複数の矩形形状を妥当な1つのバーコードへと統合し、認識の結果としての最終矩形形状を生成する。認識バーコード記憶部207は、バーコードにエンコードされた情報をデコードするための最終的なバーコードデータを格納する。
情報処理装置は、ヒューマン・インタフェースまたはインターネットや公衆電話回線などを介したデータ通信を提供するための出力インタフェース208を備えている。本発明の1実施形態においては、情報処理装置は、可搬型装置として実装することができ、当該可搬型装置は、図2に示す各機能モジュールを備えることができる。本発明の他の実施形態においては、可搬型装置は、カメラ機能を備え、可搬型装置は、バーコードを有する物品の画像を撮影し、当該画像について、バーコード認識を依頼し、そのデコード結果を得るためにサーバ・コンピュータなどの遠隔コンピュータに送付する。このような実施形態は、可搬型装置が、軽量で電力的制限のある所謂ウェアラブル・デバイスとして実装される場合に有用となる。
図3は、本バーコード検出システムにおいて実行される全体のプロセスのフローチャートである。プロセスは、ステップS300から開始し、ステップS301で物品の画像がカメラ機能により撮影される。この際、物品の画像は、静止画像でもビデオ画像でも良い。さらに、本発明に従い、当該画像は、1ショットまたは1フレーム内に複数のバーコード画像を含んでいても良い。次いで、プロセスは、ステップS302で、MSER技術(非特許文献2)を使用してバーコードのブロブを判定する。
その後、ステップS303では、プロセスは、バーコードとするべきブロブを、形状および高さ・幅の比を使用してフィルタする。その後、プロセスは、ステップS304でバーコード候補とすることができる複数の特定の矩形形状にクラスタリングする。その後、ステップS305でポスト・プロセッシングを適用して矩形形状に規定されたバーコード候補ブロブを修正するか、または複数の矩形形状を1つの矩形形状へと再割り当てするか、或いはこれら両方を適用する。その後、プロセスは、バーコードとしての最終的な認識結果を決定し、当該結果を適切な記憶空間内に格納する。
以下、ステップS303の詳細な処理、すなわち、フィルタリング処理を詳述する。図4は、フィルタリング処理のプロセスを示す。当該プロセスは、ステップS400から開始して、ステップS401で処理の対象とするブロブを画像蓄積部202から読み出す。その後、プロセスは、ステップS402で典型的なバーコード規格の所定の長さおよび幅を使用してブロッブまたは複数のブロブに対して矩形形状を割り当てる。本発明の特定の実施形態では、長さと高さの比(以下、アスペクト比として参照する。)として10を、そのしきい値として使用する。
この処理では、ブロブまたは複数のブロブに対する矩形形状は、その中心位置Ci、幅wi、および配置角αiにより規定される。ここで、配置角αiは、画像中における矩形形状の面内傾斜角を参照する。数値1よりも小さなアスペクト比を有する矩形形状が存在する場合、認識の座標軸を90°回転させ、バーコード候補に追加するために考慮することができる。ステップS403では、プロセスは、しきい値のアスペクト比の他、バーコード規格に従い、細長形状についてのサイズ基準を使用して矩形形状を削除する。その後、プロセスは、ステップS404でバーコード候補とすべき向きのそろった、有意な矩形形状を選択する。その後、プロセスは、ステップS405に進んでフィルタ処理を終了させる。上述した削除は、認識から不必要なノイズ・ブロブを効率的に排除する。
図5は、図3のステップS304におけるブロブ・クラスタリングの処理を示す。当該プロセスは、ステップS500から開始し、ステップS501で、フィルタされたブロブのデータを適切な記憶空間から読み出し、その後、ステップS502で、中央垂直線、すなわちブロブを2分する仮想線を計算する。当該プロセスは、単純なハフ変換を使用する従来プロセスに対し新規なものである。本発明では、上述の仮想線を使用してバーコード・ラインのブロブを特定のバーコード候補へとハフ変換によりクラスタリングする。
ここで、仮想線を式“y=ax+b”として表現する。サフィックス“j”は、各仮想線の識別値である。複数のブロブが特定のバーコード候補に含まれている場合、ハフ空間((b,a)の直交座標系として)へのプロットは、ブロブについて理想的には同一の傾きの直線を中心としたクラスタまたは複数のクラスタを与える。以後、本明細書では、上述したハフ空間を、特徴空間として参照する。その後、ステップS503で仮想線のパラメータが、ハフ空間の座標系へと変換され、ステップS504で特徴ベクトル(b,a)が生成される。
図6は、本発明に従ったハフ空間へのプロット600を概念的に示す。図6に示すプロットは、複数の仮想線が、画像中で、arctan(a)の傾きを有するものとした。計算された仮想線の特徴ベクトルとして参照されるパラメータ(b,a)がハフ空間601にプロットされると、同一のバーコードに属する(b,a)を有する仮想線は、ライン603で示すように、同一のパラメータ“a”を有することになる。実装上では、位置および角度が用いられる。同一の処理が鮮明なバーコードに適用されると、同様なプロットは、特徴空間の座標軸“a”上の単一ポイントに収束する。図6は、クラスタ604およびクラスタ605の出現態様を示している。バーコードが、画像中に存在する場合、バーコードのバーは、同一の傾きで矩形領域内に出現することになる。このことは、仮想線の傾きが同一となることを示す。これは、理想的には、特徴空間への仮想線のプロットは、ノイズを考慮しない場合、単一点を形成することを意味する。クラスタリングは、同一のバーコードと判断されるべきしきい値距離を設定し、かつバーコードに含まれるべき最小の数を設定することにより実行することができる。
プロセスは、その後、ステップS505で特徴空間内において特徴ベクトルをクラスタ化して単一の矩形形状に割り当てるべきブロブを選択する。本発明の特定の実施形態では、特徴空間中の特徴ベクトルは、バーコード領域の境界を削減するためにも使用することができる。このストラテジーは、2つのパラメータ(1)特徴ベクトルのクラスタ間には最小の距離が存在すること、および(2)クラスタ中の最小の点数を含む。これは、特徴ベクトルがブロブの仮想線を表すので、同一の矩形形状に含まれる特徴ベクトルは、最小数の特徴ベクトルを含み、かつ水平のb軸に沿って所定の距離を持って分布するためである。上述した距離および点数は、特定の用途に応じて選択することができる。本発明では、当然のこととして、特定の実装形態に応じてクラスタリング法に関しては他のクラスタリング法を使用することもできる。
ステップS506でプロセスは、特定の矩形形状についてのバーコードの候補を決定し、その後、ステップS507でバーコードとして認識されるべきブロブを取り囲むバウンディング・ボックスを決定する。さらにその後、プロセスは、当該矩形形状を過渡的なバーコード候補と判断してその結果をステップS508で適切な記憶空間に格納し、処理をステップS509で終了する。
図7は、図3に示したステップS305のポスト・プロセッシングの処理を示す。ポスト・プロセッシングは、バーコード・ラインからライン状のノイズを排除するか、または矩形形状を統合することにより、バーコード認識を修正するプロセスである。当該プロセスは、ステップS700から開始し、ステップS701で、プロセスは、特定の矩形形状の中のバーコード・ライン候補を選択する。その後、ステップS702でプロセスは、ライン・ブロブをバーコードの方向、すなわち仮想線の方向に沿ってソートし、ステップS703で候補ラインのブロブまたは複数のブロブを、対象のライン・ブロブの間の間隔が所定のしきい値よりも大きいか否かの基準により、排除する。このしきい値は、バーコード規格の要請によって決定される。その後、プロセスは、ステップS704で、同一のラインにある交差したもの以外の候補ラインの複数のペアを決定する。
プロセスは、上述の複数のペアが存在する場合、ライン・ブロブのセットが、単一のバーコードに分類されるか否かを判断し、ステップS705で、上述したブロブのセットを単一のバーコード候補に統合し、バーコード候補を修正する。上述した統合の基準は、ライン・ブロブの最小間隔長および最大間隔長とすることができる。2つのバーコード候補が、最小値および最大値の間の距離で近接して存在する場合、2分線に沿った位置が十分に近いことを考慮して、隣接する2つの矩形形状は、1つの矩形形状へと統合される。ステップS706で全てのブロブについて修正したバーコード候補を決定すると、プロセスは、ステップS707に進んで終了する。
図8は、サンプル・バーコード画像を使用して本実施形態を画像的に示したものを示す。サンプル・バーコード画像は、(1)ArTe−Labローテイテッド・データセット(非特許文献1)および(2)Intel(登録商標)エゴセントリック・オブジェクト・リコグニッション・データセット(非特許文献3:X. Ren et al. Figure-ground segmentation improves handled object recognition in egocentric video, In Computer Vision and Pattern Recognition (CVPR), 2010, IEEE Conference, pp. 3137-3144, 2010)である。
処理は、(a)から(e)へと進行し、カラム(e)の結果は、図7に示したポスト・プロセッシングを適用した後に得られたものであり、最終的に決定されたブロックが、それぞれの矩形により示されている。図8に示すように、本発明は、複数のバーコードが1つの画像中に存在するか、や、画像がバーコード以外の人間の手、カップ、およびその他の物品の画像を含んでいるかによらず、バーコードについて良好に認識する。
図9は、本発明の別の実施形態900を示すものであり、本発明のプログラムは、サーバ・コンピュータ906に実装されている。図9に示した実施形態は、可搬型装置が、スマートホンやタブレット型コンピュータに対して比較的低い性能を有している場合に有用である。このことは、可搬型装置がウェアラブル・デバイス903として実装されている場合に発生する。ウェアラブル・デバイスは、メガネ型のものに限定されるものではなく、他にもハンドセット型、チェストセット型、アームセット型およびヘッドセット型とすることができる。
例えば、ウェアラブル・デバイス903が、その視野内にバーコードを見たものとする。ユーザが当該バーコードにエンコードされた情報を知りたい場合、ユーザは、バーコードの画像を撮影してHTTPなどの適切なデータ転送プロトコルを使用して画像をサーバ906に送付する。サーバ906は、本発明のプログラムを実装しており、受領したバーコード画像を本発明にしたがって解析することができる。
サーバの解析の後、解析の結果は、ウェアラブル・デバイス903に戻されて、バーコードにエンコードされている情報が提供される。図9に示した実施形態は、所謂“クラウド サービス”として実装することができ、ユーザがスマートホン904よりも軽量なデバイスを携行することを可能とし、さらにまた物品上に携行型装置を位置決めすること無く、バーコードの情報にアクセスすることを可能とする。さらに他の実施形態では、スマートホン904は、バーコード画像をウェアラブル・デバイスから受領し、バーコードをデコードすることができる。その後、デコードされた情報は、ウェアラブル・デバイス903に戻されてウェアラブル・デバイスのユーザがデコードされた情報を使用することが可能とされる。
本発明者らは、さらに非特許文献1に記載された従来技術と数値的に比較することにより本発明の検証を行った。その評価結果を以下詳細に説明する。
最初のデータセットは、ArTe−Labローテーテッド・バーコード・データセット(拡張バージョン)1(非特許文献1)から選択した。これは、異なった電話で取得されたEANバーコードの365画像から構成されている。非特許文献2の結果は、上述の画像のうち129のサブセットのみが使用されている。本発明では、サンプル画像の全セットを使用して比較した。第2のデータセットは、非特許文献4(S. Wachenfeld et.al. Robust recognition of 1-d barcodes using camera phones, In Proc. of 19th International Conference on Pattern Recognition (ICPR 2008), pp. 1-4, 2008)からWWUミュエンスター(Muenster)・バーコード・データベース2である。これは、N95携帯電話で撮影したEANおよびUPC−Aバーコードを、1,055画像含んでいる。
比較を簡略化するために、本発明者らは、非特許文献1と同様の尺度を使用した。主な尺度は、グランド・トルスと検出値との間のJaccard指標を使用したバウンディング・ボックスの全検出精度を評価することである。検出結果Rおよびグラウンド・トルスGの両方が、下記式により画像全体にわたりバイナリ・マスクとして与えられる。本実施例におけるこれらのデータセットを、表1に纏める。
本発明では、非特許文献1におけるJavg.を、データセット全体にわたり、平均Jaccard精度として参照した。全検出率Dは、少なくとも0.5Jaccard精度を達成したデータセット中のファイルの割合に相当するものとした(これはまた非特許文献2のOAbbとして参照されるものである)。
上記式中、Sは、データセット内のファイルのセットである。精度変動を完全とし、かつ検出するために、しきい値を、0.1のステップで設定した。図10に2つのデータセットについての結果を、グラフ表示としてまとめる。
本発明者らの方法と、非特許文献1との間の検出精度の比較を、表2に示す。Jaccardしきい値が0.5について、比較例ではそれぞれ80.5%、82.9%のところ、本発明(Exp1として参照する。)は、Ar−Te−Labローテーテッド・データセットについて、バーコードの検出を89.3%、ミュエンスター・データセットについては96.3%で成功した。両方のデータセットについての全検出プロファイルを図10に示す。
上述したように、本発明は、2つのデータセットにつき、最新技術に比較しても平均で約14%検出性を改善できる。
本発明者らは、さらに実時間バーコード認識性能を評価した。本発明の方法を、640×480の画像に対して10フレーム/s程度で実行した。表3に本発明の性能を非特許文献1のZ(リファレンスとして参照する。)と比較した。同一のDell社製XPS9100マシンで、単一スレッドで実行させた。両方の方法は、OpenCVライブラリを使用し、C++で実装した。
計算上最も時間を要した部分は、MSERs計算であり、1フレーム当たり平均で49msを要した。フィルタリング、特徴検出およびクラスタリングは、それぞれ、18、6、25msを要した。MSERs検出計算のみが画像サイズに直接依存することに留意されたい。
他の部分は、候補ブロブの数に依存した。したがって、最後の3ステップの計算は、より高解像度の画像に対してもそれほど増加するものではない。640×480の画像について、本方法(実施例として参照する。)は、リファレンスの方法に対しておよそ1.2倍の速度アップに貢献した。入力にウェブカム・ビデオ・ストリームを使用した本発明のライブ・モードは、本発明の実時間能力の改善を示した。
図11は、本バーコード検出システム100に使用される情報処理装置のハードウェア実装を示す。情報処理装置1100は、システムバス1111を介して相互接続された中央処理装置(CPU)1101、アプリケーション・キャッシュ・メモリ1102およびメモリ1103を含んでいる。CPU1101は、本発明において説明したプログラムを、ハードディスク・ドライブ、テープ・ドライブまたはソリッドステート・ディスクといった高容量記憶装置1109からメモリ1103に読み込んで、本発明によるプログラミング・コードを実行する。アプリケーション・キャッシュ・メモリは、CPU1101のデータアクセスを改善するアプリケーション・キャッシュとして参照される。
情報処理装置1100は、さらに、ROM1104、グラフィックス・アダプタ1106およびネットワーク・アダプタ1108を含む。ROM1104は、情報処理装置を初期化し、初期テストを行うためのBIOSを格納する。グラフィックス・アダプタ1106は、VGAまたはXGAなどのビデオ・イメージをディスプレイ1107に供給し、情報処理装置1100に対してニューマン・インタフェースを提供する。ネットワーク・アダプタ1108は、情報処理装置1100を、TCP/IP、UDPといった適切な通信プロトコルを介してネットワークに接続する。特定の実施形態では、携行型装置は、さらにセルラ電話機能を備えることができ、発呼することが可能とされていても良い。
情報処理装置1100は、PCIブリッジといったI/Oバス・ブリッジ1105を備えており、I/Oバス1112を介して、記憶装置1109、入力ボタン、ソフトウェア・キーボードなど、またはカメラ・デバイス1113などの入力デバイス1110種々のデバイスを接続する。携行型装置は、携行型装置が、ウェアラブル・デバイスとして実装される場合、より簡略化したモジュールを含むことができる。
情報処理装置は、装置の特定の実装に応じて、Z/アーキテクチャ(登録商標)、Linux(登録商標)、Unix(登録商標)、Windows(登録商標)など適切なオペレーティング・システム(OS)の下で本発明のプログラム・コードを動作させるが、これらに限定されるものではなく、ANDROID(登録商標)、Chrome(登録商標)またはIOS(登録商標)も利用することができる。本発明のプログラムは、OSに応じて、C、C++、C#といった適切なプログラミング言語により記述することができる。
本明細書で使用される用語は、特定の実施形態を説明するためのみのものであり、本発明を限定することを意図するものではない。本明細書で使用するように、“a”、“an”の単数形および“the”は、文脈上それ以外が指示されていない限り、複数形もまた、同様に包含することを意図している。さらに、用語“含む”、“含んでいる”の両方またはいずれか一方は、本明細書において使用される場合、記載した要件、整数、ステップ、操作、要素、コンポーネントの全部またはいずれか1つの存在を規定するものであるが、1つ以上の他の特徴の存在または追加を排除するものではない。
後述する請求の範囲における対応する構造、材料、動作および全ての手段またはステップに機能を追加した要素の均等物は、如何なるものであっても、具体的にクレームした他のクレームされた要素との組み合わせにおいて、いかなる構造、材料または機能を提供するための動作を含むことを意図するものである。本発明の1つ以上の特徴の記述は、例示および説明の目的で提示されたものであって、本発明を開示した形態に終止させることや限定することを意図するものではない。
当業者によれば、本発明の範囲および要旨を逸脱することなく多くの修正形態および変更形態は明らかであろう。実施形態は、本発明の原理および実際上の適用を最適に説明し、他の当業者が、特定の熟慮された使用に適した種々の変形を備えた種々の実施形態の理解を可能とするために記述したものである。

Claims (15)

  1. バーコードを検出する方法であって、前記方法は、
    画像から複数の線状のブロブを検出するステップと、
    検出した各ブロブに対して検出された前記各ブロブを中央で垂直に2分する仮想線を得るステップと、
    前記仮想線の傾きおよび位置にしたがって特徴空間内で前記仮想線の少なくとも1つのクラスタを決定するステップと、
    1つの前記クラスタ内の前記ブロブを前記バーコードとして認識されるべき領域を規定する特定の矩形形状に割り当てるステップと
    を含む方法。
  2. 前記方法は、さらに少なくとも1つの矩形形状をバーコードとして推定されるブロブまたは複数のブロブが存在するブロブ領域に割り当て、前記仮想線を得る前にバーコード規格で規定されたバーコードのサイズに依存して前記矩形形状を削除するステップを含む、請求項1に記載の方法。
  3. 前記方法は、さらに前記割り当てるステップの後に、前記ブロブの間の間隔を使用して少なくとも1つの特定の矩形形状内の前記ブロブを排除するステップを含む、請求項1に記載の方法。
  4. 前記少なくとも1つのクラスタを決定するステップは、前記仮想線に対してハフ変換を適用し、前記仮想線のそれぞれについて特徴ベクトルを生成するステップを含む、請求項1に記載の方法。
  5. 前記少なくとも1つのクラスタを決定するステップは、直交座標系で定義される特徴空間内の距離に応答して少なくとも1つのクラスタへと特徴ベクトルをクラスタリングするステップを含む、請求項1に記載の方法。
  6. バーコードを検出するため、メモリに保持され、情報処理装置のプロセッサにより実行されるプログラムであって、前記プログラムは前記情報処理装置に対し、バーコードを検出する方法のステップを実行させ、前記方法が、
    画像から複数の線状のブロブを検出するステップと、
    検出した各ブロブに対して検出された前記各ブロブを中央で垂直に2分する仮想線を得るステップと、
    前記仮想線の傾きおよび位置にしたがって特徴空間内で前記仮想線の少なくとも1つのクラスタを決定するステップと、
    1つの前記クラスタ内の前記ブロブを前記バーコードとして認識されるべき領域を規定する特定の矩形形状に割り当てるステップと
    を含む、プログラム。
  7. 前記方法は、さらに少なくとも1つの矩形形状をバーコードとして推定されるブロブまたは複数のブロブが存在するブロブ領域に割り当て、前記仮想線を得る前にバーコード規格で規定されたバーコードのサイズに依存して前記矩形形状を削除するステップを含む、請求項6に記載のプログラム。
  8. 前記方法は、さらに前記割り当てるステップの後に、前記ブロブの間の間隔を使用して少なくとも1つの特定の矩形形状内の前記ブロブを排除するステップを含む、請求項6に記載のプログラム。
  9. 前記少なくとも1つのクラスタを決定するステップは、前記仮想線に対してハフ変換を適用し、前記仮想線のそれぞれについて特徴ベクトルを生成するステップを含む、請求項6に記載のプログラム。
  10. 前記少なくとも1つのクラスタを決定するステップは、直交座標系で定義される特徴空間内の距離に応答して少なくとも1つのクラスタへと特徴ベクトルをクラスタリングするステップを含む、請求項6に記載のプログラム。
  11. 情報処理装置を含むバーコード検出システムであって、前記情報処理装置は、
    少なくとも1つのバーコードを含む画像を格納するメモリを含む画像蓄積部と、
    矩形形状を線状のブロブに割り当て、バーコード規格で規定されたバーコードのサイズに依存して前記矩形形状を削除するブロブ・フィルタリング部と、
    ブロブを2分する仮想線を生成してハフ変換を適用して直交座標系で定義される特徴空間における特徴ベクトルを生成し、前記特徴空間に前記特徴ベクトルを写像するクラスタリング部と
    を含み、
    前記クラスタリング部は、前記特徴ベクトルを、前記特徴空間内の距離に応じてクラスタ化し、クラスタ内の前記ブロブを前記バーコードとして認識されるべき領域を規定する特定の矩形形状に割り当てる、システム。
  12. 前記情報処理装置は、さらに修正部を含み、前記修正部は、前記ブロブの間の間隔に依存して前記特定の矩形形状内の前記ブロブを排除する、請求項11に記載のバーコード検出システム。
  13. 前記修正部は、前記特定の矩形形状を、ブロブの最小および最大の間隔長に依存して他の特定の矩形形状統合する、請求項12に記載のバーコード検出システム。
  14. 前記情報処理装置は、ネットワークから少なくとも1つのバーコードを含む前記画像を受領し、ネットワークに接続された装置に認識結果を戻す、請求項11に記載のバーコード検出システム。
  15. バーコードを検出する方法であって、前記方法は、
    画像から複数の線状のブロブを検出するステップと、
    少なくとも1つの矩形形状をバーコードとして推定されるブロブまたは複数のブロブが存在するブロブ領域に割り当てるステップと、
    バーコード規格で規定されたバーコードのサイズに依存して前記矩形形状を削除するステップと、
    検出した各ブロブに対して検出された前記各ブロブを中央で垂直に2分する仮想線を得るステップと、
    前記仮想線の傾きおよび位置にしたがって特徴空間内で前記仮想線の少なくとも1つのクラスタを決定するステップと、
    1つの前記クラスタ内の前記ブロブを前記バーコードとして認識されるべき領域を規定する特定の矩形形状に割り当てるステップと
    前記ブロブ間の間隔に依存して少なくとも1つの特定の矩形形状内の前記ブロブを排除するステップと
    を含み、
    前記少なくとも1つのクラスタを決定するステップは、前記仮想線に対してハフ変換を適用し、前記仮想線のそれぞれについて特徴ベクトルを生成するステップと、前記特徴ベクトルを直交座標系で定義される特徴空間内の距離に応答して少なくとも1つのクラスタへとクラスタリングするステップを含む、方法。
JP2014244076A 2014-12-02 2014-12-02 バーコード検出方法、バーコード検出システムおよびそのためのプログラム Expired - Fee Related JP6455832B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014244076A JP6455832B2 (ja) 2014-12-02 2014-12-02 バーコード検出方法、バーコード検出システムおよびそのためのプログラム
US14/953,781 US9818012B2 (en) 2014-12-02 2015-11-30 Method for barcode detection, barcode detection system, and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014244076A JP6455832B2 (ja) 2014-12-02 2014-12-02 バーコード検出方法、バーコード検出システムおよびそのためのプログラム

Publications (2)

Publication Number Publication Date
JP2016110196A JP2016110196A (ja) 2016-06-20
JP6455832B2 true JP6455832B2 (ja) 2019-01-23

Family

ID=56079385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014244076A Expired - Fee Related JP6455832B2 (ja) 2014-12-02 2014-12-02 バーコード検出方法、バーコード検出システムおよびそのためのプログラム

Country Status (2)

Country Link
US (1) US9818012B2 (ja)
JP (1) JP6455832B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331928B2 (en) * 2015-11-06 2019-06-25 International Business Machines Corporation Low-computation barcode detector for egocentric product recognition
KR101807566B1 (ko) 2016-06-17 2017-12-11 인천대학교 산학협력단 바코드 검출 방법 및 장치
US10185857B2 (en) 2017-06-14 2019-01-22 Canon Information And Imaging Solutions, Inc. Devices, systems, and methods for reading barcodes
CN111639506B (zh) * 2020-05-29 2023-07-04 天津维创微智能科技有限公司 图像中条形码的定位方法、装置、扫码设备
KR102343439B1 (ko) * 2021-06-24 2021-12-27 주식회사 포스로직 바코드 영역 검출 방법 및 이러한 방법을 수행하는 장치
US11755859B2 (en) * 2021-12-22 2023-09-12 Datalogic Ip Tech S.R.L. Apparatus and method for enabling decoding of remotely sourced and visually presented encoded data markers

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5969325A (en) 1996-06-03 1999-10-19 Accu-Sort Systems, Inc. High speed image acquisition system and method of processing and decoding barcode symbol
JP3994595B2 (ja) * 1998-11-16 2007-10-24 株式会社デンソー バーコード読取方法及び記録媒体
EP1182604A1 (en) * 2000-08-22 2002-02-27 Setrix AG Method and apparatus for reading a bar code
US6729544B2 (en) * 2001-05-02 2004-05-04 International Business Machines Corporation Fast barcode search
SE0301143D0 (sv) * 2003-04-17 2003-04-17 C Technologies Ab Sätt och anordning för inläsning av data
KR20050025927A (ko) * 2003-09-08 2005-03-14 유웅덕 홍채인식을 위한 동공 검출 방법 및 형상기술자 추출방법과 그를 이용한 홍채 특징 추출 장치 및 그 방법과홍채인식 시스템 및 그 방법
US7780084B2 (en) * 2007-06-29 2010-08-24 Microsoft Corporation 2-D barcode recognition
EP2093697B1 (en) * 2008-02-25 2017-08-23 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for retrieving information comprised in a barcode
TW201025152A (en) * 2008-12-31 2010-07-01 Icp Electronics Inc Method for fast locating pattern
EP2393036B1 (en) * 2010-06-01 2016-03-02 Fujian Newland Computer Co., Ltd. Barcode decoding chip
JP5819925B2 (ja) * 2013-12-25 2015-11-24 ウイングアーク1st株式会社 コード読取装置およびコード読取用プログラム

Also Published As

Publication number Publication date
US20160154987A1 (en) 2016-06-02
US9818012B2 (en) 2017-11-14
JP2016110196A (ja) 2016-06-20

Similar Documents

Publication Publication Date Title
JP6455832B2 (ja) バーコード検出方法、バーコード検出システムおよびそのためのプログラム
US11288627B2 (en) Information processing apparatus, control method, and program
US20240127302A1 (en) Document optical character recognition
Zamberletti et al. Robust angle invariant 1d barcode detection
Hansen et al. Real-time barcode detection and classification using deep learning
US10891465B2 (en) Methods and apparatuses for searching for target person, devices, and media
He et al. Curvature scale space corner detector with adaptive threshold and dynamic region of support
CN108229324B (zh) 手势追踪方法和装置、电子设备、计算机存储介质
Gallo et al. Reading 1D barcodes with mobile phones using deformable templates
US10438086B2 (en) Image information recognition processing method and device, and computer storage medium
US10204284B2 (en) Object recognition utilizing feature alignment
CN116157764A (zh) 基于姿势检测和分析的条形码扫描
CN107251048B (zh) 可靠指尖和手掌检测
WO2020056914A1 (zh) 人群热力图获得方法、装置、电子设备及可读存储介质
CN108596079B (zh) 手势识别方法、装置及电子设备
JP7255173B2 (ja) 人検出装置および人検出方法
CN112036362A (zh) 图像处理方法、装置、计算机设备和可读存储介质
Zamberletti et al. Neural 1D barcode detection using the Hough transform
CN109711287B (zh) 人脸采集方法及相关产品
CN111492407B (zh) 用于绘图美化的系统和方法
CN108960246B (zh) 一种用于图像识别的二值化处理装置及方法
JP6305856B2 (ja) 画像処理装置、画像処理方法、およびプログラム
CN108288023B (zh) 人脸识别的方法和装置
CN115527047A (zh) 一种图像匹配方法、装置、电子设备和存储介质
WO2012044335A1 (en) Recognizing a feature of an image independently of the orientation or scale of the image

Legal Events

Date Code Title Description
RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20141208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20141209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180626

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20180704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180913

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20181121

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20181121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181211

R150 Certificate of patent or registration of utility model

Ref document number: 6455832

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees