Author Topic: thoughts on "static feature" matching.  (Read 2312 times)


  • Sr. Member
  • ****
  • Posts: 440
    • View Profile
thoughts on "static feature" matching.
« on: January 30, 2014, 03:14:15 AM »
I almost posted this in feature requests.

Would it be possible to use georeferenced pointcloud sub-regions (little clouds around houses/intersections) to do a similar kind of alignment optimization that can be done after GCPs are entered? I recognize GCPs would still be needed, but here's what I am thinking:

I have large areas of my project where there are not many easy-to-identify features in aerial imagery, and when they are, I can't get good XYZ because either there is not much sky view for GPS or I will get run over, etc. These areas have only a few GCPs in a ~5km stretch - very bad ground control for my needs.

But there is a LiDAR flight (three of them over the last 5 years actually) and I have identified many areas along the route where there are good "static features" like buildings and road intersections, where very little changes over time.

I have clipped those static areas from the LiDAR point clouds and compared them, and they are exact matches (to within <5 cm vertical on roofs and roads, and I think better horizontally). I can use something like CloudCompare to do a rigid transformation to this LiDAR cloud, but it would be FANTASTIC if I could use little clips of LiDAR data as control points in this area.

 For example, if there is a clearing (not that great) or a house (better), then the LiDAR first return and PS pointclouds should have roughly the same shape. Some kind of least squares (bundle?) adjustment that holds the "good" dataset clip around the house/clearing static and optimizes camera positions to make the less-good dataset fit those would make it so I could produce sediment volume calculations for the active river channel where right now I have no ability to get vertical control except for briefly during low flows until the river washes my control points away.

It seems like this would have to be a step after GCPs, and maybe using a sparse (or sparser) cloud. Maybe even a separate tool, but I don't know how I would do it outside of PS and be able to do anything with camera positions.

Any thoughts? I was thinking of cross-posting in the VisualSFM or CMPMVS google groups to see if anyone else had ideas. But I am not sure if camera positions are exportable/importable between the different packages (and I have much better ATI cards than NVidia).