Yolo从PC标签输出到Arduino?

Yolo从PC标签输出到Arduino?

问题描述:

我最近对这个关于图像分类的机器学习主题感兴趣。
我绝对不是程序员,但我是一个非常感兴趣的农民,检测水果和蔬菜的质量是一项非常繁琐和耗时的工作,特别是如果您没有钱购买工业机械以中小规模执行这项任务。Yolo从PC标签输出到Arduino?

我最近碰到这个教程来了(不得不修复了不少错误的,因为它是真的不好写的,但它的工作原理):

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

这基本上是一个未来的水果积木/蔬菜质量分级机。

这个传送带将会有一个Arduino,它将接收来自Python程序的输出,输出应激活舵机以将每个水果/蔬菜重定向到它自己的篮子。

现在我想知道我可以从网络获取标签的输出,并把它转换为数字,例如:

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

所以,无论何时它是苹果,Arduino都会收到一个会点亮LED的开关(首先是这个,然后是伺服),橙色和黄瓜也是如此。

这里有2码我认为必须做一些与包装盒标签输出Deploy.py和yolo_net.py

Deploy.py是一个我跑得到直播相机检测:

Deploy.ipynb

这是yolo_net.py(如果它有助于在某种程度上回答我的问题):

yolo_net.py

抱歉粘贴这些代码的链接,但我一直在尝试使用过去35分钟的工具粘贴代码。

+1

这不是直接编程相关的。你有没有试过询问https://arduino.stackexchange.com/ – mjwatts

+0

'如果检测到==“apple”:serial.write(1)'? –

+0

我正在阅读yolo_net.py和Deploy.py文件,并发现以下内容: Deploy.py文件的第40行调用'frame = net.draw_detections(frame,boxes)'和** draw_detections **在yolo_net中找到.py第45行,你可以看到它返回** class_name **,这个类名是我感兴趣的,它可以是苹果,梨等。 现在,我应该在哪里添加与@gre_gor建议的内容类似的行?它在Deploy.py中吗?或yolo_net.py?或在哪里? 类似于: 'if class_name =''apple'':serial.write(1)'。 我没有在arduino se上发布,因为它更像是一个Python上的线,谢谢! – DeibzCanneibz

好了,任何人想要做的,我做了同样的事情:

所有你需要做的就是修改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执行。

感谢您的帮助!我已经回答了我自己,现在可以关闭了!