martinbadrous's picture
Update README.md
fb0327e verified
---
language: en
license: mit
tags:
- yolov5
- computer-vision
- object-detection
- microscopy
- microplastics
- academic
- ViBOT
model-index:
- name: Microparticle-Detection-YOLOv5
results:
- task:
type: object-detection
name: Object Detection
dataset:
name: Custom PMMA Microplastic Microscopy Dataset
type: microscopy
metrics:
- type: precision
value: 0.795
- type: recall
value: 0.895
- type: [email protected]
value: 0.97
---
# 🧫 High-Speed Microparticle Detection and Tracking using YOLOv5
**Author:** Martin Badrous
**Affiliation:** ViBOT Master’s Program, Bourgogne University
**Year:** 2021
**License:** MIT
---
## 🧠 Abstract
This repository hosts the deep learning model developed for the master’s thesis
**“High-Speed Microparticle Detection and Tracking” (2021)**,
conducted under the **ViBOT Master’s Program, Bourgogne University**.
The model implements a **YOLOv5-based object detection pipeline** for identifying and counting **PMMA microplastic particles** in high-speed microscopy imagery.
It represents the second and deep learning phase of the research, following an earlier classical image processing approach.
---
## 📚 Research Context
Microparticle detection is a key task in studying particulate contamination and flow behavior under a microscope.
Traditional methods based on thresholding and contour detection struggle with illumination, blur, and focus variations.
To overcome these limitations, this work explores a **deep learning detector (YOLOv5)** trained to recognize two microplastic classes under 20× magnification.
### Target Classes
- `PMMA10`
- `PMMA20`
### Model Architecture
- **Model:** YOLOv5s (PyTorch)
- **Input Resolution:** 640 × 640
- **IoU Threshold:** 0.5
- **Confidence Threshold:** 0.5
- **Min Detection Area:** 500 px
- **Scale:** 0.30 µm²/pixel
- **Epochs:** 50
- **Batch Size:** 16
---
## 🧪 Dataset and Training
- **Dataset Split:** 70% train / 20% validation / 10% test
- **Data Source:** Custom microscope videos at 20× magnification
- **Augmentations:** Gaussian noise, blur, brightness, contrast, and saturation (rotation disabled)
- **Optimization:** SGD with cosine learning rate decay
- **Framework:** PyTorch (YOLOv5 Ultralytics)
### Evaluation Results
| Metric | PMMA10 | PMMA20 | Mean |
|:--------|:--------|:--------|:------|
| Precision | 0.80 | 0.79 | 0.795 |
| Recall | 0.88 | 0.91 | 0.895 |
| [email protected] | 0.97 | 0.97 | **0.97** |
---
## 🧩 Post-Processing and Analysis
After detection, each particle undergoes morphological analysis via three computed features:
| Feature | Description |
|----------|--------------|
| **Otsu Binarized Area (px)** | Measures the segmented particle area |
| **Laplacian Variance** | Quantifies image focus/sharpness |
| **Chi-Square Histogram Distance** | Measures similarity to a reference “ideal” particle histogram |
These features are visualized in a 3D scatter space to assess detection focus, size distribution, and classification consistency.
---
## 🧭 Model Structure
```
Microparticle-Detection-YOLOv5-HF/
├── README.md # Academic model card (this file)
├── config.yaml # Metadata (architecture and params)
├── model_card.json # Structured metadata for Hugging Face Hub
└── best.pt # YOLOv5 trained weights
```
---
## 🧩 How to Use
```python
import torch
# Load custom YOLOv5 model
model = torch.hub.load('ultralytics/yolov5', 'custom', path='best.pt')
results = model('microscope_sample.jpg')
results.show()
```
---
## 📘 Citation
> **Badrous, M.** (2021). *High-Speed Microparticle Detection and Tracking.*
> ViBOT Master’s Program, Bourgogne University.
---
## 🧑‍💻 Author
**Martin Badrous**
ViBOT Master’s Program, Bourgogne University (2021)
---
## 🪶 License
This model is released under the **MIT License**.
---
## 🧭 Future Work
- Integrate motion tracking and particle trajectory reconstruction
- Extend dataset to diverse microplastic materials and shapes
- Deploy as an interactive Hugging Face Space (Streamlit demo)
- Explore YOLOv8 or RT-DETR for real-time microscopy inference
---