?

集裝箱病媒生物視覺探尋系統①

2022-11-07 09:07滕新棟唐宇豪馬興錄李曉旭
計算機系統應用 2022年10期
關鍵詞:界面報警集裝箱

滕新棟,唐宇豪,馬興錄,李曉旭

1(中華人民共和國青島海關,青島 266426)

2(青島科技大學 信息科學技術學院,青島 266061)

最近幾年,人工智能正在迅速崛起,機器視覺是人工智能正在快速發展的一個分支.通俗地講,機器視覺就是用機器代替人眼來做測量和判斷; 機器視覺系統是通過攝像頭等圖像采集裝置將被攝取的目標轉換成圖像信號,通過對圖像的像素特征進行處理運算得到目標的特征進而根據結果來進行下一步操作[1,2].特別是在工業領域,現已逐漸應用在一線,其次主要應用于半導體、電子制造、制藥、包裝等領域.如今在汽車制造乃至新能源行業,機器視覺技術的應用也正在逐步發展[3-11].

在大部分港口、機場等出入境的場所,對集裝箱內病媒生物的檢測是非常關鍵的環節[12],特別是在特殊的疫情期間,在保證集裝箱不含病源的前提下,才能確保集裝箱的安全出入境.面對數量多且空間狹窄的集裝箱,為了減少疫情傳播,解決病媒生物檢測問題,需要一款具有檢測功能的智能機器人幫助工作人員快速地進行病媒生物的檢測及清理.

本系統將病媒生物檢測系統與智能探尋抓取機器人相結合,以Python 語言作為編程核心,設計了檢測本地視頻和遠程視頻、檢測報警以及檢測記錄的顯示和存儲等功能.針對現如今人工檢測繁鎖的局限性,通過深度學習YOLOv5 訓練模型實現了病媒生物的檢測,保障了出入境的安全性,提高了集裝箱的通關效率.

1 系統設計

此集裝箱病媒生物檢測系統分為4 個模塊.分別是本地視頻檢測模塊、遠程視頻傳輸及實時檢測模塊、檢測報警模塊、檢測記錄顯示和存儲模塊,如圖1所示.具體的實現可分為檢測界面的設計、檢測病媒生物的實現、遠程視頻傳輸的實現、檢測報警模塊的實現、檢測記錄顯示和存儲的實現.

圖1 系統設計結構圖

所涉及的硬件智能探尋抓取機器人,屬于隱匿病媒生物監測技術領域,解決了現有裝置不能夠識別隱匿病媒生物的種類的問題; 其技術特征是: 包括抓取機構、視覺檢測裝置和底盤,所述底盤的左側安裝有抓取機構,底盤的上方設置有視覺檢測裝置,視覺檢測裝置上安裝有探照燈和監控相機,所述探照燈和監控相機與視覺檢測裝置的連接方式為卡接,底盤的底部安裝有多個滾輪,能夠快速探尋識別是否存活隱匿病媒生物,提高了對隱匿病媒生物的抓取效率,從而避免隱匿病媒生物污染集裝箱[13].

系統正常工作流程為: 獲取遠程視頻或本地視頻后,顯示在PC 端界面,識別視頻,當在某一幀圖片中檢測到病媒生物時,將其標注并報警,同時將圖片保存到文件夾中并顯示在界面中,后續工作人員可通過操控現場機器人進行病媒生物的抓取和清理.

2 界面設計

此集裝箱病媒生物檢測系統界面的設計主要是采用Python 庫中的PyQt5,它是最強大的GUI 庫之一[14],具體使用到QtCore、QtGui、QtWidgets,在PyCharm中使用額外工具(external tools)QtDesigner 進行界面設計.

整個檢測界面的風格采用暗色調,界面整體布局具體主要分為4 個區域: 檢測視頻實時顯示區域,在檢測本地視頻或者接收遠程視頻時,將視頻顯示在該label 中; 報警信息顯示區域,在檢測到病媒生物時,將檢測時的具體信息輸出在該listview 中; 檢測記錄顯示區域,在檢測到病媒生物時,將保存在文件夾中的圖片顯示該listview 中; 檢測模式選項區域,在界面的右下方設置兩個按鈕,分別命名為遠程視頻和本地視頻,用來控制檢測的具體對象.該UI 設計界面如圖2 所示.

圖2 UI 設計界面圖

3 功能實現

3.1 檢測病媒生物的實現

檢測病媒生物的核心是利用PyTorch 訓練YOLOv5訓練集也就是自定義病媒生物數據集訓練.

YOLOv5 是一種基于深度學習的one stage 檢測方法[15].YOLOv5 的模型結構如圖3 所示.

圖3 YOLOv5 模型結構圖

YOLOv5 模型結構主要分布為4 個部分,分別是輸入端、Backbone、Neck、Head 輸出端,其共有4 個版本分別是 YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,主要差異在于depth_multiple 和width_multiple 不同即模型的深度和寬度不同.

此集裝箱病媒生物檢測系統在YOLOv5 的基礎上進行了改進,使用了DIoU、CIoU[15].DIoU 是將目標與anchor (錨框)之間的距離,重疊率以及尺度標準都考慮進去,使目標框回歸變得更加穩定,不會像IoU 和GIoU 一樣出現訓練過程中發散等問題.在將DIoU 替換普通的IoU 評價策略,應用于NMS 中,即DIoU_nms,會使得NMS 得到的結果更加合理有效,方便檢測重疊的目標,而且可以直接最小化兩個目標框的距離,加快收斂速度.CIoU 是在DIoU 的基礎上進行改進.兩個函數的使用不但有效提高了檢測速率,也能夠保證檢測精度.

原始版YOLOv5 模型與改進版YOLOv5 模型在經過實驗后對比結果如圖4 所示.

圖4 算法對比結果圖

在使用了改進YOLOv5 的基礎上又增加了epoch(迭代次數)以提高檢測準確度[16].檢測結果如圖5,其中,圖5(a)-圖5(d)和圖5(i)-圖5(l)為增加前結果,其余為增加后結果.

圖5 檢測結果圖 (其中,橫坐標表示Epoch 數量)

3.2 遠程視頻傳輸的實現

遠程視頻傳輸的實現分為兩部分,分別是視頻發送與接收以及數據處理.

視頻的發送與接收基于現場配有嵌入式WiFi 模塊的機器人實時捕獲的畫面,視頻流傳輸的核心在于VS 運行視頻獲取程序與檢測程序進行網絡通信[17],VS 作為發送端實時發送視頻流,檢測程序作為接收端接受視頻.在機器人上安裝WiFi 模塊的小型嵌入式系統,連接WiFi,運行VS 程序獲取現場視頻,運用TCP[18]將VS 與檢測程序實現網絡通信,檢測程序接收實時的視頻流,實現遠程視頻的實時傳輸.

數據處理是在檢測程序接收到視頻流數據之后,利用Numpy[19]進行相應的數據處理,使得到的數據轉換成視頻并且能夠讀入檢測模型,讀入模型之后開始進行檢測.

3.3 檢測報警的實現

當檢測病媒生物時,需要及時提醒工作人員進行抓取清理,防止病媒生物污染集裝箱貨物產生其他不必要的損失.因此需要設置檢測報警模塊,及時在檢測界面顯示報警信息.時間信息尤為重要,準確的時間可以方便工作人員后續查看錄像,精準地找到病媒生物存在的時間區域,方便進一步分析調查.滾動式信息的報警方式可以更加顯著的提醒工作人員及時處理.檢測報警模塊的具體實現主要是利用Python 自帶的localtime 函數獲取具體時間,進一步使用strftime 函數將時間信息格式轉換為年月日,后續綁定組件listview,使報警信息可以顯示在檢測界面的固定區域.

3.4 檢測記錄顯示和存儲模塊的實現

當檢測到病媒生物時,需要截取這一幀圖片作為檢測記錄,這張圖片可以再次顯示,也可以定向保存到文件夾,方便工作人員后期分析統計.檢測記錄截取之后,綁定界面組件listview 和model,使其能夠顯示在檢測界面視頻下方,并利用OpenCV 的imwrite 將檢測記錄保存到本地文件夾中,并以報警信息的具體檢測時間命名.當視頻區域未顯示視頻時,可以通過點擊圖片將圖片顯示到視頻顯示區域,也可以打開存儲檢測記錄的文件夾打開圖片,進行詳細查看.

4 實驗分析

4.1 功能分析

經過一系列測試,此集裝箱病媒生物檢測系統的開發已達到預期目標,并且此系統的功能性、準確性以及速度均達到了預期水平.完整的實現了集裝箱內病媒生物的檢測以及檢測之后的報警、存儲和抓取清理一整套流程,經過多次測試,其功能實現如圖6 所示; 完整實現打印發現病媒生物時間及顯示圖像,將圖像信息保存在電腦的固定文件夾中.功能完善且運行順暢.

圖6 功能實現圖

4.2 性能分析

根據實際情況,在此系統只對部分實驗數據結果進行展示.精度測試結果如表1 所示,展示了在光線充足和不充足的條件下,對病媒生物分別檢測10 次、20 次、40 次的平均檢測精度結果.

表1 平均檢測結果

在準確性方面主要是體現在識別精度,在光線充足的條件下,平均精度可以達到0.9 左右,即使是在光線不充足的條件下,對病媒生物的識別平均精度也能達到0.8 以上; 在速度方面則是體現在對病媒生物的識別時間,單個病媒生物的識別時間控制在2 s 以內.

5 結 論

集裝箱病媒生物檢測系統是一種現代化的檢測管理方式,結合了深度學習的概念,代表了出入境檢測自動化的發展趨勢.圍繞機器視覺技術、網絡通信技術、深度學習方法等計算機視覺領域的相關知識,經過大量的研究,采用了YOLOv5 的訓練模型方案并開發實現,經過多次調試,最終實現了集裝箱病媒生物的檢測.此外,該系統核心編程語言為Python,代碼可移植性高,擴展性良好,對二次開發友好.系統針對集裝箱傳統人工檢測方式的弊端,在智能自動檢測方面不懈努力,對工業智能化、自動化具有重要意義.

猜你喜歡
界面報警集裝箱
不同截面類型鋼管RPC界面粘結性能對比研究
國企黨委前置研究的“四個界面”
小心,墻紙在報警
鞋子擺放透露的信息
改變集裝箱供應鏈商業模式
臺灣海峽兩岸間集裝箱運價指數(TWFI)
臺灣海峽兩岸間集裝箱運價指數
死于密室的租住者
基于Wonderware平臺的分布式報警系統的設計與實現
集裝箱與大熊貓
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合