Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update refs.bib #15

Draft
wants to merge 11 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions source/node-reference/nodes/CameraCalibration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@ CameraCalibration
This node just needs a bit more work before using it directly into the Meshroom graph. If someone is interested to contribute to this
feature, we would be glad to provide assistance.

The internal camera parameters can be calibrated from multiple views of a checkerboard. This allows to retrieve focal length, principal point and distortion parameters. A detailed explanation is presented in [opencvCameraCalibration].

[opencvCameraCalibration] http://docs.opencv.org/3.0-beta/doc/tutorials/calib3d/camera_calibration/camera_calibration.html
The internal camera parameters can be calibrated from multiple views of a checkerboard. This allows to retrieve focal length, principal point and distortion parameters. A detailed explanation is presented in :cite:`OpenCVcameraCalibration`.

========================= =============================================================================================================================
Name Description
Expand Down
4 changes: 1 addition & 3 deletions source/node-reference/nodes/CameraLocalization.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ retrieve the motion of an animated camera in the scene of the 3D
reconstruction. This is very useful for doing texture reprojection in
other software as part of a texture clean up pipeline. Could also be
used to leverage Meshroom as a 3D camera tracker as part of a VFX
pipeline.

https://alicevision.github.io/#photogrammetry/localization
pipeline. :cite:`AVCameraLocalization`

settings

Expand Down
10 changes: 2 additions & 8 deletions source/node-reference/nodes/DepthMap.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,17 +46,11 @@ Output Output folder for generated depth maps

**Detailed description**

For all cameras that have been resolved by SfM, we want to retrieve the depth value of each pixel. Many approaches exist, like Block Matching, Semi-Global Matching (SGM) [Hirschmüller2005], [Hirschmüller2008] or ADCensus [Xing2011]. We will focus on the SGM method implemented in AliceVision.
For all cameras that have been resolved by SfM, we want to retrieve the depth value of each pixel. Many approaches exist, like Block Matching, Semi-Global Matching (SGM) :cite:`Hirschmüller2005`, :cite:`Hirschmüller2008` or ADCensus :cite:`Mei2011`. We will focus on the SGM method implemented in AliceVision.

For each image, we select the N best/closest cameras around. We select fronto-parallel planes based on the intersection of the optical axis with the pixels of the selected neighboring cameras. This creates a volume W, H, Z with many depth candidates per pixel. We estimate the similarity for all of them. The similarity is computed by the Zero Mean Normalized Cross-Correlation (ZNCC) of a small patch in the main image reprojected into the other camera. This create a volume of similarities. For each neighboring image, we accumulate similarities into this volume. This volume is very noisy. We apply a filtering step along X and Y axes which accumulates local costs which drastically reduce the score of isolated high values. We finally select the local minima and replace the selected plane index with the depth value stored into a depth map. This depth map has banding artifacts as it is based on the original selection of depth values. So a refine step is applied to get depth values with sub-pixel accuracy.

All these depth maps can be computed independently in parallel. Then we apply a filtering step to ensure consistency between multiple cameras. A compromise is chosen based on both similarity value and the number of coherent cameras to keep weakly supported surfaces without adding artefacts.

================== =============================================================================================================================================
[Hirschmüller2005] Accurate and efficient stereo processing by semi-global matching and mutual information, H. Hirschmüller. CVPR 2005
[Hirschmüller2008] Stereo processing by semiglobal matching and mutual information, H. Hirschmüller, 2008
[Strecha2006] Combined depth and outlier estimation in multi-view stereo, C. Strecha, R. Fransens, and L. Van Gool, CVPR 2006
[Scharstein2002] A taxonomy and evaluation of dense two-frame stereo correspondence algorithms, D. Scharstein and R. Szeliski, 2002
[Xing2011] On building an accurate stereo matching system on graphics hardware. Xing, M., Xun, S., Mingcai Z., Shaohui J., Haitao, W., Xiaopeng Z., 2011
================== =============================================================================================================================================
Additional references: :cite:`Strecha2006`, :cite:`Scharstein2002`

81 changes: 73 additions & 8 deletions source/refs.bib
Original file line number Diff line number Diff line change
@@ -1,12 +1,77 @@
@misc{AVCameraLocalization,
title = {AlicevisionCameraLocalization},
url = { https://alicevision.github.io/#photogrammetry/localization},
howpublished = {alicevision.github.io},
publisher = {Alicevision}
}

@inproceedings{Kneip2011,
author = {Kneip, Laurent and Scaramuzza, Davide and Siegwart, Roland},
year = {2011},
month = {06},
pages = {2969-2976},
title = {A novel parametrization of the perspective-three-point problem for a direct computation of absolute camera position and orientation},
booktitle = {CVPR, IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society Conference on Computer Vision and Pattern Recognition},
journal = {Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition},
doi = {10.1109/CVPR.2011.5995464}
author = {Kneip, Laurent and Scaramuzza, Davide and Siegwart, Roland},
year = {2011},
month = {06},
pages = {2969-2976},
title = {A novel parametrization of the perspective-three-point problem for a direct computation of absolute camera position and orientation},
booktitle = {Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition},
doi = {10.1109/CVPR.2011.5995464}
}

@misc{OpenCVcameraCalibration,
title = {Camera calibration With OpenCV},
url = {http://docs.opencv.org/3.0-beta/doc/tutorials/calib3d/camera_calibration/camera_calibration.html; https://web.archive.org/web/20200528170603/https://docs.opencv.org/3.0-beta/doc/tutorials/calib3d/camera_calibration/camera_calibration.html},
howpublished = {Camera calibration With OpenCV - OpenCV 3.0.0-dev documentation}, publisher = {OpenCV}
}

@inproceedings{Hirschmüller2005,
doi = {10.1109/cvpr.2005.56},
year = {2005},
publisher = {{IEEE}},
author = {H. Hirschmuller},
title = {Accurate and Efficient Stereo Processing by Semi-Global Matching and Mutual Information},
booktitle = {2005 {IEEE} Computer Society Conference on Computer Vision and Pattern Recognition ({CVPR}{\textquotesingle}05)}
}

@article{Hirschmüller2008,
doi = {10.1109/tpami.2007.1166},
year = {2008},
month = feb,
publisher = {Institute of Electrical and Electronics Engineers ({IEEE})},
volume = {30},
number = {2},
pages = {328--341},
author = {H. Hirschmuller},
title = {Stereo Processing by Semiglobal Matching and Mutual Information},
journal = {{IEEE} Transactions on Pattern Analysis and Machine Intelligence}
}

@inproceedings{Strecha2006,
doi = {10.1109/cvpr.2006.78},
year = {2006},
publisher = {{IEEE}},
author = {C. Strecha and R. Fransens and L. Van Gool},
title = {Combined Depth and Outlier Estimation in Multi-View Stereo},
booktitle = {2006 {IEEE} Computer Society Conference on Computer Vision and Pattern Recognition - Volume 2 ({CVPR}{\textquotesingle}06)}
}

@article{Scharstein2002,
doi = {10.1023/a:1014573219977},
year = {2002},
title = {A Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms},
publisher = {Springer Science and Business Media {LLC}},
volume = {47},
number = {1/3},
pages = {7--42},
author = {Daniel Scharstein and Richard Szeliski},
journal = {International Journal of Computer Vision}
}

@inproceedings{Mei2011,
doi = {10.1109/iccvw.2011.6130280},
year = {2011},
month = nov,
publisher = {{IEEE}},
author = {Xing Mei and Xun Sun and Mingcai Zhou and Shaohui Jiao and Haitao Wang and Xiaopeng Zhang},
title = {On building an accurate stereo matching system on graphics hardware},
booktitle = {2011 {IEEE} International Conference on Computer Vision Workshops ({ICCV} Workshops)}
}