在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
快速反应(QR)代码已成为现代社会不可或缺的一部分,彻底改变了信息共享和访问的方式。 这些二维 BarCode 由黑白方块矩阵组成,使用智能手机摄像头扫描即可快速检索存储的信息,如 URL、联系方式、网站 URL、产品详细信息等。 然而,随着技术的发展,二维码的功能也在不断提升。 机器学习(ML)在增强 QR 代码生成、识别和解码过程中,《QR.NET》已成为一种强大的工具,可带来更好的用户体验和更强大的功能。
二维码和 BarCode 的广泛使用改变了信息和数据交换的世界。 这些二维码可以快速访问数字内容,在各行各业发挥着不同的作用。 然而,区分 QR 码和 BarCode 可能具有挑战性,尤其是在处理各种不同的代码时。 利用机器学习的强大功能(ML)通过.NET/C# Framework,开发人员可以创建一个智能系统,对 QR 码和 BarCode 进行准确分类,从而简化数据处理并增强用户体验。 集成 IronBarcode 的解码功能进一步增强了该解决方案,可从识别的代码中准确提取内容。
在本文中,我们将对模型进行训练,该模型将把给定的输入内容分类为 BarCode 或 QR Code,之后,我们将使用 IronBarcode 对输入代码进行解码。
模型建造者机器学习 "是 Visual Studio 中的一个集成工具,通过提供直观的界面简化了构建机器学习模型的过程。 我们将使用 Model Builder 创建一个区分 QR 码和 BarCode 的分类模型。 分类完成后,我们将整合 IronBarcode,对识别的代码进行解码。
训练任何一种模型的第一步都是收集数据。 我们需要数据来训练模型。 我已从以下网站下载了数据Kaggle. 您可以根据自己的喜好从任何来源下载。 下载数据集后,创建一个主目录,并将两个数据集放在该主目录中。 数据分为两个子目录:
条形码
QR 码
下一步是打开 Visual Studio,创建一个新的机器学习模型。
在 Visual Studio 中创建项目。 项目可以是任何类型,如 ASP.NET Web API、ASP.NET MVC、WEB 窗体或控制台应用程序。 在本例中,我使用的是控制台应用程序。 右键单击解决方案资源管理器中的项目。 如下图所示,选择添加 > 机器学习模型。
为您的机器学习模型命名,然后单击 "添加 "按钮。
添加机器学习模型文件后,将出现一个新窗口。向下滚动,选择 图像分类。 图像分类是我们将在本教程中使用的计算机视觉技术之一。 我们选择图像分类而不是图像识别,因为我们只需要区分快速反应代码(二维码)和 BarCode,我们不需要从给定的图像中识别它们。
选择场景后的下一步就是选择环境。 我们可以选择本地系统或 Azure 云来训练模型。 我们必须拥有 Azure 的有效订阅,才能使用 Azure 作为我们的环境。
在这一步中,我们需要传递之前在第 1 步中收集的数据。在步骤 #1 中,我们已经按照模型生成器的要求将数据组织成子类别。
在 "选择文件夹 "选项中提供数据集主目录的路径。 我们可以预览下图所示的数据。
我们还可以通过点击数据预览中的 QR 码选项卡来查看 QR 码文件夹。
选择数据后,单击 "下一步 "按钮,即可进入培训页面。
单击 "开始培训模型",培训就会开始,如下图所示。 请确保 Visual Studio 不是以管理员模式打开,否则会出错。
这将开始培训,需要时间。培训时间将根据系统能力而有所不同。 模型生成器使用AutoML. 它将自动使用合适的机器学习技术、纠错级别、识别模式、降噪、对比度调整、学习过程和其他相应设置。
训练完成后,通过测试数据评估模型的性能,确保分类准确无误。
一旦模型经过训练和评估,我们就可以导出和使用它。 在我们的用例中,我们必须从条形码中对 QR 码进行分类,然后读取其编码数据。 我们需要一个用于解码数据的第三方库,因为机器学习模型无法解码 QR 码或 BarCode,它只会对其进行分类。
IronBarcode是解码 QR 码和 BarCode 的理想库。 我们可以使用一个库直接解码这两种类型的代码。 在继续之前,让我们先来了解一下 IronBarcode。