工業技術研究院 資訊與通訊研究所 王莉珮、李宇哲、李冠德、黃名嘉、林宏軒
不僅自駕車與智慧體育場,未來將會出現更多5G應用的AI模型,工研院希望能透過AI 辨識加速平台,協助企業一同進入由AI與5G所構成的未來世代。
5G具備了低延遲(Low Latency)特性;而AI的邊緣運算(Edge Computing)則以本地AI模型直接處理[1]。這兩者的技術特性恰巧都是縮短反應時間。在可預期的未來,AI應用與5G技術會成為發展焦點。因此本文將先行的探討AI邊緣運算技術如何適用於5G場景。
精彩內容
- AI辨識加速平台
- AI辨識加速平台架構
- 5G應用情境與場域案例
AI辨識加速平台
從低延遲的角度來看,5G與AI邊緣運算有可組合的特性;從發展趨勢來看,5G與AI勢必會有技術交織。順著此邏輯往下延伸,會很自然地問出一個問題:AI邊緣運算跟5G可以做什麼應用?或許從未來看現今,會有無數種答案;然而在5G準備起步的當下,這些答案的可能性顯然不多,其中最重要就屬定位於基礎建設的AI辨識加速平台。
AI辨識加速平台匯集多種AI辨識模型的加速應用程式。一般AI辨識考量到效能,都會以GPU顯示卡來做AI運算,在邊緣裝置上亦同。但在邊緣裝置上,相比於忙碌的GPU,CPU仍行有餘力。基於硬體資源利用率最大化的考量,理想上是讓CPU與GPU兩者都貢獻出運算能力,減少閒置情況。經過市場分析與常見應用整理後,本平台主要針對影像串流(Video Streaming)常見的AI辨識應用,如下圖1所提到的物件偵測、肢體辨識、物件切割三大辨識模型進行最佳化。
圖1 AI辨識的應用
影像串流是由連續影像幀(Frame)所組成,一般AI辨識會辨識所有影像幀,但AI辨識運算成本過於昂貴。為降低運算成本,本平台其中一個關鍵技術是結合 GPU運算的AI模型,搭配CPU 運算的追蹤技術如光流(Optical Flow)與運動向量(Motion Vector),與在GPU運算的AI模型交錯執行,將運算效能最大化並提升速度。如圖2所示,藍色代表執行AI模型的影像幀,綠色代表CPU運算追蹤的影像幀:
圖2 連續影像中AI辨識與運動向量追蹤的交錯執行
透過CPU與GPU的交錯執行,達到硬體資源極大化加速影像串流處理;且當邊緣裝置只有CPU可使用時,AI辨識加速平台也能達到原先的數倍加速效果。
本平台以函式庫(Library)形式提供,使用者不受限於邊緣裝置、個人電腦(PC)、伺服器(Server)硬體設備,只需在原辨識模型中引用該函式庫即可達到辨識加速效果。
為什麼需要AI辨識加速平台?
像在智慧停車場中,逐漸採用邊緣裝置進行車牌辨識,省下邊緣與雲端主機間的傳輸成本。這類適合AI邊緣運算的場域越來越多,預期未來會出現更多5G應用的AI模型。但調校AI模型達到5G低延遲標準卻不是件容易的事。
有多麼不容易?以YOLOv4模型執行在NVIDA Jetson系列的Xavier AGX為例,影像解析度為416×416,其辨識速度為83毫秒;加上一般的AI運算加速後,可提升至32毫秒。乍看之下加速效果良好,且達30 FPS(Frame Per Second)之即時標準。但以國際電信聯盟(ITU)所規範5G低延遲1毫秒內為標準[5]來看,其加速明顯遠達不到要求;儘管某一AI模型加速至5G低延遲標準,也要面對多個AI模型要加速之需求,這做法顯然不實際。
對應上述問題,整合並建立一個適用於5G的AI辨識加速平台正是一個簡潔有力的解決方案。透過分析AI模型應用種類的特性,且結合硬體資源的利用,來達到AI辨識的加速效果。
AI辨識加速平台架構
為達到影像串流的辨識加速,本平台採用兩種追縱技術:光流追蹤和運動向量追蹤。光流追蹤在前個影像幀上取個特徵(Feature)點,並於下個影像幀的對應位置尋找該特徵點。找到對應的特徵點之後即可追蹤移動軌跡,如圖3中綠色歪曲的線段。
圖3 光流:根據像素點的特徵進行追蹤
運動向量追蹤則是影片於串流傳輸時,會經過H.264的影像壓縮,同時將影像切割成數個區塊,並於前後相鄰的影像畫面中,計算出區塊的位移,用此位移向量來追蹤物件。
整合以上追蹤技術,AI辨識加速平台也提供一個簡潔有力的中介軟體(Middleware),這中介軟體負責讓AI模型能順利與加速技術作橋接。例如物件偵測,一般人首先想到的可能是YOLO系列的模型,然而物件偵測不單只有YOLO系列,還有RCNN系列、SSD、CornerNet等等。使用者只需額外定義好AI模型輸出格式,便可隨意更換辨識模型,輕鬆享受加速功能,如圖4。
圖4 AI辨識加速平台的概念架構圖
AI辨識加速平台支援模型
1.物件辨識(Object Detection):
物件辨識演算法就像經過訓練、認識很多物件的小朋友。只要學習過的物件,演算法便可以從影像中找出這些物件,標示出物件的位置座標與類別名稱。現今最受歡迎的物件辨識演算法為YOLO,包含多項優點:辨識速度快、結果精準、客製化上手容易等。只要準備好標記資料,即可輕鬆訓練模型。幾乎所有需要物件辨識的場域,都有機會用到YOLO技術。由於使用者眾多,舉凡TensorFlow、Pytorch、Darknet等深度學習框架都有支援YOLO。
YOLO辨識速度仰賴GPU顯示卡的運算能力:在Nvidia RTX 2080ti辨識 416×416的影像,每秒可辨識30張,達到一般對於即時無延遲的辨識速度;而在Nvidia邊緣運算裝置Jetson AGX Xavier內建的GPU上辨識416×416的影像,僅能達到12 FPS。於AI辨識加速平台實測,在準確度與YOLO一致的前提下,在RTX 2080ti GPU + i7-870 CPU的機器測試,可加速3倍達到90 FPS辨識速度;在Jetson AGX Xavier測試,可加速約3.6倍達到43 FPS。
使用AI辨識加速平台,無須修改模型參數、重新訓練,可在不更動模型架構下輕鬆串接。加速後,單位時間內可辨識的影像幀增加,單位時間影像串流幀數不變,因此可擴增單一伺服器可串接之影像串流數目。透過物件辨識加速技術,1台伺服器可同時且即時處理3支監視器影像串流,其伺服器部屬成本僅需原始的三分之一即可達成即時物件辨識。本技術除了可以降低設備成本,亦可即時處理高速攝影設備(60至120 FPS)所拍攝之影像串流。
本加速平台藉由影像串流的影像連續性質,在影像幀間取得光流或運動向量,憑藉YOLO辨識的物件推論框,搭配光流或運動向量的位移與移動方向計算,追蹤物件,達到物件辨識加速的成效。物件辨識加速技術架構設計如下圖5所示:
圖5 物件辨識加速技術架構
2.肢體辨識(Pose Detection)
伴隨著智慧導播、無人自駕車、無人商店、AI教練等等技術的發展,肢體行為和動作就成了熱門的研究之一。要完成人體肢體偵測主要有2個困難點,其一為人體關節點數目可多達20個以上,在搜尋時複雜度較高;其二是人物外觀差異大且有各種的肢體動作。而深度學習模型則是將問題分別解決,最後在整合計算結果。透過肢體辨識模型,可以辨識出人體關鍵點(依照不同模型有不同的數量),這些關鍵點位置可以再搭配動作規則去分析人體動作(例如:舉手、跌倒等)與運動模式(例如:跑步、打球等)。
圖6 肢體辨識範例圖
在實際場域中,連續的2K照片在AI肢體辨識的速度上,單張照片需約290毫秒,倘若要達到即時辨識,常見的手法是將2K照片做解析度的縮小,例如縮小至240×240的解析度辨識速度約33毫秒。套用AI辨識加速平台後,影片中第一張照片會先用AI模型做處理,爾後的照片則會將前一張畫面辨識的結果進行判斷,判斷畫面中所有骨架點是否有不合理的狀況,例如:人物重疊、異常位置出現等等。根據結果判斷下一張照片是採用AI模型辨識或是肢體追蹤技術。 本平台辨識是交替使用AI模型與追蹤技術,降低使用AI模型辨識的影像幀比例,藉此達到肢體辨識加速效果。
在本平台實測影像解析度240×240的影像串流,可將原始需要33 毫秒的AI辨識速度,加速至平均7.6毫秒即可完成辨識。在準確度不變的情況下,整體辨識速度可提高達4.3倍。
3.物件分割(Instance Segmentation)
物件分割辨識,是可精準到像素分類的演算法。演算法會將影像中所有像素進行類別分類,確切知道每個像素點屬於何種物件類別。由於物件分割分類為像素等級,因此可以準確掌握物件輪廓,有效幫助自駕車與自駕船等自駕載具在取得物件輪廓後得以精準地避開障礙物,並且找到合適的路線行駛;機械手臂,找出物件輪廓,讓機械手臂可以準確的拿取目標物件等。現今以Mask-RCNN為最受歡迎的物件分割模型,在RTX 2080ti辨識1024×1024的影像,每秒可辨識10張,COCO Dataset測試準確度衡量結果為46.1%,其辨識速度與準確度綜合評比是物件分割辨識演算法中表現最好的。物件分割辨識不像物件辨識模型,可以將影像縮小後再擷取特徵,推論辨識物件。物件分割辨識需要辨識到影像細節,因此影像大小不能縮小太多,加上模型複雜、計算量龐大,無法達到無延遲的即時辨識。在實際應用上,辨識速度也會影響可使用的場域,如自駕車、自駕船等需要精準物件輪廓避撞的應用場域,卻因物件分割辨識速度不夠即時,而在自駕車、自駕船這些需要快速反應的場域,無法發揮物件分割辨識的最佳效益。
於AI辨識加速平台實測,在RTX 2080ti搭配i7-870 CPU的機器測試,物件分割辨識速度可由原始的10 FPS加速4倍多達到42 FPS。與物件辨識加速平台、肢體辨識加速平台相同,平台在加速時不需要改變原始模型參數設定,即可達到加速效果。加速後的辨識效果與原始辨識結果比較如圖7,左圖為原始模型辨識結果,右圖為加速平台預測結果,其辨識結果相似,因此使用者可不用擔心加速後準確度降低的問題。
圖7 左圖為原始辨識結果;右圖為加速平台預測結果[7]
5G應用情境與場域案例
1.自駕車
自駕車上安裝多個攝影機,串接即時影像串流進行辨識,辨識結果可協助車輛判斷路況,決定行駛方向、速度、煞車等行駛決策。
圖8 自駕車運行即時辨識範例
自駕車上大多只能布署一台運算設備,且該設備要處理車上所有需求:即時辨識八路影像串流、分析辨識結果、完成行駛決策等。透過本加速平台,在相同運算設備測試,單位時間辨識幀數可提高至3倍,讓運算設備可以處理更多模型,做出更完善的行駛決策。
目前最受矚目的自駕車為特斯拉(Tesla)所開發,其自駕系統僅限在高速公路上使用。原因為高速公路上場域單純,且不會出現行人。違規行人是交通事故發生的一大主因。因此自駕車亦需要肢體辨識,以分析行人動作模式,降低交通事故發生機率。目前肢體辨識單張影像平均需要33毫秒,可以達到即時辨識。但辨識後,需要分析動作,才能決定行駛模式,因此仍需加速。肢體辨識經加速後,單張影像僅需16毫秒,省下的時間,可供給動作分析模型,讓自駕車即時辨識肢體骨架、分析行人動作模式,更安全行駛。
2.智慧體育場
本AI辨識加速平台應用於2個實際場域:智慧導播與智慧裁判。在智慧導播中,肢體偵測可以分析連續行為、識別動作,了解球員是否展現出亮眼的行為或動作,將此段落做為精彩鏡頭回放。亦可根據球員擊球姿勢進行預測,讓精彩鏡頭不再只是回放過去的畫面,而是根據AI模型預測,播放球員可能取勝的擊球路線,讓觀眾了解更多賽事資訊。
圖9 肢體辨識於AI加速平台辨識結果[9]
部分職棒賽事已導入電子好球帶,意味智慧裁判未來有機會成為各大型賽事的一部分,在AI裁判中,肢體辨識可根據裁判的姿勢,判別當下狀況並結合專業術語提供給觀眾;判決內容亦可透過肢體辨識做收集,提供給不同的裁判聯盟,讓裁判學習誤判案例作為檢討依據。根據美國職棒從2008至2015的統計,利用此回饋機制可以讓誤判率降低2~3%[10],提高整體判決的正確率。
提高效率也降低成本
現今常用資料從文字轉變為影像、影片形式,而對影像、影片的辨識也是現今AI主要的應用。藉助本AI辨識加速平台,不只能加速處理高幀率、高畫質的影像,也同時可以降低場域所需部署成本。本平台結合於GPU運算的AI辨識模型,與跑在CPU端的輕量追蹤模型,將硬體資源良好的利用。除了加速辨識速度外,亦可即時處理更多路影像串流。本平台支援現今常見的辨識模型,如物件辨識、肢體辨識與物件分割辨識,其中物件辨識與肢體辨識模型,經過本平台可加速達3倍,也代表硬體成本可下降3倍。經實際驗證,在某個需8支攝影機之場域,辨識設備部署成本可從60萬大幅降低至15萬。
除了可處理無法即時辨識的高幀率、高畫質的串流影像與降低場域部署成本之外,本平台最大優勢為不需改變辨識模型、重新訓練模型,並無痛達到3倍加速效果。使用者不受限於本平台提供之辨識框架,只要符合辨識格式需求,本平台皆可加速。
本AI辨識加速平台,包含上述提到的三大優點:
⦁可即時辨識目前無法處理的高幀率、高畫質的影像
⦁可將原場域部署擴大四倍效益
⦁不需改變模型,也不需要重新訓練模型,即可無痛使用達到四倍的加速效果
使用 AI 辨識加速平台,協助企業一同進入由AI與5G所構成的未來世代。
參考資料
[1] Scott Martin,NVIDIA官方部落格:何謂邊緣運算?,
https://blogs.nvidia.com.tw/2019/10/22/what-is-edge-computing/
[2] datahacker.rs,#023 CNN Object Detection, http://datahacker.rs/deep-learning-object-detection/
[3] Sudharshan Chandra Babu,A 2019 guide to Human Pose Estimation with
Deep Learning,https://nanonets.com/blog/human-pose-estimation-2d-guide
[4] James Le, The Five Computer Vision Techniques That Will Change How You See The World,https://www.experfy.com/blog/bigdata-cloud/the-five-computer-vision-techniques-that-will-change-how-you-see-the-world/
[5] 經理人月刊,一次搞懂 5G!三大特性:高速度、低延遲、多連結,https://technews.tw/2020/09/27/5g-figure-out/
[6] 2015年捷克桌球公開賽女單冠軍賽 https://www.youtube.com/watch?v=fN6sQleUJkk&ab_channel=%E7%99%BE%E5%B2%B3%E6%9E%97
[7] 博愛路車流,炸七炸八,https://www.youtube.com/watch?v=-YNTdeRx8-o
[8] 特斯拉官網,自動駕駛系統介紹,https://www.tesla.com/zh_TW/autopilot
[9] 109年度第一次青少年桌球國手選拔賽 https://www.youtube.com/watch?v=D03VzLS-kgE&ab_channel=%E6%99%BA%E6%9E%97%E9%AB%94%E8%82%B2%E5%8F%B0
[10] Mark T. Williams,MLB Umpires Missed 34,294 Ball-Strike Calls in 2018. Bring on Robo-umps?,http://www.bu.edu/articles/2019/mlb-umpires-strike-zone-accuracy/