БиоSDK

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


Немного о биометрии

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

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

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


Знакомство

Продукт, который мы будем сейчас рассматривать, называется BioLink SDK. Как несложно догадаться, это SDK разработала компания BioLink, которая известна своими аппаратными решениями в области биометрии (оптические сканеры отпечатков пальцев, система учета рабочего времени и контроля доступа, система автоматической мультибиометрической идентификации, алгоритмы верификации и идентификации и т.д.). Вполне логично, что SDK предназначен для работы именно с этими решениями, что, с одной стороны, является его сильной чертой, с другой - привязывает создателей ПО к решениям конкретного производителя, что в ряде случаев может быть неприемлемо. Но для подобных случаев есть другие технологии, о которых мы тоже, может быть, поговорим на страницах "Компьютерных вестей".

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

В BioLink SDK все несколько сложнее. Во-первых, перед непосредственной работой с получаемых со сканера отпечатков можно провести проверку их качества для обеспечения лучшего распознавания. При этом возможен вывод визуальной шкалы качества непосредственно на изображение отпечатка пальца при сканировании, что будет очень удобно для конечного пользователя системы, который сможет таким образом понять, как ему лучше прикладывать палец для более качественного сканирования. Во-вторых, после того, как качество изображения будет удовлетворительным, производится преобразование изображений отпечатков в цифровую модель (шаблон). На этом этапе также допускается вывод визуальной информации о расположении особых точек и полей направлений непосредственно на изображение отпечатка. Во время обработки полученного со сканера изображения происходит генерация защищенного 500-байтового шаблона, в который преобразуется изображение отпечатка пальца пользователя. Собственно, именно с этим шаблоном и работает дальше SDK - сравниваются между собой для идентификации личности именно шаблоны, а не сами изображения. Разработчики отмечают, что можно сравнивать шаблоны между собой с помощью двух разных алгоритмов, один из которых точнее, но требует достаточно заметного времени для своей работы, а второй работает быстро, зато более грубо. Соответственно, первый алгоритм удобнее, когда нужно надежно обработать один или сравнительно небольшое количество отпечатков пальцев, в то время как второй более приспособлен для пакетной обработки данных.

Помимо этого, разработчики BioLink SDK обещают точную подстройку процессов сканирования "на лету" для достижения оптимальной производительности. Сложно сказать, насколько это реализуется на практике, но, по крайней мере, эту красивую фразу можно добавить в описание продукта, который разрабатывается с помощью BioLink SDK. Полезной также будет поддержка сжатия (ну и, соответственно, последующей декомпрессии) изображений отпечатков на основе стандарта WSQ (Wavelet Scalar Quantization). В целом, как видите, возможности BioLink SDK весьма неплохи, если отвлечься от того факта, что это все привязано к "железу" одного производителя.


Технические аспекты

Это все достаточно интересно, можете сказать вы, но как насчет языков программирования и платформ разработки, скоторыми умеет взаимодействовать BioLink SDK? Что ж, и здесь его разработчикам есть чем порадовать конечных потребителей своего продукта. Список поддерживаемых языков программирования таков: С/С++; языки платформы .NET (версии .NET Framework 1.1 и 2.0); Visual Basic; Delphi. Список поддерживаемых платформ, конечно, несколько скромнее, но тоже весьма неплох: Win32, WinCE, Linux.

Графические элементы управления, поставляемые вместе с SDK (они нужны для вывода изображений отпечатка и информации о его качестве и точках, формирующих шаблон) выполнены в виде ActiveX, то есть их вполне можно будет использовать под Windows и при написании кода на тех же C++ или Delphi, и при создании .NET-приложений.

Международные стандарты в области биометрической идентификации, поддерживаемые данным пакетом: ISO/IEC 19794-4 Finger Image Data, ISO/IEC 19794-2 Biometric data interchange formats Finger Minutiae Data и ANSI/NIST-ITL-1-2000 data. Так что при построении системы, которая должна соответствовать какому-либо из этих стандартов, можно смело использовать BioLink SDK.

К сожалению, цена BioLink SDK на сайте компании-разработчика (www.biolink.ru) не указана, но надо думать, продукт относится не к самым дешевым. Впрочем, цена SDK все равно будет небольшой, по сравнению с ценой всего решения для биометрической идентификации.

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

Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by

Версия для печатиВерсия для печати

Номер: 

37 за 2010 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!