Giter Site home page Giter Site logo

leoll2 / autoparking Goto Github PK

View Code? Open in Web Editor NEW
75.0 9.0 33.0 5.63 MB

Self parking with reinforcement learning

License: MIT License

C++ 96.02% Makefile 1.38% C 2.60%
reinforcement-learning artificial-intelligence neural-networks ai qlearning machine-learning autonomous-car parking

autoparking'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}
}

autoparking's People

Contributors

leoll2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autoparking's Issues

allegro5 make problem

hello leoll2, I just install the allegro5 as you instructed, but when I run the make command ,there are some problems. before the make all dependencies have been install and update as shown in terminal.the problem log is below.by the way,my system is ubuntu 18.04 and python 3.7.5.

/Autoparking/allegro5/src/opengl/extensions.c:799:25: error: ‘ALLEGRO_OGL_EXT_API {aka struct ALLEGRO_OGL_EXT_API}’ has no member named ‘GetString’
glGetString = ext_api->GetString;

Spawning right next to the wall

If the vehicle spawns with one side perfectly adjacent to the wall, it has nowhere to go but forward or backwards. This results in a endless loop which, despite making sense, is kinda annoying to spectate and prevents other simulations from being performed.
Must be addressed asap!

Cache needs a fix

Storing/restoring the matrix Q from cache doesn't seem to work properly, as the behavior of the network isn't quite the same before and after.
Needs investigation.

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.