All Projects → adahbingee → pais-mvs

adahbingee / pais-mvs

Licence: other
Multi-view stereo image-based 3D reconstruction

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to pais-mvs

BridgeDepthFlow
Bridging Stereo Matching and Optical Flow via Spatiotemporal Correspondence, CVPR 2019
Stars: ✭ 114 (+107.27%)
Mutual labels:  stereo-matching, depth-estimation
Learning2AdaptForStereo
Code for: "Learning To Adapt For Stereo" accepted at CVPR2019
Stars: ✭ 73 (+32.73%)
Mutual labels:  stereo-matching, depth-estimation
ONNX-HITNET-Stereo-Depth-estimation
Python scripts form performing stereo depth estimation using the HITNET model in ONNX.
Stars: ✭ 21 (-61.82%)
Mutual labels:  stereo-matching, depth-estimation
edlsm pytorch
Pytorch implementation for stereo matching described in the paper: Efficient Deep learning for stereo matching
Stars: ✭ 16 (-70.91%)
Mutual labels:  stereo-matching
treestoolbox
TREES toolbox
Stars: ✭ 20 (-63.64%)
Mutual labels:  reconstruction
Visualizing-CNNs-for-monocular-depth-estimation
official implementation of "Visualization of Convolutional Neural Networks for Monocular Depth Estimation"
Stars: ✭ 120 (+118.18%)
Mutual labels:  depth-estimation
MonoRUn
[CVPR'21] MonoRUn: Monocular 3D Object Detection by Reconstruction and Uncertainty Propagation
Stars: ✭ 85 (+54.55%)
Mutual labels:  reconstruction
probabilistic nlg
Tensorflow Implementation of Stochastic Wasserstein Autoencoder for Probabilistic Sentence Generation (NAACL 2019).
Stars: ✭ 28 (-49.09%)
Mutual labels:  reconstruction
DSIN
Deep Image Compression using Decoder Side Information (ECCV 2020)
Stars: ✭ 39 (-29.09%)
Mutual labels:  reconstruction
undither
Smart filter to remove Floyd-Steinberg dithering from paletted images
Stars: ✭ 38 (-30.91%)
Mutual labels:  reconstruction
ldmx-sw
The Light Dark Matter eXperiment simulation and reconstruction framework.
Stars: ✭ 14 (-74.55%)
Mutual labels:  reconstruction
shaper
A C++ tool for 3D reconstruction from parallel 2D sections
Stars: ✭ 69 (+25.45%)
Mutual labels:  reconstruction
UAV-Stereo-Vision
A program for controlling a micro-UAV for obstacle detection and collision avoidance using disparity mapping
Stars: ✭ 30 (-45.45%)
Mutual labels:  stereo-matching
SGDepth
[ECCV 2020] Self-Supervised Monocular Depth Estimation: Solving the Dynamic Object Problem by Semantic Guidance
Stars: ✭ 162 (+194.55%)
Mutual labels:  depth-estimation
Dual-CNN-Models-for-Unsupervised-Monocular-Depth-Estimation
Dual CNN Models for Unsupervised Monocular Depth Estimation
Stars: ✭ 36 (-34.55%)
Mutual labels:  depth-estimation
DSGN
DSGN: Deep Stereo Geometry Network for 3D Object Detection (CVPR 2020)
Stars: ✭ 276 (+401.82%)
Mutual labels:  depth-estimation
stereo
Perform stereo matching algorithm using Direct 3D (level 9.3) on a mobile device without CUDA support.
Stars: ✭ 13 (-76.36%)
Mutual labels:  stereo-matching
3D-Object-Reconstrution
A curated list of awesome Single-view 3D Object Reconstruction papers & resources
Stars: ✭ 75 (+36.36%)
Mutual labels:  reconstruction
Normal-Assisted-Stereo
[CVPR 2020] Normal Assisted Stereo Depth Estimation
Stars: ✭ 95 (+72.73%)
Mutual labels:  depth-estimation
PatchMatchCuda
The PatchMatch stereo match algorithm implemented by CUDA.
Stars: ✭ 32 (-41.82%)
Mutual labels:  stereo-matching

pais-mvs

Multi-view stereo image-based 3D reconstruction

PAIS Multi-view Stereo

image

image

image

library:

OpenCV 2.4.2

Point Cloud Library 1.6.0

Publications

  • "A novel 3D dense reconstruction with high accuracy and completeness". Zen Chen, Wen-Chao Chen, And Ping-Yi Sung. IEEE International Conference on Multimedia and Expo Workshops ICMEW 2013

  • "Stochastic Optimization Based 3D Dense Reconstruction from Multiple Views with High Accuracy and Completeness". Wen-Chao Chen, Zen Chen, And Ping-Yi Sung. Journal of Information Science And Engineering 31, 131-146, 2015

  • "Stocastic Optimization Based 3D Reconstruction with High Accuracy and Completeness". Wen-Chao Chen, Ping-Yi Sung And Zen Chen . The 25th IPPR Conference on Computer Vision, Graphics, and Image Processing, CVGIP 2012 Excellent Paper Award

Link

Pre-build binary

Introduction

  1. Input / Output file format
  2. Config parameters
  3. Command line instruction

Input file format

nvm file format

NVM file is come from VisualSFM data structure. Here is the example of the data structure. The detail can be found in FileLoader.

You can skip the calibration step and just use the Structure from Motion result output from VisualSFM.

NVM_V3 

5
pawn0013.jpg    614.095397949 0.705410371683 0.160690743319 0.671401589359 0.160605237544 -0.556085150075 0.0481223921551 -0.00781510757143 -0.199289312888 0 
pawn0010.jpg    616.175537109 0.90353903514 0.221746421078 0.3576944596 0.0806247263945 -0.880841878288 0.0327703491031 -0.684201024844 -0.209314043486 0 
pawn0011.jpg    612.03302002 0.85241383667 0.2037593266 0.469072019941 0.108830220502 -0.71971232163 0.0433857776889 -0.492035476323 -0.207263977174 0 
pawn0012.jpg    611.360473633 0.786507583571 0.183363764635 0.573952646995 0.135504187104 -0.608685012281 0.0487066227347 -0.263440114899 -0.203210786458 0 
pawn0014.jpg    617.585876465 0.611485687162 0.135944898976 0.757586998462 0.183482834469 -0.572254659063 0.0434025057556 0.255716172724 -0.198563271584 0 

The first row shows the NVM file version.

Third line 5 indicate there are 5 cameras in the following list.

Each list entry:

  • image file name, can be PNG, JPG, BMP, or any OpenCV supported image format. Note that the file path can be relative or absolute path.
  • focal length
  • 4 elements vector (k wx wy wz) indicate the quaternion rotation. Transformation form quaternion to 3x3 rotation matrix can be found in code. Camera.
  • 3 elements vector (x y z) indicate camera center in world coordinate.
  • radial distortion parameter. The usage of parameter can be found in camera projection.
  • 0 for end of line

nvm2 file format

In the NVM file format, the camera principle point is assumed at the image center, and can't to be edit.

NVM2 file specify the principle point(px, py) after focal length. Others the same.

mvs file format

MVS file is saved in a binary way for internal use, for example: MVS viewer, patch filtering.

Output file format

mvs file format

MVS file is saved in a binary way for internal use, for example: MVS viewer, patch filtering.

ply file format

ply is the point cloud model. Can be open using MeshLab.

psr file format

psr file is ready for the Poisson surface reconstruction.

Config parameters

config.txt should be placed in the same directory of main program.

### patch optimization configuration ###
# patch radius (patch size = 2*radius+1)
# !!!!check distWeighting if patchRadius have been changed!!!!
# default 15
patchRadius			15

# reduce normal search range for expansion patch (reduce to +- pi/reduceNormalRange)
# 1 stands for search 360 degree, 2 for 180 degree
# smaller for larger cell size
# default 2 (reduce to 180 degree)
reduceNormalRange	2

# enable or disable adaptive distance weighting (0: disable, 1: enable)
# default 1
adaptiveDistanceEnable		1
# distance weighting to patch center
# default(patch radius/3) 5
distWeighting		5

# enable or disable adaptive difference weighting (0: disable, 1: enable)
# default 1
adaptiveDifferenceEnable	1
# difference weighting
# default(128*128) 16384
diffWeighting		16384

# enable or disable adaptive gradient weighting (0: disable, 1: enable)
# default 0
adaptiveGradientEnable		0
# gradient maginitude weighting
# default 10.0
gradientWeighting	10.0

# visible camera angle correlation
# smaller for sparse camera deploy
# default 0.87 radian for 30 degree
visibleCorrelation	0.7

# depth search range scalar
# smaller for smoother object, larger for complex/sharp object
# smaller for small cell size, larger for big cell size
# larger depthRangeScalar cloud avoid local trap!
# beta in paper
# default(cellsize/2) 2
depthRangeScalar	8

### PSO optimization configuration ###
# particle number
# default 30
particleNum			15
# maximum iteration number
# default 60
maxIteration		30

### expansion configuration ###
# image cell size, control the density of patches
# default 4
cellSize			2
# maximum patch number in single cell
# default 3
maxCellPatchNum		3
# patch expansion strategy (Best: 0, Worst: 1, Breath: 2, Depth: 3)
# default 0
expansionStrategy	0

### level of detail configuration ###
# texture variation
# default 36
textureVariation	36
# minimum level of detail
# default 0
minLOD				0
# maximum level of detail
# default 15
maxLOD				15
# level of detail ratio
# default 0.8
lodRatio			0.8

### filtering configuration ###
# minimum visible camera number
# default 3
minCamNum			3
# minimum texture correlation
# default 0.9
minCorrelation		0.9
# minimum patch homography ellipse axes ratio
# default 0.15
minRegionRatio		0.15
# maximum fitness (critical effect the completeness)
# default 10.0
maxFitness			10.0
# neighbor patch search radius scalar (from TVCG09 PCMVS)
# the neighbor radius = pow(volume, 1.0/3.0) * neighborRadiusScalar
# default 0.0025*(cellsize*2)
neighborRadiusScalar		0.01

Command

There are 4 commands for our program. TMVS.exe -r TMVS.exe -f TMVS.exe -v TMVS.exe -a

Reconstruction TMVS.exe -r

Run multi-view stereo reconstruction.

The program will use the N-view matching points as the seed points from VisualSFM.

When there are no seed points, it will run N-view matching algorithm by SIFT feature and perform N-view matching with epipolar constrain.

Note that the config.txt must be initialized.

TMVS.exe -r input.nvm

There are 5 output files from reconstruction command.

init.mvs the input seed points from VisualSFM.

seed.mvs seed points after optimization.

exp.mvs expansion point cloud.

exp.ply expansion point cloud.

exp.psr expansion point cloud.

Patch post-processing filtering TMVS.exe -f

Run post-processing filtering after reconstruction. Note the filtering process only accept mvs file.

TMVS.exe -f exp.mvs

MVS Viewer TMVS.exe -v

Rendering result in PCL framework.

press h to see help function.

TMVS.exe -v exp.mvs

MVS Viewer TMVS.exe -a

Rendering result in PCL framework with expansion animation.

press h to see help function.

TMVS.exe -a exp.mvs
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].