OpenDroneMap / NodeMICMAC

A Lightweight REST API to Access MICMAC Photogrammetry and SFM Engine.
https://opendronemap.org/nodemicmac/
GNU General Public License v3.0
78 stars 20 forks source link

Global seam leveling #17

Open smathermather opened 5 years ago

smathermather commented 5 years ago

When processing the OpenDroneMap Aukerman example we get some issue with global seam leveling (ht this unrelated issue: https://github.com/dronemapper-io/NodeMICMAC/issues/15).

ODM version: image

NodeMICMAC version: image

I have seen this with the reference NodeMICMAC dataset, though to a lesser extent: image

This is a similar issue to what we saw in ODM here: https://github.com/OpenDroneMap/ODM/issues/801

Fixed in mvs-texturing here: https://github.com/OpenDroneMap/mvs-texturing/pull/3 https://github.com/OpenDroneMap/mvs-texturing/pull/3/commits/7c01bca811467679f535ef292f6393e256e1acec

dronemapper-io commented 5 years ago

Thanks. Yes, currently there isn't a seamline feathering option in stock MicMac so that radiometric balance routine tries its best to blend all tiles. It is more apparently when you have camera or lighting issues. White balance on 'Auto` really causes problems. Definitely something to improve on. JP

smathermather commented 5 years ago

Ah, makes sense. That also explains the issues over low-texture areas like the water, which I wasn't sure whether to include with this issue.

dronemapper-io commented 5 years ago

Implementing a seamline feather routine would solve the issue. There are some additional tweaks to the Tawny command and radiometric balancing that can also improve results.

pierotofy commented 5 years ago

There's an interesting overview of this in the MicMac manual (page 46):

image

I wonder what happens if you pass DEq=1 DegRapXY=[2,0] to Tawny.

https://raw.githubusercontent.com/micmacIGN/Documentation/master/DocMicMac.pdf

dronemapper-io commented 5 years ago

Correct. Yes additional Tawny parameters can improve the results. One can also create a custom .xml and feed this into Porto with a larger blending window / etc.

kikislater commented 5 years ago

I got better results with this in Malt : DefCor=0.0

Then this in Tawny : DEq=1 DegRapXY=[4,1] SzV=3 CorThr=0.6 NbPerIm=5e4

dronemapper-io commented 5 years ago

Try DEq=1 DegRapXY=[4,4] SzV=75 NbPerIm=5e4

DefCor=0 will force MICMAC to correlate every pixel, even if it is a hidden point. It is good in some cases. Thanks

kikislater commented 5 years ago

Try DEq=1 DegRapXY=[4,4] SzV=75 NbPerIm=5e4

DefCor=0 will force MICMAC to correlate every pixel, even if it is a hidden point. It is good in some cases. Thanks

Nice feebback, it was missing on MicMac I think ! Never tried this level of size window ... May be it needs a test with screenshots

dronemapper-io commented 5 years ago

Usually the ortho blending gets the best results when you run MICMAC to the highest zoom level (aka native resolution) as the ortho tiles are draped onto the DEM via nadir index score. Also, if the original raw imagery is from a sub-par camera or has white balance issues -- results will be bad.

Ciaran1981 commented 4 years ago

Hi Folks,

I am rather late to this conversation, but a while back I adapted the seam-line feathering to multi-band if anyone is interested in my own python micmac lib - though the micmac testlib func is a bit slow. https://ciaran1981.github.io/pycmac/build/html/pycmac.html#dense_match.feather

Ossim seems to perform better at this task in my opinion however....