Ноутбук по соревнованию https://www.kaggle.com/c/car-plates-ocr-made Результат - 6 место.
Работа велась в колабе, поэтому при локальном запуске придется закомментировать часть строк, которые обращаются к гугл диску для загрузки весов и картинок.
За основу брался бейзлайн https://www.kaggle.com/alyar88/maskrcnn-bb-x-mask-crnn-0-53 Сам по себе на паблике он давал скор 0.75886, после доработок он стал давать скор 0.52895
По коду есть комментарии, если коротко, то была первая модель, которая искала прямоугольники с номерами на фото, и вторая, которая распознавала номера по кропам номеров.
Список изменений:
- Добавил замену кириллицы на латиницу в метках тренировочного датасета.
- Уменьшил соотношение трейн и вал датасетов - 0.8.
- Расширил модель распознавания номеров, добавив слой энкодера из одного из заданий по курсу NLP.
- Веса OCR модели несколько раз сохранялись на диск и потом дообучались.
- Нашел лики теста в трейне, писал об этом https://www.kaggle.com/c/car-plates-ocr-made/discussion/155655 , и добавил эту информацию в сабмит.
Это все действия, которые принесли максимальный скор, хотя до окончания соревнования на паблике было 24 место.
Ссылка на ноутбук на колабе https://colab.research.google.com/drive/1Izf6oz3B-c0Xovsbl_uluyC1kgq4eNZD?usp=sharing
Ссылка на файлы с весами https://drive.google.com/file/d/1NdVAmfkMgBtejIduCAp0jorCwIjJRX6P/view?usp=sharing и https://drive.google.com/file/d/1EscK68BksQuhLI8YRPM2nEAq6LUeCmDL/view?usp=sharing , если надо будет проверить работоспособность кода.
За время контеста пробовал и другие изменения: разные значения гиперпараметров, стандартные трансформации, другие оптимизаторы, изменения lr, создавал третью модель, которая должны была работать после предсказаний первых двух моделей и выполнять функции как бы корректора опечаток (реализация осталась в закомментированном коде в конце ноутбука).