Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (1.1%) to scientific vocabulary
Repository
Распознавание номеров в потоке
Basic Info
- Host: GitHub
- Owner: windn19
- License: gpl-3.0
- Language: Python
- Default Branch: master
- Size: 14 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
Поиск и распознавание номеров в потоке данных от видеокамеры
Описание проекта и используемые технологии
Проект создан для фиксации номеров подъезжающих к шлагбауму автомашин с российскими номерами по поступающему видеопотоку видеокамеры. Изображение идет непрерывно, необходимо записывать номер проезжающей машины в базу данных PostgreSQL в процессе.
Для вырезания номеров из входящего потока используется YOLOv5. Для дальнейшего распознавания текста изображения используется созданная на TensorFlow модель, принимающая изображение размером (50,200,3), а как результат - текст. Возвращаемые символы - ' ', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'H', 'I', 'K', 'M', 'N', 'O', 'P', 'S', 'T', 'X', 'Y', '_' - латиницей, остальные символы не возвращаются, так как не используются в российских номерах.
| Имя файла | Назначение | |:---: |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| | detect.py | нахождение номеров на изображении, вырезка их и передача их для распознавания | | plots.py | проверка попадания изображения в нужные рамки | | ocr.py | подготовка вырезанного изображения к передаче в модель, и получение текста (Для большей уверенности дополнительно используется модель распознавания символов EasyOCR) | | prepare.py | выбор из результатов наиболее часто встречающихся наборов символов и проверка их на соответствие шаблонам номеров | | model.py | построение модели для распознавания номеров | | model_pe.py | модель для использования с ORM Peewee для PostgreSQL | | add.py | добавление записи в базу данных | | settings.py | установки для запуска системы |
Установка
1) Клонируем репозиторий
bash
git clone https://github.com/windn19/NumSteam1.git
2) Устанавливаем зависимости
bash
pip install -r requirements.txt
3) Заполняем settings.py
- yoloweights - веса для нахождения номеров на изображении
- ocrweights - веса для распознавания номеров
- source - источник данных (ожидается url c видеопотоком от камеры)
- postgre - словарь с данными PostgreSQL: имя базы данных, логин, пароль, хост
4) Запускаем файл start.py
bash
python start.py
5) Запись в базу
Результаты
Входящие изображения модель обрабатывает различными способами и выравнивает по горизонтали:

Схема модели для распознавания текста на номерах:

Результаты:

Общая точность получилась в районе 0.96.
Дальнейшая работа
Осложнения связаны с тем, что LSTM - распознает только известные последовательности, и при получении новой последовательности, может терятся, то есть неправильно распознаются известные цифры в неизвестной последовательности - новые регионы, номера из других стран и тому подобное. Проводится дообучение модели для улучшения результата.
Owner
- Name: Dmitry Noskov
- Login: windn19
- Kind: user
- Location: Ekaterinburg, Russian
- Website: https://vk.com/id28770870
- Repositories: 7
- Profile: https://github.com/windn19
Python, Flask, Tensorflow, Html, CSS
Citation (CITATION.cff)
cff-version: 1.2.0
preferred-citation:
type: software
message: If you use YOLOv5, please cite it as below.
authors:
- family-names: Jocher
given-names: Glenn
orcid: "https://orcid.org/0000-0001-5950-6979"
title: "YOLOv5 by Ultralytics"
version: 7.0
doi: 10.5281/zenodo.3908559
date-released: 2020-5-29
license: GPL-3.0
url: "https://github.com/ultralytics/yolov5"
GitHub Events
Total
Last Year
Dependencies
- pytorch/pytorch latest build
- gcr.io/google-appengine/python latest build
- Pillow >=7.1.2
- PyYAML >=5.3.1
- gitpython >=3.1.30
- matplotlib >=3.2.2
- numpy >=1.18.5
- opencv-python >=4.1.1
- pandas >=1.1.4
- psutil *
- requests >=2.23.0
- scikit-image *
- scipy >=1.4.1
- seaborn >=0.11.0
- setuptools >=65.5.1
- tensorflow *
- thop >=0.1.1
- torchvision >=0.14.1
- tqdm >=4.64.0
- Flask ==1.0.2
- gunicorn ==19.10.0
- pip ==21.1
- werkzeug >=2.2.3