SlideShare una empresa de Scribd logo
1 de 39
Reconocimiento facial en apps
móviles: Comparando OpenCV,
Cognitive Services y Cloud Visión API
Presenta:
ISC Luis Beltrán
Luis Beltrán
• Profesor en Instituto Tecnológico de Celaya
• Estudiante de doctorado en la Universidad Tomás Bata en Zlín, República Checa
• Microsoft MVP en Visual Studio y Tecnologías de Desarrollo
• Desarrollador Móvil Certificado por Xamarin
Agenda
• Reconocimiento facial
• Face API (Microsoft Cognitive Services)
• Google Cloud Vision API
• OpenCV
• Conclusiones
Reconocimiento facial
Es un área de la visión de computadora y una
aplicación directa del procesamiento de imágenes
que compete a investigadores, neurocientíficos y
psicólogos que trata de resolver el siguiente
problema:
“Dada una imagen de una escena, identifica o
verifica una o más personas utilizando un
repositorio de rostros”
• Las personas realizan el reconocimiento facial de
manera sencilla a través de sus habilidades naturales
de cognición y percepción.
• Se ha comprobado científicamente que incluso un
recién nacido es capaz de distinguir entre rostros
conocidos.
• Una máquina requiere sistemas complejos que
involucran múltiples algoritmos avanzados, así como
bases de datos enormes y adecuadas para poder
reconocer personas.
Tipos de comparaciones
• Verificación (autentificación)
El sistema compara el rostro proporcionado del
individuo contra el que supuestamente dice ser; el
sistema confirma o rechaza esta petición.
• Identificación (reconocimiento)
El sistema compara la imagen proporcionada contra
todos los rostros conocidos (almacenados en el
repositorio) para determinar su identidad.
Face detection
• Consiste en localizar un rostro
dentro de una imagen y aislarlo
de los otros objetos.
Edge detection
• Detección de bordes mediante algoritmos
• Adelgazamiento
• Filtrado
• Etiquetado
Escala de grises
• Se aumenta el contraste de la
imagen
• Se separan los componentes cuyo
nivel de grises sea mayor que un
umbral (thresholding)
• Utilizando plantillas ya existentes,
se determinan los rasgos faciales
(pupilas, nariz, boca, orejas, etc)
Redes neuronales
• Se entrena una red neuronal con imágenes de
muestra que representan caras y otras que no.
• Cuando la red ha sido suficientemente entrenada,
puede distinguir entre lo que es una cara y lo que no.
Face API (Microsoft Cognitive Services)
• API de Reconocimiento Facial
• Detección de caras en una imagen
• Permite identificación y verificación facial
• Búsqueda de caras similares
• Agrupación de caras
https://azure.microsoft.com/es-mx/services/cognitive-services/face/
¿Cómo funciona?
• Es un servicio en la nube con 2 funciones
principales: Face Detection (con atributos) y Face
Recognition (verification, similar faces, grouping,
identification, storage).
• Se expone un REST API al cual se le proporciona
una imagen (arreglo de bytes o stream) y se retorna
un contenido JSON con la información del resultado
del análisis
Esquema de precios
Demo #1
Google Cloud Vision API
• API general de extracción de información de una
imagen que utiliza potentes modelos de Machine
Learning encapsulados en una REST API fácil de
utilizar.
• Caso específico de rostros: detección de caras,
atributos faciales clave asociados (emociones,
accesorios, etc).
• No proporciona reconocimiento facial.
https://cloud.google.com/vision/
¿Cómo funciona?
• Es un servicio en la nube que puede realizar Face
Detection (con atributos).
• Se expone un REST API al cual se le proporciona
una imagen (arreglo de bytes, stream o URL) y se
retorna un contenido JSON con la información del
resultado del análisis
Esquema de precios
Demo #2
OpenCV
• Es una biblioteca open source enfocada al área de
visión de computadora y el machine learning.
• Incluye más de 2500 algoritmos para diversas
funciones, como:
• Identificación de objetos
• Detección de rostros
• Clasificación de acciones humanas
• Identificación de imágenes similares
• Reconocimiento de patrones
• Principales lenguajes: Python y C++
¿Cómo funciona?
• En este caso no hay un servicio API que encapsule
los algoritmos de reconocimiento facial, por lo que
hay que construirlo “desde cero” o utilizar los
existentes en la librería.
• Al ser de código abierto, los algoritmos pueden ser
modificados y adaptados, consideración que NO se
puede hacer con los servicios de Microsoft y
Google.
Esquema de precios
• No hay costos asociados por utilizar la librería, por
lo que es gratis al 100%
Demo #3
Aplicaciones
• Descripción de una persona: sexo, edad, emociones
• Seguridad: Autentificación, control de acceso
• Publicidad interactiva
• Videojuegos
• Industria (control de elementos en base a gestos
faciales)
• Fotografías (Facebook, Google)
• Biometría (pasaportes, votaciones, licencias de
manejo)
Retos
Conclusiones
Referencias
• Joanna Isabelle Olszewska (2016). Automated Face Recognition: Challenges and Solutions,
Pattern Recognition - Analysis and Applications, Dr. S Ramakrishnan (Ed.), InTech, DOI:
10.5772/66013. Available from: https://www.intechopen.com/books/pattern-recognition-
analysis-and-applications/automated-face-recognition-challenges-and-solutions
• http://www.neosentec.com/reconocimiento-facial-en-tiempo-real-y-sus-aplicaciones/
@darkicebeam
darkicebeam
ISC Luis Beltrán
darkicebeam
luis.beltran@itcelaya.edu.mx
https://icebeamwp.blogspot.mx
luisantonio.beltranprieto@studentpartner.com

Más contenido relacionado

Similar a Reconocimiento facial en aplicaciones móviles: Comparando OpenCV, Cognitive Services y Cloud Visión API

Azure cognitive services using containers
Azure cognitive services using containersAzure cognitive services using containers
Azure cognitive services using containersLuis Beltran
 
Azure insight + Streaming Analytics + Power BI
Azure insight + Streaming Analytics + Power BIAzure insight + Streaming Analytics + Power BI
Azure insight + Streaming Analytics + Power BI[T]echdencias
 
Utilizando IA en Software: Azure IA Vision
Utilizando IA en Software: Azure IA VisionUtilizando IA en Software: Azure IA Vision
Utilizando IA en Software: Azure IA VisionJose A. Fernandez
 
Agregando a nuestras apps servicios de IA: Azure IA Vision
Agregando a nuestras apps servicios de IA: Azure IA VisionAgregando a nuestras apps servicios de IA: Azure IA Vision
Agregando a nuestras apps servicios de IA: Azure IA VisionJose A. Fernandez
 
Prediciendo el futuro con Azure Machine Learning + aplicación en Xamarin
Prediciendo el futuro con Azure Machine Learning + aplicación en XamarinPrediciendo el futuro con Azure Machine Learning + aplicación en Xamarin
Prediciendo el futuro con Azure Machine Learning + aplicación en XamarinSoftware Guru
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfLuis Beltran
 
CIITEC Fundamentos de Deep Learning.pptx
CIITEC  Fundamentos de Deep Learning.pptxCIITEC  Fundamentos de Deep Learning.pptx
CIITEC Fundamentos de Deep Learning.pptxicebeam7
 
Unidad 4 clas int datos.pptx
Unidad 4 clas int datos.pptxUnidad 4 clas int datos.pptx
Unidad 4 clas int datos.pptxfernandalemus15
 
Inteligencia Artificial con Azure.pptx
Inteligencia Artificial con Azure.pptxInteligencia Artificial con Azure.pptx
Inteligencia Artificial con Azure.pptxLuis Beltran
 
Haciendo visible lo invisible: imágenes en la plataforma ArcGIS
Haciendo visible lo invisible: imágenes en la plataforma ArcGISHaciendo visible lo invisible: imágenes en la plataforma ArcGIS
Haciendo visible lo invisible: imágenes en la plataforma ArcGISEsri España
 
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Luis Beltran
 
Inteligencia Artificial Prefabricada: El potencial de los Cognitive Services
Inteligencia Artificial Prefabricada: El potencial de los Cognitive ServicesInteligencia Artificial Prefabricada: El potencial de los Cognitive Services
Inteligencia Artificial Prefabricada: El potencial de los Cognitive Serviceswww.encamina.com
 
Power BI: Self Service AI
Power BI: Self Service AIPower BI: Self Service AI
Power BI: Self Service AIMauricio Gamboa
 
Uso de IA en la analítica de datos
Uso de IA en la analítica de datosUso de IA en la analítica de datos
Uso de IA en la analítica de datosdbLearner
 

Similar a Reconocimiento facial en aplicaciones móviles: Comparando OpenCV, Cognitive Services y Cloud Visión API (20)

Azure cognitive services using containers
Azure cognitive services using containersAzure cognitive services using containers
Azure cognitive services using containers
 
Azure insight + Streaming Analytics + Power BI
Azure insight + Streaming Analytics + Power BIAzure insight + Streaming Analytics + Power BI
Azure insight + Streaming Analytics + Power BI
 
La nueva era de la inteligencia artificial: azure y servicios cognitivos
La nueva era de la inteligencia artificial: azure y servicios cognitivosLa nueva era de la inteligencia artificial: azure y servicios cognitivos
La nueva era de la inteligencia artificial: azure y servicios cognitivos
 
Web Crawlers
Web CrawlersWeb Crawlers
Web Crawlers
 
Utilizando IA en Software: Azure IA Vision
Utilizando IA en Software: Azure IA VisionUtilizando IA en Software: Azure IA Vision
Utilizando IA en Software: Azure IA Vision
 
Agregando a nuestras apps servicios de IA: Azure IA Vision
Agregando a nuestras apps servicios de IA: Azure IA VisionAgregando a nuestras apps servicios de IA: Azure IA Vision
Agregando a nuestras apps servicios de IA: Azure IA Vision
 
Prediciendo el futuro con Azure Machine Learning + aplicación en Xamarin
Prediciendo el futuro con Azure Machine Learning + aplicación en XamarinPrediciendo el futuro con Azure Machine Learning + aplicación en Xamarin
Prediciendo el futuro con Azure Machine Learning + aplicación en Xamarin
 
¿Quién, cuándo, dónde y por qué?
¿Quién, cuándo, dónde y por qué?¿Quién, cuándo, dónde y por qué?
¿Quién, cuándo, dónde y por qué?
 
Deep Learning para Desarrolladores C#
Deep Learning para Desarrolladores C#Deep Learning para Desarrolladores C#
Deep Learning para Desarrolladores C#
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
 
CIITEC Fundamentos de Deep Learning.pptx
CIITEC  Fundamentos de Deep Learning.pptxCIITEC  Fundamentos de Deep Learning.pptx
CIITEC Fundamentos de Deep Learning.pptx
 
Unidad 4 clas int datos.pptx
Unidad 4 clas int datos.pptxUnidad 4 clas int datos.pptx
Unidad 4 clas int datos.pptx
 
Inteligencia Artificial con Azure.pptx
Inteligencia Artificial con Azure.pptxInteligencia Artificial con Azure.pptx
Inteligencia Artificial con Azure.pptx
 
Haciendo visible lo invisible: imágenes en la plataforma ArcGIS
Haciendo visible lo invisible: imágenes en la plataforma ArcGISHaciendo visible lo invisible: imágenes en la plataforma ArcGIS
Haciendo visible lo invisible: imágenes en la plataforma ArcGIS
 
Destapando superhéroes
Destapando superhéroesDestapando superhéroes
Destapando superhéroes
 
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
 
Inteligencia Artificial Prefabricada: El potencial de los Cognitive Services
Inteligencia Artificial Prefabricada: El potencial de los Cognitive ServicesInteligencia Artificial Prefabricada: El potencial de los Cognitive Services
Inteligencia Artificial Prefabricada: El potencial de los Cognitive Services
 
Power BI: Self Service AI
Power BI: Self Service AIPower BI: Self Service AI
Power BI: Self Service AI
 
Uso de IA en la analítica de datos
Uso de IA en la analítica de datosUso de IA en la analítica de datos
Uso de IA en la analítica de datos
 
Primer avance de proyecto clase
Primer avance de proyecto   clasePrimer avance de proyecto   clase
Primer avance de proyecto clase
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (15)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Reconocimiento facial en aplicaciones móviles: Comparando OpenCV, Cognitive Services y Cloud Visión API

  • 1. Reconocimiento facial en apps móviles: Comparando OpenCV, Cognitive Services y Cloud Visión API Presenta: ISC Luis Beltrán
  • 2. Luis Beltrán • Profesor en Instituto Tecnológico de Celaya • Estudiante de doctorado en la Universidad Tomás Bata en Zlín, República Checa • Microsoft MVP en Visual Studio y Tecnologías de Desarrollo • Desarrollador Móvil Certificado por Xamarin
  • 3. Agenda • Reconocimiento facial • Face API (Microsoft Cognitive Services) • Google Cloud Vision API • OpenCV • Conclusiones
  • 4.
  • 5.
  • 6. Reconocimiento facial Es un área de la visión de computadora y una aplicación directa del procesamiento de imágenes que compete a investigadores, neurocientíficos y psicólogos que trata de resolver el siguiente problema: “Dada una imagen de una escena, identifica o verifica una o más personas utilizando un repositorio de rostros”
  • 7. • Las personas realizan el reconocimiento facial de manera sencilla a través de sus habilidades naturales de cognición y percepción. • Se ha comprobado científicamente que incluso un recién nacido es capaz de distinguir entre rostros conocidos. • Una máquina requiere sistemas complejos que involucran múltiples algoritmos avanzados, así como bases de datos enormes y adecuadas para poder reconocer personas.
  • 8. Tipos de comparaciones • Verificación (autentificación) El sistema compara el rostro proporcionado del individuo contra el que supuestamente dice ser; el sistema confirma o rechaza esta petición. • Identificación (reconocimiento) El sistema compara la imagen proporcionada contra todos los rostros conocidos (almacenados en el repositorio) para determinar su identidad.
  • 9. Face detection • Consiste en localizar un rostro dentro de una imagen y aislarlo de los otros objetos.
  • 10. Edge detection • Detección de bordes mediante algoritmos • Adelgazamiento • Filtrado • Etiquetado
  • 11. Escala de grises • Se aumenta el contraste de la imagen • Se separan los componentes cuyo nivel de grises sea mayor que un umbral (thresholding) • Utilizando plantillas ya existentes, se determinan los rasgos faciales (pupilas, nariz, boca, orejas, etc)
  • 12. Redes neuronales • Se entrena una red neuronal con imágenes de muestra que representan caras y otras que no. • Cuando la red ha sido suficientemente entrenada, puede distinguir entre lo que es una cara y lo que no.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Face API (Microsoft Cognitive Services) • API de Reconocimiento Facial • Detección de caras en una imagen • Permite identificación y verificación facial • Búsqueda de caras similares • Agrupación de caras https://azure.microsoft.com/es-mx/services/cognitive-services/face/
  • 19.
  • 20. ¿Cómo funciona? • Es un servicio en la nube con 2 funciones principales: Face Detection (con atributos) y Face Recognition (verification, similar faces, grouping, identification, storage). • Se expone un REST API al cual se le proporciona una imagen (arreglo de bytes o stream) y se retorna un contenido JSON con la información del resultado del análisis
  • 23. Google Cloud Vision API • API general de extracción de información de una imagen que utiliza potentes modelos de Machine Learning encapsulados en una REST API fácil de utilizar. • Caso específico de rostros: detección de caras, atributos faciales clave asociados (emociones, accesorios, etc). • No proporciona reconocimiento facial. https://cloud.google.com/vision/
  • 24.
  • 25. ¿Cómo funciona? • Es un servicio en la nube que puede realizar Face Detection (con atributos). • Se expone un REST API al cual se le proporciona una imagen (arreglo de bytes, stream o URL) y se retorna un contenido JSON con la información del resultado del análisis
  • 28. OpenCV • Es una biblioteca open source enfocada al área de visión de computadora y el machine learning. • Incluye más de 2500 algoritmos para diversas funciones, como: • Identificación de objetos • Detección de rostros • Clasificación de acciones humanas • Identificación de imágenes similares • Reconocimiento de patrones • Principales lenguajes: Python y C++
  • 29.
  • 30. ¿Cómo funciona? • En este caso no hay un servicio API que encapsule los algoritmos de reconocimiento facial, por lo que hay que construirlo “desde cero” o utilizar los existentes en la librería. • Al ser de código abierto, los algoritmos pueden ser modificados y adaptados, consideración que NO se puede hacer con los servicios de Microsoft y Google.
  • 31. Esquema de precios • No hay costos asociados por utilizar la librería, por lo que es gratis al 100%
  • 33. Aplicaciones • Descripción de una persona: sexo, edad, emociones • Seguridad: Autentificación, control de acceso • Publicidad interactiva • Videojuegos • Industria (control de elementos en base a gestos faciales) • Fotografías (Facebook, Google) • Biometría (pasaportes, votaciones, licencias de manejo)
  • 34. Retos
  • 35.
  • 36.
  • 38. Referencias • Joanna Isabelle Olszewska (2016). Automated Face Recognition: Challenges and Solutions, Pattern Recognition - Analysis and Applications, Dr. S Ramakrishnan (Ed.), InTech, DOI: 10.5772/66013. Available from: https://www.intechopen.com/books/pattern-recognition- analysis-and-applications/automated-face-recognition-challenges-and-solutions • http://www.neosentec.com/reconocimiento-facial-en-tiempo-real-y-sus-aplicaciones/