Project-MONAI / Project-MONAI/MONAI

[Feature Request]: CLIP Driven Universal Model

Open
#5,800 2 comments 4 reactions 2 assignees View on GitHub

@vikashg is already working on this.

Since Dec 19, 2023.

Contribution wanted Design discussions Feature request
Dominant language
Python
Stars
8.7k
Forks
1.6k
Avg merge
5d 1h
Merged PRs (30d)
20

Description

Contrastive Language-Image Pre-training (CLIP) Driven Models and Partially Supervised Learning for Medical Image Segmentation

This issue is to discuss adding the CLIP-Driven Universal Model Features to MONAI.

Potential assignee: @tangy5

CLIP-Driven Universal Model

Key features

The implementation will bring several new feature as follows:

  1. Universal Model: one model to detect and segment all abdominal organs and all types of tumors (Liver tumor, kidney tumor, Lung nodule, Pancreas tumor, hepatic vessel tumor, colon tumor).
  2. Language model (CLIP) and text-driven embeddings boost medical image analysis.
  3. Training Partial labelled datasets.
  4. Incremental learning: Users can continue to train new segmentation classes using the current trained model without catastrophic forgetting.

⏳ Dataset: The Universal Model is trained with following datasets

Screenshot from 2023-01-03 13-16-57

Implementation plans

  • Transformations (pre-processing) for partial labelled datasets: “PartialLabelTransfer”, etc
  • Segmentation backbone with CLIP embedding, text-driven segmentor: plug-and-play CLIP embedding and text encoder.
  • Tutorial for training and inference of Universal Model.
  • Tutorial for demonstrating partial supervised learning and incremental learning.
  • Model release: Bundle for Model Zoo for publishing the trained universal model to segment all types of tumours and abdominal organs.

More Details of the Feature Methodology:

  1. Universal Model:
    Screenshot from 2023-01-03 12-09-23

  2. CLIP Driven and text-driven segmentor:
    Screenshot from 2023-01-03 12-10-09

  3. Partial Supervised Learning:
    Screenshot from 2023-01-03 12-04-46

  4. Incremental Leraning:

Screenshot from 2023-01-03 12-11-14

Detailed steps of implantation will provide after open discussion.

Welcome all suggestions and comments!

@ljwztc @MrGiovanni

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.