I need a python library for motorcycle detection using tensorflow

Job ID: 37719482

Budget: $250 – $750 USD

I need a python library for motorcycle detection using tensorflow

## Description:

I need a python library able to:

- Receive a tar.gz file with videos (dataset) inside divided into test and train
- A method to start the training process
- A method to query the training status
- A method to export the training result
- A method to receive the frames from RTSP (The Real-Time Streaming Protocol) and return if the pattern is present on the - video. Example https://stackoverflow.com/a/52428164/3957754
- A video explaining all your workspace and how to change the model used and how to add more parameters to improve the accuracy


## Mandatory:

- GITHUB will be used. Is not accepted other platform for source code management
- Deliverables on each milestone.
- Use docker and the latest versions of python and tensorflow.
- I DON’T HAVE VIDEOS AS DATASET. TAKE IN ACCOUNT FOR YOUR ESTIMATION
- Python 3.8 and a compatible Tensorflow version should be used
- Developer should have an ip camera for real tests (at the end task)
- Help could be required at the moment of library usage

## Architecture

- Python code should be created oriented to a library. Read this https://medium.com/analytics-vidhya/how-to-create-a-python-library-7d5aea80cc3f
- The library should be installed in another python project
- It should work on Linux

## Methods

- uploadDataset(“/tmp/dataset.tar.gz”)
Receives a tar.gz file with this structure https://i.ibb.co/f9ZsjBG/2024-02-01-20-38.png
Returns an uuid pointing to the location of received dataset

- startTraining({ "epochs": 25, "dataset_uuid": "fffb42f1-4b83-db259ca3850c”})
Receives some settings like epoch and the dataset uuid. Due to the training may take a while, this should be an async task
Returns an uuid pointing to the started job (training)

- getTrainingStatus("901b9311-9876-4539-83ac-80c8b919282f”)
Receives the training uuid
Returns a dictionary with these values { "status":"in-progress", "progress": "0% - 100%"}

- exportKnowledge(“/tmp/output.tar.gz”)
Receives a location in which the knowledge files should be compressed (success training result)

- detectFromFrames(frame)
Receives a frame obtained from frame = cap.read() Check https://stackoverflow.com/a/52428164/3957754
Returns a dictionary with these values
{“detected_class”: “class-01-motorcycle-2-people”, “accuracy”: 91 , “coordinates”: [100,451, 200, 451]}
Coordinates should be the square in video in which the motorcycle appear


## Deliverables

On each milestone

- github push to main branch
- video as demo of how it works
- video explaining the created source code

## Workflow

- Milestones of the backlog, should be estimated(time) by the developer
- Developer starts some milestone, develop and notify the task completion with the explained deliverables
- Developer should wait until the Project Manager (me) validate the feature
- If there are no errors:
- Project Manager will generate a git tag
- Developer should start the next milestone
- If there are errors:
- Developer should fix them before starting the next task

## Acceptance tests

- Application should be tested on real ip cameras

## Milestones

https://docs.google.com/spreadsheets/d/15IZ9TOJBnSjhK00Jx133yuyKm548OA5vmUhYHT7B5-E/edit?usp=sharing

## Note

Please, read carefully and ask me anything you need to avoid misunderstandings.

Check the milestone sheet, copy it and share with me your estimation (time and budget for each milestone).

Let’s start ASAP, this is the first sprint