Introducción
Como una versión un poco mas elaborada de la publicación anterior he preparado este sketch que toma el flujo de video proveniente de la cámara web, encuentra en él los rostros de las personas y les pone un sombrero. Se incluyen diferentes sombreros que pueden cambiarse mediante el teclado.
q – terminar el sketch
a – mostrar/ocultar el rectángulo rojo alrededor de cada cara encontrada
s – mostrar/ocultar la máscara sobre cada cara encontrada
z/x – alternar entre las imágenes de máscaras disponibles
Screenshots
Agradecimientos para Martha, Diego y Jennifer Connerlly por participar como modelos para las fotos del artículo.
Acerca de la ubicación de los rostros
Hasta el momento el perfil que mejores resultados me ha dado para ubicar los rostros de las personas ha sido OpenCV.CASCADE_FRONTALFACE_ALT_TREE (haarcascade_frontalface_alt_tree.xml). Este encuentra los rostros con el menor número de errores (identificación equivocada de un objeto inanimado como si fuera un rostro), sin embargo parece tener poca tolerancia a las variaciones de posición del rostro de las personas, si ellas agachan o rotan un poco la cara probablemente ya no serán renocidas. Un trabajo a futuro consistirá en encontrar como mejorar estos resultados de la ubicación de rostros.
Estos son los perfiles de reconocimiento disponibles a través de OpenCV según la instalación que se realizó de la librería.
Los siguientes perfiles se encuentran disponibles como constantes asociadas a la clase OpenCV de Processing.
public static final String CASCADE_FRONTALFACE_ALT_TREE
public static final String CASCADE_FRONTALFACE_ALT
public static final String CASCADE_FRONTALFACE_ALT2
public static final String CASCADE_FRONTALFACE_DEFAULT
public static final String CASCADE_PROFILEFACE
public static final String CASCADE_FULLBODY
public static final String CASCADE_LOWERBODY
public static final String CASCADE_UPPERBODY
A continuación se listan todos los archivos XML de los perfiles de reconocimiento que también pueden ser utilizados directamente en Processing.
haarcascade_eye_tree_eyeglasses.xml
haarcascade_frontalface_default.xml
haarcascade_mcs_eyepair_small.xml
haarcascade_mcs_upperbody.xml
haarcascade_eye.xml
haarcascade_fullbody.xml
haarcascade_mcs_lefteye.xml
haarcascade_profileface.xml
haarcascade_frontalface_alt2.xml
haarcascade_lefteye_2splits.xml
haarcascade_mcs_mouth.xml
haarcascade_righteye_2splits.xml
haarcascade_frontalface_alt_tree.xml
haarcascade_lowerbody.xml
haarcascade_mcs_nose.xml
haarcascade_upperbody.xml
haarcascade_frontalface_alt.xml
haarcascade_mcs_eyepair_big.xml
haarcascade_mcs_righteye.xml