BR112020021946A2 - método para a distinção de um objeto tridimensional real de uma mistificação bidimensional do objeto real e dispositivo móvel - Google Patents

método para a distinção de um objeto tridimensional real de uma mistificação bidimensional do objeto real e dispositivo móvel Download PDF

Info

Publication number
BR112020021946A2
BR112020021946A2 BR112020021946-0A BR112020021946A BR112020021946A2 BR 112020021946 A2 BR112020021946 A2 BR 112020021946A2 BR 112020021946 A BR112020021946 A BR 112020021946A BR 112020021946 A2 BR112020021946 A2 BR 112020021946A2
Authority
BR
Brazil
Prior art keywords
image
matrix
result
neural network
real
Prior art date
Application number
BR112020021946-0A
Other languages
English (en)
Inventor
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=61768233&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BR112020021946(A2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Identy Inc. filed Critical Identy Inc.
Publication of BR112020021946A2 publication Critical patent/BR112020021946A2/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/13Sensors therefor
    • G06V40/1312Sensors therefor direct reading, e.g. contactless acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/17Image acquisition using hand-held instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • 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/107Static hand or arm
    • 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
    • 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/1347Preprocessing; Feature extraction
    • 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/1382Detecting the live character of the finger, i.e. distinguishing from a fake or cadaver finger
    • G06V40/1388Detecting the live character of the finger, i.e. distinguishing from a fake or cadaver finger using image processing
    • 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/40Spoof detection, e.g. liveness detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/0202Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets
    • H04M1/026Details of the structure or mounting of specific components
    • H04M1/0264Details of the structure or mounting of specific components for a camera module assembly
    • 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/20021Dividing image into blocks, subimages or windows
    • 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/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)
  • Collating Specific Patterns (AREA)
  • Image Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

MÉTODO PARA A DISTINÇÃO DE UM OBJETO TRIDIMENSIONAL REAL DE UMA MISTIFICAÇÃO BIDIMENSIONAL DO OBJETO REAL E DISPOSITIVO MÓVEL. Método para a distinção de um objeto tridimensional real, como um dedo de uma mão, de uma mistificação bidimensional do objeto real, o método compreendendo: a obtenção, por meio de um sensor óptico de um dispositivo móvel, uma imagem, em que a imagem contém o objeto mistificado ou o objeto real; provendo uma imagem a uma rede neural; processando a imagem pela rede neural; em que o processamento compreende calcular pelo menos um mapa de distâncias representativo da distância de uma pluralidade de pixels ao sensor óptico, os pixels constituindo pelo menos uma parte do objeto dentro da imagem; um padrão de reflexão representativa de reflexão luminosa associada a uma pluralidade de pixels constituindo pelo menos uma parte do objeto dentro da imagem; e em que o processamento ainda compreende a comparação de pelo menos um mapa da distância calculada ou o padrão de reflexão calculada com um mapa ou um padrão de reflexão aprendida, determinando assim, com base em um resultado da comparação, que a imagem contém o objeto mistificado ou o objeto real. A invenção está presente nos campos de identificação de objetos, redes neurais e engenharia elétrica.

Description

“MÉTODO PARA A DISTINÇÃO DE UM OBJETO TRIDIMENSIONAL REAL DE UMA MISTIFICAÇÃO BIDIMENSIONAL DO OBJETO REAL E DISPOSITIVO MÓVEL”
[0001] A presente invenção se refere a um método computadorizado para a distinção de um objeto tridimensional real, como um dedo de uma mão, de uma mistificação bidimensional do objeto real de acordo com a reivindicação 1, e um dispositivo móvel que implementa este método, de acordo com a reivindicação
15. Estado da Técnica
[0002] Na técnica anterior, já são conhecidas as técnicas para a classificação das imagens ou das informações obtidas a partir de imagens. Por exemplo, a denominada AlexNet, como apresentada, por exemplo, na ImageNet Large Scale Visual Recognition Challenge em 2012, mostra resultados aperfeiçoados em relação à precisão da classificação.
[0003] Entretanto, aqueles métodos não foram projetados ou ainda aplicados para fazerem a distinção entre o próprio objeto e a mistificação. Isso torna perigoso o uso de objetos identificados no interior das imagens obtidas para assuntos relacionados com a segurança, como o acesso a procedimentos, porque os objetos podem somente ser mistificações dos objetos reais. Objetivo da Invenção
[0004] Partindo da técnica anterior conhecida, o objetivo da presente invenção é prover um método computadorizado que permita a distinção entre um objeto real e uma mistificação bidimensional do objeto real de maneira eficiente, exigindo somente um mínimo de recurso de computação, permitindo assim a execução do método completamente no interior ou usando um dispositivo móvel como um smartphone. Solução
[0005] Este problema é solucionado pelo método computadorizado para a distinção de um objeto tridimensional real, como um dedo de uma mão, de uma mistificação bidimensional do objeto real de acordo com a reivindicação 1 e o dispositivo móvel que compreende um sensor óptico e executando o método de acordo com a invenção, de acordo com a reivindicação 15. A realização preferida da invenção é provida nas reivindicações dependentes.
[0006] O método computadorizado para a distinção de um objeto tridimensional real, como um dedo de uma mão, de uma mistificação bidimensional do objeto real compreende: a. a obtenção, por meio de um sensor óptico de um dispositivo móvel, de uma imagem, em que a imagem contém o objeto mistificado ou o objeto real; b. prover uma imagem para a rede neural; c. processar a imagem pela rede neural; em que o processamento compreende calcular pelo menos um dos itens: - um mapa de distâncias representativas da distância de uma pluralidade de pixels ao sensor óptico, os pixels constituindo pelo menos uma parte do objeto dentro da imagem; - um padrão de reflexão representativa da reflexão luminosa associada à pluralidade de pixels que constitui pelo menos uma parte do objeto dentro da imagem; e em que o processamento ainda compreende a comparação, preferivelmente usando a rede neural, de pelo menos um mapa da distância calculada ou do padrão de reflexão calculada com um mapa de distância aprendida ou um padrão de reflexão aprendida, determinando assim, com base em um resultado da comparação, que a imagem contém o objeto mistificado ou o objeto real.
[0007] No contexto da invenção, mesmo que fosse possível, em princípio, que até a imagem do objeto tridimensional real fosse constituída de uma mistificação de um objeto desejado, como o dedo real de um ser humano, é suposto que o objeto tridimensional será o objeto real. Uma mistificação bidimensional do objeto real pode ser qualquer coisa, mas é normalmente uma imagem tomada originalmente do objeto real e agora sendo provida (por exemplo, um papel ou qualquer outra superfície plana) ao sensor óptico que, por sua vez, toma uma imagem dessa imagem. Entretanto, outras realizações de uma mistificação bidimensional, como um modelo (quase plano bidimensional) do objeto real podem também ser feitas. Em qualquer caso, pretende-se que a mistificação de acordo com a invenção não seja uma reprodução tridimensional do objeto real.
[0008] O mapa de distâncias é feito para constituir a estrutura de dados, como uma matriz ou uma tabela ou outra estrutura, onde um dado pixel na imagem original que foi tomada pelo sensor óptico está associado à sua distância estimada ou calculada ao sensor óptico. Fica claro que o próprio pixel não tem uma distância ao sensor óptico, já que o pixel é somente uma estrutura de dados. O significado é que o objeto obtido pela tomada da imagem pelo sensor óptico teve originalmente uma distância ao sensor óptico. Portanto, cada pixel na imagem obtida representa um ponto no mundo real e, portanto, ainda está associado a uma distância deste ponto no mundo real ao sensor óptico no momento em que foi tomada a imagem.
[0009] O mesmo é verdade para o padrão de reflexão representativa da reflexão luminosa associada a uma pluralidade de pixels que constitui pelo menos uma parte do objeto dentro da imagem. Aqui, fica claro que os próprios pixels não realizam um padrão de reflexão, mas o objeto original (ou mistificação bidimensional do objeto real) teve um padrão de reflexão representativa da reflexão luminosa. Isso pode ser calculado nas informações de imagem obtidas pelo sensor óptico. Como para o mapa de distâncias, o padrão de reflexão deve ter a forma de uma estrutura de dados, como uma matriz ou uma tabela bidimensional ou similar.
[0010] Pretende-se que o mapa da distância calculada seja comparado a um mapa de distância aprendida ou o padrão de reflexão calculada seja comparado a um padrão de reflexão aprendida. Aqui, o mapa de distância aprendida e o padrão de reflexão aprendida correspondem aos mapas de distâncias e aos padrões de reflexão que são conhecidos pela rede neutral como constituindo seja um mapa de distâncias de um objeto real ou um mapa de distâncias de uma mistificação bidimensional do objeto real ou um padrão de reflexão de um objeto real ou um padrão de reflexão de uma mistificação bidimensional do objeto real. A comparação do mapa da distância calculada ou do padrão de reflexão com o mapa de distância aprendida ou com o padrão de reflexão deve produzir um resultado que possa ser usado para distinguir entre um objeto real e uma mistificação do objeto, por exemplo, determinando que o mapa das distâncias obtidas ou o padrão de reflexão esteja correspondendo mais provavelmente a um mapa de distância aprendida ou padrão de reflexão aprendida que constitui uma mistificação ao invés de um objeto real.
[0011] Com o método de acordo com a invenção, é possível distinguir eficientemente entre objetos reais e mistificações dos objetos reais, porque as redes neurais usadas podem determinar, com precisão, as similaridades entre as imagens tomadas e as informações aprendidas (como o mapa de distâncias aprendidas e o padrão de reflexão aprendida) para determinar as características específicas associadas ao objeto dentro da imagem. Assim, este método também se aplica nos casos em que as informações na imagem com relação ao objeto real sejam informações sensíveis de segurança, como as de um dedo dotado de extremidade que é usada para a identificação do usuário, evitando assim o mau uso das imagens tomadas desses objetos.
[0012] Em uma realização, o mapa de distâncias e o padrão de reflexão são calculados e comparados com o mapa de distância aprendida e o padrão de reflexão aprendida, determinando assim, com base no resultado da comparação, que a imagem contém o objeto mistificado ou o objeto real. Usando ambos, o padrão calculado de reflexão e o mapa da distância calculada, a confiabilidade da determinação que a imagem do objeto mostra uma mistificação ou o objeto real pode ser aumentada, aumentado assim ainda mais a confiabilidade da identificação e a segurança no caso de que a identificação seja ainda usada para assuntos relativos à segurança.
[0013] Em uma realização, a imagem é obtida pelo sensor óptico usando um flash associado ao sensor óptico e em que o sensor óptico é uma câmera. Usando o flash de uma câmera amplia partes da área em que a imagem é obtida, permitindo assim uma maior confiabilidade ao calcular um padrão de reflexão com alta precisão e também permitindo uma mais fácil distinção entre as mistificações do objeto real e o objeto real.
[0014] Além disso, a rede neural pode compreender uma pluralidade de camadas e a última camada compreende dois nós, em que o primeiro nó provê o resultado referente ao objeto real sendo determinado durante o processamento e o segundo nó provê um resultado referente à mistificação sendo determinada durante o processamento.
[0015] Com a invenção, pretende-se que ambos os nós provejam resultados para cada imagem tomada, independente de se trata de um objeto real ou de uma mistificação do objeto real que é obtida na imagem. Este resultado pode ser mais processado posteriormente para realizar uma determinação probabilística de se o objeto obtido na imagem é real ou é uma mistificação.
[0016] De acordo com uma implementação mais detalhada desta realização, cada nó provê um resultado após o processamento da imagem, o resultado variando entre -∞ e +∞ e o resultado de cada nó é passado para um normalizador de resultados, o normalizador de resultados tomando primeiro o resultado xi de cada nó e calcula um valor reduzido S(xi) por 𝑒𝑥 (1) 𝑆(𝑥) = 1+𝑒 𝑥 onde i=1 para o primeiro nó e i=2 para o segundo nó, e provê os valores S(xi) para uma função de normalização 𝑆(𝑥𝑗 ) 𝑒 (2) σ (𝑆(𝑥𝑗 )) = Σ𝑖 𝑒 𝑆(𝑥𝑖 ) obtendo assim valores normalizados σ(𝑆(𝑥1 )) = σ1 e σ(𝑆(𝑥2 )) = σ2 . Com este outro processamento do resultado do primeiro nó e do segundo nó, é possível ter valores normalizados calculados com base no primeiro e no segundo nó, permitindo assim uma avaliação estatística deste resultado do primeiro e do segundo nó para avaliar se é provida uma mistificação ou um objeto real dentro da imagem.
[0017] Em uma realização, é determinado, se 1 > 0,5, que a imagem contém o objeto real e, se 2 > 0,5, é determinado que a imagem contém a mistificação. Usando os valores normalizados dos resultados do primeiro e do segundo nó, é possível distinguir confiavelmente entre o objeto real e a mistificação.
[0018] Nota-se que esta realização é preferida, porque a função exponencial é facilmente implementada em um sistema de computação, reduzindo assim o trabalho necessário para o processamento. Além disso, a função exponencial pode ser facilmente processada por um sistema de computador, reduzindo assim a potência de processamento e outros recursos de computação exigidos para o cálculo dos resultados.
[0019] Em uma realização, o processamento da imagem como entrada pela rede neural compreende o processamento, por uma primeira camada da rede neural, da imagem de entrada para criar um primeiro resultado intermediário e processar, por cada camada a seguir o resultado da camada precedente, em que a rede neural compreende uma pluralidade de camadas, cada camada sendo uma convolução separável em profundidade compreendendo, na ordem de processamento da entrada no interior da camada, uma camada de convolução em profundidade, um primeiro normalizador de lote, uma primeira unidade linear retificada, uma camada de convolução em ponto, um segundo normalizador de lote e uma segunda unidade linear retificada, em que, pelo processamento da entrada usando a pluralidade de camadas, a rede neural obtém, como resultado, a determinação de que a imagem contém seja o objeto real ou a mistificação.
[0020] A camada de convolução em profundidade como pretendido, usa uma multiplicação ou o produto interno de uma matriz, seja uma matriz que corresponda à imagem original, ou uma matriz que corresponda ao mapa de distâncias ou uma matriz correspondente ao padrão de reflexão, com um kernel sendo uma matriz do tamanho de, por exemplo, 3 x 3 para calcular outra matriz. O uso dessas camadas é mais eficiente com relação à eficiência de processamento. Em vista disto, as camadas de convolução em profundidade como propostas nas realizações acima são mais eficientes com relação a suas sensibilidades paramétricas do que as comumente usadas nas camadas de convolução.
[0021] A camada de convolução em profundidade e a camada de convolução em ponto também podem ser denominadas como subcamada de convolução em profundidade e subcamada de convolução em ponto. De fato, são “camadas dentro de uma camada” da rede neural, constituindo assim subcamadas.
[0022] Pela aplicação dessa realização específica de uma camada de convolução em profundidade, juntamente com uma camada de convolução em ponto, o normalizador de lote e as unidades lineares retificadas como providas na realização acima, são reduzidos de maneira significativa os recursos de computação que são exigidos pela rede neural para a realização em tempo real de mistificações dentro de imagens, quando comparados com as tecnologias conhecidas no presente.
[0023] Em outra realização, o processamento da imagem pela rede neural compreende a criação, a partir da imagem, de pelo menos uma matriz I e o provimento de uma matriz como entrada à rede neural, em que a imagem compreende N x M pixels e a matriz I é uma matriz compreendendo N x M valores, em que as entradas da matriz I são dadas por Iij, onde i e j são inteiros e i = 1 ... N e j = 1 ... M.
[0024] Nota-se que a matriz I pode ser uma matriz que corresponde a um dos valores de cores RGB da imagem original. Entretanto, de preferência, a matriz I é obtida a partir da imagem original por meio da conversão da imagem original ao espaço de cores HSV antes da criação da matriz I. O espaço de cores HSV se refere ao espaço de cores do Valor - Saturação - Hue. Convertendo a imagem obtida originalmente ao espaço de cores HSV pode compreender, no caso em que a imagem original compreenda N x M pixels, que a imagem convertida também compreenda N x M pixels ou entradas de dados, respectivamente. Assim, a matriz I pode ser obtida a partir dos itens N x M na imagem convertida.
[0025] Deve ser entendido que a imagem obtida originalmente pode ter mais que N x M pixels. O número de pixels pode ser reduzido a N x M antes ou depois de ter sido aplicada a conversão Valor - Saturação - Hue. Esta conversão é especificamente vantajosa, porque a conversão HSV separa as informações luma de cada pixel de suas informações de cores associadas (isto é, os valores RGB). Assim, o mapa de distâncias e o padrão de reflexão podem ser calculados de maneira mais eficiente.
[0026] Mais especificamente, cada camada de convolução em profundidade aplica um kernel predefinido K a uma matriz I, o kernel K sendo uma matriz de tamanho S x T, onde S, T < N; S, T < M compreendendo entradas Sab, em que a aplicação do kernel à matriz compreende calcular o produto interno da matriz K com cada matriz reduzida R de tamanho (N x M)S,T da matriz Z, onde a matriz R tem o mesmo tamanho que o kernel K, e a matriz Z tem o tamanho ((𝑁 + 2𝑃𝑤 ) × (𝑀 + 2𝑃ℎ )) e as entradas da matriz Zcd com c, d ∈ N+ são dadas por 0, ∀𝑐 ≤ 𝑃𝑤 0, ∀𝑐 > 𝑃𝑤 + 𝑁 (3) 𝑍𝑐𝑑 = 0, ∀𝑑 ≤ 𝑃ℎ 0, ∀𝑑 > 𝑃ℎ + 𝑀
𝐼 { 𝑖𝑗 𝑜𝑛𝑑𝑒 𝑐 = 𝑖 + 𝑃𝑤 ; 𝑑 = 𝑗 + 𝑃ℎ ; 𝑖 = 1 … 𝑁; 𝑗 = 1 … 𝑀 e provêm uma matriz P como resultado, em que a matriz P tem o tamanho 𝑁−𝑆+2𝑃𝑤 𝑀−𝑇+2𝑃ℎ ( + 1) × ( + 1), onde Ww e Wh definem a largura do passo e 𝑊𝑤 𝑊ℎ cada entrada 𝑃𝑖𝑗 da matriz P é o valor do produto interno da matriz R reduzida ao termo (i,j) com o kernel K, em que a matriz P é provida como resultado pela camada de convolução em profundidade ao primeiro normalizador de lote.
[0027] O kernel fornece informações adequadamente ponderadas obtidas dos pixels adjacentes na matriz introduzida, não perdendo nenhuma informação, aumentando assim a eficiência com a qual camadas consecutivas na rede neural podem suportar o processamento para determinar uma mistificação ou um objeto real. Para isso, o kernel compreende entradas que correspondem a pesos ou parâmetros específicos que são obtidos antes da recepção da imagem, isto é, durante o treinamento da rede neural.
[0028] É um achado da presente invenção que, no caso de este treinamento ser realizado antes que o dispositivo móvel esteja realmente equipado com um aplicativo ou outro programa que possa realizar o respectivo método de acordo com as realizações acima, os recursos computacionais exigidos podem ser vantajosamente reduzidos no dispositivo móvel.
[0029] Apesar de ser um achado da presente invenção que é mais vantajoso implementar a convolução separável usando uma camada de convolução em profundidade e uma camada de convolução em ponto, porque esta combinação mostra melhor desempenho com relação à identificação e aos recursos computacionais exigidos, pode ainda ser contemplado que a camada de convolução em profundidade é substituída por uma camada convolucional especificamente adaptada à identificação de dedos ou pontas de dedos. Portanto, mesmo que a descrição da invenção seja focada no uso das camadas de convolução em profundidade, é também possível implementar a invenção usando uma camada de convolução.
[0030] Além disso, o tamanho S e T do kernel pode ser igual para todas as camadas de convolução ou ser diferente para pelo menos uma camada de convolução e/ou pelo menos uma das entradas no kernel K 𝑆𝑎′ 𝑏′ ≠ 𝑆𝑎≠𝑎′ ,𝑏≠𝑏′ .
[0031] Escolhendo um kernel idêntico para cada uma das camadas de convolução (isto é, para cada uma das camadas de convolução em profundidade), o programa resultante que é instalado no correspondente dispositivo móvel pode ser reduzido em tamanho. Por outro lado, se um kernel for usado diferente por pelo menos uma das camadas de convolução, os problemas conhecidos em relação às falhas de identificação podem ser evitados, se o kernel for devidamente adaptado. Por exemplo, o uso de um maior kernel (correspondendo a um maior tamanho S e T) no início do procedimento de identificação pode permitir tomar e focalizar partes mais importantes de uma imagem, aumentando assim a eficiência da identificação.
[0032] É um achado da presente invenção que um kernel correspondente representa a melhor transação entre o tamanho do kernel, a eficiência de identificação e os recursos computacionais exigidos para a implementação do respectivo método, aumentando assim a eficiência geral com relação à precisão da identificação e os recursos computacionais exigidos.
[0033] Em outra realização, o normalizador de lote provê uma matriz normalizada reduzida P’ para a unidade linear retificada e a unidade linear retificada aplica uma função de retificação a cada entrada 𝑃𝑖𝑗′ em que a função de retificação calcula uma nova matriz 𝑃̅com entradas 0, ∀𝑃𝑖𝑗′ < 0 (4) 𝑃̅𝑖𝑗 = { 𝑃𝑖𝑗′ , ∀𝑃𝑖𝑗′ ≥ 0 e a matriz 𝑃̅ é provida como resultado para a camada de convolução em ponto se a unidade linear retificada for a primeira unidade linear retificada ou para a próxima camada da rede neural se a unidade linear retificada for a segunda unidade linear retificada; e/ou a camada de convolução em ponto aplica um peso α a uma matriz I, P, P’ ou 𝑃̅ recebida da camada precedente pela multiplicação de cada entrada na matriz P, P’ ou 𝑃̅ com o peso α.
[0034] Esta função de retificação permite a filtragem, após cada camada na rede neural, de partes em uma imagem que influenciam potencialmente de maneira negativa a precisão da determinação de mistificações e objetos reais.
[0035] Mesmo que a cada um dos pontos na matriz P, P’ ou seja aplicado o mesmo peso α, esta realização permite o amortecimento eficiente de partes na imagem (correspondendo às entradas na matriz que não influenciarão de maneira significativa a identificação). Este amortecimento é obtido por meio da redução da contribuição absoluta desses pontos na matriz e, junto com a unidade linear retificada, a escolha dessas partes no próximo ciclo.
[0036] Em uma realização preferida, cada etapa dos métodos explicados acima é realizada no dispositivo móvel. Isso pode, pelo menos, compreender as etapas dos métodos acima descritos que envolvem o processamento da imagem e a determinação de objetos reais e mistificações. A armazenagem da imagem ou qualquer etapa realizada subsequentemente, como a identificação do usuário usando características biométricas ou características biométricas extraídas da imagem no caso de ser determinado que o objeto é um objeto real e não uma mistificação, pode ainda ser feita por qualquer dispositivo de armazenagem e processamento, sendo interno ou externo ao dispositivo móvel. Além disso, é ainda contemplado que uma etapa de identificação realizada subsequentemente de identificação do usuário, usando as informações obtidas do objeto real é feita em um dispositivo diferente do dispositivo móvel como, por exemplo, o servidor de uma empresa.
[0037] Pela realização exclusiva das etapas respectivas no dispositivo móvel, não é mais necessário manter um canal para a transmissão de dados, por exemplo, para um servidor aberto, no qual opera o processo real de identificação. Assim, a identificação do objeto também pode ser usada em áreas onde o acesso à rede móvel ou a uma rede de área local não seja disponível.
[0038] O dispositivo móvel de acordo com a invenção compreende um sensor óptico, um processador e uma unidade de armazenagem que guarda instruções executáveis que, quando realizadas pelo processador do dispositivo móvel, faz com que o processador execute o método de qualquer uma das realizações acima descritas. Breve Descrição das Figuras
[0039] A Figura 1 mostra uma representação esquemática do processamento de uma imagem obtida.
[0040] A Figura 2 mostra uma exibição esquemática da relação entre pixels dentro de uma imagem e da distância do objeto real ao sensor óptico.
[0041] A Figura 3 mostra uma exibição esquemática de como o padrão de reflexão luminosa é determinado.
[0042] A Figura 4 mostra esquematicamente a estrutura de uma camada dentro da rede neural de acordo com uma realização e o processamento de dados dentro desta camada.
[0043] A Figura 5 mostra o processo de treinamento da rede neural.
[0044] A Figura 6 mostra um dispositivo móvel para a obtenção de uma imagem e a identificação de um objeto dentro daquela imagem de acordo com uma realização. Descrição Detalhada das Figuras
[0045] A Figura 1 mostra um diagrama de fluxo do processamento de uma imagem obtida, incluindo a tomada da imagem.
[0046] Na primeira etapa 101, é obtida uma imagem por um sensor óptico de um dispositivo móvel como um smartphone ou computador tablet. Apesar de uma imagem poder ser tomada de uma situação arbitrária, para o método de acordo com a invenção, é pretendido que a imagem tomada compreende um objeto em que deve ser determinado se o objeto dentro da situação da qual a imagem é tomada é o objeto real, o que significa que é um objeto tridimensional, ou uma mistificação do objeto, o que significa ser uma representação bidimensional (como uma fotografia) do objeto real. Na etapa 101, entretanto, não é conhecido pelo dispositivo móvel nem por qualquer outra entidade se a imagem tomada mostra a mistificação ou o objeto real.
[0047] A imagem tomada é então provida para uma rede neural na etapa
102. Isso significa que uma estrutura de dados correspondente à imagem, como uma pluralidade de pixels tendo, por exemplo, valores de cores a ela associados, é provida a uma rede neural. A rede neural tanto pode residir no dispositivo móvel do qual a imagem foi tomada ou pode residir em outra entidade computacional à qual a imagem é enviada. Por exemplo, o usuário pode tomar a imagem usando seu smartphone e as informações da imagem (seja completamente ou de maneira reduzida ou modificada de outra maneira) são providas à rede neural que reside no servidor da empresa que fornece uma ferramenta para, por exemplo, identificar o usuário com a imagem do objeto real.
[0048] É assim feito outro procedimento internamente no dispositivo móvel ou é parcial ou completamente realizado for a do dispositivo móvel em outra entidade computacional. A invenção não se limita a esse aspecto, apesar de ser preferível que o método complete como descrito na figura 1 seja feito no dispositivo móvel para também permitir sua aplicação em regiões do mundo onde possa ser limitado o acesso à internet móvel.
[0049] Na próxima etapa 303, a imagem é processada pela rede neural. Isso pode significar que, ou a imagem completa é processada ou é processada uma versão reduzida ou de outra forma manipulada ou modificada da imagem. Por exemplo, se a imagem for tomada em alta definição de qualidade (HD), esta pode primeiro ser reduzida a um menor número de pixels (por exemplo, 512 x 512 ou 256 x 256 ou 224 x 224 pixels) dependendo de quantos pixels são necessários para determinar uma identificação precisa de se a imagem mostra uma mistificação ou o objeto tridimensional real. Para tanto, a etapa 103 pode compreender o “pré-processamento” da imagem, compreendendo, por exemplo, a redução do número de pixels ou qualquer outro pré-processamento (por exemplo, mudando as condições de iluminação da imagem ou similar) que seja julgado necessário.
[0050] Entretanto, essa etapa também pode ser feita entre a etapa 101 da tomada da imagem e a etapa 103 de processamento da imagem pela rede neural em qualquer ponto adequado. Por exemplo, a manipulação da imagem ou o pré-processamento da imagem pode ser feito imediatamente após ter tomado a imagem antes de prover uma imagem à rede neural na etapa 102 ou pode ser provido entre o provimento de uma imagem à rede neural na etapa 102 e o real início do processamento da imagem pela rede neural na etapa 103 compreendendo as etapas 131 a 134 e a etapa final 104.
[0051] Em qualquer caso, a estrutura de dados que corresponde à imagem original é agora processada na etapa 103 e a etapa seguinte 131 a 134.
[0052] O processamento da imagem pela rede neural na etapa 103 pode ser dividido em dois processamentos distintos da imagem. O primeiro se refere ao cálculo e ao processamento de um mapa de distâncias (etapas 131 e 132) em que o outro se refere ao cálculo e posterior uso de um padrão de reflexão.
[0053] Iniciando com o mapa de distâncias. Na etapa 131, é calculado um mapa de distâncias, onde o mapa de distâncias associa cada pixel com uma distância calculada das partes do mundo real que esse pixel constitui ou representa dentro da imagem do sensor óptico do dispositivo móvel. Supondo, por exemplo, que o usuário mantém sua mão na frente do sensor óptico para tomar uma imagem da mão, o mapa de distâncias compreenderá distâncias calculadas de pelo menos alguns pixels que correspondem à distância da mão ao sensor óptico e potencialmente outras distâncias que são calculadas, mas que correspondem a diferentes objetos dentro da imagem, por exemplo, uma TV que esteja posicionada dentro do fundo da imagem tomada ou uma casa na paisagem que constitui o fundo dentro da imagem tomada. Portanto, haverá distâncias variáveis para os pixels que constituem ou que representem diferentes objetos dentro do mundo real no qual a imagem foi tomada.
[0054] O mapa da distância calculada é, em uma próxima etapa 132, então comparado a um mapa de distância aprendida da rede neural. O mapa de distância aprendida pode ser dividido, em algumas realizações, em pelo menos dois mapas de distâncias em que um primeiro mapa de distância aprendida corresponde a um mapa de distâncias que se refere a imagens de objetos reais tomadas, considerando que um segundo mapa de distância aprendida corresponde a um mapa de distâncias para uma imagem tomada de uma mistificação bidimensional do objeto. O primeiro diferirá do último, já que o primeiro mostra distâncias variáveis em toda a faixa da imagem, considerando que o segundo terá uma mudança suave da distância associada a cada pixel ao se mover de um primeiro pixel para o segundo pixel. Isso é porque no caso de uma mistificação bidimensional (isto é, por exemplo, uma imagem do objeto real no papel) ser mantida na frente do sensor óptico ao ser tomada a imagem, a distância dos pixels ao sensor óptico pode ser calculada de acordo com a distância de um dado ponto (o sensor óptico) a um plano com um arranjo relativo arbitrário ao sensor óptico (angulação), não mostrando assim nenhuma descontinuidade.
[0055] A comparação é feita, de preferência, completamente dentro da rede neural, por exemplo, como parte do processamento da imagem dentro da rede neural, apesar de também ser possível pensar em outras realizações, onde a comparação é feita completamente for a da rede neural ou usando outro software ou hardware juntamente com a rede neural ao comparar os mapas de distâncias obtidos e calculados calculadas e os padrões de reflexão, respectivamente.
[0056] A partir dessa comparação, é obtido um resultado que é posteriormente usado na etapa 104.
[0057] No outro fluxo, a etapa 133 primeiro compreende o cálculo de um padrão de reflexão representativa da reflexão luminosa associada a uma pluralidade pixels, constituindo pelo menos uma parte do objeto dentro da imagem. O padrão de reflexão luminosa pode, por exemplo, associar um valor de brilho a cada pixel dentro da imagem obtida. Este valor de brilho da mesma forma corresponde (como para o mapa de distâncias) ao brilho real da situação real da qual a imagem foi tomada ao invés do brilho dos pixels, já que os pixels são as únicas estruturas de dados que representam a situação real. Para calcular de maneira adequada o padrão de reflexão, pode ser preferível que a imagem seja tomada na etapa 101 pela câmera do dispositivo móvel usando o flash da câmera. Assim, partes da situação real da qual a imagem é tomada que estiverem próximas ao sensor óptico serão comparavelmente brilhantes e refletem uma quantidade significativa do flash incidente, considerando que as partes mais distantes dentro da situação real ou porções do objeto que estiverem inclinadas com relação ao sensor óptico refletiram menos o flash e, portanto, parecerão comparativamente mais escuras. Como o flash é uma fonte luminosa que tem aproximadamente a forma de um ponto, o cálculo do padrão de reflexão ao ser usado o flash é muito mais preciso quando comparado ao padrão de reflexão que pode ser obtido ao serem somente usadas as condições luminosas do ambiente real, porque a luz ambiente não é uma fonte luminosa com o formato de um ponto.
[0058] Na próxima etapa 134, como na etapa 132, o padrão de reflexão calculada é comparado ao padrão de reflexão aprendida da rede neural. Como na etapa 132, a rede neural tem, de preferência, dois padrões de reflexão aprendidos, onde o primeiro padrão de reflexão aprendida corresponde a imagens de objetos reais tomadas, considerando que o segundo se refere a um padrão de reflexão de uma mistificação bidimensional. Esta comparação fornece um resultado que será usado depois na etapa 104.
[0059] Independente de se o processamento da imagem tiver sido feito seguindo as etapas 131 e 132 ou as etapas 133 e 134 ou mesmo realizando todas essas etapas, é finalmente determinado na etapa 104 se a imagem tomada pelo sensor óptico contém ou compreende uma mistificação bidimensional de um objeto real ou se compreende o objeto real. Essa determinação, de acordo com a invenção, é feita com base no resultado da comparação seja na etapa 132 e/ou na etapa 134. Assim, o resultado dessas etapas é de preferência ou compreende um número ou qualquer outra informação que possa ser usada para posteriormente determinar se é mostrada uma mistificação ou um objeto real dentro da imagem.
[0060] Como será explicado mais tarde, a rede neural compreenderá uma pluralidade de camadas, incluindo uma última camada. Em uma realização preferida, a última camada de acordo com a invenção pode compreender um primeiro e um segundo nó, em que o primeiro nó provê um resultado que varia de -∞ a +∞ referente a um objeto real sendo determinado durante a etapa de comparação na etapa 132 ou 134 considerando que o segundo nó provê um resultado que varia de -∞ a +∞ para uma mistificação sendo identificada durante as etapas 132 e/ou 134.
[0061] Por exemplo, os valores do resultado podem representar a soma das diferenças que constituem o mapa de distâncias obtido e a matriz de distâncias aprendida. Supondo que o mapa de distâncias obtido pudesse ser representado como um número das distâncias correspondentes aos pixels específicos (i,j) (fileira i, coluna j da imagem) O e o mapa de distância aprendida é L com cada um tendo entradas 𝑂𝑖𝑗 e 𝐿𝑖𝑗 . Depois, o resultado D=L- O teria entradas dij . Calculando a soma Σ𝑖𝑗 𝑑𝑖𝑗 pode ser provido um resultado como um exemplo dos nós na última camada. Um primeiro resultado corresponderá, por exemplo, à estrutura L de um mapa de distância aprendida de um objeto real e o segundo resultado pelo segundo nó para a estrutura L de um mapa de distância aprendida correspondente a uma mistificação. O mesmo, é claro, se aplica para o padrão de reflexão.
[0062] Apesar de a explicação acima poder dar a impressão que O, L e D seriam estruturas como matrizes comumente conhecidas com as entradas respectivas, não será normalmente possível representar os mapas de distâncias e padrões de reflexão (sejam aprendidos ou obtidos) na forma de uma matriz regular. Isso se deve aos mapas de distâncias serem obtidos enquanto a imagem é processada dentro da própria rede neural, não permitindo assim uma representação simples na forma de uma matriz. Entretanto, para facilidade de explicação, pode se supor que O, L e D poderiam ser representados na forma de uma matriz, para dar a este procedimento um contexto que possa ser mais facilmente visualizado.
[0063] Com tais valores (como a soma Σ𝑖𝑗 𝑑𝑖𝑗 ), não é fácil determinar se o resultado do primeiro nó ou do segundo nó constitui um objeto real ou uma mistificação do objeto real. Portanto, é preferido, de acordo com esta realização, que algumas normalizações sejam realizadas para permitir a determinação de se é mostrado, ou não, o objeto real na imagem ou uma mistificação do objeto.
[0064] Para tanto, os valores de resultado do primeiro nó e do segundo nó denotados por 𝑥𝑖 , onde i = 1 para o primeiro nó e i = 2 para o segundo nó são primeiro reduzidos a um valor 𝑆(𝑥𝑖 ) onde 𝑒𝑥 (1) 𝑆(𝑥) = 1+𝑒 𝑥
[0065] Apesar de esses valores já serem menores que 1, estes não necessariamente se somam até 1, assim não necessariamente permitindo a realização de decisões estatísticas ou probabilísticas.
[0066] Para permitir esta decisão, é suposto que a probabilidade se ser achada uma mistificação de um objeto ou um objeto real dentro da imagem obtida, tem a soma 1 porque o objeto mistificado ou o objeto real devem estar na imagem. Em vista dessa suposição, os valores calculados 𝑆(𝑥𝑖 ) são agora novamente processados para obter os valores σ(𝑆(𝑥𝑖 )) com a seguinte função de normalização: 𝑆(𝑥𝑗 ) 𝑒 (2) σ (𝑆(𝑥𝑗 )) = Σ𝑖 𝑒 𝑆(𝑥𝑖 )
[0067] Os valores σ(𝑆(𝑥𝑖 )) terão soma até 1 em qualquer caso, porque a função acima constitui o cálculo de uma norma de um vetor, sendo conhecida como a função “max suave”.
[0068] Com os valores σ(𝑆(𝑥1 )) = σ1 e σ(𝑆(𝑥2 )) = σ2 , são possíveis declarações estatísticas e probabilísticas.
[0069] Portanto, os resultados deste cálculo 1 e 2 podem ser usados para a determinação da etapa 104 da figura 1. Se 1 que constitui a probabilidade de uma imagem mostrar um objeto real for maior que 0,5 (correspondendo a 2 < 0,5) a determinação resultará nas declarações de que a imagem mostra um objeto real, considerando que, se 2 > 0,5 (correspondendo à correspondência de 1 < 0,5) a determinação será de que a imagem mostra uma mistificação do objeto real.
[0070] Apesar de não mostrado explicitamente na figura 1, podem se seguir outras etapas à etapa de determinação 104. Por exemplo, a determinação de se o objeto real ou uma mistificação do objeto real é mostrada na imagem pode ser usada para, por exemplo, disparar outras etapas, como uma indicação ao usuário ou a outra entidade de que a imagem tomada mostra uma mistificação de um objeto real e pode, por exemplo, assim não ser usada para identificar o usuário em uma entrada no procedimento ou em outro processo relevante de segurança, como a realização de uma transferência bancária. Por outro lado,
se a determinação for afirmativa, isto é, se a imagem mostrar o objeto real, outro processo pode ser iniciado que identifique o usuário com base nas informações específicas do usuário que possam ser obtidas a partir do objeto real. Isso pode, por exemplo, compreender ampliar o processamento da imagem do objeto real. Se, por exemplo, o objeto real for uma mão ou uma ponta de dedo, podem ser obtidas características biométricas, como a impressão digital a partir da imagem e podem ser usadas na identificação do usuário e, por exemplo, realizar uma entrada no procedimento ou em outro processo, onde seja usada esta característica biométrica.
[0071] As Figuras 2 e 3 mostram uma exibição esquemática de como o mapa de distâncias exemplarmente parecerá para uma imagem sendo tomada de um objeto real e uma imagem sendo tomada de uma mistificação do objeto real. Como explicado acima, os mapas de distâncias e os padrões de reflexão podem normalmente não ser representados na forma de uma matriz. Entretanto, para explicar o conceito da obtenção dos mapas de distâncias e padrões de reflexão, será suposto que fosse possível ter um mapeamento 1 para 1 entre pixels e suas propriedades associadas de distâncias/reflexão. Para finalidades de explicação, isto pode ser considerado como, de alguma forma, indicar uma representação do mapa de distâncias e dos padrões de reflexão na forma de uma matriz.
[0072] Para isso, a figura 2 mostra a situação em que a imagem é tomada de um objeto real usando um dispositivo móvel 200 com um sensor óptico 201 tendo um campo de visão 211 no qual é tomada a imagem. A exibição na figura 2 é uma seção transversal bidimensional da situação real tridimensional que seria vista pelo sensor óptico no mundo real. O objeto real do qual a imagem deve ser tomada é o objeto 120, considerando que, ocasionalmente, outros objetos podem estar presentes no campo de visão 211 do sensor óptico, como o objeto 221. A imagem obtida a partir da disposição bidimensional mostrada será uma exibição unidimensional de pixels (correspondendo a uma imagem tomada de uma situação real tridimensional sendo uma imagem bidimensional),
onde aqueles pixels são dispostos na direção indicada x. Para cada pixel na imagem será calculada uma distância, por exemplo, dos pixels com a indicação 1, 2, 3 e 4. Para uma situação real, isso resultará no mapa de distâncias também dado na figura 2. Como pode ser visto, a distância dos objetos reais varia de forma arbitrária e não pode ser facilmente calculada usando uma função que somente depende de uma quantidade limitada de parâmetros, porque o arranjo dos objetos reais em relação ao sensor óptico e a estrutura tridimensional (na exibição da figura 2a, a estrutura bidimensional) do objeto é normalmente desconhecida.
[0073] Em contraste a este fato, a figura 3 mostra o caso em que uma imagem do objeto real (isto é, uma mistificação bidimensional) é mantida na frente do sensor óptico. No exemplo mostrado, é novamente suposto que a situação obtida pelo sensor óptico é representada por uma situação bidimensional e a “imagem” obtida é assim, unidimensional como já explicado em relação ao caso da figura 2.
[0074] Para simplificar a explicação, é ainda suposto que a imagem é mantida em relação ao sensor óptico 301, de maneira que fique paralela ao dispositivo móvel 300 ao qual o sensor óptico é fixado. Além disso, novamente para facilidade de explicação, é suposto que a imagem (bidimensional) da mistificação 330 é provida como um plano perfeito na frente do sensor óptico.
[0075] Nesse caso, existe um ponto no campo de visão 311 do sensor óptico 301 que tem a menor distância d0 do sensor óptico. Qualquer outro ponto dentro dessa imagem terá uma distância dx, onde essa distância é dada por 𝑑𝑥 = √𝑥 2 + 𝑑02 de maneira que a representação gráfica mostrada do mapa de distâncias de acordo com a figura 3 possa ser obtida ao supor que a origem do sistema de coordenadas em relação à direção x é o ponto com a menor distância d0 ao sensor óptico.
[0076] Como pode ser visto na figura 3, este mapa de distâncias correspondente aos pixels da imagem (unidimensional) obtida depende somente da distância de um dado ponto na imagem da origem e da distância mínima d0 e assim pode ser calculada usando a fórmula acima.
[0077] Portanto, fica claro que um mapa de distâncias de um objeto real ou uma situação real obtida pelo sensor óptico diferirá significativamente de um mapa de distâncias de uma mistificação bidimensional, porque o mapa de distâncias da mistificação bidimensional pode ser obtido pelo cálculo do valor de uma função que tenha um número limitado de parâmetros.
[0078] O mesmo é verdade para o padrão de reflexão calculada, apesar de isso não poder ter facilmente uma imagem na forma que foi feita em relação ao mapa de distâncias.
[0079] Entretanto, a partir das explicações acima com relação ao mapa de distâncias calculado, também fica claro que, para cada pixel na imagem tomada, é possível calcular um valor de reflexão ou um valor de brilho ou qualquer outro valor que esteja associado às condições de iluminação correspondentes à situação real. No caso em que a situação real seja novamente uma mistificação bidimensional do objeto real como explicado na figura 3, o padrão de reflexão (mais facilmente explicado em relação à intensidade luminosa) também variará alinhado à formula acima ou pelo menos dependendo da formula acima, porque a intensidade da luz obtida a partir de um dado ponto em aproximação de primeira ordem é reciprocamente dependente do quadrado da distância.
[0080] Para uma situação mostrando um objeto real entre uma pluralidade de outros objetos (como na figura 2), o padrão de reflexão será assim uma estrutura muito complicada, considerando que, para o caso de que uma mistificação bidimensional seja mostrada ao sensor óptico, o padrão de reflexão possa ser facilmente calculado usando uma função com um número limitado de parâmetros.
[0081] O mesmo será o caso para o mapa de distância aprendidas (ou padrão de reflexão) correspondente aos objetos reais e aos mapas de distâncias aprendidas correspondendo às mistificações bidimensionais de objetos como conhecidas na rede neural. Portanto, a rede neural pode fazer uma determinação arrazoada de se a imagem obtida mostra um objeto real ou uma mistificação deste objeto por meio da comparação dos mapas de distâncias aprendidas (e, é claro, dos padrões de reflexão) com os mapas de distâncias obtidos e os padrões de reflexão.
[0082] Para simplificar o cálculo do mapa da distância e do padrão de reflexão, respectivamente, e para reduzir os recursos de computação exigidos para a determinação da etapa 104, o mapa de distância aprendida e padrão de reflexão aprendida serão normalmente providos na rede neural na forma de uma estrutura de dados onde cada entrada constitui o comportamento aprendido da distância ou o correspondente padrão de reflexão.
[0083] Da mesma forma, o mapa de distâncias obtido ou mapa da distância calculada e o padrão de reflexão obtida podem ser providos na forma de uma estrutura de dados, onde cada entrada constitui a distância (ou o padrão de reflexão, respectivamente) na imagem obtida.
[0084] Para ambos, os mapas da distância calculada e os mapas da distância aprendida e os padrões de reflexão, isso até pode ser o caso com base em pixel por pixel, isto é, cada entrada nas respectivas estruturas de dados corresponde a uma distância aprendida/calculada ou padrão de reflexão de um pixel específico.
[0085] É claro, isto exige que exista uma associação entre a posição dos pixels dentro da imagem obtida e as entradas dentro da estrutura de dados. Isso é feito usando o arranjo dos próprios pixels dentro da imagem como a base para o cálculo da estrutura de dados. Isso significa que a estrutura de dados usada para o mapa de distâncias (denominada, por exemplo, L) e o padrão de reflexão (denominado, por exemplo Y), respectivamente, é construída em linha com a imagem obtida. Se, por exemplo, a imagem compreende 512x512 pixels por valor de cor (isto é, 512x512x3), o mapa de distâncias e o padrão de reflexão serão uma estrutura de dados de tamanho com 512x512 entradas (não necessariamente representáveis como uma matriz com 512x512 entradas) onde cada entrada corresponde a um pixel na imagem obtida (para um valor de cor). O mesmo é verdade para qualquer outra resolução de imagens.
[0086] A Figura 4 mostra o processamento interno de uma imagem de entrada recebida em uma camada 200 da rede neural de acordo com uma realização da invenção. A imagem de entrada tanto pode ser a imagem original ou uma estrutura de dados convertida em HSV obtida a partir da imagem original. De fato, a estrutura de dados provida à rede neural é mais provavelmente uma matriz que corresponde à imagem de entrada após a conversão ao espaço de cores HSV, já que isso mostra de maneira mais adequada os valores luma dos pixels, ao invés dos valores de cores. Isso pode resultar em um cálculo mais eficiente do mapa de distâncias e do padrão de reflexão.
[0087] Essa camada 200 pode ser a camada, na ordem de processamento da imagem original de entrada pela rede neural, que recebe a imagem original de entrada após a etapa 102 explicada acima ou qualquer camada intermediária que esteja disposta entre duas outras camadas 240 e 250 da rede neural ou a camada 200 pode mesmo ser a última camada da rede neural que proverá, no final, um resultado de acordo com a etapa 104 como explicado com referência à figura 1. No último caso, a camada terá dois nós de resultados como acima explicado para prover um resultado correspondente para a identificação da mistificação e a identificação de um objeto real dentro da imagem.
[0088] Em qualquer caso, a camada 200 receberá uma entrada 230 que pelo menos, de certa forma corresponde à imagem obtida originalmente. Essa entrada é, de preferência, provida na forma de pelo menos uma matriz que tem a dimensão N x M, onde N e M são inteiros maiores que 0. A matriz pode, por exemplo, representar os pixels na imagem para pelo menos um valor de cor (por exemplo, vermelho) ou para a imagem convertida para HSV. As entradas nessa matriz podem ter assim resultados que correspondem ao valor da respectiva cor (no caso do exemplo, vermelho) deste pixel específico ou seu valor luma. Como ficará claro a seguir, a entrada pode não ser idêntica à imagem obtida, mas pode ser uma matriz P que tenha sido obtida a partir da matriz que representa a imagem original por meio de algum processamento nas camadas na rede neural ou mesmo por meio de algum pré-processamento (por exemplo, redução na resolução, como acima explicado).
[0089] Para facilidade de discussão, entretanto, a entrada 230 será suposta como correspondendo à 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. Aplicando esse ensinamento a qualquer outra matriz transformada que se origine da matriz original N x M e que seja obtida pelo processamento dessa matriz nas camadas da rede neural é direta.
[0090] Seguindo agora o processo exemplificado na figura 4, a entrada 230 é recebida pela camada de convolução em profundidade 211 para processamento. A seguir, será dado um exemplo comparativamente simples com relação a como a matriz de entrada 230 pode ser processada pela camada de convolução em profundidade. Isso envolve o uso de um kernel K para calcular os produtos internos com uma matriz. O kernel é operado na matriz denominada “passos”. Apesar de o exemplo seguinte usar valores para largura dos passos horizontal e vertical de 1, qualquer outro valor maior que 1 pode ser usado, enquanto as larguras dos passos forem inteiros maiores que 0. O kernel K tem o tamanho S x T, onde S e T são inteiros e menores que N e M.
[0091] Além disso, será suposto que somente a matriz original de entrada I (isto é a matriz de entrada 230) de tamanho N x M será usada para calcular o produto interno com o kernel. Entretanto, é também contemplado que uma matriz estendida Z pode ser usada para calcular os produtos internos com o kernel. Essa matriz estendida Z é obtida “anexando”, à matriz original I, as linhas e fileiras acima à primeira linha e abaixo a última linha, a esquerda à primeira fileira e a direita à última fileira.
[0092] Isso é chamado “padding”. O padding normalmente compreenderá que um número Pw de linhas é adicionado na direção da linha e um número Ph de fileiras é adicionado na direção da fileira. O número Pw pode ser igual a S-1 e o número Ph pode ser igual a T-1, de maneira que qualquer produto interno calculado entre Z e o kernel contém pelo menos uma entrada da matriz original I. A matriz resultante Z terá assim o tamanho (N + 2 Pw) x (M + 2 Ph). Em vista disso, a matriz Z terá as seguintes entradas: 0, ∀𝑐 ≤ 𝑃𝑤 0, ∀𝑐 > 𝑃𝑤 + 𝑁 (3) 𝑍𝑐𝑑 = 0, ∀𝑑 ≤ 𝑃ℎ 0, ∀𝑑 > 𝑃ℎ + 𝑀 {𝐼𝑖𝑗 𝑜𝑛𝑑𝑒 𝑐 = 𝑖 + 𝑃𝑤 ; 𝑑 = 𝑗 + 𝑃ℎ ; 𝑖 = 1 … 𝑁; 𝑗 = 1 … 𝑀
[0093] Nesse contexto, segue-se a nova matriz obtida calculando todos os produtos internos e os dispondo de maneira adequada de acordo com linhas e 𝑁−𝑆+2𝑃𝑤 𝑀−𝑇+2𝑃ℎ fileiras, terá geralmente o tamanho de ( + 1) × ( + 1), onde 𝑊𝑤 𝑊ℎ Ww e Wh definem a largura do passo na direção das linhas e a direção das fileiras, respectivamente. Fica claro que somente aqueles paddings e aquelas dos passos são permitidos para um dado kernel K com tamanho S x T, que resulta em inteiros para o tamanho da nova matriz. Além disso, as larguras dos passos Ww e Wh são, de preferência, menores que S e T, respectivamente, já que de outra forma o kernel seria movido sobre a matriz I de maneira que algumas linhas ou fileiras da matriz original são deixadas fora do cálculo da nova matriz.
[0094] Para facilidade de discussão, será suposto a seguir que não é fornecido nenhum padding à matriz original I e que a largura do passo é 1 para passos horizontal e vertical. Além disso, será suposto que o kernel é uma matriz de tamanho S x S, isto é, o caso especial onde será suposto que S=T. Aplicando as explicações dadas abaixo ao padding arbitrário e à largura do passo, assim como a qualquer tamanho de kernel será imediato com os ensinamentos fornecidos abaixo.
[0095] Na camada de convolução em profundidade 211, a matriz de entrada recebida 230 é usada para formar um produto interno com o kernel K que tem o tamanho S x S, onde S < N, M. O produto interno é calculado para cada matriz reduzida da matriz original N x M, onde a matriz reduzida tem o 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 N x M original compreende as entradas i = 1, 2, 3; j = 1, 2, 3 de maneira que a matriz reduzida (N x M)s é compreendida por nove entradas e o produto interno com o kernel K é calculado, o que resulta em um número simples. A próxima matriz reduzida nas direções das linhas da matriz original N x M é uma matriz onde i é aumentado de 1, de maneira que a próxima matriz nessa direção seja constituída dos itens na matriz original N x M, onde 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 kernel. Nota-se que o exemplo dado da matriz S x S com S = 3 é somente um exemplo e também podem ser usados outros kernels.
[0096] Para calcular a próxima matriz reduzida R de tamanho (N x M)S na direção das fileiras/colunas, o índice j de itens na matriz original N x M é aumentado de 1. Isso é feito até que a última matriz reduzida na direção das linhas, onde i = N - S + 1, N - S + 2, N - S + 3 no caso de S = 3. Para as fileiras, isso é feito de maneira correspondente, onde j = M - S + 1, M - S + 2, M - S + 3. Calculando aqueles produtos internos, uma nova matriz, a matriz P é calculada e tem o tamanho de (N - S + 1) x (M - S + 1). Suas entradas Pij; correspondem ao respectivo produto interno calculado com a matriz reduzida correspondente da matriz original N x M e o kernel K. Nota-se que uma matriz com esse tamanho será, de fato, enviada para a camada de convolução em ponto da camada 200.
[0097] O kernel K constitui entradas que são obtidas por meio de um processo de aprendizado, onde a rede neural é treinada para identificar de maneira adequada os objetos pretendidos, isto é, distinguir entre mistificações de objetos e os objetos reais. O kernel K usado na camada 200 da rede neural não é necessariamente idêntico em tamanho e entradas com os kernels usados em outras camadas da respectiva rede neural. Além disso, as entradas no kernel não precisam ser idênticas entre si, mas pelo menos constituírem números que sejam maiores ou iguais a 0. As entradas podem ser consideradas como representando “pesos” que são obtidos por meio do aprendizado da rede neural.
[0098] O resultado do processamento da matriz 230 pela camada de convolução em profundidade é a matriz 231 que tem, como acima explicado, o tamanho (N - S + 1) x (M - S + 1) no caso de o kernel ser movido em passos na matriz original N x M que tem uma distância de i = 1 na direção das linhas i = 1 na direção das fileiras. No caso, entretanto, aqueles passos têm uma maior distância, como i = 2 ou i = 3 (e potencialmente, de forma correspondente para as fileiras), a dimensão do resultado 231 mudará de maneira correspondente, como acima explicado.
[0099] Em outro processamento, esse resultado 231 é enviado ao primeiro lote normalizado 212 que segue no pedido de processamento mostrado pelas flechas na figura 4 após a camada de convolução em profundidade 211. O normalizador de lote tenta normalizar a matriz recebida de resultados 231. Isso é feito calculando a soma em cada uma das entradas na matriz (N - S + 1) x (M - S + 1) e dividindo pelo número de entradas na matriz (N - S + 1) x (M - S + 1). O valor médio V para (N - S + 1) x (M - S + 1) indicado como P a seguir, com itens correspondentes 𝑃𝑖𝑗 da matriz é dado como Σ𝑖𝑗 𝑃𝑖𝑗 (5) 𝑉= 𝑛.𝑚
[0100] onde n e m representam o número de linhas e colunas/fileiras na matriz N x M ou o número de linhas e colunas na matriz P. Os itens 𝑃𝑖𝑗 são as entradas de uma matriz P onde um dado item 𝑃𝑖𝑗 é o elemento em uma matriz na linha i e coluna j.
[0101] O normalizador de lote então calcula uma matriz reduzida P’ subtraindo, de cada entrada 𝑃𝑖𝑗 na matriz original, o valor médio V, de maneira que 𝑃𝑖𝑗′ = 𝑃𝑖𝑗 − 𝑉. Assim, os valores na matriz reduzida P’ são normalizados, de maneira que as anormalidades em uma ou em outra direção (valores extremamente grandes ou valores extremamente baixos) sejam filtrados. Também é contemplado que o item 𝑃′𝑖𝑗 é calculado dividindo o termo 𝑃𝑖𝑗 − 𝑉 pelo desvio padrão correspondente ao valor médio V.
[0102] O resultado 232 criado pelo primeiro normalizador de lote 212 é uma matriz que ainda tem (no exemplo dado na figura 4) o tamanho (N - S + 1) x (M - S + 1) já que, até agora, nenhuma outra redução dimensional de matriz foi feita.
[0103] O resultado 232 é então provido à primeira unidade linear retificada 213 que segue o primeiro normalizador de lote 212.
[0104] A unidade linear retificada modifica mais cada entrada na matriz 232 calculando novas entradas da matriz ̅̅̅ 𝑃𝑖𝑗 onde 0, ∀𝑃𝑖𝑗′ < 0 (4) 𝑃̅𝑖𝑗 = { 𝑃𝑖𝑗′ , ∀𝑃𝑖𝑗′ ≥ 0
[0105] Isso resulta em valores que seriam menores que 0 após terem passado o normalizador de lote ajustado em 0, não tendo assim outra influência em novo processamento na camada de convolução em profundidade que será explicada a seguir. Isso significa que, por exemplo, os valores de cores que estiverem abaixo do valor médio calculado no normalizador de lote não mais serão considerados e somente os valores que pelo menos correspondem ao valor médio V terão influência no resultado da próxima etapa de cálculo.
[0106] O resultado 233 assim produzido pela primeira unidade linear retificada 213 ainda é uma matriz com formato/tamanho (N - S + 1) x (M - S + 1) e essa matriz é enviada para a camada de convolução em ponto 221.
[0107] Essa camada de convolução em ponto 221 cria um resultado 234. Esse resultado 234 é criado pela camada de convolução em ponto 221 tomando cada entrada na matriz (N - S + 1) x (M - S + 1) 233 e multiplicando essa entrada por um peso α. α de preferência é um número maior que 0 em qualquer caso e esse número é idêntico para cada entrada na matriz (N - S + 1) x (M - S + l). O resultado 234 que é obtido a partir da camada de convolução em ponto 221 é assim uma matriz tendo o mesmo tamanho (N - S + 1) x (M - S + l), mas onde cada entrada é multiplicada pelo peso α.
[0108] O resultado 234 é então provido para o segundo normalizador de lote 222 onde é normalizado da maneira explicada para o primeiro normalizador de lote 212, sendo calculada uma matriz normalizada P’ da mesma dimensão que o resultado 235 e essa matriz/resultado 235 é enviado para a segunda unidade linear retificada 223 onde a função de retificação é aplicada para obter um resultado/matriz 𝑃̅ 236 que é então enviado para a próxima camada na rede neural ou, se nenhuma outra se seguir na rede neural, o resultado 236 é provido como saída.
[0109] Na figura 5, será agora dada uma explicação de como a rede neural pode ser adequadamente treinada, de maneira que os pesos do kernel K e o peso α explicado com relação à figura 4, assim como os padrões que realmente identificam um objeto real ou uma mistificação do objeto real são aprendidos pela rede neural.
[0110] O método da figura 5 inicia com a provisão dos dados de treinamento 401. Os dados de treinamento podem ser constituídos de uma pluralidade de imagens de objetos reais, assim como imagens de mistificações de objetos reais. Por exemplo, as imagens podem compreender um número de imagens de mãos ou dedos reais ou similares e imagens de imagens (isto é, mistificações) daqueles objetos. As imagens podem ser multiplicadas usando, a partir da mesma imagem girada, ampliada, escurecida, aumentada ou cópias modificadas que são introduzidas como dados de treinamento. De preferência, modificações que envolvem giro de imagens, rotação e translação de imagens, cortes, recortes, multiplicação para aumentar o brilho e manchas de Gauss podem ser usadas para obter um maior número de imagens de treinamento. Combinações arbitrárias das técnicas mencionadas também podem ser usadas. Os valores 1 e 2 providos de acordo com o item 408 são valores que indicam o resultado “correto” do primeiro nó e do segundo nó da última camada na rede neural que provê a probabilidade de a imagem mostrar uma mistificação de um objeto ou um objeto real. Esses valores são providos para cada imagem nos dados de treinamento.
[0111] Na próxima etapa, uma imagem específica de entrada 402 é provida para a rede neural em um ambiente de treinamento onde são providos, além da rede neural, um otimizador 407 e um calculador de perda de função 406.
[0112] A imagem de entrada é, à primeira vista, processada usando a camada de convolução em profundidade e o primeiro normalizador de lote, assim como a primeira unidade linear retificada 403, resumida como DCBR, sendo então transferida para a camada de convolução em ponto, o segundo normalizador de lote e a segunda unidade linear retificada, resumida como PCBR, onde são processados em linha com a descrição dada na figura 4. Isso significa que as etapas ou as seções 403 e 404 mostradas na figura 5 são feitas de preferência por meio de um número de vezes, como treze vezes, como descrito com referência à figura 4 usando, em cada seção 403 e 404 os pesos correspondentes para a camada de convolução em ponto (PC) e o kernel K da camada de convolução em profundidade (DC). O primeiro e o segundo normalizador de lotes, assim como as unidades lineares retificadas dos itens 403 e 404 operam da forma como acima explicado em relação à fig.
4.
[0113] Como resultado, em linha com a descrição acima, são obtidos os valores 1 e 2. Esse resultado será então fornecido à função de perda onde será comparado com os valores preestabelecidos 1 e 2 providos em 408 para identificar as diferenças entre o resultado 405 e os valores corretos 1 e 2. Essa diferença obtida pela função de perda 406 é então provida ao otimizador 407 que, por sua vez, modifica os pesos de cada camada de convolução em ponto e cada camada de convolução em profundidade, isto é, α e as entradas no kernel K. Isso significa que, seja para todas as camadas na rede de uma vez ou para cada camada isolada, são manipulados o peso α da camada de convolução em ponto e as entradas no kernel K da camada de convolução em profundidade.
[0114] Com esses novos valores, o ciclo é repetido para a mesma imagem e os valores resultantes 1 e 2 são providos para a função de perda e comparados aos valores corretos 1 e 2, cujo resultado são então providos para o otimizador 407 que, novamente, modifica os pesos.
[0115] Esse procedimento é feito enquanto a diferença entre os valores (𝑛) (𝑛) resultantes σ1 e σ2 (onde n constitui a n-ésima interação desses valores) para os valores 1 e 2 do item 408 ultrapassam um dado limite que, em essência, correspondem à precisão da determinação de mistificações e objetos reais pretendidos.
[0116] Após isso, a próxima imagem de entrada 402 é tomada a partir dos dados de treinamento 401 e os valores correspondentes 1 e 2 são providos para a função de perda. Então, o processo explicado é repetido novamente para a nova imagem, sendo obtidos os pesos ideais para a camada de convolução em ponto e a camada de convolução em profundidade. Isso é repetido até que uma combinação específica de pesos resulte na precisão adequada de identificação de todas as imagens de entrada. A combinação de pesos que é então obtida é o resultado dos pesos finais 410.
[0117] Esses pesos finais são então introduzidos no aplicativo que executa o método do invento no dispositivo móvel. De fato, por esse método, é possível para a rede neural aprender os mapas de distâncias específicas e os padrões de reflexão que mostram um objeto real ou uma mistificação do objeto real. O método descrito na fig. 5 pode assim ser realizado com a entrada que é usada para os mapas de distâncias aprendidas ou também os padrões de reflexão.
[0118] É também possível prover, além dos valores 1 e 2 ou em combinação, os mapas das distâncias corretas e padrões de reflexão correspondentes às imagens. Nesse caso, o resultado da rede neural na etapa (𝑛) (𝑛) 405 não será somente os respectivos valores de σ1 e σ2 , mas também um mapa de distâncias e/ou um padrão de reflexão para comparar com o mapa de distâncias preestabelecidas e/ou o padrão de reflexão obtidos pela entrada
408.
[0119] Portanto, no conceito da presente invenção, a rede neural que é provida para o dispositivo móvel já está totalmente adaptada para a determinação de se uma imagem mostra um objeto real ou somente uma mistificação bidimensional do objeto real.
[0120] No total, usando a camada de convolução em pontos, as camadas de convolução em profundidade e os normalizadores de lotes, assim como as unidades lineares retificadas como acima explicado com referência à figura 4, pode ser provido um aplicativo que seja menor que um megabyte, permitindo assim a utilização em um dispositivo móvel isolado, mesmo sem qualquer acesso a fontes adicionais de dados pela internet ou similar. Isso torna adequado o aplicativo em ambientes onde não seja possível o acesso a redes sem fio ou similares. Além disso, a potência exigida para o processador para operar esse aplicativo é reduzida a um mínimo, produzindo ainda determinações adequadas de objetos reais que possam ser usados posteriormente em identificação realizada do usuário, por exemplo, por meio da extração de características biométricas a partir de um objeto real identificado, de maneira a usar essas características biométricas em outros processos referentes à segurança.
[0121] Para dar um contexto onde o método do invento pode ser realizado, a figura 6 mostra um dispositivo móvel na forma de um smartphone, de acordo com uma realização da invenção.
[0122] O dispositivo móvel 500 realizado como um smartphone como é atualmente conhecido. Compreende um sensor óptico 520 de preferência no lado traseiro da câmera que é oposto ao lado do dispositivo móvel 500 no qual é provido o display 530. A câmera pode ser uma câmera tendo uma resolução de 1 MP, 2 MP ou até mais; assim, por exemplo, uma câmera HD. Pode ser dotado de uma lanterna, mas não necessariamente. Também pode ser adaptado para tomar imagens em tempo real com resolução reduzida, e uma vez com a câmera ativada, o display 530 pode mostrar uma representação daquilo que a câmera realmente “vê”. Pode ser, por exemplo, uma mão 510.

Claims (13)

Reivindicações
1. Método para a distinção de um objeto tridimensional real, como um dedo de uma mão, de uma mistificação bidimensional do objeto real, sendo o método caracterizado por compreender: a. a obtenção, por meio de um sensor óptico de um dispositivo móvel, de uma imagem, em que a imagem contém o objeto mistificado ou o objeto real; b. prover uma imagem para uma rede neural; c. processar a imagem pela rede neural; em que o processamento compreende calcular pelo menos um dos itens: -um mapa de distâncias representativo da distância de uma pluralidade de pixels ao sensor óptico, os pixels constituindo pelo menos uma parte do objeto dentro da imagem; -um padrão de reflexão representativa de reflexão luminosa associada a uma pluralidade pixels constituindo pelo menos uma parte do objeto dentro da imagem; e em que o processamento ainda compreende a comparação, preferivelmente usando a rede neural, de pelo menos um mapa da distância calculada ou do padrão de reflexão calculada com um mapa de distância aprendida ou um padrão de reflexão aprendida, determinando assim, com base em um resultado da comparação, que a imagem contém o objeto mistificado ou o objeto real.
2. Método, de acordo com a reivindicação 1, caracterizado pelo mapa de distâncias e o padrão de reflexão serem calculados e comparados com o mapa de distância aprendida e o padrão de reflexão aprendida, determinando assim, com base no resultado da comparação, que a imagem contém o objeto mistificado ou o objeto real.
3. Método, de acordo com a reivindicação 1 ou 2, caracterizado pela imagem ser obtida pelo sensor óptico, usando um flash associado ao sensor óptico e em que o sensor óptico é uma câmera.
4. Método, de acordo com quaisquer das reivindicações 1 a 3, caracterizado pela rede neural compreender uma pluralidade de camadas e a última camada compreende dois nós, em que o primeiro nó provê o resultado referente ao objeto real sendo determinado durante o processamento e o segundo nó provê um resultado referente à mistificação sendo determinada durante o processamento.
5. Método, de acordo com a reivindicação 4, caracterizado por cada nó prover um resultado após o processamento da imagem, o resultado variando entre -∞ e +∞ e o resultado de cada nó é passado para um normalizador de resultados, o normalizador de resultados tomando primeiro o resultado xi de cada nó e calcula um valor reduzido por 𝑒𝑥 (1) 𝑆(𝑥) = 1+𝑒 𝑥 onde i=1 para o primeiro nó e i=2 para o segundo nó, e provê os valores S(xi) para uma função de normalização 𝑒𝑥 (1) 𝑆(𝑥) = 1+𝑒 𝑥 obtendo assim valores normalizados σ(𝑆(𝑥1 )) = σ1 e σ(𝑆(𝑥2 )) = σ2 .
6. Método, de acordo com a reivindicação 5, caracterizado por, se 1 > 0,5, é determinado que a imagem contém o objeto real e, se 2 > 0,5, é determinado que a imagem contém a mistificação.
7. Método, de acordo com quaisquer das reivindicações 1 a 6, caracterizado pelo processamento da imagem pela rede neural compreender o processamento, por uma primeira camada da rede neural, da imagem de entrada para criar um primeiro resultado e processamento intermediários, por cada camada a seguir, o resultado da camada precedente, em que a rede neural compreende uma pluralidade de camadas, cada camada sendo uma convolução separável em profundidade compreendendo, na ordem de processamento da entrada no interior da camada, uma camada de convolução em profundidade, um primeiro normalizador de lote, uma primeira unidade linear retificada, uma camada de convolução em ponto, um segundo normalizador de lote e uma segunda unidade linear retificada;
em que, pelo processamento da imagem usando a pluralidade de camadas, a rede neural obtém, como resultado, a determinação de que a imagem contém o objeto real ou a mistificação.
8. Método, de acordo com a reivindicação 7, caracterizado pelo o processamento da imagem pela rede neural compreender a criação, a partir da imagem, pelo menos uma matriz I e prover a matriz como entrada para a rede neural, em que a imagem compreende N x M pixels e a matriz I sendo uma matriz que compreende N x M valores, em que as entradas da matriz I são dadas por Iij, onde i e j são inteiros e i = 1 ... N e j = 1 ... M.
9. Método, de acordo com a reivindicação 8, caracterizado por cada camada de convolução em profundidade aplicar um kernel predefinido K a uma matriz I, o kernel K sendo uma matriz de tamanho S x T onde S, T < N; S,T < M compreendendo entradas Sab, em que aplicando o kernel a uma matriz compreende calcular o produto interno da matriz K com cada matriz reduzida R de tamanho (N x M)S,T de uma matriz Z, onde a matriz R tem o mesmo tamanho que o kernel K, e a matriz Z tem tamanho (N + 2 Pw) x (M + 2 Ph) e as entradas da matriz Zcd com c, d ∈ N+ sendo dadas por 0, ∀𝑐 ≤ 𝑃𝑤 0, ∀𝑐 > 𝑃𝑤 + 𝑁 (3) 𝑍𝑐𝑑 = 0, ∀𝑑 ≤ 𝑃ℎ 0, ∀𝑑 > 𝑃ℎ + 𝑀 {𝐼𝑖𝑗 𝑜𝑛𝑑𝑒 𝑐 = 𝑖 + 𝑃𝑤 ; 𝑑 = 𝑗 + 𝑃ℎ ; 𝑖 = 1 … 𝑁; 𝑗 = 1 … 𝑀 e provêm uma matriz P como resultado, em que a matriz P tem o tamanho 𝑁−𝑆+2𝑃𝑤 𝑀−𝑇+2𝑃ℎ ( + 1) × ( + 1), onde Ww e Wh definem a largura do passo e 𝑊𝑤 𝑊ℎ cada entrada da matriz P é o valor do produto interno da matriz R reduzida ao termo (i,j) com o kernel K, em que a matriz P é fornecida como resultado pela camada de convolução em profundidade ao primeiro normalizador de lote.
10. Método, de acordo com a reivindicação 9, caracterizado pelo tamanho S e T do kernel ser igual para todas as camadas de convolução em profundidade ou ser diferente para pelo menos uma camada de convolução em profundidade e/ou pelo menos uma das entradas no kernel K 𝑆𝑎′ 𝑏′ ≠ 𝑆𝑎≠𝑎′ ,𝑏≠𝑏′ .
11. Método, de acordo com quaisquer das reivindicações 8 a 10, caracterizado pelo normalizador de lote prover uma matriz normalizada reduzida P’ à unidade linear retificada e a unidade linear retificada aplica uma função de retificação a cada entrada P’ij, em que a função de retificação calcula uma nova matriz 𝑃̅ com entradas 0, ∀𝑃𝑖𝑗′ < 0 (4) 𝑃̅𝑖𝑗 = { 𝑃𝑖𝑗′ , ∀𝑃𝑖𝑗′ ≥ 0 e a matriz 𝑃̅ é provida como resultado para a camada de convolução em ponto, se a unidade linear retificada for a primeira unidade linear retificada ou para a próxima camada da rede neural se a unidade linear retificada for a segunda unidade linear retificada; e/ou em que a camada de convolução em ponto aplica um peso α à matriz I, P, P’ ou 𝑃̅ recebida da camada precedente pela multiplicação de cada entrada na matriz P, P’ ou 𝑃̅ pelo peso α.
12. Método, de acordo com quaisquer das reivindicações 1 a 11, caracterizado por ser realizada cada etapa do método no dispositivo móvel.
13. Dispositivo móvel, caracterizado por compreender um sensor óptico, um processador e uma unidade de armazenagem que guarda instruções executáveis que, quando realizadas pelo processor do dispositivo móvel, fazem com que o processor execute o método de qualquer das reivindicações 1 a 12.
BR112020021946-0A 2018-03-16 2019-05-09 método para a distinção de um objeto tridimensional real de uma mistificação bidimensional do objeto real e dispositivo móvel BR112020021946A2 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP18382174.3A EP3540635B1 (en) 2018-03-16 2018-03-16 Method for identifying an object within an image and mobile device for executing the method
EP18382295.6A EP3540636A1 (en) 2018-03-16 2018-04-27 Method for distinguishing a real three-dimensional object from a two-dimensional spoof of the real object
EP18382295.6 2018-04-27
PCT/IB2019/053824 WO2019207557A1 (en) 2018-03-16 2019-05-09 Method for distinguishing a real three-dimensional object from a two-dimensional spoof of the real object

Publications (1)

Publication Number Publication Date
BR112020021946A2 true BR112020021946A2 (pt) 2021-01-26

Family

ID=61768233

Family Applications (2)

Application Number Title Priority Date Filing Date
BR112020018915-4A BR112020018915A2 (pt) 2018-03-16 2019-03-15 Método para identificação de um objeto em uma imagem e dispositivo móvel para execução do método
BR112020021946-0A BR112020021946A2 (pt) 2018-03-16 2019-05-09 método para a distinção de um objeto tridimensional real de uma mistificação bidimensional do objeto real e dispositivo móvel

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR112020018915-4A BR112020018915A2 (pt) 2018-03-16 2019-03-15 Método para identificação de um objeto em uma imagem e dispositivo móvel para execução do método

Country Status (13)

Country Link
US (4) US11508184B2 (pt)
EP (3) EP3540633B1 (pt)
JP (2) JP7386545B2 (pt)
KR (4) KR102554724B1 (pt)
CN (1) CN111989689A (pt)
AU (2) AU2019234110B2 (pt)
BR (2) BR112020018915A2 (pt)
CA (3) CA3215158A1 (pt)
ES (2) ES2837382T3 (pt)
MX (2) MX2020009382A (pt)
PE (2) PE20201181A1 (pt)
WO (2) WO2019175846A1 (pt)
ZA (2) ZA202006256B (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3540633B1 (en) * 2018-03-16 2020-09-23 Identy Inc. Method for identifying an object within an image and mobile device for executing the method
WO2020051776A1 (en) * 2018-09-11 2020-03-19 Intel Corporation Method and system of deep supervision object detection for reducing resource usage
US11189028B1 (en) * 2020-05-15 2021-11-30 Retrace Labs AI platform for pixel spacing, distance, and volumetric predictions from dental images
WO2021151947A1 (en) * 2020-01-28 2021-08-05 Universidad Autonoma De Madrid Method to generate training data for a bot detector module, bot detector module trained from training data generated by the method and bot detection system
EP4246454A3 (en) 2020-04-09 2023-11-29 Identy Inc. Liveliness detection using a device comprising an illumination source
CN111598110B (zh) * 2020-05-11 2023-04-28 重庆大学 基于网格细胞记忆的hog算法图像识别方法
KR20210149542A (ko) * 2020-06-02 2021-12-09 삼성에스디에스 주식회사 이미지 촬영 및 판독 방법, 이를 위한 장치
US11657589B2 (en) 2021-01-13 2023-05-23 Ford Global Technologies, Llc Material spectroscopy
US11443527B2 (en) 2021-01-13 2022-09-13 Ford Global Technologies, Llc Material spectroscopy
US11741747B2 (en) 2021-01-13 2023-08-29 Ford Global Technologies, Llc Material spectroscopy
WO2023272604A1 (zh) * 2021-06-30 2023-01-05 东莞市小精灵教育软件有限公司 基于生物特征识别的定位方法及装置
CN113706647B (zh) * 2021-07-30 2024-02-13 浪潮电子信息产业股份有限公司 一种图像上色方法及相关装置
CN117037221B (zh) * 2023-10-08 2023-12-29 腾讯科技(深圳)有限公司 活体检测方法、装置、计算机设备及存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978495A (en) * 1996-07-17 1999-11-02 Intelnet Inc. Method and apparatus for accurate determination of the identity of human beings
US6072891A (en) * 1997-02-21 2000-06-06 Dew Engineering And Development Limited Method of gathering biometric information
JP4085470B2 (ja) * 1998-05-29 2008-05-14 オムロン株式会社 個人識別装置、個人識別方法および個人識別プログラムを記録した記録媒体
FR2826443B1 (fr) * 2001-06-21 2003-10-10 Gilles Cavallucci Procede et dispositif de detection optique de la position d'un objet
JP4734980B2 (ja) * 2005-03-15 2011-07-27 オムロン株式会社 顔認証装置およびその制御方法、顔認証装置を備えた電子機器、顔認証装置制御プログラム、ならびに該プログラムを記録した記録媒体
US8542928B2 (en) * 2005-09-26 2013-09-24 Canon Kabushiki Kaisha Information processing apparatus and control method therefor
EP2041696B1 (en) * 2006-07-19 2020-11-18 HID Global Corporation Multibiometric multispectral imager
JP2008257327A (ja) 2007-04-02 2008-10-23 Omron Corp 照合装置
KR101938033B1 (ko) 2012-09-05 2019-01-11 엘리먼트, 인크. 카메라 장착 디바이스들과 관련된 생체인식 인증
JP6187817B2 (ja) * 2013-10-09 2017-08-30 アイシン精機株式会社 顔検出装置、方法およびプログラム
JP6304999B2 (ja) * 2013-10-09 2018-04-04 アイシン精機株式会社 顔検出装置、方法およびプログラム
US10025915B2 (en) * 2013-12-05 2018-07-17 Lenovo (Singapore) Pte. Ltd. Contact signature authentication of user of device
US9489560B2 (en) * 2014-02-12 2016-11-08 Advanced Optical Systems, Inc. On-the go touchless fingerprint scanner
US9195879B1 (en) * 2014-08-31 2015-11-24 Qualcomm Incorporated Air/object determination for biometric sensors
KR102290892B1 (ko) * 2014-12-12 2021-08-19 엘지전자 주식회사 이동단말기 및 그것의 제어방법
US11120478B2 (en) 2015-01-12 2021-09-14 Ebay Inc. Joint-based item recognition
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
US10339362B2 (en) * 2016-12-08 2019-07-02 Veridium Ip Limited Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
US9665784B2 (en) 2015-06-16 2017-05-30 EyeVerify Inc. Systems and methods for spoof detection and liveness analysis
KR102439938B1 (ko) 2015-08-03 2022-09-05 삼성전자주식회사 사용자 인증을 위한 멀티-모달 퓨전 방법 및 사용자 인증 방법
CN106056095A (zh) * 2016-06-13 2016-10-26 北京小米移动软件有限公司 指纹处理的方法和装置
KR102483642B1 (ko) 2016-08-23 2023-01-02 삼성전자주식회사 라이브니스 검사 방법 및 장치
US11157814B2 (en) * 2016-11-15 2021-10-26 Google Llc Efficient convolutional neural networks and techniques to reduce associated computational costs
MA48606A (fr) * 2016-12-08 2020-03-18 Veridium Ip Ltd Systèmes et procédés d'exécution d'une authentification d'utilisateur basée sur des empreintes digitales au moyen d'images capturées à l'aide de dispositifs mobiles
US10216977B2 (en) * 2017-01-06 2019-02-26 Qualcomm Incorporated Progressive multiple fingerprint enrollment and matching, and dynamic user account transitions
EP3540633B1 (en) * 2018-03-16 2020-09-23 Identy Inc. Method for identifying an object within an image and mobile device for executing the method
CN108810616B (zh) * 2018-05-31 2019-06-14 广州虎牙信息科技有限公司 目标定位方法、视频显示方法、装置、设备和存储介质
JP7130905B2 (ja) * 2019-06-18 2022-09-06 ユーエービー “ニューロテクノロジー” フィードフォワード畳み込みニューラルネットワークを使用した高速且つ堅牢な皮膚紋理の印のマニューシャの抽出

Also Published As

Publication number Publication date
MX2020011313A (es) 2021-04-28
KR20230107415A (ko) 2023-07-14
EP3540636A1 (en) 2019-09-18
AU2019234110A1 (en) 2020-09-24
KR102554724B1 (ko) 2023-07-11
JP7386545B2 (ja) 2023-11-27
WO2019207557A1 (en) 2019-10-31
ZA202006256B (en) 2021-09-29
PE20201181A1 (es) 2020-11-03
AU2019234110B2 (en) 2022-02-03
MX2020009382A (es) 2020-12-11
KR20200130440A (ko) 2020-11-18
KR102442844B1 (ko) 2022-09-14
EP3540633A1 (en) 2019-09-18
ES2837382T3 (es) 2021-06-30
AU2022202817A1 (en) 2022-05-19
US11495050B2 (en) 2022-11-08
PE20240541A1 (es) 2024-03-19
EP3540635A1 (en) 2019-09-18
JP2021522591A (ja) 2021-08-30
CA3093966A1 (en) 2019-09-19
US20210027041A1 (en) 2021-01-28
WO2019175846A1 (en) 2019-09-19
US20220335748A1 (en) 2022-10-20
BR112020018915A2 (pt) 2020-12-29
KR102629380B1 (ko) 2024-01-24
US11508184B2 (en) 2022-11-22
AU2022202817B2 (en) 2023-05-18
ES2828358T3 (es) 2021-05-26
US20210103749A1 (en) 2021-04-08
KR20210032310A (ko) 2021-03-24
ZA202007383B (en) 2021-09-29
EP3540635B1 (en) 2020-08-26
KR20220125377A (ko) 2022-09-14
JP2021517330A (ja) 2021-07-15
CA3098286C (en) 2024-02-13
CN111989689A (zh) 2020-11-24
US20230011257A1 (en) 2023-01-12
CA3093966C (en) 2023-11-14
CA3098286A1 (en) 2019-10-31
CA3215158A1 (en) 2019-09-19
JP7304082B2 (ja) 2023-07-06
EP3540633B1 (en) 2020-09-23

Similar Documents

Publication Publication Date Title
BR112020021946A2 (pt) método para a distinção de um objeto tridimensional real de uma mistificação bidimensional do objeto real e dispositivo móvel
WO2019100724A1 (zh) 训练多标签分类模型的方法和装置
WO2018086607A1 (zh) 一种目标跟踪方法及电子设备、存储介质
JP2021530061A (ja) 画像処理方法及びその装置、電子機器並びにコンピュータ可読記憶媒体
US20190311190A1 (en) Methods and apparatuses for determining hand three-dimensional data
CN108701234A (zh) 车牌识别方法及云系统
JP2022502751A (ja) 顔キーポイント検出方法、装置、コンピュータ機器及びコンピュータプログラム
WO2020228515A1 (zh) 伪造人脸的识别方法、装置和计算机可读存储介质
CN110889446A (zh) 人脸图像识别模型训练及人脸图像识别方法和装置
US10977767B2 (en) Propagation of spot healing edits from one image to multiple images
WO2021189853A1 (zh) 闪光灯光斑位置识别方法、装置、电子设备及存储介质
CN109348731A (zh) 一种图像匹配的方法及装置
WO2022179586A1 (zh) 一种模型训练方法及其相关联设备
WO2019095998A1 (zh) 图像识别方法及装置、计算机装置和计算机可读存储介质
KR101981284B1 (ko) 이미지 처리 장치 및 방법
CN112446322A (zh) 眼球特征检测方法、装置、设备及计算机可读存储介质
CN108992033A (zh) 一种视觉测试的评分方法、装置、设备和存储介质
US20220392251A1 (en) Method and apparatus for generating object model, electronic device and storage medium
Song et al. Human eye location algorithm based on multi-scale self-quotient image and morphological filtering for multimedia big data
CN117173075A (zh) 医学图像检测方法及相关设备
ES2943287T3 (es) Método para verificar la identidad de un usuario identificando un objeto dentro de una imagen que tiene una característica biométrica del usuario y separando una porción de la imagen que comprende la característica biométrica de otras porciones de la imagen
US20220292706A1 (en) Object number estimation device, control method, and program
BR112021014579A2 (pt) Método de identificação de usuário por característica biométrica e dispositivo móvel
Sizyakin et al. A two-stream neural network architecture for the detection and analysis of cracks in panel paintings
CN112115976B (zh) 模型训练方法、模型训练装置、存储介质和电子设备

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06W Patent application suspended after preliminary examination (for patents with searches from other patent authorities) chapter 6.23 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: G06K 9/00 , G06K 9/46 , G06K 9/32 , G06K 9/22

Ipc: G06V 10/20 (2022.01), G06V 10/44 (2022.01), G06V 1