(57)【要約】【課題】複数箇所に配置されたバーコードを離れた位置から検知し、効率良くバーコード情報を読み取ることが可能なコード認識装置を提供する。【解決手段】実施形態によれば、コード認識装置は、読取手段、領域検出手段、第１抽出手段、第２抽出手段とを有する。読取手段は、コード画像を撮影する。領域検出手段は、前記読取手段により撮影されたコード画像から前記コード画像に含まれるコード領域と文字領域を検出する。第１抽出手段は、前記コード領域から前記コード画像が表す第１コード情報を抽出する。第２抽出手段は、前記文字領域から前記コード画像が表す第２コード情報を抽出する。【選択図】図１
2020194594.tif 000002
【特許請求の範囲】
【請求項１】
コード画像を撮影するための読取手段と、
前記読取手段により撮影されたコード画像から前記コード画像に含まれるコード領域と文字領域を検出する領域検出手段と、
前記コード領域から前記コード画像が表す第１コード情報を抽出する第１抽出手段と、
前記文字領域から前記コード画像が表す第２コード情報を抽出する第２抽出手段と
を有するコード認識装置。
【請求項２】
前記第２抽出手段は、前記第１抽出手段により前記第１コード情報を抽出できなかった場合に、前記文字領域から第２コード情報を抽出する請求項１記載のコード認識装置。
【請求項３】
前記第１コード情報と前記第２コード情報を統合する情報統合手段をさらに有する請求項１記載のコード認識装置。
【請求項４】
前記読取手段は、パン・チルト機能を備えたカメラによりコード画像を撮影し、
前記コード画像中の前記コード領域の位置と、前記パン・チルト機能により調整される前記カメラの向きを示すパン・チルト情報をもとに、前記コード画像の位置を検出する位置検出手段をさらに有する請求項１記載のコード認識装置。
【請求項５】
前記領域検出手段は、複数の異なる位置において前記読取手段によりそれぞれ撮影された複数のコード画像から前記コード領域を検出し、
前記位置検出手段は、前記複数の画像から検出された前記コード領域の位置と、前記複数のカメラの向きを示すパン・チルト情報をもとに、前記コード画像に相当するコードの３次元空間における位置を検出する請求項４記載のコード認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、コード認識装置に関する。
【背景技術】
【０００２】
倉庫や店舗などの空間内、例えば商品棚などに広範囲に複数配置されたバーコードから、効率良くバーコード情報を読み取ることが求められている。通常、複数箇所に配置されたバーコードからバーコード情報を読み取る場合には、個々のバーコードに対してバーコード認識装置の読取部をかざす必要がある。このため、多くのバーコード情報を全て読み取るのに時間が掛かってしまう。
【０００３】
一方、複数のバーコードが含まれる領域を撮影して、撮影した画像から複数のバーコードのバーコード情報を一括して読取る方法もある。この方法の場合、バーコードから離れた場所から撮影し、バーコードを認識可能な画像を得る必要があるため、例えば２次元撮像素子を用いた読取部の場合、受光素子を高解像度、かつ大面積にする必要があった。しかし、十分な解像度を有していない読取部を設けたバーコード認識装置では、撮影した画像中のバーコードの品質が悪く、バーコード情報を認識することができない場合があった。また、バーコードから離れた位置から撮影をするため、撮影時の状況によっては品質の良い画像が撮影されず、画像中からバーコード情報を認識することができない場合があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−０２２４３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、複数箇所に配置されたバーコードを離れた位置から検知し、効率良くバーコード情報を読み取ることが可能なコード認識装置を提供することである。
【課題を解決するための手段】
【０００６】
実施形態によれば、コード認識装置は、読取手段、領域検出手段、第１抽出手段、第２抽出手段とを有する。読取手段は、コード画像を撮影する。領域検出手段は、前記読取手段により撮影されたコード画像から前記コード画像に含まれるコード領域と文字領域を検出する。第１抽出手段は、前記コード領域から前記コード画像が表す第１コード情報を抽出する。第２抽出手段は、前記文字領域から前記コード画像が表す第２コード情報を抽出する。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態におけるバーコード認識装置の外観図。
【図２】第１実施形態におけるバーコード認識装置のデバイス構成を示すブロック図。
【図３】第１実施形態におけるバーコード読取部による読取範囲（被撮影領域）を示す図。
【図４】第１実施形態におけるバーコード読取部の詳細構成を模式的に示した図。
【図５】第１実施形態における撮影画像に含まれるバーコードに相当するバーコード画像を探索するための方法を模式的に示した図。
【図６】第１実施形態のバーコード認識装置によりバーコードを読取る第１の方法について示すフローチャート。
【図７】第１実施形態のバーコード認識装置によりバーコードを読取る第２の方法について示すフローチャート。
【図８】第１実施形態のバーコード認識装置によりバーコードを読取る第３の方法について示すフローチャート。
【図９】第１実施形態のバーコード認識装置によりバーコードを読取る第４の方法について示すフローチャート。
【図１０】第１実施形態におけるバーコード画像の一例を示す図。
【図１１】第１実施形態における撮影画像に含まれるラベルに相当するラベル画像を探索するための方法を模式的に示した図。
【図１２】第１実施形態のバーコード認識装置によりバーコードを読取る第５の方法について示すフローチャート。
【図１３】第２実施形態におけるバーコード認識装置のデバイス構成を示すブロック図。
【図１４】第２実施形態におけるバーコード領域や文字領域が含まれる商品棚などを撮影するための撮影装置の外観図を示す図。
【図１５】第２実施形態におけるバーコードが配置されている棚基準面と撮影装置及び撮影パラメータから得られる撮影時の視野基準面との位置関係を示した図。
【図１６】第２実施形態における棚基準面上にバーコードを配置した場合、視野範囲における図１５に示した各パラメータとの関係を示した図。
【図１７】図１５及び図１６に示す関係を更に一般的に表した図。
【図１８】第２実施形態のバーコード認識装置によりバーコードを読取る方法について示すフローチャート。
【図１９】第２実施形態のバーコード認識装置によりバーコードを読取る第１の変形例について示すフローチャート。
【図２０】第２実施形態のバーコード認識装置によりバーコードを読取る第２の変形例について示す図。
【発明を実施するための形態】
【０００８】
以下、本実施形態について、図面を参照しながら説明する。  
（第１実施形態）  
図１は、第１実施形態におけるバーコード認識装置１の外観図である。図１に示すバーコード認識装置１は、使用者が手に持って操作することが可能な、所謂ハンドヘルド型端末である。バーコード認識装置１は、倉庫や店舗などの空間内、例えば商品棚や商品に対して付されたコードを光学的に検出して、コードが表すコード情報を読取る装置である。第１実施形態では、例えばコードとしてバーコードを対象とし、バーコードが表すバーコード情報を読取るものとして説明する。一般に、バーコードは、縞模様状の複数の太さの異なる線から構成される縞状パターン（バーコードパターン）と、バーコードパターンが表すバーコード情報を示す文字列（数字列）が含まれる。なお、バーコード認識装置１は、バーコードに限らず、２次元コードや幾何学図形の組み合わせなどによって表される各種コードを対象として認識をするようにしても良い。
【０００９】
バーコード認識装置１には、バーコードを撮影するためのバーコード読取部２、バーコードの読取の状態や操作情報、読取結果などを表示する表示部３、操作命令などを入力する入力部４を備えている。操作者は、バーコード認識装置１の筐体を保持し、バーコード読取部２を、読取の対象とするバーコードを含む撮影範囲（被撮影領域）に向けて、入力部４に対する操作により撮影（バーコードの読取）を指示することができる。バーコード認識装置１は、例えば商品棚などの複数の商品が陳列され、それぞれの商品の陳列位置に付された複数のバーコードを撮影範囲とすることで、複数のバーコードを一括して読み取ることができる。
【００１０】
図２は、第１実施形態におけるバーコード認識装置１のデバイス構成を示すブロック図である。図２に示すように、バーコード読取部２、表示部３、入力部４は、データバス１０を介して互いに接続される。更にプログラムやデータを記録するＲＯＭ５、一時的に情報を記録するＲＡＭ７、中央処理プロセッサでありプログラムを演算処理するＣＰＵ６、装置外部との通信を行うための通信部８、装置外部との接続インタフェース（Ｉ／Ｆ）となるＩ／Ｆ部９がデータバス１０を介して互いに接続される。ＲＯＭ５に記録されるプログラムには、バーコード読取部２により撮影された画像からバーコード情報を読み取るバーコード認識プログラムが含まれる。ＣＰＵ６は、バーコード認識プログラムを実行することにより、バーコード読取部２により撮影された画像からバーコードに含まれるバーコード領域と文字領域を検出する領域検出機能、バーコード領域からバーコード情報を抽出する第１抽出機能、文字領域からバーコード情報を抽出する第２抽出機能を実現する。
【００１１】
図３は、第１実施形態におけるバーコード認識装置１を用いてバーコードを読み取る際のバーコード読取部２による読取範囲（被撮影領域１１）を示す図である。バーコード認識装置１は、空間内に配置されたバーコード１２から離れた位置で、バーコード読取部２の撮影方向をバーコード１２に向けてバーコード読取を実行する。バーコード読取部２による被撮影領域１１には、空間内に配置された複数のバーコード１２を含めることができる。被撮影領域１１の範囲を表す撮影領域境界１３は、使用者が容易に判別できるよう、バーコード認識装置１から照射されるレーザなどのマーカーによって明示的に示される。
【００１２】
図４は、第１実施形態におけるバーコード読取部２の詳細構成を模式的に示した図である。バーコード読取部２は、例えば撮影を行うための撮影レンズ１６と２次元イメージセンサ１５、照明用ＬＥＤ光源１７、レーザポインタ１９を有している。照明用ＬＥＤ光源１７は、被撮影領域１１に対して撮影に必要十分な照度で照明するため、例えば近赤外光（ＩＲ光）１８を出力する。レーザポインタ１９は、赤色など可視レーザ光２０をバーコード読取部２による撮影方向に照射し、被撮影領域１１の範囲を使用者が把握できるように撮影領域境界線１３を表示する。
【００１３】
図５（Ａ）（Ｂ）は、第１実施形態におけるバーコード読取部２により撮影された撮影画像２１に含まれるバーコード１２に相当するバーコード画像１２ａ（コード画像）を探索するための方法を模式的に示した図である。撮影画像２１は、バーコード１２に相当するバーコード画像１２ａを取得可能な解像度、例えば約２００ｄｐｉ以上で撮影される。バーコード画像１２ａは、縞模様状の複数の太さの異なる線から構成される縞状パターン（バーコードパターン）を含む。
【００１４】
ＣＰＵ６は、図５（Ａ）に示すように、撮影画像２１に対して小面積となる探索領域２４を設定し、撮影画像２１を水平方向２４Ｈ及び垂直方向２４Ｖに順次走査する。ここで、バーコードは、例えばＥＡＮ（European Article Number）コードやＪＡＮ（Japanese Article Number）コードであり、１次元バーコード（バーコードパターン）と、１次元バーコードが表す数字列（デコード情報）が併記されているものとする。数字列には、正誤確認を行うチェックサムが含まれているものとする。
【００１５】
ＣＰＵ６は、探索領域２４により走査することで、図５（Ｂ）に示すように、バーコード画像１２ａに含まれる１次元バーコード（バーコードパターン）に相当するバーコード領域２２と、数字列に相当する文字領域２３のそれぞれの候補を抽出する。バーコード領域２２と文字領域２３の候補を検出する検出機能（検出器）は、バーコード、文字の特徴的なパターンを記述する特徴点を選択し、機械学習の技術を利用して教師データと反教師データの学習により作成した辞書と識別器から構成される。なお、バーコード領域２２の候補を検出する検出機能（検出器）は、パターンの垂直成分と水平成分の周期に着目し、学習を行わないルールベースで検出する構成することも可能である。探索領域２４による走査において、バーコード領域２２の候補あるいは文字領域２３の候補として抽出された領域は、バーコードパターン及び数字列方向を考慮しながら結合され、バーコード領域２２の候補、文字領域２３の候補として、撮影画像２１内における位置情報（座標位置）と共に抽出される。
【００１６】
次に、第１実施形態におけるバーコード認識装置１の動作について、図６、図７、図８、図９に示すフローチャートを参照しながら説明する。  
図６は、第１実施形態のバーコード認識装置１によりバーコードを読取る第１の方法について示すフローチャートである。
【００１７】
ＣＰＵ６は、利用者による操作に応じて、バーコード読取部２により被撮影領域１１の撮影を実行させる（ＡｃｔＡ１）。ＣＰＵ６は、バーコード読取部２の撮影により、図５に示すような撮影画像２１を取得し、バーコード領域２２の探索を行う（ＡｃｔＡ２）。
【００１８】
次に、ＣＰＵ６は、バーコード領域２２の候補（バーコード候補領域）として抽出された領域について、更に最近傍探索などにより詳細探索を行うことでバーコード領域２２を矩形画像として切出す（ＡｃｔＡ３）。なお、撮影画像２１が斜めから撮影されるなどしてバーコード領域２２が幾何学的に歪んでいる場合は、射影変換などによる切出し領域歪補正を行うようにしても良い（ＡｃｔＡ４）。その後、ＣＰＵ６は、バーコード領域２２に含まれるバーコードパターンについてデコード処理を行う（ＡｃｔＡ５）。ここで、所定のバーコード規約に従いデコードできた場合は、ＣＰＵ６は、チェックサムの確認後に（ＡｃｔＡ６、ＯＫ）、デコード情報（バーコード情報）をバーコードの位置情報と共に出力する（ＡｃｔＡ７）。
【００１９】
一方、バーコードパターンについてデコード処理において、デコードに失敗した場合は（ＡｃｔＡ６、ＮＧ）、ＣＰＵ６は、バーコード領域２２の周辺近傍に存在する近傍文字領域候補を探索し（ＡｃｔＡ８）、文字領域２３の候補（文字候補領域）として切出す（ＡｃｔＡ９）。なお、ＣＰＵ６は、バーコード領域２２の歪補正と同様に、必要に応じて文字候補領域について幾何学的な歪を補正するための切出し領域歪補正処理を行うようにしても良い（ＡｃｔＡ１０）。
【００２０】
ＣＰＵ６は、文字領域候補からバーコードパターンを除去する処理をした後、ＯＣＲ処理を実行して文字領域候補内の文字列を認識する（ＡｃｔＡ１０）。すなわち、バーコード情報を表す数字列の取得を試みる。ＣＰＵ６は、ＯＣＲ処理により得られた数字列について、バーコードパターンについてのデコードと同様にチェックサムを行った結果、バーコード規約を満たす場合は（ＡｃｔＡ１１、ＯＫ）、得られた数字列をバーコードのデコード情報（バーコード情報）として位置情報と共に出力する（ＡｃｔＡ７）。なお、チェックサムを行った結果、デコード失敗と判別される場合（ＡｃｔＡ１１、ＮＧ）、ＣＰＵ６は、リードエラー処理を実行する（ＡｃｔＡ１２）。
【００２１】
ＣＰＵ６は、撮影画像２１において、複数のバーコード画像１２ａが探索された場合、各バーコード画像１２ａに対して前述した処理（ＡｃｔＡ２〜Ａ７）を繰り返して実行する。これにより、バーコード認識装置１は、バーコード読取部２により１度撮影した撮影画像２１から、一括して複数のバーコード１２からバーコード情報を読取ることができる。
【００２２】
以上の処理を行うことで、例えば、図１０（Ａ）に示すように、バーコード領域２２のバーコードパターンが鮮明である場合には、バーコードパターンに対するデコード処理によってバーコード情報を出力することができる。一方、図１０（Ｂ）に示すように、バーコード領域２２のバーコードパターンがデコード処理に不十分な解像度や鮮明度であったとしても、文字領域２３を対象としたＯＣＲ処理によってバーコード情報を正確に取得することが可能となる。一般に、バーコードのデコードに必要な解像度に対し、数字列のＯＣＲに必要な解像度は低くても良い場合が多い。このため、デコードができないような解像度や鮮明度によりバーコード１２が撮影された場合、例えばバーコードまでの距離が遠い位置において被撮影領域１１の撮影がされた場合であっても、正しいバーコード情報を取得することが可能となる。あるいは、バーコード読取部２に高解像度、かつ大面積のイメージセンサ１５が搭載されていなくても、バーコード１２の読取が可能となるため、バーコード認識装置１の低コスト化が可能となる。
【００２３】
こうして、第１実施形態の第１の方法では、バーコード領域２２の周辺近傍に配置された、バーコード情報と等価な情報を表す数字列（文字列）をＯＣＲ処理によって読取ることにより、バーコード領域２２からデコード情報を取得できなかった場合に補完的に利用することができる。これにより、複数箇所に配置されたバーコードを離れた位置から検知し、効率良くバーコード情報を読み取ることが可能となる。第１実施形態では、以下に説明する第２〜第４の方法によって同様にしてバーコード情報を読取ることができる。
【００２４】
図７は、第１実施形態のバーコード認識装置１によりバーコードを読取る第２の方法について示すフローチャートである。なお、第２の方法については、図６に示す第１の方法と異なる処理について説明する。  
第１の方法では、バーコードパターン（バーコード領域２２）のデコード処理に失敗した場合に、バーコード領域２２の周辺近傍に存在する近傍文字領域候補を探索している。第２の方法では、バーコード領域２２の候補（バーコード候補領域）を切り出す際に（ＡｃｔＢ３）、バーコード領域２２の周辺近傍に存在する近傍文字領域探索を実行し（ＡｃｔＢ３ａ）、文字領域候補を含まない領域をバーコード領域２２として確定して切出す処理を行う。その際、ＣＰＵ６は、検出した文字候補領域を示す位置（座標）／サイズ情報をＲＡＭ７（メモリバッファ）へ一時的に記録しておく。
【００２５】
ＣＰＵ６は、第１の方法と同様に、バーコード領域２２のデコード処理に失敗した場合に（ＡｃｔＢ６、ＮＧ）、ＲＡＭ７に記録された位置／サイズ情報を用いて文字候補領域を切り出す文字領域切出し処理を実行する（ＡｃｔＢ８）。第２の方法では、バーコード領域２２の周辺を探索する処理を、バーコード領域２２を切り出す際（ＡｃｔＢ３）と、文字領域２３を切り出す際（ＡｃｔＢ８）のそれぞれにおいて繰り返して実行しないので、さらに効率的なバーコード認識処理が実現可能となる。
【００２６】
図８は、第１実施形態のバーコード認識装置１によりバーコードを読取る第３の方法について示すフローチャートである。なお、第３の方法については、図６に示す第１の方法と異なる処理について説明する。  
第３の方法では、バーコード読取部２の撮影による撮影画像２１の取得後に、撮影画像２１の全画面を対象とする画像領域探索処理を実行し（ＡｃｔＣ３）、バーコード領域２２及び文字領域２３の両方についての探索を一括して行う。ＣＰＵ６は、画像領域探索処理により検出されたバーコード候補領域と文字候補領域のそれぞれについて、位置／サイズ情報をＲＡＭ７（メモリバッファ）に記録しておく。
【００２７】
ＣＰＵ６は、バーコード領域２２の切出しをする際に、ＲＡＭ７に記録されたバーコード候補領域の位置／サイズ情報を用いて、バーコード領域２２を切り出す（ＡｃｔＣ３）。また、ＣＰＵ６は、文字領域２３の切出しをする際に、ＲＡＭ７に記録された文字候補領域の位置／サイズ情報を用いて、文字領域２３を切り出す（ＡｃｔＣ８）。
【００２８】
第３の方法では、一度の画面内全探索により、検出されたバーコード候補領域と文字候補領域の両方について位置／サイズ情報を一括して記録しておくので、画面内探索処理の回数を減らし、さらに効率的なバーコード認識処理が実現可能となる。
【００２９】
図９は、第１実施形態のバーコード認識装置１によりバーコードを読取る第４の方法について示すフローチャートである。  
第４の方法では、バーコード領域２２の切出しからデコード情報（バーコード情報）の出力処理（ＡｃｔＤ３〜Ｄ７）と、文字領域２３の切出しからデコード情報（バーコード情報）の出力処理（ＡｃｔＤ８〜Ｄ１２）とを並列化して実行し、それぞれのデコード結果を統合して出力する。ＣＰＵ６は、第３の方法と同様に画像領域探索処理を実行して、バーコード候補領域と文字候補領域のそれぞれについて位置／サイズ情報を記録する（ＡｃｔＤ２）。ＣＰＵ６は、バーコード領域切出し（ＡｃｔＤ３）と、文字候補領域の切出し（ＡｃｔＤ８）において、それぞれについての位置／サイズ情報を用いて処理する。
【００３０】
ＣＰＵ６は、バーコード領域２２を対象としたデコード処理により出力されるバーコードデコード情報（第１バーコード情報）と、文字領域２３を対象としたデコード処理（ＯＣＲ処理）により出力されるＯＣＲデコード情報（第２バーコード情報）を、バーコード領域２２と文字領域２３についての位置／サイズ情報をもとに統合するためのデコード情報統合処理を実行する（ＡｃｔＤ１３）。
【００３１】
デコード情報統合処理では、ＣＰＵ６は、バーコード領域２２と文字領域２３のそれぞれに対応するデコード情報が得られた場合には、位置／サイズ情報をもとに、バーコード領域２２と文字領域２３とが１つのバーコード１２に含まれるか否かを判別する。１つのバーコード１２に含まれると判別された場合、ＣＰＵ６は、バーコード領域２２と文字領域２３の何れか一方を対象として出力されたバーコード情報を排除する。また、デコード情報統合処理では、ＣＰＵ６は、バーコード領域２２と文字領域２３の何れか一方についてのみデコード情報が得られた場合には、そのデコード情報を位置／サイズ情報が示すバーコード１２の読み取り結果とする。ＣＰＵ６は、被撮影領域１１から検出される複数のバーコード１２のそれぞれについて、前述した処理を繰り返して実行する。
【００３２】
第４の方法では、バーコード領域２２と文字領域２３のそれぞれについて並行してデコードして、その結果を統合することにより、何らかの原因でバーコード領域２２が検出できない場合であっても、文字領域２３を対象としたＯＣＲ処理によって、バーコード１２が表すデコード情報（バーコード情報）を補完的に得ることが可能となる。
【００３３】
次に、前述したバーコード画像１２ａとは異なるコード画像を処理対象とする例について説明する。ここでは、例えば商品の値札など、商品や物品を陳列した棚を管理するための管理札として付されるラベルを対象として説明する。ラベルは、例えば所定のフォーマットにより印刷されて、商品や陳列棚に掲示される。
【００３４】
図１１（Ａ）（Ｂ）は、第１実施形態におけるバーコード読取部２により撮影された撮影画像２１に含まれるラベルに相当するラベル画像２５ａを探索するための方法を模式的に示した図である。図５（Ｂ）に示すバーコード画像１２ａでは、バーコード領域２２の周辺近傍に文字領域２３が設けられているが、図１１（Ｂ）に示すラベル画像２５ａでは、バーコード領域２２Ａから離れた位置に文字領域２３Ａが設けられている。ラベル画像２５ａには、バーコード領域２２Ａと文字領域２３Ａの他に、ラベル情報２６が含まれている。
【００３５】
ＣＰＵ６は、図１１（Ａ）に示すように、前述と同様にして、撮影画像２１に対して小面積となる探索領域２４を設定し、撮影画像２１を水平方向２４Ｈ及び垂直方向２４Ｖに順次走査し、図１１（Ｂ）に示すフォーマットのラベル領域を検出する。
【００３６】
図１２は、第１実施形態のバーコード認識装置１によりバーコードを読取る第５の方法について示すフローチャートである。第５の方法では、図１１（Ｂ）に示すように、ラベル画像２５ａ内で離間して設けられたバーコード領域２２Ａと文字領域２３Ａを読み取る処理を示している。なお、第５の方法については、図６に示す第１の方法と異なる処理について説明する。
【００３７】
ラベル画像２５ａでは、文字領域２３Ａがバーコード領域２２Ａに対して近接して配置されていないが、ラベル画像２５ａ内の所定位置に配置されていることを利用する。すなわち、ＣＰＵ６は、バーコード領域２２Ａの候補と文字領域２３Ａの候補の配置関係が図１１（Ｂ）に示すフォーマットに相当する場合にラベル画像２５ａに相当するラベル領域として検出する（ＡｃｔＥ２）。ＣＰＵ６は、検出したラベル領域を示す位置／サイズ情報をＲＡＭ７（メモリバッファ）にラベル領域情報として一時記録しておく（ＡｃｔＥ３）。ＣＰＵ６は、撮影画像２１に含まれる複数のラベル画像２５ａのそれぞれについて、ラベル領域切出しの処理を繰り返す（ＡｃｔＥ２，Ｅ３）。
【００３８】
次に、ＣＰＵ６は、検出されたラベル領域情報を元に、ラベル画像２５ａからバーコード領域２２Ａを探索し、バーコード領域２２Ａのバーコード（バーコードパターン）をデコードする（ＡｃｔＥ４〜Ｅ７）。バーコードのデコード結果がチェックサムＮＧとなった場合は（ＡｃｔＥ８、ＮＧ）、ＣＰＵ６は、文字領域２３Ａの切出しをする際に、ＲＡＭ７に記録されたラベル領域情報として記録された位置／サイズ情報を用いて、ラベル画像２５ａについて文字領域２３Ａを探索し（ＡｃｔＥ１０）、文字領域２３Ａを切り出す（ＡｃｔＥ１１）。
【００３９】
こうして、文字領域２３Ａを探索する際に、ラベル領域情報を活用することで、効率よく文字領域２３Ａを探索することが可能となる。このように、撮影画像２１から所定のラベル画像２５ａ（ラベル領域）を検出する前処理を行うことで、バーコード領域２２Ａと文字領域２３Ａとが離間していても、効率よく、且つ高精度に、バーコード領域２２Ａと文字領域２３Ａを探索することが可能となる。また、バーコード領域２２の候補や文字領域２３の候補がラベル内にあるか否かの内外判定が可能となり、特に無関係なバーコードが一緒に撮影されてしまう場合などに検出精度向上が図れる。
【００４０】
（第２実施形態）  
第２実施形態のバーコード認識装置１Ａは、第１実施形態と同様にして、バーコード領域２２と文字領域２３を対象としてバーコード情報を読取る。さらに、バーコード認識装置１Ａは、第１実施形態におけるバーコード読取部２に代えて、設置場所が固定された撮像装置２Ａを、バーコード画像等を含む画像を撮影する読取装置として使用することで、バーコード１２の３次元空間における位置（３次元位置座標）を検出する。図１４は、第２実施形態において、バーコード領域２２や文字領域２３が含まれる商品棚などを撮影するための撮影装置２Ａの外観図を示している。
【００４１】
撮影装置２Ａは、カメラを水平方向に回転させるパン（Ｐ）機能（パターンユニット２Ａ１）、及び、垂直方向に回転させるチルト（Ｔ）機能（チルトユニット２Ａ２）を有する、所謂パン・チルトカメラ（ＰＴカメラ）である。パン・チルトの回転中心は共通となっており、任意の回転角（θ，φ）にカメラ方向を設定しても、カメラの視点位置が一点に固定されている。パン・チルト機能は、天井などに固定的に取り付けられた防犯カメラなどの監視カメラに多く採用されており、同様にして撮影装置２Ａに適用することができる。また、パン・チルト機能に加えてズーム（Ｚ）機能を備えている撮影装置、すなわちパン・チルト・ズームカメラ（ＰＴＺカメラ）を利用することも可能である。
【００４２】
図１３は、第２実施形態におけるバーコード認識装置１Ａのデバイス構成を示すブロック図である。図１３に示すように、撮影装置２Ａは、図２に示すバーコード読取部２に相当している。また、バーコード認識装置１Ａは、複数の撮影装置２Ａ，２Ｂを設けることも可能である。バーコード認識装置１Ａは、図２に示すＣＰＵやＲＡＭ、通信部などのデバイス機能１Ｂに相当するシステム構成は、ローカル接続のパーソナルコンピュータ（ＰＣ）や、オンプレミスサーバ、あるいはクラウド上に構築することが可能である。デバイス機能１Ｂの詳細については第１実施形態とほぼ同じものとして説明を省略する。デバイス機能１Ｂは、撮影装置２Ａ，２Ｂにより撮影された画像を入力して、以下に説明する処理を実行する。
【００４３】
図１５（Ａ）（Ｂ）は、撮影対象の基準面とする、例えば商品棚のラベル表示面（棚基準面３１）が、撮影装置２Ａ（ＰＴ（ＰＴＺ）カメラ）の撮影条件に対して、幾何学的にどのような関係にあるかを示した図である。図１５では、直交座標系のｘ軸、ｙ軸を棚基準面３１上に取り、簡単のため撮影装置２Ａはｚ軸上にあり、チルト角θは０とした。
【００４４】
撮影装置２Ａの設置基準位置とする視点２８は、直交座標系原点からのｚ軸上座標、すなわち棚から距離棚−カメラ間基準距離（ｚｓ）の位置に配置し、パン方向の角度φをφ０にした。撮影装置２Ａの撮影水平画角を２ω０、カメラの軸上から棚までの距離、すなわち棚−カメラ間距離をｚ０とすると、撮影装置２Ａの撮影水平画角境界及び光軸と棚基準面３１の交点位置及び距離は、図１５（Ｂ）に示した通りとなる。また、視野基準面３２（幅２Ｗ）に投影される棚形状は、棚が直方体であると仮定すると、図１５（Ａ）に示す棚−視野基準投影面３３のように台形形状に歪む。図１５（Ａ）に示す棚−視野基準投影面３３の右辺ＹＲと左辺ＹＬは、それぞれ以下の式で表される。
【００４５】
【数１】
2020194594.tif 000003
【００４６】
図１６（Ａ）（Ｂ）は、棚基準面３１上にバーコード１２を配置した場合、視野範囲３４における図１５に示した各パラメータとの関係を示した図である。図１６から、棚−カメラ間基準距離（ｚｓ）、パン方向角度φ０及び撮影水平画角ω０が分かれば、これらのパラメータと、撮影した視野基準面３２内における光軸からバーコード１２までの距離ｗとの関係が示され、棚基準面３１におけるｘ軸上の座標が復元できることが分かる。すなわち、撮影装置２Ａによる撮影画像におけるバーコード１２の位置情報から、実際の棚における３次元空間におけるバーコード１２の位置情報を算出することが可能である。
【００４７】
図１７は、図１５及び図１６に示す関係を更に一般的に表した図である。撮影装置２Ａ（視点２８）は、棚基準面３１に存在する直交座標（ｘ，ｙ，ｚ）において（０，０，−ｚｓ）に存在し、視野基準面３２のローカル座標系ＸＹ２次元平面の基準座標及びバーコード１２の位置は、ｙ軸をｚ軸方向に平行移動したｙ'軸における単位球面座標系（θ，φ）で表現される。例えば、図１７に示す例では、バーコード１２の位置は（θ０，φ０＋ω）であり、先に述べた視野基準面３２のローカル座標系ＸＹ直交軸上の位置から、最終的に棚基準面３１の座標系に投影することが可能である。なお、棚−カメラ間基準距離（ｚｓ）は予め設定値として固定的に与えても良いし、レーザ距離計のように光学的な計測手段を設けても良い。また、撮影装置２Ａ（カメラ）のレンズ条件及びピント位置から距離を間接的に推測することも可能である。同様に、撮影装置２Ａ（カメラ）からバーコード１２までの距離も先に述べた方法で直接あるいは間接的に計測することが可能であるため、バーコード１２の位置情報を棚基準面における２次元座標上にマッピングするのみならず、３次元座標上にマッピングすることも可能である。
【００４８】
図１８は、第２実施形態のバーコード認識装置１Ａによりバーコードを読取る方法について示すフローチャートである。第２実施形態では、バーコード候補領域を粗探索する前段の処理（ＡｃｔＦ１〜Ｆ４）（粗探索処理Ｓ１）と、粗探索処理Ｓ１により検出されたバーコード位置情報に基づき、近傍領域を撮影して詳細探索を行う後段の処理（ＡｃｔＦ６〜Ｆ９）（詳細探索処理Ｓ２）の二段階に分けて撮影を行う。
【００４９】
ＣＰＵ６は、粗探索処理Ｓ１において、撮影装置２Ａの撮影方向（カメラ向き条件）を設定して撮影を実行し（ＡｃｔＦ２，Ｆ３）、撮影画像からバーコード画像（バーコード領域２２）を対象として探索を実行する（ＡｃｔＦ４）。ここでは、正確な探索ではなく、処理負担が軽いバーコード領域の候補を探索する粗探索を実行して、バーコード領域の候補とする場所を示すバーコード候補位置（位置／サイズ情報）をＲＡＭ７に記録しておく（ＡｃｔＦ５）。ＣＰＵ６は、撮影装置２Ａの撮影方向を変更しながら撮影し、それぞれの撮影画像から探索されバーコード領域の候補について、撮影バーコード候補位置を記録する（ＡｃｔＦ２〜Ｆ４）。
【００５０】
次に、ＣＰＵ６は、詳細探索処理Ｓ２において、撮影装置２Ａの撮影方向（カメラ向き）を、粗探索処理Ｓ１でのカメラ向き条件設定に応じて設定して撮影を実行する（ＡｃｔＦ６，Ｆ７）。ＣＰＵ６は、各バーコード領域の候補に対応する撮影バーコード候補位置を用いて、第１実施形態と同様にして、バーコード領域２２と文字領域２３とを対象としたバーコード情報の読取を実行する（ＡｃｔＦ９）。なお、ＡｃｔＦ９の処理は、図６の破線内に示す第１実施形態におけるＡｃｔＡ２〜Ａ１１の処理を実行するものとして説明を省略する。
【００５１】
こうして、第２実施形態では、粗探索処理Ｓ１によって探索されたバーコード候補位置を対象として、バーコード領域２２と文字領域２３を対象とする詳細探索処理Ｓ２を実行するので、撮影及び探索時間の効率化による処理時間の短縮を図ることができる。
【００５２】
また、第２実施形態では、ズーム（Ｚ）機能を備えたパン・チルト・ズームカメラ（ＰＴＺカメラ）を撮影装置２Ａとして用いることも可能である。この場合、粗探索処理Ｓ１において、粗探索に必要な品質のバーコード画像が得られるように、撮影装置２Ａに対してカメラズーム初期設定を実行して（ＡｃｔＦ１）、撮影を実行させる。また、ＣＰＵ６は、詳細探索処理Ｓ２において、粗探索処理Ｓ１よりも精細なバーコード画像が得られるようにカメラズーム設定をして撮影を実行させる（ＡｃｔＦ７）。すなわち、ズーム（Ｚ）撮影機能を利用することで、詳細探索処理Ｓ２において高精細のバーコード画像を対象としてバーコード情報を認識するので、認識精度の向上が期待できる。
【００５３】
図１９は、第２実施形態のバーコード認識装置１Ａによりバーコードを読取る第１の変形例について示すフローチャートである。図１９に示す処理は、図１８に示す処理を基本として、さらにバーコードが付される商品棚に関する商品棚マスター情報（プラノグラム）と、実際に撮影された画像から読み取られたバーコードの位置情報とを比較参照した結果をレポートとして出力する処理を設けている。商品棚マスター情報（プラノグラム）は、例えば商品棚割り計画のデータベースであり、商品棚の何れの位置にどの商品を収容するかなどを示す情報である。
【００５４】
ここでは、例えば商品棚に掲示されたバーコードの情報が大幅に変わらないことを前提として、定期的に複数回の棚情報照合処理を行うことを想定する。ＣＰＵ６は、商品棚に付されたバーコードのバーコード情報を初めて読取る場合、あるいは前回の読取結果をリセットして、再度、読取る場合には（ＡｃｔＧ１、Ｙｅｓ）、図１８に示す粗探索処理Ｓ１によりバーコード候補位置を検出して（ＡｃｔＧ２）、ＲＡＭ７にバーコード候補位置情報（Ｈ１）として記録する（ＡｃｔＧ３）。
【００５５】
ＣＰＵ６は、２回目以降の読取を実行する場合（ＡｃｔＧ１、Ｎｏ）、バーコード位置情報（Ｈ１）を参照して、図１８に示す詳細探索処理Ｓ２による情報取得処理を実行する（ＡｃｔＧ４）。ＡｃｔＧ４では、ＣＰＵ６は、対象領域の全撮影、粗探索処理Ｓ１（ＡｃｔＧ２）を実行せずに、後段のバーコード候補領域の撮影と詳細探索処理Ｓ２（ＡｃｔＧ４）を開始することが可能となる。
【００５６】
バーコード候補領域の撮影と情報取得処理（ＡｃｔＧ４）において、より適切なバーコード位置情報が得られた場合は、ＣＰＵ６は、バーコード位置情報をバーコード候補位置情報（Ｈ１）に書き込むことで更新処理を行う。一方、ＣＰＵ６は、バーコード候補領域の撮影と情報取得処理（ＡｃｔＧ４）の結果として得られたバーコード候補領域についてのバーコード位置・デコード情報をＲＡＭ７に記録しておく。
【００５７】
ＣＰＵ６は、バーコード位置・デコード情報と、商品棚マスター情報（プラノグラム）（Ｈ２）とを比較照合する棚情報照合処理を実行する（ＡｃｔＧ５）。棚情報照合処理では、ＣＰＵ６は、撮影した画像から読み取られたバーコード位置情報とバーコード情報とが、商品棚マスター情報と一致するかを判別する。一致すると判別された場合、ＣＰＵ６は、実際の商品棚の棚割りが正しく計画通りに行われていることを確認し、不一致部分について警告を表示し、その結果をまとめてレポート（Ｈ３）として出力する。
【００５８】
このようにして、バーコードの位置情報（バーコード位置・デコード情報）を検出することで、商品棚マスター情報との比較を可能とし、物品や棚の位置情報とバーコード情報との対応付けが必要な棚卸作業や検品作業を容易にすることができる。撮影装置２Ａは、設置した場所から全方位撮影をすることができるため、撮影装置２Ａの周囲の商品棚について自動に分析作業をすることができ、省人化・省力化が可能となる。
【００５９】
図２０は、第２実施形態のバーコード認識装置１Ａによりバーコードを読取る第２の変形例について示す図である。図２０では、複数台（図２０では２台）の撮影装置２Ａ，２Ｂを用いて、それぞれ共通する範囲を撮影する。図２０では、撮影装置２Ａと撮影装置２Ｂの設置位置の距離をＲとしている。バーコード認識装置１Ａは、第１のカメラ撮影位置である視点２８（撮影装置２Ａ）で撮影した撮影画像を対象として、前述した処理に基づきバーコード位置の探索とデコード処理を行った後、第２のカメラ撮影位置である視点２９（撮影装置２Ｂ）において、同様にバーコード位置の探索とデコード処理を行う。
【００６０】
このような処理を行うと、あるバーコード１２は、第１の視点２８に基づくローカル座標系（ｘ１，ｙ１，ｚ１）での位置座標（ｒ１，θ１，φ１）と、第２の視点２９に基づくローカル座標系（ｘ２，ｙ２，ｚ２）での位置座標（ｒ２，θ２，φ２）のうち、少なくとも単位球面座標上の成分（θ１，φ１）、（θ２，φ２）の値を求めることが可能である。ここで、第１の視点２８と、第２の視点２９の距離Ｒと方向が既知であれば、第２の視点２９の第１の視点２８に対する座標（ｘｃ，ｙｃ，ｚｃ）が分かるので、２つの視点におけるローカル座標で得られたバーコードの位置座標（θ１，φ１）、（θ２，φ２）の値から、例えば複数のバーコード１２における位置座標成分の組を用いて未知の距離成分ｒ１、ｒ２を求め、最終的にグローバル座標系におけるバーコードの３次元位置座標を求めることが可能となる。
【００６１】
ここでは、第１の視点２８と第２の視点２９の相対的な位置座標（ｘｃ，ｙｃ，ｚｃ）が既知であり、各々のローカル座標におけるバーコード１２の距離成分ｒ１、ｒ２が未知であるとしたが、撮影装置２Ａ，２Ｂ（カメラ）からバーコード１２までの距離ｒをカメラの撮影パラメータ、あるいはレーザ測距などの距離計測手段により既知とすることも可能であるから、複数のバーコード１２のローカル位置座標（ｒ１，θ１，φ１）と（ｒ２，θ２，φ２）の組から第２の視点２９の第１の視点２８に対する位置座標（ｘｃ，ｙｃ，ｚｃ）を求めることができる。すなわち、第２の視点２９の位置が未知であっても各々のバーコード１２の３次元位置座標を求めることも可能である。また、バーコード１２の距離成分ｒ１、ｒ２および位置座標（ｘｃ，ｙｃ，ｚｃ）が未知であっても多数のバーコード１２について２点間の（θ１，φ１）、（θ２，φ２）の位置座標の組から各々の３次元位置座標を同定することが可能である。
【００６２】
図２０に示した２点あるいは複数地点でのカメラ撮影方法としては、同種の撮影装置２Ａ，２Ｂを２台用いて撮影視野を一部重複させながら各々固定的な視点から撮影を行う方法と、１つの撮影装置２Ａを２つの視点間で移動させ、各々撮影する方法に大別される。前者の例としては、複数の監視カメラを天井に備えておき、各々の監視画像を用いてバーコード１２の探索とデコードを行う方法が挙げられる。また、後者の例としては、人為的に２つの撮影位置を都度与えて測定を行う方法の他に、自律移動ロボットや移動台車などの移動体にカメラを搭載し、一部の撮影範囲を重複させながら移動撮影を繰り返す方法が挙げられる。後者の場合には、２つ以上の視点、例えば３つの視点から同一のバーコードを撮影しておき、そのバーコードデコード情報あるいは周辺の画像情報から同一のバーコードであることを同定しつつ３組のローカル方向座標成分からグローバル座標系における３次元位置座標を求めることが可能となる。
【００６３】
こうして、複数位置において撮影された撮影画像を対象としてバーコードを読取り、バーコード位置を検出することにより、例えば倉庫や店舗などの空間内に、広範囲に複数配置されたバーコード１２を離れた位置から検知し、効率良くバーコード情報を読み取ることが可能なバーコード認識装置を提供することが可能となる。更に、バーコード情報の読み取りと共に、バーコードの空間内位置情報を得ることが可能な物品管理システムを提供することが可能となる。
【００６４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００６５】
また、前述した実施の形態において記載した処理は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記録媒体に書き込んで各種装置に提供することができる。また、通信媒体により伝送して各種装置に提供することも可能である。コンピュータは、記録媒体に記録されたプログラムを読み込み、または通信媒体を介してプログラムを受信し、このプログラムによって動作が制御されることにより、上述した処理を実行する。
【符号の説明】
【００６６】
１…バーコード認識装置、２…バーコード読取部、３…表示部、４…入力部、５…ＲＯＭ、６…ＣＰＵ、７…ＲＡＭ、８…通信部、９…Ｉ／Ｆ部。
【図１】
2020194594.tif 000004
【図２】
2020194594.tif 000005
【図３】
2020194594.tif 000006
【図４】
2020194594.tif 000007
【図５】
2020194594.tif 000008
【図６】
2020194594.tif 000009
【図７】
2020194594.tif 000010
【図８】
2020194594.tif 000011
【図９】
2020194594.tif 000012
【図１０】
2020194594.tif 000013
【図１１】
2020194594.tif 000014
【図１２】
2020194594.tif 000015
【図１３】
2020194594.tif 000016
【図１４】
2020194594.tif 000017
【図１５】
2020194594.tif 000018
【図１６】
2020194594.tif 000019
【図１７】
2020194594.tif 000020
【図１８】
2020194594.tif 000021
【図１９】
2020194594.tif 000022
【図２０】
2020194594.tif 000023
【手続補正書】
【提出日】令和2年9月1日(2020.9.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コード画像を撮影するための読取手段と、
前記読取手段により撮影されたコード画像から前記コード画像に含まれるコード領域と文字領域を検出する領域検出手段と、
前記コード領域から前記コード画像が表す第１コード情報を抽出する第１抽出手段と、
前記第１抽出手段による前記第１コード情報の抽出と並行して、前記文字領域から前記コード画像が表す第２コード情報を抽出する第２抽出手段と
を有するコード認識装置。
【請求項２】
前記第１コード情報と前記第２コード情報を統合する情報統合手段をさらに有する請求項１記載のコード認識装置。
【請求項３】
前記情報統合手段は、前記コード画像に対応して抽出された、前記第１コード情報と前記第２コード情報の何れか一方を出力する請求項２記載のコード認識装置。
【請求項４】
前記読取手段は、パン・チルト機能を備えたカメラによりコード画像を撮影し、
前記コード画像中の前記コード領域の位置と、前記パン・チルト機能により調整される前記カメラの向きを示すパン・チルト情報をもとに、前記コード画像の位置を検出する位置検出手段をさらに有する請求項１記載のコード認識装置。
【請求項５】
前記領域検出手段は、複数の異なる位置において前記読取手段によりそれぞれ撮影された複数のコード画像から前記コード領域を検出し、
前記位置検出手段は、前記複数の画像から検出された前記コード領域の位置と、前記複数のカメラの向きを示すパン・チルト情報をもとに、前記コード画像に相当するコードの３次元空間における位置を検出する請求項４記載のコード認識装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
実施形態によれば、コード認識装置は、読取手段、領域検出手段、第１抽出手段、第２抽出手段とを有する。読取手段は、コード画像を撮影する。領域検出手段は、前記読取手段により撮影されたコード画像から前記コード画像に含まれるコード領域と文字領域を検出する。第１抽出手段は、前記コード領域から前記コード画像が表す第１コード情報を抽出する。第２抽出手段は、前記第１抽出手段による前記第１コード情報の抽出と並行して、前記文字領域から前記コード画像が表す第２コード情報を抽出する。