日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>基于ML的鳥類和松鼠檢測器(Raspberry Pi和AWS)

基于ML的鳥類和松鼠檢測器(Raspberry Pi和AWS)

2022-11-15 | zip | 0.49 MB | 次下載 | 免費

資料介紹

描述

系統(tǒng)總覽

如下圖所示,Raspberry Pi 將圖片從我的喂鳥器發(fā)送到 AWS 的 S3 存儲桶。當新圖像到達 S3 時,這會調(diào)用 Python Lambda 函數(shù),將照片發(fā)送到 AWS Rekognition,后者使用其基于 ML 的圖像識別功能來確定照片中的內(nèi)容。如果檢測到一只鳥,這會觸發(fā)一條發(fā)送至 SNS 主題的消息,您可以使用該消息來獲取文本或電子郵件。如果檢測到松鼠,則會向不同的 SNS 主題發(fā)送一條消息。因此,您可以使用文本通知自己發(fā)現(xiàn)了松鼠,這樣您就可以將其趕走,并使用電子郵件通知自己有趣的鳥類。或者你甚至可以連接 Raspberry Pi 以向任何入侵喂鳥器的松鼠射水(這可能是明年夏天的一個項目)。最后,我添加了一個使用AWS S3 靜態(tài)網(wǎng)站方式,讓您輕松查看最佳圖片。

要完成這個項目,您需要一些 Python 技能(我已經(jīng)提供了我的代碼,但您需要根據(jù)自己的情況進行一些修改)和對 AWS 的中等程度的了解。

poYBAGNy2mCAaleCAABaemuQTmg675.png
系統(tǒng)架構(gòu)
?

硬件

在封面照片中,您可以看到我的 Raspberry Pi 4 和高質(zhì)量 (HQ) 相機。我開始使用適合 HQ 相機的 50 美元長焦鏡頭,但我已經(jīng)改用從佳能 EOS 相機借來的佳能鏡頭。您需要購買一個適配器(來自 Arducam)才能將佳能鏡頭連接到相機(30 美元),但這非常值得。使用這樣的優(yōu)質(zhì)鏡頭,圖像非常好,而且與我原來的鏡頭不同,您可以盡可能近地放大。

樹莓派運動檢測

Raspberry Pi 只是一個帶有 ARM 處理器的非常小的 Linux 機器。有一個名為PI-TIMOLO的軟件包,我發(fā)現(xiàn)它非常有用。您可以在 Raspberry Pi 上運行它來檢測運動,并自動拍攝照片。您不需要將紅外運動檢測器連接到 Raspberry Pi(盡管這可能不是一個壞主意)。PI-TIMOLO 掃描來自您的相機的低分辨率流,如果它檢測到從一幀到下一幀的顯著差異,它會斷定某些東西已經(jīng)移動,并暫時停止流,拍攝一張高分辨率照片并將其放入文件夾。

我將帶有長焦鏡頭的 Raspberry Pi 高質(zhì)量 (HQ) 相機對準我的喂鳥器并設置了 PI-TIMOLO。您需要調(diào)整幾個 PI-TIMOLO 設置才能在特定情況下獲得良好的效果,但您可以忽略很多設置,例如與視頻和全景照片相關的設置。只需專注于圖像和運動設置。我將放一個我在 Github 存儲庫中使用的 PI-TIMOLO 設置的示例。

我在 Raspberry Pi 上運行了一個小型 Python 程序,它控制 PI-TIMOLO 放置照片的目錄。如果我的代碼在該文件夾中檢測到一張新照片,它會裁剪照片(稍后我將解釋)并進行 API 調(diào)用以將其發(fā)送到 AWS 中的 S3 存儲桶。這是代碼:

https://github.com/mesadowski/RaspberryPi-Bird-Image-Recognition/blob/main/s3_send_bird_pic_crop.py

要使此代碼正常工作,您需要在 Raspberry Pi 上安裝 boto(AWS Python 開發(fā)工具包),并在 AWS 中創(chuàng)建一個有權(quán)寫入 S3 的 IAM 用戶。您需要將該 IAM 用戶的 AWS 用戶憑證復制并粘貼到 Raspberry Pi 上 .aws 或 .boto 文件夾中的憑證文件中,以便您的 Python 代碼具有將文件放入 S3 存儲桶所需的憑證。

AWS S3、Lambda、Rekognition 和 SNS

一旦開始工作,您就可以在 AWS 中創(chuàng)建一個 lamdba 函數(shù)。Lambda 是 AWS 的旗艦無服務器計算服務。Lambda 是一段代碼,一旦被某個觸發(fā)器調(diào)用就會運行,觸發(fā)器可能是傳入的 API 調(diào)用或計時器,或者在我的情況下,是到達 S3 存儲桶的東西。一旦完成它的工作,Lambda 就會終止。這對我的基于 ML 的鳥和松鼠檢測器來說很好,因為它讓我無需運行單個服務器即可運行應用程序,因此非常經(jīng)濟。在 AWS S3、Lambda、Rekognition 和 SNS 以及 S3 靜態(tài)網(wǎng)站之間,我擁有所有這些強大的功能,包括最先進的圖像識別、云存儲以及電子郵件和文本通知,而且它實際上是如果我可以接受標準的 Rekognition 服務(即,不是自定義標簽——稍后會詳細介紹),則免費。只需確保您的 Raspberry Pi 不會瘋狂地向 S3 發(fā)送太多照片,例如,如果您的運動檢測設置過于寬松,因為最終可能會增加太多的 API 調(diào)用。但是,如果相機每天拍攝大約 200 張照片,則運行成本很低,因為 AWS 免費套餐每月為您提供 5,000 次 Rekognition 調(diào)用。

要創(chuàng)建 Lambda,首先,您需要創(chuàng)建 Lambda 將代入的角色,該角色擁有 S3、Lambda、Rekognition 和 SNS 的權(quán)限。轉(zhuǎn)到 AWS 控制臺中的 IAM,并創(chuàng)建一個新角色并為其提供以下策略:

pYYBAGNy2mKAJLIyAADeY4jMy8Q674.png
?

然后轉(zhuǎn)到 AWS 控制臺中的 Lambda。單擊創(chuàng)建函數(shù),然后選擇從頭開始作者。命名您的 Lambda,并選擇 Python 3.8 作為您的語言,并確保為其提供您之前創(chuàng)建的角色,以便它可以訪問 S3、Rekognition 和 SNS。

poYBAGNy2mWAEmtlAAC3jaGDNcY481.png
?

創(chuàng)建 Lambda 后,您希望將其設置為基于在 S3 中創(chuàng)建的新對象(即從 Raspberry Pi 發(fā)送的新照片)觸發(fā)。因此,您單擊 Trigger 按鈕并選擇 S3 存儲桶和文件夾(AWS 也稱為前綴),您的圖片將從 Raspberry Pi 發(fā)送到其中。然后,是時候輸入你的 Python 代碼了。這是我的,但您需要輸入自己的 SNS 主題標識符:

https://github.com/mesadowski/RaspberryPi-Bird-Image-Recognition/blob/main/BirdLambda.py

醒來后(新圖片到達 S3 時),Lambda 調(diào)用 Rekognition API 以查看照片中的內(nèi)容。Rekognition 是一項 AWS 圖像識別服務。我在我博客上的一篇博文中描述了 Rekognition 簡而言之,如果您向 Rekognition 提供圖像,它會告訴您它認為其中的內(nèi)容。我發(fā)現(xiàn) Rekognition 的開箱即用訓練使其能夠識別鳥類,并且有時可以識別正確的鳥類種類。它還可以識別松鼠,松鼠是飼養(yǎng)者周圍常見的害蟲。在上面的代碼中,我使用了標準的 Rekognition 服務,該服務經(jīng)過預先訓練,可以識別常見的物體、動物和名人(以防名人出現(xiàn)在我的喂鳥器周圍)。

所以無論如何,我的 Lambda 代碼調(diào)用 Rekognition API 并查看響應以查看 Rekognition 看到的是鳥還是松鼠。我使用 AWS 控制臺創(chuàng)建了兩個 AWS 簡單通知服務 (SNS) 主題:一個用于鳥類觀察,一個用于松鼠觀察。因此,根據(jù) Rekognition 在圖像中看到的內(nèi)容,我的 Lambda 使用 SNS API 將消息發(fā)布到適當?shù)?SNS 主題。您可以通過電子郵件或 SMS 文本訂閱 SNS 主題,并獲得 Rekognition 看到的鳥類類型的通知,以及松鼠目擊事件的通知。

挑戰(zhàn)

將 Raspberry Pi 配置為具有正確的 PI-TIMOLO 和攝像頭設置需要一些時間。您希望 PI-TIMOLO 足夠靈敏以在檢測到鳥時觸發(fā)照片,但又不至于敏感到風中飄動的幾片葉子會觸發(fā)照片。

這是我第一次開發(fā) Lambda 函數(shù)。我已經(jīng)在我的 Mac 上對大部分代碼進行了原型設計和測試,但是當我在 AWS 控制臺中創(chuàng)建 Lambda 代碼時調(diào)試起來有點困難,因為我是通過查看 AWS Cloudwatch 來調(diào)試它以查看發(fā)生了什么。通常,在您檢查 Cloudwatch 以查看是否有任何錯誤之前,最多有 5 分鐘的延遲。AWS 有一個用于在本地調(diào)試 Lambda 的工具(稱為 SAM),因此如果您要創(chuàng)建復雜的 Lambda,這可能值得學習,但這次我設法克服了它。

結(jié)果

使用開箱即用的 Rekognition 服務,我很快收到許多通知,告訴我圖片中有喂鳥器(不是開玩笑)或草坪家具。所以很容易過濾掉那些。然后它開始告訴我每張照片中都有草或“自然”,所以我不得不將其過濾掉。最終,我發(fā)現(xiàn) Rekognition 正在識別圖片中有一只鳥的事實,但它無法識別物種。問題是我的圖像質(zhì)量。以前,當我向 Rekognition 提供專業(yè)品質(zhì)的鳥類照片時,它通??梢宰R別物種。但是我的照片沒有那么好。我發(fā)現(xiàn)通過裁剪照片以使鳥占據(jù)圖像的更高部分,Rekognition 傾向于更多地關注鳥并且有時可以識別鳥類。因此,我使用 Python Pillow 庫在我的 Raspberry Pi 代碼中添加了一些裁剪邏輯。從我的 Raspberry Pi 相機裁剪啄木鳥圖像(下圖)并將其發(fā)送到 Rekognition 后,我從 SNS 收到了以下通知:

?
?

Detected labels for photo at time 2020-11-22-18:34:11
Bird (Confidence 99.25276184082031)
Flicker Bird (Confidence 78.45641326904297)
Woodpecker (Confidence 78.45641326904297)
Finch (Confidence 54.26727294921875)
in photo new-bird-images/2020-11-22-13-34-09.jpg

這是一只紅腹啄木鳥,因此 Rekognition 確實確定它是一只啄木鳥(有一定的信心),雖然不是紅腹啄木鳥。它還認為它可能是一只閃爍的鳥(和一只雀,信心不足)。那是錯誤的,雖然當我在康奈爾鳥類學網(wǎng)站上查找閃爍時,事實證明它們是啄木鳥的一種,所以這個答案并不完全離譜。然而,Rekognition 有時會給出一些奇怪的結(jié)果。例如,下面的照片被 Rekognition 標記為“家禽”。也許它看起來有點像一只小雞?還有一次,Rekognition 認為我后院的一張照片中有一只企鵝。我查了一下,確實是一張黑白鳥的照片。當然,ML 圖像識別模型只知道它們之前提供的訓練圖像(由訓練模型的人提供)。他們不了解圖像的上下文,這會讓他們知道報告我的后院有一只企鵝是荒謬的。

Rekognition 自定義標簽

要獲得真正準確的結(jié)果,您可以考慮訓練 Rekognition 自定義標簽(或其他一些涉及自定義訓練的基于 ML 的方法)。按照我之前博客文章中的方法,我使用來自加州理工學院-UCSD 鳥類圖像數(shù)據(jù)集的圖像來訓練 Rekognition 在我所在地區(qū)的常見鳥類上。我放入了一些松鼠的照片,以便 Rekognition 也可以識別它們。訓練模型花了大約 1.4 小時,但結(jié)果令人印象深刻(盡管我發(fā)現(xiàn)我能夠接近我用幾行 Python 編寫的 fast.ai 模型。你可以在我的博客上閱讀). 在下面,您可以看到 Rekognition 自定義標簽在測試圖像上對東北部各種鳥類(和松鼠)的表現(xiàn) - 幾乎永遠不會出錯(至少在使用專業(yè)質(zhì)量圖片時)!

poYBAGNy2myAboGMAADZiMqPzm0986.png
?

但是,雖然這項 ML 服務做得非常出色,但對于個人愛好者來說,整天運行的成本太高了。作為 AWS 免費套餐的一部分,您可以獲得幾個小時,但之后每小時收費 4.00 美元。幸運的是,我能夠在我的賬戶中獲得 100 美元的免費 AWS 積分,因此我可以免費試用。為了節(jié)省成本,AWS 建議您啟動服務、使用它,并在完成后將其關閉。所以你不能真正運行它幾個小時,這是我最初的設計。但是,對于企業(yè)而言,這項服務非常物有所值,而且與其他選項相比,它確實沒有那么貴。

要使用 Rekognition 自定義標簽,您需要稍微更改 Lambda 函數(shù)以使用detect_custom_labels API 調(diào)用而不是detect_labels調(diào)用(這里是 Github 中代碼的鏈接)。然后,啟動模型(您可以為此使用 AWS CLI)。如果您在訓練完成后單擊 AWS 控制臺中的模型并滾動到底部,AWS 會為您提供 AWS 命令??行命令,您可以將其剪切并粘貼到終端窗口中。等待幾分鐘,AWS 控制臺最終會告訴您它正在運行。只需確保在完成后停止模型,這樣您就不會繼續(xù)收取費用 - 這些可以加起來!

當我嘗試使用 Raspberry Pi 相機拍攝的照片使用 Rekognition 自定義標簽時,最初我發(fā)現(xiàn) Rekognition 自定義標簽無法識別任何內(nèi)容。但是當我裁剪圖像時,Rekognition 正確地確定我的啄木鳥圖片(上圖)不僅僅是一只啄木鳥,而是一只紅腹啄木鳥。這非常酷,盡管當我向 Rekognition Custom Labels 發(fā)送大約 1200 張圖片時,我學到了一些關于訓練模型的艱難課程。鳥類 ID 通常是錯誤的,因為該模型已經(jīng)在我的喂食器上不太可能看到的圖像上進行了訓練(例如,每年這個時候藍鳥在這里并不常見,但它認為它看到了很多藍鳥)。此外,我的圖像有時會因為鳥在移動而失焦。所以如果我要一直運行這個模型,我

考慮到 Rekognition 自定義標簽的成本,我可能會在一段時間內(nèi)使用更便宜的現(xiàn)成 Rekognition 運行它,并考慮在未來轉(zhuǎn)向更便宜的自定義模型(例如fast.我的博客上描述的ai模型)。

PS Raspberry Pi 的人們?yōu)?Magpi(Raspberry Pi 官方雜志)寫了一篇關于這個項目的文章。你可以在這里找到它。


檢測器 Raspberry Pi AWS
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

評論

查看更多

下載排行

本周

  1. 1矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
  2. 1.12 MB  |  5次下載  |  免費
  3. 2HT81696H 內(nèi)置升壓的30W立體聲D類音頻功放數(shù)據(jù)手冊
  4. 1.21 MB   |  1次下載  |  免費
  5. 3HTA6863 3W超低噪聲超低功耗單聲道D類音頻功率放大器數(shù)據(jù)手冊
  6. 0.87 MB   |  次下載  |  免費
  7. 4南芯 Southchip SC8802C 充電控制器 規(guī)格書 Datasheet 佰祥電子
  8. 88.16 KB  |  次下載  |  免費
  9. 5矽力杰 Silergy SY7065 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
  10. 910.67 KB  |  次下載  |  免費
  11. 6矽力杰 Silergy SY7066 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
  12. 989.14 KB  |  次下載  |  免費
  13. 7WD6208A產(chǎn)品規(guī)格書
  14. 631.24 KB  |  次下載  |  免費
  15. 8NB685 26 V,12 A,低靜態(tài)電流,大電流 同步降壓變換器數(shù)據(jù)手冊
  16. 1.64 MB   |  次下載  |  2 積分

本月

  1. 1EMC PCB設計總結(jié)
  2. 0.33 MB   |  12次下載  |  免費
  3. 2PD取電芯片 ECP5702規(guī)格書
  4. 0.88 MB   |  5次下載  |  免費
  5. 3矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
  6. 1.12 MB  |  5次下載  |  免費
  7. 4氮化鎵GaN FET/GaN HEMT 功率驅(qū)動電路選型表
  8. 0.10 MB   |  3次下載  |  免費
  9. 5PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊
  10. 0.88 MB   |  3次下載  |  免費
  11. 6SY50655 用于高輸入電壓應用的偽固定頻率SSR反激式穩(wěn)壓器英文資料
  12. 1.01 MB   |  3次下載  |  免費
  13. 7怎么為半導體測試儀選擇精密放大器
  14. 0.65 MB   |  2次下載  |  免費
  15. 8SY52341 次級側(cè)同步整流英文手冊
  16. 0.94 MB   |  2次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191469次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81606次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73832次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分
彭泽县| 宜昌市| 肇东市| 宁蒗| 荆州市| 沈丘县| 汽车| 花莲县| 镇巴县| 成武县| 龙江县| 芜湖市| 旺苍县| 吉安县| 江津市| 永康市| 平乡县| 南阳市| 剑阁县| 东辽县| 鹤山市| 绥滨县| 桐柏县| 都安| 马公市| 和林格尔县| 兰州市| 垫江县| 澄江县| 旅游| 连平县| 张家界市| 隆回县| 临洮县| 陕西省| 阜康市| 墨脱县| 台安县| 习水县| 革吉县| 灵丘县|