在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
快速回應 (QR) 代码已成为现代社会不可或缺的一部分,彻底改变了信息共享和访问的方式。这些二维条码由黑白方阵组成,可以使用智能手机相机扫描,快速检索存储的信息,例如URL、联系方式、网站URL、产品详情等。然而,随着技术的发展,QR码的功能也在不断进步。机器学习 (機器學習) 成為增強 QR 碼生成、識別和解碼流程的強大工具,從而提升用戶體驗並提高功能。
信息與數據交換的世界已被 QR 碼和條碼的廣泛使用所改變。這些二維碼提供了快速訪問數位內容的方法,並在各行各業中發揮多種功能。然而,在面對各種多樣化的代碼時,區分 QR 碼和條碼可能會具有挑戰性。然而,透過利用機器學習的力量 (機器學習) 和 .NET/C# 框架,開發者可以創建一個能夠精確分類 QR 碼和條碼的智能系統,從而簡化數據處理並提升用戶體驗。整合 IronBarcode 的解碼功能進一步強化了解決方案,使得從識別出的代碼中提取準確內容成為可能。
在本文中,我們將訓練模型來分類給定的輸入為條碼或 QR 碼,隨後我們將使用 IronBarcode 對輸入代碼進行解碼。
模型生成器在 Visual Studio 中集成的一個工具,通過提供直觀的界面簡化了構建機器學習模型的過程。我們將使用 Model Builder 創建一個分類模型,以區分 QR 碼和條形碼。分類完成後,我們將集成 IronBarcode 來解碼識別出的代碼。
訓練任何模型的第一步是數據收集。我們需要數據來訓練模型。我已經從网上下載了數據 Kaggle您可以從任何來源下載它,根據您的喜好進行選擇。下載數據集後,創建一個主目錄,並將這兩個數據集放入該主目錄中。數據組織為兩個子目錄:
條形碼
下一步是打開 Visual Studio 並創建一個新的機器學習模型。
在 Visual Studio 中建立您的專案。該專案可以是任何類型,例如 ASP.NET Web API、ASP.NET MVC、WEB Forms 或控制台應用程式。在這個例子中,我使用的是控制台應用程式。從 Solution Explorer 中右鍵點擊專案。選擇新增 > 機器學習模型,如下所示。
命名您的機器學習模型,然後點擊新增按鈕。
在添加機器學習模型文件後,將出現一個新窗口。向下滾動並選擇 圖像分類。圖像分類是本文教程中要使用的計算機視覺技術之一。我們選擇圖像分類而不是圖像識別,因為我們只需要區別快速響應碼。 (QR Code) 和條碼,我們不需要從指定的圖像中識別它們。
選擇情境後的下一步是選擇環境。我們可以選擇本地系统或 Azure Cloud 來訓練模型。要使用 Azure 作為環境,我們必須有 Active 訂閱。
在此步驟中,我們需要傳遞在步驟 #1 中收集到的資料。我們已經在步驟 #1 中根據模型生成器的要求將資料組織成子類別。
在選擇資料夾選項中提供資料集主目錄的路徑。如下面顯示,我們可以預覽我們的資料。
我們也可以通過點擊數據預覽中的 QR 碼標籤來查看 QR 碼文件夾。
選擇資料後,點擊下一步按鈕,將進入訓練畫面。
點擊「開始訓練模型」,此時將會如圖所示開始訓練。請確保 Visual Studio 沒有以管理員模式開啟,否則將會出錯。
它將開始訓練並且需要一些時間。訓練的持續時間將取決於系統能力。Model Builder 使用 自動機器學習它會自動使用合適的機器學習技術、錯誤更正等級、識別模式、噪音減少、對比調整、學習過程以及其他設置。
訓練完成後,通過測試數據來評估模型的性能,以確保準確的分類。
一旦模型被訓練和評估完畢,我們可以導出並使用它。在我們的應用場景中,我們必須先從條碼中分類出 QR 碼,然後讀取其編碼數據。由於機器學習模型無法解碼 QR 碼或條碼,它只會進行分類,因此我們需要一個第三方庫來解碼數據。
IronBarcode 是一個解碼 QR Code 和條碼的理想程式庫。 我們可以使用單一程式庫以簡單的方式解碼這兩種類型的代碼。在進一步介紹之前,讓我們先簡單介紹一下 IronBarcode。