El detector de cara de Dlib es mucho más fácil de usar que el de OpenCV e igual de rápido. Puedes leer sobre esto en el blog dlib. Pero aquí hay un ejemplo completo en C ++:
#include
#include
#include
#include
usando el espacio de nombres dlib;
int main ()
{
detector automático = get_frontal_face_detector ();
array2d img;
load_image (img, “people.jpg”);
pyramid_up (img);
auto dets = detector (img);
std :: cout << "Número de caras detectadas:" << dets.size () << std :: endl;
image_window win (img);
win.add_overlay (dets, rgb_pixel (255,0,0));
win.wait_until_closed ();
}
- ¿Qué campos necesitan NLP (procesamiento del lenguaje natural) o técnicas de minería de texto?
- ¿Se utiliza el aprendizaje automático para resolver otros problemas en lugar de problemas relacionados con la inteligencia artificial?
- ¿Cuál es una buena manera de entender la maldición de la alta dimensión en el aprendizaje automático?
- ¿Cuáles son los métodos actuales o estándar de combinación de datos estructurados y no estructurados en redes neuronales convolucionales?
- ¿Qué caminos puede tomar un ingeniero mecánico para comenzar a trabajar con robótica, aprendizaje automático e inteligencia artificial?
Y lo mismo pero usando la API de Python de dlib:
importar dlib
de skimage import io
img = io.imread (‘people.jpg’)
detector = dlib.get_frontal_face_detector ()
# Ejecute el detector de rostros, muestreando la imagen 1 vez para encontrar rostros más pequeños.
dets = detector (img, 1)
print “número de caras detectadas:”, len (dets)
win = dlib.image_window ()
win.set_image (img)
win.add_overlay (dets)
raw_input (“Presione enter para continuar”)
Lo probé en una foto grupal aleatoria de imágenes de Google y aquí está la salida:
Además, aquí hay un video de youtube que muestra la salida del detector de rostro OpenCV predeterminado y el detector de rostro predeterminado de dlib:
OpenCV tiene muchas falsas alarmas y requiere muchos ajustes para que funcione razonablemente. Dlib simplemente funciona.