This page is a part of the Computer Vision Wiki. The wiki is devoted to computer vision, especially low level computer vision, digital image analysis, and applications. The exposition is geared towards software developers, especially beginners. The wiki contains discussions, mathematics, algorithms, code snippets, source code, and compiled software. Everybody is welcome to contribute with this in mind - all links are no-follow.

# Computer Vision Wiki:About

The initial material for the wiki will come from a book draft [1] of mine. The original title of this book was Homology Inside: An Image Analysis System. Indeed, this book grew from my efforts to implement some algorithms of homology theory in order to apply them in image analysis. Another title I considered but found too broad was Context Independent Image Analysis. Mathematically, this wiki is about Computational Topology and Geometry.

The wiki will provide methods related to the following image analysis tasks: partition and simplification of images, image enhancement, motion tracking, scientific image analysis, image recognition, matching, and search. The approach is simple, robust, versatile, easy to customize, and context independent. Unlike most of the current methods, it is designed to be consistent with the mathematical theory of image analysis, i.e., algebraic topology.

Algebraic topology is rarely taught. The reason is that such a course heavily relies on point-set topology and modern algebra as prerequisites. Also, as a part of a math major the course includes challenging proofs. At later stages we will bring algebraic topology to the audience that needs it in the appropriate form.

The wiki will be developed with a software developer in mind. Prerequisites are minimal. First, some calculus. Very little is required because integer (or binary) arithmetic is applied almost exclusively. I do refer to sums as integrals and I do mention Green’s Theorem. Second, a fair amount of linear algebra. At later stages, we will freely use vectors and matrices of arbitrary dimensions. Finitely dimensional vector spaces, subspaces, linear operators and their matrix representations also appear. Without a good familiarity with quotient spaces it will be hard to understand homology. Elementary probability will be mentioned in some application sections. Beyond basic calculus and elementary linear algebra the wiki is self-contained. Third, a basic knowledge of C++ or another computer language is desirable. However, the code was written as a mere illustration of the algorithms (it would need debugging too). As a result simplicity and clarity were chosen over efficiency. The code is so elementary that it can be easily followed by a person who understands the mathematics involved. On the other hand, the simplicity of the code allows the experienced reader to implement the algorithms in any other language.

The main parts of the method described here have been implemented as a computer program called Pixcavator. The program, as well as its SDK, is available for download at [2].

We develop only very basic algorithms. You won’t find here any advanced image analysis techniques. On the other hand, there is hardly anything in this wiki that you can find elsewhere in the current image analysis literature.

There have been a few attempts to address topological issues in imaging. Digital Geometry: Geometric Methods for Digital Image Analysis by Klette and Rosenfeld, an encyclopedia of mathematical methods in imaging, devotes a whole page to homology theory! Volumetric Image Analysis by Lohmann has some basics, mostly Betti numbers. Topology for Computing by Zamorodian is a research monograph that provides useful algorithms for computation of homology but does not address digital image analysis. Computational Homology by Kaczynski, Mischaikow, and Mrozek has a very well written introduction to homology in the beginning of the book as well as many algorithms for cubical homology. However, only a seasoned mathematician can work his way through the notation and the proofs in the rest of the book. Essentially, the book is half way between a graduate textbook and a research monograph. My goal here is something more user friendly, like an online textbook...

Good luck!

Peter Saveliev [3]

saveliev [at] marshall [dot] edu

Marshall University

P.S. The development of the wiki will be discussed in our blog [4].