top of page

Group

Public·87 members

[ KINECT] HowTo: Utilizar Face Recognition Con KinectSdk (III)


LINK >>>>> https://urlin.us/2tv8oD





[ KINECT] HowTo: Utilizar Face Recognition con KinectSdk (III)


En este artÃculo vamos a ver cÃmo utilizar la tecnologÃa de reconocimiento facial con el KinectSdk, el kit de desarrollo de software para el sensor de movimiento Kinect de Microsoft. El reconocimiento facial consiste en identificar a una persona a partir de una imagen de su rostro, lo que puede tener múltiples aplicaciones prÃcticas, como el control de acceso, la seguridad o la interacciÃn con videojuegos.


Para realizar el reconocimiento facial con el KinectSdk, necesitamos dos componentes principales: el detector de rostros y el reconocedor de rostros. El detector de rostros se encarga de localizar y delimitar el Ãrea donde se encuentra el rostro de una persona en una imagen capturada por el Kinect. El reconocedor de rostros se encarga de comparar el rostro detectado con una base de datos de rostros previamente registrados y devolver el nombre de la persona mÃs parecida.


El KinectSdk ofrece un detector de rostros integrado que podemos utilizar fÃcilmente desde nuestro cÃdigo. Sin embargo, no ofrece un reconocedor de rostros listo para usar, por lo que tendremos que implementarlo nosotros mismos o utilizar alguna librerÃa externa. En este artÃculo vamos a utilizar la librerÃa Emgu CV, que es un envoltorio para la popular librerÃa OpenCV de visiÃn por computador. Emgu CV nos permite utilizar las funciones de OpenCV desde C#, el lenguaje que usamos para programar con el KinectSdk.


El proceso general para realizar el reconocimiento facial con el KinectSdk y Emgu CV es el siguiente:


Inicializar el sensor Kinect y sus fuentes de datos (color y profundidad).


Obtener una imagen en color del Kinect y convertirla a un formato compatible con Emgu CV.


Utilizar el detector de rostros del KinectSdk para obtener las coordenadas del rostro en la imagen.


Cortar la imagen para quedarnos solo con el Ãrea del rostro.


Utilizar el reconocedor de rostros de Emgu CV para comparar el rostro con una base de datos de rostros y obtener el nombre de la persona mÃs parecida.


Mostrar el resultado en pantalla.


En los artÃculos anteriores ([ KINECT] HowTo: Utilizar Face Recognition con KinectSdk (I) y [ KINECT] HowTo: Utilizar Face Recognition con KinectSdk (II)) vimos cÃmo realizar los pasos 1, 2 y 3. En este artÃculo vamos a ver cÃmo realizar los pasos 4, 5 y 6.


Paso 4: Cortar la imagen para quedarnos solo con el Ãrea del rostro


Una vez que tenemos las coordenadas del rostro en la imagen, podemos cortar la imagen para quedarnos solo con esa parte. Esto nos permite reducir el tamaÃo de la imagen y eliminar informaciÃn innecesaria que podrÃa afectar al reconocimiento facial. Para cortar la imagen, podemos utilizar la funciÃn Copy de Emgu CV, que nos permite copiar una regiÃn rectangular de una imagen a otra. La regiÃn rectangular se define por un objeto Rectangle, que podemos crear a partir de las coordenadas del rostro obtenidas por el detector del KinectSdk.


El cÃdigo para cortar la imagen es el siguiente:


```csharp


// Convertir la imagen del Kinect a un formato compatible con Emgu CV


Image colorImage = new Image(colorFrame.ToBitmap());


// Obtener las coordenadas del rostro en la imagen


FaceFrameResult faceResult = faceFrame.FaceFrameResult;


RectI faceBox = faceResult.FaceBoundingBoxInColorSpace;


// Crear un rectÃngulo a partir de las coordenadas del rostro


Rectangle faceRect = new Rectangle(faceBox.Left, faceBox.Top, face aa16f39245






About

Welcome to the group! You can connect with other members, ge...

Members

Group Page: Groups_SingleGroup
bottom of page