В приложении Google Lens теперь есть функция прослушивания и перевода текста с изображения. Система сначала распознает куски текста на изображении, формирует структурированный текст из кусков, переводит текст и озвучивает перевод. Google презентовали функцию на конференции I/O 2019. Приложение должно помочь людям, у которых есть проблемы с чтением и переводом текста. Теперь приложение доступно в Google Play Store для всех пользователей.
По всему миру около 800 миллионов взрослых людей не умеют читать и писать. Мигранты сталкиваются с проблемой языкового барьера первое время переезда в страну. Именно с целью помощи таким людям Google обновили функционал Google Lens. Google Lens использует компьютерное зрение, машинное обучение и граф знаний Google. Основная проблема в обучении такой модели — требования к легковесности. Система должна работать на любом смартфоне на Android.
Захват изображения
Исследователи разработали две стратегии для захвата, чтобы балансировать между задержкой захвата кадра и производительностью. Для этой части системы использовалась CameraX архитектура. На смартфонах последних моделей, которые способны предоставлять постоянный поток кадров в высоком разрешении, изображение захватывается мгновенно. На более медленных смартфонах захват изображения происходит при нажатии на кнопку, чтобы не нагружать CPU.
Распознавание текста
После того как изображение получено, система должна распознать буквы, которые составляются в слова, предложения и абзацы. Чтобы сделать это, изображение отправляется на сервер Lens, где оно обрабатывается. Затем применяется оптическое распознавание символов (OCR). Нейросеть выдает границы распознанных букв, которые объединяются в строки текста.
Объединение символов в слова — это двухступенчатый последовательный процесс. На первом шаге применяется — Hough Transform, которая предполагает, что текст расположен на параллельных линиях. На втором шаге используется Text Flow, который распознает текст, не расположенный на параллельных линиях.
Все шаги от распознавания шрифта и направления текста до распознавания текста выполняются отдельными сверточными нейросетями с дополнительной LSTM нейросетью.
Объединение блоков текста в структурированный текст
Когда отдельные слова распознаны, нужно определить, как объединить их в текст. Эта задача решается с помощью сверточной нейросети, которая распознает последовательные блоки текста. Для перевода структурированного текста используется модель из Google Translate.
Воспроизведение текста вслух
Последний шаг в системе — воспроизведение текста перевода. Для этого используется сервис Google Text-to-Speech (TTS). Нейросеть основана на WaveNet архитектуре от DeepMind.