В данном соревновании СТАТЕРА предлагает разработать систему на основе фотографий с камер, установленных на различном расстоянии от объекта, участникам хакатона предстоит с применением технологий искусственного интеллекта создать программный модуль поиска и распознавания найденных на фотографии номеров железнодорожных вагонов, нанесенных на борт и шасси (платформу) с проверкой корректности распознавания по алгоритму создания номеров вагонов и передачей результатов по API. Использование системы распознавания номеров железнодорожных вагонов в системах динамического взвешивания позволяет исключить оператора из процесса взвешивания и автоматизировать бизнес-процессы предприятия. Решение кейса представляет собой программный код системы распознавания номеров вагонов для его встраивания в систему динамического взвешивания.
Решение представляет из себя последовательное применение моделей детекции и распознавания текста с последующей обработкой результата.
Пример предобработки модели выравнивания перспективы
До обработки | После обработки |
---|---|
![]() |
![]() |
Пример обработки изображения
До обработки | После обработки |
---|---|
![]() |
![]() |
- Склонируйте гит репозиторий;
git clone https://github.com/ankkarp/wagon-number-ocr.git
- Скачайте веса для модели детекции yolov8.pt;
- Установить 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
- Установить:
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
- Установить зависимости проекта:
pip install -r requirements.txt
- Запустите в командной строке следующую команду, предварительно заменив пути к папкам на ваши
cd путь_до_папки_с_кодом_репозитория
python aster_test.py -d "Путь до весов скаченной модели детекции" -i "путь до папки с фотографиями" -o 'название_файла_с_результатом.csv'
Мы используем комбинацию моделей для распознавания цифр с предварительной предобработкой выравниванием изображения в перспективе и последующей постобработкой в виде эвристик связанных с количеством предсказанных цифр
Состав команды "Герои 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