【OpenVINO開發案例】電腦視覺即時偵測路況、分析交通圖資

作者/圖片提供:7STARLAKE

本案例為《2021 Intel DevCup x OpenVINO Toolkit》實作組亞軍作品,特別邀請該團隊撰文分享其開發歷程、技術架構及成果,讓更多開發者可以借鏡學習。

以前電腦需要人工餵養資料才能開啟工作,但透過電腦視覺系統(Computer Vision),卻可以讓電腦自動學習推論並給出更具效率的判斷與決策。

電腦視覺可以說是目前人工智慧(Artificial Intelligence, AI)發展最快的領域,讓電腦擁有視覺能力的技術模擬人類的視覺系統,透過鏡頭以及感測器模擬人類雙眼,AI則是模擬人類的大腦及判斷思維,將鏡頭和感測器所取得的2D或3D影像傳送到運算平台或裝置後,再經由AI演算法進行辨識。

此技術目前已經被廣泛用於產品檢測、物件辨識及分類,或是環境及人員監控等,尤其透過電腦視覺系統運用感知、決策、控制等技術更全面的掌握路上狀況,更能提升有效交通安全。

開發動機

台灣的交通規劃,參考美國的交通制度,包括移植為汽車服務的快速道路系統,為減少壅塞,更積極拓寬省道等主要幹線,地少人稠的先天限制需要更具智慧的自動管理系統,透過數據分析,以視覺化呈現在監控儀表板上,提供給指揮中心進行交通管制即時決策作業。

以肉眼調閱行車紀錄器十分費時且需要人力,若能利用 AI 自動即時偵測並擷取其中片段再由人工二次確認將能提高效率,也能嚇阻違規事件並預防交通意外發生。

我們希望運用科技及人力達到人、車、路、系統的智慧化,利用 Object Detection Model 即時偵測路況,並能透過辨識一些常見的道路物件來達到分析交通事件的效果,例如:偵測違停、闖紅燈車輛等。

運用科技及人力達到人、車、路、系統的智慧化,並即時偵測路況

AI電腦視覺在我們的方案中分成三個階段執行AI Inference:

1. 數據收集 (Data Capture) :

最主要是要針對整套方案 : [動態交通圖資]的核心物件分成動態資料及靜態資料的蒐集建立。動態資料包含:車輛、車牌、行人;靜態資料包含:路燈、路樹、交通號誌、停車格線等等。

2. 數據輸入(Data Ingestion) :

依據數位執法(Law Enforcement)的規範,例如「公車停等區違規停車」、「紅燈右轉」、「汽機車未禮讓行人」等違規事件定義所需的必要條件輸入電腦中,此外為提高系統事件判斷準確率,我們建立異質感測器融合(Sensors Fusion)的演算法補足光線不佳環境下電腦視覺判斷不足之處,並依據GPS 定位公車行經路線上紅線區段,若在前方有大型車輛遮擋攝影機視線讀取紅線區域時候,也能以GPS 定位補足後直接判斷車型及車牌來執行數位執法。

3. 數據分析(Data Analysis):

系統蒐集3條公車路線涵蓋城市交通最繁忙中心區域,每日自早上06:00到晚上22:00的大量資料後,可以在雲端進行「主要道路的違規路段之時段及區段排行」、「違規車種樣態分析」與「城市動態交通模擬預測」。

而要完成這三大項工程,OpenVINO 的開發平台已經提供了完整的pre-trained model 在於「車輛分類」辨識及「車牌號碼」辨識;這可以加速開發者進入下一階段建構需要的演算法模型及訓練集。

解決方案技術架構及執行方法

7STARLAKE以Pytorch建立自有、符合需求的三層模型,從車輛偵測、車輛上車牌位置辨識、車牌辨識,並且以OpenVINO完成Pytorch to ONNX與ONNX to IR部署,於Core i7-1185GRE處理器的推論(Inference)效能可達21.13FPS,完成AI電腦視覺即時偵測路況、分析偵測違停、闖紅燈、車牌辨識、車種辨識等動態交通圖資。

7STARLAKE和Pytorch建立的三層模型,包含車輛上車輛偵測、車牌位置辨識、車牌辨識

1.技術架構:

■ 主要由三層不同的AI模型組成

  • 第一層偵測常見道路物件
  • 第二層針對偵測到的各種車輛物件進一步偵測車牌位置
  • 第三層對偵測到的車牌進行辨識

2.執行方法:

  • 針對三層模型建構各自的模型、訓練集
  • 整合模型三層模型成為單一的混和模型,一次性的推論整個影像物件與事件

OpenVINO 的部署

我們的需求,OpenVINO已經有原本的架構模型可以測試:

■ models:

  • license-plate-recognition-barrier-0001  車牌辨識
  • vehicle-attributes-recognition-barrier-0042   車輛偵測
  • vehicle-license-plate-detection-barrier-0106  車輛上車牌位置辨識

經過實測,三者依序疊合架構執行效果無法符合我們的實際道路應用場景,因此我們進一步發展自有的混和模型架構:

(1) 以Pytorch  建立我們自有的三層模型

(2) OpenVINO 部署

  • Pytorch to ONNX
  • ONNX to IR

OpenVINO 部署的四個步驟

3.完成部署,進行推論

運用OpenVINO執行交通狀況辨識的推論工作

車物聯網應用成果

在車物聯網(V2X-IOT)感測器融合架構下,除運用強大的Edge Computer (邊緣電腦)將AI訓練(AI Training) 完整後的模型,經資料擷取到車載電腦(In-Vehicle PC)後立即推論及分析原始數據(Raw Data),並將物件資料標籤化(Labeling),依照圖像大小分成圖片小於1MB 者立即運用4G LTE傳輸到Cloud Data Base。

影片大於 2MB以上者先儲存於邊緣運算電腦(Edge Computing PC),待公車完成運輸服務後進入總站充電時,邊緣電腦系統開啟WiFi模式將車載電腦分類後之影片傳輸至總站內的邊緣伺服器 (Near Edge Server),並於每日固定時間由Edge Server將資料上傳至雲端伺服器(Cloud Server)。

7STARLAKE運用OpenVINO部署V2X Edge AI運輸系統示意圖

小結

藉由固定路線且即時的公車裝載電腦視覺系統,利用 Object Detection Model 即時偵測路況,並能透過辨識一些常見的道路物件來達到分析交通事件的效果,未來若能大量布建於城市中,即可隨時獲取最新交通動態圖資,作為交通智慧化的管理參考,不僅希望能嚇阻違規事件、預防交通意外發生,更能積極作為維護道路交通安全基礎設施的第一哩路。

AI電腦視覺技術已成為資料經濟發展的重要推手

7STARLAKE參加2021 Intel DevCup x OpenVINO Toolkit競賽得獎合照

(責任編輯:MakerPRO編輯部)

7STARLAKE
7STARLAKE

Author: 7STARLAKE

創新與連結,一直是7StarLake(喜門史塔雷克)探索多元世界的初衷,從核心打造專用特規電腦,與國際科技伙伴共同開發自駕巴士, 協同政府單位與非政府機構深入研討和策劃智慧公共交通,藉由自動駕駛科技、3D LIDAR智慧路口、V2X車聯網、共乘網絡營運到乘客數位體驗,領先全球建立新公共交通模式,以共同實現「聰明城市,智慧交通」的願景。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。