From 102c4a4dfbaf687a135348a7115393f1470b7c2c Mon Sep 17 00:00:00 2001 From: Constantin Pape Date: Wed, 17 Jan 2024 22:09:23 +0100 Subject: [PATCH] Update to new finetuned models (#326) --- doc/finetuned_models.md | 36 ++++++++++---- doc/images/model-type-selector.png | Bin 62733 -> 132381 bytes examples/annotator_2d.py | 21 ++++---- examples/annotator_3d.py | 27 ++++++----- examples/annotator_tracking.py | 11 ++--- examples/annotator_with_custom_model.py | 21 +++++++- examples/image_series_annotator.py | 7 ++- micro_sam/util.py | 30 ++++++------ scripts/.gitignore | 2 + scripts/export_models_for_upload.py | 62 ++++++++++++++++++++++++ 10 files changed, 157 insertions(+), 60 deletions(-) create mode 100644 scripts/.gitignore create mode 100644 scripts/export_models_for_upload.py diff --git a/doc/finetuned_models.md b/doc/finetuned_models.md index ceedfc71..7ed52384 100644 --- a/doc/finetuned_models.md +++ b/doc/finetuned_models.md @@ -1,13 +1,14 @@ # Finetuned models -We provide models that were finetuned on microscopy data using `micro_sam.training`. They are hosted on zenodo. We currently offer the following models: +In addition to the original Segment anything models, we provide models that finetuned on microscopy data using the functionality from `micro_sam.training`. +The models are hosted on zenodo. We currently offer the following models: - `vit_h`: Default Segment Anything model with vit-h backbone. - `vit_l`: Default Segment Anything model with vit-l backbone. - `vit_b`: Default Segment Anything model with vit-b backbone. -- `vit_h_lm`: Finetuned Segment Anything model for cells and nuclei in light microscopy data with vit-h backbone. +- `vit_t`: Segment Anything model with vit-tiny backbone. From the [mobile sam publication](https://arxiv.org/abs/2306.14289). - `vit_b_lm`: Finetuned Segment Anything model for cells and nuclei in light microscopy data with vit-b backbone. -- `vit_h_em`: Finetuned Segment Anything model for neurites and cells in electron microscopy data with vit-h backbone. -- `vit_b_em`: Finetuned Segment Anything model for neurites and cells in electron microscopy data with vit-b backbone. +- `vit_b_em_organelles`: Finetuned Segment Anything model for mitochodria and nuclei in electron microscopy data with vit-b backbone. +- `vit_b_em_boundaries`: Finetuned Segment Anything model for neurites and cells in electron microscopy data with vit-b backbone. See the two figures below of the improvements through the finetuned model for LM and EM data. @@ -20,17 +21,32 @@ You can select which of the models is used in the annotation tools by selecting To use a specific model in the python library you need to pass the corresponding name as value to the `model_type` parameter exposed by all relevant functions. -See for example the [2d annotator example](https://github.com/computational-cell-analytics/micro-sam/blob/master/examples/annotator_2d.py#L62) where `use_finetuned_model` can be set to `True` to use the `vit_h_lm` model. +See for example the [2d annotator example](https://github.com/computational-cell-analytics/micro-sam/blob/master/examples/annotator_2d.py#L62) where `use_finetuned_model` can be set to `True` to use the `vit_b_lm` model. + +Note that we are still working on improving these models and may update them from time to time. All older models will stay available for download on zenodo, see [model sources](#model-sources) below + ## Which model should I choose? As a rule of thumb: -- Use the `_lm` models for segmenting cells or nuclei in light microscopy. -- Use the `_em` models for segmenting cells or neurites in electron microscopy. - - Note that this model does not work well for segmenting mitochondria or other organelles because it is biased towards segmenting the full cell / cellular compartment. -- For other cases use the default models. +- Use the `vit_b_lm` model for segmenting cells or nuclei in light microscopy. +- Use the `vit_b_em_organelles` models for segmenting mitochondria, nuclei or other organelles in electron microscopy. +- Use the `vit_b_em_boundaries` models for segmenting cells or neurites in electron microscopy. +- For other use-cases use one of the default models. See also the figures above for examples where the finetuned models work better than the vanilla models. Currently the model `vit_h` is used by default. -We are working on releasing more fine-tuned models, in particular for mitochondria and other organelles in EM. +We are working on further improving these models and adding new models for other biomedical imaging domains. + + +## Model Sources + +Here is an overview of all finetuned models we have released to zenodo so far: +- [vit_b_em_boundaries](https://zenodo.org/records/10524894): for segmenting compartments delineated by boundaries such as cells or neurites in EM. +- [vit_b_em_organelles](https://zenodo.org/records/10524828): for segmenting mitochondria, nuclei or other organelles in EM. +- [vit_b_lm](https://zenodo.org/records/10524791): for segmenting cells and nuclei in LM. +- [vit_h_em](https://zenodo.org/records/8250291): this model is outdated. +- [vit_h_lm](https://zenodo.org/records/8250299): this model is outdated. + +Some of these models contain multiple versions. diff --git a/doc/images/model-type-selector.png b/doc/images/model-type-selector.png index cab3b0772ad316ec23cd4bf78def39cb0ab4cbd3..9bc5a4342d6e36d79fc727ae7f69df7186590578 100644 GIT binary patch literal 132381 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

4n`P*adzsu< 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 L&@g(o)q(#5DV?S; literal 62733 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 VtUDzMe!I(FY_Nl8gpuKyp@)2pQ|YFnye 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 diff --git a/examples/annotator_2d.py b/examples/annotator_2d.py index 86eff5c7..6ab15870 100644 --- a/examples/annotator_2d.py +++ b/examples/annotator_2d.py @@ -19,8 +19,8 @@ def livecell_annotator(use_finetuned_model): image = imageio.imread(example_data) if use_finetuned_model: - embedding_path = os.path.join(EMBEDDING_CACHE, "embeddings-livecell-vit_h_lm.zarr") - model_type = "vit_h_lm" + embedding_path = os.path.join(EMBEDDING_CACHE, "embeddings-livecell-vit_b_lm.zarr") + model_type = "vit_b_lm" else: embedding_path = os.path.join(EMBEDDING_CACHE, "embeddings-livecell.zarr") model_type = "vit_h" @@ -35,8 +35,8 @@ def hela_2d_annotator(use_finetuned_model): image = imageio.imread(example_data) if use_finetuned_model: - embedding_path = os.path.join(EMBEDDING_CACHE, "embeddings-hela2d-vit_h_lm.zarr") - model_type = "vit_h_lm" + embedding_path = os.path.join(EMBEDDING_CACHE, "embeddings-hela2d-vit_b_lm.zarr") + model_type = "vit_b_lm" else: embedding_path = os.path.join(EMBEDDING_CACHE, "embeddings-hela2d.zarr") model_type = "vit_h" @@ -54,8 +54,8 @@ def wholeslide_annotator(use_finetuned_model): image = imageio.imread(example_data) if use_finetuned_model: - embedding_path = os.path.join(EMBEDDING_CACHE, "whole-slide-embeddings-vit_h_lm.zarr") - model_type = "vit_h_lm" + embedding_path = os.path.join(EMBEDDING_CACHE, "whole-slide-embeddings-vit_b_lm.zarr") + model_type = "vit_b_lm" else: embedding_path = os.path.join(EMBEDDING_CACHE, "whole-slide-embeddings.zarr") model_type = "vit_h" @@ -64,15 +64,14 @@ def wholeslide_annotator(use_finetuned_model): def main(): - # whether to use the fine-tuned SAM model - # this feature is still experimental! - use_finetuned_model = False + # Whether to use the fine-tuned SAM model for light microscopy data. + use_finetuned_model = True # 2d annotator for livecell data - # livecell_annotator(use_finetuned_model) + livecell_annotator(use_finetuned_model) # 2d annotator for cell tracking challenge hela data - hela_2d_annotator(use_finetuned_model) + # hela_2d_annotator(use_finetuned_model) # 2d annotator for a whole slide image # wholeslide_annotator(use_finetuned_model) diff --git a/examples/annotator_3d.py b/examples/annotator_3d.py index 71d42d4a..25e58cfd 100644 --- a/examples/annotator_3d.py +++ b/examples/annotator_3d.py @@ -10,7 +10,7 @@ os.makedirs(EMBEDDING_CACHE, exist_ok=True) -def em_3d_annotator(use_finetuned_model): +def em_3d_annotator(finetuned_model): """Run the 3d annotator for an example EM volume.""" # download the example data example_data = fetch_3d_example_data(DATA_CACHE) @@ -18,23 +18,28 @@ def em_3d_annotator(use_finetuned_model): with open_file(example_data) as f: raw = f["*.png"][:] - if use_finetuned_model: - embedding_path = os.path.join(EMBEDDING_CACHE, "embeddings-lucchi-vit_h_em.zarr") - model_type = "vit_h_em" - else: + if not finetuned_model: embedding_path = os.path.join(EMBEDDING_CACHE, "embeddings-lucchi.zarr") model_type = "vit_h" + else: + assert finetuned_model in ("organelles", "boundaries") + embedding_path = os.path.join(EMBEDDING_CACHE, f"embeddings-lucchi-vit_b_em_{finetuned_model}.zarr") + model_type = f"vit_b_em_{finetuned_model}" + print(embedding_path) # start the annotator, cache the embeddings - annotator_3d(raw, embedding_path, model_type=model_type, show_embeddings=False) + annotator_3d(raw, embedding_path, model_type=model_type) def main(): - # whether to use the fine-tuned SAM model - # this feature is still experimental! - use_finetuned_model = False - - em_3d_annotator(use_finetuned_model) + # Whether to use the fine-tuned SAM model for mitochondria (organelles) or boundaries. + # valid choices are: + # - None / False (will use the vanilla model) + # - "organelles": will use the model for mitochondria and other organelles + # - "boundaries": will use the model for boundary based structures + finetuned_model = "boundaries" + + em_3d_annotator(finetuned_model) if __name__ == "__main__": diff --git a/examples/annotator_tracking.py b/examples/annotator_tracking.py index 369350e9..7c810e23 100644 --- a/examples/annotator_tracking.py +++ b/examples/annotator_tracking.py @@ -20,20 +20,19 @@ def track_ctc_data(use_finetuned_model): timeseries = f["*.tif"] if use_finetuned_model: - embedding_path = os.path.join(EMBEDDING_CACHE, "embeddings-ctc-vit_h_lm.zarr") - model_type = "vit_h_lm" + embedding_path = os.path.join(EMBEDDING_CACHE, "embeddings-ctc-vit_b_lm.zarr") + model_type = "vit_b_lm" else: embedding_path = os.path.join(EMBEDDING_CACHE, "embeddings-ctc.zarr") model_type = "vit_h" # start the annotator with cached embeddings - annotator_tracking(timeseries, embedding_path=embedding_path, show_embeddings=False, model_type=model_type) + annotator_tracking(timeseries, embedding_path=embedding_path, model_type=model_type) def main(): - # whether to use the fine-tuned SAM model - # this feature is still experimental! - use_finetuned_model = False + # Whether to use the fine-tuned SAM model. + use_finetuned_model = True track_ctc_data(use_finetuned_model) diff --git a/examples/annotator_with_custom_model.py b/examples/annotator_with_custom_model.py index ceb8b2cb..e39a8c11 100644 --- a/examples/annotator_with_custom_model.py +++ b/examples/annotator_with_custom_model.py @@ -1,8 +1,24 @@ +import os + +import imageio import h5py import micro_sam.sam_annotator as annotator + from micro_sam.util import get_sam_model +from micro_sam.util import get_cache_directory +from micro_sam.sample_data import fetch_hela_2d_example_data + + +DATA_CACHE = os.path.join(get_cache_directory(), "sample_data") + + +def annotator_2d_with_custom_model(): + example_data = fetch_hela_2d_example_data(DATA_CACHE) + image = imageio.imread(example_data) -# TODO add an example for the 2d annotator with a custom model + custom_model = "/home/pape/Downloads/exported_models/vit_b_lm.pth" + predictor = get_sam_model(checkpoint_path=custom_model, model_type="vit_b") + annotator.annotator_2d(image, predictor=predictor) def annotator_3d_with_custom_model(): @@ -16,7 +32,8 @@ def annotator_3d_with_custom_model(): def main(): - annotator_3d_with_custom_model() + annotator_2d_with_custom_model() + # annotator_3d_with_custom_model() if __name__ == "__main__": diff --git a/examples/image_series_annotator.py b/examples/image_series_annotator.py index 7fcfa13b..456ea727 100644 --- a/examples/image_series_annotator.py +++ b/examples/image_series_annotator.py @@ -14,8 +14,8 @@ def series_annotation(use_finetuned_model): """ if use_finetuned_model: - embedding_path = os.path.join(EMBEDDING_CACHE, "series-embeddings-vit_h_lm") - model_type = "vit_h_lm" + embedding_path = os.path.join(EMBEDDING_CACHE, "series-embeddings-vit_b_lm") + model_type = "vit_b_lm" else: embedding_path = os.path.join(EMBEDDING_CACHE, "series-embeddings") model_type = "vit_h" @@ -29,8 +29,7 @@ def series_annotation(use_finetuned_model): def main(): - # whether to use the fine-tuned SAM model - # this feature is still experimental! + # Whether to use the fine-tuned SAM model. use_finetuned_model = False series_annotation(use_finetuned_model) diff --git a/micro_sam/util.py b/micro_sam/util.py index b0d70946..1d0a49f1 100644 --- a/micro_sam/util.py +++ b/micro_sam/util.py @@ -60,8 +60,8 @@ def get_cache_directory() -> None: Users can set the MICROSAM_CACHEDIR environment variable for a custom cache directory. """ - default_cache_directory = os.path.expanduser(pooch.os_cache('micro_sam')) - cache_directory = Path(os.environ.get('MICROSAM_CACHEDIR', default_cache_directory)) + default_cache_directory = os.path.expanduser(pooch.os_cache("micro_sam")) + cache_directory = Path(os.environ.get("MICROSAM_CACHEDIR", default_cache_directory)) return cache_directory @@ -69,7 +69,8 @@ def get_cache_directory() -> None: # Functionality for model download and export # -def microsam_cachedir(): + +def microsam_cachedir() -> None: """Return the micro-sam cache directory. Returns the top level cache directory for micro-sam models and sample data. @@ -77,7 +78,7 @@ def microsam_cachedir(): Every time this function is called, we check for any user updates made to the MICROSAM_CACHEDIR os environment variable since the last time. """ - cache_directory = os.environ.get('MICROSAM_CACHEDIR') or pooch.os_cache('micro_sam') + cache_directory = os.environ.get("MICROSAM_CACHEDIR") or pooch.os_cache("micro_sam") return cache_directory @@ -106,10 +107,9 @@ def models(): # the model with vit tiny backend fom https://github.com/ChaoningZhang/MobileSAM "vit_t": "sha256:6dbb90523a35330fedd7f1d3dfc66f995213d81b29a5ca8108dbcdd4e37d6c2f", # first version of finetuned models on zenodo - "vit_h_lm": "sha256:9a65ee0cddc05a98d60469a12a058859c89dc3ea3ba39fed9b90d786253fbf26", - "vit_b_lm": "sha256:5a59cc4064092d54cd4d92cd967e39168f3760905431e868e474d60fe5464ecd", - "vit_h_em": "sha256:ae3798a0646c8df1d4db147998a2d37e402ff57d3aa4e571792fbb911d8a979c", - "vit_b_em": "sha256:c04a714a4e14a110f0eec055a65f7409d54e6bf733164d2933a0ce556f7d6f81", + "vit_b_lm": "sha256:e8f5feb1ad837a7507935409c7f83f7c8af11c6e39cfe3df03f8d3bd4a358449", + "vit_b_em_organelles": "sha256:8fabbe38a427a0c91bbe6518a5c0f103f36b73e6ee6c86fbacd32b4fc66294b4", + "vit_b_em_boundaries": "sha256:d87348b2adef30ab427fb787d458643300eb30624a0e808bf36af21764705f4f", } registry_xxh128 = { # the default segment anything models @@ -119,10 +119,9 @@ def models(): # the model with vit tiny backend fom https://github.com/ChaoningZhang/MobileSAM "vit_t": "xxh128:8eadbc88aeb9d8c7e0b4b60c3db48bd0", # first version of finetuned models on zenodo - "vit_h_lm": "xxh128:e113adac6a0a21514bb2d73de16b921b", - "vit_b_lm": "xxh128:5fc0851abf8a209dcbed4e95634d9e27", - "vit_h_em": "xxh128:64b6eb2d32ac9c5d9b022b1ac57f1cc6", - "vit_b_em": "xxh128:f50d499db5bf54dc9849c3dbd271d5c9", + "vit_b_lm": "xxh128:6b061eb8684d9d5f55545330d6dce50d", + "vit_b_em_organelles": "xxh128:3919c2b761beba7d3f4ece342c9f5369", + "vit_b_em_boundaries": "xxh128:3099fe6339f5be91ca84db889db1909f", } models = pooch.create( @@ -138,10 +137,9 @@ def models(): # the model with vit tiny backend fom https://github.com/ChaoningZhang/MobileSAM "vit_t": "https://owncloud.gwdg.de/index.php/s/TuDzuwVDHd1ZDnQ/download", # first version of finetuned models on zenodo - "vit_h_lm": "https://zenodo.org/record/8250299/files/vit_h_lm.pth?download=1", - "vit_b_lm": "https://zenodo.org/record/8250281/files/vit_b_lm.pth?download=1", - "vit_h_em": "https://zenodo.org/record/8250291/files/vit_h_em.pth?download=1", - "vit_b_em": "https://zenodo.org/record/8250260/files/vit_b_em.pth?download=1", + "vit_b_lm": "https://zenodo.org/records/10524791/files/vit_b_lm.pth?download=1", + "vit_b_em_organelles": "https://zenodo.org/records/10524828/files/vit_b_em_organelles.pth?download=1", + "vit_b_em_boundaries": "https://zenodo.org/records/10524894/files/vit_b_em_boundaries.pth?download=1", }, ) return models diff --git a/scripts/.gitignore b/scripts/.gitignore new file mode 100644 index 00000000..56241314 --- /dev/null +++ b/scripts/.gitignore @@ -0,0 +1,2 @@ +new_models/ +exported_models/ diff --git a/scripts/export_models_for_upload.py b/scripts/export_models_for_upload.py new file mode 100644 index 00000000..7d097171 --- /dev/null +++ b/scripts/export_models_for_upload.py @@ -0,0 +1,62 @@ +"""Helper scripts to export models for upload to zenodo. +""" + +import hashlib +import os +import warnings +from glob import glob + +import xxhash +from micro_sam.util import export_custom_sam_model + +BUF_SIZE = 65536 # lets read stuff in 64kb chunks! + + +def export_model(model_path, model_type, export_name): + output_folder = "./exported_models" + os.makedirs(output_folder, exist_ok=True) + + output_path = os.path.join(output_folder, export_name) + if os.path.exists(output_path): + print("The model", export_name, "has already been exported.") + return + + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + export_custom_sam_model( + checkpoint_path=model_path, + model_type=model_type, + save_path=output_path, + ) + + print("Exported", export_name) + + sha_checksum = hashlib.sha256() + xxh_checksum = xxhash.xxh128() + + with open(output_path, "rb") as f: + while True: + data = f.read(BUF_SIZE) + if not data: + break + sha_checksum.update(data) + xxh_checksum.update(data) + + print("sha256:", f"sha256:{sha_checksum.hexdigest()}") + print("xxh128:", f"xxh128:{xxh_checksum.hexdigest()}") + + +def export_all_models(): + models = glob(os.path.join("./new_models/*.pt")) + model_type = "vit_b" + for model_path in models: + export_name = os.path.basename(model_path).replace(".pt", ".pth") + export_model(model_path, model_type, export_name) + + +def main(): + export_all_models() + + +if __name__ == "__main__": + main()