基于计算机视觉的商品库存系统

在当今数字化时代,计算机视觉技术的应用越来越广泛,其中一个重要应用就是商品识别和库存管理。通过计算机视觉,可以构建一个系统,该系统能够识别图像中的商品,提取商品的属性,并以结构化数据的形式返回。

设想一个场景,正在构建一个面向消费者的包装商品库存目录系统。这个系统应该允许用户拍摄商品的照片,并在系统中注册关于该商品的结构化数据(例如商品名称、ID、SKU)。利用计算机视觉,可以构建这样的系统。

在本指南中,将构建一个商品库存系统。将通过一个示例,让拍摄一袋咖啡的照片,并检索有关咖啡的结构化数据。不需要编写任何代码来开发应用程序的逻辑。可以自定义应用程序以识别不同类型的包装(例如袋子、盒子)。

系统工作流程

要构建系统,将执行以下步骤:

  • 配置系统以接受图像;
  • 使用零样本模型识别商品;
  • 在图像上可视化边界框的位置;
  • 裁剪图像中的所有单独包装;
  • 通过GPT-4模型运行每个商品以提取结构化数据
  • 返回结果。

系统将返回一个JSON结果,该结果可以使用代码进行处理。让详细讨论这个工作流程是如何工作的。

Workflows是一个低代码计算机视觉应用程序构建器。通过Workflows,可以在Web界面中构建复杂的计算机视觉应用程序,然后使用Roboflow云、边缘设备(如NVIDIA Jetson)或任何云提供商(如GCP或AWS)部署Workflows。

Workflows为项目提供了广泛的预构建功能,可以在Workflows Web编辑器中测试管道,允许在不编写任何代码的情况下迭代开发逻辑。

首先,需要能够检测商品。对于这项任务,将使用YOLO-World,这是一个零样本对象识别模型。可以使用YOLO-World来检测常见对象(例如盒子、商品包装),而无需训练一个微调模型。

通过使用YOLO-World,可以在不花费时间构建自定义模型的情况下检测商品。为了检测咖啡包装,向模型提供文本提示“咖啡包装”:

YOLO-World.detect("咖啡包装")

一旦YOLO-World检测到商品,将使用动态裁剪块裁剪它们。这将使用YOLO-World的检测结果创建新图像。例如,如果图像包含三个咖啡包,将创建三个图像:每个包装一个。

要从每个包装中提取信息,将使用GPT-4模型。将为原始图像的每个裁剪区域调用一次GPT-4模型。通过提前裁剪图像,可以将每个响应归因于一个图像。这意味着可以将响应与图像关联起来,因此库存系统可以保存特定包装的图像以及从图像中提取的元数据。

要从包装中提取数据,使用GPT-4模型。这个模型通过大型多模态模型(LMM)块访问。提供提示“读取咖啡袋上的信息”,然后使用自定义JSON提示在“JSON输出”字段中提取特定信息:

{ "烘焙日期": "烘焙日期", "国家": "国家", "风味笔记": "风味笔记" }

第一个值是工作流程将返回的标签,第二个是与每个值关联的提示。

工作流程包含一个边界框可视化块。这个块将显示YOLO-World返回的所有预测。这对于调试非常有用;可以看到YOLO-World检测到的确切区域。

已经配置了工作流程以返回三个值:

  • YOLO-World的预测,用于包装检测的模型;
  • 边界框可视化器的响应;
  • 来自GPT-4模型的结构化数据响应。

要测试工作流程,请点击页面顶部的“运行预览”。要运行预览,首先将图像拖放到图像输入字段中。点击“运行预览”以运行工作流程。工作流程将运行并提供两个输出:

  • 一个JSON视图,包含配置的工作流程返回的所有数据;
  • 一个可视化预测的视图,使用包含在工作流程中的边界框可视化块绘制。

让在这张图像上运行工作流程:

工作流程返回一个包含GPT-4模型数据的JSON响应,以及显示YOLO-World检测到的边界框区域的视觉响应。

{ "structured_output": { "烘焙日期": "2020年8月9日", "国家": "秘鲁,哥伦比亚", "风味笔记": "巧克力,焦糖,柑橘" } }

工作流程可以在Roboflow云中部署,也可以在边缘设备上部署,如NVIDIA Jetson或Raspberry Pi。要部署工作流程,请点击工作流程构建器中的“部署工作流程”。然后,可以选择想要部署工作流程的方式。

可以使用计算机视觉构建复杂的包装理解系统。在本指南中,使用Roboflow Workflows构建了一个工具,该工具可以识别咖啡袋并从咖啡袋中提取数据。然后,这些数据以JSON形式返回,可以保存在包装索引系统中。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485