文/吳參毅 浙江宇視科技有限公司首席算法架構(gòu)師
智能分析歷史
視頻監(jiān)控智能分析主要指的是從視頻監(jiān)控圖片或視頻中進(jìn)行對(duì)象檢測(cè)、識(shí)別、以及行為分析,進(jìn)行事件檢測(cè)。如圖1所示。其中需要檢測(cè)的對(duì)象只要為行人和車輛,人的各種靜態(tài)屬性和動(dòng)態(tài)屬性檢測(cè)識(shí)別、各種機(jī)動(dòng)車輛和非機(jī)動(dòng)車輛的靜態(tài)屬性和動(dòng)態(tài)屬性的檢測(cè)識(shí)別。其中人的靜態(tài)屬性包括:人臉檢測(cè)與識(shí)別,人臉面部表情檢測(cè)與識(shí)別,人頭發(fā)式檢測(cè)與識(shí)別,人體衣服顏色與款式檢測(cè)與識(shí)別,行人背包檢測(cè)與識(shí)別,行人軌跡檢測(cè)與軌跡分析。車輛檢測(cè)包括機(jī)動(dòng)車牌識(shí)別、車輛顏色檢測(cè)、車型檢測(cè)、駕乘人員檢測(cè)與行為識(shí)別、車輛軌跡檢測(cè)與軌跡行為識(shí)別。
在視頻監(jiān)控中,除了主要檢測(cè)的人和車對(duì)象外,針對(duì)某些專門領(lǐng)域,還會(huì)需要檢測(cè)各種別的物體,比如煙火檢測(cè)、移動(dòng)物體闖入禁區(qū)檢測(cè)、人群聚集檢測(cè),等等。
在上個(gè)世紀(jì)視頻監(jiān)控發(fā)展初期,其主要目的是進(jìn)行視頻圖像編碼后保存到數(shù)字硬盤(pán),以備事后查閱。但是視頻監(jiān)控的本質(zhì)要求是對(duì)客戶感興趣的事件進(jìn)行事前預(yù)測(cè)、事中干預(yù)、事后快速查閱。由此可見(jiàn),根據(jù)其本質(zhì)要求,視頻監(jiān)控的核心任務(wù),除了數(shù)字視頻編碼錄像之外,還有就是更高準(zhǔn)確而又快速的對(duì)各種事件進(jìn)行檢測(cè)和分析。
圖1 視頻監(jiān)控智能分析框圖
圖2傳統(tǒng)分類器和基于深度學(xué)習(xí)分類器對(duì)比[2]
在上世紀(jì)中使用的視頻圖像分析技術(shù)主要是各種圖像處理技術(shù)、傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)和機(jī)器學(xué)習(xí)技術(shù)?;蛘哒f(shuō)基于圖片和視頻的對(duì)象檢測(cè)與識(shí)別,一直就是計(jì)算機(jī)視覺(jué)學(xué)科的一個(gè)傳統(tǒng)課題。對(duì)視頻監(jiān)控場(chǎng)景的圖像處理也一直是圖像處理技術(shù)的傳統(tǒng)課題。
由于技術(shù)的飛速發(fā)展帶動(dòng)了計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)等學(xué)科的快速迭代,尤其是海量數(shù)據(jù)的出現(xiàn),IPC處理芯片性能的不斷提高,以及基于NVIDIA高速GPU分布式高性能計(jì)算平臺(tái)的出現(xiàn),對(duì)一些傳統(tǒng)的計(jì)算機(jī)視覺(jué)任務(wù)以及機(jī)器學(xué)習(xí)任務(wù),出現(xiàn)了性能更高,效果更好的新算法,這不僅提高了傳統(tǒng)視頻監(jiān)控智能分析任務(wù)的性能和效率,同時(shí)也改變著傳統(tǒng)視頻監(jiān)控智能分析業(yè)務(wù)應(yīng)用的架構(gòu)模式。
不論是傳統(tǒng)的方法,還是先進(jìn)的基于深度學(xué)習(xí)的方法,都是首先從視頻圖像中得到具有充分表達(dá)力的特征(feature),然后對(duì)訓(xùn)練樣本集合中的所有樣本提取特征,選擇一個(gè)適合的分類器,把樣本特征變換到一個(gè)可以輕松分開(kāi)的空間實(shí)現(xiàn)分類或者識(shí)別。如圖2所示。
智能分析技術(shù)熱點(diǎn)
視頻監(jiān)控領(lǐng)域內(nèi)的主要任務(wù)能夠快速而又準(zhǔn)確的對(duì)圖像視頻內(nèi)容結(jié)構(gòu)化,對(duì)各種客戶定義監(jiān)控事件能夠快速反應(yīng)。該任務(wù)所使用的計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)算法中只要是完成在圖像視頻中進(jìn)行對(duì)象的檢測(cè)和識(shí)別任務(wù)的算法,當(dāng)前效果最好的是深度卷積神經(jīng)網(wǎng)絡(luò)。
自從2012年Geoffrey Hinton團(tuán)隊(duì)中的Alex Krizhevsky在ImageNet2012基于圖片的多種類對(duì)象分類和檢測(cè)挑戰(zhàn)賽中,使用百萬(wàn)級(jí)的海量訓(xùn)練樣本,利用NVIDIA的GPU加速訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型AlexNet,得到的模型的分類和檢測(cè)錯(cuò)誤率遠(yuǎn)遠(yuǎn)低于傳統(tǒng)手工設(shè)計(jì)特征加分類器的思路。這一消息的發(fā)布,證明了基于海量訓(xùn)練樣本,使用GPU加速訓(xùn)練,學(xué)習(xí)得到的多層次特征的表達(dá)能力(如圖3和圖4所示)遠(yuǎn)遠(yuǎn)高于以往任何人工設(shè)計(jì)特征的表達(dá)力。這如同打開(kāi)了一個(gè)潘多拉盒子,極大的激發(fā)了機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺(jué)等領(lǐng)域在后續(xù)四年間的發(fā)展方向。
圖3 深度學(xué)習(xí)等于多層表征學(xué)習(xí)[2]
圖4 深度神經(jīng)網(wǎng)絡(luò)多層特征獲取方式[2]
如圖3所示,深度卷積神經(jīng)網(wǎng)絡(luò)具有分層的特征學(xué)習(xí)能力,通過(guò)在海量樣本集合上訓(xùn)練,可以得到底層特征(Low-Level Features)、中層特征(Mid-Level Features)、高層特征(High-Level Features),表征能力很強(qiáng),遠(yuǎn)遠(yuǎn)高于各種手工設(shè)計(jì)特征(Handcrafted Features)。這樣的訓(xùn)練模式不同于傳統(tǒng)的模式識(shí)別結(jié)構(gòu)。傳統(tǒng)模式識(shí)別架構(gòu)中,首先選定一種手工設(shè)計(jì)特征描述符,比如SIFT,SURF等特征,然后在正負(fù)樣本集合中進(jìn)行特征提取,使用提取的特征集合訓(xùn)練分類器。但是基于深度學(xué)習(xí)架構(gòu)的分類是一種端到端(End-to-End)的學(xué)習(xí)模式,即不僅僅是分類器(Classifier)通過(guò)訓(xùn)練得到,分層表征(Hierarchical representations)也是通過(guò)訓(xùn)練得到。最終得到的神經(jīng)網(wǎng)絡(luò)模型參數(shù)和分類器參數(shù)取決于海量樣本。學(xué)習(xí)得到的底層特征一般是一些邊,中層特征一般是一些曲線或者斑點(diǎn),高層特征一般是一些圖案。到底每一個(gè)具體層每個(gè)神經(jīng)元參數(shù)最終學(xué)習(xí)得到的值完全取決于訓(xùn)練樣本集。
如圖4所示,一個(gè)包含字符“0”的圖片通過(guò)多層非線性卷積濾波:濾波塊(Filter Bank)+非線性計(jì)算(non-linearity),然后通過(guò)匯聚操作(又成為池化,Pooling)減短特征維數(shù),最后得到一維化的輸出特征。
深度學(xué)習(xí)架構(gòu)另一個(gè)令人疑惑的地方就是,不同于傳統(tǒng)的研究方法,研究者們總能通過(guò)數(shù)學(xué)模型推導(dǎo)出結(jié)果,即可以從理論上證明其有效性。而深度學(xué)習(xí)僅僅是通過(guò)把模擬人類大腦皮層的神經(jīng)元(如圖5所示)工作機(jī)理的把一個(gè)個(gè)的神經(jīng)元(如圖6所示)排成陣列,然后把多個(gè)陣列排成多層,最后把每排間的神經(jīng)元進(jìn)行部分連接或者全部連接。
圖5 大腦皮層神經(jīng)元
圖6 神經(jīng)元
如圖3所示,神經(jīng)元具有一個(gè)軸突(axon)分支,同時(shí)有一個(gè)收集來(lái)自其他神經(jīng)元輸入的樹(shù)突樹(shù)(dendritic tree)。軸突通常在突觸(synapses)和樹(shù)突樹(shù)進(jìn)行通信。有一個(gè)軸丘(axon hillock),每當(dāng)足夠的電荷流出突觸,以使得細(xì)胞膜去極化后,就會(huì)生成峰值,軸突上的激勵(lì)峰值會(huì)注入電荷到突觸后的神經(jīng)元。
到底每一個(gè)神經(jīng)元陣列含有多少個(gè)神經(jīng)元(即特征層多寬),到底排多少層(即多深),完全由實(shí)驗(yàn)效果確定,至少到目前為止理論界并沒(méi)有發(fā)現(xiàn)令人信服的數(shù)學(xué)公式推導(dǎo)。這也是深度神經(jīng)網(wǎng)絡(luò)得到一部分學(xué)術(shù)研究者鄙視的原因。但是其相比傳統(tǒng)方法的效果提升的幅度之大,達(dá)到以往傳統(tǒng)研究方法的每次提升幅度的十幾倍甚至幾十倍。這極大的激發(fā)了實(shí)戰(zhàn)派投入深度學(xué)習(xí)的懷抱,在各個(gè)領(lǐng)域探索更加有效的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。所以在短短的四年時(shí)間里,全球的視頻圖像研究者不斷提出各種改進(jìn)版的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并在各種領(lǐng)域內(nèi)實(shí)驗(yàn)驗(yàn)證其更加有效性。
所以,深度神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí),對(duì)視頻監(jiān)控應(yīng)用來(lái)說(shuō),仍是當(dāng)下的研究熱點(diǎn),應(yīng)用熱點(diǎn)。視頻監(jiān)控智能分析算法正經(jīng)歷這深刻的變革。
智能分析與大數(shù)據(jù)融合
在視頻監(jiān)控領(lǐng)域,或者說(shuō)安防領(lǐng)域,智能分析,或者更進(jìn)一步說(shuō)人工智能,起著越來(lái)越重要的作用。隨著行業(yè)發(fā)展和技術(shù)發(fā)展,人工智能逐漸的變?yōu)榘卜李I(lǐng)域核心角色。人工智能領(lǐng)域的引領(lǐng)者,美國(guó)紐約大學(xué)數(shù)據(jù)科學(xué)中心和Courant數(shù)學(xué)科學(xué)研究所的Yann Le Cun教授,同時(shí)也Facebook AI Research的領(lǐng)導(dǎo)者,這樣定義一個(gè)人工智能系統(tǒng)(AI System)是學(xué)習(xí)代理(Learning Agent)+不可改變目標(biāo)(Immutable Objective),如圖7和圖8所示。同時(shí)一個(gè)人工智能系統(tǒng)也是:預(yù)測(cè)(Predicting)+規(guī)劃(Planning)=推理(Reasoning)
圖7 人工智能系統(tǒng)
圖8 人工智能系統(tǒng)(展開(kāi))
圖7表示的是一個(gè)人工智能系統(tǒng),圖8表示的是一個(gè)對(duì)代理人(agent)展開(kāi)了的人工智能系統(tǒng)。兩個(gè)圖均對(duì)代理人部分進(jìn)行轉(zhuǎn)門說(shuō)明。代理人通過(guò)觀察(Observations)從世界(world)獲得感知(percept/perception)。代理把行動(dòng)(actions)輸出(output)到世界上。代理人試圖把長(zhǎng)期期望代價(jià)(long-term expected cost)最小化。人工智能系統(tǒng)中,智能(intelligence)的本質(zhì)是預(yù)測(cè)能力(the ability to predict)。代理人首先進(jìn)行規(guī)劃(plan),然后仿真世界(simulate the world),并對(duì)感知進(jìn)行預(yù)測(cè)(predicted percepts),預(yù)測(cè)感知傳送給行動(dòng)者(Actor),同時(shí)世界仿真器也把推斷的世界狀態(tài)(inferred world state)傳給行動(dòng)者,行動(dòng)者對(duì)行為作出建議(action proposals),同時(shí)該建議又輸入給世界仿真器,世界仿真器根據(jù)真實(shí)世界狀態(tài)以及行動(dòng)者的行為建議對(duì)下一個(gè)時(shí)刻可能感知進(jìn)行預(yù)測(cè)。狀態(tài)評(píng)價(jià)函數(shù)critic對(duì)行動(dòng)者的狀態(tài)進(jìn)行評(píng)價(jià),輸出代價(jià)預(yù)測(cè)值。
從人工智能系統(tǒng)框圖來(lái)看,其核心就是通過(guò)觀察真實(shí)世界,然后對(duì)真實(shí)世界進(jìn)行仿真。機(jī)器需要學(xué)習(xí)、了解真實(shí)世界如何運(yùn)轉(zhuǎn)的,要獲取足夠程度的常識(shí)。人工智能系統(tǒng)需要通過(guò)觀察和行動(dòng)學(xué)習(xí)大量的背景知識(shí),需要感知世界的狀態(tài),以便進(jìn)行準(zhǔn)確的預(yù)測(cè)和規(guī)劃。人工智能系統(tǒng)需要更新和記住對(duì)世界狀態(tài)的估計(jì)值,尤其是需要注意一些重要事件,并記住相關(guān)聯(lián)的事件。人工智能系統(tǒng)需要規(guī)劃和推理,需要預(yù)測(cè)哪些行為序列對(duì)世界帶來(lái)怎樣的狀態(tài)。所以感知+預(yù)測(cè)模型+記憶+推理和規(guī)劃就等于智能和常識(shí):Intelligence & Common Sense = Perception + Predictive Model + Memory + Reasoning & Planning[2]。
所以鑒于神經(jīng)網(wǎng)絡(luò)的強(qiáng)大的學(xué)習(xí)能力,缺乏對(duì)真實(shí)世界的足夠感知,人工智能系統(tǒng)無(wú)法對(duì)真實(shí)世界形成常識(shí)。我們知道,在視頻監(jiān)控領(lǐng)域中的圖像視頻采集相機(jī),一天24小時(shí)的全天候的在采集數(shù)據(jù),同時(shí)現(xiàn)在的攝像機(jī)的分布規(guī)模已經(jīng)足夠大,對(duì)一個(gè)平安城市級(jí)別的視頻監(jiān)控來(lái)說(shuō),每天都會(huì)產(chǎn)生海量數(shù)據(jù),最后形成的大數(shù)據(jù),已經(jīng)具備對(duì)人工智能系統(tǒng)足夠感知的條件。這是視頻監(jiān)控的特點(diǎn),更是視頻監(jiān)控的優(yōu)勢(shì)。將來(lái)在采集視頻大數(shù)據(jù)的基礎(chǔ)上,進(jìn)行快速而又準(zhǔn)確的結(jié)構(gòu)化后,可以構(gòu)建各種人工智能系統(tǒng)。所以未來(lái)必一個(gè)趨勢(shì)將是視頻大數(shù)據(jù)的分析與挖掘。
安防企業(yè)智能分析技術(shù)實(shí)現(xiàn)
傳統(tǒng)的智能分析算法都是基于CPU或者DSP之類的通用編程平臺(tái),所以安防企業(yè)大都自己實(shí)現(xiàn)各種基于視頻圖像的對(duì)象檢測(cè)識(shí)別與跟蹤算法。進(jìn)入深度學(xué)習(xí)和人工智能時(shí)代后,算法性能更卓越的一個(gè)代價(jià)就是計(jì)算成本的大量上升,單純的使用軟件實(shí)現(xiàn)智能算法,尤其是在終端設(shè)備上,變得不再現(xiàn)實(shí)。所以給安防行業(yè)提供芯片的各個(gè)廠家會(huì)把各種計(jì)算機(jī)視覺(jué)算子和機(jī)器學(xué)習(xí)算子以加速引擎的方式嵌入到芯片中。尤其是最近時(shí)期,由于卷積網(wǎng)絡(luò)的目前只能在NVIDIA的GPU的計(jì)算單元陣列上實(shí)現(xiàn),所以目前的服務(wù)器形態(tài)智能分析大在GPU上實(shí)現(xiàn)。
在安防行業(yè),一般都是上游芯片企業(yè)提供智能加速引擎和GPU計(jì)算單元陣列,安防企業(yè)利用自身優(yōu)勢(shì),提供海量訓(xùn)練數(shù)據(jù),結(jié)合自身行業(yè)特點(diǎn)以及自身企業(yè)優(yōu)勢(shì),訓(xùn)練得到獨(dú)具特色和優(yōu)勢(shì)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),達(dá)到差異化和競(jìng)爭(zhēng)優(yōu)勢(shì)。
比如2016年10月份宇視科技與NVIDIA聯(lián)合發(fā)布了新一代大容量分布式云結(jié)構(gòu)化智能化分析服務(wù)器(代號(hào)“昆侖”),在4U的高度上支持了80顆NVIDIA Jetson TX1處理器,為業(yè)界最高密度,最強(qiáng)性能。一臺(tái)昆侖可以并發(fā)處理640張/秒的人臉識(shí)別、160路的人員計(jì)數(shù)、80路人車物的結(jié)構(gòu)化分析。同時(shí)2016年10月份宇視科技發(fā)布了基于Movidius+NVIDIA雙芯片深度學(xué)習(xí)人臉識(shí)別相機(jī)、深度學(xué)習(xí)智能交通抓拍相機(jī)、深度學(xué)習(xí)USB智能棒。
通過(guò)和代表人工智能行業(yè)最高端廠商合作,基于安防行業(yè)獨(dú)有的的海量數(shù)據(jù),緊緊跟蹤學(xué)術(shù)界深度學(xué)習(xí)算法的最新發(fā)展,宇視科技訓(xùn)練出了業(yè)界一流的各種神經(jīng)網(wǎng)絡(luò)模型。不論是在硬件設(shè)備上、還是海量數(shù)據(jù)上和算法結(jié)構(gòu)模型上,都達(dá)到了業(yè)界最高水平。
智能分析路線圖
安防行業(yè)從簡(jiǎn)單的智能分析到機(jī)器視覺(jué)技術(shù)及深度學(xué)習(xí),到最后的人工智能有沒(méi)有清晰的技術(shù)路線?其實(shí)安防行業(yè)作為一個(gè)專門的行業(yè),并不是一個(gè)獨(dú)立的行業(yè)。安防行業(yè)中的智能分析技術(shù)僅僅跟隨著計(jì)算機(jī)視覺(jué)、數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)(深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一個(gè)分支)的發(fā)展而不斷進(jìn)步。
最近一段時(shí)期,深度學(xué)習(xí)正經(jīng)歷著飛速發(fā)展,有人產(chǎn)生了疑問(wèn),深度學(xué)習(xí)會(huì)不會(huì)取代其他所有機(jī)器學(xué)習(xí)算法或者特征工程方法呢?肯定不是的,正如百度首席科學(xué)家,同時(shí)也是深度學(xué)習(xí)先驅(qū)之一的吳恩達(dá)就曾指出[3], 盡管人工智能已經(jīng)有很大范圍的影響了,但它在產(chǎn)業(yè)內(nèi)的應(yīng)用方式還極其有限。幾乎所有人工智能最近的進(jìn)步都是通過(guò)一種類型——即輸入數(shù)據(jù)(A)然后快速生成簡(jiǎn)單的回應(yīng)(B),比如:
圖9 機(jī)器學(xué)習(xí)能做什么[3]
可想而知,在安防行業(yè)的整個(gè)智能分析應(yīng)用中,并不是所有的業(yè)務(wù)都可以抽象成如圖9所示的A→B的關(guān)系。所以還需要很多種經(jīng)典的機(jī)器學(xué)習(xí)算法和計(jì)算機(jī)視覺(jué)算法,比如隨機(jī)森林,SVM,圖像分割、圖像掩碼、圖像形態(tài)學(xué)等等。
參考
[1]http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks
[2] Yan Le Cun “Unsupervised Learning: The Next Frontier In AI”
https://drive.google.com/open?id=0BxKBnD5y2M8NcmtIYVdtNkxTM2c
[3] https://hbr.org/2016/11/what-artificial-intelligence-can-and-cant-do-right-now