parisian camera placement for vision metrology

11
Parisian camera placement for vision metrology Enrique Dunn a , Gustavo Olague a, * , Evelyne Lutton b a Centro de Investigacio ´ n Cientı ´fica y de Educacio ´ n Superior de Ensenada, Depto. de Ciencias de la Computacio ´ n, Divisio ´n de Fı ´sica Aplicada, EvoVisio ´ n Laboratory, Km. 107 carretera Tijuana-Ensenada, 22860 Ensenada, BC, Me ´xico b INRIA—COMPLEX Team, Domaine de Voluceau, BP 105 78153 Le Chesnay Cedex, France Available online 28 December 2005 Abstract This paper presents a novel camera network design methodology based on the Parisian evolutionary computation approach. This methodology proposes to partition the original problem into a set of homogeneous elements, whose individual contribution to the prob- lem solution can be evaluated separately. A population comprised of these homogeneous elements is evolved with the goal of creating a single solution by a process of aggregation. The goal of the Parisian evolutionary process is to locally build better individuals that jointly form better global solutions. The implementation of the proposed approach requires addressing aspects such as problem decomposition and representation, local and global fitness integration, as well as diversity preservation mechanisms. The benefit of applying the Parisian approach to our camera placement problem is a substantial reduction in computational effort expended in the evolutionary optimization process. Moreover, experimental results coincide with previous state of the art photogrammetric network design methodologies, while incurring in only a fraction of the computational cost. Ó 2005 Elsevier B.V. All rights reserved. Keywords: Camera placement; Accurate 3D reconstruction; Photogrammetric network design; Evolutionary computation; Parisian approach 1. Introduction Planning a photogrammetric network with the aim of obtaining a high-accurate 3D object reconstruction is con- sidered as a challenging design problem in vision metrology (Fraser, 1996). This design problem offers an intricate com- bination of interactions between the sensor physical con- straints, the mathematical modeling of the problem, as well as the numerical methods used to solve it (Wong and Kamel, 2004; Chen and Li, 2004). Building on previous research on automated sensor placement, we develop a novel methodology for sensor placement based on the Pari- sian approach to evolutionary computation (EC). The Pari- sian approach of individual evolution considers that a single individual represents a partial solution to the considered problem. Hence, a process of aggregation of multiple indi- viduals is needed in order to arrive at a solution. We incor- porate such an approach to the camera network design problem by evolving a population of camera subnetworks. As a result, computational requirements are greatly reduced for individual fitness evaluation due to the reduced size of the total mathematical model. Parisian evolution is a complex optimization technique because multiple new aspects need to be considered in the evolutionary computa- tion framework, such as: problem partitioning and repre- sentation, local fitness evaluation, global fitness evaluation and redistribution, population diversity preser- vation, and finally aggregation of individuals. In this paper, we attempt to combine widely accepted principals and techniques used in EC research. On the other hand, in the case of radical new concepts we provide a first solution based on the characteristics of the studied problem. Previ- ous works have used what is called the Parisian approach. The work of Collet et al. (2000) can be considered the first attempt to use the concept of individual evolution applied to the problem of iterate function systems within the domain of genetic programming. Louchet et al. (2002) 0167-8655/$ - see front matter Ó 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.patrec.2005.07.019 * Corresponding author. Tel.: +52 646 1750500x25402; fax: +52 646 1750593. E-mail addresses: [email protected] (E. Dunn), [email protected] (G. Olague), [email protected] (E. Lutton). www.elsevier.com/locate/patrec Pattern Recognition Letters 27 (2006) 1209–1219

Upload: enrique-dunn

Post on 21-Jun-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Parisian camera placement for vision metrology

www.elsevier.com/locate/patrec

Pattern Recognition Letters 27 (2006) 1209–1219

Parisian camera placement for vision metrology

Enrique Dunn a, Gustavo Olague a,*, Evelyne Lutton b

a Centro de Investigacion Cientıfica y de Educacion Superior de Ensenada, Depto. de Ciencias de la Computacion, Division de Fısica Aplicada,

EvoVision Laboratory, Km. 107 carretera Tijuana-Ensenada, 22860 Ensenada, BC, Mexicob INRIA—COMPLEX Team, Domaine de Voluceau, BP 105 78153 Le Chesnay Cedex, France

Available online 28 December 2005

Abstract

This paper presents a novel camera network design methodology based on the Parisian evolutionary computation approach. Thismethodology proposes to partition the original problem into a set of homogeneous elements, whose individual contribution to the prob-lem solution can be evaluated separately. A population comprised of these homogeneous elements is evolved with the goal of creating asingle solution by a process of aggregation. The goal of the Parisian evolutionary process is to locally build better individuals that jointlyform better global solutions. The implementation of the proposed approach requires addressing aspects such as problem decompositionand representation, local and global fitness integration, as well as diversity preservation mechanisms. The benefit of applying the Parisianapproach to our camera placement problem is a substantial reduction in computational effort expended in the evolutionary optimizationprocess. Moreover, experimental results coincide with previous state of the art photogrammetric network design methodologies, whileincurring in only a fraction of the computational cost.� 2005 Elsevier B.V. All rights reserved.

Keywords: Camera placement; Accurate 3D reconstruction; Photogrammetric network design; Evolutionary computation; Parisian approach

1. Introduction

Planning a photogrammetric network with the aim ofobtaining a high-accurate 3D object reconstruction is con-sidered as a challenging design problem in vision metrology(Fraser, 1996). This design problem offers an intricate com-bination of interactions between the sensor physical con-straints, the mathematical modeling of the problem, aswell as the numerical methods used to solve it (Wongand Kamel, 2004; Chen and Li, 2004). Building on previousresearch on automated sensor placement, we develop anovel methodology for sensor placement based on the Pari-

sian approach to evolutionary computation (EC). The Pari-sian approach of individual evolution considers that a singleindividual represents a partial solution to the consideredproblem. Hence, a process of aggregation of multiple indi-

0167-8655/$ - see front matter � 2005 Elsevier B.V. All rights reserved.

doi:10.1016/j.patrec.2005.07.019

* Corresponding author. Tel.: +52 646 1750500x25402; fax: +52 6461750593.

E-mail addresses: [email protected] (E. Dunn), [email protected] (G.Olague), [email protected] (E. Lutton).

viduals is needed in order to arrive at a solution. We incor-porate such an approach to the camera network designproblem by evolving a population of camera subnetworks.As a result, computational requirements are greatlyreduced for individual fitness evaluation due to the reducedsize of the total mathematical model. Parisian evolution isa complex optimization technique because multiple newaspects need to be considered in the evolutionary computa-tion framework, such as: problem partitioning and repre-sentation, local fitness evaluation, global fitnessevaluation and redistribution, population diversity preser-vation, and finally aggregation of individuals. In this paper,we attempt to combine widely accepted principals andtechniques used in EC research. On the other hand, inthe case of radical new concepts we provide a first solutionbased on the characteristics of the studied problem. Previ-ous works have used what is called the Parisian approach.The work of Collet et al. (2000) can be considered the firstattempt to use the concept of individual evolution appliedto the problem of iterate function systems within thedomain of genetic programming. Louchet et al. (2002)

Page 2: Parisian camera placement for vision metrology

1210 E. Dunn et al. / Pattern Recognition Letters 27 (2006) 1209–1219

use also Parisian evolution for a problem of stereo vision,which could be seen as the first work in the evolution strat-egies domain.

Vision metrology addresses the attainment of accuratevisual measurements from digital images. The choice ofan adequate imaging geometry plays a major role in thisprocess (Fraser, 1996). The process by which the best pos-sible configuration can be automatically determined, is stillan open research area. Today, practitioners generally relyon heuristic means for making these crucial decisions. Onthe other hand, the problem of 3D reconstruction frommultiple redundant image measurements is very well stud-ied in photogrammetry and can be rigorously solved usingiterative non-linear optimization techniques (McGlone,2004). Nevertheless, the lack of a widespread utilizationof network design inside the photogrammetric communitycan be attributed to the inherent design complexity and itsexpensive computational requirements. Photogrammetricnetwork design requires complex spatial reasoning aboutthe geometrical characteristics of an object and the mathe-matical modeling of optical triangulation. This reasoning isby no means trivial and has been the topic of very diverseresearch.

For example, the work of Mason (1997) solves the prob-lem of camera placement by incorporating considerable a

priori knowledge into an expert system. In this way, a setof heuristics based on the theory of generic networks is usedto model the decision making process. On the other hand,the work of Olague and Mohr (2002) uses an evolutionarycomputation approach, developing a criterion based on theerror propagation phenomena, which was further extendedconsidering a bundle adjustment (Olague, 2002). In thisway, the required spatial reasoning is carried out by andadaptive system based on stochastic meta-heuristics thatyield human competitive results. Recently, the work ofSaadatseresht et al. (2004) addresses the problem ofimproving an existing camera network by positioning addi-tional sensing stations based on what they term ‘‘visibilityuncertainty prediction modeling’’. This new modeling isbased on the concepts of visibility uncertainty predictionand visibility uncertainty spheres. These concepts providea mechanism to predict the visibility of current object tar-get points in order to improve the overall certainty. All theabove works give special attention to the usefulness of rig-orous approaches such as bundle adjustment in order tocharacterize the quality of the photogrammetric network.In particular, the works of Fraser (1987) and Olague andMohr (2002) have provided insight into how a mathemat-ical modeling could be derived in order to simplify the net-work design. The aim of this work is to present a newnetwork design simplification based on the numerical opti-mization approach. This work shows the ongoing develop-ment of the EPOCA sensor planning system andimplements an evolutionary computation methodologybased on the Parisian approach (Dunn et al., 2005). Thisis accomplished in order to efficiently search the space ofpossible camera configurations while maintaining high-

qualitative solutions of the photogrammetric adjustmentprocess.

This paper is organized as follows. First we briefly intro-duce the quality criterion we have used to characterize anetwork configuration. Then, the paradigm of Parisianevolution is presented. A solution to the photogrammetricnetwork design in terms of Parisian evolution is describedtogether with implementation details about the problempartitioning, solution aggregation, individual fitness evalu-ation and diversity preservation techniques. Finally, exper-imental results are presented followed by discussion andconclusions.

2. Criterion for accurate reconstruction

Accuracy assessment of visual 3D reconstruction con-sists on attaining some characterization of the uncertaintyof our results. The design of a photogrammetric network isthe process of determining an imaging geometry thatallows accurate 3D reconstruction. In order to estimatethe 3D reconstruction error as a function of the dispositionof multiple cameras, we will use an approach based on theerror propagation phenomena as presented in (Olague andMohr, 2002). Under the pinhole camera model, each 3Dpoint Pi = (Xi,Yi,Zi)

t, where i = 1, . . . , s, is projected intoan image point pij = (uij,vij)

t through a 3 · 4 projectionmatrix Mj, where j = 1, . . . ,k. This relationship is expressedby the collinearity equations

uij ¼mj

11X i þ mj12Y i þ mj

13Zi þ mj14

mj31X i þ mj

32Y i þ mj33Zi þ mj

34

;

vij ¼mj

21X i þ mj22Y i þ mj

23Zi þ mj24

mj31X i þ mj

32Y i þ mj33Zi þ mj

34

.

Using these equations, optical triangulation can be ob-tained solving a least squares system obtained from theprojections of a 3D point in several images. In this way,given knowledge of each projection matrix Mj and the cor-responding image measurements, we have a model of theform P = f(p). Relying on the implicit function theorem,the covariance matrix KP of a 3D reconstruction can beobtained having knowledge of: (1) the 2D image measure-ment uncertainty Kp and, (2) a 3D reconstruction modelfrom 2D image data of the form P = f(p). Such relationshipis stated as follows.

Proposition 2.1. Given a random variable p 2 Rm, of Gauss-

ian distribution, mean E[p], and covariance Kp, and P 2 Rn,

the random vector given by P = f(p), where f is a function of

class C1, the mean of P can be approximated to a first-orderTaylor expansion by f(E[p]) and its covariance by

KP ¼ of ðE½p�Þop

Kpof ðE½p�Þt

op.

The 2D uncertainty Kp can be determined as a function ofthe incidence angle between the camera viewing directionand the surface normal of a 3D point. The function model

Page 3: Parisian camera placement for vision metrology

Initialize Population

Evaluate IndividualsSelect for Aggregation

Evaluate Aggregate Solution

Typical AG Parisian Approach

Initialize Population

Evaluate Individuals

E. Dunn et al. / Pattern Recognition Letters 27 (2006) 1209–1219 1211

of this phenomena in each image axis is obtained usingexperimental measurements of the projectively invariantcross-ratio. Multiple measurements of the cross-ratio fora set of collinear points were obtained varying the inci-dence angle of the observing camera. The resulting mea-surements were used for model fitting. The resultingmodel is given by the function

y ¼ b ea

90�xð Þ þ ea

90þxð Þ� �

þ c;

where the best fit parameters are: a = 79.74, b = 1.31 ·10�3, and c = 8 · 10�3. Once an analytical expression forthe reconstruction covariance matrix KP is obtained, in or-der to derive a criterion, a metric for comparing covariancematrices needs to be adopted. For this work, the maximumelement of the main diagonal of KP was selected as ourcriterion:

f1ðMj; piÞ ¼ maxk¼1;...;3

KP kk. ð1Þ

The criterion presented above offers a highly discontinu-ous search space for imaging geometry. Moreover, theoptimization method must take into account several inter-related constraints such as visibility, convergence angleand workspace limitations. However, optical constraintssuch as field of view, depth of field, resolution and imagescale can be disregarded when deciding on imaging geo-metry. In this work, the cameras are placed according tothe viewing sphere model, where viewing distance andcamera’s intrinsic parameter values can be determined apriori in order to fulfill the aforementioned optical con-straints. On the other hand, the complexity is also dueto the stochastic nature of the uncertainty assessmentprocess which requires multiple redundant image mea-surements (Firoozfam and Negahdaripour, 2004). Addi-tionally, the dimensionality of our optimization problemincreases with the number of desired sensing stations.Furthermore, the function landscape of our criterion ishighly multi-modal. All the above aspects raise the needfor a global optimization technique. The EPOCA systemis an example of how evolutionary optimization has suc-cessfully addressed this problem (Olague, 2002). However,the computational burden of rigorous photogrammetricadjustments is still an open issue even for moderatelysized networks due to the iterative and population basednature of EC techniques. It is in this respect that Parisianevolution becomes a viable alternative to improve ouroptimization approach.

Select for Reproduction

Apply Genetic Operators

Validate Stop Criteria

Output Best Individual

Select for Reproduction

Apply Genetic Operators

Validate Stop Criteria

Output Aggregate Solution

Feedback Fitness to Population

Fig. 1. Outline of our implementation of the Parisian Camera Placement

approach. Fitness evaluation is modified in order to consider the local andglobal contribution of an individual.

3. The Parisian approach: Evolutionary divide and conquer

The Parisian approach, originally proposed in (Colletet al., 1999), differs from typical approaches to evolution-ary computation in the sense that a single individual inthe population represents only a part of the problem solu-tion. In this respect, it is similar to the Michigan approachdeveloped for Classifier Systems (Holland, 1975), where a

solution is a rule base obtained from an evolved populationof individual rule subsets. Moreover, in this paradigm anaggregation of multiple individuals must be considered inorder to obtain a solution for the problem being studied.Thus, the evolution of the whole population is favoredinstead of the emergence of only a single dominant solu-tion. The motivation for such an approach is to make anefficient use of the genetic search process. This can beachieved from two different perspectives. First, the algo-rithm discards less computational effort at the end of exe-cution, while considering more than a single bestindividual as output. Second, the computational expenseof the fitness function evaluation is considerably reducedfor a single individual.

Under the Parisian approach, many of the canonicalaspects of evolutionary algorithms are retained, allowingfor great flexibility in its deployment. From an algorithmicstandpoint, Parisian evolution involves incorporating a setof specific heuristics to the fitness evaluation stage of anevolutionary algorithm, see Fig. 1. Accordingly, thisapproach can be adapted to encompass different evolution-ary paradigms. However, the applicability of this approachis restricted to problems where the solution can be decom-posed into homogeneous elements or components, whoseindividual contribution to the complete solution can beevaluated. Therefore, each implementation is necessarilyapplication dependent, where the design of a suitable prob-lem decomposition is determinant factor. Thus, the follow-ing implementation issues have been identified:

• Partial encoding. The genetic representation used for asingle individual encodes a partial solution.

• Individual aggregation. A procedure by which a sampleof a population, formed by partial solutions, is aggre-gated to form a complete problem solution.

• Local fitness. A meaningful merit function must bedesigned for each partial solution. In this way, the

Page 4: Parisian camera placement for vision metrology

1212 E. Dunn et al. / Pattern Recognition Letters 27 (2006) 1209–1219

worthiness of a single individual can be evaluated inorder to estimate the potential contribution to an aggre-gate solution.

• Global fitness. A problem defined merit function can beevaluated from a complete problem solution. However,the worthiness of this composite solution should bereflected on each partial solution.

• Evolutionary engine. The evolution of the complete pop-ulation should promote the emergence of better aggre-gate solutions. The evolutionary engine requires ascheme for combining local and global fitness values.Also, it requires a diversity preserving mechanism inorder to maintain a set of complementary partialsolutions.

Successful examples of such an approach can be foundin the image analysis and signal processing literature. TheFly Algorithm developed by Louchet et al. (2002) is areal-time pattern recognition tool used in stereo vision sys-tems. In such a work, the population is formed by individ-uals representing each a single 3D point. The evolutionaryalgorithm favors the positioning of each so called ‘‘fly’’ to asurface point in the observed scene using insightful prob-lem modeling. The work of Collet et al. (2000) incorporatesthe Parisian approach to the solution of the inverse prob-lem for Iterated Function Systems (IFS). In this instancea Genetic Programming methodology was adopted andexperimentation on 2D images presented.

In general terms, the Parisian approach makes the fol-lowing assumptions:

(1) A complete problem solution X 2 S can be decom-posed into n components xi 2 S 0. Moreover, thereexists a mapping T :S 0 · � � � · S 0 ! S.

(2) There exists a meaningful merit function floc : S0 ! R

for evaluating each decomposed element.(3) There exists a meaningful merit function fglobal :

S ! R for evaluating an aggregate solution.(4) The fitness landscape defined by floc has sufficient

structure to guide the evolutionary search process(i.e., if the problem solution is to be composed of adiverse set of components, then floc should providea multi-modal function landscape).

Under these assumptions, evolutionary search is carriedout over S 0 optimizing floc. However, the fitness values ofthe evolved individuals are systematically modified in orderto promote the emergence of improved composite solutionsin S. This is achieved by: (1) periodically sampling theevolving population to form aggregate solutions, (2) evalu-ating aggregate solutions through fglobal and (3) adjustingthe fitness values of the evolving individuals in S 0 accord-ingly. Fig. 2 illustrates this process as well as the relation-ship between the different search spaces involved in theParisian evolutionary approach. Depending on the interac-tions between floc and fglobal, complex population dynamicscan emerge.

4. Parisian approach to camera network design

Camera placement can be viewed as a geometric designproblem where the control variables are the spatial posi-tioning and orientation parameters of a finite set ofcameras. In order to state such design problem in optimiza-tion terms the criterion expressed in Section 2 is adopted.However, due to the sensor characteristics and mathemat-ical modeling of the problem a strongly constrained opti-mization problem emerges. In this section we will discussthe different implementation issues involved in our incor-poration of the Parisian approach into the camera place-ment problem.

4.1. Problem partitioning and representation

A viewing sphere model for camera placement isadopted in order to reduce the dimensionality of our searchspace. Therefore, given a fixed radius, each camera positionis defined by its polar coordinates [ai,bi]. A network of M

cameras is represented by a real valued vector

W 2 R2M where ai ¼ W2i�1; bi ¼ W2i for i ¼ 1; . . . ;M .

ð2Þ

Our design problem allows the decomposition into individ-ual elements since the complete camera network is formedby a set of homogeneous components. Nevertheless, a deci-sion on the level of granularity of our decomposition is cru-cial. Here we have the choice of an individual representinga single camera or a camera subnetwork (i.e., a set of cam-eras). We have decided for the latter option since such anindividual can be meaningfully evaluated in terms of itsimaging geometry contribution to 3D reconstruction.Hence, each individual in the population represents a fixedsize subnetwork of N cameras, denoted by a vector of theform

wj 2 R2N where ai ¼ wj2i�1; bi ¼ wj

2i for i ¼ 1; . . . ;N ;

ð3Þwhere j is defined as the subnetwork population index.Accordingly, a complete camera network specification is gi-ven by the aggregation of J subnetworks

W 2 R2M ¼[Jj¼1

wj; where M ¼ J � N . ð4Þ

4.2. Local fitness evaluation

Section 2 presented a photogrammetric approach forestimating the variance of 3D point reconstruction usingredundant measurements, see Eq. (1). Such methodologyis generally applied to the complete measured object con-sidering all cameras concurrently. Since in our representa-tion we are working with camera subnetworks, it is unlikelythat any single individual successfully captures the com-

Page 5: Parisian camera placement for vision metrology

Fig. 2. Conceptual description of our Parisian Camera Placement approach. Interaction between different search spaces is based on adjusting thepopulation fitness values in accordance to a global fitness evaluation.

E. Dunn et al. / Pattern Recognition Letters 27 (2006) 1209–1219 1213

plete 3D object denoted by the whole set of 3D points P.Hence, the object is also partitioned into R disjoint regionsor subsets of points, in such a way that P ¼

SRi¼1P i. A sin-

gle region of the object is considered visible by a cameranetwork if at least two cameras capture it (i.e., there areno occlusions) and for each of these cameras the incidenceangle constraint for 3D reconstruction is satisfied. Hence,the visibility of a camera subnetwork wj is limited to asubset of the whole object, expressed by V(wj) � P. Thesevalues are calculated a priori and stored in a database foron-line query during the optimization procedure. Accord-ingly, we define the visibility constraint in the form

Cvisðwj; P iÞ ¼1 if P i � VðwjÞ;0 otherwise.

(

The reasoning behind our definition of a local fitness valueis that subnetworks which provide greater object coveragewith higher precision should have higher fitness values. Lo-cal fitness evaluation uses the idea of decomposing theproblem in subnetworks which provide greater object cov-erage with higher precision in order to attain higher fitnessvalues. Hence, the uncertainty for each of the sets Pi is eval-uated for a single individual wj accordingly to Eq. (1), dis-carding the portions of the object not sensed by such asubnetwork. In order to reward camera subnetworks thatprovide greater coverage, the local fitness value is propor-tional to the number of data points sensed by that subnet-work, which is expressed as #[V(wj)]. Thus, we define thisfitness as

flocðwjÞ ¼ #½VðwjÞ�max f1ðwj; P iÞ

8P i : Cvisðwj; P iÞ ¼ 1. ð5Þ

Here, f1(wj,Pi) represents the 3D reconstruction uncer-tainty of a given region Pi, under observation by a subnet-work parametrized by wj. Note that f1(wj,Pi) > 0,"Pi :Cvis(w

j,Pi) = 1. In the cases were an individual net-work does not cover any object region, its fitness is simplyset to floc(w

j) = 0.

4.3. Global fitness evaluation

Once the local fitness of each individual has been evalu-ated, a process of aggregation is needed to obtain a solu-tion to our camera network design problem. In order toachieve this, a selection of a group of individuals fromthe population must be made, see Section 4.6 for details.Accordingly, at each generation t an aggregate solutionW(t) is obtained for global fitness evaluation. This globalevaluation uses the same criterion in local fitness evalua-tion. Therefore, we obtain:

fglobalðWðtÞÞ ¼#½VðWðtÞÞ�

max f1ðWðtÞ; P iÞ8P i : CvisðWðtÞ; P iÞ ¼ 1.

ð6ÞSuch value describes the aptitude of the aggregate solutionobtained at generation t. Note that here we also havef1(W(t), Pi) > 0. On the other hand, aggregate networkswhich do not provide complete object coverage are penal-ized with fglobal(W) = 1.

Obviously the goal of the algorithm is to foster theimprovement of this global fitness along the course of suc-cessive generations. However, another purpose of this eval-uation is to be able to reflect on the population the effect ofthe evolutionary process. The individuals that form part of

Page 6: Parisian camera placement for vision metrology

1214 E. Dunn et al. / Pattern Recognition Letters 27 (2006) 1209–1219

the aggregate solution will be rewarded or punished basedon its global fitness. Also, based on the complete solutioncharacteristics, promising individuals not selected shouldbe compensated so they might contribute in latter stagesof the evolutionary process.

4.4. Global fitness redistribution

A valid solution to the network design problem is one thatreconstructs accurately the complete object. An optimalsolution is one that provides the best possible reconstructionaccuracy. Under the Parisian approach this solution isformed by aggregating multiple individuals from an evolvingpopulation. Hence, individuals that contribute to attainingand improving valid solutions should be favored in the evo-lution process. This requires addressing the aspects of func-tion optimization and constraint satisfaction. In thissubsection we shall describe how global fitness evaluationis used to deal concurrently with both of these issues.

Our approach consists in periodically adjusting the localfitness values of individuals in the population based on theresults of global fitness evaluations. In particular, the localfitness value of a single individual is incremented or decre-mented (as the case may warrant) in consideration of aspectssuch as: global fitness values of the aggregate solution, localfitness values of other individuals as well as the individual’spotential for improving the aggregate solution. This isachieved by defining two different local fitness adjustmentfunctions, one to promote global fitness optimization andanother to promote global constraint satisfaction.

Function optimization will be addressed first. In orderto reflect the quality of an aggregate solution W(t) on eachof the individuals wj that compose it, we use the ratio ofimprovement in global fitness among successive genera-tions. The magnitude of the adjustment of an individual’slocal fitness is proportional to this ratio as follows:

g1ðwjÞ ¼ flocðwjÞ fglobalðWðtÞÞfglobalðWðt � 1ÞÞ � 1

� �8wj 2 WðtÞ. ð7Þ

The fitness of each of the individuals that compose solutionW(t) will be multiplied by this ratio, enhancing or degrad-ing its individual local fitness accordingly. Now we shallconsider constraint satisfaction. It is very likely that eachindividual subnetwork will only cover part of the object.It is also possible that a given aggregation of individualswill not provide full object coverage. In this respect, whena particular aggregate solution W(t) does not cover someobject region Pi (e.g., Cvis(W(t),Pi) = 0) it would be desir-able to enhance the fitness value of those individuals onthe population that indeed cover such region. The amountof enhancement of those individuals shall be proportionalto their difference in fitness with respect to the best individ-ual in the population. Hence, we have

g2ðwjÞ ¼ flocðwbestÞ � flocðwjÞ 8wj : VðwjÞ\

VðWðtÞÞ 6¼ ;.ð8Þ

Note that this value is only calculated for those individualsthat cover an object region not sensed by the aggregatesolution formed at that generation.

Once both fitness adjustment functions are calculated,the global fitness is ‘‘fed-back’’ to the general populationas follows:

flocðwjÞ ¼flocðwjÞ þ k1g1ðwjÞ if wj 2 WðtÞ;flocðwjÞ þ k2g2ðwjÞ if VðwjÞ

TVðWðtÞÞ 6¼ ;;

flocðwjÞ otherwise.

8><>:

Here, k1 and k2 are user defined parameters that reflect therelative importance given to each of the aspects involved inthe global fitness redistribution.

4.5. Population diversity preservation

Maintaining a diverse set of individual solutions is a pre-requisite for our implementation of the Parisian approach.This is made more evident since our search for an optimalconfiguration is developed over a highly multi-modal space.In this respect, diversity preservation techniques in evolu-tionary algorithms can generally fall into some of thefollowing categories: (a) heuristic modification of geneticoperators in order to promote diversity, (b) fitness functionpenalization for crowded individuals, and (c) incorporationof some higher level algorithmic structure to generate andmanage sub-populations. In this work, the fitness sharingscheme is adopted (Goldberg and Richardson, 1987). In thisway, the fitness of an individual is adjusted by

f 0locðwjÞ ¼flocðwjÞPK

i¼1shðwi;wjÞ; where

shðwi;wjÞ ¼1�kwi;wjk

rshif kwi;wjk < rsh;

0 otherwise.

8<:

Since our individuals represent sets of spatially distributedcameras, the chosen metric was the Hausdorff distance.This metric is defined for our problem by

kwi;wjk ¼ hðwi;wjÞ ¼ maxa2wi

minb2wj

fdða; bÞg� �

;

where a, b represent the 3D positions of each camera in agiven network and d(a,b) is the Euclidean distance amongpoints. Geometrically, this metric expresses the maximumdistance of a set to the nearest point in the other set. Basedon such geometrical interpretation we can empirically de-fine an appropriate sharing radius rsh. A related issue isthe choice of a selection operator during evolution. Onehas the choice of using either ranking based selection or fit-ness proportional selection. It has been reported that tour-nament selection, is not adequate for fitness sharingapproaches to multi-modal optimization due to the highselection pressure (Oei et al., 1991). Hence, in our approachwe use a stochastic remainder selection operator. Thischoice is also justified by the fact that we use proportional

Page 7: Parisian camera placement for vision metrology

E. Dunn et al. / Pattern Recognition Letters 27 (2006) 1209–1219 1215

fitness adjustment during global fitness redistribution (seeSection 4.4).

4.6. Aggregation of individuals

As previously mentioned, at each generation a set ofindividuals is selected from the population in order to forma composite solution by means of aggregation. The mannerby which such selection is carried out reflects directly onthe quality of the solutions obtained by our approach.Moreover, such a procedure can be viewed as taking a sam-ple of individuals from the population. A brute forceapproach which evaluates every possible combination ofindividuals is discarded from consideration due to its com-putational cost. Another alternative would be that of hav-ing a procedural mechanism by which a composite solutionis incrementally built from the available population. This isin principle similar to incorporating local search in evolu-tionary techniques (e.g., memetic algorithms) and is neces-sarily application dependent. A more general approach isto use the individuals fitness values to influence the aggre-gation mechanism. In such a case we have the choice ofeither deterministic (i.e., elitist) or stochastic (i.e., roulette,tournament) selection procedures. In order to make suchdecision, the characteristics of the diversity preservationmethod must be taken into account. Fitness sharing mech-anisms attempt to form and maintain clusters of individu-als over each of the multi-modal function’s local maxima(or minima as the case may be). The number of elementsin each of these maxima should be proportional to its mag-nitude. Hence, the selection of the best J individuals fromthe population is likely to produce very similar individuals(belonging to the same cluster), even for a well distributedpopulation. Under such scenario, a clustering techniquewould be desirable in order to properly identify each localmaxima for consideration into the aggregate solution (Col-let et al., 2000). To avoid such calculations we have imple-mented the following simple procedure:

Fig. 3. The 3D object under observation. The concave object is partitionednetworks of small size. A photogrammetric network formed by nine cameras

for i=1 to J

Select the Best Individual in the

Population

Eliminate all Individuals within the

Sharing Radius

Naturally, special considerations need to be taken forthe case where the population does not provide enoughdiversity for selecting J different individuals. However, thisprocedure takes advantage of the fact that distances amongindividuals have already been calculated in the fitness shar-ing stage. Heuristic provisions can be made to ensure thatthe selected individuals are maintained across several gen-erations. This would correspond to elitist selection in typi-cal genetic algorithms.

5. Experimental results

The reconstruction of a complex 3D object is consideredin our experimentation. The goal is to determine a viewingconfiguration that will offer optimal results in terms ofreconstruction accuracy. Here, we shall consider the designof a fixed size camera network of M = 9 stations. Accord-ing to our approach, the level of granularity of our prob-lem decomposition needs to be established. For theseseries of experiments we will use camera subnetworks ofN = 3 cameras. In this way, each of the individuals in thepopulation will consist of a vector w 2 R6. Hence, a totalof J = 3 subnetworks will need to be aggregated in orderto form a complete solution to our network design prob-lem. The convex polyhedral object under study, depictedin Fig. 3, is partitioned into R = 6 regions. The selectionof individuals for solution aggregation is based on their fit-ness value. Finally, the user defined valued k1 and k2 are setto k1 = k2 = 1.0. For all our experiments, SBX-crossover isutilized with a probability Pc = 0.95 along with polynomialmutation subject to Pm = 0.05. A sharing radius ofrsh = 0.75 was utilized.

into different regions in order to facilitate the fitness evaluation of sub-is illustrated on the right.

Page 8: Parisian camera placement for vision metrology

1216 E. Dunn et al. / Pattern Recognition Letters 27 (2006) 1209–1219

5.1. Algorithm performance

We have used stochastic remainder selection for repro-duction under generational replacement. Alongside of ourmethodology, the same global fitness function was opti-mized by a typical genetic algorithm (e.g., each individual

200

400

600

800

1000

1200

1400

1600

1800

0 20 40 60 80 100

Best Individual Fitness

Average Individual Fitness

Worse Individual Fitness

Prec

isio

n

Generation

Fig. 4. Performance comparison. On the left, the population evolution of a tyconsistently attained by the aggregate solutions of our proposed methodology

Fig. 5. These images show different imaging geometries obtained by our approaalgorithm. Membership to a given subnetwork is depicted by camera color.

0

200

400

600

800

1000

1200

1400

1600

1800

0 20 40 60 80 100

Best Individual Fitness

Average Individual Fitness

Worse Individual Fitness

Aggregate Solution Fitness

Generation

Prec

isio

n

Fig. 6. Dependence on parameters k1, k2. The plot on the left corresponds to adeteriorated. The plot on the right represents an execution with values [k1 = 0

encodes a complete solution). This was done in order to havesome reference point in the assessment of our proposedmethodology. Using a population of 30 individuals, bothevolutionary algorithms were executed for 100 generations.

Fig. 4 plots population performance measures (best,mean, worse fitness) for a canonical GA on the left and

0

200

400

600

800

1000

1200

1400

1600

1800

0 20 40 60 80 100

Best Individual Fitness

Average Individual Fitness

Worse Individual Fitness

Aggregate Solution Fitness

Prec

isio

nGeneration

pical genetic algorithm is depicted. On the right, higher fitness values are. Plotted values reflect the averages over 20 executions with k1 = k2 = 1.0.

ch, which represents the best solutions found at different executions of our

0

200

400

600

800

1000

1200

1400

1600

0 20 40 60 80 100

Best Individual Fitness

Average Individual Fitness

Worse Individual Fitness

Aggregate Solution Fitness

Prec

isio

n

Generation

n execution with mixing values [k1 = 0.8, k2 = 0.2]. Performance is slightly, k2 = 1.5]. Note the almost random algorithm performance.

Page 9: Parisian camera placement for vision metrology

Table 1Results after 20 executions of our algorithm for different levels ofgranularity

Subnetwork size Best fitness Computational speed-up

2 1666.43 29.723 1630.21 21.414 1310.84 11.486 1758.68 5.0312 1702.05 1.0

E. Dunn et al. / Pattern Recognition Letters 27 (2006) 1209–1219 1217

also for our Parisian approach on the right. While thesemeasures are descriptive of the dynamics of our popula-tion, the importance is on the aggregate solution fitness

measure. In this respect, our approach slightly outperformsa canonical methodology in terms of solution quality.However, these results are made more relevant when con-sidering the computational cost involved in fitness evalua-tion. For our studied object, evaluation based oncriterion (1) of a complete network of nine cameras is over15 times more costly than that of a three camera subnet-work. Accordingly, by virtue of our problem decomposi-tion, the total execution time of the algorithm is reduced

10 times. Clearly, a significant benefit in performance hasbeen achieved.

5.2. Imaging geometry configurations

Analysis and comparison among the best configurationsfound by our algorithm are comparable with the geometri-cal distributions reported in Olague (2002). Fig. 5 depictstwo of the configurations found by our algorithm. Note

Fig. 7. Network configurations of 12 cameras with

the geometrical similarities among both configurations.Each of these networks is composed of three subnetworksthat are integrated by three cameras. Different colorschemes depict the membership of each particular camerato a given subnetwork. These subnetworks correspond toa single individual in the population. In both configura-tions some of the cameras present mixed colors, indicatingthe composition of at least two cameras located in the sameposition. This corresponds to the Second Order Designstage in photogrammetric network design. The Parisian

different levels of decomposition granularity.

Page 10: Parisian camera placement for vision metrology

1218 E. Dunn et al. / Pattern Recognition Letters 27 (2006) 1209–1219

approach found similar geometrically configurations froman aggregation of distinct individuals in both cases. Never-theless, the configuration on the right has an improvementof 4.2% on the fitness value in terms of precision. Such dis-crepancies illustrate the high non-linearity of our searchspace.

5.3. Parameter setting

The choice of mixing values k1, k2 is an important aspectin the performance of the algorithm, as they determine themagnitude of the global fitness adjustment given to eachindividual. In order to exemplify such phenomena we havecarried out different experiments varying the ratio andmagnitude of these values. Experiments show a fairlyrobust behavior for similarly scaled values under 1.0. Ingeneral, performance deteriorates as magnitude and theratio among parameters increases. The right plot ofFig. 6 illustrates the scenario where constraint satisfactionis completely predominant over function optimization. Asa result, the fitness value of aggregate solutions is decreasedby weaker configurations that are unreasonably enhancedby the global fitness evaluations.

5.4. Problem decomposition granularity

The level of granularity also plays a major role in theperformance of our system. This is reflected in quality ofour solutions as well as on the efficiency of our system.To illustrate this, the case of a 12 camera network is stud-ied. Experiments for sub-networks of 2, 3, 4 and 6 cameraswere carried out and results compared against a canonicalevolutionary algorithm. For all experiments a populationof 50 individuals was used. Also, mixing parameters whereset to k1 = k2 = 1.0 and the sharing radius set to rsh = 0.75.The performance results after 20 executions are presentedin Table 1. The most accurate configuration was obtainedby the canonical evolutionary approach. Among the resultsfor different levels of decomposition by our Parisianapproach, the results favor the choice of individual subnet-works of small size, as they give better fitness values alongwith the highest computational speed-up. The geometricdisposition of these resulting camera networks is depictedin Fig. 7. While, in this scenario, the Parisian approachattained slightly lower fitness values than a canonicalapproach, note an almost 30 times reduction in executiontime. Again, a significant benefit in terms of performancehas been achieved.

6. Conclusions and discussion

The Parisian approach to evolutionary computationoffers an efficient way to address the problem of automatedcamera placement, while preserving the validity of photo-grammetric procedures. In fact, by virtue of an adequateproblem partition and decomposition, solution quality isimproved with considerable reductions in computational

effort for the considered scenarios. Future work includesincorporating rigorous bundle adjustment procedures,where the computational savings should be even more dra-matic. However, such research lines require careful consid-erations regarding Zero Order Design for photogrammetricnetworks, due to the need for a common datum in bundleadjustment procedures.

This work has developed an efficient optimization tech-nique based on an original conception of population basedevolutionary optimum seeking. In particular, a novel appli-cation for the Parisian approach has been described andimportant application related aspects have been addressed.This work incorporated canonical evolutionary principalsin order to achieve the goal of evolving a solution basedon the evolution of its components. While promising exper-imental results are obtained, a lack of theoretical principalsdescribing the algorithm behavior is still pending as in gen-eral evolutionary algorithms. Nevertheless, there are manyspecialized evolutionary approaches that could be used inconjunction with our proposed methodology, such as par-allel evolutionary algorithms, co-evolution techniques oreven multi-objective evolutionary algorithms.

Acknowledgement

This research was funded by CONACyT and INRIAthrough the LAFMI project 634-212. First author sup-ported by scholarship 142987 from CONACyT.

References

Chen, S.Y., Li, Y.F., 2004. Automatic sensor placement for model-basedrobot vision. IEEE Trans. Syst., Man Cybernet., Part B 34 (1), 393–408.

Collet, P., Lutton, E., Raynal, F., Schoenauer, M., 1999. Individual GP:an alternative viewpoint for the resolution of complex problems. In:Banxhaf, E., Daida, J., Eiben, A.E., Garzon, M.H., Honovar, V.,Jakiela, M., Smith, R.E. (Eds.), Genetic and Evolutionary Computa-tion Conf. GECCO99. Morgan Kaufmann, San Francisco, CA.

Collet, P., Lutton, E., Raynal, F., Schoenauer, M., 2000. PolarIFS + Parisian genetic programming = efficient IFS inverse prob-lem solving. Genet. Programm. Evolvable Mach. J. 1 (4), 339–361.

Dunn, E., Olague, G., Lutton, E., 2005. Automated photogrammetricnetwork design using the Parisian approach. In: 8th EuropeanWorkshop on Evolutionary Computation in Image Analysis andSignal Processing. Lecture Notes in Computer Science, vol. 3449,March 2005, pp. 356–365.

Firoozfam, P., Negahdaripour, S., 2004. Theoretical accuracy analysis ofN-ocular vision systems for scene reconstruction, motion estimation,and positioning. In: 2nd Internat. Symp. on 3D Data Processing,Visualization, and Transmission, (3DPVT’04). September 2004, pp.888–895.

Fraser, C.S., 1987. Limiting error propagation in network design.Photogramm. Eng. Remote Sens. 53 (5), 487–493.

Fraser, C.S., 1996. Network design. In: Atkinson, K.B. (Ed.), Close RangePhotogrammetry and Machine Vision. Whittles Publishing, Caithness,Scotland, pp. 256–281.

Goldberg, D., Richardson, J., 1987. Genetic algorithms with sharing formultimodal function optimization. Genetic algorithms and theirapplications. In: Proc. 2nd Internat. Conf. on Genetic Algorithms,pp. 41–19.

Page 11: Parisian camera placement for vision metrology

E. Dunn et al. / Pattern Recognition Letters 27 (2006) 1209–1219 1219

Holland, J.H., 1975. Adaptation in Natural and Artificial Systems.University of Michigan Press, Ann Arbor.

Louchet, J., Guyon, M., Lesot, M., Boumaza, A., 2002. Dynamic flies: anew pattern recognition tool applied to stereo sequence processing.Pattern Recognition Lett. 23, 335–345.

Mason, S., 1997. Heuristic reasoning strategy for automated sensorplacement. Photogramm. Eng. Remote Sens. 63 (9), 1093–1102.

McGlone, C. (Ed.), 2004. Manual of Photogrammetry. American Societyfor Photogrammetry and Remote Sensing, Bethesda, MD, p. 1151.

Oei, C., Goldberg, D., Chang, S., 1991. Tournament selection. Nichingand the Preservation of Diversity. IlliGAL Report No. 91011. Urbana,IL, University of Illinois at Urbana-Champaign.

Olague, G., 2002. Automated photogrammetric network design usinggenetic algorithms. Photogramm. Eng. Remote Sensing 68 (5), 423–431. Awarded ‘‘2003 First Honorable Mention for the Talbert AbramsAward’’, by ASPRS.

Olague, G., Mohr, R., 2002. Optimal camera placement for accuratereconstruction. Pattern Recognition 35 (4), 927–944.

Saadatseresht, M., Fraser, C., Samadzadegan, F., Azizi, A., 2004.Visibility analysis in vision metrology network design. Photogramm.Record 19 (107), 219–236.

Wong, C., Kamel, M., 2004. Comparing viewpoint evaluation functionsfor model-based inspectional coverage. In: 1st Canadian Conf. onComputer and Robot Vision (CRV’04), May 2004, pp. 287–294.