APP下载

计算机视觉技术在建筑外墙饰面空鼓检测中的应用*

2023-08-12崔晓东范冬梅

施工技术(中英文) 2023年12期
关键词:空鼓墙面温差

崔晓东,杨 霞,范冬梅

(1.上海南康科技有限公司,上海 200030; 2.上海市房地产科学研究院,上海 200031)

0 引言

目前,在建筑外立面检测方面,比较成熟、效率高、应用广泛的检测技术主要为外观检测,并辅助于红外热像法检测。其中,外观检测一般借助于无人机拍摄外观照片。为确保拍摄的可见光照片或红外热像照片的精度能分析出外立面损坏现状,拍摄照片范围不能太大,一般为3~4个楼层。为此,对于高层建筑,现场检测拍摄的可见光及红外照片较多,且呈碎片化状态。一方面,照片数量大,内业分析工作量大;另一方面,外立面不同楼层的照片区分度不高,设计和施工人员很难根据零散的局部照片判断外立面损坏的具体部位及损坏范围和程度,即在检测不给出立面损伤图的情况下,检测结果的可读性较差;而绘制立面损伤图给检测人员带来更多工作量,且直观性较差。

随着城市更新规模的不断扩大,房屋安全检测的作业量也在迅速增加,由此产生大量图像数据需分析处理,这就迫切需要一个更加智能的自动化或半自动化方法加快这一进程。

目前在空鼓检测作业方面主要依据文献[1-3]等相关规范进行,现已有一些对空鼓检测方法的研究。文献[4]提到由北京交通大学研究的空鼓率自动检测装置,使用主动式红外热成像技术,可对空鼓进行无损、远程、有效检测。其基本原理为,空鼓区域相比于正常区域散热要慢得多,使用主动热源对瓷砖表面进行均匀加热时,空鼓区域的表面温度要高于正常区域的表面温度,空鼓区域边界处的温度梯度要明显高于其他区域的温度梯度。文献[5]提到一种基于神经网络的空鼓智能识别检测装置,应用在空鼓检测的技术领域,解决空鼓检测完全依赖人工带来的检测效率低、普及性差的技术问题。

为此,在单张照片处理方面,研究红外照片空鼓自动识别技术,从而提高外立面检测结果的处理效率。在检测结果可读性方面,研究照片拼接技术,在拼接处理过程中,首先处理拍摄角度产生的图片变形问题,即把照片转化为正视照片(拉垂直),然后进行拼接,以东、南、西、北某个立面为单元,把处理后的、呈碎片化的可见光或红外照片拼接在一起,形成某个立面的正视照片,从而将该立面的空鼓等损伤展现在一张正视立面照片上,大大提高检测结果的可读性。

同时,为了进一步提高整幢建筑检测结果的可读性,研究建筑立面三维模型技术及立面贴图技术,首先建立外轮廓三维模型,然后将损伤照片或红外照片通过贴图方式与三维模型有机结合,形成建筑外立面损伤三维展示模型。

本文拟将计算机视觉(computer vision)技术应用于空鼓检测方法的研究。这项技术类似于计算机模拟人的视觉,照相机相当于计算机的“眼睛”,算法则相当于计算机的“大脑”,所以计算机既可 “看”也能 “思考”。

当下,OpenCV是一个被广泛使用的开源的计算机视觉库,在图像识别、视频监控、人工智能等领域具有强大功能。而Python也是时下强势崛起的计算机编程语言,在科学计算、数据挖掘、人工智能等方面具有突出的优势。现在可非常便利地在Python语言中运用OpenCV的模块,将二者的优点充分结合起来解决实际问题。

本文采用“OpenCV+Python”的模式[6]运用计算机视觉技术对建筑外墙饰面空鼓分析进行了探索。

1 方法研究

1.1 基本问题

对于1幢高层建筑,通常需连续多张红外热像图才能完整呈现1面外墙的温度分布,而这些红外热像图在拍摄时必然会随着高度的变化存在偏移、重叠,如拍摄时相机存在倾斜角度或旋转角度,还会因为透视作用导致墙面“变形”。

对于墙面同一位置,如拍摄的时间段不同,其温差也会有较大变化。归结起来,需重点解决以下3个基本问题:

1)红外热像图形变处理问题 一般地,墙面应呈矩形,但由于相机的透视作用,实际拍摄的图像使得矩形墙面呈现近似于梯形的四边形,需将墙面图像还原为矩形。

2)红外热像图连续拼接问题 红外热像分析的对象是整个墙面,但实际的红外热像图是若干张“离散”的图像,需将其还原成单张墙面“连续”的图像。

3)建筑外墙饰面空鼓识别问题 以自动化手段找出墙面上“疑似”空鼓位置。

为此,有必要探究能解决这些问题的计算机算法。在计算机视觉技术中,已有许多较成熟的算法,这些算法的背后通常也有较复杂的数学原理,本文重点强调这些方法如何因地制宜地应用,使之成为帮助提升工作效率和成果质量的有力工具。

在Python语言中,一般都是通过“cv2”模块调用计算机视觉相关的算法和功能,可在代码开始位置用“import cv2”语句引入,然后组合调用“cv2”的相关方法完成特定需求。本研究处理的主要对象是图像,它由指定宽度和高度的连续像素组成,每个像素由取值为0~255的红、绿、蓝3个非负整数分量构成。

本研究所采用的软件工具为OpenCV 4.0,Python 3.9,操作系统为Windows 11。

1.2 墙面红外热像图形变复原方法

将红外成像图中“梯形”墙面还原为实际的“矩形”墙面,是透视变换的相反过程,解决这一问题的方法之一是使用单应性矩阵(Homography matrix)进行变换。

在照相机拍照时,将三维空间坐标(x,y,z)映射到二维平面坐标(x′,y′),这对应1组坐标变换公式,呈现的是具有透视效果的平面图像。单应性矩阵变换则可实现反向过程,把二维平面坐标(x′,y′)“看作”三维空间坐标(x,y,z),再映射到1个新的二维平面上。这个变换过程会同步完成像素的线性插值以保证新图像的连续性。

使用Python语言实现该功能的基本步骤如下。

1)读取图像到变量image。

2)在图像上选取墙面轮廓的4个控制点(坐标单位是像素),放入变量srcPoints数组中。

3)按墙面实际高度和宽度等比例换算像素高度h和像素宽度w,生成墙面的矩形控制点数组dstPoints,包括4个坐标点,左上角为(0,0),右下角为(h-1,w-1),按顺时针顺序排列,即(0,0),(0,w-1), (h-1,w-1),(h-1,0)。

4)调用cv2.getPerspectiveTransform(srcPoints, dstPoints)获得透视变换矩阵matrix。

5)调用cv2.warpPerspective(image, matrix, (h,w))获得变换后结果result。

这段过程作用于图1所示墙面红外热像原始图,在其正面墙面选取4个点,近似构成1个梯形,然后指定1个目标矩形区域,根据这2个变量得到透视变换矩阵,然后实施单应性矩阵变换,得到最终变换后的图像result,如图2所示。

图1 墙面红外热像原始图

图2 还原后的墙面红外热像图

这段代码呈现的是单应性矩阵变换的一般性原理,关键点有2个:①原始图上透视四点的选择,这可借助图像边缘检测技术自动识别,也可采用手动选取方式完成;②目标矩形的选择,需确定合适的宽高比,这可结合实际检测获取真实的墙面宽高数据来解决。

1.3 墙面红外热像图拼接方法

将同一外墙的1组红外热像图拼接成1幅整个墙面,其原理与使用相机拍摄全景照片的过程相似。

图像拼接的一般性原理就是寻找2幅图像间相同或高度相似的特征点,将2幅图像匹配的特征点合并在一起便可完成图像拼接。

在OpenCV的2D特征(feature2d)模块中提供了多种特征点检测方法,在此主要介绍SIFT(scale invariant feature transform,尺度不变特征变换)算法的应用。

SIFT算法具有不随图像尺度旋转变化而变化的特征,即SIFT特征在图像放大、缩小或旋转时不会改变,该方法适合采用无人机搭载可见光相机或手持相机拍摄照片的拼接处理。

使用Python语言实现该功能的基本步骤如下。

1)读取图像A和B到变量imageA,imageB。

2) 分别以imageA和imageB为参数调用子程序detectAndDescribe图像A,B的特征点及特征描述,输出(kpsA,featuresA)和(kpsB,featuresB)。

3)调用cv2.BFMatcher()建立暴力匹配器matcher。

4)调用matcher.knnMatch(featuresA,featuresB,k=2)进行knn检测(k=2),得到匹配数据数组rawMatches。

5)对rawMatches数组中的元素进行筛选,当最近距离跟次近距离的比值小于ratio值(介于0~1,如可选取ratio=0.75)时,保留此匹配对,否则舍弃。

6)当筛选后的匹配对≥4时,从kpsA和kpsB中选取对应坐标点ptsA和ptsB作为输入,调用cv2.findHomography(ptsA, ptsB, cv2.RANSAC, reprojThreshold)计算视角变化矩阵(hmatrix, status),其中cv2.RANSAC 表示使用基于RANSAC(Random Sample Consensus)的鲁棒算法,reprojThreshold是最大允许重投影错误阈值,通常设置在1~10。

7)取imageA的宽度和高度分别为h和w,调用cv2.warpPerspective(imageB, hmatrix, (h,w),flags=cv2.INTER_LINEAR + cv2.WARP_INVERSE_MAP)对imageB进行变换。

8)将imageA和imageB合并。

子程序detectAndDescribe()的实现过程如下(以image为参数)。

1)调用cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)将彩色图片转换成灰度图gray。

2)调用cv2.SIFT_create()建立SIFT生成器descriptor。

3)调用descriptor.detectAndCompute(gray, None)检测SIFT特征点,得到控制点和特征描述(kps, features)并返回。

下面是具体采用SIFT算法进行特征点匹配的例子,展示了原始图像A(见图3a)和B(见图3b),以及特征点匹配结果(见图4)、拼接后的图像(图5)。

图3 原始图像A,B

图4 特征点匹配结果

在实际应用SIFT算法时,进行大批量红外热像图拼接时也会遇到一些困难,主要原因是同一建筑外墙的相似点过多,在不相邻的图像中也会出现匹配的特征点,从而会出现匹配不正确的情况。

如果将SIFT算法与实际检测过程结合起来,可简化此匹配过程。其关键方法在于利用拍摄时采集的无人机位置数据。一般情况下,每张照片都会记录拍照的位置信息(经度、纬度、高度),通过这3个信息可判断不同照片间的相对空间位置关系,从而可为SIFT算法提供一个局部的“视觉窗口”,将特征点限定在此窗口内。举例来说,10楼墙面的特征点区域仅与9楼和11楼的区域重合,而不会与8楼和12楼的区域重合,这样就不会出现跨楼层匹配问题。

1.4 外墙空鼓识别方法

根据CECS 204∶2006《红外热像法检测建筑外墙饰面层粘结缺陷技术规程》,对外墙空鼓的判定主要有以下步骤。

1)确定标准温差 当锤击法确定的显著脱粘空鼓部位与红外热像图上的部位相一致时,应将该部位与周围正常部位的温度差作为标准温差。

2) 依标准进行空鼓判定 以标准温差为基准,对同一种颜色、材质的外墙饰面层进行脱粘空鼓判定:①在现场检测最佳时段拍摄的东、南、西3个立面的红外热像图上,标准温差一般>1℃;②在北立面拍摄的红外热像图上,标准温差一般<0.5℃。

据此可知,标准温差是空鼓判定的关键因素。在人工模式下,可通过实际测量获得标准温差,该技术规程还规定特殊情况下(如墙面关联空调、采暖设备)需通过二次测量,采用图像相减的方法获得标准温差,以排除干扰因素。如使用计算机进行图像分析,也可依据热力统计直方图获得标准温差。

据此可设计采用计算机视觉技术识别空鼓的步骤如下。

1)中值滤波 过滤掉红外热像数据(每个采样点代表1个温度值)中的部分噪声数据,如典型的天空、云朵等背景数据,通常这类温度采样数据数值大幅度低于正常值。

2)单通道灰度化 将滤波后的红外热像数据转成单通道的灰度图像,需完成采样温度范围(如0~50℃)向灰度像素值(0~255)的映射。这一步是必要的,因为计算机视觉技术处理的对象是图像,在图像识别技术中通常需先进行灰度化处理。

3)二值化处理 根据标准温差对灰度图像进行二值化处理,也就是将灰度图像转换成黑白图像,这时高于标准温差的部分呈黑色,低于标准温差的部分呈白色,“疑似”空鼓的墙面将被呈现出来。

4)“疑似”部位标定 所有“疑似”部位可采用计算机边缘检测技术进行轮廓识别,然后予以标定。比较典型的算法是Sobel边缘检测算法。

5)进一步判别 二值化图像呈现的黑色部分不一定都是空鼓,有些可能就是墙体边缘,也可能是不明热源。通常空鼓呈不规则多边形,对于“疑似”部位的轮廓呈现直线形(如高温下的晾衣竿)、矩形(可能是窗或阳台),可排除。对于标准温差大幅度>1℃(东、南、西立面)或0.5℃(北立面),应保留以待查明原因。这一步仍由计算机自动化执行。

6)人工确认 对于计算机给出的“疑似”空鼓识别结果,需人工进行核对,必要时采用锤击法修正。

运行程序后的对比效果如图6和图7所示。对比图6和图7可知,经二值化处理后,墙面上方框部位高出标准温差,属“疑似”空鼓部位,其他部位虽然也有较大区域高出标准温差,但这部分区域是窗和阳台,必要时需更高精度的红外热像图对这部分区域进一步判别。

图6 原始红外热像图

图7 二值化后识别的疑似空鼓部位

2 检验方法

在对外墙饰面空鼓检测的3个基本问题做出探索后,将其解决办法应用于上海市黄浦区和徐汇区的2个具体的外墙饰面空鼓检测项目中,以检验方法的有效性。主要过程如下。

1)外业部分 检测人员通过无人机搭载红外热像仪,在天气晴好时段拍摄建筑外墙获取红外热像数据,同时也拍摄了对应的可见光照片以供必要时核对。每个项目获取的数据量约为1GB字节。

2)自动化分析部分 通过编写计算机程序,整合上述方法,对红外热像图的形变进行复原,并通过拼接技术将多幅红外热像图拼接成整个外墙立面,继而采用中值滤波、灰度化、二值化、边缘检测等技术识别“疑似”空鼓部位。这个过程交由计算机自动化执行,计算机输出的是自动化检测结果清单。

3)人工判定部分 检测人员对自动化检测结果清单进行判定和修正。

4)成果应用部分 将拼接好的红外热像图墙面放入三维模型,可更加直观地展示空鼓检测的结果,如图8所示。

图8 红外热像图在三维场景中的效果

通过这2个项目的验证,可确定计算机视觉技术应用在建筑外墙饰面空鼓检测中的可行性。具体实践表明,采用上述空鼓识别算法得到的疑似空鼓区域(图9红框部分)与人工判定得到的空鼓区域(图10阴影部分)基本一致,更为重要的是,上述大部分过程可通过自动化或半自动化方式进行,这有利于提高检测工作效率。

图9 自动识别的疑似空鼓区域

图10 人工判定的空鼓区域

通过实践检验,也发现有一些细节需考虑,如窗体、晾衣架、树木等对墙面的干扰及低层楼面不利于无人机拍摄等情况会给红外热像数据分析带来一定难度,仍需在后续工作中不断完善和改进。

3 结语

计算机视觉技术正在蓬勃发展,在房屋安全检测领域也会有越来越广泛的应用。除了基于红外热像图和可见光图像的“静态”“延时”建筑外墙安全问题图像识别技术,基于视频流的“动态”“实时”的建筑外墙安全问题视频识别技术也将得到发展。另外,基于机器学习的人工智能能力也可应用到这一领域,可将以往的经验数据转变成知识,推动检测行业发展。

猜你喜欢

空鼓墙面温差
手表与温差
红外热像法检测建筑外饰面层空鼓方法研究
冷暖——老旧小区改造,改变的不止是墙面
北方冬季养猪当心“四差”
温差“催甜”等
建筑施工墙面空鼓成因及防治对策
低级热温差发电器的开发应用研究
水泥砂浆地坪质量控制措施
开关的美丽衣裳
手工字母花卉让墙面与众不同