coolzhao / Geo-SAM

A QGIS plugin tool using Segment Anything Model (SAM) to accelerate segmenting or delineating landforms in geospatial raster images.
MIT License
199 stars 26 forks source link

Feedbacks #26

Open shizurumaya opened 7 months ago

shizurumaya commented 7 months ago

Hello,

I have started using this GitHub in production. And it's a honey! It works very well :) I have reviewed the GitHub repositories that implement SAM in QGIS. And this one is, for me, the best. It is designed for productivity.

Here are some feedback:

I find that the top bar takes up too much space. Especially with the texts "Add points", "Add BBox, "output shapefile (Append)"... A more concise version on one or two lines would be better. It takes up space on the main window and is not comfortable. Maybe you could add an option not to display these texts?

Finally, the fact that large areas have to be done in several times is not so bad. SAM becomes underperforming when the areas are extended. And I prefer to process them piece by piece with the rectangle tool. That said, if you have a strategy to create a surface over several patches at once, I would be curious to know which one. I reduced the resolution of my raster by a factor of 8 and it works well.

I don't know how relevant it is, but several GitHub repositories implement groundDinov2 + SAM. Have you ever considered adding this workflow in the future ?

Best, Xavier

Fanchengyan commented 7 months ago

Hi @shizurumaya ,

Thank you for your feedback. In fact, we considered these issues during the design of this plugin. The tips below may be helpful for your work:

  1. Actually, the Geo SAM Tool is a QGIS widget, which means you can drag it to any corner of QGIS, or even directly drag it to a second monitor, and work with it only using shortcuts: https://geo-sam.readthedocs.io/en/latest/Usage/segmentation.html#shortcuts.
  2. You can collapse the second row by clicking the small triangle in the middle on the left side of the tool, this may be more helpful for you.

image

  1. As for the strategy of handling large objects, currently we recommend reducing the spatial resolution. We designed a Encoder Copilot to help you select the optimal resolution interactively: doc: https://geo-sam.readthedocs.io/en/latest/Usage/copilot.html And YouTube Demo: https://www.youtube.com/watch?v=NWemi3xcCd0 Besides, we have a preliminary idea to improve the operation strategy without reducing the resolution, by directly identifying particularly large objects through the bbox, but we have been quite busy lately and have not had time to verify if it will work.

  2. We have not paid attention to GroundingDINO, but we will consider adding these excellent models, or even fine-tuning SAM with our own data. Unfortunately, we have been extremely busy recently, and have not planned a specific implementation timeline yet. Of course, we welcome any contributions to help further develop these capabilities.