OpenCV 4.0 y 4.1: 驴qu茅 hay de nuevo?



Volvemos a la historia sobre la biblioteca de visi贸n por computadora de c贸digo abierto OpenCV . El proyecto vive y se desarrolla, impulsado por un equipo de desarrolladores que trabajan en Intel, as铆 como por un soporte comunitario duradero. A finales de 2018, se lanz贸 la primera versi贸n estable de la rama 4.x, y hace solo un mes se lanz贸 una nueva actualizaci贸n: la versi贸n 4.1. Les pedimos a los autores de la biblioteca que enumeraran brevemente qu茅 novedades tra铆an estas dos versiones a la funcionalidad OpenCV.

Opencv 4.0


El lanzamiento de OpenCV 4.0 complet贸 el ciclo de vida de la versi贸n 3.x: para corregir errores y mejoras menores, se cre贸 una rama 3.4, a partir de la cual ya se crear谩n versiones menores 3.4.x (similar a 2.4.x).

Opencv 4.0 final

  • OpenCV ahora es una biblioteca C ++ 11 y requiere un compilador compatible con C ++ 11;
  • Se han eliminado muchas funciones de la API C obsoleta (de OpenCV 1.0), las constantes antiguas y las declaraciones de funciones se han movido a archivos de encabezado separados ( imgproc_c.h ) y ahora el usuario debe incluirlas expl铆citamente ( #include <opencv / imgproc / imgproc_c.h> );
  • Todos los m贸dulos CUDA se han portado al repositorio opencv_contrib ;
  • La API de persistencia para escribir y leer datos en un archivo se ha reescrito en C ++, se han eliminado las funciones antiguas;
  • Se ha agregado un nuevo m贸dulo G-API, que le permite crear gr谩ficos a partir de operaciones en im谩genes y aplicarles varias optimizaciones;
  • Se agreg贸 soporte para el Kit de herramientas de implementaci贸n de Deep Learning (incluidas las versiones de c贸digo abierto ) al m贸dulo dnn , incluido el uso de Intel Movidius Neural Compute Stick o Intel Neural Compute Stick 2 en Raspberri Pi 3 ;
  • El soporte para redes en el formato ONNX (Open Neural Network Exchange) se ha agregado al m贸dulo dnn ;
  • Se agreg贸 soporte experimental para c谩lculos a trav茅s de Vulkan al m贸dulo dnn;
  • Se ha agregado la implementaci贸n del algoritmo en tiempo real para procesar escenas / modelos 3D de KinectFusion (con optimizaci贸n para CPU y GPU / OpenCL);
  • Se agreg贸 soporte para detectar y decodificar c贸digos QR al m贸dulo objdetect (el decodificador usa la biblioteca QUirc): este verano, como parte de la pasant铆a de verano, se trabajar谩 para mejorar la calidad y, posiblemente, se agregar谩 el modo de detecci贸n-decodificaci贸n simult谩nea de m谩s de un c贸digo QR en la imagen;
  • Se transfiri贸 un algoritmo de flujo 贸ptico DIS muy eficiente y al mismo tiempo de alta precisi贸n desde opencv_contrib al m贸dulo de video del repositorio principal.

Opencv 4.1


  • Se agregaron implementaciones optimizadas de despacho de muchos algoritmos en los m贸dulos core e imgproc ;
  • Mejoras en el m贸dulo dnn :
    • Soporte implementado para el lanzamiento de redes en el Intel Neural Compute Stick 2 (usando DLDT);
    • Consumo de memoria m谩ximo reducido, soporte introducido para muchas redes nuevas de TensorFlow
  • El m贸dulo Videoio agrega soporte para Android Media NDK API para leer archivos / transmisiones de video en dispositivos Android desde c贸digo C ++ (煤til para probar algoritmos);
  • Se ha agregado un nuevo m贸dulo para analizar la calidad de la imagen ( opencv_contrib / quality ). Implementa tanto algoritmos b谩sicos (PSNR, SSIM) como nuevos algoritmos especializados (como el algoritmo de evaluaci贸n de calidad sin usar las im谩genes BRISQUE originales: Evaluador de calidad espacial de im谩genes ciegas / sin referencia);
  • Se implementaron varios algoritmos nuevos: flujo 贸ptico local robusto, est茅reo casi denso, calibraci贸n de la c谩mara conectada al manipulador (Hand-Eye);

Se puede encontrar m谩s informaci贸n sobre la biblioteca en el sitio del proyecto, que ha cambiado m谩s all谩 del reconocimiento.

El n煤mero de parches de 4.0.0 a 4.1.0: 462 (aproximadamente 5.3 parches por d铆a, excluyendo fines de semana y feriados). Hay muchos cambios, como puede ver, y son significativos. Si tiene preguntas sobre la funcionalidad incorporada o, por el contrario, la no implementada, bienvenido a los comentarios, los desarrolladores de OpenCV intentar谩n responderlos.

Source: https://habr.com/ru/post/452790/


All Articles