張洪瑞 衛(wèi)文學 車吉鑫 邵婉露
(山東科技大學計算機科學與工程學院 山東 青島 266590)
危房鑒定與改造一直是國家和政府關心的問題,房屋安全事關生命財產安全,必須引起足夠重視。為準確客觀判斷房屋的危險程度,確保其結構安全,政府出臺了《危險房屋鑒定標準》,構件危險性鑒定是房屋基礎及上部結構危險性鑒定的第一步[1-2]。目前為止,房屋的危險性等級鑒定還沒有建立像人臉識別、手寫字體識別一樣的公共數(shù)據(jù)庫,沒用相應的軟件支持構件以及房屋危險性鑒定,鑒定過程需要親自觀察,根據(jù)經驗和相關規(guī)定等得出結論,這樣既存在很大的主觀因素,也給相關實驗工作的可比性帶來巨大困難。因此,提出一個操作簡便、客觀性強的房屋構件危險性鑒定方法對于準確掌握房屋現(xiàn)狀、有效應對自然災害、危房改造等都是十分有意義的。
近年來隨著國家對于民生問題的重視,許多學者致力于房屋危險性鑒定的工作。楊建江等[3]提出的基于層次分析法和模糊理論的危險房屋鑒定方法,采用加權平均型數(shù)學模型,用非對稱貼近度法劃分房屋等級;蘆白茹等[4]提出的基于層次分析法和熵權法組合權重對混凝土結構危險房屋多層次模糊綜合評定方法,通過多層次模糊綜合評價,對鋼筋混凝土結構建筑做出量化評定;蘇煒等[5]利用集對分析理論,對建筑完損狀況及其評價等級進行同異反分析,確定建筑完損狀況的評價等級。以上方法雖然可以用數(shù)學方法對建筑物進行危險性鑒定,但在執(zhí)行過程中,可操作性不強,要求鑒定人員具備一定的科學知識和鑒定經驗[6-7]。另一類方法就是傳統(tǒng)的經驗鑒定法,此類方法含有很大的主觀因素,采用相關儀器設備,通過某些結構的受力獲得相關數(shù)據(jù),過程繁瑣,大量人力物力投入,不適合中國現(xiàn)在大量異地搬遷和房屋改造的現(xiàn)狀[8-9]。
針對于現(xiàn)有方法可操作不高、過程復雜且主觀性太強等問題,本文設計了一種DC-YOLO模型,將目標檢測算法與房屋檢測結合,采用K-means聚類獲得最佳先驗框,引入可變形卷積適應構件裂縫不規(guī)則的特點,擴大網格尺寸以更好地識別小目標,提取《危險房屋鑒定標準》中對于砌體結構構件危險性鑒定的關鍵要素進行實驗,更細致地把構件危險性分為四個等級,更有針對性地對房屋危險性進行鑒定。
YOLO[10]是一種基于回歸的目標識別算法,相比于之前的幾代,YOLOV3識別速度快,只需要做一遍前向預算就能實現(xiàn)目標檢測,識別率大大提高[11-12]。YOLOV3使用了多尺度預測且加入了殘差網絡模塊,因此它對小目標的檢出率大幅度提高。模型使用3×3卷積層提取特征,用1×1卷積層減少計算量[13-14]。
YOLO將輸入圖像分成S×S個單元格,單元格借助于anchor boxes進行邊界框的預測。YOLOV3針對COCO數(shù)據(jù)集和VOC數(shù)據(jù)集,根據(jù)數(shù)據(jù)集特點采用了3個尺度進行目標檢測,每一個尺度都有3個anchor boxes。邊界框的信息采用五元組T(x,y,w,h,c)表示,x、y表示邊界框的橫坐標與縱坐標,w、h表示其寬度和高度,c是置信度,它反映當前邊界框是否包含預測目標及其預測準確性的估計概率,其計算公式為:
c=PO×PIOU
(1)
式中:PO表示邊界框包含預測目標的概率,PIOU表示邊界框與真實目標區(qū)域的重疊面積。當邊界框包含預測目標時,PO=1,否則PO=0。若單元格中包含多個邊界框,則取重疊面積最大的。
傳統(tǒng)的卷積神經網絡存在一個主要難點就是如何讓網絡適應目標的幾何形變。針對此問題,arXiv[15]等提出了可變形卷積,在傳統(tǒng)的卷積神經網絡基礎上引入了學習空間幾何形變的能力,即可變形卷積網絡[16-17]。
可變形卷積的主要思想是在傳統(tǒng)卷積神經網絡中對感受野進行改進,由原來長方形或者正方形變成不規(guī)則的感受野,更符合實際情況的需要。引入的可變形卷積核可以根據(jù)待檢測的目標提取特征,提取目標的輪廓不是標準的矩形,而是以目標的大體輪廓作為卷積核的邊界框,這樣可以最大程度地保留待檢測目標的特征,不會因為邊界框的形狀而造成物體特征信息的丟失或損失。
裂縫本身固有屬性強,裂縫是不規(guī)則的矩形,由于墻體損壞程度不同向各個方向延伸,直接用固定的方塊型卷積提取其特征會使卷積層中的幾何變換能力低效,從而使得識別率降低,數(shù)據(jù)集中存在一定比例的小目標,裂縫大小不同,對網絡的精確性要求高。
DC-YOLO是在YOLOV3的基礎上提出的模型,找到最佳先驗框,擴大網格尺寸,提高對小目標的檢測能力,引入可變形卷積,使得卷積核的形狀適應目標輪廓形狀,解決傳統(tǒng)模型難以適應目標特點的問題。
2.1DC-YOLO結構
DC-YOLO模型結構如圖1所示,它將整個圖像作為輸入,同時輸出檢測到砌體構件的裂縫及其類別(ClassA, ClassB,ClassC,ClassD)。將輸入圖像劃分成S×S個單元格,每個單元格負責落入該單元格的物體,單元格借助于anchor boxs進行邊界框的預測,在13×13、26×26、52×52三個尺度上進行檢測且采用2倍的上采樣使得特征圖在相鄰尺度上傳遞。模型包含27個卷積層、一個全連接層和一個Softmax分類層,設置池化層用以保存原始圖片信息。全連接層輸出維度計算為S×S×(2×5+C),C表示類別數(shù),結合本實驗數(shù)據(jù)集,C取4,因此輸出為1 134維的張量。最后由softmax實現(xiàn)分類功能。

圖1 模型結構圖
其中,3×3的卷積核如圖2所示。

圖2 可變形卷積
3×3卷積核表示為:
R={(-1,-1),(-1,0),…,(0,1),(1,1)}
對于卷積核權重為w,輸入特征圖為x,輸出特征圖為y的p0點,傳統(tǒng)卷積的數(shù)學表示為:
(2)
式中:pn表示區(qū)域R中的任一位置。
DC-YOLO所使用的3×3卷積核,在普通卷積的基礎上引入了一個可以學習特征的位置偏移量Δpn:
(3)
式中:Δpn可表示為:{Δpn|n=1,2,…,N},N∈R。
由于采樣是在不規(guī)則的區(qū)域中進行,會使得偏離層特征點位置不連續(xù),因此采用雙線性插值的方法把任意位置的輸出轉化為連續(xù)的。對式(3)使用雙線性插值得到下式:

(4)
式中:p表示離散的采樣點,q為雙線性插值之后的連續(xù)點集。
砌體構件裂縫有以下特點:存在一定比例的小目標,以中尺度大小的目標居多,檢測目標為不同大小向不同方向延伸的的裂縫,形狀不規(guī)則,對于網絡的精確性要求高。經過實驗發(fā)現(xiàn),網格尺寸的大小對于小目標的檢出率影響很大。DC-YOLO模型在多層卷積之后加入了一個18×18的網格,擴大后的網格尺寸,提高了對小目標的識別能力,同時增加了整個網絡的準確性,可以在同等條件下檢出更精細的目標。之后再通過設置兩個9×9的網絡,在進一步提取特征的同時又輔以1×1卷積層來減少特征空間和計算量。
針對墻縫的特點,結合先驗框數(shù)量與平均交并比(IOU)的關系,如圖3所示,使用K-means聚類[18-19]方法獲得最佳先驗框。K-means聚類的自定義距離度量公式如下式所示,選用box與聚類中心box之間的IOU值作為距離指標。
d(box,centroid)=1-IOU(box,centroid)
(5)

圖3 先驗框與平均交并比的關系
從圖3中可以看出,當boxs的數(shù)量為9時,平均交并比便不再上升,所以取9個先驗框,分別為(10×13)、(13×15)、(16×25)、(30×61)、(50×64)、(65×110)、(115×87)、(155×189)、(367×345)。考慮到數(shù)據(jù)集中中等大小的特征較多,在設置時,側重于中尺度的先驗框大小。采用3個尺度進行檢測,在每個尺度上的每個單元格借助3個先驗框預測3個邊界框。
DC-YOLO使用了均方和誤差作為損失函數(shù),由三部分組成:坐標誤差、IOU誤差和分類誤差,公式如下:
loss=coordError+iouError+classError
(6)
coordError表示坐標誤差,其具體的計算方法為:

(7)

iouError表示IOU誤差,其具體計算方法為:
(8)

classError表示分類誤差,計算方法為:
(9)

由于房屋檢測沒有公開數(shù)據(jù)庫,因此本文實驗所用數(shù)據(jù)均是課題組采集的數(shù)據(jù),如圖4所示。

(a) (b) (c) (d)圖4 數(shù)據(jù)集展示
選取了現(xiàn)在砌體結構危險房屋普遍存在的幾個特征作為實驗的標注依據(jù),分別是:承重墻或柱因受壓產生縫寬大于1.0 mm、縫長超過層高1/2的豎向裂縫;承重墻或柱產生超過層高1/3的多條豎向裂縫;墻或柱因偏心受壓產生水平裂縫;相鄰構件連接處斷裂成通縫。
有害裂縫是指繼續(xù)發(fā)展可能會影響結構性能、使用功能和耐久性的裂縫,對于砌體結構的有害裂縫寬度,我國沒有明確規(guī)定,參考《房屋鑒定標準》中對于墻體裂縫寬度的描述,選取1 mm作為等級劃分的界限,認為裂縫超過1 mm為有害裂縫,根據(jù)實地調研情況,實驗新增加5 mm的劃分界限。
結合國家對于房屋構件的要求和本次實驗等級劃分要求,制定了以下4個級別:
(1) Class A:無危險點。
(2) Class B:有危險點,一般是縫寬小于1 mm的單條水平縫或豎向縫且縫長低于層高1/3,不影響構件主體安全。
(3) Class C:局部危險,存在以上四個特征中的一個特征但縫寬均小于5 mm。
(4) Class D:整體危險,存在以上四個特征中的兩個及以上特征或存在寬大于5 mm的裂縫,構件已不能滿足安全使用要求,存在坍塌風險。
實驗數(shù)據(jù)集包括訓練集2 040張,測試集400張,使用開源工具labelimg對數(shù)據(jù)進行標注,標注的特征為以上四個等級。
實驗選取精確率、召回率和F1值作為評價網絡性能的標準,具體定義如下:
精確率(Precision)表示分為某類的圖片中實際為某類的比例,可以反映對某類分類正確性的判斷能力。
召回率(Recall)表示正確檢測的某類與測試集中存在的某類的比率,可以反映網絡對某類查準能力的大小。
F1值是統(tǒng)計學中用來衡量分類模型精確度的指標,它同時兼顧了精確率和召回率,可以看作是二者的一種加權平均,計算公式為:
(10)
實驗配置如表1所示。

表1 實驗相關配置
網絡訓練時參數(shù)如下:batch為64,max_batches為15 000,采用變學習率的優(yōu)化方法Adam,前13 000次采用的初始學習率為0.001,后2 000次的學習率為0.000 1,為更準確地獲取最佳模型,設置訓練時每1 000次迭代保存一次網絡的權重文件。
表2-表5顯示了YOLO[10]、YOLOV2[20]、YOLOV3[21]、SSD512[22-23]與本文的DC-YOLO模型的分類結果,這些方法均在本實驗數(shù)據(jù)集上進行了訓練與測試。可以看出DC-YOLO模型對各類的分類精確率均達到了0.9以上,召回率均達到了0.87以上,F(xiàn)1值達到了0.9左右,與其他方法相比,都有不同程度的提高。

表2 不同方法對于ClassA的實驗結果

表3 不同方法對于ClassB的實驗結果

表4 不同方法對于ClassC的實驗結果

表5 不同方法對于ClassD的實驗結果
DC-YOLO模型隨著迭代次數(shù)的增加,類別準確率逐漸接近于1,總損失值下降到約0.026 941,平均損失值下降到約0.033 607,所得結果如圖5所示。

圖5 DC-YOLO實驗結果圖
同時,在同一閾值下,DC-YOLO分類準確率高。YOLO、YOLOV2、YOLOV3、SSD512在檢測時不同程度地出現(xiàn)漏檢、重復檢測等問題,DC-YOLO提高了對目標的識別率,減少了漏檢、重復檢測等問題的出現(xiàn),部分檢測結果如圖6、圖7所示。

圖6 傳統(tǒng)方法出現(xiàn)的問題

圖7 DC-YOLO檢測結果
本文提出了DC-YOLO模型以完成對建筑物砌體構件的危險性等級自動化鑒定。本文模型采取三種策略:擴大網格尺寸以更高效地檢測出小目標;利用K-means聚類獲取最佳先驗框;引入可變形卷積學習構件裂縫形變信息。實驗結果表明,模型可以很好地識別數(shù)據(jù)集中的目標,與傳統(tǒng)單一模型相比,取得了較高的分類準確率。該模型為下一步實現(xiàn)危房整體危險性的鑒定奠定了一定的基礎,具有很大的現(xiàn)實意義。