天天看點

CV困境如何破:訓練樣本有限、2D視覺平面 VS 3D真實場景...

有一天,伯克利研究院來了一位生态學家。他希望可以運用現代計算機視覺技術,基于他所拍攝的野生動物照片做一個動物識别系統。這聽起來就是一個基本的圖像分類問題,是以研究員們當時很自信,然而實際結果證明這個問題并沒有想象中那麼簡單,如圖 1 所示。

那位生态學家提供的資料庫是極端長尾且開放式的。通常當訓練資料不足時,我們首先想到的是有沒有可能擷取更多的尾部類别資料,而忽略那些會在測試集中出現的開放類别。遺憾的是,*收集更多資料無法解決那位生态學家的問題*。因為對于那些珍稀動物,這些生态學家可能要花相當長的時間才會在野外拍攝到,尤其一些瀕危動物,甚至需要等待幾年時間。

同時,新的動物物種不斷出現,舊的物種正在消失。在這樣一個動态變化的系統中,類别的總數永遠無法固定。并且從動物保護的意義上說,識别新發現的稀有動物會更有價值。如果我們的系統隻是可以識别常見動物,那這個系統永遠都不會有什麼實用價值。這就是計算機視覺甚至是人工智能所面臨的現實問題。

CV困境如何破:訓練樣本有限、2D視覺平面 VS 3D真實場景...
圖 1 計算機視覺環境與真實世界 (https://bair.berkeley.edu/blog/2019/05/13/oltr/)

一. 模型泛化

1. 困境

深度學習是非常依賴于資料的,而不管對于什麼任務,我們能擷取到的訓練樣本都是有限的,且通常所擷取樣本的品質非常依賴于資料人員的專業性,即針對所要學習的任務什麼樣的樣本最具有代表性,怎麼保證樣本的多樣性等等,而在實際應用中,真實場景是一個無限的集合,充滿着開放和未知,再豐富的訓練集都難以涵蓋無限的真實世界,是以保證模型的良好泛化至關重要。

另外,深度學習比較局限的一點在于,它認為真理存在于資料中頻繁出現的地方,是以當樣本類别不均衡時,樣本較少的類别很容易被忽略。并且,深度學習通常隻是模仿資料的内容,不會批判性了解,很難像人類一樣産生主觀感受。

2. 案例

現如今,人臉識别的應用是非常普及的,以一個公司的人臉識别門禁系統為例,通常系統的建構是以在公司内部采集人臉樣本開始的,通常這個過程是需要算法人員協助進行的,因為你不能保證一個資料采集人員能夠清楚得了解訓練一個好的人臉識别模型需要采集什麼樣的人臉。

另外,盡管在采集過程中,我們模拟了各種場景、各種光線條件、各種姿态,但都難以涵蓋真實應用場景,是以有時候為了保證系統精度,需要使用者進行多種配合行為,某種程度上損失了使用者體驗。再者,當我們根據采集到的樣本訓練并上線了模型,每當公司加入一個新的員工都需要重新訓練替換現有模型。

再比如,從前段時間 Google Allo 涉嫌歧視事件來看,深度學習每天接收的資訊是未經篩選的,因為你很難嚴格控制每一個使用者的言論,而深度學習就像一個毫無判斷力的孩子,什麼樣的知識都照單全收,僅僅做到了客觀而毫無公正可言,是以人工智能在超越人類這件事上還有很長的路要走。

3. 潛在解決方案

針對以上問題,除了[1][2]中提出的域适應方法外,[3]提出了一種開放長尾識别方法(OLTR),可以同時解決不平衡分類、小樣本學習和開集識别問題,作者提出将圖像映射到一個特征空間,這樣,視覺概念之間可以基于學習到的度量互相關聯,并且這種度量既認可了封閉世界分類又承認了開放世界的新穎性。其提出的動态元嵌入層結合了直接圖像特征和關聯的記憶特征,同時,特征範數表示了對已知類别的熟悉程度,如圖 1 所示。

首先,通過聚集源自頭部類别和尾部類别的知識獲得了視覺記憶;然後将存儲在記憶體中的視覺概念當作關聯的記憶特征重新注入,以增強原來的直接特征。我們可以将其了解為利用誘導知識(即記憶特征)來幫助實作直接觀察(即直接特征)。然後進一步學習了一個概念選擇器來控制所要注入的記憶特征的數量和類型。由于頭部類别知識已經獲得了豐富的直接觀察,是以它們隻被注入了少量的記憶特征。相反,尾部類别獲得的觀察很少,于是記憶特征裡的關聯視覺概念就非常有用。最後,通過計算出獲得視覺記憶的可達性,來調整開放類别的可信度。

CV困境如何破:訓練樣本有限、2D視覺平面 VS 3D真實場景...

圖 2: 開放長尾識别方法 (OLTR)

二.二維視覺平面與三維真實世界

計算機視覺接收的資訊是投射到相機平面的,是經過壓縮的,而真實世界是三維立體的,某種程度來看,其中的空間資訊是缺失的。視覺資訊是像素集合,且視覺任務通常采用卷積神經網絡,主要關注邊緣,而不是其他視覺特征,這個過程也是存在資訊丢失的。是以基于這些資訊,不管是識别或檢測任務,都為算法帶來了誤差,而這種誤差通常需要其他視覺之外的方式去彌補。

麻省理工學院的一個研究小組稍微調整了步槍的照片,就讓谷歌的雲端視覺分析服務 (Google Cloud Vision API) 誤認為這是一架直升機。僅僅做了一些人眼無法識别的改動就造成了計算機的圖檔分類錯誤。目前很多基于視覺的算法都很容易受到對抗樣本的攻擊額,比如下面這個經典的例子:如圖 2 所示給定一張熊貓的圖像,給圖檔添加了微小的噪聲擾亂,盡管人眼是很難區分的,但是模型卻以非常高的機率将其誤分類為長臂猿。

CV困境如何破:訓練樣本有限、2D視覺平面 VS 3D真實場景...

圖 3:對抗樣本攻擊

[4]通過充分利用立體圖像中的稀疏,密集,語義和幾何資訊,提出了一種用于自動駕駛的稱為立體聲 R-CNN 的三維物體檢測方法。擴充了 Faster R-CNN 用于立體聲輸入,以同時檢測和關聯左右圖像中的對象。通過在立體區域提議網絡(RPN)之後添加額外分支以預測稀疏關鍵點,視點和對象次元,其與 2D 左右框組合以計算粗略的 3D 對象邊界框。然後,通過使用左右 RoI 的基于區域的光度對準來恢複精确的 3D 邊界框。

該方法不需要深度輸入和 3D 位置,但是,效果優于所有現有的完全監督的基于圖像的方法。在具有挑戰性的 KITTI 資料集上的實驗表明,該方法在 3D 檢測和 3D 定位任務上的性能優于最先進的基于立體的方法約 30%AP。

[5]提出了一種抵禦對抗樣本的端到端圖像壓縮模型。對抗圖像和原始圖像之間的擾動非常小,但是在圖像分類模型的高層表示空間,擾動被放大。作者使用 ComCNN 去除去除對抗性圖像的備援資訊,再用 ResCNN 來重建清晰的圖像,這樣就抑制了對抗擾動的影響。

[6]提出了一種雙重注意力網絡(DANet),不同于以往通過多尺度特征融合捕獲語境,基于自注意力機制将局部特征與其全局依賴關系相結合,在傳統的基于空洞卷積的 FCN 上添加了兩個注意力子產品,分别對空間次元和通道次元的語義互相關聯進行模組化。位置注意力子產品通過所有位置的特征權重總和選擇性地聚集每個位置的特征。無論距離遠近,相似的特征都會互相關聯。

同時,通道注意力子產品通過整合所有通道圖中的相關特征,有選擇地強調互相關聯的通道圖。最後将兩個注意力子產品的輸出相加,以進一步改進特征表示,這有助于獲得更精确的分割結果。

三. 99% == 0% \ 精度與速度

某些實際任務中,人工智能仍然無法超越人類,為符合實際場景精度要求,通常會組合多種算法來實作,這種情況下模型實時性無法保證,是以需要模型加速。

對于自動駕駛或者人臉支付這種精度要求比較高的應用場景,百分之零點一的誤差都會導緻生命和财産的損失,是以很多時候 99.0% 就意味着 0%,是以通常需要結合多種算法以達到要求。另外很多視覺應用都在向手機端或嵌入端轉移,是以模型的高效也是非常重要的。尤其對于自動駕駛任務,如果檢測算法無法達到 10fps,尤其在高速路場景中,前車碰撞預警不及時,将會帶來極大的損失。

[7]提出了一種訓練卷積 l 神經網絡的方法,由于網絡中有很多多餘的權重,在訓練的時候把他們丢棄(pruning),接着訓練剩下的網絡,然後再把丢棄的參數找回來,可以極大的減少精度損失。并且作者指出,即使是一個參數很少(under-parameterized)的網絡,模型也會存在備援,因為訓練過程通常是低效的。

是以作者提出一種簡單的訓練方式,先訓練整個網絡,然後根據一定标準裁掉 30% 的 filter,再訓練剩下的網絡,再把裁掉的 filter 拿回來,用于現有 filters 正交的方式初始化,疊代這個過程 N 次即得到最終模型。

[8]認為模型剪枝方法通常成本高昂,在實作 FLOPs 壓縮時會導緻準确度顯著下降,而作者提出通過設計新的卷積核(kernel)來降低給定模型/架構的 FLOPs,同時無損準确度。文中作者也給出了大量實驗,證明該方法的 FLOPs 比目前最佳的剪枝方法顯著更低,同時還能維持基礎模型/架構的準确度。

現有的剪枝算法通常利用範數(Lp-norm)來衡量 filters 的重要性,是以範數較小的 filter 可以被去掉而不影響網絡性能。但該方法有兩個前提,一是濾波器範數分布的标準差要大,二是最小的範數要足夠小,但實際訓練得到的網絡并不總是滿足以上條件,進而導緻重要的 filter 被裁掉進而影響性能。

是以[9]提出了一種基于濾波器的幾何中心(geometric median)的剪枝算法,來對神經網絡進行壓縮和加速。該方法從幾何的角度出發,認為濾波器的幾何中心含有所有濾波器共同的資訊,是以臨近幾何中心的濾波器是可以被去掉的。這種新的剪枝方法,打破了以前的剪枝算法對濾波器範數的要求,提高了剪枝算法的适應性,是以取得了更好的性能。

本文作者韓放,北京化工大學研究所學生畢業,現在在一家物流公司做視覺方面的工作。

參考文獻:[1]Rui Gong, Wen Li, Yuhua Chen, Luc Van Gool.DLOW: Domain Flow for Adaptation and Generalization.In arXiv:1812.05418,2018.[2]Fabio Maria Carlucci, Antonio D''Innocente, Silvia Bucci, Barbara Caputo, Tatiana Tommasi.Domain Generalization by Solving Jigsaw Puzzles.In arXiv:1903.06864,2019.[3]Ziwei Liu, Zhongqi Miao, Xiaohang Zhan, Jiayun Wang, Boqing Gong, Stella X. Yu.Large-Scale Long-Tailed Recognition in an Open World.In arXiv:1904.05160,2019.[4]Peiliang Li, Xiaozhi Chen, Shoji Shen.Stereo R-CNN based 3D Object Detection for Autonomous Driving.In arXiv:1902.09738,2019.[5]Xiaojun Jia, Xingxing Wei, Xiaochun Cao, Hassan Foroosh.ComDefend: An Efficient Image Compression Model to Defend Adversarial Examples.In arXiv:1811.12673,2018.[6]Jun Fu, Jing Liu, Haijie Tian, Yong Li, Yongjun Bao, Zhiwei Fang, Hanqing Lu.Dual Attention Network for Scene Segmentation.In arXiv:1809.02983,2018.[7]Aaditya Prakash, James Storer, Dinei Florencio, Cha Zhang.Rep:Improved Training of Convolutional Filters.In arXiv:1811.07275,2018.[8]Pravendra Singh, Vinay Kumar Verma, Piyush Rai, Vinay P. Namboodiri.HetConv: Heterogeneous Kernel-Based Convolutions for Deep CNNs.In arXiv:1903.04120,2019.[9]Yang He, Ping Liu, Ziwei Wang, Zhilan Hu, Yi Yang.Filter Pruning via Geometric Median for Deep Convolutional Neural Networks Acceleration.In arXiv:1811.00250,2018.