ES2952363T3 - Distinción de rostros en tiempo real de superficies planas - Google Patents

Distinción de rostros en tiempo real de superficies planas Download PDF

Info

Publication number
ES2952363T3
ES2952363T3 ES11792883T ES11792883T ES2952363T3 ES 2952363 T3 ES2952363 T3 ES 2952363T3 ES 11792883 T ES11792883 T ES 11792883T ES 11792883 T ES11792883 T ES 11792883T ES 2952363 T3 ES2952363 T3 ES 2952363T3
Authority
ES
Spain
Prior art keywords
image
face
images
multiple images
real
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
ES11792883T
Other languages
English (en)
Inventor
Zhengyou Zhang
Qin Cai
Pieter R Kasselman
Arthur H Baker
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.)
Zhigu Holdings Ltd
Original Assignee
Zhigu Holdings Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhigu Holdings Ltd filed Critical Zhigu Holdings Ltd
Application granted granted Critical
Publication of ES2952363T3 publication Critical patent/ES2952363T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/167Detection; Localisation; Normalisation using comparisons between temporally consecutive images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • G06V10/464Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • G06V40/176Dynamic expression
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06V40/45Detection of the body part being alive

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioethics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Collating Specific Patterns (AREA)
  • Testing Of Coins (AREA)
  • Inspection Of Paper Currency And Valuable Securities (AREA)
  • Investigating Or Analysing Materials By Optical Means (AREA)

Abstract

Se accede a varias imágenes, incluido un rostro presentado por un usuario. Se realizan una o más determinaciones en base a las múltiples imágenes, tales como una determinación de si la cara incluida en las múltiples imágenes es una estructura tridimensional o una superficie plana y/o una determinación de si hay movimiento presente en una o más caras. componentes (por ejemplo, ojos o boca). Si se determina que el rostro incluido en las múltiples imágenes es una estructura tridimensional o que hay movimiento presente en uno o más componentes del rostro, entonces se proporciona una indicación de que el usuario puede ser autenticado. Sin embargo, si se determina que el rostro incluido en las múltiples imágenes es una superficie plana o que no hay movimiento presente en uno o más componentes del rostro, entonces se proporciona una indicación de que el usuario no puede autenticarse. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Distinción de rostros en tiempo real de superficies planas
Antecedentes
La privacidad de los individuos y las corporaciones a menudo se garantiza permitiendo el acceso a diversos sistemas y ubicaciones únicamente a individuos seleccionados. Los sistemas automatizados para restringir el acceso generalmente requieren que el usuario se identifique y, a continuación, el sistema autentifica la identificación que el usuario proporciona. Sin embargo, estos sistemas automatizados no están libres de problemas. Uno de ellos es que a los sistemas automatizados les resulta difícil distinguir entre una identificación de usuario auténtica y una identificación de usuario falsa. Una autentificación incorrecta por parte de estos sistemas automatizados puede resultar en que se conceda acceso a sistemas o ubicaciones a individuos a los que se desea restringir el acceso a dichos sistemas o ubicaciones.
En Jiamin Bai et al:. "Is Physics-basedliveness detection truly possible with a single image?", IEEE ISCAS, 2010, se describe un método para identificar rostros en base a una única imagen. La imagen única se analiza para determinar si es una imagen en tiempo real mediante una detección de actividad. A fin de discriminar entre rostros en tiempo real y recuperados, se determina el componente especular de una imagen, difiriendo el componente especular entre una imagen en tiempo real y una imagen recuperada en diferentes cambios en las microtexturas de dichas imágenes, como reflejos aislados de las microtexturas del medio de visualización.
En Kollreider K. et al.. "Non-intrusive liveness detection by face images", Image and Visión Computing, 27(3), 2009, se describe una detección de una presencia real de un rostro en tiempo real en comparación con una fotografía. Se combina la detección de partes del rostro y la estimación de flujo óptico de líneas para obtener una puntuación de actividad de las imágenes. Se compara el movimiento de determinadas partes de una imagen captada. Si se detecta un movimiento constante en varias regiones del rostro, se concluye que el rostro captado pertenece a una fotografía.
Resumen
La invención viene definida por un método, un dispositivo informático y medios legibles por ordenador de acuerdo con las reivindicaciones independientes. Las realizaciones preferidas se describen en las reivindicaciones subordinadas.
El objetivo de este Resumen es presentar una selección de conceptos de forma simplificada que se describirán en mayor detalle más adelante en la Descripción detallada. Este Resumen no pretende identificar características clave ni características esenciales de lo que se reivindica, así como tampoco pretende ser utilizado para limitar el alcance de lo que se reivindica.
De acuerdo con uno o más aspectos, se accede a múltiples imágenes, incluido un rostro presentado por un usuario. En base a las múltiples imágenes, se determina si el rostro incluido en las múltiples imágenes es una estructura tridimensional (3D) o una superficie plana. Si se concluye que el rostro incluido en las múltiples imágenes es una estructura tridimensional, entonces se indica que el usuario puede ser autentificado. Por el contrario, si se determina que el rostro incluido en las múltiples imágenes es una superficie plana, entonces se indica que el usuario no puede ser autentificado.
De acuerdo con uno o más aspectos, se accede a múltiples imágenes, incluido un rostro presentado por un usuario. En base a las múltiples imágenes, se determina si hay movimiento en uno o más componentes (por ejemplo, los ojos, la boca, etc.) del rostro. Si se determina que hay movimiento en uno o más componentes faciales, entonces se indica que el usuario puede ser autentificado. Por el contrario, si se determina que no hay movimiento en uno o más componentes faciales, entonces se indica que el usuario no puede ser autentificado.
Breve descripción de los dibujos
Se utilizan los mismos números para designar las mismas características a lo largo de todos los dibujos.
La Figura 1 ilustra un sistema ejemplar que implementa la distinción de rostros en tiempo real de superficies planas según una o más realizaciones.
La Figura 2 es un diagrama de flujo que ilustra un proceso ejemplar para distinguir rostros en tiempo real de superficies planas según una o más realizaciones.
La Figura 3 es un diagrama de flujo que ilustra un proceso ejemplar para emplear una técnica basada en la homografía para determinar si un rostro en múltiples imágenes es una estructura tridimensional o una superficie plana según una o más realizaciones.
La Figura 4 es un diagrama de flujo que ilustra un proceso ejemplar para emplear una técnica de estimación structure from motion para determinar si un rostro en múltiples imágenes es una estructura tridimensional o una superficie plana según una o más realizaciones.
La Figura 5 es un diagrama de flujo que ilustra un proceso ejemplar para determinar si hay movimiento en uno o más componentes de un rostro según una o más realizaciones.
La Figura 6 ilustra un dispositivo informático ejemplar que se puede configurar para implementar la distinción de rostros en tiempo real de superficies planas según una o más realizaciones.
Descripción detallada
A continuación, se aborda la distinción de rostros en tiempo real de superficies planas. Se capturan y analizan múltiples imágenes del rostro presentado por un usuario a fin de autentificar a dicho usuario para concederle acceso particular (por ejemplo, a un ordenador o red, a un edificio u otra ubicación, etc.). El rostro presentado por el usuario puede ser el rostro real del usuario o podría ser una foto de un rostro del usuario presentado por un impostor. Se realiza un intento de determinar si las imágenes incluyen un rostro en tiempo real (por ejemplo, si las imágenes capturadas pertenecen a un ser humano en tiempo real) o la foto de un rostro. Si se determina que las imágenes incluyen un rostro en tiempo real, entonces se concluye que el rostro presentado por el usuario es el rostro del propio usuario que solicita el acceso particular, y el usuario puede ser autentificado para su acceso. Por el contrario, si se determina que las imágenes incluyen una foto, entonces se concluye que el rostro presentado por el usuario es el rostro de un impostor que utiliza una foto, y el usuario no puede ser autentificado para su acceso.
La Figura 1 ilustra un sistema 100 ejemplar que implementa la distinción de rostros en tiempo real de superficies planas según una o más realizaciones. El sistema 100 incluye un componente 102 de captura de imágenes y un módulo 104 de detección de rostros en tiempo real. Tanto el componente 102 de captura de imágenes como el módulo 104 de detección de rostros en tiempo real pueden ser implementados en uno o más dispositivos informáticos. Se puede utilizar una variedad de diferentes tipos de dispositivos informáticos para implementar el componente 102 de captura de imágenes y el módulo 104 de detección de rostros en tiempo real, como un ordenador de sobremesa, un ordenador portátil o notebook, un ordenador notepad, un set-top box en conexión comunicativa con un dispositivo de visualización, una televisión, un móvil u otro teléfono inalámbrico, una cámara digital o cámara de vídeo, una videoconsola, un ordenador de a bordo, etc.
El componente 102 de captura de imágenes y el módulo 104 de detección de rostros en tiempo real se pueden implementar como parte del mismo dispositivo informático o, alternativamente, se pueden implementar como dispositivos independientes. Si se implementan como dispositivos independientes, los dispositivos que implementen el componente 102 de captura de imágenes y el módulo 104 de detección de rostros en tiempo real podrán comunicarse entre sí a través de cualquier red de una variedad de redes diferentes, como Internet, una red de área local (LAN), una red de telefonía pública, una intranet, otras redes públicas y/o privadas, combinaciones de varias, etc. Alternativamente, si se implementan como dispositivos independientes, los dispositivos que implementen el componente 102 de captura de imágenes y el módulo 104 de detección de rostros en tiempo real podrán comunicarse entre sí a través de otros mecanismos de conexión alámbricos y/o inalámbricos, como un bus universal en serie (USB), USB inalámbrico, Bluetooth, radiofrecuencia, etc.
El sistema 100 forma parte de, o está conectado a, un sistema de control de accesos. Dicho sistema de control de accesos se puede utilizar para restringir el acceso a un sistema, recurso, ubicación, etc. particular. Por ejemplo, el sistema 100 se puede utilizar en un sistema de control de accesos que restringe los usuarios que pueden acceder (por ejemplo, entrar) a un edificio en particular, los usuarios que pueden acceder (por ejemplo, iniciar sesión) a un dispositivo informático en particular, a los usuarios que pueden acceder (por ejemplo, iniciar sesión) a una red en particular, etc. El sistema 100 facilita la restricción de dichos accesos mediante la determinación de si las imágenes incluyen un rostro en tiempo real o una foto de un rostro, como se describe en mayor detalle más adelante.
El componente 102 de captura de imágenes captura múltiples imágenes 106, cada una de las cuales incluye un rostro presentado por un usuario 108, y pone las imágenes 106 a disposición del módulo 104 de detección de rostros en tiempo real. El componente 102 de captura de imágenes puede capturar imágenes 106 de diversas maneras diferentes, como mediante el uso de distintas tecnologías de procesamiento de imágenes digitales (por ejemplo, dispositivos de carga acoplada o CCD, sensores de semiconductores complementarios de óxido metálico o CMOS, etc.). Habitualmente, el usuario 108 se presenta ante el componente 102 de captura de imágenes, permitiendo que el componente 102 capture imágenes 106 del usuario 108. En estas situaciones, el rostro presentado por el usuario 108 es el rostro de un ser humano en tiempo real, y el rostro incluido en las imágenes 106 es el rostro de un ser humano en tiempo real. Sin embargo, un impostor puede intentar burlar el sistema de control de accesos presentando al componente 102 de captura de imágenes una foto del rostro de otra persona. En estas situaciones, el rostro presentado por el usuario 108 es una foto, y el rostro incluido en las imágenes 106 es una foto del rostro.
El módulo 104 de detección de rostros en tiempo real analiza las imágenes 106 para determinar si las imágenes 106 incluyen un rostro en tiempo real o la foto de un rostro, y emite una indicación 110 sobre si las imágenes 106 incluyen un rostro en tiempo real o la foto de un rostro. La indicación 110 puede ser, por ejemplo, un primer valor para indicar si las imágenes 106 incluyen un rostro en tiempo real (por ejemplo, "en tiempo real", "sí", "autentificar", etc.) y un segundo valor para indicar que las imágenes 106 incluyen la foto de un rostro (por ejemplo, "foto", "no", "no autentificar" etc.). Por rostro en tiempo real se entiende el rostro de un ser humano real (es decir, que el componente 102 de captura de imágenes capturó imágenes de un ser humano real), y no la foto del rostro de un ser humano. Si el módulo 104 de detección determina que las imágenes 106 incluyen un rostro en tiempo real, entonces la indicación 110 de rostro en tiempo real indicará que las imágenes 106 incluyen un rostro en tiempo real. En estas situaciones, la indicación 110 de rostro en tiempo real indica que el usuario 108 puede ser autentificado para su acceso (por ejemplo, a cualquier sistema, recurso, ubicación, etc. a los que el usuario 108 solicite acceso), porque se asume que el usuario 108 que está solicitando acceso particular es un ser humano real. La autentificación del usuario 108 puede ser llevada a cabo mediante otro componente o módulo (que no se muestran) de diversas maneras diferentes, como la comparación de una o más imágenes 106 con imágenes del usuario 108 captadas previamente. Alternativamente, la autentificación puede realizarse antes de la detección del rostro en tiempo real llevada a cabo por el módulo 104, en cuyo caso la indicación 110 de rostro en tiempo real indicará que es válida cualquier autentificación previa del usuario 108.
No obstante, si se concluye que las imágenes 106 incluyen un rostro sobre una superficie plana, entonces se asume que el usuario 108 es un impostor que está utilizando una foto. En estas situaciones, la indicación 110 de rostro en tiempo real indica que el usuario 108 no puede ser autentificado para su acceso (por ejemplo, a cualquier sistema, recurso, ubicación, etc. a los que el usuario 108 solicite acceso), porque se asume que el usuario 108 es un impostor que está solicitando acceso particular. Alternativamente, si el usuario 108 fuese autentificado por otro componente o módulo (que no se muestran) antes de la detección del rostro en tiempo real llevada a cabo por el módulo 104, entonces la indicación 110 de rostro en tiempo real indicaría que no es válida cualquier autentificación previa del usuario 108.
El módulo 104 de detección de rostros en tiempo real puede determinar si las imágenes 106 incluyen un rostro en tiempo real o la foto de un rostro de diversas maneras diferentes. En una o más realizaciones, el módulo 104 de detección de rostros en tiempo real incluye un módulo 112 de detección de estructuras tridimensionales (3D) y/o un módulo 114 de detección de movimiento en componentes faciales. Generalmente, el módulo 112 de detección de estructuras tridimensionales determina si las imágenes 106 incluyen un rostro que es una estructura tridimensional (por ejemplo, un ser humano real) o una superficie plana (por ejemplo, una fotografía), y el módulo 114 de detección de movimiento en componentes faciales determina si hay movimiento en uno o más componentes faciales en las imágenes 106. La manera en la que los módulos 112 y 114 llevan a cabo estas detecciones se describe en más detalle más adelante.
La Figura 2 es un diagrama de flujo que ilustra un proceso 200 ejemplar para distinguir rostros en tiempo real de superficies planas según una o más realizaciones. El proceso 200 es llevado a cabo por un módulo de detección de rostros en tiempo real, como el módulo 104 de detección de rostros en tiempo real de la Figura 1, y puede implementarse en software, firmware, hardware o combinaciones de ellos. El proceso 200 se describe como un conjunto de acciones y no se limita al orden descrito para llevar a cabo las operaciones de las diversas acciones. El proceso 200 es un proceso ejemplar para distinguir rostros en tiempo real de superficies planas; en el presente documento se incluyen descripciones adicionales sobre la distinción de rostros en tiempo real de superficies planas en referencia a las diferentes figuras.
En el proceso 200 se accede a múltiples imágenes que incluyen el rostro presentado por un usuario (acción 202). Dichas múltiples imágenes pueden ser imágenes que incluyen un rostro en tiempo real o imágenes que incluyen la foto de un rostro. Las múltiples imágenes son imágenes que han sido capturadas por un componente de captura de imágenes (por ejemplo, el componente 102 de captura de imágenes de la Figura 1). El acceso a estas múltiples imágenes en la acción 202 puede realizarse de diversas maneras diferentes, como mediante su recepción en respuesta a una solicitud enviada al componente de captura de imágenes para las múltiples imágenes, mediante su recepción en respuesta a una solicitud enviada a otro componente o dispositivo en el que el componente de captura de imágenes había almacenado las imágenes, mediante imágenes que son transmitidas o enviadas al módulo de detección de rostros en tiempo real implementando el proceso 200 (por ejemplo, desde el componente de captura de imágenes), etc.
El proceso 200 continúa para determinar si el rostro es una estructura tridimensional o una superficie plana (acción 204) y/o determinar si hay movimiento en uno o más componentes faciales (acción 206). Se puede llevar a cabo una de las acciones 204 o 206 o, alternativamente, se pueden llevar a cabo ambas acciones 204 y 206. Si se llevan a cabo ambas acciones 204 y 206, las acciones 204 y 206 se pueden llevar a cabo simultáneamente o, alternativamente, una de las acciones 204 o 206 se puede llevar a cabo seguida por la otra acción 204 o 206.
El proceso 200 continúa en función de si se ha determinado que el rostro es una estructura tridimensional y/o que hay movimiento en uno o más componentes faciales (acción 208). Si se ha concluido que el rostro es una estructura tridimensional y/o que hay movimiento en uno o más componentes faciales, entonces se determina que las imágenes 106 incluyen un rostro en tiempo real y se indica que el usuario puede ser autentificado (acción 210). Por el contrario, si se ha concluido que el rostro es una superficie plana y/o que no hay movimiento en uno o más componentes faciales, entonces se determina que las imágenes 106 no incluyen un rostro en tiempo real y se indica que el usuario no puede ser autentificado (acción 212). Si se llevan a cabo ambas acciones 204 y 206, entonces solamente se puede concluir que las imágenes 106 incluyen un rostro en tiempo real si en la acción 204 se determina que el rostro es una estructura tridimensional y en la acción 206 se determina que hay movimiento en uno o más componentes faciales. Alternativamente, si se llevan a cabo ambas acciones 204 y 206, entonces se puede concluir que las imágenes 106 incluyen un rostro en tiempo real si al menos en la acción 204 se determina que el rostro es una estructura tridimensional y en la acción 206 se determina que hay movimiento en uno o más componentes faciales.
Retomando la Figura 1, en una o más realizaciones el módulo 112 de detección de estructuras tridimensionales utiliza una técnica basada en la homografía para determinar si el rostro incluido en las imágenes 106 es una estructura tridimensional o una superficie plana. Alternativamente, se pueden utilizar otras técnicas, como la técnica de estimación structure from motion.
La técnica basada en la homografía utiliza una matriz homográfica de 3x3, aquí también denominada matriz H. La técnica basada en la homografía se sirve del hecho de que dos vistas de una superficie plana se relacionan en base a una matriz H homográfica. Por consiguiente, al analizar una primera imagen y una segunda imagen, la primera imagen puede deformarse o transformarse utilizando la matriz H homográfica para generar una imagen deformada. Después, la imagen deformada se compara con la segunda imagen. Si la primera y segunda imágenes son vistas de una superficie plana (por ejemplo, la foto de un rostro) entonces la imagen deformada será similar a la segunda imagen. Por ende, si la diferencia entre la segunda imagen y la imagen deformada es pequeña (por ejemplo, por debajo de un valor mínimo), entonces la primera y segunda imágenes incluyen un rostro que es una superficie plana en lugar de un rostro en tiempo real. Por el contrario, si la diferencia entre la segunda imagen y la imagen deformada es más grande (por ejemplo, al menos de un valor mínimo), entonces la primera y segunda imágenes incluyen un rostro que es un rostro en tiempo real en lugar de una superficie plana.
La Figura 3 es un diagrama de flujo que ilustra un proceso 300 ejemplar para emplear una técnica basada en la homografía para determinar si un rostro en múltiples imágenes es una estructura tridimensional o una superficie plana según una o más realizaciones. El proceso 300 es llevado a cabo por un módulo de detección de estructuras tridimensionales, como el módulo 112 de detección de estructuras tridimensionales de la Figura 1, y puede implementarse en software, firmware, hardware o combinaciones de ellos. Por ejemplo, el proceso 300 puede implementar la acción 204 de la Figura 2. El proceso 300 se describe como un conjunto de acciones y no se limita al orden descrito para llevar a cabo las operaciones de las diversas acciones.
En el proceso 300 se extraen múltiples puntos característicos de dos imágenes, que en el proceso 300 se designan primera y segunda imágenes (acción 302). Tanto la primera como la segunda imagen incluyen el rostro de la misma persona y pueden ser, por ejemplo, las imágenes 106 de la Figura 1. Por múltiples puntos característicos se entienden puntos característicos del rostro en la primera y segunda imágenes. Se pueden extraer diversos puntos característicos diferentes, como el rabillo del ojo, la comisura de la boca, la punta de la nariz, etc. Cada punto característico es un píxel individual o una región de múltiples píxeles. Estos puntos característicos pueden extraerse de diversas formas convencionales diferentes, como mediante el uso de algoritmos de emparejamiento de patrones, algoritmos de emparejamiento de características, etc. En una o más realizaciones se describen técnicas para la extracción de puntos característicos de Zhang et al., "A Robust Technique for Matching Two Uncalibrated Images Through the Recovery of the Unknown Epipolar Geometry', Instituto Nacional Francés de Investigaciones Informáticas y Automáticas (1994).
Los puntos característicos extraídos en la acción 302 son emparejados a lo largo de la primera y segunda imágenes (acción 304). Por este emparejamiento de puntos característicos a lo largo de la primera y segunda imágenes se entiende la identificación de las ubicaciones de los mismos puntos característicos en cada una de las dos imágenes. Por ejemplo, se identifica la ubicación del mismo rabillo del mismo ojo en el mismo rostro en la primera y en la segunda imagen. Los puntos característicos se pueden emparejar a lo largo de la primera y segunda imágenes de diversas formas convencionales diferentes, como mediante el uso de algoritmos de emparejamiento de patrones, algoritmos de emparejamiento de características, etc. Tras el emparejamiento, se conocen los puntos característicos coincidentes en las dos imágenes y los píxeles de las dos imágenes correspondientes a dichos puntos característicos cuyas características coinciden.
Entonces se genera una matriz H homográfica entre la primera y la segunda imagen (acción 306). En la matriz H homográfica la primera y la segunda imágenes se relacionan de la siguiente manera:
x'=
donde % se refiere a la ubicación en la primera imagen, %' se refiere a la ubicación en la segunda imagen, H se refiere a una matriz homográfica y A se refiere a un valor escalar diferente a cero. La ubicación en la primera imagen se representa como [u,v]T, donde u y v son las coordenadas de la ubicación en la primera imagen. La ubicación en la segunda imagen se representa como [u’,v’]T, donde u’ y V son las coordenadas de la ubicación en la segunda imagen. A la hora de calcular la matriz H homográfica, % = [u, v, 1]T y % = [u\ V, 1]T. Dadas dos ubicaciones en ambas imágenes y siendo x la ubicación en la primera de las dos imágenes, se genera una matriz H homográfica mediante el cálculo de una matriz H homográfica en la que la diferencia entre % según la fórmula x = A\Ax y la ubicación real en la segunda imagen es pequeña. Esta matriz homográfica se puede calcular de diferentes maneras, por ejemplo, mediante el uso de cualquier algoritmo convencional de entre una variedad de ellos para determinar que la diferencia entre x según la fórmula x = A\Ax y la ubicación real en la segunda imagen queda minimizada, está por debajo de un valor mínimo, etc. En una o más realizaciones, la matriz homográfica se puede calcular a partir de 4 o más pares de ubicaciones correspondientes en las dos imágenes, tal y como se describe más abajo. Se parte de la base de que {(X/,X/’)|/ = 1,...,N} son los N pares (N>4). Cada par da lugar a una ecuación x í = ÁíHxí. Al eliminar el factor escalar desconocido A¡, se obtienen dos ecuaciones escalares:
x f h± - Uj ’x j h3 = 0
x f h2 - ’x ] h3 = 0
donde hj = [Hji, j Hj3]T es el factor de la fila j de la matriz H homográfica. En la forma matricial: B/h = 0, donde h = [H11, H12, H13,...,H33]t es un vector en 9-D compuesto de los elementos homográficos desconocidos, y
x f 0 - ui ‘x f
1 0 x f - vi’x j
es una matriz de 2x9. Con N pares, se forma una matriz B de 2Nx9 mediante el apilamiento de todos los B/ y se obtiene la ecuación Bh = 0. Dado que h se define hasta un factor escalar, es bien conocido que la solución es el vector propio de la matriz BT B de 9x9 asociada al valor propio más pequeño. Esta solución incluye el uso de los elementos de la matriz H homográfica (el vector propio de la solución) en la deformación de la primera imagen tal y como se describe más abajo.
A continuación se genera una imagen deformada mediante la deformación de la primera imagen con la matriz H homográfica (acción 308). Esta matriz H homográfica es la matriz H homográfica generada en la acción 306. La primera imagen se deforma en base a la fórmula y = Á\Ax (que es similar a x = ÁHy, salvo por el hecho de que y se refiere a la imagen deformada, por lo que se usa y en lugar de * ). Cada píxel en la primera imagen tiene un valor x que se usa para calcular un valor y mediante y= Hx. El valor y es un vector y el primer y segundo elementos de y quedan divididos por el tercer elemento de y para obtener la ubicación de un píxel en la imagen deformada. En otras palabras, para un valor y = [yi, y2, y3], la ubicación del píxel en la imagen deformada sería yi_
,v5 , >— ,y r=31 J. La intensidad o color del píxel en la primera imagen (con el valor x) se aplica después al píxel en la ubicación í b— '3 ,—1 en la imagen deformada. Estas intensidades o colores de los píxeles pueden representarse de y i l
diversas maneras diferentes, como mediante el uso de valores RGB convencionales, valores CMYK convencionales, etc.
Se determina una diferencia de imagen entre la imagen deformada (generada en la acción 308) y la segunda imagen (acción 310). La diferencia de imagen se puede calcular de diferentes maneras. En una o más realizaciones, se superponen la imagen deformada y la segunda imagen y se determina la diferencia en los valores de color o intensidad en los mismos píxeles (ubicaciones) en ambas imágenes. En otras palabras, para cada ubicación [u, v] en la imagen deformada se determina la diferencia entre el valor de color o de intensidad en la ubicación [u, v] en la imagen deformada y la ubicación [u, v] en la segunda imagen. Las diferencias detectadas en estas ubicaciones distintas se combinan después para calcular la diferencia de imagen. Las diferencias se pueden combinar de diversas maneras, ya sea promediándolas, sumándolas, etc.
En una o más realizaciones, la diferencia de imagen de la acción 310 se determina mediante la obtención de la diferencia en los valores de color o intensidad entre la imagen deformada y la segunda imagen para cada ubicación en la imagen deformada y la segunda imagen. En otras realizaciones, la diferencia de imagen de la acción 310 se determina mediante la obtención de la diferencia en los valores de color o intensidad entre la imagen deformada y la segunda imagen para ubicaciones específicas en la imagen deformada y la segunda imagen. Las ubicaciones específicas pueden identificarse o seleccionarse de diferentes maneras. Por ejemplo, se puede utilizar cualquier algoritmo convencional de detección de rostros o algoritmo de reconocimiento facial de entre una variedad de ellos para detectar el rostro dentro de cada imagen, siendo las ubicaciones específicas aquellas ubicaciones que forman parte del rostro en al menos una de las imágenes, ya sea la imagen deformada o la segunda imagen. A modo de otro ejemplo, se puede utilizar un algoritmo convencional de detección de rostros para detectar varios conjuntos de subregiones en un rostro (como los ojos, la boca, la nariz, etc.), siendo las ubicaciones específicas aquellas ubicaciones que forman parte de una subregión en al menos una de las imágenes, ya sea la imagen deformada o la segunda imagen.
A continuación, se determina si la diferencia de imagen calculada en la acción 310 alcanza un valor mínimo (acción 312). La diferencia de imagen puede alcanzar el valor mínimo, por ejemplo, tanto en cuanto sea mayor que el valor mínimo, mayor o igual que el valor mínimo, etc. Este valor mínimo puede ser, por ejemplo, 10 en situaciones en las que los valores de color pueden ser uno de entre 256 grados de gris. Este valor mínimo puede ser un valor fijo (por ejemplo, 10 grados de gris) o puede ser un valor relativo (por ejemplo, 5 % del número de posibles valores de color o intensidad).
Si la diferencia de imagen alcanza el valor mínimo, entonces se determina que el rostro en la primera y segunda imágenes es un rostro en tiempo real (acción 314). Sin embargo, si la diferencia de imagen no alcanza el valor mínimo, entonces se determina que el rostro en la primera y segunda imágenes es una superficie plana y, por ende, la foto de un rostro (acción 316).
En una o más realizaciones, la primera y segunda imágenes en el proceso 300 son imágenes contiguas en una secuencia de tres o más imágenes. Por ejemplo, el módulo de detección de estructuras tridimensionales puede acceder a múltiples imágenes (por ejemplo 30 o 60 imágenes) mediante la implementación del proceso 300. Póngase por ejemplo que las múltiples imágenes son, por orden de captura, la imagen 1, la imagen 2, la imagen 3, la imagen 4, ..., la imagen z. La primera y segunda imágenes en el proceso 300 pueden ser imágenes contiguas o seguidas en la secuencia de múltiples imágenes, como la imagen 1 y la imagen 2, la imagen 4 y la imagen 5, etc. Alternativamente, la primera y segunda imágenes en el proceso 300 pueden ser imágenes no contiguas, habiendo una o más imágenes intermedias entre ellas en la secuencia de imágenes. Por ejemplo, la primera y segunda imágenes en el proceso 300 pueden ser la imagen 1 y la imagen 10, la imagen 12 la imagen 37, etc.
Asimismo, aunque la primera y segunda imágenes en el proceso 300 no sean contiguas o vayan seguidas en la secuencia, al menos parte del proceso 300 se puede llevar a cabo para cada par contiguo de imágenes en la secuencia. Por ejemplo, se puede generar la extracción de puntos característicos y el emparejamiento de puntos característicos en las acciones 302 y 304 para cada par contiguo de imágenes en la secuencia, lo que puede facilitar el proceso de emparejamiento de características a la hora de emparejar características en dos imágenes con una o más imágenes intermedias.
Además, el proceso 300 se puede repetir para múltiples pares de imágenes. Cada vez que se ejecuta el proceso 300, se determina si el rostro en el par de imágenes es un rostro en tiempo real o la foto de un rostro. Estos diversos cálculos se pueden combinar de diferentes maneras para así generar una indicación resultante sobre si el rostro en múltiples imágenes es un rostro en tiempo real o la foto de un rostro. Por ejemplo, si se determina que el rostro en al menos un par de imágenes es la foto de un rostro, entonces la indicación resultante del módulo de detección de estructuras tridimensionales que implementa el proceso 300 puede concluir que las múltiples imágenes incluyen la foto de un rostro. A modo de otro ejemplo, si se determina que el rostro en al menos un número mínimo de pares de imágenes es un rostro en tiempo real, entonces la indicación resultante del módulo de detección de estructuras tridimensionales que implementa el proceso 300 puede concluir que las múltiples imágenes incluyen un rostro en tiempo real. Dicho número mínimo puede ser un número fijo (por ejemplo, al menos 10 pares de imágenes) o puede ser un número relativo (por ejemplo, al menos el 90 % de los pares de imágenes para los que se llevó a cabo el proceso 300).
En una o más realizaciones, el proceso 300 también determina si la primera y segunda imágenes incluyen el mismo rostro. Esta conclusión se puede alcanzar de diversas maneras diferentes. Por ejemplo, si durante el emparejamiento de puntos característicos en la acción 304 no se puede emparejar ningún punto característico (o al menos un número mínimo de ellos), entonces se determina que la primera y segunda imágenes son de rostros diferentes. A modo de otro ejemplo, se pueden utilizar varias técnicas convencionales de reconocimiento facial diferentes para determinar si los rostros en la primera y segunda imágenes pertenecen a la misma persona. Si se concluye que la primera y segunda imágenes no incluyen el mismo rostro, entonces se pueden tomar diversas medidas correctivas, como la detención del proceso 300 para la primera y segunda imágenes (con la opción de repetir el proceso 300 para otras imágenes), la indicación de que el rostro en la primera y segunda imágenes es la foto de un rostro en la acción 316, etc.
Retomando la Figura 1, en otras realizaciones el módulo 112 de detección de estructuras tridimensionales utiliza una técnica de estimación structure from motion para determinar si el rostro incluido en las imágenes 106 es una estructura tridimensional o una superficie plana. La técnica de estimación structure from motion se beneficia del hecho de que se puede utilizar la estimación de movimiento para correlacionar dos vistas de una superficie plana. Por consiguiente, al analizar una primera imagen y una segunda imagen se puede generar una descripción tridimensional estimada de la escena utilizando la estimación structure from motion. Después se puede ajustar un plano a la escena tridimensional estimada. Si el error de ajuste es pequeño (por ejemplo, por debajo de un valor mínimo), entonces es que la primera y la segunda imágenes son de una superficie plana y no de un rostro en tiempo real. Por el contrario, si el error de ajuste es más grande (por ejemplo, de al menos un valor mínimo), entonces es que la primera y la segunda imágenes no son de una superficie plana, sino de un rostro en tiempo real.
La Figura 4 es un diagrama de flujo que ilustra un proceso 400 ejemplar para emplear una técnica de estimación structure from motion para determinar si un rostro en múltiples imágenes es una estructura tridimensional o una superficie plana según una o más realizaciones. El proceso 400 es llevado a cabo por un módulo de detección de estructuras tridimensionales, como el módulo 112 de detección de estructuras tridimensionales de la Figura 1, y puede implementarse en software, firmware, hardware o combinaciones de ellos. Por ejemplo, el proceso 400 puede implementar la acción 204 de la Figura 2. El proceso 400 se describe como un conjunto de acciones y no se limita al orden descrito para llevar a cabo las operaciones de las diversas acciones.
En el proceso 400 se extraen uno o más puntos característicos de dos imágenes, que en el proceso 400 se designan primera y segunda imágenes (acción 402). Estas primera y segunda imágenes incluyen en cada caso el rostro de la misma persona y pueden ser, por ejemplo, las imágenes 106 de la Figura 1. Por uno o más puntos característicos se entienden puntos característicos del rostro en la primera y segunda imágenes. Se pueden extraer diversos puntos característicos diferentes, como el rabillo del ojo, la comisura de la boca, la punta de la nariz, etc. Cada punto característico es un píxel individual o una región de múltiples píxeles. Al igual que en la descripción anterior sobre la acción 302 de la Figura 3, estos puntos característicos se pueden extraer de diversas maneras convencionales diferentes.
Los puntos característicos extraídos en la acción 402 son emparejados a lo largo de la primera y segunda imágenes (acción 404). Por este emparejamiento de puntos característicos a lo largo de la primera y segunda imágenes se entiende la identificación de las ubicaciones de los mismos puntos característicos en cada una de las dos imágenes. Por ejemplo, se identifica la ubicación del mismo rabillo del mismo ojo en el mismo rostro en la primera y en la segunda imagen. Al igual que en la descripción anterior sobre la acción 304 de la Figura 3, el emparejamiento de los puntos característicos en la primera y segunda imágenes se puede llevar a cabo de diversas maneras convencionales diferentes. Tras el emparejamiento, se conocen los puntos característicos coincidentes en las dos imágenes y los píxeles de las dos imágenes correspondientes a dichos puntos característicos cuyas características coinciden.
Se reconstruye una escena tridimensional a partir de la primera y segunda imágenes utilizando la estimación structure from motion (acción 406). Esta escena tridimensional reconstruida es una descripción tridimensional de la escena representada por la primera y segunda imágenes en base al movimiento estimado entre la primera y segunda imágenes. La escena tridimensional reconstruida se puede generar de diversas maneras convencionales diferentes utilizando técnicas bien conocidas de estimación structure from motion y tecnologías de visión estereoscópica. Dichas técnicas de estimación structure from motion y tecnologías de visión estereoscópica se basan en los puntos característicos coincidentes de la acción 404.
La escena tridimensional reconstruida también se adapta a un plano (acción 408). Esta adaptación se puede llevar a cabo de diversas maneras convencionales diferentes, como mediante el uso de varias técnicas bien conocidas para proyectar la escena tridimensional reconstruida en un plano.
Se analizan las características de la escena tridimensional reconstruida adaptada al plano (generado en la acción 408) (acción 410). Las características se pueden analizar de diferentes maneras, como mediante la comparación de las relaciones de varios componentes faciales o puntos característicos entre sí. Los diversos componentes faciales o puntos característicos pueden ser, entre otros, ojos, rabillo de ojos, comisuras de bocas, narices, puntas de narices, etc. A modo de ejemplo, las características se pueden analizar mediante la obtención de un primer valor que es una distancia máxima desde una característica en concreto (por ejemplo, la punta de una nariz) en la escena tridimensional reconstruida sobre el plano, un segundo valor que es la distancia entre dos componentes faciales en el plano (por ejemplo, la distancia entre los ojos o entre los rabillos de los ojos) y el cálculo de una relación del primer valor con respecto a un segundo valor. Adicional y opcionalmente, también se pueden obtener conjuntos de valores, combinándose los resultados de (por ejemplo, las relaciones generadas a partir de) dichos conjuntos de valores adicionales entre sí (por ejemplo, se pueden promediar las relaciones calculadas).
A continuación, se determina si las características analizadas en la acción 410 alcanzan un valor mínimo (acción 412). Las características pueden alcanzar el mínimo, por ejemplo, tanto en cuanto sean mayores que un valor mínimo, mayores o iguales que un valor mínimo, etc. Este valor mínimo puede ser un valor fijo (por ejemplo, la relación del primer valor respecto al segundo valor de la acción 410 es mayor que el 10 %) o un valor relativo (por ejemplo, la relación del primer valor respecto al segundo valor de la acción 410 es mayor que el 5 % del segundo valor).
Si las características analizadas alcanzan el valor mínimo, entonces se determina que el rostro en la primera y segunda imágenes es un rostro en tiempo real (acción 414). Sin embargo, si las características analizadas no alcanzan el valor mínimo, entonces se determina que el rostro en la primera y segunda imágenes es una superficie plana y, por ende, la foto de un rostro (acción 416).
La primera y segunda imágenes en el proceso 400 pueden ser imágenes contiguas en una secuencia de tres o más imágenes, o pueden estar separadas la una de la otra en una secuencia de imágenes similar a la descrita anteriormente con respecto al proceso 300 de la Figura 3. Adicionalmente, de manera similar a la descripción anterior con respecto al proceso 300 de la Figura 3, al menos parte del proceso 400 (por ejemplo, las acciones 402 y 404) se pueden llevar a cabo para cada par contiguo de imágenes en una secuencia de imágenes incluso si la primera y segunda imágenes en el proceso 400 no son contiguas o van seguidas en la secuencia.
Además, el proceso 400 se puede repetir para múltiples pares de imágenes. Cada vez que se ejecuta el proceso 400, se determina si el rostro en el par de imágenes es un rostro en tiempo real o la foto de un rostro. Estos diversos cálculos se pueden combinar de diferentes maneras para así generar una indicación resultante sobre si el rostro en múltiples imágenes es un rostro en tiempo real o la foto de un rostro. Por ejemplo, si se determina que el rostro en al menos un par de imágenes es la foto de un rostro, entonces la indicación resultante del módulo de detección de estructuras tridimensionales que implementa el proceso 400 puede concluir que las múltiples imágenes incluyen la foto de un rostro. A modo de otro ejemplo, si se determina que el rostro en al menos un número mínimo de pares de imágenes es un rostro en tiempo real, entonces la indicación resultante del módulo de detección de estructuras tridimensionales que implementa el proceso 400 puede concluir que las múltiples imágenes incluyen un rostro en tiempo real. Dicho número mínimo puede ser un número fijo (por ejemplo, al menos 10 pares de imágenes) o puede ser un número relativo (por ejemplo, al menos el 90 % de los pares de imágenes para los que se llevó a cabo el proceso 400).
Adicionalmente, tanto el proceso 300 de la Figura 3 como el proceso 400 de la Figura 4 se pueden llevar a cabo para determinar si el rostro en las múltiples imágenes es un rostro en tiempo real o la foto de un rostro. Las conclusiones alcanzadas en el proceso 300 y en el proceso 400 se pueden combinar de diferentes maneras para generar una indicación resultante de si el rostro en las múltiples imágenes es un rostro en tiempo real o la foto de un rostro. Por ejemplo, si se determina que el rostro en al menos uno de los procesos 300 o 400 es un rostro en tiempo real, entonces la indicación resultante del módulo de detección de estructuras tridimensionales que implementa los procesos 300 y 400 puede concluir que las múltiples imágenes incluyen un rostro en tiempo real. A modo de otro ejemplo, el módulo de detección de estructuras tridimensionales que implementa los procesos 300 y 400 puede indicar que las múltiples imágenes incluyen un rostro en tiempo real únicamente si ambos procesos 300 y 400 determinan que el rostro en las múltiples imágenes es un rostro en tiempo real.
Retomando la Figura 1, en una o más realizaciones el módulo 114 de detección de movimiento en componentes faciales determina si hay movimiento en uno o más componentes faciales en las imágenes 106. Esta conclusión puede sustituir o añadirse a aquella del módulo 112 de detección de estructuras tridimensionales sobre si un rostro incluido en las imágenes 106 es una estructura tridimensional o una superficie plana, tal y como se describía anteriormente. En una o más realizaciones, el módulo 104 de detección de rostros en tiempo real determina que las imágenes 106 incluyen un rostro en tiempo real únicamente si el módulo 112 de detección de estructuras tridimensionales determina que un rostro incluido en las imágenes 106 es una estructura tridimensional y el módulo 114 de detección de movimiento en componentes faciales determina asimismo que hay movimiento en uno o más componentes faciales en las imágenes 106. En otras realizaciones, el módulo 104 de detección de rostros en tiempo real determina que las imágenes 106 incluyen un rostro en tiempo real si al menos el módulo 112 de detección de estructuras tridimensionales determina que un rostro incluido en las imágenes 106 es una estructura tridimensional o el módulo 114 de detección de movimiento en componentes faciales determina que hay movimiento en uno o más componentes faciales en las imágenes 106.
La Figura 5 es un diagrama de flujo que ilustra un proceso 500 ejemplar para determinar si hay movimiento en uno o más componentes de un rostro según una o más realizaciones. El proceso 500 es llevado a cabo por un módulo de detección de movimiento en componentes faciales, como el módulo 114 de detección de movimiento en componentes faciales de la Figura 1, y puede implementarse en software, firmware, hardware o combinaciones de ellos. Por ejemplo, el proceso 500 puede implementar la acción 206 de la Figura 2. El proceso 500 se describe como un conjunto de acciones y no se limita al orden descrito para llevar a cabo las operaciones de las diversas acciones.
En el proceso 500 se extrae un componente facial de entre múltiples imágenes que incluyen un rostro (acción 502). Estas primera y segunda imágenes incluyen un rostro y pueden ser, por ejemplo, las imágenes 106 de la Figura 1. Un componente facial puede ser diversas partes diferentes de un rostro y, generalmente, es una parte de un rostro que se espera que cambie a intervalos cortos de tiempo. En una o más realizaciones, un componente facial es uno o ambos ojos, que, generalmente, se espera que cambien a intervalos cortos de tiempo, por ejemplo, cuando la persona pestañea o mira diferentes objetos. En otras realizaciones, un componente facial es una boca, que, generalmente, se espera que cambie a intervalos cortos de tiempo, por ejemplo, cuando la persona habla. Alternativamente, en la acción 502 se pueden extraer otros componentes faciales. Estos componentes faciales se pueden extraer de diversas maneras convencionales diferentes y, en una o más realizaciones, se extraen utilizando las mismas técnicas o técnicas similares a las empleadas para extraer puntos característicos tal y como se describe más arriba con respecto a la acción 302 de la Figura 3.
Los componentes faciales extraídos en la acción 502 son emparejados a lo largo de las múltiples imágenes (acción 504). Por este emparejamiento de componentes faciales a lo largo de las múltiples imágenes se entiende la identificación de las ubicaciones de los mismos componentes faciales en cada una de las múltiples imágenes. Por ejemplo, se identifica la ubicación del mismo ojo en el rostro en las múltiples imágenes. El emparejamiento de un componente facial a lo largo de múltiples imágenes se puede llevar a cabo de diversas maneras convencionales diferentes y, en una o más realizaciones, se lleva a cabo utilizando las mismas técnicas o técnicas similares a las empleadas para emparejar puntos característicos a lo largo de las imágenes tal y como se describe más arriba con respecto a la acción 304 de la Figura 3.
Después se comprueba si hay movimiento en el componente facial (acción 506). La presencia de movimiento en el componente facial se puede determinar de diversas maneras diferentes.
En una o más realizaciones, se calcula la diferencia del componente facial entre los componentes faciales de ambas imágenes. La diferencia entre los componentes faciales en dos imágenes se puede calcular, por ejemplo, superponiendo los componentes faciales de ambas imágenes y determinando la diferencia en los valores de color o intensidad en los mismos píxeles (ubicaciones) de los componentes faciales, de forma similar a como se calcula la diferencia de imagen descrita anteriormente en referencia a la acción 310 en la Figura 3. Las diferencias en los valores de color o intensidad de los diversos píxeles de los componentes faciales se pueden combinar de diversas maneras (por ejemplo, promediándolos o sumándolos) para obtener la diferencia en el componente facial, de forma similar a lo descrito anteriormente en relación con el cálculo de la diferencia de imagen de la acción 310 en la Figura 3. Se concluye que hay movimiento en el componente facial si la diferencia en el componente facial entre ambas imágenes alcanza un valor mínimo. La diferencia en el componente facial entre las dos imágenes puede alcanzar el valor mínimo, por ejemplo, tanto en cuanto sea mayor que el valor mínimo, mayor o igual que el valor mínimo, etc.
Alternativamente, la presencia de movimiento en el componente facial se puede determinar de otras maneras. Por ejemplo, se puede entrenar una red neuronal, un árbol de decisión u otro motor de aprendizaje para determinar si los ojos de un rostro están abiertos o cerrados. Se puede determinar que hay movimiento en el componente facial si la red neuronal, el árbol de decisión u otro motor de aprendizaje determina que el componente facial pasa de tener los ojos abiertos a tenerlos cerrados (o al revés) en las múltiples imágenes.
Si se determina que hay movimiento en el componente facial, entonces se concluye que el rostro en las múltiples imágenes es un rostro en tiempo real (acción 508). Por el contrario, si se determina que no hay movimiento en el componente facial, entonces se concluye que el rostro en las múltiples imágenes es una superficie plana y, por lo tanto, la foto de un rostro (acción 510).
El proceso 500 se describe en referencia a un componente facial. Téngase en cuenta que el proceso 500 se puede llevar a cabo para múltiples componentes faciales diferentes al mismo tiempo y/o se puede repetir para componentes faciales adicionales.
En una o más realizaciones, se concluye si hay movimiento en el componente facial en la acción 506 mediante el análisis (por ejemplo, y cálculo de la diferencia en un componente facial entre los componentes faciales de) dos imágenes contiguas en una secuencia de tres o más imágenes. Por ejemplo, el módulo de detección de movimiento en componentes faciales puede acceder a múltiples imágenes (por ejemplo 30 o 60 imágenes) mediante la implementación del proceso 500. Póngase por ejemplo que las múltiples imágenes son, por orden de captura, la imagen 1, la imagen 2, la imagen 3, la imagen 4, ..., la imagen z. Las dos imágenes analizadas (por ejemplo, y para las que se calcula la diferencia en el componente facial) en el proceso 506 pueden ser imágenes contiguas o seguidas en la secuencia de múltiples imágenes, como la imagen 1 y la imagen 2, la imagen 4 y la imagen 5, etc. Alternativamente, las dos imágenes analizadas (por ejemplo, y para las que se calcula la diferencia en el componente facial en el proceso 506) pueden ser imágenes no contiguas, habiendo una o más imágenes intermedias entre ellas en la secuencia de imágenes. Por ejemplo, las dos imágenes analizadas en la acción 506 pueden ser la imagen 1 y la imagen 9, la imagen 18 y la imagen 39, etc.
Asimismo, aunque las dos imágenes analizadas en la acción 506 no sean contiguas o vayan seguidas en la secuencia, al menos parte del proceso 500 se puede llevar a cabo para cada par contiguo de imágenes en la secuencia. Por ejemplo, se puede generar la extracción de componentes faciales y el emparejamiento de componentes faciales en las acciones 502 y 504 para cada par contiguo de imágenes en la secuencia, lo que puede facilitar el proceso de emparejamiento de componentes faciales a la hora de emparejar componentes faciales en dos imágenes con una o más imágenes intermedias.
Además, el proceso 500 se puede repetir para múltiples pares de imágenes. Cada vez que se ejecuta el proceso 500, se determina si el rostro en el par de imágenes es un rostro en tiempo real o la foto de un rostro. Estos diversos cálculos se pueden combinar de diferentes maneras y una indicación resultante sobre si el rostro en múltiples imágenes es un rostro en tiempo real o la foto de un rostro. Por ejemplo, si se determina que el rostro en al menos un par de imágenes es un rostro en tiempo real, entonces la indicación resultante del módulo de detección de movimiento en componentes faciales que implementa el proceso 500 puede concluir que las múltiples imágenes incluyen un rostro en tiempo real. A modo de otro ejemplo, si se determina que el rostro en al menos un número mínimo de pares de imágenes es un rostro en tiempo real, entonces la indicación resultante del módulo de detección de movimiento en componentes faciales que implementa el proceso 500 puede concluir que las múltiples imágenes incluyen un rostro en tiempo real. Dicho número mínimo puede ser un número fijo (por ejemplo, al menos 4 pares de imágenes) o puede ser una cantidad relativa (por ejemplo, al menos el 30 % de los pares de imágenes para los que se llevó a cabo el proceso 500).
La Figura 6 ilustra un dispositivo 600 informático ejemplar que se puede configurar para implementar la distinción de rostros en tiempo real de superficies planas según una o más realizaciones. El dispositivo 600 informático puede implementar, por ejemplo, el componente 102 de captura de imágenes de la Figura 1 y/o el módulo 104 de detección de rostros en tiempo real de la Figura 1.
El dispositivo 600 informático incluye uno o más procesadores o unidades 602 de procesamiento, uno o más medios 604 legibles por ordenador que pueden incluir uno o más componentes 606 de memoria y/o almacenamiento, uno o más dispositivos 608 de entrada/salida (I/O) y un bus 610 que permite a los diversos componentes y dispositivos comunicarse entre sí. Se pueden integrar en o, alternativamente, acoplar al dispositivo 600 informático medios 604 legibles por ordenador y/o uno o más dispositivos 608 de entrada/salida. El bus 610 representa uno o más de varios tipos de estructuras de bus, incluido un bus de memoria o un controlador de memoria, un bus periférico, un puerto de gráfico acelerado, un procesador o bus local, etc., empleando una variedad de arquitecturas de bus diferentes. El bus 610 puede incluir buses alámbricos y/o inalámbricos.
El componente 606 de memoria/almacenamiento representa uno o más medios de almacenamiento informático. El componente 606 puede incluir medios volátiles (como memoria de acceso aleatorio o RAM) y/o medios no volátiles (como memoria de solo lectura o ROM, memoria flash, discos ópticos, discos magnéticos, etc.). El componente 606 puede incluir medios fijos (por ejemplo, RAM, ROM, un disco duro fijo, etc.), así como medios extraíbles (por ejemplo, un lápiz de memoria flash, un disco duro extraíble, un disco óptico, etc.).
Las técnicas descritas en el presente documento se pueden implementar en software, siendo las instrucciones ejecutadas por una o más unidades 602 de procesamiento. Se puede apreciar que se pueden almacenar diferentes instrucciones en diferentes componentes del dispositivo 600 informático, como en una unidad 602 de procesamiento, en varias memorias caché de una unidad 602 de procesamiento, en otras memorias caché del dispositivo 600 (que no se muestran), en otros medios legibles por ordenador, etc. Asimismo, también se puede apreciar que la ubicación en la que se almacenan las instrucciones en el dispositivo 600 informático puede cambiar con el tiempo.
Uno o más dispositivos 608 de entrada/salida permiten al usuario introducir comandos e información en el dispositivo 600 informático y también permiten presentar la información al usuario y/u otros componentes o dispositivos. Algunos ejemplos de dispositivos de entrada incluyen un teclado, un dispositivo de control del cursor (por ejemplo, un ratón), un micrófono, un escáner, etc. Algunos ejemplos de dispositivos de salida incluyen un dispositivo de visualización (por ejemplo, un monitor o proyector), altavoces, una impresora, una tarjeta de red, etc.
En el presente documento se pueden describir varias técnicas en el contexto general del software o módulos de programa. En general, el software incluye rutinas, programas, objetos, componentes, estructuras de datos, etc. que ejecutan tareas concretas o implementan tipos concretos de datos abstractos. Una implantación de estos módulos y técnicas puede almacenarse en o transmitirse a través de alguna forma de medios legibles por ordenador. Los medios legibles por ordenador pueden ser cualquier medio o medios disponibles a los que se pueda acceder a través de un dispositivo informático. A modo de ejemplo, los medios legibles por ordenador pueden comprender, entre otros, "medios de almacenamiento informático" y "medios de comunicación".
Los "medios de almacenamiento informático" incluyen medios volátiles y no volátiles, extraíbles y no extraíbles implantados en cualquier método o tecnología para el almacenamiento de información, como instrucciones legibles por ordenador, estructuras de datos, módulos de programa u otros datos. Los medios de almacenamiento informático incluyen, entre otros, memoria RAM, ROM, EEPROM, flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otros medios de almacenamiento óptico, casetes magnéticos, cintas magnéticas, discos magnéticos u otros dispositivos de almacenamiento magnético, o cualquier otro medio que se pueda utilizar para almacenar la información deseada y al que se pueda acceder a través de un ordenador.
Los "medios de comunicación" generalmente engloban instrucciones legibles por ordenador, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada, como una onda portadora u otro mecanismo de transporte. Los medios de comunicación también incluyen cualquier medio de entrega de información. El término "señal de datos modulada" hace referencia a una señal que tiene una o más de sus características adaptadas o modificadas con el fin de codificar información en la señal. A modo de ejemplo, los medios de comunicación incluyen, entre otros, medios alámbricos, como una red alámbrica o conexión por línea directa, y medios inalámbricos, como medios acústicos, de radiofrecuencia, infrarrojos u otros medios inalámbricos. El ámbito de los medios legibles por ordenador también incluye combinaciones de cualquiera de los medios anteriores.
En general, cualquiera de las funciones o técnicas descritas en el presente documento se puede implementar mediante el uso de software, firmware, hardware (por ejemplo, circuitos lógicos fijos), procesamiento manual, o una combinación de estas implementaciones. Los términos "módulo" y "componente" tal y como se utilizan en el presente documento representan en general software, firmware, hardware o combinaciones de estos. En el caso de la implementación de software, el módulo o componente representa códigos de programa que llevan a cabo tareas específicas cuando se ejecutan en un procesador (por ejemplo, una o varias CPU). El código de programa se puede almacenar en uno o más dispositivos de memoria legibles por ordenador, sobre los que se puede encontrar una descripción más detallada en referencia a la Figura 6. Las características de las técnicas de distinción de rostros en tiempo real de superficies planas descritas en el presente documento son independientes a cualquier plataforma, lo que significa que las técnicas se pueden implementar en una variedad de plataformas informáticas comerciales que presentan una variedad de procesadores.
Pese a que el objeto se ha descrito en un lenguaje específico de características estructurales y/o acciones metodológicas, debe entenderse que el objeto definido en las reivindicaciones adjuntas no queda necesariamente limitado a las características o acciones específicas descritas anteriormente. Por el contrario, las características y acciones específicas descritas anteriormente se divulgan a modo de ejemplos de la implementación de las reivindicaciones.

Claims (8)

REIVINDICACIONES
1. Un método que comprende:
el acceso (202) a múltiples imágenes que incluyen en cada caso un rostro presentado por un usuario, siendo el rostro en cada una de las múltiples imágenes el rostro de la misma persona, correspondiendo las múltiples imágenes a una secuencia de imágenes tomadas por un componente (102) de captura de imágenes;
la determinación (204) en base a las múltiples imágenes de si el rostro incluido en las múltiples imágenes es una estructura tridimensional o una superficie plana, que comprende:
el acceso a una primera imagen y a una segunda imagen de las múltiples imágenes;
la extracción (302) de múltiples puntos característicos del rostro de la primera imagen y de múltiples puntos característicos del rostro de la segunda imagen, comprendiendo los múltiples puntos característicos del rostro extraídos de la primera imagen y de la segunda imagen al menos un tipo de punto característico de entre un punto característico de un rabillo de un ojo, un punto característico de una comisura de una boca y un punto característico de una punta de una nariz;
el emparejamiento (304) de los puntos característicos a lo largo de la primera imagen y de la segunda imagen; y el uso de los puntos característicos emparejados a lo largo de la primera imagen y de la segunda imagen para generar (306) una matriz homográfica entre la primera y la segunda imágenes, representando la matriz homográfica una relación entre vistas de la misma superficie plana en la primera imagen y en la segunda imagen;
la generación (308) de una imagen deformada mediante la deformación de la primera imagen utilizando la matriz homográfica;
el cálculo (310) de una diferencia de imagen entre la imagen deformada y la segunda imagen mediante el cálculo de la diferencia en los valores de color o intensidad en las ubicaciones de los mismos píxeles en la imagen deformada y en la segunda imagen; y
la conclusión (310) de que el rostro incluido en las múltiples imágenes es una estructura tridimensional si la diferencia entre la imagen deformada y la segunda imagen alcanza un valor mínimo y, por el contrario, la conclusión (316) de que el rostro incluido en las múltiples imágenes es una superficie plana;
la indicación (210) de que el usuario puede ser autentificado si el rostro incluido en las múltiples imágenes es una estructura tridimensional; y
la indicación (212) de que el usuario no puede ser autentificado si el rostro incluido en las múltiples imágenes es una superficie plana.
2. Un método según la reivindicación 1, en el que el cálculo de la diferencia de imagen comprende la identificación de un primer conjunto de subregiones en la primera imagen, un segundo conjunto de subregiones en la segunda imagen y el cálculo de una diferencia entre los valores de color de los píxeles en el primer conjunto de subregiones y el segundo conjunto de subregiones.
3. Un método según la reivindicación 1, que comprende además:
la repetición del acceso a una primera imagen y a una segunda imagen, la generación de una imagen deformada,
el cálculo de una diferencia de imagen para múltiples pares de imágenes de las múltiples imágenes y el uso de las diferencias de imagen calculadas para los múltiples pares de imágenes para determinar si el rostro incluido en las múltiples imágenes es una estructura tridimensional o una superficie plana.
4. Un método según la reivindicación 1, en el que las múltiples imágenes comprenden una secuencia de tres o más imágenes y en el que hay una o más imágenes intermedias en la secuencia de tres o más imágenes entre la primera imagen y la segunda imagen en la secuencia de tres o más imágenes.
5. Un método según la reivindicación 1, que comprende además:
la determinación (206), en base a las múltiples imágenes, de si hay movimiento en uno o más componentes del rostro; y
la indicación de que el usuario puede ser autentificado únicamente si el rostro incluido en las múltiples imágenes es una estructura tridimensional y si hay movimiento en uno o más componentes del rostro.
6. Un método según la reivindicación 5, en el que la determinación de si hay movimiento en uno o más componentes del rostro comprende:
la extracción del componente facial de cada una de las múltiples imágenes;
el emparejamiento de los componentes faciales a lo largo de las múltiples imágenes;
el cálculo de la diferencia de un componente facial entre dos de las múltiples imágenes; y
la determinación de si hay movimiento en uno o más de los componentes en base, al menos en parte, a la diferencia en el componente facial entre las dos imágenes de las múltiples imágenes.
7. Un dispositivo informático que comprende:
un procesador (602); y
uno o más medios (604) legibles por ordenador en los que se han almacenado múltiples instrucciones que, una vez ejecutadas por el procesador (600), llevan al procesador (600) a ejecutar el método de cualquiera de las reivindicaciones 1 a 6.
8. Uno o más medios (604) legibles por ordenador en los que se han almacenado múltiples instrucciones que, una vez ejecutadas por un procesador (600), llevan al procesador (600) a ejecutar el método de cualquiera de las reivindicaciones 1 a 6.
ES11792883T 2010-06-08 2011-05-26 Distinción de rostros en tiempo real de superficies planas Active ES2952363T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/796,470 US8675926B2 (en) 2010-06-08 2010-06-08 Distinguishing live faces from flat surfaces
PCT/US2011/038066 WO2011156143A2 (en) 2010-06-08 2011-05-26 Distinguishing live faces from flat surfaces

Publications (1)

Publication Number Publication Date
ES2952363T3 true ES2952363T3 (es) 2023-10-31

Family

ID=45064498

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11792883T Active ES2952363T3 (es) 2010-06-08 2011-05-26 Distinción de rostros en tiempo real de superficies planas

Country Status (5)

Country Link
US (1) US8675926B2 (es)
EP (1) EP2580711B1 (es)
CN (3) CN106096582B (es)
ES (1) ES2952363T3 (es)
WO (1) WO2011156143A2 (es)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330246B2 (en) * 2005-11-09 2016-05-03 Paul J. Munyon System and method for inhibiting access to a computer
US8271534B2 (en) * 2010-10-01 2012-09-18 At&T Intellectual Property I, Lp System and method for presenting information associated with a media program
US8788798B2 (en) 2010-12-06 2014-07-22 Microsoft Corporation Fast computer startup
US8543849B2 (en) 2010-12-06 2013-09-24 Microsoft Corporation Fast computer startup
US20140334693A1 (en) * 2011-05-12 2014-11-13 Gregory Noe System and method for authenticating a photograph
US8666169B2 (en) * 2011-10-24 2014-03-04 Hewlett-Packard Development Company, L.P. Feature descriptors
EP2793680A2 (en) * 2011-12-21 2014-10-29 Koninklijke Philips N.V. Overlay and motion compensation of structures from volumetric modalities onto video of an uncalibrated endoscope
CN102622588B (zh) * 2012-03-08 2013-10-09 无锡中科奥森科技有限公司 双验证人脸防伪方法及装置
KR101884337B1 (ko) * 2012-04-26 2018-08-01 삼성전자주식회사 영상 인식 방법 및 장치
US8457367B1 (en) * 2012-06-26 2013-06-04 Google Inc. Facial recognition
US8542879B1 (en) 2012-06-26 2013-09-24 Google Inc. Facial recognition
US9396382B2 (en) * 2012-08-17 2016-07-19 Flashscan3D, Llc System and method for a biometric image sensor with spoofing detection
US10708545B2 (en) 2018-01-17 2020-07-07 Duelight Llc System, method, and computer program for transmitting face models based on face data points
GB2500823B (en) * 2013-03-28 2014-02-26 Paycasso Verify Ltd Method, system and computer program for comparing images
US9122911B2 (en) 2013-03-28 2015-09-01 Paycasso Verify Ltd. System, method and computer program for verifying a signatory of a document
US20150084774A1 (en) * 2013-09-26 2015-03-26 Mark Henry Wojcik Remote breath alcohol monitor
US9829480B2 (en) 2013-09-26 2017-11-28 Alcohol Monitoring Systems, Inc. Remote breath alcohol monitor
US9607138B1 (en) * 2013-12-18 2017-03-28 Amazon Technologies, Inc. User authentication and verification through video analysis
US9679212B2 (en) * 2014-05-09 2017-06-13 Samsung Electronics Co., Ltd. Liveness testing methods and apparatuses and image processing methods and apparatuses
US9251427B1 (en) 2014-08-12 2016-02-02 Microsoft Technology Licensing, Llc False face representation identification
US11256792B2 (en) 2014-08-28 2022-02-22 Facetec, Inc. Method and apparatus for creation and use of digital identification
CA3186147A1 (en) 2014-08-28 2016-02-28 Kevin Alan Tussy Facial recognition authentication system including path parameters
US10614204B2 (en) 2014-08-28 2020-04-07 Facetec, Inc. Facial recognition authentication system including path parameters
US12401911B2 (en) 2014-11-07 2025-08-26 Duelight Llc Systems and methods for generating a high-dynamic range (HDR) pixel stream
US12401912B2 (en) 2014-11-17 2025-08-26 Duelight Llc System and method for generating a digital image
US10134177B2 (en) * 2015-01-15 2018-11-20 Samsung Electronics Co., Ltd. Method and apparatus for adjusting face pose
US10299117B2 (en) * 2015-02-25 2019-05-21 Screenovate Technologies Ltd. Method for authenticating a mobile device and establishing a direct mirroring connection between the authenticated mobile device and a target screen device
US9934443B2 (en) * 2015-03-31 2018-04-03 Daon Holdings Limited Methods and systems for detecting head motion during an authentication transaction
US12445736B2 (en) 2015-05-01 2025-10-14 Duelight Llc Systems and methods for generating a digital image
US10049287B2 (en) * 2015-05-22 2018-08-14 Oath Inc. Computerized system and method for determining authenticity of users via facial recognition
CN105740779B (zh) * 2016-01-25 2020-11-13 北京眼神智能科技有限公司 人脸活体检测的方法和装置
CN107135348A (zh) * 2016-02-26 2017-09-05 阿里巴巴集团控股有限公司 拍摄对象的识别方法、装置、移动终端和照相机
US10084776B2 (en) * 2016-04-04 2018-09-25 Daon Holdings Limited Methods and systems for authenticating users
CN105868733A (zh) * 2016-04-21 2016-08-17 腾讯科技(深圳)有限公司 一种人脸活体验证方法及装置
USD987653S1 (en) 2016-04-26 2023-05-30 Facetec, Inc. Display screen or portion thereof with graphical user interface
CN116778367A (zh) * 2016-06-03 2023-09-19 奇跃公司 增强现实身份验证
US9875398B1 (en) * 2016-06-30 2018-01-23 The United States Of America As Represented By The Secretary Of The Army System and method for face recognition with two-dimensional sensing modality
US10635894B1 (en) * 2016-10-13 2020-04-28 T Stamp Inc. Systems and methods for passive-subject liveness verification in digital media
US11373449B1 (en) * 2016-10-13 2022-06-28 T Stamp Inc. Systems and methods for passive-subject liveness verification in digital media
GB2560340A (en) * 2017-03-07 2018-09-12 Eyn Ltd Verification method and system
CN113095124B (zh) 2017-06-07 2024-02-06 创新先进技术有限公司 一种人脸活体检测方法、装置以及电子设备
CN107463875A (zh) * 2017-07-03 2017-12-12 金讯系统管理有限公司 一种判断人员身份的方法和装置
JP7157303B2 (ja) * 2018-02-01 2022-10-20 ミツミ電機株式会社 認証装置
US10776609B2 (en) 2018-02-26 2020-09-15 Samsung Electronics Co., Ltd. Method and system for facial recognition
US11093771B1 (en) 2018-05-04 2021-08-17 T Stamp Inc. Systems and methods for liveness-verified, biometric-based encryption
US11496315B1 (en) 2018-05-08 2022-11-08 T Stamp Inc. Systems and methods for enhanced hash transforms
US10692202B2 (en) * 2018-09-18 2020-06-23 Serelay Limited Flat surface detection in photographs for tamper detection
KR102051889B1 (ko) * 2018-12-05 2019-12-06 주식회사 증강지능 스마트 글래스에서 2d 데이터를 기반으로 3d 증강현실을 구현하는 방법 및 시스템
US11301586B1 (en) 2019-04-05 2022-04-12 T Stamp Inc. Systems and processes for lossy biometric representations
US10997396B2 (en) * 2019-04-05 2021-05-04 Realnetworks, Inc. Face liveness detection systems and methods
US11074340B2 (en) 2019-11-06 2021-07-27 Capital One Services, Llc Systems and methods for distorting CAPTCHA images with generative adversarial networks
CN111160233B (zh) * 2019-12-27 2023-04-18 中国科学院苏州纳米技术与纳米仿生研究所 基于三维成像辅助的人脸活体检测方法、介质及系统
CN111242090B (zh) * 2020-01-22 2023-06-23 腾讯科技(深圳)有限公司 基于人工智能的人脸识别方法、装置、设备及介质
US12513160B1 (en) 2020-04-14 2025-12-30 T Stamp Inc. Systems and processes for multifactor authentication and identification
US11967173B1 (en) 2020-05-19 2024-04-23 T Stamp Inc. Face cover-compatible biometrics and processes for generating and using same
US12079371B1 (en) 2021-04-13 2024-09-03 T Stamp Inc. Personal identifiable information encoder
US12315294B1 (en) 2021-04-21 2025-05-27 T Stamp Inc. Interoperable biometric representation
KR20240110558A (ko) 2021-09-07 2024-07-15 페이스테크, 인크. 모니터링 및/또는 제어되는 카메라 순환을 갖는 얼굴 인식 및/또는 인증 시스템
US12353530B1 (en) 2021-12-08 2025-07-08 T Stamp Inc. Shape overlay for proof of liveness

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774591A (en) 1995-12-15 1998-06-30 Xerox Corporation Apparatus and method for recognizing facial expressions and facial gestures in a sequence of images
CN1254904A (zh) * 1998-11-18 2000-05-31 株式会社新太吉 用于拍摄/识别脸孔的方法和装置
GB0018161D0 (en) 2000-07-25 2000-09-13 Bio4 Limited Identity systems
KR20030091345A (ko) 2002-05-27 2003-12-03 (주)워치비젼 살아있는 얼굴의 진위 여부 검사 시스템 및 그 방법
GB2395778A (en) 2002-11-29 2004-06-02 Sony Uk Ltd Face detection
KR100473600B1 (ko) 2002-12-04 2005-03-10 삼성전자주식회사 얼굴 인식 시스템에서의 사진 판별 장치 및 방법
JP4465719B2 (ja) * 2003-02-13 2010-05-19 日本電気株式会社 成り済まし検出装置、および成り済まし検出方法
US7421097B2 (en) 2003-05-27 2008-09-02 Honeywell International Inc. Face identification verification using 3 dimensional modeling
US7436988B2 (en) 2004-06-03 2008-10-14 Arizona Board Of Regents 3D face authentication and recognition based on bilateral symmetry analysis
JP4924603B2 (ja) 2006-03-01 2012-04-25 日本電気株式会社 顔認証装置、顔認証方法およびプログラム
JP2009536499A (ja) * 2006-05-05 2009-10-08 トムソン ライセンシング 2次元画像から3次元オブジェクトを再構成するシステム及び方法
US8121356B2 (en) * 2006-09-15 2012-02-21 Identix Incorporated Long distance multimodal biometric system and method
US8121347B2 (en) 2006-12-12 2012-02-21 Rutgers, The State University Of New Jersey System and method for detecting and tracking features in images
JP5099488B2 (ja) * 2007-08-31 2012-12-19 カシオ計算機株式会社 撮像装置、顔認識方法およびそのプログラム
CN101236656B (zh) * 2008-02-29 2011-06-15 上海华平信息技术股份有限公司 基于块划分的图像中运动目标的检测方法
CN101303772A (zh) * 2008-06-20 2008-11-12 浙江大学 一种基于单幅图像的非线性三维人脸建模方法
CN101350065B (zh) * 2008-09-05 2011-12-28 哈尔滨工业大学 基于舌体特征的身份识别方法
US8364971B2 (en) * 2009-02-26 2013-01-29 Kynen Llc User authentication system and method
JP5159950B2 (ja) * 2009-05-28 2013-03-13 株式会社東芝 画像処理装置、方法、プログラム
KR20110029002A (ko) * 2009-09-14 2011-03-22 삼성전자주식회사 얼굴 판단 장치 및 방법
KR101594298B1 (ko) * 2009-11-17 2016-02-16 삼성전자주식회사 디지털 영상 처리기에서 포커스 조정 장치 및 방법

Also Published As

Publication number Publication date
WO2011156143A2 (en) 2011-12-15
EP2580711B1 (en) 2023-07-05
CN102985933B (zh) 2016-08-03
US20110299741A1 (en) 2011-12-08
CN102985933A (zh) 2013-03-20
WO2011156143A3 (en) 2012-04-19
CN106096582B (zh) 2019-06-18
CN104966079A (zh) 2015-10-07
US8675926B2 (en) 2014-03-18
EP2580711A4 (en) 2017-04-26
CN106096582A (zh) 2016-11-09
CN104966079B (zh) 2019-03-19
EP2580711A2 (en) 2013-04-17

Similar Documents

Publication Publication Date Title
ES2952363T3 (es) Distinción de rostros en tiempo real de superficies planas
JP7597162B2 (ja) 画像処理装置、画像処理方法、顔認証システム及びプログラム
US11263441B1 (en) Systems and methods for passive-subject liveness verification in digital media
US12223760B2 (en) Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
US11263432B2 (en) Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
US9747493B2 (en) Face pose rectification method and apparatus
Zhou et al. Appearance characterization of linear lambertian objects, generalized photometric stereo, and illumination-invariant face recognition
ES2959438T3 (es) Características de textura para autenticación biométrica
CN109670390B (zh) 活体面部识别方法与系统
US11373449B1 (en) Systems and methods for passive-subject liveness verification in digital media
US20180165508A1 (en) Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
CN110069970A (zh) 活性测试方法和设备
CN111881429A (zh) 活性检测方法和设备以及面部验证方法和设备
EP3198522A1 (en) A face pose rectification method and apparatus
Pan et al. Securitas: user identification through rgb-nir camera pair on mobile devices
JP6798285B2 (ja) 生体認証装置、生体認証方法及びプログラム
US20240104963A1 (en) Determination method, determination program, and information processing apparatus
Singh et al. Adapted facial recognition and spoofing detection for management decision making system: a visually impaired people perspective.
JP2007004534A (ja) 顔判別方法および装置ならびに顔認証装置
JP2007004536A (ja) 被写体判別方法および顔判別装置
TW201909032A (zh) 指靜脈辨識方法