文/滿江月
近幾年,智能視頻分析技術(shù)成為安防企業(yè)爭(zhēng)相追逐的熱點(diǎn)和亮點(diǎn)。對(duì)于這一現(xiàn)象的理解,需要我們回溯到安防的本質(zhì)。筆者認(rèn)為,安防本質(zhì)上是為了保障人身和財(cái)產(chǎn)的安全。傳統(tǒng)的安防技術(shù)更多地強(qiáng)調(diào)事中響應(yīng)的實(shí)時(shí)性或事后查證的有效性。所以,高清、無(wú)損和無(wú)延時(shí)代表了過(guò)去幾年安防行業(yè)的主要發(fā)展方向。無(wú)論是IP方案中的4K、H.265,還是同軸方案中的HDCVI、HDSDI,都圍繞著這一方向向前發(fā)展。但隨著高清的普及,攝像機(jī)設(shè)備也越來(lái)越多,如何有效利用這些資源,成為了業(yè)主用戶頭疼的問(wèn)題。大量的設(shè)備處于“睡眠”狀態(tài),只有當(dāng)發(fā)生人身?yè)p害或財(cái)產(chǎn)損失的事件后,才被“激活”。這種“監(jiān)而不控”的狀態(tài)顯然不是業(yè)主的訴求。于是,智能視頻分析技術(shù)應(yīng)運(yùn)而生。
智能視頻分析技術(shù)(Intelligent Video Analysis,IVS)利用一些圖像處理、模式識(shí)別或機(jī)器學(xué)習(xí)等領(lǐng)域的算法來(lái)分析視頻序列中的信息,以達(dá)到理解視頻內(nèi)容的目的,也有人稱為視頻內(nèi)容分析(Video Content Analysis,VCA)。有了智能視頻分析技術(shù),我們就可以及時(shí)地發(fā)現(xiàn)視頻中的異常情況,第一時(shí)間做出反應(yīng),減少損失。
當(dāng)我們還在憧憬著智能視頻分析技術(shù)的前景時(shí),現(xiàn)實(shí)給所有安防智能化廠商上了沉重的一課。很多智能視頻分析技術(shù)受限于應(yīng)用場(chǎng)景,為了得到較好的準(zhǔn)確率,往往需要天時(shí)、地利、人和。“天時(shí)”是指天氣和時(shí)間,一般來(lái)說(shuō)陰天的效果要好于晴天、雨雪天氣,白天的效果要好于夜間?!暗乩笔侵钢?chē)h(huán)境,一般來(lái)說(shuō)空曠簡(jiǎn)單的場(chǎng)景要優(yōu)于擁擠復(fù)雜的場(chǎng)景?!叭撕汀笔侵溉说男袨?、狀態(tài)等,一般來(lái)說(shuō)稀松的人流、規(guī)則的運(yùn)動(dòng)方向更適合智能視頻分析的要求。好不容易湊齊了三個(gè)要素,提供了非常標(biāo)準(zhǔn)的場(chǎng)景,我們?nèi)钥赡苡龅街悄芊治觥傲T工”的情況。其實(shí),問(wèn)題就出在算法本身上。
首先,傳統(tǒng)的智能分析算法通常采取人工選擇特征的方法,如尺度不變特征(Scale-Invariant Feature Transform,SIFT),方向梯度直方圖特征(Histogram of Oriented Gridients,HOG),局部二值模式特征(Local Binary Pattern,LBP)等。很明顯,特征選擇的好壞直接決定著算法準(zhǔn)確率的上限。算法研究團(tuán)隊(duì)的重點(diǎn)任務(wù)變成了投入更多的人力去挖掘出更好的特征。數(shù)據(jù)集越大,特征越難發(fā)現(xiàn)和選擇,就好像一個(gè)無(wú)底洞一樣,不斷地試探,不斷地積累,時(shí)間和人力成本相當(dāng)之高。而所謂SIFT特征、HOG特征、LBP特征,都是算法人員在某種假設(shè)的前提下,尋找特定數(shù)據(jù)集在某一層面的表示。但這種表示是否真的有效,還是要靠算法人員的經(jīng)驗(yàn)和運(yùn)氣呢?每種特征都有自己的提取方式,遵循著自己的理論支持,但如果理論假設(shè)本身與現(xiàn)實(shí)相悖呢? 我們無(wú)從知曉。
其次,有些智能分析算法模型為淺層學(xué)習(xí)模型,如支持向量機(jī)(Support Vector Machines,SVM)、邏輯回歸(Logistic Regression,LR)等。淺層學(xué)習(xí)模型通常有0或1層隱層節(jié)點(diǎn),可以在一定規(guī)模的數(shù)據(jù)集下發(fā)揮較強(qiáng)的表達(dá)能力。但當(dāng)數(shù)據(jù)量不斷增大時(shí),這些模型就會(huì)處于欠擬合的狀態(tài)。通俗點(diǎn)說(shuō)就是數(shù)據(jù)量太大,模型不夠復(fù)雜,覆蓋不了所有數(shù)據(jù)。而算法模型無(wú)法解析大數(shù)據(jù),直接制約了其應(yīng)用的廣度和深度,也限制了其進(jìn)一步發(fā)展的空間。
淺層學(xué)習(xí)模型示意圖
深度學(xué)習(xí)技術(shù)的興起,為我們解決了以上問(wèn)題。在討論深度學(xué)習(xí)技術(shù)之前,我們先來(lái)談一談大數(shù)據(jù),因?yàn)樯疃葘W(xué)習(xí)與大數(shù)據(jù)密不可分。
生活在大數(shù)據(jù)時(shí)代的算法人員是幸運(yùn)的,因?yàn)樗麄儞碛袛?shù)據(jù);生活在大數(shù)據(jù)時(shí)代的算法人員也可能是不幸的,如果他不懂得如何利用這些數(shù)據(jù),陷入數(shù)據(jù)的汪洋中無(wú)從抽身。大數(shù)據(jù)對(duì)智能視頻分析技術(shù)有著深遠(yuǎn)的影響意義。
大數(shù)據(jù)時(shí)代為算法研究提供了足夠多、足夠豐富的訓(xùn)練樣本。樣本的容量和種類(lèi)是算法模型是否具有泛化能力的重要因素。換句話說(shuō),訓(xùn)練樣本集的規(guī)模決定了模型能否對(duì)訓(xùn)練樣本以外的數(shù)據(jù)有效的解釋。如果用10萬(wàn)個(gè)樣本來(lái)訓(xùn)練,我們可以通過(guò)抽樣和概率分析來(lái)預(yù)測(cè)100萬(wàn)量級(jí)的數(shù)據(jù)。而我們?nèi)绻?0億個(gè)訓(xùn)練樣本,那么預(yù)測(cè)10萬(wàn)甚至100萬(wàn)量級(jí)的數(shù)據(jù)相對(duì)就容易得多。傳統(tǒng)的算法研究不可避免地要遇到小樣本問(wèn)題(Small Sample Size,SSS),為了解決小樣本問(wèn)題,模型中加入了很多技巧性的手段,并都沒(méi)有本質(zhì)的區(qū)別,小樣本仍然存在。大數(shù)據(jù)時(shí)代,問(wèn)題的解決就變得簡(jiǎn)單粗暴多了。將所觀測(cè)到的海量數(shù)據(jù)扔進(jìn)模型中訓(xùn)練,只要模型足夠復(fù)雜,就能夠有效地表示這些數(shù)據(jù)。
大數(shù)據(jù)時(shí)代為算法研究提供了高效的計(jì)算工具。前面提到,數(shù)據(jù)量的增加意味著需要更復(fù)雜的模型來(lái)詮釋它。我們辛辛苦苦構(gòu)建了一個(gè)模型,到頭來(lái)發(fā)現(xiàn)模型無(wú)法求解,或者求解的時(shí)間遠(yuǎn)遠(yuǎn)超出我們的想象。我們只能眼巴巴地看著一堆數(shù)據(jù),然后酸酸地說(shuō),大數(shù)據(jù)似乎沒(méi)那么有用。值得慶幸的是,有人已經(jīng)走在了前面。無(wú)論是分布式計(jì)算、并行計(jì)算還是云計(jì)算,都在為之努力,試圖解決日益增長(zhǎng)的計(jì)算能力需求。如著名的圖形處理器廠商N(yùn)VIDIA一直致力于基于GPU的通用計(jì)算,即GPGPU。它提供了一種強(qiáng)大的并行計(jì)算框架,展現(xiàn)出非凡的處理能力,NVIDIA還推出了用于GPU計(jì)算的CUDA開(kāi)發(fā)環(huán)境,降低了應(yīng)用開(kāi)發(fā)的門(mén)檻。
許多工業(yè)界、互聯(lián)網(wǎng)界的業(yè)內(nèi)大佬已經(jīng)開(kāi)始利用大數(shù)據(jù)開(kāi)發(fā)了一些系統(tǒng)。2012年谷歌大腦項(xiàng)目利用16000個(gè)計(jì)算機(jī)處理單元開(kāi)發(fā)出一套能夠自主學(xué)習(xí)的系統(tǒng)。他們向這個(gè)系統(tǒng)隨機(jī)提供1000萬(wàn)個(gè)從YouTube視頻中截取的貓的圖像之后,系統(tǒng)經(jīng)過(guò)訓(xùn)練能夠區(qū)分貓和其它目標(biāo)。如果僅僅做到這種程度,很多已有的模式識(shí)別技術(shù)都可以實(shí)現(xiàn)。這個(gè)項(xiàng)目特別的地方在于,沒(méi)有人告訴系統(tǒng)說(shuō)這些圖像是貓。也就是說(shuō),這個(gè)系統(tǒng)創(chuàng)造了“貓”的概念。這就像我們認(rèn)人一樣,通過(guò)不斷反復(fù)的相見(jiàn),我們才能記得彼此的長(zhǎng)相。百度也利用一個(gè)近10萬(wàn)小時(shí)的語(yǔ)音數(shù)據(jù)集開(kāi)發(fā)出一款語(yǔ)音識(shí)別系統(tǒng)。據(jù)介紹,這個(gè)系統(tǒng)可以在嘈雜環(huán)境下實(shí)現(xiàn)81%的準(zhǔn)確率。與傳統(tǒng)的語(yǔ)音識(shí)別系統(tǒng)不同,這套系統(tǒng)并沒(méi)有采取標(biāo)準(zhǔn)的、計(jì)算代價(jià)昂貴的聲學(xué)模型,而是給算法提供豐富的數(shù)據(jù),然后讓它自己去學(xué)習(xí),并取得了卓越的性能。
在這些成果的背后,有著一套共同的算法框架,那就是深度學(xué)習(xí)。前面提到過(guò)淺層學(xué)習(xí)模型,而深度學(xué)習(xí),往往含有更深的層次結(jié)構(gòu)。從仿生學(xué)的角度來(lái)看,著名的諾貝爾獎(jiǎng)得主休伯爾和威塞爾在對(duì)視覺(jué)皮層的研究中發(fā)現(xiàn),大腦皮層是分級(jí)處理視覺(jué)信息的。大腦皮層17區(qū)即V1區(qū),其中的簡(jiǎn)單細(xì)胞對(duì)邊緣和方向特別敏感。皮層下一級(jí)處理單元對(duì)形狀比較敏感。而更高級(jí)的皮層處理單元將抽象出目標(biāo)的概念。我們可以認(rèn)為高層級(jí)的特征是由底層級(jí)的特征組合得到的。越是低層,特征越簡(jiǎn)單,如一些直線、斜線、曲線等。越是高層,特征越抽象,越接近所要表達(dá)的意圖。舉個(gè)簡(jiǎn)單的例子,我們都知道,從字到詞,再到句,到語(yǔ)義,是層層深化的過(guò)程,這就是一個(gè)典型的深層結(jié)構(gòu)。我們回到圖像分析的范疇,對(duì)于一個(gè)圖片來(lái)說(shuō),最低級(jí)的特征是像素,也就是0到255的矩陣。我們通過(guò)像素,無(wú)法理解圖片里的目標(biāo)是什么。我們從像素中找到了邊緣特征,然后用邊緣特征組合成不同的部件,最后形成了不同種類(lèi)的目標(biāo)物。顯然這個(gè)是我們所想要實(shí)現(xiàn)的。
分層特征學(xué)習(xí)示意圖
2006年加拿大多倫多大學(xué)教授辛頓在頂尖的學(xué)術(shù)期刊《科學(xué)》上發(fā)表了一篇關(guān)于深度學(xué)習(xí)的論文,在學(xué)術(shù)界引起了巨大的反響。文章指出,深層的人工神經(jīng)網(wǎng)絡(luò)所學(xué)習(xí)的特征具有更強(qiáng)的表示能力,更有利于目標(biāo)分類(lèi)。深度學(xué)習(xí)初期是一種無(wú)監(jiān)督的特征學(xué)習(xí)算法,減少了人工干預(yù)的步驟,通過(guò)多層迭代得到更優(yōu)的特征。本質(zhì)上,深度學(xué)習(xí)也是一種非線性變換,但通過(guò)多層嵌套,更適合應(yīng)用于對(duì)大數(shù)據(jù)內(nèi)部關(guān)系的表示。
近年來(lái),深度學(xué)習(xí)在語(yǔ)音識(shí)別、圖像識(shí)別、自然語(yǔ)言處理等應(yīng)用中取得了顯著的成效。但是在安防行業(yè),深度學(xué)習(xí)剛剛起步。筆者注意到,已經(jīng)有很多安防企業(yè)開(kāi)始投入資源開(kāi)發(fā)基于深度學(xué)習(xí)技術(shù)的算法、產(chǎn)品。可見(jiàn),深度學(xué)習(xí)正影響著安防企業(yè),影響著智能視頻分析技術(shù)。接下來(lái)我們將從幾個(gè)行業(yè)應(yīng)用來(lái)分析深度學(xué)習(xí)的前景。
大家一定看過(guò)類(lèi)似的新聞報(bào)道,說(shuō)“某某大學(xué)/企業(yè)研發(fā)的人臉識(shí)別算法在LFW數(shù)據(jù)庫(kù)上擊敗人類(lèi)”。首先需要指出的是,在LFW數(shù)據(jù)庫(kù)官方網(wǎng)站上排名靠前的算法大多采用深度學(xué)習(xí)算法,如香港中文大學(xué)的DeepID算法、Face++公司的Face++算法、谷歌公司的FaceNet等。但是,這個(gè)結(jié)果只能表明在特定數(shù)據(jù)集、特定測(cè)試環(huán)境下的算法性能。事實(shí)上,在安防領(lǐng)域的人臉識(shí)別還沒(méi)有達(dá)到理想的效果。究其原因,視頻中的人臉處在一種非常復(fù)雜的狀態(tài)。光照、姿態(tài)、表情、飾物、分辨率等都影響著人臉識(shí)別算法。已有的訓(xùn)練算法,或者說(shuō)已有的訓(xùn)練數(shù)據(jù)無(wú)法調(diào)整出一個(gè)具有很強(qiáng)泛化能力的算法模型。未來(lái)的人臉識(shí)別模型如果想要取得突破,一方面需要更多更豐富的樣本數(shù)據(jù),如各種光照、姿態(tài)、表情下的人臉圖像。誰(shuí)掌握了大數(shù)據(jù),誰(shuí)將搶奪先機(jī)。另一方面,深度學(xué)習(xí)模型還需要進(jìn)一步優(yōu)化。深度模型的理論性還需要加強(qiáng)。到底什么樣的模型才算是最優(yōu)的表示,目前并沒(méi)有很好的答案。
非約束條件下LFW戶外人臉數(shù)據(jù)集比對(duì)結(jié)果
作為智能交通的一個(gè)典型應(yīng)用,車(chē)輛特征識(shí)別一直是安防廠商重點(diǎn)關(guān)注的技術(shù)領(lǐng)域。早期的車(chē)輛特征通常為車(chē)牌號(hào)碼和車(chē)身顏色等。前幾年各大廠商推出的產(chǎn)品都能對(duì)車(chē)牌號(hào)碼和車(chē)身顏色進(jìn)行準(zhǔn)確識(shí)別,但對(duì)于車(chē)輛品牌和車(chē)型系列這些更加復(fù)雜的信息特征,并沒(méi)有很好的識(shí)別手段。近兩年,深度學(xué)習(xí)技術(shù)興起,很多廠商利用大規(guī)模的數(shù)據(jù)集訓(xùn)練取得了實(shí)質(zhì)性進(jìn)展。目前行業(yè)水平已經(jīng)可以達(dá)到上千種車(chē)系和上百種車(chē)標(biāo)的識(shí)別。識(shí)別的準(zhǔn)確率也已達(dá)到實(shí)用程度。今后的智能交通設(shè)備所能提取的車(chē)輛特征將更加豐富,將有助于提升業(yè)務(wù)部門(mén)的工作效率,推動(dòng)智能交通行業(yè)的發(fā)展。
車(chē)輛特征示意圖
深度學(xué)習(xí)還有很多應(yīng)用場(chǎng)景,只要涉及到目標(biāo)檢測(cè)、目標(biāo)識(shí)別的地方,理論上都可以應(yīng)用深度學(xué)習(xí)來(lái)解決。就像百度首席科學(xué)家吳恩達(dá)在一些報(bào)告中提到的,深度學(xué)習(xí)可以取代現(xiàn)有的很多特征提取、目標(biāo)檢測(cè)技術(shù)。在未來(lái),深度學(xué)習(xí)技術(shù)將與安防應(yīng)用碰撞出更多的火花。
智能視頻分析技術(shù)從產(chǎn)生開(kāi)始,一直備受關(guān)注。經(jīng)歷了起初的期待,走過(guò)了應(yīng)用的無(wú)奈,到如今重新審視技術(shù)本身,智能視頻分析確實(shí)還有很長(zhǎng)的一段路要走。深度學(xué)習(xí)和大數(shù)據(jù)為智能視頻分析技術(shù)提供了前進(jìn)的方向。我們也期待,未來(lái)有更多新的、合理的模型出現(xiàn),為我們提供可用的方法,讓設(shè)備真正擁有“智能”,讓安防真正成為大家心目中的“智能安防”。