55 lines
2.0 KiB
Markdown
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.
|