2017-11-17 474 views
-1

我最近對這個關於圖像分類的機器學習主題感興趣。
我絕對不是程序員,但我是一個非常感興趣的農民,檢測水果和蔬菜的質量是一項非常繁瑣和耗時的工作,特別是如果您沒有錢購買工業機械以中小規模執行這項任務。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

回答

0

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

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

感謝您的幫助!我已經回答了我自己,現在可以關閉了!