【问题标题】:Yolo net label output from PC to an Arduino?从 PC 到 Arduino 的 Yolo 网络标签输出?
【发布时间】:2018-05-01 18:15:16
【问题描述】:

我最近对这个关于图像分类的机器学习主题产生了兴趣。
我绝不是程序员,但我是一个对此非常感兴趣的农民,而检测水果和蔬菜的质量是一项非常繁琐且耗时的任务,特别是如果您没有钱购买工业机械以中小型规模执行此任务。

我最近遇到了这个教程(不得不修复很多错误,因为它写得真的很糟糕,但它确实有效):

https://imaginghub.com/projects/148-how-to-distinguish-apples-and-pears-with-raspberry-pi/documentation

这基本上是未来水果/蔬菜质量分级机的基石。

这条传送带将有一个 Arduino,它将接收 Python 程序的输出,该输出应激活伺服系统以将每个水果/蔬菜重定向到自己的篮子。

现在我想知道如何从网络中获取标签输出并将其转换为数字,例如:

苹果 = 1,橙子 = 2,黄瓜 = 3...

因此,只要是苹果,Arduino 就会收到一个 1 来点亮一个 LED(首先是这个,然后是伺服),橙色和黄瓜等也会发生同样的情况。

这是我认为必须对框标签输出 Deploy.py 和 yolo_net.py 做一些事情的 2 个代码

Deploy.py 是我为获取实时摄像头检测器而运行的文件:

Deploy.ipynb

这是 yolo_net.py(如果它有助于以某种方式回答我的问题):

yolo_net.py

【问题讨论】:

  • 这与编程没有直接关系。你试过问arduino.stackexchange.com
  • if detected == "apple": serial.write(1)?
  • 我正在阅读 yolo_net.py 和 Deploy.py 文件并发现以下内容: 文件 Deploy.py 的第 40 行调用 frame = net.draw_detections(frame, boxes)draw_detections 在 yolo_net 中找到.py 第 45 行,在那里你可以看到它返回 class_name,那个类名是我感兴趣的,它可以是 apple、pear 等。现在,我应该在哪里添加类似的行@gre_gor 建议什么?它在 Deploy.py 中吗?还是 yolo_net.py?还是在哪里?类似:if class_name = ''apple'': serial.write(1)。我没有在 arduino se 上发帖,因为它更像是 python 上的一行,谢谢!

标签: arduino cv2 darkflow


【解决方案1】:

您所要做的就是修改 yolo_net.py 文件并在 def draw_detections(self, image, boxes): 下转到第 63 行, 它应该说

cv2.putText  (image, class_name, (left, top - 12), 0, 1e-3 * h, self.colors[class_indx], thick//2)  

您应该在该行下方添加您希望 arduino 执行的操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-16
    • 2013-01-28
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 2018-12-28
    相关资源
    最近更新 更多