[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

BR112021016734A2 - Método para identificação de um usuário utilizando uma imagem de um objeto do usuário que possui uma característica biométrica do usuário e dispositivo móvel - Google Patents

Método para identificação de um usuário utilizando uma imagem de um objeto do usuário que possui uma característica biométrica do usuário e dispositivo móvel Download PDF

Info

Publication number
BR112021016734A2
BR112021016734A2 BR112021016734-0A BR112021016734A BR112021016734A2 BR 112021016734 A2 BR112021016734 A2 BR 112021016734A2 BR 112021016734 A BR112021016734 A BR 112021016734A BR 112021016734 A2 BR112021016734 A2 BR 112021016734A2
Authority
BR
Brazil
Prior art keywords
image
matrix
processing
user
neural network
Prior art date
Application number
BR112021016734-0A
Other languages
English (en)
Inventor
Hardik Gupta
Satheesh Murugan
Jesus Aragon
Original Assignee
Identy Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Identy Inc. filed Critical Identy Inc.
Publication of BR112021016734A2 publication Critical patent/BR112021016734A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/13Sensors therefor
    • G06V40/1312Sensors therefor direct reading, e.g. contactless acquisition
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/30Collimators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/141Control of illumination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/13Sensors therefor
    • G06V40/1318Sensors therefor using electro-optical elements or layers, e.g. electroluminescent sensing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/56Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Optics & Photonics (AREA)
  • Quality & Reliability (AREA)
  • Neurology (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Collating Specific Patterns (AREA)

Abstract

método para identificação de um usuário utilizando uma imagem de um objeto do usuário que possui uma característica biométrica do usuário e dispositivo móvel. um método de identificação de um usuário usando uma imagem de um objeto do usuário que apresenta uma característica biométrica do usuário, como uma impressão digital ou um conjunto de impressões digitais das pontas dos dedos, o método compreendendo: obtenção, por um sensor óptico de um dispositivo móvel, da imagem do objeto; fornecimento da imagem ou de uma parte da imagem a uma rede neural; processamento da imagem ou de parte da imagem pela rede neural, compreendendo a distinção, pela rede neural, de uma porção da imagem ou de parte da imagem compreendendo a região de interesse, roi, de outra porção da imagem; extração, a partir da imagem ou de parte da imagem, da roi; armazenamento da porção que compreender a roi em um dispositivo de armazenamento e/ou fornecimento da porção compreendendo a roi como entrada a um meio de identificação, compreendendo extração da característica biométrica da roi e processamento da característica biométrica extraída a fim de determinar se a característica biométrica extraída identifica o usuário.

Description

Relatório Descritivo de Patente de Invenção
MÉTODO PARA IDENTIFICAÇÃO DE UM USUÁRIO UTILIZANDO UMA IMAGEM DE UM OBJETO DO USUÁRIO QUE POSSUI UMA
CARACTERÍSTICA BIOMÉTRICA DO USUÁRIO E DISPOSITIVO MÓVEL Campo da Invenção
[0001] A invenção se refere a um método para identificação de um usuário usando uma imagem de um objeto do usuário que apresenta uma característica biométrica do usuário, como uma impressão digital ou um conjunto de impressões digitais das pontas dos dedos e um dispositivo móvel para implementar o respectivo método. Antecedentes da Invenção
[0002] Atualmente é conhecido o uso, por exemplo, de impressões digitais ou outras características biométricas, como distâncias geométricas específicas entre pontos no rosto ou as pregas palmares da mão a fim de identificar um usuário. Isso torna necessário obter informações visuais (isto é, uma imagem) do respectivo objeto que contém a característica biométrica do usuário e processar posteriormente essa característica biométrica. Esse processamento posterior pode compreender a comparação da característica biométrica obtida com uma característica biométrica armazenada ou, de outro modo, conhecida de um usuário específico. Caso a característica biométrica obtida corresponda àquela característica biométrica já conhecida ou armazenada, o usuário é identificado pela característica biométrica obtida.
[0003] Em vista dos desenvolvimentos mais recentes de dispositivos móveis, agora é possível obter a imagem do objeto que contém a característica biométrica remotamente a partir do software real ou outro hardware que realiza a identificação do usuário ao, por exemplo, usar um sensor óptico, como uma câmera de um dispositivo móvel, para obter a respectiva imagem do objeto. Para a identificação posterior do usuário, é então necessário encaminhar o objeto à entidade que realiza a identificação.
[0004] Como a entidade que realiza a identificação geralmente só é capaz ou mais adequadamente adaptada para processar a característica biométrica como tal, pode causar problemas ao encaminhar uma imagem total em que apenas uma parte da imagem compreende o objeto que contém a característica biométrica à respectiva entidade. Além disso, isso levaria a transferência de dados significativa, uma vez que toda a imagem teria que ser encaminhada à respectiva entidade.
[0005] Por outro lado, é necessário garantir que o objeto relevante que contém a característica biométrica seja adequadamente fornecido à entidade que realiza a identificação. Sumário da Invenção
[0006] A partir da técnica anterior conhecida, é um objeto da presente invenção permitir a identificação de um usuário usando uma característica biométrica do usuário obtida ao capturar uma imagem do objeto enquanto, ao mesmo tempo, reduz a quantidade de informações desnecessárias ou não processáveis da imagem fornecidas à entidade para realizar a identificação do usuário.
[0007] Esse objetivo é solucionado, de acordo com a invenção, pelo método e pelo dispositivo móvel.
[0008] O método de acordo com a invenção para identificação de um usuário usando uma imagem de um objeto do usuário que apresenta uma característica biométrica do usuário, como uma impressão digital ou um conjunto de impressões digitais das pontas dos dedos, em que o método compreende: • obtenção, por meio de um sensor óptico de um dispositivo móvel, da imagem do objeto; • fornecimento da imagem ou de uma parte da imagem a uma rede neural; • processamento da imagem ou de parte da imagem pela rede neural, compreendendo a distinção, pela rede neural, de uma porção da imagem ou de parte da imagem compreendendo a região de interesse, ROI, a partir de outra porção da imagem; • extração, a partir da imagem ou de parte da imagem, da ROI; • armazenamento da porção compreendendo a ROI em um dispositivo de armazenamento e/ou fornecimento da porção que compreende a ROI como entrada para um meio de identificação, compreendendo a extração da característica biométrica da ROI e processamento da característica biométrica extraída a fim de determinar se a característica biométrica extraída identifica o usuário.
[0009] O objeto do usuário que apresenta uma característica biométrica pode ser qualquer objeto que seja adequado, devido à característica biométrica que contém para identificar o usuário, isto é, distinguir o usuário de qualquer outro possível usuário. É o caso, por exemplo, das impressões digitais ou da íris do olho ou das pregas palmares da mão e, também, para características geométricas no rosto. Da mesma forma, por exemplo, uma pegada pode ser usada para identificar e distinguir um usuário de outra pessoa. Portanto, os objetos podem ser, por exemplo, uma ponta de dedo ou um dedo, o rosto, um olho, a palma de uma mão ou de um pé. Outros objetos podem ser considerados adequados também. Enquanto, a seguir, geralmente será feita referência ao objeto em geral, ou uma ponta do dedo como exemplos para outras explicações, fica claro que cada realização também pode ser realizada usando um ou mais dos objetos mencionados acima, tanto isoladamente quanto em combinação entre si.
[0010] A região de interesse é aquela região da imagem de um objeto que realmente contém a característica biométrica. Além disso, a região de interesse é preferencialmente aquela porção da imagem do objeto onde a característica biométrica é apresentada de forma a permitir a identificação confiável do usuário ao usar essa porção da imagem, especificamente essa porção do objeto ou essa porção da característica biométrica. Por exemplo, embora toda a ponta do dedo porte a impressão digital, capturar uma imagem da ponta do dedo levaria a alguma parte da ponta do dedo não voltada para frente do sensor óptico e, assim, invisível na imagem com uma inclinação, por exemplo, sendo mais escura que as demais porções da impressão digital. Essas regiões “obscurecidas” geralmente não são parte da região de interesse, porque realmente não são adequadas para identificar o usuário ao usar essas regiões.
[0011] A rede neural, de acordo com a invenção, é treinada e/ou, de outro modo, adaptada para poder distinguir, através do processamento da imagem, entre essas porções da imagem que contêm a região de interesse e as demais porções da imagem que não contêm a região de interesse. Isso pode ser atingido em uma variedade de formas e, assim, não deve ser compreendido em uma forma limitante. Que a rede neural “distingue” aquela região compreendendo a ROI de outra região deve ser compreendido como a capacidade de a rede neural fornecer uma saída que distingue entre a ROI e as demais regiões da imagem ou possibilitar a distinção entre essas regiões. Por exemplo, a saída poderia ser uma indicação de pixels compreendendo a ROI, mas não outras regiões da ROI. Em qualquer caso, o resultado do processamento da imagem pela rede neural compreende pelo menos que uma primeira porção da imagem compreendendo a região de interesse seja identificada como diferente da outra porção da imagem. Nesse sentido, observa-se que o tamanho específico e formato da posição região de interesse são descobertos pela rede neural durante o processamento da imagem e não estão predefinidos.
[0012] Em vista disso, o método de acordo com a invenção é destinado a ser direcionado a captura de forma livre de uma imagem do objeto, o que significa que a imagem do objeto não é capturada usando um modelo ou outra máscara apresentada ao usuário que define como o usuário deva posicionar o objeto em relação ao sensor óptico.
[0013] O meio de identificação pode ser remoto ao dispositivo móvel com o qual a imagem é capturada ou também pode ser incluído no dispositivo móvel. Além disso, observou-se que a rede neural pode ser fornecida no dispositivo móvel ou remota ao dispositivo móvel, o que compreenderá então que a imagem, antes do processamento pela rede neural, seja encaminhada do dispositivo móvel para a localização remota onde a rede neural é fornecida.
[0014] Observa-se que o fornecimento da imagem ou parte da imagem à rede neural não compreende apenas o fornecimento da imagem ou de parte da imagem tal como obtida pelo sensor óptico, o que significa que, por exemplo, a imagem original ou metade da imagem ou uma porção específica da imagem que provavelmente compreende o objeto tendo a característica biométrica seja fornecida à rede neural. Além disso, essa etapa pode compreender um pré- processamento da imagem original, por exemplo, ao aplicar modificações no brilho ou separação da imagem em imagens de cor única ou similares. A invenção não está limitada nesse sentido.
[0015] O método, de acordo com a invenção, permite a obtenção da região de interesse para processamento posterior, especificamente para determinar se a característica biométrica extraída identifica o usuário com alta precisão, reduzindo significativamente assim a transferência de dados necessária e, também, simplificando o processamento da característica biométrica pelo meio de identificação, visto que pode evitar a influência de interferente ao meio de identificação a partir do restante da imagem que não contém a região de interesse.
[0016] Em uma realização, o objeto é pelo menos uma ponta de dedo e a característica biométrica é uma impressão digital da ponta do dedo e em que o processamento da entrada pelo meio de identificação compreende a extração, a partir da impressão digital, de uma característica biométrica, como, por exemplo, o local e o tipo de minúcias, e a comparação da característica biométrica extraída com uma característica biométrica armazenada em um dispositivo de armazenamento, em que, se uma diferença entre a característica biométrica extraída e a característica biométrica armazenada estiver abaixo de um limiar, o meio de identificação determina que o usuário é identificado pela impressão digital e, se a diferença entre a característica biométrica e a característica biométrica armazenada estiver acima de um limiar, o meio de identificação determina que o usuário não é identificado pela impressão digital.
[0017] O limiar pode ser, por exemplo, um valor numérico. Por exemplo, o limiar pode ser um número entre 0 e 1, em que 0 constituiria a correspondência perfeita entre a característica biométrica na característica biométrica armazenada e 1 significaria nenhuma correspondência entre a característica biométrica na característica biométrica armazenada. Para levar em conta que, com a obtenção de uma imagem sempre há o risco de que a correspondência não seja 100%, mas também levando em conta que, para identificar um usuário, a precisão de identificação deve ser muito elevada, por exemplo, quando o usuário quer acessar sua conta bancária, o limiar pode ser estabelecido próximo a 0, por exemplo, 0,02 ou 0,04. No entanto, qualquer outro valor também é possível.
[0018] A diferença entre a característica biométrica extraída e a característica biométrica armazenada pode, por exemplo, ser calculada pixel por pixel da região de interesse usada da imagem obtida. Isso significa que, para cada pixel, a diferença entre o valor da característica biométrica armazenada (por exemplo, valor do brilho ou valor da cor) e a característica biométrica extraída pode ser determinada. Cada um desses valores pode então, por exemplo, ser normalizados a uma faixa entre 0 e 1. Caso o valor médio desses valores normalizados para todos os pixels na ROI ou um subconjunto de pixels na ROI esteja abaixo do limiar, o meio de identificação pode determinar que o usuário seja identificado pela impressão digital e, caso negativo, o usuário não é identificado pela impressão digital.
[0019] Outros meios de cálculo da diferença entre a característica biométrica extraída e a característica biométrica armazenada também podem ser considerados.
[0020] O uso deste cálculo e comparação com um limiar permitir para a determinação confiável de se o usuário deve ser identificado ou não pela característica biométrica obtida.
[0021] Em uma realização mais específica, a imagem compreende mais de uma ponta do dedo e o método compreende ainda extração das porções da imagem correspondendo a cada ponta do dedo na imagem e uso da impressão digital de cada ponta do dedo para identificação do usuário pelo meio de identificação.
[0022] Essa realização pode ser vantajosa para aumentar a precisão com a qual a identificação do usuário é realizada conforme mais de uma ponta do dedo é usada para a identificação.
[0023] Pode ser fornecido ainda que o meio de identificação determine que um usuário é identificado pelas impressões digitais das pontas dos dedos ao determinar que a precisão de identificação combinada das impressões digitais das pontas de todos os dedos na imagem está acima de um determinado limiar ou o meio de identificação determina que um usuário é identificado pelas impressões digitais das pontas dos dedos ao determinar se, para cada ponta de dedo, uma diferença entre uma característica biométrica da impressão digital da ponta de dedo e uma característica biométrica armazenada da impressão digital da ponta de dedo está abaixo de um limiar e ao determinar que o usuário é identificado pelas impressões digitais das pontas dos dedos apenas caso todas as diferenças determinadas estarem abaixo do limiar correspondente.
[0024] O limiar pode ser determinado conforme indicado acima. Da mesma forma, a diferença entre a característica biométrica extraída e a característica biométrica armazenada pode ser determinada como já descrita acima ou de qualquer outra forma adequada.
[0025] Ao usar as diferenças isoladas entre aquela característica biométrica extraída e a característica biométrica armazenada ou ao usar a precisão de identificação combinada, a identificação do usuário pode ser realizada com alta confiabilidade. Nesse sentido, a precisão de identificação combinada pode ser considerada, por exemplo, o valor médio de todas as precisões de identificação obtidas para diferentes impressões digitais.
[0026] Em uma realização, a imagem é obtida por uma câmera como sensor óptico do dispositivo móvel.
[0027] Como todos os smartphones da presente geração possuem essas câmeras, o método pode ser usado por uma pluralidade de usuários, simplificando assim a identificação necessária para, por exemplo, registro em uma conta bancária.
[0028] Em uma realização adicional, o processamento da imagem ou de parte da imagem pela rede neural compreende processamento da imagem por um codificador para obter uma imagem codificada e, após isso, processamento da imagem codificada por um decodificador para obter uma imagem de saída decodificada.
[0029] Nesse sentido, o decodificador e codificador não devem ser considerados na forma de “encriptar e desencriptar”. Ao contrário, devem ser compreendidos da forma a seguir. O codificador processa a imagem em uma “primeira direção”, o que significa que as transformações específicas são aplicadas à imagem para obter uma imagem modificada (imagem codificada). Isso pode compreender transformações que reduzem o tamanho da imagem original e/ou modificar os valores associados a cada pixel ou entrada de uma matriz que representa a imagem. O decodificador então aplica um processamento à imagem codificada para obter a imagem de saída decodificada que, preferencialmente, possui pelo menos o mesmo número de pixels da entrada original. Em vista disso, o decodificador, de acordo com a invenção, reverterá pelo menos parcialmente as transformações aplicadas pelo codificador. No entanto, a decodificação da imagem codificada não necessariamente resulta na imagem de entrada original, de modo que a decodificação e codificação não sejam transformações inversas aplicadas à imagem.
[0030] Com essa realização, é possível obter as informações relevantes para identificar a ROI na imagem e mapear essa identificação para a imagem original para extrair os pixels relevantes.
[0031] Nesse sentido, também pode ser fornecido que a imagem ou a parte da imagem fornecida à rede neural para o processamento compreende N x M pixels e a imagem codificada compreende n x m pixels, em que n < N, m < M e a imagem de saída decodificada compreendem N x M pixels.
[0032] A redução do número de pixels ao codificar a imagem resulta em uma perda de informações. Ao aumentar a imagem mais uma vez durante a decodificação, no entanto, as informações mais relevantes para distinguir a ROI de outras porções da imagem podem ser mais facilmente discerníveis já que informações não relevantes ou informações muito detalhadas que não são necessárias para identificar a ROI são ofuscadas com esse procedimento.
[0033] Mais especificamente, a distinção de uma porção da imagem ou de parte da imagem compreende distinguir uma porção da imagem de saída decodificada de outra porção da imagem de saída decodificada.
[0034] A distinção das porções na imagem decodificada pode ser muito mais fácil em comparação à distinção da porção que compreende a ROI de outra porção da imagem original. Portanto, a potência do processamento necessária para a distinção de uma porção na imagem de saída decodificada de outra porção na imagem de saída decodificada é reduzida significativamente em comparação ao processamento da imagem da entrada original.
[0035] Em uma realização específica adicional, a extração da porção compreendendo a característica biométrica compreende a identificação de pixels na imagem de saída decodificada que estão na porção distinguida (isto é, a ROI) e, depois disso, identificação dos pixels na imagem de saída decodificada que estão na porção distinguida com os pixels correspondentes na imagem original ou parte da imagem e extração, a partir da imagem original ou parte da imagem, dos pixels correspondentes, os pixels correspondentes extraídos constituindo a porção da imagem ou de parte da imagem compreendendo a característica biométrica.
[0036] Como a imagem de saída decodificada possui o mesmo número de pixels da imagem de entrada, é facilmente possível corresponder a porção identificada na imagem de saída decodificada como compreendendo a ROI com a porção na imagem original, facilitando assim extrair a ROI da imagem de entrada.
[0037] O método pode compreender ainda que, na imagem de saída decodificada, cada pixel possui um valor 𝓍 ∈ ]-∞; +∞[ e, antes da distinção de uma porção da imagem de saída decodificada, aplica-se uma função de 1 ativação 𝒮(𝑥) = 1+𝑒 −𝑥 a cada pixel na imagem de saída decodificada e um valor normalizado 𝑥̅ = 𝑆(𝑥) é associado a cada pixel na imagem de saída decodificada, em que a distinção é realizada nos pixels com os valores 𝑥̅ .
[0038] Assim, as porções que compreendem a ROI são ainda mais facilmente distinguíveis a partir de outras porções que não compreendem a ROI, aumentando assim a precisão com a qual a ROI é identificada na imagem de saída decodificada.
[0039] Em uma realização, a rede neural compreende um conjunto de camadas codificadoras e um conjunto de camadas decodificadoras, em que o processamento da imagem ou de parte da imagem pelo codificador para obter uma imagem codificada compreende o processamento, por uma primeira camada do codificador, da entrada para criar uma primeira saída codificada intermediária e processamento, por meio de cada camada seguinte do codificador, da saída codificada da camada anterior, sendo cada camada do codificador uma convolução em profundidade separável compreendendo, na ordem de processamento da entrada na camada, uma camada de convolução em profundidade, um primeiro normalizador de lote, uma primeira unidade linear retificada, uma camada de convolução em pontos, um segundo normalizador de lote e uma segunda unidade linear retificada; em que, ao processar a entrada usando a pluralidade de camadas, o codificador obtém a imagem codificada; em que a imagem codificada é fornecida ao decodificador e em que o processamento da imagem codificada pelo decodificador para obter uma imagem de saída decodificada compreende o processamento, por uma primeira camada do decodificador, da entrada para criar uma primeira saída decodificada intermediária e processamento, por cada camada seguinte do decodificador, da saída decodificada da camada anterior, cada camada do decodificador compreendendo uma camada de deconvolução e/ou uma camada de upsampling bilinear; em que, ao processar a imagem de entrada codificada usando a pluralidade de camadas, o decodificador obtém a imagem de saída decodificada. Embora se faça referência ao longo dessa descrição a uma imagem “decodificada” e a uma imagem “codificada”, bem como a uma “imagem de saída decodificada” e a uma “imagem de entrada codificada”, observa-se que essas “imagens” podem não ser imagens como normalmente seriam compreendidas. Na verdade, as informações da imagem mudarão devido ao processamento pelas respectivas camadas da rede neural de uma forma que as respectivas “imagens” codificadas e descodificadas podem não conter mais informações comumente reconhecíveis por seres humanos. Portanto, os respectivos termos devem ser assim compreendidos por ser usados apenas para fins explicativos. As respectivas “imagens” codificadas e descodificadas são, no geral, tensores ou matrizes de um determinado tamanho.
[0040] Essa disposição do codificador e do decodificador produz resultados vantajosos em relação à imagem de saída decodificada, permitindo distinguir precisamente entre a ROI e a outra porção da imagem da entrada original ou parte da imagem.
[0041] Além disso, o processamento da imagem pela rede neural compreende a criação, a partir da imagem ou de parte da imagem, de pelo menos uma matriz I que representa um valor de cor para cada pixel na imagem ou em parte da imagem e forner a matriz como entrada à rede neural, em que a imagem ou parte da imagem compreende N x M pixels e a matriz I é uma matriz que compreende valores N x M, em que as entradas da matriz I são dadas por Iij, em que i e j são número inteiros e i=1…N e j=1…M.
[0042] Isso permite restringir o processamento da imagem antes do processamento pela rede neural para o processamento de um valor cor única que pode tornar o processamento mais fácil e o resultado mais preciso.
[0043] Além disso, cada camada de convolução em profundidade do codificador aplica um núcleo predefinido 𝐾 a uma matriz 𝐴 com entradas 𝐴𝑖𝑗 ̅ 𝑖 = 1…𝑁 com 𝑖 = 1 … 𝑁 ̅ em que 𝑁 ̅ ≤ 𝑁, 𝑀 ̅ ≤ 𝑁 recebido como entrada, o núcleo K sendo uma matriz de tamanho S x T em que S, T < N; S,T < M compreende as entradas Sab, em que a aplicação do núcleo à matriz compreende o cálculo do produto interno da matriz K com cada matriz reduzida R de tamanho (N x M)S,T de uma matriz Z, em que a matriz R possui o mesmo tamanho do núcleo K, e a matriz Z possui o tamanho ((N + 2Pw) x (M + 2Ph)) e as entradas da matriz Zcd com c, d ∈ ℕ+ são fornecidos por (I): 0∀𝒸 ≤ 𝑃𝑤 0∀𝒸 > 𝑃𝑤 + 𝑁 ̅ 𝑍𝑐𝑑 = 0∀𝑑 ≤ 𝑃ℎ (I) 0∀𝑑 > 𝑃ℎ + 𝑀 ̅ ̅; 𝑗 = 1 … 𝑀 {𝐴𝑖𝑗 𝑜𝑛𝑑𝑒 𝑐=𝑖+ 𝑃𝑤 ; 𝑑 = 𝑗 + 𝑃ℎ ; 𝑖 = 1 … 𝑁 ̅ e fornecem uma matriz P como saída, em que a matriz P possui o ̅ −𝑆+2𝑃𝑤 𝑁 ̅ −𝑇+2𝑃ℎ
𝑀 tamanho( + 1) × ( + 1), em que Ww e Wh definem a amplitude 𝑊𝑤 𝑊𝑤 do progresso e cada entrada Pij da matriz P é o valor do produto interno da matriz reduzida R elevada a ij com o núcleo K, em que a matriz P é fornecida como a saída pela camada de convolução em profundidade.
[0044] As entradas do núcleo podem ser treinadas através do treinamento da rede neural para levar a resultados mais apropriados ao processar a imagem com o auxílio dessas camadas de convolução em profundidade.
[0045] Em uma realização adicional, cada camada de convolução em profundidade do decodificador é adaptada para aplicar uma transformação inversa à entrada recebida, a transformação inversa criando, a partir de uma matriz de entrada B de tamanho N’ x M’ com entradas Bij, uma matriz expandida 𝐵̅ ao expandir cada entrada Bij da matriz B ao multiplicar a entrada
̅ , o núcleo 𝐾 com um núcleo 𝐾 ̅ sendo uma matriz de tamanho 𝑆̅ ×𝑇̅ com entradas ̅̅̅̅̅ 𝐾𝑞𝑝 para uma submatriz 𝐵 𝑠𝑢𝑏,𝑖 𝑗 com entradas ̅̅̅̅̅̅̅̅ ̅̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 =𝐵𝑖𝑗 ̅̅̅̅̅ 𝐾𝑞𝑝 e combinando as submatrizes ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 para obter a matriz expandida 𝐵̅.
[0046] Com isso, a imagem codificada pode ser decodificada ao tamanho ̅ não são original da imagem de entrada. As entradas no núcleo 𝐾 necessariamente inversas ou idênticas ou, de outro modo, relacionadas às entradas no núcleo original aplicado pela camada de convolução em ̅ podem ser aprendidas profundidade do codificador. As entradas no núcleo 𝐾 durante o treinamento da rede neural para levar aos resultados mais precisos. 𝑠𝑢𝑏,𝑖𝑗
[0047] A combinação das submatrizes 𝐵𝑞𝑝 pode ser facilitada de qualquer forma adequada. Por exemplo, as submatrizes podem ser dispostas lado a lado para obter a matriz expandida 𝐵̅ Também podem ser dispostas de forma sobreposta, de modo que a parte de uma primeira submatriz se sobreponha a uma parte de outra submatriz ao construir a matriz expandida 𝐵̅.
[0048] Por meio dessa transformação, pode-se obter uma matriz expandida que, no fim, possui o tamanho original da imagem de entrada, tornando assim a identificação da ROI mais fácil. ̅ é igual para todas as
[0049] Em uma realização, o tamanho do núcleo K e 𝐾 camadas de convolução em profundidade e/ou pelo menos uma das entradas ̅ é diferente de outra entrada no núcleo. no núcleo K ou 𝐾 ̅ com o mesmo tamanho, é possível obter uma
[0050] Ao usar os núcleos K e 𝐾 matriz expandida 𝐵̅ que usa o mesmo número das etapas de expansão/decodificação na deconvolução como aquele usado durante a codificação da imagem usada na convolução para obter a matriz reduzida. Isso pode reduzir artefatos e conflitos devido à realização de diferentes números de transformações pelo codificador e decodificador. Os valores de entradas específicas no núcleo são mais preferencialmente aprendidos durante o treinamento da rede neural.
[0051] Em uma realização adicional, o normalizador de lote cria uma matriz reduzida normalizada P’ e a unidade linear retificada aplica uma função de retificação para as entradas P’’ij, em que a função de retificação calcula uma nova matriz 𝑃̅ com entradas de acordo com (II): 0∀𝑃′′ 𝑖𝑗 < 0 𝑃̅𝑖𝑗 = { (II) 𝑃′′ 𝑖𝑗 ∀𝑃′′ 𝑖𝑗 ≥ 0 e a matriz 𝑃̅ é fornecida como saída; e/ou em que a camada de convolução em pontos aplica um peso α a uma matriz recebida de uma camada anterior ao multiplicar cada entrada na matriz com o peso α.
[0052] Assim, as informações adicionais são perdidas durante o procedimento de codificação, mas as informações mais relevantes são forçadas através do processamento da imagem de entrada pela rede neural, devido aos parâmetros da rede neural serem treinados de forma adequada.
[0053] O método também pode compreender fornecer uma parte da imagem à rede neural, compreendendo a separação da imagem em uma grade que compreende as células de grade Q x R, em que pelo menos uma caixa delimitadora é criada em cada célula de grade, a caixa delimitadora tendo uma posição predeterminada na célula de grade e características geométricas predeterminadas, a modificação da posição e das características geométricas da caixa delimitadora para obter uma caixa delimitadora resultante, em que a caixa delimitadora resultante é a caixa delimitadora com uma posição resultante e características geométricas resultantes que mais correspondem a uma localização do objeto e fornece pixels da imagem incluídos na caixa delimitadora para a rede neural como parte da imagem.
[0054] Assim, a imagem original pode ser reduzida a uma porção da imagem constituída pela caixa delimitadora compreendendo de fato o objeto com a característica biométrica. Portanto, o processamento adicional da imagem de entrada pela rede neural pode ser simplificado não como a imagem inteira, mas apenas a parte da imagem que compreende a característica biométrica ser processada para identificar a ROI. Assim, os recursos informáticos são poupados e a precisão pode ser elevada.
[0055] Ainda, a posição da caixa delimitadora pode ser calculada em relação a um centro da célula de grade em duas dimensões e as características geométricas da caixa delimitadora podem compreender uma altura e uma largura da caixa delimitadora, em que ainda uma probabilidade de o objeto estar dentro da caixa delimitadora é associada a cada caixa delimitadora.
[0056] Desse modo, as caixas delimitadoras podem ser razoavelmente adaptadas ao tamanho, posição e orientação do objeto.
[0057] Em uma realização, cada etapa do método é realizada no dispositivo móvel.
[0058] Isso permite um processamento descentralizado de imagens usadas para identificação que pode resultar em redução de vulnerabilidade de dados, já que apenas um único dispositivo móvel pode ser atacado ou corrompido por vez, o que então compreenderá apenas os dados de um único usuário ou pelo menos um número muito limitado de usuários.
[0059] O dispositivo móvel de acordo com a invenção compreende um sensor óptico, um processador e uma unidade de armazenamento que armazena instruções executáveis que, quando executadas pelo processador do dispositivo móvel, fazem com que o processador execute o método de identificação de usuário. Breve Descrição das Figuras
[0060] A Figura 1 é uma representação esquemática de uma imagem real comparada a uma região de interesse real em uma imagem;
[0061] A Figura 2 é um fluxograma de um método, de acordo com uma realização da invenção;
[0062] A Figura 3 é um fluxograma de um método para identificação de um usuário que usa uma característica biométrica extraída, de acordo com uma realização;
[0063] A Figura 4 é uma representação esquemática do processamento de uma imagem de entrada pelo codificador, de acordo com uma realização;
[0064] A Figura 5 é uma representação esquemática do processamento de uma imagem codificada com o decodificador da rede neural, de acordo com uma realização;
[0065] A Figura 6 é uma representação esquemática da criação e uso de caixas delimitadoras;
[0066] A Figura 7 é um fluxograma do treinamento da rede neural, de acordo com uma realização;
[0067] A Figura 8 é uma representação esquemática de um dispositivo móvel que pode ser usado junto ao método, de acordo com a invenção em uma realização. Descrição Detalhada da Invenção
[0068] A invenção foca na extração de uma região de interesse (ROI) de uma imagem capturada de um objeto do usuário, em que a imagem compreende uma característica biométrica que poderia ser usada para identificar o usuário. Esse objeto pode ser algo como a ponta do dedo de um ou mais dedos de uma mão do usuário, as pregas palmares de uma mão do usuário ou o rosto do usuário, ou mesmo o olho ou o pé do usuário. Cada uma dessas entidades é conhecida por conter as características biométricas que podem ser usadas para identificar um usuário. Por exemplo, a impressão digital de um usuário é comumente conhecida por ser útil para a identificação do usuário ao usar digitalizadores de impressão digital ou capturar imagens impressas de uma ou mais impressões digitais de uma pessoa potencialmente criminosa. Apesar de, a seguir, a ponta do dedo e uma impressão digital serem usadas como exemplos explicativos, isso não deve ser interpretado como limitante da invenção de forma alguma. Além do dedo e da impressão digital (mais especificamente, a minúcia dentro da impressão digital), qualquer outro objeto mencionado até o momento e qualquer outra característica biométrica podem ser usados.
[0069] O método inventivo compreende o uso de um sensor óptico de um dispositivo móvel, como um smartphone, para obtenção da imagem do objeto que possui a característica biométrica.
[0070] Tal imagem 110 é fornecida exemplarmente no lado esquerdo da Figura
1. Aqui, o dedo 111 é mostrado no primeiro plano da imagem 110. O dedo contém a característica biométrica na forma da impressão digital 112, que compreende a minúcia na ponta do dedo. Conforme a imagem é capturada com um sensor óptico do dispositivo móvel, como uma câmera, a imagem geralmente compreenderá objetos adicionais 113 a 118. Esses objetos podem ser qualquer coisa, como outras pessoas, veículos, casas, vegetação e ruas ou qualquer outra infraestrutura.
[0071] Se essa imagem fosse fornecida a um meio de identificação, como outro software ou hardware para processamento da característica biométrica, isso poderia, e mais provavelmente iria, levar a falhas na identificação do usuário, pois o respectivo software/hardware não sabe como discriminar entre porções da imagem que compreende a característica biométrica de uma forma que possa ser usada para identificação do usuário (aqui e posteriormente denominada como a região de interesse) e outras porções da imagem. Além disso, mesmo se esse meio de identificação (como servidores de registro) fosse adaptado para processar essas imagens de forma adequada para ainda identificar o usuário, isso exigiria recursos informáticos significativos nesses meios de identificação para identificar apenas a ROI que realmente compreende a característica biométrica e a distingue do restante da imagem.
[0072] Portanto, é mais apropriado apenas fornecer as informações ao meio de identificação que são realmente necessárias para identificar o usuário, isto é, a ROI ou a característica biométrica dentro da ROI.
[0073] Em vista disso, é um objetivo da presente invenção processar a imagem original de forma que uma imagem modificada ou parte da imagem 120 seja obtida, na qual a ROI 122 seja extraída ou separada ou, de outro modo, distinguida de qualquer outra coisa na imagem (aqui denominada 121).
[0074] A imagem resultante 120 pode, assim, compreender apenas a ROI 122 ou compreender uma região quadrada ou retangular na qual a ROI é incorporada. A última realização pode ser mais fácil de manusear já que pode ser representada na forma normal que as imagens são representadas ao usar um número de pixels, por exemplo, 1024 x 1024 pixels ou 198 x 198 pixels ou qualquer outro número adequado de pixels.
[0075] Como as imagens 110 capturadas pelo sensor óptico do dispositivo móvel geralmente irão diferir entre si, em vista do que é realmente mostrado na imagem, também irão diferir em relação à visibilidade e posição do objeto que possui a característica biométrica (como o dedo), a ROI não pode ser facilmente determinada, por exemplo, ao fornecer uma máscara predefinida sobre a imagem que distingue uma primeira porção da imagem de outra porção da imagem.
[0076] Em vista disso, é um achado da presente invenção que, ao treinar uma rede neural com entrada adequada, como será descrito posteriormente, é possível processar uma imagem de entrada 110 original ou de uma parte da imagem 110 de uma forma que a ROI possa ser confiavelmente separada das porções restantes da imagem.
[0077] O processo, de acordo com uma realização da invenção, que facilita essa extração da ROI de outras porções de uma imagem é brevemente mostrado e explicado na Figura 2.
[0078] Explicações mais específicas sobre as etapas de separação serão fornecidas nas figuras a seguir.
[0079] Na primeira etapa, o método compreende a obtenção 201 de uma imagem do objeto que possui uma característica biométrica ao usar um sensor óptico de um dispositivo móvel. O dispositivo móvel pode ser qualquer coisa, como um computador tablet, um laptop, um smartphone ou mesmo uma câmera móvel, como uma câmera CCD. A imagem obtida é obtida preferencialmente ao usar um componente de software/hardware de forma livre para obter imagens. Isso significa que, durante a obtenção da imagem do objeto, o usuário não recebe um padrão específico ou outra instrução sobre como dispor o objeto que possui a característica biométrica em relação ao sensor óptico. Na verdade, o usuário, de acordo com a invenção, preferencialmente é completamente autônomo em relação a maneira que obtém a imagem do objeto. Isso inclui, por exemplo, as condições de iluminação e a disposição relativa do objeto em relação ao sensor óptico. Além disso, o usuário é essencialmente autônomo em relação ao local em que ele obtém a imagem e qual é realmente o fundo da imagem, além do objeto que possui a característica biométrica. Portanto, pode haver outros objetos visíveis na imagem, como exemplificado na imagem 110 da Figura 1.
[0080] Após a imagem ter sido obtida, pode haver opcionalmente algum pré- processamento da etapa 202 implementado para a imagem. Esse pré- processamento pode incluir, por exemplo, modificação dos valores de brilho/luma ou valores de cor. Esse pré-processamento também pode incluir separação da imagem originalmente obtida em seus valores de cor ou valores de brilho, por exemplo, ao usar o método de valor de saturação de tonalidade.
[0081] Como um exemplo, uma imagem original geralmente é compreendida de diversos pixels (por exemplo, 1024 x 1024) em que, para cada pixel, são fornecidos três valores de cor com valores de brilho associados. Isso permite, durante o pré-processamento, derivar três imagens da imagem original com número idêntico de pixels, mas em que cada imagem compreende apenas os valores de pixel associados a um valor de cor. Após o pré-processamento, pode haver, assim, uma imagem compreendendo os valores de cor verde, uma imagem compreendendo os valores de cor azul e uma imagem compreendendo os valores de cor vermelha. Além disso, outros métodos de pré-processamento são possíveis, como será descrito posteriormente.
[0082] Especificamente, o pré-processamento pode compreender exame (por meio do uso da rede neural ou uso de qualquer outro software ou mesmo outra rede neural) da imagem e identificação de uma parte da imagem com um tamanho menor que o tamanho da imagem original na qual o objeto que possui a característica biométrica é disposto.
[0083] Em referência ao exemplo da Figura 1, o dedo 111 com a ponta do dedo é disposto quase no meio da imagem capturada. Portanto, a etapa de pré-processamento 102 poderia compreender o corte das regiões limites da imagem 110 e processar posteriormente apenas uma parte menor da imagem original que ainda compreende a ponta do dedo 112 com a característica biométrica. Isso é idêntico à extração, a partir da imagem original, apenas da porção central (por exemplo, na forma de um retângulo) que compreende a ponta do dedo.
[0084] A seguir, normalmente será feita referência a “a imagem” ou “a imagem de entrada” ou a “imagem original”. Diante do exposto, fica claro que isso não apenas compreende a imagem total ou a imagem original obtida pelo sensor óptico, mas também qualquer realização do pré-processamento, inclusive o uso, em vez da imagem total, de apenas uma parte da imagem ou uso apenas de uma ou mais imagens compreendendo um valor de cor ou estando restrito a valores de brilho para os respectivos pixels. Quaisquer desses pré- processamentos e qualquer outro pré-processamento que possa ser imaginado será assim considerado incluído quando o processamento adicional da imagem original é descrito.
[0085] Quer após ter obtido a imagem do objeto ou pelo menos após o pré- processamento da imagem, a imagem (ou de uma parte da imagem ou a imagem pré-processada em geral) é fornecida a uma rede neural para processamento adicional na etapa 203. Fornecer a imagem à rede neural pode ser conseguido por, por exemplo, transferência interna da imagem a partir do sensor óptico ou do componente que realizou o pré-processamento ao componente de software que implementa a rede neural. O fornecimento da imagem à rede neural também pode compreender meio de transmissão de dados para transferir dados entre o dispositivo móvel e o dispositivo remoto. Se a rede neural não é implementada no dispositivo móvel, como pode ser o caso em algumas realizações, a imagem é fornecida usando, por exemplo, conexões de internet móvel ou uma conexão com fio ou Bluetooth ou qualquer outra conexão adequada à localização remota em que a rede neural é fornecida.
[0086] Fornecer a imagem para a rede neural também pode compreender extrair a imagem de um armazenamento persistente ou não persistente no dispositivo móvel e fornecer a imagem à rede neural e, ao mesmo tempo, armazenar a imagem em um armazenamento persistente ou não persistente associado à rede neural em que a rede neural possa acessar essa localização de armazenamento.
[0087] Na etapa seguinte, após a imagem ter sido fornecida 203 à rede neural, a imagem é processada 204 pela rede neural. Esse processamento pode compreender o processamento dos dados associados a um ou mais pixels da imagem por um ou mais nós ou uma ou mais camadas na rede neural, transformando, por exemplo, assim a imagem de entrada em uma ou mais formas específicas, como será explicado mais detalhadamente abaixo. Após esse processamento 204 da imagem pela rede neural, a rede neural fornece uma saída que distingue uma porção da imagem compreendendo a ROI supracitada, de outra porção da imagem, por exemplo, o fundo da imagem que não tem nada a ver com a característica biométrica. Do mesmo modo, esse processamento pode resultar em uma parte do objeto sendo considerado não pertencente à região de interesse. Esse pode ser o caso, por exemplo, se partes do objeto que possui a característica biométrica não possui pelo menos uma porção da característica biométrica. Isso seria o caso, por exemplo, para o dedo para cada porção que não seja a ponta do dedo.
[0088] Do mesmo modo, a qualidade de uma porção do objeto que possui a característica biométrica pode ser muito pobre para usá-la para identificação e, assim, isso não pertenceria à ROI. Isso pode ser verdadeiro, por exemplo, para porções no objeto que possuem uma parte da característica biométrica, mas que não são inclinadas em relação ao sensor óptico e, ao captar a imagem do objeto, assim não são adequadamente visíveis ou mais escuras que o restante da imagem captada do objeto, não permitindo assim o uso dessas partes da característica biométrica para identificação do usuário.
[0089] Em qualquer caso, o processamento resultará na rede neural fornecendo uma saída que distingue uma porção da imagem compreendendo a ROI de outra porção da imagem que não compreende a ROI.
[0090] A partir disso, o método de acordo com uma realização da invenção compreende a extração da ROI da imagem (ou a parte da imagem, respectivamente). Essa extração pode compreender que apenas os pixels que contêm a característica biométrica na região de interesse sejam extraídos da imagem. No entanto, isso pode levar a diversos pixels que, juntos, formam um formato imprevisível como um formato elíptico ou circular, como mostrado na imagem 120 na Figura 1. Essas imagens geralmente não podem ser facilmente processadas ainda como se não possuíssem tamanho e formato que geralmente são usados para a representação das imagens nas estruturas de dados. Assim, em vez de extrair apenas os pixels correspondentes à região de interesse e que contêm a característica biométrica do usuário da imagem original, fornece-se, de acordo com uma realização da invenção, que cada pixel na imagem original que não esteja na região de interesse seja estabelecido um valor padrão (por exemplo, branco ou preto). Isso levará à região de interesse extraída sendo incorporada em uma pluralidade de pixels circundantes, de modo que a imagem resultante possua o formato geralmente usado (por exemplo, retangular e compreendendo 1024 x 1024 pixels). Isso pode tornar o processamento da região de interesse extraída mais fácil nas etapas consecutivas.
[0091] Essas etapas consecutivas estão resumidas na etapa de processamento adicional 206 no fluxograma da Figura 2. Esse processamento adicional da ROI extraída (sendo ela apenas os pixels da própria região de interesse ou sendo ela os pixels incorporados em ou circundados pelos pixels fornecidos com um valor padrão), pode compreender armazenar a ROI (ou respectiva imagem) em um dispositivo de armazenamento que pode ser fornecido no dispositivo móvel ou remoto ao dispositivo móvel. Adicional ou alternativamente, esse processamento adicional 206 também pode compreender o fornecimento da região de interesse a um meio de identificação que usa a região de interesse a fim de extrair a característica biométrica na região de interesse e processa a característica biométrica extraída a fim de determinar se a característica biométrica extraída identifica o usuário.
[0092] Por exemplo, os meios de identificação pode ser um servidor de registros para registro na conta bancária do usuário. Para se identificar, o usuário pode então capturar uma imagem de, por exemplo, sua ponta do dedo e tê-la processada na forma descrita em relação à Figura 2 nas etapas 201 a 205 e enviar (manual ou automaticamente) a respectiva imagem ao servidor de registro para registro na conta bancária. O servidor pode então processar ainda a região de interesse da respectiva estrutura de dados que contêm a região de interesse para determinar se a identificação é bem-sucedida ou não.
[0093] O processo de como isso pode ser facilitado é descrito em mais detalhes na Figura 3 para uma realização.
[0094] A Figura 3 mostra uma explicação mais detalhada de como um usuário pode ser identificado usando a característica biométrica no caso de a característica biométrica ser uma impressão digital, em que o objeto seria então pelo menos uma ponta de dedo. Como explicado acima, outros objetos e características biométricas podem ser igualmente escolhidos.
[0095] O método na Figura 3 se inicia com a etapa 21, em que a característica biométrica é extraída da ponta do dedo e, consequentemente, essas etapas são realizadas pelo menos após a etapa de extração, a partir do objeto identificado, da característica biométrica ou da ROI, respectivamente, como explicado na Figura 2.
[0096] A extração das características biométricas da ponta do dedo pode, por exemplo, compreender a extração da localização e do tipo de minúcia da impressão digital. Também pode compreender a extração apenas de tipos muito específicos de minúcia (por exemplo, o cruzamento de duas ou mais linhas na impressão digital).
[0097] Para identificar o usuário que utiliza essa informação, obviamente, é necessário que uma referência esteja disponível na forma de uma característica biométrica correspondente. Por esse motivo, pode ser o caso de que o meio de identificação, como explicado anteriormente em relação à Figura 2, esteja associado a um dispositivo de armazenamento ou compreende um dispositivo de armazenamento no qual as características biométricas são armazenadas para usuários específicos. Por exemplo, para cada usuário, pode existir um arquivo no qual uma ou mais características biométricas estejam armazenadas na forma de, por exemplo, imagens, valores numéricos ou outra estrutura de dados.
[0098] Na etapa seguinte 22, a característica biométrica obtida da impressão digital é comparada a uma característica biométrica armazenada correspondentemente. Isso pode compreender, no caso de a característica biométrica armazenada ser representada por diversas localizações das minúcias em comparação às localizações correspondentes na característica biométrica extraída. Obviamente, outros meios de comparação de uma característica biométrica obtida com uma característica biométrica armazenada são conhecidos e podem ser usados, por exemplo, tecnologias de reconhecimento de imagem, transformações de frequência ou similar. A comparação da característica biométrica obtida e da característica biométrica armazenada é realizada, de acordo com a invenção, de modo que se possa calcular um grau de correspondência entre a característica biométrica obtida e a característica biométrica armazenada. Em outras palavras, essa comparação resultará no cálculo de uma diferença entre a característica biométrica armazenada e a característica biométrica obtida. Essa diferença pode ser um número real único ou um tensor ou um vetor ou qualquer outra estrutura matemática considerada adequada para representar o grau de correspondência ou diferença da característica biométrica obtida e da característica biométrica armazenada. Também pode ser uma diferença de imagem obtida pela subtração, a partir da imagem da característica biométrica armazenada, de uma imagem de característica biométrica obtida em uma base de pixel por pixel.
[0099] Pode-se fornecer um limiar que pode ser usado para determinar se a característica biométrica obtida corresponde à característica biométrica armazenada e, assim, permite a identificação do usuário.
[0100] Consequentemente, na etapa 23, determina-se se a diferença entre a característica biométrica obtida e a característica biométrica armazenada está abaixo ou acima desse limiar. Caso esteja abaixo desse limiar, determina-se na etapa 25 que o usuário seja identificado pela característica biométrica. Caso a diferença esteja acima do limiar, ao contrário, determina-se, na etapa 24, que o usuário não é identificado pela característica biométrica. O limiar pode ser estabelecido, por exemplo, a um número entre 0 e 1, em que 0 seria uma correspondência perfeita (isto é, nenhuma diferença) e 1 representaria nenhuma correspondência. Para levar em consideração que a precisão da identificação deva ser comparavelmente elevada, mas também levar em consideração que capturar uma imagem de forma livre do objeto, como explicado nas Figuras 1 e 2, geralmente sofrerá distorções, o limiar pode ser estabelecido como sendo próximo a 0, mas não 0. Por exemplo, o limiar pode ser escolhido por ser menor que 0,1, preferencialmente menor que 0,05, ou ainda menor ou igual a 0,98. Outros valores são possíveis, obviamente.
[0101] Essa determinação resultará, então, no meio de identificação que determina se o usuário é identificado pela impressão digital obtida ou se o usuário não é identificado pela impressão digital obtida.
[0102] As Figuras 2 e 3 descreveram a forma de identificação do usuário utilizando a característica biométrica obtida a partir da imagem originalmente obtida no caso de apenas uma ponta de dedo ser usada para a identificação do usuário e se essa ponta de dedo estava presente na imagem.
[0103] No entanto, também é contemplado que os meios de identificação podem não apenar avaliar uma ponta do dedo única, mas podem avaliar mais de uma ponta do dedo, como duas pontas dos dedos ou mesmo todas as pontas dos dedos disponíveis na imagem para identificar o usuário. A forma na qual uma característica biométrica obtida de uma única ponta do dedo ou impressão digital da pluralidade das pontas dos dedos é correspondida com uma característica biométrica armazenada pelo meio de identificação corresponde àquela descrita em relação à Figura 3.
[0104] No entanto, em caso de mais de uma impressão digital ser avaliada, pode ser que o usuário seja apenas identificado em caso de uma precisão de identificação combinada das características biométricas estar acima de um determinado limiar ou o usuário ser apenas identificado no caso, para cada ponta do dedo obtida, a comparação da característica biométrica obtida com a característica biométrica armazenada como explicado nas etapas 22 e 23 da Figura 3 leva ao resultado na etapa 25.
[0105] O último caso é simples conforme o método explicado em relação à Figura 3, sendo realizado em cada impressão digital na imagem e, apenas se a diferença entre a característica biométrica obtida e a característica biométrica armazenada para cada impressão digital obtida estiver abaixo do limiar determinado, o usuário é identificado. Em qualquer outro caso, o usuário pode não ser identificado.
[0106] No entanto, no caso de o usuário ser identificado no caso de uma precisão de identificação combinada das impressões digitais de todas as pontas de dedo na imagem estiver acima de um determinado limiar, não é necessário que, para cada ponta de dedo, a comparação da característica biométrica obtida e da característica biométrica armazenada resulte na diferença estando abaixo do limiar em concordância com a etapa 23 da Figura
2.
[0107] Por exemplo, considerando que a precisão da identificação de uma característica biométrica é um número que varia de 0 (sem identificação) a 1 (correspondência completa entre a característica biométrica obtida e a característica biométrica armazenada), a precisão de identificação combinada pode ter um valor inferior a quatro (correspondendo à precisão de identificação perfeita para quatro impressões digitais) no caso de a precisão de identificação combinada ser determinada pela soma de a obtenção de precisões de identificação isoladas para cada característica biométrica isoladamente.
[0108] Por exemplo, o limiar correspondente para a precisão de identificação combinada pode ser 3,5. Nesse caso, será suficiente identificar o usuário caso, por exemplo, as precisões de identificação para cada impressão digital sejam aproximadamente 0,9, já que a soma dessas precisões de identificação (isto é, a precisão de identificação combinada) é 3,6 e, portanto, acima do respectivo limiar. Como outro exemplo, considerando que três impressões digitais são identificadas com uma precisão de identificação de 0,95, será suficiente se a quarta impressão digital for identificada com uma precisão de apenas 0,75.
[0109] Observa-se que a precisão de identificação pode ser observada como o grau relativo de similaridade ou correspondência entre a característica biométrica obtida e a característica biométrica armazenada. Portanto, no caso de a característica biométrica obtida corresponder a 90% com a característica biométrica armazenada, a precisão de identificação (isto é, quão preciso o usuário pode ser identificado com essa característica biométrica) será 0,9.
[0110] Fica evidente também que outros valores para a precisão de identificação ou mesmo também outros valores para o limiar podem ser usados. Além disso, também pode haver outros meios de como a precisão de identificação combinada pode ser determinada. Por exemplo, a precisão de identificação combinada pode ser calculada ao determinar o valor médio das precisões de identificação ou ao determinar o produto das precisões de identificação.
[0111] Nas figuras a seguir, o processamento da imagem originalmente obtida para extração final da ROI que compreende a característica biométrica em concordância com as etapas·12 a 14 será descrito mais detalhadamente e, adicionalmente, será dada uma explicação sobre como a rede neural pode ser treinada para poder identificar as impressões digitais com alta precisão.
[0112] Como já explicado acima, uma imagem obtida é processada pela rede neural pelo primeiro processamento da imagem usando um codificador (como será explicado na Figura 4) e então processando-a por um decodificador (como será explicado na Figura 5).
[0113] A Figura 4 mostra o processamento interno de uma entrada recebida em uma camada 400 do codificador da rede neural, de acordo com uma realização da invenção. Essa camada 400 pode ser uma camada que, na ordem de processamento da entrada original até o codificador, seja a primeira camada que recebe a entrada original após a etapa 202 explicada acima ou qualquer camada intermediária disposta entre duas camadas adicionais 440 e 450 da rede neural ou a camada 400 pode ainda ser a última camada da rede neural que, no fim, fornecerá uma saída codificada que é, então, fornecida ao decodificador.
[0114] Em qualquer caso, a camada 400 receberá uma entrada 430 que pelo menos corresponde de alguma forma com a imagem originalmente obtida. Essa entrada é fornecida preferencialmente na forma de pelo menos uma matriz que possui a dimensão N x M, em que N e M são números inteiros maiores que 0. A matriz pode, por exemplo, representar os pixels na imagem para pelo menos um valor de cor (por exemplo, vermelho). As entradas nessa matriz podem, portanto, ter valores que correspondem ao valor da respectiva cor (no caso exemplo, vermelho) desse pixel específico. Como ficará evidente a partir da explicação a seguir, a entrada pode não ser idêntica à imagem obtida, mas pode ser uma matriz P obtida a partir da matriz que representa a imagem original por meio de algum processamento através das camadas na rede neural ou mesmo por meio de algum pré-processamento (por exemplo, redução na resolução, um valor único de cor ou brilho ou similar).
[0115] Para facilidade de discussão, no entanto, será presumido que a entrada 430 corresponde à matriz N x M que representa a imagem originalmente obtida e cada entrada nessa matriz N x M corresponde a um valor de uma cor (por exemplo, vermelho) de um pixel na respectiva imagem. A aplicação desse ensinamento a qualquer outra matriz transformada que se origine da matriz original N x M e seja obtida através do processamento dessa matriz em camadas da rede neural é simples.
[0116] Seguindo agora o processo exemplificado na Figura 4, a entrada 430 é recebida pela camada de convolução em profundidade 411 para processamento. A seguir será fornecido um exemplo comparavelmente simples em relação a como a matriz de entrada 430 pode ser processada pela camada de convolução em profundidade. Isso envolverá o uso de um núcleo K para calcular os produtos internos com a matriz. O núcleo é executado na matriz nos assim denominados “progressos”. Embora o exemplo a seguir use os valores para amplitudes do progresso horizontal e vertical de 1, qualquer outro valor superior 1 pode ser usado, contanto que as amplitudes do progresso sejam números inteiros superiores a 0. O núcleo K é de tamanho S x T, em que S e T são números inteiros e menores que N e M.
[0117] Além disso, presumir-se-á que apenas a matriz da entrada original I (isto é, a matriz da entrada 430) de tamanho N x M seja usada para o cálculo do produto interno com o núcleo. No entanto, também se contempla que uma matriz estendida Z possa ser usada para o cálculo dos produtos internos com o núcleo. Essa matriz estendida Z é obtida ao “fixar”, à matriz original I, linhas e colunas acima da primeira linha e abaixo da última linha, bem como à esquerda da primeira coluna e direita da última coluna.
[0118] Isso é denominado “preenchimento”. Geralmente o preenchimento compreenderá que um número Pw de linhas seja adicionado na direção da linha e um número Ph de colunas seja adicionado à direção de colunas. O número Pw pode igualar-se a S-1 e o número Ph pode igualar-se a T-1, de modo que qualquer produto interno calculado entre Z e o núcleo contenha pelo menos uma entrada da matriz original I. A matriz Z resultante será, portanto, de tamanho (N + 2Pw) x (M + 2Ph). Em vista disso, a matriz Z terá as entradas de acordo com (III): 0∀𝒸 ≤ 𝑃𝑤 0∀𝒸 > 𝑃𝑤 + 𝑁 𝑍𝑐𝑑 = 0∀𝑑 ≤ 𝑃ℎ (III) 0∀𝑑 > 𝑃ℎ + 𝑀 {𝐼𝑖𝑗 𝑜𝑛𝑑𝑒 𝑐=𝑖+ 𝑃𝑤 ; 𝑑 = 𝑗 + 𝑃ℎ ; 𝑖 = 1 … 𝑁; 𝑗 = 1 … 𝑀
[0119] Nesse contexto, segue-se que a nova matriz obtida pelo cálculo de todos os produtos internos e disposição deles adequadamente de acordo com 𝑁−𝑆+2𝑃𝑤 𝑀−𝑇+2𝑃ℎ as linhas e colunas geralmente será de tamanho ( + 1) × ( + 𝑊𝑤 𝑊𝑤 1), em que Ww e Wh definem a amplitude do progresso na direção das linhas e na direção das colunas, respectivamente. Fica evidente que apenas esses preenchimentos e essas amplitudes do progresso são permitidos para um determinado núcleo K com tamanho S x T que resulte em números inteiros para o tamanho da nova matriz. Além disso, as amplitudes do progresso W w e Wh são preferencialmente iguais ou menores que S e T, respectivamente, já que de outro modo o núcleo seria movido sobre a matriz I de modo que algumas linhas e colunas da matriz original fossem deixadas de fora no cálculo da nova matriz.
[0120] Para facilidade de discussão, será presumido a seguir que não é fornecido nenhum preenchimento à matriz original l e a amplitude do progresso seja 1 para os progressos horizontal e vertical. Além disso, será presumido que o núcleo é uma matriz com tamanho S x S, isto é, o caso especial em que se assumirá S=T. A aplicação das explicações fornecidas abaixo ao preenchimento arbitrário e amplitude do progresso, bem como a qualquer tamanho de núcleo é simples com o ensinamento fornecido abaixo.
[0121] Na camada de convolução em profundidade 411, a matriz de entrada recebida 430 é usada para formar um produto interno com o núcleo K que possui o tamanho S x S, em que S < N, M. O produto interno é calculado para cada matriz reduzida da matriz original N x M, em que a matriz reduzida é de tamanho S x S e contém entradas coerentes na matriz original N x M. Por exemplo, considerando S=3, a primeira matriz reduzida R da matriz original N x M compreende as entradas i = 1, 2, 3; j = 1, 2, 3, de modo que a matriz reduzida (N x M)s seja compreendida de nove entradas e o produto interno com o núcleo K seja calculado, que resulta em um único número. A próxima matriz reduzida nas direções das linhas da matriz original N x M é a matriz em que i é aumentado em 1 (correspondendo à largura do progresso), de modo que a próxima matriz nessa direção seja constituída dos itens da matriz original N x M, em que i = 2, 3, 4; j = 1, 2, 3. Essa matriz pode então ser usada para o cálculo do próximo produto interno com o núcleo. Observa-se que o exemplo fornecido da matriz S x S com S = 3 é apenas um exemplo e, também, podem ser usados outros núcleos.
[0122] Para calcular a próxima matriz reduzida R do tamanho (N x M)s na direção das linhas/colunas, o índice j de itens na matriz original N x M é elevado em 1. Isso é realizado até a última matriz reduzida na direção das linhas, em que i = N – S + 1, N – S + 2, N - S + 3 no caso para S = 3. Para as colunas, isso é realizado de forma correspondente, em que j = M – S + 1, M – S + 2,M – S + 3. Ao calcular esses produtos internos, calcula-se uma nova matriz, a matriz P que possui o tamanho (N – S + 1) x (M – S + 1). Sua entrada Pij corresponde ao produto interno respectivo calculado com a matriz reduzida correspondente da matriz N x M e o núcleo K. Observa-se que uma matriz desse tamanho, na verdade, será encaminhada para a camada de convolução em pontos da camada 400.
[0123] O núcleo K constitui as entradas que são obtidas através de um processo de aprendizagem, em que a rede neural é treinada a fim de identificar adequadamente os objetos pretendidos. O núcleo K usado na camada 400 da rede neural não necessariamente é idêntico em tamanho e entradas aos núcleos usados em outras camadas da respectiva rede neural. Além disso, as entradas no núcleo não precisam ser idênticas entre si, mas pelo menos constituem número iguais ou maiores que 0. As entradas podem ser consideradas por representar “pesos” obtidos através da aprendizagem da rede neural.
[0124] O resultado do processamento da matriz 430 pela camada de convolução em profundidade é a matriz 431 tendo, como explicado acima, tamanho (N - S + 1) x (M - S + 1) no caso de o núcleo ser movido em progresso sobre a matriz original N x M que apresenta uma distância de Δi = 1 na direção das linhas Δj = 1 na direção das colunas (isso corresponde a amplitude do progresso). No entanto, no caso de esses progressos terem uma distância maior, como Δi = 2 ou Δi = 3 (e potencialmente de forma correspondente para as colunas), a dimensão do resultado 431 alterará adequadamente, conforme explicado acima.
[0125] No processamento adicional, esse resultado 431 é encaminhado para o primeiro normalizador de lote 412 que segue na ordem de processamento representada com as setas na Figura 4 após a camada de convolução em profundidade 411. O normalizador de lote tenta normalizar a matriz de resultado recebida 431. Isso é atingido ao calcular a soma sobre cada uma das entradas na matriz (N - S + 1) x (M - S + 1) e dividindo-a pelo número de entradas na matriz (N - S + 1) x (M - S + 1). O valor médio V para a matriz (N - S + 1) x (M - S + 1) (indicado como P a seguir), sendo a matriz de itens correspondentes Pij fornecida da seguinte forma (IV): ∑𝑖𝑗 𝑃𝑖𝑗 𝑉= (IV) 𝑛⋅𝑚
[0126] em que n e m representam o número de linhas e colunas/linhas na matriz N x M ou o número de linhas e colunas na matriz P. Os itens P ij são as entradas da matriz P em que um determinado item P ij é o elemento na matriz na linha i e coluna j.
[0127] O normalizador de lote então calcula uma matriz reduzida P’ ao subtrair, de cada entrada Pij na matriz original, o valor médio V, de modo que P’ij = Pij -V. Assim, os valores na matriz reduzida P’ são normalizados, de modo que as anormalidades em uma ou outra direção (valores extremamente elevados ou extremamente baixos) sejam filtradas.
[0128] O resultado 432 criado pelo primeiro normalizador de lote 412 é uma matriz tendo ainda (no exemplo fornecido na Figura 4) o tamanho (N - S + 1) x (M - S + 1) já que, até o momento, nenhuma redução dimensional adicional da matriz foi realizada.
[0129] O resultado 432 é então fornecido para a primeira unidade linear retificada 413 que segue o primeiro normalizador de lote 412.
[0130] A unidade linear retificada modifica cada entrada na matriz 432 ainda ao calcular novas entradas da matriz ̅̅̅ 𝑃𝑖𝑗 , de acordo com (V) em que: 0∀𝑃′ 𝑖𝑗 < 0 𝑃̅𝑖𝑗 = { (V) 𝑃′ 𝑖𝑗 ∀𝑃′ 𝑖𝑗 ≥ 0
[0131] Isso resulta em valores que seriam menores que 0 após ter passado o normalizador de lote para ser estabelecido em 0, tendo assim nenhuma influência adicional sobre o processamento adicional na camada de convolução em profundidade que será explicada a seguir. Isso significa que, por exemplo, os valores de cor abaixo do valor médio calculado no normalizador de lote não são mais considerados e apenas os valores que pelo menos correspondem ao valor médio V possuem influência sobre o resultado da próxima etapa no cálculo.
[0132] Assim, o resultado 433 produzido pela primeira unidade linear retificada 413 ainda é uma matriz de formato/tamanho (N - S + 1) x (M - S + 1) e essa matriz é encaminhada para a camada de convolução em pontos 421.
[0133] Essa camada de convolução em pontos 421 cria um resultado 434. Esse resultado 434 é criado pela camada de convolução em pontos 421 ao pegar cada entrada na matriz (N - S + 1) x (M - S + 1) 433 e multiplicando essa entrada por um peso α. Preferencialmente, α é um número superior a 0 em qualquer caso e esse número é idêntico para cada entrada na matriz (N - S + 1) x (M - S + 1). Portanto, o resultado 434 obtido da camada de convolução em pontos 421 é uma matriz com o mesmo tamanho (N - S + 1) x (M - S + 1), mas em que cada entrada é multiplicada pelo peso α.
[0134] O resultado 434 é então fornecido ao segundo normalizador de lote 422, em que é normalizado, como explicado para o primeiro normalizador de lote 412, e uma matriz normalizada P’ da mesma dimensão do resultado 435 é calculada e essa matriz/resultado 435 é encaminhado para a segunda unidade linear retificada 423, em que se aplica uma função de retificação para obter um resultado/matriz 𝑃̅ 436, que é então encaminhado para a próxima camada na rede neural ou, se nenhuma outra camada seguir na rede neural, o resultado 436 é fornecido como uma imagem codificada de saída a ser processada pelo codificador como será descrito na Figura 5.
[0135] Observa-se que, através do processamento no codificador, as informações que estavam disponíveis na imagem original obtidas pelo sensor óptico são perdidas, já que algumas das transformações t aplicadas no codificador não possuem uma transformação inversa t-1 para a qual a relação tot-1 = 1 seria mantida. No entanto, isso, na verdade, é um resultado pretendido pela invenção visto que, através do treinamento da rede neural descrito abaixo, é possível limitar ou restringir essa perda de informações, basicamente, a informações que não sejam de interesse, isto é, não defina a ROI. Enquanto essas informações são perdidas, o peso da informação da ROI é aumentado, tornando assim a distinção da ROI das porções restantes da imagem possível.
[0136] É um achado da presente invenção que, para a identificação das pontas do dedo, treze camadas idênticas à camada 400 explicada na Figura 4 são as mais apropriadas, já que resultam em uma precisão de identificação altamente comparável das pontas de dedo e da localização destas enquanto exigem apenas recursos informáticos reduzidos para a implementação do respectivo método, que torna as torna mais aplicáveis aos dispositivos móveis.
[0137] Em relação à Figura 5, descreve-se o processo executado no decodificador ao receber uma imagem codificada do codificador.
[0138] Como já indicado para o codificador, o decodificador não deve ser visto no sentido de “decodificar” algo em uma forma que uma encriptação é decodificada que já foi anteriormente aplicada a um objeto. Ao contrário, o decodificador deve ser compreendido como parte da rede neural compreendendo um ou mais nós ou camadas que expandem a imagem codificada ou pelo menos transformam a imagem codificada de modo que, após o processamento da imagem codificada pelo decodificador, a imagem de saída decodificada possua um tamanho (em termos de pixels ou entradas em uma matriz) que preferencialmente corresponda à imagem da entrada original.
Se, por exemplo, a imagem da entrada original possua um tamanho de A x B pixels, a imagem de saída decodificada (ou tensor) também possui preferencialmente o mesmo tamanho e número de pixels. Como isso também pode ser descrito em uma forma de uma matriz (ou tensor, mais especificamente) em que cada pixel é associado a uma entrada na matriz e o valor do pixel é o valor da entrada na matriz, é equivalente dizer que a imagem de saída decodificada na forma de uma matriz possua o tamanho da imagem da entrada original. Como um exemplo, a imagem da entrada original pode ter um tamanho de 224 x 176 x 3 (o 3 corresponde ao número de valores de cor). A imagem de saída decodificada então possui o mesmo número de pixels/entradas na matriz que constitui a imagem de saída decodificada. Além disso, outras resoluções da imagem da entrada original (também compreendendo outros números de valores de cor) podem ser imaginadas.
[0139] Como pode ser observado na Figura 5, o decodificador 500 compreende uma ou mais camadas 551 e 552 (bem como outras camadas correspondentes não mostradas) por meio das quais a imagem de entrada codificada 531 é processada uma após a outra. Isso significa que a imagem de entrada codificada 531 é processada primeiro pela primeira camada 551 do codificador 500 e a imagem decodificada intermediária 533 é então fornecida à próxima camada 552 na ordem de processamento da imagem codificada no codificador 500 da rede neural. Após ter passado por cada camada do codificador, uma final imagem de saída decodificada 536 é fornecida. Essa pode ser então processada ainda, como será descrito mais detalhadamente abaixo.
[0140] No que diz respeito ao processamento da imagem codificada pelas camadas 551 e 552, primeiramente observa-se que cada uma dessas camadas compreende componentes idênticos que, em princípio, é uma deconvolução também denominada convolução transposta 501 e 502 e unidades de upsampling bilinear 511 e 521. Embora as unidades de upsampling bilineares sejam mostradas na ordem de processamento na camada após as deconvoluções 501 e 502, também é possível fornecer as unidades de upsampling bilineares na ordem de processamento da imagem de entrada codificada antes das convoluções 501 e 502.
[0141] As deconvoluções 501 e 502 trabalham de forma a reverter a transformação das convoluções.
[0142] Para explicar isso em mais detalhes, presume-se que a imagem de entrada codificada 531 (ou qualquer imagem decodificada intermediária 533 e 535) seja representada na forma de uma matriz de entrada B com um tamanho específico N’ x M’, em que as entradas nessa matriz de entrada sejam indicadas com Bij, em que i < N’ e j < M’.
[0143] Para obter, a partir dessa matriz de entrada, uma matriz expandida 𝐵̅, ̅ que possui, como um cada entrada na matriz é multiplicada por um núcleo 𝐾 núcleo nas camadas de convolução em profundidade do codificador, a forma de uma matriz com um tamanho específico 𝑆̅×𝑇̅. Para facilitar a discussão, presume-se que 𝑆̅ = 𝑇̅. No entanto, isso não se limita em nenhum sentido. Na verdade, qualquer valor de 𝑆̅ 𝑒 𝑇̅ é possível. Isso inclui que 𝑆̅ 𝑒 𝑇̅ =S e T do núcleo usado no codificador ou 𝑆̅ e/ou 𝑇̅ sejam diferentes de S e/ou T usado no codificador.
[0144] Ao multiplicar uma entrada Bij da matriz de entrada original (como a imagem codificada 531) pelo núcleo, uma submatriz ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵 com entradas ̅ com entradas ̅̅̅̅̅ específicas é fornecida. Considerando um núcleo 𝐾 𝐾𝑞𝑝 , as entradas na submatriz ̅̅̅̅̅̅̅̅ são indicadas com ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝑠𝑢𝑏,𝑖𝑗 𝐵 𝐵𝑞𝑝 . Essas são calculadas pelo produto 𝐵𝑖𝑗 ̅̅̅̅̅ 𝐾𝑞𝑝 .
[0145] Por isso, uma única entrada na matriz de entrada B é expandida a uma submatriz com tamanho 𝑆̅ × 𝑇̅. Os valores das entradas ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 não apenas dependem da entrada na matriz B, mas também dependem das entradas ̅̅̅̅̅ 𝐾𝑞𝑝 ̅ . Seguindo esse procedimento para cada entrada Bij levará às ̅𝑆𝑇 do núcleo 𝐾 ̅̅̅ submatrizes ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 .
[0146] Esses valores ̅̅̅̅̅ 𝐾𝑞𝑝 podem ser obtidos através do treinamento da rede neural, como será explicado em mais detalhes abaixo. Embora, em princípio, ̅ dependendo dos índices i e j da seria possível fornecer diferentes núcleos 𝐾 entrada Bij da matriz de entrada, será assumido, para facilidade de explicação, ̅ usado seja idêntico na deconvolução. Isso significa que que cada núcleo 𝐾 ̅ possui o mesmo tamanho 𝑆̅ = 𝑇̅ e as mesmas entradas cada núcleo 𝐾 ̅̅̅̅̅ 𝐾 𝑝𝑞 ∀𝑞, 𝑝. No entanto, para outra deconvolução no codificador, isso pode não ser o caso e o núcleo pode ter um tamanho diferente e/ou entradas diferentes.
[0147] Retornando às submatrizes calculadas ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 , o procedimento adicional é o seguinte. Para cada entrada Bij da matriz de entrada B, as submatrizes são calculadas como explicado acima. Para obter uma saída razoável da deconvolução, essas submatrizes são combinadas de forma específica para obter uma matriz expandida 𝐵̅. Isso pode ser atingido em uma pluralidade de formas.
[0148] Por exemplo, as submatrizes podem ser “unidas”. Isso significa que uma primeira submatriz ̅̅̅̅̅̅̅̅ é combinada com uma submatriz ̅̅̅̅̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝑠𝑢𝑏,𝑖+1,𝑗 𝐵𝑞𝑝 𝐵𝑞𝑝 à direita da submatriz ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 ̅̅̅̅̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖+1,𝑗 𝐵𝑞𝑝 e outra submatriz 𝐵 𝑞𝑝 diretamente abaixo da submatriz ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 ̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖+1𝑗+1 𝐵𝑞𝑝 . Além disso, uma submatriz 𝐵 𝑞𝑝 é fornecida diagonalmente. Dessa forma, a matriz expandida é gerada ao continuar esse padrão para todas as entradas originais Bij na matriz de entrada e nas submatrizes correspondentes, começando o padrão com B00.
[0149] Alternativamente, também é possível combinar as submatrizes ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 com uma sobreposição. Isso significa que as submatrizes não são fixadas uma à outra da forma como explicado acima, mas a submatriz ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 e a submatriz ̅̅̅̅̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖+1,𝑗 ̅̅̅̅̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖+1,𝑗 𝐵 𝑞𝑝 são combinadas ao apenas deslocar a submatriz 𝐵 𝑞𝑝 em relação à submatriz ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 com uma amplitude do progresso W menor que o tamanho 𝑆̅ do respectivo núcleo (como foi o caso no parágrafo anterior). Assim, na matriz expandida resultante 𝐵̅, as entradas resultam de combinações de uma ou mais submatrizes ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 . Fica evidente que essa sobreposição pode ser fornecida em qualquer direção. Isso significa que pode ser fornecido (considerando uma representação de matriz) da esquerda para a direita, de cima para baixo e na direção diagonal.
[0150] Considerando o exposto acima, o tamanho da matriz expandida 𝐵̅ será (𝑁 ′ 𝑆̅) × (𝑀′ 𝑇̅), que simplifica de (𝑁 ′ 𝑆̅) × (𝑀′ 𝑆̅) para 𝑆̅ = 𝑇̅. Esse é o caso quando as submatrizes ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 são colocadas uma ao lado da outra, como explicado acima, o que é equivalente a uma amplitude do progresso 𝑊 = 𝑆̅. No caso de haver uma sobreposição e a amplitude do progresso W ser, assim, menor que o tamanho 𝑆̅ do núcleo, descobre-se facilmente que o tamanho resultante da matriz expandida é (𝑁 ′ + (𝑁 ′ − 1)𝑊) × (𝑀′ + (𝑀′ − 1)𝑊). Obviamente, isso só é o caso se o progresso com W for idêntico da esquerda para direita e de cima para baixo. Se esse não for o caso, diferentes valores Wa e Wb podem ser usados para o cálculo da respectiva amplitude.
[0151] O resultado do processamento da imagem codificada pela deconvolução é uma matriz expandida, em que as entradas são calculadas a partir de operações discretas e cálculos descritos acima em relação à matriz de ̅ usados. entrada B e aos núcleos 𝐾
[0152] Após isso, o tamanho da matriz expandida 𝐵̅ é maior que aquele da matriz de entrada B original, mas ainda pode não corresponder ao tamanho (isto é, número de pixels) da imagem original.
[0153] Em uma etapa adicional, a imagem expandida intermediária que corresponde à matriz expandida 𝐵̅ é então encaminhada à unidade de upsampling bilinear 511. Nessa unidade, a matriz expandida 𝐵̅ é upsampled usando, outro modo, a técnica comumente conhecida como upsampling bilinear. Isso significa que entre os pixels adjacentes, novos pixels são construídos usando a upsampling bilinear. Isso significa que os valores dos pixels intermediários são calculados usando técnicas de upsampling bilinear comumente conhecidas. Considerando, por exemplo, quatro entradas adjacentes na matriz expandida 𝐵̅, essas entradas sendo ̅̅̅̅ 𝐵𝑖𝑗 , ̅̅̅̅̅̅̅ 𝐵𝑖+1𝑗 , ̅̅̅̅̅̅̅ 𝐵𝑖𝑗+1 e ̅̅̅̅̅̅̅ 𝐵𝑖+1𝑗. Com a upsampling bilinear, um ou mais pixels entre os pixels adjacentes podem ser calculados a fim de expandir ainda mais a matriz 𝐵̅ para chegar a outra matriz, indicada, por exemplo, como 𝐵̿. Devido a esse upsampling bilinear, os valores intermediários assim calculados representam uma conexão mais “suave” entre as entradas na matriz calculada usando a deconvolução.
[0154] Após o processamento da matriz expandida 𝐵̅ pela unidade de upsampling bilinear 511, uma imagem decodificada intermediária adicional 533 é obtida, a qual é então encaminhada à próxima camada no decodificador. Esses procedimentos são repetidos ao longo de todas as camadas do decodificador e, por fim, obtém-se uma imagem de saída decodificada 536.
[0155] Onde a imagem de saída decodificada corresponde a uma matriz com valores para as respectivas entradas, esta matriz O pode ser denominada como matriz de saída. Essa matriz de saída O possui o mesmo tamanho N x M da imagem original e correspondentemente possui uma entrada para cada pixel na imagem original.
[0156] No entanto, a imagem decodificada não é idêntica à imagem da entrada original, já que, através do processamento na rede neural, as informações foram perdidas, por exemplo, ao aplicar as transformações no codificador.
[0157] Os valores na matriz de saída O podem variar de -∞ a +∞. Sem levar em conta a real forma da imagem de saída decodificada, caso seja presumido que, para cada entrada (correspondente a cada pixel) na saída, haja um valor x que corresponde ao valor da respectiva entrada. Para cada valor, uma função de ativação pode ser aplicada onde a função de ativação S(x) possui a forma 1 de 𝑥̅ = 𝒮(𝑥) = 1+𝑒 −𝑥 . Isso resulta nos valores 𝑥̅ , comparados aos valores originais x, sendo comprimidos ao intervalo entre 0 e 1, em que todos os novos valores 𝑥̅ , derivados dos valores x < 0 serão aproximadamente 0, ao passo que outros valores 𝑥̅ obtidos de valores originais x > 0 serão aproximadamente 1.
[0158] Isso resulta em uma nova matriz 0̅, em que o valor associado a um pixel específico ou entrada possui o valor 𝑥̅ ≈0 ou o valor 𝑥̅ ≈1.
[0159] Em uma etapa adicional, é possível modificar ainda a matriz 0̅ ao estabelecer todos os valores 𝑥̅ , que são menores que 0,5 a 0 e todos os 𝑥̅ , que são maiores que 0,5 a 1.
[0160] A matriz resultante pode ser considerada imagem “preto e branco”, em que as entradas na matriz com um valor 𝑥̅ ,=0 podem ser consideradas brancas e as entradas e a matriz resultante com valores 𝑥̅ =1 podem ser consideradas pretas. Outra forma também é possível e a referência à imagem “branco e preto” só serve para fins exemplares.
[0161] Devido ao processamento da imagem original pela rede neural, isso resultará na região de interesse visível na matriz de saída ou imagem de saída decodificada como tendo um formato específico, por exemplo, um formato elíptico. Isso ocorre devido à rede neural aprendida e ao processamento da imagem de entrada, a ROI corresponde aos valores 𝑥̅ =1 ou 𝑥̅ =0. O restante da imagem será desbotado (correspondendo a ter o outro valor 𝑥̅ , respectivamente), que então permite distinguir entre as regiões de interesse e as demais porções ou partes da imagem.
[0162] Na etapa seguinte, é então possível identificar cada pixel correspondente à porção da região de interesse na imagem de saída decodificada com pixels na imagem original já que o tamanho e dimensão de pixels na imagem de saída decodificada são iguais aos na imagem da entrada original. Assim, os pixels na imagem de saída original que estão na região de interesse podem ser extraídos.
[0163] Durante o processamento da imagem da entrada original até a imagem de saída decodificada, pode ocorrer de haver mais de uma região que sejam potenciais regiões de interesse. Para distinguir entre a real região de interesse e outras candidatas para as regiões de interesse, é possível escolher a maior área contínua na imagem decodificada e negligenciar todas as demais áreas como potencial candidatas a regiões de interesse.
[0164] Devido ao procedimento de decodificação, o número resultante de pixels representando a região de interesse pode não ser uma região suave, mas pode conter etapas ou outras distorções que se originam da redução e aumento de tamanho e da perda de informações. Isso pode ser corrigido, por exemplo, ao aplicar técnicas de suavização, como comumente conhecido na técnica, para obter formato (quase elíptico) sem as etapas.
[0165] A região de interesse resultante na imagem decodificada e os pixels nessa região de interesse podem então ser correspondidos, como explicado acima, à imagem da entrada original e os respectivos pixels da imagem da entrada original podem ser extraídos como a real região de interesse e pode ser processada ainda, por exemplo, ao armazenar a região de interesse ou fornecê-la a um meio de identificação na forma descrita, por exemplo, em relação às Figuras 1 e 2.
[0166] Embora, em relação à figura 5, a decodificação fosse descrita fazendo uso de uma ordem específica de deconvoluções e unidades de upsampling bilineares, observou-se também que outras combinações dessas entidades podem ser usadas. Por exemplo, a invenção também abrange que apenas um número de deconvoluções é usado que processa a imagem em sucessão, como descrito acima. Alternativamente, apenas unidades de upsampling bilineares podem ser usadas em sucessão para o processamento da imagem.
[0167] Além disso, também há realizações em que o número de unidades de upsampling bilineares não corresponde ao número de deconvoluções. Por exemplo, pode haver uma unidade de upsampling bilinear fornecida apenas após cada segunda deconvolução ou após cada terceira convolução. O mesmo ocorre para o caso em que há mais unidades de upsampling bilineares do que deconvoluções. Por exemplo, pode haver uma deconvolução apenas após cada segunda ou terceira unidade de upsampling bilinear.
[0168] O fornecimento das unidades de upsampling bilineares ou deconvoluções também não precisam ser uniformes através do decodificador. Por exemplo, na ordem de processamento da imagem de entrada codificada, pode primeiro haver uma deconvolução seguida de uma unidade de upsampling bilinear, seguida de duas deconvoluções, que são seguidas de uma unidade de upsampling bilinear. Após isso, pode haver mais uma vez apenas uma única deconvolução seguida imediatamente de uma unidade de upsampling bilinear. Além disso, outras combinações podem ser imaginadas.
[0169] A Figura 6 mostra uma realização adicional que amplia o conceito descrito na Figura 4 e na Figura 5 para permitir a identificação de uma ponta de dedo (especificamente, os pixels na imagem original que constitui a ponta de dedo) usando diversas caixas delimitadoras e uma separação da imagem original em grades. Isso pode permitir a redução de tamanho da imagem que deve ser processada pela rede neural para descobrir a ROI, poupando assim recursos informáticos e energia de processamento da rede neural.
[0170] Observa-se que as etapas descritas a seguir podem ser preferencialmente realizadas antes do processamento da imagem original na rede neural pelo codificador e decodificador.
[0171] A realização descrita na Figura 6 pode ser implementada usando a rede neural já descritas ou pode ser implementada usando outra rede neural. Em qualquer caso, a rede neural usada é treinada para poder identificar uma região com um formato específico (preferencialmente retangular) que contém o objeto de interesse que possui a ROI. A respectiva rede neural, no entanto, não precisa ser capaz de separar a ROI precisa do restante da imagem. É, portanto, menos poderosa a respeito de como a rede neural usada para precisamente identificar a ROI. Isso se deve, para a rede neural usada na Figura 6, ao formato da região ser separado das demais regiões já definidas (retangular, por exemplo). Assim, a rede neural só é capaz de posicionar adequadamente e dimensionar essa região, mas não é necessariamente capaz de identificar uma ROI de formato completamente desconhecido.
[0172] Em conformidade com a realização da Figura 6, será presumido que a entrada recebida pode ser a imagem original. No entanto, algum pré- processamento poderia ter já ter ocorrido (separação de cor e similar, por exemplo). Só será feita referência “à imagem”, embora fique claro que em vez de a imagem, também uma das imagens pré-processadas descritas anteriormente pode ser usada.
[0173] Em uma primeira etapa, a imagem 600 recebida é separada em uma pluralidade de células de grade 610, 611 e 613. O número de células de grade em cada direção não está limitado, mas em uma realização preferida, a imagem 600 é separada em 13 células de grade na direção horizontal e 13 células de grade na direção vertical, de modo que em vez de uma grade geral Q x R, cria-se uma grade 13 x 13. Dependendo do objeto do qual a ROI deve ser extraída, mais ou menos células de grade podem ser usadas. Em qualquer caso, a invenção não está limitada à escolha de um número específico de células de grade.
[0174] Em uma etapa seguinte, o ponto central 630 de cada célula de grade é identificado e usado para estabelecer a origem de um sistema de coordenadas para cada uma das células de grade separadas de qualquer uma das demais células de grade. Em torno desse centro 630, pelo menos uma caixa delimitadora 631 e 632, que geralmente terá o formato de um retângulo, é disposta onde possui, como pode-se observar na célula de grade 613, uma altura inicial h0 e uma largura ou amplitude b0. Para uma pluralidade de caixas delimitadoras em cada célula de grade, esses valores podem ser diferentes entre si. Por exemplo, os valores iniciais h0 e b0 podem ser assumidos para a menor caixa delimitadora por célula de grade e esses valores podem aumentados a um fator de 1,5 ou 2 ou qualquer outro valor a fim de calcular as dimensões das demais caixas delimitadoras na respectiva célula de grade.
[0175] Observa-se que a posição de uma caixa delimitadora, por exemplo, a caixa delimitadora 631 no sistema de coordenadas da respectiva célula de grade será representada pela posição do ponto central da caixa delimitadora 631 em relação ao ponto central 630, isto é, a origem do respectivo sistema de coordenadas, na respectiva célula de grade. Assim, a posição da respectiva caixa delimitadora na célula de grade 611 pode ser representada por duas coordenadas x e y. A largura e altura da caixa delimitadora são consideradas para representar as características geométricas da caixa delimitadora, que podem ser representadas por dois valores superiores a 0.
[0176] Como essas caixas delimitadoras serão posteriormente usadas para identificar a posição da ROI ou fornecer uma parte correspondente da imagem original à respectiva rede neural para processamento, também é apropriado associar, com cada uma dessas caixas delimitadoras, um quinto valor que é a probabilidade de a caixa delimitadora incluir o respectivo objeto presumido por conter a ROI.
[0177] Portanto, cada caixa delimitadora pode ser representada por um vetor de dimensão 5 na forma de (VI): 𝑥 – 𝑝𝑜𝑠𝑖çã𝑜 𝑑𝑎 𝑐𝑎𝑖𝑥𝑎 𝑑𝑒𝑙𝑖𝑚𝑖𝑡𝑎𝑑𝑜𝑟𝑎 𝑏 = 𝑦 – 𝑝𝑜𝑠𝑖çã𝑜 𝑑𝑎 𝑐𝑎𝑖𝑥𝑎 𝑑𝑒𝑙𝑖𝑚𝑖𝑡𝑎𝑑𝑜𝑟𝑎 (𝑉𝐼) 𝑙𝑎𝑟𝑔𝑢𝑟𝑎 𝑏 𝑑𝑎 𝑐𝑎𝑖𝑥𝑎 𝑑𝑒𝑙𝑖𝑚𝑖𝑡𝑎𝑑𝑜𝑟𝑎 𝑎𝑙𝑡𝑢𝑟𝑎 ℎ 𝑑𝑎 𝑐𝑎𝑖𝑥𝑎 𝑑𝑒𝑙𝑖𝑚𝑖𝑡𝑎𝑑𝑜𝑟𝑎 ( 𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑𝑒 )
[0178] Isso significa que as células de grade, junto às suas respectivas caixas delimitadoras, podem ser representadas na forma de um tensor T com as dimensões Q x R x B x A, em que A é o número de caixas delimitadoras por célula de grade. No caso mais preferido para identificação das pontas dos dedos, Q = R = 13, B = 5 (a dimensão do vetor b) e A podem ser estabelecidos a um número inteiro entre 3 e 10, mais preferencialmente 5.
[0179] Como explicado acima, presume-se que a rede neural já seja treinada para identificar um objeto específico, preferencialmente uma ponta do dedo. Isso envolve que a rede neural seja capaz de identificar um padrão específico de pixels que mais provavelmente represente uma ponta de dedo. Isso pode se referir a padrões específicos de valores de cor ou outras características, como o brilho desses pontos. No entanto, fica evidente que a imagem 600 pode mostrar arbitrariamente uma ponta de dedo ou outro objeto com uma característica biométrica que pode não corresponder em tamanho e disposição a uma ponta de dedo que foi usada para o treinamento da rede neural.
[0180] No entanto, com o auxílio das caixas delimitadoras e da grade, é possível à rede neural identificar a caixa delimitadora específica que mais provavelmente compreenderá a ponta de dedo. A fim de identificar essa caixa delimitadora específica, a rede neural (ou um componente associado que processa a imagem 600) compara os valores dos pixels em cada caixa delimitadora de cada célula de grade com um padrão de pixels que corresponda a uma ponta de dedo, como foi anteriormente aprendido pela rede neural. Nesse primeiro estágio, é mais improvável que seja encontrada uma correspondência perfeita, mas haverá caixas delimitadoras que já são mais prováveis de conter pelo menos uma porção de uma ponta de dedo do que outras caixas delimitadoras.
[0181] No caso representado na Figura 6, por exemplo, a caixa delimitadora 641 centrada em torno do ponto M na célula de grade 613 inclui uma porção da ponta de dedo da mão 650. Em contraste a isso, nenhuma das células de grade 610 e 611 compreende caixas delimitadoras que incluem uma porção de uma ponta de dedo. Quando o método continua a avaliar os valores de pixel na caixa delimitadora 641 e potencialmente na caixa delimitadora 640, o processo pode determinar que a caixa delimitadora 641 inclui ainda mais de um padrão que corresponde a uma ponta de dedo do que a caixa delimitadora 640.
[0182] Frente a isso, o método pode concluir que nenhuma das caixas delimitadoras 631 e 632 (e potencialmente outras caixas delimitadoras em outras células de grade) inclui uma ponta de dedo e pode estabelecer seu valor de probabilidade em seu vetor B correspondente em 0.
[0183] Como ambas as caixas delimitadoras 640 e 641 centradas em torno do ponto M compreendem pelo menos uma porção de uma ponta de dedo, elas podem ser consideradas mais prováveis de, na verdade, compreender uma ponta de dedo e o valor de probabilidade será maior que 0 em uma primeira etapa.
[0184] Enquanto a menor célula de grade 640 está quase completamente preenchida com um padrão que poderia corresponder a uma ponta de dedo, apenas a borda esquerda da maior caixa delimitadora 641 pode ser considerada pelo processo por incluir um padrão que corresponda a uma ponta de dedo.
[0185] Com isso, o método pode continuar a calcular uma função de perda que determina a diferença entre o padrão identificado em cada uma das caixas delimitadoras 641 e 640 para um padrão obtido a partir da aprendizagem que, de fato, corresponde com uma ponta de dedo.
[0186] Na etapa seguinte, o método tentará minimizar essa diferença ao modificar o tamanho e a posição das respectivas caixas delimitadoras. Quanto a isso, pode-se prever que a caixa delimitadora maior 641 é usada como o ponto inicial e sua posição e formato modificados ou a caixa delimitadora menor 640 é usada como o ponto inicial e sua posição e tamanho são modificados para minimizar as diferenças com o padrão aprendido.
[0187] Esse processo de minimização pode primeiramente compreender a modificação da posição da caixa delimitadora (a seguir, será presumido que a caixa delimitadora 641 seja usada para cálculos adicionais) ao movê-la em uma pequena porção em direções ortogonais primeiramente ao longo do eixo x e então ao longo do eixo y (ou vice-versa), como representado na Figura 6 em torno do ponto central M da respectiva célula de grade. O movimento será ao longo do eixo x e eixo y positivo e negativo, em cada posição será feita uma comparação para determinar uma função de diferença entre o padrão obtido do aprendizado e o padrão real identificado na imagem. Isso permite o cálculo de uma função bidimensional que representa a diferença d(x,y), dependendo das coordenadas.
[0188] Com base nisso, um gradiente xyd pode ser calculado, o qual permite a determinação em qual direção no sistema de coordenadas a caixa delimitadora deve ser movida para aumentar e, preferencialmente, maximizar a correspondência com o padrão aprendido (que corresponde à minimização do valor da função d(x,y)). Isso será o caso para xyd = 0.
[0189] Isso pode resultar na caixa delimitadora sendo movida ao longo da direção r para um novo ponto central M’ em que a função a função d(x,y)
possui um mínimo. Em uma etapa seguinte, o tamanho da respectiva caixa delimitadora na posição M’ pode ser aumentado e reduzido para determinar se o aumento ou redução de tamanho em uma ou duas direções (isto é, a altura e/ou a largura) muda o valor de uma função de diferença adicional em comparação ao padrão original que pode ser indicado com e(h, b) dependendo da altura h e da largura b. Essa função é minimizada, de modo que para uma caixa delimitadora específica com uma posição M’ e uma altura hf e uma largura bf, a diferença para o padrão aprendido seja minimizada.
[0190] Essa caixa delimitadora será então usada como a caixa delimitadora final que possui a maior probabilidade p de identificar essas porções da imagem 600 que contêm a respectiva ponta de dedo ou objeto que possui a característica biométrica. O vetor de saída para essa caixa delimitadora terá então a forma de (VII) 𝑥 𝑦 𝑏 = 𝑏𝑓 (VII) ℎ𝑓 (𝑝)
[0191] Como resultado desse processo, um tensor T com dimensão Q x R x B x A pode ser produzido, em que, para cada caixa delimitadora em cada célula de grade, fornece-se a posição x e y em relação ao centro da célula de grade, bem como a largura e a altura da respectiva caixa delimitadora e sua probabilidade de identificar ou compreender uma ponta de dedo.
[0192] Para impedir o movimento das caixas delimitadoras de célula de grade adjacente a ser movida na mesma direção, de modo a se sobreporem e a fim de impedir que as caixas delimitadoras de diferentes células de grade se movam para outras células de grade, o método pode ser fornecido de modo que o movimento do centro de uma caixa delimitadora só seja possível em sua célula de grade original.
[0193] Portanto, o resultado será um tensor que compreende uma pluralidade de vetores B, em que um ou mais desses vetores apresentam alta probabilidade de identificar a ponta de dedo, ao passo que outros apresentam baixa probabilidade. Esses com uma baixa probabilidade podem ser negligenciado completamente ao estabelecer todos seus valores correspondentes a 0, reduzindo assim o esforço de processamento necessário no processamento do tensor.
[0194] Os vetores B com a mais alta probabilidade serão então usados para permitir o processamento adicional da imagem pela rede neural usando o codificador e o decodificador.
[0195] Embora a abordagem acima permita a identificação adequada da caixa delimitadora que será usada para o processamento adicional de parte da imagem compreendendo o objeto que contém a característica biométrica, como uma impressão digital, será fornecida uma explicação adicional sobre as caixas delimitadoras que precisam ser descartadas.
[0196] Como explicado acima, o vetor b de uma caixa delimitadora compreende uma probabilidade p que indica a chance de a respectiva caixa delimitadora incluir ou representar uma ponta de dedo. Isso pode ser usado para classificar todas as caixas delimitadoras (ou seus vetores, respectivamente) em ordem descendente iniciando com aqueles vetores b que apresentam o maior valor de probabilidade p.
[0197] Feito isso, a lista pode ser percorrida em ordem descendente iniciando com a caixa delimitadora com o valor p mais elevado. Essa travessia pode incluir a seleção de uma caixa delimitadora específica com valor p a partir da lista e cálculo, para essa caixa delimitadora específica, da quantidade de intersecção com todas as caixas delimitadoras restantes. Isso significa que a área da caixa delimitadora específica selecionada é comparada à área das caixas delimitadoras restantes e quaisquer áreas que possuam em comum (isto é, onde as caixas delimitadoras se intersectam) contribuem para a intersecção calculada.
[0198] A quantidade de intersecção pode ser calculada como uma razão em relação à área da caixa delimitadora selecionada. Portanto, um valor adimensional é obtido para cada intersecção calculada que varia de 0 (sem intersecção) a 1 (a caixa delimitadora restante considerada intersecta ou cobre completamente a área da caixa delimitadora selecionada).
[0199] Em uma etapa seguinte, um limiar predefinido pode ser usado para negligenciar ou descartar caixas delimitadoras ou selecioná-las. No exemplo acima, o limiar pode ser uma intersecção calculada de 0,75. Para cada par calculado de uma caixa delimitadora selecionada e uma caixa delimitadora restante para a qual a intersecção excede esse limiar, a caixa delimitadora com o menor valor p pode ser negligenciada ou selecionada a partir da lista mencionada acima.
[0200] Por fim, isso resultará apenas em uma caixa delimitadora restante, que representará a parte da imagem que compreende a ROI. Obviamente, isso não está limitado a uma única caixa delimitadora uma vez que a invenção pode compreender o uso, por exemplo, de mais de um dedo e sua ROI para identificar o usuário.
[0201] Na Figura 7, será fornecida agora uma explicação sobre como a rede neural pode ser adequadamente treinada, de modo que os pesos do núcleo K e o peso α do codificador explicados na Figura 4, bem como os valores do núcleo ̅ do decodificador sejam aprendidos pela rede neural.
𝐾
[0202] Embora, a seguir, seja feita referência ao treinamento daquela rede neural compreendendo o codificador e o decodificador, o método também pode ser aplicado para treinar (aquela parte da) rede neural que calcula as caixas delimitadoras descritas na Figura 6. Basicamente, isso só exigirá mudar os dados de entrada das ROIs pré-definidas para as caixas delimitadoras pré- definidas e os valores correspondentes e fornecer as caixas delimitadoras e valores correspondentes (especificamente aqueles que definem o tensor T) à respectiva rede neural responsável pelo cálculo das caixas delimitadoras.
[0203] O método da Figura 7 se inicia com o fornecimento dos dados de treinamento 701 e ROIs. Os dados de treinamento podem ser constituídos por uma pluralidade de imagens de, por exemplo, pontas dos dedos ou uma pluralidade de dedos representados em uma imagem junto a outros objetos, como aquelas imagens descritas em relação à fig. 1. As imagens podem ser multiplicadas usando, a partir da mesma imagem, cópias giradas, destacadas, escurecidas, ampliadas ou de outro modo modificadas que são introduzidas como dados de treinamento. As ROIs fornecidas de acordo com o item 708 são ROIs que correspondem à sua respectiva imagem nos dados de treinamento em que aquelas ROIs são as ROIs que são corretamente associadas ao objeto a ser identificado, isto é, possuem o tamanho correto e a posição correta que possuem caso seja adequadamente processado pelo codificador e decodificador. Essas ROIs são fornecidas para toda e qualquer imagem nos dados de treinamento. Podem ser obtidas por processamento manual das imagens de treinamento. Como a quantidade de imagens de treinamento podem ser artificialmente aumentadas ao fornecer as cópias modificadas supracitadas, o número de imagens que precisa ser manualmente processado para definir as ROIs para treinamento pode ser reduzido.
[0204] Na próxima etapa, uma imagem de entrada específica 702 é fornecida à rede neural em um ambiente de treinamento em que, além da rede neural, um otimizador 707 e um calculador de função de perda 706 são fornecidos.
[0205] A imagem de entrada é, em uma primeira rodada, processada usando o codificador 703, como descrito na Figura 4, e o decodificador 704, como descrito na Figura 5. Isso significa que as etapas ou as seções 703 e 704 representadas na Figura 7 seguem como descrito em referência às Figuras 4 e 5 usando, na seção 703, os pesos correspondentes para a camada de convolução em pontos e o núcleo K da camada de convolução em ̅ . O primeiro e segundo profundidade e, na seção 704, o respectivo núcleo 𝐾 normalizador de lotes, bem como as unidades lineares retificadas dos itens 403 e 404 agem da forma explicada acima em relação à Figura 4. Como essas não compreendem parâmetros treináveis, não serão descrias mais detalhadamente abaixo.
[0206] Como um resultado, em concordância com a Figura 7, a saída será uma primeira imagem de saída codificada por tensor 705 compreendendo uma ROI. Esse resultado será então fornecido à função de perda em que será comparado às ROIs pré-definidas a fim de identificar as diferenças entre o resultado 705 e a ROI correta obtida da etapa 708. Essa diferença obtida pela função de perda 706 é então fornecida ao otimizador 707 que, por sua vez, modificará os pesos de cada camada de convolução em pontos e cada camada de convolução em profundidade, isto é, α e as entradas no núcleo K para o codificador e as entradas correspondentes no núcleo ̅̅̅ 𝐾 das camadas do decodificador. Isso significa que, para todas as camadas na rede de uma vez ou para cada camada isolada, o peso α da camada de convolução em pontos e as entradas no núcleo K da camada de convolução em profundidade e o núcleo ̅ são manipulados.
𝐾
[0207] Com esses novos valores, o ciclo é repetido para a mesma imagem e a ROI resultante é fornecida à função de perda e comparada à ROI correta, cujo resultado é então fornecido ao otimizador 707 que, mais uma vez, modifica os pesos.
[0208] Esse procedimento é realizado contanto que a diferença entre a imagem de saída decodificada resultante e especificamente a ROI identificada em comparação à ROI predefinida do item 708 exceda um determinado limiar que, em essência, corresponde à precisão de identificação destinada.
[0209] Após isso, a imagem de entrada seguinte 702 é capturada dos dados de treinamento 701 e as ROIs correspondentes são fornecidas à função de perda. Em seguida, o processo explicado é repetido, novamente, para a nova imagem e os pesos ideais para o codificador e o decodificador e seus componentes são obtidos. Isso é repetido até uma combinação específica de pesos resultar em precisão de identificação adequada para todas as imagens de entrada. A combinação de pesos então obtida é produzida como pesos finais 710.
[0210] Esses pesos finais são então introduzidos no aplicativo que executa o método inventivo no dispositivo móvel de acordo com a descrição do codificador e do decodificador e, se aplicável, após o treinamento correspondente da rede neural que identifica as caixas delimitadoras, também no aplicativo da rede neural que identifica a caixa delimitadora ou parte da imagem compreendendo a ROI, como explicado na Figura 6.
[0211] Portanto, no conceito da presente invenção, a rede neural fornecida ao dispositivo móvel já está totalmente adaptada à identificação de ROIs e, portanto, pode ser empregada sem qualquer ensinamento adicional sendo necessário, o que reduz mais os recursos informáticos exigidos nos dispositivos móveis.
[0212] No total, ao usar a rede neural compreendendo o codificador e o decodificador e ao usar opcionalmente a separação da imagem original em células de grade e identificando as caixas delimitadoras correspondentes em linha com a descrição da Figura 6, pode-se fornecer um aplicativo que seja de tamanho pequeno, permitindo assim a utilização em um dispositivo móvel em isolamento mesmo sem qualquer acesso a fontes de dados adicionais por meio da internet ou similar. Isso o torna adequado para a aplicação em ambientes onde não é possível o acesso a redes sem fio ou similar. Além disso, a potência do processador necessária para executar esse aplicativo é reduzida a um mínimo enquanto ainda produz resultados apropriados de identificação das ROIs, os quais podem ser usados posteriormente na identificação realizada do usuário por meio das impressões digitais associadas às pontas de dedo, por exemplo, conforme explicado anteriormente.
[0213] As explicações acima focaram nas imagens de uma mão ou dedos que mostram a lateral dos dedos que contêm as impressões digitais. No entanto, um usuário também pode acidental ou voluntariamente apresentar um ou mais dedos do outro lado, isto é, o dorso das mãos, ao sensor óptico. A partir de tal imagem de um dedo, a impressão digital não pode ser extraída já que não é visível. Obviamente, ocorre o mesmo para outros objetos, como explicado. Por exemplo, em vez da palma da mão, o usuário pode mostrar o dorso de sua mão.
[0214] Para distinguir uma imagem de uma ponta do dedo que contém a impressão digital de uma imagem de uma ponta do dedo que não mostra a impressão digital, as a unha ou articulações, o procedimento a seguir pode ser usado, que pode estender os métodos explicados acima para aumentar a precisão de identificação. Obviamente, isso também pode ser aplicado a outros objetos.
[0215] Nos exemplos acima, a caixa delimitadora foi caracterizada pelo vetor (VIII) 𝑥 𝑦 𝑏= 𝑏𝑓 (VIII) ℎ𝑓 (𝑝)
[0216] e o treinamento foi realizado usando apenas imagens de dedos que mostram a lateral das pontas dos dedos que contêm as impressões digitais.
[0217] Ao permitir que as imagens capturadas de ambos os lados das pontas dos dedos (isto é, a lateral que contém a impressão digital e a lateral que contém a unha ou articulações), é vantajoso considerar duas classes de objetos identificados nas imagens, a saber, esses objetos que constituem pontas dos dedos mostrando impressões digitais e aqueles objetos que constituem pontas dos dedos que mostram unhas ou articulações.
[0218] Nesse caso, o vetor mencionado acima pode ser estendido por uma dimensão c (VII), de modo que 𝑥 𝑦 𝑏𝑓 𝑏= (VII) ℎ𝑓 𝑝 (𝑐)
[0219] em que c representa uma assim denominada classe. Uma primeira classe pode representar identificação positiva (uma ponta do dedo com uma impressão digital pode ser identificada) e a segunda classe pode representar uma identificação negativa (a ponta do dedo que contém uma unha ou articulação). A classe pode ser representada por valores, por exemplo, 1 para identificação positiva e 0 para identificação negativa. Fica evidente que, em contraste aos valores restantes no vector b, a classe é um valor discreto e só pode assumir um número limitado de valores diferentes correspondentes ao número de classes.
[0220] O treinamento mencionado acima pode então ser realizado de forma que a rede neural seja fornecida com identificações positiva e negativa (em vez de apenas os dados de treinamento mostrando imagens com pontas de dedo contendo impressões digitais e caixas delimitadoras 708) a fim de poder distinguir entre imagens pertencentes à primeira ou à segunda classe. Nesse contexto, pode-se imaginar uma pluralidade de imagens de dedos que mostram qualquer coisa, menos a impressão digital. Todos esses “objetos” podem ser classificados na segunda classe (isto é, identificação negativa) de modo que a rede neural seja treinada para distinguir imagens das pontas do dedo contendo impressões digitais de “quaisquer outras” imagens das pontas de dedo. As caixas delimitadoras fornecidas para treinamento, obviamente, também compreenderão a classe correta c para permitir o treinamento adequado da rede.
[0221] Para identificar todas as regiões contendo ROIs em uma imagem, o processo descrito acima negligenciará todas as caixas delimitadoras que representam a posição de um objeto e que são consideradas pertencentes à segunda classe (isto é, identificação negativa), impedindo assim processamento adicional de imagens ou porções de imagens de objetos que não mostram a característica biométrica.
[0222] Observa-se que a aplicação desse ensinamento ao processamento opcional da imagem para obter caixas delimitadoras que incluem a ROI é mais preferida de modo que o cálculo de caixas delimitadoras é mais fácil em comparação à determinação da ROI pelo codificador e decodificador. No entanto, a abordagem pode ser do mesmo modo adaptada à rede neural que compreende o codificador e o decodificador como o processamento da imagem pelo codificador e decodificador, após terem sido treinados, levaria a uma imagem de saída codificada que não compreende uma ROI. Isso pode então ser usado para estabelecer que a imagem não mostra um objeto de uma forma que a característica biométrica possa ser extraída.
[0223] Para fornecer um contexto em que o método inventivo pode ser realizado, a Figura 8 representa um dispositivo móvel na forma de um smartphone, de acordo com uma realização da invenção.
[0224] O dispositivo móvel 800 é incorporado como um smartphone atualmente conhecido. Compreende um sensor óptico 820, preferencialmente na parte traseira da câmera oposta ao lado do dispositivo móvel 800 no qual a tela 830 é fornecida. A câmera pode ser uma câmera com uma resolução de 1MP, 2MP ou ainda maior, assim, por exemplo, uma câmera HD. Pode ser fornecida com uma lanterna, mas não é necessário. Pode ser adaptada também para tirar imagens em tempo real com uma resolução reduzida e, assim que a câmera é ativada, a tela 830 pode mostrar uma representação do que a câmera realmente “vê”.
[0225] Em uma realização da invenção, assim que o método inventivo é realizado para uma imagem capturada, as caixas delimitadoras que identificam as pontas de dedo da mão são aumentadas na imagem da mão exibida na tela
830. Como foi explicado mais acima, as caixas delimitadoras identificadas não precisam ser exibidas, mas também podem ser mais processadas dentro do dispositivo móvel para, por exemplo, processar as porções da imagem que correspondem às pontas de dedo, de modo que as ROIs possam ser extraídas.

Claims (20)

Reivindicações
1. Método para identificação de um usuário utilizando uma imagem de um objeto do usuário que possui uma característica biométrica do usuário, como uma impressão digital ou um conjunto de impressões digitais das pontas dos dedos, sendo o método caracterizado por compreender: • obtenção, por meio de um sensor óptico de um dispositivo móvel, da imagem do objeto; • fornecimento da imagem ou de uma parte da imagem para uma rede neural; • processamento da imagem ou de parte da imagem pela rede neural, compreendendo a distinção, pela rede neural, de uma porção da imagem ou de parte da imagem que compreende a região de interesse, ROI, a partir de outra porção da imagem; • extração, a partir da imagem ou de parte da imagem, da ROI; • armazenamento da porção que compreende a ROI em um dispositivo de armazenamento e/ou fornecimento da porção que compreende a ROI como entrada para um meio de identificação, compreendendo a extração da característica biométrica da ROI e processamento da característica biométrica extraída a fim de determinar se a característica biométrica extraída identifica o usuário.
2. Método, de acordo com a reivindicação 1, caracterizado pelo objeto ser pelo menos uma ponta do dedo e pela característica biométrica ser uma impressão digital da ponta do dedo e em que o processamento da entrada pelo meio de identificação compreende a extração, a partir da impressão digital, de uma característica biométrica, como, por exemplo, o local e o tipo de minúcias, e a comparação da característica biométrica extraída com uma característica biométrica armazenada em um dispositivo de armazenamento, em que, se uma diferença entre a característica biométrica extraída e a característica biométrica armazenada estiver abaixo de um limiar, o meio de identificação determina que o usuário é identificado pela impressão digital e, se a diferença entre a característica biométrica e a característica biométrica armazenada estiver acima de um limiar, o meio de identificação determina que o usuário não é identificado pela impressão digital.
3. Método, de acordo com a reivindicação 2, caracterizado pela imagem compreender mais de uma ponta do dedo e o método compreender adicionalmente a extração de porções da imagem correspondentes a cada ponta do dedo na imagem e uso da impressão digital de cada ponta do dedo para identificação do usuário pelo meio de identificação.
4. Método, de acordo com a reivindicação 3, caracterizado pelo meio de identificação determinar que um usuário é identificado pelas impressões digitais das pontas dos dedos ao determinar que a precisão de identificação combinada das impressões digitais de todas as pontas dos dedos na imagem está acima de um determinado limiar ou o meio de identificação determina que um usuário é identificado pelas impressões digitais das pontas dos dedos ao determinar se, para cada ponta de dedo, uma diferença entre uma característica biométrica da impressão digital da ponta de dedo e uma característica biométrica armazenada da impressão digital da ponta de dedo está abaixo de um limiar e determinando que o usuário é identificado pelas impressões digitais das pontas dos dedos apenas caso todas as diferenças determinadas estarem abaixo do limiar correspondente.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pela imagem ser obtida por uma câmera como sensor óptico do dispositivo móvel.
6. Método, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo processamento da imagem ou de parte da imagem pela rede neural compreender processamento da imagem por um codificador para obter uma imagem codificada e, após isso, processamento da imagem codificada por um decodificador para obter uma imagem de saída decodificada.
7. Método, de acordo com a reivindicação 6, caracterizado pela imagem ou a parte da imagem fornecida à rede neural para o processamento compreender N  M pixels e a imagem codificada compreender n  m pixels, em que n < N, m < M e a imagem de saída decodificada compreendem N  M pixels.
8. Método, de acordo com a reivindicação 6 ou 7, caracterizado pela distinção de uma porção da imagem ou de parte da imagem compreender a distinção de uma porção da imagem de saída decodificada de outra porção da imagem de saída decodificada.
9. Método, de acordo com a reivindicação 8, caracterizado pela extração da porção compreendendo a característica biométrica compreender identificação de pixel na imagem de saída decodificada que se encontra dentro da porção distinguida e, após isso, identificar os pixels na imagem de saída decodificada que se encontram na porção distinguida com os pixels correspondentes na imagem original ou de parte da imagem e extração, a partir da imagem original ou de parte da imagem, dos pixels correspondentes, os pixels correspondentes extraídos constituindo a porção da imagem ou de parte da imagem compreendendo a característica biométrica.
10. Método, de acordo com a reivindicação 8 ou 9, caracterizado por, na imagem decodificada, cada pixel apresenta um valor 𝓍 ∈ ] − ∞; +∞[ e, antes da distinção de uma porção da imagem decodificada, aplicar uma função 1 de ativação 𝒮(𝑥) = 1+𝑒 −𝑥 a cada pixel na imagem decodificada e um valor normalizado 𝑥̅ = 𝑆(𝑥) ser associado a cada pixel na imagem decodificada, em que a distinção é realizada nos pixels com os valores 𝑥̅ .
11. Método, de acordo com qualquer uma das reivindicações 6 a 10, caracterizado pela rede neural compreender um conjunto de camadas codificadoras e um conjunto de camadas decodificadoras, em que o processamento da imagem ou de parte da imagem pelo codificador para obter uma imagem codificada compreende o processamento, por uma primeira camada do codificador, da entrada para criar uma primeira saída codificada intermediária e processamento, por meio de cada camada seguinte do codificador, da saída codificada da camada anterior, sendo cada camada do codificador uma convolução em profundidade separável compreendendo, na ordem de processamento da entrada na camada, uma camada de convolução em profundidade, um primeiro normalizador de lote, uma primeira unidade linear retificada, uma camada de convolução em pontos, um segundo normalizador de lote e uma segunda unidade linear retificada; em que, ao processar a entrada usando a pluralidade de camadas, o codificador obtém a imagem codificada; em que a imagem codificada é fornecida ao decodificador e em que o processamento da imagem codificada pelo decodificador para obter uma imagem de saída decodificada compreende o processamento, por uma primeira camada do decodificador, da entrada para criar uma primeira saída decodificada intermediária e processamento, por cada camada seguinte do decodificador, da saída decodificada da camada anterior, cada camada do decodificador compreendendo uma camada de deconvolução e/ou uma camada de upsampling bilinear; em que, ao processar a imagem de entrada codificada usando a pluralidade de camadas, o decodificador obtém a imagem de saída decodificada.
12. Método, de acordo com a reivindicação 11, caracterizado pelo processamento da imagem pela rede neural compreender a criação, a partir da imagem ou de parte da imagem, de pelo menos uma matriz I que representa um valor de cor para cada pixel na imagem ou de parte da imagem e fornecer a matriz como entrada à rede neural, em que a imagem ou parte da imagem compreende N  M pixels e a matriz I é uma matriz que compreende valores N  M, em que as entradas da matriz I são fornecidas por Iij, em que i e j são número inteiros e i = 1 ... N e j = 1 ... M.
13. Método, de acordo com a reivindicação 12, caracterizado por cada camada de convolução em profundidade do codificador aplicar um núcleo ̅ e 𝑗 = 1…𝑀 predefinido 𝐾 a uma matriz 𝐴 com entradas 𝐴𝑖𝑗 com 𝑖 = 1 … 𝑁 ̅ , em
̅ ≤ 𝑁, 𝑀 que 𝑁 ̅ ≤ 𝑁 recebido como entrada, o núcleo K sendo uma matriz de tamanho S  T em que S, T < N; S, T < M compreendem as entradas Sab, em que a aplicação do núcleo à matriz compreende o cálculo do produto interno da matriz K com cada matriz reduzida R de tamanho (N  M)S,T de uma matriz Z, em que a matriz R possui o mesmo tamanho do núcleo K, e a matriz Z possui tamanho ((N + 2Pw) x (M + 2Ph)) e as entradas da matriz Zcd com c, d ∈ ℕ+ são dadas por (I): 0∀𝒸 ≤ 𝑃𝑤 0∀𝒸 > 𝑃𝑤 + 𝑁 ̅ 𝑍𝑐𝑑 = 0∀𝑑 ≤ 𝑃ℎ (I) 0∀𝑑 > 𝑃ℎ + 𝑀 ̅ ̅; 𝑗 = 1 … 𝑀 {𝐴𝑖𝑗 𝑜𝑛𝑑𝑒 𝑐=𝑖+ 𝑃𝑤 ; 𝑑 = 𝑗 + 𝑃ℎ ; 𝑖 = 1 … 𝑁 ̅ e fornecem uma matriz P como saída, em que a matriz P possui o ̅ −𝑆+2𝑃𝑤 𝑁 ̅ −𝑇+2𝑃ℎ
𝑀 tamanho ( + 1) × ( + 1), em que Ww e Wh definem a amplitude 𝑊𝑤 𝑊𝑤 do progresso e cada entrada Pij da matriz P é o valor do produto interno da matriz reduzida R elevada a ij com o núcleo K, em que a matriz P é fornecida como saída pela camada de convolução em profundidade.
14. Método, de acordo com a reivindicação 13, caracterizado pelo decodificador ser adaptado para aplicar uma transformação à imagem codificada recebida, a transformação criando, a partir de uma matriz de entrada B de tamanho N’  M’ com entradas Bij, uma matriz expandida 𝐵̅ ao expandir ̅, o cada entrada Bij da matriz B ao multiplicar a entrada com um núcleo 𝐾 ̅ sendo uma matriz de tamanho 𝑆̅ × 𝑇̅ com entradas ̅̅̅̅̅ núcleo 𝐾 𝐾𝑞𝑝 , a uma 𝐵 𝑠𝑢𝑏,𝑖𝑗 com entradas ̅̅̅̅̅̅̅̅ submatriz ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 = 𝐵𝑖𝑗 ̅̅̅̅̅ 𝐾𝑞𝑝 e combinando as submatrizes ̅̅̅̅̅̅̅̅ 𝑠𝑢𝑏,𝑖𝑗 𝐵𝑞𝑝 para obter a matriz expandida 𝐵̅.
15. Método, de acordo com a reivindicação 13 ou 14, caracterizado ̅ ser igual para todas as camadas de convolução pelo tamanho do núcleo K e 𝐾 ̅ ser em profundidade e/ou pelo menos uma das entradas no núcleo K ou 𝐾 diferente de outra entrada no núcleo.
16. Método, de acordo com qualquer uma das reivindicações 11 a 15,
caracterizado pelo normalizador de lote criar uma matriz reduzida normalizada P’ e pela unidade linear retificada aplicar uma função de retificação às entradas P’’ij, em que a função de retificação calcula uma nova matriz 𝑃̅ com entradas (II) 0∀𝑃′ ′𝑖𝑗 < 0 ̅ 𝑃𝑖𝑗 = { ′′ (II) 𝑃 𝑖𝑗 ∀𝑃′′ 𝑖𝑗 ≥ 0 e a matriz 𝑃̅ é fornecida como saída; e/ou em que a camada de convolução em pontos aplica um peso α a uma matriz recebida de uma camada anterior ao multiplicar cada entrada na matriz pelo peso α.
17. Método, de acordo com qualquer uma das reivindicações 1 a 16, caracterizado por compreender o fornecimento de uma parte da imagem à rede neural, compreendendo a separação da imagem em uma grade compreendendo as células de grade Q  R, em que pelo menos uma caixa delimitadora é criada em cada célula de grade, a caixa delimitadora tendo uma posição predeterminada dentro da célula de grade e características geométricas predeterminadas, modificando a posição e as características geométricas da caixa delimitadora para obter uma caixa delimitadora resultante, em que a caixa delimitadora resultante é a caixa delimitadora tendo uma posição resultante e as características geométricas resultantes que mais se aproximam de uma localização do objeto e fornecendo pixels da imagem incluída na caixa delimitadora à rede neural como parte da imagem.
18. Método, de acordo com a reivindicação 17, caracterizado pela posição da caixa delimitadora ser calculada em relação a um centro da célula de grade em duas dimensões e as características geométricas da caixa delimitadora compreenderem uma altura e uma largura da caixa delimitadora, em que adicionalmente uma probabilidade de o objeto estar dentro da caixa delimitadora é associada com cada caixa delimitadora.
19. Método, de acordo com qualquer uma das reivindicações 1 a 18, caracterizado por cada etapa do método ser realizada no dispositivo móvel.
20. Dispositivo móvel, caracterizado por compreender um sensor óptico, um processador e uma unidade de armazenamento que armazena instruções executáveis que, quando executadas pelo processador do dispositivo móvel, fazem com que o processador execute o método conforme definido em qualquer uma das reivindicações 1 a 19.
BR112021016734-0A 2019-02-26 2020-02-24 Método para identificação de um usuário utilizando uma imagem de um objeto do usuário que possui uma característica biométrica do usuário e dispositivo móvel BR112021016734A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19382137.8A EP3702958B1 (en) 2019-02-26 2019-02-26 Method for verifying the identity of a user by identifying an object within an image that has a biometric characteristic of the user and separating a portion of the image comprising the biometric characteristic from other portions of the image
EP19382137.8 2019-02-26
PCT/IB2020/051523 WO2020174350A1 (en) 2019-02-26 2020-02-24 Method for verifying the identity of a user by identifying an object within an image that has a biometric characteristic of the user and separating a portion of the image comprising the biometric characteristic from other portions of the image

Publications (1)

Publication Number Publication Date
BR112021016734A2 true BR112021016734A2 (pt) 2021-10-13

Family

ID=65766948

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021016734-0A BR112021016734A2 (pt) 2019-02-26 2020-02-24 Método para identificação de um usuário utilizando uma imagem de um objeto do usuário que possui uma característica biométrica do usuário e dispositivo móvel

Country Status (9)

Country Link
US (2) US11783625B2 (pt)
EP (2) EP3702958B1 (pt)
JP (2) JP7258375B2 (pt)
KR (1) KR102634186B1 (pt)
BR (1) BR112021016734A2 (pt)
ES (1) ES2943287T3 (pt)
MX (1) MX2021009532A (pt)
WO (1) WO2020174350A1 (pt)
ZA (1) ZA202209515B (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11301586B1 (en) * 2019-04-05 2022-04-12 T Stamp Inc. Systems and processes for lossy biometric representations
WO2024155087A1 (ko) * 2023-01-17 2024-07-25 주식회사 엑스페릭스 모바일을 이용한 지문인식 방법 및 이를 이용한 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX346218B (es) * 2012-09-05 2017-03-09 Element Inc Sistema y método de autenticación biométrica en conexión con dispositivos equipados con cámara.
US9424458B1 (en) * 2015-02-06 2016-08-23 Hoyos Labs Ip Ltd. Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
US11157814B2 (en) 2016-11-15 2021-10-26 Google Llc Efficient convolutional neural networks and techniques to reduce associated computational costs
US9968257B1 (en) * 2017-07-06 2018-05-15 Halsa Labs, LLC Volumetric quantification of cardiovascular structures from medical imaging
US10679351B2 (en) * 2017-08-18 2020-06-09 Samsung Electronics Co., Ltd. System and method for semantic segmentation of images
CN108009520B (zh) * 2017-12-21 2020-09-01 西安格威西联科技有限公司 基于卷积变分自编码器网络的手指静脉识别方法及系统
US10726302B2 (en) * 2018-11-29 2020-07-28 Qualcomm Incorporated Edge computing
CN110956654B (zh) * 2019-12-02 2023-09-19 Oppo广东移动通信有限公司 图像处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
ES2943287T3 (es) 2023-06-12
ZA202209515B (en) 2024-10-30
US12131576B2 (en) 2024-10-29
JP7519127B2 (ja) 2024-07-19
JP2023082065A (ja) 2023-06-13
EP3702958B1 (en) 2023-04-05
US20220157077A1 (en) 2022-05-19
KR102634186B1 (ko) 2024-02-06
JP2022522429A (ja) 2022-04-19
US11783625B2 (en) 2023-10-10
MX2021009532A (es) 2021-09-08
US20230394871A1 (en) 2023-12-07
EP3702958A1 (en) 2020-09-02
EP4036795A1 (en) 2022-08-03
KR20210127257A (ko) 2021-10-21
JP7258375B2 (ja) 2023-04-17
WO2020174350A1 (en) 2020-09-03

Similar Documents

Publication Publication Date Title
Liao et al. Representation learning: a unified deep learning framework for automatic prostate MR segmentation
JP6639123B2 (ja) 画像処理装置、画像処理方法、及びプログラム
BR112020018915A2 (pt) Método para identificação de um objeto em uma imagem e dispositivo móvel para execução do método
US10127679B2 (en) Image alignment method and apparatus
JP5505409B2 (ja) 特徴点生成システム、特徴点生成方法および特徴点生成プログラム
JP2009251893A (ja) オブジェクト検出方法、オブジェクト検出装置、およびオブジェクト検出プログラム
JP2018022360A (ja) 画像解析装置、画像解析方法およびプログラム
Ma et al. Efficient deep learning architecture for detection and recognition of thyroid nodules
JP7519127B2 (ja) ユーザのバイオメトリック特性を有する画像中の物体を識別して、画像のうちバイオメトリック特性を含む部分を他の部分から分離することにより当該ユーザのidを検証するための方法
CN110472495B (zh) 一种基于图形推理全局特征的深度学习人脸识别方法
US20030235337A1 (en) Non-rigid image registration using distance functions
Nguyen et al. ASMCNN: An efficient brain extraction using active shape model and convolutional neural networks
JP4379706B2 (ja) 領域抽出方法
KR20210079043A (ko) 의료 영상 데이터의 익명화 방법 및 프로그램
Fan et al. Deep feature descriptor based hierarchical dense matching for X-ray angiographic images
Phogat et al. Different image registration methods—an overview
BR112021014579A2 (pt) Método de identificação de usuário por característica biométrica e dispositivo móvel
JP2017207960A (ja) 画像解析装置、画像解析方法およびプログラム
Brown et al. Multi-scale edge detection and feature binding: An integrated approach
Ramadan et al. 3D Face compression and recognition using spherical wavelet parametrization
BR122024015545A2 (pt) Método para identificação de um objeto em uma imagem e dispositivo móvel para execução do método
Li et al. Deformation Medical Image Registration Algorithm Based On Deep Prior Optical Flow Network
JP4691659B2 (ja) 画像認識装置、画像認識方法及びプログラム
Nguyen Panorama Image Stitching Techniques
Golyanik et al. Probabilistic Point Set Registration with Prior Correspondences