This project demonstrates the use of TensorFlow Object Detection API to automatically detect Red Blood Cells (RBCs), White Blood Cells (WBCs), and Platelets in each image taken via microscopic image readings.
The dataset used in this project was collected from here.
The project directory structure looks like:
.
├── BCCD-Dataset
│ ├── test
│ └── train
├── LICENSE
├── README.md
├── annotations
│ └── label_map.pbtxt
├── assets
│ └── example.jpeg
├── export_tflite_graph_tf2.py
├── exporter_main_v2.py
├── generate_tfrecord.py
├── model_main_tf2.py
├── models
│ └── pipeline.config
├── output_images
│ ├── four.png
│ ├── one.png
│ ├── three.png
│ └── two.png
└── results_graph
├── classification_loss.png
└── total_loss.png
I followed the official TensorFlow Object Detection API documentation to kickstart the training process on Google Colab Pro using Cloud GPU to export the inference graph.
I used a EfficientDet D0 based architecture,since it yields a pretty good mAP@.50IOU
of around 90.14%.
The results_graph
folder contains the graph classification_loss during training.
Here are some results after running the trained model on some test images:
- Optimise the model using the OpenVINO toolkit
- Convert the saved_model to .tflite
- To be paired with microscopes used by pathologists
I am thankful to Sayak Paul for guiding me in this project.