Machine vision

January 4, 2015 — November 14, 2018

computers are awful
machine learning
machine vision
Figure 1

This page is irrelevant, theoretically. I was never an expert in this field before it was largely subsumed into convnets and ilk. But some of the software links are practically handy. Occasionally I want to remember how optical flow works, or want a driver to plug a webcam into a convnet.

1 Software

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

  • Cheat-maker brags of computer-vision auto-aim that works on “any game”

  • 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, colour spaces, buffer management, eigenvalues, or matrix versus bitmap storage. This is computer vision made easy.

2 References

Fleet, and Weiss. 2006. Optical Flow Estimation.” In Handbook of Mathematical Models in Computer Vision.
Kawamoto. 2007. Optical Flow–Driven Motion Model with Automatic Variance Adjustment for Adaptive Tracking.” In Computer Vision – ACCV 2007. Lecture Notes in Computer Science 4843.
Lopez-Paz, Nishihara, Chintala, et al. 2016. Discovering Causal Signals in Images.” arXiv:1605.08179 [Cs, Stat].
Meinhardt-Llopis, Sánchez Pérez, and Kondermann. 2013. Horn-Schunck Optical Flow with a Multi-Scale Strategy.” Image Processing On Line.
Ning. 2005. Toward Automatic Phenotyping of Developing Embryos from Videos.” IEEE Transactions on Image Processing.
Noyer, Lanvin, and 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.
Pletscher. 2012. “Towards Accurate Structured Output Learning and Prediction.”
Sánchez Pérez, Monzón López, and Salgado de la Nuez. 2013. Robust Optical Flow Estimation.” Image Processing On Line.
Wiatowski, and Bölcskei. 2015. A Mathematical Theory of Deep Convolutional Neural Networks for Feature Extraction.” In Proceedings of IEEE International Symposium on Information Theory.