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
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user