Рубрика «распознавание текста»

Привет! В этой серии статей приведу краткий перевод с английского языка первой главы книги Майкла Нильсона «Neural Networks and Deep Learning».

Перевод я разбил на несколько статей на хабре, чтобы было удобнее читать:
Часть 1) Введение в нейронные сети
Часть 2) Построение и градиентный спуск
Часть 3) Реализация сети для распознавания цифр
Часть 4) Немного о глубоком обучении

Введение

Человеческая визуальная система — одна из самых удивительных на свете. В каждом полушарии нашего мозга есть зрительная кора, содержащая 140 млн. нейронов с десятками млрд. связей между ними, но такая кора не одна, их несколько, и вместе они образуют настоящий суперкомпьютер в нашей голове, лучшим образом адаптированный в ходе эволюции под восприятие визуальной составляющей нашего мира. Но трудность распознавания визуальных образов становится очевидной, если вы попытаетесь написать программу для распознавания, скажем, рукописных цифр.
image
Простую интуицию — «у 9-тки есть петля сверху, и вертикальный хвост внизу» не так просто реализовать алгоритмически. Нейронные сети используют примеры, выводят некоторые правила и учатся на них. Более того чем больше примеров мы покажем сети, тем больше она узнает о рукописных цифрах, следовательно классифицирует их с большей точностью. Мы напишем программу в 74 строчки кода, которая будет определять рукописные цифры с точностью >99%. Итак, поехали!
Читать полностью »

Данная статья является переводом статьи «Automatic text recognition in digital videos» за авторством Райнера Линхарта и Франка Штубера, Университет Маннхайма, Германия.

Краткий обзор

Мы занимаемся разработкой алгоритмов для автоматической сегментации символов в фильмах, которые извлекают текст из предисловия, титров и заключения. Наши алгоритмы используют стандартные символы текста в видео, чтобы повысить качество сегментации и, как следствие, эффективность распознавания. Как результат мы имеем отдельные символы из кадров. Их можно проанализировать с помощью любого ПО OCR. Результаты распознавания нескольких экземпляров одного и того же символа во всех последующих кадрах объединяются для повышения качества распознавания и для вычисления конечного результата. Мы протестировали наши алгоритмы в серии экспериментов с видеоклипами, записанными с телевизора, и достигли хороших результатов сегментации.
Читать полностью »

Дорогие коллеги, спешим порадовать всех, кто неравнодушен к наукоемким задачам. Сегодня мы приготовили для вас перевод любопытной публикации от экспертов по базам данных из CERN, посвященный обучению и эксплуатации нейронных сетей с помощью Python и инструментария на базе Oracle PL/SQL.

Механизм подсчета нейронной сети в PL-SQL для распознавания рукописных цифр - 1

В этой статье вы найдете пример построения и развертывания базового механизма подсчета искусственной нейронной сети с использованием PL/SQL. Статья предназначена для учебных целей, в частности для практиков Oracle, которые хотят на конкретном примере познакомиться с нейронными сетями.
Читать полностью »

В прошлый раз в статье «Поиск линии корешка на фотографиях книжных разворотов» мы обещали рассказать о том, что случается с фотографией книжного разворота после этого, а именно — про устранение перспективных искажений и разгибание кривых строк текста. Без этого получить качественные результаты OCR практически невозможно.

Итак, считаем, что мы уже нашли на фотографии линию корешка, воспользуемся этим знанием, чтобы определить ваниш-точки для страниц разворота (vanishing point). Ваниш-точки – это точки схождения параллельных прямых в перспективной проекции книги на плоскость изображения. Они обе должны располагаться на продолжении этой линии, но для каждой из страниц положение точки может быть свое. Схематически это показано на следующей иллюстрации (на самом деле, это лог для отладки). Линия корешка выделена красным, линии, пересекающиеся в ваниш-точках, – зеленым.

Устранение перспективных искажений и разгибание кривых строк на фотографиях книжных разворотов - 1Читать полностью »

Пропажа одиннадцатого числа месяца и других дат - 1

В ноябре 2012 года Рэндал Монро опубликовал комикс xkcd с календарём, в котором размер чисел каждого месяца был пропорционален тому, как часто это число упоминается в книгах по своему имени (например, «14 октября») в базе данных Google Ngrams с 2000 года. Большинство крупных дат довольно очевидны: 4 июля, 25 декабря, первое число каждого месяца, последнее число почти всех месяцев, ну и 11 сентября, оставляющее всех позади. Не так уж много дней выглядит сильно меньше остальных. К примеру, 29 февраля – крохотная точка. Но если приглядеться, можно увидеть, что 11 число каждого месяца относительно маленькое. К комиксу шло примечание: «Во всех остальных, кроме сентября, месяцах, 11-е упоминается гораздо реже остальных дат. Так было и до 11 сентября, и я не знаю, почему это так». Я покопался в данных, и думаю, что разобрался, почему.
Читать полностью »

Разве Tesseract распознаёт медленно? - 1

Работу каждой программы можно ускорить минимум в десять раз

Рабочая установка разработчиков Smart Engines

Мы расскажем о нескольких приемах ускорения распознавания с помощью OCR Tesseract. Всё рассказанное было использовано в реализации проекта, смысл которого состоял в классификации большого числа образов страниц деловых документов (таких документов как паспорт, договор, контракт, доверенность, свидетельство о регистрации и т.п.) и сохранении результатов в электронном архиве. Часть алгоритмов классификации была основана на анализе собственно образов страниц, а часть – на анализе извлечённых из образа текстов. Для извлечения текстов было необходимо распознавание с помощью OCR.

Читать полностью »

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

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

О видеопотоке и распознавании

Для начала скажем, с каким именно видеопотоком мы работаем. Читать полностью »

Постановка задачи компьютерного зрения - 1
Последние лет восемь я активно занимаюсь задачами, связанными с распознаванием образов, компьютерным зрением, машинным обучением. Получилось накопить достаточно большой багаж опыта и проектов (что-то своё, что-то в ранге штатного программиста, что-то под заказ). К тому же, с тех пор, как я написал пару статей на Хабре, со мной часто связываются читатели, просят помочь с их задачей, посоветовать что-то. Так что достаточно часто натыкаюсь на совершенно непредсказуемые применения CV алгоритмов.
Но, чёрт подери, в 90% случаев я вижу одну и ту же системную ошибку. Раз за разом. За последние лет 5 я её объяснял уже десяткам людей. Да что там, периодически и сам её совершаю…

В 99% задач компьютерного зрения то представление о задаче, которое вы сформулировали у себя в голове, а тем более тот путь решения, который вы наметили, не имеет с реальностью ничего общего. Всегда будут возникать ситуации, про которые вы даже не могли подумать. Единственный способ сформулировать задачу — набрать базу примеров и работать с ней, учитывая как идеальные, так и самые плохие ситуации. Чем шире база-тем точнее поставлена задача. Без базы говорить о задаче нельзя.

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

image

На конференции F8 для разработчиков приложений, работающих с Facebook, главный инженер компании Майк Шропфер объявил о прорыве, совершённом в области искусственного интеллекта. Поводом для заявления послужила работа двух систем ИИ.

Первая система способна распознать, какой из 487 различных видов спорта показан на видео. При этом, например, она отличает фигурное катание от хоккея. Неизвестно, насколько это проще или сложнее для ИИ, чем отличить кошку от собаки, но в любом случае, это очень интересная система. Уже хочется опробовать её, подсунув для распознавания фрагмент батальной сцены из «Властелина колец».
Читать полностью »

image

Поиск текста в изображениях — достаточно популярная функция Evernote. Мы бы хотели рассказать, как она работает и ответить на некоторые частые вопросы.

Как происходит обработка изображений

Когда в процессе синхронизации заметка отправляется в Evernote, любые ресурсы, включенные в эту заметку, с MIME-типами PNG, JPG или GIF пересылаются на отдельный набор серверов, занятых исключительно распознаванием текста во вложенных изображениях и возвращением найденных результатов. Эти результаты добавляются в заметку в виде скрытого (точнее не видимого при просмотре заметки) набора метаданных под названием recoIndex. Весь recoIndex можно посмотреть, если экспортировать заметку в файл ENEX.

Например, вот старая заметка в одном из наших аккаунтов со снимком пивной бутылки.
Читать полностью »