Ir al contenido



Foto

[CODIGO DELPHI] Firemonkey FaceDetector (Android)

Firemonkey Face Detector Android Delphi Codigo Face

  • Por favor identifícate para responder
8 respuestas en este tema

#1 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 04 abril 2017 - 06:58

[CODIGO DELPHI] Firemonkey FaceDetector (Android)

 

Enlace de Informacion

http://winsoft.sk/afacedetector.htm

 

Codigo Fuente

http://winsoft.sk/do...acedetector.zip

 

APK / BinarioSaldu

http://winsoft.sk/do...acedetector.apk

 

Saludos!


  • 1

#2 ELKurgan

ELKurgan

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 543 mensajes
  • LocationEspaña

Escrito 04 abril 2017 - 11:41

Gracias por la información

 

Saludos


  • 0

#3 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 433 mensajes

Escrito 05 abril 2017 - 06:09

Este solo reconcoce el sector de la imagen donde esta el rostro, pero tambien se podria utilizar para el reconocimiento facial como tiene facebook en los aeropuertos. Con filmarte saben quien sos :ap: ..


  • 0

#4 FerCastro

FerCastro

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 624 mensajes
  • LocationCiudad de México

Escrito 06 abril 2017 - 09:05

Este solo reconcoce el sector de la imagen donde esta el rostro, pero tambien se podria utilizar para el reconocimiento facial como tiene facebook en los aeropuertos. Con filmarte saben quien sos :ap: ..

 

Es el inicio del reconocimiento facial, a continuación vienen las medidas de rostro, distancia entre ojos, distancia entre nariz y labio superior, distancia entre labio inferior y barbilla, etc.

 

Debo tener por ahí un algoritmo matemático para reconocer un rostro, pero esto es el primer paso para la detección facial. Interesante trabajo.


  • 1

#5 FerCastro

FerCastro

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 624 mensajes
  • LocationCiudad de México

Escrito 06 abril 2017 - 09:06

Este solo reconcoce el sector de la imagen donde esta el rostro, pero tambien se podria utilizar para el reconocimiento facial como tiene facebook en los aeropuertos. Con filmarte saben quien sos :ap: ..


  • 0

#6 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.257 mensajes
  • LocationArgentina

Escrito 06 abril 2017 - 01:01

Este solo reconcoce el sector de la imagen donde esta el rostro, pero tambien se podria utilizar para el reconocimiento facial como tiene facebook en los aeropuertos. Con filmarte saben quien sos :ap: ..

 

No se realmente si es así como lo dices realmente. Lo que si puedo decir, viendo el código fuente es que todo se termina delegando en la implementación de la clase FaceDetector que pertenece a la API de Android. Se utiliza de FMX como wrapper para llegar a esa clase.

Los detalles internos de esa clase los desconozco. Obviamente que detecta los rostros, hay variados algoritmos propuestos para eso. De que sea capaz de implementar reconocimiento facial y poder identificar a cada persona de otra ya es otra cosa, y quien sabe si esa clase no tiene (además) algo para eso.

 

Es el inicio del reconocimiento facial, a continuación vienen las medidas de rostro, distancia entre ojos, distancia entre nariz y labio superior, distancia entre labio inferior y barbilla, etc.

 

Debo tener por ahí un algoritmo matemático para reconocer un rostro, pero esto es el primer paso para la detección facial. Interesante trabajo.

 

Si y no.

Lo que tu describes se conoce como el método de características principales. Fue uno de los primeras propuestas en estudio, y se sabe al día de hoy que no es la más precisa.

Hay otros métodos, como Eigenface, Fisherface (una mejora y ampliación del Eigenface), Análsis discriminante, redes neuronales... por mencionar lo más conocidos.

Algunos algoritmos necesitan una estricta "separación de pasos" como la que describes:

1) detectar rostros

2) extracción de características

3) entrenamiento y/o identificación

 

Pero también los hay que hacen (1) y (2) en simultáneo. O que prescinden del 2do (*)

 

(*) Prescindir en el sentido en que no se "extraen" per se, los rasgos biométricos formal y explícitamente como las medidas que tu mencionas.

 

Más que algoritmos matemáticos, yo los llamaría algoritmos estadísticos. Eigenface por caso aprovecha la implementación práctica del Análisis de Componentes Principales (PCA en inglés) y formaliza a cada rostro (o cualquier cosa en realidad que uno desee) como una combinación lineal entre todos los que forman el conjunto de entrenamiento.

Y Fisherface es una extensión al concepto y agrupa al conjunto de entrenamiento en clases, gracias a la estadística Bayesiana predice cuando un rostro se da por válido cuando se cumple que está en una clase dado otra.

 

Para mayores detalles sobre Eigenface sugiero una leída al Paper de Turk y Pentland, que son los que propusieron esta técnica y es de las primeras en lograr buenos resultados. Sobre Fisherface no tengo más referencia que el paper de Aho et All. Aunque si hay bibliografía al final de su trabajo.

 

Las implementaciones reales sobre reconocimiento facial de hoy en día son quimeras de muchas de las técnicas que he citado (y otras que no recuerdo). Combinan al menos dos métodos para elevar la tasa de éxito.

Según algunos estudios, el mejor sistema de reconocimiento facial lo tiene Facebook. No debería de sorprendernos, ¡tiene la base de entrenamiento más grande que pueda imaginarse! ¡Con ella puede reconocernos a todos! (**)

 

(**) Aunque ya los estudios de Turk han arrojado que incluso no se requiere de "mucho" para poder identificar y reconstruir el rostro de todas las personas del planeta. En ese entonces se estimaba que sólo hacen falta 50 autocaras para poder reconstruir cualquier rostro de todo el mundo. La parte difícil es lograr tener las mejores 50 autocaras... Hoy, Facebook ya tiene de sobra el train set para conseguirlo y hasta le re sobra.

 

Saludos,


  • 1

#7 FerCastro

FerCastro

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 624 mensajes
  • LocationCiudad de México

Escrito 06 abril 2017 - 03:08

No se realmente si es así como lo dices realmente. Lo que si puedo decir, viendo el código fuente es que todo se termina delegando en la implementación de la clase FaceDetector que pertenece a la API de Android. Se utiliza de FMX como wrapper para llegar a esa clase.

Los detalles internos de esa clase los desconozco. Obviamente que detecta los rostros, hay variados algoritmos propuestos para eso. De que sea capaz de implementar reconocimiento facial y poder identificar a cada persona de otra ya es otra cosa, y quien sabe si esa clase no tiene (además) algo para eso.

 

 

Si y no.

Lo que tu describes se conoce como el método de características principales. Fue uno de los primeras propuestas en estudio, y se sabe al día de hoy que no es la más precisa.

Hay otros métodos, como Eigenface, Fisherface (una mejora y ampliación del Eigenface), Análsis discriminante, redes neuronales... por mencionar lo más conocidos.

Algunos algoritmos necesitan una estricta "separación de pasos" como la que describes:

1) detectar rostros

2) extracción de características

3) entrenamiento y/o identificación

 

Pero también los hay que hacen (1) y (2) en simultáneo. O que prescinden del 2do (*)

 

(*) Prescindir en el sentido en que no se "extraen" per se, los rasgos biométricos formal y explícitamente como las medidas que tu mencionas.

 

Más que algoritmos matemáticos, yo los llamaría algoritmos estadísticos. Eigenface por caso aprovecha la implementación práctica del Análisis de Componentes Principales (PCA en inglés) y formaliza a cada rostro (o cualquier cosa en realidad que uno desee) como una combinación lineal entre todos los que forman el conjunto de entrenamiento.

Y Fisherface es una extensión al concepto y agrupa al conjunto de entrenamiento en clases, gracias a la estadística Bayesiana predice cuando un rostro se da por válido cuando se cumple que está en una clase dado otra.

 

Para mayores detalles sobre Eigenface sugiero una leída al Paper de Turk y Pentland, que son los que propusieron esta técnica y es de las primeras en lograr buenos resultados. Sobre Fisherface no tengo más referencia que el paper de Aho et All. Aunque si hay bibliografía al final de su trabajo.

 

Las implementaciones reales sobre reconocimiento facial de hoy en día son quimeras de muchas de las técnicas que he citado (y otras que no recuerdo). Combinan al menos dos métodos para elevar la tasa de éxito.

Según algunos estudios, el mejor sistema de reconocimiento facial lo tiene Facebook. No debería de sorprendernos, ¡tiene la base de entrenamiento más grande que pueda imaginarse! ¡Con ella puede reconocernos a todos! (**)

 

(**) Aunque ya los estudios de Turk han arrojado que incluso no se requiere de "mucho" para poder identificar y reconstruir el rostro de todas las personas del planeta. En ese entonces se estimaba que sólo hacen falta 50 autocaras para poder reconstruir cualquier rostro de todo el mundo. La parte difícil es lograr tener las mejores 50 autocaras... Hoy, Facebook ya tiene de sobra el train set para conseguirlo y hasta le re sobra.

 

Saludos,

 

 

Gracias Marcelo, si gustas pdemos hacer un hilo para poder juntar ideas. La verdas es que esto es mucho mas complicado como para explicarlo en 3 líneas. Si captas, cierto?

 

Saludos!!


  • 0

#8 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.257 mensajes
  • LocationArgentina

Escrito 06 abril 2017 - 05:18

Gracias Marcelo, si gustas pdemos hacer un hilo para poder juntar ideas. La verdas es que esto es mucho mas complicado como para explicarlo en 3 líneas. Si captas, cierto?

 

Saludos!!

 

Yo muy mucho sobre reconocimiento facial no se. Lo que expuse es a modo síntesis de lo que he tenido el placer de investigar para mi trabajo de grado, y más en particular en lo que hace a EigenFace que es lo que abordé. Por ser lo más básico y de lo que podría ser más fácil encontrar material (en inglés obvio).

Y solamente me he limitado a comentar sobre métodos de reconocimiento que requieren una imagen frontal o a lo sumo ligeramente rotada (según recuerdo de los apuntes, Eigenface puede tolerar hasta algo menor a los 35° de giro). Hay técnicas específicamente diseñadas para fotos en perfil, e incluso las técnicas más modernas se basan en análisis 3D o pseudo-3D. Esos temas ya se me escapan a mis posibilidades.

Yo estoy limitado al trabajo original de Turk y Pentland.

 

Es cierto que el procedimiento es más complicado que estas "tres líneas" que he dejado. Mi intención era ilustrar muy brevemente que en última los algoritmos utilizan métodos estadísticos, y que no hay "magia negra" detrás de la tecnología.

Se requiere de estudio obviamente. Rompe cabezas, seguro. Pero detrás de las ideas, que no son en realidad algo nuevo (las primeras investigaciones nos remontan a la década del 60), hay toda una cadena de cosas que juntas hacen que esto sea posible. Eso es lo que lo hace difícil de digerir... una vez que entiendes de donde van saliendo las cosas le encuentras sentido y hasta te parece "fácil", o al menos le pierdes el miedo.

 

Saludos,


  • 0

#9 genriquez

genriquez

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 516 mensajes
  • LocationCali, Colombia

Escrito 10 abril 2017 - 01:31

Gracias sir.dev.a.lot es una excelente librería, la estaba necesitanco.


  • 0





Etiquetado también con una o más de estas palabras: Firemonkey, Face Detector, Android, Delphi, Codigo, Face