OpenCV 是英特尔开源的跨平台计算机视觉库,它是一套包含从图像预处理到预训练模型调用等大量视觉 API 的库,并可以处理图像识别、目标检测、图像分割和行人再识别等主流视觉任务。OpenCV 提供了覆盖整个流程的工具,因此开发者不需要了解各个模型的原理就能基于各个 API 构建视觉任务。
OpenCV 使用 BSD 许可证,因此对研究和商业用途均免费。它具备 C++、Python 和 Java 接口,支持 Windows、Linux、Mac OS、iOS 和 Android 系统。OpenCV 旨在提高计算效率,专注于实时应用。它使用优化的 C/C++写成,能够有效利用多核处理。此外,在 OpenCL 的加持下,OpenCV 可以利用底层异构计算平台的硬件加速。OpenCV 应用广泛,目前在全世界约有 4.7 万用户,下载量约为 1400 万。
可以说 OpenCV 是 CV 领域开发者与研究者的必备工具包,Mask-RCNN 等很多开源项目都依赖于这个工具包。现在距离 3.0 版本的发布已经过去三年多,OpenCV 4.0 final 版本终于于近日发布,这也是 4.x 版本线的第一个稳定版本,它进一步完善了核心接口,并添加了二维码检测器、ONNX 转换格式等新特点。
重要更新如下:
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 倍的内存。
针对 DNN 的改进
集成 ONNX 解析器。当前版本的 OpenCV 支持许多流行的分类网络,部分支持 YOLO 对象检测网络(ONNX 版本的 YOLO 缺少一些提供矩形列表的最终图层)。
进一步提升使用英特尔 DLDT 构建的 DNN 模块的性能。DLDT 最近已经正式开源。 请参阅指南了解如何构建和使用支持 DLDT 的 OpenCV。
添加实验性的 Vulkan 后端
修复了 AMD 和 NVIDIA GPU 上的 OpenCL 加速问题。 现在,用户可以直接为模型启用
DNN_TARGET_OPENCL
,无需额外的环境变量。不过需要注意的是,DNN_TARGET_OPENCL_FP16
仅在英特尔 GPU 上做了测试,因此仍需要额外的标志。为 OpenCV 支持的最流行的深度学习网络添加了快捷方式。开发者可以指定模型的别名,从而跳过预处理参数甚至模型路径的设置!下面是一个操作示例,原来的做法是:
现在只需要:
添加了新模块 G-API,它可作为基于图的高效图像处理流程的引擎。详细信息可以参见Graph API(G-API)页面。
实现了流行的 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 落地案例,与国内外一线技术大咖面对面交流。
公众号推荐:
AGI 概念引发热议。那么 AGI 究竟是什么?技术架构来看又包括哪些?AI Agent 如何助力人工智能走向 AGI 时代?现阶段营销、金融、教育、零售、企服等行业场景下,AGI应用程度如何?有哪些典型应用案例了吗?以上问题的回答尽在《中国AGI市场发展研究报告 2024》,欢迎大家扫码关注「AI前线」公众号,回复「AGI」领取。
评论 1 条评论