Forum

Author Topic: Depth Filter Advice  (Read 16869 times)

ArnauCM

  • Newbie
  • *
  • Posts: 38
    • View Profile
Depth Filter Advice
« on: May 04, 2018, 09:07:48 PM »
Hi community,

I've got this project where we try to model vegetation to get height as much accurate as we can. The pics are just 8MPx each but there is more than 90% overlap. However there is a lot of detail. You can see pics attached. So:

- I managed to get 1073 pics aligned with over 1,3M Tie Points.
- I run the Dense Cloud Point in Medium with Depth filter disabled. Also, the bounding box got moved at some point and I didn't realised and I end up having lots of points under the floor.

So, two questions arise:

- If I run the dense cloud point again with the bounding box correctly aligned to the floor, will all those underfloor points be fitted over the floor, and by so, I will get more detail?

- As you read, I run the DCP with depth filter disabled. If I set it to Mild, do you think I will lose some heigh detail? There are small branches on the top that might get cut by the filter?

So... what do you think? Thanks in advance!

SAV

  • Hero Member
  • *****
  • Posts: 710
    • View Profile
Re: Depth Filter Advice
« Reply #1 on: May 07, 2018, 06:44:50 AM »
Hi ArnauCM,

Quote
- If I run the dense cloud point again with the bounding box correctly aligned to the floor, will all those underfloor points be fitted over the floor, and by so, I will get more detail?

The underfloor points will simply be 'cut off' by the bounding box, not fitted.


Quote
- As you read, I run the DCP with depth filter disabled. If I set it to Mild, do you think I will lose some heigh detail? There are small branches on the top that might get cut by the filter?

Yes, you you will probably loose some detail then. But are these 'details' really features or just 'reconstruction artefacts'? I would use MILD depth filtering.


Regarding your 'underfloor points'. There are A LOT of them, which might indicate that there is some issue with your dataset, image alignment and/or processing settings. Have you only used NADIR imagery? Was there a lot of 'vegetation movement' (e.g., due to wind)? What about the image quality?

Maybe you can share the processing report ....

All the best.

Regards,
SAV

ArnauCM

  • Newbie
  • *
  • Posts: 38
    • View Profile
Re: Depth Filter Advice
« Reply #2 on: May 08, 2018, 04:47:12 PM »
Hi SAV,

As always, thanks for your help.

Indeed it was a very windy day, with winds of about 8m/s... moreover, the pics are in fact frames from a 4K video, so not really good quality images. On top of it, pics have no GPS data, so it was all relaying on Generic. Accounting all of this, I find quite amazing that photoscan could align 100% of the more than thousand images.

We are now in the middle of the Dense Cloud Point Generation. It has been 3 days 12h so far and 54%. Lets see if we can have it by the end of the week!

Thanks again SAV

JMR

  • Hero Member
  • *****
  • Posts: 504
    • View Profile
Re: Depth Filter Advice
« Reply #3 on: May 09, 2018, 02:07:30 AM »
Hello, Arnau.
It is a common assumption that the high overlap is somehow good for detail... and it's not. using too much overlap (and for me that's anything over 80%) usually causes more noise in ground and less accurate 3D data (well, to be more precise, this is generally true unless photos are convergent on the same area; only in this case could be perfectly fine to use even 100% overlap).
High overlap seems to be a good plan when one needs to make sure that a sufficient number of ground points can be "seen" from 2 or more camera locations... so dense forest seems to be that case when you want populated ground points class. But is NOT a good plan.
In this case it is better to use slightly oblique shots and/or cross pattern flight to get better sight of the ground rather than to use an exaggerated overlap. In addition, exaggerated overlap carries another problem which you are facing now... too much images to process.
So my recommendation would be to extract less frames from your video, and apply at least mild filter, as SAV is correctly advising. If you want to make a good estimation of the tree crown height, I would try to add manual tie points (markers without coordinates) by picking the very tip of each tree in their extreme positions along a pass. I mean, pinning it in the first photo it appears close to the photo frame, and the same in the last one just before it gets out of the camera field of view.
If you do this operation a number of times, you can infer the amount by which you could correct the value of the peaks that result from the analysis of a dense filtered cloud, which typically underestimates the actual height of the trees.
Best,
GEOBIT
« Last Edit: May 09, 2018, 02:09:26 AM by JMR »

SAV

  • Hero Member
  • *****
  • Posts: 710
    • View Profile
Re: Depth Filter Advice
« Reply #4 on: May 09, 2018, 08:42:31 AM »
Hi ArnauCM,

Yep, quite impressive the performance of PhotoScan even on such a low quality dataset.

I recommend to compute your dense point cloud at MEDIUM or even LOW quality settings due to the low quality of your dataset. Processing it at HIGH or ULTRA probably won't deliver better results .... and you would not have to wait 3 days and 12 hours to get to 54%  ;)

Because you are dealing with 4k video footage, the 'rolling shutter issue' will also add to the overall SfM MVS error budget.

As mentioned by JMR, I would also recommend to change your survey layout to a double grid (perpendicular flight lines) with slightly oblique imagery (convergent imaging geometry, as suggested by James et al 2014). If you use a mission planning app such as MapPilot or Pix4Dcapture, it will allow you to adjust the camera orientation.
As correctly stated by JMR, more image overlap does not necessarily lead to better/more accurate photogrammetric reconstructions.

Regarding tree height measurements. You could export the dense point cloud as LAZ file and then open it with CloudCompare (free, open-source). In CloudCompare, first get rid of the underfloor points (either manually or with a Noise Filter) and then segment the cloud into smaller point clouds on a tree by tree basis. Then simply extract the maximum and minimum Z values for each segmented cloud/tree and calculate the difference (= tree height). I guess this should deliver more consistent/reliable results than simply using the 'measure distance' tool on the point cloud.

All the best and keep us updated about your progress.

Regards,
SAV


« Last Edit: May 09, 2018, 08:46:19 AM by SAV »

ArnauCM

  • Newbie
  • *
  • Posts: 38
    • View Profile
Re: Depth Filter Advice
« Reply #5 on: May 09, 2018, 05:52:46 PM »
Hi @SAV and @JMR,

Thank you very much for your answers and advices. Really appreciate them!

In this case it is better to use slightly oblique shots and/or cross pattern flight to get better sight of the ground rather than to use an exaggerated overlap. In addition, exaggerated overlap carries another problem which you are facing now... too much images to process.

Yeah, that's actually what we did. We flought twice, first vertically at 25m and then horizontally at 30m, trying to follow a grid pattern.

I recommend to compute your dense point cloud at MEDIUM or even LOW quality settings due to the low quality of your dataset. Processing it at HIGH or ULTRA probably won't deliver better results .... and you would not have to wait 3 days and 12 hours to get to 54%  ;)

For the results... well that's sad to hear  :(. Now I am not going to stop it, though. Just let it finish and see what the results are. I'll post a result if you want.

If you want to make a good estimation of the tree crown height, I would try to add manual tie points (markers without coordinates) by picking the very tip of each tree in their extreme positions along a pass. I mean, pinning it in the first photo it appears close to the photo frame, and the same in the last one just before it gets out of the camera field of view.
If you do this operation a number of times, you can infer the amount by which you could correct the value of the peaks that result from the analysis of a dense filtered cloud, which typically underestimates the actual height of the trees.

I did that too. Despite of having just 5 georeferenced points I manually pinned up to 20 markers to make sure it was as accurate and compact as possible.

As mentioned by JMR, I would also recommend to change your survey layout to a double grid (perpendicular flight lines) with slightly oblique imagery (convergent imaging geometry, as suggested by James et al 2014).

That is something I didn't know. Could you tell me the name of the paper :)?

Good thing is that it was a test flight to test and adjust flight patterns, and also see what AgiSoft was capable of. For the real data we will take 24MPx, georeferenced pictures (not video) with a lot more georeferenced GCPs. I'll have a look at the paper and see how oblique should the camera be. If you have any early advice though, I will gladly take it.

Thanks a lot!

SAV

  • Hero Member
  • *****
  • Posts: 710
    • View Profile
Re: Depth Filter Advice
« Reply #6 on: May 10, 2018, 05:28:19 AM »
Hi ArnauCM,

Quote
For the results... well that's sad to hear  :(. Now I am not going to stop it, though. Just let it finish and see what the results are. I'll post a result if you want.

Yes, would be great to see how it turned out. But I guess that there will be a lot of noise in your dense point cloud.

Quote
That is something I didn't know. Could you tell me the name of the paper :)?

That's the paper I was referring to:
James, M. R., & Robson, S. (2014). Mitigating systematic error in topographic models derived from UAV and ground-based image networks. Earth Surface Processes and Landforms, 39(10), 1413–1420. https://doi.org/10.1002/esp.3609

Regarding the obliquity of the imagery. You don't want to see any horizon on the imagery, hence the camera should be oriented 10-35 degrees from nadir.

Moreover, I suggest to fly at a higher altitude especially if you are using a high resolution camera now (24MP). This will reduce your overall resolution (increase the GSD), but will most likely result in a better point cloud because you are dealing with 'slightly moving' natural objects. For example, if you have a GSD of 5cm/pixel, small movements of leaves/twigs are all happening 'within that pixel', hence feature detection and image matching will still be able to identify and match them. If the movements/changes were larger, then the keypoints won't be matched but rejected by the SfM algorithms.

One last advice. Pick a day (or time of the day) where the forecasted wind speed is low :)

Have you tried to extract height measurements using CloudCompare?

All the best.

Regards,
SAV
« Last Edit: May 10, 2018, 05:30:47 AM by SAV »

ArnauCM

  • Newbie
  • *
  • Posts: 38
    • View Profile
Re: Depth Filter Advice
« Reply #7 on: May 10, 2018, 09:23:22 PM »
Hi ArnauCM,

Yes, would be great to see how it turned out. But I guess that there will be a lot of noise in your dense point cloud.

Well, it finished! After 120h. Now I have 177M Points and I am building the mesh. It was all done in a MBPro with just 16GB RAM... I am pretty impressed it didn't run out of memory, even if when checking Activity Monitor it was showing AgiSoft consuming up to 60GB of RAM.

That's the paper I was referring to:
James, M. R., & Robson, S. (2014). Mitigating systematic error in topographic models derived from UAV and ground-based image networks. Earth Surface Processes and Landforms, 39(10), 1413–1420. https://doi.org/10.1002/esp.3609

Thank you very much! I will have a look at it :)

Have you tried to extract height measurements using CloudCompare?

How is that different/better than the DEM built through AgiSoft?

Thanks again SAV :)