OpenCV4.0-alpha发布!新增多个深度学习特性
(欢迎关注“我爱计算机视觉”公众号,一个有价值有深度的公众号~)
本定于2018年7月发布的OpenCV4.0再次跳票,昨天官方发布了OpenCV4.0-alpha,作为4.0正式版发布前的尝鲜,让我们一睹芳容!
相比于OpenCV3.4的功能改进:
1.OpenCV DNN模块新增ONNX解析器,支持各种分类网络,比如AlexNet, Inception v2, Resnet, VGG 等。部分支持tiny YOLO v2 目标检测网络。
2.DNN模块新的改进
2.1)支持Mask RCNN并新增 对应例程!
2.2)使用Intel Inference Engine(Intel推断引擎),即Intel OpenVINO的一部分,使得目标检测更快!
2.3)改进OpenCL作为后端的稳定性。
3.快速的QR二维码检测,在Core i5 CPU 640*480分辨率的图像上可以达到约80FPS!后续OpenCV4.0正式版本将加入QR二维码的解码,使其成为完整的解决 方案。
4.通过所谓的“wide universal intrinsics”不断扩展SSE4,AVX2和NEON优化内核集,持续加速OpenCV!
另外,OpenCV4.0 alpha包含一些相比之前版本的独有特性:
1.C++ 11标准的支持(所以编译新版本需要C++11兼容的编译器)。所以许多非常nice的特性比如支持lambda函数的parallel_for,cv::Mat更加方便迭代访问,通过列出元素初始化cv::Mat都得到了默认支持。
2.标准的std::string和std::shared_ptr取代了原先版本的cv::String和cv::Ptr。 parallel_for现在可以使用std::threads线程池作为后端。
3.清理了OpenCV 1.x的旧版C API(CvMat,IplImage等),OpenCV4.0正式版将清理完成。
4.添加了基本类型16位浮点型(CV_16F ),这将对诸如对精度要求不高的比如深度学习的推断加速很明显。
5.CPU和GPU加速的KinFu实时三维密集重建算法添加到opencv_contrib中。
6.HPX加入并行计算的后端。
7.新的棋盘格(chessboard)检测器。
总结
OpenCV目前的开发重点主要有:深度学习功能的完善、C++11的标准支持和指令级、线程级和GPU的加速。
后续52CV君将对其中部分新增功能进行测试,敬请期待。