Fast oriented bounding box optimization on the rotation group SO(3, R)

Similar documents
Fast oriented bounding box optimization on the rotation group

Oriented Bounding Box Computation Using Particle Swarm Optimization

Dynamic Collision Detection

Minimum Bounding Boxes for Regular Cross-Polytopes

Introduction. Optimization

Modern Methods of Data Analysis - WS 07/08

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University

Today. Golden section, discussion of error Newton s method. Newton s method, steepest descent, conjugate gradient

Collision Detection with Bounding Volume Hierarchies

Chapter 14 Global Search Algorithms

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

Development of optimization methods for Volvo fuel economy simulation. Master s thesis in Signal and Systems RAFAEL KLÜPPEL SMIJTINK

Lecture 4. Convexity Robust cost functions Optimizing non-convex functions. 3B1B Optimization Michaelmas 2017 A. Zisserman

HAM: A HYBRID ALGORITHM PREDICTION BASED MODEL FOR ELECTRICITY DEMAND

Introduction to optimization methods and line search

Optimizing the TracePro Optimization Process

Introduction to Stochastic Optimization Methods (meta-heuristics) Modern optimization methods 1

Simplicial Global Optimization

Escaping Local Optima: Genetic Algorithm

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENETIC ALGORITHMS

MATH3016: OPTIMIZATION

MATLAB Based Optimization Techniques and Parallel Computing

Simplex of Nelder & Mead Algorithm

Using Genetic Algorithms to optimize ACS-TSP

An Evolutionary Algorithm for Minimizing Multimodal Functions

An evolutionary annealing-simplex algorithm for global optimisation of water resource systems

Collision and Proximity Queries

Using Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

Fast Computation of Tight Fitting Oriented Bounding Boxes

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Introduction to unconstrained optimization - derivative-free methods

Mathematical Programming and Research Methods (Part II)

CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION

NOVEL HYBRID GENETIC ALGORITHM WITH HMM BASED IRIS RECOGNITION

OPTIMIZATION METHODS. For more information visit: or send an to:

Artificial Intelligence

Collision Detection II. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

Delaunay-based Derivative-free Optimization via Global Surrogate. Pooriya Beyhaghi, Daniele Cavaglieri and Thomas Bewley

Contents. I Basics 1. Copyright by SIAM. Unauthorized reproduction of this article is prohibited.

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

Algoritmi di Ottimizzazione: Parte A Aspetti generali e algoritmi classici

REAL-CODED GENETIC ALGORITHMS CONSTRAINED OPTIMIZATION. Nedim TUTKUN

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Numerical Optimization

Local Search (Greedy Descent): Maintain an assignment of a value to each variable. Repeat:

An Introduction to Evolutionary Algorithms

Trajectory Optimization

Introduction to Optimization

LocalSolver 4.0: novelties and benchmarks

Classical Gradient Methods

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

Initializing the Particle Swarm Optimizer Using the Nonlinear Simplex Method

A Two-Stage Stochastic Programming Approach for Location-Allocation Models in Uncertain Environments

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

Model Parameter Estimation

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

Global optimisation techniques in water resources management

Artificial Intelligence

Introduction to Genetic Algorithms

Application of Emerging Metaheuristics in Power System Field

ACONM: A hybrid of Ant Colony Optimization and Nelder-Mead Simplex Search

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

THE DEVELOPMENT OF THE POTENTIAL AND ACADMIC PROGRAMMES OF WROCLAW UNIVERISTY OF TECHNOLOGY METAHEURISTICS

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Bounding Volume Hierarchies

A Genetic Algorithm for Minimum Tetrahedralization of a Convex Polyhedron

Minimum-Volume Box Containing a Set of Points

Efficiently Approximating the Minimum-Volume Bounding Box of a Point Set in Three Dimensions

Tracking Minimum Distances between Curved Objects with Parametric Surfaces in Real Time

Vectorization Using Stochastic Local Search

Optimization in MATLAB Seth DeLand

CutLeader Nesting Technology

Genetic Algorithms Variations and Implementation Issues

An Interface-fitted Mesh Generator and Polytopal Element Methods for Elliptic Interface Problems

Artificial Intelligence

Offspring Generation Method using Delaunay Triangulation for Real-Coded Genetic Algorithms


Unidimensional Search for solving continuous high-dimensional optimization problems

Numerical Optimization: Introduction and gradient-based methods

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

A Genetic Algorithm Framework

CS281 Section 3: Practical Optimization

HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS

CPSC / Sonny Chan - University of Calgary. Collision Detection II

Exploiting a database to predict the in-flight stability of the F-16

y

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

Lecture 8 Object Descriptors

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing

PORTFOLIO OPTIMISATION

A penalty based filters method in direct search optimization

Sung-Eui Yoon ( 윤성의 )

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D.

The movement of the dimmer firefly i towards the brighter firefly j in terms of the dimmer one s updated location is determined by the following equat

Computational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry

Transcription:

Fast oriented bounding box optimization on the rotation group SO(3, R) Chia-Tche Chang 1, Bastien Gorissen 2,3 and Samuel Melchior 1,2 chia-tche.chang@uclouvain.be bastien.gorissen@cenaero.be samuel.melchior@uclouvain.be 1 Department of Mathematical Engineering (INMA), Université catholique de Louvain 2 Department of Mechanical Engineering (MEMA), Université catholique de Louvain 3 CENAERO November 30th, 2012 C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 1

The problem: minimum-volume OBB Coming up next... The problem: minimum-volume OBB Exact methods in 2D and 3D Classical approaches for the 3D case Our goal Bringing optimization into the game How to solve an optimization problem? Results Conclusion C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 2

The problem: minimum-volume OBB The problem Given a set of n points X in 3D, find the minimum-volume arbitrarily oriented bounding box enclosing X. Collision detection, intersection tests, object representation, data approximation... (BV trees... ) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 3

The problem: minimum-volume OBB Exact methods in 2D and 3D In 2D: the rotating calipers method A minimum-area rectangle circumscribing a convex polygon has at least one side flush with an edge of the polygon. C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 4

The problem: minimum-volume OBB Exact methods in 2D and 3D In 2D: the rotating calipers method A minimum-area rectangle circumscribing a convex polygon has at least one side flush with an edge of the polygon. Compute the convex hull: O(n log n) conv(x ) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 4

The problem: minimum-volume OBB Exact methods in 2D and 3D In 2D: the rotating calipers method A minimum-area rectangle circumscribing a convex polygon has at least one side flush with an edge of the polygon. Compute the convex hull: O(n log n) Loop on all edges: O(n) easy and efficient conv(x ) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 4

The problem: minimum-volume OBB Exact methods in 2D and 3D In 3D: generalization of the rotating calipers? A minimum-volume box circumscribing a convex polyhedron has at least one face flush with a face of the polyhedron? C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 5

The problem: minimum-volume OBB Exact methods in 2D and 3D In 3D: generalization of the rotating calipers? A minimum-volume box circumscribing a convex polyhedron has at least one face two adjacent faces flush with a face edges of the polyhedron. [O Rourke, 1985] C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 5

The problem: minimum-volume OBB Exact methods in 2D and 3D In 3D: generalization of the rotating calipers? A minimum-volume box circumscribing a convex polyhedron has at least one face two adjacent faces flush with a face edges of the polyhedron. [O Rourke, 1985] Problem: Loop on all pairs of edges and rotate the box while keeping edges flush O(n 3 ) time complexity... C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 5

The problem: minimum-volume OBB Classical approaches for the 3D case In practice... O Rourke s algorithm is too slow (cubic time) use faster but inexact methods: C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 6

The problem: minimum-volume OBB Classical approaches for the 3D case In practice... O Rourke s algorithm is too slow (cubic time) use faster but inexact methods: PCA-based methods (covariance matrix): very fast and easy to compute but may be very inaccurate C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 6

The problem: minimum-volume OBB Classical approaches for the 3D case In practice... O Rourke s algorithm is too slow (cubic time) use faster but inexact methods: PCA-based methods (covariance matrix): very fast and easy to compute but may be very inaccurate Brute-force all orientations with a small angle increment: large computation time and/or low accuracy C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 6

The problem: minimum-volume OBB Classical approaches for the 3D case In practice... O Rourke s algorithm is too slow (cubic time) use faster but inexact methods: PCA-based methods (covariance matrix): very fast and easy to compute but may be very inaccurate Brute-force all orientations with a small angle increment: large computation time and/or low accuracy Brute-force a well-chosen set of orientations: may sometimes have (very) good accuracy but still too slow C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 6

The problem: minimum-volume OBB Classical approaches for the 3D case In practice... O Rourke s algorithm is too slow (cubic time) use faster but inexact methods: PCA-based methods (covariance matrix): very fast and easy to compute but may be very inaccurate Brute-force all orientations with a small angle increment: large computation time and/or low accuracy Brute-force a well-chosen set of orientations: may sometimes have (very) good accuracy but still too slow Guaranteed quality approximation methods: same problem... C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 6

The problem: minimum-volume OBB Our goal What do we want? Goal: Very good accuracy: find an optimal OBB in (nearly?) all cases If a suboptimal solution is returned, it should be close to the best one Computational cost has to be low C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 7

The problem: minimum-volume OBB Our goal What do we want? Goal: Very good accuracy: find an optimal OBB in (nearly?) all cases If a suboptimal solution is returned, it should be close to the best one Computational cost has to be low Our approach: iterative algorithm based on optimization methods C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 7

Bringing optimization into the game Coming up next... The problem: minimum-volume OBB Bringing optimization into the game OBB fitting as an optimization problem Requirements Going hybrid How to solve an optimization problem? Results Conclusion C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 8

Bringing optimization into the game OBB fitting as an optimization problem A first, direct, formulation min over size, position, orientation so that the volume of the bounding box all the points are in the box C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 9

Bringing optimization into the game OBB fitting as an optimization problem A first, direct, formulation min over R 3, position, orientation so that the volume of the bounding box all the points are in the box = ( ξ, η, ζ ) denotes the dimensions of the OBB, C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 9

Bringing optimization into the game OBB fitting as an optimization problem A first, direct, formulation min over R 3, position, orientation so that ξ η ζ all the points are in the box = ( ξ, η, ζ ) denotes the dimensions of the OBB, C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 9

Bringing optimization into the game OBB fitting as an optimization problem A first, direct, formulation min over R 3, position, orientation so that ξ η ζ 1 all the rotated and 2 centered points 1 2 = ( ξ, η, ζ ) denotes the dimensions of the OBB, C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 9

Bringing optimization into the game OBB fitting as an optimization problem A first, direct, formulation min over R 3,Ξ R 3, orientation so that ξ η ζ 1 2 all the rotated points Ξ 1 2 = ( ξ, η, ζ ) denotes the dimensions of the OBB, Ξ is the center of the OBB. C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 9

Bringing optimization into the game OBB fitting as an optimization problem A first, direct, formulation min over R 3,Ξ R 3,R SO(3,R) so that ξ η ζ 1 2 R(all the points) Ξ 1 2 = ( ξ, η, ζ ) denotes the dimensions of the OBB, Ξ is the center of the OBB. R SO(3, R) is a rotation matrix, C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 9

Bringing optimization into the game OBB fitting as an optimization problem A first, direct, formulation min over R 3,Ξ R 3,R SO(3,R) so that ξ η ζ 1 2 R(all the points) Ξ 1 2 = ( ξ, η, ζ ) denotes the dimensions of the OBB, Ξ is the center of the OBB. R SO(3, R) is a rotation matrix, SO(3, R) = { R R 3 3 R T R = I = RR T, det(r) = 1 }, C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 9

Bringing optimization into the game OBB fitting as an optimization problem A first, direct, formulation min over R 3,Ξ R 3,R SO(3,R) ξ η ζ s.t. 1 2 RX i Ξ 1 2 i = 1,..., N = ( ξ, η, ζ ) denotes the dimensions of the OBB, Ξ is the center of the OBB. R SO(3, R) is a rotation matrix, SO(3, R) = { R R 3 3 R T R = I = RR T, det(r) = 1 }, X = {X i i = 1,..., N } is the considered set of points C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 9

Bringing optimization into the game OBB fitting as an optimization problem A first, direct, formulation min R 3,Ξ R 3,R SO(3,R) ξ η ζ s.t. 1 2 RX i Ξ 1 2 i = 1,..., N = ( ξ, η, ζ ) denotes the dimensions of the OBB, Ξ is the center of the OBB. R SO(3, R) is a rotation matrix, SO(3, R) = { R R 3 3 R T R = I = RR T, det(r) = 1 }, X = {X i i = 1,..., N } is the considered set of points Smooth but constrained optimization problem C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 9

Bringing optimization into the game OBB fitting as an optimization problem Unconstrained formulation min R SO(3,R) ( min R 3,Ξ R 3 ξ η ζ } s.t. 1 2 RX i Ξ 1 2 i = 1,..., N {{ } f (R) ) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 10

Bringing optimization into the game OBB fitting as an optimization problem Unconstrained formulation min R SO(3,R) ( min R 3,Ξ R 3 ξ η ζ } s.t. 1 2 RX i Ξ 1 2 i = 1,..., N {{ } f (R) ) The objective function f (R) is simply the volume of the AABB of X rotated by R C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 10

Bringing optimization into the game OBB fitting as an optimization problem Unconstrained formulation min R SO(3,R) ( min R 3,Ξ R 3 ξ η ζ } s.t. 1 2 RX i Ξ 1 2 i = 1,..., N {{ } f (R) ) The objective function f (R) is simply the volume of the AABB of X rotated by R Unconstrained but non-differentiable optimization problem C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 10

Bringing optimization into the game Requirements Solving this problem requires... C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 11

Bringing optimization into the game Requirements Solving this problem requires...... a derivative-free method f (R) is not differentiable everywhere... C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 11

Bringing optimization into the game Requirements Solving this problem requires...... a derivative-free method... a global search technique f (R) has many local minima... C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 11

Bringing optimization into the game Requirements Solving this problem requires...... a derivative-free method... a global search technique... a fast convergence rate That was the point! C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 11

Bringing optimization into the game Going hybrid Our idea: using an hybrid method 1. Use a global exploration component: genetic algorithm (GA) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 12

Bringing optimization into the game Going hybrid Our idea: using an hybrid method 1. Use a global exploration component: genetic algorithm (GA) 2. Speed up convergence using a local exploitation algorithm Nelder-Mead simplex algorithm (NM) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 12

Bringing optimization into the game Going hybrid Our idea: using an hybrid method 1. Use a global exploration component: genetic algorithm (GA) 2. Speed up convergence using a local exploitation algorithm Nelder-Mead simplex algorithm (NM) GA alone would be very slow to converge (GA more suitable for discrete search spaces) NM alone would be stuck in local minima (even with restarts) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 12

How to solve an optimization problem? Coming up next... The problem: minimum-volume OBB Bringing optimization into the game How to solve an optimization problem? Genetic algorithms (GA) The Nelder-Mead algorithm (NM) HYBBRID: let s mix GA and NM together! Results Conclusion C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 13

How to solve an optimization problem? Genetic algorithms (GA) Global exploration: genetic algorithms Stochastic population-based evolutionary method (original variant proposed by Holland in the 1970s) Population-based: keep a large set of candidates at each iteration Evolutionary: generate new candidates by combining current ones depending on their performance C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 14

How to solve an optimization problem? Genetic algorithms (GA) The general framework Start with a set of candidates (population) and a performance function (fitness function) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 15

How to solve an optimization problem? Genetic algorithms (GA) The general framework Start with a set of candidates (population) and a performance function (fitness function) At each generation: Selection: parents are selected depending on their fitness C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 15

How to solve an optimization problem? Genetic algorithms (GA) The general framework Start with a set of candidates (population) and a performance function (fitness function) At each generation: Selection: parents are selected depending on their fitness Crossover: selected parents produce offsprings C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 15

How to solve an optimization problem? Genetic algorithms (GA) The general framework Start with a set of candidates (population) and a performance function (fitness function) At each generation: Selection: parents are selected depending on their fitness Crossover: selected parents produce offsprings Mutation: offsprings can be subject to mutations (random modification, gradient step, SA step,...) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 15

How to solve an optimization problem? The Nelder-Mead algorithm (NM) The Nelder-Mead simplex algorithm Derivative-free simplicial optimization method (original algorithm proposed by Nelder & Mead in 1965) Simplex (in R n ) = set of n + 1 affinely independent points n = 2 : triangle n = 3 : tetrahedron... C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 16

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Ideas of the algorithm (details omitted) Reflection Expansion Contraction Reduction Four main ways to move/transform the simplex depending on the performance of its vertices: affine combinations C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 17

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Nelder-Mead and the six-hump camel back... 2 Current objective = 0.23094 1.5 1 0.5 0 0.5 1 1.5 2 2 1.5 1 0.5 0 0.5 1 1.5 2 The initial simplex C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 18

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Nelder-Mead and the six-hump camel back... 2 Current objective = 0.23094 1.5 1 0.5 0 0.5 1 1.5 2 2 1.5 1 0.5 0 0.5 1 1.5 2 Iteration 1: contraction C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 18

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Nelder-Mead and the six-hump camel back... 2 Current objective = 0.84637 1.5 1 0.5 0 0.5 1 1.5 2 2 1.5 1 0.5 0 0.5 1 1.5 2 Iteration 2: reflection C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 18

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Nelder-Mead and the six-hump camel back... 2 Current objective = 0.84637 1.5 1 0.5 0 0.5 1 1.5 2 2 1.5 1 0.5 0 0.5 1 1.5 2 Iteration 3: contraction C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 18

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Nelder-Mead and the six-hump camel back... 2 Current objective = 0.84637 1.5 1 0.5 0 0.5 1 1.5 2 2 1.5 1 0.5 0 0.5 1 1.5 2 Iteration 4: contraction C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 18

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Nelder-Mead and the six-hump camel back... 2 Current objective = 0.84637 1.5 1 0.5 0 0.5 1 1.5 2 2 1.5 1 0.5 0 0.5 1 1.5 2 Iteration 5: contraction C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 18

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Nelder-Mead and the six-hump camel back... 2 Current objective = 0.84637 1.5 1 0.5 0 0.5 1 1.5 2 2 1.5 1 0.5 0 0.5 1 1.5 2 Iteration 6: reduction C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 18

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Nelder-Mead and the six-hump camel back... 2 Current objective = 0.84637 1.5 1 0.5 0 0.5 1 1.5 2 2 1.5 1 0.5 0 0.5 1 1.5 2 Iteration 7: contraction C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 18

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Nelder-Mead and the six-hump camel back... 2 Current objective = 0.86796 1.5 1 0.5 0 0.5 1 1.5 2 2 1.5 1 0.5 0 0.5 1 1.5 2 Some more iterations... C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 18

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Nelder-Mead and the six-hump camel back... 2 Current objective = 0.94459 1.5 1 0.5 0 0.5 1 1.5 2 2 1.5 1 0.5 0 0.5 1 1.5 2 Some more iterations... C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 18

How to solve an optimization problem? The Nelder-Mead algorithm (NM) Nelder-Mead and the six-hump camel back... 2 Current objective = 1.03163 1.5 1 0.5 0 0.5 1 1.5 2 2 1.5 1 0.5 0 0.5 1 1.5 2 The final result C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 18

How to solve an optimization problem? HYBBRID: let s mix GA and NM together! Mixing NM and GA together (simplified version) Population of M simplices (simplex = set of 4 rotation matrices) Fitness function f (R) (volume of corresponding OBB) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 19

How to solve an optimization problem? HYBBRID: let s mix GA and NM together! Mixing NM and GA together (simplified version) Population of M simplices (simplex = set of 4 rotation matrices) Fitness function f (R) (volume of corresponding OBB) Selection: Evaluate fitness of all simplices, keep best 50% C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 19

How to solve an optimization problem? HYBBRID: let s mix GA and NM together! Mixing NM and GA together (simplified version) Population of M simplices (simplex = set of 4 rotation matrices) Fitness function f (R) (volume of corresponding OBB) Selection: Evaluate fitness of all simplices, keep best 50% Crossover I: Create M 2 offsprings by mixing vertices: A 1 B 1 C 1 D 1 A 2 B 2 C 2 D 2 A i1 B i2 C i3 D i4, i k {1, 2} C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 19

How to solve an optimization problem? HYBBRID: let s mix GA and NM together! Mixing NM and GA together (simplified version) Population of M simplices (simplex = set of 4 rotation matrices) Fitness function f (R) (volume of corresponding OBB) Selection: Evaluate fitness of all simplices, keep best 50% Crossover I: Create M 2 offsprings by mixing vertices: A 1 B 1 C 1 D 1 A 2 B 2 C 2 D 2 A i1 B i2 C i3 D i4, i k {1, 2} Crossover II: Create M 2 offsprings by affinely combine vertices: A 1 B 1 C 1 D 1 A 2 B 2 C 2 D 2 A 3 B 3 C 3 D 3 with A 3 = λa 1 + (1 λ)a 2 C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 19

How to solve an optimization problem? HYBBRID: let s mix GA and NM together! Mixing NM and GA together (simplified version) Population of M simplices (simplex = set of 4 rotation matrices) Fitness function f (R) (volume of corresponding OBB) Selection: Evaluate fitness of all simplices, keep best 50% Crossover I: Create M 2 offsprings by mixing vertices: A 1 B 1 C 1 D 1 A 2 B 2 C 2 D 2 A i1 B i2 C i3 D i4, i k {1, 2} Crossover II: Create M 2 offsprings by affinely combine vertices: A 1 B 1 C 1 D 1 A 2 B 2 C 2 D 2 A 3 B 3 C 3 D 3 with A 3 = λa 1 + (1 λ)a 2 Mutation: Apply K Nelder-Mead iterations on each offspring C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 19

How to solve an optimization problem? HYBBRID: let s mix GA and NM together! HYBBRID Nelder-Mead algorithm Genetic algorithm on the special orthogonal group SO(3) to solve the optimal OBB problem C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 20

How to solve an optimization problem? HYBBRID: let s mix GA and NM together! HYBBRID Nelder-Mead algorithm Genetic algorithm on the special orthogonal group SO(3) to solve the optimal OBB problem = HYbrid Bounding Box Rotation IDentification algorithm C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 20

Results Coming up next... The problem: minimum-volume OBB Bringing optimization into the game How to solve an optimization problem? Results Behaviour of HYBBRID Comparison to other algorithms Conclusion C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 21

Results Behaviour of HYBBRID Behavior of HYBBRID All algorithms tested on a benchmark set of 300 objects (Gamma db) Implementations done in MATLAB (built-in functions are used) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 22

Results Behaviour of HYBBRID Behavior of HYBBRID: yes, it works! All algorithms tested on a benchmark set of 300 objects (Gamma db) Implementations done in MATLAB (built-in functions are used) 100 Tolerance = 1e 12 20 10 20 30 20 30 10 40 30 50 80 30 10 50 100 20 Performance [%] 60 40 10 5 5 5 20 Population size = 10 3 3 Population size = 30 5 3 Population size = 40 3 Population size = 50 0 01 111 500 1000 1500 Computation time [s] Error is less than 10 12 in 90%+ of the cases! C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 22

Results Behaviour of HYBBRID How does it scale? 15 Computation time [s] 10 5 0 0 2000 4000 6000 8000 10000 Number of vertices on the convex hull Experimental results show a roughly linear complexity! C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 23

Results Comparison to other algorithms Comparison to other iterative approaches 100 80 Failure rate [%] 60 40 20 Random search (60000 trials) 0 10 0 10 2 10 4 10 6 Relative error tolerance 10 8 10 10 Trying random orientations does not work... C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 24

Results Comparison to other algorithms Comparison to other iterative approaches 100 80 Failure rate [%] 60 40 fmincon, Euler angles (15 restarts) fmincon, Rotation matrix (15 restarts) Random search (60000 trials) 20 0 10 0 10 2 10 4 10 6 Relative error tolerance 10 8 10 10 Constrained smooth opti: success rate 40% but mainly AABBs... C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 24

Results Comparison to other algorithms Comparison to other iterative approaches 100 80 Failure rate [%] 60 40 Nelder Mead (30 restarts) fmincon, Euler angles (15 restarts) fmincon, Rotation matrix (15 restarts) Random search (60000 trials) 20 0 10 0 10 2 10 4 10 6 Relative error tolerance 10 8 10 10 Unconstrained non-diff. opti, random initializations: much better results! C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 24

Results Comparison to other algorithms Comparison to other iterative approaches 100 80 HYBBRID (M=50, K=30) Nelder Mead (30 restarts) fmincon, Euler angles (15 restarts) fmincon, Rotation matrix (15 restarts) Random search (60000 trials) Failure rate [%] 60 40 20 0 10 0 10 2 10 4 10 6 Relative error tolerance 10 8 10 10 HYBBRID: combining potential solutions does improve the success rate! C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 24

Results Comparison to other algorithms Comparison to other algorithms First, let s ignore the computational cost and look at the failure rates... 100 80 AABB AABB with post processing Failure rate [%] 60 40 20 0 10 0 10 2 10 4 10 6 Relative error tolerance 10 8 10 10 A reference point: the simple AABB C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 25

Results Comparison to other algorithms Comparison to other algorithms First, let s ignore the computational cost and look at the failure rates... 100 80 AABB AABB with post processing Min PCA with post processing Continuous PCA with post processing Failure rate [%] 60 40 20 0 10 0 10 2 10 4 10 6 Relative error tolerance 10 8 10 10 PCA-based methods: limited accuracy C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 25

Results Comparison to other algorithms Comparison to other algorithms First, let s ignore the computational cost and look at the failure rates... 100 80 AABB AABB with post processing Min PCA with post processing Continuous PCA with post processing All Pairs Korsawe (fast variant) Korsawe (slow variant) Failure rate [%] 60 40 20 0 10 0 10 2 10 4 10 6 Relative error tolerance 10 8 10 10 Brute-forcing on a set of orientations may be OK... if well chosen! C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 25

Results Comparison to other algorithms Comparison to other algorithms First, let s ignore the computational cost and look at the failure rates... 100 AABB AABB with post processing Min PCA with post processing Continuous PCA with post processing All Pairs Korsawe (fast variant) Korsawe (slow variant) Barequet & Har Peled s GridSearchMinVolBbx (d=60) Failure rate [%] 80 60 40 20 0 10 0 10 2 10 4 10 6 Relative error tolerance 10 8 10 10 Guaranteed approximation algorithms: limited by computational resources C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 25

Results Comparison to other algorithms Comparison to other algorithms First, let s ignore the computational cost and look at the failure rates... 100 AABB AABB with post processing Min PCA with post processing Continuous PCA with post processing All Pairs Korsawe (fast variant) Korsawe (slow variant) Barequet & Har Peled s GridSearchMinVolBbx (d=60) HYBBRID(M=50, K=30) Failure rate [%] 80 60 40 20 0 10 0 10 2 10 4 10 6 Relative error tolerance 10 8 10 10 HYBBRID: more accurate than these other methods C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 25

Results Comparison to other algorithms Comparison to other algorithms What are the computation times? (Tolerance: 10 3 ) 100 100 80 80 Performance [%] 60 40 Failure rate [%] 60 40 20 20 0 10 0 10 2 10 4 10 6 10 8 Computation time [s] 0 10 0 10 2 10 4 10 6 Relative error tolerance AABB PCA Continuous PCA Brute-force on a set of orientations O Rourke s exact algorithm Guaranteed approximation HYBBRID 10 8 10 10 C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 26

Results Comparison to other algorithms Comparison to other algorithms What are the computation times? (Tolerance: 10 6 ) 100 100 80 80 Performance [%] 60 40 Failure rate [%] 60 40 20 20 0 10 0 10 2 10 4 10 6 10 8 Computation time [s] 0 10 0 10 2 10 4 10 6 Relative error tolerance AABB PCA Continuous PCA Brute-force on a set of orientations O Rourke s exact algorithm Guaranteed approximation HYBBRID 10 8 10 10 C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 26

Conclusion Coming up next... The problem: minimum-volume OBB Bringing optimization into the game How to solve an optimization problem? Results Conclusion C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 27

Conclusion Conclusion HYBBRID: Nelder-Mead Genetic algorithm able to approximate optimal OBBs using optimization on SO(3) C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 28

Conclusion Conclusion HYBBRID: Nelder-Mead Genetic algorithm able to approximate optimal OBBs using optimization on SO(3) More accurate and/or faster than other algorithms C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 28

Conclusion Conclusion HYBBRID: Nelder-Mead Genetic algorithm able to approximate optimal OBBs using optimization on SO(3) More accurate and/or faster than other algorithms Still has room for improvements... C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 28

Conclusion Conclusion HYBBRID: Nelder-Mead Genetic algorithm able to approximate optimal OBBs using optimization on SO(3) More accurate and/or faster than other algorithms Still has room for improvements... Thank you for your attention! C.-T. Chang et al. Fast oriented bounding box optimization on the rotation group SO(3, R) 28