Vous êtes sur la page 1sur 4

# INTRODUCTION

## Cameras with automatic focusing systems usually measure the

distance to the center of a finder's view. This method, however,
is inaccurate when the object of interest is not at the center of
the view (Figure 1). Measuring more than one distance is an
approach that may solve this problem. The following example shows
the application of fuzzy inference as a means of automatically
determining correct focus distance.

FUZZY INFERENCE

Objective

## Determine the object distance using three distance measures for

an automatic camera focusing system.

## Inputs to the FIU (Fuzzy Inference Unit) are three distance

measures at left, center and right points in the finder view.
Outputs are the plausibility values associated with these three
points (Figure 2). The point with the highest plausibility is
deemed to be the object of interest. Its distance is then
forwarded to the automatic focusing system.

## Each input variable, representing distance, has three labels:

Near, Medium, and Far. Each output variable, representing
plausibility, has four labels: Low, Medium, High, and VeryHigh.
Membership functions corresponding to these labels are shown in
Figures 3a and 3b.

Fuzzy Rules

## The guiding principle for establishing rules of this automatic

focusing system is that the likelihood of an object being at
medium distance (typically 10 meters) is high, and becomes very
low as distance increases (say, more than 40 meters).

## Source Code of Fuzzy Inference Unit

\$ FILENAME: camera/af1.fil
\$ DATE: 07/29/92
\$ UPDATE: 08/06/92

## \$ Three inputs, three outputs, decision making for

\$ Automatic Focusing System
\$ INPUT(S): Left(Distance), Center(Distance),
\$ Right(Distance)
\$ OUTPUT(S): Plau(sibility)_of_Left,
\$ Plau(sibility)_of_Center, Plau(sibility)_of_Right

fiu tvfi (min max) *8;

## invar Left "meter" : 1 () 100 [

Far (@10, 0, @40, 1, @100, 1),
Medium (@1, 0, @10, 1, @40, 0),
Near (@1, 1, @10, 0)
];

## invar Center "meter" : 1 () 100 [

Far (@10, 0, @40, 1, @100, 1),
Medium (@1, 0, @10, 1, @40, 0),
Near (@1, 1, @10, 0)
];

## invar Right "meter" : 1 () 100 [

Far (@10, 0, @40, 1, @100, 1),
Medium (@1, 0, @10, 1, @40, 0),
Near (@1, 1, @10, 0)
];

VeryHigh = 1.0,
High = 0.8,
Medium = 0.5,
Low = 0.3
);

VeryHigh = 1.0,
High = 0.8,
Medium = 0.5,
Low = 0.3
);

VeryHigh = 1.0,
High = 0.8,
Medium = 0.5,
Low = 0.3
);

\$ RULES

## if Left is Near then Plau_of_Left is Medium;

if Center is Near then Plau_of_Center is Medium;
if Right is Near then Plau_of_Right is Medium;

## if Left is Near and Center is Near and Right is Near then

Plau_of_Center is High;
if Left is Near and Center is Near then Plau_of_Left is Low;
if Right is Near and Center is Near then Plau_of_Right is Low;

## if Left is Medium then Plau_of_Left is High;

if Center is Medium then Plau_of_Center is High;
if Right is Medium then Plau_of_Right is High;

## if Left is Medium and Center is Medium and Right is Medium then

Plau_of_Center is VeryHigh;
if Left is Medium and Center is Medium then Plau_of_Left is Low;
if Right is Medium and Center is Medium then Plau_of_Right is Low;

## if Left is Far then Plau_of_Left is Low;

if Center is Far then Plau_of_Center is Low;
if Right is Far then Plau_of_Right is Low;
if Left is Far and Center is Far and Right is Far then
Plau_of_Center is High;

## if Left is Medium and Center is Far then Plau_of_Center is Low;

if Right is Medium and Center is Far then Plau_of_Center is Low

end

Input/Output Response

Now let us compile the FIU source code given above and use the
FIDE analyzer to see how this unit works. Figures 4a and 4b
provide two input/output response surfaces of the FIU. From
Figure 4a, we see that Plausibility_of_Center becomes high when
the distance at the center is around 10 meters, a distance we
defined to be Medium in the definition of input variables. It
becomes lower when the distance increases, especially when the
distance on the left is Medium. Figure 4b shows the
Plausibility_of_Left is high when the distance on the left is
around 10 meters. In this case, when the distance at the center
is about the same as that on the left, we choose center as the
desired object. The Plausibility_of_Right is similar to the
Plausibility_of_Left. The three outputs of the FIU are compared
to identify the point with highest plausibility. The distance
at this point is the focus distance. By adjusting the membership
functions of the distance labels, we can achieve different response
surfaces for different purposes.

## Remember that this example is provided only for easy-to-use

compact cameras targeted for the mass market. For professional
photographers it may be inappropriate to provide strictly
automatic camera focusing using the three distance measures
method. However, if suitable manual overrides were available, it
would still be useful as an option in some situations (e.g. when
speed is important). Besides automatic focusing(AF), fuzzy logic
can be used in automatic exposure(AE) and automatic zooming(AZ).
For AE and and AZ, the input/output variables and rules of the FIU
will be different from those shown above for AF, but the design
process is very similar.

## (Weijing Zhang, Applications Engineer, Aptronix Inc.)

Aptronix Incorporated
2150 North First Street #300
San Jose, CA 95131
Tel (408) 428-1888
Fax (408) 428-1884
FuzzyNet (408) 428-1883 data 8/N/1

## Headquartered in San Jose, California, Aptronix develops and

markets fuzzy logic-based software, systems and development
tools for a complete range of commercial applications. The
company was founded in 1989 and has been responsible for a
number of important innovations in fuzzy technology.

## Aptronix's product Fide (Fuzzy Inference Development

Environment) -- is a complete environment for the development of
fuzzy logic-based systems. Fide provides system engineers with
the most effective fuzzy tools in the industry and runs in
MS-Windows(TM) on 386/486 hardware. The price for Fide is \$1495 and
can be ordered from any authorized Motorola distributor. For a