Автоматическое распознавание машиночитаемой зоны (MRZ, МЧЗ)
Считывание данных MRZ на паспортах, удостоверениях личности и визах.
Распознавание MRZ по стандарту ISO/ICAO.
Поддержка распознавания МЧЗ по стандартам России, Франции, Швейцарии, Болгарии, Эквадора.
WASM SDK – возможность интеграции в веб-приложения (PWA) и веб-страницы.
On-premise SDK с API для смартфонов, десктопов и серверов .
Дополняется проверкой подлинности и небиометрической сверкой лиц.
Сканирование MRZ in-the-wild
- State-of-the-art нейросеть для поиска MRZ на сканах, фото и видео
- Сверхлегкая нейросеть для распознавания OCR-B
- Автоматический поиск фотографии владельца документа
- Контроль целостности данных MRZ и МЧЗ
- Аутентификация гарнитуры шрифта MRZ и МЧЗ
- Проверка на соответствие стандарту ISO/ICAO (IEC 7501-1/ICAO Document 9303 ISO) и локальным стандартам
- Автоматическая распаковка данных из MRZ и МЧЗ
Высокое качество считывания MRZ в любых условиях
- Автоматический поиск и распознавание 2-х и 3-х строчных MRZ
- Распознавание изогнутых строк
- Распознавание в любом ракурсе на фото и видео
- Распознавание из любого источника: сканов, фото и видео
- Распознавание в условиях недостатка или избытка освещения
- Устойчивость к контрастным теням и бликам
- Устойчивость к низкому разрешению (DPI)
Возможности On-premise интеграции
- Уверенность распознавания, координаты объектов, маскирование
- Модульная структура для снижения размера библиотеки
- WASM SDK — поддержка всех современных браузеров и web движков (Chrome, Firefox, Safary, Edge, Webkit Node.js, Deno, Wasmtime, Wasmer, wasm2c)
- REST API для low-code, API на C, С++, C#, Java, Python, PHP
- Фреймворки: React Native, Flutter, интеграция с 1C
- Примеры использования Smart Code Engine на языках C/C++/C#/Java/PHP/Python
- ОС Аврора, Android, iOS, MS Windows, Linux, ОС Эльбрус, РЕД ОС, Astra Linux, ОС Атликс, ОС Альт Линукс
- х86, x86_64, ARMv7-v8-v9 (AArch32 и AArch64), MIPS (MIPS32 и MIPS64), Elbrus
CodeEngine engine = CodeEngine.CreateFromEmbeddedBundle();
CodeEngineSessionSettings settings = engine.GetDefaultSessionSettings();
settings.SetOption(jnicodeengine.toString(EngineSettingsGroup.Mrz) + ".enabled", "true");
CodeEngineSession session = engine.SpawnSession(settings, <PERSONALIZED_SIGNATURE>);
Image image = Image.FromFile(<PATH_TO_IMAGE>);
CodeEngineResult result = session.Process(image);
for (CodeObjectsMapIterator it_obj = result.ObjectsBegin(); !it_obj.Equals(result.ObjectsEnd()); it_obj.Advance()) {
CodeObject code_object = it_obj.GetValue();
for (CodeFieldsMapIterator it_field = code_object.FieldsBegin(); !it_field.Equals(code_object.FieldsEnd()); it_field.Advance()) {
String name = it_field.GetValue().Name();
String value = it_field.GetValue().GetOcrString().GetFirstString().GetCStr();
}
}std::unique_ptr<se::code::CodeEngine> engine(se::code::CodeEngine::CreateFromEmbeddedBundle());
std::unique_ptr<se::code::CodeEngineSessionSettings> settings(engine->GetDefaultSessionSettings());
settings->SetOption((toString(EngineSettingsGroup::Mrz) + ".enabled").c_str(), "true");
std::unique_ptr<se::code::CodeEngineSession> session(engine->SpawnSession(*settings, <PERSONALIZED_SIGNATURE>));
std::unique_ptr<se::common::Image> image(se::common::Image::FromFile(<PATH_TO_IMAGE>));
const se::code::CodeEngineResult& result = session->Process(*image);
for (auto it_obj = result.ObjectsBegin(); it_obj != result.ObjectsEnd(); ++it_obj) {
const se::code::CodeObject &code_object = it_obj.GetValue();
for (auto it_field = code_object.FieldsBegin(); it_field != code_object.FieldsEnd(); ++it_field) {
std::string name = it_field.GetValue().Name();
std::string value = it_field.GetValue().GetOcrString().GetFirstString().GetCStr();
}
}CodeEngine engine = CodeEngine.CreateFromEmbeddedBundle();
CodeEngineSessionSettings settings = engine.GetDefaultSessionSettings();
settings.SetOption(cscodeengine.toString(EngineSettingsGroup.Mrz) + ".enabled", "true");
CodeEngineSession session = engine.SpawnSession(settings, <PERSONALIZED_SIGNATURE>);
Image image = Image.FromFile(<PATH_TO_IMAGE>);
CodeEngineResult result = session.Process(image);
for (CodeObjectsMapIterator it_obj = result.ObjectsBegin(); !it_obj.Equals(result.ObjectsEnd()); it_obj.Advance()) {
CodeObject code_object = it_obj.GetValue();
for (CodeFieldsMapIterator it_field = code_object.FieldsBegin(); !it_field.Equals(code_object.FieldsEnd()); it_field.Advance()) {
String name = it_field.GetValue().Name();
String value = it_field.GetValue().GetOcrString().GetFirstString().GetCStr();
}
}engine = pycodeengine.CodeEngine.CreateFromEmbeddedBundle()
settings = engine.GetDefaultSessionSettings()
settings.SetOption(pycodeengine.toString(pycodeengine.EngineSettingsGroup_Mrz) + ".enabled", "true")
session = engine.SpawnSession(settings, <PERSONALIZED_SIGNATURE>)
image = pycodeengine.Image.FromFile(<PATH_TO_IMAGE>)
session.Process(image)
result = session.GetCurrentResult()
it_obj = result.ObjectsBegin()
while (it_obj != result.ObjectsEnd()):
code_object = it_obj.GetValue()
it_field = code_object.FieldsBegin()
while (it_field != code_object.FieldsEnd()):
name = it_field.GetValue().Name()
value = it_field.GetValue().GetOcrString().GetFirstString().GetCStr()
it_field.Advance()
it_obj.Advance()Российское ПО распознавания
Отсутствие риска утечки: работа OCR непосредственно на устройстве пользователя без передачи данных
Smart Engines – не сервис по обработке персональных данных. Мы поставляем решения, которые работают исключительно в информационном контуре Заказчика в полностью автоматическом режиме, без ручной верификации.
- Данные ваших клиентов не передаются на обработку ни нам, ни третьим лицам. Сетевое соединение не требуется
- Вся обработка ведется в локальной оперативной памяти устройств (100% on-premise)
- Не используются верификация операторами – HITL (human in the loop), crowdsourcing, mechanical turk
Компании, передающие данные своих клиентов на обработку третьим лицам, в случае утечки лишаются права ссылаться на нарушение ее прав третьими лицами и всю ответственность перед контрагентами принимают на себя.
Вы можете ознакомиться с юридическим заключением компании INTELLECT, входящей в группу самых успешных российских юридических компаний по версии международного рейтинга The Chambers Europe.
Попробуйте качество наших технологий
- Скачайте демоприложение, в котором все возможности собраны воедино
- Можно на время отключить интернет, чтобы убедиться, что изображения и ваши данные не передаются
- Извлекайте данные паспортов, удостоверений личности, банковских карт, баркодов, СТС, счетов-фактур и других деловых документов. Пробуйте распознавать оригиналы и копии при различных условиях съемки.
- Обратите внимание на высокую скорость распознавания и на измеримую вероятность точности распознавания для каждого элемента. Если SDK установлено на ваш сервер, скорость распознавания будет еще в десятки раз выше.
Заказать продукт
Для заказа решений, получения подробной информации или триал версий
заполните приведенную ниже форму, и мы обязательно с Вами свяжемся.

