/awesome-cv

Curated educational list for computer vision

Curated educational list for computer vision


Reference Books

Book Links
Antonio Torralba, Phillip Isola, William T. Freeman. “Foundations of Computer Vision” MIT Press, (2024). goodreads
Nixon, Mark, and Alberto Aguado. “Feature extraction and image processing for computer vision” Academic press, (2019). goodreads
González, Rafael Corsino and Richard E. Woods. “Digital image processing, 4th Edition” (2018). goodreads
E.R. Davies. “Computer Vision: Principles, Algorithms, Applications, Learning” Academic press, (2017). goodreads
Prince, Simon. “Computer Vision: Models, Learning, and Inference” (2012). goodreads
Forsyth, David Alexander and Jean Ponce. “Computer Vision - A Modern Approach, Second Edition” (2011). goodreads
Szeliski, Richard. “Computer Vision - Algorithms and Applications” Texts in Computer Science (2010). goodreads
Bishop, Charles M.. “Pattern recognition and machine learning, 5th Edition” Information science and statistics (2007). goodreads
Harltey, Andrew and Andrew Zisserman. “Multiple view geometry in computer vision (2. ed.)” (2003). goodreads
Stockman, George C. and Linda G. Shapiro. “Computer Vision” (2001). goodreads

Online Courses

Course Tags Platform
Version Control with Git Git Udacity
Git Essential Training Git LinkedIn Learning
Learning GitHub Git LinkedIn Learning
Introduction to Python Programming Programming Udacity
Learning Python Programming LinkedIn Learning
Intro to Data Science Data Science Udacity
Intro to Data Analysis Data Science Udacity
Python Data Analysis Data Science LinkedIn Learning
Segmentation and Clustering Data Science Udacity
Python for Data Science Essential Training Part 1 Data Science LinkedIn Learning
Python for Data Science Essential Training Part 2 Data Science LinkedIn Learning
Introduction to Machine Learning Course Machine Learning Udacity
Machine Learning with Scikit-Learn Machine Learning LinkedIn Learning
Intro to Deep Learning with PyTorch Deep Learning Udacity
Introduction to Computer Vision Computer Vision Udacity
OpenCV for Python Developers Computer Vision LinkedIn Learning

Uni Courses

Course Tags University
Introduction to Computer Vision Computer Vision Brown
Advances in Computer Vision Computer Vision MIT
Deep Learning for Computer Vision Computer Vision Deep Learning Stanford

YouTube Playlists

Course Year Instructor University
Computer Vision 2021 Andreas Geiger University of Tübingen
Computer Vision 2021 Yogesh S Rawat / Mubarak Shah University of Central Florida
Advanced Computer Vision 2021 Mubarak Shah University of Central Florida
Deep Learning for Computer Vision 2020 Justin Johnson University of Michigan
Advanced Deep Learning for Computer Vision 2020 Laura Leal-Taixé / Matthias Niessner Technical University of Munich
Introduction to Digital Image Processing 2020 Ahmadreza Baghaie New York Institute of Technology
Quantitative Imaging 2019 Kevin Mader ETH Zurich
Convolutional Neural Networks for Visual Recognition 2017 Fei-Fei Li Stanford University
Introduction to Digital Image Processing 2015 Rich Radke Rensselaer Polytechnic Institute
Machine Learning for Robotics and Computer Vision 2014 Rudolph Triebel Technical University of Munich
Multiple View Geometry 2013 Daniel Cremers Technical University of Munich
Variational Methods for Computer Vision 2013 Daniel Cremers Technical University of Munich
Computer Vision 2012 Mubarak Shah University of Central Florida
Image and video processing - Guillermo Sapiro Duke University

Python Libraries

Library Description
OpenCV Open Source Computer Vision Library
Pillow The friendly PIL fork (Python Imaging Library)
scikit-image collection of algorithms for image processing
SciPy open-source software for mathematics, science, and engineering
mmcv OpenMMLab foundational library for computer vision research
imutils A series of convenience functions to make basic image processing operations
pgmagick python based wrapper for GraphicsMagick/ImageMagick
Mahotas library of fast computer vision algorithms (last updated: 2021)
SimpleCV The Open Source Framework for Machine Vision (last updated: 2015)

MATLAB Libraries

Library Description
PMT Piotr's Computer Vision Matlab Toolbox
matlabfns MATLAB and Octave Functions for Computer Vision and Image Processing, P. Kovesi, University of Western Australia
VLFeat open source library implements popular computer vision algorithms, A. Vedaldi and B. Fulkerson
MLV Mid-level Vision Toolbox (MLVToolbox), BWLab, University of Toronto
ElencoCode Loris Nanni's CV functions, University of Padova

Repos

Tags: Object Classification [ObjCls], Object Detection [ObjDet], Object Segmentation [ObjSeg], General Library [GenLib], Text Reading / Object Character Recognition [OCR], Action Recognition [ActRec], Object Tracking [ObjTrk], Data Augmentation [DatAug], Simultaneous Localization and Mapping [SLAM], Outlier/Anomaly/Novelty Detection [NvlDet], Content-based Image Retrieval [CBIR], Image Enhancement [ImgEnh], Aesthetic Assessment [AesAss], Explainable Artificial Intelligence [XAI], Text-to-Image Generation [TexImg], Pose Estimation [PosEst], Video Matting [VidMat], Eye Tracking [EyeTrk]

Repo Tags Description
computervision-recipes [GenLib] Microsoft, Best Practices, code samples, and documentation for Computer Vision
FastAI [GenLib] FastAI, Library over PyTorch used for learning and practicing machine learning and deep learning
pytorch-lightning [GenLib] PyTorchLightning, Lightweight PyTorch wrapper for high-performance AI research
ignite [GenLib] PyTorch, High-level library to help with training and evaluating neural networks in PyTorch flexibly and transparently
pytorch_geometric [GenLib] Graph Neural Network Library for PyTorch
kornia [GenLib] Open Source Differentiable Computer Vision Library
ncnn [GenLib] Tencent, High-performance neural network inference framework optimized for the mobile platform
MediaPipe [ObjDet] [ObjSeg] [ObjTrk] [GenLib] Google, iOS - Andriod - C++ - Python - Coral, Face Detection - Face Mesh - Iris - Hands - Pose - Holistic - Hair Segmentation - Object Detection - Box Tracking - Instant Motion Tracking - Objectron - KNIFT (Similar to SIFT)
PyTorch image models [ObjCls] rwightman, PyTorch image classification models, scripts, pretrained weights
mmclassification [ObjCls] OpenMMLab, Image Classification Toolbox and Benchmark
vit-pytorch [ObjCls] SOTA for vision transformers
face_classification [ObjCls] [ObjDet] Real-time face detection and emotion/gender classification
mmdetection [ObjDet] OpenMMLab, Image Detection Toolbox and Benchmark
detectron2 [ObjDet] [ObjSeg] Facebook, FAIR's next-generation platform for object detection, segmentation and other visual recognition tasks
detr [ObjDet] Facebook, End-to-End Object Detection with Transformers
libfacedetection [ObjDet] An open source library for face detection in images, speed: ~1000FPS
FaceDetection-DSFD [ObjDet] Tencent, SOTA face detector
object-Detection-Metrics [ObjDet] Most popular metrics used to evaluate object detection algorithms
SAHI [ObjDet] [ObjSeg] A lightweight vision library for performing large scale object detection/ instance segmentation
yolov5 [ObjDet] ultralytics
AlexeyAB/darknet pjreddie/darknet [ObjDet] YOLOv4 / Scaled-YOLOv4 / YOLOv3 / YOLOv2
U-2-Net [ObjDet] ultralytics U^2-Net: Going Deeper with Nested U-Structure for Salient Object Detection
segmentation_models.pytorch [ObjSeg] qubvel, PyTorch segmentation models with pretrained backbones
mmsegmentation [ObjSeg] OpenMMLab, Semantic Segmentation Toolbox and Benchmark
mmocr [OCR] OpenMMLab, Text Detection, Recognition and Understanding Toolbox
pytesseract [OCR] A Python wrapper for Google Tesseract
EasyOCR [OCR] Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc
PaddleOCR [OCR] Practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices
PaddleSeg [ObjSeg] Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc
mmtracking [ObjTrk] OpenMMLab, Video Perception Toolbox for object detection and tracking
mmaction [ActRec] OpenMMLab, An open-source toolbox for action understanding based on PyTorch
albumentations [DatAug] Fast image augmentation library and an easy-to-use wrapper around other libraries
ORB_SLAM2 [SLAM] Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities
pyod [NvlDet] Python Toolbox for Scalable Outlier Detection (Anomaly Detection)
imagededup [CBIR] Image retrieval, CBIR, Find duplicate images made easy!
image-match [CBIR] Image retrieval, CBIR, Quickly search over billions of images
Bringing-Old-Photos-Back-to-Life [ImgEnh] Microsoft, Bringing Old Photo Back to Life (CVPR 2020 oral)
image-quality-assessment [AesAss] Idealo, Image Aesthetic, NIMA model to predict the aesthetic and technical quality of images
aesthetics [AesAss] Image Aesthetics Toolkit using Fisher Vectors
pytorch-cnn-visualizations [XAI] Pytorch implementation of convolutional neural network visualization techniques
DALLE2-pytorch [TexImg] Implementation of DALL-E 2, OpenAI's updated text-to-image synthesis neural network, in Pytorch
imagen-pytorch [TexImg] Implementation of Imagen, Google's Text-to-Image Neural Network, in Pytorch
openpose [PosEst] OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation
RobustVideoMatting [VidMat] Robust Video Matting in PyTorch, TensorFlow, TensorFlow.js, ONNX, CoreML!
fastudp [NvlDet] [CBIR] An unsupervised and free tool for image and video dataset analysis
Random-Erasing [DatAug] Random Erasing Data Augmentation in PyTorch
CutMix-PyTorch [DatAug] Official Pytorch implementation of CutMix regularizer
keras-cv [GenLib] Library of modular computer vision oriented Keras components
PsychoPy [EyeTrk] Library for running psychology and neuroscience experiments

Dataset Collections


Task Management Tools

  • MLflow, Platform to manage the ML lifecycle, including experimentation, reproducibility, deployment, and a central model registry
  • Apache Airflow, Apache/AirBnB, Platform created by the community to programmatically author, schedule and monitor workflows
  • Ploomber, fastest way to build data pipelines.

Annotation Tools

  • VoTT, Microsoft, Visual Object Tagging Tool: An electron app for building end to end Object Detection Models from Images and Videos
  • labelme, Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation)
  • labelImg, Graphical image annotation tool and label object bounding boxes in images
  • VIA, VGG Oxford, HTML-based standalone manual annotation software for image, audio and video
  • FiftyOne, open-source tool for building high-quality datasets and computer vision models

Awesome Lists


Misc


Conferences

  • CORE Rank A:
    • ICCV: International Conference on Computer Vision (IEEE)
    • CVPR: Conference on Computer Vision and Pattern Recognition (IEEE)
    • ECCV: European Conference on Computer Vision (Springer)
    • WACV: Winter Conference/Workshop on Applications of Computer Vision (IEEE)
    • ICASSP: International Conference on Acoustics, Speech, and Signal Processing (IEEE)
    • MICCAI: Conference on Medical Image Computing and Computer Assisted Intervention (Springer)
    • IROS: International Conference on Intelligent Robots and Systems (IEEE)
    • ACMMM: ACM International Conference on Multimedia (ACM)
  • CORE Rank B
    • ACCV: Asian Conference on Computer Vision (Springer)
    • VCIP: International Conference on Visual Communications and Image Processing (IEEE)
    • ICIP: International Conference on Image Processing (IEEE)
    • CAIP: International Conference on Computer Analysis of Images and Patterns (Springer)
    • VISAPP: International Conference on Vision Theory and Applications (SCITEPRESS)
    • ICPR: International Conference on Pattern Recognition (IEEE)
    • ACIVS: Conference on Advanced Concepts for Intelligent Vision Systems (Springer)
    • EUSIPCO: European Signal Processing Conference (IEEE)
    • ICRA: International Conference on Robotics and Automation (IEEE)
    • BMVC: British Machine Vision Conference (organized by BMVA: British Machine Vision Association and Society for Pattern Recognition)
  • CORE Rank C:
    • ICISP: International Conference on Image and Signal Processing (Springer)
    • ICIAR: International Conference on Image Analysis and Recognition (Springer)
    • ICVS: International Conference on Computer Vision Systems (Springer)
  • Unranked but popular
    • MIUA: Conference on Medical Image Understanding and Analysis (organized by BMVA: British Machine Vision Association and Society for Pattern Recognition)
    • EUVIP: European Workshop on Visual Information Processing (IEEE, organized by EURASIP: European Association for Signal Processing)
    • CIC: Color and Imaging Conference (organized by IS&T: Society for Imaging Science and Technology)
    • CVCS: Colour and Visual Computing Symposium
    • DSP: International Conference on Digital Signal Processing

Journals

  • Tier 1
    • IEEE Transactions on Pattern Analysis and Machine Intelligence (IEEE TPAMI)
    • IEEE Transactions on Image Processing (IEEE TIP)
    • IEEE Transactions on Circuits and Systems for Video Technology (IEEE TCSVT)
    • Springer International Journal of Computer Vision (Springer IJCV)
    • Elsevier Pattern Recognition (Elsevier PR)
    • Elsevier Computer Vision and Image Understanding (Elsevier CVIU)
    • Elsevier Expert Systems with Applications
    • Elsevier Neurocomputing, Springer Neural Computing and Applications
  • Tier 2
    • Elsevier Image and Vision Computing (Elsevier IVC)
    • Elsevier Pattern Recognition Letters (Elsevier PR Letters)
    • Elsevier Journal of Visual Communication and Image Representation
    • Springer Journal of Mathematical Imaging and Vision
    • SPIE Journal of Electronic Imaging
    • IET Image Processing
    • Springer Pattern Analysis and Applications (Springer PAA)
    • Springer Machine Vision and Applications (Springer MVA)
    • IET Computer Vision
  • Open Access
    • IEEE Access
    • MDPI Journal of Imaging

Summer Schools

  • International Computer Vision Summer School (IVCSS) [2007-Present], Sicily, Italy [2023]
  • Machine Intelligence and Visual Computing Summer School (VISUM) [2013-2022], Porto, Portugal [2022]
  • BMVA British Computer Vision Summer School (CVSS) [2013-2020,2023], UK [Website]

YouTube Channels


Mailing Lists

  • Vision Science, announcements about industry/academic jobs in computer vision around the world (in English).
  • bull-i3, posts about job opportunities in computer vision in France (in French).

Thanks