Blog
Características principales de Dlib
Objetivo del Tutorial 2º del Curso de Python Avanzado con Dlib & OpenCV
-Detallamos las bondades de esta librería..
¿Quieres saber mas acerca de la libreria Dlib?
Dlib es una caja de sorpresas y aquí te detallamos las cosas que puedes hacer con esta librería :
- Documentación de Dlib
- Proporciona una documentación completa y precisa para cada clase y función. También hay modos de depuración que comprueban las precondiciones documentadas para las funciones. Cuando está habilitado, capturará la gran mayoría de errores causados por funciones de llamada de forma incorrecta o utilizando objetos de manera incorrecta.
- Dlib proporcionan muchos programas de ejemplo
- La documentación es la parte más importante de la biblioteca. Así que si encuentras algo que no está documentado, no está claro, o tiene la documentación obsoleta, puedes escribir un mensaje al administrador de http://dlib.net/ y promete arreglarlo.
- Dlib proporciona código portátil de alta calidad
- Buena cobertura de la prueba de la unidad. La relación de las líneas de prueba de unidad de código con respecto a las líneas de código de la biblioteca es de aproximadamente 1 a 4.
- La biblioteca se prueba regularmente en sistemas MS Windows, Linux y Mac OS X. Sin embargo, debe funcionar en cualquier sistema POSIX y se ha utilizado en Solaris, HPUX y los BSD.
- No se requieren otros paquetes para usar la biblioteca. Sólo se necesitan APIs que se proporcionan por un OS fuera de la caja.
- Todo el código específico del sistema operativo está aislado dentro de las capas de abstracción del sistema operativo que se mantienen lo más pequeño posible. El resto de la biblioteca está en capas en la parte superior de las capas de abstracción del sistema operativo o es puro ISO estándar C ++.
- Algoritmos de Aprendizaje Automático con Dlib (Machine Learning Algorithms)
- Aprendizaje profundo (Deep Learning)
- Máquinas convencionales de vector de apoyo basadas en SMO para clasificación y regresión
- Métodos de rango reducido para la clasificación y regresión a gran escala
- Máquinas de vectores de relevancia para clasificación y regresión
- Herramientas de clasificación multiclass de uso general
- Un SVM multiclase
- Una herramienta para resolver el problema de optimización asociado con las máquinas vectoriales de soporte estructural.
- Herramientas SVM estructurales para el etiquetado de secuencias
- Herramientas SVM estructurales para resolver problemas de asignación
- Herramientas SVM estructurales para la detección de objetos en imágenes
- Herramientas SVM estructurales para etiquetar nodos en gráficos
- Una implementación de SVM-Rango a gran escala
- Un algoritmo de regresión RLS del kernel en línea
- Un algoritmo de clasificación SVM en línea
- Aprendizaje métrico semidefinito
- Un estimador de centroides en línea / detector de novedad y soporte de línea fuera de línea de una clase de clasificación
- Clustering algoritmos: lineal o kernel k-means, Chinese Whispers, y Newman clustering.
- Redes Funcionales de Base Radial
- Perceptrones multicapa
- Algoritmos numéricos de Dlib
- Objeto de matriz rápida implementado utilizando la técnica de plantillas de expresión y capaz de utilizar bibliotecas BLAS y LAPACK cuando está disponible.
- Numerosos álgebra lineal y operaciones matemáticas se definen para el objeto matriz como la descomposición de valores singulares, transposición, funciones trigonométricas, etc.
- Algoritmos de optimización no lineal sin restricciones de uso general usando las técnicas de gradiente conjugado, BFGS y L-BFGS
Levenberg-Marquardt para resolver problemas de mínimos cuadrados no lineales - Optimización libre de derivadas sin caja mediante el algoritmo BOBYQA
- Una implementación del Algoritmo de Plano de Corte Optimizado
- Varios solucionadores de programas cuadráticos
- Herramientas de optimización combinatorias para resolver problemas de asignación óptima y min corte / flujo máximo, así como el algoritmo CKY para encontrar el árbol de análisis más probable
- Un objeto entero grande
- Objeto de número aleatorio
- Algoritmos de Inferencia de Modelos Gráficos de Dlib
- Unir algoritmo de árbol para la inferencia exacta en una red Bayesiana.
- Gibbs sampler markov cadena Monte Carlo algoritmo para la inferencia aproximada en una red Bayesiana.
- Rutinas para la realización de la inferencia del MAP en Chain-structured, Potts, o gráficos generales del factor.
- Procesamiento de imágenes con Dlib
- Rutinas para leer y escribir formatos de imagen comunes.
- Conversión automática de espacio de color entre varios tipos de píxeles
- Operaciones comunes de imagen, como el hallazgo de bordes y operaciones morfológicas
- Implementaciones de los algoritmos de extracción de características de SURF, HOG y FHOG.
- Herramientas para la detección de objetos en imágenes, incluyendo la detección frontal frontal y la estimación de objetos.
- Reconocimiento facial de alta calidad
- Enhebrado (Threading)
- La biblioteca proporciona una API de roscado portátil y simple
- Un tubo de paso de mensajes para la comunicación entre hilos e interprocesos
- Un objeto temporizador capaz de generar eventos que están regularmente espaciados en el tiempo
- Objetos en rosca
- Funciones con rosca
- Paralelo para bucles
- Un thread_pool con soporte para futuros
- Redes
- La biblioteca proporciona una API de sockets TCP simple y portátil
- Un objeto para ayudarte a hacer servidores basados en TCP
- Iostream y streambuf que permite a los sockets TCP interoperar con la biblioteca C ++ iostreams
- Un objeto de servidor HTTP simple que puede utilizar para incrustar un servidor web en sus aplicaciones
- Un tubo de paso de mensajes para la comunicación entre hilos e interprocesos
- Una herramienta utilizada para implementar algoritmos usando el modelo de computación Bulk Synchronous Parallel (BSP)
- Interfaces Gráficas de Usuario
- La biblioteca proporciona una interfaz gráfica de usuario sencilla y sencilla
- Implementados en la parte superior de la interfaz gráfica de usuario principal son numerosos widgets
- A diferencia de muchos otros kits de herramientas GUI, el conjunto de herramientas GUI dlib es threadafe
- Algoritmos de Compresión de Datos e Integridad
- Un objeto CRC 32
- Funciones MD5
- Varios objetos abstraídos que representan partes de algoritmos de compresión de datos. Se incluyen muchas formas del algoritmo PPM.
- Pruebas (Testing)
- Un objeto de registro de seguridad de subprocesos denominado después del logger Java popular log4
- Un marco modular de pruebas unitarias
- Varias macros de afirmación útiles para probar condiciones previas
- Utilidades GeneralesUn objeto seguro de tipo para convertir entre órdenes de bytes endian grandes y pequeños
- Un analizador de línea de comandos con la capacidad de analizar y validar líneas de comandos con varios tipos de argumentos y opciones
- Un analizador de XML
- Un objeto que puede realizar conversiones base64
- Muchas clases de contenedores
- Soporte de serialización
- Muchos objetos del gestor de memoria que implementan diferentes estrategias de agrupación de memoria
- Una herramienta que te permite llamar fácilmente a C ++ desde MATLAB
➡ Continúa aprendiendo en nuestro curso de Dlib y OpenCV:
Autor:Rafael Fernandez
Empezé estudiando Física aunque mas tarde me decanté por la Ingeniería. Después de hacer un master de Hidráulica (esp. Aero-hidrodinámica de Vehículos) comenzé el PhD en Ingeniería. Hoy en día me encuentro trabajando para la empresa ITK Engineering AG como ingeniero de desarrollo. Entre mi pasiones está el desarrollo e implementación de todo tipo de códigos en Python y otros lenguages.
Puedes visitar mi perfil en <a href="https://www.linkedin.com/in/rafaelfernandezperfil/">Linkedin.<a>