張葉娥,吳利剛
(1.山西大同大學計算機與網絡工程學院,山西 大同 037009;2.山西大同大學機電工程學院,山西 大同 037003)
如今國家對石窟壁畫的保護極其重視。石窟壁畫富麗瑰奇,絢麗多彩,蘊含著豐富的人文、宗教、經濟、生活等史料信息,對于中國文化的傳承以及發展都將會有非常巨大的貢獻,但現存的壁畫長期受自然侵蝕、人為破壞和外界因素的影響,均有不同程度的受損,對壁畫的破損檢測及保護工作迫在眉睫。隨著現代科學技術的發展,將大數據、數字化、機器學習、人工智能算法應用于對壁畫的破損檢測和保護是數字化文物保護的研究熱點?;谏疃葘W習的破損檢測算法廣泛應用于石窟壁畫破損檢測,與人工方法相比,對數字圖像的石窟壁畫破損檢測及修復不僅可以降低修復難度,簡化修復過程,降低修復過程對壁畫本身的破壞性,而且具有檢測及修復精度高、處理內容豐富、靈活度高等優勢。
近年來,國內外目標檢測、識別分類等應用在各領域中多已采用深度學習的方法。然而將深度學習算法結合石窟壁畫多用于古代壁畫的特征提取、年代識別、圖像分類、破損檢測、修復還原等。李向宇在壁畫的年代識別和破損檢測中選取ResNet50作為基礎框架并提出新的網絡模型,順利完成了敦煌壁畫的年代識別,同時使用語義分割提升檢測精度,完成破損檢測。[1]崔紅艷提出了一種基于Alex Net特征融合的古壁畫分類方法,與傳統模型和其他的卷積神經網絡相比,算法在分類準確率、泛化能力和穩定性上都有很大提升。[2]陳浩月構造新的激活函數應用于卷積神經網絡中,并在中國繪畫數據集與敦煌壁畫數據上分別進行實驗,在分類效果上達到了理想的分類效果。[3]曹建芳等人提出了一種融合遷移學習的Inception-v3模型對古代壁畫朝代進行識別與分類,[4]在提升識別準確率的同時,增強算法的泛化能力,且沒有出現過擬合現象,高效的識別了壁畫的所屬朝代。陳永等人提出了一種多尺度特征和注意力融合的生成對抗壁畫修復深度學習模型,在順利識別破損壁畫的基礎上,通過結合不同尺度的信息完成壁畫的修復。[5]
AI深度學習算法已經成為圖像分析領域的主流方法,在智能化的數據時代下,合理、智能、高效地應用數字化技術、大數據技術、人工智能技術對石窟壁畫文物保護有著重要的意義。
深度學習的概念源于人工神經網絡,作為機器學習的一個獨立分支,是指利用深度學習神經網絡或者卷積神經網絡實現機器學習的一種方法模型。深度學習算法需要大量的數據支撐和強大的算力支持,通過挖掘、提取不同層級的特征來模仿人腦的運行機制,達到深層次提取多特征的目的。深度學習可以比擬成一個智能黑箱,具有自動提取特征和網絡結構通用的特點,主要分為數據預處理、訓練、測試及部署三個過程;其中數據預處理包括分類、分割和檢測?;谏疃葘W習的石窟壁畫破損檢測主要通過自動識別壁畫中的破損區域并進行標記,然后通過分類完成破損類型的鑒別,其中破損類型主要有裂縫破損、脫落破損兩大類。
人工智能領域中,當下的目標檢測多使用YOLO系列完成,其中YOLOv5是一種單階段目標檢測算法,其具有多種網絡結構模型,使用起來更加靈活,相較于YOLOv4而言訓練精度、檢測速度都得到了極大的提升。如圖1所示,YOLOv5具有四個通用模塊,包括輸入端、基準網絡、Neck網絡和Head輸出層,在各個模塊中,該網絡相較于先前的網絡模型都做了諸多的改進。首先,輸入端通過一個圖像預處理操作,將輸入的圖像自調節的縮放到網絡所需大小并進行歸一化處理;然后通過基準網絡模塊來提取一些通用的特征,在輔以Neck網絡進一步完善圖像特征的多樣性和魯棒性;最后采用GIOU_Loss函數做Bounding box的損失函數來進一步提升檢測精度,通過Head輸出端完成目標檢測結果的輸出。

圖1 YOLOv5算法流程
焦山寺位于大同城西約30km的高山鎮北,十里河北岸的山坡上。該建筑呈階梯式,是一座“窟”“寺”結合的寺院,內有焦山寺石窟。但從寺內現存的石窟及其風格看,與云岡石窟晚期雕刻相似?,F存寺院的主要建筑即建于嘉靖時期,其頂部的磚塔亦為此間所置。大同市焦山寺三、四層開有石窟,窟內擁有壁畫、塑泥。目前,焦山寺石窟面臨著裂縫、風化、局部脫落等病害。[6]本文針對石窟壁畫出現的脫落、破損、裂縫等病害,進行石窟壁畫文物保護研究。
基于深度學習的石窟壁畫破損檢測在檢測模型的訓練前期需要大量的壁畫數據集,并且數據集制作的精準性影響后期模型的訓練以及破損檢測的效果。
石窟壁畫具有不可再生性、獨特性和唯一性,這決定了其保護與修復前對破損探查分析技術必須是精確無誤的;壁畫領域的檢測與修復有其特定的含義,必須綜合考慮多種因素,特別是歷史因素與壁畫自身的特點與風格。本研究對焦山寺石窟的壁畫進行收集和整理,采用高清相機和圖像掃描儀進行無接觸采集。使用高清相機采集的焦山寺壁畫,通過壁畫的采集發現焦山寺的壁畫藝術文化水平較高、壁畫細致精美,能夠達到項目所需的壁畫需求標準。
石窟壁畫的破損類型參差不齊,在實際采集過程中,需要考慮對壁畫的無接觸采集,通過非接觸式開展壁畫采集,最大程度的避免對壁畫造成破損。通過綜合運用多種采集技術與掃描設備,有效開展壁畫的破損定位與檢測,并為最終的檢測和修復提供科學依據。
由于石窟壁畫的歷史特殊性、罕見性和差異性,因此在壁畫數量匱乏、破損程度不同的情況下,通過拼接、旋轉、裁剪等方法來擴充數據集就顯得非常關鍵。石窟壁畫數據集的采集主要通過現場實地采集來完成,使用高清相機和立體圖像掃描儀獲得有殘缺或者破損的壁畫。本次實驗采集的原始高清壁畫有200張,雖然YOLOv5具有自適應照片縮放的功能,但是為保證破損檢測模型訓練的效果,通過裁剪、補光等手段使得照片大小全部為512×512×3,且補光角度與壁畫亮度最佳。通過旋轉、篩選以后具有破損且可用于制作數據集的壁畫照片總共有900張,其中根據實驗需求,分為訓練集720張、驗證集180張。最后,預留15張未經處理且與訓練集和驗證集無交集的原始破損壁畫照片,用于測試破損檢測模型的可靠程度和訓練的精準性。
針對900張破損壁畫的數據集,使用LabelImg來完成數據集的制作、分類并標記相應的標簽;裁剪以后的部分破損壁畫如圖2所示。在使用LabelImg標記數據集的過程中,每標記一個矩形破損區域就會在相應的文本文件中自動保存4個相對數值,分別代表該矩形區域的4個拐點坐標,如果在同一石窟壁畫中標記多個破損區域或者破損類型,則會在文本文件中出現該標記區域的第二組坐標,依此類推;在標記的過程中,要盡量做到標記無誤、分類準確,爭取在每個標記的矩形區域中沒有重復部分。最后,值得注意的是,制作的數據集和標簽需分置在不同的文件夾和對應路徑中,同樣也需要一一相對應的命名。

圖2 數據集的采集與制作
完成制作的數據集可以應用于樣本的訓練與測試,通過樣本測試可以檢測調研中所采集的壁畫圖片的精準性與實用性,數據標簽的制作也影響破損檢測的準確性,數據集標簽的制作越精準,所產生的測試效果也愈加的滿意,在檢測訓練模型中所給出的準確度也就越高,破損檢測的準確性受標簽制作和訓練過程的影響。
在基于深度學習的石窟壁畫破損檢測過程中,深度學習的過程可以看作是所給壁畫圖像穿越黑箱的過程,在這個過程中,圖像需要經歷多次的特征提取和人工神經網絡的自我學習,訓練完成以后在輸出文件中會得到破損檢測模型的各項權重參數,其中包括最佳訓練權重、末次訓練權重、訓練效果圖以及訓練過程中的各項參數收斂曲線。石窟壁畫破損檢測訓練模型的精準性和可靠性可以通過訓練結果和輸出參數反映。
在破損檢測訓練前期,根據石窟壁畫的破損檢測實際應用性和現實需求性,根據檢測需求選擇YOLOv5-x訓練網絡,并在參數配置.yaml文件夾中明確破損檢測分類和標簽名,其中破損檢測分類分為裂縫破損(Crack damage)和脫落破損(Fall off damage)。在石窟壁畫破損模型訓練過程中,數據集自身制作的準確性、訓練集和驗證集的合理分配、訓練的次數和訓練網絡中各項參數的調整都會影響整體的訓練結果和訓練模型。因此,在本次破損檢測實驗中設定合理的參數至關重要。然而,在檢測模型可靠性的過程中,同樣需要設定一定的參數,其中置信度(Conf)這一參數表示訓練模型在測試的過程中檢測結果是否輸出的臨界參數值,該數值的大小在模型訓練可靠性的基礎上直接影響輸出結果的準確性。具體的石窟壁畫破損檢測流程如圖3所示。

圖3 破損檢測流程圖
本次實驗在Windows 10專業版64位以及Core i9-10900k@3.7GHz,NVidia GeForce RTX 3080硬件下完成,通過python 3.8.5進行測試。通過YOLOv5-x網絡在對900張破損的石窟壁畫數據集進行訓練以后得到的石窟壁畫破損檢測模型,在本次實驗中,參數Epoch設置為500,Batch size設置為16。訓練過程中損失函數曲線如圖4所示。

圖4 損失函數曲線
模型訓練精度P與置信度Conf之間的關系如圖5所示。在圖5展示的基于深度學習的石窟壁畫破損檢測模型中,訓練精度曲線隨著置信度的增加而增加。在模型訓練過程中的第一階段,模型精度曲線在低置信度區間(0.0-0.1)內經歷了急速陡升階段,置信度相對較低,訓練模型不可靠;在中期第二階段(0.1-0.9)中,模型精度曲線相對穩定,此時的訓練模型效果最佳,置信度的取值取決于實際的應用需求;而在高置信度區間(0.9-1.0)內,訓練模型精度達到最高,但是在該區間內,理論依據可以達到極佳的效果,訓練效果受到模型訓練次數和數據集的影響,模型在迭代500次后仍然會存在小范圍的波動,但是基本穩定在0.6-0.7的范圍內。由此可以看出,相對合理的置信度取值是判斷一個模型可靠性的重要因素。

圖5 模型訓練精度曲線
訓練過程檢測精度曲線如圖6所示。在訓練過程中,使用不同的精度指標對模型的可靠性進行檢測,其中,mAP@0.5是當預測框與真實框的交并比IOU為0.5時計算每一個被檢測類別的AP值,然后根據所有類別的精度求平均,即所獲得的mAP值;mAP@0.5:0.95是指 IOU 閾值為 0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95時的 mAP,再此過程中IOU的數值越高,即設定的閾值也越高,所獲得的精度值也就越低。

圖6 訓練過程檢測精度曲線
在本次實驗中,通過YOLOv5-x訓練好的實驗模型針對破損壁畫進行多次的檢測實驗,圖6中的檢測時間依次為:0.028s、0.019s、0.023s、0.027s、0.033s、0.025s、0.017s、0.020s、0.018s、0.018s、0.022s、0.019s。使用小面積局部破損壁畫訓練模型并在大面積全幅壁畫中驗證,對石窟壁畫破損檢測的準確度高達93.6%,實驗結果如圖7所示。

圖7 模型的檢測效果圖
針對檢測結果中存在的極少數檢測誤差和識別偏差,分析其主要原因是破損壁畫的訓練數據集相對較少、部分參數調整仍然未達到最佳數值,在后期的實驗和測試中將加以優化。
本文針對石窟壁畫破損檢測的數字化文物保護技術進行了研究,以山西省大同市焦山寺石窟壁畫為例,對石窟壁畫主要存在的裂縫和脫落病害,提出了基于深度學習的石窟壁畫破損檢測方法,檢測效果較好。與人工檢測方法相比,具有智能、高效、生態保護的優勢,為石窟壁畫文物保護提供了數字化、智能化的研究方法。本方法可擴展石窟壁畫文物的風化、污染等其他病害檢測。后期將繼續研究石窟壁畫破損程度與破損位置的檢測,為文物保護與修復提供“精細化、精確化、精準化”的智能檢測方法。