在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
快速回應(QR)代碼已成為現代社會不可或缺的一部分,徹底改變了資訊共享和存取的方式。 這些二維條碼由黑白方塊矩陣組成,可以使用智能手機相機掃描以快速檢索存儲的信息,例如網址、聯繫資料、網站網址、產品詳細信息等。 然而,隨著技術的演變,QR 碼的功能也在不斷提升。 機器學習(機器學習)已成為增強QR碼生成、識別和解碼過程中的強大工具,從而提升用戶體驗並提高功能性。
資訊與數據交換的世界因為廣泛使用 QR 碼和條形碼而發生了變革。 這些二維碼提供快速進入數位內容的方式,並在各行業中發揮多種用途。 然而,區分 QR 碼和條碼可能具有挑戰性,特別是在處理多樣化的代碼範圍時。 利用機器學習的力量(機器學習)以及 .NET/C# 框架,開發人員可以創建一個智能系統,準確分類 QR 碼和條形碼,簡化數據處理並提升用戶體驗。 集成IronBarcode的解碼功能進一步增強了解決方案,實現從識別的代碼中準確提取內容。
在本文中,我們將訓練模型,將給定的輸入分類為條碼或 QR 碼,然後使用 IronBarcode 解碼輸入代碼。
模型生成器Visual Studio 中的綜合工具,通過提供直觀的界面簡化了構建機器學習模型的過程。 我們將使用模型生成器來創建一個能區分QR碼和條碼的分類模型。 一旦分類完成,我們將整合IronBarcode來解碼已識別的代碼。
訓練任何類型的模型的首要步驟是數據收集。 我們需要數據來訓練模型。 我已從下載數據Kaggle. 您可以根據您的偏好從任何來源下載它。 在下載數據集後,創建一個主目錄,並將兩個數據集放入該主目錄中。 數據被組織到兩個子目錄中:
條碼
QR碼
下一步是開啟 Visual Studio 然後創建一個新的機器學習模型。
在 Visual Studio 中創建您的專案。 專案可以是任何類型,例如 ASP.NET Web API、ASP.NET MVC、WEB Forms 或主控台應用程式。 在此範例中,我正在使用主控台應用程式。 在方案資源管理器中右鍵點擊專案。 選擇新增 > 機器學習模型,如下所示。
為您的機器學習模型命名並點擊“新增”按鈕。
添加機器學習模型文件後,將會出現一個新窗口。向下滾動並選擇圖像分類。 圖像分類是我們在本教程中將使用的計算機視覺技術之一。 我們選擇影像分類而不是影像識別,因為我們只需要區分快速響應代碼。(QR Code)和條碼,我們不需要從給定的圖像中識別它們。
在選擇情境之後的下一步就是選擇環境。 我們可以選擇在本地系統或 Azure 雲端上訓練模型。 我們必須擁有 Azure 的有效訂閱才能將 Azure 作為我們的環境使用。
在此步驟中,我們需要傳遞之前在步驟#1中收集的數據。我們已經按照模型構建器的要求在步驟#1中將數據組織成子類別。
在「選擇資料夾」選項中提供您的資料集主目錄的路徑。 我們可以預覽如下所示的數據。
我們也可以透過點擊數據預覽中的 QR 碼標籤來查看 QR 碼資料夾。
選擇資料後,點擊下一步按鈕,系統將帶您進入訓練畫面。
點擊「開始訓練模型」,然後它將按照下圖開始訓練。 請確保 Visual Studio 未以管理員模式開啟,否則將會引發錯誤。
它將開始訓練,並需要一些時間。訓練的持續時間將根據系統能力而有所不同。 模型建構器使用自動機器學習. 它將自動使用適合的機器學習技術、錯誤更正級別、識別模式、降噪、對比度調整、學習過程和其他設置。
訓練後,透過測試數據評估模型的性能,以確保分類準確。
一旦模型經過訓練和評估,我們就可以匯出並使用它。 在我們的使用案例中,我們必須將 QR Code 與條碼分類,然後讀取其編碼數據。 由於機器學習模型無法解碼 QR 碼或條碼,只能對其進行分類,我們需要一個第三方庫來解碼數據。
IronBarcode是解碼 QR Code 和 Barcode 的理想庫。 我們可以使用單一庫以簡單的方式解碼這兩種類型的代碼。 在進一步進行之前,讓我們先簡要介紹一下IronBarcode。