commit 719442637901cd5c5d892771b2b11d89f957c893 Author: kowshik Date: Wed Mar 19 02:24:35 2025 +0600 First Commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..a6f831e --- /dev/null +++ b/README.md @@ -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. diff --git a/training/.DS_Store b/training/.DS_Store new file mode 100644 index 0000000..084d4f1 Binary files /dev/null and b/training/.DS_Store differ diff --git a/training/memory/out1.png b/training/memory/out1.png new file mode 100644 index 0000000..4a872cb Binary files /dev/null and b/training/memory/out1.png differ diff --git a/training/memory/out10.png b/training/memory/out10.png new file mode 100644 index 0000000..20d3855 Binary files /dev/null and b/training/memory/out10.png differ diff --git a/training/memory/out11.png b/training/memory/out11.png new file mode 100644 index 0000000..b10a382 Binary files /dev/null and b/training/memory/out11.png differ diff --git a/training/memory/out12.png b/training/memory/out12.png new file mode 100644 index 0000000..acec6b2 Binary files /dev/null and b/training/memory/out12.png differ diff --git a/training/memory/out13.png b/training/memory/out13.png new file mode 100644 index 0000000..7d88a6f Binary files /dev/null and b/training/memory/out13.png differ diff --git a/training/memory/out14.png b/training/memory/out14.png new file mode 100644 index 0000000..34d27d9 Binary files /dev/null and b/training/memory/out14.png differ diff --git a/training/memory/out15.png b/training/memory/out15.png new file mode 100644 index 0000000..90559ac Binary files /dev/null and b/training/memory/out15.png differ diff --git a/training/memory/out16.png b/training/memory/out16.png new file mode 100644 index 0000000..314d0ee Binary files /dev/null and b/training/memory/out16.png differ diff --git a/training/memory/out17.png b/training/memory/out17.png new file mode 100644 index 0000000..e2030f7 Binary files /dev/null and b/training/memory/out17.png differ diff --git a/training/memory/out18.png b/training/memory/out18.png new file mode 100644 index 0000000..b0d3084 Binary files /dev/null and b/training/memory/out18.png differ diff --git a/training/memory/out19.png b/training/memory/out19.png new file mode 100644 index 0000000..cf36055 Binary files /dev/null and b/training/memory/out19.png differ diff --git a/training/memory/out2.png b/training/memory/out2.png new file mode 100644 index 0000000..5019b99 Binary files /dev/null and b/training/memory/out2.png differ diff --git a/training/memory/out20.png b/training/memory/out20.png new file mode 100644 index 0000000..1bc07c8 Binary files /dev/null and b/training/memory/out20.png differ diff --git a/training/memory/out3.png b/training/memory/out3.png new file mode 100644 index 0000000..47d7331 Binary files /dev/null and b/training/memory/out3.png differ diff --git a/training/memory/out4.png b/training/memory/out4.png new file mode 100644 index 0000000..a14f93f Binary files /dev/null and b/training/memory/out4.png differ diff --git a/training/memory/out5.png b/training/memory/out5.png new file mode 100644 index 0000000..8a9a367 Binary files /dev/null and b/training/memory/out5.png differ diff --git a/training/memory/out6.png b/training/memory/out6.png new file mode 100644 index 0000000..d4a1a58 Binary files /dev/null and b/training/memory/out6.png differ diff --git a/training/memory/out7.png b/training/memory/out7.png new file mode 100644 index 0000000..006e95d Binary files /dev/null and b/training/memory/out7.png differ diff --git a/training/memory/out8.png b/training/memory/out8.png new file mode 100644 index 0000000..9550e7e Binary files /dev/null and b/training/memory/out8.png differ diff --git a/training/memory/out9.png b/training/memory/out9.png new file mode 100644 index 0000000..165c2c2 Binary files /dev/null and b/training/memory/out9.png differ diff --git a/training/no_memory/out1.png b/training/no_memory/out1.png new file mode 100644 index 0000000..68aa49a Binary files /dev/null and b/training/no_memory/out1.png differ diff --git a/training/no_memory/out10.png b/training/no_memory/out10.png new file mode 100644 index 0000000..5ee0e27 Binary files /dev/null and b/training/no_memory/out10.png differ diff --git a/training/no_memory/out11.png b/training/no_memory/out11.png new file mode 100644 index 0000000..e0e3b8c Binary files /dev/null and b/training/no_memory/out11.png differ diff --git a/training/no_memory/out12.png b/training/no_memory/out12.png new file mode 100644 index 0000000..841f02e Binary files /dev/null and b/training/no_memory/out12.png differ diff --git a/training/no_memory/out13.png b/training/no_memory/out13.png new file mode 100644 index 0000000..b2ec144 Binary files /dev/null and b/training/no_memory/out13.png differ diff --git a/training/no_memory/out14.png b/training/no_memory/out14.png new file mode 100644 index 0000000..c98045c Binary files /dev/null and b/training/no_memory/out14.png differ diff --git a/training/no_memory/out15.png b/training/no_memory/out15.png new file mode 100644 index 0000000..c190220 Binary files /dev/null and b/training/no_memory/out15.png differ diff --git a/training/no_memory/out16.png b/training/no_memory/out16.png new file mode 100644 index 0000000..fc75f71 Binary files /dev/null and b/training/no_memory/out16.png differ diff --git a/training/no_memory/out17.png b/training/no_memory/out17.png new file mode 100644 index 0000000..e5e239b Binary files /dev/null and b/training/no_memory/out17.png differ diff --git a/training/no_memory/out18.png b/training/no_memory/out18.png new file mode 100644 index 0000000..dc8f385 Binary files /dev/null and b/training/no_memory/out18.png differ diff --git a/training/no_memory/out19.png b/training/no_memory/out19.png new file mode 100644 index 0000000..a45fd23 Binary files /dev/null and b/training/no_memory/out19.png differ diff --git a/training/no_memory/out2.png b/training/no_memory/out2.png new file mode 100644 index 0000000..b97d8e8 Binary files /dev/null and b/training/no_memory/out2.png differ diff --git a/training/no_memory/out20.png b/training/no_memory/out20.png new file mode 100644 index 0000000..ed2dcc2 Binary files /dev/null and b/training/no_memory/out20.png differ diff --git a/training/no_memory/out3.png b/training/no_memory/out3.png new file mode 100644 index 0000000..69413a3 Binary files /dev/null and b/training/no_memory/out3.png differ diff --git a/training/no_memory/out4.png b/training/no_memory/out4.png new file mode 100644 index 0000000..d07fa70 Binary files /dev/null and b/training/no_memory/out4.png differ diff --git a/training/no_memory/out5.png b/training/no_memory/out5.png new file mode 100644 index 0000000..a29cf60 Binary files /dev/null and b/training/no_memory/out5.png differ diff --git a/training/no_memory/out6.png b/training/no_memory/out6.png new file mode 100644 index 0000000..d47234e Binary files /dev/null and b/training/no_memory/out6.png differ diff --git a/training/no_memory/out7.png b/training/no_memory/out7.png new file mode 100644 index 0000000..b50435c Binary files /dev/null and b/training/no_memory/out7.png differ diff --git a/training/no_memory/out8.png b/training/no_memory/out8.png new file mode 100644 index 0000000..159046d Binary files /dev/null and b/training/no_memory/out8.png differ diff --git a/training/no_memory/out9.png b/training/no_memory/out9.png new file mode 100644 index 0000000..479d869 Binary files /dev/null and b/training/no_memory/out9.png differ