Описание проекта

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

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

Задача

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

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

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

Решение

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

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

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

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

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

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

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

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

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

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

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

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

Решение на основе 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, как и требовалось заказчику.

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

Хотите обсудить проект?

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