CV-CUDA 高性能图像处理加速库

“目前CV-CUDA 已经开源,Github网址为:GitHub – CVCUDA/CV-CUDA: CV-CUDA™ is an open-source, GPU accelerated library for cloud-scale image processing and computer vision.

随着短视频 APP、视频会议平台以及 VR/AR 等技术的发展,视频与图像已逐渐成为全球互联网流量的主要组成部分。包含我们平时接触到的这些视频图像,也有很多是被 AI 和计算机视觉(CV)算法处理并增强过的。然而,随着社交媒体和视频分享服务的快速增长,作为 AI 图像算法基础的视频图像处理部分,也早已成为计算流程中不可忽视的成本和瓶颈。

1. CV-CUDA 应用场景

我们先带大家简单回顾一下图像处理的一些常见的例子,以更好地理解 CV-CUDA(Computer Vision – Compute Unified Device Architecture)应用场景。

(1)AI 算法图像背景模糊化

 1. AI 背景模糊CPU 前后处理方案

图像背景模糊化通常会被应用于视频会议,美图修图等场景。在这些场景中,我们通常希望 AI 算法可以把主体之外的背景部分模糊化,这样可以保护用户隐私,美化图像等。图像背景模糊化的流程大体可以分为 3 个过程:前处理,DNN 网络以及后处理过程。前处理过程,通常包含了对图像做 Resize、Padding、Image2Tensor 等操作;DNN 网络可以是一些常见 segmentation network,比如 Unet 等;后处理过程,通常包括 Tensor2Mask、Crop、Resize、Denoise 等操作。

在传统的图像处理流程中,前处理和后处理部分通常都是使用 CPU 进行操作,这导致整个图像背景模糊化流程中,有 90% 的工作时间消耗在前后处理部分,因而成为了整个算法流水线的瓶颈。若能把前后处理妥善利用 GPU 加速,这将能大幅提升整体的计算性能。

 2. AI背景模糊GPU前后处理方案

当我们把前后处理部分都放到 GPU 上后,我们就可以对整个 pipeline 进行端到端的 GPU 加速。经过测试,在单个 GP U上,相比于传统图像处理方式,把整个 pipeline 移植到 GPU 后,可以获得 20 倍以上的吞吐率提升。这无疑会大大的节省计算成本。

(2)AI 算法图像分类

 3. AI 图像分类

图像分类是最常见的 AI 图像算法之一,通常可以用于物体识别,以图搜图等场景,几乎是所有 AI 图像算法的基础。图像分类的 pipeline 大体可以分为 2 个部分:前处理部分和 DNN 部分。其中前处理部分,在训练和推理过程中最常见的 4 种操作包括:图片解码、Resize、Padding、Normalize。DNN 部分已经有了 GPU 的加速,而前处理部分通常都会使用 CPU 上的库函数进行处理。如果能够把前处理部分也移植到 GPU 上,那么一方面可以释放 CPU 资源,另一方面也可以进一步提升 GPU 利用率,从而可以对整个 pipeline 进行加速。

2. 当前图像处理主流方案

针对前后处理部分,我们总结一下目前已有的一些主流应用方案:

(1)目前应用最广泛的图像处理库是 OpenCV。前后处理中的操作,往往是依赖于任务类型的,这导致了前后处理相关的操作种类繁多,数量庞杂。利用 OpenCV 确实可以实现大部分的图像处理操作,不过,这些操作大部分是用 CPU 实现的,缺少对应的 GPU 加速版本。而部分 CPU 操作虽然存在对应的 GPU 版本,但是这些 GPU 版本的实现可能存在一些问题,包括:

a. 部分算子的 CPU 和 GPU 结果无法对齐。在某些场景下,我们的算法团队使用了 CPU 的算子进行训练,而在推理阶段负责部署的同学考虑到性能问题,决定使用 GPU 算子,然而在测试过程中,发现 CPU 和 GPU 算子结果无法对齐,这可能会导致端到端的处理结果出现精度异常。

b. 部分算子 GPU 性能比 CPU 性能还弱。除了某些算法本身就不太适合 GPU 化之外,我们还发现部分 GPU 实现并不是很高效。比如,有些算子会在运行过程中,临时申请显存空间,导致增加了额外的耗时。

c. 在真实的部署 pipeline 中,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值