Распознавание диалоговых пузырей на рисунках манги
Апрель 2023

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

Распознавание диалоговых пузырей на рисунках манги
Направления
Разработали кроссплатформенное решение для европейского издателя японской манги. Издатель получает комиксы манга в формате книги inDesign от японских издательств, которые при помощи нашего CV-решения распознаются и переводятся на нужный издателю язык.

Задача

Клиенту было необходимо решение, которое будет распознавать текст в диалоговых пузырях на изображениях манги. Но более конкретно было нужно:

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

При этом решение должно корректно работать с изображениями в формате TIF и уметь помещать перевод текста на изображения в формате indesign. Также есть требования к кроссплатформенности - приложение должно корректно работать под MacOS и Linux.

Решение

В решении этой задачи можно выделить следующие сложности:

  1. Японский язык. Большинство моделей OCR работают с более распространенными языками. Есть модели OCR, обученные японскому языку, но их мало.
  2. Вертикальное направление текста. Опять же, большинство моделей OCR обучались на наборах данных с горизонтальным направлением текста.

Решение на основе PaddleOCR

Первым делом мы обработали изображения с помощью PaddleOCR. PaddleOCR содержит мультиязыковую модель распознавания, включая японский и китайский, и отдельную сетку для распознавания направления текста.

Результаты получились неудовлетворительными (найденный текст выделен зеленым цветом, распознанный текст напечатан синим цветом слева вверху).

PaddleOCR довольно плохо детектит текст, и не весь найденный текст распознает. Также есть проблемы с распознаванием текста, расположенного под углом, и путаница с направлением текста.

Решение на основе MangaOCR

Затем мы обратились к MangaOCR, которая обучалась на японском тексте с упором на японскую мангу.

Ниже приведены результаты распознавания кусочков с текстом моделью MangaOCR (слева кусочек исходного изображения с текстом, справа распознанный текст).

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

Решение на основе Manga-Text-Segmentation

Модель Manga-Text-Segmentation находит текст на входных изображениях, работает с японскими языками и также специализируется на манге. Таким образом, она подходит для удаления текста с изображений.

Мы применили модель к тому же изображению. Результаты получились самыми удовлетворительными. Ниже слева представлено исходное изображение, справа - результат сегментации: пиксели, соответствующие тексту, показаны белым цветом, остальные пиксели — черным.

Мы можем рассматривать изображение справа как маску, с помощью которой можно удалить текст с изображения. Если сделать области с текстом более жирными (используя метод cv2.dilate библиотеки openCV), тогда сможем корректно очистить области с текстом и удалить все ненужные артефакты. Подход оказался рабочим.

Решение на основе обобщенного подхода

Мы решили объединить в один алгоритм две модели, каждая из которых успешно решает отдельную подзадачу проекта следующим образом:

  1. Сегментация текста на входном изображении с использованием модели Manga-Text-Segmentation.
  2. Кластеризация сегментированного текста. В результате этого шага мы получим ограничивающие рамки всех частей изображения с текстом, как показано ниже.
  3. Распознавание текста внутри ограничивающих рамок, найденных на предыдущем шаге, с использованием модели MangaOCR и сохранением результата в текстовый файл.
  4. Удаление текста с исходного изображения.

Проблемы выбранного подхода

Неровный фон

Иногда очищение текста с исходного изображения получается неидеальным. Чаще всего причина кроется в том, что комиксы и фон, на котором располагается текст, довольно неоднородны, поэтому алгоритм иногда удаляет лишние элементы, либо не удаляет текст до конца.

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

Неправильная сегментация текста

Иногда модель Manga-Text-Segmentation находит текст там, где его нет, и поэтому неправильно подчищает изображение.

Поэтому мы применили модель Manga-Text-Segmentation не ко всему изображению, а к его частям. Результаты получились лучше, но все же были удалены незначительные части изображения.

Можно рассмотреть другие подходы для улучшения удаления текста, например Stable Diffusion model. Stable Diffusion — это генеративная модель глубокого обучения, которая используется для генерации детальных изображений на основе текстовых описаний или других изображений.

В нашем случае мы можем обучить модель так, чтобы она возвращала изображение без текста в качестве выходных данных. Но этот подход является самым сложным с точки зрения времени разработки и требуемых данных для обучения.

Поэтому мы остановились на модели Manga-Text-Segmentation, допустив при этом, что незначительные изменения исходного изображения являются вариантом нормы.

Разный размер текста

Еще одна сложность заключается в том, что модель MangaOCR плохо воспринимает текст разного размера. В приведенных ниже примерах модель распознала крупный текст, но не распознала мелкий текст между крупными иероглифами.

Эту проблему мы решили следующим образом: сначала распознаем крупный текст, затем удаляем его при помощи сегментационной маски, ориентируясь на размер букв, после чего распознаем мелкий текст.

Результаты

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

Итоговое решение успешно распознает комиксы манга с незначительно удаленными деталями, что полностью устроило заказчика.

другие наши проекты

Анализ спутниковых снимков для американского агентства недвижимости

Анализ спутниковых снимков для американского агентства недвижимости

Сервис для обнаружения лесных пожаров

Сервис для обнаружения лесных пожаров

Система оцифровки газет

Система оцифровки газет

Приложение для обработки резюме на базе ChatGPT для кадрового агентства

Приложение для обработки резюме на базе ChatGPT для кадрового агентства

Давайте найдем решение для вашего бизнеса!

Давайте найдем решение для вашего бизнеса!

Пожалуйста, заполните 'Имя'
Пожалуйста, заполните 'Телефон'
Пожалуйста, заполните 'Емейл'
Пожалуйста, заполните 'Сообщение'

Пожалуйста, заполните 'Имя и фамилия'
Пожалуйста, заполните 'Телефон'
Пожалуйста, заполните 'Емейл'
Выберите файл
Пожалуйста, выберите файл 'Резюме'
Выберите файл
Пожалуйста, прикрепите файл 'Код / ТЗ'