Возможности распознавания
- Распознавание номера банковской карты
- Распознавание срока действия карты, имени владельца, а также IBAN номера, CVC и опциональных полей
- Точность распознавания номера карты — 99,68%
- Распознавание номера и срока действия карты за 0,1 секунды
- Поддержка карт 31 платежной системы
- Распознавание эмбоссированных, гравированных и напечатанных реквизитов карты
- Распознавание реквизитов банковской карты как в альбомной, так и в портретной ориентации
- Совместимость со стандартом PCI DSS
- Автоматический поиск карты и распознавание всех реквизитов
- Распознавание данных из разных источников: сканов, фото и видео
- Распознавание карты в любом ракурсе
- Работа при недостаточном и избыточном освещении
- Устойчивость к контрастным теням и бликам
- Работа с изображениями низкого разрешения
- Распознавание печатных и рукописных номеров карт in-the-wild
- Распознавание номеров, записанных в строку или столбец
- Поиск и распознавание нескольких номеров карт на одном изображении
- Интеграция в мобильные, десктопные и серверные приложения
- Возможность интеграции в веб-приложения (PWA) и веб-страницы
- Дополняется распознаванием QR-кодов и номеров телефонов
Возможности
интеграции
CodeEngine engine = CodeEngine.CreateFromEmbeddedBundle();
CodeEngineSessionSettings settings = engine.GetDefaultSessionSettings();
settings.SetOption(jnicodeengine.toString(EngineSettingsGroup.Card) + ".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::Card) + ".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.Card) + ".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_Card) + ".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()
Уверенность распознавания, координаты объектов, маскирование
Модульная структура для снижения размера библиотеки
Распознавание в сложных условиях съемки
Решение Smart Engines обеспечивает высокоточное распознавание банковских карт даже в сложных условиях съемки. Система устойчива к бликам, контрастным теням, недостаточному или избыточному освещению, низкому разрешению изображений и геометрическим искажениям. Пользователю не требуется специально подбирать освещение или ракурс съемки.
Точность распознавания 99,68%
Технология Smart Engines обеспечивает точность распознавания данных банковских карт на уровне 99,68%. Система автоматически извлекает номер карты, срок действия, имя владельца, IBAN, CVC и другие предусмотренные оформлением реквизиты и переносит извлеченные данные в соответствующие поля платежной формы. Это существенно снижает риск ошибок и опечаток, а также ускоряет совершение платежных операций.
Распознавание в браузере и мессенджерах
Система Smart Engines позволяет интегрировать распознавание банковских карт как в мобильные приложения, так и в веб-версии интернет-банков с помощью WebAssembly. Система работает непосредственно в современных браузерах, а также в мини-приложениях мессенджеров Telegram и MAX без установки дополнительных программ и расширений. Пользователи могут сканировать банковские карты и автоматически заполнять платежные формы, не покидая веб-страницу.
Распознавание карт любого типа
Система Smart Engines распознает реквизиты банковских карт независимо от способа их нанесения – напечатанные, выгравированные или эмбоссированные (выдавленные на поверхности карты). Технология поддерживает карты как с горизонтальной, так и с вертикальной ориентацией и автоматически определяет расположение номера, срока действия и других реквизитов. Пользователю не требуется специально подбирать ракурс съемки для считывания данных.
Умная камера для всех способов оплаты
Технологии Smart Engines позволяют объединить распознавание банковских карт, телефонных номеров и платежных штрихкодов в едином интерфейсе банковского приложения. Пользователю достаточно навести камеру смартфона на нужные реквизиты – система автоматически извлечет данные и перенесет их в платежную форму без ручного ввода. Единая умная камера упрощает переводы и оплату, сокращает количество действий пользователя и снижает риск ошибок при вводе платежных данных.
Мгновенное считывание реквизитов карты без ручного ввода
Система Smart Engines автоматически находит банковскую карту в кадре и распознает ее реквизиты всего за 0,1 секунды прямо на смартфоне. Пользователю нужно только навести камеру на карту – искусственный интеллект извлечет необходимые реквизиты и перенесет их в платежную форму банковского приложения без ручного ввода. Это ускоряет привязку карты, упрощает взаимодействие с платежным интерфейсом и снижает риск ошибок и опечаток.
Распознавание всех данных карты
Технология Smart Engines извлекает все реквизиты банковской карты: номер, срок действия и имя владельца, а также CVC, IBAN и дополнительные поля при их наличии. Система считывает реквизиты с лицевой и оборотной сторон карты и объединяет их в единый структурированный набор данных для автоматического заполнения платежной формы.
Поддержка 31 платежной системы
Решение Smart Engines поддерживает распознавание банковских карт 31 платежной системы, включая российскую «МИР», а также международные Visa, Mastercard и UnionPay. Система учитывает особенности оформления карт разных платежных систем, автоматически находит и извлекает реквизиты независимо от расположения и способа нанесения данных. Это позволяет банкам и платежным сервисам использовать единую технологию распознавания для работы с картами различных эмитентов.
Локальная обработка данных
Технология Smart Engines распознает реквизиты банковских карт непосредственно на устройстве пользователя без передачи изображений и извлеченных платежных данных на внешние серверы. Система работает полностью локально, без обращения к облачным сервисам и необходимости подключения к интернету. Такой подход обеспечивает конфиденциальность платежной информации, исключает передачу данных сторонним OCR-провайдерам и позволяет компаниям сохранять полный контроль над процессом распознавания.
Отсутствие риска утечки:
Попробуйте качество наших технологий
- Скачайте мобильное демо-приложение, в котором все возможности собраны воедино
- Можно на время отключить интернет, чтобы убедиться, что изображения и ваши данные не передаются
- Попробуйте наше программное решение на примере QR/штрихкода, банковской карты, номера телефона и других объектов
Заказать продукт
Часто задаваемые вопросы
Наведите камеру смартфона на банковскую карту — ИИ Smart Engines автоматически найдет карту в кадре, извлечет номер, срок действия, имя владельца и другие реквизиты при их наличии. Система сама перенесет все извлеченные данные в платежную форму. Вводить реквизиты банковской карты вручную не нужно.
Реквизиты банковской карты распознаются на смартфоне за 0,1 секунды, после чего набор структурированных данных автоматически переносится в платежную форму. Это значительно сокращает время оформления платежа и упрощает оплату для пользователя.
Точность распознавания номера банковской карты составляет 99,68%. Это сводит к минимуму ошибки и опечатки, из-за которых платеж может не пройти. Пользователю не приходится вручную вводить и корректировать извлеченные данные.
Система считывает номер карты, срок действия и имя владельца на лицевой или оборотной стороне. Также распознается IBAN, CVC и опциональные поля. Это позволяет автоматически заполнить всю платежную форму, а не только поле с номером карты.
Поддерживаются карты 31 платежной системы, включая «МИР», Visa, Mastercard и UnionPay. Это позволяет банкам и платежным сервисам использовать единую технологию распознавания для работы с картами различных эмитентов.
Да. Система считывает эмбоссированные, гравированные и напечатанные реквизиты. Распознаются как горизонтальные, так и вертикальные карты, а также реквизиты в альбомной и портретной ориентации. Решение подходит как для классических карт с выпуклыми цифрами, так и для современных карт с реквизитами на оборотной стороне.
Да. Система устойчива к бликам, контрастным теням, недостаточному и избыточному освещению, а также к низкому разрешению изображений. Карту можно снимать под любым углом.
Да. Система распознает печатные и рукописные номера карт на произвольных носителях, записанные в строку или столбец. Если на одном изображении несколько номеров карт, система найдет и распознает каждый из них.
Да. Решение совместимо со стандартом PCI DSS — это международный стандарт безопасности данных индустрии платежных карт. Распознавание выполняется непосредственно на устройстве пользователя, а изображения банковских карт не передаются на внешние серверы, что упрощает соблюдение требований безопасности.
Да. Распознавание банковских карт дополняется распознаванием номеров телефонов и платежных кодов в единой «умной камере» банковского приложения. Пользователь наводит камеру на нужные реквизиты, а система автоматически извлекает платежные данные и переносит их в соответствующую форму.
Да. С помощью WebAssembly сканирование банковских карт встраивается в веб-страницы, веб-приложения (PWA) и мини-приложения мессенджеров Telegram и MAX. Распознавание работает прямо в браузере, без установки отдельного приложения.
Распознавание встраивается в мобильные, десктопные и серверные приложения, а также в веб-приложения и веб-страницы. Одну и ту же технологию можно использовать в любых каналах: от мобильного банка до веб-версии интернет-банка.