鄢敏, 夏永華,, 顧進(jìn)立, 許曦, 王沖
1.昆明理工大學(xué) 國(guó)土資源工程學(xué)院,昆明 650093;2.昆明理工大學(xué)城市學(xué)院,昆明 650051;3.中國(guó)電建集團(tuán) 昆明勘測(cè)設(shè)計(jì)研究院有限公司,昆明 650200
中國(guó)古建筑彩畫歷史悠久, 形成了以官式彩畫為主體的大量區(qū)域性彩畫樣式, 是我國(guó)古代建筑裝飾藝術(shù)的主要表現(xiàn)形式之一.但因建筑木制結(jié)構(gòu)常年暴露于外部環(huán)境中, 建筑彩畫極易出現(xiàn)褪色、破甲、開裂等病害, 現(xiàn)存的大量歷史彩畫保存現(xiàn)狀堪憂.為保護(hù)古建筑彩畫遺產(chǎn), 各地學(xué)者通過數(shù)字?jǐn)z影方式, 以大量像片為載體記錄彩畫的現(xiàn)狀信息.但受限于圖幅大小, 像片難以兼顧彩畫的清晰度與全局性, 且對(duì)存儲(chǔ)空間消耗極大, 亟需一種準(zhǔn)確且高效的彩畫數(shù)據(jù)采集與數(shù)字化解決方案.
近年來(lái), 以數(shù)字?jǐn)z影測(cè)量為基礎(chǔ)并結(jié)合圖像分割、矢量化等圖像處理手段的貼近攝影測(cè)量方法, 以其優(yōu)異的模型完整度和建模精細(xì)度在文物保護(hù)領(lǐng)域成效斐然[1].目前的圖像分割方法種類繁多[2-10], 其中SVM算法在解決小樣本、高維度問題上具有獨(dú)特優(yōu)勢(shì), 是目前最受歡迎的分類算法之一, 本文也將采用SVM作為分類算法, 以供后續(xù)實(shí)驗(yàn)對(duì)比與分析.
高斯徑向基函數(shù)(RBF)的SVM模型的分類性能主要受損失參數(shù)c與核函數(shù)參數(shù)g的影響.為尋找最優(yōu)訓(xùn)練參數(shù), 大量學(xué)者通過群智能優(yōu)化算法來(lái)搜索模型最佳訓(xùn)練參數(shù), 以實(shí)現(xiàn)更高的分類精度)[11-14].麻雀搜索算法(sparrow search algorithm, SSA)[14]是一種新型的群智能優(yōu)化算法.相比于傳統(tǒng)群體優(yōu)化算法, SSA算法的控制參數(shù)少、局部開發(fā)能力較強(qiáng).但類似其它群優(yōu)化算法, SSA算法同樣存在早熟收斂、易陷入局部最優(yōu)與邊界計(jì)算等問題.針對(duì)SSA算法存在的部分局限性, 本文提出了一種多策略改進(jìn)麻雀搜索算法(multi-strategy improved sparrow search algorithm, MISSA), 用于優(yōu)化SVM的參數(shù)選擇過程、提高分類精度.
本文使用SLIC算法提取超像素, 通過主成分分析(PCA)對(duì)融合多個(gè)色彩空間的顏色矩特征進(jìn)行降維, 利用MISSA算法優(yōu)化SVM的初始訓(xùn)練參數(shù), 獲取更加精確的分類結(jié)果.算法的主要步驟如下:
1)輸入彩畫圖像, 通過形態(tài)學(xué)重構(gòu)處理, 在保留邊界信息的同時(shí), 濾除圖像明暗噪聲.
2)通過網(wǎng)絡(luò)搜索確定最佳分割步長(zhǎng)與緊湊度, 對(duì)去噪圖像使用SLIC算法獲取超像素分割結(jié)果.
3)融合超像素區(qū)域內(nèi)多色彩空間的顏色矩特征, 并采用PCA算法進(jìn)行特征降維.
4)通過MISSA算法尋找最優(yōu)訓(xùn)練參數(shù), 使用SVM獲取精確分類結(jié)果.
5)利用ArcGIS軟件對(duì)分類結(jié)果進(jìn)行矢量化.
1.1.1 圖像去噪
形態(tài)學(xué)重構(gòu)[4]通常用來(lái)突出圖像中與掩膜圖像相一致的部分, 同時(shí)忽略圖像中其它對(duì)象.因此, 通過與腐蝕、求補(bǔ)運(yùn)算相結(jié)合, 可對(duì)圖像進(jìn)行雙邊濾波, 去除圖像明暗噪聲, 并保留重要的區(qū)域輪廓信息.其計(jì)算公式如下:
I1=reconstruct(I,IΘg)
(1)
I2=reconstruct(R1,R1Θg)
(2)
其中:I為圖像某一波段的灰度圖像,g為結(jié)構(gòu)元素,R1為圖I1的補(bǔ)像.式(1)實(shí)現(xiàn)了對(duì)圖像亮部噪聲的剔除, 式(2)則通過補(bǔ)像實(shí)現(xiàn)了圖像暗部噪聲的剔除.最后, 對(duì)I2進(jìn)行求補(bǔ), 即可得到去噪圖像.
1.1.2 超像素分割
超像素分割算法利用相鄰像素間的特征相似性將像素組合成具有一定視覺意義的不規(guī)則像素塊, 用少量的超像素來(lái)代替像素表達(dá)圖片特征, 極大地降低了圖像后處理的復(fù)雜度, 是目前常用的圖像分割預(yù)處理方法.常用的超像素分割方法主要有分水嶺算法[5]、均值漂移算法[6](Mean Shift)與簡(jiǎn)單線性迭代聚類算法[7](simple linear iterative clustering, SLIC)等, 其中, SLIC算法因結(jié)構(gòu)簡(jiǎn)單、結(jié)果緊湊且貼合邊緣, 是目前最常用的超像素分割算法之一.本文通過網(wǎng)絡(luò)搜索確定SLIC算法分割步長(zhǎng)與緊湊度參數(shù), 以小塊樣本區(qū)域的邊界重疊度作為適應(yīng)度指標(biāo), 采用過分割策略獲取超像素結(jié)果, 以保證分割的準(zhǔn)確性.
1.2.1 多色彩空間的區(qū)域顏色矩
彩畫圖像超像素區(qū)域分類主要依靠色彩特征的差異.不同漆料色彩的RGB值差異明顯, 但光照變化等因素造成的漆面反光與邊緣模糊問題會(huì)嚴(yán)重影響分類效果.為降低光照等因素的影響, 本文引入了顏色屬性與光照強(qiáng)度獨(dú)立的CIE-Lab和YCbCr色彩空間, 共選取R,G,B,L,a,b,Y,Cb,Cr,Gray(0.2989R+0.587G+0.114B)共10個(gè)顏色分量用于后續(xù)的區(qū)域色彩統(tǒng)計(jì).
由于圖像顏色信息主要分布于低階矩中, 所以一般采用一階矩(均值,Mean)、二階矩(方差,Variance)、三階矩(偏斜度,Skewness)便足以表達(dá)圖像的顏色分布[15].因此, 本文選擇以上3種顏色矩統(tǒng)計(jì)超像素區(qū)域的色彩特征.計(jì)算公式如下:
(3)
(4)
(5)
其中:N為一超像素區(qū)域內(nèi)像素總數(shù),Colori為超像素區(qū)域內(nèi)第i個(gè)像素的某顏色分量值.
1.2.2 特征降維
當(dāng)特征維數(shù)增加, 后續(xù)分類計(jì)算的復(fù)雜程度也會(huì)相應(yīng)增加, 對(duì)SVM分類的效率與精度影響極大.因此, 對(duì)特征進(jìn)行適當(dāng)?shù)慕稻S十分必要.本文采用目前常用的主成分分析(PCA)方法, 通過線性投影將高維特征映射至低維空間, 并保證同一維度上特征的方差最大, 以使用較少的特征維度, 保留盡可能多的特征信息.
本文針對(duì)麻雀搜索算法存在種群缺乏多樣性、易陷入邊界計(jì)算、早熟收斂與收斂速度慢等問題做出了改進(jìn).
1.3.1 Tent混沌映射改進(jìn)種群初始化
假設(shè)種群中存在n只麻雀, 變量搜索空間為d維, 則初始化種群與適應(yīng)度可表示為:
原SSA算法通過偽隨機(jī)數(shù)生成器初始化種群位置, 但偽隨機(jī)函數(shù)生成器的不確定性會(huì)嚴(yán)重降低種群的多樣性.混沌映射由于具有非線性、遍歷性與長(zhǎng)期不可預(yù)測(cè)性等特點(diǎn), 常被用于替代偽隨機(jī)數(shù)生成器來(lái)優(yōu)化搜索.本文采用了其中性能較好的Tent混沌映射模型, 通過建立映射關(guān)系將混沌序列轉(zhuǎn)換至變量空間以替代原始種群.其計(jì)算公式如下:
xi,j=bu-(bu-bl)*ri
(6)
(7)
其中:r0為[0, 1]范圍內(nèi)的隨機(jī)數(shù),ri為第i個(gè)初始參數(shù)取值,a為(0, 1)范圍內(nèi)的常數(shù),xi,j為第i個(gè)個(gè)體在第j維的位置,bu為變量上界,bl為變量下界.
1.3.2 引入冪數(shù)級(jí)遞減慣性權(quán)重的發(fā)現(xiàn)者位置更新公式
麻雀種群中, 發(fā)現(xiàn)者具有高適應(yīng)度, 搜索范圍更廣, 負(fù)責(zé)引導(dǎo)種群的覓食行為.為了平衡算法的全局搜索與局部開發(fā)能力, 本文在發(fā)現(xiàn)者位置更新公式中引入了冪數(shù)級(jí)遞減的慣性權(quán)重.改進(jìn)后位置更新公式為:
(8)
(9)
1.3.3 加入者位置更新公式
加入者的適應(yīng)度相對(duì)較低, 會(huì)跟隨發(fā)現(xiàn)者與其競(jìng)爭(zhēng)食物, 或飛往其它區(qū)域進(jìn)行覓食.其位置更新公式如下:
(10)
1.3.4 引入警戒解除機(jī)制的警戒者位置更新公式
警戒者負(fù)責(zé)擴(kuò)散警戒信號(hào), 一般選取種群中10%~20%的個(gè)體負(fù)責(zé)預(yù)警, 其位置更新公式如下:
(11)
其中:β為控制步長(zhǎng), 服從均值為0, 方差為1的正態(tài)分布;k為[-1, 1]范圍內(nèi)的隨機(jī)數(shù);ε設(shè)置為一極小常數(shù), 以避免除零錯(cuò)誤;fi為當(dāng)前個(gè)體的適應(yīng)值,fb與fw則分別表示目前最優(yōu)與最差適應(yīng)值.當(dāng)fi≠fb時(shí), 個(gè)體位于種群外圍, 需飛往種群中心; 當(dāng)fi=fb時(shí), 個(gè)體位于種群中心, 它將向臨近個(gè)體靠近, 遠(yuǎn)離捕食者.
警戒者的存在是為了提升種群的全局搜索能力, 但原SSA算法中警戒者的數(shù)量固定, 會(huì)使算法后期的收斂速度變慢.本文采用線性遞減策略調(diào)節(jié)警戒者比例, 其計(jì)算公式如下:
(12)
其中:Smax與Smin為警戒者的數(shù)量范圍.
1.3.5 線性遞減的最優(yōu)個(gè)體T分布變異
本研究引入以迭代次數(shù)t為自由度的T分布隨機(jī)算子對(duì)最優(yōu)麻雀?jìng)€(gè)體的位置進(jìn)行擾動(dòng), 以防止種群陷入局部最優(yōu)解.計(jì)算公式如下:
(13)
(14)
當(dāng)fi≥fb時(shí), 執(zhí)行以上變異運(yùn)算, 其中:r為(0, 1)范圍內(nèi)的隨機(jī)數(shù),T(t)為以迭代次數(shù)t為自由度的T分布隨機(jī)數(shù),pmax與pmin為變異概率的取值范圍.
1.3.6 隨機(jī)回歸的越界處理
在SSA中, 由于麻雀運(yùn)動(dòng)的隨機(jī)性, 常出現(xiàn)位置越界導(dǎo)致邊界計(jì)算, 缺乏對(duì)邊界鄰域的搜索.本文使用一種隨機(jī)回歸的越界處理改善該問題, 公式如下:
(15)
其中:bu與bl分別為變量x在數(shù)值的上界與下界,r為(0, 1)范圍內(nèi)的均勻分布隨機(jī)數(shù).這一處理方法會(huì)使越界回歸具有一定的彈性, 而不是單一的賦值變量的上下界, 提高了種群的多樣性.
1.3.7 MISSA算法實(shí)現(xiàn)步驟
多策略改進(jìn)麻雀搜索算法(MISSA)的運(yùn)算步驟如下.
Step1: 根據(jù)公式(6)初始化種群與MISSA參數(shù): 種群數(shù)量popsize、最大迭代次數(shù)TMax、搜索參數(shù)的上下界bu與bl、慣性權(quán)重范圍wmax與wmin、發(fā)現(xiàn)者比例Pd等參數(shù).
Step2: 計(jì)算初始種群適應(yīng)度并排序, 記錄最優(yōu)、最差適應(yīng)度個(gè)體位置與適應(yīng)度值:Xbest,fbest,Xworst,fworst.
Step3: 根據(jù)公式(9)與公式(12)計(jì)算慣性權(quán)重與警戒者數(shù)量:w,S.
Step4: 根據(jù)公式(8)更新發(fā)現(xiàn)者位置.
Step5: 根據(jù)公式(10)更新加入者位置.
Step6: 根據(jù)公式(11)更新警戒者位置.
Step7: 根據(jù)公式(14)計(jì)算變異概率, 根據(jù)公式(13)計(jì)算最優(yōu)個(gè)體擾動(dòng)后位置.
Step8: 根據(jù)公式(15)進(jìn)行越界后的邊界計(jì)算.
Step9: 更新適應(yīng)度值并排序, 更新最優(yōu)、最差適應(yīng)度個(gè)體位置與適應(yīng)度值:Xbest,fbest,Xworst,fworst.
Step10: 循環(huán)Step3-Step4, 判斷是否滿足條件, 滿足則跳出循環(huán).
Step11: 算法結(jié)束, 返回最優(yōu)參數(shù)與適應(yīng)度.
本研究中使用的彩畫圖像屬典型的昆明別子彩畫樣式[16], 像片通過貼近攝影測(cè)量方式采集于昆明市龍泉觀道教古建筑群.實(shí)驗(yàn)采集設(shè)備為DJI Mini, 其相機(jī)焦距24 mm, 傳感器尺寸1/2.3英寸, 拍攝中心距物面約5米, 采集了6個(gè)梁枋彩畫對(duì)象共522張圖像.采用Context Capture軟件對(duì)影像進(jìn)行三維建模并生成正射影像, 再利用Photoshop軟件裁剪彩畫主體.影像三維建模結(jié)果示例如圖1所示.
圖1 影像三維建模示例圖
本文的實(shí)驗(yàn)環(huán)境為: AMD Ryzen-5六核CPU、16G內(nèi)存、Windows10操作系統(tǒng)、MATLAB 2018b、libsvm 3.25、Context Capture 10.17、ArcGIS 10.5.
為驗(yàn)證多色彩空間顏色矩特征不同組合方式對(duì)于分割精度的影響, 本文對(duì)各單一色彩空間的色彩及其組合方式、降維處理進(jìn)行精度對(duì)比.通過人工篩選得到損失參數(shù)c為1, 高斯核函數(shù)參數(shù)g為0.1, PCA取貢獻(xiàn)率大于0.1%的主成分特征向量進(jìn)行降維.單一方法與不同組合方法的分類性能對(duì)比如表1所示.
表1 不同特征組合分類精度對(duì)比
從表1中可以發(fā)現(xiàn), 利用單一色彩空間的均值進(jìn)行分類, 分類精度平均可達(dá)到94.7%.通過結(jié)合不同色彩空間特征, 分類精度較單一RGB提升約1.9%.而整合全部顏色矩特征后, 特征維數(shù)達(dá)到30維, 此時(shí)分類精度最高, 達(dá)97.996%, 但分類效率明顯下降.通過主成分分析進(jìn)行特征降維后, 特征維數(shù)下降至5維, 分類精度幾無(wú)損失, 且分類用時(shí)明顯降低.實(shí)驗(yàn)表明, 通過融合多色彩空間特征, 改善了單一色彩空間因光照等因素造成的局限性, 并且在使用低階顏色矩統(tǒng)計(jì)特征并進(jìn)行PCA降維后, 分類精度與效率有明顯提高.
本文通過多種改進(jìn)策略來(lái)平衡與進(jìn)一步挖掘SSA算法的全局搜索與局部開發(fā)能力, 豐富種群多樣性, 提升算法收斂效率.為驗(yàn)證改進(jìn)算法的優(yōu)化性能, 將本文改進(jìn)算法與PSO算法、WOA算法、SOA算法及原SSA算法進(jìn)行對(duì)比.通過3折交叉驗(yàn)證的驗(yàn)證精度作為適應(yīng)度值, 對(duì)一尺寸為831*217像素, 共3687個(gè)超像素的小尺寸彩畫圖像分別進(jìn)行10次實(shí)驗(yàn), 取最優(yōu)與平均精度及平均用時(shí)進(jìn)行對(duì)比.為降低優(yōu)化算法的時(shí)間成本, 引入了精度停滯退出機(jī)制, 當(dāng)精度停滯增長(zhǎng)num次后即跳出迭代.實(shí)驗(yàn)圖像共有8個(gè)色彩類別, 各類別均勻采樣15個(gè)樣本.算法公共參數(shù)設(shè)置為num=20,TMax=100,Popsize=20,c∈[0.1, 100],g∈[0.01, 10]; PSO算法參數(shù)設(shè)置為c1=2,c2=2; WOA算法參數(shù)設(shè)置為b=0.8; SOA算法參數(shù)設(shè)置為fc=2,u=1,v=1; SSA算法參數(shù)設(shè)置為ST=0.6,Pd=0.7,S=0.2; 本文算法算法參數(shù)設(shè)置為a=0.7,n=2,r1, 0=0.8,r2.0=0.1,w∈[0.4, 0.9],p∈[0.2, 0.5],ST=0.6,Pd=0.7,S∈[0.05, 0.2].各算法優(yōu)化性能對(duì)比如表2所示.
表2 各優(yōu)化算法性能對(duì)比
通過分析可得, SSA算法在分類精度上明顯優(yōu)于PSO經(jīng)典算法, 在平均耗時(shí)、精度均值與方差上優(yōu)于WOA等新型最優(yōu)化算法, 體現(xiàn)出SSA算法在運(yùn)算速度與輸出穩(wěn)定性上的優(yōu)勢(shì).此外, 本文算法在精度上相較于原SSA算法提升約0.03%, 精度方差提升約0.14%, 且用時(shí)上節(jié)省0.17 s.實(shí)驗(yàn)表明本文算法較原SSA算法進(jìn)一步改善了算法優(yōu)化性能與穩(wěn)定性, 加快了算法的迭代收斂速度, 相較于原算法在穩(wěn)定性與收斂速度上表現(xiàn)出明顯優(yōu)勢(shì).
本文從數(shù)據(jù)集中選取了兩幅不同規(guī)模的彩畫圖像進(jìn)行實(shí)驗(yàn), 圖像信息如表3所示.將本文算法與PSO-SVM[11]、GA-PSO-SVM[17]、原SSA-SVM[14]以及PSO-RF進(jìn)行對(duì)比實(shí)驗(yàn).其中基于SVM的算法訓(xùn)練參數(shù)依舊采用2.3小節(jié)的設(shè)置, PSO-RF算法的PSO參數(shù)與PSO-SVM一致, RF的超參數(shù)取值為決策樹棵數(shù)范圍[5, 50], 屬性特征集大小范圍[5, 20].圖像分類結(jié)果的精度評(píng)價(jià)采用總體分類精度與Kappa系數(shù)進(jìn)行評(píng)價(jià), 各算法分類結(jié)果對(duì)比如圖2與表4、表5所示.
表3 實(shí)驗(yàn)圖信息
表4 圖1各算法分類性能對(duì)比
表5 圖2各算法分類性能對(duì)比
圖2 各算法分類結(jié)果
分析表中數(shù)據(jù)可發(fā)現(xiàn), PSO-RF實(shí)驗(yàn)精度僅次于本文算法, 但由于決策樹規(guī)模對(duì)分類效率的影響, 導(dǎo)致其處理效率極其低下.綜合實(shí)驗(yàn)數(shù)據(jù)來(lái)看, 本文算法分割精度最高, 分類效率也優(yōu)于其它對(duì)比算法, 總體分類精度分別高于原SSA算法3.13%與5.87%, Kappa系數(shù)優(yōu)于原算法0.073 8與0.065 8, 迭代次數(shù)與原算法相近的情況下, 分類用時(shí)節(jié)省了2.08 s與1.41 s, 效率提升約27%.
將彩畫分割結(jié)果進(jìn)行矢量化后, 可對(duì)彩畫的圖案、輪廓與色彩信息更加便捷地保存與分析.本文將修正后的分割結(jié)果輸出為類別掩膜, 利用ArcGIS軟件將其轉(zhuǎn)換為矢量面要素, 并進(jìn)行坐標(biāo)校正與適當(dāng)平滑, 可將分割后的柵格信息轉(zhuǎn)換為以*.shp與*.dwg格式保存的矢量數(shù)據(jù)文件.轉(zhuǎn)換結(jié)果如圖3所示.
圖3 圖像矢量化結(jié)果
通過分析上述實(shí)驗(yàn)結(jié)果, 大致可發(fā)現(xiàn)以下問題:
1)本文基于邊界重疊度網(wǎng)絡(luò)搜索超像素分割最優(yōu)參數(shù)的方法極為有效, 可直接做到以樣本最小目標(biāo)尺度進(jìn)行圖像過分割.但由于未加入任何融合策略, 還無(wú)法實(shí)現(xiàn)多尺度分割, 須在今后的研究中加以改善.
2)融合多個(gè)色彩空間低階矩特征的分類結(jié)果有明顯改善, 通過利用分離亮度與色相的lab與YCbCr色彩空間信息, 降低了過曝等圖像噪聲影響.再通過適當(dāng)?shù)奶卣鹘稻S, 可有效提高分類的精度與效率.
3)整體來(lái)看, 本文提出的算法在原SSA算法基礎(chǔ)上, 通過改善種群多樣性與平衡全局與局部搜索能力等措施, 在算法穩(wěn)定性與效率上改進(jìn)效果明顯, 在彩畫分類實(shí)驗(yàn)中表現(xiàn)優(yōu)異.SSA算法屬新型智能優(yōu)化算法, 在具體應(yīng)用上存在大量改進(jìn)空間, 本文部分改進(jìn)思路同樣適用于其它群體智能算法應(yīng)用方向, 并值得深入探究.
4)彩畫圖像分割結(jié)果鋸齒化嚴(yán)重, 需利用合適的平滑方法, 才能得到輪廓平滑且準(zhǔn)確的矢量化結(jié)果, 但本文通過軟件人工設(shè)定平滑參數(shù)的方法較為繁瑣, 難以平衡結(jié)果精度與線條精簡(jiǎn)間的目的沖突, 這是目前研究中需加以改進(jìn)的地方.
本文通過融合多色彩空間顏色矩統(tǒng)計(jì)特征, 改進(jìn)圖像分割與分類算法, 有效地提升了圖像的分割效率與精度, 為古建筑彩畫等古代藝術(shù)的傳承與保護(hù)提供了一種新思路, 為建筑彩畫藝術(shù)研究提供了新工具, 具有一定的研究與應(yīng)用價(jià)值.