Great work Matthias! Hopefully once things are cleaned up I can lure you back to work on fun stuff :)<br><br><div class="gmail_quote">On Fri, Aug 19, 2011 at 1:17 PM, Matthias Fauconneau <span dir="ltr">&lt;<a href="mailto:matthias.fauconneau@gmail.com">matthias.fauconneau@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi,<br>
<br>
We have affine tracking !<br>
<a href="http://download.blender.org/ftp/incoming/affine.avi" target="_blank">http://download.blender.org/ftp/incoming/affine.avi</a><br>
<br>
Complete formatted version of the report (with screenshots):<br>
 <a href="http://wiki.blender.org/index.php/User:Matthias.fauconneau/GSoC2011" target="_blank">http://wiki.blender.org/index.php/User:Matthias.fauconneau/GSoC2011</a><br>
<br>
=== Week 13: August 12 - August 20 ===<br>
<br>
* Lens distortion estimation.<br>
** Complete reference implementation.<br>
** Create and document a simple C interface.<br>
* &quot;Moravec&quot;(SAD) detector.<br>
** Detect features which are unlikely to drift.<br>
** Detect features similar to a given pattern.<br>
* Affine Tracking!<br>
** Support in Tracker API.<br>
** Support in Qt Tracker UI.<br>
** Implemented for SAD Tracker using coordinate descent.<br>
** Optimize integer pixel search.<br>
** Tweak coordinate descent.<br>
** Added regularization (area and condition number).<br>
* Add Laplace filter to be used to avoid failure from smooth lighting changes.<br>
* Improve UI.<br>
* Document API.<br>
<br>
The SAD detector is more suited to tracking since it try to choose<br>
patterns which are unlikely to drift by computing SAD with neighboring<br>
patches.<br>
It could be improved to better avoid edges.<br>
<br>
The SAD Tracker now supports full affine transforms (rotation,scale,skew).<br>
This was necessary to make tracking usable without adapting at each frame.<br>
Since there wasn&#39;t much time left for tracker improvements (the KLT<br>
tracker was good enough until recently), I implemented a simple<br>
brute-force solution:<br>
To optimize all 6 affine parameters, I use the coordinate descent method.<br>
While this made the tracking 10 times slower, there is much potential<br>
for optimization if ever necessary. In any case, the performance is<br>
still comparable to the slow pan only KLT tracker (10ms/marker).<br>
<br>
=== Later ===<br>
<br>
Blender will need to integrate straight line lens distortion<br>
estimation, image distortion/undistortion, make affine tracking<br>
interface easy to use and expose the laplace filter.<br>
<br>
Libmv will need to be refactored to remove all unused and unsupported parts.<br>
It should focus on its initial goal: structure from motion and<br>
multiview reconstruction.<br>
This simplification of libmv design will ease the maintenance, reduce<br>
compile time,<br>
decrease binary size, increase performance, and help attract contributors.<br>
<font color="#888888"><br>
--<br>
You received this message because you are subscribed to the Google Groups &quot;libmv-devel&quot; group.<br>
To post to this group, send email to <a href="mailto:libmv-devel@googlegroups.com">libmv-devel@googlegroups.com</a>.<br>
To unsubscribe from this group, send email to <a href="mailto:libmv-devel%2Bunsubscribe@googlegroups.com">libmv-devel+unsubscribe@googlegroups.com</a>.<br>
For more options, visit this group at <a href="http://groups.google.com/group/libmv-devel?hl=en" target="_blank">http://groups.google.com/group/libmv-devel?hl=en</a>.<br>
<br>
</font></blockquote></div><br>