Machine vision

No longer relevant. I was never expert in this field before it was largely subsumed into convnets. But some of the software links are handy for some stuff. Occasionally I want to remember how optical flow works, for reasons, or want a driver to plug a webcam into a convnet.


  • awesome computer vision is an online list of CV resources far more comprehensive than mine.

  • scikit-image is a collection of algorithms for image processing. It is available free of charge and free of restriction. We pride ourselves on high-quality, peer-reviewed code, written by an active community of volunteers.

  • opensift implements some SiFT variants (although who cares about those these days?)

  • Mahotas: Computer Vision in Python a library of fast computer vision algorithms (all implemented in C++) operates over numpy arrays for convenience.

  • machine vision using random forests

  • ilastik (also python) the interactive learning and segmentation toolkit

    ilastik is a simple, user-friendly tool for interactive image classification, segmentation and analysis. It is built as a modular software framework, which currently has workflows for automated (supervised) pixel- and object-level classification, automated and semi-automated object tracking, semi-automated segmentation and object counting without detection. Most analysis operations are performed lazily, which enables targeted interactive processing of data subvolumes, followed by complete volume analysis in offline batch mode. Using it requires no experience in image processing.

  • openCV is released under a BSD license and hence is free for both academic and commercial use.

    It has C++, C, Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for computational efficiency and with a strong focus on real-time applications. Written in optimized C/C++, the library can take advantage of multi-core processing. Enabled with OpenCL, it can take advantage of the hardware acceleration of the underlying heterogeneous compute platform. Adopted all around the world, OpenCV has more than 47 thousand people of user community and estimated number of downloads exceeding 9 million. Usage ranges from interactive art, to mines inspection, stitching maps on the web or through advanced robotics.

  • simpleCV is an open source framework for building computer vision applications. With it, you get access to several high-powered computer vision libraries such as OpenCV — without having to first learn about bit depths, file formats, color spaces, buffer management, eigenvalues, or matrix versus bitmap storage. This is computer vision made easy.

Fleet, D. J., and Yair Weiss. 2006. “Optical Flow Estimation.” In Handbook of Mathematical Models in Computer Vision, edited by Nikos Paragios, Yunmei Chen, and Olivier Faugeras. New York: Springer.

Kawamoto, Kazuhiko. 2007. “Optical Flow–Driven Motion Model with Automatic Variance Adjustment for Adaptive Tracking.” In Computer Vision – ACCV 2007, edited by Yasushi Yagi, Sing Bing Kang, In So Kweon, and Hongbin Zha, 555–64. Lecture Notes in Computer Science 4843. Springer Berlin Heidelberg.

Lopez-Paz, David, Robert Nishihara, Soumith Chintala, Bernhard Schölkopf, and Léon Bottou. 2016. “Discovering Causal Signals in Images.” May 26, 2016.

Meinhardt-Llopis, Enric, Javier Sánchez Pérez, and Daniel Kondermann. 2013. “Horn-Schunck Optical Flow with a Multi-Scale Strategy.” Image Processing on Line 3 (July): 151–72.

Ning, F. 2005. “Toward Automatic Phenotyping of Developing Embryos from Videos.” IEEE Transactions on Image Processing 14: 1360–71.

Noyer, J. C., P. Lanvin, and M. Benjelloun. 2004. “Model-Based Tracking of 3D Objects Based on a Sequential Monte-Carlo Method.” In Conference Record of the Thirty-Eighth Asilomar Conference on Signals, Systems and Computers, 2004, 2:1744–8 Vol.2.

Sánchez Pérez, Javier, Nelson Monzón López, and Agustín Salgado de la Nuez. 2013. “Robust Optical Flow Estimation.” Image Processing on Line 3 (October): 252–70.

Wiatowski, Thomas, and Helmut Bölcskei. 2015. “A Mathematical Theory of Deep Convolutional Neural Networks for Feature Extraction.” In Proceedings of IEEE International Symposium on Information Theory.