張安鐸,劉海華
(中南民族大學(xué)生物醫(yī)學(xué)工程學(xué)院,湖北 武漢 430074)
巖石樣本的識(shí)別在地質(zhì)勘探與檢測(cè)識(shí)別中是十分重要的一環(huán)。在油氣勘探、礦產(chǎn)資源勘探以及地質(zhì)分析任務(wù)中,巖性識(shí)別對(duì)保障后續(xù)地質(zhì)作業(yè)具有重要的意義。傳統(tǒng)巖石樣本的識(shí)別方法主要有重磁、測(cè)井、薄片分析等方法。以上方法為科學(xué)的描述和解釋巖石巖性結(jié)構(gòu)奠定了基礎(chǔ)。傳統(tǒng)巖石巖性的確定需要專業(yè)人員通過(guò)人工標(biāo)注解釋,這通常需要消耗大量的人力資源及時(shí)間成本。因此,研究一種能夠比傳統(tǒng)方法更快更有效新的方法,對(duì)巖石圖像進(jìn)行自動(dòng)識(shí)別和分類是十分重要的。
特征提取作為模式識(shí)別的重要內(nèi)容,其有效性直接影響分類結(jié)果。大量的研究表明,不同類型的巖石在顏色和紋理上有著較大的差異。根據(jù)該特點(diǎn),本文使用HSV顏色矩、灰度共生矩陣等描述巖石圖像的特征。
HSV顏色矩[1]:HSV顏色空間的色調(diào)、飽和度、亮度與人眼對(duì)顏色的主觀認(rèn)識(shí)比較符合。與其他顏色空間相比,HSV空間能更好地反映人類對(duì)顏色的感知,所以本文采用HSV顏色空間下的顏色矩作為樣本顏色特征。顏色矩是一種簡(jiǎn)單有效的顏色特征表示方法,有一階矩(均值,Mean)、二階矩(方差,Variance)和三階矩(斜度,Skewness)等。
GLCM灰度共生矩陣[2]:灰度共生矩陣(Grey Level Co-occurrence Matrix,GLCM)也叫空間灰度級(jí)依賴矩陣,它是一種基于統(tǒng)計(jì)的紋理特征提取的方法。由于灰度共生矩陣的維度較大,一般不直接作為區(qū)分紋理的特征,而是基于它構(gòu)建的一些統(tǒng)計(jì)量作為紋理分類特征。本文所選用的紋理分類特征包括對(duì)比度(Contrast)、差異性(Dissimilarity)、反差分矩陣(Homogeneity)、熵(Energy)、相關(guān)性(Correlation)和能量(ASM)。經(jīng)過(guò)多次實(shí)驗(yàn)計(jì)算對(duì)比,本文選擇的灰度共生矩陣GLCM參數(shù)如表1所示。
表1 GLCM參數(shù)設(shè)置
計(jì)算每個(gè)樣本的GLCM矩陣,對(duì)其進(jìn)行整理獲得每個(gè)樣本的18個(gè)紋理特征,其表示如下:
本文除使用顏色、紋理等特征外,還使用統(tǒng)計(jì)的方法獲取樣本圖像像素值大于40的像素點(diǎn)個(gè)數(shù)占圖像總像素的百分比作為樣本的1個(gè)分類特征。
由于巖石圖像的特殊性和復(fù)雜性,在提取多類特征的背景下,為提高訓(xùn)練效率、減小個(gè)別極端誤差對(duì)訓(xùn)練分類器模型帶來(lái)影響,本文使用線性動(dòng)態(tài)系統(tǒng)算法對(duì)特征數(shù)據(jù)進(jìn)行濾波平滑。線性動(dòng)態(tài)系統(tǒng)(Linear Dynamic System,LDS)又叫卡爾曼濾波,是一種優(yōu)化估計(jì)算法[3]。LDS的過(guò)程可以解釋為不斷對(duì)隱藏變量進(jìn)行預(yù)測(cè)、并利用觀測(cè)值對(duì)預(yù)測(cè)值進(jìn)行修正的過(guò)程,它只需要當(dāng)前的測(cè)量值和前一個(gè)采樣周期的估計(jì)值就能夠進(jìn)行狀態(tài)估計(jì)。其線性關(guān)系體現(xiàn)在這一時(shí)刻和上一時(shí)刻的隱藏變量之間以及觀測(cè)變量和隱藏變量之間,這種遞歸方法不需要大量的存儲(chǔ)空間,每一步的計(jì)算量小,計(jì)算步驟清晰,非常適合處理特征值較多或標(biāo)簽復(fù)雜的信息。一個(gè)線性動(dòng)態(tài)系統(tǒng)可以表示如下:
CatBoost算法是俄羅斯Yandex提出的,算法設(shè)計(jì)的初衷是為了更好的處理梯度提升決策樹(shù)(Gradient Boosting Decision Tree,GBDT)中的分類特征組合問(wèn)題[4]。傳統(tǒng)的GBDT算法通過(guò)選擇樹(shù)結(jié)構(gòu)和在樹(shù)結(jié)構(gòu)固定后計(jì)算葉子節(jié)點(diǎn)的值來(lái)構(gòu)建新樹(shù)來(lái)擬合當(dāng)前模型梯度[5],其原理如下:使用本文給定7類巖石樣本的28維特征,訓(xùn)練集為,其中表示樣本總數(shù);表示第個(gè)巖石樣本對(duì)應(yīng)的標(biāo)簽;表示輸入樣本的28維特征。將送入分類器進(jìn)行M次迭代,算法實(shí)現(xiàn)流程如表2所示。
表2 GBDT算法實(shí)現(xiàn)流程
然而GBDT這種構(gòu)建新樹(shù)的方式存在梯度偏差問(wèn)題,會(huì)導(dǎo)致模型過(guò)擬合。為了解決GBDT存在的問(wèn)題,CatBoost基于對(duì)稱決策采用貪婪的策略考慮組合,高效合理地處理類別型特征。對(duì)于樹(shù)的第一次分割,CatBoost不考慮任何組合[6]。對(duì)于下一次分割,將當(dāng)前樹(shù)的所有組合、類別型特征與數(shù)據(jù)集中的所有類別型特征相結(jié)合,并將新的組合類別型特征動(dòng)態(tài)地轉(zhuǎn)換為數(shù)值型特征,以這種方法構(gòu)建的新樹(shù)是平衡的,不容易過(guò)擬,進(jìn)而可以加速預(yù)測(cè)并且提高算法的準(zhǔn)確性和泛化能力。除了能夠解決模型過(guò)擬合和模型泛化問(wèn)題,CatBoost算法占用內(nèi)存小,訓(xùn)練速度快的優(yōu)勢(shì),在很大程度上解決了研究人員的硬件設(shè)備問(wèn)題[7]。
本文采用來(lái)自泰迪杯數(shù)據(jù)挖掘挑戰(zhàn)賽B題的巖石樣本數(shù)據(jù)集,該數(shù)據(jù)為工作人員在勘探現(xiàn)場(chǎng)利用工業(yè)相機(jī)對(duì)巖屑和巖心進(jìn)行拍攝所得,圖像包含無(wú)背景的深灰色泥巖、灰黑色泥巖、灰色細(xì)砂巖、淺灰色細(xì)砂巖、黑色煤、深灰色泥質(zhì)粉砂巖和灰色泥質(zhì)粉砂巖7類巖石300張圖像。
由于巖石樣本數(shù)據(jù)集數(shù)量有限,本文首先使用Open-CV對(duì)賽事數(shù)據(jù)集進(jìn)行擴(kuò)充。主要方法有隨機(jī)放縮,切分,添加噪聲等。為保證圖片切分后能盡量保留原圖像的紋理信息,這里僅將原圖切分為9等份。通過(guò)圖像擴(kuò)充的方法,原始數(shù)據(jù)集被擴(kuò)充至2450張。數(shù)據(jù)集擴(kuò)充后,各樣本占比相同,力圖減少由樣本數(shù)量差異導(dǎo)致的訓(xùn)練誤差。
本文將7類巖石的HSV顏色空間矩陣和GLCM空間灰度級(jí)依賴矩陣作為L(zhǎng)DS+CatBoost的分類特征。在將數(shù)據(jù)集送入分類器之前,為了降低同類巖石特征之間的計(jì)算誤差,首先對(duì)樣本數(shù)據(jù)集進(jìn)行LDS平滑濾波,將濾波后的矩陣作為CatBoost分類器的分類特征。由于CatBoost模型的訓(xùn)練超參數(shù)會(huì)對(duì)訓(xùn)練結(jié)果產(chǎn)生較大影響,故本文在進(jìn)行多次挑選重試后確定的訓(xùn)練超參數(shù)如表3所示。參數(shù)定義為,iterations表示網(wǎng)絡(luò)迭代次數(shù),depth表示樹(shù)的深度,learning_rate表示學(xué)習(xí)率,test_size表示測(cè)試集的比例,random_strength表示分?jǐn)?shù)標(biāo)準(zhǔn)差乘數(shù)。
表3 CatBoost模型訓(xùn)練參數(shù)設(shè)置
將上述獲得的樣本特征集送入LDS+CatBoost分類器進(jìn)行分類訓(xùn)練。為提升模型的泛化能力,對(duì)訓(xùn)練采用10折交叉驗(yàn)證。將樣本數(shù)據(jù)集分為10份,第一次訓(xùn)練,將后面9份作為訓(xùn)練集,訓(xùn)練集里面又包含有驗(yàn)證集,驗(yàn)證集可用于網(wǎng)絡(luò)模型的調(diào)優(yōu),1000次迭代完成后得到一個(gè)網(wǎng)絡(luò)模型,再把第1份數(shù)據(jù)最為測(cè)試集對(duì)得到的模型進(jìn)行測(cè)試獲得第一個(gè)測(cè)試準(zhǔn)確率。第二次訓(xùn)練,將第一份和后面8份作為訓(xùn)練集,1000次迭代完成后得到一個(gè)網(wǎng)絡(luò)模型,再把第2份數(shù)據(jù)最為測(cè)試集對(duì)得到的模型進(jìn)行測(cè)試獲得第一個(gè)測(cè)試準(zhǔn)確率。以此類推最后得到10個(gè)測(cè)試準(zhǔn)確率,平均這10個(gè)測(cè)試準(zhǔn)確率,即為分類器的分類準(zhǔn)確率。
通過(guò)上述分類方法對(duì)本文7類巖石進(jìn)行分類,分類準(zhǔn)確率達(dá)到92.86%。為了進(jìn)一步評(píng)估 LDS+CatBoost模型預(yù)測(cè)的性能,本文同時(shí)選取巖石分類常用的機(jī)器學(xué)習(xí)K最近鄰(K-Nearest Neighbor,KNN)模型[8]、GBDT模型、XGBoost模型和未經(jīng)改進(jìn)的CatBoost模行進(jìn)行對(duì)比分析。為了對(duì)比結(jié)果的可靠性,GBDT模型、XGBoost模型和原始CatBoost模型選取的超參數(shù)與 LDS+CatBoost模型的一致。各類模型分類結(jié)果概況如表4所示。
表4 各類模型測(cè)試結(jié)果
從表4中可以看出,除LDS+CatBoost模型外,其余對(duì)比模型的分類平均準(zhǔn)確率相差不大,都在82%左右,Cat-Boost最高,可以達(dá)到83.8%。這可能說(shuō)明在對(duì)數(shù)據(jù)進(jìn)行LDS平滑濾波之前,分類器對(duì)巖石數(shù)據(jù)分類影響不大。進(jìn)而對(duì)特征進(jìn)行平滑濾波后,再送入CatBoost分類器,分類準(zhǔn)確率可以提高9個(gè)百分點(diǎn),達(dá)到92.86%。GBDT分類準(zhǔn)確率較為分散,模型穩(wěn)定性差,且4個(gè)對(duì)比模型準(zhǔn)確率集中分布在80%~85%之間。相較于對(duì)比模型,本文提出的模型準(zhǔn)確率集中分布在90%~95%之間,92.5%部分占比最大。除此之外,由圖中的黑色盒型范圍可以看出,LDS+Cat-Boost準(zhǔn)確率波動(dòng)程度比其他模型小,表明該分類器分類效果好且魯棒性更強(qiáng)。這說(shuō)明本文提出的LDS+CatBoost分類器利用圖像HSV顏色空間矩陣和GLCM空間灰度級(jí)依賴矩陣的特征,對(duì)深灰色泥巖、灰黑色泥巖、灰色細(xì)砂巖、淺灰色細(xì)砂巖、黑色煤、深灰色泥質(zhì)粉砂巖和灰色泥質(zhì)粉砂巖7類巖石有很好的分類效果。
界面設(shè)計(jì)可以讓用戶便于使用、便于了解、并能減少用戶發(fā)生錯(cuò)誤選擇的可能性。為減少對(duì)于編程語(yǔ)言和設(shè)備的依賴,讓識(shí)別巖性操作高效。本文利用Python-Tkinter圖形化界面設(shè)計(jì),融合訓(xùn)練好的網(wǎng)絡(luò)模型,設(shè)計(jì)了一個(gè)在視覺(jué)效果上便于理解和使用的交互式界面用于實(shí)現(xiàn)巖石的智能識(shí)別,并將該界面導(dǎo)出為程序文件,方便在不同機(jī)器上進(jìn)行快速測(cè)試。
由于本文在前期進(jìn)行數(shù)據(jù)集擴(kuò)充的過(guò)程中,將原始圖像切分為9張子圖像,并計(jì)算每張子圖像的HSV矩陣和GLCM矩陣等數(shù)值構(gòu)建成一個(gè)28維的特征空間作為分類器的分類特征。為了與模型訓(xùn)練特征保持一致,在交互式界面識(shí)別過(guò)程中首先將送入的圖像同等切分為9張子圖像并對(duì)每張子圖像構(gòu)建相同的28維特征,經(jīng)過(guò)LDS特征平滑濾波后,再送入訓(xùn)練好的模型進(jìn)行檢測(cè),將每張子圖的檢測(cè)結(jié)果保存到一個(gè)列表。最后采用投票法,將列表中投票最多的結(jié)果輸出為測(cè)試結(jié)果。采用投票法在交互式界面對(duì)模型進(jìn)行測(cè)試,可以提高模型的測(cè)試準(zhǔn)確率。
本文使用了300張7種白光拍攝的無(wú)背景巖石圖像,對(duì)巖石的自動(dòng)分類進(jìn)行研究。對(duì)這些圖像進(jìn)行擴(kuò)充,每一類巖石擴(kuò)充到350張,最后共獲得2450張圖像的樣本數(shù)據(jù)集。采用HSV顏色空間矩陣和GLCM空間灰度級(jí)依賴矩陣等特征提取方法對(duì)巖石樣本進(jìn)行數(shù)值化描述,將這些數(shù)值生成一個(gè)28維的特征空間。采用本文提出的LDS+CatBoost算法及常用的4種機(jī)器學(xué)習(xí)算法對(duì)2450張巖石圖像進(jìn)行自動(dòng)分類,并對(duì)這些算法的有效性進(jìn)行測(cè)試。研究結(jié)果表明,利用LDS+Cat-Boost算法結(jié)合交互式界面對(duì)數(shù)值化后的巖石圖像實(shí)現(xiàn)自動(dòng)分類是有可行性的。
本文提出的卡爾曼濾波結(jié)合機(jī)器學(xué)習(xí)分類器算法在地質(zhì)學(xué)和巖石學(xué)領(lǐng)域可能具有重要作用。交互式界面的實(shí)現(xiàn)為巖石學(xué)和礦物學(xué)等領(lǐng)域構(gòu)建一些實(shí)用的分類工具提供了思路。然而,本研究由于樣本數(shù)據(jù)集的不足,訓(xùn)練好的模型會(huì)缺乏一定的泛化性,測(cè)試準(zhǔn)確率也不夠高。后續(xù)在數(shù)據(jù)集充足的情況下,將進(jìn)一步探討和研究本文提出的算法結(jié)果交互式界面大規(guī)模在地質(zhì)學(xué)、礦物學(xué)和巖石學(xué)等領(lǐng)域應(yīng)用的可行性。