palanglois / line-surface-reconstruction

Implementation for the "Surface Reconstruction from 3D Line Segments" paper.
https://imagine.enpc.fr/~langloip/index.html?page=line_recons
GNU General Public License v3.0
110 stars 14 forks source link

line_based_recons fail and give empty output #8

Open insomniaaac opened 1 month ago

insomniaaac commented 1 month ago

I tried to run entire pipeline with dtu dataset scan24

./runLine3Dpp_colmap -i ./data/dtu_dataset/DTU/scan24/images -m ./data/dtu_dataset/DTU/scan24/sparse/0 -p 2.5
python colmapToRANSACInput.py --input ./data/dtu_dataset/DTU/scan24/sparse/0/Line3D++/Line3D++__W_FULL__N_10__sigmaP_2.5__sigmaA_10__epiOverlap_0.25__kNN_10__OPTIMIZED__vis_3.txt --colmap ./data/dtu_dataset/DTU/scan24/sparse/0/ --output ./data/dtu_dataset/DTU/scan24/sparse/0/
./ransac_on_lines -i ./data/dtu_dataset/DTU/scan24/sparse/0/line3dpp_output.json -o ./data/dtu_dataset/DTU/scan24/sparse/0/ -e 0.02 -n 50000 -v
python colmapRansacOutToResidualReconsInput.py --input ./data/dtu_dataset/DTU/scan24/sparse/0/test_input_for_reconstruction.json --output ./data/dtu_dataset/DTU/scan24/sparse/0/ --colmap ./data/dtu_dataset/DTU/scan24/sparse/0/
./line_based_recons -i ./data/dtu_dataset/DTU/scan24/sparse/0/input_lines_from_residuals.json -o ./data/dtu_dataset/DTU/scan24/sparse/0/ -cp 1 -cv 1 -ca 0 -ce 0.01 -cc 0 -vs 4 -int -v

when i check test_input_for_reconstruction.json and input_lines_from_residuals.json files, all results look ok. however, when i ran line_based_recons, weird log shows

MOSEK warning 57: A large value of -3.0e+09 has been specified in cx for variable '' (13).
MOSEK warning 57: A large value of -5.0e+09 has been specified in cx for variable '' (15).
MOSEK warning 57: A large value of -1.3e+10 has been specified in cx for variable '' (19).
MOSEK warning 57: A large value of -1.4e+09 has been specified in cx for variable '' (20).
MOSEK warning 57: A large value of -1.6e+09 has been specified in cx for variable '' (23).
MOSEK warning 57: A large value of -1.1e+10 has been specified in cx for variable '' (25).

and all logs below:

Processed line 46428 out of 46428.
Computing cell to LP variables mapping...
Cell to LP variables mapping computed !
Propagating the nu coefficient...
Nu coefficient propagated !
Computing boundary term...
Boundary term computed !
Computing structural term...
Structural term computed !
Computing visibility and area terms...
Visibility and area terms computed !
Computing edge term...
Edge term computed !
Computing corner term...
Corner term computed !
Forming linear program...
MOSEK warning 57: A large value of -3.0e+09 has been specified in cx for variable '' (13).
MOSEK warning 57: A large value of -5.0e+09 has been specified in cx for variable '' (15).
MOSEK warning 57: A large value of -1.3e+10 has been specified in cx for variable '' (19).
MOSEK warning 57: A large value of -1.4e+09 has been specified in cx for variable '' (20).
MOSEK warning 57: A large value of -1.6e+09 has been specified in cx for variable '' (23).
MOSEK warning 57: A large value of -1.1e+10 has been specified in cx for variable '' (25).
Linear program formed !
Starting optimization
Problem
  Name                   : Linear Program  
  Objective sense        : min             
  Type                   : LO (linear optimization problem)
  Constraints            : 472542          
  Cones                  : 0               
  Scalar variables       : 246428          
  Matrix variables       : 0               
  Integer variables      : 246428          

Optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator - tries                  : 0                 time                   : 0.00            
Lin. dep.  - tries                  : 1                 time                   : 0.04            
Lin. dep.  - number                 : 0               
Presolve terminated. Time: 0.32    
GP based matrix reordering started.
GP based matrix reordering terminated.
Problem
  Name                   : Linear Program  
  Objective sense        : min             
  Type                   : LO (linear optimization problem)
  Constraints            : 472542          
  Cones                  : 0               
  Scalar variables       : 246428          
  Matrix variables       : 0               
  Integer variables      : 246428          

Optimizer  - threads                : 16              
Optimizer  - solved problem         : the dual        
Optimizer  - Constraints            : 99613
Optimizer  - Cones                  : 0
Optimizer  - Scalar variables       : 285025            conic                  : 0               
Optimizer  - Semi-definite variables: 0                 scalarized             : 0               
Factor     - setup time             : 1.48              dense det. time        : 0.00            
Factor     - ML order time          : 0.06              GP order time          : 1.25            
Factor     - nonzeros before factor : 5.04e+05          after factor           : 3.75e+06        
Factor     - dense dim.             : 0                 flops                  : 1.78e+09        
Factor     - GP saved nzs           : 1.00e+06          GP saved flops         : 1.52e+09        
ITE PFEAS    DFEAS    GFEAS    PRSTATUS   POBJ              DOBJ              MU       TIME  
0   2.0e+00  1.6e+02  1.4e+04  1.00e+00   -6.875995272e+10  -6.875996654e+10  1.0e+00  1.87  
1   6.0e+01  2.3e+02  2.7e+04  0.00e+00   -6.875995112e+10  -6.875995450e+10  1.3e+01  1.97  
2   3.0e+01  1.1e+02  1.3e+04  1.00e+00   -6.875995264e+10  -6.875995436e+10  6.4e+00  2.10  
3   4.0e+00  1.5e+01  1.8e+03  1.01e+00   -6.875995365e+10  -6.875995389e+10  8.6e-01  2.25  
4   3.3e-01  1.3e+00  1.5e+02  1.04e+00   -6.875995368e+10  -6.875995370e+10  7.2e-02  2.39  
5   4.9e-02  1.9e-01  2.2e+01  1.12e+00   -6.875995368e+10  -6.875995368e+10  1.1e-02  2.52  
6   4.7e-03  1.8e-02  2.1e+00  1.18e+00   -6.875995368e+10  -6.875995368e+10  1.0e-03  2.64  
7   2.1e-04  8.1e-04  9.3e-02  1.13e+00   -6.875995368e+10  -6.875995368e+10  4.5e-05  2.82  
8   1.1e-05  4.3e-05  4.9e-03  1.02e+00   -6.875995368e+10  -6.875995368e+10  2.4e-06  2.97  
9   4.6e-08  1.9e-05  2.0e-05  1.00e+00   -6.875995368e+10  -6.875995368e+10  1.0e-08  3.06  
10  8.0e-12  4.0e-09  1.8e-09  1.00e+00   -6.875995368e+10  -6.875995368e+10  1.8e-12  3.15  
Optimizer terminated. Time: 3.21    

Interior-point solution summary
  Problem status  : PRIMAL_AND_DUAL_FEASIBLE
  Solution status : OPTIMAL
  Primal.  obj: -6.8759953678e+10   nrm: 3e+00    Viol.  con: 1e-12    var: 6e-13  
  Dual.    obj: -6.8759953678e+10   nrm: 1e+10    Viol.  con: 0e+00    var: 8e-09  
||| saving LP
out folder : ./data/dtu_dataset/DTU/scan24/sparse/0/cp_1_cv_1_ca_0_ce_0.01_cc_0.ply

the result file cp_1_cv_1_ca_0_ce_0.01_cc_0.ply is empty

ply
format ascii 1.0
element vertex 0
property float x
property float y
property float z
element face 0
property list uchar int vertex_index
property float nx
property float ny
property float nz
end_header
palanglois commented 1 month ago

Hi @insomniaaac , thanks for your interest in this project. I don't have a Mosek license anymore but I can try to find what's going on. Can you send me the test_input_for_reconstruction.json and input_lines_from_residuals.json files?

insomniaaac commented 1 month ago

@palanglois of course, input_lines_from_residuals.json test_input_for_reconstruction.json Line3D++W_FULL__N_10sigmaP_2.5sigmaA_10__epiOverlap_0.25kNN_10OPTIMIZEDvis_3.txt