AI资讯

OpenCV5重磅发布:全面拥抱大模型,深度神经网络引擎升级

智能摘要

而本次OpenCV5的面世,核心使命就是为了让这一古老的开源库全面拥抱大模型时代。DNN(深度神经网络)引擎。推理,OpenCV5在数据类型与底层优化上也进行了大刀阔斧的重构。此外,新版还专门理清了硬件加速层,允许芯片与硬件供应商直接插入优化后的专属内核,彻底告别了过去杂乱无章的条件编译代码。

八年磨一剑 开源视觉库迎来史上最大变革

这周, 全球那些满心期盼的开发者所瞩目的开源视觉库OpenCV, 正式推出了5.0版本, 距离4.0版本已然过去了整整八年。此次作出的升级并非是那种小范围的修补, 而是针对底层架构展开的一次彻头彻尾的重塑, 其目的仅仅只有一个: 促使这个已经年满二十岁的经典库能够毫无阻碍地对接大模型时代。

OpenCV5重磅发布:全面拥抱大模型,深度神经网络引擎升级

一直到现在这个时候, OpenCV在GitHub那里已经得到了超出8.6万颗星, 全球每日安装量冲破了百万次。从机器人进行导航开始, 到工厂开展质检, 从手机摄像头方面, 到手术进行导航部位, 它差不多到处都有了。可5.0版本的来临, 表明着无数现有的系统将会面临一回重要的、关于技术迭代的选择。

深度神经网络引擎全面进化

新版本最为引人注目的变化, 是配备了全新的图架构 DNN 引擎。以往开发者于 OpenCV 中运行神经网络, 算子覆盖率不及 23%, 诸多模型根本无法运行或者得手动编写大量胶水代码。现在算子覆盖率急剧提升至 80%以 上, 这表明绝大多数主流模型均可直接加载。

更为关键之处在于, 全新的引擎在原生状态下对Transformer模型、大语言模型以及视觉语言模型予以支持。往昔若要于手机摄像头或者嵌入式设备上面运行一个视觉问答模型, 那就必须搬出TensorFlow Lite的一整套工具链, 现如今在OpenCV内部能够直接进行调度了, 其门槛被大幅度地降低了。

低精度数据格式释放内存压力

为了去应对端侧推理时出现的内存瓶颈状况, 团队针对数据类型开展了彻底的重构工作。新版本将原本模糊不清的0维和1维张量概念予以了规范, 还加入了对FP16以及BF16的原生支持。这两种呈现低精度样式的格式, 在维持住模型准确率的情形下, 能够节省差不多一半的内存占用。

OpenCV5重磅发布:全面拥抱大模型,深度神经网络引擎升级

就一台仅有 4GB 内存的边缘盒子而言, 这表明能够同时加载一个物体检测模型以及一个 OCR 模型, 无需来回进行卸载操作。以往开发者为节省内存, 常常得手动去量化模型权重, 该过程繁杂且极易出错, 如今 OpenCV 底层直接化解了这个难题。

硬件加速层告别混乱时代

对于芯片厂商而言, 以往要是适配OpenCV, 常常得编写大量条件编译代码, 不同平台之间的代码杂乱无章, 极难进行维护。该5.0版本特地梳理了硬件加速层, 它允许芯片供应商直接插入经过优化的专属内核, 其接口干净又清晰。

这下改动对于高通、联发科、 华为海思这类芯片厂商来讲有着极大的利好意味, 他们能够如同编写插件那般, 将自家NPU的加速代码毫无缝隙地融入到OpenCV流水线当中, 开发者在进行调用的时候仅仅只需进行很简单的参数配置, 而无需再费尽心思去顾虑底层平台的差异情况。

开发者体验迎来全面革新

于接口层面而言, 新版本引进了现代化的Python绑定, 其支持命名参数调用。以往编写OpenCV代码时,最令人头疼的便是函数参数顺序, 像是调整图像大小时, 要记清楚宽在前面还是高在前面, 如今直接书写中文名参数就行, 代码的可读性得到了大幅提升。

同时, 团队宣告完全摒弃传统的C API, 核心代码库转而更为致密稠合, 编译所需的时间削减了约30%, 在刚踏入门路的新手看来, 这不啻于意味着无需再直面满眼尽是晦涩难懂之言辞的宏定义, 能够径直去阅读全然为纯Python的示例从而着手学习, 学习的进程变得大幅平缓下来。

OpenCV5重磅发布:全面拥抱大模型,深度神经网络引擎升级

3D视觉与文档同步升级

于空间计算范畴之内, 新版本做了增添之举, 增添了 Charuco 标定板的支持, 多相机标定进程较以往更为流畅顺利。借助全新的可视化功用, 开发者能够在实时状态下目睹相机位姿以及点云重建的成效, 调试效率得以大幅提高。这对于 AR/VR 设备制造厂商以及机器人企业而言尤为关键重要。

团队对文档系统进行了重新撰写修改, 运用了更为现代化的导航架构形式, 针对每一个函数都配备了能够顺利运行的代码示例情况。以往翻阅 API 手册就如同阅读天书一般困难, 现如今能够直接把代码复制下来, 然后放到自己的项目当中去运行, 开发效率起码提高了一倍之多。

OpenCV 5.0予以发布, 这标志着此经典库正式迈入大模型时期, 你是否已然于你的项目里尝试了新版本呢, 欢迎在评论区域分享你的迁移经历, 点赞并收藏以便让更多开发者瞧见这份更新要点。

相关文章