Skip to content

kovalexal/car_plates_ocr

Repository files navigation

#Car Plates OCR

При участии в соревновании использовал свой ПК с NVME SSD и Nvidia GeForce 1080Ti, 32GB DDR4 RAM.

Что я пытался делать

  • Решил использовать pytorch-lightning для облегчения процесса обучения
  • Хотелось построить решение, использующее Mask R-CNN, взял предобученный из torchvision, обучал все части, кроме backbone
  • В качестве алгоритма OCR использовал CRNN из семинара (в качестве backbone стал использовать resnet50, увеличил размер картинки на входе до 520x115 - такой размер реального номерного знака в сантиметрах)
  • В итоге получил решение, но не увидел, что найденные номера в ответах должны были быть отсортированы по левой нижней координате маски, переделать свой код уже не успел, поскольку эта информация у меня не сохранялась
  • Взял код из baseline'e отсюда, прогнал, оценил результаты. Показалось, что дефолтный Mask-RCNN плохо находил маленькие номера на изображениях, решил, что стоит изменить якори (сделать более мелкий размер) и сделать более тяжелый backbone (resnet101), качество на public улучшилось. По моим оценкам плохо работало на тех ихображениях, где даже мне было трудно распозать номер.
  • Пытался играться с порогом отсечения для score Mask-RCNN. Придумал простую эвристику - смотреть на последовательную разницу между отсортированными score, в случае, когда разница превышает предыдущую разницу - останавливаться. Это также дало сильный прирост по качеству на public.

Что в итоге

  • На private части оказалось, что все мои попытки что-то улучшить особо не дали прироста (и лучшее решение было с самой первой посылкой), что достаточно странно.

About

MADE car plates ocr competition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published