摘要:鯊魚是海洋環境健康的指標,但受到過度捕撈和數據缺乏的挑戰。傳統的觀察方法成本高昂且難以收集數據,特別是對于具有較大活動范圍的物種。論文討論了如何利用基于媒體的遠程監測方法,結合機器學習和自動化技術,來填補鯊魚種群評估中的信息空白。提出了一個包含53,345張鯊魚圖片的數據庫,覆蓋了219種鯊魚,并開發了一個名為“Shark Detector”的軟件包,利用PyQt5設計了簡約的系統UI界面,使用遷移學習和卷積神經網絡(CNN)來自動識別和快速分類鯊魚種類。
關鍵詞:數據挖掘、圖像分類、機器學習、遠程監測、鯊魚識別
參考文獻:Shark detection and classification with machine learning, Jenrette et al., 2022.
-
研究背景及意義
鯊魚作為海洋生態系統的關鍵指示物種,其種群的健康狀況直接反映了海洋環境的生態平衡。然而,由于鯊魚的廣泛分布和大范圍的活動習性,傳統的科學調查和漁業監測方法在收集鯊魚種群數據時面臨巨大挑戰。這些方法不僅成本高昂,而且難以捕捉到足夠的信息,特別是對于個體數量和分布情況的精確評估。
缺乏詳盡的數據支持,科學家和保護工作者難以對鯊魚種群進行有效的狀態評估和趨勢預測。這種情況限制了保護措施的制定和執行,導致許多鯊魚物種的保護狀況不容樂觀。隨著IUCN受威脅物種數量的增加,迫切需要新的監測手段來填補數據空白,提高對鯊魚種群動態的了解。
隨著計算機視覺和機器學習技術的發展,特別是卷積神經網絡(CNN)在圖像識別領域的突破,為鯊魚等海洋生物的自動檢測和分類提供了新的技術手段。通過訓練算法識別鯊魚的特征,可以自動化地從大量圖像和視頻中提取有用信息,這不僅提高了數據處理的效率,也為海洋生物多樣性監測提供了新的解決方案。
社交媒體和公共科學項目的興起為生物多樣性監測提供了新的數據來源。公眾拍攝的鯊魚照片和視頻,尤其是通過Instagram等平臺分享的內容,構成了一個龐大的圖像庫。利用機器學習算法對這些數據進行挖掘和分析,可以為鯊魚研究提供寶貴的補充信息,同時也促進了科學研究與公眾參與的結合。
-
研究方法
-
數據庫構建:研究團隊創建了一個包含53,345張鯊魚圖片的數據庫,涵蓋了219種鯊魚。這些圖片主要來源于社交媒體、公民科學項目、用戶提交和其他電子檔案。
-
Shark Detector開發:開發了一個名為“Shark Detector”的軟件包,它集成了對象檢測和圖像分類模型。該軟件包使用遷移學習和卷積神經網絡(CNN)技術來自動識別和分類視頻中和圖像中的鯊魚。
-
模型組成:
-
Shark Locator (SL):對象檢測模型,用于在圖像和視頻中定位鯊魚并繪制邊界框。
-
Shark Identifier (SI):二元排序模型,用于從混合圖像集中篩選出鯊魚圖像。
-
Shark Classifiers (SCs):多類模型,用于將鯊魚圖像分類到屬和物種級別。
-
訓練與驗證:使用來自sharkPulse的數據和其他來源的圖像訓練模型。通過遷移學習,利用預訓練的網絡(如VGG16和DenseNet201)來提高訓練效率和準確性。
-
數據增強:采用圖像增強技術,如平移、剪切、縮放和旋轉,提高模型的泛化能力。
?
?
圖1 鯊魚探測器系統由對象檢測和分類軟件包組成,以循序漸進的方式達到最佳效果。此外,通過檢測鯊魚主體,鯊魚定位器可以合成鯊魚識別器和鯊魚分類器模型所需的剪切鯊魚圖像,作為新的訓練數據補充到sharkPulse檔案中。視頻按照定位、識別和分類的順序進行處理。異構數據挖掘數據集按照先識別后分類的順序進行處理。
?
?
?
圖2 SL物體探測模型根據鯊魚出現的置信度繪制方框。(a) 檢測到一條短鰭鯖鯊幼魚,并對單張自動裁剪圖像進行處理,去除餌罐和藍鰭金槍魚等無關物體。(b) 檢測到多個胭脂魚物種,并從單張圖像中裁剪出兩張圖像。
?
?
?
圖3 由SI識別的圖像以及隨后由SC進行的分類。(a) 通過對水下照片、有前景和背景噪聲的圖像、難以辨認鯊魚特征的圖像以及8個不同物種進行分類,SI和SC正確識別了各種鯊魚圖像。(b) SI錯誤分類的常見對象,如鯨目動物(以及其他海洋和陸地動物)、空曠的前景、難以辨認的物體和假鯊魚。(c) 由于部分特征被掩蓋,SI會錯過鯊魚的出現。
-
結果分析
-
分類能力:Shark Detector能夠對47種鯊魚進行分類。
-
準確性測試:
-
在處理誘餌遠程攝像機鏡頭和YouTube視頻時,Shark Detector在定位鯊魚方面的準確率達到了89%。
-
在將定位到的鯊魚分類到物種層面時,準確率為69%。
-
Instagram數據集:在Instagram上收集的異構數據集中,Shark Identifier以91%的準確率篩選出鯊魚圖像,并將這些圖像分類到物種層面的準確率達到了70%。
-
性能評估:研究評估了Shark Detector在不同數據生成方法中的性能,包括在sharkPulse數據集中的定位、在線視頻的處理,以及Instagram數據的挖掘。
-
軟件性能:Shark Detector在沒有人工交互的情況下處理了所有數據生成方法,展示了其自動化處理的能力。
-
模型改進:研究指出,隨著向訓練數據集添加更多圖像,軟件流水線的預測準確性會提高,這表明模型性能有進一步優化的空間。
通過這些方法和結果,本研究展示了Shark Detector作為一個強大的工具,能夠自動化地從各種媒體來源中識別和分類鯊魚,為鯊魚保護和生態研究提供了新的技術支持。簡而言之,圖4概述了通過不同模型和參數測量的SD系統在鯊魚圖像分類方面的性能,包括不同類別的準確性、訓練數據集大小的影響以及模型的可靠性。
?
?
?
圖4 Shark Detector(SD)系統組件的性能測量結果。(a) 對13個鯊魚屬類的分類準確性(GSC)進行了測量,發現隨著訓練數據集大小的增加,其準確性可以用一個雙參數漸近模型來擬合,漸近曲線表示每個類別在模型中可能達到的最大召回率。(b) 測量了7個物種類別和兩個包含數據較少的Carcharhinus sp.和Sphyrna sp.的類別(SSCg)的分類準確性。(c) 展示了12個GSC類別的訓練數據集大小閾值分布,排除了Prionace屬,因為它的召回率從未達到50%,曲線表示正態分布的密度。(d) 展示了9個SSCg類別的訓練數據集大小閾值分布,這些類別的屬包含超過兩個物種。(e) 展示了所有SD組件的性能,包括SSCg模型的標準誤差區間。(f) 展示了所有18個SSCg模型的準確性分布。
-
PyQt5可視化軟件
本節詳細介紹如何以上述CNN網絡為主干,實現對鯊魚種類的檢測識別,且利用PyQt5設計了簡約的系統UI界面。在界面中,您可以選擇自己的視頻文件、圖片文件進行檢測。此外,您還可以更換自己訓練的主干模型,進行自己數據的檢測。該系統界面優美,檢測精度高,功能強大。它具備多目標實時檢測,同時可以自由選擇感興趣的檢測目標。本文提供了完整的Python程序代碼和使用教程,適合新入門的朋友參考,包括用戶登錄界面(注冊登錄和修改密碼),管理員主界面(用戶賬戶信息、查看歷史資源和鯊魚種類百科),普通用戶界面(上傳歷史記錄、鯊魚圖像識別和鯊魚種類百科),以及鯊魚識別界面(圖片和視頻)。
?
?
?
?
?
?
?
?
?
?
?
圖5 基于深度學習的鯊魚識別分類系統演示界面
?