Computer Vision Primer: beginner's guide to image analysis, data analysis, related mathematics (calculus, topology, linear algebra), image analysis software, and applications in sciences and engineering.

Developer’s introduction

From Computer Vision Primer

Jump to: navigation, search

The current image analysis and computer vision technology is a very large collection of disparate “tools” in the form of “toolboxes”, “cookbooks”, or code libraries. It follows the following outdated manual paradigm:

1. An image is given. 2. The image is processed and analyzed with mathematical tools. 3. Analysis produces data about the contents of the image.

Image analysis tools include “edge detection”, “thresholding”, “segmentation”, “Fourier transform”, “wavelets”, "the Laplacian of the Gaussian" (my favorite), and on and on, all drown in a sea of image processing tools. It takes serious training and experience to put these pieces together. The methods are mathematically advanced at a level that goes well beyond what is covered in a typical undergraduate degree in computer science: Fourier and wavelet transforms, partial differential equations, probability and statistics, discrete topology and geometry, etc.

A computer vision platform should allow the software developer to concentrate on the user’s needs instead of custom development of or experimentation with mathematical methods and algorithms. Our goal is to take care of the "Mathematical tools" part above so that the developer would face this:

The image analysis part is hidden from the developer who is simply supplied with the output data.

Initially we'll be able to handle only the fundamentals: objects in the image, their locations,measurements, their topology, etc. It is what may be called the low level computer vision. This data will allow the developer to concentrate on high level computer vision: what these objects represent in the context of his project.

For that we have our free software developer's kit (SDK). If you also want to understand how everything works, this wiki gives you a unique chance. We have complete and detailed expositions as well as the source code. For some ideas take a look at software projects as well as the possibilities of automation in these numerous image analysis examples.

Our long term goal is to design a comprehensive computer vision system “from first principles”. These principles come initially from one of the most fundamental fields of mathematics, topology. The idea is that just as mathematics rests on topology (and algebra), computer vision should be built on a firm topological foundation. More...

Algebraic topology is a well established discipline within mathematics. Its main computational tools have been implemented as software (CHomP, JPlex, and others). However, this theory and these tools are only applicable to binary images.

A framework for analysis of gray scale images has been under development. It is called Pixcavator. It includes both an image analysis software and an SDK.

Future projects include the development of:

  • protocols for applying the framework for specific tasks (e.g., measuring a tumor),
  • new methods that resolve the ambiguity of the boundaries of objects in gray scale images,
  • integration of the existing image analysis methods into the framework,
  • a framework for video (first binary, then gray scale, etc),
  • a framework for color images (and other multichannel images),
  • a framework for 3D images (first binary, then gray scale, etc).