Yolo从PC标签输出到Arduino?
问题描述:
我最近对这个关于图像分类的机器学习主题感兴趣。
我绝对不是程序员,但我是一个非常感兴趣的农民,检测水果和蔬菜的质量是一项非常繁琐和耗时的工作,特别是如果您没有钱购买工业机械以中小规模执行这项任务。Yolo从PC标签输出到Arduino?
我最近碰到这个教程来了(不得不修复了不少错误的,因为它是真的不好写的,但它的工作原理):
这基本上是一个未来的水果积木/蔬菜质量分级机。
这个传送带将会有一个Arduino,它将接收来自Python程序的输出,输出应激活舵机以将每个水果/蔬菜重定向到它自己的篮子。
现在我想知道我可以从网络获取标签的输出,并把它转换为数字,例如:
苹果= 1,橙= 2,黄瓜= 3 ...
所以,无论何时它是苹果,Arduino都会收到一个会点亮LED的开关(首先是这个,然后是伺服),橙色和黄瓜也是如此。
这里有2码我认为必须做一些与包装盒标签输出Deploy.py和yolo_net.py
Deploy.py是一个我跑得到直播相机检测:
这是yolo_net.py(如果它有助于在某种程度上回答我的问题):
抱歉粘贴这些代码的链接,但我一直在尝试使用过去35分钟的工具粘贴代码。
答
好了,任何人想要做的,我做了同样的事情:
所有你需要做的就是修改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执行。
感谢您的帮助!我已经回答了我自己,现在可以关闭了!
这不是直接编程相关的。你有没有试过询问https://arduino.stackexchange.com/ – mjwatts
'如果检测到==“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 **,这个类名是我感兴趣的,它可以是苹果,梨等。 现在,我应该在哪里添加与@gre_gor建议的内容类似的行?它在Deploy.py中吗?或yolo_net.py?或在哪里? 类似于: 'if class_name =''apple'':serial.write(1)'。 我没有在arduino se上发布,因为它更像是一个Python上的线,谢谢! – DeibzCanneibz