(57)【要約】      （修正有）【課題】使用環境に応じて簡易に読取精度を向上させることができ、作業効率を向上させることのできるコード読取学習システムを提供する。【解決手段】学習部２５が、バーコードを復号するためのデコード閾値の基準値を教師データとし、教師データと抽出部２３により抽出されたスペース及びバーのデータとを比較して、それぞれ対応するデータの差分を算出し、差分を減少させるようにデコード閾値の基準値を更新する。【選択図】図２
2016151800.tif 000002
【特許請求の範囲】
【請求項１】
１次元バーコードを検知する検知部と、
前記検知部により検知された１次元バーコードを解析し、当該１次元バーコードのスペース及びバーのデータを抽出するコード抽出部と、
読取対象の１次元バーコードのスペース及びバーを復号するためのデコード閾値を記憶する記憶部と、
前記記憶部に記憶されているデコード閾値は基準値を有しており、当該基準値を教師データとし、当該教師データと前記コード抽出部により抽出されたスペース及びバーのデータとを比較して、それぞれ対応するデータの差分を算出し、当該差分を減少させるように前記記憶部のデコード閾値の基準値を更新する学習部と、
を備えるコード読取学習システム。
【請求項２】
前記教師データは、前記１次元バーコードのスペース及びバーの種類及び位置のいずれか一方又は両方に応じて、個別に前記デコード閾値を有することを特徴とする請求項１に記載のコード読取学習システム。
【請求項３】
前記学習部は、前記１次元バーコードのスペース及びバーの種類及び位置のいずれか一方又は両方に応じて、前記差分を減少させる度合いを個別に設定することを特徴とする請求項１又は２に記載のコード読取学習システム。
【請求項４】
複数の読取装置と、各々の前記読取装置と通信可能なサーバとを備え、
前記検知部は、前記読取装置に設けられ、
前記コード抽出部は、前記読取装置又は前記サーバに設けられ、
前記記憶部は、前記読取装置又は前記サーバに設けられ、
前記学習部は、前記サーバに設けられていることを特徴とする請求項１から３のいずれか一項に記載のコード読取学習システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１次元バーコードの読み取りについて学習を行うコード読取学習システムに関するものである。
【背景技術】
【０００２】
従来より、バーコードを解読して情報を取得するコード読取装置が知られている。バーコードは、例えば小売や物流、生産の現場において、物品の情報を管理するのに利用されている。
【０００３】
一般的にバーコードは、物品の表面に印刷されたり、バーコードを印刷したラベル等を物品に貼り付けることで、物品に付されているが、バーコードが印刷される物品やラベルの品質、バーコードを印刷するプリンタの印刷品質によっては、バーコードの形状が変化したり、バーコードが不鮮明となったりして、コード読取装置により正確に読み取れない場合がある。コード読取装置でバーコードを読み取れない場合には、使用者が手入力でバーコードの情報を入力する必要があり、作業効率が低下するという問題がある。
【０００４】
そこで、コード読取装置が、対象とするバーコードの情報を読み取れなかった場合には、当該バーコードを印刷するのに使用されたプリンタの印刷ヘッドに欠陥があると考え、スキャンされたバーコードデータと手入力されたバーコードデータとを比較して印刷ヘッドの欠陥箇所を識別し、当該欠陥箇所を将来のバーコードスキャンの修正のため保存しておく方法が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第4550262号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１のような技術ではプリンタの印刷ヘッドに欠陥があると考えて修正を行っているが、読み取りできない場合というのはこのような印刷品質に限られるものではなく、印刷面やラベルを貼る面が湾曲していたり、汚れていたり、使用者によるコード読取装置の使い方等、使用環境に応じて種々の原因が考えられる。しかしながら、このような種々の原因に対して個別に修正を行っていては多大の労力を必要として却って効率が悪化するおそれがある。
【０００７】
本発明はこのような問題を解決するためになされたもので、その目的とするところは、使用環境に応じて簡易に読取精度を向上させることができ、作業効率を向上させることのできるコード読取学習システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記した目的を達成するために、第１の発明に係るコード読取学習システムは、１次元バーコードを検知する検知部と、前記検知部により検知された１次元バーコードを解析し、当該１次元バーコードのスペース及びバーのデータを抽出するコード抽出部と、読取対象の１次元バーコードのスペース及びバーを復号するためのデコード閾値を記憶する記憶部と、前記記憶部に記憶されているデコード閾値は基準値を有しており、当該基準値を教師データとして、当該教師データと前記コード抽出部により抽出されたスペース及びバーのデータとを比較して、それぞれ対応するデータの差分を算出し、当該差分を減少させるように前記記憶部のデコード閾値の基準値を更新する学習部と、を備えている。
【０００９】
第２の発明に係るコード読取学習システムは、前記第１の発明において、前記教師データは、前記１次元バーコードのスペース及びバーの種類及び位置のいずれか一方又は両方に応じて、個別に前記デコード閾値を有することを特徴としている。
【００１０】
第３の発明に係るコード読取学習システムは、前記第１又は第２の発明において、前記学習部は、前記１次元バーコードのスペース及びバーの種類及び位置のいずれか一方又は両方に応じて、前記差分を減少させる度合いを個別に設定することを特徴としている。
【００１１】
第４の発明に係るコード読取学習システムは、前記第１から第３のいずれかの発明において、複数の読取装置と、各々の前記読取装置と通信可能なサーバとを備え、前記検知部は、前記読取装置に設けられ、前記コード抽出部は、前記読取装置又は前記サーバに設けられ、前記記憶部は、前記読取装置又は前記サーバに設けられ、前記学習部は、前記サーバに設けられていることを特徴としている。
【発明の効果】
【００１２】
上記手段を用いる本発明によれば、１次元バーコードのスペース及びバーのデコード閾値における基準値を教師データとして、当該教師データとコード抽出部により抽出されたスペース及びバーのデータとの差分を算出し、当該差分を減少させるようにデコード閾値の基準値を更新することで、デコード閾値は実際の使用環境に適合していくこととなる。これにより、使用環境に応じて簡易に読取精度を向上させることができ、作業効率を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態に係るコード読取学習システムを実現するコード読取装置の使用外観図である。
【図２】本発明の第１実施形態に係るコード読取学習システムの概略構成を示すブロック図である。
【図３】本発明の第１実施形態に係るコード読取装置の動作を示すフローチャートである。
【図４】第１実施形態におけるデコード閾値及び基準値についての説明図である。
【図５】第１実施形態における学習処理の説明図である。
【図６】本発明の第２実施形態に係るコード読取学習システムの概略構成を示すブロック図である。
【図７】本発明の第２実施形態に係るコード読取装置の動作を示すフローチャートである。
【図８】学習処理の（ａ）第１変形例及び（ｂ）第２変形例の説明図である。
【発明を実施するための形態】
【００１４】
以下、本発明に係るコード読取学習システムを図面に基づいて説明する。
【００１５】
まず第１実施形態におけるコード読取学習システムについて説明する。図１及び図２には、本発明の第１実施形態に係るコード読取学習システムの構成について示しており、以下これらの図に基づき説明する。
【００１６】
図１に示すように、第１実施形態のコード読取学習システムはコード読取装置１単体に適用されている。詳しくは、コード読取装置１は、使用者が手に持って使用するハンディターミナルのコード読取装置である。当該コード読取装置１は、例えば図１に示すバーコード３が印刷された伝票４を撮像して、バーコード３の読み取りを行うものである。なお、コード読取装置１の種類はこれに限られるものではなく、使用者の体に固定可能なウェアラブル式や、固定式であってもよい。ただし、本発明において読取対象とするバーコードは、複数のスペース及びバーをシンボルキャラクタとする１次元バーコードである。
【００１７】
コード読取装置１は、図２に示すように、主として検知部１１、撮像メモリ１２、二値画像メモリ１３、記憶部１４、表示部１５、操作部１６、トリガスイッチ１７、外部通信部１８、電源部１９、及び制御部２０を備えている。電源部１９を除いた各部は相互にデータ通信可能に接続されている。
【００１８】
詳しくは、検知部１１は、画像を撮像する撮像カメラ２１と照明２２とを含んでいる。撮像カメラ２１は例えばＣＯＭＳセンサを用いた二次元カメラであり、図１の破線で示すように、コード読取装置１から一方向に向けて矩形の撮像範囲を撮像する。照明２２は、暗所等でも撮像カメラ２１によりコードシンボルを鮮明に撮像すべく、撮像カメラ２１の撮像方向と同方向に投光し、撮像範囲を照らすものである。
【００１９】
撮像メモリ１２は、検知部１１の撮像カメラ２１で撮像した多値画像データを記憶する部分である。二値画像メモリ１３は、撮像メモリ１２に記憶されている多値画像データを二値化した二値画像データを記憶する部分である。なお、本実施形態では、白値（値０）と黒値（値１）の二値からなる二値画像データを用いるものとする。また、記憶部１４は、各種情報を保存する部分であり、例えば、バーコードを復号するのに用いるデコード閾値等が保存されている。当該デコード閾値は基準値を有しており、デコード閾値は基準値から一定の範囲を規定する値となる。例えば、デコード閾値の初期値は、読取対象とするバーコードの規格に応じて規定されており、規格において規定されている理想的なバーコードのスペース及びバーの幅（シンボルキャラクタ幅ともいう）を基準値とする。なお、このシンボルキャラクタ幅は正規化されて、各シンボルキャラクタの比率に基づいて復号が行われる。
【００２０】
表示部１５は、図１にも示すようにコード読取装置１のモニタであり、コード読取装置１の動作メニューの案内や、コード読取装置１の状態、コード読取結果等を文字や図表等で使用者に閲覧可能に表示する部分である。操作部１６は、図１に示すように複数のスイッチからなり、使用者が表示部１５の表示に従って選択指示操作を行ったり、情報を入力したりする部分である。なお、操作部１６はスイッチに限られずタッチパネルであってもよい。トリガスイッチ１７は、検知部１１における撮像の開始を指示するためのスイッチであり、例えば本実施形態では図１に示すように、コード読取装置１に設けられた押しボタン式のスイッチである。
【００２１】
外部通信部１８は、コード読取装置１と外部の管理サーバ等のコンピュータ装置との間で通信を行うためのものである。当該外部通信部１８における通信方式は特に限定されるものではなく、例えば有線、赤外線、無線方式等でよい。電源部１９は、一次電池又は二次電池からなり、コード読取装置１を動作するための電力源である。なお、外部から電力供給が行われる構成でもよい。
【００２２】
制御部２０は、コード読取装置１における演算処理を行うＣＰＵからなり、基本ソフト及びアプリケーションソフトのプログラムに従って動作制御を行う。
【００２３】
制御部２０には抽出部２３（コード抽出部）、復号部２４、学習部２５が含まれている。抽出部２３は、検知部１１にて撮像された画像内にある１次元バーコードを解析し、当該１次元バーコードのスペース及びバーのデータを抽出する。この１次元バーコードのスペース及びバーのデータとしては、例えばシンボルキャラクタ幅や各シンボルキャラクタの位置等の情報が含まれる。
【００２４】
復号部２４は、記憶部１４に記憶されているデコード閾値を用いて、抽出部２３にて抽出されたバーコードを復号（デコード）し、復号結果を表示部１５に表示したり、外部通信部１８を介して外部のコンピュータに送信したりする。
【００２５】
学習部２５は、復号部２４にて用いたデコード閾値の基準値を教師データとし、当該教師データと抽出部２３により抽出された各シンボルキャラクタ幅とを比較して、それぞれ対応するシンボルキャラクタ幅の差分を算出し、当該差分を減少させるように教師データ、即ち記憶部１４に記憶されているデコード閾値の基準値の更新を行う。
【００２６】
ここで図３を参照すると、コード読取装置１によるバーコード読み取りの動作フローが示されており、以下同フローに沿って、本実施形態のコード読取装置１の動作手順について説明する。
【００２７】
まず、ステップＳ１において、制御部２０は、コード読取装置１が工場出荷後初めて起動させた状態であるか否かを判別する。当該判別結果が真（Ｙｅｓ）である場合、即ち工場出荷後初めて起動（以下、初起動という）した場合は、ステップＳ２に進む。
【００２８】
ステップＳ２において、制御部２０は、コード読取装置１が初起動状態であるため、バーコードを復号するためのデコード閾値が何も設定されていないことから、デコード閾値の初期値として、記憶部１４から読取対象とするバーコードの規格に沿ったデコード閾値を取得とする。
【００２９】
一方、ステップＳ１において、初起動でなかった場合、即ち後述する学習処理が行われデコード閾値が更新されている場合には、ステップＳ３に進む。ステップＳ３において、制御部２０は、更新されたデコード閾値を記憶部１４から取得する。
【００３０】
ステップＳ２又はＳ３においてデコード閾値を取得した後、制御部２０はステップＳ４において、使用者のトリガスイッチ１７の操作に応じて検知部１１の撮像カメラ２１により画像の撮像を行なう。撮像された画像データは、まず撮像メモリ１２に記憶され、二値化されて後、二値画像メモリ１３に記憶される。
【００３１】
続くステップＳ５において、制御部２０の抽出部２３が二値画像データ内からバーコードを抽出できるか否かを判別する。当該判別結果が偽（Ｎｏ）である場合、即ち二値画像データからバーコードを抽出できなかった場合は、ステップＳ４に戻り再びトリガスイッチ１７が操作されるのを待つ。一方、当該判別結果が真（Ｙｅｓ）である場合、即ち抽出部２３がバーコードを抽出できた場合は次のステップＳ６に進む。
【００３２】
ステップＳ６において、制御部２０の復号部２４は、上記ステップＳ２又はＳ３において取得したデコード閾値を用いて、抽出されたバーコードの復号が可能であるか否かを判別する。当該判別結果が偽（Ｎｏ）である場合、即ちデコード閾値の範囲外にあるシンボルキャラクタが存在した場合には、復号に失敗したとしてステップＳ７に進む。
【００３３】
ステップＳ７において、制御部２０は、例えば表示部１５にエラー表示を出力し、使用者に手入力を促し、使用者による手入力が完了した後にステップＳ８に進む。
【００３４】
また、上記ステップＳ６の判別結果が真（Ｙｅｓ）である場合、即ち抽出したバーコードの復号に成功した場合にも、ステップＳ８に進む。
【００３５】
ステップＳ８においては、制御部２０は復号結果又は手入力された結果を表示部１５または外部通信部１８に出力してステップＳ９に進む。
【００３６】
ステップＳ９では、制御部２０の学習部２５が、ステップＳ６で用いたデコード閾値の基準値を教師データとした学習処理を行い、当該ルーチンをリターンする。
【００３７】
ここで、図４、５を参照すると、図４には本実施形態におけるデコード閾値及び基準値についての説明図が示され、図５には本実施形態における学習処理の説明図が示されており、これらの図に基づきステップＳ９にて学習部２５が行う学習処理についてより詳しく説明する。
【００３８】
まず図４に示すバーコード３ａは、細いスペースと太いスペース及び細いバーと太いバーの４種類のシンボルキャラクタと、バーコード識別のため両端部に配置されるレフトマージン及びライトマージン（併せて余白マージンともいう）とを有するバーコード規格からなる。なお、バーコード規格はこのような形式に限られず、例えばスペースとバーがそれぞれ３種類以上あるバーコード規格にも本発明は適用可能である。また、図４、５では説明を簡略化するため、シンボルキャラクタの数や幅は実際に存在する規格に沿うものとは限らない。
【００３９】
図４において例示しているバーコード３ａは、シンボルキャラクタの幅が全て規格通りの理想的なバーコードである。つまり、当該バーコード３ａの各シンボルキャラクタ幅及び余白マージン幅は、規格に沿ったデコード閾値の基準値である。以下では、この各基準値を、レフトマージン幅はαｌ、ライトマージン幅はαｒ、細スペース幅はβｓ、細バー幅はβｂ、太スペース幅はγｓ、太バー幅はγｂとする。この規格に沿った各基準値は記憶部１４に予め記憶されており、上述のステップＳ２のように初起動時には制御部２０は当該基準値を教師データの初期値として取得する。
【００４０】
そして、デコード閾値は各シンボルキャラクタの基準値に対して一定範囲を設けるように設定されている。例えば図４に示すように、レフトマージンのデコード閾値αｌＴＨは基準値αｌより大きい任意の値αｌＴＨ（αｌＴＨ＞αｌ）とし、ライトマージンのデコード閾値は基準値αｒより大きい任意の値のαｒＴＨ（αｒＴＨ＞αｒ）とする。抽出部２３は、これらの余白マージンのデコード閾値以内の余白マージン幅を持つものを読取対象のバーコードとして識別し、これらの余白マージン間にある各シンボルキャラクタのデータを抽出する。
【００４１】
また、細スペースのデコード閾値βｓＴＨは下限を０．５βｓ、上限をβｓ＋０．５（γｓ−βｓ）とする範囲であり、細バーのデコード閾値βｂＴＨは下限を０．５βｂ、上限をβｂ＋０．５（γｂ−βｂ）とする範囲、太スペースのデコード閾値γｓＴＨは下限をβｓ＋０．５（γｓ−βｓ）、上限を１．５γｓとする範囲γｓＴＨ、太バーのデコード閾値γｂＴＨは下限をβｂ＋０．５（γｂ−βｂ）、上限を１．５γｂとする範囲とする。復号部２４は抽出されたバーコードの中でデコード閾値内にあるシンボルキャラクタを判定していくことで復号を行う。
【００４２】
図５では、教師データ及び抽出データそれぞれの二値化データの例が示されている。図５に示されているように、教師データは図４に示した規格に沿ったバーコードの二値化データと同じであり、抽出データは余白マージン及び各シンボルキャラクタの幅が教師データに対して誤差が生じている。この誤差が各デコード閾値の範囲内にある場合には、復号部２４による復号が可能となる。
【００４３】
そして、本実施形態における学習部２５による学習処理では、各余白マージン及び各シンボルキャラクタにおいて、教師データと抽出データの差分を算出する。複数あるシンボルキャラクタについては、それぞれの差分を全て加算して同種類のシンボルキャラクタの数で除算することで平均値を算出する。そして、この平均値に任意の収束係数Ｋを乗算した値を今回用いた教師データに加算することで、教師データの更新を行う。当該収束係数Ｋは０＜Ｋ≦１の範囲で任意に設定され、値が大きいほど差分を減少させる度合い、即ち学習の反映度合いが大きくなる。
【００４４】
具体的には、図５に示す抽出データでは細バーがβｂ１〜βｂ５の５つあり、これらそれぞれに対して対応する教師データβｂとの差分を算出し、その平均値に対して収束係数Ｋを乗算した値を教師データβｂに加算することで細バーの教師データの更新を行っている（βｂ←βｂ+Ｋ×｛（βｂ−βｂ１）+（βｂ−βｂ２）+（βｂ−βｂ３）+（βｂ−βｂ４）+（βｂ−βｂ５）}／５）。その他のシンボルキャラクタについても同様であり、説明は省略する。
【００４５】
また、上述のステップＳ６で抽出データからの復号に失敗した場合には、ステップＳ７において手入力されたデータに基づいて教師データの更新を行う。例えば、図５において、第１の細バーβｂ１が細バーのデコード閾値βｂＴＨの範囲外であり、当該シンボルキャラクタの復号が不可能であった場合は、手入力で入力された値から第１の細バーβｂ１の幅を補正して、この補正した第１の細バーβｂ１の値を用いて、教師データの更新を行う。
【００４６】
このようにして教師データの更新を繰り返し行っていくことで、抽出されるバーコードの各シンボルキャラクタと教師データとの差分は減少していく。例えば、プリンタの印刷品質に問題がある場合や、印刷面に凹凸があったり、湾曲していたり、汚れが生じていたりする場合や、使用者による使い方に癖がある場合で、一部のシンボルキャラクタの幅が規定の幅より狭まる又は拡がる傾向があったとしても、上述のような学習処理を行うことで教師データは使用環境に適合した値となっていくこととなる。これにより、復号不可能となる原因によらずに、バーコードの読取精度を向上させることができ、手入力を行う頻度を減少させることができる。
【００４７】
従って、本実施形態におけるコード読取学習システムによれば、上述のような学習処理を実行可能なコード読取装置１によって、使用環境に応じて簡易に読取精度を向上させることができ、作業効率を向上させることができる。
【００４８】
次に本発明の第２実施形態について説明する。図６を参照すると、第２実施形態に係るコード読取学習システムの概略構成図が示されており、以下同図に基づき説明する。
【００４９】
上述した第１実施形態におけるコード読取学習システムはコード読取装置１単体でバーコードの読み取りから学習処理までを行っているが、第２実施形態におけるコード読取学習システムは、直接バーコードを読み取るコード読取装置３０と、当該コード読取装置３０から情報を受け取って学習処理を行う管理サーバ５０と、から構成されている。
【００５０】
コード読取装置３０は、第１実施形態と同様に、検知部３１、撮像メモリ３２、二値画像メモリ３３、記憶部３４、表示部３５、操作部３６、トリガスイッチ３７、外部通信部３８、電源部３９、及び制御部４０を備えている。なお、検知部３１の撮像カメラ及び証明は図示を省略している。
【００５１】
第１実施形態と異なる部分は制御部であり、第２実施形態の制御部４０は抽出部４１、復号部４２を含むが、学習部を備えていない。その他の各部の機能は第１実施形態と同様であり、説明を省略する。
【００５２】
一方、管理サーバ５０には、学習部５１が含まれており、当該学習部５１の機能は第１実施形態と同様であり、説明を省略する。そして管理サーバ５０は外部通信部５２を備えており、当該外部通信部５２を介して複数のコード読取装置３０と通信可能に接続されている。
【００５３】
ここで図３を参照すると、第２実施形態のコード読取装置３０及び管理サーバ５０によるバーコード読み取りの動作フローが示されており、以下同フローに沿って、本実施形態のコード読取装置３０及び管理サーバ５０の動作手順について説明する。
【００５４】
まず、ステップＳ１１において、コード読取装置３０の制御部４０が、コード読取装置３０が初起動状態であるか否かを判別する。当該判別結果が真（Ｙｅｓ）である場合は、ステップＳ１２に進む。
【００５５】
ステップＳ１２において、コード読取装置３０の制御部４０がデコード閾値の初期値として、記憶部３４から読取対象とするバーコードの規格に沿ったデコード閾値を取得とする。
【００５６】
一方、ステップＳ１１において、初起動でなかった場合には、ステップＳ１３に進む。ステップＳ１３において、コード読取装置３０は、更新されたデコード閾値を記憶部３４から取得する。ここでの更新されたデコード閾値は、管理サーバ５０の学習部５１において更新されたデコード閾値であり、当該管理サーバ５０から互いの外部通信部３８、５２を介して記憶部３４に記憶されたものである。
【００５７】
ステップＳ１４〜Ｓ１７の画像撮像から結果表示までのバーコード読み取り動作は、第１実施形態のステップＳ４〜Ｓ７と同様であり、説明を省略する。
ステップＳ１８では、コード読取装置３０の制御部４０が復号結果又は手入力された結果を、表示部３５に出力するとともに外部通信部３８を介して管理サーバ５０にも出力する。
【００５８】
そして、ステップＳ１９では、管理サーバ５０の学習部５１が、デコード閾値の基準値を教師データとした学習処理を行い、当該ルーチンをリターンする。ここで、当該学習処理により更新された教師データ、即ちデコード閾値の基準値は管理サーバ５０から外部通信部５２、３８を介して各コード読取装置３０に配信され、各コード読取装置３０の記憶部３４に保存されているデコード閾値の基準値を更新する。なお、学習処理の具体的な内容は、第１実施形態と同様であり、説明を省略する。
【００５９】
以上のように、第２実施形態におけるコード読取学習システムは学習処理を管理サーバ５０側で行うこととしている。これにより、各コード読取装置３０から抽出データを収集し、学習処理により更新したデコード閾値の基準値を同じ環境下にある各コード読取装置３０に反映させることができる。管理サーバ５０には複数の抽出データが短時間で集まることから学習処理の進行も速まり、早期に各コード読取装置３０の精度を向上させることができ、作業効率をより向上させることができる。
【００６０】
以上で本発明に係るコード読取学習システムの実施形態についての説明を終えるが、実施形態は上記実施形態に限られるものではない。
【００６１】
上記各実施形態における学習処理では、図５で示したようにシンボルキャラクタ毎に種類に応じた教師データとの差分の平均値を求めて収束係数Ｋを乗算させて教師データの更新を行っているが、学習処理の具体的方法はこれに限られるものではない。
【００６２】
ここで、図８を参照すると学習処理の（ａ）第１変形例及び（ｂ）第２変形例が示されており、同図に基づき学習処理の他の方法について説明する。
【００６３】
図８（ａ）に示す第１変形例では、シンボルキャラクタの種類毎且つ位置毎それぞれに教師データを設けることとしている。例えば図８（ａ）では、細バーについての教師データを、図示左側から右側へと順にβｂａ、βｂｂ、βｂｃ、βｂｄ、βｂｅの５つ有している。
【００６４】
そして、これらの教師データに対して、種類及び位置が対応する抽出データとの差分を求め、その差分に収束係数Ｋを乗算した値を教師データに加算することで、教師データの更新を行う。例えば、最も左側の細バーの教師データがβｂａであれば、対応する抽出データはβｂ１となり、更新する教師データはβｂａ+Ｋ×（βｂａ−βｂ１）となる。
【００６５】
このようにシンボルキャラクタの種類毎及び位置毎に学習処理を行うことで、より精度の高い学習を行うことができる。
【００６６】
次に図８（ｂ）に示す第２変形例では、シンボルキャラクタの種類毎且つ範囲毎に教師データを設けることとしている。例えば図８（ｂ）では、図示左側から右側へと順に第１範囲、第２範囲、第３範囲に区分けし、それぞれの範囲に対応して教師データを有している。例えば、細バーの教師データは第１範囲はβｂａ、第２範囲はβｂｂ、第３範囲はβｂｃとしている。
【００６７】
そして、各範囲の教師データに対して、対応する範囲内にある抽出データとの差分を求め、その差分に収束係数Ｋを乗算した値を教師データに加算することで、教師データの更新を行う。なお、範囲内に対応するシンボルキャラクタが複数ある場合には、差分の平均値に収束係数Ｋを乗算する。例えば、第１範囲の細バーについてはβｂ１〜βｂ３の３つあることから、教師データの更新はβｂａ+Ｋ×｛（βｂａ−βｂ１）＋（βｂａ−βｂ２）＋（βｂａ−βｂ３）｝／３となる。一方、第２範囲及び第３範囲では細バーがβｂ４、βｂ５のそれぞれ１つなので、当該範囲の教師データの更新はβｂｂ+Ｋ×（βｂｂ−βｂ４）、βｂｃ+Ｋ×（βｂｃ−βｂ５）となる。
【００６８】
このようにシンボルキャラクタの種類毎且つ範囲毎に学習処理を行うことで、演算処理の量を極力抑えつつ、学習精度を向上させることができる。この変形例は例えば、缶等のようにバーコードの印刷面が湾曲し、中央部と端部とで誤差範囲が異なる場合に有効である。
【００６９】
また、上記各実施形態及び変形例では収束係数Ｋを任意の一定値としているが、収束係数Ｋをシンボルキャラクタの種類及び位置のいずれか一方又は両方に応じて、個別に設定してもよい。例えば復号に失敗した位置のシンボルキャラクタについては収束係数Ｋの値を大きくするよう動的に可変させることで、復号に失敗した部分についての学習速度を早くすることができる。
【００７０】
また、上記各実施形態におけるコード読取装置１、３０では、検知部３１の撮像カメラ（ＣＭＯＳセンサ）によりバーコードを撮像することでバーコードを検知しているが、検知部は１次元バーコードを検知できる手段であればよく、例えばレーザやＣＣＤを使用するものであってもよい。
【符号の説明】
【００７１】
１、３０  コード読取装置
１１、３１  検知部
１２、３２  撮像メモリ
１３、３３  二値画像メモリ
１４、３４  記憶部
２０、４０  制御部
２３、４１  抽出部
２４、４２  復号部
２５、５１  学習部
５０  管理サーバ
【図１】
2016151800.tif 000003
【図２】
2016151800.tif 000004
【図３】
2016151800.tif 000005
【図４】
2016151800.tif 000006
【図５】
2016151800.tif 000007
【図６】
2016151800.tif 000008
【図７】
2016151800.tif 000009
【図８】
2016151800.tif 000010