Many researchers use packages of standard image processing operations and data structures. Existing packages implement low-level operations in C/C++ for efficiency. The user front-end may be C/C++, it may be Lisp ( Iowa Vision Package, OBVIUS), or it may be graphical ( Khoros ). Graphical display is provided via an interface to the X window system.
These packages are a big improvement on having each researcher write basic C code from scratch. However, they do not represent a solution to the vision programming problem, because it is impossible to satisfy everyone's needs with a reasonably-sized set of operations:
Therefore, vision packages tend to become very large, too large to maintain successfully. This tendency is best illustrated by the Image Understanding Environment (IUE). In an attempt to satisfy the needs of everyone in the community, this system has grown so large that it requires a ream of paper to print the "overview" section of its documentation. The maintenance problem is complicated by the fact that computer vision researchers work on platforms running many different versions of Unix.
Because manpower is limited, each package includes only a selection of the useful operations, biased towards algorithms that are extremely simple (e.g. linear convolution), older (often out-of-date), and/or favorites of the authors. Most packages are supported only on certain types of Unix platforms. As a result, researchers at different sites frequently use different packages, with incompatible versions of basic operations and incompatible file formats. Furthermore, use of packages imposes a bias in favor of simpler, older methods, to the exclusion of newly-developed techniques.
Finally, the package approach does not reduce the complexity of each low-level vision operation: it merely hides it from most users. Operations must still be written in C/C++. The package system provides little or no support for researchers developing new operations or extending operations to new situations.
Ownership, Maintenance and Disclaimers
Last modified