如何實時、高效地處理如此海量的路況資料?
摘要:資料是智慧交通的基礎和命脈,如何實時、高效地處理如此海量的路況資料卻絕非易事。
本文分享自華為雲社群《高併發圖片影片處理,為出行保駕,為生活添彩!》,作者:昇騰CANN。
四通八達的路網和車水馬龍的盛景詮釋著城市的繁榮和進步,但是水洩不通的路口和暴躁不安的司機也暴露了城市發展面臨的諸多問題。
智慧交通將人、車、路互聯互通,依靠大資料、物聯網、人工智慧等高新技術,彙集路況資訊,提供實時、高效、安全的交通訊息服務。分佈在大街小巷的道路攝像機,化身為城市的“眼睛”, 7*24小時不間斷工作,為人們交通出行提供了重要的資料來源。
資料是智慧交通的基礎和命脈,如何實時、高效地處理如此海量的路況資料卻絕非易事!
一般來說,攝像機採集的資料會通過網路傳輸到資料計算中心,而受制於網路頻寬,資料計算中心獲取的都是從各地的攝像頭編碼後的H264/H265/JPEG碼流資料,要想進行AI智慧分析,需要把資料解碼成RGB/YUV格式,然後經過摳圖、縮放等一系列預處理操作過濾出人臉、車輛等核心資訊,最後送入AI計算單元得出實時路況分析結果。
如此一來,每個路口的實時流量、人群密度,甚至人群的行走速度等便一目瞭然。
然而,雖說市面上的AI處理器一般都有較強的計算能力,但影象解碼效能往往無法匹配,需要疊加解碼器來完成影象解碼,這無疑會帶來大量的部署成本和適配工作量。另外,摳圖、縮放等影象預處理操作固然可以藉助GPU+CPU實現,但也必將造成影象處理和神經網路計算搶佔資源,影響整體效能。
華為推出昇騰AI基礎軟硬體平臺(昇騰AI處理器+異構計算架構CANN),不僅能高效承接各類人工智慧計算任務,還可兩招解決以上影象處理面臨的諸多問題。
第一招:昇騰AI處理器內建影象處理單元,節約硬體部署成本
以搭載了昇騰AI處理器的Atlas 300I Pro推理卡為例,其中的數字視覺預處理模組DVPP(全稱Digital Video Pre-Processor)集成了12個影片解碼核、16個圖片解碼核、8個圖片編碼核、3個影片編碼核、12個可提供摳圖縮放等能力的影象預處理核。與AI計算資源共棲的影象處理專用硬體,無疑是資料計算中心基礎設施建設階段的福音,可大大節約獨立硬體的部署成本。
第二招:異構計算架構CANN多路併發,加速影象處理效率
如此豐富的影象處理硬體資源,給予了軟體層更加廣闊的施展空間。作為專門面向AI場景的異構計算架構,CANN(Compute Architecture for Neural Networks)以釋放昇騰AI處理器極致算力為目標,通過軟硬體協同優化,不僅能高效排程AI計算資源,還可加速DVPP硬體的影象處理效率,大大降低對CPU的使用。值得關注的是,即將在2021年年底釋出的CANN 5.0版本中,通過全新的非同步任務下發通道,將進一步降低任務下發時延,驅動多個硬體加速器多路並行處理,提升整體處理效能。
1、 多執行緒並行video解碼: CANN5.0+Atlas 300I Pro軟硬體協同,支援128路1080P 30fps H264/H265影片流解碼
2、 多執行緒並行jpeg編解碼:CANN5.0+Atlas 300I Pro軟硬體協同,支援1024fps @1080P圖片編碼,2048fps @1080P圖片解碼
3、 多執行緒並行影象預處理:CANN5.0+Atlas 300I Pro軟硬體協同,支援[email protected]影象預處理,滿足CV類演算法的圖片格式轉換、摳圖、縮放、填充、直方圖統計相關處理,大大節省了計算資源。
除了效能上帶來的突出表現, 異構計算架構CANN還提供了簡單易用的影象處理介面和豐富的高效能運算元庫,支援對特定格式的影片和影象進行解碼、縮放等預處理操作,同時具有對處理後的影片、影象進行編碼再輸出的能力,可支撐使用者靈活多樣的影象處理需求:
• 影片解碼:支援H264、H265兩種影片格式的碼流解碼
• 影片編碼:支援YUV圖片資料編碼成H264、H265兩種影片格式
• JPEG解碼:支援JPG圖片解碼
• JPEG編碼:支援YUV格式圖片編碼成.jpg圖片
• 影象預處理:支援各種格式的影象資料增強功能,包含摳圖、縮放、疊加、黏貼、格式轉換、直方圖統計等
昇騰CANN超強的影象併發處理能力和豐富多樣的影象處理介面,為城市智慧交通提供了有力的技術支援,讓出行管理更高效,通行更通暢。打個比方,藉助CANN 128路高併發影片解碼能力,可以讓一個部署攝像頭總數約40w臺的大型城市僅需3000+伺服器即可完成實時影片的智慧分析處理需求,CANN正在用硬核實力為人們的出行保駕護航。
除了智慧交通領域,媒體影片領域也正逐步借力CANN影象併發處理能力,為使用者帶來全新的視覺體驗,給人們的生活增色添彩。
影片類業務發展至今,已不僅僅是單純影片內容的播放呈現,以自由視角為代表的極具張力的視覺體驗吸引了越來越多的受眾。所謂自由視角,就是通過現場環繞部署的多臺攝像機,讓觀眾多角度、多細節、立體化地欣賞到精彩的表演效果或比賽瞬間。
藉助CANN超強影象併發處理技術,將現場從不同角度採集的多路影片進行併發解碼處理,經過AI智慧合成後,編碼成影片流,實時傳送給觀眾,帶來沉浸式的視覺體驗。
再者,我們在看影片或直播的時候,往往會根據當前網路狀況選擇不同的清晰度。這對應在服務端其實就是影片轉碼的過程,將原始影片解碼過後,根據使用者選擇的不同清晰度進行編碼。
在整個過程中,影片編解碼效能的好壞考驗著使用者的耐心,CANN提供的超強影象併發處理技術,在影片解碼的同時可輕鬆完成多路影片編碼,大大降低轉碼時間,實時滿足使用者觀看需求。
智慧數字時代,影象處理+AI計算的混搭場景會越來越常見,CANN做為專門面向AI場景的異構計算架構,能輕鬆地協同好各類異構資源,通過多執行緒並行video解碼、多執行緒並行jpeg編解碼、多執行緒並行資料預處理技術,加速影象處理過程,帶來可觀的效能收益。
隨著協議的演進,CANN還會支援更先進的H266編解碼協議,支援更多CV預處理運算元;隨著AI資料量的日益增大,CANN也將解鎖更多影象預處理技術,進一步加速影象處理過程。
在人工智慧產業蓬勃發展的時代,CANN乘風而來,通過先進的影象處理技術為各行各業解燃眉之急;同時,懷著對未來的憧憬,CANN也必將破浪前行,通過更多技術創新擁抱嶄新的業務場景,讓人工智慧真正走入千行百業!
- 一文講盡Thread類的原始碼精髓
- 手把手教大家寫書寫一個Mqtt閘道器
- 總結了6種卷積神經網路壓縮方法
- 雲小課|手把手教您在PyCharm中連線雲端資源進行程式碼除錯
- 程式碼例項解讀如何安全釋出物件
- 過年回去,終於給老人講清楚兩臺電腦是如何通訊的
- 震網(Stuxnet)病毒深度解析:首個攻擊真實世界基礎設施的病毒
- 跟我學Python影象處理丨帶你入門OpenGL
- 跨域:後端工程師最熟悉的陌生“人”
- 當你輸入網址,小手一點,然後發生了什麼?
- 【帶你讀論文】向量表徵經典之DeepWalk
- 為什麼網路I/O會被阻塞?
- 智慧流程機器人助你“聚划算”
- 可以一學的程式碼優化小技巧:減少if-else冗餘
- 聊聊Cookie、Session、Token 背後的故事
- 不懂任務排程系統,快來看這篇
- 基於隨機森林演算法進行硬碟故障預測
- 教你如何解決T 0的問題
- 高併發環境下構建快取服務,你需要注意這6點
- cookie、session,、token,還在傻傻分不清?