基于深度学习的石窟壁画破损检测
2022-05-03张叶娥吴利刚
张叶娥,吴利刚
(1.山西大同大学计算机与网络工程学院,山西 大同 037009;2.山西大同大学机电工程学院,山西 大同 037003)
如今国家对石窟壁画的保护极其重视。石窟壁画富丽瑰奇,绚丽多彩,蕴含着丰富的人文、宗教、经济、生活等史料信息,对于中国文化的传承以及发展都将会有非常巨大的贡献,但现存的壁画长期受自然侵蚀、人为破坏和外界因素的影响,均有不同程度的受损,对壁画的破损检测及保护工作迫在眉睫。随着现代科学技术的发展,将大数据、数字化、机器学习、人工智能算法应用于对壁画的破损检测和保护是数字化文物保护的研究热点。基于深度学习的破损检测算法广泛应用于石窟壁画破损检测,与人工方法相比,对数字图像的石窟壁画破损检测及修复不仅可以降低修复难度,简化修复过程,降低修复过程对壁画本身的破坏性,而且具有检测及修复精度高、处理内容丰富、灵活度高等优势。
近年来,国内外目标检测、识别分类等应用在各领域中多已采用深度学习的方法。然而将深度学习算法结合石窟壁画多用于古代壁画的特征提取、年代识别、图像分类、破损检测、修复还原等。李向宇在壁画的年代识别和破损检测中选取ResNet50作为基础框架并提出新的网络模型,顺利完成了敦煌壁画的年代识别,同时使用语义分割提升检测精度,完成破损检测。[1]崔红艳提出了一种基于Alex Net特征融合的古壁画分类方法,与传统模型和其他的卷积神经网络相比,算法在分类准确率、泛化能力和稳定性上都有很大提升。[2]陈浩月构造新的激活函数应用于卷积神经网络中,并在中国绘画数据集与敦煌壁画数据上分别进行实验,在分类效果上达到了理想的分类效果。[3]曹建芳等人提出了一种融合迁移学习的Inception-v3模型对古代壁画朝代进行识别与分类,[4]在提升识别准确率的同时,增强算法的泛化能力,且没有出现过拟合现象,高效的识别了壁画的所属朝代。陈永等人提出了一种多尺度特征和注意力融合的生成对抗壁画修复深度学习模型,在顺利识别破损壁画的基础上,通过结合不同尺度的信息完成壁画的修复。[5]
AI深度学习算法已经成为图像分析领域的主流方法,在智能化的数据时代下,合理、智能、高效地应用数字化技术、大数据技术、人工智能技术对石窟壁画文物保护有着重要的意义。
一、算法分析
(一)深度学习算法
深度学习的概念源于人工神经网络,作为机器学习的一个独立分支,是指利用深度学习神经网络或者卷积神经网络实现机器学习的一种方法模型。深度学习算法需要大量的数据支撑和强大的算力支持,通过挖掘、提取不同层级的特征来模仿人脑的运行机制,达到深层次提取多特征的目的。深度学习可以比拟成一个智能黑箱,具有自动提取特征和网络结构通用的特点,主要分为数据预处理、训练、测试及部署三个过程;其中数据预处理包括分类、分割和检测。基于深度学习的石窟壁画破损检测主要通过自动识别壁画中的破损区域并进行标记,然后通过分类完成破损类型的鉴别,其中破损类型主要有裂缝破损、脱落破损两大类。
(二)YOLOv5算法分析
人工智能领域中,当下的目标检测多使用YOLO系列完成,其中YOLOv5是一种单阶段目标检测算法,其具有多种网络结构模型,使用起来更加灵活,相较于YOLOv4而言训练精度、检测速度都得到了极大的提升。如图1所示,YOLOv5具有四个通用模块,包括输入端、基准网络、Neck网络和Head输出层,在各个模块中,该网络相较于先前的网络模型都做了诸多的改进。首先,输入端通过一个图像预处理操作,将输入的图像自调节的缩放到网络所需大小并进行归一化处理;然后通过基准网络模块来提取一些通用的特征,在辅以Neck网络进一步完善图像特征的多样性和鲁棒性;最后采用GIOU_Loss函数做Bounding box的损失函数来进一步提升检测精度,通过Head输出端完成目标检测结果的输出。
图1 YOLOv5算法流程
二、石窟壁画数据集的采集与制作
焦山寺位于大同城西约30km的高山镇北,十里河北岸的山坡上。该建筑呈阶梯式,是一座“窟”“寺”结合的寺院,内有焦山寺石窟。但从寺内现存的石窟及其风格看,与云冈石窟晚期雕刻相似。现存寺院的主要建筑即建于嘉靖时期,其顶部的砖塔亦为此间所置。大同市焦山寺三、四层开有石窟,窟内拥有壁画、塑泥。目前,焦山寺石窟面临着裂缝、风化、局部脱落等病害。[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 模型的检测效果图
针对检测结果中存在的极少数检测误差和识别偏差,分析其主要原因是破损壁画的训练数据集相对较少、部分参数调整仍然未达到最佳数值,在后期的实验和测试中将加以优化。
结语
本文针对石窟壁画破损检测的数字化文物保护技术进行了研究,以山西省大同市焦山寺石窟壁画为例,对石窟壁画主要存在的裂缝和脱落病害,提出了基于深度学习的石窟壁画破损检测方法,检测效果较好。与人工检测方法相比,具有智能、高效、生态保护的优势,为石窟壁画文物保护提供了数字化、智能化的研究方法。本方法可扩展石窟壁画文物的风化、污染等其他病害检测。后期将继续研究石窟壁画破损程度与破损位置的检测,为文物保护与修复提供“精细化、精确化、精准化”的智能检测方法。