sghong977 / Daily_AIML

Computer Vision, Deep Learning, 그외 MLOps 찍먹 등. 매일 새롭게 배운 것을 정리합니다.
0 stars 0 forks source link

[Survey List] Multiview Geometry, SLAM, ... #30

Open sghong977 opened 1 year ago

sghong977 commented 1 year ago

TO-DO

sghong977 commented 1 year ago

COLMAP

Steps of Image-based 3D reconstruction from images

  1. recovers sparse representation from the scene
  2. recovers camera poses of the input images using Structure-from-Motion
  3. This output then serves as the input to Multi-View Stereo to recover a dense representation of the scene. image

Automatic Reconstruction tool

Structure-from-Motion (SfM)

Multi-View Stereo (MVS)

Terminology

Step 4. Dense Reconstruction.

Output format of sparse and dense reconstruction are explained here https://colmap.github.io/format.html.

Database

Readings

sghong977 commented 1 year ago

In the preprocessing step of NeuMan, there are 6 command lines using COLMAP. My goal is just understanding these commands:

colmap exhaustive_matcher --database_path ./recon/db.db --SiftMatching.guided_matching=true

mkdir -p ./recon/sparse

colmap mapper --database_path ./recon/db.db --image_path ./raw_720p --output_path ./recon/sparse

if [ -d "./recon/sparse/1" ]; then echo "Bad reconstruction"; exit 1; else echo "Ok"; fi

mkdir -p ./recon/dense

colmap image_undistorter --image_path raw_720p --input_path ./recon/sparse/0/ --output_path ./recon/dense

colmap patch_match_stereo --workspace_path ./recon/dense

colmap model_converter --input_path ./recon/dense/sparse/ --output_path ./recon/dense/sparse --output_type=TXT

sghong977 commented 1 year ago

I'm gonna replace COLMAP feature extraction & matching to a modern feature algorithm, LoFTR.

LoFTR: Detector-Free Local Feature Matching with Transformers

project page: https://zju3dv.github.io/loftr/

What LoFTR do? Coarse level, dense matches -> refine feature at a fine level, instead of traditional steps of feature detection -> extraction -> matching.

How does the model work?

Then how can I use this model? Does it provide pretrained model?

let's make neuman docker container and execute following commands: pip install kornia pip install kornia_moons pip install opencv-python --upgrade

wget https://github.com/kornia/data/raw/main/matching/kn_church-2.jpg wget https://github.com/kornia/data/raw/main/matching/kn_church-8.jpg

feature_custom.py 작성한거 참고 ㄱ