在傳統的智能分析之上,人工智能、深度學習的應用將安防推向至深度智能的新階段,一時間,圍繞著芯片和算法的討論成為業內探討人工智能應用必備的說辭。然而基于開源的代碼和網絡架構,各廠商采用的芯片和算法大多類似,如何在開源環境下重塑核心競爭力,本文將就此話題分享相關觀點。
文/吳參毅 浙江宇視科技有限公司首席算法架構師
人工智能對安防行業業務來講,主要是對傳統的智能分析業務的算法升級,而智能分析在安防業務應用中則主要用來實現對包含自然場景的視頻圖像進行結構化,其結構化的結果是對視頻圖像中的人、車、物等靜態和和動態目標及其各種屬性的檢測與識別。因此,總體來說,人工智能在解決對視頻圖像的結構化工作方面比傳統智能分析算法結構化的效果更好,性能更高。
從傳統智能分析算法到人工智能,關鍵在于神經網絡算法的優化升級,而這其中的關鍵,也正是從CPU過渡到GPU所帶來的突破。
GPU實現了深度神經網絡的技術突破
神經網絡并不是一個新鮮的概念,在上個世紀就出現了LeNet網絡,并運用在郵政編碼中的數字識別。但是使用后向傳播技術,神經網絡模型訓練樣本一個訓練樣本時需要反復迭代多次,訓練集中的樣本越多,運算量越大,基于CPU進行訓練,過程相當慢,達數日甚至幾個月之久,這正是制約神經網絡普及的一大因素。
GPU的出現把異常訓練過程大大縮短。所以,目前的各種深度神經網絡應用都是基于GPU實現。使用GPU搭建的神經網絡應用大都是服務器形態。比如2016年10月份宇視科技與NVIDIA聯合發布了新一代大容量分布式云結構化智能化分析服務器(代號“昆侖”),在4U的高度上支持了80顆NVIDIA Jetson TX1處理器,一臺“昆侖"可以并發處理640張/秒的人臉識別、160路的人員計數、80路人車物的結構化分析。
但是使用服務器實現智能分析,雖然GPU分析能力很強,但是服務器的視頻解碼壓力很大。最理想的方式是把神經網絡模型部署到前端采集相機,使得相機在輸出視頻圖像的同時同步輸出結構化信息。
人工智能在安防領域的應用基礎和優勢
目前的人工智能算法大都基于深度學習實現,深度學習訓練神經網絡模型是基于海量的訓練集,同時需要訓練集中的數據具有多樣性和完備性。
安裝在各種場景中的安防攝像機能夠實現24*365天式的全天候的采集,可以源源不斷的輸出海量的數據形成訓練集, 從這個角度來講,安防行業以其源數據信息量最大、數據層次最豐富的特性展現了在人工智能應用方面先天的優勢。
安防領域人工智能應用需要解決的問題
人工智能的應用已然成為趨勢,但要進入到下一階段的規模化應用,目前必須先解決這樣幾大問題:
1)視頻圖像結構化工作適合放在前端智能相機實現,不宜全部放在后端服務器端,雖然服務器上插有多塊GPU顯卡,因為多路視頻解碼會對服務器造成壓力,而這對GPU來說并不擅長。深度神經網絡結構部署在前端智能相機就需要強大而又附有擴展性的人工智能芯片(不論是ASIC模式還是IP加速引擎模式),而目前來看,能提供這樣功能的芯片的廠商很少,同時各種神經網絡結構層出不窮,現階段這個領域的技術發展還不很成熟,但這是未來的方向;
2)有了人工智能芯片,下一個差距就體現在大數據集上,所以對安防廠商來講,其最大的優勢就在于是否建立起完備的海量訓練數據集。現在的深度神經網絡訓練都是監督學習模式,所以需要對每個學習樣本依照完成的任務建立相應的監督標簽,這是耗時耗人力的工作,海量數據訓練集是用戶看不到的競爭優勢;
3)是否建立起可擴展的、快速、可移植的深度學習框架。對于深度學習來講,隨著訓練集的不斷變化,或者更優秀的網絡模型的出現,需要建立起一個可擴展的深度學習框架。所謂的可擴展,指的是訓練環境能夠擴展到多個GPU(跨多個主機),使用更大更復雜的訓練數據集,以訓練更復雜的模型的能力。由于深度學習模型可能需要幾天或者幾個星期才能訓練一次,因此即便是溫和地改進,也會對新模型的開發和評估速度產生巨大影響。同時選擇的深度學習框架能夠快速構建新模型和更新現有模型的能力。最終訓練得到的網絡模型可能運行在多種設備和平臺上,從多種服務器到多種智能相機,同時需要升級模型的智能相機一般都安裝在距離比較遠的位置,所以訓練得到的模型必須具備充分的可移植性。目前可用的深度學習平臺有Caffe、CNTK、MXNet、TensorFlow、Theano和Torch。
人工智能大環境下廠商的競爭之道
現在的各種深度學習框架代碼都已經開源,甚至一些訓練好的網絡模型也開源了,開源的方式無疑推動了行業的快速發展,因為現在的人工智能,僅憑一己之力做好會很慢,必須通過群策群力共同把人工智能做好,芯片廠商提供可用于后端服務器和前端智能相機的人工智能芯片,安防廠商基于自有的海量數據集,訓練特有的神經網絡模型。人工智能芯片和海量訓練數據集相輔相成,共同打造高性能的神經網絡模型,實現高質量的視頻圖像結構化,最終借助開源的力量,大家共同獲利。
基于開源的代碼和網絡架構,各廠商采用的芯片和算法大多類似,但對深度學習來講,根本的競爭力并不在算法和芯片上,真正的核心也并不是神經網絡代碼和網絡結構,而是基于具體行業應用的海量訓練數據集,以及是否建立起快速的、可擴展的、可移植的學習框架。有了基于行業的獨有的海量訓練數據集,就可以訓練得到相對競爭對手更優秀的模型。有了更優異的學習框架,就能夠快速的不斷的訓練出新的更優秀的模型,并對新模型進行快速部署,不斷的保持競爭優勢。