Necesito ayuda para programacion de reconocimiento facil

Iniciado por Lino Romero, 8 Julio 2019, 21:43 PM

0 Miembros y 1 Visitante están viendo este tema.

Lino Romero

Necesito ayuda para programacion de reconocimiento facial ya que quiero por ejemplo que se reconozca la cara de x persona para que luego se transmita hacia el telefono de la persona que esta solicitando el reconocimiento facial y se vea en formato 3d lo que hace x persona en el momento

rub'n

#1
Cita de: Lino Romero en  8 Julio 2019, 21:43 PM
Necesito ayuda para programacion de reconocimiento facial ya que quiero por ejemplo que se reconozca la cara de x persona para que luego se transmita hacia el telefono de la persona que esta solicitando el reconocimiento facial y se vea en formato 3d lo que hace x persona en el momento

damn Lmao, si ni siquiera publicas ni hablas de un lenguaje, pfff, pero OpenCV te podría ayudar en parte.


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

Lino Romero

Cita de: rub'n en  8 Julio 2019, 22:14 PM
damm lmao, si ni siquiera publicas ni hablas de un lenguaje, pfff, pero OpenCV te podría ayudar en parte.

Pero si es posible cierto?

@XSStringManolo

Qué tiene que ver el reconocimiento facial con retransmitir un video por streaming?
Sabes lo que es el reconocimiento facial y la programación?
Por como planteas la pregunta parece que pides que te hagan un programa gratis y no dices ni para que vas a usarlo ni como lo quieres. Bastante ridículo.

Lino Romero

Cita de: string Manolo en  8 Julio 2019, 23:36 PM
Qué tiene que ver el reconocimiento facial con retransmitir un video por streaming?
Sabes lo que es el reconocimiento facial y la programación?
Por como planteas la pregunta parece que pides que te hagan un programa gratis y no dices ni para que vas a usarlo ni como lo quieres. Bastante ridículo.

No, men no entendiste bien lee otra vez y analizalo, yo no quiero nada de videollamadas

animanegra

Plantéas varios problemas que no se si están del todo pensados, voy con una posible solución sencilla a la parte del reconocimiento facial. Probabablemente el algoritmo de reconocimiento facial más sencillo es el basado en matrices de máximos y minimos. Lo que tienes que hacer es hacerte un array con los pixeles de cada persona que deseas reconocer. Tomas un set de fotos y hallas los máximos de cada pixel y los minimos de cada pixel. Te quedarán dos imágenes de dos caras un tanto raras pero que describe el máximo y el minimo del set de fotos del que dispones de cada cara.
Despues para reconocer, simplemente lo que tienes que hacer es hallar el error de cada pixel de la foto nueva que has tomado respecto al máximo y el minimo. Si pixmaximo y pixminimo es el valor de un pixel de la foto cuando miras el valor de dicho pixel pix en la foto nueva el error será la distancia pix-pixmaximo en caso de que pix > pixmaximo y pixminimo-pix en caso de que pix < pixminimo. En otro caso el error será 0.
Sumas el error que te devuelve de la comparación de cada pixel y ese es el error de tu nueva cara respecto a las que tenías. El método más sencillo distingue entre caras de un set específico, tienes nu numero de caras especifico y hallas el error para todas, la cara nueva será la que tenga error mínimo. Puedes hacer un método más general haciendo un umbral el cual si se sobrepasa no es ninguna cara de tu set.

caras de ejemplo para proceso para que puedas hacer pruebas:
www.cl.cam.ac.uk/Research/DTG/attarchive/pub/data/att_faces.zip

PD: si no se entiende algo o quieres que lo amplíe me dices.

42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.

@XSStringManolo

Cita de: Lino Romero en  9 Julio 2019, 03:54 AM
No, men no entendiste bien lee otra vez y analizalo, yo no quiero nada de videollamadas
No es que yo no sepa interpretar tu mensaje. Es que tu mensaje es vago, con incoherencias, poco definido y sin contexto.
Explícate bien si quieres obtener una respuesta.

Serapis

#7
No es fácil lo que pides...

Una cosa es reconocimiento facial y otra es reconocimiento facial en 3D...

Lo primero podría hacerse con una simple foto, lo segundo exige o muchas instantáneas (de la misma foto), o un hardware específico que tome todas las instantáneas a la vez, o que dicho hardware incluya al menos 2 o 3 puntos focales distintos y distantes desde los que poder establecer distancias y por tanto profundidades para generar una imagen 3D más o menos exacta.

También podría simularse una profundidad 3D, a cualquier imagen de un rostro, para ello basta tener una malla 3D 'universal', sobre la que se aloja (como si fuera ropa), la imagen tomada. En realidad sería más bien al revés, la malla 3D debería sufrir una transformación para adaptarse a la imagen después de un recorte o extracción del fondo. Esto es, la transformación sería para los planos 'x' e 'y' conservando prácticamente el plano 'z' (sería algo inexacto, pero lo más cercano posible partiendo de una única imagen). ...luego que funcione bien, uno podría todavía mejorar el plano 'z' para aspectos indiividuales como: la nariz, labios, mentón orejas, ojos y pómulos y en última instancia el pelo...

...para el pelo, igualmente lo más práctico sería disponer previamente de diferentes modelos universales de mallas 3D de pelo, y tomar la que más se aproxime a la realidad (un calvo tendrá algo muy distinto a alguien con melena o con rizos, una rasta o un peinado rollo punky, etc...).
Sucede lo mismo cuando tiene: bigote, barba, gafas, gorro, gorra, sombrero, pendientes, etc... es decir se complica para un uso absoluto. ...esto se puede solventar si el uso es tolerado por la persona (que sabe que debe situarse en tal o cual sitio y quitarse los objetos que lleve sobre o cerca del rostro), no vale si el caso son 'fotos robadas'... y por tanto 'no posan' para tomar la foto.

Por otro lado, efectivamente tu pregunta está planteada de forma insuficiente, ya que por ejemplo no queda claro si simplemente se toma una foto, se le practica reconocimiento facial y si da positivo, lo que se envía en 3D es la almacenada para dicho individuo (en una BD)...
Es decir, no queda claro su uso de destino, por ejemplo un posible uso serúía: Como si a un 'agente' se le presentara en un terminal la imagen tomada al instante y una procedente de la BD en 3D, de la que preseuntamente da positivo, para que el agente determine finalmente por sí mismo la validez de la coincidencia... y dictamine si son o no la misma persona (pero es solo un ejemplo, podría ser algo distinto, que no aclaras con suficentemente en tu exposición) en tal caso, obviamente la imagen 3D devuelta sería aquella que dé un valor de coincidiencia superior a un límite dado (pongamos superior a un 66%, un valor menor se interpretaría como  'desconocido').
Puede que se dieren valores cercanos al 100%, lo que no quiere decir coincidencia total, solo valoración mal programada, esto es, es imposible mediante software determinar coincidencia 100% so pena de dar muchos falsos positivos, es decir acabaría dándose el caso que muchas caras distintas darían positivo para una misma imagen almacenada, bastaría una similitud en el rostro y un maquillaje similar a la imagen almacenada...

Me imagino que a lo sumo tendrás algo pensado, pero con eso no se hecha a rodar... Así que vamos a lo práctico... qué tienes hecho?...

Machacador

Este muchacho tiene una mente muy voladora girando un poco hacia lo ilegal por no decir, criminal... el quiere un programa de reconocimiento facial colocado en el teléfono de una victima para que cuando este se conecte al mismo envié imágenes 3D de todo lo que hace el individuo en cuestión y lo que pasa en sus alrededores... aparte en otro post solicita la formula para hacer un programa que sea capaz de alterar el monto de dinero en su cuenta bancaria para obtener mucho dinero y "tratar de conquistar el mundo" al estilo del ratón "Cerebro" que hacia de contrafigura al simpático ratón "Pinky"...


Saludos.

"Solo tu perro puede admirarte mas de lo que tu te admiras a ti mismo"

@XSStringManolo

Sin saber si el sujeto colabora, si es una webcam o una camara frontal de smartphone camaras de trafico io que sea..
Ni tampoco el lenguaje utilizado ni la plataforma para saber qye librerias hay disponibles..

Ni lo que se va transmitir ni a quien, ni para que...

Hay una ecuación matemática que te permite obtener la altura de una persona a traves de un video. Segun la altura puedes determinar una estimación del tamaňo de la cara. Calculando la distancia del sujeto respecto a la cara puedes obtener un tamaňo estimado de la cara del sueto.

Sobre esa información almacenas la distancia de los ojos, orejas, raiz del pelo, barbilla, nariz, labios, tamaňo y posición en la cara del sujeto.

Con todos estos datos creas un perfil y le das un nombre. Si queres ir más allá obtienes el color de ojos y tez de la piel, lunares, pelos, etc. Pero tendrá que tener un registro de cada cámara y analizar independientemente cada imagen según la calidad y el color y los ajustes de la cámara.

Después con sacarle una foto a alguien lo comparas con los perfiles y muestras los nombres con una miniatura de las imagenes analizadas. Podrias aňadir inteligencia artificial para aumentar la fiabilidad de los resultados.

No sé como piensas hacer esto sin tener ni zorra de programación.