No longer relevant. I was never expert in this field before it was largely subsumed into CNNs. But some of the software links are handy for some stuff. Occasionally I want to remember how optical flow works, for reasons. See also artificial neural network, Markov random fields, synestizer and random forests.
- 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
- 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.
- WiBö15: (2015) A Mathematical Theory of Deep Convolutional Neural Networks for Feature Extraction. In Proceedings of IEEE International Symposium on Information Theory.
- LNCS16: (2016) Discovering Causal Signals in Images. ArXiv:1605.08179 [Cs, Stat].
- MeSK13: (2013) Horn-Schunck Optical Flow with a Multi-Scale Strategy. Image Processing On Line, 3, 151–172. DOI
- NoLB04: (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 (Vol. 2, pp. 1744-1748 Vol.2). DOI
- FlWe06: (2006) Optical Flow Estimation. In Handbook of mathematical models in computer vision. New York: Springer
- Kawa07: (2007) Optical Flow–Driven Motion Model with Automatic Variance Adjustment for Adaptive Tracking. In Computer Vision – ACCV 2007 (pp. 555–564). Springer Berlin Heidelberg DOI
- SáMS13: (2013) Robust Optical Flow Estimation. Image Processing On Line, 3, 252–270. DOI
- Ning05: (2005) Toward automatic phenotyping of developing embryos from videos. IEEE Transactions on Image Processing, 14, 1360–1371. DOI