Você está na página 1de 13

04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.

dev

a2hs.dev 

 Página inicial  Autenticação biométrica 

Crie o NBIS e experimente a correspondência de impressões


digitais

 21 de junho de 2019  29 de junho de 2019

 SHARE

https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 1/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

 Sumário

Esboço

O meio ambiente

Construir

Erro de compilação

Dados de teste

Extração de ponto de recurso

Arquivo .xyt (X, Y, Theta)


arquivo .min (MINutiae)
arquivo .dm (mapa de direção)
Arquivo .hcm (mapa de alta curvatura)
Arquivo .lcm (mapa de baixo contraste)
Arquivo .lfm (mapa de baixo fluxo)
arquivo .qm (mapa de qualidade)
arquivo .brw (???)

Correspondência de pontos de recurso

Sumário

Esboço

NBIS (NIST Biometric Image Software) é NIST (Instituto Nacional de Padrões e Tecnologia) e
FBI (Federal Bureau of Investigation) e DHS (Departamento de Segurança Interna) Software de
processamento de imagem biométrico desenvolvido para.

Software de Imagem Biométrica do NIST (NBIS)


https://www.nist.gov/services-resources/software/nist-biometric-image-software-nbis

Atualmente, código aberto.


Desta vez, eu gostaria de construir o NBIS e combinar impressões digitais.

https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 2/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

O meio ambiente

· MacBook Pro macOS Mojave 10.14.5


· NBIS Versão 5.0.0

Construir

Faça o download do NBIS Release 5.0.0 a partir do seguinte URL.

NIGOS - NIST Biometric Open Source servidor


Https://Www.Nist.Gov/itl/iad/image-group/products-and-services/image-group-open-source-
server-nigos#Releases

após o download do arquivo zip Descompacte.


Desta vez, foi descompactado para a área de trabalho e construído.

Inicie o terminal e execute o seguinte comando.

1. cd ~ / Desktop / Rel_5.0.0
2. compilação mkdir
3. ./setup.sh ./build - sem o X11

A lista de opções setup.sh e como usá-las estão escritas no arquivo INSTALL_ <OS> .txt no
diretório criado descompactando o arquivo zip. Consulte-o se desejar especificar outras opções.

Em seguida, execute o seguinte comando:

1. sudo make config


2. sudo torná-lo
3. sudo make install LIBNBIS = sim
4. sudo make catalogue

A compilação está concluída.


O binário é gerado no diretório build / bin no diretório criado descompactando o arquivo zip.

https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 3/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

Erro de compilação

O seguinte erro ocorreu no meu ambiente:

1. / opt / local / bin / ar: falha no comando interno do ranlib


2. / opt / local / bin / ranlib: object: libjpegb.a (jcapimin.o) objeto
malformado (comando de carregamento desconhecido 1)

Por enquanto, foi resolvido executando o seguinte comando.

1. $ sudo mv / opt / local / bin / ranlib / opt / local / bin / ranlib-


backup-2019-06-20
2. $ sudo mv / opt / local / bin / ar / opt / local / bin / ar-backup-2019-
06-20

Dados de teste

A imagem da impressão digital de teste é um png em escala de cinza de 8 bits que é fácil de
entender e interessante.
Dessa vez, baixei e usei a imagem da impressão digital do seguinte URL.

mhshams / jnbis
https://github.com/mhshams/jnbis/tree/develop/src/test/resources/samples/nist

Extração de ponto de recurso

Os pontos de recurso de impressão digital são extraídos usando o MINDTCT.

1. Comando:
2. mindtct <caminho do arquivo de imagem em escala de cinza> <caminho do
arquivo de saída>

1. Exemplo:
2. cd ~ / Desktop / Rel_5.0.0 / buld / bin

https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 4/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

3. sudo mindtct ~ / Desktop / amostras / fp-1 / fp-1.png ~ / Desktop /


amostras / fp-1 / fp-1
4. sudo mindtct ~ / Desktop / amostras / fp-2 / fp-2.png ~ / Desktop /
amostras / fp-2 / fp-2

Quando executado, 8 tipos de arquivos (.brw / .dm / .hcm / .lcm / .lfm / .min / .qm / .xyt) são
gerados.
Desses, os arquivos xyt são usados para correspondência de impressões digitais.

O conteúdo de cada arquivo é o seguinte.


("" É a tradução do manual do Google.)

Arquivo .xyt (X, Y, Theta)

Um arquivo que representa pontos de recurso.


A primeira coluna: X-coordenadas (0 ~)
segunda coluna: coordenada Y (0)
3 Coluna: ângulo (0-359)
quarta coluna: Qualidade (0-100)
"Este ficheiro de texto, os detalhes do resultado de detecção Isso relata apenas as coordenadas
x, y mínimas, teta e qualidade da imagem, com cada linha desse arquivo contendo informações
separadas por espaço para um ponto de detalhe. oroot> .xyt é o formato específico usado pelo
algoritmo de correspondência bozorth3. "

arquivo .min (MINutiae)

Um arquivo que representa pontos de recurso.


O formato é quase o mesmo que o arquivo .xyt, apenas o formato é diferente.
"Este arquivo de texto relata os resultados detalhados da detecção. A maioria dos resultados
listados neste arquivo de texto é codificada e armazenada no registro Tipo-9 do arquivo ANSI /
NIST de saída. A primeira linha não vazia mostra o número de detalhes detectados na imagem
da impressão digital, seguido pelo atributo associado a cada detalhe detectado como uma linha
de texto para cada detalhe. Cada linha de detalhe tem o mesmo formato ".

https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 5/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

arquivo .dm (mapa de direção)

Arquivo de mapa mostrando a direção do fluxo da crista.


"O mapa de direção representa a direção do fluxo da crista na imagem da impressão digital. O
mapa contém uma grade inteira. Cada célula da grade representa uma vizinhança de 8x8 pixels
na imagem. O ângulo de elevação é quantizado em 16 unidades bidirecionais inteiras
igualmente espaçadas no semicírculo, começando na vertical 0, a unidade direcional aumenta
no sentido horário e aumenta 11,25 graus Representa um salto e para na direção 15, que é
11,25 graus na direção vertical,
usando este esquema, a direção 8 é horizontal, um valor de -1 neste mapa representa uma
vizinhança para a qual não foi determinado o fluxo de crista válido . "

Arquivo .hcm (mapa de alta curvatura)

Um arquivo de mapa representando pontos com alta curvatura.


"O mapa de alta curvatura representa regiões na imagem que possuem altas cristas de
curvatura. Isso é especialmente verdadeiro para as regiões central e delta na imagem da
impressão digital, mas a alta curvatura não se limita a esses casos. Um mapa de dois níveis
com as mesmas dimensões do mapa de direção, o valor da célula 1 representa a vizinhança de
8x8 pixels na imagem da impressão digital localizada na área da curva alta, caso contrário, o
valor da célula é definido como 0. "

Arquivo .lcm (mapa de baixo contraste)

Um arquivo de mapa representando o plano de fundo (geralmente).


"Um mapa de baixo contraste representa uma região em uma imagem de baixo contraste. Uma
região de baixo contraste geralmente representa o fundo de uma imagem de impressão digital.
Este é um mapa de dois níveis com as mesmas dimensões que um mapa de direção. Um valor
de célula 1 representa uma vizinhança de 8 × 8 pixels na imagem da impressão digital
localizada na região de baixo contraste, caso contrário, o valor da célula é definido como 0. ”

Arquivo .lfm (mapa de baixo fluxo)


https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 6/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

Arquivo de mapa de pontos em que a direção não pode ser determinada (difícil) (?)
"Os mapas de baixo fluxo representam regiões da imagem que possuem fluxos indeterminados
de elevação. O fluxo de cume é um cálculo discreto para uma determinada faixa de frequência.
Determinadas usando um conjunto de formas de onda de cosseno, essas formas de onda são
aplicadas em 16 direções incrementais,
às vezes qualquer forma de onda que não esteja em nenhuma orientação para determinar
satisfatoriamente a freqüência direcional dominante Ele não ressoa alto o suficiente na região da
imagem, que é um mapa de dois níveis da mesma dimensão que o mapa de direção, onde o
valor da célula 1 está localizado na região onde a frequência direcional dominante não pôde ser
determinada Representa uma vizinhança de 8x8 pixels em uma imagem de impressão digital,
caso contrário, o valor da célula é definido como 0. A diferença é que o Mapa de baixo fluxo
registra todas as células com fluxo de cume não determinístico Direção Ma p é registrar apenas
o que não pode ser determinado após uma extensa interpolação e suavização das direções do
fluxo da crista adjacente ".

arquivo .qm (mapa de qualidade)

Um mapa que representa qualidade.


"O mapa de qualidade representa áreas na imagem com diferentes níveis de qualidade. O mapa
acima é heuristicamente combinado para formar cinco níveis individuais de qualidade. Este
mapa tem as mesmas dimensões que o mapa de direção, Cada valor no mapa representa uma
vizinhança de 8x8 pixels da imagem da impressão digital, o valor da célula 4 representa a mais
alta qualidade e o valor da célula 0 representa a menor qualidade possível. "

arquivo .brw (???)

"Este arquivo é o arquivo de pixel bruto da imagem binarizada criada pela mindtct ao localizar
pontos de detalhe. O padrão é uma subdivisão calculada com base na origem do pixel na parte
inferior esquerda da imagem , A direção está apontando da extremidade elevada ou da calha do
ramo. "

Correspondência de pontos de recurso


https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 7/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

Os pontos de recurso são correspondidos usando BOZORTH3.

1. Comando:
2. bozorth3 <probefile.xyt> <galleryfile.xyt>

1. Exemplo:
2. cd ~ / Desktop / Rel_5.0.0 / buld / bin
3. sudo bozorth3 ~ / Desktop / amostras / fp-1 / fp-1.xyt ~ / Desktop /
amostras / fp-2 / fp-2.xyt

O resultado da execução é um número muito simples.


Grosso modo, esse número parece ser o número que corresponde aos pontos de recurso.
Geralmente, parece que ela pode ser julgada como uma impressão digital correspondente
quando exceder 40.

Sumário

Levei um tempo para ler o manual, mas o trabalho em si foi capaz de combinar as impressões
digitais em alguns minutos.
Foi muito interessante, então eu gostaria de usar outro software que eu possa usar.

COMPARTILHAR

  B!  
Tweet Compartilhe Hatebu LINHA Pocket

CATEGORIA: Autenticação biométrica

TAGS: #Autenticação biométrica

Quem escreveu este artigo

https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 8/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

a2hs

Um engenheiro que desenvolve principalmente aplicativos móveis. Estou interessado em


aprendizado de máquina e segurança cibernética. Estou estudando com o objetivo de
desenvolver um sistema de autenticação usando aprendizado profundo.

   
Twitter Facebook Instagram YouTube

 Deixe um comentário

Seu endereço de email não será publicado. Os campos obrigatórios estão marcados com *

Comente

Nome *

Endereço de email *

O site

Salve seu nome, endereço de email e site no navegador para usar no próximo comentário.

Enviar comentário

https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 9/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

protegido por reCAPTCHA


Privacidade - Termos

 Artigo anterior

Descompile a fonte do Kotlin para o código Java

a2hs
Um engenheiro que desenvolve principalmente aplicativos móveis. Estou
interessado em aprendizado de máquina e segurança cibernética. Estou
estudando com o objetivo de desenvolver um sistema de autenticação
usando aprendizado profundo.

   

 ARQUIVO

4 de junho de 2019

https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 10/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

2 de maio de 2019

6 de abril de 2019

 CATEGORY

Android 6

iOS 1

Java 1

Kotlin 3

Segurança cibernética 1

Aprendizado de máquina 1

Autenticação biométrica 1

 TAG

Android (8) Android Estúdio (5) Google Cloud Platform (1) IOS (1)

Java (3) Kotlin (4) Objective-C (1) Swift (1) Cibersegurança (1)

trabalhadores de apoio de processamento de informações de segurança (1 )

aprendizagem de máquina (1) biométrico (1)

PESQUISA

検索 

https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 11/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

POPULAR

1
Sobre
353 visualizações

2
Contato
332 visualizações

Trê
s Fiz o
exame
Associate Android Developer

POSTS RECENTES

21 de junho de 2019:
crie o NBIS e experimente a correspondência de impressões digitais

12 de junho de 2019:
Descompilando a fonte do Kotlin no código Java

Tipo de arquivo Android Studio Kotlin


10 de junho de 2019

PESQUISA

検索 

 INÍCIO

https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 12/13
04/10/2019 Crie o NBIS e experimente a correspondência de impressões digitais | a2hs.dev

 Blog  Sobre  Contato  Política de Privacidade

© 2019 a2hs Todos os direitos reservados.

https://a2hs.dev/2019/06/21/build-nbis-and-fingerprint-matching/ 13/13