Coder Social home page Coder Social logo

biomedia-mbzuai / ultrasound-ssl-fetalcardiacplanes Goto Github PK

View Code? Open in Web Editor NEW
5.0 1.0 2.0 173 KB

[ASMUS-2023] Leveraging Self-Supervised Learning for Fetal Cardiac Planes Classification using Ultrasound Scan Videos

Python 100.00%
self-supervised-learning ultrasound-imaging fetal-cardiac-planes

ultrasound-ssl-fetalcardiacplanes's Introduction

Leveraging Self-Supervised Learning for Fetal Cardiac Planes Classification using Ultrasound Scan Videos

Abstract | Paper

Self-supervised learning (SSL) methods are popular since they can address situations with limited annotated data by directly utilising the underlying data distribution. However, adoption of such methods is not explored enough in ultrasound (US) imaging, especially for fetal assessment. We investigate the potential of dual-encoder SSL in utilizing unlabelled US video data to improve the performance of challenging downstream Standard Fetal Cardiac Planes (SFCP) classification using limited labelled 2D US images. We study 7 SSL approaches based on reconstruction, contrastive loss, distillation and information theory, and evaluate them extensively on a large private US dataset. Our observations and finding are consolidated from more than 500 downstream training experiments under different settings. Our primary observation shows that for SSL training, the variance of the dataset is more crucial than its size because it allows the model to learn generalisable representations which improve the performance of downstream tasks. Overall, the BarlowTwins method shows robust performance irrespective of the training settings and data variations, when used as an initialisation for downstream tasks. Notably, full fine-tuning with 1% of labelled data outperforms ImageNet initialisation by 12% in F1-score and outperforms other SSL initialisations by at least 4% in F1-score, thus making it a promising candidate for transfer learning from US video to image data.

In this work, we aim to clarify the following two questions regarding the dual-encoder SSL methods.

  • How does SSL pretraining on US video data impact downstream SFCP classification with limited labelled data?
  • Which SSL method is effective in utilizing US video data?

Code

  • tasks folder containes the individual python scripts whihc is the main entry point to run each SSL experiments and downstream tasks. Please track the imports in these scripts for easier understanding.
  • configs parameters can be set if needed with json. Ones used for experiments are updated in releases.
  • algorithms contains core SSL codes, backbones and other integral components.

Downloads

NoteBooks for processing/visualization and config jsons for experiments can be found here

Cite Us

If you find our code or paper findings useful for your research, consider citing us 😃

@InProceedings{JGeoB2023_SSLfetalUS,
title="Leveraging Self-supervised Learning for Fetal Cardiac Planes Classification Using Ultrasound Scan Videos",
author="Benjamin, Joseph Geo and Asokan, Mothilal and Alhosani, Amna and
Alasmawi, Hussain and Diehl, Werner Gerhard and Bricker, Leanne and
Nandakumar, Karthik and Yaqub, Mohammad",
editor="Kainz, Bernhard and Noble, Alison and Schnabel, Julia and Khanal, Bishesh and M{\"u}ller, Johanna Paula and Day, Thomas",

booktitle="Simplifying Medical Ultrasound",
year="2023",
publisher="Springer Nature Switzerland",
address="Cham",
pages="68--78",

isbn="978-3-031-44521-7"
doi={10.1007/978-3-031-44521-7\_7}
}

For Code updates: Mothilal and JGeoB

ultrasound-ssl-fetalcardiacplanes's People

Contributors

josephgeobenjamin avatar mothilal-asokan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

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.