使用Teachable Machine和Python輕松進(jìn)行對(duì)象檢測(cè)
資料介紹
描述
Teachable Machine 是一種創(chuàng)建機(jī)器學(xué)習(xí)模型的簡(jiǎn)單但強(qiáng)大的工具。它允許輕松捕獲數(shù)據(jù)以創(chuàng)建訓(xùn)練數(shù)據(jù)集,并使用最先進(jìn)的算法在您的瀏覽器中訓(xùn)練機(jī)器學(xué)習(xí)模型。它是在一個(gè)非常直觀的網(wǎng)絡(luò)界面中完成的。您可以生成圖像、聲音或姿勢(shì)檢測(cè)模型。在這個(gè)項(xiàng)目中,我將為您提供設(shè)置 OpenCV/TensorFlow Python 開(kāi)發(fā)環(huán)境和 Python 腳本框架的分步指南,以便輕松地將 Teachable Machine 圖像模型整合到您的項(xiàng)目中。
該項(xiàng)目的目標(biāo)是大大降低使用機(jī)器學(xué)習(xí)的準(zhǔn)入門(mén)檻。本教程應(yīng)該為您提供制作一些令人興奮的機(jī)器學(xué)習(xí)項(xiàng)目所需的工具。希望以后能用這個(gè)開(kāi)發(fā)環(huán)境和框架做一些更有趣的教程和demo。
您可以跟隨并生成自己的模型,也可以使用我生成的 Teachable Machine 模型。我提供的模型可以檢測(cè)您的 La Croix 風(fēng)味。
該項(xiàng)目的 Github 存儲(chǔ)庫(kù):https ://github.com/mjdargen/Teachable-Machine-Object-Detection
編輯:我現(xiàn)在創(chuàng)建了一個(gè)在 Raspberry Pi 上設(shè)置相同環(huán)境的版本:https ://www.hackster.io/mjdargen/easy-object-detection-on-rpi-la-croix-flavor-detector-93f0a4
補(bǔ)給品:
- 計(jì)算機(jī)(在 Windows 10、Ubuntu 18.04、MacOS High Sierra 10.13 中測(cè)試)
- Python 3(經(jīng)過(guò)測(cè)試的 Python 3.6 和 Python 3.7)
- 攝像頭
第 1 步:使用可教機(jī)器生成模型

設(shè)置項(xiàng)目
Teachable Machine 是一款非常易于使用的工具,具有非常直觀的界面。對(duì)于這個(gè)項(xiàng)目,我們將使用圖像檢測(cè)。轉(zhuǎn)到https://teachablemachine.withgoogle.com/并單擊開(kāi)始。現(xiàn)在選擇圖像項(xiàng)目。這將打開(kāi)圖像模型訓(xùn)練窗口。
創(chuàng)建數(shù)據(jù)集
您將添加并命名要訓(xùn)練模型以檢測(cè)的類(lèi)(即對(duì)象)。用直觀的名稱很好地命名類(lèi)。類(lèi)的名稱是稍后程序在該對(duì)象出現(xiàn)在框架中時(shí)調(diào)用的名稱。
做一個(gè)“背景”類(lèi)是個(gè)好主意。這可以幫助訓(xùn)練模型不將來(lái)自背景的細(xì)節(jié)歸因于其他類(lèi)之一。如果你將這個(gè)類(lèi)命名為“Background”,最終的程序,它使用文本到語(yǔ)音來(lái)說(shuō)出框架中對(duì)象的名稱,將忽略背景類(lèi)并且不會(huì)在每次它只是背景時(shí)調(diào)用“背景”在框架中。
要將圖像示例添加到課程中,您可以使用網(wǎng)絡(luò)攝像頭在 Teachable Machine 中捕獲圖像或從其他來(lái)源上傳圖像。為了生成模型,您需要大量高質(zhì)量的數(shù)據(jù)。你可以在我的“La Croix Flavor Detector Model”示例中看到,每個(gè)類(lèi)我有不少于 600 個(gè)樣本。我使用網(wǎng)絡(luò)攝像頭快速捕獲了許多不同的樣本。我確保在具有各種背景的不同照明條件下從各個(gè)角度捕捉對(duì)象,以生成準(zhǔn)確的模型。
訓(xùn)練模型
設(shè)置好所有類(lèi)并對(duì)數(shù)據(jù)集感到滿意后,就該訓(xùn)練模型了!點(diǎn)擊“火車(chē)模型”按鈕。為了訓(xùn)練模型,您必須在瀏覽器中打開(kāi)該選項(xiàng)卡。訓(xùn)練模型可能需要一段時(shí)間。在這個(gè)項(xiàng)目中,我有 7 個(gè)班級(jí),超過(guò) 600 個(gè)樣本,訓(xùn)練大約需要 20 分鐘。您的瀏覽器可能偶爾會(huì)抱怨“可教機(jī)器”選項(xiàng)卡會(huì)降低您的瀏覽器速度。只需確認(rèn)通知并說(shuō)沒(méi)關(guān)系,這樣您的瀏覽器就不會(huì)取消培訓(xùn)(不同的瀏覽器對(duì)此通知的措辭不同)。完成后,就該測(cè)試您的模型了!
預(yù)覽模型
現(xiàn)在是時(shí)候測(cè)試你的訓(xùn)練模型了,看看它的效果如何!轉(zhuǎn)到“預(yù)覽”窗格并打開(kāi)輸入。將各種對(duì)象呈現(xiàn)給網(wǎng)絡(luò)攝像頭,并查看模型是否準(zhǔn)確猜測(cè)幀中的對(duì)象。請(qǐng)記住,模型無(wú)法檢測(cè)到多個(gè)對(duì)象,除非您為兩個(gè)對(duì)象存在時(shí)創(chuàng)建了一個(gè)類(lèi)。如果效果不佳,請(qǐng)嘗試為模型提供更多照片。如果您滿意,是時(shí)候?qū)С瞿P土耍?/font>
導(dǎo)出模型
要導(dǎo)出模型,請(qǐng)單擊“導(dǎo)出模型”按鈕。將彈出一個(gè)新窗口。點(diǎn)擊“Tensorflow”選項(xiàng)卡,選擇“Keras”模型轉(zhuǎn)換類(lèi)型。現(xiàn)在單擊“下載我的模型”。壓縮模型并準(zhǔn)備下載可能需要大約一分鐘左右的時(shí)間。您應(yīng)該會(huì)看到一個(gè)彈出窗口,要求您保存一個(gè) zip 文件。保存文件并解壓縮。您應(yīng)該會(huì)看到一個(gè)“keras_model.h5”文件和一個(gè)“l(fā)abels.txt”文件。堅(jiān)持這些,一旦您在計(jì)算機(jī)上設(shè)置了 Python 環(huán)境,我們就會(huì)使用它們!
第 2 步:安裝 Python 3 和 Git
Python 3 安裝和設(shè)置
如果您的機(jī)器上尚未安裝 Python 3,您需要做的第一件事是安裝它。轉(zhuǎn)到https://www.python.org/downloads/并為您的操作系統(tǒng)下載并運(yùn)行正確的安裝。我已經(jīng)在 Python 3.6 和 Python 3.7 中測(cè)試了這個(gè)開(kāi)發(fā)環(huán)境,一切似乎都正常工作。然而,Python 3.8 似乎還沒(méi)有完全支持其中一些庫(kù)。我建議為您的環(huán)境安裝最新版本的 Python 3.7。在安裝過(guò)程中,確保選中復(fù)選框以將 Python 添加到路徑。
完全安裝 Python 并將 Python 添加到 Path 后,打開(kāi)終端或命令提示符并輸入“python --version”,然后輸入“python3 --version”。這很重要,因?yàn)槲覀兿胫馈皃ython”或“python3”命令是否映射到您的 Python 3 安裝。您需要知道這一點(diǎn)才能運(yùn)行您的 Python 腳本、安裝新的 Python 包等。如果沒(méi)有可執(zhí)行文件映射到 python 或 python3,請(qǐng)查找將環(huán)境變量添加到您的操作系統(tǒng)的路徑。
在上圖中的第一個(gè)示例中,您可以看到“python”調(diào)用 Python 3,而“python3”沒(méi)有調(diào)用任何內(nèi)容。在圖像的第二個(gè)示例中,“python3”調(diào)用您的 Python 3 安裝。這是因?yàn)橛幸粋€(gè) Python 2 安裝映射到第二個(gè)示例中的“python”命令。
Git 項(xiàng)目文件
現(xiàn)在您需要從我的 Github 存儲(chǔ)庫(kù)中檢索安裝文件、機(jī)器學(xué)習(xí)模型和演示 Python 程序。您可以安裝 git 客戶端并克隆存儲(chǔ)庫(kù),也可以從瀏覽器下載存儲(chǔ)庫(kù)的 zip 文件。
https://github.com/mjdargen/Teachable-Machine-Object-Detection
git clone https://github.com/mjdargen/RPi-La-Croix-Flavor-Detector
第 3 步:設(shè)置 Python 環(huán)境:OpenCV 和 TensorFlow

我已經(jīng)編寫(xiě)了安裝腳本來(lái)簡(jiǎn)化這個(gè)開(kāi)發(fā)環(huán)境的安裝過(guò)程。上面列出了安裝腳本。只需為您的操作系統(tǒng)選擇適當(dāng)?shù)哪_本。
我現(xiàn)在在這里創(chuàng)建了一個(gè)在Raspberry Pi上設(shè)置相同環(huán)境的版本:https ://www.hackster.io/mjdargen/easy-object-detection-on-rpi-la-croix-flavor-detector-93f0a4
Windows 安裝
- 假設(shè)您已安裝 Python 3。
- 假設(shè)您的 Python 3 可執(zhí)行文件是使用“python”調(diào)用的。如果不是這種情況,您將需要編輯批處理腳本并將“python”命令的每個(gè)實(shí)例替換為“python3”。
- 從 Powershell 運(yùn)行批處理腳本:“./installation_scripts/windows_install.bat”(不要以管理員身份運(yùn)行)。
- 可能需要約 30 分鐘或更長(zhǎng)時(shí)間,具體取決于您的系統(tǒng)和互聯(lián)網(wǎng)連接。
Mac 安裝
- 假設(shè)您已安裝 Python 3。
- 假設(shè)您的 Python 3 可執(zhí)行文件是使用“python3”調(diào)用的。如果不是這種情況,您將需要編輯 shell 腳本并將“python3”命令的每個(gè)實(shí)例替換為“python”。
- 導(dǎo)航到終端中存儲(chǔ)庫(kù)的文件夾。
- 您需要通過(guò)運(yùn)行以下命令使腳本可執(zhí)行:“sudo chmod +x./installation_scripts/mac_install.sh”
- 使用以下命令運(yùn)行 shell 腳本:“./installation_scripts/mac_install.sh”。
- 此安裝腳本還安裝Homebrew 包管理器。
- 可能需要約 30 分鐘或更長(zhǎng)時(shí)間,具體取決于您的系統(tǒng)和互聯(lián)網(wǎng)連接。
Linux 安裝
- 假設(shè)您已安裝 Python 3。
- 假設(shè)您的 Python 3 可執(zhí)行文件是使用“python3”調(diào)用的。如果不是這種情況,您將需要編輯 shell 腳本并將“python3”命令的每個(gè)實(shí)例替換為“python”。
- 導(dǎo)航到終端中存儲(chǔ)庫(kù)的文件夾。
- 您需要通過(guò)運(yùn)行以下命令使腳本可執(zhí)行:“sudo chmod +x./installation_scripts/linux_install.sh”
- 使用以下命令運(yùn)行 shell 腳本:“./installation_scripts/inux_install.sh”。
- 可能需要約 30 分鐘或更長(zhǎng)時(shí)間,具體取決于您的系統(tǒng)和互聯(lián)網(wǎng)連接。
使用 Python 虛擬環(huán)境
如果安裝腳本成功執(zhí)行,您現(xiàn)在已經(jīng)安裝了所有必要的依賴項(xiàng),以便在您機(jī)器上的 Python 虛擬環(huán)境中運(yùn)行 OpenCV 和 Tensorflow。虛擬環(huán)境稱為 TMenv,位于克隆存儲(chǔ)庫(kù)的頂層目錄中,標(biāo)題為“Teachable-Machine-Object-Detection”。
Python 包安裝在虛擬環(huán)境中,以免破壞與 Python 的主要安裝相關(guān)的包,以防您有其他程序依賴于特定版本的包。
要使用您安裝的軟件包來(lái)運(yùn)行演示,您需要激活您的虛擬環(huán)境。
- Mac/Linux:“源 TMenv\bin\activate”
- Windows:“TMenv\Scripts\activate”
激活環(huán)境后,它將在終端提示之前的括號(hào)中顯示虛擬環(huán)境的名稱。此時(shí)您所做的與 Python 相關(guān)的任何操作都只會(huì)影響您的 TMenv 虛擬環(huán)境。您現(xiàn)在可以在虛擬環(huán)境中運(yùn)行 Python 腳本。要退出您的虛擬環(huán)境,只需運(yùn)行命令“deactivate”。
第 4 步:OpenCV 常見(jiàn)對(duì)象檢測(cè)測(cè)試

。您需要注釋掉“cv2.imshow”和“cv2.waitKey”行。該程序?qū)?biāo)記它識(shí)別的對(duì)象,并將使用文本到語(yǔ)音來(lái)說(shuō)出對(duì)象的名稱。
cd ~/Documents/Teachable-Machine-Object-Detection # change directory to cloned repo
source TMenv/bin/activate # activate venv for Mac/Linux OR
TMenv/Scripts/activate # activate venv for Windows
python tm_obj_det.py # executes script, press ctrl+c to quit
deactivate # to exit the virtual environment
注意:Python 腳本將永遠(yuǎn)運(yùn)行,直到您按 ctrl+c 關(guān)閉程序。
第 7 步:混音!
這些安裝在你的虛擬環(huán)境中的包和我提供的腳本應(yīng)該會(huì)給你一個(gè)有用的框架來(lái)開(kāi)發(fā)很多令人興奮的東西。您現(xiàn)在可以輕松地將對(duì)象檢測(cè)整合到您的所有項(xiàng)目中!我希望繼續(xù)在這個(gè)領(lǐng)域做更多的項(xiàng)目,以制作一些使用圖像檢測(cè)和利用這個(gè)框架的更有趣的項(xiàng)目。
這里有一些項(xiàng)目想法。隨意帶他們一起跑,或者想出你自己的!
- 一個(gè)程序來(lái)識(shí)別你的朋友并在他們來(lái)到你家時(shí)用名字打招呼。
- 一個(gè)程序,用于檢測(cè)您何時(shí)離開(kāi)家,并要求您出示手機(jī)、鑰匙、錢(qián)包等,以確保您在離開(kāi)家時(shí)擁有一切。
- 構(gòu)建一個(gè)分揀機(jī),該分揀機(jī)使用電機(jī)根據(jù)對(duì)象的特定方向?qū)?duì)象轉(zhuǎn)移到特定方向。
- 一個(gè)程序,它將檢測(cè)手語(yǔ)中的字母并將其寫(xiě)入文本文件。
?
- 使用Home Assistant進(jìn)行TensorFlow對(duì)象檢測(cè)
- 使用MobileNet Single Shot Detector進(jìn)行對(duì)象檢測(cè)
- 使用opencv和python進(jìn)行智能火災(zāi)檢測(cè)
- Python學(xué)習(xí)手冊(cè)免費(fèi)下載 9次下載
- Python學(xué)習(xí)手冊(cè)免費(fèi)下載 26次下載
- Python進(jìn)行配置文件的教程免費(fèi)下載 6次下載
- Python的函數(shù)文件與模塊的程序說(shuō)明 2次下載
- python的基礎(chǔ)知識(shí)培訓(xùn)教程課件免費(fèi)下載 73次下載
- Python語(yǔ)言的特點(diǎn)和使用Python對(duì)XML文件的數(shù)據(jù)進(jìn)行解析說(shuō)明 6次下載
- 使用Python和OpenCV實(shí)現(xiàn)行人檢測(cè)的資料合集免費(fèi)下載 23次下載
-
如何利用Python Remote ob
jects技術(shù)實(shí)現(xiàn)分布式對(duì)象應(yīng)用系統(tǒng) 1次下載 - Python基礎(chǔ)教程之Python快速入門(mén)課件資料免費(fèi)下載 319次下載
- python基礎(chǔ)教程之如何使用python進(jìn)行環(huán)境搭建 32次下載
- python入門(mén)教程之Python語(yǔ)言及其系統(tǒng)的基本知識(shí)與概念 20次下載
- python中的字典(dict)對(duì)象以及其使用方法 1次下載
- 使用Python進(jìn)行Ping測(cè)試 568次閱讀
- YOLOv8實(shí)現(xiàn)旋轉(zhuǎn)對(duì)象檢測(cè) 1933次閱讀
- 如何進(jìn)行圖像邊緣的檢測(cè) 1285次閱讀
- 如何通過(guò)python輕松處理大文件 898次閱讀
- Python中的類(lèi)和對(duì)象詳解 1181次閱讀
- 什么是python的類(lèi)與對(duì)象 797次閱讀
- Python類(lèi)的屬性和方法是什么 904次閱讀
- 如何在LiDAR點(diǎn)云上進(jìn)行3D對(duì)象檢測(cè) 2211次閱讀
- 詳談Python的數(shù)據(jù)模型和對(duì)象模型 2582次閱讀
- 如何利用Python和函數(shù)庫(kù)進(jìn)行簡(jiǎn)單的人臉識(shí)別?(附源碼) 3160次閱讀
- 這可能是Python面向對(duì)象編程的最佳實(shí)踐 2696次閱讀
- Python語(yǔ)言在人工智能中的功能及優(yōu)勢(shì) 1.1w次閱讀
- 在Python中利用dlib進(jìn)行人臉檢測(cè) 6593次閱讀
- 如何快速學(xué)會(huì)Python?利用Python進(jìn)行數(shù)據(jù)分析 1.1w次閱讀
- 介紹Python 3 的功能 讓人輕松地從Python 2遷移到Python 3 4526次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 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開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 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é)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論