GithubHelp home page GithubHelp logo

Comments (14)

sac3g15 avatar sac3g15 commented on June 12, 2024 1

Both,

This could be a result of the misalignment (or misregistration) between L8 and S2 images which vary geographically and can exceed 38 meters. It is mainly due to the residual geolocation errors in the Landsat-8 framework which based upon the Global Land Survey images. I am currently establishing a method via GEE to co-register images before they are downloaded using overlapping L8 and S2 images around the same time period. GEE has displace() and displacement() functions which are used to displace or wrap (“rubber-sheet” technique) the L8 image aligned with the S2 image. Landsat images should be aligned correctly, therefore applying the offset image to the rest of the Landsat images in the area can be assumed constant, Having said this, the resultant L8 co-registered can still be misaligned to the S2 image, as the offset image can change depending on what time /area is used in the displacement function. @kvos, have you thought about this issue?

from coastsat.

kvos avatar kvos commented on June 12, 2024

hi tony, yeah it doesn't look good at all... could you please share some of the images in the folder \data\sitename\jpg_files\detection just so I can see what is happening with the shoreline detection algorithm

from coastsat.

tonycoppola avatar tonycoppola commented on June 12, 2024

2018-07-21-09-28-04_L7
2018-07-21-09-34-01_S2
2018-07-29-09-28-19_L8
2018-07-29-09-49-18_S2
2018-08-06-09-27-47_L7
2018-08-07-09-22-14_L8
2018-08-07-09-22-38_L8
2018-08-08-09-46-45_S2
2018-08-10-09-37-42_S2
2018-08-13-09-40-25_S2
2018-07-16-09-32-20_S2
2018-07-19-09-44-30_S2

from coastsat.

tonycoppola avatar tonycoppola commented on June 12, 2024

Pescoluse beach: Lat: 39.835899°; Long: 18.254155°

from coastsat.

kvos avatar kvos commented on June 12, 2024

So the detection on L7 and L8 seems to be ok (this is as good as it gets). Remember, the horizontal accuracy of this method is ~10 m so you will only be able to capture shoreline changes of the order of tens of meters. You may want to check in the output variable what the georeferencing accuracy is for each image, if the georeferencing accuracy is too large, drop those images.

For S2 images georeferencing accuracy is not available. But in your case it looks like you have an strong offshore bias with the S2 imagery. What is happening is that it's very shallow and clear water so it tends to map the shoreline offshore that where it is. There are no obvious parameters that you can change to fix this bias unfortunately...

from coastsat.

tonycoppola avatar tonycoppola commented on June 12, 2024
  1. How can I check n the output variable what the georeferencing accuracy is for each image?
  2. It's true, the sea is flat and the water is very clean (satellite images were taken in the summer). Satellite images whith breaking water (winter period) can help?

from coastsat.

kvos avatar kvos commented on June 12, 2024
  1. so if you are using QGIS or other GIS software, it is in the attributes of each shoreline, the attribute is called geoaccuracy. You can also open it with Python in the output variable which is returned after mapping the shorelines (also saved as sitename_output.pkl), you can look at output['geoaccuracy'] and this will return the georefencing accuracy for all the images corresponding to the shorelines mapped. For S2 image it will just show 0 or 1 (just a pass/fail flag). you can also check which shoreline comes from which satellite with output['satname'].
  2. Wave breaking will definitely help as it adds contrast at the interface between sand and water. If you have this problem with all the S2 images, there is also another tweak that we could try, are you working on a fork of coastsat?

I would also suggest one more thing, try to make your polygon bigger, like 10 km^2, so that you are also capturing deep water and there are sufficient sand and water pixels for the detection algorithm.

from coastsat.

kvos avatar kvos commented on June 12, 2024

Just reopening the issue about the S2 offshore bias in shoreline detection in Italy (closed issue #72).

from coastsat.

kvos avatar kvos commented on June 12, 2024

hi @tonycoppola ,
Did you use the same image (same .tif file) for your analysis in QGIS?
The NDVI is good because, as you mentioned, both bands come at the same resolution but I found that the MNDWI is more robust as it is less affected by the presence of white-water on the image (mostly tested along exposed open beaches). At Narrabeen (Australia) for example we obtain better accuracy with MNDWI than NDWI. But it is possible that the interpolation may cause a bias at sites with very clear water. I will have a look to see what is happening with the threshold.

from coastsat.

tonycoppola avatar tonycoppola commented on June 12, 2024

I downloaded directly from https://scihub.copernicus.eu/dhus/#/home or with QGIS plugin called SCP (semi-automatic classification plugin) the S2 images with the same date as those processed by Coastsat.

from coastsat.

tonycoppola avatar tonycoppola commented on June 12, 2024

Hi @kvos ,
I did a test on your beach, as you can see the results for Sentinel2 images are very similar.
With Landsat8 images, however, it seems that the results obtained using the NDWI index are better.
narrabeen
narrabeen_L8
narrabeen_anomalia

from coastsat.

tonycoppola avatar tonycoppola commented on June 12, 2024

I leave you the shoreline files
shoreline_NDWI_method.zip

from coastsat.

kvos avatar kvos commented on June 12, 2024

hi @sac3g15 ,

I agree, georeferencing errors are surely an issue when using the medium resolution imagery. Landsat products provide a georeferencing root-mean-squarred-error with each image, which can be used to discard the images that are badly georeferenced (this is stored in CoastSat). For Sentinel-2 Leve-1C products they only provide a geometric_quality flag which is pass or fail. You can discard the ones that failed the geometric test but from what I read an image will fail the test only if RMSE error is above 20m, which is huge. We are currently looking into using the Arosics library (https://pypi.org/project/arosics/) which is epic, to co-register the images prior to shoreline detection. However, I don't have much time for development these days as I have to finish my thesis so it would be great if someone else could contribute and implement the co-registration 🥇 !

On the offshore bias @tonycoppola , I just pushed an update to CoastSat and now it is possible to adjust the shoreline detections, by moving the threshold on the MNDWI see the example below.

Adjust shorelines

I think this could help to understand better what is causing the offshore bias, could be georeferencing but maybe also a detection issue in very clear calm water.

cheers,
Kilian

from coastsat.

kvos avatar kvos commented on June 12, 2024

I hope that the new release of CoastSat (v2.0) should fix this issue of the bias so I will close this issue for the time being.

from coastsat.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.