張洪瑞 衛(wèi)文學(xué) 車(chē)吉鑫 邵婉露
(山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 山東 青島 266590)
危房鑒定與改造一直是國(guó)家和政府關(guān)心的問(wèn)題,房屋安全事關(guān)生命財(cái)產(chǎn)安全,必須引起足夠重視。為準(zhǔn)確客觀判斷房屋的危險(xiǎn)程度,確保其結(jié)構(gòu)安全,政府出臺(tái)了《危險(xiǎn)房屋鑒定標(biāo)準(zhǔn)》,構(gòu)件危險(xiǎn)性鑒定是房屋基礎(chǔ)及上部結(jié)構(gòu)危險(xiǎn)性鑒定的第一步[1-2]。目前為止,房屋的危險(xiǎn)性等級(jí)鑒定還沒(méi)有建立像人臉識(shí)別、手寫(xiě)字體識(shí)別一樣的公共數(shù)據(jù)庫(kù),沒(méi)用相應(yīng)的軟件支持構(gòu)件以及房屋危險(xiǎn)性鑒定,鑒定過(guò)程需要親自觀察,根據(jù)經(jīng)驗(yàn)和相關(guān)規(guī)定等得出結(jié)論,這樣既存在很大的主觀因素,也給相關(guān)實(shí)驗(yàn)工作的可比性帶來(lái)巨大困難。因此,提出一個(gè)操作簡(jiǎn)便、客觀性強(qiáng)的房屋構(gòu)件危險(xiǎn)性鑒定方法對(duì)于準(zhǔn)確掌握房屋現(xiàn)狀、有效應(yīng)對(duì)自然災(zāi)害、危房改造等都是十分有意義的。
近年來(lái)隨著國(guó)家對(duì)于民生問(wèn)題的重視,許多學(xué)者致力于房屋危險(xiǎn)性鑒定的工作。楊建江等[3]提出的基于層次分析法和模糊理論的危險(xiǎn)房屋鑒定方法,采用加權(quán)平均型數(shù)學(xué)模型,用非對(duì)稱(chēng)貼近度法劃分房屋等級(jí);蘆白茹等[4]提出的基于層次分析法和熵權(quán)法組合權(quán)重對(duì)混凝土結(jié)構(gòu)危險(xiǎn)房屋多層次模糊綜合評(píng)定方法,通過(guò)多層次模糊綜合評(píng)價(jià),對(duì)鋼筋混凝土結(jié)構(gòu)建筑做出量化評(píng)定;蘇煒等[5]利用集對(duì)分析理論,對(duì)建筑完損狀況及其評(píng)價(jià)等級(jí)進(jìn)行同異反分析,確定建筑完損狀況的評(píng)價(jià)等級(jí)。以上方法雖然可以用數(shù)學(xué)方法對(duì)建筑物進(jìn)行危險(xiǎn)性鑒定,但在執(zhí)行過(guò)程中,可操作性不強(qiáng),要求鑒定人員具備一定的科學(xué)知識(shí)和鑒定經(jīng)驗(yàn)[6-7]。另一類(lèi)方法就是傳統(tǒng)的經(jīng)驗(yàn)鑒定法,此類(lèi)方法含有很大的主觀因素,采用相關(guān)儀器設(shè)備,通過(guò)某些結(jié)構(gòu)的受力獲得相關(guān)數(shù)據(jù),過(guò)程繁瑣,大量人力物力投入,不適合中國(guó)現(xiàn)在大量異地搬遷和房屋改造的現(xiàn)狀[8-9]。
針對(duì)于現(xiàn)有方法可操作不高、過(guò)程復(fù)雜且主觀性太強(qiáng)等問(wèn)題,本文設(shè)計(jì)了一種DC-YOLO模型,將目標(biāo)檢測(cè)算法與房屋檢測(cè)結(jié)合,采用K-means聚類(lèi)獲得最佳先驗(yàn)框,引入可變形卷積適應(yīng)構(gòu)件裂縫不規(guī)則的特點(diǎn),擴(kuò)大網(wǎng)格尺寸以更好地識(shí)別小目標(biāo),提取《危險(xiǎn)房屋鑒定標(biāo)準(zhǔn)》中對(duì)于砌體結(jié)構(gòu)構(gòu)件危險(xiǎn)性鑒定的關(guān)鍵要素進(jìn)行實(shí)驗(yàn),更細(xì)致地把構(gòu)件危險(xiǎn)性分為四個(gè)等級(jí),更有針對(duì)性地對(duì)房屋危險(xiǎn)性進(jìn)行鑒定。
YOLO[10]是一種基于回歸的目標(biāo)識(shí)別算法,相比于之前的幾代,YOLOV3識(shí)別速度快,只需要做一遍前向預(yù)算就能實(shí)現(xiàn)目標(biāo)檢測(cè),識(shí)別率大大提高[11-12]。YOLOV3使用了多尺度預(yù)測(cè)且加入了殘差網(wǎng)絡(luò)模塊,因此它對(duì)小目標(biāo)的檢出率大幅度提高。模型使用3×3卷積層提取特征,用1×1卷積層減少計(jì)算量[13-14]。
YOLO將輸入圖像分成S×S個(gè)單元格,單元格借助于anchor boxes進(jìn)行邊界框的預(yù)測(cè)。YOLOV3針對(duì)COCO數(shù)據(jù)集和VOC數(shù)據(jù)集,根據(jù)數(shù)據(jù)集特點(diǎn)采用了3個(gè)尺度進(jìn)行目標(biāo)檢測(cè),每一個(gè)尺度都有3個(gè)anchor boxes。邊界框的信息采用五元組T(x,y,w,h,c)表示,x、y表示邊界框的橫坐標(biāo)與縱坐標(biāo),w、h表示其寬度和高度,c是置信度,它反映當(dāng)前邊界框是否包含預(yù)測(cè)目標(biāo)及其預(yù)測(cè)準(zhǔn)確性的估計(jì)概率,其計(jì)算公式為:
c=PO×PIOU
(1)
式中:PO表示邊界框包含預(yù)測(cè)目標(biāo)的概率,PIOU表示邊界框與真實(shí)目標(biāo)區(qū)域的重疊面積。當(dāng)邊界框包含預(yù)測(cè)目標(biāo)時(shí),PO=1,否則PO=0。若單元格中包含多個(gè)邊界框,則取重疊面積最大的。
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)存在一個(gè)主要難點(diǎn)就是如何讓網(wǎng)絡(luò)適應(yīng)目標(biāo)的幾何形變。針對(duì)此問(wèn)題,arXiv[15]等提出了可變形卷積,在傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上引入了學(xué)習(xí)空間幾何形變的能力,即可變形卷積網(wǎng)絡(luò)[16-17]。
可變形卷積的主要思想是在傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)中對(duì)感受野進(jìn)行改進(jìn),由原來(lái)長(zhǎng)方形或者正方形變成不規(guī)則的感受野,更符合實(shí)際情況的需要。引入的可變形卷積核可以根據(jù)待檢測(cè)的目標(biāo)提取特征,提取目標(biāo)的輪廓不是標(biāo)準(zhǔn)的矩形,而是以目標(biāo)的大體輪廓作為卷積核的邊界框,這樣可以最大程度地保留待檢測(cè)目標(biāo)的特征,不會(huì)因?yàn)檫吔缈虻男螤疃斐晌矬w特征信息的丟失或損失。
裂縫本身固有屬性強(qiáng),裂縫是不規(guī)則的矩形,由于墻體損壞程度不同向各個(gè)方向延伸,直接用固定的方塊型卷積提取其特征會(huì)使卷積層中的幾何變換能力低效,從而使得識(shí)別率降低,數(shù)據(jù)集中存在一定比例的小目標(biāo),裂縫大小不同,對(duì)網(wǎng)絡(luò)的精確性要求高。
DC-YOLO是在YOLOV3的基礎(chǔ)上提出的模型,找到最佳先驗(yàn)框,擴(kuò)大網(wǎng)格尺寸,提高對(duì)小目標(biāo)的檢測(cè)能力,引入可變形卷積,使得卷積核的形狀適應(yīng)目標(biāo)輪廓形狀,解決傳統(tǒng)模型難以適應(yīng)目標(biāo)特點(diǎn)的問(wèn)題。
2.1DC-YOLO結(jié)構(gòu)
DC-YOLO模型結(jié)構(gòu)如圖1所示,它將整個(gè)圖像作為輸入,同時(shí)輸出檢測(cè)到砌體構(gòu)件的裂縫及其類(lèi)別(ClassA, ClassB,ClassC,ClassD)。將輸入圖像劃分成S×S個(gè)單元格,每個(gè)單元格負(fù)責(zé)落入該單元格的物體,單元格借助于anchor boxs進(jìn)行邊界框的預(yù)測(cè),在13×13、26×26、52×52三個(gè)尺度上進(jìn)行檢測(cè)且采用2倍的上采樣使得特征圖在相鄰尺度上傳遞。模型包含27個(gè)卷積層、一個(gè)全連接層和一個(gè)Softmax分類(lèi)層,設(shè)置池化層用以保存原始圖片信息。全連接層輸出維度計(jì)算為S×S×(2×5+C),C表示類(lèi)別數(shù),結(jié)合本實(shí)驗(yàn)數(shù)據(jù)集,C取4,因此輸出為1 134維的張量。最后由softmax實(shí)現(xiàn)分類(lèi)功能。
圖1 模型結(jié)構(gòu)圖
其中,3×3的卷積核如圖2所示。
圖2 可變形卷積
3×3卷積核表示為:
R={(-1,-1),(-1,0),…,(0,1),(1,1)}
對(duì)于卷積核權(quán)重為w,輸入特征圖為x,輸出特征圖為y的p0點(diǎn),傳統(tǒng)卷積的數(shù)學(xué)表示為:
(2)
式中:pn表示區(qū)域R中的任一位置。
DC-YOLO所使用的3×3卷積核,在普通卷積的基礎(chǔ)上引入了一個(gè)可以學(xué)習(xí)特征的位置偏移量Δpn:
(3)
式中:Δpn可表示為:{Δpn|n=1,2,…,N},N∈R。
由于采樣是在不規(guī)則的區(qū)域中進(jìn)行,會(huì)使得偏離層特征點(diǎn)位置不連續(xù),因此采用雙線性插值的方法把任意位置的輸出轉(zhuǎn)化為連續(xù)的。對(duì)式(3)使用雙線性插值得到下式:
(4)
式中:p表示離散的采樣點(diǎn),q為雙線性插值之后的連續(xù)點(diǎn)集。
砌體構(gòu)件裂縫有以下特點(diǎn):存在一定比例的小目標(biāo),以中尺度大小的目標(biāo)居多,檢測(cè)目標(biāo)為不同大小向不同方向延伸的的裂縫,形狀不規(guī)則,對(duì)于網(wǎng)絡(luò)的精確性要求高。經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn),網(wǎng)格尺寸的大小對(duì)于小目標(biāo)的檢出率影響很大。DC-YOLO模型在多層卷積之后加入了一個(gè)18×18的網(wǎng)格,擴(kuò)大后的網(wǎng)格尺寸,提高了對(duì)小目標(biāo)的識(shí)別能力,同時(shí)增加了整個(gè)網(wǎng)絡(luò)的準(zhǔn)確性,可以在同等條件下檢出更精細(xì)的目標(biāo)。之后再通過(guò)設(shè)置兩個(gè)9×9的網(wǎng)絡(luò),在進(jìn)一步提取特征的同時(shí)又輔以1×1卷積層來(lái)減少特征空間和計(jì)算量。
針對(duì)墻縫的特點(diǎn),結(jié)合先驗(yàn)框數(shù)量與平均交并比(IOU)的關(guān)系,如圖3所示,使用K-means聚類(lèi)[18-19]方法獲得最佳先驗(yàn)框。K-means聚類(lèi)的自定義距離度量公式如下式所示,選用box與聚類(lèi)中心box之間的IOU值作為距離指標(biāo)。
d(box,centroid)=1-IOU(box,centroid)
(5)
圖3 先驗(yàn)框與平均交并比的關(guān)系
從圖3中可以看出,當(dāng)boxs的數(shù)量為9時(shí),平均交并比便不再上升,所以取9個(gè)先驗(yàn)框,分別為(10×13)、(13×15)、(16×25)、(30×61)、(50×64)、(65×110)、(115×87)、(155×189)、(367×345)??紤]到數(shù)據(jù)集中中等大小的特征較多,在設(shè)置時(shí),側(cè)重于中尺度的先驗(yàn)框大小。采用3個(gè)尺度進(jìn)行檢測(cè),在每個(gè)尺度上的每個(gè)單元格借助3個(gè)先驗(yàn)框預(yù)測(cè)3個(gè)邊界框。
DC-YOLO使用了均方和誤差作為損失函數(shù),由三部分組成:坐標(biāo)誤差、IOU誤差和分類(lèi)誤差,公式如下:
loss=coordError+iouError+classError
(6)
coordError表示坐標(biāo)誤差,其具體的計(jì)算方法為:
(7)
iouError表示IOU誤差,其具體計(jì)算方法為:
(8)
classError表示分類(lèi)誤差,計(jì)算方法為:
(9)
由于房屋檢測(cè)沒(méi)有公開(kāi)數(shù)據(jù)庫(kù),因此本文實(shí)驗(yàn)所用數(shù)據(jù)均是課題組采集的數(shù)據(jù),如圖4所示。
(a) (b) (c) (d)圖4 數(shù)據(jù)集展示
選取了現(xiàn)在砌體結(jié)構(gòu)危險(xiǎn)房屋普遍存在的幾個(gè)特征作為實(shí)驗(yàn)的標(biāo)注依據(jù),分別是:承重墻或柱因受壓產(chǎn)生縫寬大于1.0 mm、縫長(zhǎng)超過(guò)層高1/2的豎向裂縫;承重墻或柱產(chǎn)生超過(guò)層高1/3的多條豎向裂縫;墻或柱因偏心受壓產(chǎn)生水平裂縫;相鄰構(gòu)件連接處斷裂成通縫。
有害裂縫是指繼續(xù)發(fā)展可能會(huì)影響結(jié)構(gòu)性能、使用功能和耐久性的裂縫,對(duì)于砌體結(jié)構(gòu)的有害裂縫寬度,我國(guó)沒(méi)有明確規(guī)定,參考《房屋鑒定標(biāo)準(zhǔn)》中對(duì)于墻體裂縫寬度的描述,選取1 mm作為等級(jí)劃分的界限,認(rèn)為裂縫超過(guò)1 mm為有害裂縫,根據(jù)實(shí)地調(diào)研情況,實(shí)驗(yàn)新增加5 mm的劃分界限。
結(jié)合國(guó)家對(duì)于房屋構(gòu)件的要求和本次實(shí)驗(yàn)等級(jí)劃分要求,制定了以下4個(gè)級(jí)別:
(1) Class A:無(wú)危險(xiǎn)點(diǎn)。
(2) Class B:有危險(xiǎn)點(diǎn),一般是縫寬小于1 mm的單條水平縫或豎向縫且縫長(zhǎng)低于層高1/3,不影響構(gòu)件主體安全。
(3) Class C:局部危險(xiǎn),存在以上四個(gè)特征中的一個(gè)特征但縫寬均小于5 mm。
(4) Class D:整體危險(xiǎn),存在以上四個(gè)特征中的兩個(gè)及以上特征或存在寬大于5 mm的裂縫,構(gòu)件已不能滿(mǎn)足安全使用要求,存在坍塌風(fēng)險(xiǎn)。
實(shí)驗(yàn)數(shù)據(jù)集包括訓(xùn)練集2 040張,測(cè)試集400張,使用開(kāi)源工具labelimg對(duì)數(shù)據(jù)進(jìn)行標(biāo)注,標(biāo)注的特征為以上四個(gè)等級(jí)。
實(shí)驗(yàn)選取精確率、召回率和F1值作為評(píng)價(jià)網(wǎng)絡(luò)性能的標(biāo)準(zhǔn),具體定義如下:
精確率(Precision)表示分為某類(lèi)的圖片中實(shí)際為某類(lèi)的比例,可以反映對(duì)某類(lèi)分類(lèi)正確性的判斷能力。
召回率(Recall)表示正確檢測(cè)的某類(lèi)與測(cè)試集中存在的某類(lèi)的比率,可以反映網(wǎng)絡(luò)對(duì)某類(lèi)查準(zhǔn)能力的大小。
F1值是統(tǒng)計(jì)學(xué)中用來(lái)衡量分類(lèi)模型精確度的指標(biāo),它同時(shí)兼顧了精確率和召回率,可以看作是二者的一種加權(quán)平均,計(jì)算公式為:
(10)
實(shí)驗(yàn)配置如表1所示。
表1 實(shí)驗(yàn)相關(guān)配置
網(wǎng)絡(luò)訓(xùn)練時(shí)參數(shù)如下:batch為64,max_batches為15 000,采用變學(xué)習(xí)率的優(yōu)化方法Adam,前13 000次采用的初始學(xué)習(xí)率為0.001,后2 000次的學(xué)習(xí)率為0.000 1,為更準(zhǔn)確地獲取最佳模型,設(shè)置訓(xùn)練時(shí)每1 000次迭代保存一次網(wǎng)絡(luò)的權(quán)重文件。
表2-表5顯示了YOLO[10]、YOLOV2[20]、YOLOV3[21]、SSD512[22-23]與本文的DC-YOLO模型的分類(lèi)結(jié)果,這些方法均在本實(shí)驗(yàn)數(shù)據(jù)集上進(jìn)行了訓(xùn)練與測(cè)試??梢钥闯鯠C-YOLO模型對(duì)各類(lèi)的分類(lèi)精確率均達(dá)到了0.9以上,召回率均達(dá)到了0.87以上,F(xiàn)1值達(dá)到了0.9左右,與其他方法相比,都有不同程度的提高。
表2 不同方法對(duì)于ClassA的實(shí)驗(yàn)結(jié)果
表3 不同方法對(duì)于ClassB的實(shí)驗(yàn)結(jié)果
表4 不同方法對(duì)于ClassC的實(shí)驗(yàn)結(jié)果
表5 不同方法對(duì)于ClassD的實(shí)驗(yàn)結(jié)果
DC-YOLO模型隨著迭代次數(shù)的增加,類(lèi)別準(zhǔn)確率逐漸接近于1,總損失值下降到約0.026 941,平均損失值下降到約0.033 607,所得結(jié)果如圖5所示。
圖5 DC-YOLO實(shí)驗(yàn)結(jié)果圖
同時(shí),在同一閾值下,DC-YOLO分類(lèi)準(zhǔn)確率高。YOLO、YOLOV2、YOLOV3、SSD512在檢測(cè)時(shí)不同程度地出現(xiàn)漏檢、重復(fù)檢測(cè)等問(wèn)題,DC-YOLO提高了對(duì)目標(biāo)的識(shí)別率,減少了漏檢、重復(fù)檢測(cè)等問(wèn)題的出現(xiàn),部分檢測(cè)結(jié)果如圖6、圖7所示。
圖6 傳統(tǒng)方法出現(xiàn)的問(wèn)題
圖7 DC-YOLO檢測(cè)結(jié)果
本文提出了DC-YOLO模型以完成對(duì)建筑物砌體構(gòu)件的危險(xiǎn)性等級(jí)自動(dòng)化鑒定。本文模型采取三種策略:擴(kuò)大網(wǎng)格尺寸以更高效地檢測(cè)出小目標(biāo);利用K-means聚類(lèi)獲取最佳先驗(yàn)框;引入可變形卷積學(xué)習(xí)構(gòu)件裂縫形變信息。實(shí)驗(yàn)結(jié)果表明,模型可以很好地識(shí)別數(shù)據(jù)集中的目標(biāo),與傳統(tǒng)單一模型相比,取得了較高的分類(lèi)準(zhǔn)確率。該模型為下一步實(shí)現(xiàn)危房整體危險(xiǎn)性的鑒定奠定了一定的基礎(chǔ),具有很大的現(xiàn)實(shí)意義。