Детектирование и локализация произвольного текста на изображениях, полученных с помощью фотокамер мобильных телефонов / Хабр
Я иногда путешествую по разным странам, и языковой барьер, довольно часто, становится серьезным препятствием для меня. И если в странах, где используются языки германской группы, я еще как то могу сориентироваться, то в таких странах как Китай, Израиль и арабские страны без сопровождающего, путешествие превращается в загадочный квест. Невозможно понять местное расписание автобусов/поездов/электричек, названия улиц в небольших городах очень редко есть на английском языке. А уж проблема с выбором, что бы поесть, из меню на непонятном языке вообще сродни ходьбы по минному полю.
Так как я разработчик под iOS, я подумал, а почему бы не написать такое приложение: наводишь камеру на вывеску/расписание/меню и тут же получаешь перевод на русский.
Краткий поиск по App Store показал, что имеется всего одно или два подобных приложения, причем русский язык не входит в число поддерживаемых. Значит, путь открыт и, можно попробовать, написать такое приложение. Тут стоит оговориться, что разговор не идет о тех приложениях, которые фотографируют черный текст на белом листе бумаги и потом оцифровывают и переводят его. Таких приложений действительно вагон и маленькая тележка. Речь идет приложении, которое может выделить текст на естественном изображении, например на фотографии автобуса необходимо выделить текст на маршрутной табличке и перевести его, чтоб пользователь мог понять, куда идет этот автобус. Или актуальный для меня вопрос с меню, очень уж хочется знать, что ты заказываешь поесть.
Основная задача в приложении, это детектирование и локализация текста, а затем его выделение и бинаризация для «скармливания» в OCR, например tesseract. И если алгоритмы по обнаружению текста в сканированных документах уже давно известны и достигли 99% точности, то обнаружение текста произвольного размера на фотографиях до сих пор является актуальной областью исследований. Тем интереснее будет задача, подумал я и взялся изучать алгоритмы.
Естественно, универсального алгоритма для нахождения любого текста на любом изображении не существует, обычно используется разные алгоритмы для разных задач плюс эвристические методы. Для начала, формализуем задачу: для наших целей необходимо найти текст, который достаточно контрастен с окружающим фоном, расположенный горизонтально, угол наклона не превышает 20 градусов, и он может быть написанный шрифтом разного размеров и цвета.
Просмотрев алгоритмы, я принялся изобретать велосипед взялся за реализацию. Решил писать все сам, без использования opencv, для более глубокого погружения в предмет. За основу взял, так называемый, edge based метод. И вот, что в итоге у меня получилось.
В начале получаем изображение с камеры телефона в формате BGRA.
Переводим его в grayscale и строим гауссову пирамиду изображений. На каждом уровне пирамиды, будем находить текст определенной размерности. На самом низком уровне мы детектируем шрифты высотой, примерно, от k до 2*k- 1 пикселей, затем от 2*k до 4*k-1 и так далее.
Применим оператор Собеля для выделения вертикальных границ. И отфильтруем полученный результат, просто удалив слишком короткие отрезки, чтобы отсечь шум.
К выделенным оператором Собеля вертикальным границам, применим морфологическую операцию закрытия. По горизонтали на ширину шрифта, а по вертикали на 5. Полученный результат опять отфильтровываем. Пропускаем только то что укладывается в высоту искомого нами шрифта от k до 2*k- 1, и длиной не менее 3-х символов. Получаем вот такой результат.
Проделываем те же операции со следующим уровнем пирамиды.
Потом объединяем все результаты в один. Затем в выделенной области делаем адаптивную бинаризацию и получаем в итоге такое изображение. Оно уже вполне пригодно для дальнейшего распознавания в OCR. Видно что самый большой шрифт не определился, из за того что не хватает еще одного изображения в гауссовой пирамиде.
Ниже приведены примеры работы алгоритма на более сложных изображениях, видно что еще требуется некоторая доработка.
P.S. На вопросы отвечу в коментах, про грамматические ошибки пишите в личку.
Как скопировать текст с фото и видео на Mac, iPad и iPhone?
Оглавление
- 1 Как активировать функцию Live Text в iPhone?
- 2 Как выделить текст на фото в iOS?
- 3 Как распознать текст на видео в iOS?
- 4 Как активировать функцию Live Text в Mac?
- 5 Как выделить текст на фото в macOS?
- 6 Как распознать текст на видео в macOS?
Иногда важная текстовая информация размещена прямо на картинке. Это может быть адрес бутика на страничке модного журнала, формула расчёта в презентации или фотография банковской карты в личном сообщении. Всегда можно переписать данные, но это займёт время, да и ошибки не исключены. Хорошо, что в macOS, iPadOS, iOS есть функция Live Text: в несколько кликов можно скопировать текст с фото или видео. Она доступна во встроенных приложениях «Фото», Quick Time, Safari. И сегодня i–Store разбирается во всех тонкостях её работы.
Как активировать функцию Live Text в iPhone?Хотя функция и вшита в систему, она не работает по умолчанию. Поэтому первым делом её нужно активировать. В iOS и iPadOS тумблер расположен в разделе «Язык и регион».
- Зайдите в «Настройки» устройства, а затем в раздел «Основные».
- Выберите «Язык и регион» и спуститесь вниз списка.
- Активируйте пункт Live Text («Сканер текста»).
После этого функция распознавания текста сработает как с фото, так и с видео. Вы можете скопировать его в буфер обмена, чтобы затем вставить в другие приложения. Только убедитесь, что на вашем
Список устройств, которые поддерживают Live Text:
- iPhone XR;
- iPhone XS;
- iPhone XS Max;
- iPhone 11;
- iPhone 11 Pro;
- iPhone 11 Pro Max;
- iPhone 12;
- iPhone 12 mini;
- iPhone 12 Pro;
- iPhone 12 Pro Max;
- iPhone 13;
- iPhone 13 mini;
- iPhone 13 Pro;
- iPhone 13 Pro Max;
- iPhone 14;
- iPhone 14 Plus;
- iPhone 14 Pro;
- iPhone 14 Pro Max.
Сканер текста – это идеальный вариант для тех пользователей, которые не хотят устанавливать на свой iPhone ничего лишнего. Кроме того, пусть сторонние сервисы и существуют, но тягаться с Apple непросто. Live Text работает быстро, точно и может распознавать большие объёмы информации сразу. Как это работает?
- Сделайте скриншот нужной информации – в нашем случае это Stories из Instagram.
- Откройте сохранившийся снимок в приложении «Фото».
- В правом нижнем углу нажмите на значок Live Text – .
- Выделите текст на фото так, как делаете это в любом текстовом редакторе.
- Скопируйте информацию в буфер обмена и вставьте её в любое нужное приложение – например, в «Заметки».
Для iPad принцип действия такой же.
Как распознать текст на видео в iOS?Самое важное, о чём вы должны знать: скопировать текст из видео на iPhone можно только в приложении Safari. Именно поэтому YouTube и другие сервисы нужно запускать не через их официальные приложения, а в самом браузере. Давайте прямо сейчас проверим, насколько корректно работает эта функция.
- Найдите фильм с текстом на экране.
- Запустите его в Safari на своём iPhone и разверните видео на весь экран.
- Найдите момент, где на экране будет текст, и нажмите на паузу.
- Удерживайте текст пальцем, пока не появится возможность выделения нужных слов. Если хотите скопировать фразу целиком, нажмите на иконку квадрата в правом нижнем углу.
- Выделите нужную фразу, после чего появится кнопка «Скопировать».
Кстати, помимо этого, пользователю предлагаются и другие варианты. Вы также можете «Перевести» фразу на другой язык, «Искать в интернете» по этому запросу, «Отправить» другим пользователям. А если удерживать выделенный текст, то можно даже сразу перенести его в заранее открытое приложение.
Таким же образом можно скопировать текст из видео во встроенном приложении «Фото». Поэтому вы можете скачивать видео из Интернета или записывать собственные ролики – и затем отсматривать их на iPhone.
Лайфхак. Если у вас нет времени скачивать видео сети или вы и вовсе не можете найти его в поисковике Safari, воспользуйтесь любым другим сервисом для просмотра видео и просто запишите экран своего iPhone или iPad! Запись сохранится в вашу галерею, а приложение Фото, как вы уже знаете, поддерживает функцию распознавания текста.
Так же, как и в iOS, функция распознавания текста встроена в macOS, но не работает по умолчанию. Активировать её – секундное дело.
- Нажмите на иконку яблока на панели управления Mac.
- Выберите меню «Системные настройки».
- Зайдите в раздел «Основные», а затем в пункт «Язык и регион».
- Поставьте флажок напротив функции «Сканер текста». Вуаля, теперь система сможет распознать текст на фотографиях и видео на Mac.
Кстати, для распознавания фото убедитесь в том, что на вашем устройстве была установлена версия не старше macOS Monterey, а для видео – macOS Ventura 13.1.
Как только вы активируете функцию, она будет работать автоматически. Ничего особенного делать не нужно. Можно сказать, что Mac всё сделает за вас.
- Откройте приложение «Фото» на Mac.
- Наведите курсор на текст на фотографии и выделите его – так, как делаете это в Word или Pages.
- Скопируйте выделенную фразу или выберите любое другое доступное действие.
Эту функцию точно оценят по достоинству любители различных видеоинструкций и обзоров – например, техники, книг, рецептов. Вместо того, чтобы переписывать технические характеристики нового Mac, просто скопируйте их из видео и вставьте себе в «Заметки» (конечно, при условии, что его автор добавил их в свой ролик).
Рассказываем, как же это сделать.
- Откройте видео в браузере Safari или в приложении «Фото».
- Остановите видео на нужном моменте и нажмите на кнопку Live Text в правом нижнем углу экрана – . Если вдруг она не появилась, то выделите текст так, как делаете это в любом текстовом редакторе.
- Выделив нужный фрагмент, не переводите с него курсор и нажмите на тачпад MacBook двумя пальцами или, если работаете с мышкой, то на её правую кнопку.
- В появившемся списке действий выберете «Копировать» или любое другое.
Если вдруг системе не удаётся распознать текст на видео, попробуйте сделать скриншот экрана и вернитесь к инструкции по распознаванию текста на фото. А ещё можно предположить, что дело в плохом качестве видео или в языке, который не поддерживает ваше устройство. Ну, или вы всё же проигнорировали обновление до macOS Monterey.
Чётко следуйте нашей инструкции – и у вас непременно всё получится!
ЧИТАЙТЕ ТАКЖЕ:
Как загрузить фото в Instagram c Mac?
Как подключить наушники AirPods к компьютеру Mac?
Красивый рабочий стол на iPhone: как создать свои виджеты и изменить иконки в iOS?
Будьте в курсе всегда!
Подпишитесь на рассылку и узнавайте первым о новых акциях и спецпредложениях магазина!
EmailВаш email
NameВаше имя
Мультипоиск Google – одновременный поиск по изображению и тексту
Барри Шварц, 7 апреля 2022 г. , 9:00 | Время чтения: 3 минуты
Мультипоиск Google — это новейшая инновационная функция поиска Google, которая позволяет выполнять поиск по изображению, а затем добавлять текст к этому конкретному поиску изображения. Google говорит, что это позволяет искателям «выходить за рамки окна поиска и задавать вопросы о том, что вы видите».
Что такое мультипоиск Google. Мультипоиск Google позволяет использовать телефон с камерой для поиска по изображению с помощью Google Lens, а затем добавлять дополнительный текстовый запрос поверх поиска изображения. Затем Google будет использовать как изображение, так и текстовый запрос, чтобы показать вам визуальные результаты поиска.
Как работает мультипоиск Google. Откройте приложение Google на Android или iOS, щелкните значок камеры Google Lens в правой части окна поиска. Затем наведите камеру на что-то поблизости или используйте фотографию в своей камере или даже сделайте снимок чего-либо на экране. Затем вы проводите вверх по результатам, чтобы вызвать их, и нажимаете кнопку «+ Добавить в поиск». В этом поле вы можете добавить текст к вашему фото-запросу.
Вот GIF-ка этого в действии, но вы можете попробовать сами на английском языке в США:
Вот статическое изображение того, как это работает:
Чем полезен мультипоиск Google. Google сказал, что эта функция может помочь вам сузить поиск, вот несколько примеров того, как может быть полезен мультипоиск.
- Сделайте скриншот стильного оранжевого платья и добавьте запрос «зеленый», чтобы найти его в другом цвете. розмарина и добавьте запрос «инструкции по уходу»
MUM еще не в мультипоиске. Google сделал комментарий в своем блоге, в котором говорится, что «это стало возможным благодаря нашим последним достижениям в области искусственного интеллекта, которые упрощают понимание окружающего мира более естественным и интуитивно понятным способом. Мы также изучаем способы улучшения этой функции с помощью MUM — нашей последней модели искусственного интеллекта в поиске — чтобы улучшить результаты для всех вопросов, которые вы могли себе представить».
Я спросил Google, использует ли мультипоиск Google в настоящее время MUM, и Google сказал, что нет. Подробнее о том, где Google использует MUM, см. в нашей статье о том, как Google использует искусственный интеллект в поиске.
Доступно на американском/английском языках. Эта функция уже доступна для меня и должна быть доступна как «бета-функция на английском языке в США». Гугл сказал. Google также рекомендовал вам попробовать его с поиском покупок.
Почему это нас волнует. По мере того, как Google выпускает новые способы поиска для потребителей, ваши клиенты также могут получать доступ к вашему контенту на вашем веб-сайте новыми способами. То, как потребители получают доступ к вашему контенту, будь то поиск на рабочем столе, мобильный поиск, голосовой поиск, поиск изображений, а теперь и мультипоиск, может иметь значение для вас с точки зрения вероятности того, что этот клиент может совершить конверсию, на каком этапе покупательского цикла находится искатель и т. д.
Добавьте Search Engine Land в свою ленту новостей Google.
Истории по теме
Новое в поисковой системе
Об авторе
Как искать текст в картинках Google?
Опубликовано 11 сентября 2019 г., 8:18:44 Мишель Штернбауэр | Поделиться
Google Фото предоставляет множество методов поиска в вашей личной библиотеке фотографий. Тем не менее, один из компонентов поиска и индексации изображений Google, который некоторое время был в списках пожеланий пользователей, — это способность платформы распознавать текст в изображениях.
Есть ли у Google OCR?
Компания Google Photos недавно объявила о выпуске функции, позволяющей пользователям искать текст внутри изображения. Google очень тонко раскрыл эту новую функцию в Твиттере, ответив на запрос подписчика.
Используя оптическое распознавание символов (OCR), Google Фото теперь может распознавать текст на изображении, даже если символы сняты под углом или перекошены.
Вот пример:
Это изображение лужайки перед домом имеет в композиции два знака. Каждый знак содержит слова с использованием разных шрифтов, размеров и положений, и слова показаны под разными углами наклона. Пользователь может искать это изображение в своем хранилище Google Фото, используя полный или частичный объем текста.
Помимо распознавания любого текста в условиях поиска в Google Фото, Google Lens также может индексировать этот текст для будущих поисков.
Эта функция медленно развертывается для использования на мобильных устройствах, поэтому следите за ней в приложении Google Фото для Android и iPhone.
Google OCR в изображениях: потенциальное влияние
Если Google OCR в изображениях получит широкое распространение и использование, это может расширить некоторые из текущих усилий, используемых как в области маркетинга в социальных сетях, так и в области поисковой оптимизации (SEO). Это может привести к нетривиальному прогрессу с точки зрения создания контента, позиционирования и стратегии, поскольку изображения, которые в настоящее время используются на платформах социальных сетей и в Интернете, пользуются своими подписями или атрибутами альтернативного текста.
Вот пример:
LinkedIn – это платформа, которая в настоящее время ограничивает количество символов, выполняющих функцию замещающего текста, примерно 125. Распознавание изображений Google обеспечит еще один уровень индексации и еще одну точку данных для использования при поиске по ключевым словам.
Тем не менее, по-прежнему важно использовать и включать замещающий текст во все используемые изображения.
Также важно начать думать о том, как оптимизировать для Google OCR изображения в ваших стратегиях маркетинга и SEO в социальных сетях. Это может повлиять на контент изображений, который вы создаете для своих учетных записей в социальных сетях и на веб-сайте, а также на органический контент, который вы побуждаете своих подписчиков создавать.
Если вы управляете маркетингом вашей компании в социальных сетях или поисковых системах, важно учитывать, как Google начнет влиять на поисковые запросы ваших мобильных пользователей и что привлекает трафик на ваш веб-сайт.
Например:
Использование названия вашей компании, ключевого слова с длинным хвостом и хэштегов должно быть включено во все большее количество изображений, которые вы размещаете в своем контенте в социальных сетях. Этот текст больше не нужно размещать прямо поверх изображения. Текст может быть размещен с использованием более мягких методов, таких как текстовый контекст в качестве вторичного фокуса изображения.
Но сейчас вам важно знать, как использовать эту функцию на вашем телефоне:
Как искать текст внутри изображения в Google Фото
- Откройте приложение Google Фото.
- Нажмите на строку поиска и введите то, что вы ищете. Например, если вы сделали скриншот в Yelp или Google Maps кафе, которое хотите посетить, просто введите кофе или название заведения.
- Когда Google обнаружит изображение для вас, нажмите на него.
- Нажмите кнопку Google Lens в нижней части экрана. Это квадрат с точкой в центре.
- Google выделит весь текст на фотографии.