バーコードツールズ

ディープラーニングを用いたQRコード認識の理解方法

公開済み 2023年8月29日
共有:

クイックレスポンス(QR)コードは、シームレスなデータ共有と情報検索を促進するために、我々のデジタル生活の不可欠な部分となっています。 画像中のQRコードを認識することは、人工知能の一分野であるディープラーニングの貴重な応用です。 この記事では、.NET/C#を使用してディープラーニングによるQRコード認識システムの構築プロセスを案内します。

深層学習によるQRコード認識の理解

ディープラーニングは、機械学習の一分野であり、ニューラルネットワークをトレーニングしてデータから複雑なパターンを学習することを含みます。 QRコード認識の文脈では、ディープラーニングモデルをトレーニングすることで、さまざまなサイズ、向き、および状況の画像からQRコードを識別し、デコードすることができます。 畳み込みニューラルネットワーク(畳み込みニューラルネットワーク (CNNs))それらは、複雑な視覚的特徴を捉える能力があるため、QRコード認識のような画像ベースのタスクに人気の選択肢です。

この記事では、ML.NET モデルビルダーモデルをトレーニングするために。

ML.NET モデルビルダー

モデルビルダーは、Microsoftが提供する強力なツールです。ML.NET.NET/C# で機械学習モデルを構築するためのフレームワーク。 それは機械学習アルゴリズムの詳細な知識や幅広いコーディングの専門知識を必要とせずに、カスタムマシンラーニングモデルの作成プロセスを簡素化し、加速します。Model Builderはユーザーフレンドリーでアクセスしやすいように設計されており、アプリケーションに機械学習の能力を取り入れたい開発者にとって素晴らしいツールです。 モデルビルダーはAutoMLをサポートしており、さまざまな機械学習アルゴリズムや設定を自動的に探索して、あなたのシナリオに最も適したものを見つけるのに役立ちます。

QRコード認識モデルのトレーニング

Model Builderを使用してQRコード認識モデルを訓練するには、モデルの作成と訓練のプロセスを案内する一連の手順が含まれます。 このステップバイステップガイドでは、.NET/C#のModel Builderを使用してQRコードモデルをトレーニングする各段階をご案内します。

ステップ1: 環境の設定

実装に進む前に、以下の前提条件を確認してください:

  • Visual Studio: ダウンロードしてインストールビジュアルスタジオ汎用の統合開発環境(IDE (統合開発環境)).NET開発用。

    • モデルビルダー:ML.NET モデルビルダーをダウンロードするには、クリックしてください[Here is the translation of the given text into Japanese:

これ](https://marketplace.visualstudio.com/items?itemName=MLNET.ModelBuilder2022).

ステップ 2:データ準備

私たちのモデルをトレーニングするためにQRコード画像が必要です。 QRコード画像を取得するにはKaggle (カグル)はい、以下の内容を日本語に翻訳いたします:

以下の内容を日本語に翻訳してください:

IronPDF allows developers to generate, edit and read PDF files in .NET applications. It simplifies the process of integrating PDF functionalities into software development projects.

Let's get startedRoboflow. この例のために、RoboflowからQRコード画像をダウンロードしました。

ステップ3: モデルビルダーを開く

Visual Studioプロジェクトを開く。

プロジェクトを右クリック > 追加 > 機械学習モデル...

ディープラーニングによるQRコード認識の理解方法:図1

次のウィンドウが表示されます。

深層学習を用いたQRコード認識の理解方法: 図2

モデル名を入力し、[追加]ボタンをクリックします。 次のウィンドウが表示されます:

ディープラーニングによるQRコード認識の理解方法:図3

スクロールダウンして、コンピュータービジョンの下にある「オブジェクト検出」を見つけてください。

ディープラーニングを用いたQRコード認識の理解方法:図4

ステップ4: トレーニング環境を選択

提供されたデータセットからQRコードを検出する必要があるため、「Object detection」を選択します。 お好みに応じて、ローカルまたはAzureを選択してください。 この例では「Local」を選択しています。

Localをクリックすると、次のウィンドウが表示されます:

ディープラーニングによるQRコード認識の理解方法:図5

お好みに応じてローカルのCPUまたはGPUを選択してください。また、Azureを選択することもできます。 そのためには、アクティブなAzureサブスクリプションが必要です。 テスト環境を選択した後、「次へ」ボタンをクリックしてください。 次のウィンドウが表示されます。

ディープラーニングを使用したQRコード認識の理解方法:図6

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

データの選択はトレーニングプロセスの最も重要な部分です。 前述のとおり、データを取得します。Robo Flow(ロボフロー). RoboFlowを開き、QRコードを検索してください。 データには白いQRコードが含まれている場合や、多くのローカル機能が含まれている場合があります。 QR検出コンピュータビジョンを使用していますデータセットこのチュートリアル用に。 フォーマットを選択してデータをダウンロードしてください。 このデータをダウンロードするためにCOCOフォーマットを選択しました。 このフォーマットは、今後データ前処理および画像認識に使用されます。

深層学習によるQRコード認識の理解方法:図7

データが揃いましたので、Visual Studioに戻りましょう。 上記でダウンロードしたCocoファイルの入力パスを選択してください。 また、Vottを選択することもできますが、その場合はデータ用のVottファイルを作成する必要があります。 次のウィンドウが表示されます。

ディープラーニングによるQRコード認識の理解方法:図8

次のステップボタンをクリックして、トレインタブに移動します。

ディープラーニングを使用したQRコード認識の理解方法: 図9

ステップ6: QRコード検出モデルのトレーニング

それでは、「Start Training Model」をクリックしてトレーニングを開始してください。 モデルビルダーは自動的にバイナリ画像に変換し、指定されたニューラルネットワークを使用します。 何も指定する必要はありません。 Model Builderの最も素晴らしい点は、ディープラーニングの背景がほとんどない開発者でも、モデルのトレーニング、テスト、および使用ができることです。

ディープラーニングによるQRコード認識の理解方法:図10

モデルビルダーは指定されたデータセットでモデルの訓練を行い、訓練の進行状況を表示します。 上記のトレーニングにはシステムに応じて時間がかかります。 このモデルはQRコードを一つずつ取り込み、それぞれの特徴を学習します。 トレーニングが完了したら、任意のテストQRコード画像をモデルに渡して、そのモデルをテストすることができます。

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

トレーニング完了後、Model Builderは検証データに基づいてモデルの性能を評価します。

評価指標として、正確率、精度、再現率、F1スコアが表示されます。 これらの指標は、モデルのパフォーマンスを評価します。

ステップ 8: コンシューム

モデルがトレーニングされ、QRコード検出器が準備できたので、そのモデルを利用してコードを検出し、検出されたQRコードをデコードする必要があります。 このモデルは、与えられた入力にクイックレスポンスコードが含まれているかどうかだけを検出します。 これはQRコードをデコードしません。 QRコードのデコードには、サードパーティのライブラリが必要です。 Iron Barcodeは、QR Codeイメージを読み取るための最高のライブラリです。 先に進む前に、IronBarcodeについて少し探ってみましょう。

IronBarcode - QRコードデコードライブラリ

IronBarcodeは、URL、テキスト、連絡先情報などの情報をエンコードするために広く使用されている2Dバーコードの一種であるQRコードを扱うために特別に設計された.NETライブラリです。 このライブラリは、サイズ、色、エラー訂正などのカスタマイズ可能な特徴を持つQRコードを生成できる直感的なツールを開発者に提供することで、QRコードの生成を簡素化します。

さらに、IronBarcodeは、画像に埋め込まれたQRコードから情報を抽出することを可能にし、QRコードの生成および解読機能を.NETアプリケーションにシームレスに統合するための不可欠なリソースとなります。

このチュートリアルでは、モデルからQRコードが検出された場合にそのQRコードのデコードに使用します。

Iron Barcode NuGetパッケージをインストール

NuGet パッケージ マネージャー コンソールに次のコマンドを入力してダウンロードしますIronBarcode NuGetパッケージ.

Install-Package BarCode

上記のコマンドはIronBarcodeパッケージをインストールし、プロジェクトに参照を追加します。

ディープラーニングによるQRコード認識の理解方法: 図11

QRコードをデコードする

次のコードを記述して、検出された単一のQRコードを読み取ります。

using IronBarCode;

string qrCodeImagePath = "myQrCode.png";
var data = BarcodeReader.QuicklyReadOneBarcode(qrCodeImagePath);
Console.WriteLine(data.Value.ToString());
using IronBarCode;

string qrCodeImagePath = "myQrCode.png";
var data = BarcodeReader.QuicklyReadOneBarcode(qrCodeImagePath);
Console.WriteLine(data.Value.ToString());
Imports IronBarCode

Private qrCodeImagePath As String = "myQrCode.png"
Private data = BarcodeReader.QuicklyReadOneBarcode(qrCodeImagePath)
Console.WriteLine(data.Value.ToString())
VB   C#

以下は出力結果です:

ディープラーニングによるQRコード認識の理解方法: 図12

結論

結論として、Model Builder と IronBarcode ライブラリーは、QRコードを扱いたい .NET 開発者にとって貴重な組み合わせです。 Model Builderは、QRコード認識用のモデルの作成およびトレーニングの難しい作業を非常に簡単にします。 さらに、IronBarcodeライブラリを追加すると、さらに簡単になります。画像からQRコードを問題なく読み取るのに役立ちます。 このチームワークは、在庫およびマーケティングのタスクを改善するだけでなく、あなたのアプリケーションの使い心地をより楽しいものにします。 Model BuilderとIronBarcodeが一緒になると、.NETアプリケーションに高度な技術が組み込まれ、QRコードに関するさまざまなクールな可能性が広がります。 IronBarcode商用ライセンスは非常に低コストで提供されており無料試用ライセンス.

< 以前
バージョン4 QRコード 最大50文字 (初心者ガイド)
次へ >
GoogleフォームのQRコードを作成する方法