В данной работе авторами рассматривается задача создания алгоритма способного распознавать текст субтитров при любых даже наиболее проблемных видеорядах и возвращать его вместе с временными метками пользователю.
Ключевые слова: OCR, видео, субтитры, анализ.
В связи с развитием информационных технологий, методы передачи и получения информации постоянно меняются от использования наиболее эффективных решений, как например текст, к решениям удобным для человеческого восприятия, но более затратным, с точки зрения передачи данных. Одним из возможных решений в наши дни является видео, в связи с массовым распространением и доступностью таких сервисов как YouTube, Twitch и т. п., ставшее одним из главнейших способов передачи информации. Однако видео материалы, как способ фиксирования тех или иных событий, рассчитаны на использование основных чувств человека, а именно зрение и слух. Для людей, которые, в данный момент, или вовсе не имеют возможности слушать звуковую составляющую видео, в наше время существуют субтитры. Текст субтитров является важной частью видеоматериала для понимания информации и её анализа. В данной работе рассматривается решение проблемы, появившейся вследствие существования субтитров, встроенных в видеопоток и соответственно, не имеющих текстовой версии, что не позволяет взаимодействовать с текстом в привычном варианте.
Авторы данной статьи поставили задачу создания алгоритма способного распознавать текст субтитров при любых даже наиболее проблемных видеорядах и возвращать его вместе с временными метками пользователю. Данную задачу можно разбить на несколько этапов: устранение шумов, обнаружение субтитров, определение кадров, содержащих текст, поиск моментов его смены и распознавание текста
Проблема распознавания текста на изображении, в английской литературе называемая Optical Character Recognition (OCR) или оптическое распознавание символов, ставится как задача получения текста, присутствующего на изображении. При попытке применить тот же подход к видео файлу, мы встретимся со следующими трудностями: в отличии от обычного OCR не на каждом кадре видео присутствует текст, что вызывает необходимость разделения кадров на имеющие и не имеющие субтитры и отделения таковых от текста, существующего в видео на фоне. Другое немаловажное отличие от стандартной задачи OCR — временные рамки. Временные рамки — это границы времени, указывающие время начала и конца отображения строки субтитров. Их получение также является одной из задач, поставленных в данной работе.
Выбрав кадры с текстом субтитров, мы переходим к задаче оптического распознавания символов, которая делится на два этапа: предобработка и распознавание.
Цель предобработки — это повышение качества последующего распознавания, посредством максимально возможного “очищения” изображения или в нашем случае кадра от всего, что не является необходимым для распознавания.
Обычно предобработка для OCR состоит из следующих целей [4]:
– выравнивание текста до стандартного горизонтального;
– шумопонижение;
– бинаризация;
– удаление линий;
– анализ структуры, например, таблиц в строках и столбцах которых может находиться искомый текст;
– обнаружение текста;
– распознавание шрифта;
– локализация символов;
– нормализация размера и пропорции изображения.
Учитывая, что цель работы — это получение субтитров, то ввиду их природы, список принимает другой вид. Выравнивание текста в случае с субтитрами не является необходимым, так как они изначально текст и соответственно горизонтальны. Удаление линий не является конкретной задачей, а является частью задачи по отделению субтитров от фона, которому принадлежат горизонтальные линии. В вышеуказанном списке целей она обозначена как шумопонижение. Отсутствие структуры видео устраняет необходимость её анализа. Распознавание шрифта необходимо при смене такового в тексте для подбора соответствующего алгоритма. Однако для удобства восприятия зрителя, шрифт редко меняется по середине видео. При этом шрифт определяется с помощью стандартов [1], соответственно, проблема распознавания шрифта исчезает. Учитывая, что размер изображений одинаковый, так как это кадры одного видео, исчезает задача нормализации размера и пропорций изображений. Список целей предобработки можно представить следующим образом:
– шумопонижение;
– бинаризация;
– обнаружение текста;
– локализация символов.
Последним, но не менее важным этапом является распознавание текста. Распознавание текста может быть сложной задачей в зависимости от работы, проделанной на этапе предобработки, цель которой его упростить. Дополнительным фактором, упрощающим решения данной задачи, является правильный подбор алгоритма, учитывающего особенности искомого текста.
Проблему получения субтитров, встроенных в видеопоток, уже пытались решать при помощи выделения границ текста субтитров [8], алгоритм показал неплохую точность. Недостатками работы алгоритма являются его ограничение на положение субтитров снизу, а также отсутствие способа классификации кадров, имеющих в наличии субтитры. Вместо этого, в данном методе, был выбран сегмент видео на всём промежутке которого присутствуют субтитры. Также у алгоритма имеются проблемы при работе с видео, содержащим контрастные элементы, присутствующие, например, в анимации.
В работе Zarifar B. [9], которая представляет алгоритм для локализации и классификации субтитров в ТВ видео, была попытка показывающая неплохие результаты, но она непосредственно использует особенности телевизионного сигнала и приставки его расшифровывающей для своей работы и поэтому не подходит для работы с обычным видео.
При решении данной проблемы имело место и использование нейронных сетей [7] которое не имеет ограничений в подходе выделения границ [8]. Существующий алгоритм, как и предыдущий, использовал информацию о соседних кадрах для повышения качества распознавания. В конечном счёте, алгоритм показал неплохие результаты в 86\ % точности распознавания текста, но кадры не получали никакой предобработки, что позволяет сделать предположение о возможном улучшении результатов.
При рассмотрении существующих программных решений, были обнаружены следующие варианты: SubRip [5], CCExtractor [3], Burnt-in subtitle extractor [2] и videocr [6]. Большинство данных решений за исключением SubRip используют Tesseract для распознавания текста с кадров видео. SubRip, в свою очередь, требует точной настройки человеком, который выберет параметры предобработки, укажет локацию субтитров, а также исправит ошибки посимвольного распознавания. Следовательно, алгоритм нельзя назвать автоматическим. CCExtractor и Burnt-in subtitle extractor уже более автоматизированные решения, которым тем не менее, тоже необходим человек для указания цвета субтитров для предобработки в обоих программах и цветов контуров в Burnt-in subtitle extractor. Последнее решение videocr не использует предобработку, а полагается полностью на Tesseract с последующим анализом результатов. Положительное отличие от остальных является максимально автономным c опциональными параметрами настройки распознавания. Однако сам по себе Tesseract не показывает достаточно хороших результатов, так что есть предположение о возможности улучшения алгоритма.
Таким образом на данный момент не существует оптимального решения данной проблемы. Тем не менее результаты указывают на возможность создания такового, что будет сделано в последующих статьях.
Литература:
- BBC Subtitle Guidelines. [Электронный ресурс]: https://bbc.github.io/subtitle-guidelines/
- Burnt-in subtitle extractor. [Электронный ресурс]: https://github.com/roybaer/burnt-in-subtitle-extractor
- CCExtractor's home page. [Электронный ресурс]: https://www.ccextractor.org/start
- Optical Character Recognition (OCR) — How it works. [Электронный ресурс]: Nicomsoft.com.
- SubRip Official cite. [Электронный ресурс]: https://sourceforge.net/projects/subrip/
- Videocr. [Электронный ресурс]: https://github.com/apm1467/videocr
- Xiaoou Tang и др. A spatial-temporal approach for video caption detection and recognition // IEEE Transactions on Neural Networks. 2002. Т. 13. № 4. С. 961–971.
- Yongjiu L. и др. Video Subtitle Location and Recognition Based on Edge Features // 2019 6th International Conference on Dependable Systems and Their Applications (DSA).: IEEE, 2020.
- Zafarifar B., Jingyue Cao, With P. H. N. de. Instantaneously responsive subtitle localization and classification for TV applications // IEEE Transactions on Consumer Electronics. 2011. Т. 57. № 1. С. 274–282.