optimal arrangement of ceiling cameras for home service robots using genetic algorithms stefanos...
TRANSCRIPT
Optimal Arrangement of Ceiling Cameras for Home Service
Robots Using Genetic AlgorithmsStefanos Nikolaidis*,** and Tamio Arai**
*R&D Division, Square Enix Co., Ltd., Japan**Department of Precision Engineering, The University of Tokyo, Japan
Contribution to Real-World Environment
2
Results from this research have been used for the Kanagawa House Square Model Room, as part of the Universal Design Project
Virtual 3D Model of the Kanagawa Room
Camera Placement Optimization
Kanagawa House Square Model Room
Placement of Cameras according to simulation results
Background
3
Use of robots in home environments
EXTERNAL SENSORS PLACED ON THE ENVIRONMENT ARE NEEDED
Problem: Cost of sensor placement, network delay
As few sensors as possible
arrange sensors supporting different kinds of robots ceiling cameras are used in this study
Purpose: place the cameras considering robot localization
Robots need to be localized to perform home service tasks
Goal of this Study
4
Robot should be visible
Robots need to be localized with a certain
precision
MAXIMIZE AREA COVERAGE
MINIMIZE LOCALIZATION ERROR
Objectives
Place the cameras considering area covered and average
localization error of visible area
Purpose: place the cameras considering robot localization
Camera Placement Optimization
5
Objectives
Maximize the area covered by
the cameras
Minimize Localization
Error
Multi-Objective Optimization
NSGA (Non-dominated Sorting Algortihm [Srinivas 1995])
multi-pareto genetic algorithm
Single-Objective Optimization
genetic – algorithm probabilistic global optimization algorithm
COVERAGE ACCURACY
Past Research• Optimal Camera Placement
COVERAGE:Art Gallery Problem : find the minimum number
of guards covering an art gallery (NP-hard [Lee
1986] ) [O’Rourke 1987], [Schermer 1992]
Every guard: two degrees of freedom, 360º FOV
ACCURACY:Intelligent Space Project [Lee 2002], [Hashimoto 2005]
Limited for two cameras, symmetric arrangement is assumed
6
This study:• four degrees of freedom for each camera• different FOVs, no symmetric arrangement assumption
Conditions of Optimization Problem
7
3D model of room Camera pose [x, y, pan,
tilt]
2D cut at a specific height
Calculation of FOV of camera and Projection at a specific height
Occlusion calculated from obstacles
Single-Objective Optimization:Maximize the Area Covered
8
initial population
selection
crossover
mutation
evaluation
new population
gen=gen+1
final population
elitism
MAXgen
MAXgen
• individual: [x0, y0, pan0, tilt0, … , xn, yn, pann, tiltn ]
n: number of cameras• selection: according to the fitness
of each individual• fitness: visible ratio
genetic algorithm
Comparison to Past Research:Results GA – Steepest Descent
9
• 100% of the area is visible for three cameras (GA)• GA gives better results than steepest descent but slower (Pentium D CPU 3.20GHz used)• GA is recommended, as computational time not significant
Discussion (Single-Objective Optimization)
• number of cameras changed in order to achieve required visible ratio
• genetic algorithm gives better results than steepest descent (used in past research)
• using three cameras the robot is visible at 100% of the area (Kanagawa Model House environment)
10
Localization error should also be considered, as the robot needs to be localized with a certain precision
due to:• safety reasons• complexity of home environment• complexity of home-service tasks
Localization Error due to Image Resolution
11
3D localization with triangulation
localization uncertainty due to image resolution
P
Pixel P’ corresponding to Point P
Image Plane
Area of uncertainty Ω
Ground Area covered by vision sensor
П
errorsmall
large
Multi-Objective Optimization
12
Place the cameras considering area covered and average localization
error of visible area
A set of optimal solutions minimizing the objective conflict between the
objectives needs to be found
A multi-pareto genetic algorithm, the NSGA Algorithm [Srinivas 1995]
is proposed for this problem
NSGA Algorithm
NSGA is proposed, because it:
can solve optimization problem of multiple objectives
gives set of optimal solutions with only one execution
can perform at the same time both maximization and minimization of objectives
However, it
has a large computational load
has dependence on the sharing parameter 13
Multi-Objective Optimization with NSGA Algorithm
14
Constraints: Visible Ratio > 0.8 AND Localization Error < 70 [mm2 ]
Set of optimal
solutions
Discussion
15
Single-Objective Optimization (GA)
Multi-Objective Optimization (NSGA)
visible area considered both visible area and average localization error considered
one optimal solution set of pareto optimal solutions
relatively fast convergence slow convergence
GA (single-objective) is faster, simpler and it is recommended if localization accuracy is not
important
Conclusion
• Single-objective case robot is visible at 100% of the room area
genetic algorithm implemented
• Multi-objective case found set of optimal solutions minimizing the objective conflict.
arrangement where robot is visible at 85% of the area and average localization error below 65 [mm2] found
• Single-objective approach simpler and recommended if localization accuracy not important
16
Better Results than Steepest -descent method
used in past research
Future Research
• improve sharing efficiency of NSGA algorithm (dynamic niching, clustering analysis)
• apply SPEA (Strength Pareto Evolutionary Algorithm) [Zitzler 1999], a variation of NSGA the SPEA is proven to perform better than NSGA
on the 0/1 knapsack problem
• Generalize the problem for different kinds of sensors range sensors, RFID technology etc.
17
on the camera placement problem?
Thank you for your attention
18
Challenging Point:Occlusion Estimation
19
Pareto Front – NSGA Algorithm
20
A
f1
f2
C
B
f1(A)>f1(B)
f2(A)<f2(B)
f1
f2
RANK 1RANK 2
NSGA (Non-dominated Sorting Genetic Algorithm) [Srinivas 1995]
sharing
Multi-Objective Optimization: Common Approach
• Evaluation function of linear combination of objectives
21
)(1
xfkF i
N
ii
Gives one solution only with one execution
Weight-dependent
Determining the appropriate weights is a difficult problem itself