推薦!計算機視覺最適合入門的 8 本教程,演算法與實戰兼備

紅色石頭發表於2019-10-08

計算機視覺是人工智慧的一個分支,涉及理解數字影象的內容,如照片和視訊。深度學習在挑戰性的計算機視覺任務上取得了令人印象深刻的進展,並有望取得進一步的進展。

快速熟悉這個領域的最好方法之一就是找一本關於這個主題的書。在這篇文章中,你將發現關於計算機視覺的頂級教科書和程式設計書籍。

我們開始吧。

Top5 計算機視覺教材

這裡的 Top5 教材主要關注一般方法和理論(數學),而不是實際問題和方法(程式碼)的應用。我根據在頂尖學校(如麻省理工學院等)的大學課程中的使用情況以及在討論網站(如Quora等)上的建議,收集了一份排名前五的教科書。計算機視覺五大教材如下(排名不分先後):

1. 《Computer Vision: Algorithms and Applications》

作者:Richard Szeliski

出版時間:2010 年

教材主頁:http://szeliski.org/Book/

我喜歡這本書。它為計算機視覺技術的初學者(本科生)提供了廣泛的標準計算機視覺問題的堅實基礎。這本書是由理查德根據他多年在華盛頓大學教授這一課題的經驗編寫的。

目錄:

  1. Introduction
  2. Image formation
  3. Image processing
  4. Feature detection and matching
  5. Segmentation
  6. Feature-based alignment
  7. Structure from motion
  8. Dense motion estimation
  9. Image stitching
  10. Computational photography
  11. Stereo correspondence
  12. 3D reconstruction
  13. Image-based rendering
  14. Recognition

2. 《Computer Vision: Models, Learning, and Inference》

作者:Simon Prince

出版時間:2012 年

教材主頁:http://www.computervisionmodels.com/

這是一本很好的入門書(對學生),涵蓋了廣泛的計算機視覺技術和問題。這本書花了更多的時間來介紹計算機視覺,並在與概率建模相關的基本主題上花費了有用的時間。

目錄:

  1. Introduction
  2. Introduction to probability
  3. Common probability distributions
  4. Fitting probability models
  5. The normal distribution
  6. Learning and inference in vision
  7. Modeling complex data densities
  8. Regression models
  9. Classification models
  10. Graphical models
  11. Models for chains and trees
  12. Models for grids
  13. Image preprocessing and feature extraction
  14. The pinhole camera
  15. Models for transformations
  16. Multiple cameras
  17. Models for shape
  18. Models for style and identity
  19. Temporal models
  20. Models for visual words

3. 《Computer Vision: A Modern Approach》

作者:David Forsyth、Jean Ponce

出版時間:2011 年

教材主頁:http://luthuli.cs.uiuc.edu/~daf/CV2E-site/cv2eindex.html

這是一本關於計算機視覺的入門教科書,也許比其他許多教科書所涵蓋的主題更廣泛。

目錄:

Part I. Image Formation
1. Radiometry – Measuring Light
2. Sources, Shadows and Shading
3. Colour

Part II. Image Models
4. Geometric Image Features
5. Analytical Image Features
6. An introduction to Probability

Part III. Early Vision: One Image
7. Linear Filters
8. Edge Detection
9. Filters and Features
10. Texture

Part IV. Early Vision: Multiple Images
11. The Geometry of Multiple Views
12. Stereopsis
13. Affine Structure from Motion
14. Projective Structure from Motion

Part V. Mid-Level Vision
15. Segmentation Using Clustering Methods
16. Fitting
17. Segmentation and Fitting Using Probabilistic Methods
18. Tracking

Part VI. High-Level Vision
19. Correspondence and Pose Consistency
20. Finding Templates Using Classifiers
21. Recognition by Relations Between Templates
22. Aspect Graphs

Part VII. Applications and Topics
23. Range Data
24. Applications: Finding in Digital Libraries
25. Application: Image-Based Rendering

4. 《Introductory Techniques for 3-D Computer Vision》

作者:Emanuele Trucco、Alessandro Verri

出版時間:1998年

這是一本舊的書,主要集中在計算機視覺的一般與一些技術有關的三維視覺問題。這是一個很好的起點,適合本科生而不是研究生級別的讀者。

目錄:

  1. Introduction
  2. Digital snapshots
  3. Dealing with Image Noise
  4. Image Features
  5. More Image Features
  6. Camera Calibration
  7. Stereopsis
  8. Motion
  9. Shape from Single-image Cues
  10. Recognition
  11. Locating Objects in Space
  • A. Appendix

5. 《Multiple View Geometry in Computer Vision》

作者:Richard Hartley、Andrew Zisserman

出版時間:2004年

教材主頁:http://www.robots.ox.ac.uk/~vgg/hzbook/

這是一本相當先進的書(研究生水平)關於計算機視覺的一個專門的主題,特別是關於從多個影象推斷幾何的問題和方法。

目錄:

  1. Introduction

PART 0. The Background: Projective Geometry, Transformations and Estimation

  1. Projective Geometry and Transformations of 2D
  2. Projective Geometry and Transformations of 3D
  3. Estimation – 2D Projective Transformations
  4. Algorithm Evaluation and Error Analysis

PART I. Camera Geometry and Single View Geometry

  1. Camera Models
  2. Computation of the Camera Matrix P
  3. More Single View Geometry

PART II. Two-View Geometry

  1. Epipolar Geometry and the Fundamental Matrix
  2. 3D Reconstruction of Cameras and Structure
  3. Computation of the Fundamental Matrix F
  4. Structure Computation
  5. Scene Planes and Homographies
  6. Affine Epipolar Geometry

PART III. Three-View Geometry

  1. The Trifocal Tensor
  2. Computation of the Trifocal Tensor T

PART IV. N-View Geometry

  1. N-Linearities and Multiple View Tensors
  2. N-View Computational Methods
  3. Auto-Calibration
  4. Duality
  5. Cheirality
  6. Degenerate Configurations

PART V. Appendices

Top3 計算機視覺程式設計書籍

我已經收集了一個前三大 CV 程式設計實戰書籍,來自它們在頂級計算機視覺書籍列表中的排名順序和討論網站上的推薦。計算機視覺前三名教材如下(排名不分先後):

6. 《Learning OpenCV 3》

作者:Adrian Kaehler、Gary Bradski

出版時間:2017年

教材原始碼:https://github.com/oreillymedia/Learning-OpenCV-3_examples

這本書的重點是教你如何使用opencv庫,也許是首屈一指的開源計算機視覺庫。所有的程式碼示例都在C++中,這表明目標受眾是專業的開發人員,他們想學習如何將計算機視覺應用到他們的專案中。

目錄:

  1. Overview
  2. Introduction to OpenCV
  3. Getting to Know OpenCV Data Types
  4. Images and Large Array Types
  5. Array Operations
  6. Drawing and Annotating
  7. Functions in OpenCV
  8. Image, Video and Data Files
  9. Cross-Platform and Native Windows
  10. Filters and Convolutions
  11. General Image Transforms
  12. Image Analysis
  13. Histograms and Templates
  14. Contours
  15. Background Subtraction
  16. Keypoints and Descriptors
  17. Tracking
  18. Camera Models and CAlibration
  19. Projection and Three-Dimensional Vision
  20. The Basics of Machine Learning in OpenCV
  21. StatModel: The Standard Model for Learning in OpenCV
  22. Object Detection
  23. Future of OpenCV

7. 《Programming Computer Vision with Python》

作者:Jan Erik Solem

出版時間:2012年

教材主頁:http://programmingcomputervision.com/

這是一本實踐性的書,重點是教你如何在python中執行基本的計算機視覺任務,主要是使用PIL庫,儘管也有opencv的基本介紹。

目錄:

  1. Basic Image Handling and Processing
  2. Local Image Descriptors
  3. Image to Image Mappings
  4. Camera Models and Augmented Reality
  5. Multiple View Geometry
  6. Clustering Images
  7. Searching Images
  8. Classifying Image Content
  9. Image Segmentation
  10. OpenCV

8. 《Practical Computer Vision With SimpleCV》

作者:Kurt DeMaagd, Anthony Oliver, Nathan Oostendorp, and Katherine Scott

出版時間:2012年

教材主頁:http://simplecv.org/book/

這本書教你如何使用python中的simplecv庫執行基本的計算機視覺操作。

目錄:

  1. Introduction
  2. Getting to Know the SimpleCV Framework
  3. Image Sources
  4. Pixels and Images
  5. The Impact of Light
  6. Image Arithmetic
  7. Drawing on Images
  8. Basic Feature Detection
  9. FeatureSet Manipulation
  10. Advanced Features

推薦

最後,從演算法理論和程式碼實戰兩個角度來說,個人推薦:《Computer Vision: Algorithms and Applications》、《Programming Computer Vision with Python》這兩本書。當然,讀者可以根據自己的實際情況自行選擇。

原文連結:

8 Books for Getting Started With Computer Vision


相關文章