資料介紹
描述
?
Raspberry Pi 為機器學習提供了一個有趣的環境。它具有相對強大的 CPU 和 GPU,成本低廉,支持許多 Linux 包/驅動程序,并且仍然可以用作微控制器來與無數不同的傳感器、電機和其他外圍設備連接。正因為如此,我們有能力運行一些圖像檢測模型,同時根據模型檢測到的內容控制硬件與現實世界進行交互。該項目的目標是提供一個有用的工作框架和環境,以便輕松地將對象檢測和機器學習整合到您的所有項目中。
我們將使用 Teachable Machine 來做到這一點。Teachable Machine 是一種創建機器學習模型的簡單、快速但功能強大的工具。它允許輕松捕獲數據以創建訓練數據集,并使用最先進的算法在您的瀏覽器中訓練機器學習模型。它是在一個非常直觀的網絡界面中完成的。您可以生成圖像、聲音或姿勢檢測模型。在這個項目中,我將為您提供設置 OpenCV/TensorFlow Python 開發環境和 Python 腳本框架的分步指南,以便輕松地將 Teachable Machine 圖像模型整合到您的項目中。
該項目的目標是大大降低使用機器學習的準入門檻。本教程應該為您提供制作一些令人興奮的機器學習項目所需的工具。希望以后能用這個開發環境和框架做一些更有趣的教程和demo。
您可以跟隨并生成自己的模型,也可以使用我生成的 Teachable Machine 模型。我提供的模型檢測了您擁有的 La Croix 風味,以此作為功能的有趣演示。
該項目的 Github 存儲庫:https ://github.com/mjdargen/RPi-La-Croix-Flavor-Detector
補給品:
- Raspberry Pi(在 RPi3 Model B 和 RPi4 Model B 上測試)
- microSD 卡(最低 8 GB,推薦 16 GB)
- HDMI顯示器
- 鼠標/鍵盤
- Raspberry Pi 攝像頭模塊或 USB 網絡攝像頭
第 1 步:使用可教機器生成模型
設置項目
Teachable Machine 是一款非常易于使用的工具,具有非常直觀的界面。對于這個項目,我們將使用圖像檢測。轉到https://teachablemachine.withgoogle.com/并單擊開始。現在選擇圖像項目。這將打開圖像模型訓練窗口。
創建數據集
您將添加并命名要訓練模型以檢測的類(即對象)。用直觀的名稱很好地命名類。類的名稱是稍后程序在該對象出現在框架中時調用的名稱。
做一個“背景”類是個好主意。這可以幫助訓練模型不將來自背景的細節歸因于其他類之一。如果你將這個類命名為“Background”,最終的程序,它使用文本到語音來說出框架中對象的名稱,將忽略背景類并且不會在每次它只是背景時調用“背景”在框架中。
要將圖像示例添加到課程中,您可以使用網絡攝像頭在 Teachable Machine 中捕獲圖像或從其他來源上傳圖像。為了生成模型,您需要大量高質量的數據。你可以在我的“La Croix Flavor Detector Model”示例中看到,每個類我有不少于 600 個樣本。我使用網絡攝像頭快速捕獲了許多不同的樣本。我確保在具有各種背景的不同照明條件下從各個角度捕捉對象,以生成準確的模型。
訓練模型
設置好所有類并對數據集感到滿意后,就該訓練模型了!點擊“火車模型”按鈕。為了訓練模型,您必須在瀏覽器中打開該選項卡。訓練模型可能需要一段時間。在這個項目中,我有 7 個班級,超過 600 個樣本,訓練大約需要 20 分鐘。您的瀏覽器可能偶爾會抱怨“可教機器”選項卡會降低您的瀏覽器速度。只需確認通知并說沒關系,這樣您的瀏覽器就不會取消培訓(不同的瀏覽器對此通知的措辭不同)。完成后,就該測試您的模型了!
預覽模型
現在是時候測試你的訓練模型了,看看它的效果如何!轉到“預覽”窗格并打開輸入。將各種對象呈現給網絡攝像頭,并查看模型是否準確猜測幀中的對象。請記住,模型無法檢測到多個對象,除非您為兩個對象存在時創建了一個類。如果效果不佳,請嘗試為模型提供更多照片。如果您滿意,是時候導出模型了!
導出模型
要導出模型,請單擊“導出模型”按鈕。將彈出一個新窗口。點擊“Tensorflow”選項卡,選擇“Keras”模型轉換類型。現在單擊“下載我的模型”。壓縮模型并準備下載可能需要大約一分鐘左右的時間。您應該會看到一個彈出窗口,要求您保存一個 zip 文件。保存文件并解壓縮。您應該會看到一個“keras_model.h5”文件和一個“labels.txt”文件。堅持這些,一旦您在計算機上設置了 Python 環境,我們就會使用它們!
第 2 步:設置樹莓派
如果您尚未在 Raspberry Pi 上設置操作系統,您需要從 Raspberry Pi Foundation 的網站(https://www.raspberrypi.org/downloads/raspbian/ )下載“Raspbian Buster with desktop and Recommended software” )。任何最新版本的 Raspbian Buster 都應該可以正常工作。這將安裝帶有 Python 3 的完整版本以及一些編程 IDE。提取 .img 文件并使用 SD 卡成像器程序(如 Rufus、balenaEtcher、Win32DiskImager 或其他)將圖像寫入您的 microSD。Raspberry Pi 基金會在此處編寫了有關如何將操作系統映像安裝到您的 Raspberry Pi 的詳盡指南。
完成 SD 卡的映像后,將其插入 Raspberry Pi 并打開電源。它應該自動進行一些初始設置(調整屏幕大小、擴展文件系統等)。桌面加載后,會彈出一個窗口,提示您執行一些設置步驟。您將需要設置您的語言環境、wifi、確認桌面是否顯示黑色邊框、允許 Raspberry Pi 更新(這可能需要一段時間),然后重新啟動。
成功更新并重新啟動 Raspberry Pi 后,桌面現在應該會在沒有提示的情況下加載。單擊右上角的 Raspberry Pi 圖標以顯示下拉菜單。轉到“首選項-> Raspberry Pi 配置”。將顯示 Raspberry Pi 配置窗口。導航到“接口”選項卡并啟用相機。將出現一個提示,告訴您重新啟動 Raspberry Pi。單擊是,讓您重新啟動 Raspberry Pi。
Raspberry Pi 啟動后,打開一個終端來測試您的相機。確保正確連接相機的帶狀電纜,然后鍵入以下命令:
raspistill -v -o test.jpg
這將在終端中顯示有關您的相機的信息并拍照。它將照片保存為 test.jpg 并將其存儲在您運行命令的目錄中。在文件瀏覽器中導航到該目錄并打開文件以確保相機正常工作并拍攝照片。以下鏈接提供了有關使用 Raspberry Pi 相機的更多信息。
https://www.raspberrypi.org/documentation/configuration/camera.md
https://www.raspberrypi.org/documentation/raspbian/applications/camera.md
如果您使用的是 USB 網絡攝像頭,則可以按照以下詳細步驟進行操作。
https://www.raspberrypi.org/documentation/usage/webcams/
第 3 步:設置 Raspberry Pi 環境
。您需要注釋掉“cv2.imshow”和“cv2.waitKey”行。該程序將標記它識別的對象,并將使用文本到語音來說出對象的名稱。
?
cd ~/Documents/Teachable-Machine-Object-Detection # change directory to repo
source TMenv/bin/activate # activate venv
python tm_obj_det.py # executes script, press ctrl+c to quit
deactivate # to exit the virtual environment
注意:當您運行腳本時,您可能會看到來自 Python 的許多不同的抱怨。這是意料之中的,您的程序應該仍能正常運行。這又是由于您在 Raspberry Pi 上遇到的一些奇怪的依賴問題。我不得不恢復到一些 Python 包的舊版本才能讓它工作。正因為如此,有一些關于某些東西在未來版本中被棄用的抱怨,等等。我只是想讓你知道,所以你不認為程序沒有工作。
注意:Python 腳本將永遠運行,直到您按 ctrl+c 關閉程序。
第 7 步:混音!
這些安裝在你的虛擬環境中的包和我提供的腳本應該會給你一個有用的框架來開發很多令人興奮的東西。您現在可以輕松地將對象檢測整合到您的所有項目中!Raspberry Pi 為此提供了一個完美的環境,因為它可以輕松地與不同的傳感器、電機和其他外圍設備連接。我希望繼續在這個領域做更多的項目,以制作一些使用圖像檢測和利用這個框架的更有趣的項目。
這里有一些項目想法。隨意帶他們一起跑,或者想出你自己的!
- 一個程序來識別你的朋友并在他們來到你家時用名字打招呼。
- 一個程序,用于檢測您何時離開家,并要求您出示手機、鑰匙、錢包等,以確保您在離開家時擁有一切。
- 構建一個分揀機,該分揀機使用電機根據對象的特定方向將對象轉移到特定方向。
- 一個程序,它將檢測手語中的字母并將其寫入文本文件。
更多項目
更多項目,請訪問我的頁面:
- PyTorch教程14.6之對象檢測數據集
- 簡單的運動檢測器
- Blackfin Hog SVM檢測器
- 一種基于檢測器集層次聚類的否定選擇算法 13次下載
- NDIR氣體檢測器解決方案和PID氣體檢測器解決方案
- 電阻式溫度檢測器(RTD)基礎知識及參考設計
- 電阻溫度檢測器的模擬線性化 26次下載
- 車輛檢測器的低功耗設計 13次下載
- 小巧的激光頭檢測器 27次下載
- 液面檢測器原理圖 24次下載
- 基于刪除平均和單元平均的CFAR檢測器性能分析
- 微流控電泳芯片微電導檢測器
- 穩健的高效MIMO檢測器
- 在HP 3070系列檢測器上的XC95216和XC95108
- 反射式紅外檢測器電路及制作
- 熒光檢測器適用范圍有哪些 255次閱讀
- 電路檢測器和電流檢測器的區別 319次閱讀
- 手機檢測器電路圖 手機檢測器的功能和應用 652次閱讀
- 簡單的土壤濕度檢測器電路圖 使用CD4069的斷線檢測器電路圖 608次閱讀
- 簡單的檢測器電路圖分享 1652次閱讀
- 一個簡單的離子檢測器電路分析 1615次閱讀
- 什么是過零檢測器 過零檢測器的原理 2755次閱讀
- 過零檢測器的原理 3669次閱讀
- 基于555的聲光數字電平檢測器電路 2856次閱讀
- 熒光檢測器工作原理及特點 4.9w次閱讀
- 地磁車輛檢測器的應用領域_地磁車輛檢測器與其他車輛檢測技術的優劣對比 4517次閱讀
- 地磁車輛檢測器主要組成部分 4833次閱讀
- 微波運動檢測器 4085次閱讀
- 酸雨檢測器 1.6w次閱讀
- 過零檢測器電路圖2 4386次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多