(1)提出建筑地震损伤识别评估几何约束深度学习框架
我国地域辽阔且地质构造复杂,地震等自然灾害频发,严重威胁城市建筑群服役寿命和人民生命财产安全。震后建筑损伤评估对灾后应急部署及恢复重建至关重要。传统基于结构动力学响应的结构损伤监测与评估方法成本高、维护难且难以准确定位局部损伤位置,而传统人工震害调查方法时效迟滞、评估结果差异大且可抵达区域有限。鉴于城市建筑群地震灾害具有破坏模式、几何形态和空间尺度的多样性与复杂性,常规识别评估方法在真实震后场景普适性较弱。相比动力学加速度等时程信号,图像 / 视频数据为准确评估城市建筑群震后破坏程度提供了新的感知信息来源。为此,本文提出基于计算机视觉的建筑地震损伤识别评估几何约束深度学习框架,开展关联 “建筑群体 - 建筑单体 - 结构构件” 多尺度地震破坏状态识别评估研究。通过融合几何一致性损失和交叉熵损失,提出适用于建筑多尺度损伤识别评估语义分割模型的几何一致性损失函数,该函数中的几何一致性损失通过衡量目标边界和区域几何特征一致性,引导模型逼近最优分割质量,包括分割线长度、分割线曲率、分割区域面积一致性损失,促进复杂形态建筑多尺度地震损伤识别目标的轮廓闭合、边缘平滑和内部连通。同时建立建筑多尺度地震损伤评估框架,采用卫星高空遥感、无人机低空遥感和抵近成像多尺度多源特征图像数据,分别实现大尺度广域建筑群、中尺度区域建筑组、小尺度单体建筑构件的像素级分割与精细化识别评估,进而融合各尺度评估结果实现建筑地震破坏状态等级划分。
(2)基于卫星高空遥感图像的震后建筑评估方法
提出基于卫星高空遥感图像的震后稠密分布小目标建筑精细识别与倒塌状态快速评估方法。搭建震后建筑群识别评估语义分割网络,系统研究几何一致性损失函数的权重系数对模型分割性能的影响规律,分析其在训练过程中的几何特征优化性能和多层级特征提取能力。结果表明,该损失函数具备的几何特征约束特性,使模型在训练过程中实现图像特征的稳定提取并准确、快速地收敛优化,最终显著提升模型对稠密分布小目标的语义分割准确率,实现对具有复杂、模糊边界的震后建筑的高精度识别。该方法对实际地震遥感图像建筑识别与倒塌状态评估的验证交并比为 86.98%。
(3)针对无人机低空遥感图像的建筑评估方法
针对无人机低空遥感图像中震后建筑尺度变化大、形态分布差异明显、目标遮挡问题严重、受复杂天气环境干扰等挑战,提出复杂场景震后建筑识别与破坏状态评估方法。搭建网络参数自适应的编码器 - 解码器网络架构,提出复杂场景多类型天气干扰图像增强方法,并进一步融合几何一致性损失函数实现模型性能优化。结果表明,优化后的网络模型对毁坏、严重破坏和其他三类建筑的验证交并比可达 87.65%。另外,通过融合无人机飞行姿态信息和机载相机内外参数,利用像素 - 图像 - 相机 - 大地多坐标系转换及地理 / 逆地理位置编码解译算法,实现了震后区域建筑位置的准确定位。
(4)震后建筑构件识别与损伤状态评估方法
针对多类型、多损伤状态建筑构件存在类间差异小、类内差异大的特点,提出震后建筑构件识别与损伤状态评估多任务融合方法。搭建包含构件识别语义分割和构件损伤状态评估图像分类任务模块的融合网络,采用几何一致性损失函数和预训练权重冻结策略对多任务融合深度网络模型进行快速模型参数更新优化。结果表明,该方法对构件语义分割和损伤状态分类的验证精度分别可实现 94.74% 和 97.14%。另外,验证了本文所提几何约束深度学习方法对震后建筑多类别构件的语义分割性能。
(5)开发可视化软件系统及验证方法有效性
通过集成建筑多尺度地震损伤识别评估语义分割模型算法,开发建筑多尺度地震损伤识别评估可视化软件系统,分别实现了基于大尺度遥感图像、中尺度无人机低空遥感图像、小尺度构件图像的震后建筑区域识别与倒塌状态评估、建筑群体毁坏 / 严重破坏 / 其他三分类破坏等级评估、多类型以及多损伤状态建筑构件的像素级识别分类。以北川老县城地震遗址为研究对象,验证了本文所提建筑多尺度地震损伤识别几何约束深度学习方法的有效性和准确性。
% 读取图像
image = imread('test_image.jpg');% 转换为灰度图像
grayImage = rgb2gray(image);% 进行边缘检测
edgeImage = edge(grayImage,'canny');% 显示原始图像和边缘检测后的图像
subplot(1,2,1);
imshow(image);
title('Original Image');subplot(1,2,2);
imshow(edgeImage);
title('Edge Detected Image');% 进行图像增强
enhancedImage = imadjust(grayImage);% 显示增强后的图像
figure;
imshow(enhancedImage);
title('Enhanced Image');% 进行图像滤波
filteredImage = medfilt2(grayImage);% 显示滤波后的图像
figure;
imshow(filteredImage);
title('Filtered Image');% 进行图像分割
segmentedImage = imbinarize(grayImage);% 显示分割后的图像
figure;
imshow(segmentedImage);
title('Segmented Image');% 进行形态学操作
se = strel('disk',5);
morphImage = imclose(segmentedImage,se);% 显示形态学操作后的图像
figure;
imshow(morphImage);
title('Morphologically Processed Image');