梁釗董,熊興國(guó),徐東坡,陸明洲*,沈明霞,張婉平,童奇烈
(1.南京農(nóng)業(yè)大學(xué)人工智能學(xué)院,江蘇 南京 210031;2.中國(guó)水產(chǎn)科學(xué)研究院淡水漁業(yè)研究中心,江蘇 無(wú)錫 214128;3.杭州市漁政漁港漁船監(jiān)督管理總站,浙江 杭州 310008)
中國(guó)是淡水魚(yú)養(yǎng)殖和消費(fèi)大國(guó),水產(chǎn)養(yǎng)殖是國(guó)民經(jīng)濟(jì)收入的重要來(lái)源之一,不同品種及大小的淡水魚(yú)具有不同的市場(chǎng)及營(yíng)養(yǎng)價(jià)值[1]。目前,業(yè)內(nèi)對(duì)淡水魚(yú)的分級(jí)一般以魚(yú)體長(zhǎng)、厚及體重為依據(jù),使用滾筒篩、分級(jí)槽及組合輸送帶等方式實(shí)現(xiàn)機(jī)械分級(jí),該方式會(huì)給魚(yú)體帶來(lái)一定程度的損傷[2]。近年來(lái),研究人員嘗試?yán)脵C(jī)器視覺(jué)技術(shù)自動(dòng)測(cè)量魚(yú)體尺寸參數(shù),并針對(duì)不同種類的淡水魚(yú)建立基于體尺測(cè)量值的體重估算模型[3]。淡水魚(yú)種類的準(zhǔn)確識(shí)別是提升這些模型的魚(yú)體重估算精度的前提,而淡水魚(yú)分類是深加工前的必要工序之一。當(dāng)前,對(duì)淡水魚(yú)分類仍然主要依靠人工作業(yè)完成,該方式作業(yè)強(qiáng)度大、耗費(fèi)時(shí)間長(zhǎng)且分類結(jié)果易受主觀判斷影響。
隨著機(jī)器視覺(jué)技術(shù)在農(nóng)業(yè)領(lǐng)域的廣泛應(yīng)用,研究人員開(kāi)始將機(jī)器視覺(jué)應(yīng)用于淡水魚(yú)種類的自動(dòng)識(shí)別。White等[4]提取7種比目魚(yú)圖像的形狀和顏色特征并構(gòu)建分類器,實(shí)現(xiàn)比目魚(yú)的自動(dòng)分類,分類精度達(dá)到99.8%。Alsmadi等[5]在魚(yú)體圖像上手工定位錨點(diǎn),基于錨點(diǎn)提取刻畫(huà)魚(yú)體形狀特征,構(gòu)建基于BP神經(jīng)網(wǎng)絡(luò)的魚(yú)分類器,識(shí)別正確率為84%。Hu等[6]截取淡水魚(yú)圖像局部皮膚塊并提取其顏色、紋理等特征,利用多分類支持向量機(jī)識(shí)別6種淡水魚(yú),識(shí)別精度最高的是基于Bior 4.4小波的HSV顏色空間紋理特征,識(shí)別率達(dá)到96.3%。吳一全等[7]基于Krawtchouk矩和灰度共生矩陣,利用蜂群優(yōu)化多核最小二乘支持向量機(jī)對(duì)鳊、鳙、鯽、青、草魚(yú)5種魚(yú)進(jìn)行種類識(shí)別,識(shí)別精度超過(guò)83.33%。涂兵等[8]提取鯽魚(yú)、草魚(yú)、鳊魚(yú)和鯉魚(yú)圖像的背部輪廓,提出1種基于魚(yú)體背部輪廓相關(guān)系數(shù)的淡水魚(yú)種類識(shí)別方法,該方法的平均識(shí)別精度達(dá)到95%。謝忠紅等[9]以4種常見(jiàn)的淡水魚(yú)(鯽魚(yú)、鱖魚(yú)、鳊魚(yú)和白魚(yú))為研究對(duì)象,提出1種基于魚(yú)背和魚(yú)肚形紋理、顏色特征及魚(yú)體、魚(yú)尾形狀特征的多特征融合淡水魚(yú)種類識(shí)別方法,在輔助光源和晴天自然光條件下,對(duì)4種魚(yú)的識(shí)別正確率均超過(guò)98%。
現(xiàn)有的利用機(jī)器視覺(jué)技術(shù)構(gòu)建的淡水魚(yú)分類器可識(shí)別的淡水魚(yú)種類較少,魚(yú)體大小單一,有些研究的魚(yú)體圖像數(shù)據(jù)集是在實(shí)驗(yàn)室環(huán)境下獲取,距離實(shí)際生產(chǎn)應(yīng)用還有一定的距離。本文利用自行搭建的圖像采集裝置在淡水魚(yú)捕撈現(xiàn)場(chǎng)采集淡水魚(yú)圖像,采用魚(yú)體形狀及紋理特征構(gòu)建淡水魚(yú)分類識(shí)別模型,實(shí)現(xiàn)對(duì)14種淡水魚(yú)的自動(dòng)分類。
搭建的魚(yú)體圖像采集裝置如圖1所示。該裝置由魚(yú)體傳送模塊、圖像自動(dòng)采集模塊及控制模塊3部分組成。
圖1 圖像采集裝置Fig.1 Image acquisition device
魚(yú)體傳送模塊主要包括調(diào)速電機(jī)、傳送帶和型材支架。圖像自動(dòng)采集模塊由暗箱(60 cm×60 cm×80 cm)、工業(yè)相機(jī)(MindVision MV-EM E200C)、工業(yè)鏡頭(AFT-1614MP)、相機(jī)支架和2個(gè)矩形補(bǔ)光燈(24 W)構(gòu)成??刂颇K為一體化工業(yè)控制計(jì)算機(jī)(崇暢科技),配有Intel CoreTMi5處理器、4 GB內(nèi)存、128 GB SSD儲(chǔ)存容量及Windows 10操作系統(tǒng),采用VS2013和OpenCV設(shè)計(jì)人機(jī)交互界面、傳送帶運(yùn)動(dòng)及相機(jī)采集圖像控制軟件。將魚(yú)體及1個(gè)標(biāo)識(shí)魚(yú)體編號(hào)的二維碼放置在黑色托盤上,傳送帶將托盤、魚(yú)體及二維碼送入暗箱,完成圖像采集。
2020年1月11日至15日在浙江省杭州市蕭山區(qū)湘湖現(xiàn)場(chǎng)打撈淡水魚(yú)并利用圖像采集裝置采集魚(yú)體圖像。2名實(shí)驗(yàn)操作人員分別站立于暗箱魚(yú)體出口的兩端,一端操作員負(fù)責(zé)將淡水魚(yú)放置在傳送帶上,調(diào)速電機(jī)驅(qū)動(dòng)傳送帶將魚(yú)體送入暗箱,相機(jī)完成圖像采集并將圖像數(shù)據(jù)存入工控機(jī);另一端操作員負(fù)責(zé)將圖像采集完成的魚(yú)體取下傳送帶。魚(yú)體圖像采集結(jié)束后,從工控機(jī)中讀取所有圖像并轉(zhuǎn)存到PC機(jī)中形成魚(yú)體圖像數(shù)據(jù)集,共獲取14類淡水魚(yú)約6 300張圖像。其中,魚(yú)體尺寸覆蓋范圍較廣,最長(zhǎng)、最短、最寬和最窄的魚(yú)體尺寸分別為412、99、106和18 mm。
觀察圖像數(shù)據(jù)集中淡水魚(yú)圖像外觀特征發(fā)現(xiàn),14種淡水魚(yú)在顏色特征上只有背部灰黑而腹部銀白和魚(yú)體銀白2類,因此,顏色未被選用為分類器的輸入特征。在鱗片方面,不同種類淡水魚(yú)的鱗片密集程度、大小、厚薄等外觀特征各異,主要表現(xiàn)在魚(yú)體紋理具有明顯差異,因此,將紋理特征作為淡水魚(yú)分類器的輸入特征之一。在形狀特征方面,魚(yú)體全身形狀(如梭形、橢圓形、刀片形等)與魚(yú)體輪廓擬合橢圓的長(zhǎng)短軸比、魚(yú)體長(zhǎng)寬比等參數(shù)相關(guān),魚(yú)體胖瘦程度與去尾魚(yú)體擬合橢圓長(zhǎng)短軸比及去尾魚(yú)體長(zhǎng)寬比相關(guān),背、腹部是否隆起及隆起部位與去尾魚(yú)體占空比和似圓度相關(guān),尾部的寬細(xì)、長(zhǎng)短、叉形等與魚(yú)尾占空比及似圓度相關(guān)。因此,將魚(yú)體、去尾魚(yú)體及魚(yú)尾部分的體尺參數(shù)作為魚(yú)品種分類器的輸入特征。另外,考慮到圖像數(shù)據(jù)集中各魚(yú)體大小、擺放角度、在圖像中的位置各異,引入具有平移、尺度及旋轉(zhuǎn)不變性的Hu不變矩刻畫(huà)魚(yú)體形狀特征。
魚(yú)體前景圖像分割用于將魚(yú)體前景區(qū)域從背景圖像中分離出來(lái),從而便于后續(xù)的魚(yú)體形狀和紋理參數(shù)提取。前景圖像分割主要由圖像預(yù)處理、魚(yú)體自模板匹配2個(gè)步驟構(gòu)成。
1.3.1 魚(yú)體圖像預(yù)處理本文采用的預(yù)處理操作包括灰度化、直方圖均衡化、二值化及形態(tài)學(xué)處理。首先,使用平均值法對(duì)RGB圖像進(jìn)行灰度化處理,其計(jì)算公式為f(i,j)=(R(i,j)+G(i,j)+B(i,j))/3。其中:f(i,j)為灰度圖中位于第i行、第j列的像素灰度值;R(i,j)、G(i,j)、B(i,j)分別為RGB圖像中第i行、第j列像素的紅色、綠色和藍(lán)色分量值。以魚(yú)體圖像數(shù)據(jù)集中隨機(jī)選擇的一幅圖像為例(圖2-a),利用平均值法獲得灰度圖(圖2-b)。由于暗箱中亮度較低,灰度圖像中大部分像素的灰度值在0~50,這使得魚(yú)體和背景傳送帶之間的區(qū)分度低,采用直方圖均衡化的方法可以使灰度圖(圖2-c)像素均勻分布在0~255。其次,針對(duì)直方圖均衡化后的灰度圖采用大津法(OTSU)[10]進(jìn)行二值化處理,結(jié)果如圖2-d所示。最后,利用直徑為8像素的圓作為結(jié)構(gòu)元素,對(duì)二值圖像執(zhí)行開(kāi)運(yùn)算以去除零散的前景小區(qū)域,結(jié)果如圖2-e所示,記該開(kāi)運(yùn)算后的二值圖為BWori。
圖2 魚(yú)體圖像預(yù)處理Fig.2 Fish image preprocessing
1.3.2 魚(yú)體自模板匹配需要分割的前景魚(yú)體區(qū)域是BWori中的連通區(qū)域之一,傳統(tǒng)的多模板匹配算法需要針對(duì)所有種類魚(yú)體圖像建立專屬模板[11],而且一旦待分類魚(yú)的品種增加,就需要更新模板庫(kù)。本文提出1種自模板匹配方法,用于匹配的模板來(lái)自待處理圖像,在無(wú)需專門模板庫(kù)的前提下,高效分割魚(yú)體前景區(qū)域。
自模板匹配方法主要包含3個(gè)步驟:候選搜索連通區(qū)域提取、候選模板提取以及匹配度計(jì)算。統(tǒng)計(jì)魚(yú)體圖像數(shù)據(jù)集中最小尺寸魚(yú)體生成的BWori中魚(yú)體連通區(qū)域的像素?cái)?shù)為960,設(shè)定最小連通區(qū)域像素?cái)?shù)閾值(Tharea)為600。對(duì)BWori提取像素?cái)?shù)大于Tharea的連通區(qū)域作為候選搜索連通區(qū)域,記為ImgRegioncandi,圖2-e對(duì)應(yīng)的ImgRegioncandi如圖3-a所示。
圖3 魚(yú)體自模板匹配Fig.3 Fish body self-template matchingS1:非連通域;S2、S5:傳送帶反光形成的連通域;S3、S7:暗箱漏光形成的連通域;S4:魚(yú)體連通域;S6:LED讀數(shù)屏連通域。S1:The unconnected region;S2,S5:The connected domain formed by the reflection of the conveyor belt;S3,S7:The connected domain formed by the light leakage of the obscura;S4:The connected domain of fish body;S6:The connected domain of LED screen.
圖3-a中,不同的候選搜索連通區(qū)域用不同的標(biāo)號(hào)及顏色標(biāo)識(shí),S2、S5區(qū)域?qū)?yīng)于圖2-a中的傳送帶。記候選搜索連通區(qū)域?yàn)镾={S1,S2,…,Sm},其中,m為候選搜索連通區(qū)域的數(shù)量。暗箱的引入使得圖像數(shù)據(jù)集中所有圖像中托盤上下的傳送帶區(qū)域顏色特征比較穩(wěn)定,統(tǒng)計(jì)圖像數(shù)據(jù)集中所有圖像暗箱內(nèi)傳送帶區(qū)域的RGB像素值范圍(記為RangeBK)為[0,0,0]—[20,70,50]。連通域S6為圖2-a中的電子秤的藍(lán)色LED讀數(shù)屏,統(tǒng)計(jì)圖像數(shù)據(jù)集中LED讀數(shù)屏的HSV值范圍(記為RangeBE)為[100,150,43]—[255,255,255]。分別利用RangeBK和RangeBE提取圖2-a中的黑色和藍(lán)色掩膜圖像并分別記為maskBK及maskBE,然后利用式(1)獲取去除黑色、藍(lán)色掩膜區(qū)域后的圖像(記為Img_candi_temple),該圖像中的連通區(qū)域即為候選模板。
Img_candi_temple=(BWori&(~maskBK))&(~maskBE)
(1)
式(1)中的運(yùn)算符&及~分別對(duì)二值圖像數(shù)值矩陣做邏輯與及非運(yùn)算。針對(duì)圖2-a所示原始圖像執(zhí)行式(1)后獲取候選模板圖像如圖3-b所示,提取其中的連通區(qū)域并形成候選模板集合T={T1,T2,…,Tn},其中:n為候選模板的數(shù)量。逐個(gè)提取候選模板Ti(i∈[1,n])并計(jì)算Ti和所有候選搜索連通域Sj(j∈[1,m])的匹配度,形成維度為n×m的匹配度矩陣M,M的最大值對(duì)應(yīng)的候選搜索連通區(qū)域即為魚(yú)體區(qū)域掩膜。利用自模板匹配方法獲取圖2-a對(duì)應(yīng)的魚(yú)體區(qū)域掩膜如圖3-c所示。將該魚(yú)體區(qū)域掩膜與圖2-a中的原始圖像做與運(yùn)算,即可分割得到如圖3-d所示的魚(yú)體前景圖像。
1.4.1 魚(yú)體形狀特征提取本文提取魚(yú)體全身及尾部形態(tài)特征來(lái)描述不同品種淡水魚(yú)的外形差異,需要提取的體尺參數(shù)包括:魚(yú)體長(zhǎng)(L)、體寬(W)、魚(yú)尾長(zhǎng)(D)、魚(yú)體前景面積(S)、魚(yú)體輪廓擬合橢圓長(zhǎng)短軸長(zhǎng)度等,基于上述體尺參數(shù),計(jì)算魚(yú)體占空比、似圓度、Hu不變矩等指標(biāo)。
1)體尺參數(shù)提取:體尺參數(shù)提取的第1步是對(duì)魚(yú)體前景二值圖做水平校正。首先針對(duì)魚(yú)體前景二值圖做基于最小二乘法的直線擬合,然后計(jì)算擬合直線的斜率及傾斜角,最后以魚(yú)體前景二值圖中心點(diǎn)為旋轉(zhuǎn)中心,旋轉(zhuǎn)前景二值圖傾斜角的角度,完成水平校正。以圖2-a原圖為例,其魚(yú)體前景二值圖的擬合直線如圖4-a所示,水平校正后的結(jié)果如圖4-b所示。
圖4 魚(yú)體體尺參數(shù)提取Fig.4 Extraction of fish body size parameters
統(tǒng)計(jì)魚(yú)體前景區(qū)域像素?cái)?shù),即為魚(yú)體面積(Swhole)。提取魚(yú)體前景區(qū)域最小外接矩形的長(zhǎng)和寬,即為魚(yú)體長(zhǎng)(Lwhole)和魚(yú)體寬(Wwhole)。利用基于最小二乘的橢圓擬合算法擬合魚(yú)體前景區(qū)域橢圓,并分別記橢圓長(zhǎng)、短軸長(zhǎng)為awhole和bwhole。使用Suzuki等[12]方法提取水平校正后的魚(yú)體圖像輪廓,結(jié)果如圖4-c藍(lán)色輪廓所示。按列掃描魚(yú)體輪廓得到魚(yú)體背腹距離散點(diǎn)圖,將散點(diǎn)圖擬合成高階曲線,得到如圖4-c中的黃色曲線。定位擬合曲線上的極小值點(diǎn)(圖4-c黃色曲線上的紅色點(diǎn)),該極值點(diǎn)對(duì)應(yīng)的垂直于魚(yú)體主軸線(圖4-c藍(lán)色魚(yú)體輪廓中的紅色直線)的垂線即為魚(yú)身和魚(yú)尾的分界線,利用分界線將魚(yú)體分為去尾魚(yú)體(圖4-d)和魚(yú)尾(圖4-e)。
統(tǒng)計(jì)去尾魚(yú)體像素?cái)?shù)量及去尾魚(yú)體輪廓像素?cái)?shù)量,即為去尾魚(yú)體面積(Sbody)及去尾魚(yú)體周長(zhǎng)(Cbody),利用最小外接矩形和擬合橢圓分別提取去尾魚(yú)體長(zhǎng)(Lbody)、去尾魚(yú)體寬(Wbody)、去尾魚(yú)體擬合橢圓長(zhǎng)軸長(zhǎng)(abody)和短軸長(zhǎng)(bbody)。統(tǒng)計(jì)魚(yú)尾區(qū)域及輪廓像素?cái)?shù)量,即為魚(yú)尾面積(Stail)和魚(yú)尾周長(zhǎng)(Ctail),魚(yú)尾最小外接矩形長(zhǎng)即為魚(yú)尾長(zhǎng)(Ltail)?;谏鲜鲶w尺參數(shù),分別利用式awhole/bwhole、Lwhole/Wwhole及Swhole/(Lwhole×Wwhole)計(jì)算魚(yú)體擬合橢圓長(zhǎng)短軸比(k1,whole)、魚(yú)體長(zhǎng)寬比(k2,whole)及魚(yú)體占空比(k3,whole)。分別利用式abody/bbody、Lbody/Wbody、Sbody/(Lbody×Wbody)及4π×Sbody/(Cbody×Cbody)計(jì)算去尾魚(yú)體擬合橢圓長(zhǎng)短軸比(k1,body)、去尾魚(yú)體長(zhǎng)寬比(k2,body)、去尾魚(yú)體占空比(k3,body)及去尾魚(yú)體似圓度(ebody)。利用Ltail/Lwhole及4π×Stail/(Ctail×Ctail)計(jì)算魚(yú)尾占魚(yú)體長(zhǎng)度比(k4)及魚(yú)尾似圓度(etail)。
(2)
基于正規(guī)化中心距ηpq,計(jì)算得到7個(gè)Hu不變矩特征值(Φ1、Φ2、…、Φ7)[13]。綜合基于體尺參數(shù)的9個(gè)形狀特征描述算子以及7個(gè)Hu不變矩特征值,得到用于淡水魚(yú)分類的16維形狀特征向量。
1.4.2 魚(yú)體表面紋理特征提取淡水魚(yú)的鱗片在大小、形狀、光滑程度上存在差異,這些差異可用魚(yú)體鱗片紋理特征描述[14-15]。自動(dòng)選取魚(yú)體質(zhì)心周圍1塊100像素×50像素的矩形區(qū)域內(nèi)的紋理作為淡水魚(yú)分類識(shí)別的特征之一。由于魚(yú)鱗兼具邊緣特征和灰度差異特征,因此,選用基于規(guī)范化的灰度-梯度共生矩陣(gray level-gradient co-occurrence matrix,GLGCM)[16]提取魚(yú)體魚(yú)鱗紋理特征。記圖3-d所示的魚(yú)體前景灰度圖像為f(M,N),M和N分別為灰度圖像對(duì)應(yīng)的二維矩陣的行數(shù)和列數(shù)。通過(guò)以下3個(gè)步驟計(jì)算其GLGCM。
gx=f(k+1,l-1)+2f(k+1,l)+f(k+1,l+1)-f(k-1,l-1)-2f(k-1,l)-f(k-1,l+1)
(3)
gy=f(k-1,l+1)+2f(k,l+1)+f(k+1,l+1)-f(k-1,l+1)-2f(k,l-1)-f(k+1,l-1)
(4)
式中:k=1,2,…,M;l=1,2,…,N。利用公式G(k,l)=INT(g(k,l)×Ng/gmax)+1,計(jì)算得到歸一化的梯度矩陣。其中:INT為取整運(yùn)算;gmax是g(M,N)中最大的梯度值;Ng是將梯度值歸一化后期望的最大值,本文Ng取值為16。
2):利用式F(k,l)=INT(f(k,l)×Nf/fmax)+1,計(jì)算f(M,N)的歸一化灰度矩陣。其中:fmax是f(M,N)中的最大灰度值;Nf是將灰度值歸一化后期望的最大值,本文取Nf為16。
3):統(tǒng)計(jì)歸一化灰度矩陣和梯度矩陣中同時(shí)使F(k,l)=i(i∈[1,Nf])和G(k,l)=j(j∈[1,Ng])的像點(diǎn)對(duì)數(shù),該對(duì)數(shù)即為灰度梯度共生矩陣的元素值H(i,j),利用式(5)獲取歸一化后的GLGCM。
H′(i,j)=H(i,j)/(M×N),i∈[1,Nf],j∈[1,Ng]
(5)
最后,利用表1所示的公式提取魚(yú)體魚(yú)鱗的15個(gè)紋理參數(shù)。
表1 基于灰度梯度共生矩陣的15個(gè)紋理參數(shù)提取方法Table 1 Formula for gray level-gradient co-occurrence matrix based texture parameters extraction
采用主成分分析(PCA)[17]對(duì)1.4節(jié)部分提取的31維特征(16個(gè)形狀及15個(gè)紋理特征)進(jìn)行降維,在保持方差貢獻(xiàn)最大的特征前提下,減少特征集維數(shù),降低分類器計(jì)算量。利用PCA降維魚(yú)體圖像31維特征后獲取的新正交特征的累積貢獻(xiàn)率[18]如圖5所示。
圖5 魚(yú)體特征的主成分分析Fig.5 Principle component analysis of fish body characteristics柱狀圖的高度表示各特征的貢獻(xiàn)占比,折線圖表示所有特征的累積貢獻(xiàn)率,水平黑色點(diǎn)劃線表示85%的累積貢獻(xiàn)率。The height of each column represents the contribution ratio of each individual feature,and each line chart represents the cumulative contribution rate of each feature,the black horizontal dot-dash line represents the cumulative contribution rate of 85%.
圖5顯示:每個(gè)類別的前5維特征參數(shù)的累積貢獻(xiàn)率均高于85%,可以認(rèn)為PCA得到的前5維特征包含了整體特征的主要信息。因此,可以將原來(lái)31維特征降到5維,作為淡水魚(yú)分類模型的輸入進(jìn)行淡水魚(yú)種類識(shí)別。
從圖像數(shù)據(jù)集中分別為14類淡水魚(yú)隨機(jī)選擇圖像100張作為魚(yú)體分割算法測(cè)試圖像集,利用1.3節(jié)提出的基于自模板匹配的魚(yú)體分割算法及傳統(tǒng)的多模板匹配算法處理測(cè)試集圖像并對(duì)比分割正確率。在傳統(tǒng)的多模板匹配算法中,分別從14種淡水魚(yú)各取1張圖像并以最小外接矩形框選圖像中的魚(yú)體部分,為各類淡水魚(yú)分別創(chuàng)建1個(gè)魚(yú)體匹配模板,利用獲得的14個(gè)模板構(gòu)建多模板匹配所需的模板庫(kù)。從模板庫(kù)中依次選擇模板以滑動(dòng)窗口方式遍歷待匹配圖像,在各個(gè)遍歷位置旋轉(zhuǎn)、縮放模板并計(jì)算模板與待匹配圖像之間的相關(guān)系數(shù),選擇相關(guān)系數(shù)最大值對(duì)應(yīng)的匹配結(jié)果作為分割結(jié)果。利用2種分割方法處理1 400張淡水魚(yú)圖像,其分割前景魚(yú)體的正確率對(duì)比結(jié)果如表2所示。
表2 自模板匹配正確率Table 2 Correct rate of self template matching
統(tǒng)計(jì)表2數(shù)據(jù)得到,多模板匹配算法和自模板匹配算法對(duì)于測(cè)試圖像集中各前景魚(yú)體分割綜合正確率分別為79.14%和99.79%,這表明,自模板匹配算法能夠在不建立匹配模板庫(kù)的前提下,取得更高的魚(yú)體前景區(qū)域分割正確率。
除灰度-梯度共生矩陣外,常用的圖像紋理特征提取方法還包括局部二值模式(local binary pattern,LBP)[19]和Gabor濾波[20]等。針對(duì)2.1節(jié)正確分割前景魚(yú)體區(qū)域的圖像,將魚(yú)體質(zhì)心周圍100像素×50像素的矩形區(qū)域分為8個(gè)不重疊圖像塊。使用等價(jià)旋轉(zhuǎn)不變LBP算法[19]為每個(gè)圖像塊提取9個(gè)灰度直方圖特征進(jìn)行串聯(lián)組合,得到72維LBP紋理特征。為每個(gè)圖像塊選擇4個(gè)尺度、4個(gè)方向組成16個(gè)Gabor濾波器,共得到144維Gabor紋理特征。利用PCA篩選LBP紋理+形狀特征(共88維)和Gabor紋理+形狀特征(共160維)中累積貢獻(xiàn)率超過(guò)85%的特征維度,獲取13維LBP紋理+形狀特征以及11維Gabor紋理+形狀特征。分別將GLGCM+形狀、LBP+形狀和Gabor+形狀特征集以7∶3的比例劃分為淡水魚(yú)分類識(shí)別訓(xùn)練與測(cè)試特征樣本集。利用訓(xùn)練樣本集分別訓(xùn)練7種分類模型(樸素貝葉斯、K近鄰、線性回歸、隨機(jī)森林、決策樹(shù)、支持向量機(jī)、梯度提升決策樹(shù)),并用測(cè)試樣本集測(cè)試各分類模型性能,引入準(zhǔn)確率(accuracy)、精度(precision)、召回率(recall)、微平均[21](micro-F1)、宏平均(macro-F1)來(lái)驗(yàn)證模型的性能,結(jié)果如表3所示。
表3數(shù)據(jù)表明,基于GLGCM+形狀特征的隨機(jī)森林分類模型綜合性能最優(yōu)。為驗(yàn)證分類特征降維是否會(huì)影響淡水魚(yú)種類識(shí)別的準(zhǔn)確率,將測(cè)試集的未降維的31維GLGCM+形狀特征和降維后的5維GLGCM+形狀特征分別投入到隨機(jī)森林分類模型中,得到如圖6所示的降維前、后特征的分類混淆矩陣[22]。
表3 各特征向量集的分類模型性能評(píng)價(jià)Table 3 Evaluation index of each classification model
圖6表明,降維前基于GLGCM+形狀特征的隨機(jī)森林模型的分類準(zhǔn)確率為100%;與此相比,降維后的特征獲得的分類正確率達(dá)到了99.52%。因此,特征降維操作可以在保證高識(shí)別正確率的前提下,降低淡水魚(yú)分類器的計(jì)算量。
圖6 用降維前、后特征獲得的分類混淆矩陣Fig.6 Confusion matrix obtained by random forest with using character vector
1)本文利用自行搭建的圖像自動(dòng)采集裝置在漁場(chǎng)基地采集淡水魚(yú)圖像,對(duì)魚(yú)體擺放角度、方向不進(jìn)行限定。在此圖像數(shù)據(jù)集上研發(fā)的魚(yú)體形狀、紋理特征提取算法以及淡水魚(yú)分類識(shí)別模型實(shí)用性較高;
2)提出了一種自模板匹配算法,在不需要額外構(gòu)建魚(yú)體模板庫(kù)的前提下,以99.79%的平均正確率提取魚(yú)體前景區(qū)域;
3)從魚(yú)體全身、去尾魚(yú)體及尾部3個(gè)尺度提取魚(yú)體形狀特征共16個(gè)描述算子,分別與灰度-梯度共生矩陣、局部二值模式和Gabor紋理特征構(gòu)建淡水魚(yú)分類特征向量,并比較不同紋理+形狀特征在不同分類器上的淡水魚(yú)識(shí)別性能。結(jié)果表明,基于灰度-梯度共生矩陣紋理+形狀特征的31維特征向量的隨機(jī)森林模型可以100%正確識(shí)別14種淡水魚(yú)。為提升分類器計(jì)算速度,使用主成分分析法將31維灰度-梯度共生矩陣紋理+形狀特征篩選為5維最佳特征,篩選后的特征對(duì)14種淡水魚(yú)的分類整體正確率達(dá)到99.52%。表明,篩選后的灰度-梯度共生矩陣紋理+形狀特征能以較低的計(jì)算量,獲得理想的淡水魚(yú)分類正確率。
需要指出的是,本文提出的自模板匹配算法綜合利用了連通區(qū)域像素?cái)?shù)及圖像顏色空間閾值確定候選搜索連通區(qū)域和候選模板,算法對(duì)圖像采集環(huán)境的穩(wěn)定性具有一定的要求。如果調(diào)整魚(yú)體圖像采集裝置的設(shè)計(jì)(如相機(jī)與傳送帶的距離、傳送帶顏色等),則需要根據(jù)新的圖像數(shù)據(jù)集調(diào)整自模板匹配算法所需的連通區(qū)域像素?cái)?shù)及圖像顏色空間閾值。另外,本文建立的淡水魚(yú)分類模型接近100%的識(shí)別精度是使用與訓(xùn)練集同屬的圖像數(shù)據(jù)集中30%的圖像測(cè)試獲得,也就是說(shuō)模型已經(jīng)學(xué)習(xí)了測(cè)試圖像中的所有14種的淡水魚(yú)形狀及紋理特征。如果使用包含這14種以外的淡水魚(yú)圖像來(lái)測(cè)試模型,模型分類精度必然會(huì)有所下降。因此,后期模型實(shí)際使用之前,需要針對(duì)需要分類識(shí)別的所有的淡水魚(yú)種類采集一定數(shù)量的圖像,訓(xùn)練模型學(xué)習(xí)其GLGCM+形狀特征,進(jìn)而確保模型的高效和實(shí)用。