尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
機器之心報導
機器之心編輯部
為了推進 AI 技術的應用創新,促進人工智慧領域的學術交流、人才培養,打造人工智慧的人才交流平臺與產業生態圈,中國人工智慧學會聯合杭州市餘杭區人民政府聯合發起了首屆全球人工智慧技術創新大賽,並得到了阿裡雲、OPPO 等頭部科技企業的積極參與和支持。阿裡雲天池平臺為本次大賽提供平臺和算力支撐。
AI 青年說是大賽主辦方為提升青年開發者對 AI 的認識而主辦的系列活動,該活動邀請知名青年學者,探討理論研究與應用實踐中的熱點話題。本文對 AI 青年說系列活動第三期「未來五年的計算機視覺」核心內容進行了總結回顧。
十年來,計算機視覺領域蓬勃發展,深度學習技術突破讓機器在很多視覺任務上超越了人類。計算機視覺也是目前應用最多、落地最廣的人工智慧技術。與此同時,也有一些計算機視覺技術應用引發了爭議和擔憂,比如人臉識別的隱私問題、換臉假視訊。
計算機視覺的終極目標是什麼?未來 5 年計算機視覺的研究重點將是什麼?伴隨著「深度學習進入瓶頸期」論調的出現,2021 年,入行計算機視覺還有「前途」嗎?這些都成為了最受關註的問題。
為了推進 AI 技術的應用創新,促進人工智慧領域的學術交流、人才培養,打造人工智慧的人才交流平臺與產業生態圈,中國人工智慧學會聯合杭州市餘杭區人民政府聯合發起了首屆全球人工智慧技術創新大賽,並得到了阿裡雲、OPPO 等頭部科技企業的積極參與和支持。阿裡雲天池平臺作為本次大賽的官方競賽平臺,為大賽提供平臺和算力支撐。
為擴大大賽影響力與社會關註度,推進人工智慧技術發展與交流,主辦方特在大賽期間發起「AI 青年說」系列活動,邀請知名青年學者,面向人工智慧與前沿科技從業者與泛科技人群,探討理論研究與應用實踐中的熱點話題。
在「AI 青年說」系列第三期活動中,兩位計算機視覺領域的青年學者紀榮嶸和林巍嶢分別以《神經網路的壓縮及加速》和《視覺目標理解與壓縮》進行了精彩的主題分享,圍繞「未來五年的計算機視覺」等話題給出了自己的真知灼見。
機器之心在不改變原意的基礎上,對兩位專家的分享進行了整理。
紀榮嶸:《神經網路的壓縮與加速》
同學們好,我是廈門大學的紀榮嶸,很高興參加今天的「AI 青年說」。我匯報的主題是神經網路的壓縮與加速。
深度神經網路的發展離不開海量數據,也離不開強大的計算硬件設備,但更重要的是計算機視覺使得深度神經網路的發展出現了無限可能。然而,深度神經網路參數量非常巨大,且計算效率相對低下。因此,在各種場景裡面,研究者都面臨深度神經網路加速與壓縮的相幹需求。
一方面我們希望把模型參數量減少(對應壓縮模型),另一方面我們希望把每張圖片通過神經網路出結果的浮點(float)運算次數減少(對應模型加速)。因此神經網路的加速和壓縮,近來已經成為的計算機視覺與機器學習領域的熱門主題,各種各樣的硬件實現設備和軟體算法在企業界和在學術界已廣泛使用。
因此神經網路的加速與壓縮,近年來已經成為計算機視覺與機器學習領域非常熱門的主題,有各種各樣的硬件實現設備和軟體算法在企業界和學術界被使用。
例如上圖是我們所研發的基於深度神經網路的緊致化計算板卡,這個板卡幾乎以實時的狀態跑在 8 路照相頭上,可以達到傳統大規模深度神經網路所達到的計算性能與效率。
這個問題的背後帶來了大量的研究。可以從下圖看到,在計算機視覺領域頂級會議(CVPR、ICCV、ECCV 等)以及各機器學習的頂會上(NeurIPS 等),近幾年來深度神經網路加速與壓縮的論文呈現爆發趨勢。
接下來我介紹幾個深度神經網路加速與壓縮的主要研究方向
第一種思路是把神經網路裡面的參數共享。例如 ICML 2015 年的 HashedNets 算法,提出將神經網路兩層之間的差數用一個哈希學習算法做映射,映射之後的結果拋棄了它原來的實時的參數,隻保留了它的 indexing,因此可以用這種 indexing 把參數的網路給壓縮掉。這之後有大量技術圍繞此類方法對神經網路進行參數的共享。
例如我們能夠想到的各種量化算法,比如 ICLR 2015 的乘積量化(PQ)算法,也是基於乘法量化的方法對深度網路的參數進行壓縮;還有將網路壓縮成三值化的方法 TTQ,基於訓練的三值量化的方法,可以設計非對稱的可學習的量化參數,對於傳統的神經元分配 00、01、10 的三比特元素進行學習。
第二種方法來自於深度神經網路的裁剪。我們都知道如果把網路看成樹的話,裁剪網路的一種很好的方法是剪枝。剪枝算法也有很多的類似方法,比如說 BMVC 2015 的文章裡面提出一個比較簡單的方法是數據無關(Data-free),這種數據無關的方法主要去思考每一個神經元是否有存在跟它相似的神經元,如果有的話就把這個神經元刪掉,作者把這個方法叫做基於顯著性對稱矩陣的神經元裁剪方法。
還有史丹佛大學的韓松博士提出的組合式壓縮方法,將網路的裁剪、網路的量化以及霍夫曼編碼合在一起,構成了當時效果很好的網路壓縮技術。
另外一種思路是用結構化技術學習對神經網路參數進行裁剪。我們知道一個卷積核裡面的卷積,或者一個通道裡面的參數,如果一起不為 0 的話,我們就不得不做卷積或者通道的濾波。因此它限定所有參數一起為 0,或者一起不為 0,就可以利用我們之前在稀疏表示裡面的結構化稀疏或者主稀疏的技術進行壓縮。由此衍生出了各種各樣優化的方法,去解決結構化稀疏與主稀疏的學習。比如說 FBS 的方法、L1 范數等等。其中 L1 范數是一個很典型的基於數據統計的濾波器的裁剪,它要計算每個濾波的 L2 范數,做排序,去裁剪前 m 個范數值最小的濾波,並刪除對應的 fmaps 和 channel,以此基礎上再做更新。
此外 ICCV 2017 年的 ThiNet 方法,通過通道選擇的策略去選擇最利於壓縮的前 n 個通道進行裁剪,其核心的 trick 也是放在如何學到在最優的 n 個通道的組合上。
我們在 CVPR 2020 文章裡有一些相幹的工作,例如基於高秩特征圖的卷積核裁剪方法,發現由單個的濾波器生成特征圖的平均秩幾乎不變。我們在數學上證明了低秩的特征圖所對應的濾波器資訊量較小。實驗選取了 500 個左右的特征圖,可以看到它所對應的秩的期望值幾乎是不變的。基於相幹的方法,我們在 ImageNet 2012 和 ResNet-50 模型上都做了對應的評估,得到了當時最好的效果。
在去年 IJCAI 2020 的文章裡,我們提出了一種基於自動化結構搜索的卷積核剪枝算法。之前的工作只考慮濾波的重要性,而忽略網路的結構,因此容易陷入局部最優解,且搜索開銷巨大。我們提出的方法直接搜索用於做裁剪的整體結構表示,可以更優地達到整體的裁剪。
但是這種方法是 NP-hard 的,因此我們設計了一系列技術,將這種 NP-hard 的組合式問題,通過縮小解空間的方式,獲取更好的方法,並且利用人工蜂群在內的計劃學習算法去優化目標解。下圖是我們在 ImageNet 2012 和 ResNet-50 模型上所得到的效果。可以看到,在相同加速比的情況下,我們提出的這種裁剪方法可以獲得更高的準確率。
第三種思路主要是進行參數的量化,主要是將原來的實值參數通過各種組合的方式量化成更低的比特位,或者把參數的組合放在一起當作一個向量,將向量做量化。
我們去年與海思合作的 PAMS 方法,實際上是第一次實現了較高性能的基於參數量化的超分辨率網路。我們當時的主要動機在於,傳統超分辨率重建的網路一般來說很難做量化。為什麼呢?因為它們移除了 back to normalization(BN)這個層,使特征圖的分布離散,而且極值很大,不利於量化截斷參數的選取。雖然之前有各種各樣的方法,比如 Dorefa-Net、PACT 等可以部分地解決量化的 super-resolution network 重建問題。但是我們認為裡面還有很多具體可以改進的地方,在 ECCV 的文章裡面,我們首先設計了一個模塊 PAMS Block,它利用可學習的參數去尋找最優的量化截斷。
我們不僅對這個 Block 做量化,同時也對 ShortCut 做了量化,有利於模型的快速部署。我們在各層之間都做了學習,這個學習是基於結構化知識遷移的損失,將浮點模型的結構化知識傳遞給低 bit 量化模型,因此加強了原始模型跟低 bit 模型之間的量化損失差異,從而有利於模型的收斂。
此外,我們設計了特殊反向傳播算法,設置了特殊的初始化結果,使得我們的方法可以有效地提升 super-resolution network 對應的超分辨結果。我們可以看到 PAMS 方法可以有效地提高低 bit 模型的精度,在 Int8 模型上的精度幾乎等於傳統浮點模型的 super-resolution network,同時在 Int4 模型上的精度只有輕微的下降。
下圖是一些可視化結果。相對於 Dorefa-Net 等傳統方法,我們的算法可以較大程度地保留超分辨率重建任務的細節。
此外就是 ECCV 2016 的工作,第一次提出「我們怎樣去直接學一個二值化的參數網路」。沿著這條線下去,其實有不少的工作直接去研究如何學一個二值化的網路。
因為我們知道,一旦網路的權值只有 0 和 1,我們可以設計快速的計算方法來對神經網路進行學習和計算。比如說 ECCV 2016 的 XNOR-Net,它不僅把自身的參數做成 0 和 1,而且把輸入做成 0 和 1,因此它的卷積被進化成了一個 0、1 之間的異或運算。所以這個方法就是異或網路可以快速加速它對應的學習。細節如下:
此外我們還可以通過把參數的分布值調成一些特定的分布,比如波動率分布趨近於 0.5 的時候,它的相幹資訊最大,使得量化損失降到很小等等。還有一些類似的工作,此處不再贅述。
我們在 AAAI 2020&IJCV 2020 的文章中提出了直接做二值化神經網路(Binary Neural Networks)架構搜索的方法。傳統 NAS 方法往往無法直接用於搜索 1bit 網路結構,該方法是首次使用 NAS 去搜索二值化神經網路,在可微 NAS 框架的基礎上,引入通道采樣和減小搜索空間,顯著降低了搜索開銷,搜索到的網路性能堪比全精度神經網路。
我們的主要貢獻是在可微 NAS 框架的基礎上,引入通道采樣和減小搜索空間,顯著降低了搜索開銷。我們觀察到,訓練初始時表現較差的結構最終表現也會很差。基於上述觀察,我們取原始搜索空間中結構參數較差的一半操作為新的搜索空間去采樣,帶來了性能上的大量提升。
此外,我們在去年 NeurIPS 上提出的二值網路量化、傳統方式的量化結果。如果以參數集合一個向量的角度來說的話,可以看成只是對於向量做縮放,但向量之間還存在角度的變化。我們提出了旋轉權重向量,去進一步減少角度的誤差。此外的話我們的方法還提出了新的訓練感知梯度、近似的函數以及新的初始化方法,進一步提升了在 CIFAR-10、ImageNet 上對應的性能。
第四種思路為參數張量的分解,這個方法非常直接。果把層之間參數的矩陣看成一個矩陣的話,我們可以用各種各樣的張量分解方法對這個參數的網路做低秩分解。比如說我可以把它做 Tensor 分解,我也可以做相幹的其他形式的分解。
我們在 TPAMI 2018 的文章中提出了一種統一的框架,解決全連接層跟卷積層的計算與存儲問題。我們克服了誤差的累積,也緩解了梯度的消失,在我們的方法裡面,對卷積層和全連接層用同一個閉式解,在數學上叫做 formulation。基於此,我們進一步提出了基於層級之間的局部損失去做知識蒸餾的方法,這套知識遷移跟知識蒸餾方法在性能上實現了很好的提升:壓縮 ResNet-50, LRDKT 獲得了 2.57 倍的壓縮比,2.02 倍的 CPU 實際加速比,且降低的 Top5 精度僅有 0.38%。此外我們也在對應的 arm 平臺上驗證了算法的有效性。
最後一種思路主要來自於知識蒸餾。知識蒸餾來自於大網路跟小網路之間輸入輸出的對齊,它可以有效保留大網路的資訊,因此一種非常直接的方法就是把知識蒸餾用在模型壓縮裡面,這就是我們在 CVPR 2019 的方法。我們基於生成對抗學習的方法,用知識蒸餾去尋找最優結構的網路剪枝,我們把網路剪枝的學習 formulate 成學習一個 musk,musk 上每次被掩掉的模板,表示這一塊要被裁剪掉。
因此,我們可以建立對應的目標函數,比如對抗損失、數據對齊的損失,也包括分類的損失。基於這三類的損失,我們不僅可以做快的裁剪,也可以做分枝的裁剪,還可以做通道的裁剪,方法是普適的。我們在對應的 ImageNet 和 ResNet-50 上的結果,達到了當時的 SOTA 性能。
以上是我們組的在過去幾年裡在網路裁剪與網路壓縮上的相幹工作,大多數文章的代碼都已經開源了,大家可以在 GitHub 上找到。
在這裡也感謝我們組的同學們,包括幾位博士生和幾位相幹的碩士生:林紹輝博士,鄭俠武博士、林明寶博士、李與超碩士、李慧霞碩士、顏晨倩碩士、唐浪碩士、陳宇航碩士、吳德成碩士、許子涵碩士、李少傑碩士、張玉鑫碩士、陳柏宏碩士、張少坤碩士、吳宇航碩士這幾位同學。
林巍嶢:《視覺目標的理解與壓縮》
今天很高興有機會在這裡介紹一下我們的工作。我報告的題目是《視覺目標的理解與壓縮》,主要是介紹我們在計算機視覺領域做的一些工作。
我先說一下我的報告的一個大致脈絡。我們是把計算機視覺和數據的傳輸結合起來,甚至把計算機視覺和整個數據的理解、傳輸、通訊放在這樣一個大的環境當中,去考慮這個問題。
這裡面其實有兩條路:
第一條路,比如輸入一個視訊,對視訊本身進行數據壓縮(因為它非常大,所以要進行壓縮)。數據壓縮好之後,我們就可以把碼流保存下來,或者把它傳輸給另外一端的用戶。
第二條路,就與計算機視覺緊密相幹了。首先我們從視訊中去理解它的內容,得到它的語義資訊,即目標、位置、關係、行為等資訊,然後壓縮這些資訊,形成一個語音數據的碼流進行保存和傳輸。
傳統視訊或媒體的傳輸主要還是走的第一條路,即把視訊直接壓縮再傳輸出去。
隨著計算機視覺、AI 技術的發展,第二條路的重要性逐漸上升。它的第一個好處在於可以節省重復計算的計算量。比如我們想把視訊傳到手機上做一些智能應用(如特效),如果只是傳輸視訊,我們就要重新進行視訊的分析和計算,一萬臺手機就要重復一萬次相同的操作。但如果遵循第二條路所示的做法,我們就可以在雲端或服務器端把所需要的語義資訊提取出來,然後把這些資訊傳輸給客戶端,這樣的話一萬臺手機都不需要做重復工作,因為我們已經在雲端或服務器端計算過了。我們可以直接把兩個流的資訊結合起來,得到我們想要的特效、智能交互等功能。這是第一點。
第二點在於,有些場景下,我們可能面臨一些隱私問題,無法直接把原始視訊傳輸出去。比如在醫療場景下,病人的資訊屬於隱私,但我們要分析病人的一些動作,這種情況下我們就可以去掉第一條路的資訊,直接傳輸第二條路的資訊,通過這種方式進行遠程診療、判斷或分析。
所以從各個方面來說,第二條路所示的方法是非常重要的。我今天所要介紹的東西也主要集中在這條路上,主要關註目標理解和語義資訊壓縮及編碼。
首先,我們的工作可能更偏行為,從行為出發來下沉,涉及行為所包含的目標檢測和跟蹤等問題。
下圖是視訊行為理解的一些主要類型
左上角是基於軌跡的行為分析。比如在交通領域,我們有很多車輛的 GPS 資訊(位置資訊),這些資訊可以幫助我們進行交通事態的分析,發現塞車、擦碰等異常行為。此外,我們還可以把這種位置傳感器綁在動物(比如鳥類)身上,根據其位置資訊的變化來研究動物遷徙、互動的情況。這是第一類行為理解類型。
這類行為可以跟視訊相幹,比如我們可以把視訊中的目標檢測出來,然後分析他們的軌跡。如果目標是人,我們可以把他們骨架(如四肢)上的關鍵點找出來,然後分析他們的軌跡資訊。這類行為也可以跟視訊沒有關係,比如上面提到的用 GPS 信號得到的軌跡資訊做識別。
右上角是第二個類型,即給定一段視訊,我們去理解其中的行為或內容。這裡的視訊可以是任意類型,我們根據它的資訊來做識別。這是目前在學術研究領域最常見的類型,叫視訊分類或視訊理解,應用最多(數據最多)的是互聯網場景,短視訊、長視訊對此都有很大的需求。
比如在短視訊領域,我們需要做推薦,其中很重要的一部分就是對短視訊本身內容的理解,然後基於這些理解推薦類似資訊。在這個領域,大部分內容都是擺拍,比如化妝,上傳者往往把想要表達的內容放在畫面中非常顯眼的位置,所以一般不需要做太多的分割或目標檢測,它們和行為理解的關係不是很大。在這個領域,更重要的是在一段較長的視訊中找出它的關鍵位置,我們叫時域分割,比如在一段很長的視訊中找出化妝片段,然後對其進行分類。
最後一個類型就是上圖下面一排所示的面向監控視訊的行為識別。這個領域和右上角那個領域有很多技術是相通的,但是也有很大的不同。最大的不同就是,這裡面發生的行為是非配合的。剛剛說到,右上角很多場景是擺拍的,但監控場景很多是無意中拍到的。比如說有人打架,它可以發生在任意的位置,而且目標可能非常小,甚至不是畫面中的主要場景(主要場景可能是其他人走來走去)。而且,打架的人也不一定是正面對著你,他們的姿勢可能是任意的,地點是隱蔽的。
在這種場景中,我們要怎麼去理解視訊或者說把感興趣的行為找出來,這是一個問題。所以在這個領域,把感興趣目標的空間、時間位置找出來非常重要。這點在前面的工作中可能不是那麼重要,但在這個領域非常重要,不然可能跟畫面中的主要部分或其他行為發生混淆。
這就是我們主攻的三個領域類型。基於這些問題,特別是下面一排的問題,我們會發現,目標的檢測、跟蹤也是非常重要的。只有完成目標的感知、理解,我們才能準確地定位目標的行為。
當然,目標檢測和跟蹤在前兩種類型的行為理解中也會有一些應用。比如說,如果把目標檢測出來,我們就可以更深層次地去理解畫面中的行為(如目標之間的交互),這對於行為理解也是很有幫助的。
所以,在後面的演講中,我先簡要介紹一下我們在目標檢測、跟蹤方面的工作,然後再介紹我們在行為方面的一些工作。
在目標檢測方面,我們主要專註於在不增加檢測器龐雜度的情況下提升它的效果或者說準確率。具體細節參見以下論文:
Tiny-DSOD: lightweight object detection for resource-restricted usages, BMVC, 2018
AP loss for Accurate One-Stage Object Detection, TPAMI, 2020
Towards accurate one-stage object detection with AP-loss, CVPR, 2019
Kill two birds with one stone: boosting both object detection accuracy and speed with adaptive patch-of-interest composition, 2017.
第一個工作的最終結果就是我們設計了一個方法,能夠在準確率比較高的情況下縮小網路規模,同時運行速度也很快(超過 100 幀 / 秒)。這是我們優化的一個非常快的檢測器。
第二和第三個工作也是致力於在不增加目標檢測龐雜度的情況下提升它的效果。在這篇論文中,我們提出了一個更優的損失函數來解決訓練過程中樣本不屈衡的問題。我們知道,在一張圖像中,正樣本是比較少的。比如畫面當中有一隻長頸鹿,正樣本只有長頸鹿,但負樣本非常多,非長頸鹿的位置都是負樣本。這樣的樣本不屈衡會導致我們構建的模型準確率下降。所以我們就提出了一個新的損失函數,對訓練過程進行控制,以解決這樣一個問題。這個工作的好處在於,我們隻在構建模型的階段進行一些改變,在真正使用這個模型做檢測的時候,它的龐雜度是不變的。也就是說,它的運行速度跟原來是一樣的,但是效果得到了提升,因為它的構建方法更好。
第三個工作是我們在監控場景中所做的一些嘗試。在這類場景中,我們發現圖像的大小或細節與處理速度之間會出現一個矛盾。也就是說,我們的畫面非常大,會呈現很多細節,但是我們很難處理這麼大的畫面。如果我們把圖像壓縮得很小再輸入檢測器,它的細節就損失掉了。如果想保留細節,速度就會非常慢。所以我們就在想,有沒有什麼方法幫助我們在其中取得一個平衡。這就是我們所做的工作。具體來說,我們先把畫面當中可能出現目標的區域給找出來,把一些小的、局部的區域找出來,然後把這些區域拼成一個小的畫面(如下圖右下角所示),這樣我們就可以去掉畫面中那些無關的區域。最後,把這樣一張圖像輸入檢測器。
也就是說在一個很大的畫面當中找到可能出現目標的區域,然後把局部小的區域拼成一個小的畫面,這樣的話就可以去掉這個畫面中與背景無關的區域,之後通過拼接的方式把它移到一個固定的畫面中,最後拼接結果就像下圖的右下角,它其實是來自不同的局部區域。將這張圖像輸入檢測器,因此圖像輸入檢測器的模型很小,但是保留了原始視訊中的分辨率或者細節。經過驗證,這個方法是不影響檢測的效果的。
當然,我們也有一些新的研究和應用,比如旋轉目標檢測,在很多場景夏,比如像無人機這種都是從山頂上往下拍,導致很多目標並不是橫平豎直的,此時如果你還用橫平豎直的框,會導致框與框之間有很大的遮擋,會包含很多與目標不相幹的東西,所以更理想的方式是把這個目標斜過來框,就需要有一個具備這個功能的檢測器。
我們設計了一個新的方法,能夠檢測旋轉的目標。當然,除了無人機,超市貨架檢測中也會有類似的情況,因為超市貨架與貨架之間間隔很近,有可能人來拍的時候只能側面拍,就會導致目標斜過來。
同時超市貨架裡面的貨物有可能就是斜著放的,也會導致斜過來的情況,所以在這個領域怎麼去做檢測也是非常重要的一個應用。這就是我們另外的一個場景,即能否做三維的檢測,除了二維框,還能不能能通過視訊框出三維的、立體的框,這個在自動駕駛車輛輔助中有很多的應用。
在車輛自動駕駛中,可能輸入的是是一種雷達傳感器,三維點雲的傳感器。那在輔助駕駛中,我們希望做低成本的三維感知,所以可能還是一個傳統的二維圖像,從二維的圖像中估計出目標的或者車輛的三維框,這樣的話我才能知道實際距離,並做一些車輛規避或者車速控制。檢測出目標後,我們就需要把目標把它關聯起來,也就是把不同幀中檢測的目標關聯起來。我們要知道這一幀的目標和下一幀目標是同一目標,最後連起來形成一個軌跡,得到軌跡以後,我們就可以對目標進行長時間分析,或者對行為進行分析。這是我們的一些工作,具體我就不展開了。
其實在這個領域,如果場景類似是斜著 45 度往下拍的目標之間的遮擋,哪怕有比較嚴重的遮擋,只要數據足夠多,現在的方法總體來說還是能夠取得比較好的效果,基本上也可以達到甚至 95% 以上的準確率。當然特別密集場景是不行的,或者說遮擋極為嚴重的場景是是比較困難的。
除此以外,還有一個比較重要的領域就是跨相機的關係,也就是說,一個照相機不太可能包含整個場景中的事態和資訊,所以可能需要有多個相機的聯動。
這個情況下是不是能夠做跨相機的關係?也就是 Re-identification,也就事從一個相機中的目標得知另外一個相機的目標和本目標是同一個目標,這是我們在這個領域一些工作,細節同樣也不展開了,有興趣的話可以了解一下細節。我們做了個體目標的再識別,我們也做了組群目標的再識別,看一群人到另外一個場景中是不是能夠對應起來。
這方面的一個應用是野生動物的保護,我們在野外設置不同的相機,相機距離很遠,可能是幾十公里或者幾百公里。
在這一篇論文中,某一個相機抓拍到了東北虎,如果在另外一個相機中也抓拍到了一隻東北虎,我們就可以利用多相機跟蹤的技術判斷是否為同一隻老虎,如果是的話就可以由此了解老虎的習性,比如它某年某月在這個地方出現了,過了幾天它可能在另外一個區域出現了,由此去勾勒出東北虎的野外運動的事態,去觀測它的活動範圍變化,後續可以加以生態保護。
下面是我們構建的一個數據集,主要面向有些場景下檢測和跟蹤技術的局限性,這些就是很好的例子,在這樣的場景下目標檢測、跟蹤是非常困難的。比如說地鐵場景中人是極度密集的,食堂場景中遮擋是非常嚴重的,而且大小變化非常大。
那麼除了檢測以外,我們是不是能得到目標的骨架?在這個場景下非常困難,能不能在這個事情上做到非常好的效果,就是我們要面臨的新挑戰。
Challenge 網頁:http://humaninevents.org/ (8 月重新開放)
相幹論文:
https://arxiv.org/abs/2005.04490
針對這個問題,我們構建了一個包含各種龐雜行為和實際場景的數據集,在去年也基於數據集舉辦了一次挑戰賽,有很多參賽隊參加並取得了不錯的名次。現在這個數據集已經開放了,它包含了行為識別、目標檢測跟蹤和骨架提取等不同任務,而且是作為一個長時間的任務來開放。如果各位對這個挑戰有興趣,也歡迎大家來使用我們的數據集來評測我們的方法。
接下來介紹一些行為識別的技術,同樣地,具體細節我們就不進行展開了。那麼行為識別的方法包括就是說在不考慮空間資訊的情況下對整段視訊進行分類,這是我們做的一些工作(任意行為、多尺度特征、時空異步關聯),具體細節就不展開了。
• Action recognition with coarse-to-fine deep feature integration and asynchronous fusion, AAAI, 2018.
• Cross-stream Selective Networks for Action Recognition, CVPR workshop, 2019.
同樣針對一段視訊,我們不但要判別出這個視訊中「發生了什麼」,還想知道發生的時間位置和空間位置,也就是說同時做識別以及時空位置的檢測與定位,這就是我們的一些相幹工作:
第一項工作是《Finding Action Tubes with an Integrated Sparse-to-Dense Framework(AAAI 2020)》
第二項研究是《CFAD: Coarse-to-Fine Action Detector for Spatiotemporal Action Localization(ECCV 2020)》
在這個領域,我們的工作能達到目前比較好的效果,甚至是最好的效果之一。傳統方法龐雜度高、速度慢,我們的方法龐雜度非常低,達到每秒 100 幀以上的處理速度,且效果達到最好。
如果將該技術進一步擴展,是不是能做音視訊定位?給一段視訊、音頻,從圖像中準確定位目標發出的聲音,或者找到發出聲音目標的空間位置,諸如此類的任務。
舉一些我們做的工作的例子,比如摔倒檢測技術,現在很多企業也都在做,但是我們做的比較早,這個任務相對來說比較簡單,摔倒行為都是單一目標行為,基本上不可能多個目標一起摔倒。而且它的模態比較比較容易區分,因為倒下和站著有很大的區別,這是我們做的各種姿態摔倒的場景:
然後是打架,這和前面的技術相比就有很大區別,難度呈指數型增大。因為打架是多人混合的,是比較龐雜的運動,同時它的模態跟摔倒就有很大的區別。不同的人打架、不同場景下打架都不太一樣,甚至可能跟劇烈運動相混淆。由於打架的時候很多人扭在一起,目標檢測和分析任務也有很大的區別,有時候遮擋非常嚴重,有些打了一半就摔倒了,有些可能一直在扭打,模態很難把握。
我們針對這個問題做了一套系統,打架和摔倒這兩件事,雖然看上去是類似,實際上底層的識別技術是完全不一樣的。
最後介紹一下我們在視訊壓縮方面的一些工作。如下圖所示,左邊是一個視訊,我們分析一下這個視訊中視訊數據量中語音數據量分別是多少,我們來看視訊壓縮到底有沒有意義:右圖藍色部分是視訊壓縮以後,可以看出壓到了很小,特別是監控視訊還可以壓得更小,因為它背景是固定的。
視訊當中的目標位置資訊如果不做壓縮,可以看到其數據量非常大,與壓縮後的視訊數據量差不多同樣數量級,這個數據量非常大,相當於又保存了一個視訊。圖 b 中右邊一列的紅色部分是經過我們方法壓縮以後的結果,可以看出可以大大降低了數據量,所以說語義壓縮是一個非常重要的領域。
在這個領域我們做了一些工作,針對關鍵點序列,包括骨架序列、人臉關鍵點序列,以及三維框序列數據集,下面展示了我們的研究效果:基本上可以去掉 70% 的數據量,也就是說壓縮到原來的 30%。當然語義壓縮並不僅限於此,也可以包含目標之間的龐雜交互甚至目標屬性等。隨著我們提取的視訊中的資訊越來越多,語義數據肯定也是越來越多的,所以如何去壓縮也是非常重要的一個問題。
如果大家想了解關於我們工作的細節,也可以看我們的主頁(
https://weiyaolin.github.io),以上所有論文的地址可在該頁面找到。
圓桌論壇:未來五年的計算機視覺
Q1:這次圓桌主題是未來 5 年的計算機視覺,在技術飛速發展的今天,預測未來 5 年甚至是 3 年都是非常有難度的事情,但我們還是可以做一些基礎的推演,非常期待兩位老師的看法!
不過在展望未來 5 年的計算機視覺之前,有一個更加長遠、更加根本的問題需要弄清楚,就是計算機視覺的終極目標是什麼?或者說我們想要構建一個怎樣的計算機視覺系統?這個系統具有哪些功能呢?
紀榮嶸:我覺得從 David Marr 開始,計算機視覺的主要目的不僅是幫助計算機學會像人一樣去看,而且需要像人一樣去思考。其實 David Marr 介紹了各種分層的專業視覺組成的架構,現在無論是深度學習還是傳統方法,都只是實現其計算機視覺體系裡面很小的一部分。因此我覺得未來一定會有遠比現在更靈活、更主動、更自然、更低成本的視覺分析系統,更容易更接近。
林巍嶢:我覺得可以從計算機視覺定義來看,其實就是希望計算機能像人一樣,看到我們外界的東西,然後對它進行完全的理解。現在計算機視覺在某些領域,比如說人臉識別、目標檢測領域的精度是比較高的,但是在還有很多的場景,比如說綜合理解方面的效果就不那麼理想。這可能是未來計算機企業的一個非常重要的目的。
Q2:這裡有一個延伸的問題,現在有很多傳感器,比如紅外線、紫外線這些都是能夠超越人類視覺的。剛才兩位老師都提到,計算機視覺的終極目標是像人類一樣,其實現在機器已經可以在很多方面超越人類的視覺了,這個也算是計算機視覺系統的終極目標嗎?
林巍嶢:有些傳感器本質上還是相當於彌補視訊的不足。比如很多目標之間如果有遮擋和很龐雜的關係,人一看到就能理解他們之間的關係,但是如果拍成視訊以後,計算機從視訊當中就很難找出之間的的關係。引入傳感器本質上也就是使得新傳感器能夠知道它們之間的遮擋關係。一部分是彌補,另外一部分是超越人類,比如說紅外線傳感器在夜晚比人的視覺感知能力是更強的。不過它的理解能力並不是比人類更強。
紀榮嶸:我覺得現在並不是計算機視覺的傳感設備能超越人類。回想一下,其實人用極其少量的能源開銷,只用雙目甚至單目就能實現非常智能、龐雜的分析系統,這肯定是在長期進化過程中演變的。
剛才也提到,系統的目標首先是更低成本,要能夠識別上千種物體,且不會因為「少吃一碗飯」而減掉效果;第二,只用少量樣本就可以學到一個新的樣本類別。比如給小朋友看一輛消防車的卡通圖像,他馬上就能學會真實消防車的識別跟分類,而現在的計算機視覺系統不得不堆大量的計算資源、標註數據和傳感器去達成一些目標。
所以我覺得,現在還不能叫做超越,就像就計算器加減法做得很好,但並不代表計算器有智能。
Q3:為了實現這樣一個系統,未來 5 年的計算機視覺研究重點將是什麼呢?
林巍嶢:這個問題可以看一下 5 年前和現在的對比,
在數據來源上,5 年前更多是基於圖像、視訊等資訊,後來加入了三維點雲、深度這些資訊,相當於在感知的數據源上有了更多突破;在功能上,5 年前更多是采集大量數據,以獲得更好的模型效果,現在更多學者偏向於做自監督或少樣本的研究;還有一些在各個根據各個應用領域計算機需求也做了一些突破。
從這個方面來說,未來 5 年我預測在傳感或輸入數據來源上會有一些新的變化。這些數據來源如果更加精準或更有區分度,可能會讓計算機視覺的性能有一些提升。當然過去五年計算機視覺的發展是基於深度學習的浪潮,我們也可以思考:在深度學習之外,會不會有一些新的突破性技術出現?
紀榮嶸:我覺得有很多新的方向。第一點,低功耗的視覺系統,我們可不可以用小的算力、小模型、低成本設備,實現與傳統深度學習服務器上深度神經網路模型一樣的效果?
第二個方向,也是我最近非常感興趣的,就是可不可以把 AI 算法工程師從不同場景裡面抽象出來,他們不再去設計模型?這就對應自動機器學習以及神經網路自動架構搜索。讓機器去設計模型、算法、新的 AI 場景,這是我覺得很有意思的。
第三個方向叫做多任務,現在每個深度學習模型只能幹一件事,未來有可能一個模型既能做視覺任務又能做語言任務。多個研究領域的模型或許有融合的可能性,人腦只有一個模型即可做無數的事情,多任務(multitask)是值得期待的。
第四個方向,隨著計算機視覺系統逐漸走進安防的相幹的領域,模型魯棒性、安全性必然是政府和工業界非常關心的問題。除了模型精度和大小之外,模型的靠譜程度也值得我們去認真分析。
以上幾點是我認為計算機視覺或者深度學習未來可能變得更熱門的方向所在。
Q4: 本屆大賽第二道賽題是 Panda 大場景多對象跟蹤檢測,要求參賽隊伍關註動態、大場景,多對象數據處理算法的研究,Panda 是由清華大學牽頭建設的,是全球首個大規模 10 億像素級別的視訊數據集,該賽道的初賽任務是對行人和車輛進行多目標檢測,復賽任務則是對視訊中的多個行人進行軌跡跟蹤。
2017 年,林老師的團隊跟中興通訊合作,在多目標跟蹤上面取得突破,在保證實施處理的情況下,大幅提升了跟蹤的效果和精準度。您對這道賽題有什麼樣的看法?
林巍嶢:這個賽道裡面,我們覺得主要是兩點。
第一點是場景特別大,所以如何有效處理視訊是很困難的。因為是 10 億像素級,用傳統方法將整個視訊或者整個圖像放到網路裡直接處理是很困難的,把它變小以後,原來清晰的就看不見了。所以高性能處理超大視訊是非常困難的,其實處理一張圖像都很困難,更不要說是整個延續的視訊。
第二點就是有的參賽隊並不能像企業一樣,針對某個場景采集海量的數據,然後有海量的工程師或者員工來做海量的標註,數據本身也是具有局限性的。就是說在非常有局限性、數據並不能應有盡有的情況下,把效果做好也是非常困難的。
第三點是因為 10 億像素可能涵蓋各種場景,有視角的變化,各種情況密集遮擋都會有。那麼在一個場景中怎麼用一個模型或少量的幾個模型去做這樣一個任務,難點可能在這裡。
紀榮嶸:我覺得這是一個很有挑戰性的問題。其實如果用線性便利 scanning、multi skills scanning 的方法,效率是上不去的。圖像不用說,更何況是視訊。所以我覺得這裡面一定要引入某些注意力的機制,雖然我沒有參加比賽,但可以想像出來,一定要有對應的選擇注意力機制去感受關鍵的目標。
再回到這個問題,就像人的視覺系統有很多選擇注意力機制去發現關鍵目標,也不是在所有地方都呈清晰的像素去觀察的。我們自己沒有感覺到,但我們真正 focus 的地方非常小,剩下的地方其實都是模糊的。所以如果沒有高效的選擇注意力機制去捕捉場景關鍵資訊的話,這種 10 億像素的分析幾乎也是不可能的。
像本次大賽的賽道技術,有很多可以應用的地方,例如如果能處理 10 億像素的目標檢測與跟蹤的問題,在小樣本情況下,它自然而然可以延伸到各種安防監控場景中的行人分析與識別。未來有很多場景,一旦要做實時分析,也需要這種高速的檢測技術進行支撐。
Q5:說到應用計算機視覺,想請教一下兩位老師,最看好的計算機視覺應用是什麼?未來 5 年最有潛力的計算機視覺應用是什麼?
林巍嶢:未來我們相對比較重視的首先是多傳感器融合,第二個是對視訊本身的處理,第三個是少樣本的學習。
紀榮嶸:我也想從技術角度去講這個問題,其實我一直覺得過去五年年計算機視覺研究的方式還是處於非常分散的情況,不同的任務有不同人做不同的模型,我認為未來會統一起來。此外就是模型小型化、模型自動部署、小樣本學習、遷移學習等趨勢,值得關註。
Q6:從 2012 年開始,計算機視覺一直火到現在,但眼下人才招聘市場上有一個越來越強烈的聲音:計算機視覺人才已經有一定程度的飽和,內卷非常嚴重,學計算機視覺專業面臨著畢業即失業的風險。二位怎麼看?
紀榮嶸:可能跟以前的程序員很像。人才充裕之後,低水平的學生肯定很難找到工作,這個是毋庸置疑的。那如何能讓自己的技能跟別人不一樣?
我講兩個笑話,第一個就是網上很多的《一周之內學會深度學習》之類的,這個並不是夢想,是有可能的對吧?如果深度學習到了誰都可以快速入門的程度,首先說明它很熱門,大家都想學;其次說明它太好上手了,意味著這不是一個硬核問題。如果你的職業沒有技術壁壘,確實會面臨著很大的失業可能性。
所以著要求我們去把握自己到底要學什麼,而不是研究生第一年只會調參,第三年畢業還只會調參,肯定是不行的,這是我想說的第一個觀點。第二個觀點是找到有自己差異化的研究點,會用和精通是兩碼事。
林巍嶢:從我們實驗室的情況來說,博士生找工作還是很容易的,我沒有感覺到內卷或非常困難,如果你在這個領域非常精通,無論在工業界或者學術界,還是很有發展前途的。我們所說的內卷或者競爭激烈,更多還是在本科生碩士生,不過工業界或者學界目前還是有很多的需求,應該是不用太過擔心這個問題。
在這個領域,針對新問題快速理解、快速上手的能力非常重要,這個領域可能你以前並不熟悉,但通過看論文找資料就能在很短時間內理解相幹工作。如果有這個能力,實際上你還是具備很強的競爭力。這也是為什麼博士生比碩士生在該領域更吃香的原因之一。因為博士生已經證明了他在很多個領域已經做過相幹工作,有很好的經驗,而且哪怕是新的問題,憑借以前的經驗也可以快速上手。