2011-01-21 2 views
2

Я пытаюсь проверить, существует ли отпечаток пальца в огромной коллекции отпечатков пальцев (100 000 отпечатков пальцев). Для поиска совпадений потребуется больше времени. есть ли лучший способ поиска соответствия? возможно ли организовать отпечатки пальцев в двоичной древовидной структуре, чтобы можно было сократить количество сравнений? если да, то как мы можем это сделать? было бы полезно, если ответы будут рассмотрены на Java.Самый быстрый способ сопоставить отпечатки пальцев?

редактировать:

У меня есть все отпечатки пальцев, как .gif изображений. как я могу преобразовать изображения отпечатков пальцев в данные?

Спасибо.

+3

Как выглядит «отпечаток пальца»? Что это за тип данных? – mhaller

+0

@mhaller: Я отредактировал мой вопрос. пожалуйста, обратитесь к нему. – brainless

+7

Вам необходимо показать каждый отпечаток пальца на экране, последовательно, и для каждого из вас выдается большой красный знак «NO MATCH», достаточно длинный, чтобы человек мог читать и говорить «hummm ... no match yet», пока не появится совпадение , Вот как это делается во всех фильмах. – JRL

ответ

4

1) Вы должны использовать алгоритм сжатия Wavelet для кодирования отпечатков пальцев в последовательности вейвлет-параметров сжатия:

0, -1, 2,4, 5.6.7.7, 32.-1.5, e.t.c.

2) Вы должны определить функцию соответствия, которая будет найти некоторые общие черты, есть два варианта:

-The геометрия подход (сравнение qudrants к qudrants, все поля расположены в непрерывных блоках на некотором пространстве алгоритма)

За:

аппаратного алгоритм сопоставления ускорено (SSE) пикселей, нормализация всех отпечатков пальцев к стандартной основе с использованием аффинного преобразования, Fe на площадь 512х512 рх

Cons:

чувствительность Hight качества отпечатка пальца (если часть искали отпечаток пальца omittet полностью)

-The топология подход (связность линий, дуги, точки останова, взаимный позиционирование друг с другом)

за:

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

Минусы:

Низкая скорость анализа, в значительной степени зависит от качества функции классификации,

3) Вы должны определить какое-то генетический алгоритм для обучения функции оценки на известный наборе отпечатки пальцев

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

+0

Отслеживайте отпечатки пальцев, сравнивая изображение отпечатка пальца: это шутка !!! Вы знаете, что такое мелочи? – LaurentY

1

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

Я гугл для fingerprint encoding standard и придумал несколько интересных результатов, в том числе Энциклопедию биометрии, в котором упоминается «качество в различных стандартах кодирования отпечатков пальцев», и article говорить об изображении стандарте кодирования ФБР (среди прочего)

3

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

Вот слайд-шоу, который обеспечивает схему: http://www.slideshare.net/alessandrobaffa/fingerprints-recognition-using-neural-networks

Последний слайд содержит дополнительные ссылки.

Удачи вам!

/Томас Кан

+0

Мне понравилась эта презентация, она заполняет пробелы (пропущенные) в моем ответе. Я полагаю, что нейронные сети идеально подходят для обнаружения и классификации, например, для классификации Байеса, но не только для алгоритма размера пикселей. Я действительно думаю, что алгоритм сжатия вейвлет может найти сходства в двух отпечатках пальцев, потому что он новый, совершенно новый, и я думаю, что он является аффинным инвариантом (скорость сжатия не чувствительна к вращению/зеркалированию и повторной выборке) –

+0

@Artur Mustafin: As I сказал, я веб-разработчик, поэтому я никогда не сталкивался с такими проблемами в своей повседневной работе. Мой ответ был снят с бедра. Я только что упомянул об этом, потому что я экспериментировал с ним и нашел его полезным для распознавания символов.Но я понимаю, что распознавание отпечатков пальцев гораздо сложнее, чем распознавание персонажей, и я уверен, что существуют специальные методы анализа отпечатков пальцев, которые превосходят скорость и точность. – tkahn

1

Я знаю, что этот вопрос был задан 4 года назад, однако многие люди смотрят его и для зрителей, я думаю, что мой ответ может быть полезным.

Есть несколько вопросов, которые задают: - 1) Есть ли способ поиска отпечатков пальцев как можно быстрее для крупномасштабных баз данных?

Ans: Yes - Перед тем, как сопоставить отпечаток пальца, вам предстоит пройти важный шаг. Этот процесс представляет собой классификацию отпечатков пальцев, которая подразделяется на исключительную классификацию и непрерывную классификацию. Эксклюзивная классификация проще реализовать, поскольку вы определяете шаблон отпечатка пальца, известный как класс, и сравниваете его только с отпечатками пальцев в базе данных того же класса. Это сделано для ускорения сопоставления отпечатков пальцев.

Ссылка, созданная Питер kovesi ниже приводится код для поля ориентации и извлечения мелочей для согласования: - http://www.csse.uwa.edu.au/~pk/research/matlabfns/#fingerprints сингулярных обнаружений точки и ориентации полей помогает в идентификации классов. Его можно найти по ссылке.

2) Как преобразовать изображения отпечатков пальцев в данные? Ans: Хорошо, неважно, в каком формате изображение, я использую tiff. Вам нужно знать, что отпечатки пальцев состоят из хребтов и долин. Риджи представлены более темной линией. Вам нужно применить что-то, называемое сегментацией хребта, чтобы отбросить фон и извлечь только хребты. Это сохраняется в маске.

3) «существующее изображение и изображение, которое сканируется обыкновение быть точно похоже, что это моя проблема.»

Ans: влияет ли это шум, вращение, перевод и т.д. Снижение шума, методы повышения использования. Для вращения используйте контрольные точки и выровняйте отпечатки пальцев.

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

1

Я не могу комментировать наилучший подход, полностью соответствующий DIY, но у меня есть много опыта работы на местах в этой области. Все крупные (дорогие!) Коммерческие продукты имеют 2 или более алгоритмов для сопоставления отпечатков пальцев на больших наборах данных.Некоторые из них используют классы отпечатков пальцев (loop, whorl и т. Д.), Чтобы сделать некоторую предварительную фильтрацию, но в целом отпечатки пальцев не индексируются очень хорошо, вам придется переборщить ее разумным способом. Именно здесь вступают в действие несколько алгоритмов.

Существует несколько классов алгоритмов, которые могут очень быстро сравнивать отпечатки пальцев (форма хребта), но очень восприимчивы к ошибкам, поэтому сами по себе не являются достаточно точными, чтобы сделать правильную идентификацию в базах данных с разумным размером. Таким образом, эти алгоритмы обычно развертываются как первый этап. Если алгоритм сомневается, он переходит к следующему этапу. Это может быть некоторый алгоритм «среднего класса», например. спектральные мелочи или «медленный », точный алгоритм, например. что фактически сравнивает все мелочи. Чистый эффект заключается в том, что вторичные этапы обычно корректируются для большинства ложных приемников первого этапа. Единственный неисправимый убыток - это ложные отклонения на первом (и втором) этапе. В зависимости от области приложения это может быть незначительным или довольно высоким. Это компромисс между точностью и производительностью. В нашей собственной тестовой среде мы видели скорость более 100.000.000 отпечатков пальцев в секунду таким образом на одном рабочем столе, решая исходную проблему в ~ 1 мс. Это, однако, сложный, дорогой и очень специализированный программный продукт.

0

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

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

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

Биометрические алгоритмы не идеальны, и производительность измеряется их False Accept Rate (FAR) и их False Reject Rate (FRR). Эти две меры обратно связаны друг с другом, а это означает, что по мере увеличения безопасности (уменьшения FAR) вы увеличиваете FRR.