Giter Site home page Giter Site logo

leoll2 / mbzirc-drone-vision Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 761 KB

Autonomous drone vision subsystem for MBZIRC 2020

License: GNU General Public License v3.0

CMake 28.53% C++ 66.25% Python 5.22%
autonomous-quadcoptor computer-vision cpp deep-learning drone drones object-detection opencv robotics ros yolov3

mbzirc-drone-vision's Introduction

MedicalCNN

Python|Keras|Made withJupyter

License: MIT DOI

This project aims to perform abnormality classification in mammography by means of Convolutional Neural Networks. The dataset of interest is the CBIS DDSM dataset. The mammogram images feature two kinds of breast abnormalities: mass and calcification, which can be either benign or malignant.
The classification task consists in distinguishing between the four cases:

  • Benign mass
  • Malignant mass
  • Benign calcification
  • Malignant calcification

A subtask is to just distinguish masses from calcifications.

The full detailed report is available here.

Left: example of mass Right: example of calcification


Repo structure

All the Jupyter notebooks used for the experiments are collected in the scripts folder.

Specifically:

  • Scratch_CNN_2_class: CNN built from scratch for the 2-categories classification task.
  • Scratch_CNN_4_class: CNN built from scratch for the 4-categories classification task.
  • Scratch_CNN_ben_mal: CNN build from scratch for benign-malignant classification.
  • VGG16_2_class: VGG16 with feature-extraction and fine-tuning for the 2-categories classification task.
  • VGG16_4_class: VGG16 with feature-extraction and fine-tuning for the 4-categories classification task.
  • Baseline_Dual_CNN: Dual CNN model exploiting images of nearby healthy tissue too.
  • Composite_4_class: Two parallel CNN models to decompose the 4-categories classification task.
  • Baseline_Siamese: Siamese CNN exploiting images of nearby healthy tissue too.
  • Ensemble_2_class: Ensemble of different CNN models for the 2-categories classification task.
  • Ensemble_4_class: Ensemble of different CNN models for the 4-categories classification task.

Extra:

  • LearningRate: Experiments tuning the learning rate for different optimizers.

You can download the dataset from Google Drive. All the scripts assume that the dataset zip file is located in the root of your Google Drive folder, but you can easily change it.


Experiments and results

I developed and tested many models for the 2-class and 4-class tasks.

The best model for the 2-class task obtained a 91.37% accuracy on the test set. The best model for the 4-class task obtained a 61.01% accuracy on the test set.

Comparing the results with those presented in many papers, the models achieved state-of-the-art accuracy [1][2][3].

[1] Neeraj Dhungel, Gustavo Carneiro, and Andrew P Bradley. “Automated mass
detection in mammograms using cascaded deep learning and random forests”.
In: 2015 international conference on digital image computing
[2] Dina A Ragab et al. “Breast cancer detection using deep convolutional neural
networks and support vector machines”. In: PeerJ 7 (2019)   
[3] Li Shen et al. “Deep learning to improve breast cancer detection on screening
mammography”. In: Scientific reports 9.1 (2019)  

See the report for full details.


Tools

The project was developed using the following technologies:

  • Python: scripting language
  • Keras: open-source library for experimentation with deep neural networks
  • Google Colab: free cloud-based Jupyter notebook environment by Google

About the dataset

The dataset of interest is the CBIS DDSM (Curated Breast Imaging Subset of Digital Database for Screening Mammography), a collection of mammography images by Lee et al. It is an updated version of the original DDSM dataset, where all the images have been segmented and labeled.

Rebecca Sawyer Lee, Francisco Gimenez, Assaf Hoogi , Daniel Rubin  (2016). Curated Breast Imaging Subset of DDSM [Dataset]. The Cancer Imaging Archive. DOI: 10.7937/K9/TCIA.2016.7O02S9CY

Credits

The author (Leonardo Lai) designed and performed all the experiments listed in the project.

If you want to cite this work, please use the following:

@software{leonardo_lai_2021_4700130,
  author       = {Leonardo Lai},
  title        = {leoll2/MedicalCNN: v1.0},
  month        = apr,
  year         = 2021,
  publisher    = {Zenodo},
  version      = {1.0},
  doi          = {10.5281/zenodo.4700130},
  url          = {https://doi.org/10.5281/zenodo.4700130}
}

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.