從世紀九十年代開始,美國的VSAM項目中進行視頻監控的數據化研究以來,視頻監控的智能化經過了二十年的發展,到現在已經發生了巨大的變化,智能分析技術也從傳統的模式識別到機器學習再到現在家喻戶曉的深度學習經歷了多個階段的發展。而當前深度學習的逐漸成熟讓很多曾經尚未到達實用階段的應用逐漸具備了可用性,典型的如人臉識別,高密度的人員統計等;也讓很多已經成熟的應用具有更高的準確度,如車牌、車型識別、行為識別等等。
視頻智能分析發展歷程
國內的視頻監控從2006前后開始“監控IT化”以來,視頻監控的規模呈現了快速擴展的勢頭,這在模擬時代是無法想象的。視頻監控規模的擴大,已經讓使用者意識到單靠人眼去監控所有視頻或者在事后去追查錄像都是基本不可能的事情了。2009~2010年國內視頻監控發展比較好的地區如浙江,就開始出現了如何更好的應用視頻的需求聲音。
長期從事智慧城市建設、自動化監控研究的博士生導師王汝琳就提出,當時的監控業界存在“看不清、調不出、提取難、檢索慢”的問題,對應的也就出現了三大趨勢:高清化、網絡化和智能化。
從2010年前后起,智能分析已經在慢慢地應用到監控和智能交通的行業中來,其中最早形成規模應用的是車牌識別的功能,到2013年左右,電子警察在全國就在如火如荼地展開,三大監控巨頭和在那個時候大力切入到了智能交通行業,加速了行業格局的形成。
這幾年來,智能的應用快速擴展到了很多的方面,如人的行為識別、車輛的異常行為檢測、儀表識別、人臉識別、車臉識別,還有通用監控視頻的結構化分析等,花樣各出,大有遍地開花之勢。
智能分析的本質
視頻分析的本質目標,就是視頻的語義化,使視頻更好地被檢索到,被精確調閱到,解決人眼長期看視頻產生的熟視無睹的問題,也解決發生案件時要花上百人進行錄像查閱的問題。
軟件智能分析與硬件智能分析優劣勢分析
引用鄧小平的話“不管白貓黑貓,抓得住老鼠就是好貓”,軟件智能分析和硬件智能分析只是分工不同的貓,他們都有擅長的一面,也都有自己的劣勢。用一句話來概括,他們的區別就是“軟件智能貴在適應性和廣度、硬件智能分析貴在分析的速度”。
軟件智能分析
軟件智能分析,是指用CPU進行運算的智能分析方案,它的優勢在于適應性強,具體體現在:
1)對各種數據源的適配性高,在安防行業中數據源基本為視頻和圖片,但是這些數據的來源可謂是五花八門,尤其的早期的設備廠家非常地多,對接方式和編碼格式都不標準,只有通過軟件對接來完成前期工作,才能給智能分析提供原始材料;
2)新的算法出來時,基本上都是在軟件上實現的,因為在軟件上編碼實現最容易,很少有算法一開始出來就能在智能分析硬件上運行的;
3)軟件智能分析可以運行在很多通用服務器和PC機上,不需要配備特殊的硬件就能運行,而硬件智能分析就不一樣了。
當然軟件智能分析的主要缺點就在于分析性能差。
硬件智能分析
硬件智能分析,對應于軟件智能分析,一般指運行在DSP、FPGA以及GPU資源上的智能分析應用。它的優點就是一個字“快”,一旦一種智能算法有了能支撐它的硬件資源后,一般就能把軟件分析的處理能力甩開幾條街。但是相對的,它的局限也就是軟件智能的優勢所在。
但是現在,軟件智能分析和硬件智能分析沒有那么嚴格的區分,很多新的算法經過軟件方案進行一段時間驗證后,一旦存在較大的可用性,就會慢慢走上硬件化的道路。近幾年炙手可熱的深度學習的計算量基本上只有在GPU上才能跑起來。因此流行的是通過CPU做適配和前期處理,GPU來做智能運算,也就是Intel CPU+NVIDIA GPU的組合,而且這個組合的處理性能也確實非常之強勁。
前端智能分析與后端智能分析對比前端智能分析與后端智能分析的關系,也類似于上面的軟硬件智能分析一樣,都是相輔相成的,互為補充的。
前端智能分析
前端智能分析,在安防的業內一般是指在攝像機等傳感器內置或者在傳感器附近放置一個專門分析的前置設備。前端智能分析的優勢是離采集端近,分析比較及時,通過前置的智能分析可以有效降低需要傳輸的數據的量。同時前端智能也受限于較弱的計算資源和有限的空間,再好的智能分析技術到前端也都是“龍居淺潭”。當下前端智能中最成熟也是上面說的智能方面最早成熟的車牌識別功能了,現在前端設備上車牌識別的準度已經達到了99%。
后端智能分析
后端智能分析是指用后端服務器的方案進行智能分析,也是當前比較主流的智能分析方案,業界的代表有海康的獵鷹,宇視的IA系列等。
由于智能的需求越來越大,智能需求的種類也越來越多,各種智能服務器會慢慢占領客戶的機房,因此如何綜合利用這些服務器資源,如何提升單位空間的計算能力是眾多廠家關注和研究的方向,從當前來看主要的方向是:硬件化、框架化、集群化。
硬件化,經過上一節的分析,智能分析的硬件化是一些智能分析技術逐漸成熟的必然方向,現在的深度學習經過幾年的發展已經表現出了強勁的發展前景,而且智能硬件只要能很好地承載深度學習的計算需求,就能應對絕大部分基于深度學習發展起來的具體智能分析技術,比如現在一個很典型的應用就是人臉識別的應用,用了GPU之后,性能可以翻很多倍。
框架化,因為智能算法越來越多,如果為每一款智能算法單獨開發一次軟件,那軟件的工作就會有很多的浪費,如何能夠開發一次軟件,然后盡量多地去適配各種算法對廠家和客戶來說都是比較有意義的事情。
集群化,既然智能分析的需求越來越大,那么這些服務器如何統一管理,如何統一進行資源分配又是一個比較棘手的事情,總不能讓客戶自己一臺一臺服務器去做配置,一臺一臺去做管理吧。集群化的需求就應運而生,它需要解決的問題有:統一管理各個服務器,進行統一的配置;動態解決各個服務器的資源和任務分配問題,避免客戶自行去選擇服務器;解決設備的災備問題,在有多臺設備的時候,不要因為一臺設備的失效而導致它所負責的業務不可運行。
除了專門的智能服務器,現在有很多的后端產品也開始內置簡單的智能功能了,比如很多新的NVR已經具備了不少的智能分析能力,在小規模的方案里這種產品形態將越來越有市場。
前后端融合計算
同軟硬件智能分析的方案,前后端的智能分析也不是完全割裂和互斥的,兩者都是“抓得住老鼠”的好貓,但是如何把他們合在一起適當分工是不是能成為更強大,更高效的貓呢?答案是肯定的。
前端是存在計算性能上的不足,存在空間上的拘束,但是它還是能承擔一些分析工作的,而且最重要的是它的保有量大,每臺做一點基礎的分析工作,后臺再在這些分析的成果基礎之上做進一步的分析,將能大大降低后端服務器的工作壓力。典型的,如現在的人臉智能分析方案中,如果采用后端引前端實況流分析的方案,一臺E5的服務器能做到4~5路已經很高了;但是同樣的服務器如果用前后端融合的方案,前端負責人臉的跟蹤和抓拍,后端負責分析,一臺服務器就能做到24路甚至更高,這就能大大降低用戶的部署成本。
當前,阻擋前后端方案融合的最大障礙是標準的問題,各個廠家都是按照自己的理解定義接口,定義邊界,廠家之間互通的唯一方式就是對接開發;因此,現在如果涉及到跨廠家的智能分析都更多的還是采用純后端或者純前端的方案,這是智能發展需要解決的重要問題。
智能分析在智能交通中的應用前面也多次提到過,智能分析功能在智能交通行業的應用是最成熟的,其中最重要的啟動點是車牌識別的識別率達到了應用的要求,以及在此基礎之上形成的電子警察以及其他各種解決方案,在這里簡單介紹一下:
1) 電子警察。車牌識別、紅綠燈口車輛跟蹤和抓拍等技術形成的電子警察的出現極大的提升了交警的交通管理能力,讓交通違法抓獲由一個概率事件變成了必然事件,一舉解決了2012年前需要雇一堆的小姑娘進行闖紅燈抓拍而且還抓不全的問題。近兩年隨著技術的成熟,虛擬線圈又替代了地感線圈,又降低了電警的施工難度和安裝成本,使得電子警察的覆蓋面越來越廣;
2) 電子卡口。在電子警察中嘗到智能分析甜頭的用戶,在開始進一步考慮城市車輛的監控和管理,因此電子卡口的業務就產生了,記錄車輛的行進軌跡,根據行進軌跡進行車輛異常行為的分析,對接車管庫進行車輛的核查等各種業務都開始落地。隨著技術的成熟,和開車犯案的案例增多,公安部門也開始介入到卡口業務的建設,希望通過對車輛的排查進行案件的偵破的技戰技術開始提出來,并產生了不少的成果;
3) 交通綜合管控。隨著上述技術的成熟,交警希望把道路上的各種資源統一調度起來,根據車流量情況和道路狀況自動進行紅綠燈的調配、以及其他道路疏導提示系統的調度,交通綜合管控平臺的成熟將對交警行業產生又一次重大的影響。其后,只要源源不斷地將新成熟的智能算法、分析算法納入到這個平臺中,這個平臺就能具備越來越強的管理能力。
當然在智能交通中,還有其他很多的智能技術在逐漸成熟,包括車輛的異常行為檢測,車型車款識別等等,這些都將助力智能交通行業的快速發展。
(本文作者陳燕兵現任宇視系統規劃師、尹鵬現任職于天津市公安局和平分局)