OpenCV & Structure from motion
Overall presentation
To allow use of simple but scalable API, I propose an organization based on abstract classes.
This separation should allow to modify the treatments for various processing blocks. Before detailing the proposed implementation, we must try to identify the different needs and constraints.
After some research on the topic and some discussions with Mr Rabaud, it appears that the API should at least allow users to:
- Manage one or several cameras (I mean physical device) in a sequence (stereovision, single camera, multivision...).
- Each camera can be of different type (Fisheye, with/without radial distortion, various intra-parameters...).
- Initialize the different processing blocks according to the data availables:
- Camera: Distortion, intra parameters, nothing, ...
- Field of view: Extern position, points of interest, a known 3D pattern to match, 2D images, ...
- Compute missing data (intra/extra parameters, 3D points,...)
- Show the points cloud using an interactive visualization
This GSoC will try to produce an high-quality dense 3D reconstruction for rigid models. Sub-pixels points detections, robust transformations estimations and sub-pixel dense displacement computation will be implemented into an efficient and scalable API.
Resources and documentation
For now, a few resources are available but I hope with time this will grow !
So you can :