計算機視覺這一年:這是最全的一份CV技術報告

選自The M tankhtml

機器之心編譯git

參與:蔣思源、劉曉坤github

The M Tank 編輯了一份報告《A Year in Computer Vision》,記錄了 2016 至 2017 年計算機視覺領域的研究成果,對開發者和研究人員來講是不可多得的一份詳細材料。該材料共包括四大部分,在本文中機器之心對第一部分作了編譯介紹,後續會放出其餘部份內容。


內容目錄算法


簡介網絡

第一部分架構

  • 分類/定位
  • 目標檢測
  • 目標追蹤

第二部分app

  • 分割
  • 超分辨率、風格遷移、着色
  • 動做識別

第三部分框架

  • 3D 目標
  • 人體姿式估計
  • 3D 重建
  • 其餘未分類 3D
  • 總結

第四部分機器學習

  • 卷積架構
  • 數據集
  • 不可分類的其餘材料與有趣趨勢

結論ide

完整 PDF 地址:http://www.themtank.org/pdfs/AYearofComputerVisionPDF.pdf


簡介

計算機視覺是關於研究機器視覺能力的學科,或者說是使機器能對環境和其中的刺激進行可視化分析的學科。機器視覺一般涉及對圖像或視頻的評估,英國機器視覺協會(BMVA)將機器視覺定義爲「對單張圖像或一系列圖像的有用信息進行自動提取、分析和理解」。

對咱們環境的真正理解不是僅經過視覺表徵就能夠達成的。更準確地說,是視覺線索經過視覺神經傳輸到主視覺皮層,而後由大腦以高度特徵化的形式進行分析的過程。從這種感受信息中提取解釋幾乎包含了咱們全部的天然演化和主體經驗,即進化如何令咱們生存下來,以及咱們如何在一輩子中對世界進行學習和理解。

從這方面來講,視覺過程僅僅是傳輸圖像並進行解釋的過程,然而從計算的角度看,圖像其實更接近思想或認知,涉及大腦的大量功能。所以,因爲跨領域特性很顯著,不少人認爲計算機視覺是對視覺環境和其中語境的真實理解,並將引領咱們實現強人工智能。

不過,咱們目前仍然處於這個領域發展的胚胎期。這篇文章的目的在於闡明 2016 至 2017 年計算機視覺最主要的進步,以及這些進步對實際應用的促進。

爲簡單起見,這篇文章將僅限於基本的定義,並會省略不少內容,特別是關於各類卷積神經網絡的設計架構等方面。

這裏推薦一些學習資料,其中前兩個適用與初學者快速打好基礎,後兩個能夠做爲進階學習:


  • Andrej Karpathy:「What a Deep Neural Network thinks about your #selfie」,這是理解 CNN 的應用和設計功能的最好文章 [4]。
  • Quora:「what is a convolutional neural network?」,解釋清晰明瞭,尤爲適合初學者 [5]。
  • CS231n: Convolutional Neural Networks for Visual Recognition,斯坦福大學課程,是進階學習的絕佳資源 [6]。
  • Deep Learning(Goodfellow,Bengio&Courville,2016),這本書在第 9 章提供了對 CNN 的特徵和架構設計等詳盡解釋,網上有免費資源 [7]。


對於還想進一步瞭解神經網絡和深度學習的,咱們推薦:

  • Neural Networks and Deep Learning(Nielsen,2017),這是一本免費在線書籍,可爲讀者提供對神經網絡和深度學習的複雜性的直觀理解。即便只閱讀了第 1 章也能夠幫助初學者透徹地理解這篇文章。


下面咱們先簡介本文的第一部分,這一部分主要敘述了目標分類與定位、目標檢測與目標追蹤等十分基礎與流行的計算機視覺任務。然後機器之心將陸續分享 Benjamin F. Duffy 和 Daniel R. Flynn 後面 3 部分對計算機視覺論述,包括第二部分的語義分割、超分辨率、風格遷移和動做識別,第三部分三維目標識別與重建、和第四部分卷積網絡的架構與數據集等內容。


基礎的計算機視覺任務


分類/定位

圖像分類任務一般是指爲整張圖像分配特定的標籤,以下左圖整張圖像的標籤爲 CAT。而定位是指找到識別目標在圖像中出現的位置,一般這種位置信息將由對象周圍的一些邊界框表示出來。目前 ImageNet [9] 上的分類/定位的準確度已經超過了一組訓練有素的人類 [10]。所以相對於前一部分的基礎,咱們會着重介紹後面如語義分割、3D 重建等內容。

圖 1:計算機視覺任務,來源 cs231n 課程資料。


然而隨着目標類別 [11] 的增長,引入大型數據集將爲近期的研究進展提供新的度量標準。在這一方面,Keras [12] 創始人 Francois Chollet 將包括 Xception 等架構和新技術應用到谷歌內部的大型數據集中,該數據集包含 1.7 萬個目標類別,共計 350M(Million)的多類別圖像。

圖 2:ILSVRC 競賽中,分類/定位的逐年錯誤率,來源 Jia Deng (2016),ILSVRC2016。


ImageNet LSVRC(2016)亮點:

  • 場景分類是指用「溫室」、「體育場」和「大教堂」等特定場景對圖像進行分類。ImageNet 去年舉辦了基於 Places2[15] 子數據的場景分類挑戰賽,該數據集有 365 個場景共計 8 百萬 訓練圖像。海康威視 [16] 選擇了深度類 Inception 的網絡和並不太深的 ResNet,並利用它們的集成實現 9% 的 Top-5 偏差率以贏得競賽。
  • Trimps-Soushen 以 2.99% 的 Top-5 分類偏差率和 7.71% 的定位偏差率贏得了 ImageNet 分類任務的勝利。該團隊使用了分類模型的集成(即 Inception、Inception-ResNet、ResNet 和寬度殘差網絡模塊 [17] 的平均結果)和基於標註的定位模型 Faster R-CNN [18] 來完成任務。訓練數據集有 1000 個類別共計 120 萬的圖像數據,分割的測試集還包括訓練未見過的 10 萬張測試圖像。
  • Facebook 的 ResNeXt 經過使用從原始 ResNet [19] 擴展出來的新架構而實現了 3.03% 的 Top-5 分類偏差率。


目標檢測

目標檢測(Object Detection)即如字面所說的檢測圖像中包含的物體或目標。ILSVRC 2016 [20] 對目標檢測的定義爲輸出單個物體或對象的邊界框與標籤。這與分類/定位任務不一樣,目標檢測將分類和定位技術應用到一張圖像的多個目標而不是一個主要的目標。

圖 3:僅有人臉一個類別的目標檢測。圖爲人臉檢測的一個示例,做者表示目標識別的一個問題是小物體檢測,檢測圖中較小的人臉有助於挖掘模型的尺度不變性、圖像分辨率和情景推理的能力,來源 Hu and Ramanan (2016, p. 1)[21]。


目標識別領域在 2016 年主要的趨勢之一是轉向更快、更高效的檢測系統。這一特性在 YOLO、SSD 和 R-FCN 方法上很是顯著,它們都傾向於在整張圖像上共享計算。所以能夠將它們與 Fast/Faster R-CNN 等成本較高的子網絡技術區分開開來,這些更快和高效的檢測系統一般能夠指代「端到端的訓練或學習」。

這種共享計算的基本原理一般是避免將獨立的算法聚焦在各自的子問題上,由於這樣能夠避免訓練時長的增長和網絡準確度的下降。也就是說這種端到端的適應性網絡一般發生在子網絡解決方案的初始以後,所以是一種可回溯的優化(retrospective optimisation)。然而,Fast/Faster R-CNN 技術仍然很是有效,仍然普遍用於目標檢測任務。

  • SSD:Single Shot MultiBox Detector[22] 利用封裝了全部必要計算並消除了高成本通訊的單一神經網絡,以實現了 75.1% mAP 和超過 Faster R-CNN 模型的性能(Liu et al. 2016)。
  • 咱們在 2016 年看到最引人注目的系統是「YOLO9000: Better, Faster, Stronger」[23],它引入了 YOLOv2 和 YOLO9000 檢測系統 [24]。YOLOv2 很大程度上提高了 2015 年提出的 YOLO 模型 [25] 性能,它能以很是高的 FPS(使用原版 GTX Titan X 在低分辨率圖像上達到 90FPS)實現更好的結果。除了完成的速度外,系統在特定目標檢測數據集上準確度要優於帶有 ReNet 和 SSD 的 Faster RCNN。

YOLO9000 實現了檢測和分類的聯合訓練,並將其預測泛化能力擴展到未知的檢測數據上,即它能檢測從未見過的目標或物體。YOLO9000 模型提供了 9000 多個類別的實時目標檢測,縮小了分類和檢測數據集間的鴻溝。該模型其它詳細的信息和預訓練模型請查看:http://pjreddie.com/darknet/yolo/

  • Feature Pyramid Networks for Object Detection [27] 是 FAIR [28] 實驗室提出的,它能利用「深度卷積網絡的內部多尺度、金字塔型的層級結構構建具備邊際額外成本的特徵金字塔」,這意味着表徵能更強大和快速。Lin et al. (2016) 在 COCO[29] 數據集上實現了頂尖的單模型結果。若與基礎的 Faster R-CNN 相結合,將超過 2016 年最好的結果。
  • R-FCN:Object Detection via Region-based Fully Convolutional Networks [30],這是另外一種在圖像上避免應用數百次高成本的各區域子網絡方法,它經過使基於區域的檢測器在整張圖像上進行全卷積和共享計算。「咱們每張圖像的測試時間只須要 170ms,要比 Faster R-CNN 快 2.5 到 20 倍」(Dai et al., 2016)。

圖 4:目標檢測中的準確率權衡,來源 Huang et al. (2016, p. 9)[31]。


注意:Y 軸表示的是平均準確率(mAP),X 軸表示不一樣元架構(meta-architecture)的各類特徵提取器(VGG、MobileNet...Inception ResNet V2)。此外,mAP small、medium 和 large 分別表示對小型、中型和大型目標的檢測平均準確率。即準確率是按「目標尺寸、元架構和特徵提取器」進行分層的,而且圖像的分辨率固定爲 300。雖然 Faster R-CNN 在上述樣本中表現得更好,可是這並無什麼價值,由於該元架構相比 R-FCN 來講慢得多。

Huang et al. (2016)[32] 的論文提供了 R-FCN、SSD 和 Faster R-CNN 的深度性能對比。因爲機器學習準確率對比中存在的問題,這裏使用的是一種標準化的方法。這些架構被視爲元架構,由於它們能夠組合不一樣的特徵提取器,好比 ResNet 或 Inception。

論文的做者經過改變元架構、特徵提取器和圖像分辨率研究準確率和速度之間的權衡。例如,對不一樣特徵提取器的選擇能夠形成元架構對比的很是大的變化。

實時商業應用中須要低功耗和高效同時能保持準確率的目標檢測方法,尤爲是自動駕駛應用,SqueezeDet[33] 和 PVANet[34] 在論文中描述了這種發展趨勢。

COCO[36] 是另外一個經常使用的圖像數據集。然而,它相對於 ImageNet 來講更小,更常被用做備選數據集。ImageNet 聚焦於目標識別,擁有情景理解的更普遍的語境。組織者主辦了一場包括目標檢測、分割和關鍵點標註的年度挑戰賽。在 ILSVRC[37] 和 COCO[38] 上進行的目標檢測挑戰賽的結果以下:

  • ImageNet LSVRC 圖像目標檢測(DET):CUImage 66% 平均準確率,在 200 個類別中有 109 個勝出。
  • ImageNet LSVRC 視頻目標檢測(VID):NUIST 80.8% 平均準確率。
  • ImageNet LSVRC 視頻追蹤目標檢測:CUvideo 55.8% 平均準確率。
  • COCO 2016 目標檢測挑戰賽(邊界框):G-RMI(谷歌)41.5% 平均準確率(比 2015 的勝者 MSRAVC 高出 4.2% 絕對百分點)。

從以上結果能夠看出,在 ImageNet 上的結果代表「MSRAVC 2015 的結果爲『引入 ResNet』設置了很高的標準。在整個項目中對全部的類別的目標檢測性能都有所提高。在兩個挑戰賽中,定位任務的性能都獲得較大的提高。關於小型目標實例的大幅性能提高結果詳見參考文獻」(ImageNet,2016)。[39]

圖 5.ILSVRC 的圖像目標檢測結果(2013-2016),來源 ImageNet. 2016. [Online] Workshop


目標追蹤

目標追蹤即在給定的場景中追蹤感興趣的一個或多個特定目標的過程,在視頻和現實世界的交互中(一般是從追蹤初始的目標檢測開始的)有不少應用,且對於自動駕駛而言很是重要。

  • Fully-Convolutional Siamese Networks for Object Tracking[40],將一個連體網絡(Siamese network)結合一個基礎的追蹤算法,使用端到端的訓練方法,達到了當前最佳,圖框顯示率超過了實時應用的需求。這篇論文利用傳統在線學習方法構建追蹤模型。
  • Learning to Track at 100 FPS with Deep Regression Networks[41],該論文試圖改善在線訓練方法中存在的缺陷。他們構建了一個使用前饋網絡學習目標運動、外觀和方向中的廣泛關係的追蹤器,從而能夠在沒有在線訓練的狀況下有效地追蹤到新的目標。該算法在一個標準的追蹤基準測試中達到了當前最佳,同時能夠 100FPS 的幀數追蹤全部的目標(Held et al.,2016)。
  • Deep Motion Features for Visual Tracking[43] 結合了手工設計的特徵、深度外觀特徵(利用 CNN)和深度運動特徵(在光流圖像上訓練),並取得了當前最佳的結果。雖然深度運動特徵在動做識別和視頻分類中很常見,但做者聲稱這是其首次被應用於視覺追蹤上。該論文得到了 ICPR2016 的「計算機視覺和機器人視覺」的最佳論文。

「本論文展現了深度運動特徵(motion features)對檢測和追蹤框架的影響。咱們還進一步說明了手工製做的特徵、深度 RGB 和深度運用特徵包含互補信息。據咱們所知,這是第一個提出融合外表信息和深度運動特徵,並用於視覺追蹤的研究。咱們全面的實驗代表融合方法具備深度運動特徵,並超過了單純依賴外表信息的方法。」

  • Virtual Worlds as Proxy for Multi-Object Tracking Analysis [44] 方法解決了現有虛擬世界中缺少真實可變性視頻追蹤基準和數據集。該論文提出了一種新的真實世界複製方法,該方法從頭開始生成豐富、虛擬、合成和照片逼真的環境。此外,該方法還能克服現有數據集中存在的一些內容匱乏問題。生成的圖像能自動經過正確的真值進行標註,並容許應用於除目標檢測/追蹤外其它如光流等任務。
  • Globally Optimal Object Tracking with Fully Convolutional Networks [45] 專一處理目標變化和遮擋,並將它們做爲目標追蹤的兩個根本限制。「咱們提出的方法經過使用全卷積網絡解決物體或目標外表的變化,還經過動態規劃的方法解決遮擋狀況」(Lee et al., 2016)。


參考文獻:

[1] British Machine Vision Association (BMVA). 2016. What is computer vision? [Online] Available at: http://www.bmva.org/visionoverview [Accessed 21/12/2016]

[2] Krizhevsky, A., Sutskever, I. and Hinton, G. E. 2012. ImageNet Classification with Deep Convolutional Neural Networks, NIPS 2012: Neural Information Processing Systems, Lake Tahoe, Nevada. Available: http://www.cs.toronto.edu/~kriz/imagenet_classification_with_deep_convolutional.pdf

[3] Kuhn, T. S. 1962. The Structure of Scientific Revolutions. 4th ed. United States: The University of Chicago Press.

[4] Karpathy, A. 2015. What a Deep Neural Network thinks about your #selfie. [Blog] Andrej Karpathy Blog. Available: http://karpathy.github.io/2015/10/25/selfie/ [Accessed: 21/12/2016]

[5] Quora. 2016. What is a convolutional neural network? [Online] Available: https://www.quora.com/What-is-a-convolutional-neural-network [Accessed: 21/12/2016]

[6] Stanford University. 2016. Convolutional Neural Networks for Visual Recognition. [Online] CS231n. Available: http://cs231n.stanford.edu/ [Accessed 21/12/2016]

[7] Goodfellow et al. 2016. Deep Learning. MIT Press. [Online] http://www.deeplearningbook.org/[Accessed: 21/12/2016] Note: Chapter 9, Convolutional Networks [Available: http://www.deeplearningbook.org/contents/convnets.html]

[8] Nielsen, M. 2017. Neural Networks and Deep Learning. [Online] EBook. Available: http://neuralnetworksanddeeplearning.com/index.html [Accessed: 06/03/2017].

[9] ImageNet refers to a popular image dataset for Computer Vision. Each year entrants compete in a series of different tasks called the ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Available: http://image-net.org/challenges/LSVRC/2016/index

[10] See「What I learned from competing against a ConvNet on ImageNet」by Andrej Karpathy. The blog post details the author』s journey to provide a human benchmark against the ILSVRC 2014 dataset. The error rate was approximately 5.1% versus a then state-of-the-art GoogLeNet classification error of 6.8%. Available: http://karpathy.github.io/2014/09/02/what-i-learned-from-competing-against-a-convnet-on-imagenet/

[11] See new datasets later in this piece.

[12] Keras is a popular neural network-based deep learning library: https://keras.io/

[13] Chollet, F. 2016. Information-theoretical label embeddings for large-scale image classification. [Online] arXiv: 1607.05691. Available: arXiv:1607.05691v1

[14] Chollet, F. 2016. Xception: Deep Learning with Depthwise Separable Convolutions. [Online] arXiv:1610.02357. Available: arXiv:1610.02357v2

[15] Places2 dataset, details available: http://places2.csail.mit.edu/. See also new datasets section.

[16] Hikvision. 2016. Hikvision ranked No.1 in Scene Classification at ImageNet 2016 challenge. [Online] Security News Desk. Available: http://www.securitynewsdesk.com/hikvision-ranked-no-1-scene-classification-imagenet-2016-challenge/[Accessed: 20/03/2017].

[17] See Residual Networks in Part Four of this publication for more details.

[18] Details available under team information Trimps-Soushen from: http://image-net.org/challenges/LSVRC/2016/results

[19] Xie, S., Girshick, R., Dollar, P., Tu, Z. & He, K. 2016. Aggregated Residual Transformations for Deep Neural Networks. [Online] arXiv: 1611.05431. Available: arXiv:1611.05431v1

[20] ImageNet Large Scale Visual Recognition Challenge (2016), Part II, Available: http://image-net.org/challenges/LSVRC/2016/ [Accessed: 22/11/2016]

[21] Hu and Ramanan. 2016. Finding Tiny Faces. [Online] arXiv: 1612.04402. Available: arXiv:1612.04402v1

[22] Liu et al. 2016. SSD: Single Shot MultiBox Detector. [Online] arXiv: 1512.02325v5. Available: arXiv:1512.02325v5

[23] Redmon, J. Farhadi, A. 2016. YOLO9000: Better, Faster, Stronger. [Online] arXiv: 1612.08242v1. Available: arXiv:1612.08242v1

[24] YOLO stands for「You Only Look Once」.

[25] Redmon et al. 2016. You Only Look Once: Unified, Real-Time Object Detection. [Online] arXiv: 1506.02640. Available: arXiv:1506.02640v5

[26]Redmon. 2017. YOLO: Real-Time Object Detection. [Website] pjreddie.com. Available: https://pjreddie.com/darknet/yolo/ [Accessed: 01/03/2017].

[27] Lin et al. 2016. Feature Pyramid Networks for Object Detection. [Online] arXiv: 1612.03144. Available: arXiv:1612.03144v1

[28] Facebook's Artificial Intelligence Research

[29] Common Objects in Context (COCO) image dataset

[30] Dai et al. 2016. R-FCN: Object Detection via Region-based Fully Convolutional Networks. [Online] arXiv: 1605.06409. Available: arXiv:1605.06409v2

[31] Huang et al. 2016. Speed/accuracy trade-offs for modern convolutional object detectors. [Online] arXiv: 1611.10012. Available: arXiv:1611.10012v1

[32] ibid

[33] Wu et al. 2016. SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving. [Online] arXiv: 1612.01051. Available: arXiv:1612.01051v2

[34] Hong et al. 2016. PVANet: Lightweight Deep Neural Networks for Real-time Object Detection. [Online] arXiv: 1611.08588v2. Available: arXiv:1611.08588v2

[35] DeepGlint Official. 2016. DeepGlint CVPR2016. [Online] Youtube.com. Available: https://www.youtube.com/watch?v=xhp47v5OBXQ [Accessed: 01/03/2017].

[36] COCO - Common Objects in Common. 2016. [Website] Available: http://mscoco.org/[Accessed: 04/01/2017].

[37] ILSRVC results taken from: ImageNet. 2016. Large Scale Visual Recognition Challenge 2016.

[Website] Object Detection. Available: http://image-net.org/challenges/LSVRC/2016/results [Accessed: 04/01/2017].

[38] COCO Detection Challenge results taken from: COCO - Common Objects in Common. 2016. Detections Leaderboard [Website] mscoco.org. Available: http://mscoco.org/dataset/#detections-leaderboard [Accessed: 05/01/2017].

[39] ImageNet. 2016. [Online] Workshop Presentation, Slide 31. Available: http://image-net.org/challenges/talks/2016/ECCV2016_ilsvrc_coco_detection_segmentation.pdf [Accessed: 06/01/2017].

[40] Bertinetto et al. 2016. Fully-Convolutional Siamese Networks for Object Tracking. [Online] arXiv: 1606.09549. Available: https://arxiv.org/abs/1606.09549v2

[41] Held et al. 2016. Learning to Track at 100 FPS with Deep Regression Networks. [Online] arXiv: 1604.01802. Available: https://arxiv.org/abs/1604.01802v2

[42] David Held. 2016. GOTURN - a neural network tracker. [Online] YouTube.com. Available: https://www.youtube.com/watch?v=kMhwXnLgT_I [Accessed: 03/03/2017].

[43] Gladh et al. 2016. Deep Motion Features for Visual Tracking. [Online] arXiv: 1612.06615. Available: arXiv:1612.06615v1

[44] Gaidon et al. 2016. Virtual Worlds as Proxy for Multi-Object Tracking Analysis. [Online] arXiv: 1605.06457. Available: arXiv:1605.06457v1

[45] Lee et al. 2016. Globally Optimal Object Tracking with Fully Convolutional Networks. [Online] arXiv: 1612.08274. Available: arXiv:1612.08274v1


原報告地址:http://www.themtank.org/a-year-in-computer-vision


本文爲機器之心編譯,轉載請聯繫本公衆號得到受權。

相關文章
相關標籤/搜索