資料介紹
描述
垃圾分類器項(xiàng)目,被親切地稱為“它去哪兒了?!”,旨在讓扔?xùn)|西更快、更可靠。
該項(xiàng)目使用在Lobe中訓(xùn)練的機(jī)器學(xué)習(xí) (ML) 模型, 這是一個對初學(xué)者友好的(無代碼?。㎝L 模型構(gòu)建器,用于識別對象是否進(jìn)入垃圾、回收、堆肥或危險廢物。然后將該模型加載到 Raspberry Pi 4 計(jì)算機(jī)上,使其可以在任何可能找到垃圾箱的地方使用!
本教程將指導(dǎo)您如何使用 Python3 中的 Lobe TensorFlow 模型在 Raspberry Pi 上創(chuàng)建自己的垃圾分類器項(xiàng)目。
難度:初學(xué)者++(一些關(guān)于電路和編碼的知識很有幫助)
閱讀時間:5分鐘
構(gòu)建時間:60 - 90 分鐘
成本:~70 美元(包括 Pi 4)
在我們開始之前
此項(xiàng)目假設(shè)您從無頭配置中完全設(shè)置的 Raspberry Pi 開始。???這是一個初學(xué)者友好的指南,介紹如何做到這一點(diǎn)。
它還有助于了解以下內(nèi)容:
1.熟悉樹莓派
- ?這里有一個方便的入門指南!
- 也很有幫助:?Pi 相機(jī)入門
2.閱讀和編輯Python代碼(你不需要從頭開始編寫程序,只需編輯)
3.閱讀Fritzing接線圖
4.使用面包板
找出你的垃圾去哪里
美國的每個城市(我假設(shè)是全球)都有自己的垃圾/回收/堆肥/等。采集系統(tǒng)。這意味著要制作準(zhǔn)確的垃圾分類器,我們需要 1) 構(gòu)建自定義 ML 模型(我們將在下一步中介紹這一點(diǎn)——無需代碼!)和 2) 知道每塊垃圾的去向。
由于我并不總是知道我用來訓(xùn)練模型的每個項(xiàng)目的正確垃圾箱,我使用了上面顯示的西雅圖公用事業(yè)傳單,還有這個方便的“它去哪里了?” 西雅圖市的查找工具!通過查找您所在城市的垃圾收集實(shí)用程序并仔細(xì)閱讀其網(wǎng)站,查看您所在城市的可用資源。
在 Lobe 中創(chuàng)建自定義 ML 模型

什么是洛貝?
Lobe是一款易于使用的工具,擁有將機(jī)器學(xué)習(xí)理念變?yōu)楝F(xiàn)實(shí)所需的一切。向它展示您希望它做什么的示例,它會自動訓(xùn)練一個自定義機(jī)器學(xué)習(xí)模型,該模型可以為邊緣設(shè)備和應(yīng)用程序?qū)С觥?/font>它不需要任何經(jīng)驗(yàn)即可開始。您可以免費(fèi)在自己的計(jì)算機(jī)上進(jìn)行訓(xùn)練!
以下是有關(guān)如何使用 Lobe 的快速概述:
1. 打開 Lobe 程序并創(chuàng)建一個新項(xiàng)目。


2. 拍攝或?qū)胝掌⑺鼈儤?biāo)記為適當(dāng)?shù)念悇e。稍后我們將在項(xiàng)目的軟件部分需要這些標(biāo)簽。
導(dǎo)入照片有兩種方式:
- 直接從您的計(jì)算機(jī)網(wǎng)絡(luò)攝像頭拍攝物品照片,或
從您的計(jì)算機(jī)導(dǎo)入現(xiàn)有照片(通過單張照片或文件夾/數(shù)據(jù)集上傳)。
- 請記住,照片文件夾名稱將用作類別標(biāo)簽名稱,因此請確保它與任何現(xiàn)有標(biāo)簽匹配!
- 從您的計(jì)算機(jī)導(dǎo)入現(xiàn)有照片(通過單張照片或文件夾/數(shù)據(jù)集上傳)。請記住,照片文件夾名稱將用作類別標(biāo)簽名稱,因此請確保它與任何現(xiàn)有標(biāo)簽匹配。
另外:我最終使用了這兩種方法,因?yàn)槟鷵碛械恼掌蕉啵哪P途驮綔?zhǔn)確。


3.使用“播放”功能測試模型的準(zhǔn)確性。更改距離、照明、手的位置等,以識別模型的準(zhǔn)確位置和不準(zhǔn)確位置。根據(jù)需要添加更多照片。

4. 準(zhǔn)備就緒后,以TensorFlow (TF) Lite 格式導(dǎo)出 Lobe ML 模型。

提示:
在導(dǎo)入照片之前,列出您需要的所有類別以及如何標(biāo)記它們(例如“垃圾”、“回收”、“堆肥”等)
- 注意:使用與上面“Lobe Model Labels”照片中所示相同的標(biāo)簽,以減少您需要更改的代碼量。
- 在導(dǎo)入照片之前,列出您需要的所有類別以及如何標(biāo)記它們(例如“垃圾”、“回收”、“堆肥”等)注意:使用與“Lobe”中所示相同的標(biāo)簽?zāi)P蜆?biāo)簽”照片,以減少您需要更改的代碼量。
- 包括一個“非垃圾”類別,其中包含照片中可能包含的任何其他內(nèi)容(例如您的手和手臂、背景等)
- 如果可能,從 Pi 相機(jī)拍照并導(dǎo)入 Lobe 。這將大大提高模型的準(zhǔn)確性!
- 需要更多照片嗎?查看Kaggle上的開源數(shù)據(jù)集,包括這個垃圾分類圖像集!
- 需要更多幫助?在 Reddit 上與Lobe 社區(qū)聯(lián)系!
建造它:硬件!

1. 小心地將 Pi 相機(jī)連接到 Pi(訪問Pi Foundation 入門指南了解更多信息)。

2. 按照接線圖將按鈕和 LED 連接到 Pi GPIO 引腳。
- 按鈕:將按鈕的一個引腳連接到 GPIO 引腳 2。通過電阻器將另一個引腳連接到 GPIO GND 引腳。
- 黃色 LED :將正極(較長)腿連接到 GPIO 引腳 17。通過電阻器將另一腿連接到 GPIO GND 引腳。
- 藍(lán)色 LED :將正極連接到 GPIO 引腳 27。通過電阻器將另一條連接到 GPIO GND 引腳。
- 綠色 LED :將正極連接到 GPIO 引腳 22。通過電阻器將另一條連接到 GPIO GND 引腳。
- 紅色 LED:將正極連接到 GPIO 引腳 23。通過電阻器將另一條連接到 GPIO GND 引腳。
- 白色 LED :將正極連接到 GPIO 引腳 24。通過電阻器將另一條連接到 GPIO GND 引腳。
3. 建議在焊接或永久連接之前在面包板上測試您的電路并運(yùn)行程序。為此,我們需要編寫并上傳我們的軟件程序,所以讓我們進(jìn)行下一步吧!
編碼:軟件!
1. 在您的 PC 上,打開WinSCP 并連接到您的 Pi。在 Pi 的主目錄中創(chuàng)建一個 Lobe 文件夾,并在該目錄中創(chuàng)建一個模型文件夾。
2. 將生成的 Lobe TF 文件夾內(nèi)容拖到 Pi 上。記下文件路徑:/home/pi/Lobe/model
3. 在 Pi 上,打開終端并通過運(yùn)行以下 bash 命令下載適用于 Python3 的 lobe-python 庫:
pip3 install https://dl.google.com/coral/python/tflite_runtime-2.1.0.post1-cp37-cp37m-linux_armv7l.whl
pip3 install lobe

4. 從此repo下載垃圾分類器代碼 (rpi_trash_classifier.py)到 Pi 上(單擊“代碼”按鈕,如圖 1 所示)。
- 喜歡復(fù)制/粘貼?在此處獲取原始代碼。
- 喜歡下載到您的計(jì)算機(jī)上?將存儲庫/代碼下載到您的計(jì)算機(jī)上,然后通過 WinSCP(或您首選的遠(yuǎn)程文件傳輸程序)將 Python 代碼傳輸?shù)?Pi。
5. 將硬件連接到 Pi 的 GPIO 引腳后,通讀示例代碼并根據(jù)需要更新任何文件路徑:
- 第 29 行:Lobe TF 模型的文件路徑
- 第 47 和 83 行:通過 Pi 相機(jī)捕獲的圖像的文件路徑
6. 如有必要,更新代碼中的模型標(biāo)簽以與您的 Lobe 模型中的標(biāo)簽完全匹配(包括大小寫、標(biāo)點(diǎn)符號等):
- 第 57 行:“垃圾”
- 第 60 行:“回收”
- 第 63 行:“堆肥”
- 第 66 行:“危險廢物設(shè)施”
- 第 69 行:“不是垃圾!”
7. 在終端窗口中使用 Python3 運(yùn)行程序:
python3 rpi_trash_classifier.py
測試它:運(yùn)行程序!

計(jì)劃概述
首次運(yùn)行程序時,加載 TensorFlow 庫和 Lobe ML 模型需要一些時間。當(dāng)程序準(zhǔn)備好捕捉圖像時,狀態(tài)燈(白色 LED)將閃爍。
拍攝圖像后,程序會將圖像與 Lobe ML 模型進(jìn)行比較并輸出結(jié)果預(yù)測(第 83 行)。輸出決定打開哪個燈:黃色(垃圾)、藍(lán)色(回收)、綠色(堆肥)或紅色(危險廢物)。
如果沒有任何指示燈亮,狀態(tài)指示燈返回脈沖模式,則表示拍攝的圖像“不是垃圾”,即重新拍照!
捕獲圖像
按下按鈕捕獲圖像。請注意,您可能需要按住按鈕至少 1 秒,程序才能注冊按下。建議拍攝一些測試圖像,然后在桌面上打開它們以更好地了解相機(jī)視圖和框架。
為了讓用戶有時間定位物體并調(diào)整相機(jī)的光線水平,大約需要 5 秒才能完全捕捉到圖像。您可以在代碼中更改這些設(shè)置(第 35 和 41 行),但請記住,Pi Foundation 建議至少 2 秒來調(diào)整光照水平。
故障排除
最大的挑戰(zhàn)是確保捕獲的圖像符合我們的預(yù)期,因此請花一些時間查看圖像并將預(yù)期結(jié)果與指示 LED 輸出進(jìn)行比較。如有必要,您可以將圖像傳遞給 Lobe ML 模型,以進(jìn)行直接推理和更快的比較。
需要注意的幾點(diǎn):
- TensorFlow 庫可能會拋出一些警告消息——這是示例代碼中使用的版本的典型情況。
- 預(yù)測標(biāo)簽必須與 led_select() 函數(shù)中所寫的完全一致,包括大小寫、標(biāo)點(diǎn)符號和間距。如果您有不同的 Lobe 型號,請務(wù)必更改這些設(shè)置。
- Pi 需要穩(wěn)定的電源。Pi 的電源燈應(yīng)該是明亮的、穩(wěn)定的紅色。
- 如果一個或多個 LED 未按預(yù)期亮起,請使用以下命令強(qiáng)制它們亮起進(jìn)行檢查:
red_led.on()
(可選)構(gòu)建它:完成您的電路!

現(xiàn)在我們已經(jīng)測試并在必要時調(diào)試了我們的項(xiàng)目,使其按預(yù)期工作,我們準(zhǔn)備焊接我們的電路!
注意:如果您沒有烙鐵,您可以跳過此步驟。一種替代方法是在電線連接處涂上熱膠(此選項(xiàng)將允許您稍后修復(fù)/添加/使用東西,但更容易損壞),或使用環(huán)氧樹脂或類似的永久性膠水(此選項(xiàng)將更耐用但這樣做后您將無法使用電路或可能的 Pi)
快速評論我的設(shè)計(jì)選擇(照片 1):
- 我為 LED 和 Pi GPIO 選擇了母跳線,因?yàn)樗鼈冊试S我移除 LED 并交換顏色或在需要時移動它們。如果您想使連接永久化,您可以跳過這些。
- 同樣,我為按鈕選擇了 JST 連接器。
繼續(xù)建設(shè)!
1. 將每根母跳線切成兩半(是的,全部剪掉!)。使用剝線鉗,去除大約 1/4 英寸(1/2 厘米)的電線絕緣層。

2. 對于每個 LED,將 220Ω 電阻器焊接到負(fù)(較短)腿。

3. 剪下一小塊約 1" (2cm) 的熱縮管,然后將 LED 和電阻連接處推過。確保另一個電阻支腳可以接觸到,然后加熱熱縮管直到它固定接頭。

4. 將每個 LED 插入一對母跳線。

5.標(biāo)記跳線(例如用膠帶),然后將跳線焊接到印刷電路板 (PCB) 上。使用 perma Proto 板,您可以使用在面包板設(shè)置中使用的相同位置。
6. 接下來,使用(切割)母跳線將每個 LED 連接到其各自的 Pi GPIO 引腳。焊接并標(biāo)記跳線,以便裸金屬通過 PCB 連接到正極 LED 腿。
注意:焊接此線的位置取決于您的 PCB 布局。您也可以將此線直接焊接到正極 LED 跳線上。

7. 將 220Ω 電阻器焊接到 JST 連接器的負(fù)極(黑色)端。
8. 將 JST 連接器和電阻器焊接到按鈕上。
9. 連接按鈕連接器和 GPIO 引腳之間的 M-to-F 跳線(提醒:黑色為 GND)。
10. 將連接 PCB 涂上熱膠或環(huán)氧樹脂,以獲得更安全的連接。
注意:如果您選擇使用環(huán)氧樹脂,將來您可能無法將 Pi 的 GPIO 引腳用于其他項(xiàng)目。如果您對此感到擔(dān)憂,請?zhí)砑?GPIO 帶狀電纜并將跨接線連接到該電纜。
(可選)構(gòu)建它:案例!
為您的樹莓派創(chuàng)建一個外殼,將相機(jī)、按鈕和 LED 固定到位,同時保護(hù)樹莓派。
設(shè)計(jì)您自己的外殼或按照下面的構(gòu)建說明快速制作紙板外殼的原型!

在小紙板箱的頂部,追蹤按鈕、狀態(tài)燈、識別燈和 pi 攝像頭窗口的位置。
- 注意:Pi 相機(jī)窗口應(yīng)約為 3/4" x 1/2"。
2.用你的精密刀,切掉痕跡。
- 注意:您可能需要隨時測試尺寸

3. 可選:給外殼涂漆!我選擇了噴漆:)

4.為Pi相機(jī)剪出一個矩形“窗口”蓋并粘在盒子內(nèi)側(cè)

5. 最后,切出 Pi 電源線的插槽。
- 建議首先安裝所有電子設(shè)備,以找到 pi 電源線插槽的最佳位置。
安裝和部署!

而已!您已準(zhǔn)備好安裝和部署您的項(xiàng)目!將外殼放在垃圾桶上方,插入 Pi,然后運(yùn)行程序以獲得更快、更可靠的減少浪費(fèi)的方法。耶!
往前走
- 通過Lobe Reddit 社區(qū)與其他人分享您的項(xiàng)目和想法!
- 查看Lobe Python GitHub 存儲庫,了解有關(guān)如何使用 Python 部署更廣泛的 Lobe 項(xiàng)目的一般概述
- 問題或項(xiàng)目請求?對此項(xiàng)目發(fā)表評論或直接與我們聯(lián)系:AskAMaker@microsoft.com
- ML-01-SC 手冊
- 使用Google Coral和Raspberry Pi進(jìn)行ML鳥類識別
- 使用Pi和Python制作藝術(shù)、游戲等
- 垃圾分類開源硬件
- 基于Arduino和傳感器制作智能垃圾桶
- 基于ML的鳥類和松鼠檢測器(Raspberry Pi和AWS)
- 通過短信實(shí)現(xiàn)的智能垃圾分類和監(jiān)控系統(tǒng)
- 物聯(lián)網(wǎng)智能垃圾分類垃圾桶液位指示器系統(tǒng)
- 生活垃圾數(shù)據(jù)化分類回收方法及其回收系統(tǒng)(機(jī)械部分) 0次下載
- 基于BP神經(jīng)網(wǎng)絡(luò)分類器的垃圾文本過濾模型 43次下載
- 智能語音識別分類垃圾桶的設(shè)計(jì)資料合集 35次下載
- 使用51單片機(jī)設(shè)計(jì)智能垃圾桶的詳細(xì)資料和程序免費(fèi)下載
- 《愛上Raspberry Pi》中譯版-電子書籍.pdf 0次下載
- 基于深度置信網(wǎng)絡(luò)的垃圾短信分類技術(shù) 6次下載
- 垃圾分類回收系統(tǒng)設(shè)計(jì)報(bào)告 39次下載
- 智能垃圾回收箱功能實(shí)驗(yàn) 489次閱讀
- 串聯(lián)型PI和并聯(lián)型PI調(diào)節(jié)器的比較 4739次閱讀
- PI調(diào)節(jié)器的概念及設(shè)計(jì) 1.8w次閱讀
- 基于卷積神經(jīng)網(wǎng)絡(luò)的垃圾圖像分類算法 1128次閱讀
- 如何通過STMicroelectronics的STM32微控制器開始使用ML 1464次閱讀
- PI調(diào)節(jié)器介紹及設(shè)計(jì) 7122次閱讀
- 利用Arduino Mega 2560制作一個干濕垃圾分離器 2749次閱讀
- 帶你從頭構(gòu)建文本分類器 3640次閱讀
- 如何吧垃圾代碼進(jìn)行垃圾分類詳細(xì)指南說明 4099次閱讀
- 智能垃圾桶傳感器應(yīng)用解決方案 5554次閱讀
- 如何使用機(jī)器視覺技術(shù)進(jìn)行垃圾分類 6452次閱讀
- 如何制作能夠分類120種小狗的圖像分類器 3460次閱讀
- 智能垃圾桶有哪些功能及特點(diǎn)_智能垃圾桶市場前景_智能垃圾桶怎么用 1.7w次閱讀
- pi調(diào)節(jié)器原理_pi調(diào)節(jié)器電路圖_pi調(diào)節(jié)器參數(shù)作用 8.2w次閱讀
- 傳感器超詳細(xì)分類大匯總 3593次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論