Nowadays machine vision applications require skilled users to configure, tune, and maintain. Because such
users are scarce, the robustness and reliability of applications are usually significantly affected. Autonomic
computing offers a set of principles such as self-monitoring, self-regulation, and self-repair which can be used
to partially overcome those problems. Systems which include self-monitoring observe their internal states, and
extract features about them. Systems with self-regulation are capable of regulating their internal parameters
to provide the best quality of service depending on the operational conditions and environment. Finally, self-repairing
systems are able to detect anomalous working behavior and to provide strategies to deal with such
conditions. Machine vision applications are the perfect field to apply autonomic computing techniques. This
type of application has strong constraints on reliability and robustness, especially when working in industrial
environments, and must provide accurate results even under changing conditions such as luminance, or noise.
In order to exploit the autonomic approach of a machine vision application, we believe the architecture of
the system must be designed using a set of orthogonal modules. In this paper, we describe how autonomic
computing techniques can be applied to machine vision systems, using as an example a real application: 3D
reconstruction in harsh industrial environments based on laser range finding. The application is based on
modules with different responsibilities at three layers: image acquisition and processing (low level), monitoring
(middle level) and supervision (high level). High level modules supervise the execution of low-level modules.
Based on the information gathered by mid-level modules, they regulate low-level modules in order to optimize
the global quality of service, and tune the module parameters based on operational conditions and on the
environment. Regulation actions involve modifying the laser extraction method to adapt to changing conditions
in the environment.