https://github.com/semanurbilada/bip_bap
Biomedical Image Processing BAP (Scientific Research Project)
https://github.com/semanurbilada/bip_bap
academic-project blood-cell-detection kfold-cross-validation kfold-yolo-integration machine-learning yolov5 yolov8
Last synced: about 24 hours ago
JSON representation
Biomedical Image Processing BAP (Scientific Research Project)
- Host: GitHub
- URL: https://github.com/semanurbilada/bip_bap
- Owner: semanurbilada
- License: mit
- Created: 2024-10-10T12:16:12.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-05-29T10:00:48.000Z (21 days ago)
- Last Synced: 2025-05-29T11:11:08.344Z (21 days ago)
- Topics: academic-project, blood-cell-detection, kfold-cross-validation, kfold-yolo-integration, machine-learning, yolov5, yolov8
- Language: Jupyter Notebook
- Homepage:
- Size: 95.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
BIP BAP
![]()
## Biomedical Image Processing BAP (Scientific Research Project)
* [Purpose](#purpose)
* [Features](#features)
* [Notes](#notes)
* [Project Structure](#project-structure)
* [How To Run?](#how-to-run)
* [Licence](#licence)
* [References](#references)## Purpose
This project aims to explore biomedical image processing applications, focusing on the detection and counting of blood cells using the Blood Cell Counting and Detection (BCCD) dataset. The system is designed to automate and enhance accuracy in biomedical imaging tasks, with the initial training conducted on Google Colab.
As part of the Piri Reis University Scientific Research Project (BAP), this initiative also reflects the academic contributions of the scholar students, particularly in `applying and practicing Machine Learning concepts`.
## Features
- Detection and count for blood cell (BCCD).
- Performance Measurement: Latency, throughput, reliability.
- K-Fold Cross Validation technique and integration with YOLO.### Notes
- The yolov5m (medium) model was tested, but based on the results, the yolov5s (small) or yolov5l (large) models are decided to use for better performance.## Project Structure
The project follows this directory structure:
```
BIP_BAP/
├── results/
│ ├── kfold_yolov5l_100epochs/
│ ├── outputs-v5/
│ └── outputs-v8/
├── scripts/
│ ├── kfold_yolo_attention_mechanism.ipynb
│ ├── kfold_yolo_integration.ipynb
│ ├── yolov5.py
│ └── yolov8.py
├── test-images/
├── weights/
│ ├── best_bccd_v0.pt
│ ├── best_bccd_v1.pt
│ └── best_bccd_v3.pt
├── yolovenv/
├── .gitignore
├── LICENSE
├── README.md
└── requirements.txt
```
- results/: Contains various outputs and performance results.
- /kfold_yolov5l_100epochs/: Contains kfold results with Yolov5l 100epochs - A100 GPU.
- /outputs-v5/: Contains outputs of the yolov5 test results.
- /outputs-v5/: Contains outputs of the yolov8 test results.
- scripts:/ Includes all the main scripts and Jupyter notebooks used in the project.
- kfold_yolo_attention_mechanism.ipynb: A Jupyter notebook implementing K-Fold cross-validation with an attention mechanism for YOLO-based models.
- kfold_yolo_integration.ipynb: A notebook integrating K-Fold validation with YOLO training and testing.
- yolov5.py: YOLOv5-based detection.
- yolov8.py: YOLOv8-based detection.
- test-images/: Contains sample test images used for validation and inference.
- weights/: Stores trained model weight files.
- best_bccd_v0.pt: Version 0 of the first dataset from Roboflow. (yolov8 - T4 GPU)
- best_bccd_v1.pt: Version 1 of the first dataset from Roboflow. (yolov5l - A100 GPU)
- best_bccd_v3.pt: Version 1 of the first dataset from Roboflow. (yolov5l - A100 GPU)
- yolovenv/: The virtual environment containing dependencies for running the project.
- .gitignore: Specifies files and directories to be ignored by Git.
- LICENSE: The MIT License file.
- README.md: The documentation file explaining the project.
- requirements.txt: Lists project dependencies.## How To Run?
1. Virtual environment setup:
```
python3 -m venv yolovenv
```2. To activate the virtual environment (Windows):
```
yolovenv/Scripts/activate
```3. To activate the virtual environment (Linux / MacOS):
```
source yolovenv/bin/activate
```4. Install dependencies:
```
pip install -r requirements.txt
```
or
```
pip3 install -r requirements.txt
```5. Run the code samples in scripts directory:
```
python yolov5.py
```
or
```
python3 yolov8.py
```## Licence
This project is licensed under the MIT License - see the [LICENSE](https://github.com/semanurbilada/BIP_BAP?tab=MIT-1-ov-file#readme) file for details.
## References
- [BCCD Dataset - GitHub](https://github.com/Shenggan/BCCD_Dataset)
- [BCCD Dataset - Roboflow](https://public.roboflow.com/object-detection/bccd/3)
- [Custom Roboflow Dataset](https://universe.roboflow.com/prutengiz/bccd-dataset-v0/dataset/2)