Как стать автором
Обновить
69
11.8

Пользователь

Отправить сообщение

Smart Tomo Engine 2.0. Выход на новый уровень

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.8K

В сегодняшней статье речь пойдет о Smart Tomo Engine 2.0  – новой версии нашего продукта реконструкции трехмерных объектов из набора их томографических проекций (рентгенограмм). По сравнению с предыдущей версией у новой выше качество получаемых изображений, существенно повышено быстродействие, улучшена технологическая совместимость с программами анализа трехмерных данных и с различными видами томографов. Заходите под кат, чтобы увидеть работу новой версии STE на примере реконструкции цветов (в честь Международного женского дня).

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии2

Распознавание корпоративных документов: как не утонуть в море бумаг?

Время на прочтение7 мин
Количество просмотров2.6K

Мы подсчитали, что ручной ввод данных из типовых форм занимает 6–7 часов в день. Автономная система Smart Document Engine на смартфоне справляется с подобной задачей буквально за минуты. В этой статье мы расскажем о самых эффективных бизнес‑кейсах применения нашей мобильной OCR.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии10

MIDV-2020: как мы создали крупнейший датасет  документов, удостоверяющих личность

Время на прочтение8 мин
Количество просмотров3.9K

В этой статье мы хотим рассказать как мы создали крупнейший на данный момент набор искусственно созданных документов с большим разнообразием типов документов, их содержания и условий съемки. Каждый из документов имеет уникальные (хоть и выдуманные) значения текстовых полей, уникальную подпись и уникальные искусственно созданные лица.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии8

Эволюция баркода

Время на прочтение17 мин
Количество просмотров11K
Баркод, безусловно, относится к одному из тех изобретений человечества, которые изменили течение нашей жизни. Благодаря появлению штрихового кодирования и его последующей эволюции, многие обыденные действия не только значительно упростились и ускорились, но иногда и приобрели неожиданные формы. В процессе нашей деятельности по разработке и улучшению алгоритмов интеллектуального распознавания документов (IDR) и движка распознавания баркодов Smart BarcodeReader мы постоянно систематизируем знания в предметной области. Понимание того, как развивается технология, позволяет нам совершенствовать наши разработки, делать их более быстрыми, точными и эффективными. Сегодня мы расскажем о том, как эволюционировал (и продолжает эволюционировать) баркод от линейного черно-белого рисунка к многомерной конструкции.


Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии10

Как мы в Smart Engines учили Sailfish OS распознаванию

Время на прочтение7 мин
Количество просмотров5.9K
Smart Engines и Sailfish OS

Всем привет! Как вы уже знаете по нашим статьям, мы в Smart Engines занимаемся распознаванием, причем распознавать мы стараемся на чем угодно и в любых условиях. Мы поддерживаем все популярные операционные системы: iOS, Android, Windows, Linux, MacOS, Solaris. Поддерживаем мы и отечественного производителя: Эльбрус и AstraLinux. Наши алгоритмы оптимизированы под ARMv7-v8, AArch64, x86, x86_64, SPARC, E2K, MIPS.


Поэтому, когда мы увидели нарастающую популярность российской операционной системы Sailfish Mobile OS RUS, мы не смогли обойти ее стороной. Sailfish Mobile OS RUS — это POSIX-совместимая операционная система для мобильных устройств, развиваемая отечественной компанией «Открытая Мобильная Платформа» для решения задач корпоративных пользователей и государственных учреждений. По состоянию на февраль 2018 года является единственной мобильной операционной системой, включенной в реестр Отечественного ПО и прошедшей сертификацию ФСБ по классу АК1/КС1.


В этой статье мы расскажем о своем опыте портирования нашей библиотеки распознавания Smart IDReader (технология Hieroglyph) на Sailfish OS. В ней будет код, ссылки и видео. Мы хотим, чтобы эта статья была технически информативной и полезной в качестве общей инструкции для тех, кто портирует С++ приложения на Sailfish OS.


Всего голосов 6: ↑6 и ↓0+6
Комментарии1

Smart IDReader SDK — как добавить распознавание в iOS приложение за 5 минут — теперь и на Github

Время на прочтение4 мин
Количество просмотров8.1K

Ранее мы, Smart Engines, уже писали про наши технологии распознавания (паспорта РФ, банковских карт и многих других). Основной ценностью SDK является "ядро" или "движок" распознавания Smart IDReader, который объединяет функциональность сканирования всего, что мы умеем сканировать, под единым интерфейсом.


Библиотека распознавания написана на С++ для достижения максимальной производительности, но для использования с различными языками программирования у нас есть версии интерфейсов библиотеки на C++, C, C#, Objective-C, Java и даже Visual Basic. Мы поддерживаем все популярные операционные системы: iOS, Android, Windows, Linux, MacOS, Solaris и, разумеется, Эльбрус и AstraLinux. Наши алгоритмы оптимизированы под такие архитектуры, как ARMv7-v8, AArch64, x86, x86_64, SPARC, E2K.


Мы решили выложить демо-версию нашего SDK на Github, чтобы вы могли ознакомиться с интерфейсом библиотеки (как Objective-C часть, так и C++), почитать документацию и попробовать встроить Smart IDReader в ваше приложение. Репозиторий с демо-версией Smart IDReader iOS SDK доступен по ссылке: https://github.com/SmartEngines/SmartIDReader-iOS-SDK


Чтобы посмотреть, как Smart IDReader выглядит в нашем исполнении после встраивания, вы можете скачать бесплатные полные версии приложений из App Store и Google Play.


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

Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии4

Многорукий бандит в задаче поиска объектов в видеопотоке

Время на прочтение7 мин
Количество просмотров6.5K
Drawing На Хабре уже неоднократно затрагивалась тема применения так называемых “бандитов” для интеллектуального анализа данных. В отличии от уже привычного обучения машин по прецедентам, которое сплошь и рядом применяется в задачах распознавания, многорукий бандит применяется для построения в некотором смысле “рекомендательных” систем. На Хабре уже очень подробно и доступно рассказано о идее многорукого бандита и применимости ее к задаче рекомендации интернет-контента. Мы же в своем очередном посте хотели рассказать вам о симбиозе обучения по прецедентам и обучения с подкреплением в задачах распознавания видеопотока.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии1

Оптимизация кода для платформы Эльбрус на простых примерах

Время на прочтение8 мин
Количество просмотров32K

"Обычно хакер пишет программы не ради выгоды,
а ради собственного удовольствия. Такая программа
может оказаться полезной, а может остаться
всего лишь игрой интеллекта."
Генри С. Уоррен. Алгоритмические трюки для программистов [1]


Сегодня мы продолжим наши заметки об Эльбрусе. Первую статью, посвященную запуску и оптимизации системы распознавания паспорта, можно прочитать тут.


image


Однажды мы с коллегами заинтересовались, как самые простые методы оптимизации работают на Эльбрусе.

Читать дальше →
Всего голосов 42: ↑36 и ↓6+30
Комментарии86

Сегментация текстовых строк документов на символы с помощью сверточных и рекуррентных нейронных сетей

Время на прочтение11 мин
Количество просмотров23K
Сегментация строки на символы является одним из важнейших этапов в процессе оптического распознавания символов (OCR), в частности, при оптическом распознавании изображений документов. Сегментацией строки называется декомпозиция изображения, содержащего последовательность символов, на фрагменты, содержащие отдельные символы.

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

Поиск границ символов усложняется из-за артефактов печати и оцифровки (сканирования) документа, приводящим к “рассыпанию” и “склеиванию” символов. В случае использования стационарных или мобильных малоразмерных видеокамер спектр артефактов оцифровки существенно пополняется: возможны дефокусировка и смазывание, проективные искажения, деформирование и изгибы документа. При съемке камерой в естественных сценах на изображениях часто возникают паразитные перепады яркости (тени, отражения), а также цветовые искажения и цифровой шум в результате низкой освещенности. На рисунке ниже показаны примеры сложных случаев при сегментации полей паспорта РФ.





В этой статье мы расскажем о методе сегментации символов текстовых строк документов, разработанном нами в Smart Engines, основанный на обучении сверточных и рекуррентных нейронных сетей. Основным рассматриваемым в работе документом является паспорт РФ.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии6

MWC-2017. Новые технологии для мобильного распознавания (3 видео + ссылки на демо в App store и Google play)

Время на прочтение3 мин
Количество просмотров3.8K

На следующей неделе в Барселоне состоится крупнейшее событие в мире мобильной индустрии — международная выставка Mobile World Congress 2017 (с 27 февраля по 2 марта 2017 г.). Команда Smart Engines покажет новые разработки по распознаванию и обработке видеопотока на мобильных устройствах: распознавание ID различных стран, детекция голограмм и динамическое панорамирование документов.



Мы подготовили небольшой обзор новых технологий (+ видео), которые покажем в Барселоне. Добро пожаловать под кат!

Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии15

Простая технология классификации распознанных страниц деловых документов на основе метода Template Matching

Время на прочтение13 мин
Количество просмотров6.2K

image


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

Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии4

Использование триграмм для коррекции результатов распознавания

Время на прочтение10 мин
Количество просмотров13K


На рисунке изображены схема из 8 возможных триграмм, взятая из книги [1]



Естественные языки могут быть охарактеризованы распределением частот встречаемости своих элементов, таких как слова, отдельные буквы или последовательности букв (N-граммы). Формально N-граммой называется строка из N символов, принадлежащих некоторому алфавиту, состоящему из конечного числа символов. О теоретических и прикладных вопросах применения аппарата N-грамм для автоматической коррекции текста можно прочесть в работе [2].



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


Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

Распознавание паспорта РФ на платформе Эльбрус. Часть 1

Время на прочтение14 мин
Количество просмотров35K

В этой статье мы продолжим рассказывать о похождениях нашей программы распознавания паспорта: теперь паспорт отправится на Эльбрус!



Итак, что же мы знаем про архитектуру Эльбрус?


Эльбрус — высокопроизводительная и энергоэффективная архитектура процессоров, отличающаяся высокой безопасностью и надежностью. Современные процессоры архитектуры Эльбрус могут применяться в качестве серверов, настольных компьютеров и даже встраиваемых вычислителей. Они способны удовлетворить повышенным требованиям по информационной безопасности, рабочему диапазону температур и длительности жизненного цикла продукции. Процессоры архитектуры Эльбрус, как говорят нам публикации МЦСТ [1, 2], предназначены для решения задач обработки сигналов, математического моделирования, научных расчетов, а также других задач с повышенными требованиями к вычислительной мощности.


Мы в Smart Engines попробовали убедиться, правда ли производительности Эльбруса достаточно, чтобы реализовать распознавание паспорта без значительных потерь в скорости работы.

Читать дальше →
Всего голосов 59: ↑50 и ↓9+41
Комментарии86

Поиск периодических элементов защиты Паспорта РФ с помощью преобразования Фурье

Время на прочтение7 мин
Количество просмотров31K
Многие документы содержат защитные элементы, такие как голограммы, водяные знаки, гильош и т.д. В процессе сканирования таких документов возникает проблема — защитные элементы мешают системам распознавания (OCR). При разработке Smart PassportReader мы провели исследование, направленное на поиск и устранение подобных защитных элементов с изображений документов.

Рассмотрим пример паспорта гражданина РФ, на котором легко увидеть периодический голографический узор.



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

В статье мы расскажем о методе определения наличия (детектирования) периодических шаблонов, использующем преобразование Фурье, который показал хорошие результаты в детектировании голографического узора на Российских паспортах.
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии18

Проблемы распознавания ID-документов на мобильных устройствах на примере машинно-читаемых зон

Время на прочтение14 мин
Количество просмотров27K

Рис. 1 — Загранпаспорт РФ с MRZ-зоной (Источник изображения: en.wikipedia.org/wiki/Russian_passport)

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

Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии2

Поиск четырёхугольников документов на мобильных устройствах

Время на прочтение6 мин
Количество просмотров13K


Некоторые из модулей распознавания документов, разработанных нашей компанией, в качестве первого этапа своей работы должны определять расположение объекта на поступающем изображении или в видеопотоке. Сегодняшняя статья посвящена одному из задействованных у нас подходов к решению этой задачи.

Постановка задачи

Для начала определим, какую информацию мы можем использовать в своих целях.
В приложениях достаточно жёстко заданы предполагаемые типы документов. Будем считать, что никто всерьёз не пытается распознать паспорт приложением для банковских карт или наоборот, а значит нам известны, как минимум, пропорции искомого объекта. Также заметим, что абсолютное большинство мобильных девайсов имеет камеры с фиксированным фокусным расстоянием.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии4

Аугментация (augmentation, “раздутие”) данных для обучения нейронной сети на примере печатных символов

Время на прочтение8 мин
Количество просмотров50K

На хабре уже есть множество статей, посвященных распознаванию образов методами обучения машин, таких как нейронные сети, машины опорных векторов, случайные деревья. Все они требуют значительного количества примеров для обучения и настройки параметров. Создание обучающей и тестовой баз изображений адекватного объема для них — весьма нетривиальная задача. Причем речь идет не о технических трудностях сбора и хранения миллиона изображений, а об извечной ситуации, когда на первом этапе разработки системы у вас есть полторы картинки. Кроме того, следует понимать, что состав обучающей базы может влиять на качество получающейся системы распознавания больше, чем все остальные факторы. Несмотря на это, в большинстве статей этот немаловажный этап разработки полностью опущен.

Если вам интересно узнать про все это — добро пожаловать под кат.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии11

Поиск периодических элементов защиты Паспорта РФ с помощью преобразования Фурье: часть вторая

Время на прочтение8 мин
Количество просмотров21K
Многие документы содержат защитные элементы, такие как голограммы, водяные знаки, гильош и т.д. В процессе сканирования таких документов возникает проблема — защитные элементы мешают системам распознавания (OCR). При разработке Smart PassportReader мы провели исследование, направленное на поиск и устранение подобных защитных элементов с изображений документов.



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

Как и в прошлый раз, для этого будет использоваться преобразование Фурье.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии2

Паспортный сканер своими руками

Время на прочтение7 мин
Количество просмотров26K


Привет, Хабр! В предыдущих статьях мы уже рассказывали вам про то, как нам удалось превратить ввод паспортных данных на мобильных устройствах из рутины в простую и быструю процедуру. Следующим закономерным шагом мы превратили наш Smart PassportReader SDK в серверную компоненту, облегчив тем самым крупным финансовым организациям работу с документами в бэк-офисах. Наконец, проявив изобретательскую смекалку и инженерный подход, нам удалось разработать программно-аппаратный комплекс (забегая вперед, представим его название — Smart PassportBox), позволяющий оптимизировать работу фронт-офисов и СКУД-решения. Поэтому, если вам интересно сколько директоров, программистов, паяльников, лобзиков и отверток требуется для создания полноценного ПАК, добро пожаловать под кат.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии12

Об одном забавном подходе к фильтрации унимодальных сигналов

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

Задача оффлайновой фильтрации сигналов в случае, когда ожидаемая форма сигнала известна с точностью до нескольких неизвестных параметров, сводится к задаче аппроксимации. Например, если известно, что сигнал линейно растет на рассматриваемом промежутке, задача сведётся к линейной регрессии, а если можно предположить, что шум — нормален, то правильным методом будет МНК. Но однажды мы столкнулись с задачей оценки формы профиля рентгеновского микрозонда (пучка), про которую априори было достоверно известно только одно: профиль унимодален, а именно имеет ровно один максимум. Оказывается, и в этом случае можно наилучшим (в смысле, например, L2 метрики) образом приблизить экспериментальный сигнал функцией, принадлежащей известному множеству (множеству унимодальных функций). Причём — с приемлемой ассимптотикой вычислительной сложности.

===> ===>
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии3
1

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность