Skip to content

Commit

Permalink
Update 4_bundle_adjustment.ipynb
Browse files Browse the repository at this point in the history
Fix spelling error
  • Loading branch information
maxcrous authored Mar 28, 2022
1 parent 8777d5c commit a3a14da
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion 4_bundle_adjustment.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
"\n",
"**Levenberg-Marquardt** is often chosen in the bundle adjustment literature (see implementation and notes in notebook 2). This is because:\n",
"* The dampening factor allows balancing between robust gradient descent and fast least-sqaures updates\n",
"* There are many sparse implementations available for problems with sparse jacobians\n",
"* There are many sparse implementations available for problems with sparse Jacobians\n",
"\n",
"Why would a sparse implementation be important? Well, applying Levenberg-Marquardt directly to large scenes with many points and cameras would be extremely computationally expensive. Take for example the derivative of the reprojection error w.r.t. a 3D point. Assume this derivative has to be calculated for $100$ thousand points. Now assume that there are $100$ cameras. That means $30$ million derivatives that need to be calculated at each optimization step. Most of these derivatives will be zero, as not all points will be observed by all cameras. Operating on these zeros and keeping them in memory is wasteful. The solution is a sparse implementation. The design of such a sparse algorithm is out of this notebook's scope. For a good summary of such a method, see the paper [SBA: A Software Package for Generic Sparse Bundle Adjustment](http://users.ics.forth.gr/~lourakis/sba/sba-toms.pdf) by Manolis Lourakis and Antonis Argyros with code available [here](https://github.com/balintfodor/sba)."
]
Expand Down

0 comments on commit a3a14da

Please sign in to comment.