<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>基于Microsoft Azure和Raspberry Pi的鳥類探測器

基于Microsoft Azure和Raspberry Pi的鳥類探測器

2022-12-01 | zip | 0.23 MB | 次下載 | 免費

資料介紹

描述

介紹

最近,我參加了一項名為“ Azure Data and AI Challenge ”的云技能挑戰賽,該挑戰賽由微軟發起,旨在讓開發人員在探索多樣性和包容性的旅程中學習 Azure Data & AI 技術以及可訪問性??捶?。就我而言,我非常喜歡這種學習形式,因為每個模塊都包含明確的目的、詳細的概念解釋、分步教程,以及免費的 Azure 云資源供用戶練習。這讓我想起了我在課堂上的經歷。我們不僅要知道“什么”,還要學會知道“怎么做”。

我遇到的一個特殊學習模塊稱為“使用自定義視覺分類瀕危鳥類”。在本模塊中,我們使用 Azure 認知服務自定義視覺創建模型來識別鳥類的種類!更具體地說,我們可以構建一個機器學習模型,該模型將按物種識別圖像中的鳥類。

巧合的是,上周有一個鴿子家庭加入了我們,并在我的窗前筑了一個巢。多么驚喜!今天早上他們在巢里下了兩個蛋。這些小動物給我們帶來了無盡的快樂。我兒子總是盡可能靠近窗戶仔細觀察它們。然而,當人類靠近時,鴿子看起來有點害怕。

完成學習后,我想到了一個主意。為什么不使用 Azure 自定義視覺來識別我們窗戶旁邊的鳥呢?但是,如果按照上面提供的學習路徑中的步驟,我們應該在PC上上傳圖像并得到結果,這對于實時監控來說是相當不便的。經過一番思考,我決定用樹莓派網絡攝像頭作為物聯網終端來實現日常監控。然后,我們不必出現在窗戶旁邊看鳥。PIR 傳感器將觸發過程拍攝圖像,并將圖像傳輸到 Azure 自定義視覺以獲取檢測結果。然后,Raspberry Pi 會將結果圖像上傳到 Azure Blob 存儲,該存儲可從 Internet 隨處訪問。

如果你對這個項目感興趣,你可以學習我在這個集合中創建的路徑:AI Bird的集合。我已邀請我的朋友在 Twitter:Twitter Post上完成學習模塊。完成這些模塊后,您就迫不及待地基于 Azure AI 和 IoT 技術制作自己的項目。

系統總覽

如圖2所示,整個系統由Raspberry Pi終端、Azure Custom Vision、Azure Blob Storage和用戶設備組成。我們將 USB 網絡攝像頭(或 Raspberry Pi 官方攝像頭)和 PIR 傳感器連接到 Raspberry Pi 以進行圖像捕捉和鳥類檢測。一旦鳥靠近 PIR 傳感器,它就會向 Raspberry Pi 發送信號,表明某種動物正在接近。然后樹莓派會通過攝像頭拍照并發送到 Azure Custom Vision 服務獲取結果。我們將使用 PIL 庫繪制一個矩形來突出顯示我們在圖片中檢測到的對象。最后,樹莓派會將圖片上傳到 Azure Blob Storage 供用戶在任何地方查看。

pYYBAGNxH5CABL7DAACJwqX4Itg159.jpg
圖 2 系統概述
?

硬件

微軟 LifeCam HD-3000

樹莓派

PIR 傳感器

HMDI 屏幕(可選)

Azure 資源

我們將在項目中使用 Microsoft 帳戶。如果沒有,請申請一個。我們在這個項目中使用的所有資源都作為沙箱提供。沙盒只能用于完成 Microsoft Learn 培訓。禁止出于任何其他原因使用,并可能導致永久失去對沙盒的訪問權限。請注意,您沙箱中的所有資源在 4 小時內可用。一旦時間到了,它們將被丟棄。

項目指導

步驟 1 至步驟 6 與模塊“使用自定義視覺分類瀕危鳥類”中的步驟非常相似。不同之處在于我們在這里創建了一個對象檢測項目而不是分類項目。如果你只是想實現鳥類的分類,請參考學習模塊中提供的步驟。

1. 下載數據集

數據是我們創建機器學習模型所需的第一件事。我們將使用來自康奈爾實驗室的 NABirds 數據集的一個子集來訓練我們的模型。下載包含數據集的 zip 文件:bird-photos.zip

下載完成后,解壓縮文件,如圖 3 所示。記下文件夾位置,因為您將在后面的步驟中需要它。我們會發現,這個褶皺里總共有 16 種鳥類。每種包括大約 120 張圖像。

poYBAGNxH5KAX8FVAACYhG-CsIU912.png
圖 3 鳥類數據集
?

2. 創建自定義視覺 API 資源

接下來,我們將在 Azure 認知服務自定義愿景中創建一個 API 資源。

在 Azure 門戶中,選擇“創建資源”。

搜索自定義視覺。在搜索結果的自定義視覺卡中,選擇創建。

在 Basics 選項卡上,輸入或選擇所需的值:

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

? 默認資源組為 learn-******

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

? 在培訓資源下:將培訓位置設置為最近的點。

? 將培訓定價層設置為免費 F0(每秒 2 次交易)。

? 在預測資源下:

? 將預測位置設置為我們在上面選擇的位置。

? 將預測定價層設置為免費 F0(每秒 2 次交易)。

? 選擇查看 + 創建。

? 選擇創建。

詳情請參閱圖 4。

pYYBAGNxH5WAQLUZAAENZA9qfKE552.png
圖 4 創建自定義視覺資源
?

3.上傳數據

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

轉到https://www.customvision.ai/projects并登錄。選擇新建項目。

在創建新項目中:

? 對于名稱,輸入您選擇的項目名稱。

? 對于描述,輸入模型的簡短描述。(例如,DetectBirds)。

? 對于資源組,選擇您在 Azure 門戶中創建的資源組。

? 對于項目類型,選擇對象檢測。

? 對于域,選擇常規。有關詳細信息,請參見圖 5。

poYBAGNxH56AFsUWAAE2_Nkb_ds037.png
圖 5 創建自定義視覺項目
?

選擇創建項目。

現在,是時候在圖片中為鳥類添加圖像和標簽了。在您的自定義視覺項目中,選擇添加圖像。

Open中,轉到從數據集 zip 文件中提取圖像文件的birds-photo 文件夾。

打開鳥類物種文件夾。

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

上傳后,我們應該在每張圖片中標記對象。詳情請參閱圖 6。

pYYBAGNxH6KACV91AAFE6z4FQmQ975.png
圖 6 標記圖像中的對象。
?

重復上述步驟,上傳下載數據集中每個鳥類文件夾中的照片。

4. 訓練數據

我們已經在自定義視覺中創建了我們的數據集。現在,是時候訓練我們的模型了。在自定義視覺門戶中,選擇我們的項目。在頂部菜單欄中,選擇訓練。在選擇培訓類型中,選擇快速培訓,然后選擇培訓。如圖 7 所示。

poYBAGNxH6WAYtsrAADsFqSbbi4901.png
圖 7 訓練數據
?

訓練完成后,有關模型如何為訓練迭代執行的信息如圖 8 所示。

pYYBAGNxH6eABmfNAACvuoAfxdM853.png
圖 8 模型性能
?

當我們測試您的模型時,Custom Vision 會顯示三個指標。指標是可以幫助您了解模型執行情況的指標。這些指標并不表明模型的真實性或準確性。指標僅告訴您模型對您提供的數據的執行情況。模型在已知數據上的表現如何讓您了解模型在新數據上的表現。

精度:如果您的模型預測標簽,則此指標表明預測正確標簽的可能性有多大。

回憶:在模型應該正確預測的標簽中,該指標表示您的模型正確預測的標簽的百分比。

平均精度:通過計算不同閾值的精度和召回率來衡量模型性能。

5. 測試模型

讓我們測試我們的模型,看看它在看不見的數據上的表現如何。我們將使用來自互聯網搜索的鳥的圖像。

在自定義視覺門戶中,選擇我們的項目。在頂部菜單欄中,選擇快速測試。在 Quick Test 中,將 URL 粘貼到 Image URL 中,然后按 Enter 以測試模型的準確性。預測如圖 9 所示。我們會發現結果包括圖像中的對象坐標,用紅色矩形突出顯示。

poYBAGNxH6mAPCp7AADmnWUFC8w151.png
圖 9 測試模型
?

6.部署模型

我們可以通過獲取預測 URL 或在應用程序中使用 API 來部署到端點。

在自定義視覺門戶頂部菜單欄中,選擇性能。選擇發布。Publish Model中,選擇Prediction資源,然后為您的 Custom Vision 項目選擇預測的名稱。選擇發布。

選擇預測 URL選項卡。如何使用預測 API中,我們可以得到如圖 10 所示的 Key。

poYBAGNxH6uAJEwKAAEwMJSDDHw177.png
圖 10 如何使用預測 API
?

此外,我們將獲取 Endpoint 和 Project ID 以供進一步使用。可以在設置頁面上訪問它們,如圖 11 所示。

pYYBAGNxH66ACKyZAAECGsl-PHM017.png
圖 11 項目 ID 和端點
?

7.組裝硬件

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

? 微軟 LifeCam HD-3000

? 樹莓派 4

? PIR 傳感器。

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

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

pYYBAGNxH7qAN7tCAAJ-bXQ2q0c296.jpg
圖 12 項目硬件
?

8.安裝必要的庫

我們將使用 Azure 自定義視覺 Python SDK、Azure 存儲博客 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

若要創建 Azure 存儲帳戶并查看有關如何使用適用于 Python 的 Azure 存儲 Blob 客戶端庫的更多信息,請參閱此文檔:適用于 Python 的 Azure 存儲 Blob 客戶端庫。

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

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

9.下載并運行代碼

您可以從 Github 下載 python 代碼:https ://github.com/shijiong/AzureCustomVisionBirdDemo 。請確保您在第 14 行至第 17 行輸入了您的自定義視覺項目的預測密鑰、預測端點、項目 ID 和發布迭代名稱。第 19 行至第 21 行中的連接字符串、容器名稱和 blob 名稱應為換成你的。詳情請參閱圖 14。

pYYBAGOIOguAEpeQAADE8bXwTRA268.png
圖 14 項目的 Python 代碼
?

其次,在第 33 行,我們將圖像分辨率指定為 1280*720,這在您的項目中可能會有所不同。很重要的一點是,我們會根據第 46 行的預測 API 的結果在圖像上繪制一個矩形。如果圖像的分辨率不同,我們應該改變它,否則我們將無法獲得識別對象的正確位置在圖像上。

第三,我在第 41 行將預測概率的閾值設置為 0.9,您可以更改它以滿足您的場景。

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

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

poYBAGOIOg6AJrJnAAHn7dU3oJk476.jpg
圖 15 物體檢測結果
?

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

pYYBAGOIOhGACseSAAFug9uTcHw179.png
圖 16 Azure Blob 存儲中的圖像
?

概括

在本教程中,我們設計了一個基于 Azure Custom Vision、Azure Blob Storage 和 Raspberry Pi 的鳥類檢測器。然后給出了數據集上傳、數據訓練、模型部署、硬件搭建和操作流程的演示。希望這對那些需要在 Raspberry Pi 設備上使用 Azure 自定義視覺服務的人有用。


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

評論

查看更多

下載排行

本周

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

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>