JP6434118B2 - 光学的情報読取装置、光学的情報読取方法およびプログラム - Google Patents

光学的情報読取装置、光学的情報読取方法およびプログラム Download PDF

Info

Publication number
JP6434118B2
JP6434118B2 JP2017251206A JP2017251206A JP6434118B2 JP 6434118 B2 JP6434118 B2 JP 6434118B2 JP 2017251206 A JP2017251206 A JP 2017251206A JP 2017251206 A JP2017251206 A JP 2017251206A JP 6434118 B2 JP6434118 B2 JP 6434118B2
Authority
JP
Japan
Prior art keywords
bank
code
reading
expansion
decoding
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
JP2017251206A
Other languages
English (en)
Other versions
JP2018045735A (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.)
Keyence Corp
Original Assignee
Keyence 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 Keyence Corp filed Critical Keyence Corp
Priority to JP2017251206A priority Critical patent/JP6434118B2/ja
Publication of JP2018045735A publication Critical patent/JP2018045735A/ja
Application granted granted Critical
Publication of JP6434118B2 publication Critical patent/JP6434118B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Input (AREA)

Description

本発明は情報を光学的に読み取る光学的情報読取装置等に関する。
バーコードやQRコード(登録商標)などの2次元コードを読み取る2次元コードリーダ(以下、リーダと称す。)は広く普及している。このようなリーダの一例が特許文献1に記載されている。
特開2011−76519号公報
2次元コードの読み取り成功率はワークの表面性質や2次元コードをマーキングするプリンタや刻印器の状態に依存する。そのため、実際にワーク(生産品)を読み取って読取条件(例:明るさ、露光時間などの撮影条件や画像処理フィルタの使用の有無などの画像処理条件)を調整する必要がある。このように各ワークごとに読取条件を適切に調整する処理をチューニングと呼ぶ。チューニングはワークを搬送するラインを稼働させる前に予め実行され、これにより読取条件が確定する。
しかし、工場では多数のワークを生産するため、徐々に2次元コードの濃度が薄くなってくることがある。また、鋳物の表面に2次元コードを打刻する場合には、打刻に用いるドットピーンの先端が徐々に摩耗し、2次元コードの打刻精度が低下することもある。また、外光が入射する環境では外光の影響が時刻に応じて変化する。このような場合には読取条件の再チューニングが必要になるが、これはラインを停止させないと実行できないため、生産効率の低下を招く。
そこで、本発明は、再度のチューニングを実行することなく、ワークに付与されたコードの読み取り精度を向上させることを目的とする。
本発明によれば、たとえば、
ワークに設けられたコードを撮像する撮像手段と、
前記撮像手段により取得された画像データをデコードするデコード手段と、
前記撮像手段の撮像条件と前記デコード手段における画像処理条件とを含む読取条件を制御する読取条件制御手段とを有し、
前記読取条件制御手段は、
基準バンクを決定するチューニングモードにおいて、基準となるワークに設けられたコードを前記撮像手段に撮像させ、前記撮像手段により取得された前記コードの画像データを前記デコード手段にデコードさせ、前記デコード手段のデコード結果に基づき、前記読取条件を構成する複数のパラメータのセットである基準バンクを決定する決定手段と、
前記基準バンクを構成している複数のパラメータのうちの少なくともいくつかのパラメータを、予め定められた調整ルールにしたがって調整することで拡張バンクを生成する生成手段と
を有し、
前記拡張バンクは、ラインを搬送される複数のワークについて前記基準バンクを用いてコードを読み取る運用モードにおいて前記基準バンクを用いて取得されたデコード結果が前記コードの読み取り失敗であると、前記基準バンクに代えて前記撮像手段および前記デコード手段によって使用されることを特徴とする光学的情報読取装置が提供される。
本発明によれば、再度のチューニングを実行することなく、ワークに付与されたコードの読み取り精度を向上させることができる。
光学的情報読取装置を示す図 光学的情報読取装置の構造を示す図 画像表示装置の支持構造を示す図 光学的情報読取装置の表示および操作パネルを示す図 光学的情報読取装置の電気的な構成を示す図 光学的情報読取装置に接続されるコンピュータを示す図 偏光フィルタの形状の一例を示す図 偏光フィルタの形状の一例を示す図 基準バンクにおける明るさレベルと拡張バンクにおける明るさレベルとの関係を示す図 コードの変化と読み取り結果の一例を示す図 拡張バンクの生成方法の一例を示す図 拡張バンクの生成方法の一例を示すフローチャート 拡張バンクに設定される明るさレベルと偏光フィルタとの関係を説明する図
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
図1はリーダシステム(光学的情報読取装置)の一例を示す図である。ライン1は検査対象物であるワーク2を搬送する搬送ベルトなどである。リーダ3は2次元コードを読み取ってデコードする2次元コードリーダである。なお、リーダ3自体も狭義の光学的情報読取装置である。プログラマブル・ロジック・コントローラ(PLC5)はライン1やリーダ3を制御する制御装置である。コンピュータ4はリーダ3に対して動作条件などを設定したり、リーダ3からデコード結果などを取得して表示したりする情報処理装置である。
<リーダ3の構造>
図2(A)はリーダ3の斜視図であり、図2(B)は主要部品の展開図である。リーダ3の形状は略直方体であるため、筐体外面は概ね6つの面を有している。図2(B)が示すようにフロントケース10には4つの開口が設けられている。頂面側の開口にはホルダー13と、ホルダー13によって支持される画像表示装置14と、画像表示装置14をカバーするように配置される表示パネル15と、メインシート16が設けられる。フロントケース10の前面側の開口には透光性を有する窓部11と、フロントカバー12とが設けられる。とりわけ、本実施形態では窓部11の一部に偏光フィルタが設けられる。フロントケース10の背面側の開口から、リフレクタ17と照明基板18とが挿入され、リアケース19によってふたをされる。リアケース19には、メイン基板21と、メイン基板21に固定された光学系50およびAF機構51が設けられている。リフレクタ17は、照明基板18に設けられた発光素子からの光を効率よく前方に照射するための構造部品である。リフレクタ17には、照明用の発光素子からの光を前方に集光して照射するためのコーン(円錐台)型の集光部176〜179と、ポインタ用の発光素子からの光を前方に集光して照射するためのコーン型の集光部175とが設けられている。これらには集光効率を高めるために金メッキ等が施されている。フロントケース10の下面側に開口にはコネクタホルダ20が取り付けられる。コネクタホルダ20には2本の通信ケーブルが接続されており、それぞれコンピュータ4とPLC5とに接続される。コネクタホルダ20にはコネクタ基板が取り付けられている。
図3(A)〜図3(C)はホルダー13の周辺の構造を説明するための図である。図3(A)や図3(B)が示すようにホルダー13は画像表示装置14を支持する支持部材である。照明基板18は、ホルダー13に対して直交した方向に延在し、ホルダー13に係合してホルダー13を支持する。つまり、ホルダー13はフロントケース10の上面に対して平行に設けられており、照明基板18はフロントケース10の前面と平行に設けられており、両者は直交している。なお、ホルダー13の下面側には溝131が設けられており、溝131に照明基板18の端部が嵌合することで、ホルダー13を照明基板18に対してしっかりと固定してもよい。このようなホルダー13を採用することで画像表示装置14を取り付ける回路基板を不要とすることができる。
図3(A)や図3(C)が示すように、照明基板18には、画像表示装置14の表示面と同じ側に押圧面が存在する押しボタン型のスイッチ24、25が配置されていてもよい。ホルダー13と一体に構成された押圧部材22、23によって、それぞれスイッチ24、25が押圧され、それぞれの接点が閉じるように構成されていてもよい。スイッチ24、25の押圧方向と、ホルダー13を指示する照明基板18の長さ方向とが一致しているため、スイッチ24、25を押圧してもホルダー13が撓みにくい。押圧部材22はホルダー13の主体から延びる弾性の腕部39aによって支持されている。同様に、押圧部材23はホルダー13の主体から延びる弾性の腕部39bによって支持されている。押し下げられた押圧部材22、23は腕部39a、39bの弾性によって元の位置に復帰する。腕部39a、39bはホルダー13と一体構成型されているため、ばね等の復帰用の追加部材を省略できる利点がある。
図3(A)や図3(B)が示すように、照明基板18には、撮像素子31に対応して設けられる光学系モジュール(光学系50やAF機構51など)を実装するための円形の開口部33が設けられている。開口部33の周囲には照明用の4つの発光素子26〜29が設けられている。図3(A)が示すように、照明基板18とホルダー13との係合部の付近にはインジケータとして機能する1つまたは複数の発光素子32が設けられている。発光素子32の光がフロントケース10の上面から外部に出力されるように、ホルダー13に導光用の開口部34が設けられている。つまり、2つのスイッチ24、25の間にインジケータが配置されている。図3(C)が示すように開口部34の四方は遮光壁36a〜36dで囲まれているため、インジケータの光が画像表示装置14の方へ漏れにくくなっている。ホルダー13には画像表示装置14を収容するための収容溝37が設けられている。また収容溝37の底部には画像表示装置14の信号ケーブルを通すための穴部38が設けられている。
図3(B)が示すようにメイン基板21には撮像素子31が配置されている。図3(B)が示すように照明基板18にはポインタ用の光を出力する発光素子35が配置されている。上述したようにリフレクタ17には、発光素子35用の集光部175に加え、発光素子26〜29用の集光部176〜179が設けられている。集光部175〜179はコーン型の形状であり、コーンの頂上側の開口から光が入射し、底面側から出射する。
図4はメインシート16を示す図である。メインシート16の中央部には画像表示装置14の表示面40が設けられている。メインシート16の下部にはセレクトキー42、インジケータ44、エンターキー43が設けられている。セレクトキー42は、上述したスイッチ24と押圧部材22によって構成されている。エンターキー43は、上述したスイッチ25と押圧部材23によって構成されている。インジケータ44は、2つの発光素子32によって構成されており、たとえば、2次元コードの読み取りが成功すると緑色の発光素子が点灯し、2次元コードの読み取りが失敗すると赤色の発光素子が点灯する。なお、画像表示装置14は撮像素子31によって取得した画像(静止画または動画)に加え、セレクトキー42とエンターキー43の割り当てをユーザに示唆する画像(図4のSELとMENU(ただしENTと表示されることもある))を表示してもよい。
<制御ユニット>
図5はリーダ3の電子的な構成を示すブロック図である。リーダ3のカメラ部(撮像手段)は、撮像素子31、光学系50、AF機構51、照明部52などを有している。撮像素子31は光学系50を通して結像した2次元コードの画像を電気的な信号に変換するCCDやCMOS等のイメージセンサである。AF機構51は光学系50のうち合焦用のレンズの位置や屈折率を調整する機構である。AF機構51と光学系50は、図3(B)において撮像素子31と開口部33との間に配置される。AF機構51と光学系50は一体化されて光学系モジュールを構成していてもよい。
照明部52は1つ以上の発光素子を有し、2次元コードを照明するユニットである。照明部52は、たとえば、照明用の発光素子26〜29やポインタ用の発光素子35を有している。ポインタの光は光学系50の光軸の目安となり、ユーザはポインタの位置を参照してワーク2を正しい位置に設置してもよい。
デコード部53は撮像素子31によって取得された2次元コードの画像データ72をデコードしてデコード結果71を記憶部70に書き込むユニットである。通信部54はPLC5やコンピュータ4と通信するユニットである。通信部54は、たとえば、PLC5と通信するI/O部、RS232Cなどのシリアル通信部、無線LANや有線LANなどのネットワーク通信部などを備えていてもよい。
表示部55は画像表示装置14やインジケータ用の発光素子32を備えている。表示部55は、たとえば、2次元コードのデコード結果71である文字列、読み取り成功率(複数回読み取り処理を実行したときの平均読み取り成功率)、マッチングレベル(読み取りのしやすさを示す読取余裕度)、PPC(2次元コードを構成する1つのセルが画像データにおいていくつの画素に相当するかを示す値:ピクセル・パー・セル)などを表示してもよい。入力部56はスイッチなどの入力操作を受け付けるユニットであり、セレクトキー42やエンターキー43を備えている。
制御ユニット60はリーダ3の各部を統括的に制御するユニットである。とりわけ、制御ユニット60は撮像素子31の撮像条件とデコード部53における画像処理条件とを含む読取条件を制御する読取条件制御手段として機能する。制御ユニット60は様々な機能を搭載しているが、これらは論理回路により実現されてもよいし、ソフトウエアを実行することによって実現されてもよい。オートフォーカス制御部(AF制御部)61はAF機構51を制御するユニットである。撮像制御部62は照明部52の照明光の光量を制御したり、撮像素子31の露光時間(シャッタースピード)を制御したりするユニットである。とりわけ、撮像制御部62は、チューニング部65や演算部63からの指示に応じて照明部52の複数の発光素子のうちどれを点灯させるかを制御する点灯制御手段として機能する。
演算部63は様々な演算処理を実行する。たとえば、演算部63はデコード結果や画像データなどを用いて、読み取り成功率やマッチングレベル、PPCを演算する。もちろんこれらの演算は、デコード部53やチューニング部65など、演算部63以外のユニットで実行されてもよい。
チューニング部65は、読取条件を制御する読取条件制御手段または照明条件を決定する条件決定手段として機能する。読取条件は、たとえば、露光時間や照明光量、ゲインなどの撮像条件やデコード部53における画像処理条件(フィルタの係数など)である。ライン1を搬送されるワーク2に対する外光の影響などで適切な撮像条件や画像処理条件は変化する。よって、チューニング部65は、より適切な読取条件を探索する。つまり、チューニング部65は、チューニングモードにおいて読取条件のチューニングを実行して決定したパラメータのセットを基準バンク74として記憶部70に格納する。演算部63はチューニングモードから運用モードに遷移すると、基準バンク74を記憶部70から読み出して、AF制御部61や撮像制御部62、デコード部53に設定する。なお、演算部63は、基準バンク74が決定されると、記憶部70から調整ルール76を読み出し、調整ルール76にしたがって基準バンク74に含まれているパラメータを調整(修正)し、いくつかの拡張バンク75を生成する。運用モードにおいて基準バンク74を用いて2次元コードを読み取っていると、上述したようにマッチングレベルが所定の閾値よりも低下しうる。また、2次元コードを読み取りに失敗することもある。そこで、マッチングレベルが閾値未満になったり、読み取りに失敗したりすると、演算部63は、基準バンク74に代えて拡張バンク75を撮像制御部62やデコード部53に適用する。なお、チューニングモードとは、基準バンクを決定するモードである。運用モードは、ライン1を搬送される複数のワーク2について基準バンク74または拡張バンク75を用いて2次元コードを読み取るモードである。つまり、運用モードでは、工場で実際に生産されたワーク2の2次元コードが読み取られる。拡張バンク75は予め複数用意される必要はなく、複数の調整ルール76が用意されていれば十分である。つまり、基準バンク74での読み取りに失敗すると、演算部63は、即座に調整ルール76を読み出して拡張バンク75を作成し、撮像制御部62やデコード部53に設定してもよい。なお、拡張バンク75には変更されたパラメータだけが登録され、変更されないパラメータについて基準バンク74から読み出されてもよい。
UI管理部66は、画像表示装置14に画像データを表示したり、入力部56からのユーザ指示を受け付けたり、インジケータの点灯を制御したりするユニットである。UI管理部66は、たとえば、図4に示したようなユーザインタフェースを表示部55の画像表示装置14に表示する。チューニングモードと運用モードの切り替えは、このユーザインタフェースを通じてユーザによって指示されてもよい。
記憶部70は、メモリなどの記憶装置であり、デコード部53によって取得されたデコード結果71、撮像素子31によって取得された画像データ72、コンピュータ4などの設定装置によってリーダ3に設定されたデータや入力部56により設定されたデータである設定データ73などを記憶する。設定データ73には、基準バンク74や拡張バンク75などが含まれている。記憶部70には基準バンク74から拡張バンク75を生成するための調整ルール76が記憶されていてもよい。
図6はコンピュータ4の機能を示すブロック図である。リーダ3を小型化すると、リーダ3の表示部55や入力部56だけではリーダ3のすべての機能を設定することが難しくなる。そこで、一部の設定データ73についてはコンピュータ4で作成してリーダ3に転送してもよい。CPU80は記憶部90に記憶されているプログラムに基づきコンピュータ4が備えている各部を制御するユニットである。演算部81の一機能であるUI制御部83はリーダ3の撮像条件(とりわけ、偏光フィルタの付与された発光素子を使用するか否か)などを設定するためのユーザインタフェースやリーダ3が出力するデコード結果71、画像データ72などを表示するためのユーザインタフェースを生成し、表示部84に表示させる。演算部81は様々な演算を実行するユニットである。通信部86はリーダ3の通信部54と有線または無線で接続し、デコード結果71や画像データ72を受信したり、設定部82で生成された設定データ73を送信したりする。記憶部90は、メモリやハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)などである。
<照明モード(偏光モードと無偏光モード)>
本実施形態ではユーザの設置負担を軽減でき、かつ、様々なワークに付与されたコードを精度よく読み取り可能とするために、複数の照明手段を設け、第一照明手段には偏光フィルタを配置し、第二照明手段には偏光フィルタを配置しない。そして、第一照明手段と第二照明手段とをワーク2に応じて使い分ける。これによりユーザはリーダ3の設置角度をワークごとに調整する手間を省けるようになる。とりわけ、偏光フィルタはハレーションの除去に有効である。
上述したようにワーク2に対してリーダ3を正面取り付けすると、撮像素子31にはワーク2からの正反射光が大量に入射しやすくなる。これはワーク2上での2次元コードの設置面が平滑な面である場合に発生しやすく、2次元コードのデコードを失敗させる原因となる。正反射光を削減する手段として、撮像素子31と照明部52とにそれぞれ偏光方向の異なる偏光フィルタを配置することが考えられる。しかし、照明部52の全体を偏光フィルタで覆ってしまうと、鋳物の表面にダイレクト・パーツ・マーキングされた2次元コードを精度よく読み取れなくなってしまう。つまり、鋳肌に印刷または刻印された2次元コードは照明部52に偏光フィルタを設けない方が、読取精度が高い。このように、ワーク2の表面や2次元コードの付与方法に応じて、偏光フィルタを設けた方が適していたり、偏光フィルタを設けない方が適していたりする。また、偏光フィルタを設けると、発光側の偏光フィルタで光量が1/2に減衰し、受光側の偏光フィルタで光量がさらに1/2に減衰する。つまり、トータルで光量が1/4にまで減衰してしまう。光量が減衰すると2次元コードの読み取りに失敗しやすくなる。減衰分を補償するために発光素子の発光光量を増大させれば、消費電力が増加するだけでなく、熱も増加してしまう。これらはデメリットになりうる。
1つのリーダ3で様々なワーク2に対応する方法として、すべての発光素子の出射領域を覆う取り外し式の偏光フィルタを採用することも考えられる。しかし、この場合は、ユーザが偏光フィルタを設置するか外すかを自ら判断する必要があるとともに、手作業で偏光フィルタの取り付けと取り外しを実行する必要がある。すなわち、ユーザにとって設置角度の調整は不要となるが、その代わりに偏光フィルタの設置・取り外し作業が必要となってしまう。
そこで、本実施形態では、偏光フィルタを設けられた第一照明手段と、偏光フィルタを設けられていない第二照明手段とを設け、これらをワーク2に応じて切り替えて使用するリーダ3を提案する。
図7(A)はリーダ3の斜視図であり、図7(B)は窓部11の拡大図である。窓部11のうち、発光素子26の光が射出する部分(光出射領域)と、発光素子27の光が射出する部分とには偏光フィルタ91が設けられている。また、窓部11のうち、撮像素子31の光学系に光が入射する部分(光入射領域)には偏光フィルタ92が設けられている。なお、偏光フィルタ91の偏向方向と、偏光フィルタ92の偏向方向とは異なっており、たとえば、90度異なっている。その一方で、窓部11のうち、発光素子28の光が射出する部分と、発光素子29の光が射出する部分とには偏光フィルタは設けられていない。このように、発光素子26と発光素子27で第一照明手段を形成し、発光素子28と発光素子29で第二照明手段を形成してもよい。つまり、ユーザが偏光フィルタの設置や取り外しを実行する代わりに、リーダ3がどちらの照明手段を点灯させるかを電気的に切り替えればよい。たとえば、偏光フィルタが無い方がより有利なワーク(例:鋳物など)については第二照明手段を点灯させて、第一照明手段を消灯させる。一方で、偏光フィルタがある方がより有利なワーク(例:プリント基板やフライス加工面、黒樹脂などに二次元コードを有するワーク)については第一照明手段を点灯させて、第二照明手段を消灯させる。これによりユーザの負担を大幅に軽減できるとともに、1つのリーダ3で様々なワークに設けられた2次元コードを精度よく読み取ることが可能となる。
図8(A)は偏光フィルタ91と偏光フィルタ92との形状の一例を示している。とりわけ、撮像素子用の偏光フィルタ92は略円形の形状をしており、偏光フィルタ92の左端と右端とにはそれぞれ位置合わせ部材93a、93bが設けられている。偏光フィルタ91の底部の左端と右端とは位置合わせ部材93a、93bの形状と整合しており、この例では直線状となっている。偏光フィルタ91の底部の中央は略半円形となっており、偏光フィルタ92の上部の形状に整合している。このように、位置合わせ部材93a、93bを採用することで、窓部11に対して偏光フィルタ91と偏光フィルタ92とを正確に貼付しやすくなる。また、偏光フィルタ91の頂部の形状は窓部11の頂部の形状に整合しているため、窓部11に対して偏光フィルタ91を正確に位置合せして貼付しやすくなっている。
<読取条件のチューニング>
2次元コードは、ワーク2に貼り付けられる用紙やタグに印刷されることが一般的であったが、近年はダイレクト・パーツ・マーキング(DPM)が普及している。DPMでは、2次元コードがワーク2の表面に印刷されたり、レーザ刻印されたり、ドットピーンで打刻されたりしてマーキングされる。DPMによって付与された2次元コードの読み取り成功率は、ワーク2の表面の材質、マーキング方法、リーダ3の設置環境に依存する。そのため、基準ワーク(合格品)を用いたチューニングによって読取条件を適切に調整して、基準バンク74を作成しておく必要がある。しかし、ワーク2の金型が摩耗したり、ドットピーンの先端が摩耗したり、インクが薄れたり、外光の影響が変化したりすると、チューニングで決定した読取条件では2次元コードを精度よく読み取れなくなってしまうことがある。ワーク2の生産工程には複数の工程が含まれており、たとえば、ワークの焼き入れ工程、メッキ工程、コーティング工程などが含まれることもある。よって、表面処理工程を実行する前に2次元コードの読み取り工程が存在していたのに、何らかの理由によって工程変更が実行され、表面処理工程を実行した後に2次元コードの読み取り工程が移動することもある。これらの表面処理工程は、ワーク2の表面を変化させるため、適切な読み取り条件も変化する。ワーク2が金属であれば、金属腐食によって2次元コードのコントラストが低下することもある。このような場合にも2次元コードの読み取りは失敗するだろう。このように、運用モードにおいて2次元コードの読み取りに失敗すると、ライン1を停止させ、再度チューニングを実行して基準バンク74を作り直さなければならない。ライン1を停止させれば、ワーク2の生産効率が低下してしまう。基準バンク74によってコードの読み取りに失敗したからと言ってそのワークを廃棄すれば、製品の歩留まりが低下する。エンジンブロックのような大型の鋳物は高価な部品であり、コードの読み取り成功率を上げることは非常に重要である。
予めワーク2の材質の変化や2次元コードの薄れを正確に再現できれば、それにあった基準バンク74を作成できるであろう。しかし、運用開始前に予め変化した実ワークを用意することは極めて困難である。特に、DPMによって2次元コードを付与される鋳物等のワークを用意することは難しい。これは、DPM用のドットピーンとして摩耗していないものから摩耗したものまで複数の摩耗レベルのドットピーンを用意して、それぞれでワーク2に2次元コードを施し、それをリーダ3で読み取って複数の基準バンク74を作成しなければならないからである。よって、予め複数の基準バンク74を用意しておくことも難しい。
そこで、本実施形態では運用モード中に基準バンク74に含まれているパラメータを調整ルール76で調整して拡張バンク75を作成することで、2次元コードの読み取り成功率を向上させることにする。演算部63は基準バンク74での2次元コードの読み取りに失敗すると、拡張バンク75に切り替えて読み取りを再度実行させる。また、演算部63は拡張バンク75での2次元コードの読み取りに失敗すると、別の拡張バンク75に切り替えて読み取りを再度実行させる。つまり、複数の拡張バンク75を順番に切り替えて、2次元コードの読み取りが実行される。本実施形態ではチューニングが不要となるため、ライン1を稼働させたまま、2次元コードの読み取り成功率を向上させることが可能となる。
●明るさレベル
図9は、明るさレベルについての基準バンクと複数の拡張バンクとの関係の一例を示す図である。横軸は明るさレベル(0〜255)を示し、縦軸はマッチングレベルを示している。各プロットは、チューニング部65が明るさレベルのチューニングを実行して得られたマッチングレベルを示している。チューニング部65はチューニングを実行して、最もマッチングレベルが高くなる明るさレベルaを判別し、基準バンク74に書き込む。演算部63は、明るさレベルaから所定間隔ずつ離れている明るさレベルb、c、dを用いて3つの拡張バンク75を作成する。この例では最も単純な調整ルールを採用しているが、明るさレベルの差が等間隔とならないような、より複雑な調整ルールが採用されてもよい。このように基準バンク74の明るさレベルaを明るさレベルb、c、dに差し替えることで、容易に拡張バンク75が作成される。
本実施形態では、基準バンク74と拡張バンク75とを使用する運用モードを前提としているが、基準バンク74のみを用いる運用モードが設けられてもよい。ユーザによっては、ライン1の停止がそれほど大きな問題とならないことがある。基準バンク74は、ワーク2を用いてチューニングによって生成されるため、そのワーク2にとっては拡張バンク75よりも精度の高い読み取りが実現される。よって、リーダ3は、運用モードにおいて2次元コードが読み取れなかったときにチューニングモードに遷移して基準バンク74を更新してもよい。なお、どちらの運用モードを採用するかは、リーダ3の入力部56またはコンピュータ4の入力部85を通じて指定されてもよい。
●膨張フィルタ
図10(A)はDPMによって形成された2次元コードの一例(ドット細りなし)を示している。図10(B)はDPMによって形成された2次元コードの一例(ドット細りあり)を示している。上述したようにDPM用のドットピーンは使用回数に応じて摩耗する。摩耗する前は、図10(A)に示すように2次元コードの各セル(ドット)が正確な面積で打刻される。しかし、摩耗が進むと、図10(B)に示すように2次元コードの各セルの面積が小さくなってしまう。そこで、画像処理によって各セルの面積を増やすことで、読み取り成功率を向上させる。このような画像処理を実行するフィルタとして膨張フィルタがある。基準バンク74では膨張フィルタを無効にするか、または、効き具合を弱めておく。一方で、拡張バンク75では膨張フィルタを無効から有効にするか、または、効き具合を強める。これにより、ドット細りが発生して2次元コードの読み取りに失敗したときは、演算部63が基準バンク74を拡張バンク75に切り替える。デコード部53は膨張フィルタで画像処理を実行してから、2次元コードのデコードを実行する。
●コントラスト低下
図10(C)が示すように、2次元コードのコントラストが徐々に低下することがある。この場合、基準バンク74により設定された明るさレベルでは2次元コードを読み取れなくなることがある。拡張バンク75の明るさレベルは、基準バンク74の明るさレベルよりも低く設定されている。たとえば、基準バンク74の明るさレベルを100%とすると、−10%〜−70%の明るさレベルを有する7つの拡張バンク75が用意される。演算部63は、基準バンク74での読み取りに失敗すると、順番に拡張バンク75を切り替えることで、照明部52の明るさレベルを徐々に低下させる。これにより、コントラストの低下した2次元コードについてもデコードに成功するようになる。
<読取条件>
読取条件を構成している代表的なパラメータについて説明する。基準バンク74に含まれている複数のパラメータのうち拡張バンク75では変更されるパラメータと変更されないパラメータとがある。拡張バンク75では、基準バンク74に含まれているパラメータのすべてが変更されるわけではない。すべてのパラメータが増えると、読み取り速度の低下を招くので、読み取りの向上に効果的なパラメータが変更される。
(1)変更されるパラメータ
●明るさレベル
明るさは、上述した照明光量だけでなく、撮像素子31の露光時間やデコード部53のゲインなどがある。たとえば、基準バンク74における明るさレベルを100%とすると、演算部63はこのレベルに対して10%刻みで+70%〜−70%のパラメータを生成し、拡張バンク75を作成する。
●エッジ強度
デコード部53は2次元コードを探索するためにエッジ検出を実行する。エッジ検出において使用されるパラメータがエッジ強度である。エッジ強度を増加減少させることで、コントラストの低下した2次元コードも検出可能となる。
●タイムアウト時間
タイムアウト時間は、2次元コードの探索を打ち切るための目安となる時間である。たとえば、基準バンク74のタイムアウト時間に対して、拡張バンク75では所定時間(例:20ミリ秒)が加算される。
●フィルタの種類
デコード部53は様々な画像処理用のフィルタを備えている。たとえば、平均化フィルタ、膨張フィルタ、収縮フィルタ、オープンフィルタ、クローズフィルタ、メディアンフィルタ、アンシャープマスクフィルタなどがある。チューニングを実行することでこのうちの1つのフィルタが有効化される。さらに、平均化フィルタ、膨張フィルタ、収縮フィルタおよびアンシャープマスクフィルタといった4つのフィルタがさらに有効化または無効化されて、拡張バンク75が作成される。これは2次元コードを構成するセル(ドット)のボケ、位置ずれ、ワークの傷、ドット細りに対して2次元コードの読み取り成功率を向上させるであろう。
ただし、2次元コードがバーコードである場合、これらのフィルタの設定を変更するとバーの太さが変化してしまうため、かえって読み取り成功率が低下しうる。よって、バーコードが読み取り対象である場合、演算部63は、基準バンク74におけるフィルタ設定を変更せずに、そのままコピーして拡張バンク75を作成する。
●フィルタ回数
フィルタ回数とは、2次元コードの画像データに対してフィルタ処理を繰り返し適用する回数である。フィルタ回数は、たとえば、1回〜3回の間で可変される。これは2次元コードを構成するセル(ドット)のボケ、位置ずれ、ワークの傷、ドット細りに対して2次元コードの読み取り成功率を向上させるであろう。
●偏光フィルタ
基準バンク74で偏光フィルタが無効となっている場合、演算部63は、偏光フィルタを有効化し、拡張バンク75を生成する。とくに外光等によってハレーションが発生している場合、偏光フィルタによってハレーションが軽減され、2次元コードの読み取り成功率が向上しようする。
(2)変更されないパラメータ
●コード種
基準バンク74でコード種がQRコードに設定されていれば、拡張バンク75でもコード種はQRコードに設定される。コード種が変更されることはほとんどないからである。
●読取桁数
読取桁数も通常は変更されないからである。
●モデル・コードバージョン
モデル・コードバージョンも通常は変更されないからである。
●偏光フィルタ
基準バンク74で偏光フィルタが有効となっている場合、演算部63は、偏光フィルタをそのまま有効化し、拡張バンク75を生成する。偏光フィルタを無効化したとしても、読み取り成功率が向上する可能性は低いので、拡張バンクにおいても偏光フィルタをそのまま有効としておく。
●白黒反転
2次元コードの各ドットの白黒の割り当ては固定されており、通常は変更されないからである。
●左右反転
2次元コードの印刷の向きは固定されており、通常は変更されないからである。
<拡張バンクの生成方法>
図11は拡張バンクの生成方法の一例を示す図である。図11に示すように、基準バンク74には読取条件のパラメータの一例として明るさレベル、エッジ強度、タイムアウト時間、フィルタの種類およびフィルタ回数が含まれている。調整ルール76にはこれらのパラメータの調整方法が記されている。なお、「−」の記号はパラメータを変更しないことを意味する。この例では9個の調整ルール(パラメータテーブル)が用意されているため、演算部63は、9個の拡張バンク75を作成できる。
ここでは、説明の便宜上、明るさレベルは0から184までの値をとるものと仮定する。基準バンク74の明るさレベルは50であり、1番の調整ルールでは相対光量として0が設定されている。よって、1番の拡張バンク75の明るさレベルは50である。1番の調整ルール76によれば、エッジ強度、タイムアウト時間、フィルタ、フィルタ回数は変更されない。1番の拡張バンク75のエッジ強度、タイムアウト時間、フィルタ、フィルタ回数には、基準バンク74のエッジ強度、タイムアウト時間、フィルタ、フィルタ回数がそのままコピーされる。同様に、2番の調整ルール76では相対光量として2が設定されている。よって、2番の拡張バンク75の明るさレベルは52である。4番の調整ルール76のエッジ強度は16であるため、4番の拡張バンク75のエッジ強度は16に設定される。4番の調整ルール76のタイムアウト時間は+20ミリ秒であるため、4番の拡張バンク75のタイムアウト時間は50ミリ秒に20ミリ秒を加算し、70ミリ秒に設定される。7番の調整ルール76のフィルタ回数は2回であるため、7番の拡張バンク75のフィルタ回数は2回に変更される。9番の調整ルール76のフィルタは収縮フィルタであるため、9番の拡張バンク75のフィルタは収縮フィルタに変更される。
このように演算部63は調整ルール76に従って基準バンク74のパラメータを調整して拡張バンク75を生成する。チューニング部65が基準バンク74を作成したときに、演算部63が拡張バンク75を作成してもよい。しかし、この場合は記憶部70に複数の拡張バンク75を保存するための記憶領域が必要になる。そこで、基準バンク74での読み取りに失敗したときに、演算部63がリアルタイムで1つの拡張バンク75を作成し、撮像素子31およびデコード部53に読み取りを実行させる。もし、1つ目の拡張バンク75でも読み取りに失敗すると、演算部63が2番目の拡張バンク75を作成し、撮像素子31およびデコード部53に読み取りを実行させてもよい。このようにすることで、拡張バンク75の記憶領域としては少なくとも1つの拡張バンク75を記憶する領域が記憶部70に存在すればよい。
<拡張バンクのオルタネート>
上述したように複数の調整ルール76を基準バンク74に適用することで複数の拡張バンク75が生成される。そこで、演算部63は、各バンクに優先度(優先順位)を付与してもよい。たとえば、基準バンク74は常に最初に試行されるバンクであるため、最も高い優先度が付与される。複数の拡張バンク75のうち2次元コードの読み取りに成功したバンクについては、読み取りに成功した数に応じて2番目以降の優先度が割り当てられる。なお、拡張バンク75に対する優先度の割り当ては、調整ルール76に対する優先度の割り当てと同義である。このように演算部63は拡張バンク75(または調整ルール76)をソーティングすることができる。読み取りに成功したバンクは次も読み取りに成功する確率が高いといえる。よって、このような優先度にしたがって拡張バンク75を使用することで、2次元コードの読み取りに要するトータルの処理時間を削減できるようになろう。
<リトライ回数>
上述したように基準バンク74や複数の拡張バンク75には優先度が設定されうる。ところで、2次元コードの読み取り処理は何回かリトライされてもよい。リトライを実行することでバンクを変更しなくても読み取りに成功することがあるからである。これにより、バンクの切り替え処理を省略できるため、さらにトータルでの読み取り時間を削減可能となろう。
たとえば、演算部63は、優先度が1番目に高い基準バンク74のリトライ回数を最大値(例:3回)に設定する。また、演算部63は、優先度が2番目に高い拡張バンク75のリトライ回数と3番目に高い拡張バンク75のリトライ回数をそれぞれ2回に設定する。また、演算部63は、優先度が4番目に高い拡張バンク75のリトライ回数を1回に設定する。これらのリトライ回数は例示にすぎず、優先度が高ければリトライ回数が多くなるような傾向があれば十分である。
このように優先度の高いバンクほどリトライ回数が高くなるように設定されてもよい。これにより読み取り成功率の高そうなバンクほど多くリトライされることになる。
上述した実施形態では、基準バンク74の優先度を常に最高に設定しているが、基準バンク74を含めて優先度を変更してもよい。これにより拡張バンク75であっても最高の優先度を割り当て可能となる。読取成功率やマッチングレベルについて拡張バンク75が基準バンク74を上回る場合に、このような優先度の割り当ては有用であろう。
なお、ソーティングを施す前の初期状態では明るさレベルを変更する拡張バンク75の優先度を高く設定してもよい。明るさは2次元コードの画像データの絵づくりに及ぼす影響が大きいからである。ただし、明るさレベルの変更は絵づくりへの影響が大きいため、10%ずつ緩やかに変更させて、複数の拡張バンク75を作成することにしてもよい。また、明るさレベルの次にフィルタの種類が絵づくりに影響を与える。そこで、フィルタの種類を変更する拡張バンク75の優先度を、明るさレベルを変更する拡張バンク75の優先度の次の優先度を割り当ててもよい。
<フローチャート>
図4に示したようなユーザインタフェースを通じてユーザはチューニングモードの実行を指示したり、運用モードの実行を指示したりする。チューニング部65はチューニングモードの実行指示が入力されると、チューニングを実行し、基準バンク74を決定し、記憶部70に格納する。より具体的に説明すると、チューニング部65は、読取条件(例:明るさレベル、エッジ強度、タイムアウト時間、フィルタの種類、フィルタ回数)を変えながら実際に基準となるワーク2を撮像素子31で撮像し、デコード部53でデコードし、デコード結果に基づきマッチングレベル(または読み取り成功率)を算出する。チューニング部65は、マッチングレベル(または読み取り成功率)が最大となるように、読取条件を構成している各パラメータを調整する。これによりワーク2について試行した読取条件のうちで最も適切と考えられる読取条件が決定され、基準バンク74として保持される。
図12は運用モードの各工程を示すフローチャートである。演算部63は運用モードの実行指示が入力されると、本フローチャートにしたがって2次元コードの読み取り処理を実行する。
S1で演算部63は記憶部70から基準バンク74を読み出し、基準バンク74に含まれている撮像条件のパラメータを撮像制御部62に設定し、画像処理条件のパラメータをデコード部53に設定する。なお、基準バンク74よりも優先度の高い拡張バンクが存在する場合は、この拡張バンクが使用されてもよい。撮像制御部62は撮像条件に応じて撮像素子31の露光時間や照明部52の光量などを設定する。また、デコード部53は、画像処理条件に応じて画像データに適用するべきフィルタとフィルタ回数を決定する。
S2で演算部63は撮像制御部62に撮像を指示する。撮像制御部62はワーク2に付与された2次元コードの撮像を実行し、画像データ72を生成し、デコード部53に渡す。デコード部53は画像処理条件に応じてデコードを実行し、デコード結果71を演算部63に出力する。
S3で演算部63はデコード結果に基づき2次元コードの読み取り(デコード)に失敗したかどうかを判定する。2次元コードの読み取りに成功したのであれば、本フローチャートに係る読み取り処理を終了する。なお、次のワーク2についての読み取りについては再度ステップS1から各ステップが実行される。一方で、2次元コードの読み取りに失敗したのであれば、S4に進む。なお、2次元コードの読み取りに成功したかどうかを判定するのではなく、マッチングレベルが閾値を下回ったかどうかを判定してもよい。
S4で演算部63は記憶部70から優先度に応じて拡張バンク75を読み出して、拡張バンク75に含まれている撮像条件のパラメータを撮像制御部62に設定し、画像処理条件のパラメータをデコード部53に設定する。なお、拡張バンク75をS4で作成してもよい。この場合、演算部63は記憶部70から優先度に応じて調整ルール76を読み出し、調整ルール76にしたがって基準バンク74のパラメータを修正して拡張バンク75を作成する。
S5で演算部63は撮像制御部62に撮像を指示する。撮像制御部62は拡張バンク75のパラメータにしたがってワーク2に付与された2次元コードの撮像を実行し、画像データ72を生成し、デコード部53に渡す。デコード部53は拡張バンク75により指定されている画像処理条件に応じてデコードを実行し、デコード結果71を演算部63に出力する。
S6でデコード結果に基づき2次元コードの読み取り(デコード)に失敗したかどうかを判定する。なお、2次元コードの読み取りに成功したかどうかを判定するのではなく、マッチングレベルが閾値を下回ったかどうかを判定してもよい。2次元コードの読み取りに成功したのであれば、S7に進む。S7で演算部63は読み取りに成功した拡張バンク75の優先度を更新する。たとえば、演算部63は拡張バンク75の優先度を上げ、本フローチャートに係る読み取り処理を終了する。次のワーク2については、再びS1から各工程が実行される。なお、その際には、読み取りに成功した拡張バンク75が用いられてもよいし、基準バンクが用いられてもよい。たとえば、優先度に応じてどちらのバンクが使用されるかが決定されてもよい。一方、2次元コードの読み取りに失敗したのであればS8に進む。
S8で演算部63はその拡張バンク75についてのリトライ回数が閾値(リトライ回数の上限値であり、たとえば、3回など)未満であるかどうかを判定する。リトライ回数が閾値以上であれば、次の拡張バンク75を用いた読み取りを試行するためにS4に戻る。一方で、リトライ回数が閾値未満であればS9に進む。S9で演算部63はその拡張バンク75についてのリトライ回数を1つインクリメントし、S5に戻る。S5においてその拡張バンク75を再度用いて2次元コードの読み取りが実行される。
なお、すべて拡張バンク75を用いても2次元コードの読み取りに失敗した場合、コードが読み取れていない状態で終了処理が指定されると、演算部63は、通信部54を通じてコンピュータ4またはPLC5に読み取り失敗通知を送信する。2次元コードの読み取りに成功した場合、演算部63は、通信部54を通じてコンピュータ4またはPLC5に読み取り成功通知(デコードした文字列を含む)を送信する。
図4に示したようなユーザインタフェースを通じてユーザにより運用モードの終了が指示されると、演算部63は本フローチャートに係る読み取り処理を終了する。
また、S2やS5ではバンクにより設定されたタイムアウト時間が経過するまで読み取りが試行され、タイムアウト時間が経過しても読み取りに成功できないときに、演算部63は読み取り失敗と判定してもよい。
<拡張バンクの削減>
画像データの絵づくりに関連したパラメータとしては、上述したように明るさレベル、フィルタの種類、フィルタ回数などがある。たとえば、明るさレベルが全部で15レベルあり、フィルタの種類は7種類であり、フィルタ回数が1〜3回であったと仮定する。これらの組み合わせは315通りある。フィルタを用いない組み合わせは15通りあるため、全体では330通りがある。つまり、これだけでも330個の拡張バンク75を生成できる。しかし、そのすべてについて読み取りを試行することは難しい。1つの拡張バンク75を試すのに100ミリ秒の時間が必要と仮定すると、330個の拡張バンク75をすべて試すのに33秒の時間が必要となってしまう。そこで、拡張バンク75の数を削減する工夫が必要となる。
●明るさレベルとフィルタの組み合わせは試さない
明るさレベルの変更が有効な「コントラスト変化」の発生要因と、フィルタの変更が有効な「ボケ・ドット位置ずれ・ワーク傷・ドット細り」の発生要因は、経験上、異なることが多い。たとえば、打刻機が揺れてドットずれが起きた場合、印刷の濃さ(ドットのサイズ)は変わらない。よって、明るさレベルの変更は不要である。焼入れ処理でコントラストが変わっても、ドットサイズは変わらない。そのため、フィルタの変更は不要である。そこで、基準バンク74と比較して明るさレベルが変更され拡張バンク75では、フィルタの種類とフィルタ回数を変更しないことにする。また、基準バンク74と比較してフィルタの種類とフィルタ回数が変更される拡張バンク75では、明るさレベルを変更しないことにする。
●バーコードではフィルタは変動させない
読み取り対象のコード種がバーコードの場合、フィルタを掛けるとバーの太さが変化し、かえって誤読確率が増加することがある。よって、フィルタは変動条件に含めない。よって、バーコード用の拡張バンク75では基準バンク74と比較してフィルタの種類と回数を変更しないことにする。
これらの制限を課すことで、たとえば、2次元コード用の拡張バンク75の数を14*2+5*3 = 43個まで削減できる。また、バーコード用の拡張バンク75の数を14*2 = 28個まで削減できる。
<偏光フィルタ>
上述したように基準バンク74において偏光モードが有効となっている場合、拡張バンク75では偏光モードをそのまま有効とする。一方で、基準バンク74において偏光モードが無効となっている場合、拡張バンク75では偏光モードから無偏光モードに変更する。これにより、基準バンク74ではハレーション等が原因で読み取りに失敗しても、拡張バンクでは偏光フィルタによってハレーション等を軽減し、読み取り成功率が向上するだろう。
さらに偏光フィルタに関しても拡張バンク75の数を削減することが可能である。上述したように偏光フィルタ91が照明部52に設けられることで光量が半分になる。たとえば、明るさレベルを50%削減することは、偏光フィルタを無効から有効に変えることと同義である。
ところで、明るさレベルは少量ずつ徐々に変化させることが好ましい。急激に明るさが変化すると、ユーザは故障が発生したのかと心配するかもしれないからである。そのため、たとえば、基準バンク74の明るさレベルに対して10%ずつ変化せることが望ましい。
図13は拡張バンクの番号と基準バンクの明るさレベルに対する変更量(%)との関係を示す図である。図13によれば基準バンク74の明るさレベルに対して+10%ずつ明るさレベルを増加させる。明るさレベルが+70%に達すると、今度は−70%になるまで、−10%ずつ明るさレベルを減少させる。図13から明らかなように、0%から+70%までの増加区間(実線部分)と+70%から0%までの減少区間(破線部分)とでは、それぞれ光量が等しい。たとえば、増加区間と減少区間とで+10%がそれぞれ1回ずつ存在する。そこで、増加区間で偏光フィルタ91が無効であれば、減少区間では偏光フィルタ91を有効とする。これにより拡張バンク75の数を増やすことなく、読み取り条件のバリエーションを増加させることが可能となる。
図13が示すように、基準バンク74の明るさレベルと比較して、明るさレベルが低下される区間(0%〜−70%)では偏光フィルタ91を有効にしていない。これは、偏光フィルタ91を挿入すると明るさレベルが減少してしまうからである。
<まとめ>
本実施形態によれば、チューニング部65は、チューニングモードにおいて、基準となるワークに設けられたコードを撮像素子31に撮像させ、撮像素子31により取得されたコードの画像データをデコード部53にデコードさせ、デコード部53のデコード結果に基づき、読取条件を構成する複数のパラメータのセットである基準バンク74を決定する。演算部63は、運用モードにおいて、ライン1を搬送される複数のワーク2について基準バンク74を用いてコードを読み取る。基準バンク74を用いて取得されたデコード結果(読み取り成功率やマッチングレベルなど)が所定の結果(閾値など)を下回ると(たとえば、コードの読み取りに失敗すると)、演算部63は、基準バンク74を構成している複数のパラメータのうちの少なくともいくつかのパラメータを、予め定められた調整ルールにしたがって調整することで拡張バンク75を生成する。その後、拡張バンク75が適用されるコードの読み取りが継続される。このように拡張バンク75を導入することで、再度のチューニングを実行することなく、ワーク2に付与されたコードの読み取り精度を向上させることができる。
図11などを用いて説明したように、拡張バンク75を決定するために調整されるパラメータは、基準バンク74を構成している複数のパラメータのうちの一部である。したがって、再度チューニングを実行して基準バンク74を作成するよりも短い時間で拡張バンク75を作成できる。たとえば、演算部63は、基準バンク74を構成する複数のパラメータのうちの一部について調整して拡張バンク75のパラメータを生成し、基準バンク74を構成する複数のパラメータのうちの残りの一部については調整せずにコピーして拡張バンク75のパラメータを生成してもよい。
図11などを用いて説明したように、基準バンク74を構成する複数のパラメータのうち調整されるパラメータの1つはコードの画像の明るさに関連したパラメータである。基準バンク74を構成する複数のパラメータのうち調整されずに拡張バンク75へコピーされるパラメータの1つはコードの種類を特定するパラメータである。明るさに関連したパラメータは画像データの絵づくりに大きな影響を及ぼすため、これを調整することでコードの読み取り成功率の向上が期待できる。一方で、コードの種類が変更されることは基本的に想定されない。同一の製品であるにもかかわらず、コードの種類を変更してしまうと、製品管理が複雑になってしまうからである。
基準バンク74を構成する複数のパラメータのうち調整されずに拡張バンク75へコピーされるパラメータには、コードのコード種と、コードの読取桁数と、コードの画像データについて白黒反転処理を適用するかどうかを示すパラメータと、コードの画像データについて左右反転処理を適用するかどうかを示すパラメータと、コードのバージョンを特定するパラメータとのうち少なくとも1つが含まれていてもよい。上述したようにこれらのパラメータもライン1の稼働中に変更されにくいからである。
基準バンク74を構成する複数のパラメータのうち調整されるパラメータには、コードの画像データの明るさレベル、コードの画像データに関するエッジ強度、デコードの繰り返しを制限するためのタイムアウト時間、画像データに適用されるフィルタの種類、画像データに対して適用されるフィルタ処理の回数のうち少なくとも1つが含まれていてもよい。これらはいずれも絵づくりに影響を与えるからである。つまり、これらはデコード部53にとってコードの読み取りに大きな影響を及ぼす。これらのパラメータを変更することで、コードを読み取りにくい難読ワークであっても、コードの読み取りに成功する可能性が高まるであろう。
演算部63は、読み取り対象のコードがバーコードであるときはいずれのフィルタも無効とするように拡張バンク75を生成してもよい。上述したように、バーコードの画像データに対してフィルタ処理を適用すると、バーが細くなったり、太くなったりして、かえって読み取り成功率が低下することがあるからである。よって、撮像条件など他のパラメータを調整したほうが、読み取り成功率を効率よく上昇させることが可能となろう。このようにバーコードに関しては、フィルタを無効とするか、変更しないことが好ましいだろう。
演算部63は、基準バンク74において偏光フィルタ91を通した照明光を照射する照明モード(偏光モード)が有効にされているときは拡張バンク75においても当該照明モードを有効としてもよい。また、演算部63は、基準バンク74において偏光フィルタ91を通さずに照明光を照射する照明モード(無偏光モード)が有効にされているときは拡張バンク75においては偏光フィルタ91を通した照明光を照射する照明モード(偏光モード)が有効となるようにパラメータを変更してもよい。これによりハレーション等の影響を緩和できるようになるため、拡張バンク75での読み取り成功率が向上するであろう。
演算部63が1つの基準バンク74に対して生成した複数の拡張バンク75を記憶する記憶部70をリーダ3がさらに有していてもよい。複数の拡張バンク75のうちデコード部53によってデコードに成功した拡張バンク75が優先的に使用されてもよい。上述したように、演算部63は基準バンク74を作成した直後に拡張バンク75を生成してもよいし、運用モードにおいてリアルタイムで生成してもよい。上述したように、拡張バンク75や調整ルール76に優先度(優先順位)を付与しておき、読み取りに成功した拡張バンク75や調整ルール76の優先度を上げてもよい。一度でも読み取りに成功した拡張バンク75は、次も読み取りに成功する確率が高いと考えられるからである。よって、読み取りに成功した拡張バンク75の優先度を、読み取りに成功していない拡張バンク75の優先度よりも高く設定することが好ましい。
上述したように、演算部63は、基準バンク74と、基準バンク74から派生して生成された複数の拡張バンク75とにそれぞれ優先度を設定する設定手段として機能する。デコード部53は優先度にしがって基準バンク74および複数の拡張バンク75から1つのバンクを選択して適用してもよい。闇雲に拡張バンク75を選択する場合と比較して、読み取りに成功するまでの時間を短縮することが可能となろう。
デコード部53は、基準バンク74および拡張バンク75のそれぞれに割り当てられている優先度にしたがってデコード処理のリトライ回数を制御してもよい。とりわけ、優先度の高いバンクについては優先度の低いバンクよりもリトライ回数を増加させてもよい。優先度が過去の読み取り実績に基づいて更新される場合、読み取り実績の高いバンクをより多くリトライすることが可能となる。たとえば、外光の変化などは繰り返し発生し、その再現性も高い。よって、過去に読取に成功したバンクは、別の日にも読み取りに成功する可能性が高いのである。
1…ライン、2…ワーク、3…照明装置、4…カメラ、5…画像処理装置、6…入力部、7…表示部

Claims (13)

  1. ワークに設けられたコードを撮像する撮像手段と、
    前記撮像手段により取得された画像データをデコードするデコード手段と、
    前記撮像手段の撮像条件と前記デコード手段における画像処理条件とを含む読取条件を制御する読取条件制御手段とを有し、
    前記読取条件制御手段は、
    基準バンクを決定するチューニングモードにおいて、基準となるワークに設けられたコードを前記撮像手段に撮像させ、前記撮像手段により取得された前記コードの画像データを前記デコード手段にデコードさせ、前記デコード手段のデコード結果に基づき、前記読取条件を構成する複数のパラメータのセットである基準バンクを決定する決定手段と、
    前記基準バンクを構成している複数のパラメータのうちの少なくともいくつかのパラメータを、予め定められた調整ルールにしたがって調整することで拡張バンクを生成する生成手段と
    を有し、
    ラインを搬送される複数のワークについて前記基準バンクを用いてコードを読み取る運用モードにおいて前記基準バンクを用いて取得されたデコード結果が前記コードの読み取り失敗であると、前記基準バンクに代えて前記撮像手段および前記デコード手段によって前記拡張バンクが使用されることを特徴とする光学的情報読取装置。
  2. 前記拡張バンクを決定するために調整されるパラメータは、前記基準バンクを構成している複数のパラメータのうちの一部であることを特徴とする請求項1に記載の光学的情報読取装置。
  3. 前記生成手段は、前記基準バンクを構成する複数のパラメータのうちの一部について調整して前記拡張バンクのパラメータを生成し、前記基準バンクを構成する複数のパラメータのうちの残りの一部については調整せずにコピーして前記拡張バンクのパラメータを生成することを特徴とする請求項1または2に記載の光学的情報読取装置。
  4. 前記基準バンクを構成する複数のパラメータのうち調整されるパラメータの1つは前記コードの画像の明るさに関連したパラメータであり、
    前記基準バンクを構成する複数のパラメータのうち調整されずに前記拡張バンクへコピーされるパラメータの1つは前記コードの種類を特定するパラメータであることを特徴とする請求項3に記載の光学的情報読取装置。
  5. 前記基準バンクを構成する複数のパラメータのうち調整されずに前記拡張バンクへコピーされるパラメータには、前記コードのコード種と、 前記コードの読取桁数と、前記コードの画像データについて白黒反転処理を適用するかどうかを示すパラメータと、前記コードの画像データについて左右反転処理を適用するかどうかを示すパラメータと、前記コードのバージョンを特定するパラメータとのうち少なくとも1つが含まれていることを特徴とする請求項3または4に記載の光学的情報読取装置。
  6. 前記基準バンクを構成する複数のパラメータのうち調整されるパラメータには、前記コードの画像データの明るさレベル、 前記コードの画像データに関するエッジ強度、デコードの繰り返しを制限するためのタイムアウト時間、前記画像データに適用されるフィルタの種類、前記画像データに対して適用されるフィルタ処理の回数のうち少なくとも1つが含まれていることを特徴とする請求項3ないし5のいずれか1項に記載の光学的情報読取装置。
  7. 前記生成手段は、前記コードがバーコードであるときはいずれのフィルタも無効とするように前記拡張バンクを生成することを特徴とする請求項1ないし6のいずれか1項に記載の光学的情報読取装置。
  8. 前記生成手段は、前記基準バンクにおいて偏光フィルタを通した照明光を照射する照明モードが有効にされているときは前記拡張バンクにおいても当該照明モードを有効とし、前記基準バンクにおいて偏光フィルタを通さずに照明光を照射する照明モードが有効にされているときは前記拡張バンクにおいては偏光フィルタを通した照明光を照射する照明モードが有効となるようにパラメータを変更することを特徴とする請求項1ないし6のいずれか1項に記載の光学的情報読取装置。
  9. 前記生成手段が1つの基準バンクに対して生成した複数の拡張バンクを記憶する記憶手段をさらに有し、
    前記複数の拡張バンクのうち前記デコード手段によってデコードに成功した拡張バンクが優先的に使用されることを特徴とする請求項1ないし8のいずれか1項に記載の光学的情報読取装置。
  10. 前記基準バンクと、前記基準バンクから派生して生成された複数の拡張バンクとにそれぞれ優先度を設定する設定手段をさらに有し、
    前記デコード手段は前記優先度にしがって前記基準バンクおよび前記複数の拡張バンクから1つのバンクを選択して適用することを特徴とする請求項1ないし9のいずれか1項に記載の光学的情報読取装置。
  11. 前記デコード手段は、前記基準バンクおよび前記拡張バンクのそれぞれに割り当てられている前記優先度にしたがってデコード処理のリトライ回数を制御することを特徴とする請求項10に記載の光学的情報読取装置。
  12. ワークに設けられたコードを撮像する撮像手段と、前記撮像手段により取得された画像データをデコードするデコード手段とを有する光学的情報読取装置において前記撮像手段の撮像条件と前記デコード手段における画像処理条件とを含む読取条件を制御して前記コードを読み取る光学的情報読取方法であって、
    基準バンクを決定するチューニングモードにおいて、基準となるワークに設けられたコードを前記撮像手段に撮像させ、前記撮像手段により取得された前記コードの画像データを前記デコード手段にデコードさせ、前記デコード手段のデコード結果に基づき、前記読取条件を構成する複数のパラメータのセットである基準バンクを決定する決定工程と、
    前記基準バンクを構成している複数のパラメータのうちの少なくともいくつかのパラメータを、予め定められた調整ルールにしたがって調整することで拡張バンクを生成する生成工程と、
    ラインを搬送される複数のワークについて前記基準バンクを用いてコードを読み取る運用モードにおいて前記基準バンクを用いてコードを読み取る工程と、
    前記運用モードにおいて前記基準バンクを用いて取得されたデコード結果が前記コードの読み取り失敗であると、前記基準バンクを前記拡張バンクに切り替え、前記拡張バンクを用いてコードを読み取る工程と
    を有することを特徴とする光学的情報読取方法。
  13. 請求項1ないし11のいずれか1項に記載された光学的情報読取装置の各手段として当該光学的情報読取装置を機能させることを特徴とするプログラム。
JP2017251206A 2017-12-27 2017-12-27 光学的情報読取装置、光学的情報読取方法およびプログラム Active JP6434118B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017251206A JP6434118B2 (ja) 2017-12-27 2017-12-27 光学的情報読取装置、光学的情報読取方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017251206A JP6434118B2 (ja) 2017-12-27 2017-12-27 光学的情報読取装置、光学的情報読取方法およびプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014157030A Division JP2016033788A (ja) 2014-07-31 2014-07-31 光学的情報読取装置、光学的情報読取方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2018045735A JP2018045735A (ja) 2018-03-22
JP6434118B2 true JP6434118B2 (ja) 2018-12-05

Family

ID=61695017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017251206A Active JP6434118B2 (ja) 2017-12-27 2017-12-27 光学的情報読取装置、光学的情報読取方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6434118B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11941478B2 (en) 2018-10-19 2024-03-26 Diagnostics Instruments, Inc. Barcode scanning of bulk sample containers
WO2020079664A2 (en) * 2018-10-19 2020-04-23 Diagnostic Instruments, Inc. Barcode scanning of bulk sample containers
CN111695368A (zh) * 2019-03-14 2020-09-22 欧姆龙株式会社 码读取装置、码读取方法以及工件
CN116822559A (zh) * 2023-07-07 2023-09-29 广州讯宝电子科技有限公司 一种读取雕刻二维码方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008205774A (ja) * 2007-02-20 2008-09-04 Nec Corp 撮影操作誘導システム、撮影操作誘導方法および撮影操作誘導プログラム
JP5303420B2 (ja) * 2009-10-01 2013-10-02 株式会社キーエンス 光学的情報読取装置の撮像条件設定装置及び撮像条件設定方法
JP2012064172A (ja) * 2010-09-17 2012-03-29 Keyence Corp 光学情報読取の設定支援装置
JP2012064169A (ja) * 2010-09-17 2012-03-29 Keyence Corp 光学情報読取装置用の設定支援装置
JP6055625B2 (ja) * 2012-08-02 2016-12-27 一邦 細井 コード読み取り装置およびプログラム

Also Published As

Publication number Publication date
JP2018045735A (ja) 2018-03-22

Similar Documents

Publication Publication Date Title
JP6434118B2 (ja) 光学的情報読取装置、光学的情報読取方法およびプログラム
JP2016033788A (ja) 光学的情報読取装置、光学的情報読取方法およびプログラム
US10515249B2 (en) Optical information reading device
JP6363903B2 (ja) 光学的情報読取装置
CN106067927B (zh) 一种用于扫描图形媒体扫描目标的方法及系统
US10268853B2 (en) Optical information reading device
JP4058529B2 (ja) 光学情報読取装置
JP4389812B2 (ja) 光学情報読取装置
JP7263423B2 (ja) 改善されたマトリックス記号エラー修正方法
JP4186915B2 (ja) 光学情報読取装置
JP2012208797A (ja) コード読取装置及びプログラム
JP6355470B2 (ja) 光学的情報読取装置
JP4306457B2 (ja) 光学情報読取装置
JP2008530684A (ja) スタンプ型バーコードリーダー
JP2007087005A (ja) 光学的情報読取装置
US9104935B1 (en) Mark reader configured to prioritize images
JP2015050507A (ja) スキャナー
JP4175358B2 (ja) 光学情報読取装置
JP6266746B2 (ja) 光学的情報読取装置
JP6360875B2 (ja) コード読取装置
JP2018136854A (ja) 光学的情報読取装置
JP2019091209A (ja) 光学情報読取装置
JP6586201B2 (ja) 光学的情報読取装置
JP6486767B2 (ja) 固定式の光学的情報読取装置およびそれを用いた光学的情報読取方法
JP4107280B2 (ja) イメージセンサ及び情報コード読取装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180926

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181107

R150 Certificate of patent or registration of utility model

Ref document number: 6434118

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250