从您的IoT设备调用对象检测器-虚拟IoT硬件和RaspberryPi


文档摘要

从您的IoT设备调用对象检测器 - 虚拟IoT硬件和Raspberry Pi 一旦您的对象检测器发布,就可以从您的IoT设备使用它。 复制图像分类器项目 大部分的库存检测器与您在之前的课程中创建的图像分类器相同。 任务 - 复制图像分类器项目 在您的计算机上创建一个名为 的文件夹(如果您正在使用虚拟IoT设备),或者在您的Raspberry Pi上创建。如果您正在使用虚拟IoT设备,请确保设置了一个虚拟环境。 设置相机硬件。 如果您使用的是Raspberry Pi,您需要安装PiCamera。您可能还想将相机固定在一个位置,例如,通过将电缆悬挂在盒子或罐子上,或者使用双面胶带将相机固定在盒子上。

从您的IoT设备调用对象检测器 - 虚拟IoT硬件和Raspberry Pi

一旦您的对象检测器发布,就可以从您的IoT设备使用它。

复制图像分类器项目

大部分的库存检测器与您在之前的课程中创建的图像分类器相同。

任务 - 复制图像分类器项目

  1. 在您的计算机上创建一个名为stock-counter的文件夹(如果您正在使用虚拟IoT设备),或者在您的Raspberry Pi上创建。如果您正在使用虚拟IoT设备,请确保设置了一个虚拟环境。

  2. 设置相机硬件。

    • 如果您使用的是Raspberry Pi,您需要安装PiCamera。您可能还想将相机固定在一个位置,例如,通过将电缆悬挂在盒子或罐子上,或者使用双面胶带将相机固定在盒子上。
    • 如果您使用的是虚拟IoT设备,则需要安装CounterFit和CounterFit PyCamera适配器。如果您要使用静态图片,请捕获一些对象检测器尚未见过的图片;如果您要使用网络摄像头,请确保其位置可以看见您要检测的物品。
  3. 重复制造项目第2课中的步骤以从相机捕获图像。

  4. 重复制造项目第2课中的步骤以调用图像分类器。这部分代码的大部分将被重用于检测对象。

将代码从分类器更改为图像检测器

用于分类图像的代码与用于检测对象的代码非常相似。主要区别在于自定义视觉SDK上调用的方法以及调用的结果。

任务 - 将代码从分类器更改为图像检测器

  1. 删除用于分类图像并处理预测结果的三行代码:

    results = predictor.classify_image(project_id, iteration_name, image) for prediction in results.predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')

    移除这三行。

  2. 添加以下代码以检测图像中的对象:

    results = predictor.detect_image(project_id, iteration_name, image) threshold = 0.3 predictions = list(prediction for prediction in results.predictions if prediction.probability > threshold) for prediction in predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')

    此代码调用预测器上的detect_image方法以运行对象检测器。然后收集所有概率高于阈值的预测,并将其打印到控制台。

    与每次仅返回一个标签结果的图像分类器不同,对象检测器将返回多个结果,因此需要过滤掉概率较低的结果。

  3. 运行此代码,它将捕获一张图像,发送给对象检测器,并打印出检测到的对象。如果您使用的是虚拟IoT设备,请确保在CounterFit中设置了适当的图像,或者选择了我们的网络摄像头。如果您使用的是Raspberry Pi,请确保相机指向货架上的物品。

    pi@raspberrypi:~/stock-counter $ python3 app.py tomato paste: 34.13% tomato paste: 33.95% tomato paste: 35.05% tomato paste: 32.80%

    您可能需要调整threshold以适应您的图像。

    您可以在Custom Vision的预测选项卡中查看所拍摄的图像以及这些值。

    货架上有4个番茄酱罐头,检测结果分别为35.8%,33.5%,25.7%和16.6%

您可以在code-detect/picode-detect/virtual-iot-device文件夹中找到此代码。

您的库存计数程序成功了!

声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。


发布者: 作者: 转发
评论区 (0)
U