« Structure from motion » algorithms for the CYCAB robot Guillaume CERNIER ENSIMAG - 2nd year internship 19th June - 15th September 2006.
Post on 02-Jan-2016
213 Views
Preview:
Transcript
« Structure from motion »« Structure from motion » algorithms for the algorithms for the
CYCAB robotCYCAB robot
Guillaume CERNIER
ENSIMAG - 2nd year internship
19th June - 15th September 2006
Tuesday, 16th January 07 Guillaume CERNIER « Structure from motion » algorithms for the CYCAB robot
INRIA presentationINRIA presentation Well-known french research centre in :
– Computer science
– Control theory
– Applied mathematics 6 research centres (Lorraine, Rennes, Rhône-Alpes, Rocquencourt,
Sophia-Antipolis, Futurs) Partner of the new research centre of Microsoft at Orsay INRIA Rhône-Alpes unit :
– 26 research teams among 8 associated with foreign laboratories
– Near 500 people (engineers, researches, PhD students, interns, …)
– Local partners : IMAG, UJF, INPG, CNRS, …
– Member of 10 european research networks
– 271 contracts among 53 with industry and 26 european
– 14 start-ups created since 1998 (more than 560 jobs created)
Tuesday, 16th January 07 Guillaume CERNIER « Structure from motion » algorithms for the CYCAB robot
e-Motion team presentatione-Motion team presentation
“GEometry and Probability for MOtion and AcTION” Belongs to the GRAVIR lab
(INRIA, CNRS, UJF, INPG) Goals :
– Developing algorithmic models and methods allowing to build artificial systems
– With capacities of perception, decision, and action
– Operating in open and dynamic environments Start-ups : Itmi (1982), Getris Images (1985), Aleph Technologies
(1989), Aleph Med (1992), Probayes (2003). Industrial collaborations : Robotsoft, Renault, PSA, AW Europe
(linked to Toyota), XL-Studio, Aesculap, Teamlog, Kelkoo.
Tuesday, 16th January 07 Guillaume CERNIER « Structure from motion » algorithms for the CYCAB robot
CYCAB presentationCYCAB presentation Large R&D program between
INRIA & INRETS Autonomous vehicle intended
for urban areas Automatic taxi
computer-guided Can be adapted for blind
and/or handicapped people Autonomous + urban areas => avoiding obstacles Before my internship : avoidance realized by a laser telemeter Internship goal : use a video camera to estimate the structure of the
whole scene in front of the vehicle Called “structure from motion”
QuickTime™ et undécompresseur codec YUV420
sont requis pour visionner cette image.
Tuesday, 16th January 07 Guillaume CERNIER « Structure from motion » algorithms for the CYCAB robot
Internship goalsInternship goalsVideos, sequence of pictures 3D estimation of the structure
Constraints :
Software development : C/C++
Real-time processing
Integration to the whole platform embedded in the Cycab
(plug-in format)
Helps :
Use of an open-source 3D vision library : “OpenCV”
Tuesday, 16th January 07 Guillaume CERNIER « Structure from motion » algorithms for the CYCAB robot
““Structure from motion” (1/3)Structure from motion” (1/3)
The problem : only one camera => unknown motion between 2 snapshots
So, structure from motion is a 2-step process :– Optical flow (vector field) computation between 2 pictures
– Thanks to this optical flow, computing :• First, the motion of the camera between the 2 pictures
• Finally, the 3D structure of the scene
Tuesday, 16th January 07 Guillaume CERNIER « Structure from motion » algorithms for the CYCAB robot
Optical flow computation (2/3)Optical flow computation (2/3) SPARSE Vector field
– To lighten computation
– Vectors tracking real points
in the scene How choose the points to track ?
– GoodFeaturesToTrack algorithm
– Exists in OpenCV library Computation of the optical flow :
– Pyramidal algorithms
– Establishing correspondence
between points of the 2 pictures
– Eliminate “outliers”
– Let to know the “fundamental
matrix”
Tuesday, 16th January 07 Guillaume CERNIER « Structure from motion » algorithms for the CYCAB robot
3D structure computation (3/3)3D structure computation (3/3) 2 steps :
– Find the motion between the 2 pictures :• Thanks to fundamental & intrinsic matrixes• Find the rotation and translation resulting
– Here, we know the position of the cameraat the 2 snapshots
– Computes the 3D point for each point pair
(q1,q2) in the 2 pictures :• Triangulation methods• Least-square methods (retained)• Depends of the projection matrixes P1 & P2
• Pi = KRi( I3x3 | -ti ) (4x3 matrixes)
Tuesday, 16th January 07 Guillaume CERNIER « Structure from motion » algorithms for the CYCAB robot
Other developmentOther development
Camera Calibration GUI
Tuesday, 16th January 07 Guillaume CERNIER « Structure from motion » algorithms for the CYCAB robot
Difficulties and successesDifficulties and successes 3D vision library OpenCV contains some bugs … Tutors absence …
Very interesting research field ! Reach the internship goals 2 weeks before the planned date Research article writing for a robotics conf (ICRA 07) Learning a GUI API (Gtk+)
top related