王 灃
(福建省建筑工程質(zhì)量檢測中心有限公司)
門窗圖紙有掃描文檔、印刷圖集、CAD電子圖集等多種展現(xiàn)方式,這些格式可統(tǒng)一轉(zhuǎn)換為掃描文檔。本文最終的型材樣本數(shù)據(jù)集為各種圖紙的掃描件。基于深度學(xué)習(xí)的門窗圖紙識別的難點在于數(shù)據(jù)樣本的獲取,也就是圖紙的收集,還有圖紙的標(biāo)注,以及合適的圖像預(yù)處理方式。實現(xiàn)人工智能識別圖紙,有兩種處理方法,圖像分類和目標(biāo)檢測。本文提出的問題需要在同一個圖紙中對多個目標(biāo)分別進行檢測,所以屬于目標(biāo)檢測的范疇。
本文建立了采用回歸算法的深度學(xué)習(xí)模型,即是基于 YOLO網(wǎng)絡(luò)的目標(biāo)檢測模型,針對門窗數(shù)據(jù)樣本不足的問題,使用了GAN網(wǎng)絡(luò)進行遷移預(yù)訓(xùn)練,利用Generator模型生成的圖片數(shù)據(jù),預(yù)訓(xùn)練YOLO模型,同時利用了數(shù)據(jù)增強的方法對數(shù)據(jù)集進行擴增。使用擴增后的數(shù)據(jù)集對模型進行調(diào)整訓(xùn)練,防止模型過擬合情況的發(fā)生,增強檢測網(wǎng)絡(luò)對各種型材的識別能力。
門窗由是各種型材組合而成的一個整體。推拉窗包含上滑、下滑、邊封、上方、下方、光企、勾企,平開窗包含窗扇、窗框、中挺等。本文主要對推拉窗的型材進行識別。如下圖所示,圖(1)展示了邊封,圖(2)為勾企,圖(3)展示了下滑,圖(4)展示了上滑。
本文使用鋁合金型材生產(chǎn)商的門窗圖集,以及門窗檢測工作中收集的門窗三項物理性能檢測圖,制作了鋁合金推拉窗型材數(shù)據(jù)集,數(shù)據(jù)集包含了福建省南平鋁業(yè)股份有限公司、福建省閩發(fā)鋁業(yè)股份有限公司、福州奮安鋁業(yè)有限公司、廣東鳳鋁鋁業(yè)有限公司、廣東興發(fā)鋁業(yè)有限公司、肇慶亞洲鋁廠有限公司、廣東堅美鋁業(yè)有限公司等1200張具有各種尺寸的門窗大樣圖,節(jié)點圖,型材斷面圖的圖紙數(shù)據(jù)。使用Labelimg軟件,通過手動標(biāo)注的方式對門窗圖紙進行型材的位置標(biāo)注,主要標(biāo)注了邊封、勾企、下滑、上滑等型材。
隨著人工神經(jīng)網(wǎng)絡(luò)的不斷進步,在圖像識別領(lǐng)域,利用卷積神經(jīng)網(wǎng)絡(luò)對檢測圖像的特征進行抽取,分類,是現(xiàn)在深度學(xué)習(xí)領(lǐng)域通用做法。其中目標(biāo)檢測算法中,YOLO網(wǎng)絡(luò)通過一個神經(jīng)網(wǎng)絡(luò),端到端就可以實現(xiàn)目標(biāo)的檢測。而在 YOLO之前圖像檢測算法SPP-NET,FAST-RCNN,FASTER-RCNN首先需要依據(jù)候選區(qū)域,統(tǒng)計出很多可能含有識別目標(biāo)的潛在邊框,再識別其中是否包含物體和物體的類別,這樣增加了計算的復(fù)雜性,也耗費了更多檢測時間。
YOLOv3網(wǎng)絡(luò)是YOLO網(wǎng)絡(luò)的最新版本,采用darknet-53或者tiny-darknet作為基礎(chǔ)神經(jīng)網(wǎng)絡(luò)框架,可以輸出多個尺度的特征圖,它借鑒了FPN特征金字塔,分別在尺度為13×13、26×26、52×52的特征圖上對目標(biāo)進行預(yù)測,通過對前述3個尺度特征圖的檢測和張量的拼接,增強了對精細(xì)目標(biāo)的識別能力,因此對神經(jīng)網(wǎng)絡(luò)的整體性能有了很大提升。
YOLOv3的網(wǎng)絡(luò)由很多個包含卷積層、BN層,以及Leaky Relu激活層的基本組件構(gòu)成。對于一張輸入圖像,首先將圖像大小變換為416×416,作為神經(jīng)網(wǎng)絡(luò)的輸入,然后通過基礎(chǔ)神經(jīng)網(wǎng)絡(luò)對圖像進行特征的提取和張量的Add操作,接著對生成的不同尺度的特征圖,進一步進行卷積計算,通過對上采樣后的結(jié)果與前一層得到的結(jié)果進行張量的Concat拼接,再經(jīng)過一系列卷積、批標(biāo)準(zhǔn)化處理、激活等操作之后,在不同尺度特征圖上進行目標(biāo)識別,最后通過檢測層輸出目標(biāo)的位置和類別。
門窗型材由于沒有公共的數(shù)據(jù)集,而通過個人收集標(biāo)注的數(shù)據(jù)集規(guī)模較小,神經(jīng)網(wǎng)絡(luò)無法得到足夠的訓(xùn)練。本文嘗試?yán)蒙墒綄咕W(wǎng)絡(luò)生成新的型材圖紙數(shù)據(jù)集,通過遷移訓(xùn)練應(yīng)用到門窗模型中。
生成式對抗網(wǎng)絡(luò)GAN,通過學(xué)習(xí)輸入的數(shù)據(jù)集分布,然后生成相似性分布的數(shù)據(jù)集。首先給予噪聲變量Z,生成模型通過將它映射為新的數(shù)據(jù)集合,接著由判別模型計算真實數(shù)據(jù)分布與生成數(shù)據(jù)分布之間的近似程度。判別模型訓(xùn)練自身參數(shù)使生成數(shù)據(jù)分布遠(yuǎn)離其分類面,直到最終生成模型輸出的數(shù)據(jù),判別模型無法區(qū)分生成圖像和真實圖像。
本文利用ACGAN對型材數(shù)據(jù)集進行學(xué)習(xí),ACGAN和GAN相比在于:1、輸入數(shù)據(jù)不同,GAN只有噪聲Z作為輸入變量,ACGAN同時需要輸入分類變量。2、輸出數(shù)據(jù)不同,GAN輸出只判斷圖片真假,ACGAN在判斷圖片真假,同時判斷圖片所屬類別。
本文在Keras框架實現(xiàn)ACGAN,首先通過Embedding層的輸出和噪聲進行相乘,然后將型材類別信息融合到噪聲里面。最后使用兩個損失函數(shù)分別對應(yīng)之前的兩個輸出,兩個損失函數(shù)加起來的結(jié)果就是總的損失函數(shù)。
ACGAN訓(xùn)練結(jié)束后,對生成的型材圖像也進行位置標(biāo)注,生成預(yù)訓(xùn)練數(shù)據(jù)集。預(yù)訓(xùn)練型材數(shù)據(jù)集與真實型材圖像非常相近,也分類為上滑、下滑、邊封、勾企等。訓(xùn)練過程中首先使用生成數(shù)據(jù)集對模型進行初始的訓(xùn)練操作,再將訓(xùn)練生成的模型使用真實型材數(shù)據(jù)集進行訓(xùn)練,最后生成型材識別網(wǎng)絡(luò)。
為了防止模型過擬合,需要對訓(xùn)練的鋁合金型材數(shù)據(jù)集進行數(shù)據(jù)增強,通用的做法有:
圖像旋轉(zhuǎn),通過旋轉(zhuǎn)原始圖像,使得圖像中的方向發(fā)生改變。翻轉(zhuǎn)變換,對原始圖像沿著水平或垂直方向進行翻轉(zhuǎn)。縮放變換,對原始圖像按固定的比例進行放大或者變小。平移增強,不變換圖像的形狀和大小,平移原始圖像的方位。尺度變換,是使用圖像Filter變換原始圖像模糊程度或圖像大小,使用一個或多個卷積核,通過卷積操作對圖像進行改變。對比度變換,保持色像H分量不變,改變飽和度S和亮度V,變換對比度。噪聲擾動,對原始圖像的RGB通道增加隨機噪聲,比如添加椒鹽噪聲和高斯噪聲,使圖像產(chǎn)生變化。
本文對標(biāo)注的型材數(shù)據(jù)集數(shù)據(jù)增強使用的方法主要包括圖像旋轉(zhuǎn)、翻轉(zhuǎn)變換、平移增強、亮度對比度變換,噪聲擾動等。
本文中型材識別訓(xùn)練過程如圖(6)所示:

圖(6)型材識別訓(xùn)練過程
經(jīng)數(shù)據(jù)擴增后,原始型材數(shù)據(jù)集及實驗型材數(shù)據(jù)集包含型材類別數(shù)目如表1所示,同時由表1中檢測準(zhǔn)確率數(shù)據(jù)可知,當(dāng)無預(yù)訓(xùn)練步驟時,檢測模型對上滑檢測的平均準(zhǔn)確率為 0.88,對下滑檢測的平均準(zhǔn)確率 0.87,對勾企檢測的平均準(zhǔn)確率0.88,邊封檢測的AP為0.84,模型對窗型材的識別率不高,尤其是對邊封的識別率,由于型材數(shù)據(jù)集樣本不均衡,型材的樣本數(shù)量偏少,模型無法充分學(xué)習(xí)到型材特征,識別效果有限。使用數(shù)據(jù)增強和ACGAN對抗網(wǎng)絡(luò),進行型材數(shù)據(jù)擴增,生成新的型材數(shù)據(jù)集并進行遷移學(xué)習(xí)后,檢測模型對型材檢測的平均準(zhǔn)確率由0.87,提高了10.0%。在識別時間上,兩種模型的圖像的識別時間都是12ms,有很高的識別效率,符合圖紙實時識別的要求,型材識別效果如圖(7)所示。

圖(7)

表1 型材數(shù)據(jù)分布和檢測準(zhǔn)確率

下滑5012000 2000 2000勾企211邊封356
AP統(tǒng)計ACGAN遷移預(yù)訓(xùn)練YOLO模型和無預(yù)訓(xùn)練的原始數(shù)據(jù)模型對型材的檢測平均準(zhǔn)確率(Average Precision,AP),結(jié)果如表2所示。

images/BZ_146_1290_557_1645_600.pngimages/BZ_146_1647_557_1944_600.png YOLOimages/BZ_146_1290_602_1645_645.png images/BZ_146_1647_602_1944_645.png0.88images/BZ_146_1290_647_1645_690.png images/BZ_146_1647_647_1944_690.png0.87images/BZ_146_1290_692_1645_735.png images/BZ_146_1647_692_1944_735.png0.88images/BZ_146_1290_737_1645_780.png images/BZ_146_1647_737_1944_780.png0.84
本文闡述了門窗型材識別方法,包括識別模型的訓(xùn)練,數(shù)據(jù)集擴增和ACGAN對抗模型的訓(xùn)練。實驗結(jié)果表明,基于 YOLO的人工智能型材識別模型,在識別精度上和識別速度上都能獲得非常優(yōu)秀的效果。對型材測試集,進行測試統(tǒng)計,取得了97%的準(zhǔn)確率。未來可以在增加型材訓(xùn)練樣本的多樣性,增加不同的型材類別,提高型材樣本質(zhì)量和數(shù)據(jù)上,進行深入研究。