在没有吸管,或者吸管变形的情况下,果汁盒就不适合使用。消费者将无法享用产品。可以使用计算机视觉技术构建一个果汁盒质量检测系统。通过计算机视觉,可以对生产线上的果汁盒图像进行分类,以识别可能的缺陷。缺陷可能包括缺失的吸管、弯曲的吸管,以及穿透其包装的吸管。
首先,创建一个免费的Roboflow账户。然后,转到Roboflow仪表板并点击“创建项目”。在此页面上,系统会要求为项目选择一个名称,选择项目类型,并填写其他信息。在选择项目类型时,选择分类。这是因为将对果汁盒是否存在缺陷进行分类。不需要知道缺陷在哪里,这是目标检测和分割模型的专长。
点击页面底部的“创建项目”以创建项目。
要构建计算机视觉系统,需要展示合格和不合格产品的图像。可以对这些图像进行标记,以教导系统如何识别不同的缺陷。例如,可能想要收集盒子里缺少吸管或吸管在包装内弯曲的图像。建议收集50-100张图像。其中,应该至少有10张每种想要分类的缺陷的图像。为了获得最佳性能,应该从生产线上收集图像。计算机视觉系统在训练时使用代表系统将被使用的设备和产品环境的图像时效果最佳。
收集完图像后,可以将它们上传到Roboflow。当上传图像时,它们将被处理。然后,会出现一个按钮,上面写着“保存并继续”。点击此按钮将图像上传到Roboflow。
接下来,需要标记将用于训练视觉模型以确保果汁盒质量的图像。要开始标记图像,请点击Roboflow项目左侧边栏中的“标注”。点击图像开始标记。要标记图像,请在标记工具中输入图像的标签。请记住在标记数据集时使用一致的、描述性的标签。
对于本指南,将使用四个标签:穿透吸管、松动吸管、缺失吸管、正确包装的吸管(可接受)。为每个图像分配一个标签。标记数据集中的每个图像。
一旦标记了数据,可以生成一个数据集版本。数据集版本是数据集的快照,可以使用它来训练果汁盒质量模型。点击Roboflow侧边栏中的“生成”。在此页面上,可以配置数据集版本。可以应用预处理和增强步骤,以帮助准备模型进行训练,并分别提高模型性能。
对于本指南,建议将预处理和增强步骤保留为其默认值。在知道模型在没有增强的情况下使用原始数据的表现如何之前,添加增强步骤更容易。如果模型在没有增强的情况下表现良好,可能不需要添加增强。如果模型在没有增强的情况下表现不佳,这表明可能需要更多的图像。
要了解更多关于图像预处理和增强的信息,请参考Roboflow预处理和增强指南。点击页面底部的“创建”以生成数据集版本。此过程所需的时间取决于数据集中的图像数量以及应用的增强程度。生成数据集后,将被带到可以开始训练模型的页面。
要训练模型,请在数据集版本页面上点击“使用Roboflow训练”按钮。一个弹出窗口将出现,可以在其中配置模型训练作业。在第一步中,选择“快速”训练。在第二步中,选择“从公共检查点训练”选项,并从Microsoft COCO模型进行训练。
配置好训练作业后,模型训练将被分配到一个服务器。将收到一个估计,说明认为模型训练将需要多长时间。一旦模型训练完成,可以使用Roboflow仪表板项目侧边栏中可访问的可视化页面在浏览器中测试它。
以下是模型在图像上运行的示例:模型成功识别出该盒子是可接受的。当呈现一个带有松动吸管的盒子时,模型识别出缺陷。
可以使用Roboflow Inference将果汁盒质量检测系统部署到生产线上。Inference是为运行计算机视觉模型而设计的高性能软件。可以使用Inference在相机和RTSP流上实时运行视觉模型。还可以在图像上运行推理。
对于本指南,将在相机流上运行推理。要开始,需要安装Inference和supervision。supervision Python包提供了可以使用的工具,以便与模型的预测一起工作。要安装这些依赖项,请运行以下命令:
pip install inference supervision
有了所需的依赖项后,可以开始部署模型。创建一个新的Python文件并添加以下代码:
from inference import get_roboflow_model
import supervision as sv
import cv2
image = cv2.imread("juice.png")
model = get_roboflow_model(model_id="juice-box-quality-assurance/1")
results = model.infer(image)
print(results[0].predictions[0].class_name)
在上面的代码中,将'juice-box-inspection/1'替换为Roboflow项目关联的模型ID。了解如何检索模型ID。这段代码将在图像上运行分类模型。结果将显示在屏幕上,以交互方式进行。
让在以下图像上运行代码:代码返回分类结果为'no-straw'。系统正确地分类了果汁盒吸管是否完好,以及吸管是否缺失或损坏。
可以将此系统连接到自己的业务逻辑。例如,可以自动拒绝缺少吸管的产品,并将它们移动到装配线上的吸管附加过程。还可以监控缺陷的发生率。
可以使用计算机视觉构建果汁盒质量检测系统。在本指南中,介绍了如何构建一个分类系统,以识别盒子是否有吸管、缺少吸管或有缺陷的吸管。要构建此系统,收集了图像,在Roboflow中对它们进行了标记,训练了一个分类模型,然后使用Roboflow Inference在网络摄像头上部署了系统。