New Version of OpenCV in Alpha
Written by Alex Armstrong   
Tuesday, 02 September 2014

The OpenCV team has announced OpenCV 3.x. Changes include a move to core plus plugins architecture, a lot of new functionality and optimizations that deliver a substantial speedup.

 

OpenCV is an open source computer vision library that is used by just about everyone experimenting not just vision but a range of image processing tasks. 

The announcement of the release of the OpenCV 3.0 alpha opens with a reminder of the background:

It has been almost 5 years since OpenCV 2.0 has been released, which brought the completely new C++ API and started the new epoch of extensive growth of the project. During the whole 2.x lifecycle we added support of new platforms, including iOS and Android, added GPU acceleration via CUDA and OpenCL, provided complete interface to Python and Java users and built our state-of-art continuous integration system based on github and buildbot. As a result, we now have very stable OpenCV 2.4.x that’s been used in many companies and universities all over the world.


Although version 3.x isn't going to be as major an upheaval as the transition to version 2.x, it does bring with it a change in the project architecture. Up until now OpenCV has been built and shipped as a single package in future it will adopt the "core + plugins" architecture used by other large projects.

Going forward the project has an additional repository on GitHib. In future the main opencv repository  will have "very stable API and probably just a little innovation" whereas the newer opencv_contrib is for "extra" modules that provide additional functionality and which may not have stable API and are less well tested and therefore won't be part of the official Open CV distribution. This wil be the location for:

a lot of exciting functionality, including already known face recognition and text detection, but also text recognition, new-age edge detectors, state-of-art inpainting, depth maps processing, new optical flow and tracking algorithms etc.

Not only will opencv_contrib be where most of the experimental code is put, it is also where the community is invited to contribute new algorithms.

The OpenCV community is very active as this list of new functionality that will be part of OpenCV indicates: 

  • Text detection and recognition by Lluis Gomez and Stefano Fabri
  • HDR by Fedor Morozov and Alexander Shishkov
  • KAZE/A-KAZE by Eugene Khvedchenya, the algorithm author Pablo Alcantarilla and some improvements by F. Morozov.
  • Smart segmentation and edge-aware filters by Vitaly Lyudvichenko, Yuri Gitman, Alexander Shishkov and Alexander Mordvintsev
  • Car detection using Waldboost, ACF by Vlad Shakhuro and Nikita Manovich
  • TLD tracker and several common-use optimization algorithms by Alex Leontiev
  • Matlab bindings by Hilton Bristow, with support from Mathworks.
  • Greatly extended Python bindings, including Python 3 support, and several OpenCV+Python tutorials by Alexander Mordvintsev, Abid Rahman and others.
  • 3D Visualization using VTK by Ozan Tonkal and Anatoly Baksheev.
  • RGBD module by Vincent Rabaud
  • Line Segment Detector by Daniel Angelov
  • Many useful Computational Photography algorithms by Siddharth Kherada
  • Shape descriptors, matching and morphing shapes (shape module) by Juan Manuel Perez Rua and Ilya Lysenkov
  • Long-term tracking + saliency-based improvements (tracking module) by Antonella Cascitelli and Francesco Puja
  • Another good pose estimation algorithm and the tutorial on pose estimation by Edgar Riba and Alexander Shishkov
  • Line descriptors and matchers by Biagio Montesano and Manuele Tamburanno
  • Myriads of improvements in various parts of the library by Steven Puttemans; thank you a lot, Steven!
  • Several NEON optimizations by Adrian Stratulat, Cody Rigney, Alexander Petrikov, Yury Gorbachev and others.
  • Fast foreach loop over cv::Mat by Kazuki Matsuda
  • Image alignment (ECC algorithm) by Georgios Evangelidis
  • GDAL image support by Marvin Smith
  • RGBD module by Vincent Rabaud
  • Fisheye camera model by Ilya Krylov
  • OSX framework build script by Eugene Khvedchenya
  • Multiple FLANN improvements by Pierre-Emmanuel Viel
  • Improved WinRT support by Gregory Morse
  • Latent SVM Cascade by Evgeniy Kozhinov and NNSU team (awaiting integration)
  • Logistic regression by Rahul Kavi
  • Five-point pose estimation algorithm by Bo Li

OpenCV also has increasing industry support. GPU acceleration of many vision algorithms with a technology nicknamed T-API (transparentAPI) has come about with support from Intel and AMD and Intel has also provided a subset of its Intel Integrated Performance Primitives (IPP) to be linked by default, and for free, into Open CV. This means there's a substantial speedup for some image processing functions. In the graph IPP is compared to OpenCV with all possible optimizations turned on.

 

opencvgraph

 

 

Users are invited to try out the alpha, although they are warned to expect some glitches, such as partially broken Python bindings, a few failing tests, etc, and provide feedback. The beta version is expected within a couple of months and the final release around the end of 2014.

 

 

 

 

Banner


Rust And C++ Should Be Friends?
20/11/2024

The Rust Foundation has just released a statement on Rust and C++ interoperability and Google is ponying up $1 to see that it gets done.



Kotlin Ktor Improves Client-Server Support
04/11/2024

Kotlin Ktor 3 is now available with better performance and improvements including support for server-sent events and CSRF (Cross-Site Request Forgery) protection.


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

 

 

 

 

 

Last Updated ( Tuesday, 02 September 2014 )