Files
boladeE a6e52f8ad0 Initial commit: Recycling object detection project
- Added Fast api web application for recycling object detection
- Included YOLOv8 model training notebook
- Set up project structure with datasets and training directories
- Added requirements.txt for dependencies
- Configured .gitignore for Python virtual environment and cache files
2025-04-23 19:18:05 +01:00

55 lines
2.0 KiB
Markdown

# DS Task Recycling Project
This project is a toy project for training and quality assurance purposes. It involves developing a simple Flask API that processes an image (or a hardcoded image) of a motherboard and detects memory modules present on it. The API will return the image with bounding boxes drawn around each detected memory module.
## Project Overview
- **Input Types:**
- Image upload via the Flask API.
- A hardcoded image for testing purposes.
- **Dataset:**
- 20 pictures of motherboards with memory.
- 20 pictures of motherboards without memory.
- **Output:**
- An annotated image with bounding boxes around each detected memory module.
For example, if there are two memory modules, two boxes are drawn; if only one is detected, then one box is drawn.
- **Annotation Tool Suggestion:**
- We suggest using [makesense.ai](https://www.makesense.ai/) for manual annotation if needed.
## Task Details
The developer is required to research and answer the following questions as part of the task:
1. **Algorithm Choice:**
- Which algorithm will you use for detecting the memory modules?
- Why do you choose this particular algorithm?
2. **Hardware Considerations:**
- Does CPU or GPU have an impact on your decision? Please explain.
3. **Video Input:**
- What if a video is provided instead of single images?
- Does your approach change when processing videos? Please describe your approach.
## Proposed Flask API Implementation
1. **API Endpoints:**
- An endpoint for uploading images which processes and returns the annotated image.
- An endpoint parameter for using a hardcoded image for testing purposes.
2. **Processing Workflow:**
- Receive an image (either via file upload or from a hardcoded source).
- Apply the chosen object detection algorithm to detect memory modules.
- Draw bounding boxes around each detected memory module.
- Return the annotated image to the user.
## Data Set:
Dataset in on the `training` folder. And there is `memory` and `no_memory` subfolder in it.