ブログ

モバイル デバイスでマルチコード バーコードの読み取り方法を詳しく見る

Multi-Code large

処理速度と精度の高いバーコードスキャンで生産性が向上することによるワークフローにもたらす可能性は否定できません。実際、食料品店からスポーツ用品まで、ほぼすべての小売店は、販売時点管理だけでなく、在庫管理や補充においてもスキャン可能な製品バーコードが大活躍しています。物流センター、倉庫、イベントチケット、航空会社...など、数多くの業界やアプリケーションがバーコードを採用しています。

生産性をさらに向上させるため、企業は 1 回のスキャンで複数のバーコードを読み取ることを考えています。パレットラベルのようなアプリケーションでは、複数の関連する GS1 バーコードを使用し明らかな拡張が図られます。ほかにも、在庫入庫のためのマルチバーコード製品ラベルのスキャンなどが導入されます。しかし、モバイルデバイスソリューションがより強力になり、カメラの性能が高まり、プロセッサが高速化するにつれて、ユーザーはさらに高度なマルチコードスキャンの使用を求めています。

たとえば、最近、お客様からマルチコード バーコード読み取り用の魅力的な使用例を紹介されました。その例では、商品は供給キャビネットから取り出され、製品ラベルは再注文フォームに貼られていました。各ラベルには、製品を特定するバーコードが2つ印字され、各ページに1~15のラベルが1列または2列の表に貼り付けられています。この顧客は、モバイルデバイスを使用してバーコードの各ページをスキャンしたいと思い、ページの上に携帯電話を持ち、ページ全体をスキャンしたいと考えていました。

競合他社の製品で簡単なデモを実演し、比較的素早くバーコードが強調表示され、結果一覧が表示される様子を見せてくれました。最初に見せてくれたこのデモでは、携帯電話を紙の上に持ち、一度にページ全体を取り込むものでした。しかし、対象のバーコードが比較的小さ目で、一部は品質が悪く、ソフトウェアは常に遠くにあるコードを一度にすべて読み取ることができない場合もあり、上手く機能しませんでした。

2回目のデモでは、「バッチモード」が実演され、携帯電話をコードの近くに移動させて、その後、スイープ動作でページ上を移動しバーコードを収集しました。この方法は、携帯電話がコードに近いため、読み取り率が高まりました。ここには、バーコードが紙上と同じ順序で返されない (これは必要な機能)、一部のコードが結果に反映されない、という 2 つの問題がありました。私たちに求められたのは、同じ動作ですべてのコードを正しい順序で返すことでした。簡単ですね?いいえ、簡単ではありません。

マルチコード バーコード読み取りのしくみ

コグネックスは、固定式システムハンドヘルドスキャナ、さらに最近ではモバイルバーコード端末、携帯電話、タブレットでバーコードスキャンシステムを数十年にわたって提供してきました。マルチコードバーコード読み取りは、固定式アプリケーションでは一般的ですが、ハンドヘルドやモバイルデバイスではあまり一般的ではありません。その主な理由は画像の安定性です。固定式アプリケーション (バーコードスキャンシステムが固定されている) では、カメラは移動せず、既定の向きで、スキャン対象物に対して最適なスキャン距離と視野に合わせて調整されます。さらに、照明と動きは、通常、よく制御または理解され、スキャン性能をさらに向上させます。このような固定式スキャナの特性は、マルチコードのスキャンにおいて制御された環境を実現しますが、それでも簡単な作業ではありません。

理想的な世界では、イメージスキャナはバーコードのフィールドのスナップショットを1回取得し、すべてのバーコードを見つけてデコードすることができますが、実際はそうではありません。フォーカス、照明、スキューなどのばらつきにより、すべてのバーコードが、位置指定可能で、装飾可能であるとは言えません。固定式アプリケーションでも、実現は容易ではありません。代わりに、マルチコードの解読は、カメラから送られるライブビデオストリームから個々の画像 (フレーム) を調べ、この一連のスキャンの結果を組み合わせることによって実現されます。ほとんどのアプリケーションでは、1 つのフレームに 1 つのバーコードが含まれる可能性は低いため、10、20、30、またはそれ以上のフレームからデコードされた結果を結合します。

複数のフレームが分析され、結果が組み合わされるため、デコード アルゴリズムは、高度な操作で重複を排除し、有効なデータのみを抽出する必要があります。以下の4つのバーコードサンプルで考えてみましょう。


マルチコード - 4 つのバーコードサンプル

ユーザーがマルチコード スキャナーを使用してこれらのコードをスキャンすると、次の 4 つの結果が得られます。{ A, B, C, A}.このコードをスキャンするとき、フォーカスや照明のばらつきにより、コード全体を取り込むためには 2 回スキャン (2フレーム) する必要があると仮定します。最初のフレームでは、上の2つのバーコード { A, B } を解読します。


マルチコード、フレーム 1

次のフレームでは、下の3つのバーコード { B, C, A } を解読します。


マルチコード、フレーム 2

各フレームには一連のバーコードが表示されますが、この2つを単純に組み合わせるだけで処理が終わるわけではありません。単純に組み合わせるだけでは、{ A, B, C } しか取り込めず、2回目の A が欠けています。つまり、複数のフレームを統合させた画像は、単純に重複を排除する以上の性能が必要です。

少し (または多くの) 動きを追加する

複数のフレームを統合する場合、重複を排除しながら位置情報とバーコード値を含めることが最良であると考えがちですが、結果、この例を見直してみると、2 回目のバーコード A は、最初のフレームのバーコード A とは明確に配置が違うことが確認できます。実際、複数コードの解読において、コードが重複しているかどうかだけを確認する機能があります。ただし、これは、バーコードの相対的な位置が、1 つの画像フレームから次の画像フレームに変更されない、または少なくともほとんど変更されないという事実が前提となっています。

ここで、モバイル デバイスの使用事例の話しに戻ると、一般的なスキャンでは、ユーザーがスキャンするバーコードの上にモバイルデバイスを配置 (照準) すると、カメラからライブ画面が送られ、画面でプレビューできるようになっています。ユーザーが携帯電話の位置を決め、安定した手の動きで携帯電話を動かすと、数多くのフレームが取り込まれ、解読されます。

このはシンプルな例で、ユーザーがカメラを配置して4つのバーコードを一度に取り込むことができる可能性があります。では、コードがもっと多い場合 (紹介した顧客の例、ページ全体にコードがある場合) はどうでしょうか?ユーザーは「スイープ」動作でカメラを移動させてすべてのバーコードを読み込むのでしょうか?つまり、すべてのコードを取り込むためには、携帯装置を動かす必要があるのでしょうか?

モバイルスキャナでモーション処理を行う場合、一般的にモーションの速さと向きをスキャナが把握できないため非常に困難であり、特にユーザーがモバイルデバイスを持って移動し続ける場合は、さらにそれが顕著になります。

マルチコードのスキャンがシンプルではない

マルチコードのスキャンは、すべてのバーコードを見つけるだけでは終わりません。読み込むべきバーコードの検索をいつ停止させるかを決める必要があります。前述の例では、スキャンするバーコードの数が決まっていました。スキャナは、4つのバーコードを検索してから結果を返すように設定できました。

各ページに2から30のバーコードがある前述のお客様の使用例の場合はどうでしょうか?バーコードの数が分かっていて、その一部が欠けている、あるいは損傷している場合、マルチコード システムはそれをどのようにユーザーに知らせるのでしょうか?マルチコード スキャナがすべてのコードを読み終えたかをどのように判断するのでしょうか?間違いなく、これは (コードの読み取り不良)、マルチコードのスキャンにおいて検討不足が明らかとなる最大の落とし穴となっています。適切に対処しないと、コードの読み取り不良によって、実現を目指しているマルチコード スキャンを使用した生産性の向上が達成できなくなります。

デモがすべてではない

紹介したお客様の使用事例では、実装しようとしていたデモは、信頼性の低い結果を返していました。その理由は、

  • スキャン対象のバーコードには、有効なデータが重複していたが、スキャンソフトウェアによって同じバーコードを繰り返し読み込まないようになっている
  • スキャンソフトウェアは、ユーザーがコードを取り込む際、コードの上で携帯電話を移動するとき、その移動速度や向き (方向) を正確に測定できないため、ページに印字されている順序でコードが返されないスキャンソフトウェアは、パージの「上」がどこであるか把握できないため、バーコードはスキャンされた順序で返され、実際のページの順序とは異なっていました。

たとえ、この2つの問題が解決したとしても、読み取り不可能なバーコードがあるかどうかが分かっただけではワークフローとして不十分です。ユーザーはどのコードが読み取られず、手動で対処すべきコードがどれか知るすべがありません。

それでも、マルチコード ソリューションをお勧めしますが、ユーザーが各2つのコードラベルを個別にスキャンする機能は開発段階です。これが実現すれば、アプリケーションで、ユーザーが移動する際に各ラベル/スキャン画像を検証し、肯定的なフィードバック (問題があった場合は否定的なフィードバック) を提供できるようになります。結果として得られたアプリケーションは、元のデモほど望ましくありませんでしたが、ユーザーに確実で使用可能なワークフローを提供しました。

携帯電話やタブレットには、高解像度カメラや強力なプロセッサが搭載されているため、マルチコード読み取りなどの複雑なバーコードスキャンタスクを実行する能力がますます高まっています。しかし、バーコードのシート全体または製品の棚全体を一度にスキャンするのが最善のワークフローではありません。デモで紹介されるシナリオは、通常、理想的な条件下で実行されるため、そればすべてのように見えますが、マルチコード ワークフローを設計する際には、その有効性に影響を与える可能性のあるすべての変数を考慮する必要があります。コグネックスから入手できるモバイル端末やその他のモバイルソリューションについては、モバイルソリューション製品ガイドをダウンロードしてご覧ください。

他の投稿

サポート、トレーニングなどにまとめてアクセス

MYCOGNEXに登録する

お気軽にお問合せください

Cognex は世界中でお客様のビジョンと工業用バーコドリーダのあらゆるニーズをサポートしています。

お問合わせ
Loading...