ES2837382T3 - Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento - Google Patents

Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento Download PDF

Info

Publication number
ES2837382T3
ES2837382T3 ES18206807T ES18206807T ES2837382T3 ES 2837382 T3 ES2837382 T3 ES 2837382T3 ES 18206807 T ES18206807 T ES 18206807T ES 18206807 T ES18206807 T ES 18206807T ES 2837382 T3 ES2837382 T3 ES 2837382T3
Authority
ES
Spain
Prior art keywords
image
matrix
neural network
bounding box
biometric characteristic
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES18206807T
Other languages
English (en)
Inventor
Jesus Aragon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Identy Inc
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=ES2837382(T3) "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
Application granted granted Critical
Publication of ES2837382T3 publication Critical patent/ES2837382T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

Un procedimiento, realizado en un dispositivo móvil, para identificar a un usuario utilizando una imagen de un objeto del usuario, que tiene una característica biométrica del usuario, como una huella dactilar o un conjunto de huellas dactilares de puntas de dedo, comprendiendo el procedimiento: obtener, por parte de un sensor óptico del dispositivo móvil, la imagen del objeto; proporcionar la imagen a una red neuronal; procesar la imagen por parte de la red neuronal, identificando con ello tanto la posición del objeto como el objeto en la imagen; extraer, del objeto identificado, la característica biométrica; almacenar la característica biométrica en un dispositivo de almacenamiento y/o proporcionar al menos la característica biométrica como entrada a un medio de identificación, que comprende procesar la entrada con el fin de determinar si la característica biométrica identifica al usuario; en el que procesar la imagen como entrada por parte de la red neuronal comprende procesar, por parte de una primera capa de la red neuronal, la entrada para crear una primera salida intermedia y procesar, por parte de cada capa siguiente la salida de la capa anterior, en que la red neuronal realiza una convolución separable en profundidad y comprende, en el orden de procesamiento, una capa de entrada, una capa convolucional en profundidad, un primer normalizador por lotes, una primera unidad lineal rectificada, una capa convolucional punto a punto, un segundo normalizador por lotes, una segunda unidad lineal rectificada y una capa de salida; en el que, procesando la entrada utilizando la pluralidad de capas, la red neuronal obtiene, como salida, una identificación del objeto y la ubicación del objeto dentro de la imagen; en el que identificar la posición del objeto comprende disgregar la imagen en una cuadrícula que comprende Q × R celdas de cuadrícula, en el que se crea al menos un cuadro delimitador dentro de cada celda de la cuadrícula, teniendo el cuadro delimitador una posición predeterminada dentro de la celda de la cuadrícula y unas características geométricas predeterminadas, en el que crear la salida comprende además modificar la posición y las características geométricas del cuadro delimitador para obtener un cuadro delimitador resultante, en el que el cuadro delimitador resultante es el cuadro delimitador que tiene una posición resultante y unas características geométricas resultantes que más se corresponden con la ubicación del objeto.

Description

DESCRIPCIÓN
Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento
La presente invención está relacionada con los campos de reconocimiento de patrones y de visión artificial. Se refiere a un procedimiento para identificar a un usuario utilizando un objeto en una imagen que tiene una característica biométrica que identifica al usuario según la reivindicación 1 y a un dispositivo móvil adaptado para ejecutar un procedimiento correspondiente según la reivindicación 15.
Técnica anterior
Los reconocimientos de imagen en general son muy amplios y permiten una pluralidad de aplicaciones. Por ejemplo, el reconocimiento de personas y caras u objetos específicos dentro de imágenes es utilizado por las redes sociales y otros medios de manera excesiva. Además, en los teléfonos inteligentes más recientes, también se utilizan tecnologías de identificación para identificar al usuario mediante, por ejemplo, sensores de huellas dactilares.
Las técnicas anteriores requieren una cantidad importante de recursos informáticos con el fin de conseguir la identificación de objetos dentro de imágenes, con independencia de si utilizan la "fuerza bruta" o redes más nuevas que están específicamente entrenadas para identificar objetos.
Más recientemente, sin embargo, se ha proporcionado la tecnología "Mira sólo una vez" (“You Only Look Once” -“YOLO”) que permite una identificación significativamente más rápida y fiable de objetos dentro de imágenes. Los principios básicos de esta tecnología se explican en los documentos "You Only Look Once: Unified, Real-Time Object Detection” cuyo autor es Redmon y otros, y "YOLO9000: Better, Faster, Stronger” cuyo autor es Redmon y otros
El concepto básico de la tecnología "Mira sólo una vez" (denominada en este documento "tecnología YOLO") consiste en disgregar una imagen obtenida en cuadrículas y utilizar una red neuronal entrenada con el fin de identificar objetos dentro de una o más de las celdas de la cuadrícula utilizando una red neuronal que comprende una pluralidad de capas de reducción y capas convolucionales, cada una de las cuales procesan la imagen obtenida.
Rumao, en el documento "Human Gait Recognition", XP55556918, divulgó una técnica de reconocimiento de humanos basada en la técnica YOLO.
Howard, en el documento "MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications", XP055556718, divulgó una implementación eficiente de redes neuronales convolucionales (CNN) en dispositivos móviles usando una convolución separable en profundidad.
Además, según describe el documento "Deep Feature-based Face Detection on Mobile Devices” cuyo autor es Sarkar y otros, se conoce un detector para dispositivos móviles mediante el cual se pueden detectar caras de usuario adquiridas por la cámara frontal del dispositivo. Se sabe que esto es una etapa importante en los sistemas de autenticación basados en caras.
El documento "ImageNet classification with deep convolutional neural networks" cuyo autor es Krizhevsky y otros, describe unos resultados de prueba del entrenamiento de una gran red neuronal convolucional profunda para clasificar 1,2 millones de imágenes de alta definición en el concurso ImageNet LSVRC-2010 en las 1000 clases diferentes. El entrenamiento proporcionó la mejor (top-1) y las 5 mejores (top-5) tasas de error en comparación con el estado de la técnica anterior.
En el documento "Deep finger: a cascade convolutional neuron network approach to finger key point detection in egocentric vision with mobile camera” cuyo autor es Huang et al, se describe un nuevo enfoque de detección de punto clave del dedo. Se propone una estructura en cascada de dos niveles de una red neuronal convolucional CNN (convolutional neuron network) en la que el primer nivel genera unos cuadros delimitadores de regiones de la mano filtrando una gran parte de información de fondo complicada. El segundo nivel incluye una rama adicional y devuelve una ubicación precisa de punta de dedo con un conjunto de datos multicanal.
Si bien las redes neuronales utilizadas obtienen resultados apropiados también al realizar una detección en tiempo real incluso para imágenes en movimiento (vídeos) para una pluralidad de objetos, resulta que, para otras identificaciones de objetos muy específicos, como puntas de dedo, todavía no están debidamente adaptadas. Esto hace que se necesite más tiempo para identificar los objetos.
Además, debido a la red neuronal comparativamente compleja, se necesitan importantes recursos informáticos con el fin de permitir una identificación en tiempo real de objetos que, además, hace que la aplicación de la tecnología YOLO no sea adecuada para dispositivos móviles de la técnica actual como teléfonos inteligentes y tabletas.
Objetivo
En vista de anterior, el objetivo de la presente invención es proporcionar procedimientos y sistemas que permitan identificar usuarios con rapidez y, al mismo tiempo, proporcionar una precisión de detección significativa, simplificando la interacción del usuario con el dispositivo móvil utilizado para la identificación. Además, sería ventajoso reducir los recursos informáticos necesarios para la identificación, de modo que se pueda realizar la identificación en dispositivos móviles de generación actual.
Solución
Este objetivo se resuelve con el procedimiento implementado en un dispositivo informático móvil según la reivindicación 1 y el dispositivo informático móvil según la reivindicación 15. En las reivindicaciones dependientes se proporcionan formas de realización preferidas de la invención.
Breve descripción de los dibujos
La Figura 1 muestra una visión general del procedimiento de identificación de un usuario según la invención La Figura 2 muestra un diagrama de flujo más específico de realizar la identificación utilizando una característica biométrica extraída de la imagen
La Figura 3 muestra un esquema que representa el flujo de procesamiento general de identificar un objeto dentro de una imagen según una forma de realización
La Figura 4 muestra esquemáticamente la estructura de una capa dentro de la red neuronal según la invención y el procesamiento de datos dentro de esta capa
La Figura 5 es una representación esquemática del procesamiento de una imagen de una mano utilizando cuadros delimitadores según la invención
La Figura 6 muestra el proceso de entrenamiento de la red neuronal
La Figura 7 muestra un dispositivo móvil para obtener una imagen e identificar un objeto dentro de esa imagen según una forma de realización
Descripción detallada
La Figura 1 muestra una visión general del procedimiento, según la invención, para identificar a un usuario utilizando una imagen de un objeto del usuario. El procedimiento comienza en la etapa 11 en la que se obtiene una imagen de dicho objeto. Este objeto del usuario tendrá una característica biométrica que permite identificar al usuario con esta característica biométrica. En concreto, el objeto puede ser una punta de dedo o la mano del usuario o una pluralidad de puntas de dedo y la característica biométrica que se obtiene de esta imagen puede ser la huella dactilar de al menos una punta de dedo o incluso un conjunto de huellas dactilares de, por ejemplo, dos, tres o cuatro puntas de dedo.
La imagen se puede obtener usando un sensor óptico como una cámara. Preferiblemente, este sensor óptico es un sensor óptico de un dispositivo móvil como un teléfono inteligente disponible comúnmente. La cámara puede ser una cámara que sea capaz de obtener imágenes de alta definición con un megapíxel o más.
La imagen obtenida es proporcionada entonces para su procesamiento en la etapa 12 a una red neuronal que se explicará más adelante con más detalle. Proporcionar la imagen a la red neuronal puede comprender suministrar o transferir la imagen ya sea internamente dentro del dispositivo móvil a una aplicación correspondiente que realiza la red neuronal o proporcionar la imagen a una ubicación remota. Ésta puede ser un servidor u otra entidad informática. Sin embargo, es preferible que la imagen sea proporcionada a la red neuronal que reside en el dispositivo móvil.
En la etapa 13, la imagen es entonces procesada por la red neuronal según se explicará con más detalle a continuación con respecto a las Figuras 3 - 6. En cualquier caso, el procesamiento de la imagen por parte de la red neuronal dará lugar a una identificación tanto de la posición del objeto que tiene la característica biométrica como del propio objeto en la imagen. Esto significa que, por ejemplo en el caso de que el objeto sea una punta de dedo, la red neuronal identificará la punta de dedo dentro de la imagen (es decir, determinará que la punta de dedo se encuentra presente dentro de la imagen) e identificará su posición dentro de la imagen. Identificar la posición de la punta de dedo dentro de la imagen puede, por ejemplo, comprender identificar todos los píxeles que pertenecen a la punta de dedo o, al menos, identificar una subsección dentro de la imagen que no es idéntica a la imagen completa, por ejemplo, una sección que corresponde a una décima parte del área total de la imagen.
En la siguiente etapa 14, se extrae la característica biométrica del objeto identificado. Dicha extracción puede comprender, por ejemplo, extraer únicamente aquellas partes de la punta de dedo identificada que constituyen efectivamente la huella dactilar.
Esta característica biométrica puede entonces ser procesada adicionalmente. Esto se muestra con las etapas 15 y 16.
En la etapa 15, la característica biométrica es simplemente almacenada. Almacenar la característica biométrica puede comprender almacenar la característica biométrica en un dispositivo de almacenamiento preferiblemente no volátil. Este dispositivo de almacenamiento puede ser un dispositivo de almacenamiento como un almacenamiento de estado sólido en el propio dispositivo móvil o una ubicación de almacenamiento remota. La ubicación de almacenamiento remota puede ser el servidor de una empresa o cualquier otra ubicación de almacenamiento remota. En este caso, la característica biométrica es enviada en forma de paquete de datos (como una imagen o PDF o valores numéricos o similares) a través de medios de transferencia de datos como una conexión LAN o una conexión WLAN o a través de Internet móvil.
Además de almacenar la característica biométrica de cualquier manera o alternativamente a almacenar la característica biométrica según la etapa 15, la característica biométrica puede ser suministrada según la etapa 16 a un medio de identificación como entrada. Este medio de identificación puede ser una aplicación que reside en el dispositivo móvil con el que se ha tomado la imagen del objeto del usuario que tiene la característica biométrica o también puede ser un medio de identificación remoto como un servidor de inicio de sesión u otra entidad que utiliza la característica biométrica para identificar al usuario y realiza otras etapas como inicio de sesión en una red social, una cuenta bancaria o similar.
La Figura 2 muestra una explicación más detallada de cómo se puede identificar a un usuario utilizando la característica biométrica en el caso de que la característica biométrica sea una huella dactilar, en cuyo caso el objeto sería al menos una punta de dedo.
El procedimiento de la Figura 2 comienza con la etapa 21, en la que se extrae la característica biométrica de la punta del dedo y, por consiguiente, estas etapas se realizan al menos después de la etapa de extraer, del objeto identificado, la característica biométrica en la etapa 14 explicada en la Figura 1.
Extraer las características biométricas de la punta de dedo puede comprender, por ejemplo, extraer una ubicación y el tipo de puntos característicos de la huella dactilar. También puede comprender extraer sólo tipos muy específicos de puntos característicos (por ejemplo, el cruce de dos o más líneas en la huella dactilar).
Con el fin de identificar al usuario utilizando esta información, es necesario, por supuesto, que se disponga de una referencia en forma de una característica biométrica correspondiente. Por esta razón, se puede dar el caso de que el medio de identificación, según se ha explicado anteriormente con respecto a la Figura 1, esté asociado con un dispositivo de almacenamiento o comprenda un dispositivo de almacenamiento en el que se almacenan características biométricas para usuarios específicos. Por ejemplo, para cada usuario puede existir un archivo en el que se almacenan una o más características biométricas en forma de, por ejemplo, imágenes, valores numéricos u otra estructura de datos.
En la siguiente etapa 22, la característica biométrica obtenida a partir de la huella dactilar se compara con una característica biométrica almacenada de forma correspondiente. En el caso de que la característica biométrica almacenada esté representada por una serie de ubicaciones de los puntos característicos, puede comprender comparar correspondientes ubicaciones en la característica biométrica extraída. Por supuesto, se conocen otros medios para comparar una característica biométrica obtenida con una característica biométrica almacenada y se pueden utilizar, por ejemplo, tecnologías de reconocimiento de imágenes, transformaciones de frecuencia o similares. Comparar la característica biométrica obtenida y la característica biométrica almacenada se realiza, según la invención, de manera que se puede calcular un grado de correspondencia entre la característica biométrica obtenida y la característica biométrica almacenada. En otras palabras, esta comparación dará lugar a una diferencia entre la característica biométrica almacenada y la característica biométrica obtenida que se calcula. Esta diferencia puede ser un único número real o un tensor o un vector o cualquier otra estructura matemática. También puede ser una imagen de diferencia que se obtiene sustrayendo, a una imagen de característica biométrica almacenada, una imagen de característica biométrica obtenida, píxel a píxel.
Se puede proporcionar un umbral que se puede utilizar para determinar si la característica biométrica obtenida corresponde a la característica biométrica almacenada y, por lo tanto, permite identificar al usuario.
En consecuencia, en la etapa 23 se determina si la diferencia entre la característica biométrica obtenida y la característica biométrica almacenada está por debajo o por encima de este umbral. Si está por debajo de este umbral, en la etapa 25 se determina que el usuario es identificado por la característica biométrica. Si la diferencia está por encima del umbral, se determina, por contra, en la etapa 24 que el usuario no es identificado por la característica biométrica.
Esto dará lugar entonces a que el medio de identificación determine si el usuario es o no es identificado por la huella obtenida.
Las Figuras 1 y 2 han descrito la forma de identificar al usuario utilizando la característica biométrica obtenida a partir de la imagen tomada originalmente en el caso de que se utilice una sola punta de dedo para identificar al usuario y esta punta de dedo estuviera presente en la imagen.
Sin embargo, también se contempla que el medio de identificación no puede evaluar una sola punta de dedo, sino que puede evaluar más de una punta de dedo, tal como dos puntas de dedo, o incluso todas las puntas de dedo disponibles en la imagen, con el fin de identificar al usuario. La manera en que una característica biométrica obtenida a partir de una sola punta de dedo o de una huella dactilar de la pluralidad de puntas de dedo es mapeada con una característica biométrica almacenada por el medio de identificación corresponde a la que se ha descrito con respecto a la Figura 2.
Sin embargo, en el caso de que se evalúe más de una huella dactilar, puede ser que el usuario sólo sea identificado en el caso de que una precisión de identificación combinada de las características biométricas sea superior a un umbral determinado o que el usuario sólo sea identificado en el caso de que, para cada punta de dedo obtenida, la comparación de la característica biométrica obtenida con la característica biométrica almacenada, según se explica en las etapas 22 y 23 de la Figura 2, lleve al resultado en la etapa 25.
El último caso es sencillo, ya que el procedimiento explicado con respecto a la Figura 2 se aplica a cada una de las huellas dactilares en la imagen y sólo si la diferencia entre la característica biométrica obtenida y la característica biométrica almacenada para cada huella dactilar obtenida está por debajo del umbral determinado, se identifica al usuario. En cualquier otro caso, el usuario no puede ser identificado.
Sin embargo, en el caso de que el usuario sea identificado en base a que la precisión de la identificación combinada de las huellas dactilares de todas las puntas de dedo en la imagen esté por encima de un umbral determinado, no es necesario que, para cada punta de dedo, la comparación de la característica biométrica obtenida y la característica biométrica almacenada produzca como resultado que la diferencia esté por debajo del umbral de acuerdo con la etapa 23 de la Figura 2.
Por ejemplo, considerando que la precisión de la identificación de una característica biométrica es un número que va de 0 (sin identificación) a 1 (correspondencia completa entre la característica biométrica obtenida y la característica biométrica almacenada), la precisión de la identificación combinada puede tener un valor inferior a cuatro (que corresponde a una precisión de identificación perfecta para cuatro huellas dactilares) en el caso de que la precisión de la identificación combinada sea determinada por la suma de las precisiones de identificación individuales obtenidas para cada característica biométrica por separado.
Por ejemplo, el correspondiente umbral para la precisión de la identificación combinada puede ser 3,5. En este caso, bastará con identificar al usuario en el caso de que, por ejemplo, las precisiones de identificación de cada huella dactilar sean aproximadamente 0,9, ya que la suma de estas precisiones de identificación (es decir, la precisión de identificación combinada) es igual a 3,6 y, por consiguiente, está por encima del umbral correspondiente. Como otro ejemplo, considerando que se identifican tres huellas dactilares con una precisión de identificación igual a 0,95, será suficiente con que el cuarto dedo se identifique sólo con una precisión igual a 0,75.
Se observa que la precisión de identificación se puede considerar como el grado relativo de similitud o correspondencia entre la característica biométrica obtenida y la característica biométrica almacenada. De este modo, en el caso de que la característica biométrica obtenida corresponda al 90% de la característica biométrica almacenada, la precisión de la identificación (es decir, la precisión con la que se podría identificar al usuario con este característica biométrica) será igual a 0,9.
Es evidente que también se pueden utilizar otros valores para la precisión de la identificación o incluso otros valores para el umbral. Además, también hay otros medios con los que se puede determinar la precisión de la identificación combinada. Por ejemplo, la precisión de la identificación combinada se puede calcular determinando el valor promedio de las precisiones de identificación o determinando el producto de las precisiones de identificación.
En las Figuras siguientes se describirá con más detalle el procesamiento de la imagen obtenida originalmente para extraer finalmente la característica biométrica de acuerdo con las etapas 12 a 14 y, además, se explicará cómo se puede entrenar la red neuronal para que pueda identificar las puntas de dedo con gran precisión.
La Figura 3 muestra un esquema de flujo de una implementación de las etapas 12 a 14 de la Figura 1 según una forma de realización. El procedimiento que se explica ahora tiene por objeto permitir la identificación de un objeto que incluye una característica biométrica de un usuario dentro de la imagen obtenida. En el sentido de la invención, esta imagen se obtiene en la primera etapa 101 (que corresponde a la etapa 11 de la Figura 1) preferiblemente por medio de un sensor óptico de un dispositivo informático móvil. Este dispositivo informático móvil puede ser un teléfono inteligente o una tableta informática u otro dispositivo correspondiente. De este modo, el sensor óptico puede ser normalmente una cámara, pero también podría ser una cámara de infrarrojos u otro sensor óptico. Esta cámara puede ser una cámara con una resolución de 1 megapíxel (MP) o puede ser una cámara HD o incluso puede tener una resolución más baja. Preferiblemente, la resolución de la imagen obtenida es de al menos 224 x 224 con tres valores de color por píxel.
La imagen obtenida puede incluir un objeto que, según la invención, es para ser identificado no sólo con respecto al objeto como tal (por ejemplo, una punta de dedo) sino también con respecto a su posición dentro de la imagen. El objeto tiene por objeto portar o tener una característica biométrica del usuario que permita identificar al usuario de forma apropiada. Esto significa que el objeto tiene que ser un objeto como una punta de dedo o un conjunto de puntas de dedo que tienen huellas dactilares. Se sabe que las huellas dactilares se pueden utilizar para identificar a un usuario individualmente, es decir, a excepción de algunos casos muy especiales, la punta de un dedo es única para cada persona y, por lo tanto, permite diferenciar entre dos personas en base a las huellas dactilares obtenidas.
Si bien se hará referencia a "una imagen" con respecto a la Figura 1 y a las Figuras siguientes, la invención permite una identificación de objetos en tiempo real y, por lo tanto, el tiempo de procesamiento necesario en esta área es de unos pocos milisegundos, lo que permite también identificar de forma apropiada objetos en imágenes consecutivas, como en un vídeo o en una secuencia en vivo obtenida por el sensor óptico. Por lo tanto, el término "imagen" se debe entender no sólo como una sola imagen sino también como imágenes obtenidas en sucesión en un tiempo muy corto como en un flujo de vídeo.
Efectivamente, como es común en los teléfono inteligentes, cuando se activa la cámara, el usuario del teléfono inteligente obtiene la vista real de la cámara sin siquiera tomar una fotografía. Esta "vista preliminar' también está constituida por una pluralidad de imágenes que son tomadas por la cámara, generalmente con menor resolución. Incluso para esas imágenes se puede utilizar el procedimiento inventivo que se describe.
En una segunda etapa 102 del procedimiento, la imagen obtenida (o las imágenes obtenidas se sucesión una tras otra) es proporcionada a la red neuronal de acuerdo con la etapa 12 de la Figura 1, residiendo la red neuronal preferiblemente, pero no necesariamente, en el dispositivo móvil.
La red neuronal puede ser implementada en una aplicación (app) o en cualquier otro programa que se está ejecutando en el dispositivo móvil. En una forma de realización preferida de la invención, el procesamiento adicional que es realizado por la red neuronal y cualesquiera otras etapas que se realizan en el procedimiento inventivo se realiza sin tener que referirse a ninguna entidad informática fuera del dispositivo móvil, permitiendo de este modo también realizar el procedimiento en un modo "fuera de línea" del dispositivo móvil.
La etapa 102 se puede realizar suministrando la imagen sin ningún otro procesamiento de la imagen o sin ningún otro pre-procesamiento de la imagen directamente a la red neuronal. Sin embargo, esta etapa también puede comprender un pre-procesamiento de la imagen en el que, por ejemplo, se cambia la resolución de la imagen obtenida originalmente, reduciéndola específicamente. Es un descubrimiento de la presente invención que específicamente en el caso de identificar puntas de dedo dentro de una imagen, es suficiente tener una resolución comparativamente baja de 224 x 224 x 3 (el "3" corresponde a tres valores de color de la imagen, es decir, azul, rojo y verde). En el caso de que la imagen obtenida tenga una resolución mucho mayor que la resolución de imagen de 224 x 224 necesaria para identificar puntas de dedo, la etapa 102 o una etapa que se proporciona entre las etapas 102 y 103 puede comprender reducir la resolución de la imagen. Este pre-procesamiento también puede comprender otras etapas como cambiar las condiciones de brillo, cambiar el valor gamma dentro de la imagen o proporcionar cualquier otro pre-procesamiento que se considere adecuado.
Una vez que la imagen se ha proporcionado como entrada a la red neuronal en la etapa 102, esta entrada es procesada en la etapa 103 por la red neuronal de tal manera que se crea una salida que permite identificar el objeto y/o la ubicación del objeto dentro de la imagen. En el caso de que el objeto sea una punta de dedo, esto significa que se identifica al menos una punta de dedo que se encuentra presente en la imagen (por ejemplo, en forma de etiqueta) y su ubicación (por ejemplo, las coordenadas de los píxeles que constituyen la punta de dedo) también se proporciona de alguna manera en la salida. Según se explicará más adelante, esto se puede conseguir proporcionando un cuadro delimitador que rodea e incluye la punta de dedo identificada en una ubicación que corresponde a la punta de dedo y en la que se superpone el cuadro delimitador a la punta del dedo. Las coordenadas de este cuadro delimitador relativas a la imagen se pueden utilizar entonces como la posición de la punta del dedo.
El procesamiento de la entrada (es decir, esencialmente la imagen recibida) en la etapa 103 se puede facilitar de varias maneras utilizando la red neuronal. En cualquier caso, se pretende que la red neuronal sea una red neuronal entrenada específicamente para identificar los objetos deseados que incluyen una característica biométrica. Más preferiblemente, la red neuronal es entrenada para identificar, dentro de una imagen de entrada, puntas de dedo, con independencia de su ubicación y disposición con respecto al sensor óptico, siempre que el sensor óptico pueda tomar una imagen de al menos una punta de dedo. El procesamiento puede implicar, según se explicará más adelante, el procesamiento de la entrada a través de una pluralidad de capas de la red neuronal.
Según la invención, esto comprende al menos que la entrada es procesada por una primera capa de la red neuronal para crear una primera salida intermedia que luego es procesada por la siguiente capa con respecto a la primera capa en la dirección de procesamiento de la red neuronal para crear una segunda salida intermedia. Esta segunda salida intermedia es suministrada entonces a la siguiente capa de la red neuronal en la que es procesada para crear una tercera salida intermedia y así sucesivamente hasta que todas las capas de la red neuronal han procesado su correspondiente salida intermedia recibida. La última capa de la red neuronal proporcionará una salida "final" que más tarde puede ser proporcionada como salida en la etapa 104, según se explicará más adelante.
Además, según la invención, la red neuronal realiza una convolución separable en profundidad. La red neuronal comprende, según se muestra en la Figura 4, en el orden de procesamiento, una capa de entrada, una capa convolucional en profundidad, un primer normalizador por lotes, una primera unidad lineal rectificada, una capa convolucional punto a punto, un segundo normalizador por lotes, una segunda unidad lineal rectificada y una capa de salida.
Después de procesar la imagen a través de todas las capas de la red neurona!, se crea una salida que finalmente identificará la posición y el propio objeto.
Esto se realiza de acuerdo con la etapa 104, en la que la salida de la red neuronal es proporcionada como salida. De acuerdo con características preferidas de la invención, esta salida puede ser una "imagen modificada" en la que esta imagen puede ser aumentada con un cuadro delimitador que rodea la punta de dedo identificada para proporcionar al usuario información sobre el objeto identificado y su posición.
Sin embargo, no es necesario que la salida sea mostrada en un visualizador del dispositivo móvil o en cualquier otro visualizador asociado con el dispositivo móvil. Efectivamente, la salida también se puede proporcionar en forma de una matriz o un tensor según se explicará más adelante, que identifique correctamente la posición de la punta de dedo en la imagen (específicamente las coordenadas de los píxeles dentro de la imagen que constituyen la punta de dedo) y esta matriz o tensor se puede suministrar a un módulo de procesamiento adicional que utiliza esta información, específicamente las coordenadas que identifican la punta de dedo, para aplicar un procesamiento adicional a la punta de dedo identificada. La salida se puede utilizar posteriormente para extraer la característica biométrica del objeto identificado, de acuerdo con la etapa 14 según la Figura 1.
Este procesamiento adicional puede incluir preferiblemente que la punta de dedo identificada sea evaluada para identificar la huella dactilar del usuario. Por ejemplo, considerando una imagen de alta resolución tomada de la punta del dedo, el procedimiento inventivo puede comprender que, en una primera etapa, la posición de la punta del dedo en la imagen sea identificada utilizando el procedimiento que comprende las etapas 101 - 104, según se ha explicado anteriormente, y el resultado final es suministrado entonces a otro componente de procesamiento de imágenes que utiliza el resultado que identifica la punta de dedo y su ubicación para evaluar la imagen de alta resolución con el fin de identificar la huella dactilar. Esto se puede utilizar para identificar al usuario, aumentando con ello, por ejemplo, la seguridad de procesos adicionales, según se ha explicado en la Figura 2. Por ejemplo, si el usuario utiliza el procedimiento inventivo con el fin de identificarse para una transferencia bancaria con su dispositivo móvil, el procedimiento inventivo puede aumentar la seguridad de la transferencia bancaria permitiendo una identificación correcta y única del usuario respectivo, ya que la huella dactilar de un usuario identifica de manera exclusiva a esta persona.
La invención no se limita a la realización de transferencias bancarias utilizando un correspondiente procedimiento para identificar una punta de dedo, sino que también se puede utilizar para identificar al usuario con el fin de, por ejemplo, acceder a funciones del dispositivo móvil o a cualquier otra actividad que requiera la identificación y autenticación del usuario.
La Figura 4 muestra el procesamiento interno de una entrada recibida por el conjunto de capas convolucionales internas 200 de la red neuronal, según la invención. Las capas convolucionales están dispuestas entre la capa de entrada 240, que recibe la imagen, y la última capa de salida 250.
En cualquier caso, la capa 240 recibirá una entrada 230 que al menos corresponde de alguna manera a la imagen obtenida originalmente. Esta entrada se proporciona preferiblemente en forma de al menos una matriz que tiene la dimensión N x M, en el que N y M son números enteros mayores que 0. La matriz puede, por ejemplo, representar los píxeles de la imagen para al menos un valor de color (por ejemplo, el rojo). De este modo, las entradas en esta matriz pueden tener valores que corresponden al valor del respectivo color (en el caso de ejemplo rojo) de este píxel concreto. Según se desprende claramente de lo siguiente, la entrada puede no ser idéntica a la imagen obtenida, sino que puede ser una matriz P que se ha obtenido a partir de la matriz que representa la imagen original mediante algún tipo de pre­ procesamiento (por ejemplo, reducción de la resolución según se ha explicado anteriormente). Sin embargo, para facilitar el análisis, se asumirá que la entrada 230 corresponde a la matriz N x M que representa la imagen obtenida originalmente y cada entrada de esta matriz N x M corresponde a un valor de un color (por ejemplo, rojo) de un píxel en la respectiva imagen. La aplicación de esta enseñanza a cualquier otra matriz transformada que se origina a partir de la matriz original N x M y se obtiene mediante el procesamiento de esta matriz en capas de la red neuronal es sencilla. Siguiendo ahora el proceso de ejemplo de la Figura 4, la entrada 230 es recibida por la capa convolucional en profundidad 211 para su procesamiento. A continuación se proporcionará un ejemplo comparativamente sencillo con respecto a cómo la matriz de entrada 230 puede ser procesada por la capa convolucional en profundidad. Esto implicará que se utiliza un núcleo K para calcular productos internos con la matriz. El núcleo es ejecutado sobre la matriz en unos denominados "avances" (“strides”). Si bien en el siguiente ejemplo se utilizarán valores para anchos de avance horizontal y vertical iguales a 1, se puede utilizar cualquier otro valor mayor que 1 siempre que los anchos de avance sean enteros mayores que 0. El núcleo K tiene un tamaño S x T, en el que S y T son enteros y menores que N y M.
Además, se asumirá que sólo se utiliza la matriz de entrada original I (es decir, la matriz de entrada 230) de tamaño N x M para calcular el producto interno con el núcleo. Sin embargo, también se contempla que se pueda utilizar una matriz ampliada Z para calcular los productos internos con el núcleo. Esta matriz extendida Z se obtiene "uniendo", a la matriz original I, líneas y filas por encima de la primera línea y por debajo de la última línea, así como a la izquierda de la primera fila y a la derecha de la última fila.
Esto se denomina "relleno" (“padding”). El relleno normalmente comprenderá que se añade un número Pw de líneas en la dirección de línea y se añade un número Ph de filas en la dirección de fila. El número Pw puede ser igual a S - 1 y el número Ph puede ser igual a T - 1, de tal manera que cualquier producto interno calculado entre Z y el núcleo contiene al menos una entrada de la matriz original I. La matriz resultante Z será, por lo tanto, de tamaño (N 2Pw) x (M 2Ph). En vista de ello, la matriz Z tendrá las siguientes entradas:
Figure imgf000008_0001
En este contexto, se deduce que la nueva matriz obtenida calculando todos los productos internos y disponiéndolos de forma apropiada según líneas y filas será generalmente de tamaño
Figure imgf000008_0002
en el que Ww y Wh definen el ancho de avance en la dirección de las líneas y la dirección de las filas, respectivamente. Está claro que sólo se permiten esos rellenos y esos anchos de avance para un determinado núcleo K con tamaño S * T que producen como resultado números enteros para el tamaño de la nueva matriz. Además, los anchos de avance Ww y Wh son preferiblemente más pequeños que S y T, respectivamente, ya que de lo contrario el núcleo se movería sobre la matriz I de manera que algunas líneas o filas de la matriz original quedan fuera en el cálculo de la nueva matriz.
Para facilitar la discusión, a continuación se asumirá que no se proporciona un relleno a la matriz original I y que el ancho de avance es igual a 1 para avances horizontales y verticales. Además, se asumirá que el núcleo es una matriz con un tamaño S * S, es decir, el caso especial en el que se asumirá S = T. La aplicación de las explicaciones que se proporcionan a continuación a un relleno y ancho de avance arbitrarios, así como a cualquier tamaño de núcleo es sencilla con la enseñanza que se proporciona a continuación.
En la capa convolucional en profundidad 211, la matriz de entrada recibida 230 se utiliza para formar un producto interno con el núcleo K que tiene el tamaño S x S en el que S < N, M. El producto interno se calcula para cada matriz reducida de la matriz original N x M en el que la matriz reducida es de tamaño S x S y contiene entradas coherentes en la matriz original N x M. Por ejemplo, considerando S = 3, la primera matriz reducida R de la matriz original N x M comprende las entradas i = 1, 2, 3; j = 1, 2, 3 de modo que la matriz reducida (N * M)s comprende nueve entradas y se calcula el producto interno con el núcleo K que produce como resultado un único número. La siguiente matriz reducida en las direcciones de las líneas de la matriz original N x M es la matriz en el que i se incrementa en 1, de tal manera que la siguiente matriz en esta dirección está constituida por los elementos de la matriz original N * M en el que i = 2, 3, 4; j = 1, 2, 3. Esta matriz se puede utilizar entonces para calcular el siguiente producto interno con el núcleo. Cabe señalar que el ejemplo proporcionado de la matriz S x S con S = 3 es sólo un ejemplo y que también se pueden utilizar otros núcleos.
Con el fin de calcular la siguiente matriz reducida R de tamaño (N * M)s en la dirección de las filas/columnas, se incrementa en 1 el índice j de elementos en la matriz original N * M. Esto se realiza hasta la última matriz reducida en la dirección de las líneas en que i = N - S 1, N - S 2, N - S 3 en el caso de S = 3. Para las filas, esto se realiza de una correspondiente manera en la que j = M - S 1, M - S 2, M - S 3. Calculando estos productos internos, se calcula una nueva matriz, la matriz P, que tiene el tamaño (N - S 1) * (M - S 1). Sus entradas P¡j corresponden al respectivo producto interno calculado con la correspondiente matriz reducida de la matriz original N * M y el núcleo K. Cabe señalar que una matriz de este tamaño será, efectivamente, suministrada a la capa convolucional punto a punto de la capa 200.
El núcleo K constituye entradas que se obtienen a través de un proceso de aprendizaje con el que se entrena a la red neuronal con el fin de identificar de forma apropiada los objetos deseados. El núcleo K utilizado en la capa 200 de la red neuronal no es necesariamente idéntico en tamaño y entradas a los núcleos utilizados en otras capas de la respectiva red neuronal. Además, las entradas en el núcleo no tienen por qué ser idénticas entre sí, sino que al menos constituyen números mayores que o iguales a 0. Se puede considerar que las entradas representan "pesos" que se obtienen a través del aprendizaje de la red neuronal.
El resultado del procesamiento de la matriz 230 por parte de la capa convolucional en profundidad es la matriz 231 que tiene, según se ha explicado anteriormente, un tamaño (N - S 1) * (M - S 1) en el caso de que el núcleo se mueva en avances sobre la matriz original N * M que tienen una distancia de Ai = 1 en la dirección de las líneas Aj = 1 en la dirección de las filas. Sin embargo, en el caso de que esos avances tengan una distancia mayor como Ai = 2 o Ai = 3 (y potencialmente, de forma correspondiente para las filas), la dimensión del resultado 231 cambiará de forma correspondiente según se ha explicado anteriormente.
En el procesamiento adicional, este resultado 231 es suministrado al primer normalizador por lotes 212 que sigue en el orden de procesamiento representado con las flechas de la Figura 4 después de la capa convolucional en profundidad 211. El normalizador por lotes intenta normalizar la matriz de resultados 231 recibida. Esto se consigue calculando la suma de cada una de las entradas de la matriz (N - S 1) * (M - S 1) y dividiéndola por el número de entradas de la matriz (N - S 1) * (M - S 1). El valor promedio V de la matriz (N - S 1) * (M - S 1) (denotada como P a continuación, con los correspondientes elementos de matriz Py) se proporciona del siguiente modo:
V = Tiij Pij
n ■ m
en el que n y m representan el número de líneas y columnas/filas en la matriz N * M o el número de líneas y columnas en la matriz P. Los elementos Pij son las entradas de la matriz P en el que un determinado elemento Pij es el elemento de la matriz en la línea i y la columna j.
El normalizador por lotes calcula entonces una matriz reducida P' sustrayendo, de cada entrada Pij de la matriz original, el valor promedio V, de manera que P'ij = Pij - V. De este modo, los valores de la matriz reducida P' son normalizados de manera que se filtran anomalías en una u otra dirección (valores extremadamente grandes o extremadamente pequeños).
El resultado 232 creado por el primer normalizador por lotes 212 es una matriz que todavía tiene (en el ejemplo de la Figura 4) el tamaño (N - S 1) * (M - S 1) ya que, hasta ahora, no se ha realizado ninguna otra reducción dimensional de la matriz.
El resultado 232 se proporciona entonces a la primera unidad lineal rectificada 213 que sigue al primer normalizador por lotes 212.
La unidad lineal rectificada modifica cada entrada de la matriz 232 calculando además nuevas entradas de matriz Pij en las que
Figure imgf000009_0001
Esto produce como resultado valores que serían menores que 0 después de haber pasado el normalizador por lotes a establecer igual a 0, por lo que no tiene más influencia en el procesamiento adicional en la capa convolucional en profundidad que se explicará a continuación. Esto significa que, por ejemplo, valores de color que están por debajo del valor promedio calculado en el normalizador por lotes ya no se consideran más, y solamente los valores que al menos corresponden al valor promedio V tienen influencia en el resultado de la siguiente etapa del cálculo.
El resultado 233 que produce la primera unidad lineal rectificada 213 sigue siendo una matriz de forma/tamaño (N - S 1) * (M - S 1) y esta matriz es suministrada a la capa convolucional punto a punto 221.
Esta capa convolucional punto a punto 221 crea un resultado 234. Este resultado 234 es creado por la capa convolucional punto a punto 221 tomando cada entrada en la matriz (N - S 1) * (M - S 1) 233 y multiplicando esta entrada por un peso a. a es preferiblemente un número que es mayor que 0 en cualquier caso y este número es idéntico para cada entrada en la matriz (N - S 1) * (M - S 1). El resultado 234 que se obtiene de la capa convolucional punto a punto 221 es, por lo tanto, una matriz que tiene el mismo tamaño (N - S 1) * (M - S 1) pero en la que cada entrada es multiplicada con el peso a.
El resultado 234 es proporcionado entonces al segundo normalizador por lotes 222, en el que es normalizado de la manera que se ha explicado para el primer normalizador por lotes 212 y se calcula una matriz normalizada P' de la misma dimensión que el resultado 235, y esta matriz/resultado 235 es suministrado a la segunda unidad lineal rectificada 223, en la que se aplica una función de rectificación para obtener un resultado/matriz P 236 que es suministrado entonces a la siguiente capa de la red neuronal o, si no hay ninguna otra capa siguiente en la red neuronal, el resultado 236 se proporciona como una salida.
En la presente invención se ha descubierto que, para identificar puntas de dedo, lo más apropiado son trece capas que son idénticas a la capa 200 explicada en la Figura 4, ya que producen una precisión de identificación comparativamente alta de las puntas de dedo y su ubicación, al tiempo que sólo se necesitan unos recursos informáticos reducidos para implementar el respectivo procedimiento, lo que lo hace más aplicable a dispositivos móviles.
La Figura 5 muestra otra forma de realización según la invención que amplía el concepto descrito en la Figura 4 para permitir una identificación de una punta de dedo (concretamente los píxeles de la imagen original que constituyen la punta de dedo) utilizando una serie de cuadros delimitadores y una disgregación de la imagen original en cuadrículas. Cabe señalar que las etapas que se describen a continuación se pueden realizar después de haber procesado la imagen original en cada capa de la red neuronal o sólo después de que la imagen haya sido procesada en la capa final de la red neuronal, es decir, inmediatamente antes de producir la salida según la etapa 104 de la Figura 3.
La forma de realización que se describe en la Figura 5 asume una red neuronal que ya ha aprendido y que es perfectamente capaz de identificar puntas de dedo u otros objetos con una gran precisión en línea con la invención en base a la salida recibida procedente de una capa de la red neuronal.
De acuerdo con la forma de realización de la Figura 5, se asumirá que la salida recibida procedente de la capa de la red neuronal puede ser todavía representada de alguna manera en la forma de una imagen 300 de una mano 350 que comprende una punta de dedo. De este modo, sólo se hará referencia a "la imagen", aunque es evidente que en lugar de la imagen también se puede utilizar una de las matrices de salida según se explica en la Figura 2.
En una primera etapa, la imagen 300 recibida es disgregada en una pluralidad de celdas de cuadrícula 310, 311 y 313. El número de celdas de la cuadrícula en cada dirección no está limitado, pero en una forma de realización preferida, la imagen 300 se disgrega en 13 celdas de cuadrícula en dirección horizontal y 13 celdas de cuadrícula en dirección vertical, de manera que en lugar de una cuadrícula general de Q * R se crea una cuadrícula de 13 * 13.
En una siguiente etapa, se identifica el punto central 330 de cada celda de la cuadrícula y se utiliza para establecer el origen de un sistema de coordenadas para cada una de las celdas de cuadrícula separada de cualquiera de las otras celdas de la cuadrícula. Alrededor de este centro 330, se dispone al menos un cuadro delimitador 331 y 332 que normalmente tendrá la forma de un rectángulo en el que dichos cuadros tienen, como se puede ver en la celda de cuadrícula 313, una altura inicial h0 y un ancho b0. Para una pluralidad de cuadros delimitadores en cada celda de la cuadrícula, esos valores pueden ser diferentes entre sí. Por ejemplo, se pueden tomar unos valores iniciales h0 y b0 para el cuadro delimitador más pequeño de cada celda de la cuadrícula y se pueden aumentar esos valores en un factor igual a 1,5 o 2 o cualquier otro valor con el fin de calcular las dimensiones de los otros cuadros delimitadores en la respectiva celda de la cuadrícula.
Cabe señalar que la posición de un cuadro delimitador, por ejemplo el cuadro delimitador 331 en el sistema de coordenadas de la respectiva celda de la cuadrícula estará representada por la posición del punto central del cuadro delimitador 331 con respecto al punto central 330, es decir, el origen del respectivo sistema de coordenadas, en la respectiva celda de la cuadrícula. De este modo, la posición del respectivo cuadro delimitador en la celda de cuadrícula 311 puede ser representada por dos coordenadas x e y. Se considera que el ancho y la altura del cuadro delimitador representan características geométricas del cuadro delimitador que pueden ser representadas por dos valores mayores que 0.
Dado que esos cuadros delimitadores se utilizarán más adelante para identificar la posición de una punta de dedo, también es apropiado asociar, con cada uno de esos cuadros delimitadores, un quinto valor que es la probabilidad de que el cuadro delimitador incluya la respectiva punta de dedo que se quiere identificar.
De este modo, cada cuadro delimitador puede ser representado por un vector de dimensión 5 del siguiente modo
posición-x de cuadro delimitador ^
posición-y de cuadro delimitador
b = ancho b de cuadro delimitador
altura h de cuadro delimitador
Figure imgf000010_0001
probabilidad /
Esto significa que las celdas de la cuadrícula junto con sus respectivos cuadros delimitadores se pueden representar en forma de un tensor T que tiene las dimensiones Q * R * B * A, en el que A es el número de cuadros delimitadores por celda de cuadrícula. En el caso más preferido para identificar puntas de dedo, Q = R = 13, B = 5 (la dimensión del vector b) y A se puede establecer igual a un número entero entre 3 y 10, más preferiblemente 5.
Según se ha explicado anteriormente, se asume que la red neuronal ya ha aprendido perfectamente a identificar un objeto específico, preferiblemente una punta de dedo. Esto implica que la red neuronal es capaz de identificar un patrón específico de píxeles que muy probablemente representan una punta de dedo. Esto se podría referir a patrones específicos de valores de color u otras características como el brillo de esos puntos. Sin embargo, está claro que la imagen 300 puede mostrar de forma arbitraria una punta de dedo que podría no corresponder en tamaño y disposición a una punta de dedo que se ha utilizado para el aprendizaje de la red neuronal.
Sin embargo, con la ayuda de los cuadros delimitadores y la red, es posible que la red neuronal identifique el cuadro delimitador específico que más probablemente comprenda la punta de dedo. Con el fin de identificar este cuadro delimitador específico, la red neuronal (o un componente asociado que procesa la imagen 300) compara los valores de los píxeles dentro de cada cuadro delimitador de cada celda de la cuadrícula con un patrón de píxeles que corresponde a una punta de dedo, según ha aprendido anteriormente la red neuronal. En esta primera etapa, es muy poco probable que se encuentre una correspondencia perfecta, pero habrá cuadros delimitadores que es más probable que incluyan al menos una parte de una punta de dedo que otros cuadros delimitadores.
En el caso representado en la Figura 5, por ejemplo, el cuadro delimitador 341 centrado en el punto M de la celda de cuadrícula 313 incluye una parte de la punta de dedo de la mano 350. En cambio, ninguna de las celdas de cuadrícula 310 y 311 comprende cuadros delimitadores que incluyan una parte de una punta de dedo. Cuando el procedimiento continúa evaluando los valores de píxel dentro del cuadro delimitador 341 y potencialmente del cuadro delimitador 340, el proceso puede determinar que el cuadro delimitador 341 incluye incluso más de un patrón que corresponde a una punta de dedo que el cuadro delimitador 340.
En vista de ello, el procedimiento puede concluir que ninguno de los cuadros delimitadores 331 y 332 (y potencialmente otros cuadros delimitadores en otras celdas de la cuadrícula) incluye una punta de dedo y puede establecer su valor de probabilidad en su correspondiente vector B igual a 0.
Dado que ambos cuadros delimitadores 340 y 341, centrados en el punto M, comprenden al menos una parte de una punta de dedo, se puede considerar que es probable que comprendan efectivamente una punta de dedo y el valor de probabilidad será superior a 0 en una primera etapa.
Si bien la celda de cuadricula más pequeña 340 está casi completamente llena con un patrón que podría corresponder a una punta de dedo, sólo el borde izquierdo de la celda de cuadricula más grande 341 puede ser considerado por el proceso como que incluye un patrón que corresponde a una punta de dedo.
Con ello, el procedimiento puede seguir calculando una función de pérdida que determina la diferencia entre el patrón identificado dentro de cada uno de los cuadros delimitadores 341 y 340 con respecto a un patrón obtenido del aprendizaje que corresponde efectivamente a una punta de dedo.
En la siguiente etapa, el procedimiento intentará minimizar esta diferencia modificando el tamaño y la posición de los respectivos cuadros delimitadores. A este respecto, se puede prever que se utiliza el cuadro delimitador más grande 341 como el punto de partida y se modifica su posición y formas o que se utiliza el cuadro delimitador más pequeño 340 como el punto de partida y se modifica su posición y tamaño con el fin de minimizar las diferencias con respecto al patrón aprendido.
Este proceso de minimización puede comprender, en primer lugar, modificar la posición del cuadro delimitador (a continuación se asumirá que el cuadro delimitador 341 se utiliza para los cálculos adicionales) moviéndolo una pequeña cantidad en direcciones ortogonales primero a lo largo del eje x y luego a lo largo del eje y (o viceversa), según se muestra en la Figura 3, alrededor del punto central M de la respectiva celda de cuadrícula. El movimiento será a lo largo del eje-x y eje-y positivo y negativo y en cada posición, se realizará una comparación para determinar una función de diferencia entre el patrón obtenido del aprendizaje y el patrón real identificado en la imagen. Esto permite calcular una función bidimensional que representa la diferencia d(x,y) en función de las coordenadas.
En base a esto se puede calcular un gradiente Vxyd que permite determinar en qué dirección del sistema de coordenadas hay que mover el cuadro delimitador con el fin de aumentar y, preferiblemente, maximizar la correspondencia con el patrón aprendido (que corresponde a minimizar el valor de la función d(x,y)). Este será el caso para Vxyd = 0.
Esto puede provocar que el cuadro delimitador sea movido a lo largo de la dirección r hacia un nuevo punto central M' en el que la función d(x,y) tiene un mínimo. En una siguiente etapa, se puede aumentar y reducir el tamaño del respectivo cuadro delimitador en la posición M' con el fin de determinar si aumentando o reduciendo el tamaño en una o dos direcciones (es decir, la altura y/o el ancho) cambia el valor de una función de diferencia adicional en comparación con el patrón original que se puede denotar con e(h, b) en función de la altura h y el ancho b. Esta función es minimizada de tal manera que para un cuadro delimitador específico que tiene una posición M' y que tiene una altura hf y un ancho bf, se minimiza la diferencia con el patrón aprendida.
Este cuadro delimitador se utilizará luego como el cuadro delimitador final que tiene la mayor probabilidad p de identificar esas partes de la imagen 300 que contienen la respectiva punta del dedo. El vector de salida de este cuadro delimitador tendrá entonces la siguiente forma
Figure imgf000011_0001
Como resultado de este proceso, se obtiene como salida un tensor T con dimensión Q * R * B * A en el que, para cada cuadro delimitador de cada celda de la cuadrícula, se proporciona la posición x e y con respecto al centro de la celda de cuadrícula, así como el ancho y la altura del respectivo cuadro delimitador y su probabilidad de identificar o comprender una punta de dedo.
Con el fin de evitar el movimiento de cuadros delimitadores de una celda de cuadrícula adyacente en la misma dirección de manera que se superpongan entre sí, y con el fin de evitar que cuadros delimitadores de diferentes celdas de cuadrícula se muevan a otras celdas de cuadrícula, el procedimiento se puede proporcionar de manera que el movimiento del centro de un cuadro delimitador sólo sea posible dentro de su celda de cuadrícula original.
El resultado será, de este modo, un tensor que comprende una pluralidad de vectores B en el que uno o más de esos vectores tienen una alta probabilidad de identificar la punta de dedo mientras que otros tienen una baja probabilidad. Los que tienen una baja probabilidad pueden ser ignorados completamente estableciendo todos sus valores correspondientes iguales a 0, reduciendo de este modo el esfuerzo de procesamiento necesario en el procesamiento del tensor.
A continuación se utilizarán los vectores B de mayor probabilidad con el fin de permitir el procesamiento adicional de la imagen y, en concreto, de las partes de la imagen que identifican la punta de dedo, por ejemplo, con el fin de identificar al usuario del dispositivo móvil procesando la punta del dedo con el fin de identificar la huella dactilar.
Si bien el enfoque anterior permite identificar de forma apropiada el cuadro delimitador que se utilizará para procesar adicionalmente la característica biométrica identificada, como una huella dactilar, se proporcionará una explicación más detallada sobre los cuadros delimitadores a descartar.
Según se ha explicado anteriormente, el vector b de un cuadro delimitador comprende una probabilidad p que indica la probabilidad de que el respectivo cuadro delimitador incluya o represente una punta de dedo. Esto se puede utilizar para ordenar todos los cuadros delimitadores (o sus vectores, respectivamente) en orden descendente empezando por los vectores b que tienen el valor de probabilidad p más grande.
Una vez hecho esto, se puede recorrer la lista en orden descendente empezando por el cuadro delimitador que tiene el valor p más grande. Este recorrido puede incluir seleccionar de la lista un cuadro delimitador específico con valor p y calcular, para este cuadro delimitador específico, la cantidad de intersección con todos los demás cuadros delimitadores. Esto significa que el área del cuadro delimitador específico que se selecciona es comparada con el área de los restantes cuadros delimitadores y cualesquiera áreas que tienen en común (es decir, en la que los cuadros delimitadores intersectan) contribuye a la intersección calculada.
La cantidad de intersección se puede calcular como un ratio con respecto al área del cuadro delimitador seleccionado. De este modo, se obtiene un valor adimensional para cada intersección calculada que va de 0 (sin intersección) a 1 (el cuadro delimitador restante considerado intersecta o cubre completamente el área del cuadro delimitador seleccionado).
En la siguiente etapa, se puede utilizar un umbral preestablecido para ignorar o descartar cuadros delimitadores u ordenarlos. En el ejemplo anterior, el umbral podría ser una intersección calculada igual a 0,75. Por cada par calculado de un cuadro delimitador seleccionado y un cuadro delimitador restante cuya intersección supera este umbral, el cuadro delimitador de valor p más pequeño puede ser ignorado u ordenado en la lista mencionada anteriormente.
Esto finalmente dará lugar a que sólo quede un cuadro delimitador que representará la punta del dedo. Esto puede, por supuesto, dar lugar a hasta cuatro cuadros delimitadores restantes, dependiendo de la cantidad de dedos que son visibles en la imagen.
En la Figura 6, se explicará ahora cómo se puede entrenar de forma apropiada la red neuronal de manera que los pesos del núcleo K y el peso a explicados con respecto a la Figura 4, así como los patrones que identifican efectivamente una punta de dedo, sean aprendidos por la red neuronal.
El procedimiento de la Figura 6 comienza con la provisión de datos de entrenamiento 401 y cuadros delimitadores preestablecidos 408. Los datos de entrenamiento pueden estar constituidos por una pluralidad de imágenes de, por ejemplo, puntas de dedo o una pluralidad de dedos representados en una imagen junto con otros objetos. Las imágenes pueden ser multiplicadas utilizando, a partir de la misma imagen, copias rotadas, resaltadas, oscurecidas, ampliadas o modificadas de otra manera que se introducen como datos de entrenamiento. Los cuadros delimitadores proporcionados de acuerdo con el elemento 408 son cuadros delimitadores correspondientes a su respectiva imagen en los datos de entrenamiento, en el que estos cuadros delimitadores son los cuadros delimitadores que están asociados correctamente con el objeto a identificar, es decir, tienen el tamaño correcto y la posición correcta y un valor de probabilidad correspondiente, según se explica con respecto a la Figura 5. Dichos cuadros delimitadores se proporcionan para todas y cada una de las imágenes de los datos de entrenamiento.
En la siguiente etapa, se proporciona una imagen de entrada específica 402 a la red neuronal en un entorno de entrenamiento en el que, además de la red neuronal, se proporciona un optimizador 407 y un calculador de función de pérdida 406.
La imagen de entrada es procesada, en una primera ronda, utilizando la capa convolucional en profundidad y el primer normalizador por lotes, así como la primera unidad lineal rectificada 403, resumidos como DCBR, y luego es transferida a la capa convolucional punto a punto, al segundo normalizador por lotes y a la segunda unidad lineal rectificada, resumidos como PCBR, en que se procesan de acuerdo con la descripción proporcionada en la Figura 4. Esto significa que las etapas o las secciones 403 y 404 representadas en la Figura 6 son ejecutadas preferiblemente trece veces según se describe con referencia a la Figura 4 utilizando, en cada sección 403 y 404, los correspondientes pesos para la capa convolucional punto a punto (PC) y el núcleo K de la capa convolucional en profundidad (DC). El primer y el segundo normalizadores por lotes, así como las unidades lineales rectificadas de los elementos 403 y 404 funcionan de la manera explicada anteriormente con respecto a la Figura 5.
Como resultado, en línea con la Figura 5, la salida será un primer tensor T de tamaño Q * R * B * A con unas primeras entradas Tqrba en línea con la Figura 5. Este resultado será proporcionado a continuación a la función de pérdida, en la que será comparado con los cuadros delimitadores preestablecidos con el fin de identificar las diferencias entre el resultado 405 y los cuadros delimitadores correctos obtenidos de 408. Esta diferencia obtenida por la función de pérdida 406 es proporcionada entonces al optimizador 407 que, a su vez, modificará los pesos de cada capa convolucional punto a punto y cada capa convolucional en profundidad, es decir, a y las entradas en el núcleo K. Esto significa que, ya sea para todas las capas de la red a la vez o para cada capa individualmente, se manipulan el peso a de la capa convolucional punto a punto y las entradas en el núcleo K de la capa convolucional en profundidad.
Con estos nuevos valores, el ciclo se repite para la misma imagen y se proporciona el tensor resultante T' con entradas T'qrba a la función de pérdida y se compara con los cuadros delimitadores correctos, cuyo resultado es proporcionado entonces al optimizador 407 que, una vez más, modifica los pesos.
Este procedimiento se realiza siempre que la diferencia entre el tensor T(n) resultante y, específicamente, los cuadros delimitadores identificados en comparación con los cuadros delimitadores predefinidos del elemento 408 superen un determinado umbral que, en esencia, corresponde a la precisión de la identificación que se pretende.
Después de esto, se toma la siguiente imagen de entrada 402 de los datos de entrenamiento 401 y se proporcionan los correspondientes cuadros delimitadores a la función de pérdida. A continuación, el proceso explicado se repite de nuevo para la nueva imagen y se obtienen los pesos óptimos para la capa convolucional punto a punto y la capa convolucional en profundidad. Esto se repite hasta que una combinación específica de pesos provoca una precisión de identificación apropiada para todas las imágenes de entrada. La combinación de pesos que se obtiene entonces es proporcionada como pesos finales 410.
Estos pesos finales son proporcionados entonces a la aplicación que ejecuta el procedimiento inventivo en el dispositivo móvil.
Por consiguiente, en el concepto de la presente invención, la red neuronal que se proporciona al dispositivo móvil ya está plenamente adaptada para la identificación de objetos específicos que incluyen una característica biométrica, preferiblemente puntas de dedo y, por lo tanto, se puede utilizar sin que se requiera ningún aprendizaje adicional, lo que reduce aún más los recursos informáticos necesarios en los dispositivos móviles.
En total, utilizando las capas convolucionales punto a punto, las capas convolucionales en profundidad y los normalizadores por lotes, así como las unidades lineales rectificadas según se ha explicado anteriormente con referencia a las Figuras 3 y 4, y utilizando la disgregación de la imagen original en celdas de cuadrícula e identificando los correspondientes cuadros delimitadores en línea con la descripción de la Figura 3, se puede proporcionar una aplicación de menos de un megabyte, lo que permite su utilización en un dispositivo móvil de forma aislada, incluso sin ningún acceso a fuentes de datos adicionales a través de Internet o similares. Esto lo hace adecuado para su aplicación en entornos en los que no es posible el acceso a redes inalámbricas o similares. Además, la potencia del procesador necesaria para ejecutar esta aplicación se reduce al mínimo, a la vez que se obtienen resultados adecuados de identificación de puntas de dedo que se pueden utilizar para la identificación posterior del usuario a través de las huellas dactilares asociadas a las puntas de dedo, según se ha explicado anteriormente.
Las explicaciones anteriores se han centrado en imágenes de una mano o dedos que muestran el lado de los dedos que incluye las huellas. Sin embargo, un usuario también puede presentar por accidente o voluntariamente uno o más dedos del otro lado, es decir, del revés de la mano, al sensor óptico. A partir de dicha imagen de un dedo, no se puede extraer una huella dactilar ya que no es visible.
Con el fin de distinguir una imagen de una punta de dedo que incluye la huella dactilar con respecto a una imagen de una punta de dedo que no muestra la huella dactilar sino la uña o nudillos, se puede utilizar el siguiente procedimiento que puede ampliar los procedimientos explicados anteriormente para aumentar la precisión de la identificación.
En los ejemplos anteriores, el cuadro delimitador se ha caracterizado por el vector
Figure imgf000014_0001
y el entrenamiento se ha realizado usando sólo imágenes de dedos que muestran el lado de las puntas de dedo que incluyen las huellas dactilares.
Cuando se permite que se tomen imágenes de ambos lados de las puntas de dedo (es decir, el lado que incluye la huella dactilar y el lado que incluye la uña o nudillos), es ventajoso considerar dos clases de objetos identificados en las imágenes, a saber, esos objetos que constituyen puntas de dedo que muestran huellas dactilares y esos objetos que constituyen puntas de dedo que muestran uñas o nudillos.
En este caso, el mencionado vector puede ser ampliado en una dimensión c de modo que
Figure imgf000014_0002
en el que la c representa una denominada clase. Una primera clase puede representar una identificación positiva (se puede identificar una punta de dedo con una huella dactilar) y la segunda clase puede representar una identificación negativa (la punta del dedo incluye una uña o nudillo). La clase puede estar representada por valores, por ejemplo, 1 para una identificación positiva y 0 para una identificación negativa. Es evidente que, a diferencia de los demás valores del vector b, la clase es un valor discreto y sólo puede tomar un número limitado de diferentes valores correspondientes al número de clases.
El entrenamiento mencionado anteriormente se puede realizar entonces de manera que se proporcionan a la red neuronal identificaciones positivas y negativas (en lugar de sólo los datos de entrenamiento que muestran imágenes con puntas de dedo que incluyen huellas dactilares y cuadros delimitadores 408) con el fin de poder distinguir entre imágenes pertenecientes a la primera o a la segunda clase. En este contexto, es posible imaginar una pluralidad de imágenes de dedos que muestran cualquier cosa que no es la huella dactilar. Todos dichos "objetos" se pueden clasificar en la segunda clase (es decir, identificación negativa) de manera que la red neuronal es entrenada para que distinga imágenes de puntas de dedo que incluyen huellas dactilares con respecto a "cualquier otra" imagen de puntas de dedo. Los cuadros delimitadores proporcionados para entrenamiento comprenderán también, por supuesto, la clase c correcta con el fin de permitir un entrenamiento apropiado de la red.
Con el fin de identificar todas las puntas de dedo en una imagen que incluyen huellas dactilares, el proceso que se ha descrito anteriormente ignorará todos los cuadros delimitadores que representan la posición de una punta de dedo y que se considera que pertenecen a la segunda clase (es decir, identificación negativa), impidiendo de este modo un procesamiento adicional de imágenes o partes de imágenes de puntas de dedo que no muestran la característica biométrica.
Con el fin de ofrecer un contexto en el que se puede realizar el procedimiento inventivo, la Figura 7 muestra un dispositivo móvil en forma de teléfono inteligente según una forma de realización de la invención.
El dispositivo móvil 500 está representado como un teléfono inteligente según se conoce actualmente. Comprende un sensor óptico 520 preferiblemente en la parte trasera de la cámara que es opuesta al lado del dispositivo móvil 500 en el que se encuentra el visualizador 530. La cámara puede ser una cámara con una resolución de 1MP, 2MP o incluso más, de este modo, por ejemplo, una cámara de alta definición. Puede comprender una linterna, pero no es necesario. También puede estar adaptada para tomar imágenes en tiempo real con una resolución reducida y, una vez activada la cámara, el visualizador 530 puede mostrar una representación de lo que la cámara "ve" realmente. Esto puede ser, por ejemplo, una mano 510.
En una forma de realización de la invención, una vez que el procedimiento inventivo se ha realizado para una imagen adquirida, los cuadros delimitadores 511 - 514 que identifican las puntas de dedo de la mano son aumentados sobre la imagen de la mano mostrada en el visualizador 530. Según se ha explicado anteriormente, no es necesario mostrar los cuadros delimitadores identificados, sino que también pueden ser procesados adicionalmente internamente en el dispositivo móvil con el fin de, por ejemplo, procesar las partes de la imagen que corresponden a las puntas de dedo de manera que el usuario es identificado mediante identificación de las huellas dactilares asociadas con las puntas de dedo.

Claims (15)

REIVINDICACIONES
1. Un procedimiento, realizado en un dispositivo móvil, para identificar a un usuario utilizando una imagen de un objeto del usuario, que tiene una característica biométrica del usuario, como una huella dactilar o un conjunto de huellas dactilares de puntas de dedo, comprendiendo el procedimiento:
obtener, por parte de un sensor óptico del dispositivo móvil, la imagen del objeto;
proporcionar la imagen a una red neuronal;
procesar la imagen por parte de la red neuronal, identificando con ello tanto la posición del objeto como el objeto en la imagen;
extraer, del objeto identificado, la característica biométrica;
almacenar la característica biométrica en un dispositivo de almacenamiento y/o proporcionar al menos la característica biométrica como entrada a un medio de identificación, que comprende procesar la entrada con el fin de determinar si la característica biométrica identifica al usuario;
en el que procesar la imagen como entrada por parte de la red neuronal comprende procesar, por parte de una primera capa de la red neuronal, la entrada para crear una primera salida intermedia y procesar, por parte de cada capa siguiente la salida de la capa anterior, en que la red neuronal realiza una convolución separable en profundidad y comprende, en el orden de procesamiento, una capa de entrada, una capa convolucional en profundidad, un primer normalizador por lotes, una primera unidad lineal rectificada, una capa convolucional punto a punto, un segundo normalizador por lotes, una segunda unidad lineal rectificada y una capa de salida;
en el que, procesando la entrada utilizando la pluralidad de capas, la red neuronal obtiene, como salida, una identificación del objeto y la ubicación del objeto dentro de la imagen;
en el que identificar la posición del objeto comprende disgregar la imagen en una cuadrícula que comprende Q * R celdas de cuadrícula, en el que se crea al menos un cuadro delimitador dentro de cada celda de la cuadrícula, teniendo el cuadro delimitador una posición predeterminada dentro de la celda de la cuadrícula y unas características geométricas predeterminadas, en el que crear la salida comprende además modificar la posición y las características geométricas del cuadro delimitador para obtener un cuadro delimitador resultante, en el que el cuadro delimitador resultante es el cuadro delimitador que tiene una posición resultante y unas características geométricas resultantes que más se corresponden con la ubicación del objeto.
2. El procedimiento de la reivindicación 1, en el que el objeto es al menos una punta de dedo y la característica biométrica es una huella dactilar de la punta de dedo y en el que procesar la entrada por parte del medio de identificación comprende extraer, de la huella dactilar, una característica biométrica, tal como por ejemplo la ubicación y un tipo de los puntos característicos, y comparar la característica biométrica extraída con una característica biométrica almacenada en un dispositivo de almacenamiento, en el que si una diferencia entre la característica biométrica extraída y la característica biométrica almacenada está por debajo de un umbral, el medio de identificación determina que el usuario es identificado por la huella dactilar y, si la diferencia entre la característica biométrica y la característica biométrica almacenada está por encima de un umbral, el medio de identificación determina que el usuario no es identificado por la huella dactilar.
3. El procedimiento de la reivindicación 2, en el que la imagen comprende más de una punta de dedo y el procedimiento comprende además identificar la posición de cada punta de dedo en la imagen y utilizar la huella dactilar de cada punta de dedo para identificar al usuario por parte del medio de identificación.
4. El procedimiento según la reivindicación 3, en el que el medio de identificación determina que un usuario es identificado por las huellas dactilares de las puntas de dedo determinando que una precisión de identificación combinada de las huellas dactilares de todas las puntas de dedo en la imagen está por encima de un umbral determinado.
5. El procedimiento según la reivindicación 3, en el que el medio de identificación determina que un usuario es identificado por las huellas dactilares de las puntas de dedo determinando si, para cada punta de dedo, una diferencia entre una característica biométrica de la huella dactilar de la punta de dedo y una característica biométrica almacenada de la huella dactilar de la punta de dedo está por debajo de un umbral y determinando que el usuario es identificado por las huellas dactilares de las puntas de dedo sólo en el caso de que todas las diferencias determinadas estén por debajo del correspondiente umbral.
6. El procedimiento según una cualquiera de las reivindicaciones 1 a 5, en el que la imagen es obtenida por una cámara como sensor óptico del dispositivo móvil.
7. El procedimiento según una cualquiera de las reivindicaciones 1 a 6, en el que la posición del cuadro delimitador se calcula con respecto a un centro de la celda de la cuadrícula en dos dimensiones y las características geométricas del cuadro delimitador comprenden una altura y un ancho del cuadro delimitador, en el que, además, se asocia a cada cuadro delimitador una probabilidad de que el objeto se encuentre dentro del cuadro delimitador.
8. El procedimiento de la reivindicación 6, que comprende además visualizar la imagen y los cuadros delimitadores que identifican la posición de la punta de dedo.
9. El procedimiento según una cualquiera de las reivindicaciones 7 a 8, en el que procesar la imagen por parte de la red neuronal comprende crear, a partir de la imagen, al menos una matriz I que representa un valor de color para cada píxel de la imagen y proporcionar la matriz como entrada a la red neuronal, en el que la imagen comprende N x M píxeles y la matriz I es una matriz que comprende N x M valores, en el que las entradas de la matriz I son determinadas por Iij, en el que i y j son números enteros e i = 1... N y j = 1... M.
10. El procedimiento según la reivindicación 9, en el que cada capa convolucional en profundidad aplica un núcleo predefinido K a la matriz I, siendo el núcleo K una matriz de tamaño S x T en el que S, T < N; S, T < M que comprende unas entradas Sab, en el que aplicar el núcleo a la matriz comprende calcular el producto interno de la matriz K con cada matriz reducida R de tamaño (N x M)s,t de una matriz Z, en que la matriz R tiene el mismo tamaño que el núcleo K, y la matriz Z tiene un tamaño ((N 2PW) x (M 2Ph)) y las entradas de la matriz ZCd con c, cf G W+ son determinadas por
Figure imgf000016_0001
y proporcionan una matriz P como salida, en el que la matriz P tiene el tamaño
Figure imgf000016_0002
en el que Ww y Wh definen el ancho de avance y cada entrada Py de la matriz P es el valor del producto interno de la ij-ésima matriz reducida R con el núcleo K, en que la matriz P es proporcionada como salida de la capa convolucional en profundidad al primer normalizador por lotes.
11. El procedimiento según la reivindicación 10, en el que el tamaño S y T del núcleo es igual para todas las capas convolucionales en profundidad.
12. El procedimiento según la reivindicación 10, en el que el tamaño S y T del núcleo es diferente para al menos una capa convolucional en profundidad.
13. El procedimiento según una cualquiera de las reivindicaciones 10 a 12, en el que al menos una de las entradas en el núcleo K es Sa'b' t Sata',btb'.
14. El procedimiento según una cualquiera de las reivindicaciones 9 a 13, en el que el normalizador por lotes proporciona una matriz reducida normalizada P' a la unidad lineal rectificada y la unidad lineal rectificada aplica una función de rectificación a cada entrada P'y en que la función de rectificación calcula una nueva matriz P con entradas f 0 VP'ij < 0
_ tJ { P ’i j V P ’i j > 0
y la matriz P es proporcionada como salida a la capa convolucional punto a punto si la unidad lineal rectificada es la primera unidad lineal rectificada o a la siguiente capa de la red neuronal si la unidad lineal rectificada es la segunda unidad lineal rectificada; y/o en el que la capa convolucional punto a punto aplica un peso a a la matriz I, P, P' o P recibida procedente de la capa anterior multiplicando cada entrada en la matriz P, P' o P con el peso a.
15. Un dispositivo móvil que comprende un sensor óptico, un procesador y una unidad de almacenamiento que almacena instrucciones ejecutables que, cuando son ejecutadas por el procesador del dispositivo móvil, hacen que el procesador ejecute el procedimiento de una cualquiera de las reivindicaciones 1 a 14.
ES18206807T 2018-03-16 2018-03-16 Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento Active ES2837382T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18206807.2A EP3540633B1 (en) 2018-03-16 2018-03-16 Method for identifying an object within an image and mobile device for executing the method
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

Publications (1)

Publication Number Publication Date
ES2837382T3 true ES2837382T3 (es) 2021-06-30

Family

ID=61768233

Family Applications (2)

Application Number Title Priority Date Filing Date
ES18206807T Active ES2837382T3 (es) 2018-03-16 2018-03-16 Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento
ES18382174T Active ES2828358T3 (es) 2018-03-16 2018-03-16 Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES18382174T Active ES2828358T3 (es) 2018-03-16 2018-03-16 Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento

Country Status (13)

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

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2837382T3 (es) * 2018-03-16 2021-06-30 Identy Inc Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento
US11429824B2 (en) * 2018-09-11 2022-08-30 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
EP4097632A1 (en) * 2020-01-28 2022-12-07 Universidad Autónoma 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
EP3893147B1 (en) 2020-04-09 2024-01-03 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 삼성에스디에스 주식회사 이미지 촬영 및 판독 방법, 이를 위한 장치
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
US11657589B2 (en) 2021-01-13 2023-05-23 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
CN103336941A (zh) * 2006-07-19 2013-10-02 光谱辨识公司 多重生物测定多谱成像器
JP2008257327A (ja) * 2007-04-02 2008-10-23 Omron Corp 照合装置
AP2015008348A0 (en) * 2012-09-05 2015-04-30 Element Inc Biometric authentication in connection with camera-equipped devices
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
CA2939637A1 (en) * 2014-02-12 2015-08-20 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
RU2715521C2 (ru) 2015-06-16 2020-02-28 Айверифай Инк. Системы и способы для обнаружения обманных объектов и анализа жизненности
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
JP7242528B2 (ja) * 2016-12-08 2023-03-20 ヴェリディウム アイピー リミテッド モバイルデバイスを用いてキャプチャした画像を使用する、指紋によるユーザ認証を実施するためのシステムおよび方法
US10216977B2 (en) * 2017-01-06 2019-02-26 Qualcomm Incorporated Progressive multiple fingerprint enrollment and matching, and dynamic user account transitions
ES2837382T3 (es) * 2018-03-16 2021-06-30 Identy Inc Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento
CN108810616B (zh) * 2018-05-31 2019-06-14 广州虎牙信息科技有限公司 目标定位方法、视频显示方法、装置、设备和存储介质
WO2020254857A1 (en) * 2019-06-18 2020-12-24 Uab Neurotechnology Fast and robust friction ridge impression minutiae extraction using feed-forward convolutional neural network

Also Published As

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

Similar Documents

Publication Publication Date Title
ES2837382T3 (es) Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento
Liu et al. Matching-cnn meets knn: Quasi-parametric human parsing
Tang et al. A real-time hand posture recognition system using deep neural networks
US11625646B2 (en) Method, system, and medium for identifying human behavior in a digital video using convolutional neural networks
US10078796B2 (en) Apparatus and method of hand gesture recognition based on depth image
US20180047159A1 (en) Computerized device and method for processing image data
Wang et al. Lying pose recognition for elderly fall detection
Gao et al. Multi-perspective and multi-modality joint representation and recognition model for 3D action recognition
US11068701B2 (en) Apparatus and method for vehicle driver recognition and applications of same
Miah et al. Rotation, Translation and Scale Invariant Sign Word Recognition Using Deep Learning.
Ni et al. Facial expression recognition through cross-modality attention fusion
Pogorelov et al. A comparison of deep learning with global features for gastrointestinal disease detection
Ng et al. Pedestrian gender classification using combined global and local parts-based convolutional neural networks
Ahmed et al. Eye center localization using gradient and intensity information under uncontrolled environment
Nowosielski et al. Touchless typing with head movements captured in thermal spectrum
Singh et al. Computer Vision and Image Processing: 5th International Conference, CVIP 2020, Prayagraj, India, December 4-6, 2020, Revised Selected Papers, Part III
Khan et al. Deep semantic pyramids for human attributes and action recognition
Bong et al. Face recognition and detection using haars features with template matching algorithm
BR112021014579A2 (pt) Método de identificação de usuário por característica biométrica e dispositivo móvel
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
Yali A Multi-stage Convolution Machine with Scaling and Dilation for Human Pose Estimation
EL-Barkouky Mathematical modeling for partial object detection.
Hlaváč Lips landmark detection using CNN
Zhong et al. Emotion Recognition Method based on Guided Fusion of Facial Expression and Bodily Posture
Seal et al. Robust thermal face recognition using region classifiers