盧昱杰,劉 博,劉金杉,趙憲忠
(1.同濟大學 建筑工程系,上海 200092;2.同濟大學 工程結構性能演化與控制教育部重點實驗室,上海 200092;3.同濟大學 上海智能科學與技術研究院,上海 200092)
隨著計算機硬件技術的快速發(fā)展以及算力的急速提升,基于計算機視覺原理和深度學習方法的目標檢測技術已經被應用于各行各業(yè),尤其在土木工程的建筑工程領域,深度學習與計算機視覺技術的結合已經為實際生產帶來了諸多便利與革新,如基于目標檢測方法的施工工人安全帽的檢測[1]、基于圖像尺寸識別的裂縫長度與寬度的計算[2]、基于語義分割的滲漏水識別與判別[3-5]以及基于多攝像設備的橋梁撓度計算與預警[6]等。
為更好運用目標識別與檢測技術,專家與學者更多專注于提升檢測效果的研究。提升基于深度學習的目標檢測方法效果的要點包括深度學習模型算法的優(yōu)化和圖像數(shù)據(jù)集的快速、高質量構建。針對深度學習模型算法優(yōu)化,國內外學者已經進行了大量研究[7-8],VGG[9]、R-CNN[10]、ResNet[11]及DetNet[12]等從特征提取器角度進行了迭代與創(chuàng)新,IoU-Net與UnitBox從IoU算法方面進行了優(yōu)化改進,F(xiàn)ocal Loss、Skrinkage Loss及Repulsion Loss對Loss算法進行了改進提升,從基本原理上提升了目標檢測的效率、精度及準確率等。但在快速、有效且高質量構建圖像數(shù)據(jù)集方面,相關研究則剛剛起步。An等[7]提出了基于圖像合成的數(shù)據(jù)集生成概念,通過建模軟件與實體掃描的方式獲取三維模型,后根據(jù)場景進行圖像的采集,該方法首次實現(xiàn)了建筑施工圖像數(shù)據(jù)集的非實際場景生成,開創(chuàng)了合成圖像數(shù)據(jù)集的先河,但復雜的建模過程和單一的圖像背景限制了其使用范圍。
在建筑施工場景下,由于環(huán)境條件所限,多采用人工拍攝、監(jiān)控視頻截取等傳統(tǒng)方式對現(xiàn)場圖像進行采集,難以保證構建圖像數(shù)據(jù)集的高效、低成本以及圖像多樣性。在施工機械圖像數(shù)據(jù)集構建方面,常出現(xiàn)覆蓋機械種類不全、圖像視角不均衡和光照等天氣條件不充分等問題[13]。鑒于此,本文提出一種面向建筑施工機械的深度學習圖像數(shù)據(jù)集構建方法,本質是通過建立的三維模型與多種場景環(huán)境進行組合,利用自動化多方位取景算法快速高效且低成本的收集多樣化圖像并完成掩碼圖的生成,實現(xiàn)施工機械圖像數(shù)據(jù)集的合成與構建。
本文提出的基于三維建模的建筑施工機械圖像數(shù)據(jù)集構建方法主要包含2個步驟:①目標機械三維模型的建立與多視角下機械圖像的采集與掩碼圖像生成;②多環(huán)境下背景圖像與目標機械的融合以及自動標注文件的生成。
完成圖像數(shù)據(jù)集的構建后,基于常用目標檢測模型與框架與現(xiàn)有公開的清華MOCS[7]、阿爾伯塔ACID[14]數(shù)據(jù)集進行數(shù)據(jù)集多維度性能指標和檢測效果的對比。具體技術路線與流程如圖1所示。
圖1 技術路線與流程
主流商用三維建模與動作實現(xiàn)軟件UE4和U3D各具特點。本文選用具有良好插件兼容性與自編代碼植入性的UE4引擎(圖2)與UnrealCV[15]組件作為建模工具,通過自建模型與第三方模型導入相結合的方法實現(xiàn)多種建筑施工機械模型的建立。
圖2 UE4建模引擎界面與功能
采用UE4自行建立場景模型并使用Twinmotion商用施工機械模型進行多環(huán)境的三維模型建立。通過UnrealCV組件與自編代碼實現(xiàn)針對目標機械模型的多角度環(huán)繞取景存圖以及基于規(guī)劃的場景線路進行多視角取景存圖,原理如圖3所示。其中多視角取圖方式是通過Camera組件360°環(huán)繞目標機械并每隔10°取景1張實現(xiàn),取景過程涉及到球面坐標與笛卡兒坐標系的轉換,方法為:
圖3 多視角取景原理
(1)假設三維機械模型中心位置坐標為(x0,y0,z0),建立一個三維坐標系,預設機械模型姿態(tài)(pitch,yaw,roll)的初始值均為0,θ為取景組件Camera與機械模型中心連線與z軸正向夾角,φ為與x軸正向的夾角。
(2)令取景組件Camera的球面坐標的姿態(tài)為(x,y,z,pitch,yaw,roll),則坐標轉換滿足以下條件:
式中:θ每隔5°取一個值(共10組);φ每5°取一個值(共72組),每一個獨立的目標機械將從720個視角進行取景。
圖像數(shù)據(jù)集主要考慮機械姿態(tài)和圖像視角2個因素,部分圖像效果展示見表1。
表1 圖像輸出效果展示
深度學習圖像數(shù)據(jù)集標注的精確度是決定數(shù)據(jù)集質量的一個重要因素[16]。傳統(tǒng)方法是通過人工點擊或框選的方式對真實圖像進行標注,這一過程費時費力且無法保證標注標準的統(tǒng)一性[17]。自動且規(guī)范的標注方法將極大提升工作效率與圖像數(shù)據(jù)集的質量。
本文利用UnrealCV與自編代碼配合UE4模型本身擁有的對象屬性,實現(xiàn)了圖像實例分割的掩碼圖生成。通過百度、谷歌、Bing等網(wǎng)絡搜索引擎,進行不同背景圖像的檢索與保存。為了不引入多余噪聲與干擾,造成假陰性升高、檢出率下降,搜集圖像均不包含挖掘機。利用生成的掩碼圖像分離出挖掘機作為前景,并隨機選擇4種數(shù)據(jù)增強方法(機械大小隨機縮放0.1倍~1.2倍、RGB通道變換、隨機水平翻轉和隨機亮度增強)中的1種或2種,與背景圖像隨機中心點且同mask包圍框大小的圖像進行隨機組合,隨機重復1~3次,得到一張具有包圍框標注的合成挖掘機圖像(圖4)。
為了保證圖像數(shù)據(jù)集前景與背景亮度的一致性,消除合成數(shù)據(jù)的虛假感,本文在包圍框中前景圖像加入雙軸模糊,具體做法為:先獲取原始圖像背景的平均亮度值,然后以包圍框中心前景亮度值為峰值亮度,以包圍框邊緣中心亮度值為最低亮度值,在包圍框縱橫軸分別疊加高斯模糊,合成后的圖像如圖5所示。
為充分展現(xiàn)圖像合成方法制作數(shù)據(jù)集的優(yōu)越性與有效性,首先進行深度學習訓練結果的對比。選用清華大學MOCS數(shù)據(jù)集的EfficientDet-D5[18]模型的目標檢測作為基準訓練,模型輸入尺寸為512×512,并利用水平翻轉和標準化對數(shù)據(jù)進行增強處理,使用COCO預訓練權重,訓練參數(shù)batchsize為16,學習率0.001,分別訓練3個數(shù)據(jù)集60 epochs,使用2塊3090顯卡,共計訓練186 h,精度對比結果見表2。EfficientDet模型深度學習的訓練損失曲線見圖6。
圖6 EfficientDet模型訓練損失曲線
從表2可以看出,采用本文方法建立的數(shù)據(jù)集相比ACID與MOCS數(shù)據(jù)集在多個指標上均呈現(xiàn)出更好的精度,也表明SCED數(shù)據(jù)集質量優(yōu)良。
表2 各圖像數(shù)據(jù)集精度對比
從一個施工現(xiàn)場視頻中分別截取第0、21、189幀圖像(圖7),其中藍色框為檢測出的目標,綠色框為漏檢目標,紅色框為誤檢項目,可見SCED的泛化性能良好。
圖7 目標檢測效果對比
研究表明,圖像中被標注物體的像素尺寸與被標注物體所處位置將影響基于深度學習的目標檢測方法的泛化性能[19]。首先將清華MOCS數(shù)據(jù)集與阿爾伯塔ACID數(shù)據(jù)集進行統(tǒng)一清洗,處理為單一類別,將本文建立數(shù)據(jù)集SCED生成單一類別的標注數(shù)據(jù),按照EfficientDet模型所需數(shù)據(jù)集的格式(COCO格式,訓練集標注在一個json文件,標注框尺寸與左上角坐標均為絕對像素坐標)進行制作。
采用COCO的像素標準對3種數(shù)據(jù)集的目標尺寸進行統(tǒng)計,即小目標尺寸小于32×32,大目標尺寸大于96×96,中等目標介于兩者之間,統(tǒng)計結果見圖8。
圖8 現(xiàn)有數(shù)據(jù)集的目標像素尺寸與位置分布
通常情況下深度學習圖像數(shù)據(jù)集單張圖像中會出現(xiàn)不止一個特征目標物,正確、全面地將每一張圖像中每一個目標物進行標記對圖像數(shù)據(jù)集的質量有正面效果,可以得到更優(yōu)的訓練結果。也正由于這個原因,SCED圖像數(shù)據(jù)集在創(chuàng)建過程就充分考慮了這一“多目標”特性,目標物數(shù)量遠大于圖像數(shù)量。挖掘機單類不同尺寸數(shù)量統(tǒng)計情況如表3所示。需要特別說明的是,ACID(7 000)指的是ACID數(shù)據(jù)集僅將7 000張圖片對外公開。下文將在數(shù)據(jù)集英文名稱后以括號形式表示此處使用某一數(shù)據(jù)集的圖像數(shù)。
表3 挖掘機單類不同尺寸數(shù)量統(tǒng)計
本文生成的圖像數(shù)據(jù)集的目標尺寸分布均勻且多樣(小目標比例較高),目標物在圖像位置分布規(guī)律均勻,這一優(yōu)良特性將大大提升圖像數(shù)據(jù)集的質量,進而提升基于此圖像數(shù)據(jù)集訓練結果的精度。
本文制作的挖掘機數(shù)據(jù)集SCED共10 000張圖像,進行了標注文件的生成,并與清華大學MOCS、阿爾伯塔ACID數(shù)據(jù)集制作時間與成本進行對比,結果如表4所示。可明顯看出,由于可以進行多角度圖像的大批量生成與采集以及掩碼文件的快速生成,在圖像采集、篩選時間與標注綜合成本方面,本文SCED數(shù)據(jù)集優(yōu)勢明顯。
表4 圖像數(shù)據(jù)集工作量對比
在基于計算機視覺與深度學習方法的目標識別與檢測領域,小目標的檢測是一個重點主題,圍繞如何提升小目標的檢測效果,很多專家與學者進行了多種嘗試[20]。本文SCED數(shù)據(jù)集在建立時便充分考慮了小目標檢測問題,在小目標實例比例上相比ACID數(shù)據(jù)集更高。為驗證SCED小目標圖像的質量,將SCED中1 000張小目標圖像隨機替換掉MOCS與ACID數(shù)據(jù)集中的1 000張圖像,同樣依照上文EfficientDet模型的參數(shù)進行訓練,效果展示見表5,得到的精度變化對比情況見表6、7。
表5 MOCS與ACID替換1 000張圖像后的效果
表6 小目標替換后精度對比(ACID)
由于SCED均為挖掘機圖像,與ACID的對比中,替換后的AP0.5和AP0.5∶0.95都有所提升,說明SCED作為挖掘機單一類別圖像數(shù)據(jù)集的優(yōu)質特性。同時,由于替換的圖像均為小目標屬性,所以針對小目標檢測精度的提升更明顯,但由于替換可能造成大目標圖像減少等因素,所以大目標尺寸下AP0.5∶0.95的變化幅度甚微。而由于MOCS圖像數(shù)據(jù)集數(shù)據(jù)量較大,所以每項數(shù)值雖都有提升,但幅度都不明顯。此處也為小目標檢測的優(yōu)化提供了一種思路,即可通過提升有效小目標實例比列來提升檢測效果。
隨著計算機視覺技術與深度學習方法在土木工程領域應用的深入[21],施工現(xiàn)場的檢測技術也逐漸朝著智能化發(fā)展。為快速高質量地建立深度學習圖像數(shù)據(jù)集,以便進一步開展相關檢測與識別的工作,本文依托圖像快速合成技術提出了一種圖像數(shù)據(jù)集構建方法。影響基于深度學習的目標檢測算法效果的因素有很多,從圖像數(shù)據(jù)集的質量分析,主要有:①目標物姿態(tài)的多樣性;②背景(光照、環(huán)境物體)的多樣性;③目標物尺寸的多樣性;④目標物處于圖像位置的均勻性等[23]。本文針對以上因素進行了一定的考慮與優(yōu)化,除此以外,在基于圖像合成方法的圖像數(shù)據(jù)集構建方面,仍有其他因素值得進一步研究。
表7 小目標替換后精度對比(MOCS)
從上文可知,由于多姿態(tài)、多角度目標機械圖像收集及背景圖像替代的便捷性,以及掩碼圖像與標注文件生成的自動化,本文構建的SCED圖像數(shù)據(jù)集從構建綜合成本、圖像豐富性以及圖像質量方面都具有一定進步性,符合本文研究初衷。
同時,本文方法仍然具有進一步改進的空間。針對目標物清晰度方面,本文僅使用基于三維建模引擎建模的方法進行了目標物的構建。該模型與實際機械設備具有一定差異,未來可通過包括三維點云掃描在內的實體建模方法進行模型構建,進一步提升模型的質量,進而提升圖像數(shù)據(jù)集質量。
針對圖像融合方面,現(xiàn)有目標物與背景融合的方法還存在多種不一致性,如外觀不一致與幾何不一致等。這些不一致性將影響圖像的真實性,從而降低圖像數(shù)據(jù)集的總體質量。通過GAN網(wǎng)絡以及其他算法消除亮度、位置和尺寸等不協(xié)調性將對提升圖像數(shù)據(jù)集的質量具有重要意義。
(1)運用三維建模引擎與自編代碼,融合預先獲取的工地現(xiàn)場背景圖像,實現(xiàn)了以挖掘機為目標的圖像數(shù)據(jù)集構建與自動標注結果文件的生成,并構建了一個挖掘機圖像數(shù)據(jù)集SCED。
(2)本文方法生成的挖掘機圖像數(shù)據(jù)集具有目標尺寸比例合理,目標位置分布均勻的特點,相比現(xiàn)有ACID、MOCS數(shù)據(jù)集具有更好的針對性、適用性與泛化性能,綜合構建成本更低。
(3)基于EfficientDet目標檢測算法,對本圖像數(shù)據(jù)集進行了效果驗證,結果表明SCED圖像數(shù)據(jù)集在小目標檢測效果方面具有明顯優(yōu)勢。
(4)本文提出的基于圖像合成深度學習圖像數(shù)據(jù)集快速構建方法可為建筑施工領域其他類型圖像數(shù)據(jù)集的構建提供參考。