電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>瀕臨滅絕鳥(niǎo)類(lèi)探測(cè)器開(kāi)源分享

瀕臨滅絕鳥(niǎo)類(lèi)探測(cè)器開(kāi)源分享

2022-10-26 | zip | 0.04 MB | 次下載 | 免費(fèi)

資料介紹

描述

介紹:

由于非法狩獵和運(yùn)動(dòng)狩獵,有幾種瀕臨滅絕的鳥(niǎo)類(lèi)可以通過(guò)技術(shù)解決方案得到拯救。

根據(jù)《自然》雜志的當(dāng)前討論 [1],如果采取行動(dòng)避免這種物種滅絕,可以減輕多少物種滅絕,鳥(niǎo)類(lèi)生活 [2] 加強(qiáng)了這種滅絕,它大約可以減輕 40%。

pYYBAGNX_DCAQP0ZAAEVcaN23WA250.png
?

我發(fā)現(xiàn)的類(lèi)似解決方案是基于提高對(duì)問(wèn)題的認(rèn)識(shí)。忽略這些解決方案,我可以找到:

  • 使用帶 GPS 的項(xiàng)鏈。缺點(diǎn):佩戴在動(dòng)物身上的項(xiàng)圈和傳感器會(huì)對(duì)動(dòng)物造成傷害或不適。在電池的情況下,它們可能會(huì)爆炸。https://www.gps-collars.com/
  • 無(wú)人機(jī)智能傳感。缺點(diǎn):它們會(huì)對(duì)動(dòng)物產(chǎn)生意想不到的碰撞或倒塌并傷害它們。
  • 識(shí)別鳥(niǎo)鳴。缺點(diǎn):系統(tǒng)復(fù)雜繁瑣,很難在一個(gè)地方長(zhǎng)期維護(hù)。

在后者的情況下,除了加強(qiáng)我們的理論外,它還讓我們有機(jī)會(huì)制作一個(gè)易于復(fù)制、節(jié)能且功能強(qiáng)大的系統(tǒng)。

解決方案:

使用 QuickFeather 開(kāi)發(fā)套件中包含的英飛凌 IM69D130 PDM 數(shù)字麥克風(fēng),我們將獲得音頻信號(hào),使用 SensiML,我們可以通過(guò)神經(jīng)網(wǎng)絡(luò),指示我們聽(tīng)到的鳥(niǎo)的類(lèi)型。

poYBAGNX_DeAVXE7AA0TxWYFae4310.png
?

顯示在一個(gè)簡(jiǎn)單的 Web 應(yīng)用程序中檢測(cè)到的鳥(niǎo)類(lèi)的信息

poYBAGNX_DqAKC-AAAFFDAP2etk552.png
?

連接圖:

我們將項(xiàng)目基于以下架構(gòu):

pYYBAGNX_D2Af9YYAACJnOAih7Q400.png
?

我們將使用 QuickFeather 套件并通過(guò) Simple Stream Gateway 將其連接到設(shè)備和 AWS,該信息將顯示在 Web 應(yīng)用程序中。

硬件

把它想象成我們使用 QuickFeather 作為 ESP32AI Shield。

pYYBAGNX_EKATbTNAAkCp0IOG1Y894.png
?

開(kāi)發(fā)環(huán)境設(shè)置:

由于我使用我的計(jì)算機(jī)對(duì)許多不同的組件進(jìn)行編程,我真的很喜歡能夠隔離我用來(lái)編程的環(huán)境。在這種情況下,為了進(jìn)行應(yīng)用程序的開(kāi)發(fā)并能夠正確使用 QORC SDK,我將所有東西都安裝在一個(gè) Docker 容器中,該容器可以簡(jiǎn)單地打開(kāi)和關(guān)閉以編譯程序。除了在不同的機(jī)器上很容易重現(xiàn)。

我已將容器上傳到 Docker Hub,因此您也可以根據(jù)需要使用它。

下面是容器編譯qf_ssi_ai_app示例程序的示例

poYBAGNX_EWAenKqAAGWCxOgwME783.png
?

QuickFeather Burner v1(閃光器):

除了在 docker 上將所有內(nèi)容編譯到開(kāi)發(fā)環(huán)境中,我決定創(chuàng)建一個(gè) GUI 來(lái)輕松編程 QuickFeather,而無(wú)需命令行。

該程序與 Windows 10 兼容,您可以在 QuickFeather Burner v1 文件夾中找到可執(zhí)行文件。

否則,您可以在存儲(chǔ)庫(kù)中看到此代碼。

QuickFeather 燃燒器 v1

pYYBAGNX_EiAPpfXAADL34F7j3s638.png
?

先決條件,在 pc 上安裝 python3 并在 PATH 中可用。

poYBAGNX_EuAAspDAABNghlim-c369.png
?
  • Install Dep :第一次打開(kāi)時(shí),按下按鈕安裝程序的依賴(lài)項(xiàng)。
  • 刷新端口:刷新連接到電腦的串行端口。
  • 瀏覽 Bin 文件:搜索 bin 中的文件。
  • 程序:在所選設(shè)備上對(duì) bin 進(jìn)行編程,一旦您完成閃爍設(shè)備,您應(yīng)該會(huì)看到“成功”響應(yīng)。

遵循這個(gè)過(guò)程:

?

該程序的功能純粹是從命令行加速設(shè)備的閃存過(guò)程。

捕獲數(shù)據(jù):

為了獲得可靠的我國(guó)鳥(niǎo)鳴數(shù)據(jù),并能夠?qū)υO(shè)備進(jìn)行正確的測(cè)試,決定使用這個(gè)“數(shù)據(jù)庫(kù)”的歌曲作為模型訓(xùn)練的輸入。

數(shù)據(jù):(網(wǎng)頁(yè)是西班牙語(yǔ),所以我留下谷歌翻譯的版本)

對(duì)于這個(gè)測(cè)試,我決定使用以下 6 只隨機(jī)鳥(niǎo)類(lèi)的數(shù)據(jù)。

  • 鈹蜂鳥(niǎo)
  • 墨西哥木匠
  • 墨西哥芬克
  • 紅眼龍
  • 裁縫
  • 扎納特市長(zhǎng)

鳥(niǎo)類(lèi):

如果您想更深入地了解該項(xiàng)目,它位于 Data Capture Lab Project 文件夾中。

Near-Extinct-Bird-Detector/Data Capture Lab Project at master · altaga/Near-Extinct-Bird-Detector (github.com)

設(shè)置 QuickFeather:

為了設(shè)置設(shè)備并能夠使用 QuickFeather 對(duì)我的音頻進(jìn)行采樣,我遵循了 SensiML 官方教程

  • 使用 QuickFeather 和 SensiML 處理音頻數(shù)據(jù)
  • 在這種情況下,由于設(shè)備將通過(guò) WiFi 工作,我決定使用 SensiML 提供的 ESP32 接口通過(guò) WiFi 發(fā)送所有數(shù)據(jù)。更多細(xì)節(jié)在:ESP32 接口

https://github.com/sensiml/esp32_simple_http_uart

特別是如果您想查看項(xiàng)目并自己編譯它,它將位于該文件夾中。數(shù)據(jù)采集??實(shí)驗(yàn)室

Near-Extinct-Bird-Detector/Data Capture Lab at master · altaga/Near-Extinct-Bird-Detector (github.com)

如果您只想開(kāi)始從您的設(shè)備進(jìn)行測(cè)量,編譯的 bin 將位于文件夾中。數(shù)據(jù)采集??實(shí)驗(yàn)室箱

Near-Extinct-Bird-Detector/Data Capture Lab Bin at master · altaga/Near-Extinct-Bird-Detector (github.com)

捕獲數(shù)據(jù)示例:

?

捕獲數(shù)據(jù):

要對(duì)數(shù)據(jù)進(jìn)行采樣,請(qǐng)獲取鳥(niǎo)網(wǎng)頁(yè)提供的音頻(GitHub 中的音頻)并使用 QuickFeather 捕獲它們。

pYYBAGNX_FCAHnMZAAIVZmtZYlc711.png
?

標(biāo)簽數(shù)據(jù):

對(duì)于數(shù)據(jù)標(biāo)注,在每幀捕獲的數(shù)據(jù)中,選擇鳥(niǎo)鳴中最顯著的片段,同時(shí)選擇它們沒(méi)有唱歌的片段為 Normal 類(lèi)別(沒(méi)有鳥(niǎo)鳴,來(lái)自背景自然的純?cè)肼暎谶@種情況下“沉默”)

這是墨西哥木匠的歌曲的一個(gè)例子:

pYYBAGNX_FOANpxHAAKLioAfcak460.png
?

SensiML:

在這種情況下,在訓(xùn)練模型時(shí),請(qǐng)使用以下設(shè)置,因?yàn)樗鼈兪墙o我最好結(jié)果的設(shè)置。

poYBAGNX_FWAUGBuAADhdv5lX4s047.png
?

生成的模型產(chǎn)生的混淆矩陣為:

poYBAGNX_FiANFrVAAC_S5kAhP4635.png
?

6只鳥(niǎo)的識(shí)別結(jié)果是:

pYYBAGNX_FuAIeFjAAEKEH8CqsQ560.png
?

由于單片機(jī)的限制,需要保證單片機(jī)能檢測(cè)到的鳥(niǎo)類(lèi)很少。

測(cè)試模型:

使用ESP32 Interface y Simple-Streaming-Gateway用一些鳥(niǎo)類(lèi)測(cè)試模型。

?

盡管該模型似乎毫無(wú)意義地檢測(cè)了多只鳥(niǎo),但實(shí)際上它主要檢測(cè)的是我們想要的鳥(niǎo)。然而,為了證明這一點(diǎn),我們必須對(duì)幾次檢測(cè)進(jìn)行平均,以顯示它是如何正確檢測(cè)到鳥(niǎo)的。

ESP32 接口:

SensiML 視頻系列中解釋了這個(gè) ESP32 接口。

這個(gè) ESP32 項(xiàng)目的所有代碼都在 esp32_simple_http_uart 文件夾中,要編譯它并在 ESP32 上燒寫(xiě)它,你必須使用 ESP-IDF vscode 插件。

該項(xiàng)目需要的唯一設(shè)置如下。

在 esp32_simple_http_uart/sdkconfig 的第 135 行輸入您的 wifi 憑據(jù)并編譯代碼。

CONFIG_EXAMPLE_CONNECT_WIFI=y
# CONFIG_EXAMPLE_CONNECT_ETHERNET is not set
CONFIG_EXAMPLE_WIFI_SSID="YOURSSID"
CONFIG_EXAMPLE_WIFI_PASSWORD="YOURPASS"
CONFIG_EXAMPLE_CONNECT_IPV6=y
# end of Example Connection Configuration

完成此操作后,您可以毫無(wú)問(wèn)題地將其連接到 Simple-Streaming-Gateway。

簡(jiǎn)單流式網(wǎng)關(guān):

為了查看我們的 QuickFeather 正在閱讀的內(nèi)容,請(qǐng)安裝 SensiML 提供的 SSG 示例。

為了讓系統(tǒng)保持安裝狀態(tài)并且不必在計(jì)算機(jī)上運(yùn)行 SSG,我決定將其完全安裝在 Raspberry Pi Zero W 上

pYYBAGNX_IWAXmgGAAmopZZuYSg022.png
?

在這里您可以看到平臺(tái):

poYBAGNX_IeAKTxBAAEPO5LgpAE869.png
?

SSG 到 AWS 物聯(lián)網(wǎng)

在這種情況下,為了將我們的設(shè)備與 AWS IoT 通信,我決定稍微修改 SSG 代碼以實(shí)現(xiàn)與 AWS IoT 的 MQTT 連接,我們將利用 SSG 使用 Python 后端工作的事實(shí).

SSG 中要修改的文件是 Simple-Streaming-Gateway/sources/base.py

添加了 AWS IoT 的 MQTT 代理。

*添加您的 AWS IoT 終端節(jié)點(diǎn)和您將向其發(fā)送數(shù)據(jù)的主題。

EndPoint = "XXXXXXXXXXXXXXX.iot.us-east-1.amazonaws.com" 
sub_topic = 'birds-detected'

由于 AWS 的安全性,有必要?jiǎng)?chuàng)建客戶端證書(shū)和私有證書(shū),以便將設(shè)備與平臺(tái)通信。

  • 首先,我們必須訪問(wèn)我們的 AWS 控制臺(tái)并查找 IoT 核心服務(wù):
poYBAGNX_IqAYpN0AACmF_HybIw415.png
?
  • 獲取您的 AWS 終端節(jié)點(diǎn),保存它。
pYYBAGNX_I2AZG5XAACmYPcBhkI627.png
?
  • 在側(cè)面板中選擇“Onboard”選項(xiàng),然后選擇“Get started”。
poYBAGNX_JCAWk5tAAEFpw-DBxY271.png
?
  • 選擇“開(kāi)始”。
pYYBAGNX_JOAHHbyAAD9NOxoATU288.png
?
  • 在“選擇平臺(tái)”中選擇“Linux/OSX”,在 AWS IoT DEvice SDK 中選擇“Python”,然后單擊“下一步”。
pYYBAGNX_JqAHk-WAACqQappLYY418.png
?
  • 在名稱(chēng)處,輸入任何名稱(chēng),然后單擊“下一步”。
poYBAGNX_J2AE7xUAACjy7lLsZg075.png
?
  • 在“Download connection kit for”點(diǎn)擊“Linux/OSX”按鈕下載憑證包(我們稍后會(huì)用到)并點(diǎn)擊“Next Step”。
pYYBAGNX_KCAF3jsAACqFr1NxSo522.png
?
  • 點(diǎn)擊“完成”。
pYYBAGNX_KSAKkKhAACQEkO31ys531.png
?
  • 點(diǎn)擊“完成”。
poYBAGNX_KeAFzpAAAC4S8Jk6bY715.png
?
  • 在橫向欄上,在管理/事物部分內(nèi),我們可以看到我們已經(jīng)創(chuàng)建的事物。現(xiàn)在我們必須設(shè)置那個(gè)東西的策略,讓它在 AWS 中不受限制地工作。
pYYBAGNX_KmAe0OJAABezUeC0oo889.png
?
  • 在側(cè)欄,在 Secure/Policies 部分我們可以看到我們的事物策略,點(diǎn)擊它來(lái)修改它:
poYBAGNX_KyAEPX-AABQ7NtiKAY723.png
?
  • 點(diǎn)擊“編輯政策文件”。
pYYBAGNX_K-AIo0BAACx-23OTlU259.png
?

將以下文本復(fù)制粘貼到文檔中并保存。

{
"Version": "2012-10-17",
"Statement": [
    {
    "Effect": "Allow",
    "Action": "iot:*",
    "Resource": "*"
    }
]
}
pYYBAGNX_LKAQ0FbAACsbqIIffA137.png
?

這樣,設(shè)備會(huì)將數(shù)據(jù)發(fā)送到 AWS IoT。

poYBAGNX_LSARRo_AAB-umEhjiI719.png
?

網(wǎng)頁(yè)部署:

網(wǎng)頁(yè)的部署是使用 ReactJS 和 AWS-SDK for javascript 完成的。

poYBAGNX_DqAKC-AAAFFDAP2etk552.png
?

看一看!:

AWS 認(rèn)知:

為了安全起見(jiàn),為了安全地使用和使用 AWS 服務(wù),身份池憑證是通過(guò) Cognito 服務(wù)實(shí)施的。

AWS IoT 和 Cognito 的訪問(wèn)密鑰必須放在以下文件中。

Webapp/src/components/aws-configuration.js

var awsConfiguration = {
  poolId: "us-east-1:XXXXXXXXXXXXXXX", // 'YourCognitoIdentityPoolId'
  host:"XXXXXXXXXXXXXX-ats.iot.us-east-1.amazonaws.com", // 'YourAwsIoTEndpoint', e.g. 'prefix.iot.us-east-1.amazonaws.com'
  region: "us-east-1" // 'YourAwsRegion', e.g. 'us-east-1'
};
module.exports = awsConfiguration;

AWS IoT Web 套接字:

網(wǎng)頁(yè)通過(guò) AWS IoT 作為 Web 套接字接收傳感器數(shù)據(jù),因此在頁(yè)面內(nèi)定義很重要,這是我們將要接收的主題,在本例中為“鳥(niǎo)類(lèi)檢測(cè)”。

在以下文件中,輸入您將訂閱的主題的名稱(chēng)。WebApp/src/App.js

<IotReciever sub_topics={["birds-detected"]} callback={this.callBackIoT} />

數(shù)據(jù)后處理:

為了對(duì)傳感器檢測(cè)到的數(shù)據(jù)進(jìn)行后處理,平均采集了 7 個(gè)樣本。系統(tǒng)每次檢測(cè)到積累了7個(gè)音頻樣本,就獲取數(shù)據(jù)的統(tǒng)計(jì)模式,觀察哪只鳥(niǎo)被檢測(cè)到最多。顯示此事件的信息。

const temp = JSON.parse(IoTData[1])
  in_array.push(parseInt(temp.Classification))
  console.log(in_array)
  if (in_array.length > 6) {
    let temps = this.state.birds

    if (flag && temps.find(element => element === (statisticalMode(in_array) - 1)) === undefined && (statisticalMode(in_array) - 1) !== 3) {
      flag = false
      temps.pop()
      temps.push(statisticalMode(in_array) - 1)
      this.setState({
        birds: temps
      })
    }
    else if (temps.find(element => element === (statisticalMode(in_array) - 1)) === undefined && (statisticalMode(in_array) - 1) !== 3) {
      temps.push(statisticalMode(in_array) - 1)
      this.setState({
        birds: temps
      })
    }
    in_array = []

網(wǎng)頁(yè)演示:

在這里,我們可以看到平臺(tái)如何正確檢測(cè)到其中一只鳥(niǎo):

?

完成品:

我在當(dāng)?shù)氐纳种胁渴鹆诉@個(gè)項(xiàng)目,幸運(yùn)的是那里有免費(fèi)的 WiFi 連接。因此,可以將設(shè)備放置在這個(gè)地方進(jìn)行試點(diǎn)測(cè)試。

pYYBAGNX_LyAT7BnAAV03YuoF4Q636.png
免費(fèi)WiFi
?
poYBAGNX_MOACWaDABC4tN7HDVw061.png
設(shè)備打開(kāi)
?
poYBAGNX_MmAYwBUAAeqLO_c6Jc476.png
3D打印案例
?
pYYBAGNX_M-AI8TNAAb4QAtU-HQ861.png
網(wǎng)關(guān)
?
poYBAGNX_DeAVXE7AA0TxWYFae4310.png
現(xiàn)場(chǎng)設(shè)備
?

最終演示:

?

結(jié)論:

當(dāng)然,這只是為了嘗試和保存所需的東西而做的一小部分努力,但第一步總是試圖找到這些物種。物聯(lián)網(wǎng)與人工智能一起為我們帶來(lái)了自動(dòng)化這一過(guò)程的可能性,并在其中變得更加確定。本質(zhì)上,可以為更多種類(lèi)的物種擴(kuò)展和復(fù)制相同的過(guò)程,我還看到使用計(jì)算機(jī)視覺(jué)做同樣事情的版本,在這種情況下的問(wèn)題是為其提供動(dòng)力。目前的目的是將 QuickFeather 和 SensiML 的音頻功能推向極限,并為此找到一個(gè)有價(jià)值的應(yīng)用程序。


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

評(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電子書(shū))
  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)