开源跨平台计算机视觉库OpenCV 4.0正式发布

OpenCV是英特尔开源的跨平台计算机视觉库,它是一套包含从图像预处理到预训练模型调用等大量视觉 API 的库,并可以处理图像识别、目标检测、图像分割和行人再识别等主流视觉任务。OpenCV提供了覆盖整个流程的工具,因此开发者不需要了解各个模型的原理就能基于各个API构建视觉任务。

\"image\"

OpenCV 使用 BSD 许可证,因此对研究和商业用途均免费。它具备 C++、Python 和 Java 接口,支持 Windows、Linux、Mac OS、iOS 和 Android 系统。OpenCV 旨在提高计算效率,专注于实时应用。它使用优化的 C/C++写成,能够有效利用多核处理。此外,在 OpenCL 的加持下,OpenCV 可以利用底层异构计算平台的硬件加速。OpenCV 应用广泛,目前在全世界约有 4.7 万用户,下载量约为 1400 万。

\"image\"

可以说 OpenCV 是 CV 领域开发者与研究者的必备工具包,Mask-RCNN 等很多开源项目都依赖于这个工具包。现在距离3.0版本的发布已经过去三年多,OpenCV 4.0 final版本终于于近日发布,这也是4.x版本线的第一个稳定版本,它进一步完善了核心接口,并添加了二维码检测器、ONNX 转换格式等新特点。

重要更新如下:

\"image\"

  • OpenCV 4.0 现在是基于C++ 11的库,因此编译器需要与C++ 11兼容。所使用的CMake需要是3.5.1以上版本。
  • OpenCV 1.x 中大量C的API已经被移除,受影响的模块包括objdetect、photo、video、videoio、imgcodecs、calib3d。
  • core 模块中的 Persistence(用于存储和加载 XML、YAML 或 JSON 格式的结构化数据)已经完全基于C++重新实现,因此这里的C API也被移除了。目前,base64支持尚未完成(仅支持加载base64编码的XML和YAML)。 此外,存储在FileNode中的序列的随机访问是慢速O(N)操作;使用cv :: FileNodeIterator可以做更快速的顺序访问。从积极的方面来说,加载FileStorage比原来的实现方法节省了3-6倍的内存。

\"image\"

\"image\"

  • 针对DNN的改进
    • 增加对Mask-RCNN的支持,官方提供了操作指南Python样例
    • 集成ONNX解析器。当前版本的OpenCV支持许多流行的分类网络,部分支持YOLO对象检测网络(ONNX版本的YOLO缺少一些提供矩形列表的最终图层)。
    • 进一步提升使用英特尔DLDT构建的DNN模块的性能。DLDT最近已经正式开源。 请参阅指南了解如何构建和使用支持DLDT的OpenCV。
    • 添加实验性的Vulkan后端
    • 修复了AMD和NVIDIA GPU上的OpenCL加速问题。 现在,用户可以直接为模型启用DNN_TARGET_OPENCL,无需额外的环境变量。不过需要注意的是,DNN_TARGET_OPENCL_FP16仅在英特尔GPU上做了测试,因此仍需要额外的标志。
    • 为OpenCV支持的最流行的深度学习网络添加了快捷方式。开发者可以指定模型的别名,从而跳过预处理参数甚至模型路径的设置!下面是一个操作示例,原来的做法是:
   python object_detection.py --model    opencv_face_detector.caffemodel --config    opencv_face_detector.prototxt --mean 104 177 123 --width 300 --height 300

现在只需要:

   python object_detection.py opencv_fd

\"image\"

  • 添加了新模块G-API,它可作为基于图的高效图像处理流程的引擎。详细信息可以参见Graph API(G-API)页面

\"image\"

  • 实现了流行的Kinect Fusion算法并集成到opencv_contrib/rgbd模块,同时针对CPU 和 GPU (OpenCL) 做了优化。为了使实时样本正常工作,我们在opencv/videoio模块中添加了对Kinect 2的支持。在4.0 beta版本的代码中已经对iGPU做了加速,从而使得高分辨率的情况下(512x512x512集成量)性能提升了3倍。

  • objdetect 模块中添加了二维码检测器和解码器,可以参考这里的代码示例

  • 将高效、高质量的 DIS dense optical flow 算法从 opencv_contrib迁移到video模块。
    此外,OpenCV 4.0性能也有所提升,图像处理操作可实现15%-30%的速度提升。

以下是目前 OpenCV 支持的一些框架:

  • Caffe
  • TensorFlow
  • Torch
  • Darknet
  • ONNX 交换格式的模型

最后附上OpenCV 4.0发布地址:https://opencv.org/opencv-4-0-0.html


会议推荐:12月20-21,AICon将于北京开幕,在这里可以学习来自Google、微软、BAT、360、京东、美团等40+AI落地案例,与国内外一线技术大咖面对面交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值