OpenCV 2.0已经发布5年了,它带来了全新的C++接口,标志着这个项目的开始。在2.0的整个生命周期中,我们增加了新的平台支持,包括iOS和Andriod,通过CUDA和OpenCL实现了GPU加速,为Python和java用户提供了接口,基于github和buildbot构建了充满艺术感的持续集成系统,所以才有了稳定的OpenCV 2.4.x,它被全世界的很多公司和学校所采用。

现在,我们很高兴地宣布3.0时代的开始(OpenCV 3.0 release 预计会在今年圣诞节左右发布)。在3.0时代不会有像2.0时代一样激进的尝试,它有足够稳定的改进,这为我们,也为你们以及伟大的OpenCV社区带来了许多全新的机会。请查看更新日志,我们简要说几点。

1. 项目架构的改变。

最初的时候,OpenCV是一个相对整体的项目,都是以整体的形式构建和装配,在很多年的时间里,这都是一个很好的策略。然而,随着功能的增加,包括bleeding-edge算法发布前的几分钟,一个pull请求提交到我们的仓库,越来越多的贡献者(非常感谢你们),我们决定像其他大项目一样,抛弃整体架构,使用内核+插件的架构形式。
除了我们的主仓库和增加的”test data“仓库,我们还有了http://github.com/itseez/opencv_contrib,这里有很多让人兴奋的功能,包括你们已经知道的面部识别和文本探测,还包括文本识别、新的边缘检测器、充满艺术感的修复、深度地图处理、新的光线流和追踪算法等。

opencv与opencv_contrib之间的区别是:

  • 他们都由我们的持续集成系统维护,尽管opencv_contrib的单元测试并不常规运行。
  • 全部或者一些额外的模块可以用我们的构建系统构建,把OPENCV_EXTRA_MODULES_PATH=/modules传递给CMake。
  • contrib的文档是自动生成的,可以在docs.opencv.org/master获得,它会在OpenCV 3.0 beta版本的时候更加完善、并发布。
  • 主OpenCV是Itseez支持的代码,有非常稳定的API以及一点点创新。
  • opencv_contrib是大多数实验性代码放置的地方,一些API可能会改变,我们欢迎贡献者贡献你们新的精彩算法。

2. 感谢Intel和AMD公司的支持,我们让很多视觉算法实现的GPU加速,并且对于用户来说,都是十分易得的。这个技术可以称之为T-API (“transparent API”),关于这个话题的单独指南在准备当中,仍然非常欢迎你来看一下,试一下我们的T-API的例子,研究一下它如何工作。

3. Intel公司还给了我们另一份大礼。IPP的一个子集默认接入OpenCV,用户可以轻松得到。其中包含了可以将使用IPP加速的OpenCV再次分发的许可。如下图所示,在IPP的帮助下,很多函数都实现了显著的加速。

4. 最后,OpenCV 3.0带来了很新的功能,这是其中的一部分:

  • Text detection and recognition by Lluis Gomez
  • 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 Tambourin
  • 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

更多细节请 阅读原文 »

134 收藏


直接登录
最新评论

推荐关注