羅怡辰,王昕磊,單帥迪,張鵬鵬
(1.上海電機學院 電子信息學院,上海 201306;2.上海電機學院 機械學院,上海 201306)
隨著城市化的發(fā)展,各類路面多采用瀝青這類材料鋪設。因自然環(huán)境和功能性因素的影響,例如天氣、貨車壓力對路面的傷害等,導致大量路面損傷,而且缺少后期維護工作,使得城市公路受損情況越來越嚴重。目前主流的檢測方法為人工觀察評定,但人工檢測不僅耗時耗力,還容易疏漏?,F(xiàn)有市場亟需高效的檢測方式。
近年來,隨著智能系統(tǒng)研究和應用的深入,路面缺陷檢測向著智能化方向發(fā)展。其中,圖像目標檢測是發(fā)展最為迅速的領域之一。2015 年YOLOv1 算法[1]的發(fā)布,是一階段檢測算法的開山之作。在此之前,目標檢測都是以R-CNN[2]為代表的兩階段方法。兩階段方法雖然準確率較高,但其運行速度慢,不符合實時應用的需求。YOLO 算法[1]簡化了算法流程,將輸入圖像劃分成S*S 的網(wǎng)格,當一個物體中心點落入某個網(wǎng)格內(nèi)時,該網(wǎng)格負責預測該目標[3-5]。YOLO 算法具有高效、靈活和泛化性能好的優(yōu)點,推動了智能化目標檢測的發(fā)展和應用。
本文基于YOLO 算法,設計了一款全自動道路缺陷智能檢測系統(tǒng),分為硬件小車和可視化界面。該檢測小車依靠搭載在樹莓派上的攝像頭進行圖片采集。攝像頭類似人的“眼睛”,將途中“看到”的內(nèi)容按設置的幀數(shù)截圖,然后將照片上傳至上位機(客戶端)。服務器中搭載YOLOX 算法[6]進行圖片缺陷識別,客戶只需連接服務器,并將照片上傳,待管理員調(diào)用該算法后,則可在疑似的照片中標出缺陷,即裂縫和坑洞。管理員可將結果上傳至客戶端,供客戶進行觀測。與現(xiàn)有人工檢測方式相比,本文設計的智能檢測系統(tǒng)節(jié)約了人工成本,且大幅提升了檢測效率。
本文提出的道路缺陷智能檢測系統(tǒng)可分為兩個部分:即硬件部分和軟件部分,其中后者包含服務器端和客戶端。軟件體系使用TOC 架構,確保服務器端允許多客戶端接入。本文將多客戶端分為兩類角色:管理員和一般用戶。
整體架構如圖1 所示。首先,利用主控板Raspberry Pi 將攝像頭采集到的圖片,通過SSH 協(xié)議發(fā)送給目標電腦。電腦接收后,作為一般用戶客戶端連接登入服務器端,然后將原始圖片上傳給服務器端。管理員登入訪問服務器端中用戶子文件夾下所存圖片,下載后調(diào)用架設在服務器端的YOLOX 檢測算法。待頁面上顯示相關檢測信息后,再將生成的檢測信息上傳至服務器端的指定用戶文件夾。最后用戶可在其文件夾中下載相關檢測結果圖片和技術文檔。
圖1 整體架構
道路缺陷智能檢測系統(tǒng)硬件結構設計如圖2 所示。模塊之間使用通用串行總線(USB)協(xié)議進行連接。該協(xié)議可按照傳輸前制定的原則,在每次傳送開始時,主機傳送一個描述傳輸動作的種類、方向、USB 設備地址和終端號的USB數(shù)據(jù)包[7-8]。
對比ESP32、STM32、樹莓派等主流的主控芯片,發(fā)現(xiàn)樹莓派開發(fā)便捷、接口豐富、處理速度快[9],可以滿足缺陷檢測算法運行和硬件控制的需求。因此,本系統(tǒng)采用樹莓派作為主控芯片。
主控板Raspberry Pi 3B+以及拓展模塊如圖3 所示。該模塊為硬件部分的控制中心,負責程序的初始化、采集端運行以及通信。攝像頭模塊負責采集道路缺陷圖片。WiFi 模塊將小車接入已有局域網(wǎng)絡,并實現(xiàn)數(shù)據(jù)上傳。
圖3 主控板 Raspberry Pi 3B+及拓展模塊
采集功能模塊使用USB 攝像頭,該傳感器支持120 PFS幀率,120°廣視角,擁有2 MP 像素。由于對采集圖片的像素要求較高,選用該傳感器作為采集端,可保證圖片質(zhì)量,為后續(xù)流程提供保證。另外,該主控板所支持的USB 接口較多,可代替?zhèn)鹘y(tǒng)的CSI 接口攝像頭傳感器。
WiFi 模塊是網(wǎng)絡通信,是數(shù)據(jù)交互的基礎。利用該模塊可實現(xiàn)本地電腦對硬件檢測系統(tǒng)的遠程控制,如啟動或關閉系統(tǒng)、發(fā)送圖片等。
服務器端利用Python 自帶的pyftpdlib 包搭載基于FTP協(xié)議的服務器,允許多客戶端接入。同時開發(fā)并實現(xiàn)相應傳輸、檢測功能。FTP 協(xié)議允許用戶以文件操作的方式與另一主機相互通信。用戶并不需要真正登錄到進行存取的計算機,可用FTP 程序訪問遠程資源,實現(xiàn)用戶往返傳輸文件[10]。
服務器流程如圖4 所示。為適應實際情況,用于接收不同客戶端上傳的圖片和文檔,并保證各個客戶端之間通信正常,引入線程概念。這一概念是指管理人員有權查看服務器中所有文件夾,而一般用戶權限僅包含在自己的文件夾中進行操作。該方法為后續(xù)上傳數(shù)據(jù)及下載文檔內(nèi)容提供了技術支持。服務器正常啟動實現(xiàn)后,先運行服務器,再允許客戶端接入。
圖4 服務器流程
為使管理員和一般用戶更直觀、更方便地操作,使用PyQt5 搭建可視化界面。由于管理人員和用戶的權限不同,故兩者的操作頁面也有所不同。服務器為實現(xiàn)客戶端通信提供有力保障。此外,考慮到硬件資源的開銷,將算法架設在服務器上,有效避免了可能因硬件設備和環(huán)境不兼容產(chǎn)生的問題。
管理者和一般用戶都具有登入連接服務器權限,以及圖片上傳和下載權限。但管理者具有查詢所有一般用戶信息以及檢測的權限,即對用戶上傳的圖片調(diào)用算法模型進行識別,然后在指定用戶文件夾目錄下,上傳檢測后的結果圖片和技術文檔。一般用戶則僅可查詢和修改子目錄下的文件,無法看到其他用戶文件,這保證了用戶數(shù)據(jù)的安全性。
由圖2可知,鮮肉泥的紅度值隨腌制時間的延長而下降,因此,選取腌制3 h時紅度值較高的生鮮肉泥用于制作肉脯。
YOLO 算法[1]僅通過一個CNN 網(wǎng)絡直接預測不同目標的類別與位置。其核心思想是把目標檢測轉(zhuǎn)變成一個回歸問題,放棄原來R-CNN[2]的候選框提取和分類思想,采用直接回歸的思路,利用整張圖作為網(wǎng)絡的輸入,只經(jīng)過一個神經(jīng)網(wǎng)絡,得到目標邊界框的位置及其所屬的類別。
算法整體流程如圖5 所示。為使用并配合YOLOX 算法,前期配置對應環(huán)境并搭建相應的依賴庫,以便訓練自主模型。本文選用best_ckpt 模型進行測試,并且進行模型評估。
圖5 算法整體流程
后端模型輸出結果如圖6 所示。編寫調(diào)試相應代碼,在底層運行該算法,然后將測試通過的模型架設在服務器上。
圖6 后端模型輸出結果
搭建完成的硬件部分如圖7所示。首先,主控板發(fā)出指令,檢測傳感器設備,如果找到設備則打開,獲取該設備采集到的圖片信息,并將采集到的圖片命名后保存。具體流程如圖8 所示。
圖7 硬件部分
圖8 攝像頭傳感器流程
主控板與本地電腦(用戶)成功傳輸如圖9 所示。先配置樹莓派和本地電腦,使得兩臺設備位于同一局域網(wǎng);然后打開SSH 功能,運行相關網(wǎng)絡通信代碼,利用WiFi 模塊并配合SSH 協(xié)議,實現(xiàn)上位機和下位機圖片傳輸。
圖9 主控板與本地電腦(用戶)成功傳輸
為使用檢測功能,用戶首先需輸入登錄名和口令(密碼)以登入服務器,客戶端(用戶)顯示界面如圖10 所示。初始狀態(tài)下,用戶可使用查詢、上傳、退出這三個功能。由于文件目錄列表沒有任何文件,故下載功能處于未生效狀態(tài)。待后續(xù)上傳文檔后,下載狀態(tài)處于有效狀態(tài)。
圖10 客戶端(用戶)顯示界面
用戶通過驗證連接服務器后,上傳本地圖片至個人文件夾,然后等待管理員上傳檢測結果圖片和技術報告。待管理員上傳后,用戶有權在其子文件夾下下載相應文件并保存。
客戶端(管理人員)顯示界面如圖11 所示。該界面相比一般用戶界面,功能更豐富且齊全。連接服務器后,在文件目錄中可查詢不同用戶上傳在服務器中的圖片,然后將相應的圖片下載保存。上述功能步驟實現(xiàn)情況均可在服務器歷史中查詢。后臺服務器檢測管理員功能實現(xiàn)情況如圖12所示。
圖11 客戶端(管理人員)顯示界面
圖12 服務器檢測管理員功能實現(xiàn)情況
之后,管理員在本地點擊識別按鈕,調(diào)用底層缺陷識別算法模型。根據(jù)識別后的結果,計算獲得裂縫和坑洞數(shù)量,并在后端將這些信息生成文本文件,同時在頁面中顯示。頁面顯示識別結果信息如圖13 所示。最后由管理員上傳輸出后的檢測圖片和技術文檔,供客戶下載查看。
圖13 識別結果信息
用戶在其文件夾下發(fā)現(xiàn)目標文件,如圖14 所示;然后選擇具體想要下載的文件,點擊下載按鈕進行數(shù)據(jù)保存。后臺服務器監(jiān)測下載功能成功使用,如圖15 所示。
圖14 用戶文件夾發(fā)現(xiàn)目標文件
圖15 用戶成功下載文件
本文主要介紹了道路缺陷智能檢測系統(tǒng)的硬件和軟件設計及每個部分對應的實現(xiàn)方案,用于檢測道路的缺陷損傷。硬件部分采用樹莓派與攝像頭搭建,實現(xiàn)從傳感器圖片采集到網(wǎng)絡傳輸,再到用戶本地電腦成功接收。軟件部分從服務器端搭建設計,實現(xiàn)多客戶端通信,到管理員底層算法調(diào)用,實現(xiàn)多客戶頁面輸出。該系統(tǒng)具有一定的可操作性和普適性。使用該系統(tǒng),可以簡化現(xiàn)有繁雜的人工缺陷檢測操作流程,從而精簡成本和勞動力。同時,為實現(xiàn)智能化社區(qū)提供了一定的基礎。