eyrafir / SKUD_Avto

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SKUD Avto

Image alt

Система контроля и управления доступом для автомобилей, с определением номеров и классификацией машин.

Описание проекта

Система предназначена для детекции и распознавания номеров обычных автомобилей, а также детекции автомобилей специального назначения (скорая, пожарная, полиция). Если к шлагбауму подъезжает обычный автомобиль, то система сверяет номер машины с его наличием в базе данных и предоставляет доступ при нахождении номера. При детекции спецавтотранспорта доступ предоставляется минуя базу данных с номерами.

Видеопрезентация работы системы

Image alt

https://youtu.be/_NTpVR3EmIg

Стек

  • Разпознавание автомобилей и номеров - нейросети YOLO (детекция и классификация) и ResNet18 (распознавание номера). Работает достаточно точно и быстро.
  • База данных - SQLite, SQLAlchemy.
  • Управление системы - сервер на Flask:
    • Вход по логину и паролю.
    • Просмотр видеопотока с камеры в режиме real-time.
    • Просмотр текущих номеров в базе данных, а также редактирование и удаление.
    • Просмотр логов со всеми вьездами.
    • Активные заявки на добавление новых номеров, получаемые из телеграм бота.
  • В качестве источника сигнала можно использовать любое устройство видеозахвата (ip-камера, веб-камера, видеозапись)
  • Telegram Bot для приема заявок

Слайды с работой проекта

Иллюстрация к проекту

Архитектура

Image alt

Нейросети

Image alt

Интерфейс

Image alt

Telegram Bot

Image alt

Installation

  1. Clone Project
git clone git@github.com:pavelorlovyeah/SKUD_Avto.git
cd SKUD_Avto
  1. Create env via conda with Python 3.7
conda create -n SKUD_Avto_Env python=3.7
  1. Install requirements_pavel.txt
pip install -r requirements_pavel.txt
  1. Models checkpoints model.zip must be downloaded and unzipped in data folder on local machine Image alt

  2. Start project with run.py

python3 run.py

Optionally

  1. If you want to change user login, password or telegram bot token, edit config.py

  2. If you want to run telegram bot you need in another terminal window run bot.py (don't forget insert bot token from BotFather in config.py)

python3 bot.py

Dataset

dataset.zip

The project was developed by:

About


Languages

Language:Python 89.4%Language:Jupyter Notebook 6.2%Language:C++ 2.4%Language:HTML 1.1%Language:Shell 0.5%Language:Dockerfile 0.3%Language:CMake 0.0%