選自The M tankhtml
機器之心編譯git
參與:蔣思源、劉曉坤github
The M Tank 編輯了一份報告《A Year in Computer Vision》,記錄了 2016 至 2017 年計算機視覺領域的研究成果,對開發者和研究人員來講是不可多得的一份詳細材料。該材料共包括四大部分,在本文中機器之心對第一部分作了編譯介紹,後續會放出其餘部份內容。
內容目錄算法
簡介網絡
第一部分架構
第二部分app
第三部分框架
第四部分機器學習
結論ide
完整 PDF 地址:http://www.themtank.org/pdfs/AYearofComputerVisionPDF.pdf
簡介
計算機視覺是關於研究機器視覺能力的學科,或者說是使機器能對環境和其中的刺激進行可視化分析的學科。機器視覺一般涉及對圖像或視頻的評估,英國機器視覺協會(BMVA)將機器視覺定義爲「對單張圖像或一系列圖像的有用信息進行自動提取、分析和理解」。
對咱們環境的真正理解不是僅經過視覺表徵就能夠達成的。更準確地說,是視覺線索經過視覺神經傳輸到主視覺皮層,而後由大腦以高度特徵化的形式進行分析的過程。從這種感受信息中提取解釋幾乎包含了咱們全部的天然演化和主體經驗,即進化如何令咱們生存下來,以及咱們如何在一輩子中對世界進行學習和理解。
從這方面來講,視覺過程僅僅是傳輸圖像並進行解釋的過程,然而從計算的角度看,圖像其實更接近思想或認知,涉及大腦的大量功能。所以,因爲跨領域特性很顯著,不少人認爲計算機視覺是對視覺環境和其中語境的真實理解,並將引領咱們實現強人工智能。
不過,咱們目前仍然處於這個領域發展的胚胎期。這篇文章的目的在於闡明 2016 至 2017 年計算機視覺最主要的進步,以及這些進步對實際應用的促進。
爲簡單起見,這篇文章將僅限於基本的定義,並會省略不少內容,特別是關於各類卷積神經網絡的設計架構等方面。
這裏推薦一些學習資料,其中前兩個適用與初學者快速打好基礎,後兩個能夠做爲進階學習:
對於還想進一步瞭解神經網絡和深度學習的,咱們推薦:
下面咱們先簡介本文的第一部分,這一部分主要敘述了目標分類與定位、目標檢測與目標追蹤等十分基礎與流行的計算機視覺任務。然後機器之心將陸續分享 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)亮點:
目標檢測
目標檢測(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 技術仍然很是有效,仍然普遍用於目標檢測任務。
YOLO9000 實現了檢測和分類的聯合訓練,並將其預測泛化能力擴展到未知的檢測數據上,即它能檢測從未見過的目標或物體。YOLO9000 模型提供了 9000 多個類別的實時目標檢測,縮小了分類和檢測數據集間的鴻溝。該模型其它詳細的信息和預訓練模型請查看:http://pjreddie.com/darknet/yolo/。
圖 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 上的結果代表「MSRAVC 2015 的結果爲『引入 ResNet』設置了很高的標準。在整個項目中對全部的類別的目標檢測性能都有所提高。在兩個挑戰賽中,定位任務的性能都獲得較大的提高。關於小型目標實例的大幅性能提高結果詳見參考文獻」(ImageNet,2016)。[39]
圖 5.ILSVRC 的圖像目標檢測結果(2013-2016),來源 ImageNet. 2016. [Online] Workshop
目標追蹤
目標追蹤即在給定的場景中追蹤感興趣的一個或多個特定目標的過程,在視頻和現實世界的交互中(一般是從追蹤初始的目標檢測開始的)有不少應用,且對於自動駕駛而言很是重要。
「本論文展現了深度運動特徵(motion features)對檢測和追蹤框架的影響。咱們還進一步說明了手工製做的特徵、深度 RGB 和深度運用特徵包含互補信息。據咱們所知,這是第一個提出融合外表信息和深度運動特徵,並用於視覺追蹤的研究。咱們全面的實驗代表融合方法具備深度運動特徵,並超過了單純依賴外表信息的方法。」
參考文獻:
[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
本文爲機器之心編譯,轉載請聯繫本公衆號得到受權。