Giter Club home page Giter Club logo

maskprogect's Introduction

MaskProgect

Getting Started

These instructions will get you a copy of the project up and running on your local machine.

Prerequisites

python==3.7 or 3.8

Installation

1. Clone the Repo

Clone repo using git:

git clone --recurse-submodules https://github.com/rondi201/MaskProgect.git

or simply download using the url below:

https://github.com/rondi201/MaskProgect.git

and go to the project directory.

2. Setup pipenv & Install Requirements

pip install pipenv
pipenv install -r requirements.txt
pipenv shell

3. Open server directory

Go to server directory:

MaskProgect/src

4. Migrate Database

python manage.py makemigrations
python manage.py migrate

5. Make admin

To use admin panel you need to create superuser using this command:

python manage.py createsuperuser

Usage

Start server in src directory using this command:

python manage.py runserver

In your web browser enter the address : http://localhost:8000 or http://127.0.0.1:8000/

maskprogect's People

Contributors

rondi201 avatar

Watchers

 avatar

maskprogect's Issues

🐍 Реализовать поддержку REST

Необходимо переписать сервер так, чтобы он соответствовал идеи REST.

Для этого необходимо:

  • изменить систему путей так, чтобы каждому приложению соответствовал свой root (прим. для приложения с поиском отсутствующих масок - "/images/");
  • для приложения по поиску людей без масок добавить поддержку запросов GET, POST, DELETE;
  • сделать страницу "Главная" доступной по пути "/".

🐍 Добавить возможность загрузки изображений

Добавить возможность загрузки изображений через сайт в отдельную папку на сервере.

Изображения должны загружаться как через перетаскивание, так через файловый менеджер. После загрузки путь до загруженных изображений должен добавляться в базу данных.

🐍 Добавить удаление всех найденных объектов

Добавить возможность удалить из базы данных все найденные боксы людей без масок.

Данный функционал должен обеспечиваться реализацией кнопки в разделе "Результат". При попытке удаления должно появляться диалоговое окно для подтверждения действия. Во время удаления необходимо очистить таблицу BoxWithoutMask и Images, а также все загруженные изображения.

🐍 Реализовать Tensorboard при обучении модели

Необходимо реализовать сохранение статистики модели во время обучения с помощью инструментов Tensorboard.

Требуется сохранять следующие значения в виде графиков:

🐍 Создать макет web приложения

Создать макет веб приложения, включающий страницу главного окна, содержащую окно для перетаскивания изображения (или подключение веб-камеры, если возможно), навигационную панель сверху и контактную информацию снизу (header и footer).

🐍 Создать базу данных

Необходимо создать базу данных SQlite, которая содержит следующие таблицы:

  1. таблицу Images, которая содержит поля: id (pk), image (путь до изображения);
  2. таблицу BoxWithoutMask, которая содержит поля: id (pk), x, y (координаты верхнего левого угла бокса в пикселях), width, height (ширина и высота бокса в пикселях), source_image (fk на связанное изображение из таблицы Images)

Данные таблицы должны быть доступны через интерфейс администратора в django.

Реализовать обучение модели штатными средствами yolov5

Для реализации обучения модели штатными средствами необходимо:

  1. Реализовать код, который преобразует датасет с kaggle [1] в новый dataset, который будет использоваться для обучения yolo;
  2. Создать файл-описание датасета с расширением .yalm;
  3. Обучить yolo на данном датасете
  4. Протестировать обученную yolo модель на тестовых картинках

Для выполнения данной задачи необходимо ознакомится и инструкцией из репозитория yolo: https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data

[1] https://www.kaggle.com/datasets/andrewmvd/face-mask-detection

🐍 Добавить обработку загруженных изображений с помощью нейросети

Необходимо добавить обработку загруженных на сервер изображений с помощью нейросети Yolo.

Для этого необходимо следующее:

  • реализовать создание объекта модели и загрузку весов;
  • переписать метод-заглушку по нахождению объектов с помощью сети Yolo;
  • добавлять в базу данных найденные боксы людей без масок.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.