1. 程式人生 > >支付寶技術專家李戰斌:安防視訊行為分析系統的技術演進及應用場景 | 2018FMI人工智慧與大資料高峰論壇(深圳站)

支付寶技術專家李戰斌:安防視訊行為分析系統的技術演進及應用場景 | 2018FMI人工智慧與大資料高峰論壇(深圳站)

10月28日FMI 2018人工智慧與大資料高峰論壇深圳場圓滿落幕,支付寶技術專家李戰斌以安防視訊行為分析系統的技術演進及應用場景為主題進行了精彩的分享。

 

支付寶技術專家李戰斌

 

以下是李戰斌的演講內容,飛馬網根據現場速記進行了不改變原意的編輯(有刪減):

 

李戰斌:各位朋友,下午好!很榮幸來到這裡和大家分享我近10年在安防視訊行為分析領域做的工作以及自己的感想。

  

我今天分享內容的標題是《安防視訊行為分析系統的技術演進及應用場景》 。

 

01

第一部分:視訊安防市場與行業形態

 

目前的安防市場很大的但是也很散,沒有像網際網路一樣形成一個模式,因為它是貼身戰的行業,技術僅僅是一個方面。

 

安防市場的分佈大概就分佈在這幾個行業,公安、交通、樓宇、金融、文教、能源和司法等。公安方面用得比較多的是人臉識別、刑偵檢測。這不是我們視訊行為分析的主戰場,也不是初創公司開始要進入的行業,因為這個地方會涉及到入行門檻,也就是誰能拿到專案的問題。我們的著力點是除了公安、司法之外的交通、樓宇、金融、文教和司法的一部分。這幾個裡面對行為分析需求比較大,我們進一步把這個概念縮小。行為分析方面,安防有這麼多企業,海康、威視佔比最大,前兩大基本上佔了整個市場的50%,剩下其他公司利潤相當薄。很多安防公司也在尋找像高清、智慧化的轉變之路,在智慧化方面希望超過前面兩大企業。

 

聽起來網際網路公司很高大上,其實2018年,北京的安防展上,包括阿里、騰訊等公司都去佈局安防行業了。可以說從之前的NVR、DVR和高清攝像機藉助人工智慧的力量去進行行業佈局,現在已經達到線下肉搏戰的程度,去通過貼身戰佔領B端和主要的監控市場。

 

監控行業的上下游

 

 

這裡有這麼幾個行業,炒股的人會很關注一個企業是舜宇學,下來就是人工智慧、視訊分析,還有一個處理晶片。

 

今天是技術的會議,我希望縮小到某些細節的技術,讓大家有所得,也有路的指引。大家都說的事情是軟體定義攝像機,其實前面說的晶片,包括雲端的、終端的。現在企業分為兩大派,一派是全部把資料傳到雲端處理,也就是視訊。現在把這些東西放到攝像機和雲端處理,這兩方面都在競爭,各有利弊。現在網際網路大佬很希望把這件事情做到雲端,包括阿里雲、騰訊雲、華為雲都在打“AI+雲”或者“雲+AI”。雲端處理的好處是雲處理的資源優,同時AI演算法在雲端很容易落地,它的門檻比較低,可以快速適應市場變化。端上的ASIC週期比較長,從晶片設計、流片等,起碼要12-24個月,週期太長,而且成本很高,失敗率還是比較大。晶片大概分了這麼幾個細分的方向,一個是雲端的訓練晶片,即資料中心;還有就是安防攝像頭晶片以及自動駕駛。

 

初創公司一般都是在IPG上進行驗證,然後在ASIC上進行產品化,這樣能耗比較低,特別是自動駕駛行業,還有IOT上需要的東西就是需要低能耗、高計算,這塊我們和谷歌等國外的企業差別很大。它的能耗比已經達到了1225,我們國內引以為傲的寒武紀也就是350,差了4倍,路還是很長的。

 

國內雲天勵飛的ASIC晶片也在宣傳,安防專案從專案諮詢到工程勘測、施工督導、使用培訓、系統升級到後期維護,就是安防行業基本的流程。

 

02

第二部分:視訊分類檢測與跟蹤技術

 

智慧視訊應用的產品分為前端裝置、平臺系統、視訊應用,包括視訊內容分析,之前是叫模式識別,現在叫內容的提取或者模式識別,還有視訊質量保證。這些之前都是用傳統的機器學習方法做的,隨著技術的發展,特別是人工智慧的技術出現,可以說單點技術方面,包括功能項,每個功能項的技術沉澱使得技術的演進已經發生很大的變化,可能有一點是沒有變的,那就是軟體系統的變化很小。

 

對於初級的演算法,可能關注更多的是演算法的實現部分。對於專案的架構人員來說可能更多關注軟體的實現,軟體實現的生命週期。軟體很久沒有變,但是裡面的演算法更新很快,所以架構的設計很重要,它和人工智慧的演算法相輔相成。

    

影象是二維的東西,比較難,但是收入也很高。

行為跟蹤與識別、語義分析、行為預測、行人線上檢測,線上是離開這個攝像頭,過一段時間之後再出現,判斷這兩個人是不是同一個人。

 

接下來說一下方法,目前深度學習相關的目標檢測方法大致分為兩派:

 

一、基於區域提名檢測

從名字可以看到,基於區域的提名,也就是說這個地方先通過CNN檢測,檢測出來很多框,框完以後再提名出來,進行選擇。或者抑制或者再加一些判斷,把一些不需要的框或者知情度比較低的框刪掉。

 

二、端到端的檢測

端到端,它的方法有它的好處,速度快。

Single Shot,魯棒性、速度等比較快,而FasterRCNN的準確度很高,但是它的速度有問題,因為它的卷積層、全連線層還有再提名。SSD在這方面結合了Faster R-CNN的一些優點,當然它也有缺點。現在已經發展到YOLOV3,mAP的值越來越高,代表它的相對準確。

 

檢測是視訊行為分析的第一步,真正開始是在這裡。檢測出來,知道這裡有人出現,只能滿足把這塊的演算法進行升級,把周界的防範的方法進行升級,入侵檢測等等十幾項內容進行升級,但是真正要升級的東西並不在這兒。

 

大家對安全要求越來越高,你不會因為山竹來了,當天晚上發生的事情無法預測,對安防來說這件事情是不能容忍的。

 

對檢測內容的更細分化,也就是結構化。檢測物件,之前檢測的是人,後面檢測還要出現男性、戴帽子等等,在於個體內容的描述,包括跨攝像頭跟蹤的技術,可能就需要在座的各位以及包括我在內的人進一步做的事情。

 

03

第三部分:視訊行為跟蹤識別及語義分析技術

 

就視訊向行為分析來說,我們最終關心的有兩件事,即人和物。

一般情況下,物的屬性大多數是呈現靜止狀態或者存在狀態;但是人一般具有活躍性,而且能做出一些反常理的事情。

 

整個安防的行為分析檢測是針對異常行為的處理,這時候會把重點放在物體的存在屬性。隨著人工智慧技術和深度學習技術的出現,對人更深入的分析轉化為視訊行為跟蹤,包括語義分析細分上。

 

借2016年的CVPR的第一名的文章,大概說一下人體行為分析這個技術是什麼樣的流程。VGG net+CPM的背景可能沒有介紹,CPM有一些dentist net的意思,把前面的東西抽出來,有6個stage完成人體的檢測過程。之後出現PCM和PAF兩個輸出,其中有一個分支是身體各部分位置的二維知情度圖,下面是各個部位親和力的二維圖—PF,即人的關鍵點相互之間的關係,因為一點點出來,在影象上它的點是很相近的,怎麼樣判斷出這個點的連線順序,比如0號點和1號點的關係,下一個點確認是5號點而不是6號點,怎麼串起來。因為人的姿態變化很多,而且背景干擾影響很大,這裡提出一個二維親和力圖。它的網路就是這樣,分兩個階段的結構圖。

 

重點我想說一下它的創新點,它的創新點在PAF這塊,它對於類類關鍵點的區分和類間關鍵點的區分上做後處理,一下子降低CNN的計算量。

 

這裡建議如果想跨入人工智慧門檻的同學先了解傳統機器學習方法,把高數先提高起來,再去看現在所謂的深度學習。

 

04

第四部分:深度攝像頭的視訊行為分析技術。   

 

深度攝像頭現在發展特別火,目前有兩個類別,一是結構光,一個是TOF,結構光相對入門門檻比較低,做到精深級別相對容易。TOF級別對半導體技術要求更高,這塊目前國內是短板。

 

kinect之前在這裡做比較好,它把2D向前推了一步,推到3D。玩過遊戲的就知道,它對外提供API供大家呼叫,這塊國內有好幾家企業,包括奧比中光、華為等幾家企業做這個事情。深度攝像頭這塊應該是很大的突破,或者說很大的技術轉折點,包括之前從最早的黑白攝像頭到彩色多了一個色道,後來把音訊加入進去,到現在從模擬到高清,解決了資料量的描述、清晰度問題,一直到現在維度上要高了一維。

 

如果你對行業有足夠的敏銳性或者對行業有很深刻的瞭解,網際網路經常有一個詞是降維打法或者升維,別人降維是在高位才能降得下去。3D這件事是很有歷史意義的事情,3D攝像頭對物體檢測和跟蹤有什麼作用呢?本質物理屬性上是Mask的作用,把空間的感知,距離感傳遞出來。距離感本身在影象上去處理,可以認為它是多了一個channel的作用。

 

行為語義識別

 

目前來說在手機上都想做這件事,當你把這件事情瞭解完以後,你會覺得前面的技術low了,因為技術在發展。比如前面說你做了自帶識別,別人後面的技術有自帶跟蹤,你達到1秒鐘10幀,人家加跟蹤1秒達到20幀、30幀、50幀,再後來加入深度攝像頭把演算法精減,因為獲得的資訊量增大,Mastk作用增大,把網路降下來,用深度填充進去,把計算量放到ASIC晶片裡面做,市場很小,包括手機上都有。

 

接下來講講娛樂或者語義分析,手機方面做的事情。上海交大和騰訊合作的,它一直服務於騰訊優圖,盧策吾團隊。這方面是結合表情、人體姿態,包括後續的聲音,也就是說在行為識別方向,不單是最早的時候我所提到的,後面分析以後會向多模態。和自動駕駛比較類似,單一感測器已經不能滿足精度的需求,它會向雷達、視覺、IMU等等結合,這塊會向視訊、音訊等東西進一步結合,獲取更進一步對人精準的描述。這些技術其實也是一種大資料,就是新零售裡面誰能把握住使用者的眼球,誰能瞭解到使用者的心理和使用者的購買慾望,這些感測器前端的資料才是最真切的、第一手資料。後續的發展方向,包括其他的方向,也就是大家要著力的點。

 

05

五、終端推理模型的壓縮提速技術

 

推理模型的壓縮和提速是另外一個技術,這個技術的入手人是誰呢?除了剛才說的一堆東西之外,另外一部分人包括之前做過編解碼、彙編的,或者做過嵌入式的人,這裡不是嵌入系統開發,而是嵌入底層系統開發,同時也包括移動端的內容和嵌入式的組合語言等,還有更底層晶片開發的應用,後續都可以走這條路。

 

剪枝

大家很容易理解,把神經元或者枝椏什麼的都砍掉,這是字面意思。

 

操作這塊,它相對來說是有些複雜度的,因為剪枝會影響到這個模型能不能用的問題,一是剪的對不對,二是剪的好不好。剪枝帶來的收益是會降低模型的包大小,會壓縮模型的包大小,提速稍微弱一些,沒有很直接的關係,主要是降低包大小。如果要提速,可能要和其他的OP結合。有好幾個企業已經發布了這樣的產品,比如支付寶的xNN,騰訊的NCNN,這些產品走的是壓縮、量化、定點化的這條路。

 

剪枝,你怎麼剪?前面給大家總結了一下,剪前端對精度影響大,越往後剪影響反而小。可能大家對VGG比較瞭解,前端的weight的個數比較小,後面越來越大,你剪後面的影響小,另外前面的特徵是比較底層的特徵,後面就已經比較高階語義化了,剪後面相對之間,語義化的時候,大家交錯冗餘量比較大,後端底層的資訊剪的就少。大概剪到50%,精度偶爾會因為剪了而提高,主要在魯棒性,剪了以後魯棒性反而得到提高。

 

量化和定點化

量化其實就是float到int的變化,本質沒有什麼,計算還是Float,因為模型下載或者上傳的時候,你的包比較大,由於傳輸介質的影響,包傳輸失敗,量化解決這個問題。這個開發週期比較短,重點是線性量化方法和非線性量化等。

 

定點化會涉及OP的計算。相對來說它要做一些操作,針對不同的卷積方式,比如說空洞卷積或者其他定製卷積方式,你要寫這些操作,你要寫這些OP,這些OP用底層的neon或者其他底層語言完成這個操作,操作在對應的過程中進行替換,在這裡面計算Min max,對映到一定空間,然後再呼叫相關的計算進行操作,再升為float,因為中間把min max已經進行儲存了。其實冗餘操作,這就是針對多層的情況下,多個channel之間的相互影響,進行的計算。可以看到如果做定點化做得比較好,它的精度反而會提升的。

 

我的分享就到這裡。謝謝大家!

 

關注公眾賬號

飛馬會

 

 

 

 

往期福利

關注飛馬會公眾號,回覆對應關鍵詞打包下載學習資料;回覆“入群”,加入飛馬網AI、大資料、專案經理學習群,和優秀的人一起成長!

回覆 數字“24”限時下載 | 132G程式設計資料:Python、JAVA、C,C++、機器人程式設計、PLC,入門到精通~

 

回覆 數字“25”限資源 | 177G Python/機器學習/深度學習/演算法/TensorFlow等視訊,涵蓋入門/中級/專案各階段!