董正山 張嶸禹 陳夢靖 龔福梓 徐 霖
(閩江學院數學與數據科學學院,福建福州 350000)
施工單位需要對工程工期進行監督并完成質量把控。執行監督檢查工作時,需要投入大量的時間和人力,如檢查某工作面或場地內鋼筋使用是否合格。技術人員需要結合項目進度以及鋼筋的設計量、技術方式、操作成果等內容對“實地成果”進行人工復核并完成登記。若施工節奏與設計進度脫節,很容易導致工序混亂,甚至無法對需要監督檢測的內容進行有效控制。
文章通過對視頻、圖片進行分析,利用大數據技術,圖像識別技術,完成了對項目進程與人工數量自動識別的算法研究以及相關軟件開發項目中的目標檢測方案。
計算機視覺技術領域中,目標檢測技術的應用價值較高且技術延展性良好,目標檢測可以看作圖像分類與定位的結合,即給定一張圖片,識別出圖形的分類并將其定位,由于圖片中可能存在多種需要分類的目標物,并存在多種干擾因素(如圖源點陣分布、顏色拾取等),因此圖片的靜態檢測較比動態檢測的難度更大,基礎邏輯更為復雜。
本研究致力于實現一個有效的目標檢測系統,可以有效應用于圖源信息檢測,為建筑施工作業的監督和管理提供便利,實現精準化管理,提高工作效率,降低管理成本。
目標檢測技術主要分為基于特征分類與基于深度學習的自識別分類兩種,基于特征分類的方法需要人工設計特征提取器,并利用提取的特征訓練分類器,從而完成檢測,例如基于梯度直方圖(histogram of oriented gradient,HOG)和支持向量機(support vector machine,SVM)的實時檢測系統[1]。
特征分類通過對紋理特征提取,提高檢測效率,但泛化性較差,運算復雜程度高,限制了實際的應用范圍[2]。基于深度學習的方法,需要預先建立圖像訓練庫作為深度學習的模型,利用卷積神經網絡從圖像像素中學習所需要的特征,通過對特征進行訓練得到檢測模型,最后達到自動檢測識別[3]。基于深度學習的方法需要針對不同的場景單獨訓練模型,將特征提取和分類融合組織在同一框架內,以提高模型的訓練速度以及目標檢測的準確率[4]。目前的技術中,效果較優的目標檢測框架有yolo,Mask R-CNN,Faster R-CNN以及RetinaNet等,文章采用的yolov3檢測框架,在運行速度、實時性需求以及檢測結果精確度均表現優良。
yolov3框架參考SSD和ResNet網絡結構,使用Darknet-53 作為特征提取的主要網絡,由于Darknet-53沒有常用的池化層和全鏈接層,只在卷積層后搭載Leaky-ReLU激活函數,因此它對于特征圖尺寸的修改都是通過卷積層來實現[5]。yolov3結構如圖1所示。

圖1 yolov3結構
residual使用殘差結構。在第一層殘差結構,其輸入為20820864,經過3211和6433的卷積后,生成的特征圖與輸入數值完成疊加。將疊加后的特征圖作為新的數值并輸入到下一層。yolov3的主體就是由多個殘差模塊組合而成,以此減小梯度爆炸的風險,強化網絡的學習能力。殘差結構如圖2所示。

圖2 殘差結構
yolov3共有3個輸出尺度(單位poi),分別為52×52,26×26,13×13。每個輸出尺度之間均存在鏈接關系。13×13尺度輸出用于檢測大型目標,26×26尺度輸出用于中型目標,52×52尺度輸出用于檢測小型目標。yolov3 在13×13、26×26 和52×52三種尺度下進行特征圖融合與預測,得到Y1、Y2和Y3三次采樣輸出結果。yolov3采樣輸出運行邏輯如圖3所示。

圖3 yolov3采樣輸出運行邏輯
研究內容主要服務于施工進程的智能化管理,并為自動識別能力提供數據分析模塊。該模塊以終端感知數據(如攝像頭拍攝數據)為支撐,構建施工階段自動識別和作業面維護監測功能。管理者在進行現場檢查和監管時,系統能夠直觀給出指定作業面的施工階段。施工進程自動識別智能化管理方案如圖4所示。

圖4 施工進程智能化管理方案
特征提取的目的是對單位作業面內的每一個階段的進度進行監督,并對施工質量進行把控。為了能夠準確地分辨出每一階段的不同特征,需要對各階段內的特征值進行準確提取,為了提高準確性,項目使用圖形圖像注釋工具Labellmg對大量的工地實時數據進行標注,將匯總后的8 000張數據按9/1的比例分成7 200張訓練數據和800張測試數據,僅對訓練數據標記標簽,并進行訓練,以此節省訓練時間,提高效率,便于后續處理[6]。數據集標準成果如圖5所示。

圖5 數據集標準成果
項目配置Intel(R)Xeon(R)Silver 4210 CPU@2.20 GHz 2.19 GHz(雙處理器),機帶RAM為256 GB,RTX 2080ti,win10操作系統的平臺作為實驗環境。
yolov3模型基于darknet-53架構,其訓練模型通過不斷迭代刷新架構參數,通過訓練大量樣本數據為神經網絡提供學習素材,使神經網絡提取的特征能夠不斷地接近預期輸出。
模型訓練期間創建具有9個錨點和11個類的yolov3模型。輪次(epoch)為200次,每個epoch進行100次迭代。神經網絡模型的參數更新一次即完成一次迭代。當每次迭代的loss變化不大并趨于收斂時即可得到最終的訓練模型。loss曲線進行訓練后將變得平緩不再下降。模型訓練結果(損失曲線)如圖6所示。

圖6 模型訓練結果(損失曲線)
模型的評價指標采用漏檢數(無法檢測出作業面目前進程的圖片)、檢錯數(檢測實驗中錯誤的數量)、總錯誤數(總錯誤數為漏檢數和錯檢數的總和),采用準確率百分比作為工地進程算法的評價指標,公式如下:

從8 000張圖片數據中抽取800張作為測試集,在800張數據中得到數據的漏檢數以及錯檢數,并計算總錯誤數和準確率。結果表明,此方案能夠滿足工地進程識別的準確率,且平均檢測速度達到了23 fps,滿足實時性要求。
為了實現作業面施工進程的自動識別,有效節約人力物力,文章構建了基于yolov3的工地進程智能識別算法方案。結果表明,在800張測試數據集中,yolov3算法對于工作面11個類的識別準確率達到了89.375%,未識別與識別錯誤分別為7.125%與3.5%,準確率和實時性均滿足實際應用需求,方案的建設成果具有可行性和可推廣價值。