Skip to content

Цифровой прорыв 2023 - Распознавание номеров ж/д вагонов - 1 место

Notifications You must be signed in to change notification settings

ankkarp/wagon-number-ocr

Repository files navigation

ЦИФРОВОЙ ПРОРЫВ: СЕЗОН ИИ

Распознавание номеров железнодорожных вагонов

photo

Оглавление

  1. Задание
  2. Решение
  3. Запуск кода
  4. Уникальность нашего решения
  5. Стек
  6. Команда
  7. Ссылки

В данном соревновании СТАТЕРА предлагает разработать систему на основе фотографий с камер, установленных на различном расстоянии от объекта, участникам хакатона предстоит с применением технологий искусственного интеллекта создать программный модуль поиска и распознавания найденных на фотографии номеров железнодорожных вагонов, нанесенных на борт и шасси (платформу) с проверкой корректности распознавания по алгоритму создания номеров вагонов и передачей результатов по API. Использование системы распознавания номеров железнодорожных вагонов в системах динамического взвешивания позволяет исключить оператора из процесса взвешивания и автоматизировать бизнес-процессы предприятия. Решение кейса представляет собой программный код системы распознавания номеров вагонов для его встраивания в систему динамического взвешивания.

Решение представляет из себя последовательное применение моделей детекции и распознавания текста с последующей обработкой результата.

Архетиктура модели

image


Пример предобработки модели выравнивания перспективы

До обработки После обработки
image image

Пример обработки изображения

До обработки После обработки
image image

Последовательные шаги для запуска кода:

  1. Склонируйте гит репозиторий;
git clone https://github.com/ankkarp/wagon-number-ocr.git
  1. Скачайте веса для модели детекции yolov8.pt;
  2. Установить pytorch==1.12.0 и torchvision==0.13.0 под версию cuda: https://pytorch.org/get-started/locally/;

Через conda:

conda install pytorch==1.12.0 torchvision==0.13.0 pytorch-cuda={версия cuda} -c pytorch -c nvidia
  1. Установить:
pip install -U openmim
pip install chardet
mim install mmengine
mim install mmcv
mim install mmdet
mim install mmocr
pip install -U --force-reinstall charset-normalizer
  1. Установить зависимости проекта:
pip install -r requirements.txt
  1. Запустите в командной строке следующую команду, предварительно заменив пути к папкам на ваши
cd путь_до_папки_с_кодом_репозитория
python aster_test.py -d "Путь до весов скаченной модели детекции" -i "путь до папки с фотографиями" -o 'название_файла_с_результатом.csv' 

Мы используем комбинацию моделей для распознавания цифр с предварительной предобработкой выравниванием изображения в перспективе и последующей постобработкой в виде эвристик связанных с количеством предсказанных цифр

Puthon  Puthon  Puthon  Puthon  Puthon  Puthon  Puthon  Puthon 

Состав команды "Герои ML и Магии"
Анна Карпова (https://github.com/ankkarp) - ML-engineer
Александра Куроедова (https://github.com/c-nemo) - ML-engineer
Анастасия Хан (https://github.com/Nanochka1) - Designer
Олег Сивец (https://github.com/OlegSivets) - ML-engineer
Рената Аюпова (https://github.com/kinowari) - ML-engineer

About

Цифровой прорыв 2023 - Распознавание номеров ж/д вагонов - 1 место

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •