3 ms·
Congratulations, this looks intriguing! I am somewhat familiar with Ceres and GTSAM. Can you explain how it differs from these? What are the key features of Sy
by rsp1984 4y ago
Congratulations, this looks intriguing!
I am somewhat familiar with Ceres and GTSAM. Can you explain how it differs from these? What are the key features of SymForce that make it stand out?
- haykmartiros 4y agoThank you! At my company we've used GTSAM extensively in production (and the creator of GTSAM was our chief scientist). Much of the math and APIs of SymForce were inspired by GTSAM. Ceres less so but we had someone who has used Ceres professionally implement the experiment in the paper. The main comparison is that in SymForce one writes symbolic expressions in Python, and generates runtime code. In GTSAM and Ceres you write C++ code. This is really nice for exploration and code maintainability. SymForce also has a powerful system of automatically competing tangent space Jacobians that is more elegant and powerful than what the alternatives offer. Finally, SymForce has the benefit of a fresh implementation using the other libraries as a reference, and I think we were able to get better performance by greatly improving memory access patterns and designing functional APIs with solid abstractions (in the C++ optimization library). You can see this with the benchmarks described in detail in the paper.