weiyithu / NerfingMVS

[ICCV 2021 Oral] NerfingMVS: Guided Optimization of Neural Radiance Fields for Indoor Multi-view Stereo
MIT License
434 stars 58 forks source link

colmap make #40

Open DanielLiking opened 2 years ago

DanielLiking commented 2 years ago

Why would this problem happen? I used your colmap version(without git clone or checkout): cmake & make. Then it's wring during the process of making Screenshot from 2022-09-15 13-43-36

[ 50%] Building CXX object src/CMakeFiles/colmap.dir/mvs/meshing.cc.o [ 50%] Building CXX object src/CMakeFiles/colmap.dir/optim/bundle_adjustment.cc.o [ 50%] Building CXX object src/CMakeFiles/colmap.dir/ui/undistortion_widget.cc.o /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc: In function ‘bool colmap::RefineAbsolutePose(const colmap::AbsolutePoseRefinementOptions&, const std::vector&, const std::vector<Eigen::Matrix<double, 2, 1>, std::allocator<Eigen::Matrix<double, 2, 1> > >&, const std::vector<Eigen::Matrix<double, 3, 1> >&, Eigen::Vector4d, Eigen::Vector3d, colmap::Camera)’: /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:242:20: error: ‘QuaternionParameterization’ in namespace ‘ceres’ does not name a type 242 | new ceres::QuaternionParameterization; | ^~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:243:13: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 243 | problem.SetParameterization(qvec->data(), quaternion_parameterization); | ^~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:276:16: error: ‘SubsetParameterization’ is not a member of ‘ceres’; did you mean ‘LocalParameterization’? 276 | ceres::SubsetParameterization camera_params_parameterization = | ^~~~~~ | LocalParameterization /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:276:40: error: ‘camera_params_parameterization’ was not declared in this scope 276 | ceres::SubsetParameterization camera_params_parameterization = | ^~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:277:17: error: expected type-specifier 277 | new ceres::SubsetParameterization( | ^~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:279:17: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 279 | problem.SetParameterization(camera->ParamsData(), | ^~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc: In function ‘bool colmap::RefineRelativePose(const ceres::Solver::Options&, const std::vector<Eigen::Matrix<double, 2, 1>, std::allocator<Eigen::Matrix<double, 2, 1> > >&, const std::vector<Eigen::Matrix<double, 2, 1>, std::allocator<Eigen::Matrix<double, 2, 1> > >&, Eigen::Vector4d, Eigen::Vector3d)’: /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:333:18: error: ‘QuaternionParameterization’ in namespace ‘ceres’ does not name a type 333 | new ceres::QuaternionParameterization; | ^~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:334:11: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 334 | problem.SetParameterization(qvec->data(), quaternion_parameterization); | ^~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:336:10: error: ‘HomogeneousVectorParameterization’ is not a member of ‘ceres’ 336 | ceres::HomogeneousVectorParameterization homogeneous_parameterization = | ^~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:336:45: error: ‘homogeneous_parameterization’ was not declared in this scope; did you mean ‘quaternion_parameterization’? 336 | ceres::HomogeneousVectorParameterization homogeneous_parameterization = | ^~~~~~~~ | quaternion_parameterization /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:337:11: error: expected type-specifier 337 | new ceres::HomogeneousVectorParameterization(3); | ^~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/estimators/pose.cc:338:11: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 338 | problem.SetParameterization(tvec->data(), homogeneous_parameterization); | ^~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc: In member function ‘void colmap::BundleAdjuster::AddImageToProblem(colmap::image_t, colmap::Reconstruction, ceres::LossFunction)’: /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:420:22: error: ‘QuaternionParameterization’ in namespace ‘ceres’ does not name a type 420 | new ceres::QuaternionParameterization; | ^~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundleadjustment.cc:421:17: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 421 | problem->SetParameterization(qvec_data, quaternion_parameterization); | ^~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:425:16: error: ‘SubsetParameterization’ is not a member of ‘ceres’; did you mean ‘LocalParameterization’? 425 | ceres::SubsetParameterization tvec_parameterization = | ^~~~~~ | LocalParameterization /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:425:40: error: ‘tvec_parameterization’ was not declared in this scope; did you mean ‘quaternion_parameterization’? 425 | ceres::SubsetParameterization tvec_parameterization = | ^~~~~ | quaternion_parameterization /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:426:17: error: expected type-specifier 426 | new ceres::SubsetParameterization(3, constant_tvec_idxs); | ^~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundleadjustment.cc:427:19: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 427 | problem->SetParameterization(tvec_data, tvec_parameterization); | ^~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:423:33: warning: unused variable ‘constant_tvec_idxs’ [-Wunused-variable] 423 | const std::vector& constant_tvec_idxs = | ^~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc: In member function ‘void colmap::BundleAdjuster::ParameterizeCameras(colmap::Reconstruction)’: /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:514:16: error: ‘SubsetParameterization’ is not a member of ‘ceres’; did you mean ‘LocalParameterization’? 514 | ceres::SubsetParameterization camera_params_parameterization = | ^~~~~~ | LocalParameterization /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:514:40: error: ‘camera_params_parameterization’ was not declared in this scope 514 | ceres::SubsetParameterization camera_params_parameterization = | ^~~~~~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:515:17: error: expected type-specifier 515 | new ceres::SubsetParameterization( | ^~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundleadjustment.cc:517:19: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 517 | problem->SetParameterization(camera.ParamsData(), | ^~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc: In member function ‘void colmap::RigBundleAdjuster::AddImageToProblem(colmap::image_t, colmap::Reconstruction, std::vector, ceres::LossFunction)’: /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1061:14: error: ‘SubsetParameterization’ is not a member of ‘ceres’; did you mean ‘LocalParameterization’? 1061 | ceres::SubsetParameterization tvec_parameterization = | ^~~~~~ | LocalParameterization /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1061:38: error: ‘tvec_parameterization’ was not declared in this scope 1061 | ceres::SubsetParameterization tvec_parameterization = | ^~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1062:15: error: expected type-specifier 1062 | new ceres::SubsetParameterization(3, constant_tvec_idxs); | ^~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundleadjustment.cc:1063:17: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 1063 | problem->SetParameterization(tvec_data, tvec_parameterization); | ^~~~~~~ | SetParameterLowerBound /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1059:31: warning: unused variable ‘constant_tvec_idxs’ [-Wunused-variable] 1059 | const std::vector& constant_tvec_idxs = | ^~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc: In member function ‘void colmap::RigBundleAdjuster::ParameterizeCameraRigs(colmap::Reconstruction)’: /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundle_adjustment.cc:1147:20: error: ‘QuaternionParameterization’ in namespace ‘ceres’ does not name a type 1147 | new ceres::QuaternionParameterization; | ^~~~~~ /home/lichao/Documents/NerfingMVS/colmap/src/optim/bundleadjustment.cc:1148:15: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? 1148 | problem->SetParameterization(qvec_data, quaternion_parameterization); | ^~~~~~~ | SetParameterLowerBound make[2]: [src/CMakeFiles/colmap.dir/build.make:661: src/CMakeFiles/colmap.dir/estimators/pose.cc.o] Error 1 make[2]: Waiting for unfinished jobs.... make[2]: [src/CMakeFiles/colmap.dir/build.make:882: src/CMakeFiles/colmap.dir/optim/bundle_adjustment.cc.o] Error 1 make[1]: [CMakeFiles/Makefile2:858: src/CMakeFiles/colmap.dir/all] Error 2 make: *** [Makefile:149: all] Error 2

I hope to receive your reply! THX

xiaoyudanaa commented 2 years ago

加个微信,我也在弄这个,讨论一下:Weafree

DanielLiking commented 1 year ago

@weiyithu

weiyithu commented 1 year ago

Sorry, I forget to responce. It seems that your ceres version is not right. You can try to install ceres 2.0.0 from googlesource.

DanielLiking commented 1 year ago

okay I figured it out!THX