Как стать автором
Обновить
73
19.6

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

Отправить сообщение
А, идея ясна. Да, это действительно быстро, но на классе изображений и документов, которые хорошо поддаются бинаризации. Должны быть видны все 4 стороны и не должно быть полос внутри, иначе фейл. Неплохо подходит к съемке чего-либо формата А4 на столе, а розовые права в руках или всевозможные карточки/визитки (прозрачные, полосатые, серые в ёлочку) с бинаризацией не дружат.
Если вопрос только в скорости работы схемы перебора, то вы меня немного удивили.
Куча линий состоит из 12 штук — по 3 кандидата для каждой стороны (да, это не указано в статье, но не выписывать же сюда всю конфигурацию?), т.е. 81 возможный четырёхугольник. Почти все операции по анализу углов и начислению штрафов — это O(1), кроме штрафов за вылезание — они О(n), где n — число пикселей за точкой пересечения, которые мы примем во внимание, а не длина картинки или даже региона.
Собственно, выкладка по времени в конце статьи говорит о том, что это далеко не самая затратная часть алгоритма.

К вашему варианту — мне не вполне понятны первые два шага.
К чему применять порог и что вы понимаете под отсечением цельных краёв?
Такую задачу можно решить одним циклом с std::next_permutation(...) и простой проверкой правильности ответа.

Приведите, пожалуйста, пример задачи (подозреваю, что она будет довольно «промышленной»), которую действительно есть смысл решать с помощью монад на С++, причем без сильного оверхеда. Еще лучше, если у вас уже был такой опыт.
Нашу демо-программу можно скачать в App Store и Google Play. Информация по лицензированию и цене пока что предоставляется по запросу. Если у вас есть вопросы, мы с удовольствием на них ответим, наш адрес указан на сайте.
Не совсем так — в данном случае мы заранее знаем, что перед нами паспорт, но хотим понять, есть ли на нем голографический узор (где именно он находится мы тоже хотим понять, но про это мы напишем в одной из следующих статей). Дело в том, что до сих пор широко распространены паспорта старого образца, в которых голографический узор отсутствует.
Каждая квадратная точка — это один пиксель. Такая решетка из пикселей получается по той же причине, что и в одномерном случае — спектр гауссианы умножается на спектр периодической решетки (который, как мы показали, также является периодической решеткой), с которой она свернута.
Под полученными периодическими элементами имелись в виду случайные контрастные фоновые элементы, которые, при повторении, могут в Фурье-спектре внезапно выглядеть, как требуемые периодические. Хотя, при должном рассмотрении, эта ситуация должна решаться.

Добить нулями с изменением модели изображения можно, но анализ станет значительно сложнее, поскольку к простому произведению спектров добавится свертка со сложным спектром, который совсем не похож на решетку из пиков.
Спасибо, исправили — очень неудобно ТеХовые формулы писать не напрямую, а через сторонние сайты перегонять в картинки.
Мы проверяли, что при 5% ошибке обрезки метод все еще работает, а разметка в наших датасетах имеет значительно меньшую ошибку.
Спасибо за ценное замечание! Действительно, если число периодов не целое, но хотя бы один период присутствует, то можно продолжить картинку до целого числа периодов и свести задачу к описанной.
С другой стороны, появляется риск получить периодические элементы там, где их изначально не было, а также возможны небольшие проблемы со «стыковкой» периодических элементов шаблона.
В данный момент для нас основным приоритетом является система распознавания паспортов РФ, поэтому первоначальное тестирование проводилось именно на паспортах. Метод должен работать и для других типов документов с периодическими шаблонами.
Методы обработки изображений, которые использовали наши стажеры, уже были реализованы в нашей бибилиотеке обработки изображений, которая оптимизирована под ARM архитектуру. Использовать огромный и не очень быстрый на мобильниках Tesseract, когда у нас есть свои наработки, которые отлично решают задачи распознавания, видится лишенным смысла.
Ядро распознавания готово, интерфейс в разработке.
УЭК будем распознавать. Насчет паспортов и ID карт других стран — ведем работы, самое сложное это найти массивы для обучения, настройки и отладки — персональные данные. Нюансов, конечно, множество, но это и интересно. Фрагментация по процессорам и камерам требует внимания и если его прикладывать, то в конечном итоге, качество только растет.
Такой сервис, в случае обеспечения безопасности и хорошего уровня QoS, был бы весьма полезен. Логично, чтобы он был услугой предоставляемой государством.
В данный момент опубликована сборка под ARM, требования: наличие автофокуса. С Dell Venue будем разбираться, если не сложно уточните модель и версию операционной системы.
гильотиной == гильоширная и ламинария == ламинация — чудеса автоподстановки
Если тема интересна мы подготовим статью по этой тематике. Если кратко то: камера среднего телефона устойчиво регистрирует не так уж и много деталей защиты (например, тонкие линии гильотиной защиты зачастую смазаны); ламинария пленкой — есть как минимум 3 типа пленки: очень старая, старая и новая, последние две содержат голографических элементы, но их наличие на кадре зависит от освещения и угла съемки; специальные элементы дизайна — узор на фотографии, блямба РФ и мы их активно используем. Но надо заметить, что многие элементы защиты являются помехами для распознавания (пленка создает блики) и система вынуждена их учитывать при работе.
Отличный вопрос, более того, один из фундаментальных: как системе определить, что расползалось верно, если правильного ответа система не знает? Соответственно из этого вопроса вытекает – а когда остановиться? В нашем ядре реализовано сразу несколько подсистем которые работают над этим вопросом: система определения надежности результатов распознавания и система интеграции. Первая оценивает результат работы методов на каждом кадре для каждого объекта (зоны, поля, символа), вторая работает с потоком кадров и их результатов распознавания и выносит свой вердикт. В рамках планируемой статьи описывающей устройство ядра распознавания мы покажем место и функции этих систем, и если будет дальнейший интерес подготовим пост по этой тематике.
Над кнопкой поработаем.
Можно, но будет ли это достаточно для проверки на подлинность или это все же проверка на действительность?
Сделать такую проверку достаточно просто, вероятно, наши будущие клиенты реализуют у себя эту функцию у себя в приложениях. Предлагать пользователю демонстрационное приложение которое передает его персональные данные в интернет или «весит» десятки мегабайт, по нашему мнению безответственно.

Информация

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