ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
クイックレスポンス (QR) コードは、シームレスなデータ共有と情報検索を促進するために、我々のデジタル生活の不可欠な部分となっています。 画像中のQRコードを認識することは、人工知能の一分野であるディープラーニングの貴重な応用です。 この記事では、.NET/C#を使用してディープラーニングによるQRコード認識システムの構築プロセスを案内します。
ディープラーニングは、機械学習の一分野であり、ニューラルネットワークをトレーニングしてデータから複雑なパターンを学習することを含みます。 QRコード認識の文脈では、ディープラーニングモデルをトレーニングすることで、さまざまなサイズ、向き、および状況の画像からQRコードを識別し、デコードすることができます。 畳み込みニューラルネットワーク (畳み込みニューラルネットワーク (CNNs)) それらは、複雑な視覚的特徴を捉える能力があるため、QRコード認識のような画像ベースのタスクに人気の選択肢です。
この記事では、 ML.NET モデルビルダー モデルをトレーニングするために。
モデルビルダー は、Microsoftが提供する強力なツールです。 ML.NET (そのままで) .NET/C# で機械学習モデルを構築するためのフレームワーク。 それは機械学習アルゴリズムの詳細な知識や幅広いコーディングの専門知識を必要とせずに、カスタムマシンラーニングモデルの作成プロセスを簡素化し、加速します。Model Builderはユーザーフレンドリーでアクセスしやすいように設計されており、アプリケーションに機械学習の能力を取り入れたい開発者にとって素晴らしいツールです。 モデルビルダーはAutoMLをサポートしており、さまざまな機械学習アルゴリズムや設定を自動的に探索して、あなたのシナリオに最も適したものを見つけるのに役立ちます。
Model Builderを使用してQRコード認識モデルを訓練するには、モデルの作成と訓練のプロセスを案内する一連の手順が含まれます。 このステップバイステップガイドでは、.NET/C#のModel Builderを使用してQRコードモデルをトレーニングする各段階をご案内します。
実装に進む前に、以下の前提条件を確認してください:
Visual Studio: ダウンロードしてインストール ビジュアルスタジオ汎用の統合開発環境 (IDE (統合開発環境)) .NET開発用。
これ](https://marketplace.visualstudio.com/items?itemName=MLNET.ModelBuilder2022).
私たちのモデルをトレーニングするために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 started! Roboflow. この例のために、RoboflowからQRコード画像をダウンロードしました。
Visual Studioプロジェクトを開く。
プロジェクトを右クリック > 追加 > 機械学習モデル...
次のウィンドウが表示されます。
モデル名を入力し、[追加]ボタンをクリックします。 次のウィンドウが表示されます:
スクロールダウンして、コンピュータービジョンの下にある「オブジェクト検出」を見つけてください。
提供されたデータセットからQRコードを検出する必要があるため、「Object detection」を選択します。 お好みに応じて、ローカルまたはAzureを選択してください。 この例では「Local」を選択しています。
Localをクリックすると、次のウィンドウが表示されます:
お好みに応じてローカルのCPUまたはGPUを選択してください。また、Azureを選択することもできます。 そのためには、アクティブなAzureサブスクリプションが必要です。 テスト環境を選択した後、「次へ」ボタンをクリックしてください。 次のウィンドウが表示されます。
データの選択はトレーニングプロセスの最も重要な部分です。 前述のとおり、データを取得します。 Robo Flow(ロボフロー). RoboFlowを開き、QRコードを検索してください。 データには白いQRコードが含まれている場合や、多くのローカル機能が含まれている場合があります。 QR検出コンピュータビジョンを使用しています データセット このチュートリアル用に。 フォーマットを選択してデータをダウンロードしてください。 このデータをダウンロードするためにCOCOフォーマットを選択しました。 このフォーマットは、今後データ前処理および画像認識に使用されます。
データが揃いましたので、Visual Studioに戻りましょう。 上記でダウンロードしたCocoファイルの入力パスを選択してください。 また、Vottを選択することもできますが、その場合はデータ用のVottファイルを作成する必要があります。 次のウィンドウが表示されます。
次のステップボタンをクリックして、トレインタブに移動します。
それでは、「Start Training Model」をクリックしてトレーニングを開始してください。 モデルビルダーは自動的にバイナリ画像に変換し、指定されたニューラルネットワークを使用します。 何も指定する必要はありません。 Model Builderの最も素晴らしい点は、ディープラーニングの背景がほとんどない開発者でも、モデルのトレーニング、テスト、および使用ができることです。
モデルビルダーは指定されたデータセットでモデルの訓練を行い、訓練の進行状況を表示します。 上記のトレーニングにはシステムに応じて時間がかかります。 このモデルはQRコードを一つずつ取り込み、それぞれの特徴を学習します。 トレーニングが完了したら、任意のテストQRコード画像をモデルに渡して、そのモデルをテストすることができます。
トレーニング完了後、Model Builderは検証データに基づいてモデルの性能を評価します。
評価指標として、正確率、精度、再現率、F1スコアが表示されます。 これらの指標は、モデルのパフォーマンスを評価します。
モデルがトレーニングされ、QRコード検出器が準備できたので、そのモデルを利用してコードを検出し、検出されたQRコードをデコードする必要があります。 このモデルは、与えられた入力にクイックレスポンスコードが含まれているかどうかだけを検出します。 これはQRコードをデコードしません。 QRコードのデコードには、サードパーティのライブラリが必要です。 Iron Barcodeは、QR Codeイメージを読み取るための最高のライブラリです。 先に進む前に、IronBarcodeについて少し探ってみましょう。
IronBarcode は、URL、テキスト、連絡先情報などの情報をエンコードするために広く使用されている2Dバーコードの一種であるQRコードを扱うために特別に設計された.NETライブラリです。 このライブラリは、サイズ、色、エラー訂正などのカスタマイズ可能な特徴を持つQRコードを生成できる直感的なツールを開発者に提供することで、QRコードの生成を簡素化します。
さらに、IronBarcodeは、画像に埋め込まれたQRコードから情報を抽出することを可能にし、QRコードの生成および解読機能を.NETアプリケーションにシームレスに統合するための不可欠なリソースとなります。
このチュートリアルでは、モデルからQRコードが検出された場合にそのQRコードのデコードに使用します。
NuGet パッケージ マネージャー コンソールに次のコマンドを入力してダウンロードします IronBarcode NuGetパッケージ.
Install-Package BarCode
上記のコマンドはIronBarcodeパッケージをインストールし、プロジェクトに参照を追加します。
次のコードを記述して、検出された単一の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())
以下は出力結果です:
結論として、Model Builder と IronBarcode ライブラリーは、QRコードを扱いたい .NET 開発者にとって貴重な組み合わせです。 Model Builderは、QRコード認識用のモデルの作成およびトレーニングの難しい作業を非常に簡単にします。 さらに、IronBarcodeライブラリを追加すると、さらに簡単になります。画像からQRコードを問題なく読み取るのに役立ちます。 このチームワークは、在庫およびマーケティングのタスクを改善するだけでなく、あなたのアプリケーションの使い心地をより楽しいものにします。 Model BuilderとIronBarcodeが一緒になると、.NETアプリケーションに高度な技術が組み込まれ、QRコードに関するさまざまなクールな可能性が広がります。 IronBarcode 商用ライセンスは非常に低コストで提供されており 無料試用ライセンス.
9つの .NET API製品 オフィス文書用