亚洲爱av在线电影,台湾妹子娱乐中文网,探花久久久久,日本久久无毛影院,伊人成人娱乐网,色情视频亚洲天堂,中文无码不卡视频,少妇高潮久久久,久久激情精品

登錄注冊
新聞 資訊 金融 知識 財經(jīng) 理財 科技 金融 經(jīng)濟 產(chǎn)品 系統(tǒng) 連接 科技 聚焦
首頁 > 新聞 > 業(yè)界 > > 正文

英偉達宣布CV-CUDA高性能圖像處理加速庫Alpha版本發(fā)布 正式向全球開發(fā)者開源

2022-12-22 09:22:00來源:IT之家

12 月 21 日消息,英偉達宣布,CV-CUDA (Computer Vision – Compute Unified Device Architecture)高性能圖像處理加速庫,近日發(fā)布 Alpha 版本,正式向全球開發(fā)者開源。用戶可在GitHub下載和試用。

CV-CUDA 是一個開源項目,可在 AI 成像和計算機視覺 (CV) 流程中通過 GPU 加速構建高效的預處理和后處理步驟。CV-CUDA 前期由 NVIDIA 和字節(jié)跳動的機器學習團隊聯(lián)合開發(fā)。

圖片

隨著短視頻 App、視頻會議平臺以及 VR / AR 等技術的發(fā)展,視頻與圖像已逐漸成為全球互聯(lián)網(wǎng)流量的主要組成部分。包含我們平時接觸到的這些視頻圖像,也有很多是被 AI 和計算機視覺(CV)算法處理并增強過的。然而,隨著社交媒體和視頻分享服務的快速增長,作為 AI 圖像算法基礎的視頻圖像處理部分,也早已成為計算流程中不可忽視的成本和瓶頸?;仡櫼幌聢D像處理的一些常見的例子,以更好地理解 CV-CUDA 的應用場景。

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

圖像背景模糊化通常會被應用于視頻會議,美圖修圖等場景。在這些場景中,我們通常希望 AI 算法可以把主體之外的背景部分模糊化,這樣可以保護用戶隱私,美化圖像等。圖像背景模糊化的流程大體可以分為 3 個過程:前處理,DNN 網(wǎng)絡以及后處理過程。前處理過程,通常包含了對圖像做 Resize、Padding、Image2Tensor 等操作;DNN 網(wǎng)絡可以是一些常見 segmentation network,比如 Unet 等;后處理過程,通常包括 Tensor2Mask、Crop、Resize、Denoise 等操作。

在傳統(tǒng)的圖像處理流程中,前處理和后處理部分通常都是使用 CPU 進行操作,這導致整個圖像背景模糊化流程中,有 90% 的工作時間消耗在前后處理部分,因而成為了整個算法流水線的瓶頸。若能把前后處理妥善利用 GPU 加速,這將能大幅提升整體的計算性能。

當把前后處理部分都放到 GPU 上后,就可以對整個 pipeline 進行端到端的 GPU 加速。經(jīng)過測試,在單個 GPU 上,相比于傳統(tǒng)圖像處理方式,把整個 pipeline 移植到 GPU 后,可以獲得 20 倍以上的吞吐率提升。這無疑會大大的節(jié)省計算成本。

(2)AI 算法圖像分類

圖像分類是最常見的 AI 圖像算法之一,通??梢杂糜谖矬w識別,以圖搜圖等場景,幾乎是所有 AI 圖像算法的基礎。圖像分類的 pipeline 大體可以分為 2 個部分:前處理部分和 DNN 部分。其中前處理部分,在訓練和推理過程中最常見的 4 種操作包括:圖片解碼、Resize、Padding、Normalize。DNN 部分已經(jīng)有了 GPU 的加速,而前處理部分通常都會使用 CPU 上的庫函數(shù)進行處理。如果能夠把前處理部分也移植到 GPU 上,那么一方面可以釋放 CPU 資源,另一方面也可以進一步提升 GPU 利用率,從而可以對整個 pipeline 進行加速。

針對前后處理部分,目前已有的一些主流應用方案:圖像處理庫是 OpenCV、使用 PyTorch 框架進行模型訓練引入的 torchvision 圖像處理庫等。

如上所述,傳統(tǒng)的圖像預處理操作一般在 CPU 上進行,一方面會占用大量的 CPU 資源,使得 CPU 和 GPU 的負載不均衡;另一方面由于基于 CPU 的圖像加速庫不支持 batch 操作,導致預處理的效率低下。為了解決當前主流的圖像處理庫所存在的一些問題,NVIDIA 和字節(jié)跳動的機器學習團隊聯(lián)合開發(fā)了基于 GPU 的圖像處理加速庫 CV-CUDA,并擁有以下特點:

(1)Batch

支持 batch 操作,可以充分利用 GPU 高并發(fā)、高吞吐的并行加速特性,提升計算效率和吞吐率。

(2)Variable Shape

支持同一 batch 中圖片尺寸各不相同,保證了使用上的靈活性。此外,在對圖片進行處理時,可以對每張圖片指定不同的參數(shù)。例如調(diào)用 RotateVarShape 算子時,可以對 batch 中每張圖片指定不同的旋轉(zhuǎn)角度。

(3)C / C++/Python 接口

在部署機器學習算法時需要對齊訓練和推理流程。一般來說,訓練時利用 python 進行快速驗證,推理時利用 C++ 進行高性能部署,然而一些圖像處理庫僅支持 python,這給部署帶來了極大的不便。如果在訓練和推理采用不同的圖像處理庫,則又需要在推理端重新實現(xiàn)一遍邏輯,過程會非常繁瑣。

CV-CUDA 提供了 C、C++ 和 Python 接口,可以同時服務于訓練和推理場景。從訓練遷移到推理場景時,也可免去繁瑣的對齊流程,提高部署效率。

(4)獨立算子設計

CV-CUDA 作為基礎圖像處理庫,采用了獨立算子設計,不需要預先定義流水線。獨立算子的設計具有更高的靈活性,使調(diào)試變得更加的容易,而且可以使其與其他的圖像處理交互,或者將其集成在用戶自己的圖像處理上層框架中。

(5)結(jié)果對齊 OpenCV

不同的圖像處理庫由于對一些算子的實現(xiàn)方式不一致導致計算結(jié)果難以對齊。例如常見的 Resize 操作,OpenCV、OpenCV-gpu 以及 torchvision 的實現(xiàn)方式都不一樣,計算結(jié)果存在差異。因此如果在訓練時用 OpenCV CPU 版本而推理時若要采用 GPU 版本或其他圖像處理庫,就會面臨結(jié)果存在誤差的問題。

在設計之初,我們考慮到當前圖像處理庫中,很多用戶習慣使用 OpenCV 的 CPU 版本,因此在設計算子時,不管是函數(shù)參數(shù)還是圖像處理結(jié)果上,盡可能對齊 OpenCV CPU 版本的算子。當用戶從 OpenCV 遷移到 CV-CUDA 時,只需做少許改動便可使用,且圖片處理結(jié)果和 OpenCV 一致,不需要重新訓練模型。

(6)易用性

CV-CUDA 提供了 Image、ImageBatchVarShape 等結(jié)構體,方便用戶的使用。同時還提供了 Allocator 類,用戶可以自定義顯存分配策略(例如用戶可以設計顯存池分配策略來提高顯存分配速度),方便上層框架集成和管理資源。目前 CV-CUDA 提供了 PyTorch、OpenCV 和 Pillow 的數(shù)據(jù)轉(zhuǎn)化接口,方便用戶進行算子替換和進行不同圖像庫之間的混用。

(7)針對不同 GPU 架構的性能高度優(yōu)化

CV-CUDA 可以支持 Volta、Turing、Ampere 等 GPU 架構,并針對不同架構 GPU 的特點,在 CUDA kernel 層面進行了性能上的高度優(yōu)化,可在云服務場景中規(guī)?;渴?。

IT之家獲悉,CV-CUDA Beta 版預計將在 2023 年 3 月發(fā)布,6 月份發(fā)布 v1.0 正式版。

關鍵詞: 英偉達 圖像

推薦內(nèi)容

熱點
39熱文一周熱點
鹿邑县| 平阳县| 临夏县| 台湾省| 新竹县| 伽师县| 辉县市| 安平县| 石河子市| 韩城市| 上虞市| 岑溪市| 宝坻区| 洪雅县| 吉安县| 新竹市| 漯河市| 蒙自县| 前郭尔| 勃利县| 同仁县| 泗洪县| 崇仁县| 晴隆县| 英吉沙县| 灌云县| 噶尔县| 乌拉特前旗| 黄大仙区| 梁平县| 长海县| 桑植县| 藁城市| 肥乡县| 安达市| 南通市| 绥棱县| 二连浩特市| 郧西县| 新泰市| 衡南县|