导读
建筑外立面缺陷检测面临一个棘手的多尺度难题:细小裂缝仅占几个像素,而大面积剥落可能覆盖整面墙------两者的像素比例差异达到数量级水平。现有方法要么只能检测单一缺陷类型,要么局限于特定立面材料。
NTU(南洋理工大学)的Zhou和Tiong提出了一套从无人机采集到自动生成检测报告的完整系统:核心AI模型基于EfficientUNet++架构(U-Net++ + EfficientNet-B5骨干),通过可调batch size和主动学习率策略解决多尺度特征学习问题。在391张真实无人机采集图像的实飞验证中,剥落检测Recall达98.00%,玻璃破损Recall达90.80%,覆盖混凝土、瓷砖、砖石、玻璃四类立面材料。
论文信息
-
**标题:**Defects inspection system for building facades using drones and deep learning method
-
**作者:**Xiaoling Zhou, Robert Lee Kong Tiong
-
**机构:**南洋理工大学土木与环境工程学院、中新国际联合研究院(广州)
-
**发表:**Expert Systems with Applications, Volume 298, Part B, 2026
一、建筑外立面检测的两个核心挑战
建筑外立面长期暴露于环境中,常见缺陷包括剥落(spalling) 、渗水(water seepage) 、裂缝(crack) 和玻璃破损(glass breakage),覆盖混凝土、瓷砖、灰泥、砖石、玻璃等多种材料。传统人工巡检耗时、依赖经验、且高层建筑存在安全风险。
将深度学习引入自动检测时面临两个关键挑战:
**第一,跨材料泛化能力不足。**论文引用的研究表明,在一种材料上训练的裂缝检测模型(如混凝土),迁移到其他材料(如瓷砖)时性能显著下降。现有工作大多集中在单一立面类型上。
**第二,多类缺陷的像素分布极度不均衡。**如Onal和Edis的研究所示,单独检测裂缝可达94-98%的精度,但同时检测两种以上缺陷时精度骤降至40-70%。根本原因在于不同缺陷的像素占比差异巨大------裂缝是细线条结构,玻璃破损则是大面积密集网络,两者对模型的特征学习要求截然不同。
二、EfficientUNet++:用编解码器架构应对多尺度缺陷
架构设计
模型采用EfficientUNet++架构,由三部分组成:
-
编码器:EfficientNet-B5骨干网络,通过复合缩放(compound scaling)同时优化网络深度、宽度和分辨率,在参数量和性能之间取得平衡。其深度可分离卷积有效提取细粒度特征(如细裂缝和小剥落区域)。
-
解码器:U-Net++结构,包含嵌套的密集卷积块和重新设计的跳跃连接。相比标准U-Net,U-Net++的密集连接和增强跳跃连接更好地保留了高层语义信息和低层空间细节,减少编解码器之间的语义鸿沟。
-
损失函数:Dice Loss,直接优化预测区域和真实区域的重叠度,天然适合处理类别不平衡问题------少数类(如裂缝)不会被多数类(如无缺陷背景)淹没。

图片来源于原论文
训练策略:可调batch size + 主动学习率
这是论文解决多尺度问题的核心策略:
-
小batch size(1-2):训练初期使用,让模型聚焦于学习细粒度特征(如细裂缝的线条结构)
-
大batch size(6-8):训练25个epoch后切换,从更广泛的特征范围中学习,促进全局收敛
-
主动学习率:配合Adam优化器,初始值0.001,采用阶梯衰减策略(step decay),在指定间隔动态降低学习率
这种"先精后广"的训练节奏,使模型既能捕捉裂缝这类细线条结构,又能识别大面积剥落和渗水区域。
数据集
训练集674张 ,验证集497张(含剥落140张、渗水105张、裂缝169张、玻璃破损12张),图像来源包括网络公开数据、手机拍摄和无人机采集,覆盖混凝土、瓷砖、灰泥、玻璃、砖石等多种立面材料。所有图像由同一团队工程师通过LabelMe工具进行像素级标注。
三、实验结果:可调batch size如何解决裂缝检测的"消失"问题
不同训练策略对比(验证集,497张)
| 缺陷类型 | 小batch size Recall/Precision | 大batch size Recall/Precision | 可调batch size Recall/Precision |
|---|---|---|---|
| 剥落 | 0.8233 / 0.5139 | 0.8731 / 0.8126 | 0.8648 / 0.7265 |
| 渗水 | 0.8268 / 0.6327 | 0.8640 / 0.6797 | 0.8923 / 0.6273 |
| 裂缝 | 0.7134 / 0.4036 | 0 / 0 | 0.7430 / 0.4439 |
| 玻璃破损 | 0.9672 / 0.7874 | 0.9953 / 0.9172 | 0.9960 / 0.8478 |
| 无缺陷 | 0.9768 / 0.9636 | 0.9812 / 0.9832 | 0.9719 / 0.9828 |
**关键发现:大batch size训练导致裂缝检测完全失效(Recall和Precision均为0)。**原因是大batch size倾向于学习宏观特征,而裂缝作为细线条结构在大batch下被其他类别主导的梯度淹没。小batch size虽能检测裂缝(Recall 0.7134),但在剥落和玻璃破损上精度不足。可调batch size策略结合了两者优势:裂缝Recall恢复至0.7430,同时玻璃破损Recall达到0.9960。
不同骨干网络对比(验证集,497张)
| 缺陷类型 | ResNet-UNet++ R/P | VGG-UNet++ R/P | EfficientUNet++ R/P |
|---|---|---|---|
| 剥落 | 0.7860 / 0.4799 | 0.7699 / 0.4323 | 0.8648 / 0.7265 |
| 渗水 | 0.8821 / 0.2518 | 0.8077 / 0.7486 | 0.8923 / 0.6273 |
| 裂缝 | 0.6782 / 0.3017 | 0.5888 / 0.8021 | 0.7430 / 0.4439 |
| 玻璃破损 | 0.9377 / 0.8662 | 0.9594 / 0.6148 | 0.9960 / 0.8478 |
| 无缺陷 | 0.9361 / 0.9592 | 0.9558 / 0.9506 | 0.9719 / 0.9828 |
EfficientUNet++在所有缺陷类型上均优于ResNet-UNet++和VGG-UNet++。以裂缝为例,EfficientUNet++的Recall为0.7430,比ResNet-UNet++的0.6782高出+0.0648,比VGG-UNet++的0.5888高出+0.1542。
样本外测试集(320张,模型训练完成后用手机采集)
| 缺陷类型 | ResNet-UNet++ R/P | VGG-UNet++ R/P | EfficientUNet++ R/P |
|---|---|---|---|
| 剥落 | 0.7354 / 0.3109 | 0.7312 / 0.3235 | 0.8014 / 0.7279 |
| 渗水 | 0.7717 / 0.2370 | 0.6734 / 0.7741 | 0.7676 / 0.6427 |
| 裂缝 | 0.6494 / 0.2811 | 0.4926 / 0.7234 | 0.7442 / 0.3715 |
| 玻璃破损 | 0.9698 / 0.8184 | 0.9771 / 0.6056 | 0.9972 / 0.8511 |
| 无缺陷 | 0.9163 / 0.9645 | 0.9544 / 0.9539 | 0.9802 / 0.9773 |
样本外数据集的结果与验证集趋势一致,表明模型具备跨数据集的泛化能力。EfficientUNet++在剥落检测上的优势尤为明显:Recall 0.8014,Precision 0.7279,而ResNet-UNet++的Precision仅0.3109。
四、无人机实飞验证:391张真实场景图像的检测表现
论文在AI模型定型后,对玻璃、混凝土和瓷砖三类立面的多栋高层建筑进行了无人机实飞验证,共采集391张图像。由于这些图像未进行像素级标注,评估采用图像级统计(TP/FP/FN人工核验)。
| 缺陷类型 | TP | FP | FN | Recall | Precision |
|---|---|---|---|---|---|
| 剥落 | 98 | 36 | 2 | 98.00% | 73.13% |
| 渗水 | 136 | 21 | 19 | 87.74% | 86.62% |
| 裂缝 | 152 | 14 | 44 | 77.55% | 91.57% |
| 玻璃破损 | 79 | 42 | 8 | 90.80% | 65.29% |
剥落检测Recall最高(98.00%) ,仅2张漏检。裂缝Precision最高(91.57%),误报极少,但Recall偏低(77.55%),44张漏检主要来自远距离或大角度拍摄的细裂缝。玻璃破损Recall较高(90.80%),但Precision偏低(65.29%),42张误报主要来自粗糙表面纹理和玻璃幕墙上的复杂背景图案。
图片来源于原论文
论文对误检原因进行了详细分析:
-
剥落误报:空调外机、阴影、周围植物被误分类为剥落
-
裂缝漏检:远距离和大角度拍摄的细裂缝容易被遗漏
-
渗水误报:玻璃幕墙上的阴影和结构线被误分类为渗水或裂缝
-
玻璃破损误报:粗糙表面纹理被错误识别为玻璃破损
五、总结与思考

本文构建了一套从无人机采集、AI像素级分割到自动报告生成的完整建筑外立面缺陷检测系统。核心AI模型EfficientUNet++通过可调batch size策略解决了多尺度缺陷的像素不平衡问题------特别是避免了大batch size训练下裂缝检测完全失效的现象。在391张真实无人机图像的实飞验证中,四类缺陷均达到较高的检测Recall(77.55%-98.00%),覆盖混凝土、瓷砖、砖石、玻璃等多种立面材料。
-
完整的端到端系统设计具有工程参考价值,从无人机飞行规范(距立面≤10m、尽量平行拍摄)到在线API平台、再到自动Word报告生成,形成了可直接部署的闭环方案。
-
可调batch size的训练策略简单有效,"先小后大"的节奏让模型兼顾细粒度裂缝和大面积剥落,无需复杂的多尺度架构设计,对其他存在多尺度不平衡问题的检测任务有直接参考意义。

