Giter Site home page Giter Site logo

augustoschnorr / automatic-identification-and-counting-of-blood-cells Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mahmudulalam/automatic-identification-and-counting-of-blood-cells

0.0 1.0 0.0 5.56 MB

A machine learning approach of automatic identification and counting of all types of blood cells: RBCs, WBCs, and Platelets with K-nearest neighbor (KNN) and intersection over union (IOU) based verification.

Home Page: https://ieeexplore.ieee.org/iel7/6992823/8822891/08822896.pdf

License: GNU General Public License v3.0

Python 100.00%

automatic-identification-and-counting-of-blood-cells's Introduction

Automatic Identification and Counting of Blood Cells

GitHub stars GitHub forks GitHub issues GitHub license

Dataset

The Complete Blood Count (CBC) Dataset has been used for automatic identification and counting of blood cells. Download the dataset, unzip and put the Training, Testing, and Validation folder in the working directory.

Requirements

  • TensorFlow-GPU==1.11.0
  • OpenCV==3.4.2
  • Cython==0.29.2
  • Weights: download the trained weights file for blood cell detection and put the weights folder in the working directory.

Download Download

How to Run the Code

A step by step guideline of how to run the blood cell detection code in your computer is provided in this wiki.

Blood Cell Detection Output

KNN and IOU Based Verfication

In some cases, our model predicts the same platelet twice. To solve this problem we propose k-nearest neighbor (KNN) and intersection over union (IOU) based verification system where we find the nearest platelet of a platelet and calculate their overlap. We are allowing only 10% of overlap between two platelets. If the overlap is more than that then it will be a spurious prediction and we will ignore the prediction.

Before Verfication After Verification

Prediction on High-Resolution Image (HRI)

We have used our model to detect and count blood cells from high-resolution blood cell smear images. These test images are of the size of 3872 x 2592 way higher than the size of our trained images of 640 x 480. So, to match the cell size of our trained images we divide those images into grid cells and run prediction in each grid cell and then combine all the prediction results.

Dividing Image into Grid/Patch

Combined Output

Paper

Paper Paper

For more detail explanation, please go through the pdf of the paper. Cite this paper as:

@article{alam2019machine,
  title={Machine learning approach of automatic identification and counting of blood cells},
  author={Alam, Mohammad Mahmudul and Islam, Mohammad Tariqul},
  journal={Healthcare Technology Letters},
  volume={6},
  number={4},
  pages={103--108},
  year={2019},
  publisher={IET}
}

How to Train on Your Dataset

A seven-step guideline of how to train on your own dataset is provided in this wiki.

automatic-identification-and-counting-of-blood-cells's People

Contributors

mahmudulalam avatar

Watchers

James Cloos 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.