/2nd-place-solution-NTO-AI-2022

2nd place Solution for NTO AI 2022. Optical Character Recognition + Instance Segmentation for russian and english languages

Primary LanguageJupyter Notebook

Задача по распознаванию рукописного текста в школьных тетрадях

Соревнование проводилось в рамках олимпиады НТО, при поддержке Сбера на платформе ODS.

leaderbord

Задача

Вам нужно разработать алгоритм, который способен распознать рукописный текст в школьных тетрадях. В качестве входных данных вам будут предоставлены фотографии целых листов. Предсказание модели — список распознанных строк с координатами полигонов и получившимся текстом.


Как должно работать решение?

Последовательность двух моделей: сегментации и распознавания. Сначала сегментационная модель предсказывает полигоны маски каждого слова на фото. Затем эти слова вырезаются из изображения по контуру маски (получаются кропы на каждое слово) и подаются в модель распознавания. В итоге получается список распознанных слов с их координатами.


Модели

Instance Segmentation Open In Colab

  • Мы использовали модель R101-FPN из зоопарка моделей detectron2 в совокупности с аугментациями и высоким разрешением

Optical Character Recognition (OCR) Open In Colab

  • архитектура CRNN с бекбоном Resnet-34, предобученным на синтезе от StackMix

Вычислительные мощности & Submit


Christofari с NVIDIA Tesla V100 и образом jupyter-cuda11.0-tf2.4.0-gpu:0.0.76

Submit можно найти по ссылкам: One Drive и Yandex

Цитирование

@misc{nto-ai-text-recognition,
  author =       {Ilia Kuleshov and Danil Astafurov},
  title =        {notebook-recognition},
  howpublished = {https://github.com/Anonumous796/2nd-place-solution-NTO-AI-2022},
  year =         {2022}
}