Pull to refresh

Comments 124

Интересно было бы увидеть примеры самых нестандартных паспортов из списка ошибочных предположений.
Увы, 152-ФЗ не позволяет просто так взять и полностью выложить сканы документов. В следующих постах постараемся частично показать фрагменты паспортов (без персональных данных), которые представляют особый интересн в плане компьютерного зрения.
Можно воссоздать с помощью фотошопа. Т.е., передать смысл позиции данных с фейковыми данными, наложив на картинку текст нужными способами. Но блин, я понимаю, что это нифига не 5минутная работа…
Имеется ещё один важный момент: при обсуждении алгоритмов компьютерного зрения очень важно работать именно с оригинальными сканами реальных паспортов, а не с фотошопными поделками.
Исключительно в целях иллюстрации подобные фейковые документы делать будем, они будут полезны при объяснении нюансов работы некоторых наших алгоритмов.
А это нельзя расценивать как подделывание документов и нарушение законов РФ? Просто интересно, у нас же всякое в стране бывает
Тут всё сложно. Проблемы будут, если вы этот паспорт напечатаете и попытаетесь его использовать.
А картинка по типу той, которая приведена в посте, совсем безобидна: все данные явно фейковые (код подразделения 000-000, дата рождения 01.01.1901 и т.п.), фотография рисованная.
А если бы даже выглядели реалистично, то что? Это графический файл, а не документ.
+1, без заверения нотариуса это всё равно абсолютно ничего, просто какая то картинка.

Ну т.е. можно заверить ЭТО как копию реально существующего документа… которого в реале нет, вот тогда у всех участников мероприятия могут быть проблемы.
Никто не заполняет паспорта от руки

Мой от руки. 2004 год.
Когда работал в дилерской точке сотовой связи, в момент бума подключений, сколько я паспортов перевидал… Некоторые реально невозможно прочесть: почерк паспортистки + не совсем простая фамилия = жесть.
Полностью с вами согласен. А еще в некоторых регионах были вкладыши на национальных языках (например в Башкортостане). Так теперь из-за этих вкладышей не всегда правильно обрабатываются сканы например в терминалах электронной приемной Президнета РФ.
Были.
Да вообще операторы разрешали регистрировать и на иностранные паспорта, в частности, много клиентов было с украинскими паспортами. Самое интересное — клиентское ПО оператора не позволяло вбить туда некоторые данные. Не помню, длина некоторых полей что-ли ограничена была… Так и регистрировали без некоторых цифр.
Интересно было почитать, хоть я и далёк от разработки ПО :) Список мифов о паспортах особенно повеселил, особенно:
Если в поле «Имя» написано «Анна», то пол обязательно женский
А вот нас такие пункты заставили грустить. Дело в том, что если пол не удалось распознать с изображения (одинокая буква «М» спряталась там, где наши алгоритмы не смогли её найти), то мы пытаемся восстановить пол по ФИО. Гражданин Анна Викторович заставил наш алгоритм сконфузиться.
Гадя Петрович прям таки
Если есть отчество, то можно смотреть на его окончание. Правда, надо уметь отличать отчество от второго имени (а иногда и от фамилии).
Попадается очень много сложных документов, в которых пол определить не так-то просто. Поэтому мы стараемся догадаться до правильного ответа по каждой части ФИО, а в конце выбираем тот пол, за который имеется больше аргументов.
А что, в российском паспорте не указывается пол?
А ещё в российском паспорте нет пятен от варенья.

Хотя стоп…
Пол может быть указан настолько волшебно, что ни один шпион ни одна программа не сможет его распознать.
— Как ребёнка-то назвали?
— Леночка!
— Хорошее имя!
— Да, имя-то хорошее. Но намучается с ним пацан…
Класс! Скиньте контакт для связи на konstantin@payler.com
Мы делаем всякие клевые кейсы для оплата ЖКХ и пр.можем интересное кое что придумать!
Так же покажу друзьям из ритейла крупного)
Лендинг без единой явной ошибки, а тут-касяк накасяке…
Невежливо это как то в статье чужой компании упомянуть пять раз свой конкурирующий продукт. Одного раза бы хватило.
Ссылка «Купить» (не кнопка) на сайте — диалог не разворачивается. (FF28)
Очень одобряю такую заботу о UI и минимизации количества телодвижений для пользователя. Не планируете заопенсорсить часть, или же добавить в программу функциональность распознавания чеков? Кроссплатформенность? Возможность интеграции для использования на своих вебсайтах?

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

или же добавить в программу функциональность распознавания чеков
Будем работать в этом направлении.

Кроссплатформенность?
Наши клиенты-автовокзалы хотят такую возможность, скорее всего будем делать.

Возможность интеграции для использования на своих вебсайтах?
Если будет интерес, то сделаем виджет.
А на чем сидят клиенты-автовокзалы?
Программка полезная, и задача очень интересная, но… Когда уже будет единая база данных, и будет достаточно предъявить только ID, который автоматически распознается (с помощью скана штрих-кода, например) в любом учреждении без всякого компьютерного зрения и алгоритмов распознавания пола. Мечты, мечты…
Для автоматизации даже база не нужна: достаточно дублировать основные данные QR-кодом. Это позволит отказаться от дополнительного оборудования, как в случае с RFID-метками и прочим, можно использовать любой сканер/камеру + ПО.
> Когда уже будет единая база данных

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

А потом пришли Вы с работы, а там приставы, мол, «не хотите ли начать оплачивать кредит на 10 млн руб., который Вы (точнее, человек с полными вашими данными) взяли неделю назад под 90% годовых?»
Бороться с мошенничеством путем скрытия или усложнения доступа к паспортным данным в век информационных технологий, на мой взгляд, наивно и глупо.

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

Введение единой базы данных как раз может помочь скрывать часть данных от третьих лиц. Оставляя, например, только ID и фото, чего достаточно для идентификации, вместо даты и места рождения, домашнего адреса и семейного положения.
Так все, кому надо, будут просто покупать эту, агрегированную базу, да и дело с концом. Спросят у вас ID, проверят по базе, и ок. Полнота покрытия будет 100%, это Вы правы.

Знаете, обладая фрагментами знаний, можно собрать полную баз и сейчас. Но сейчас это труднее. Если бы только не дурные логики («принесите от них справку, что вы у них не брали справку»), я бы с фрагментарной базой лучше жил, просто потому что не у всех хватит сил обощить все и вся, а с готовой агрегированной базой все сразу известно всем купившим.
И сразу же будет крик о тоталитарном контроле.
Интересно как устроены метки в Word'e как-то делал через сохранение xml внутри документа, причем можно было использовать простые циклы и проверки. Как решается проблема неполноты данных? С юридической точки зрения такой паспорт вообще валиден?
Интересно как устроены метки в Word'e как-то делал через сохранение xml внутри документа
Рассказывать там очень много, сделаем на эту тему отдельный пост.

Как решается проблема неполноты данных?
В некоторых случаях удаётся «додумать» пропущенные данные (пол связан с ФИО, дата выдачи — с серией, орган выдачи — с кодом подразделения и т. п.)

С юридической точки зрения такой паспорт вообще валиден?
Единственная проверка валидности, которую мы автоматизировали — это проверка того, не истёк ли срок действия. Остальные вопросы валидности лучше бы доверять оператору.
с вордом проблема одна (docx) если вы впишите переменную %username% только не факт что в xml не будет так
<history> %user </history id="988787">name%

То есть по поиску и замене не сработает. Мы выходили другим способом. два символа крайне редких по бокам от имени переменной. А регулярка просто игнорировала любые теги между ними. Замена происходила без проблем.
Ворд размечается переменными прямо в ворде без проблем и лишними панельками для него. Хотя с ними удобно. Под рукой.
А это баг у Вас, что на фотографии 1901, а в программе 1902?
Дата рождения: 1901 год
Дата выдачи паспорта: 1902 год
Всё распозналось верно.
Возможно для избежания путаницы стоило разместить поля на форме сообразно с расположением данных в паспорте. Сейчас взгляд постоянно бегает крест-накрест X. Хотя вы конечно попытались это решить, добавив всплывающее окно с фрагментом паспорта соответствующим распознанному тексту.
а почему цены за программу нет на сайте?
Мы пока до конца не определились с ценовой политикой, она сейчас достаточно гибкая: цену формируем исходя из потребностей клиента. Вы можете связаться с нами через форму на сайте, и мы обсудим вопрос стоимости индивидуально.
Хотелось бы знать хоть примерно. Создайте статистику нажавших кнопку «купить» на сайте и заполнивших форму. От количества обязательных полей глаза кровью наливаются, сразу хочется убежать, громко хлопнув дверью, к тому же, таким образом вы навязываете личное общение.
В ближайшие дни цены появятся на сайте. Форму постараемся сделать попроще.
Вам нужно попробовать поработать с банками и судами, там документов проходит уйма. На той неделе переговорю с геном, думаю мы найдем области применения вашей системы в деятельности наших клиентов (сказанул так сказанул).
Очень ждем. Уже успешно работаем со многими нотариусами, они весьма довольны)
Чем ваш продукт лучше этого cognitiveforms.com/ru/products_and_services/cognitive_passport? У них уже все типы документов есть, есть даже демо-версия для «скачать-попробовать».
Кроме того, по личному опыту, их движок распознавания оказался гораздо точнее и эффективнее, чем гугловский.
Чем ваш продукт лучше этого cognitiveforms.com/ru/products_and_services/cognitive_passport?
Скорость, юзабилити, активный девелопмент, наличие продукта для «домохозяек», которые можно использовать не будучи программистом. Ну и стоимость)

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

есть даже демо-версия для «скачать-попробовать»
Демо-версия имеется, вы можете отправить заявку через форму контактов.

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

В задаче распознавания важен не сам движок, а препрцессинг изображения которое отдается этому движку.

Ой ну не скажите, не скажите. Я два года занимался потоковым распознаванием и точно знаю, что при одних и тех же идеализированных изображениях, результаты могут кардинально различаться, в зависимости от движка. Не даром лидер рынка всех европейских языков — наш родной Абби. Но и цена у него, конечно, тоже лидер. Фильтры изображения помогают, безусловно, когда нужно убрать шум, повернуть изображение, отрегулировать баланс и контрастность, но это никак не компенсирует внутренние алгоритмы распознавания.
У меня стояла задача распознавания бухгалтерских отчетов, т.е. табличный текст. CuneiForms при разрешении от 300 dpi без применения каких либо препроцессингов выдает чистый текст, а вот Tesseract — только кракозябры.
Ну хорошо, тогда переформулирую: зачастую препроцессинг важен. А в задаче распознавания паспортов и подобных документов он очень важен. Нам удалось добиться того, что Tesseract выдаёт очень хорошие результаты даже на некоторых попорченных паспортах на 100 dpi.
Кроме того, у нас с вами разные задачи, в нашей без препроцессинга ничего не сделать, специальные бланки как-никак) Конечно, у каждого из движков есть свои плюсы и минусы. Нам Tesseract подошел.
а кстати про стоимость. почему я не могу просто взять и посмотреть стоимость? прикинуть по деньгам на разные типы лицензий — по количеству машин, сроку действия лицензии, ограничение на количество распознаваний, если есть, и пр.
или вот вы говорите, что есть демо-версия. почему ее нельзя просто взять, скачать с сайта, протестировать и решить, годится она для проекта или нет? почему надо куда-то писать, что-то просить, ждать ответа… странный подход к распространению, в общем.
По личному опыту продукты когнитива какие то интересные
Вот к примеру
cognitiveforms.com/files/Capabilities-Cognitive_Passport_API.pdf
Посмотрите внимательно на скриншоте версию компиляции ScanifyAPI.
Понимаю, что скрины старые возможно. Но… 2006 год компиляции?? Прям ничего не поменялось за 8 лет?
Помню, что и Dll ки на их диске были за 2005 год компиляции года два назад. Либо dll-ки достигли дзен, либо продукт не развивается вообще.
Одному мне интересно, как делалась капитализация букв при переводе текста, набранного одними прописными, в нормальный „строчный“ текст?
Отделом внутренних дел «Гольяново» города Москвы.

Просто словарные слова из какого-то заранее заданного набора?
Или это секрет?
Могу только сказать, что помимо словарей используется много магии и регулярок =)
Ну, и на том спасибо, мил человек.
Насчёт UI.
Мне кажется, было бы удобнее размещать поля формы на одной горизонтали с соотв. полями в паспорте (насколько это возможно).
Тогда сверку можно было бы проводить просто взглядом, а не обходить фокусом все поля по-очереди.

И, например, даты в поле формы стоит выводить ровно в том же виде, как в документе, а не переформатировать «под ISO». (в связи с пунктом 22)
Да и в остальных полях хорошо бы сохранить форматирование (разбивку на строки, регистр и пр.). По крайней мере, визуально, на форме.
Т.е. в идеале, форма с распознанными данными должна выглядеть как можно более похожей на сам документ.

P.S. Почему у вас на форме «Номер», когда в паспорте «Код подразделения»? Зачем путать пользователя?
Мне кажется, было бы удобнее размещать поля формы на одной горизонтали с соотв. полями в паспорте (насколько это возможно).
Привязка к геометрическому расположению полей на исходном изображении не так важна, т.к. у нас при работе с полем появляется всплывающая подсказка, содержащая нужное нам поле. Т.е. вам вообще не нужно смотреть на картинку слева. Намного важнее логический порядок полей: первостепенный интерес для пользователя имеет ФИО.

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

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

Почему у вас на форме «Номер», когда в паспорте «Код подразделения»?
Тут проблема состоит в том, что во многих конечных формах соответствующее поле называется именно «номер», поэтому изначально мы поставили такой вариант названия.

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

Да, я умею читать. Собственно, об этом я и писал: чтобы увидеть эти подсказки, нужно по-очереди обойти все поля.
Подозреваю, что в большинстве случаев с качеством всё в порядке, и распознавание отрабатывает на 100%. (или это стоит добавить 34 пунктом в ваш список?) Соответственно, «работать» с каждым полем особой необходимости нет — вполне было бы достаточно визуально убедиться, что данные верны.
И вот тут как раз помогло бы «подражание» расположению и форматированию оригинального документа.

Большинство целевых сценариев предполагают дальнейшую работу с датой именно как с датой, а не как со строкой.

Так дата ведь и останется датой. Вопрос только в том, как её показывать в форме вашего приложения. А в те самые «целевые сценарии» ничто не мешает отправлять как дату в другом формате, так и её отдельные компоненты.
Даже при наличии той самой всплывающей подсказки, сравнивая 20.04.2003 и 2004-02-03, можно легко сделать ошибку.

во многих конечных формах соответствующее поле называется именно «номер»

А вот это они очень зря. Одно поле с названием «номер» ведь уже есть — номер самого паспорта.
Кроме того, теоретически, код может быть буквенно-цифровым. В то время как номер предполагает скорее число.
Думаю, если провести «коридорный тест», мало кто догадается, что в поле с названием «номер» нужно, на самом деле, заносить код подразделения.
Забавно, сталкивался почти со всеми вашими технологиями\задачами, но в несколько других областях и они действительно очень увлекательные. Немного о моих задачах:

1) Tesseract и Cognitive OpenOCR для распознавания автомобильных номеров, распознавание текста со скана. Результаты получались очень хорошие при минимуме усилий.
2) OpenCV для нахождения копий эталонного изображения на больших планах (изображениях). Причем копии могли быть масштабированы на плане, перевернуты и т.д.
3) Com(Ole) для составления Word-отчетов. Это вообще моя гордость. Все было устроено несколько сложнее чем у вас (вам вероятно такие навороты будут излишни). В «шаблоне» помимо простых меток (мы их называли «полями»), могли быть коллекции, когда вставляется не одно значение, а несколько. Причем, если коллекция разнесена, то копировалась вся область документа на которую распространялась коллекция. Функции, параметрами которых могли быть так же функции с различными фильтрами. Вставка рисунков. Вставка в таблицы, формирование таблиц и прочее и прочее.

Самое занятное, что на первые две задачи было потрачено не более недели (на каждую), на третью 2 месяца. Опять же первые две были сделаны дабы закрыть формальные задачи проекта, не знаю используют ли их заказчики или нет, а вот третью используют очень активно.
По сему интересно было бы узнать:

1) Сколько у вас разработчиков трудится над проектом?
2) Какой процент распознавания данных?
3) Стоит ли вообще овчинка выделки при работе с «кривыми паспортами»? Может оператору стоит сразу забивать его руками, а не тратить время на сканирование, исправление ошибок, если программа при работе с такими паспортами все равно сбоит?
1,2) Это будет описано в следующих постах. Тут есть много нюансов, односложный ответ не так легко дать.
3) Наша задача — чтобы программа не сбоила =) Работы очень много, но нам удалось довести до вменяемого состояния распознавание таких паспортов, которые ещё полгода назад казались нам совсем безнадёжными. Хочется обеспечить настолько высокий процент успешного распознавания паспортов, насколько это теоретически возможно.
Мы также экспортируем данные в Word-овские документы через стандартный механизм полей. Пользователь может создать свои шаблоны и автоматически заполнять их данными из любых типов поддерживаемых нами документов.

Специальный инструмент для создания Word-овских шаблонов, описанный в статье, безусловно, удобен. Стандартные средства MS Word для работы с полями не так интуитивно понятны. Но в конечном итоге результат получается не хуже.

ABBYY PassportReader SDK

Возможно вы неправильно меня поняли, я не использовал стандартный механизм Word. Мы придумали свой синтаксис разметки (определенные теги, ключевые слова и т.д.) шаблона, после чего анализатор проходил по документу и разбирал конструкции. Получал имена, передавал их условному DataProvider'у и получал подставляемые значения.
Да, был не внимателен. Меня сбило с толку упоминание «полей» в контексте MS Word, и так как я с этим работал совсем недавно, то подсознание выхватило из контекста именно это. Через word-овские поля такие сложные задачи, как вставка и форматирование таблиц вряд ли решается.
Ждем версию под 1С


Это бы не помешало, хотя рынок акупирован Abbyy пруф
Постараемся составить им конкуренцию)
Свидетельство о регистрации транспортного средства (желток)?
Будет. Сейчас активно работаем над добавлением новых типов документов.
Прямой конкурент :)
Крупная корпорация переманивает клиентов у компании на <100 человек прямо в их собственном корпоративном блоге. Не стыдно?
Чем ваше решение лучше чем ABBYY PassportReader SDK? Желательно по пунктам и аргументированно, т.к. я использую ABBYY PassportReader SDK и знаю про него многое и очень им доволен.

Как получить демоверсию SDK + примеры программ?
аналогично. К тому же, очень важно еще сделать замер в скорости на тестовом файле).
Плюсом вам будет проверка контрольной суммы MRZ зоны. У Аби ее нет) В этом случае 100% гарантия определеных символов. Алгоритм проверки был где то в сети в каком то документе при каком то законе)
У нас есть хитрый учёт MRZ-зоны. Контрольную сумму считаем, но если она не сошлась, то полностью отбрасывать данные MRZ-зоны нельзя: их просто нужно аккуратно использовать. Контрольная сумма может не сойтись по разным причинам (некорректное заполнение, механические повреждения части зоны и т.п.). Поэтому если контрольная сумма сходится, то мы сильнее уверены в правильности результатов (увы, 100% там всё равно не получается), если не сходится — то процент уверенности несколько снижается.
Мы с этим тоже столкнулись. В MRZ зоне бывают ошибки и в случае несовпадения контрольных сумм просто отбрасывать результат нельзя. Используем для повышения общего качества

ABBYY PassportReader SDK
Abbyy потихоньку начинает переходить в категорию «Спамеры».
Заказать демо-версию вы можете на официальном сайте.

Скоро планируем делать полноценное исследование по скорости, качеству и удобству работы нашей программы в сравнении с конкурентами. Результаты будут выложены в рамках одного из следующих постов. Прямо сейчас подробно расписать плюсы и минусы каждого решения не готов, ведь хочется не бросать слова на ветер и подкреплять их чёткими аргументами. На подобное сочинение потребуется некоторое время. А пока вы можете самостоятельно сравнить версию Abbyy с нашей демоверсией и составить первое впечатление.
Заказал демо SDK + спросил цены, уже часа 4 прошло — никакого ответа. Как то не оперативно Вы реагируете на запросы. Печалька :(
Спасибо за интерес, скоро пришлём.
Жду кода активации уже второй день… Если у Вас такая и тех.поддержка, то сразу скажу — я точно у вас не куплю ничего, даже за меньшие деньги чем у конкурентов.
Если хотите много денег, то обратите внимание на коммент выше относительно 1с! Уже представил, что на моем недавнем месте работы данная вещь будет внедрена на КПП для автоматического оформления пропусков(потом, когда выиграете многомиллионный тендер на поставку в воинские части, возьмете меня на работу)))) Недавно делал похожую вещь с использованием tesseract — результаты впечатляют, если особо не волнует скорость обработки, то идеальное решение. Но во всем этом меня всегда волновало одно — сколько процентов от своих доходов Вы будете отдавать в поддержку проекта tesseract — понимаю, что опенсорс и все такое, но я недавно озадачился этой мыслью, когда понял, что проект, который мне сейчас приносит доход почти полностью состоит из открытых библиотек. Мое — только идея…
Вот хотя выше в комментариях сильно хвалят Tesseract ORC, но у нас при распознавании номеров с ним прямо противоположные разборки были. Работает только если получается точно оконтурить букву. Если буква размазана, потёрта, наклонена, сливается с фоном или с другими буквами, то он напрочь отказывается работать (тобишь на кадрах, сделанных зимой и при плохом освещении), корреляция выдаёт результаты значительно лучше.
Как я понимаю ряд проблем с неизвестным шаблоном буквы, из смазом, грязью и.т.д. встречается и в вашей задаче. И он всё равно работает?
Tesseract достаточно требователен к качеству изображения. Нам удалось подобрать для русских паспортов такую систему адаптивных фильтров, что Tesseract отрабатывает на отлично.
У Tesseract есть возможность обучения, использовали ли Вы её или удлось все реализовать со стандартным набором русского словаря?
Короткий ответ: в текущей стабильной продакшн-версии используется стандартный словарь.
Но нас этот словарь не совсем устраивает. Отдельное направление исследований связано с таким обучением тессеракта, которое бы на паспортах давало лучшие результаты, чем стандартный словарь. Увы, пока не получилось обучить так, чтобы улучшение результатов было на всей выборке паспортов: где-то начинает работать лучше, где-то хуже. Поэтому кастомные словари используем только для внутренних целей. В планах есть добить обучение тессеракта и перейти на свой словарь.
Не легче ли свою нейросеть под задачу написать? Такие алгоритмы можно значительно лучше конфигурировать и настраивать, чем Tesseract.
Я считаю, что не легче. На текущий момент качества тессеракта нам вполне хватает, кастомный словарь был бы просто приятным бонусом. Когда вплотную доберёмся до улучшения части по распознаванию символов — будем смотреть вариант с собственной нейросетью.
Где же вы были раньше???!!!
В Сочи в период проведения олимпийских игр ОВД не успевали выдавать регистрации всем приехавшим — приходилось задействовать чуть-ли не добровольцев для вбивания паспортных данных в формы заявок на временную регистрацию. (более 50000 тысяч заявок на 5-7 сотрудников паспортно-визовой службы).
Опять же — волонтеры с аналогичными проблемами.
Идея отличная, желаю вам перспективных госзаказов.
А возможно ли без особого геморра интегрировать с веб-интерфейсами?

Довольно типичный, по-моему, случай: CRM-система с веб-мордой, рабочие станции под линуксом (по сути кроме браузера и программы-сканилки ничего не нужно, значит винда не нужна), девочки операторы вводят паспортные данные в морду, плюс прикладывают файл со сканом паспорта. Может какой-то плагин к браузеру? На худой конец REST или подобный интерфейс, которому отправляется формочка с файлом, а он получает распознанные данные и варнинги в JSON формате.
Спасибо за хорошее предложение, будем работать в этом направлении.
Мы сделали себе и плагин для браузера и вебморду) Даже для тупых сканеров утилиту

То есть кладем паспорт, жмем кнопку на сканере при открытой в браузере вкладке с регистрацией. Получаем заливку и автоматическую распознавалку.
Если «прямые конкуренты» в вашем посте пять раз в комментах упоминают свой продукт, значит у вас всё получилось хорошо ;)
А кто это придумал, что паспорт не может быть испачкан вареньем?
По мотивам того, что приходилось встречать на картинках паспортов.
А правильно ли стараться распознать такие полуиспорченные паспорта? С пятнами, с всевозможными опечатками паспортистов? Как мне кажется, в таких случаях лучше отправлять человека за новым документом, иначе это сделает другой оператор/чиновник.
Такая задача ложиться целиком на оператора. А задача программы — стараться максимально хорошо распознать данные в любых условиях.
Как приятно видеть в статье упоминание своего района!

А по делу, штука интересная, но нигде такое внедрять не будут, к сожалению.
О чем говорить, если в 90% бланков до сих пор даже не могут сделать форму, в которую помещается мое место выдачи паспорта (вместо ОВД «Гольяново» канитель на 11 слов)
А в буквах сколько? У меня вот так:
ОУФМС России в Советском районе города Владивостока
У меня чуть побольше будет…
Отделением по району Гольяново ОУФМС России по гор. Москве в ВАО
Мериться так мериться.
Отделом УФМС России по Ханты-Мансийскому автономному округу-Югре в городе Сургуте

Благо сокращается хорошо.
В месте рождения и в месте выдачи не может быть цифр

А как же Арзамас-16? :)
Предложения из списка ошибочны, это именно заблуждения, а не факты. PassportVision это учитывает, так что он легко справится с вашим Арзамасом-16 =)
Да, я понял. Просто у меня и такого предположения не возникло, я с детства помню о номерных городах.
В аэропртах, на границе уже используются какие-то автоматизированные системы сканирования и распознования паспортов. Система тормозная, часто быват задержки на паспортном контроле. Может вам в ФМС обратится с предложением?
Уже сто раз пожалел, что купил у вас.

Свою поддержку и отдел работы с клиентами можете уволить всю целиком.
Покупал SDK для реализации своего модуля на Delphi.

Возникли сложности с подключение вашего модуля к Delphi. Интерфейсы все проинициализировались, и в pas обозначены, но главного класса в pas не оказалось.
Пишу в поддержку, мол так-то не подключается.
Отвечают мол максимум что мы вам можем так это скинуть документацию на описание интерфейсов. Либо платная техпомощь.
Пишу — хорошо, давайте платную.
Я действительно, реально сидел ждал ответа.
Прошла неделя. И на этом все, больше ТП не отвечает вообще. Окей, звоню на горячую линию.
Вызов приняла девушка. Говорю — Прошу соединить меня с ТП.
Отвечает мол все уже уехали по домам, дайте мне свои контактные данные, мы завтра перезвоним.
Как вы наверно догадались, никто так и не перезвонил, ни через день, ни через три.
Ну раз не хотите взаимодействовать напрямую, будем использовать другие способы.
От неимения выбора решил покопаться в модулях сам, сменил версию Delphi несколько раз, после неутешительного результата вернулся к старой Delphi, напоследок решил еще раз попробовать, и О чудо, в pas появился основной класс, и по весу втрое больше, чем предыдущий.

Теперь что касается вашего модуля:
- Удобный API это конечно хорошо, только каким образом это все касается вашего модуля? Почему вы не добавили возможность получить куски изображения, как например фотографию для дальнейшего использования на бейджики, как это сделано у аналогов, или других обрезок, в том числе целиком документа, ту область что выделяет сам распознаватель?
- Почему я не могу изменить названия столбцов row в которых приходят строки? Они у вас на русском, если же моя система не поддерживает русский язык или языковый пакет не установлен, эти названия столбцов мне приходят с вопросиками.
- Распознавание с плохим качеством изображения это конечно не ваш конек, но почему я запускаю обычный FineReader и он распознает текст и любые шрифты без проблем.
- Выявление области документа просто ужасное, мало того что на сером фоне он просто теряется, так в нормальном фоне если документ повернут на 10 градусов, то это конец распознавателю, он берет вырезает оттуда куски и вставляет похоже рандомно.
Непонятно, почему от изменения области в ручном режиме меняется конечный результат распознавания, он что ищет строки фиксированно?
И что это такое? он что пропустил документ зато на сером фоне нашел залежи золота?
Почему мне разработчик за пол дня на коленке смог разработать модуль на Java, который автоматически удаляет фон если он есть, поворачивает документ строго по краям чтобы встал под 90% по горизонтали специально для вашего модуля, который этого не умеет.
- Вы писали что пол он определяет и по отчеству тоже, так почему он определил отчество, и оно заканчивается на «ВИЧ», а пол указал мужской, и как так почему отчество иногда «МУЖ.»? Почему в имени или фамилии иногда появляется точка? Как в ФИО могут быть знаки препинания? И каким образом месяц может быть 64?
Невообразимо, как можно было допустить такие детские ошибки?

Модуль стоит не дешево, впервые встречаю продакшн продукт, с откровенно наплевательским отношением к клиентом и кучей детских ошибок. Ну год же уже прошел.
Присматривался к этой штуке. Я так понял вы не рекомендуете ее?
Решать, вам, аналоги дороже.

Перечень недостатков на самом деле неполный, их куда больше, но самая существенная из них — это утечка памяти, после обработки например 50-ти документов память основного процесса около 1 Гбайт, и это после того как работу с модулем мы закончили, и в какой-то момент после обработки до 100 документов память превышает 2 Гбайта(x86 приложение), и приложение вылетает вместе с модулем, а если «сохранение данных сразу» не предусмотрено, вы их потеряете.

Если же мы хотим подключить x64 модуль, то ничего у вас не выйдет, ибо при попытке подключения пишет класс не зарегистрирован, а какой вы неузнаете, ибо это спрятано в недрах dll. Инсталятор сам их не регистрирует, или он не оповещает о то, что зарегистрировать не удалось, например если нужных модулей нет.
компания не фунционирует. Демки на сайте просят либы VC2013
Вот бы еще реализацию для NodeJS, хотя бы как cli утилиту, возвращающую данные в JSON.
Sign up to leave a comment.