vinjn.com Democratizing Visual Computing

奔四的不只有 Vinjn,还有 OpenCV

2018-09-20

读者朋友们好,

告诉一个消息,OpenCV 4.0 alpha 发布 liao,正式版不出意外将于十月底问世。

什么!OpenCV 都 4.0 了?

什么!小张都奔四了!

小张快速看了下,这个版本基于 3.4 的分支,卖点有这么三个:

  • 深度学习
  • 性能优化
  • C++11

深度学习 DNN 模块的改进

  • ONNX parser 现已加入 OpenCV DNN 全家桶,现阶段的重点是图像分类
    • 比如 AlexNet, Inception v2, Resnet, VGG 等网络。
    • 图像分类以外,还部分支持 tiny YOLO v2 物体检测网络。
    • 再强调一次,OpenCV DNN 只做 inference。
  • OpenCV 4.0 现在支持的网络框架包含:
    • ONNX
    • Caffe
    • Darknet
    • Tensorflow
    • Torch
    • Intel OpenVINO
  • 增加对 Mask RCNN 的支持,附上 Python 范例

性能优化

  • 增加 SSE4-, AVX2- 和 NEON-指令级的覆盖率,用到了一个小张没听说过的技术 “wide universal intrinsics”.
  • CPU- 和 GPU-加速的 KinFu 实时三维重建算法已加入 opencv_contrib 全家桶。
  • 利用 Intel OpenVINO 项目中的 Inference Engine,加速物体检测网络。
  • 加速后端新增 HPX,这是一个 C++ 的并行加速标准库。
  • 支持基本的 FP16 (新增数据类型 CV_16F)。

大量使用 C++11 特性,向 C 说拜拜

  • OpenCV 现在是一个 C++11 的项目了,编译器需要支持 C++11。因此很多方便的新特性可以用到了,比如:
    • parallel_for 配合 labmda 函数一起服用
    • 方便地遍历 cv::Mat,通过列举元素来初始化 cv::Mat
    • 标准库里的 std::string 替代了 cv::String
    • std::shared_ptr 替代了 cv::Ptr
    • parallel_for 可以使用 std::thread 来做线程池
  • 不幸的是,我们要对 C 接口说再见了,OpenCV 1.x 时代的遗老们(CvMatIplImage 等)正慢慢被删除着,到了 4.0 正式版差不多就都拜拜了。

好了,让我们结束这篇悲伤的文章吧。


vinjn.com - Democratizing Visual Computing


Similar Posts

Content