Input: Tiles T = {t1, t2, . . ., tn} with ti = (ci, si, di) consisting of three images |
Nominal positions P = {p1, p2, . . ., pn} |
Output: Transformations between images |
Calculate ORB keypoints and descriptors of all tiles |
Associate nominally close tiles |
while Still an unaligned image do
|
Pick random unaligned tile and consider aligned |
while aligned a tile on previous iteration do
|
for src ∈ unmatchedImages do
|
for dst ∈ nominallyClose(src) ∩ matchedImages do
|
Compare src and dst descriptors using LSH |
Estimate transformation, and inliers using RANSAC, saving result |
if #inliers > 50 then
|
▹ Translation is good enough |
Save transformation from src to dst |
Exit for loop |
if best #inliers > 10 then
|
▹ Best translation is good enough |
Save transformation from src to its best match |