<div dir="ltr">Ok -- this is deep. So this approach reduces the factorial load independently of geography, with the exception that the subset locations are chosen by geography?<div><br></div><div>Thanks,</div><div>Best,</div><div>Steve</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 15, 2015 at 11:00 PM, Alex Mandel <span dir="ltr"><<a href="mailto:tech_dev@wildintellect.com" target="_blank">tech_dev@wildintellect.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">So 2 days in to running ~1000 images I started pondering how to speed up<br>
the point matching step.<br>
<br>
Here's the basic idea, split the list of images into related chunks,<br>
process those chunks and then process a slice of overlap from 2 adjacent<br>
chunks.<br>
<br>
This nice part is that this idea will work for either time/numeric<br>
ordered or GeoExif grouping.<br>
<br>
Here's the basic idea, take a number of photos that is reasonable to<br>
process like 100. Now take your set of photos, 1000 and divide it by<br>
100. So you first do 10 sets of a 100. Then you take 1/2 or 1/3 or 1/4<br>
of two adjacent sets. So the last 50 of set 1 and first 50 of set 2 (for<br>
1/2), that gives you 9 additional sets of 100 but you only have to do<br>
1/2 of the matches, only the ones that have a photo from a different<br>
original set.<br>
<br>
Here's the math:<br>
n!/(r!(n-r)!)<br>
<a href="http://www.calculatorsoup.com/calculators/discretemathematics/combinations.php" target="_blank">http://www.calculatorsoup.com/calculators/discretemathematics/combinations.php</a><br>
<br>
n is number of photos in a set<br>
r is 2, number of photos in a pair<br>
<br>
100 Photos is 4950 pairs. If you do just 1000 you get 499,500 pairs to<br>
check. If you do what I said above, groups of 100, with 50% overlap you<br>
get 71,775 pairs to check ((10*4950)+9(4950/2))<br>
<br>
Now for the fancy part, the dumb application of this to GeoExif is to<br>
take the bbox of all the photos, take the longer side of the box and<br>
divide it by 10, so you make 10 new rectangles and run each of those as<br>
a set, then run the 9 overlap regions. Long term we can get smarter with<br>
how we pick the regions to ensure ~100 images per region.<br>
<br>
So steps to accomplish this,<br>
1. write a short script to make lists of photos in each set to run.<br>
2. figure out how to send the lists to the point matching tool<br>
2a. figure out how to make the point matching tool skip matches done in<br>
a previous set.<br>
3. Continue from there as usual.<br>
<br>
Feedback anyone?<br>
<br>
Thanks,<br>
Alex<br>
_______________________________________________<br>
OpenDroneMap-dev mailing list<br>
<a href="mailto:OpenDroneMap-dev@lists.osgeo.org">OpenDroneMap-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/cgi-bin/mailman/listinfo/opendronemap-dev" target="_blank">http://lists.osgeo.org/cgi-bin/mailman/listinfo/opendronemap-dev</a><br>
</blockquote></div><br></div>