All about computer vision, OpenCV and deep learning, from beginner to expert.
Libraries and Packges
OpenCV
Most used computer vision library. Highly efficient. Facilitates real-time image processing.
imutils
a collection of helper functions and utilities to make working with OpenCV easier.
dlib
Implementations of state-of-the-art CV and ML algorithms (including face recognition).
scikit-learn
Machine learning in Python. Simple. Efficient. Beautiful, easy to use API.
scikit-learn
Machine learning in Python. Simple. Efficient. Beautiful, easy to use API.
TensorFlow
Open source machine learning library. Often used for neural networks, deep learning, and as a computational backend for Keras.
Keras
High-level neural networks API. Makes coding, training, and deploying neural networks incredibly easy with its scikit-learn style API.
mxnet
A scalable deep learning framework. Extremely fast and efficient. Capable of scaling across multiple GPUs and multiple machines.
OpenCV and Image Processing
New to computer vision or OpenCV, or if you’re looking to build a cool project using basic concepts.
Deep Learning
The intersection of computer vision and deep learning is arguably the most popular subfield of computer science.
Facial Applications
From face detection to face recognition, these applications of computer vision applied to facial applications will keep you busy.
OpenCV and Video
if you are interested in applying computer vision to real-time video streams and video files.
Optical Character Recognition (OCR)
OCR is the process of automatically detecting and recognizing text, including characters, letters, and digits, in images.
CBIR and Image Search Engines
Content-Based Image Retrieval (CBIR) is the process of building image search engines.
Raspberry Pi
The Raspberry Pi is a versatile piece of hardware, especially when applied to computer vision.
Books
Beginner, code-based
If you just getting started in the field of computer vision/deep learning and looking for a more code-based text rather than a theory-based one.
- Learning OpenCV 3 Computer Vision — Joe Minichino and Joe Howse OpenCV with Python Blueprints — Michael Beyeler
- Learning OpenCV — Gary Bradaski and Adrian Kaehler
- Programming Computer Vision with Python — Jan Erik Solem
- Deep Learning with Python — Francois Chollet
- Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow — Sebastian Raschka and Vahid Mirjalili Deep Learning: A Practitioner’s Approach — Josh Patterson and Adam Gibson
Academic, theory-based
If you are looking for an academic, theory-based book to help you study computer vision and/or deep learning, the following textbooks are recommended:
- Computer Vision: Algorithms and Applications — Richard Szeliski
- Computer Vision: A Modern Approach (2nd edition) — David A. Forsyth and Jean Ponce
- Computer Vision — Linda Shaprio and George Stockman
- Computer Vision: Models, Learning, and Inference — Simon Prince
- Deep Learning — Ian Goodfellow, Yoshua Bengio, and Aaron Courville Neural Networks and Deep Learning — Michael Nielsen