一種基於改進PCA和SVM算法的運動蝦苗識別方法與流程
2023-05-23 01:13:31 2

本發明屬於漁業養殖技術領域,特別涉及一種基於改進PCA和SVM算法的運動蝦苗識別方法。
背景技術:
南美白對蝦是當今世界養殖產量最高的三大蝦類之一。南美白對蝦肉質鮮美,加工出肉率可高達67%,適溫範圍廣,可在18-32℃生長,適鹽範圍也廣,可在鹽度1-40‰條件下生長,是一種優良的淡化養殖品種。南美白對蝦生長快,抗病能力強,已逐漸成為我國南方的主要養殖蝦種,有利海民增加收入。隨著社會經濟的高度發展,人們對南美白對蝦的需求量也持續加大,南美白對蝦每年創造了大量的經濟價值。這對科學養殖南美白對蝦,提高其產量提出了更高的要求。
蝦類的行為是指蝦類在外在和自身環境發生變化時產生的外在反應,開展蝦類的行為研究對促進養殖方式改進和養殖技術的提升具有積極的作用。在蝦類行為研究中能否有效區分蝦與背景並進行蝦類的識別是決定蝦類行為研究成敗的關鍵因素。
目前運動蝦類識別及蝦的行為研究大多採用的是人工觀測法,然而由於人工觀測易受外界影響,具有主觀性,使得觀測的標準難以統一,且其結果很難量化。機器視覺技術因擁有非接觸、高精度、可量化等特點目前已廣泛用在動植物的自動識別領域。迄今為止,尚未看到有關運動蝦苗檢測與識別研究的相關報導。但有一些學者開展了成魚的檢測和識別研究,大都採用基於典型特徵或幀間差分的運動物體識別算法,適用於目標特徵明顯,易於分割的魚類。由於蝦苗體型較小,身體的透光性,加之運動劇烈使得成像之後外形特徵丟失嚴重。
技術實現要素:
本發明的目的是提供一種基於改進PCA和SVM算法的運動蝦苗識別方法,可以迅速有效地識別出運動蝦苗,為下一步的蝦類行為量化研究打下堅實的基礎。
主成分分析(Principal Component Analysis,PCA):是90年代初期由Tutk等提出的一種掌握事物主要矛盾的統計分析方法,它可以從多元事物中解析出主要影響因素,揭示事物的本質,簡化複雜的問題。這種方法可以有效的找出數據中最「主要」的元素和結構,去除噪音和冗餘,將原有的複雜數據降維,揭示隱藏在複雜數據背後的簡單結構。它的優點是簡單,而且無參數限制,可以方便的應用與各個場合,主要應用於多源融合、數據降維、分析數據互相關性以及模式識別中。
改進PCA算法(二維主成分分析法,2DPCA)是Yang等提出的一種基於二維圖像的改進PCA算法進行主成分提取,即針對每個圖像樣本分別在行向量和列向量上分別進行PCA處理,最後結合雙向處理結果構造特徵矩陣,由於圖像的總方差矩陣明顯小於原始圖像的經過變換後的矩陣維數,因此該算法能夠在保護圖像二維結構的同時降低圖形處理時間。主要應用於圖像的特徵提取。
支持向量機(Support Vector Machine,SVM)是Vapnik等人在多年研究統計學習理論基礎上對線性分類器提出了另一種設計最佳準則。其原理也從線性可分說起,然後擴展到線性不可分的情況,甚至擴展到使用非線性函數中去,通常用來進行模式識別、分類、以及回歸分析。
本發明的技術方案是,一種運動蝦苗識別方法,包括步驟:
(1)構建SVM算法識別訓練集及測試集並進行訓練,主要步驟包括:
A1,截取k×k像素的蝦苗圖像m張、非蝦苗圖像n張構成訓練集,n張蝦苗圖像、x張非蝦苗圖像構成測試集,m、n、x為正整數;
A2,對於截取的圖像使用改進PCA方法進行特徵提取,數據降維;
A3,使用SVM算法進行訓練,確定SVM識別模型,
(2)對待識別圖像進行預處理,分離蝦苗和圖像背景;
(3)對預處理後圖像進行分割,確定待識別矩形區域;
(4)使用SVM算法識別模型進行運動蝦苗識別。
步驟(2)中對待識別圖像進行預處理的步驟包括:
B1,使用背景差分法去除蝦苗圖像背景得到第一張圖;
B2,使用Ostu算法對第一張圖進行閾值分割,得到第二張圖;
B3,對圖像進行形態學處理,即分別從橫向和縱向方向進行膨脹操作,得到第三張圖;
B4,對第三張圖統計各個連通區域的面積大小,預先估計蝦苗區域的面積,對於和目標面積相差甚遠的小面積區域將其去除,從而得到第四張圖。
統計第四張圖中所有連通區域的形心在第一張圖中所處位置,並以形心為中心構建大小為k×k像素的識別框體,得到第五張圖,然後分別截取第五張圖所示的所有待識別矩形區域,以供後續步驟的運動蝦苗識別。
本發明設計的基於改進PCA和SVM算法的運動蝦苗識別方法可以成功識別運動蝦苗,無需人工幹預,大大提高識別精度,可以為蝦苗下一步的行為研究提供技術支持。
附圖說明
圖1為本發明實施例中使用背景差分法去除蝦苗圖像背景後的待識別蝦苗圖像;
圖2為本發明實施例中閾值分割後的待識別蝦苗圖像;
圖3為本發明實施例中進行形態學處理後的待識別蝦苗圖像;
圖4為本發明實施例中去除小面積連通區域後的待識別蝦苗圖像;
圖5為本發明實施例中構建識別區域後的待識別蝦苗圖像;
圖6為根據本發明實施例的運動蝦苗識別方法的流程圖。
具體實施方式
下面結合附圖對本發明的實現過程進行詳細說明。
本發明實施例提供了一種基於改進PCA和SVM算法的運動蝦苗識別方法,如圖6所示,該方法包括:
(1)構建SVM算法識別訓練集(296張圖像)、測試集(150張圖像)並進行訓練,主要步驟包括:
①截取98×98像素的蝦苗圖像198張(其中靜止蝦苗圖像98張,運動蝦苗圖像100張)、非蝦苗圖像98張構建訓練集;98張蝦苗圖像、52張非蝦苗圖像構成測試集。
②使用改進PCA方法對訓練集圖片進行特徵提取、數據降維,並分析主成分,最終確定主成分數為20,累計貢獻率為99.92%。
③使用SVM算法進行訓練,得到SVM算法識別模型。
(2)對待識別圖像進行預處理。
①首先使用背景差分法去除蝦苗圖像背景得到圖1;
②使用Ostu算法對圖1進行閾值分割,得到圖2;
③為了減少連通區域,排除圖像中由於蝦苗本身透光性造成的過分割現象,並使後面的圖像處理獲得好的效果,需要對圖像進行形態學處理,即分別從橫向和縱向方向進行膨脹操作。得到圖3;
④因為圖3存在一些由糞便和殘餌等造成的噪聲點,為去除這些小的噪聲點,統計各個連通區域的面積大小,並且利用先驗知識,可以預先估計蝦苗區域的面積,對於和目標面積相差甚遠的小面積區域可以將其去除,從而得到圖4;
(3)統計圖4中所有連通區域的形心在圖1中所處位置,並以形心為中心構建大小為98×98像素的識別框體,得到圖5。然後分別截取圖5所示的所有待識別矩形區域,等待識別;
(4)使用獲得的SVM算法模型進行識別試驗。