盧佳祁, 姚志東*, 莊浩然
(1.中冶建筑研究總院(深圳)有限公司, 深圳 518055; 2.深圳市建筑幕墻智能檢測工程技術(shù)研究中心, 深圳 518055)
近年來,當(dāng)城市遭遇臺風(fēng)等強(qiáng)風(fēng)天氣時,因未關(guān)閉開啟窗所導(dǎo)致的開啟窗吹落事件屢見不鮮,嚴(yán)重危害了人身安全與公共安全。2017年5、6月份,深圳市建筑門窗幕墻學(xué)會對既有幕墻的調(diào)研中發(fā)現(xiàn),窗扇尺寸大于1 m2幕墻項(xiàng)目都出現(xiàn)過窗扇墜落現(xiàn)象,其中多數(shù)是在刮臺風(fēng)時窗扇沒有鎖閉被吹掉。《玻璃幕墻工程技術(shù)規(guī)范》(JGJ 102—2003)[1]中12.1.4規(guī)定:“6級以上風(fēng)力時,應(yīng)全部關(guān)閉開啟窗”,而臺風(fēng)的瞬時風(fēng)力可達(dá)10級以上,2018年的臺風(fēng)“山竹”最大風(fēng)力甚至達(dá)到了17級,在10級風(fēng)力的作用下,開啟窗單個撐擋承受的拉力約為3 500 N[2], 遠(yuǎn)超《建筑門窗五金件 撐擋》(JG/T 128—2007)[3]規(guī)定的:“開啟扇撐擋開啟到預(yù)設(shè)位置,承受窗扇開啟方向1 000 N的力、關(guān)閉方向600 N的力”,因此,在強(qiáng)風(fēng)壓作用下,處于開啟狀態(tài)的開啟窗撐擋等五金件極易發(fā)生斷裂與失效,是開啟窗脫落的主要原因。因此,在強(qiáng)風(fēng)天氣下,及時發(fā)現(xiàn)并關(guān)閉開啟窗對于幕墻建筑的安全管理至關(guān)重要。
在臺風(fēng)來臨前,物業(yè)等樓宇管理部門一般都采用人工巡檢的方法觀察開啟窗是否關(guān)閉,然而這種檢查方法有較大弊端:①對于高層建筑或者整個園區(qū)的樓宇檢查的工作量較大,效率較低;②檢查的實(shí)時性無法保證,開啟窗可能隨時被打開;③在樓宇外進(jìn)行檢查時,無法馬上確認(rèn)開啟窗所對應(yīng)的業(yè)主房間號,也就無法及時通知相應(yīng)的業(yè)主關(guān)閉開啟窗。因此,有必要建立一套開啟窗啟閉狀態(tài)安全監(jiān)測系統(tǒng)。深圳市福田區(qū)住建局所建立的“福田區(qū)既有建筑智慧管理系統(tǒng)”,在對開啟窗的管理上,通過對每扇開啟窗部署物聯(lián)網(wǎng)電子傳感器感知開啟窗的開關(guān)狀態(tài),并通過無線網(wǎng)絡(luò)將信息傳給管理系統(tǒng),在臺風(fēng)來臨前,管理人員可以通過系統(tǒng)查詢未關(guān)閉的開啟窗,并及時通報給相關(guān)業(yè)主關(guān)閉開啟窗,極大提高了管理效率。據(jù)深圳市福田區(qū)住建局統(tǒng)計,2018年“山竹”臺風(fēng)吹落了福田區(qū)多棟建筑開啟扇,而該管理系統(tǒng)投入使用至今,無一扇開啟扇被吹落。但是,這種部署大量傳感器的方式需要投入的設(shè)備成本與維護(hù)成本較高,經(jīng)濟(jì)性較差。
近年來,數(shù)字圖像處理技術(shù)與深度學(xué)習(xí)技術(shù)在建筑的智能運(yùn)維上發(fā)揮了重要作用,實(shí)現(xiàn)了“降本增效”的目的,如建筑的缺陷檢測[4]與故障分析診斷[5]等問題。
文獻(xiàn)[6]通過圖像識別窗口開啟大小分析對室內(nèi)溫度的影響,該方法首先使用透視變換對樓宇外立面進(jìn)行圖像校正,再通過分析開啟窗區(qū)域像素值判斷窗口開啟區(qū)域,然而,該方法在使用透視變換校正時,采用人工選取參考點(diǎn)的方式,自動化程度有待提升,此外,窗口狀態(tài)識別的誤差主要來源于像素閾值的選取,其識別的魯棒性也有待進(jìn)一步提升。文獻(xiàn)[7]通過深度學(xué)習(xí)的目標(biāo)檢測網(wǎng)絡(luò)模型Faster-RCNN(faster region convolutional neural network)[8]對開啟狀態(tài)開啟窗的側(cè)面與底部開口間隙進(jìn)行識別,并獲得了比較高的精度,然而該方法需要在室內(nèi)進(jìn)行圖像采集,無法批量識別大量開啟窗狀態(tài)。
現(xiàn)提出一種基于計算機(jī)視覺與深度學(xué)習(xí)技術(shù)的幕墻開啟窗檢測方法,使用采集的樓宇外立面的全景圖像,基于語義分割卷積神經(jīng)網(wǎng)絡(luò)[9]輸出的掩碼圖像,可自動提取用于外立面圖像校正的參考點(diǎn),使用分類卷積神經(jīng)網(wǎng)絡(luò)[10]判斷校正幕墻外立面各固定位置開啟窗開閉狀態(tài),建立開啟窗的圖像位置與房間號映射關(guān)系表,便于快速確定開啟窗房間位置,為了提高夜間弱光環(huán)境的識別精度,還采用了光照增強(qiáng)的方法提高了圖像質(zhì)量。
采用廣角照相機(jī)從樓宇底部采集外立面的全景影像,相機(jī)與外立面的垂直距離不宜過近,否則無法采集到開啟窗開啟狀態(tài)的有效特征信息。為了提高模型的泛化性與魯棒性,需要采集一定數(shù)量的外立面圖像作為模型訓(xùn)練集與測試集,同時對數(shù)據(jù)樣本進(jìn)行標(biāo)注,標(biāo)注的結(jié)果是一張二值化圖像,其中外立面區(qū)域像素值為255,其他區(qū)域像素值為0。該數(shù)據(jù)集包含不同時間段、不同天氣與不同光照條件下的數(shù)據(jù)。
獲取幕墻外立面掩碼區(qū)域的描述如下。
(1)使用訓(xùn)練圖像樣本及標(biāo)簽,基于U-Net[11]語義分割卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行模型訓(xùn)練,由于原始圖像分辨率較高,為了提高模型訓(xùn)練效率,將圖像縮小成512×512分辨率。U-Net是一種編解碼結(jié)構(gòu)的全卷積網(wǎng)絡(luò),輸出的掩碼圖像與輸入圖像同尺寸相同?!疤鴮舆B接”將相同尺寸的淺層特征圖與深層特征圖進(jìn)行疊加融合,通過淺層紋理特征與深層抽象特征融合的方式可以提高分割區(qū)域的精細(xì)度。
(2)將原始圖像進(jìn)行預(yù)處理后,輸入到訓(xùn)練好的U-Net神經(jīng)網(wǎng)絡(luò)中,輸出幕墻外立面掩碼圖像,所構(gòu)建的U-Net外立面語義分割網(wǎng)絡(luò)模型如圖1所示。輸出的特征圖經(jīng)過Sigmoid激活函數(shù)后輸出[0,1]的值,再乘以255轉(zhuǎn)換成一張與輸入圖像大小相同的灰度圖像。
由于攝像頭位于建筑底部,高層建筑位置越高,物距越遠(yuǎn)目標(biāo)就越小,將采集的原始幕墻外立面的畸變圖像校正成正常比例的圖像有兩個目的:①由于遠(yuǎn)離鏡頭的建筑外立面在圖像中尺寸較小,不利于目標(biāo)檢測模型的識別,通過圖像校正還原了建筑外立面的正常比例,間接放大了遠(yuǎn)離鏡頭的外立面尺寸,突出了開啟窗特征,可提高開啟窗識別的準(zhǔn)確性;②有效排除非玻璃幕墻外立面的背景信息,提高后期開啟窗識別精度。
Conv(·)為卷積,卷積操作有5個參數(shù),分別是輸入通道數(shù)、輸出通道數(shù)、卷積核尺寸、卷積步長與填充像素; Up_Conv(·)為反卷積,參數(shù)含義與Conv(·)相同,用于上采樣;BN(·)為卷積層批歸一化操作; Droupout(·)為卷積層隨機(jī)失活的正則化操作;LeakyReLU(·)為卷積層激活函數(shù)圖1 幕墻外立面感興趣區(qū)域分割網(wǎng)絡(luò)模型Fig.1 Segmentation network model of the region of interest on curtain wall
1.3.1 基于Harris的幕墻外立面角點(diǎn)檢測
首先將1.2節(jié)得到的掩碼圖像進(jìn)行放大,放大的尺寸應(yīng)接近原始圖像尺寸,放大成4 500×4 500分辨率,同時將原始圖像尺寸也調(diào)整成放大后的掩碼圖像尺寸,這樣操作可以保證圖像質(zhì)量,有利于提高后續(xù)開啟窗識別精度。
由于得到的掩碼圖像排除了大部分干擾角點(diǎn)信息,因此可以輕松準(zhǔn)確地找出期望的角點(diǎn)坐標(biāo)。在掩碼圖像上使用Harris算法檢測每個檢測幕墻外立面的4個角點(diǎn),Harris 角點(diǎn)檢測分為如下4個步驟[12]。
步驟1計算掩碼圖像的Harris矩陣M,其計算公式為
(1)
式(1)中:I(x,y)為圖像中(x,y)點(diǎn)的像素值;w(x,y)為基于二元高斯函數(shù)的窗口函數(shù)。
步驟2計算角點(diǎn)度量值c,其計算公式為
c(x,y)=det(M)-k[trace(M)]2
(2)
式(2)中:det(·)為行列式算子;trace(·)為矩陣的跡;k為常量,取0.04。
步驟3保留c(x,y)大于閾值T的點(diǎn)。選擇的高斯窗口尺寸為9×9,閾值T=qmax[c(x,y)],其中q為控制閾值系數(shù),q=0.01。
步驟4由于分割的掩碼圖像的4個角點(diǎn)非標(biāo)準(zhǔn)角點(diǎn),類似曲率半徑很小的圓弧,因此,真實(shí)角點(diǎn)周圍會檢測到多個角點(diǎn),采用K-means++[13]聚類法對得到的所有角點(diǎn)的位置坐標(biāo)(x,y)進(jìn)行聚類,要求聚為4類,最終聚類的4個中心點(diǎn)為外立面的4個角點(diǎn)坐標(biāo),圖2為幕墻外立面角點(diǎn)檢測結(jié)果示意圖。
1.3.2 基于透視變換的幕墻外立面畸變校正
透視變換[14]是計算機(jī)視覺常用的扭曲圖像透視校正方法,可通過透視變換矩陣H將圖像從一個視平面(x,y,1)面投影到另一個視平面(x′,y′,1),可表示為
(3)
利用1.2.1節(jié)檢測到的4個角點(diǎn)坐標(biāo)和預(yù)設(shè)的4個標(biāo)準(zhǔn)參考點(diǎn)坐標(biāo)求出透視變換矩陣H,標(biāo)準(zhǔn)參考點(diǎn)的設(shè)定應(yīng)盡量還原正常外立面的比例。對調(diào)整后的原始圖像按照式(3)進(jìn)行校正。示例中存在兩個幕墻外立面,因此,兩個外立面需要分別通過透視變換矩陣H1和H2進(jìn)行各自的變換校正,將校正后圖像進(jìn)行裁剪,即為幕墻外立面感興趣區(qū)域圖像,圖3為幕墻外立面校正示意圖。
從圖3可以看出,校正后的幕墻外立面感興趣區(qū)域中的開啟窗排列分布規(guī)則,對于特定的建筑,開啟窗在圖像中位置與大小是已知的,因此,可以直接根據(jù)預(yù)先標(biāo)注的區(qū)域裁剪出每個開啟窗圖像,再通過分類卷積神經(jīng)網(wǎng)絡(luò)判斷出開啟窗的開閉狀態(tài)。未采用如YOLOV4(you only look once version 4)[15]等的目標(biāo)檢測算法來定位開啟窗位置的原因在于:原始圖像尺寸太大,導(dǎo)致模型參數(shù)過多,一般計算機(jī)硬件難以支撐,縮小圖像又會減小清晰度,影響檢測精度[16]。
圖2 掩碼圖像角點(diǎn)檢測Fig.2 Detecting corners of mask image
圖3 幕墻外立面校正Fig.3 Curtain wall facade correction
在校正后幕墻外立面圖像上,對所有開啟和關(guān)閉狀態(tài)的開啟窗區(qū)域進(jìn)行裁剪,并將裁剪后的圖像縮放成64×64分辨率,將開啟狀態(tài)的開啟窗作為正樣本,關(guān)閉狀態(tài)開啟窗作為負(fù)樣本,正負(fù)樣本比例設(shè)為1∶1。
為了提高夜間的識別效果,采用文獻(xiàn)[17]的方法對夜間采集的圖像進(jìn)行增強(qiáng)處理,該方法優(yōu)化了圖像局部對比度,增強(qiáng)了低強(qiáng)度像素,同時又避免了高強(qiáng)度像素的極度增加,方法具體步驟描述如下。
步驟1首先使用對數(shù)縮放函數(shù)對黑暗圖像進(jìn)行處理得到圖像I1,該函數(shù)可以估計出人類視網(wǎng)膜所實(shí)現(xiàn)的效果,可表示為
(4)
式(4)中:X為輸入圖像。
步驟2將圖像X重新輸入到一個指數(shù)函數(shù)中得到圖像I2,該函數(shù)可以改進(jìn)局部對比度,同時削弱圖像中的高強(qiáng)度像素。
I2=1-exp(-X)
(5)
式(5)中:exp為指數(shù)函數(shù)。
步驟3將I1和I2通過對數(shù)圖像處理模型LIP(logarithmic image processing)組合起來得到圖像I3,使I3具有I1和I2兩者特性。
(6)
式(6)中:λ為控制增強(qiáng)過程的常數(shù),避免出現(xiàn)不合適的像素強(qiáng)度,這里將λ設(shè)為3。
步驟4此時,I3的亮度仍然較低,需要進(jìn)一步增強(qiáng)以突出更多的細(xì)節(jié)特征,這里采用改進(jìn)的雙曲正割分布的累積分布函數(shù)CDF-HSD(cumulative distribution function of hyperbolic secant distribution)提高圖像黑暗區(qū)域亮度得到圖像I4。
I4=erf{αarctan[exp(I3)]-0.5I3}
(7)
式(7)中:erf為誤差函數(shù);α為控制增強(qiáng)量,α越大亮度越高,取α=5。
此時I4的像素值分布仍然被限制在有限的動態(tài)范圍內(nèi),而且圖像看起來很白。因此,采用歸一化函數(shù)線性縮放像素值。
(8)
式(8)中:I5為最終的圖像增強(qiáng)結(jié)果。
圖4 圖像增強(qiáng)前后對比Fig.4 Comparison of before and after the image enhancement
幕墻外立面圖像增強(qiáng)效果如圖4所示,盡管增強(qiáng)后的圖像與白天采集的圖像質(zhì)量仍有一定差距,但圖像的邊緣特征明顯增強(qiáng)了,有利于提高后續(xù)開啟窗識別精度。
使用訓(xùn)練圖像樣本及標(biāo)簽,基于ResNet-18[18]卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行模型參數(shù)訓(xùn)練。ResNet采用了殘差跳躍結(jié)構(gòu),解決了由于網(wǎng)絡(luò)加深所導(dǎo)致的梯度彌散的問題,使模型更加容易訓(xùn)練,ResNet-18與其他模型相比,其速度和準(zhǔn)確性上具有良好的性能,ResNet-18網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示,包含有17個卷積層(包含8個跳躍連接)、全局平局池化層Avgpool、全連接層fc和Sigmoid層,最終輸出開啟窗狀態(tài),這些層的基本原理詳見文獻(xiàn)[19]。
圖5 基于ResNet-18的開啟窗狀態(tài)分類網(wǎng)絡(luò)模型Fig.5 The architecture of theResNet-18-based window status classification module
檢測之前,在校正后的幕墻外立面圖像上,對每個開啟窗位置進(jìn)行標(biāo)注,開啟窗位置記為[X1,Y1,X2,Y2],4個參數(shù)代表框選開啟窗的矩形框的左上角橫縱坐標(biāo)和右下角橫縱坐標(biāo),同時對每個開啟窗位置綁定房間號,建立開啟窗的圖像位置信息與房間號映射關(guān)系表。檢測時,根據(jù)標(biāo)注的開啟窗矩形框?qū)⒚總€開啟窗裁剪出來,并統(tǒng)一縮放成64×64分辨率,然后批量輸入到訓(xùn)練好的開啟窗狀態(tài)分類模型中,得到每個開啟窗的開閉情況,同時給出開啟狀態(tài)開啟窗所對應(yīng)的房間號。
3.1.1 數(shù)據(jù)集制作
本實(shí)驗(yàn)針對廣東省深圳市南山區(qū)某寫字樓的一側(cè)幕墻外立面使用帶有廣角鏡頭的可見光相機(jī)采集了500張圖像,其中350張作為訓(xùn)練集,50張作為驗(yàn)證集,100張作為測試集,一張幕墻外立面圖像含有開窗258扇,每幅圖像經(jīng)過微調(diào)后的分辨率為4 500×4 500。首先需要對數(shù)據(jù)集進(jìn)行標(biāo)注,標(biāo)注的數(shù)據(jù)集分為如下兩類。
(1)對幕墻外立面圖像進(jìn)行標(biāo)注,標(biāo)注的結(jié)果為外立面的掩碼圖像,用于U-Net語義分割模型的訓(xùn)練。為了提高模型的泛化能力,使用透視變換、直方圖均衡化、加高斯噪聲、隨機(jī)遮擋等方式進(jìn)行數(shù)據(jù)增強(qiáng)[20]。由于顏色特征非必要特征,將訓(xùn)練圖像進(jìn)行灰度化,即轉(zhuǎn)換成單通道圖像。
(2)對開啟窗圖像進(jìn)行標(biāo)注,標(biāo)注的結(jié)果為開啟窗的開閉類型,用于ResNet-18分類模型的訓(xùn)練。共有80 000張樣本,其中60 000張樣本作為訓(xùn)練集,驗(yàn)證集與測試集各10 000張,其中正樣本(開啟狀態(tài))40 000張,負(fù)樣本(關(guān)閉狀態(tài))40 000張,圖像縮放成64×64分辨率,為了增強(qiáng)模型的泛化性,同樣需要對樣本進(jìn)行數(shù)據(jù)增強(qiáng),增強(qiáng)方式包含:左右翻轉(zhuǎn)、色調(diào)飽和度亮度(hue & saturation & value,HSV)變化、轉(zhuǎn)灰度、gamma變換、加高斯噪聲與隨機(jī)遮擋等。
3.1.2 試驗(yàn)環(huán)境
試驗(yàn)的計算機(jī)程序基于Pytorch深度學(xué)習(xí)框架與OpenCV計算機(jī)視覺庫,使用Python編程語言實(shí)現(xiàn)。計算機(jī)試驗(yàn)環(huán)境:CPU采用Intel(R)Xeon(R)3106,GPU采用NVIDIA Quadro 5000,操作系統(tǒng)為Win10。
3.1.3 模型訓(xùn)練
U-Net卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練時,采用Adam優(yōu)化器,每次訓(xùn)練的樣本數(shù)batchsize=32,初始學(xué)習(xí)率為0.001;ResNet-18卷積神經(jīng)網(wǎng)絡(luò)采用Adam優(yōu)化器,batchsize=64,初始學(xué)習(xí)率為0.001;由于兩個神經(jīng)網(wǎng)絡(luò)模型的輸出函數(shù)均為Sigmoid激活函數(shù),因此訓(xùn)練使用的損失函數(shù)使用二元交叉熵?fù)p失函數(shù)。訓(xùn)練時,當(dāng)損失函數(shù)輸出的損失值趨于穩(wěn)定時,將學(xué)習(xí)率降低為0.000 1繼續(xù)訓(xùn)練,當(dāng)驗(yàn)證集準(zhǔn)確率不再升高時保存訓(xùn)練好的模型參數(shù)。
3.2.1 評價指標(biāo)
U-Net語義分割網(wǎng)絡(luò)模型采用交并比IOU作為評價指標(biāo),ResNet-18分類網(wǎng)絡(luò)模型采用精確率P、召回率R、F1值作為評價指標(biāo),指標(biāo)計算公式分別為
(9)
(10)
(11)
(12)
式中:A和B分別為標(biāo)簽掩碼圖像與語義分割圖像的面積;A∩B表示兩者的交集面積;A∪B表示兩者的并集面積;TP、FP和FN分別為分類結(jié)果的真陽數(shù)、假陽數(shù)和假陰數(shù);P為正樣本被正確歸類數(shù)量與被歸類為正樣本數(shù)量的比值;R為正樣本被正確歸類的數(shù)量與實(shí)際正樣本數(shù)量的比值;F1為P和R的綜合評價指標(biāo)。
3.2.2 試驗(yàn)結(jié)果
圖6舉例展示了白日陰天場景與黑夜場景兩種光照下的外立面語義分割效果,圖6(a)為白日陰天場景原圖,圖6(d)黑夜場景亮化后圖像,從圖6(b)、圖6(c)與圖6(e)、圖6(f)為圖6(a)與圖6(d)對應(yīng)的標(biāo)簽圖像、分割圖像,可以看出,語義分割的魯棒性較高,可以有效提取外立面的掩碼圖像。最終評價指標(biāo)分別為IOU=94.12%,由于這里只針對指定幕墻建筑進(jìn)行訓(xùn)練,因此像素歸類精度較高。
基于ResNet-18的幕墻開啟狀態(tài)分類模型評價指標(biāo)如表1所示??梢钥闯?,白天陰天場景和黑夜場景識別精度均達(dá)到了較高水平,黑夜亮化場景相比于白天陰天場景精度略低,而黑夜未亮化場景精度最差。開啟窗錯誤識別結(jié)果示例如圖7所示,錯誤的識別結(jié)果均由于開啟窗開啟范圍過小而誤識別成了關(guān)閉狀態(tài),黑夜場景下,雖然進(jìn)行了亮化增強(qiáng),但部分開啟窗開啟區(qū)域依然比較模糊,誤識別情況也就更加突出。
該方法的運(yùn)算時間如表2所示,方法中比較耗時的步驟包括:亮化增強(qiáng)、開啟窗剪裁、U-Net語義分割與ResNet-18分類,其他步驟時間可忽略不計,上述4個步驟耗時1.01 s,表明該方法可以有效保證開啟窗狀態(tài)檢測的實(shí)時性。
圖6 基于U-Net的幕墻外立面分割結(jié)果Fig.6 Segmentation result of curtain wall facade based on U-Net
表1 分類模型評價結(jié)果Table 1 Evaluation results of the classification model
圖7 開啟狀態(tài)誤識別為關(guān)閉狀態(tài)Fig.7 The open state is misrecognized as the closed state
表2 運(yùn)算時間Table 2 Operation time
提出一種基于計算機(jī)視覺與深度學(xué)習(xí)技術(shù)的幕墻開啟窗檢測方法,用于大風(fēng)天氣來臨前指導(dǎo)管控人員及時發(fā)現(xiàn)并關(guān)閉開啟窗。得出如下結(jié)論。
(1)基于U-Net語義分割法提取的外立面掩碼區(qū)域圖像,有利于準(zhǔn)確地對外立面圖像進(jìn)行畸變校正。
(2)基于ResNet-18的卷積神經(jīng)網(wǎng)絡(luò)可以對開啟窗開閉狀態(tài)進(jìn)行準(zhǔn)確判斷。
(3)亮化增強(qiáng)法可以改善夜間開啟窗狀態(tài)識別準(zhǔn)確率。
(4)下一步可通過超分辨率重建的方法進(jìn)一步提高圖像質(zhì)量,進(jìn)一步提升夜間識別精度。
(5)對于開啟窗開啟范圍較小而導(dǎo)致的誤識別問題,下一步需要增加小范圍開啟窗的訓(xùn)練數(shù)據(jù)量,使模型更多地學(xué)習(xí)這類樣本并提高對這類樣本的辨識度。