返回文章列表

邊緣AI技術應用於野生動物保育

本文探討如何利用邊緣 AI 技術,結合相機陷阱和機器學習模型,實作對野生動物的監測和保育。文章涵蓋了邊緣 AI 在偏遠地區的應用優勢,相機陷阱技術的工作原理,以及如何設計和佈署根據影像辨識的機器學習模型來偵測瀕危物種和入侵物種。此外,文章也討論了資料收集策略、硬體選擇考量以及環境因素對裝置佈署的影響。

機器學習 保育科技

隨著棲息地破壞和偷獵等威脅日益加劇,野生動物保育工作面臨巨大挑戰。邊緣 AI 技術的興起,結合相機陷阱等裝置,為解決這些問題提供了新的途徑。透過在裝置端進行即時資料處理,邊緣 AI 系統能有效監測偏遠地區的野生動物活動,並及時發出警示,例如偵測到偷獵行為或入侵物種的出現。相機陷阱技術的應用,可捕捉野生動物的影像資料,再透過機器學習模型進行分析,辨識物種、追蹤其活動軌跡,並評估其生存狀態。此方法不僅能降低人力監測成本,也能減少對野生動物的幹擾。然而,在設計和佈署這類別系統時,需考量裝置的電源供應、環境適應性以及資料傳輸等技術挑戰,並評估其對環境的潛在影響,以確保科技能真正為保育工作帶來效益。

野生動物監測:邊緣AI在保育中的應用

隨著全球瀕危物種數量迅速下降,野生動物保育成為日益重要的議題。人類活動如城市化、農業開發和資源開採導致棲息地喪失、退化和破碎化,使得許多物種面臨滅絕風險。為應對這一挑戰,越來越多的AI和邊緣AI應用被開發出來,用於保護野生動物。

邊緣AI在野生動物保育中的重要性

邊緣AI技術可在裝置端進行本地資料處理,無需依賴雲端連線或昂貴的基礎設施。這對於偏遠地區的野生動物監測至關重要,能夠快速處理資料並及時採取行動,從而有效預防偷獵,保護脆弱的物種。

責任使用AI技術

雖然AI技術具有極大的正面潛力,但其開發和使用方式卻取決於開發者的意圖。因此,確保AI技術被用於造福社會和環境,而不是被用於有害或不道德的目的,至關重要。聯合國和大型科技公司如Google、Microsoft等正在發起多項倡議,利用AI技術促進社會和環境的正面發展。

相機陷阱技術在野生動物監測中的應用

相機陷阱是一種廣為人知且經過深入研究的方法,用於保護、識別、監測和追蹤瀕危物種。相機陷阱是一種由紅外線(IR)感測器觸發的遙控相機,能夠拍攝自然棲息地中的動物影像。這種技術特別適用於監測地面活動的大型動物,如大型哺乳動物。

相機陷阱的工作原理

相機陷阱通常被安置在固定的地面位置,利用紅外線感測器檢測動物的移動並觸發相機拍攝影像。雖然這種方法對於監測某些物種非常有效,但它也存在侷限性,例如無法用於水下監測、飛行中的鳥類別或快速移動的小型昆蟲等。

問題探索

野生動物保育是一個過於寬泛的概念,無法在單一章節中完全探討。本章節將重點關注保護IUCN瀕危物種紅色名錄中的特定動物物種。同時,我們需要考慮到實施機器學習模型進行非營利目的相關成本、旅行、實施難度和基礎設施或政府限制等問題。

解決方案探索

由於瀕危物種在自然棲息地中自由活動,人類很難直接觀察到它們。相機陷阱提供了一種有效的監測工具,能夠在不幹擾動物自然行為的情況下追蹤、計數和識別瀕危物種及其威脅。相機陷阱能夠提供即時的資訊,有助於人類採取保護措施。

提供可行的資訊

保護瀕危物種的一個重要步驟是向人類管理者提供可行的資訊。這可以透過多種形式實作,例如開發能夠識別特定物種威脅並發出警示的機器學習模型,或是識別、計數和追蹤動物位置的模型。這些方法都需要結合不同的機器學習類別和感測器輸入來實作。

目標設定

偷獵是非法狩獵、殺害或捕捉動物的行為,嚴重威脅著許多野生動物物種的生存。相機陷阱可以透過追蹤偷獵者的行動和提供證據來減少偷獵行為,從而幫助保護瀕危物種。

圖表翻譯: 此圖示展示了野生動物監測的流程,從使用邊緣AI技術到佈署相機陷阱,再到識別與追蹤瀕危物種,最終達到減少偷獵並保護瀕危物種的目標。

攝影陷阱技術於野生動物保育的應用

攝影陷阱(Camera Trap)技術近年來在野生動物保育領域發揮了重要作用,不僅能有效監測珍稀物種的活動,還能協助打擊盜獵行為。透過在偏遠地區設定攝影陷阱,保育人員能夠提升對非法人類活動(IHA)的偵測率,並藉由提供的證據提高逮捕率與起訴率。這項技術在《Biological Conservation》期刊的文章中得到了充分肯定。

攝影陷阱於保育工作中的重要性

攝影陷阱不僅能用於監測珍稀物種,還能在不幹擾動物的情況下收集其生態與行為資料。這些寶貴的資訊能夠協助研究人員制定更有效的保育計畫,保護瀕危物種及其棲息地。此外,攝影陷阱的非選擇性特性使其成為大規模物種監測的理想工具,能夠記錄多種動物的活動。

解決方案設計

在設計攝影陷阱系統時,為避免可能引發的倫理問題,我們可以將焦點轉向監測入侵物種而非直接追蹤瀕危動物。透過監控入侵動物的位置與數量,並將這些資訊提供給保育人員,可以間接促進瀕危物種的保護。這樣的策略能夠減少當地資源的競爭與非自然掠食者的威脅,從而幫助瀕危物種還原族群數量。

現有解決方案分析

攝影陷阱技術自1990年代以來已被廣泛應用於商業與保育領域。傳統的攝影陷阱裝置通常需要在現場手動檢索拍攝的照片,這是一項耗時耗力的任務。然而,隨著人工智慧(AI)技術的整合,攝影陷阱的功能得到了顯著提升。AI能夠即時分析拍攝的影像,提供動物存在的機率評估,並僅將高機率影像傳輸至研究人員的實驗室,大幅減少了人工檢索影像的時間與工作量。

目前市場上已有許多針對攝影陷阱的AI工具,例如自動物種辨識與資料分析工具。這些工具對於研究人員來說極具價值,但由於不同環境中的物種多樣性,目前尚無單一模型能夠識別所有動物物種。因此,本章將著重於自行設計與佈署攝影陷阱,以滿足特定的保育需求。

解決方案設計方法探討

針對保育需求,我們可以採取不同的設計方法,每種方法都有其優缺點:

  1. 辨識瀕危動物:如果有足夠的標註資料可用,訓練出的模型將具有較高的準確率。然而,這樣的設計可能會被盜獵者利用,成為高效的狩獵工具。

    # 簡單範例:使用TensorFlow進行動物影像分類別
    import tensorflow as tf
    from tensorflow.keras.models import Sequential
    
    # 定義模型
    model = Sequential([
        tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(224, 224, 3)),
        tf.keras.layers.MaxPooling2D((2, 2)),
        tf.keras.layers.Flatten(),
        tf.keras.layers.Dense(64, activation='relu'),
        tf.keras.layers.Dense(1, activation='sigmoid')
    ])
    
    # 編譯模型
    model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
    
    #### 內容解密:
    # 此範例展示了一個簡單的卷積神經網路(CNN)模型,用於二元分類別任務,如區分是否有特定瀕危動物出現在影像中。
    # - `Conv2D`層用於提取影像特徵。
    # - `MaxPooling2D`層用於降低特徵維度,提高計算效率。
    # - `Flatten`層將多維特徵展平為一維,以便輸入全連線層。
    # - `Dense`層進行最終的分類別決策。
    
  2. 辨識入侵掠食者:在研究充分的環境中,通常有大量關於入侵物種的公開資料。這樣的解決方案對增加瀕危物種族群數量有益,因為人類可以利用陷阱資料找到並移除入侵威脅。

@startuml skinparam backgroundColor #FEFEFE skinparam componentStyle rectangle

title 邊緣AI技術應用於野生動物保育

package “野生動物保育 AI” { package “監測技術” { component [相機陷阱] as trap component [紅外線感測] as ir component [即時影像分析] as realtime }

package "保育應用" {
    component [物種識別] as species
    component [偷獵偵測] as poacher
    component [入侵物種警示] as invasive
}

package "佈署考量" {
    component [偏遠地區供電] as power
    component [環境適應性] as env
    component [資料傳輸] as transmit
}

}

trap –> species : 影像辨識 ir –> poacher : 即時警示 power –> env : 長期運作

note bottom of trap 瀕危物種追蹤 不幹擾自然行為 end note

collect –> clean : 原始資料 clean –> feature : 乾淨資料 feature –> select : 特徵向量 select –> tune : 基礎模型 tune –> cv : 最佳參數 cv –> eval : 訓練模型 eval –> deploy : 驗證模型 deploy –> monitor : 生產模型

note right of feature 特徵工程包含:

  • 特徵選擇
  • 特徵轉換
  • 降維處理 end note

note right of eval 評估指標:

  • 準確率/召回率
  • F1 Score
  • AUC-ROC end note

@enduml


## 野生動物保育中的機器學習應用

野生動物保育是當今社會關注的重要議題,而機器學習技術在其中扮演著日益重要的角色。透過利用各種感測器和相機所收集的資料,機器學習模型能夠幫助研究人員監測和保護瀕危物種,同時追蹤和辨識對這些物種構成威脅的入侵物種。

### 辨識瀕危物種及其棲息地威脅

利用機器學習模型來辨識瀕危物種及其棲息地的威脅是一種常見的方法。這種方法可以透過分析影像或音訊資料來檢測特定的物種或威脅。然而,這種方法的有效性取決於訓練資料的品質和模型的設計。

#### 程式碼範例:影像分類別模型訓練

```python
import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator

# 定義訓練和驗證資料的路徑
train_dir = 'path/to/train/directory'
validation_dir = 'path/to/validation/directory'

# 資料增強設定
train_datagen = ImageDataGenerator(rescale=1./255,
                                    shear_range=0.2,
                                    zoom_range=0.2,
                                    horizontal_flip=True)

validation_datagen = ImageDataGenerator(rescale=1./255)

# 載入訓練和驗證資料
train_generator = train_datagen.flow_from_directory(train_dir,
                                                    target_size=(224, 224),
                                                    batch_size=32,
                                                    class_mode='categorical')

validation_generator = validation_datagen.flow_from_directory(validation_dir,
                                                            target_size=(224, 224),
                                                            batch_size=32,
                                                            class_mode='categorical')

# 建立模型
model = tf.keras.models.Sequential([
    tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(224, 224, 3)),
    tf.keras.layers.MaxPooling2D((2, 2)),
    tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
    tf.keras.layers.MaxPooling2D((2, 2)),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(len(train_generator.class_indices), activation='softmax')
])

# 編譯模型
model.compile(optimizer='adam',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

# 訓練模型
history = model.fit(train_generator,
                    steps_per_epoch=train_generator.samples // 32,
                    validation_data=validation_generator,
                    validation_steps=validation_generator.samples // 32,
                    epochs=10)

內容解密:

此程式碼範例展示瞭如何使用TensorFlow和Keras來訓練一個影像分類別模型,以辨識瀕危物種或其棲息地的威脅。首先,我們定義了訓練和驗證資料的路徑,並設定了資料增強的引數。接著,我們載入了訓練和驗證資料,並建立了一個包含卷積層和全連線層的模型。最後,我們編譯並訓練了模型,以實作對影像的分類別。

設計考量

在設計野生動物保育的機器學習解決方案時,需要考慮多個因素,包括資料來源、感測器型別、模型選擇等。下表列出了一些常見的感測器及其在野生動物保育中的應用。

目標感測器
統計野生大象數量相機
根據鳥鳴辨識鳥類別麥克風
聆聽海洋中的鯨魚叫聲麥克風、HARPs(高頻音訊記錄套件)
聆聽環境中的威脅(偷獵者、槍聲等)麥克風
追蹤和辨識偷獵者相機、麥克風
一般非本土/入侵物種控制與追蹤相機、麥克風、加速度計、多普勒雷達

在選擇野生動物監測目標和使用案例時,還需要考慮如何收集大量、健全且高品質的資料集來訓練機器學習模型。同時,也需要考慮裝置的位置和所需的感測器型別。

環境考量與裝置佈署的技術挑戰

在設計與佈署野生動物監測裝置時,環境因素對裝置的運作與資料品質有著重大影響。這些因素包括裝置的位置、電源供應方式以及環境條件對裝置的潛在影響。

裝置位置與電源供應

  1. 初始資料收集階段的裝置位置:裝置可能被佈署在遙遠的野外環境中,這需要考慮裝置的電源供應問題。根據不同的使用情境,裝置可能需要更多的處理能力,因此需要更大的電池或更頻繁的電池更換。

  2. 佈署後的裝置位置:裝置可能被固定在永久性的供電線路上,也可能是低功耗設計,可以使用電池運作數年。選擇合適的電源供應方式取決於具體的使用場景和環境限制。

環境條件對裝置的影響

環境條件如水、霧、灰塵等可能對裝置的正常運作造成影響,甚至損壞裝置。因此,在設計裝置時必須考慮這些環境因素,並採取適當的防護措施。

模型推論結果的傳輸

將模型的推論結果回傳到雲端平台需要選擇合適的網路通訊協定。不同的通訊協定會對裝置的能耗和續航能力產生不同的影響。因此,需要根據裝置的使用場景和需求選擇合適的通訊方案。

環境衝擊評估

在開發和佈署野生動物監測裝置時,除了考慮裝置的功能性和技術挑戰外,還需要評估其對環境的潛在影響。這包括考慮裝置對當地生態系統的幹擾、對目標物種行為的影響,以及裝置安裝和維護過程中的環境足跡。

減少環境衝擊的考量

  • 裝置的侵入性:評估裝置是否會對當地生態系統造成幹擾,例如視覺、聽覺或嗅覺上的幹擾。
  • 目標物種的特性:瞭解目標物種是否為入侵物種,以及裝置是否會對其行為產生影響。
  • 安裝和維護的人力需求:評估需要多少人力來安裝和維護裝置,以及這過程中可能對環境造成的影響。

案例研究:偵測入侵物種

本章節以偵測入侵物種——芬萊森氏松鼠(Callosciurus finlaysonii)為例,設計了一個根據影像分類別的機器學習模型。該模型可以區分目標物種和背景環境,從而實作對入侵物種的有效監測。

定義機器學習類別

根據不同的使用場景和感測器型別,可以定義不同的機器學習類別,如下表所示:

使用場景訓練資料類別標籤
相機陷阱影像目標動物、背景環境(有或無其他動物)
聲音陷阱麥克風資料目標動物叫聲、環境噪音、其他非目標動物叫聲
動物物件偵測影像(帶有邊界框)目標動物
運動陷阱加速度計、雷達或其他空間訊號目標動物的運動
化學陷阱氣體訊號環境背景、目標物種化學訊號

內容解密:

本案例研究中,我們選用了傳統的相機陷阱技術,結合遷移學習技術,構建了一個影像分類別模型,以回答「目標動物是否存在於相機視野中?」的問題。我們的機器學習類別定義為「目標動物」和「背景環境(可能包含其他動物)」,簡化為「未知」。

蒐集乾淨、強健且有用的資料集

要取得乾淨、強健且有用的資料集的技術和具體資訊,請參閱「取得資料」一文。你也可以使用各種策略,從多個來源收集資料,以建立你自己的獨特資料集,以滿足你的使用案例:

資料集收集策略

  • 結合公共研究資料集
  • 將多個公共資料集中沒有動物的環境影像與目標陷阱動物的標記影像資料集結合
  • 使用現有的大型影像資料集,如COCO(上下文中的常見物件)

取得公開可用的影像資料集

你可以使用來自看似無關的來源的資料集;例如,如果你的目標入侵物種生活在葡萄牙,但該環境中沒有大量的目標物種的標記影像資料集,你可以找到其他葡萄牙物種的研究資料集,並將其資料用作訓練/測試資料集中的「非目標入侵物種」。你的目標入侵物種甚至可能存在於那些影像中,這些影像可以在沒有原始資料集開發者的知識的情況下被你的模型識別!

Edge Impulse 平台

Edge Impulse Studio是一個免費的雲端平台,包含整個端對端機器學習流程所需的所有工具和程式碼,包括收集和標記高品質的訓練/測試資料集,使用各種數位訊號處理技術提取資料中最重要的特徵,設計和訓練你的機器學習模型,測試和驗證你的模型的真實世界效能/準確性,以及使用易於使用的Edge Impulse SDK以各種函式庫格式佈署你的模型。在本章中,以及本文後續的使用案例章節中,我們將使用Edge Impulse Studio來減少我們的模型開發時間和需要編寫的程式碼量,以實作完整的邊緣機器學習模型開發流程和後續佈署。

使用 Edge Impulse 的理由

有關使用Edge Impulse進行邊緣機器學習模型開發的進一步理由,請參閱「邊緣AI的端對端平台」。

要跟隨本章其餘部分的說明,你需要建立一個免費的Edge Impulse帳戶。

公共專案

本文的每個使用案例章節都包含一個書面教程,以演示和實作所描述的使用案例的完整端對端機器學習模型。然而,如果你想直接進入正題,檢視作者為本章開發的確切資料和模型,你可以透過導航到本章的公共Edge Impulse專案來實作。

你也可以透過選擇Edge Impulse頁面右上角的「Clone」按鈕,直接複製該專案,包括所有原始訓練和測試資料、中間模型資訊、結果訓練模型結果和所有佈署選項(見圖11-1)。

選擇硬體和感測器

在本文中,我們盡量保持裝置無關性,但我們也需要討論如何使用市售的、易於使用的開發套件來建立此使用案例的解決方案,因為我們假設本章中概述的教程很可能用於道德的、非營利的目的,這意味著讀者的潛在嵌入式工程資金、資源、開發人員等將受到限制。因此,本文旨在使硬體選擇盡可能容易、負擔得起和可存取。

硬體組態

對於快速、簡單的資料擷取和佈署選項,無需編寫任何程式碼,我們將使用Edge Impulse WebAssembly函式庫和移動客戶端,將新資料擷取並將結果訓練模型佈署到行動電話。對於其他同樣簡單的佈署裝置,Edge Impulse提供了大量官方支援的平台,從MCU到GPU,所有這些都包含可供您使用的開源預寫韌體。如果您有一個未被Edge Impulse列為官方支援平台的裝置,您仍然可以使用該裝置,但您需要將佈署的C++函式庫和您的裝置驅動程式碼整合到您的應用程式碼中,就像在典型的嵌入式韌體開發工作流程中一樣。

平台選擇的重要性

平台選擇對本文來說並不那麼重要,因為我們試圖確保每個使用案例章節都可以在幾乎任何物理裝置平台上實際解決(除了任何記憶體或延遲限制)。您可以使用Raspberry Pi和各種感測器組態來解決所有使用案例章節,並仍然實作這裡討論的相同目標。然而,根據使用案例的目標,選擇Raspberry Pi將迫使您考慮必要的昂貴功耗需求,但與此同時,這種裝置選擇可能會降低成本,並大大減少總軟體開發時間(對於單個現場單元;當然,如果需要大量相同的裝置,那麼Raspberry Pi + 感測器/攝像頭組態可能會比MCU/整合感測器/攝像頭解決方案更昂貴,例如)。

資料收集

使用Edge Impulse,有許多選項可用於在您的專案中上傳和標記資料:

  • Edge Impulse Studio上傳工具
    • 網頁上傳工具允許您直接從電腦上傳檔案到您的Edge Impulse專案,支援多種檔案格式。您還可以讓Studio根據檔名自動標記您的樣本。
  • CLI上傳工具
    • CLI上傳工具允許您直接從電腦的命令列終端上傳檔案到您的Edge Impulse專案,支援多種檔案格式和輸入選項。您還可以讓Studio根據檔名自動標記您的樣本。

內容解密:

此段落主要講述了在 Edge Impulse 平台上進行資料收集的方法。Edge Impulse 提供了多種方式來上傳和標記資料,包括網頁上傳工具和 CLI 上傳工具。這些工具可以幫助使用者輕鬆地上傳和管理資料,並自動標記樣本,從而簡化了資料收集的過程。

硬體選擇考量

本章假設我們的目標裝置與OpenMV Cam H7 Plus(帶有RGB整合攝像頭)相似。這種通用設定已經意味著一些限制:我們的相機陷阱只能在日光下可靠地工作;如果動物離鏡頭太遠,輸入幀影像的品質可能太低,無法準確發現我們目標動物的所有例項;您的裝置可能太耗電,無法在現場長時間無人值守;如果您試圖使用灰度影像捕捉具有特定顏色的動物,則輸入影像可能會產生不準確的預測。

改善野生動物監測模型的準確性

以下是一些其他相機附件選項和要求,供您參考,以改善您的野生動物監測模型對您的特定環境、使用案例、專案預算等的準確性:

  • 高品質攝像頭
  • 低品質攝像頭
  • 紅外線、熱成像攝像頭
  • 灰度與彩色(RGB)輸入
  • 鏡頭焦距
  • 輸入影像畫素密度

內容解密:

這段程式碼或程式碼段落主要講述了在選擇硬體時需要考慮的一些因素,例如相機的品質、紅外線或熱成像能力、灰度或彩色輸入等。這些因素都會影響野生動物監測模型的準確性。使用者需要根據自己的具體需求和使用案例選擇合適的硬體組態。