Giter Site home page Giter Site logo

aibluefisher / graphoptim Goto Github PK

View Code? Open in Web Editor NEW
143.0 143.0 21.0 14.05 MB

The official implementation of our CVPR 2021 paper - Hybrid Rotation Averaging: A Fast and Robust Rotation Averaging Approach

License: BSD 3-Clause "New" or "Revised" License

CMake 9.46% C++ 90.05% Shell 0.49%

graphoptim's People

Contributors

aibluefisher avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

graphoptim's Issues

rotation_estimator std::bad_alloc

@AIBluefisher
HI,when I run the rotation_estimator ,the error like this:
./build/bin/rotation_estimator --g2o_filename=./data/synthetic/20_2.g2o I0120 19:03:26.052269 18845 hybrid_rotation_estimator.cc:94] Estimating Rotations Using LagrangeDual terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc Aborted (core dumped)
also when I run the ./lagrange_dual_rotation_estimator_test
dual_rotation_estimator_test Running main() from gtest_main.cc [==========] Running 15 tests from 1 test case. [----------] Global test environment set-up. [----------] 15 tests from LagrangeDualRotationAveragingTest [ RUN ] LagrangeDualRotationAveragingTest.smallTestNoNoise WARNING: Logging before InitGoogleLogging() is written to STDERR I0120 19:07:51.680837 19045 lagrange_dual_rotation_estimator_test.cc:88] Estimating Global Orientations using Lagrange Dual... free(): invalid pointer Aborted (core dumped)

关于global_sfm分支application编译中colmap问题

作者你好,我按照你给的global_sfm步骤,已成功完成GraphOptim的编译安装,但是在编译application时遇到colmap版本问题,想请问一下作者使用的是哪个版本的colmap。谢谢。

代码中是否有LIGT-PA的实现?

LIGT算法论文中有提到 rotation average 和LIGT完成后,会有一个PA(pose adjustment)的可选的过程,请问本代码中是不是并没有实现

COLMAP/Global SfM Support

It aims at using COLMAP as a multiview codebase, then using this library to estimate global camera poses.

使用官方colmap运行结果不一致

你好,我在使用官方colmap生成database信息并提供了relative poses后,然后用run_global_mapper.cc进行重建时,让系统输出camera.bin、images.bin和point3d.bin后用colmap gui查看发现位姿态结果和直接使用您的colmap配合run_global_mapper.cc进行重建输出的.bin文件展现的位姿结果不一样,请问有什么头绪吗?

Inputs of Translation Averaging Need Absolute Rotation of Each View and Relative Pose of Piar Views

Hi,
Thanks your great work!
There is a bug in your code:
Description:
Inputs of Translation Averaging Need Absolute Rotation of Each View and Relative Pose of View Pair ,
But in examples/position_estimator.cc: 56 view_graph.ReadG2OFile(g2o_filename);
you only convey relative rotation and relative translation.

So, the following codes need to be corrected:

edge.cc:
replace :
// node_t src = kInvalidNodeId;
// node_t dst = kInvalidNodeId;
with:
ImageNode src;
ImageNode dst;
and correct construction fun correspondingly,
view_graph.cc:
ViewGraph::ReadG2OFile, add absolute rotation to edge.src and edge.dst.
graph.inl:
correct AddEdge and AddNodes etc.
and some test functions.

OpenMVG related code in this repo

Thank you for releasing the code related to your paper.

I noticed that there are multiple files that are coming from OpenMVG code repository.

Topic This Repo OpenMVG
SVG https://github.com/AIBluefisher/GraphOptim/blob/main/src/graph/svg_drawer.h https://github.com/openMVG/openMVG/blob/develop/src/third_party/vectorGraphics/svgDrawer.hpp
triplet https://github.com/AIBluefisher/GraphOptim/blob/main/src/graph/triplet_extractor.h https://github.com/openMVG/openMVG/blob/develop/src/openMVG/graph/triplet_finder.hpp
ColorGradient https://github.com/AIBluefisher/GraphOptim/blob/main/src/graph/color_gradient.h https://github.com/openMVG/openMVG/blob/develop/src/openMVG/graphics/color_gradient.hpp
l1 solver https://github.com/AIBluefisher/GraphOptim/blob/main/src/solver/l1_solver.h https://github.com/openMVG/openMVG/blob/develop/src/openMVG/numeric/l1_solver_admm.hpp
...

There are also other files that have the same issue
https://github.com/AIBluefisher/GraphOptim/blob/main/src/util/alignment.h ...

There is also code from other repositories like THeiaSfM here https://github.com/sweeneychris/TheiaSfM/blob/master/src/theia/sfm/global_pose_estimation/least_unsquared_deviation_position_estimator.h
https://github.com/AIBluefisher/GraphOptim/blob/main/src/translation_averaging/lud_position_estimator.h

Please keep the initial copyright notice and respect the work that has been done by the open-source community before you.
Changing the name of the file is not enough to claim ownership of it.

I appreciate that you see the direct value of OpenMVG code and are leveraging it for other work, but the opensource community can thrive better if we support each other, and keep initial copyrights and licenses in the file we are reusing.

cc @laurentkneip

$VOC_TREE_PATH $MOST_SIMILAR_IMAGES_NUM

你好,小白问一下这两个参数分别指的是什么?第一个时词典路径还是指什么?需要是什么格式呢?后一个参数是随便设置吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.