フッターコンテンツにスキップ
バーコードツール

QRコード機械学習: 開発者向けチュートリアル

クイックレスポンス (QR) コードは、情報の共有とアクセス方法を革新し、現代社会の重要な部分となっています。 これらの2次元バーコードは、黒と白の四角のマトリックスで構成されており、スマートフォンのカメラを使用して、URL、連絡先の詳細、ウェブサイトURL、製品の詳細など、記録された情報を迅速に取得することができます。 しかし、技術が進化するにつれて、QRコードの機能も進化しています。 機械学習 (ML) は、QRコードの生成、認識、デコードプロセスを強化する強力なツールとして登場し、ユーザーエクスペリエンスの向上と大幅な機能向上を実現します。

情報とデータ交換の世界は、QRコードとバーコードの広範な利用によって変革されました。 これらの2次元コードは、デジタルコンテンツに迅速にアクセスでき、さまざまな業界でさまざまな目的にサービスを提供しています。 しかし、特にさまざまなコードの種類に対処する際に、QRコードとバーコードを区別することは難しい場合があります。 機械学習 (ML) と.NET/C# フレームワークの力を利用して、開発者はQRコードとバーコードを正確に分類し、データ処理を効率化し、ユーザーエクスペリエンスを向上させるインテリジェントなシステムを作成できます。 IronBarcodeのデコード機能を統合することで、認識されたコードから正確なコンテンツの抽出がさらに強化されます。

この記事では、入力をバーコードまたはQRコードとして分類するモデルを訓練し、その後でIronBarcodeを使用して入力コードをデコードします。

QR コード分類のための ML.NET モデルビルダーの使用

Model Builderは、Visual Studio内の統合ツールで、直感的なインターフェイスを提供して機械学習モデルの構築プロセスを簡素化します。 Model Builderを使用して、QRコードとバーコードを区別する分類モデルを作成します。 分類が完了したら、IronBarcodeを統合して認識されたコードをデコードします。

ステップ1: データ収集

どのようなモデルを訓練するためにも、最初のステップはデータ収集です。 モデルの訓練にはデータが必要です。 私はKaggleからデータをダウンロードしました。 お好みのソースからダウンロードできます。 データセットをダウンロードした後は、メインディレクトリを作成し、両方のデータセットをそのメインディレクトリ内に置きます。 データは次の2つのサブディレクトリに整理されています:

  1. バーコード
  2. QRコード

QRコード機械学習 (開発者チュートリアル): 図1

次のステップは、Visual Studioを開き、新しい機械学習モデルを作成することです。

ステップ2: Visual Studioでプロジェクトを作成し、新しい機械学習モデルを追加する

Visual Studioでプロジェクトを作成します。 プロジェクトは、ASP.NET Web API、ASP.NET MVC、WEBフォーム、またはコンソールアプリケーションなど、どのタイプでも構いません。 この例では、コンソールアプリケーションを使用しています。 ソリューションエクスプローラーからプロジェクトを右クリックします。 以下のように「追加 > 機械学習モデル」を選択します。

QR コード機械学習 (開発者チュートリアル): 図2

機械学習モデルに名前を付けて、[追加]ボタンをクリックします。

QR コード機械学習 (開発者チュートリアル): 図3

ステップ3: シナリオを選択する

機械学習モデルファイルを追加した後、新しいウィンドウが表示されます。下にスクロールして画像分類を選択します。 画像分類は、このチュートリアルで使用するコンピュータビジョン技術の一つです。 画像認識ではなく画像分類を選択しているのは、与えられた画像からQRコードとバーコードを区別するだけで、認識する必要がないからです。

QR コード機械学習 (開発者チュートリアル): 図4

ステップ4: 環境の選択

シナリオを選択した後の次のステップは、環境を選択することです。 モデルを訓練するためにローカルシステムまたはAzureクラウドのいずれかを選択できます。 Azureを環境として使用するには、Azureへの有効なサブスクリプションが必要です。

ステップ5: データの選択

このステップでは、ステップ1で収集したデータを渡す必要があります。Model Builderの要件に基づいて、データはすでにサブカテゴリに整理されています。

データセットのメインディレクトリのパスを「フォルダーの選択」オプションに提供します。 下記のようにデータをプレビューできます。

QR コード機械学習 (開発者チュートリアル): 図5

データプレビューでQRコードタブをクリックすると、QRコードフォルダーも表示できます。

QR コード機械学習 (開発者チュートリアル): 図6

データを選択したら、「次へ」ボタンをクリックすると、訓練画面に移ります。

ステップ6: モデルの訓練

「訓練モデルの開始」をクリックすると、下のように訓練が開始されます。 Visual Studioが管理者モードで開いていないことを確認してください。そうでないとエラーが発生します。

QR コード機械学習 (開発者チュートリアル): 図7

訓練が開始されると時間がかかります。訓練の所要時間はシステムの性能によって異なります。 Model BuilderはAutoMLを使用します。 適切な機械学習技術、エラー修正レベル、パターン認識、ノイズ低減、コントラスト調整、学習プロセス、その他の設定を自動的に使用します。

ステップ7: モデルの評価

訓練後、テストデータを通じてモデルの性能を評価し、正確な分類を確認します。

ステップ8: モデルの利用

モデルが訓練および評価されたら、それをエクスポートして利用することができます。 私たちの使用ケースでは、バーコードからQRコードを分類し、その後、エンコードされたデータを読み取る必要があります。 機械学習モデルはQRコードやバーコードをデコードできないため、データのデコードにはサードパーティのライブラリが必要です。モデルは単に分類するだけです。

IronBarcodeは、QRコードとバーコードの両方をデコードするのに最適なライブラリです。 簡単な方法で、単一のライブラリを使用して両タイプのコードをデコードすることができます。 次に進む前に、IronBarcodeについて少し紹介しましょう。

Jordi Bardia
ソフトウェアエンジニア
Jordiは、最も得意な言語がPython、C#、C++であり、Iron Softwareでそのスキルを発揮していない時は、ゲームプログラミングをしています。製品テスト、製品開発、研究の責任を分担し、Jordiは継続的な製品改善において多大な価値を追加しています。この多様な経験は彼を挑戦させ続け、興味を持たせており、Iron Softwareで働くことの好きな側面の一つだと言います。Jordiはフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。