Agisoft Metashape

Agisoft Metashape => Feature Requests => Topic started by: James on March 26, 2013, 06:13:30 PM

Title: Marker Refinement
Post by: James on March 26, 2013, 06:13:30 PM
Not so much a request as an ill thought out idea.

When you specify a marker in an image(s), it's position is estimated in the remaining images (presumably) based solely on internal and external camera parameters.

If the alignment/calibration is anything but perfect then there will be errors in these estimated marker positions and they will require manual intervention to correct.

Would it be possible to add an image based constraint to the marker estimation, so it uses the camera parameters for the initial estimation, and then refines it based on image content?

I imagine this could potentially be more accurate than manual placement, especially on planar surfaces where markers are unlikely to be occluded. In these cases, a low quality model could be used to predict the image transformation required to match the markers.

It should probably be disabled by default and maybe just attached to a keyboard shortcut so you can look at it and hit a key if you think an image based refinement would be useful/better than doing it yourself. Another keyboard shortcut to accept the estimated position as valid, and another to skip to the next/previous image in which the selected marker position is estimated would also be nice if nothing else!

It may be necessary to specify a marker size (similar to camera tracking in Blender) so Photoscan knows the radius of the area to match, which could slow down the process rather than speed it up, but this could be tackled by using a click-drag motion to specify position and radius when the markers are initially defined. Depth maps could be used to calculate marker radius in subsequent images based on distance.

Thanks for listening to my brief spike in brain activity!
Title: Re: Marker Refinement
Post by: andyroo on March 30, 2013, 05:02:20 AM
I was just going to post something similar. I was thinking of a pretty simple (looking) marker refinement algorithm used in the Reigl TLS systems I've used - basically when you fine scan a target, the TLS algorithm pulls the bright returns it gets, assuming those are the target, and you specify a shape, and it determines the center.

In the case of Photoscan and SfM, IF you were using targets that had bilateral or radial symmetry you could probably refine just by isolating the highest intensity pixels around the hand-picked target area and looking for similar high(er) contrast pixels in the other photos as well.

For me this would only work for some GCPs. I use other "targets of opportunity" like the corners of stop stripes, or the centers of ends of parking stripes, etc. Those would still require manual refinement I think.
Title: Re: Marker Refinement
Post by: jedfrechette on March 30, 2013, 08:07:11 PM
Would it be possible to add an image based constraint to the marker estimation, so it uses the camera parameters for the initial estimation, and then refines it based on image content?

I think what you're after is sub-pixel blob & corner detection, which is pretty common in many computer vision applications. This has already been suggested in the other refining markers thread.

http://www.agisoft.ru/forum/index.php?topic=819.0