電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>基于Microsoft Azure和Raspberry Pi的鳥(niǎo)類探測(cè)器

基于Microsoft Azure和Raspberry Pi的鳥(niǎo)類探測(cè)器

2022-12-01 | zip | 0.23 MB | 次下載 | 免費(fèi)

資料介紹

描述

介紹

最近,我參加了一項(xiàng)名為“ Azure Data and AI Challenge ”的云技能挑戰(zhàn)賽,該挑戰(zhàn)賽由微軟發(fā)起,旨在讓開(kāi)發(fā)人員在探索多樣性和包容性的旅程中學(xué)習(xí) Azure Data & AI 技術(shù)以及可訪問(wèn)性??捶?。就我而言,我非常喜歡這種學(xué)習(xí)形式,因?yàn)槊總€(gè)模塊都包含明確的目的、詳細(xì)的概念解釋、分步教程,以及免費(fèi)的 Azure 云資源供用戶練習(xí)。這讓我想起了我在課堂上的經(jīng)歷。我們不僅要知道“什么”,還要學(xué)會(huì)知道“怎么做”。

我遇到的一個(gè)特殊學(xué)習(xí)模塊稱為“使用自定義視覺(jué)分類瀕危鳥(niǎo)類”。在本模塊中,我們使用 Azure 認(rèn)知服務(wù)自定義視覺(jué)創(chuàng)建模型來(lái)識(shí)別鳥(niǎo)類的種類!更具體地說(shuō),我們可以構(gòu)建一個(gè)機(jī)器學(xué)習(xí)模型,該模型將按物種識(shí)別圖像中的鳥(niǎo)類。

巧合的是,上周有一個(gè)鴿子家庭加入了我們,并在我的窗前筑了一個(gè)巢。多么驚喜!今天早上他們?cè)诔怖锵铝藘蓚€(gè)蛋。這些小動(dòng)物給我們帶來(lái)了無(wú)盡的快樂(lè)。我兒子總是盡可能靠近窗戶仔細(xì)觀察它們。然而,當(dāng)人類靠近時(shí),鴿子看起來(lái)有點(diǎn)害怕。

完成學(xué)習(xí)后,我想到了一個(gè)主意。為什么不使用 Azure 自定義視覺(jué)來(lái)識(shí)別我們窗戶旁邊的鳥(niǎo)呢?但是,如果按照上面提供的學(xué)習(xí)路徑中的步驟,我們應(yīng)該在PC上上傳圖像并得到結(jié)果,這對(duì)于實(shí)時(shí)監(jiān)控來(lái)說(shuō)是相當(dāng)不便的。經(jīng)過(guò)一番思考,我決定用樹(shù)莓派網(wǎng)絡(luò)攝像頭作為物聯(lián)網(wǎng)終端來(lái)實(shí)現(xiàn)日常監(jiān)控。然后,我們不必出現(xiàn)在窗戶旁邊看鳥(niǎo)。PIR 傳感器將觸發(fā)過(guò)程拍攝圖像,并將圖像傳輸?shù)?Azure 自定義視覺(jué)以獲取檢測(cè)結(jié)果。然后,Raspberry Pi 會(huì)將結(jié)果圖像上傳到 Azure Blob 存儲(chǔ),該存儲(chǔ)可從 Internet 隨處訪問(wèn)。

如果你對(duì)這個(gè)項(xiàng)目感興趣,你可以學(xué)習(xí)我在這個(gè)集合中創(chuàng)建的路徑:AI Bird的集合。我已邀請(qǐng)我的朋友在 Twitter:Twitter Post上完成學(xué)習(xí)模塊完成這些模塊后,您就迫不及待地基于 Azure AI 和 IoT 技術(shù)制作自己的項(xiàng)目。

系統(tǒng)總覽

如圖2所示,整個(gè)系統(tǒng)由Raspberry Pi終端、Azure Custom Vision、Azure Blob Storage和用戶設(shè)備組成。我們將 USB 網(wǎng)絡(luò)攝像頭(或 Raspberry Pi 官方攝像頭)和 PIR 傳感器連接到 Raspberry Pi 以進(jìn)行圖像捕捉和鳥(niǎo)類檢測(cè)。一旦鳥(niǎo)靠近 PIR 傳感器,它就會(huì)向 Raspberry Pi 發(fā)送信號(hào),表明某種動(dòng)物正在接近。然后樹(shù)莓派會(huì)通過(guò)攝像頭拍照并發(fā)送到 Azure Custom Vision 服務(wù)獲取結(jié)果。我們將使用 PIL 庫(kù)繪制一個(gè)矩形來(lái)突出顯示我們?cè)趫D片中檢測(cè)到的對(duì)象。最后,樹(shù)莓派會(huì)將圖片上傳到 Azure Blob Storage 供用戶在任何地方查看。

pYYBAGNxH5CABL7DAACJwqX4Itg159.jpg
圖 2 系統(tǒng)概述
?

硬件

微軟 LifeCam HD-3000

樹(shù)莓派

PIR 傳感器

HMDI 屏幕(可選)

Azure 資源

我們將在項(xiàng)目中使用 Microsoft 帳戶。如果沒(méi)有,請(qǐng)申請(qǐng)一個(gè)。我們?cè)谶@個(gè)項(xiàng)目中使用的所有資源都作為沙箱提供。沙盒只能用于完成 Microsoft Learn 培訓(xùn)。禁止出于任何其他原因使用,并可能導(dǎo)致永久失去對(duì)沙盒的訪問(wèn)權(quán)限。請(qǐng)注意,您沙箱中的所有資源在 4 小時(shí)內(nèi)可用。一旦時(shí)間到了,它們將被丟棄。

項(xiàng)目指導(dǎo)

步驟 1 至步驟 6 與模塊“使用自定義視覺(jué)分類瀕危鳥(niǎo)類”中的步驟非常相似。不同之處在于我們?cè)谶@里創(chuàng)建了一個(gè)對(duì)象檢測(cè)項(xiàng)目而不是分類項(xiàng)目。如果你只是想實(shí)現(xiàn)鳥(niǎo)類的分類,請(qǐng)參考學(xué)習(xí)模塊中提供的步驟。

1. 下載數(shù)據(jù)集

數(shù)據(jù)是我們創(chuàng)建機(jī)器學(xué)習(xí)模型所需的第一件事。我們將使用來(lái)自康奈爾實(shí)驗(yàn)室的 NABirds 數(shù)據(jù)集的一個(gè)子集來(lái)訓(xùn)練我們的模型。下載包含數(shù)據(jù)集的 zip 文件:bird-photos.zip

下載完成后,解壓縮文件,如圖 3 所示。記下文件夾位置,因?yàn)槟鷮⒃诤竺娴牟襟E中需要它。我們會(huì)發(fā)現(xiàn),這個(gè)褶皺里總共有 16 種鳥(niǎo)類。每種包括大約 120 張圖像。

poYBAGNxH5KAX8FVAACYhG-CsIU912.png
圖 3 鳥(niǎo)類數(shù)據(jù)集
?

2. 創(chuàng)建自定義視覺(jué) API 資源

接下來(lái),我們將在 Azure 認(rèn)知服務(wù)自定義愿景中創(chuàng)建一個(gè) API 資源。

在 Azure 門戶中,選擇“創(chuàng)建資源”。

搜索自定義視覺(jué)。在搜索結(jié)果的自定義視覺(jué)卡中,選擇創(chuàng)建。

在 Basics 選項(xiàng)卡上,輸入或選擇所需的值:

? 選擇您的 Azure 訂閱。如果我們使用沙盒,默認(rèn)訂閱是 Concierge Subscription。

? 默認(rèn)資源組為 learn-******

? 輸入新自定義視覺(jué)服務(wù)資源的名稱(例如,BirdCustomVisionDemo)。

? 在培訓(xùn)資源下:將培訓(xùn)位置設(shè)置為最近的點(diǎn)。

? 將培訓(xùn)定價(jià)層設(shè)置為免費(fèi) F0(每秒 2 次交易)。

? 在預(yù)測(cè)資源下:

? 將預(yù)測(cè)位置設(shè)置為我們?cè)谏厦孢x擇的位置。

? 將預(yù)測(cè)定價(jià)層設(shè)置為免費(fèi) F0(每秒 2 次交易)。

? 選擇查看 + 創(chuàng)建。

? 選擇創(chuàng)建。

詳情請(qǐng)參閱圖 4。

pYYBAGNxH5WAQLUZAAENZA9qfKE552.png
圖 4 創(chuàng)建自定義視覺(jué)資源
?

3.上傳數(shù)據(jù)

上傳圖片有兩種方式。首先,在自定義視覺(jué)門戶中,我們可以選擇、上傳、然后標(biāo)記圖像。或者,如果我們有大量數(shù)據(jù)、圖像類和標(biāo)簽要上傳,我們可以使用自定義視覺(jué) SDK。在這里,我們使用自定義視覺(jué)門戶進(jìn)行圖像上傳。

轉(zhuǎn)到https://www.customvision.ai/projects并登錄。選擇新建項(xiàng)目。

在創(chuàng)建新項(xiàng)目中:

? 對(duì)于名稱,輸入您選擇的項(xiàng)目名稱。

? 對(duì)于描述,輸入模型的簡(jiǎn)短描述。(例如,DetectBirds)。

? 對(duì)于資源組,選擇您在 Azure 門戶中創(chuàng)建的資源組。

? 對(duì)于項(xiàng)目類型,選擇對(duì)象檢測(cè)。

? 對(duì)于域,選擇常規(guī)。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)圖 5。

poYBAGNxH56AFsUWAAE2_Nkb_ds037.png
圖 5 創(chuàng)建自定義視覺(jué)項(xiàng)目
?

選擇創(chuàng)建項(xiàng)目。

現(xiàn)在,是時(shí)候在圖片中為鳥(niǎo)類添加圖像和標(biāo)簽了。在您的自定義視覺(jué)項(xiàng)目中,選擇添加圖像。

Open中,轉(zhuǎn)到從數(shù)據(jù)集 zip 文件中提取圖像文件的birds-photo 文件夾。

打開(kāi)鳥(niǎo)類物種文件夾。

選擇Ctrl + A以選擇物種文件夾中的所有圖像,然后選擇Open 。

上傳后,我們應(yīng)該在每張圖片中標(biāo)記對(duì)象。詳情請(qǐng)參閱圖 6。

pYYBAGNxH6KACV91AAFE6z4FQmQ975.png
圖 6 標(biāo)記圖像中的對(duì)象。
?

重復(fù)上述步驟,上傳下載數(shù)據(jù)集中每個(gè)鳥(niǎo)類文件夾中的照片。

4. 訓(xùn)練數(shù)據(jù)

我們已經(jīng)在自定義視覺(jué)中創(chuàng)建了我們的數(shù)據(jù)集。現(xiàn)在,是時(shí)候訓(xùn)練我們的模型了。在自定義視覺(jué)門戶中,選擇我們的項(xiàng)目。在頂部菜單欄中,選擇訓(xùn)練。在選擇培訓(xùn)類型中,選擇快速培訓(xùn),然后選擇培訓(xùn)如圖 7 所示。

poYBAGNxH6WAYtsrAADsFqSbbi4901.png
圖 7 訓(xùn)練數(shù)據(jù)
?

訓(xùn)練完成后,有關(guān)模型如何為訓(xùn)練迭代執(zhí)行的信息如圖 8 所示。

pYYBAGNxH6eABmfNAACvuoAfxdM853.png
圖 8 模型性能
?

當(dāng)我們測(cè)試您的模型時(shí),Custom Vision 會(huì)顯示三個(gè)指標(biāo)。指標(biāo)是可以幫助您了解模型執(zhí)行情況的指標(biāo)。這些指標(biāo)并不表明模型的真實(shí)性或準(zhǔn)確性。指標(biāo)僅告訴您模型對(duì)您提供的數(shù)據(jù)的執(zhí)行情況。模型在已知數(shù)據(jù)上的表現(xiàn)如何讓您了解模型在新數(shù)據(jù)上的表現(xiàn)。

精度:如果您的模型預(yù)測(cè)標(biāo)簽,則此指標(biāo)表明預(yù)測(cè)正確標(biāo)簽的可能性有多大。

回憶:在模型應(yīng)該正確預(yù)測(cè)的標(biāo)簽中,該指標(biāo)表示您的模型正確預(yù)測(cè)的標(biāo)簽的百分比。

平均精度:通過(guò)計(jì)算不同閾值的精度和召回率來(lái)衡量模型性能。

5. 測(cè)試模型

讓我們測(cè)試我們的模型,看看它在看不見(jiàn)的數(shù)據(jù)上的表現(xiàn)如何。我們將使用來(lái)自互聯(lián)網(wǎng)搜索的鳥(niǎo)的圖像。

在自定義視覺(jué)門戶中,選擇我們的項(xiàng)目。在頂部菜單欄中,選擇快速測(cè)試。在 Quick Test 中,將 URL 粘貼到 Image URL 中,然后按 Enter 以測(cè)試模型的準(zhǔn)確性。預(yù)測(cè)如圖 9 所示。我們會(huì)發(fā)現(xiàn)結(jié)果包括圖像中的對(duì)象坐標(biāo),用紅色矩形突出顯示。

poYBAGNxH6mAPCp7AADmnWUFC8w151.png
圖 9 測(cè)試模型
?

6.部署模型

我們可以通過(guò)獲取預(yù)測(cè) URL 或在應(yīng)用程序中使用 API 來(lái)部署到端點(diǎn)。

在自定義視覺(jué)門戶頂部菜單欄中,選擇性能。選擇發(fā)布Publish Model中,選擇Prediction資源,然后為您的 Custom Vision 項(xiàng)目選擇預(yù)測(cè)的名稱。選擇發(fā)布。

選擇預(yù)測(cè) URL選項(xiàng)卡。如何使用預(yù)測(cè) API中,我們可以得到如圖 10 所示的 Key。

poYBAGNxH6uAJEwKAAEwMJSDDHw177.png
圖 10 如何使用預(yù)測(cè) API
?

此外,我們將獲取 Endpoint 和 Project ID 以供進(jìn)一步使用。可以在設(shè)置頁(yè)面上訪問(wèn)它們,如圖 11 所示。

pYYBAGNxH66ACKyZAAECGsl-PHM017.png
圖 11 項(xiàng)目 ID 和端點(diǎn)
?

7.組裝硬件

在這個(gè)項(xiàng)目中,需要一個(gè)樹(shù)莓派、一個(gè) USB 網(wǎng)絡(luò)攝像頭(樹(shù)莓派官方的攝像頭可以)和一個(gè) PIR 傳感器。如果您有 HDMI 屏幕,您可以直接在屏幕上看到結(jié)果。如果沒(méi)有,您可以在 Raspberry Pi 上安裝 VNC 服務(wù)器,并在您的 PC 或其他移動(dòng)設(shè)備上通過(guò) VNC 客戶端與它進(jìn)行交互。以下是我使用的模塊:

? 微軟 LifeCam HD-3000

? 樹(shù)莓派 4

? PIR 傳感器。

? Waveshare 7寸 HDMI LCD (B) (800*480)

PIR Sensor 配備三個(gè)引腳,即 Vcc、GND 和 Out。Vcc 和 GND 將連接到 Raspberry Pi 上的 5V 和 GND 引腳,而 Out 引腳將連接到 BCM 引腳 NO。4、原型如圖12所示。

pYYBAGNxH7qAN7tCAAJ-bXQ2q0c296.jpg
圖 12 項(xiàng)目硬件
?

8.安裝必要的庫(kù)

我們將使用 Azure 自定義視覺(jué) Python SDK、Azure 存儲(chǔ)博客 Python SDK 和 USB 攝像頭。然后我們將使用 pip 工具和 apt-get 安裝必要的組件,如下所示。

pip3 install azure-cognitiveservices-vision-customvision
pip3 install azure-storage-blob
pip3 install msrest
sudo apt-get install fswebcam

若要?jiǎng)?chuàng)建 Azure 存儲(chǔ)帳戶并查看有關(guān)如何使用適用于 Python 的 Azure 存儲(chǔ) Blob 客戶端庫(kù)的更多信息,請(qǐng)參閱此文檔:適用于 Python 的 Azure 存儲(chǔ) Blob 客戶端庫(kù)。

可以在 Azure 門戶上查看連接字符串,如圖 13 所示。

pYYBAGOIOgmAdpn4AAHQOon9Urc302.png
圖 13 Azure Blob 存儲(chǔ)的連接字符串
?

9.下載并運(yùn)行代碼

您可以從 Github 下載 python 代碼:https ://github.com/shijiong/AzureCustomVisionBirdDemo 。請(qǐng)確保您在第 14 行至第 17 行輸入了您的自定義視覺(jué)項(xiàng)目的預(yù)測(cè)密鑰、預(yù)測(cè)端點(diǎn)、項(xiàng)目 ID 和發(fā)布迭代名稱。第 19 行至第 21 行中的連接字符串、容器名稱和 blob 名稱應(yīng)為換成你的。詳情請(qǐng)參閱圖 14。

pYYBAGOIOguAEpeQAADE8bXwTRA268.png
圖 14 項(xiàng)目的 Python 代碼
?

其次,在第 33 行,我們將圖像分辨率指定為 1280*720,這在您的項(xiàng)目中可能會(huì)有所不同。很重要的一點(diǎn)是,我們會(huì)根據(jù)第 46 行的預(yù)測(cè) API 的結(jié)果在圖像上繪制一個(gè)矩形。如果圖像的分辨率不同,我們應(yīng)該改變它,否則我們將無(wú)法獲得識(shí)別對(duì)象的正確位置在圖像上。

第三,我在第 41 行將預(yù)測(cè)概率的閾值設(shè)置為 0.9,您可以更改它以滿足您的場(chǎng)景。

最后,如果你想在樹(shù)莓派上查看預(yù)測(cè)圖像,你可以取消注釋第 49 到 52 行的代碼。但是,上傳過(guò)程將被阻止,直到你關(guān)閉圖像。

我將設(shè)備部署在我的窗戶旁邊。將代碼復(fù)制到您的 Raspberry Pi,使用 Thonny(Raspberry Pi 上預(yù)裝的 Python IDE)打開(kāi)它,然后運(yùn)行。觸發(fā) PIR 傳感器后,將捕獲圖像并將其傳輸?shù)?Azure 自定義視覺(jué)以獲取預(yù)測(cè)結(jié)果。如圖 15 所示,識(shí)別的對(duì)象將被紅色矩形突出顯示。

poYBAGOIOg6AJrJnAAHn7dU3oJk476.jpg
圖 15 物體檢測(cè)結(jié)果
?

最后,圖像將被傳輸?shù)?Azure Blob Storage,如圖 16 所示。您可以在任何地方查看它。

pYYBAGOIOhGACseSAAFug9uTcHw179.png
圖 16 Azure Blob 存儲(chǔ)中的圖像
?

概括

在本教程中,我們?cè)O(shè)計(jì)了一個(gè)基于 Azure Custom Vision、Azure Blob Storage 和 Raspberry Pi 的鳥(niǎo)類檢測(cè)器。然后給出了數(shù)據(jù)集上傳、數(shù)據(jù)訓(xùn)練、模型部署、硬件搭建和操作流程的演示。希望這對(duì)那些需要在 Raspberry Pi 設(shè)備上使用 Azure 自定義視覺(jué)服務(wù)的人有用。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)