Author Topic: How to detect "island alignments" in the set of photos  (Read 2426 times)


  • Jr. Member
  • **
  • Posts: 66
    • View Profile
How to detect "island alignments" in the set of photos
« on: June 10, 2016, 10:11:18 AM »
I am reconstructing generic complex objects from >10.000 images at a time. These are deep sea hydrothermal vents, the approach is similar to body scanning but of course far more cumbersome and technically restricted. Source imagery is interlaced video stills, don't get me started.

Photoscan aligns most of the images, but it builds "island" solutions that are aligned by the camera poses I provide, but have no connection to the rest of the model because otherwise Photoscan would recognize and properly align them. In fact, I end up with multiple, slightly shifted "ghosts" of the same facade from multiple passes. The surveys are so complicated that it is extremely hard to make out which batch of cameras is responsible for which "ghost" facade.

So I usually isolate these island solutions into separate chunks, create a sparse model, set points, align chunks, merge chunks and realign the entire set.


1. Is there a way in photoscan to highlight and select such disconnected Island solutions? Does someone have an idea for a python script that checks for tie points between images and throws them into image groups?

2. Is there a better way up front to make sure the passes are recognized amongst each other? Please bear in mind: no GPS, no man made objects, thousands of images, so manual control point placement is not really an option.

In the attached image, you can see the actual facade in the center and a darker, sparser ghost to the left of it.



  • Full Member
  • ***
  • Posts: 107
    • View Profile
Re: How to detect "island alignments" in the set of photos
« Reply #1 on: December 20, 2018, 10:46:02 AM »
Hey Tom,

Seems like we're facing a lot of the same issues - I also work on underwater (sometimes interlaced video) data so that might explain it :)

Just want to bump this post because I'd also be interested in a solution. Not only in case of "ghosts" in the same chunk (within same alignment), but also when PhotoScan fails to align all images, but can in fact produce various different separate alignments from other images in the same image set.

To clarify: I often have a dataset of let's say 1500 relatively poor images. PhotoScan might only align 500, and then fail to align the others. I then have to duplicate the chunk, reset the alignment, pick the images which PhotoScan failed to align, choose "align selected cameras" and then often the software does manage to create a second (separate) alignment from another let's say 500 images. Repeat again, reset camera alignment, choose the remaining 500 images which so far failed to align, "align selected cameras" and voila, you now have 3 chunks each containing a large part of your scene, which you can start to merge using markers or whatever.

This is a bit of a silly tedious process given that I have to manually duplicate each chunk, reset cameras, re-run alignment on a subset of images, in order to see whether or not PhotoScan can somehow manage to align a second chunk of images in the same dataset. The example above is still OK, but if you have dozens of chunks based on 15 000+ images it gets a bit ridiculous.

By contrast software like RealityCapture just finishes alignment of your single dataset and then gives you 3 different chunks which contain the 3 different alignments it managed to produce from your data.

If anyone has a script that could do something similar that would be amazing - otherwise I'll submit a couple of feature requests later this week.