Intelligent image processing using prolog

0Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Some potential applications of Machine Vision, particularly those involving highly variable objects (Chap. 2), require greater reasoning power than standard image processing languages can provide. This chapter is based on the premise that an intelligent vision system can be made, by the simple expedient of embedding imagemanipulation andmeasurement routines, such as those provided by QT (Chap. 21), within the Artificial Intelligence language Prolog. The great strength of Prolog is its ability to perform symbolic reasoning. It is a declarative language. That is, it operates by searching automatically for a solution to a problem, given a description of (part of) the world. The user specifies the desired characteristics that a solution must have. Prolog's search engine then hunts for the specific conditions thatmust exist to obtain a solution. If the user chooses, or programs Prolog appropriately, it will search for multiple solutions. Unlike a conventional imperative language, Prolog does not have any instructions. Instead, it accepts, a series of statements that are then tested individually for their veracity. It does not possess any of the usual flow-control tools, such as IF ... THEN, FOR, WHILE, CASE, etc. Instead, it relies on back-tracking and recursion. The former allows temporary assumptions that have been made while searching for a solution to be revised before continuing the search. A software interface interconnecting QT with a modern implementation of Prolog (SWI-Prolog) was designed. The result, called PQT, allows image processing operations to be invoked procedurally within a Prolog program, or executed interactively, as in QT. Image measurement values can be used to define temporary values for (i.e. instantiate) Prolog variables. Using PQT, it is possible to define general spatial relationships (left, above, concentric, parallel, etc.), geometric features (T, X, U, V), shape characteristics (round, curved, elongated), colour and texture (yellow, smooth, spotty). These would be much more difficult to define and use in a standard programming language. PQT can also be used effectively to control external peripheral devices but not in real time. PQT inherits Prolog's limited ability to analyse and extract meaning from natural language sentences, such as spoken commands. While PQT was designed to perform vision-based tasks, such as inspecting food products, it is also capable of the high-level reasoning needed to incorporate them into a well-balanced meal. This chapter is in three parts. In the first, we explain how certain tasks involving abstract symbolic reasoning about images, can be accomplished, using a Prolog program with embedded image processing commands. In the second, we discuss the processing of natural language using Prolog. This allows us to build a vision system that is able to understand spoken commands expressed in English. In addition, such a machine can perform such tasks as operating an array of lights, or controlling a simple robot. In the third part, we describe how Prolog and QT, the image processing software package discussed in Chap. 21, can be interfaced to one another. This combination implements a convenient, easy-to-use language that has the ability to process and analyse images and then reason logically about them.

Cite

CITATION STYLE

APA

Batchelor, B. G. (2012). Intelligent image processing using prolog. In Machine Vision Handbook (pp. 1031–1078). Springer London. https://doi.org/10.1007/978-1-84996-169-1_23

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free