一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Arm KleidiCV 0.2.0和0.3.0的新增功能

Arm社區(qū) ? 來源:Arm社區(qū) ? 2025-04-01 13:53 ? 次閱讀

作者:Arm 工程部資深軟件工程師 Mark Horvath;Arm 工程部資深軟件工程師 Michael Platings

自 2024 年 5 月 Arm KleidiCV 發(fā)布以來,該項目取得了顯著進展。Arm 于 2024 年 9 月發(fā)布了 0.2.0 版本,并于同年 12 月發(fā)布了 0.3.0 版本。這些更新都帶來了許多新功能,并實現(xiàn)了性能提升。

隨著移動設備上攝像頭數(shù)量的不斷增加,攝像頭管線和圖像處理已然成為當今最熱門的計算任務之一。OpenCV 是眾多此類管線的核心,并運行在數(shù)億臺設備上。而現(xiàn)在,在安卓系統(tǒng)上,OpenCV 4.11 已默認啟用 KleidiCV。

KleidiCV 0.2.0 和 0.3.0 的新增功能

多線程支持

KleidiCV 0.2.0 最顯著的新增功能之一是引入了多線程支持。KleidiCV 0.1.0 發(fā)布時僅支持單線程函數(shù),應用開發(fā)者需要在更高級別上自行設置多線程。而 KleidiCV 0.2.0 已集成到 OpenCV 現(xiàn)有的多線程框架中,因此每個操作都能實現(xiàn)多線程處理,無需應用開發(fā)者額外投入精力。圖像處理是一個“易于并行處理”的問題,因此 KleidiCV 中許多函數(shù)的處理速度幾乎與 CPU 數(shù)量呈線性關系。例如,在一臺擁有 16 個可用 CPU 的 Linux 服務器上運行時,啟用多線程后,許多 KleidiCV 函數(shù)的運行速度預計可提升近 16 倍。

增強與 OpenCV 4.11 的集成

KleidiCV 新增的多線程支持,再加上其原本就出色的性能提升,使得在 OpenCV 中啟用 KleidiCV 成為自然而然的選擇。Arm 與 OpenCV 的優(yōu)秀團隊合作,在安卓系統(tǒng)上的 OpenCV 4.11 中默認啟用了 KleidiCV。對于從源代碼構建 OpenCV 4.10 的用戶來說,他們之前就已經(jīng)能通過設置單個配置標記,輕松啟用 KleidiCV 了,該選項在 OpenCV 4.11 中依然保留,在 Linux 系統(tǒng)上運行 OpenCV 時仍需要設置該標記來啟用 KleidiCV。不過,對于安卓系統(tǒng),該標記現(xiàn)在已默認開啟。這意味著,所有使用 OpenCV 的安卓應用一旦升級到 OpenCV 4.11,即可享受 KleidiCV 0.3.0 帶來的性能優(yōu)勢。將 OpenCV 與 KleidiCV 集成到安卓應用中最簡便的方法是通過 OpenCV Maven 包。

擴展的功能集

更多的 OpenCV 函數(shù)得到了加速,包括 cv::exp()、cv::pyrDown()、cv::buildOpticalFlowPyramid() 等。此外,已支持函數(shù)的功能也得到了進一步擴展,例如 cv::resize 中的 float32 圖像,以及 cv::GaussianBlur 中更多的內(nèi)核大小。完整列表請查看更新日志。

性能提升

得益于新增的多線程支持,我們看到了比之前報告中更為顯著的速度提升。Sobel 的基準測試顯示,速度提升超過了 400%,這意味著性能提高了五倍多!

a2535852-0bcb-11f0-9310-92fbcf53809c.png

上述測試比較了在三星 Galaxy S22 SM-S901B 的兩個 Cortex-A710 核心上,OpenCV 4.11 在禁用和啟用 KleidiCV 時的運行情況。除非另有說明,否則基準測試均針對 1080p 圖像進行。若想要詳細了解如何運行基準測試,可以在 KleidiCV 代碼倉庫中查看 Arm 使用的腳本。

在 OpenCV 項目中充分利用 KleidiCV

KleidiCV 可以加速一部分 OpenCV 功能。在某些情況下,這與你的應用需求相匹配,而在其他情況下則不然。為了充分利用 KleidiCV,你可以對應用進行一些小的改動,以匹配 KleidiCV 所提供的功能。具體要求可在 KleidiCV 的 OpenCV 文檔中找到,以下是一些示例:

使用分離的源圖像和目標圖像

高斯模糊等操作會針對目標圖像中的每個像素讀取源圖像中的多個像素。如果源圖像和目標圖像相同,則必須進行額外的操作來避免讀取已改變的像素。因此,為了讓 KleidiCV 采用最有效的處理方式,它僅支持使用分離的源圖像和目標圖像。如果源圖像和目標圖像相同,則會使用 OpenCV 的常規(guī)高斯模糊,這樣就無法獲得性能提升。

使用最佳高斯模糊參數(shù)

OpenCV 支持將 sigmaX 和 sigmaY 指定為 0。在這種情況下,KleidiCV 將使用根據(jù)內(nèi)核大小計算出的 sigma 值,這能使其運行速度比使用非零 sigma 值時快很多。如果 sigmaX 或 sigmaY 必須非零值,但又不需要精確到比特的模糊效果,則可以將提示參數(shù)(OpenCV 4.11 中的新功能)設置為 ALGO_HINT_APPROX,這樣仍能讓 KleidiCV 實現(xiàn)大幅加速。內(nèi)核大小必須與 KleidiCV 能夠加速的內(nèi)核大小之一相匹配,在 KleidiCV 0.3.0 中,這些內(nèi)核大小為 3x3、5x5、7x7 和 15x15。

使用支持的邊界類型

一些 OpenCV 函數(shù)將邊界模式作為參數(shù),例如 reflect 或 wrap。每個 KleidiCV 函數(shù)都支持其中的一部分邊界模式,這些模式可能與 OpenCV 的默認邊界模式相同,也可能不同。例如,KleidiCV 的 Sobel 函數(shù)速度極快,但要在 OpenCV 中使用它,就需要顯式指定邊界模式為復制。

Arm Learning Path 提供了一個詳細示例,展示了如何構建一個充分利用 KleidiCV 性能提升的安卓應用。

展望

在未來的版本中,Arm 將繼續(xù)擴展 KleidiCV 的能力,以更全面地加速 OpenCV 功能,并消除上述一些限制。而用戶的需求對于 KleidiCV 的發(fā)展至關重要,我們歡迎開發(fā)者通過 Arm 的 GitLab 代碼倉庫提交反饋。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9270

    瀏覽量

    373512
  • 多線程
    +關注

    關注

    0

    文章

    279

    瀏覽量

    20243
  • 函數(shù)
    +關注

    關注

    3

    文章

    4365

    瀏覽量

    63851
  • OpenCV
    +關注

    關注

    31

    文章

    642

    瀏覽量

    42233

原文標題:KleidiCV 更新詳解!支持多線程,并實現(xiàn) OpenCV 4.11 集成

文章出處:【微信號:Arm社區(qū),微信公眾號:Arm社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    先楫半導體HPMicro Nuttx v0.2.0正式發(fā)布!

    各位關注先楫的小伙伴們,基于Nuttx v12.4.0版本和hpm_sdk v1.4.0版本的HPMicro Nuttx v0.2.0正式發(fā)布了。
    的頭像 發(fā)表于 03-12 10:22 ?1655次閱讀

    使用Arm KleidiCV開源庫加速圖像處理性能

    對于在云端及邊緣等環(huán)境中運行的數(shù)百萬個人工智能 (AI) 工作負載,以及各類需要理解攝像頭和視頻數(shù)據(jù)的 AI 應用來說,計算機視覺 (CV) 都在其中起著關鍵作用。Arm KleidiCV 是一個
    的頭像 發(fā)表于 09-03 11:32 ?2335次閱讀
    使用<b class='flag-5'>Arm</b> <b class='flag-5'>KleidiCV</b>開源庫加速圖像處理性能

    RT-Thread/GUI 0.3.0 beta

    的限制)RT-Thread/GUI是專為RT-Thread操作系統(tǒng)開發(fā)的,并在相應的地方采用了RT-Thread特有的功能,它是一款幾乎從零代碼開始編寫的,擁有獨立知識產(chǎn)權的圖形界面(不包括JPEG
    發(fā)表于 11-29 14:48

    OrCAD V16.3 新增功能

    OrCAD V16.3 新增功能
    發(fā)表于 09-21 22:58

    OpenHarmony 3.0 LTS 新增特性功能

    內(nèi)容:標準系統(tǒng)新增特性功能用戶程序框架支持服務能力(ServiceAbility,DataAbility)和線程模型。支持文件安全訪問,即文件轉(zhuǎn)成URI和解析URI打開文件的能力。支持設備管理PIN碼
    發(fā)表于 09-30 08:24

    .NET Core 3.0(預覽版 2)的新增功能是什么

    .NET Core 3.0(預覽版 2)的新增功能是什么? .NET Core 3.0(預覽版 2)的新增功能有哪些?
    發(fā)表于 10-15 07:17

    Vivado 2015.3的新增量編譯功能

    了解Vivado實現(xiàn)中2015.3中的新增量編譯功能,包括更好地處理物理優(yōu)化和自動增量編譯流程。
    的頭像 發(fā)表于 11-30 19:24 ?4686次閱讀

    MDK V5.33的新增功能有哪些

    前不久,米爾發(fā)布了官方更新的Keil MDK V5.32。目前,Keil MDK 升級至V5.33版本,感興趣的小伙伴歡迎下載?。ㄏ螺d方式見文末)相比于上個版本,MDK V5.33的新增功能
    的頭像 發(fā)表于 10-14 15:59 ?2597次閱讀

    RustSBI 0.3.0正式版現(xiàn)已發(fā)布

    具備的良好安全性和運行性能。本次0.3.0版本主要包括增加了實例化的SBI接口支持及相關的構造器結構,可以在stable Rust編譯,去除了對堆內(nèi)存和全局變量的依賴,完善了相關文檔,以及若干的小修復。0.3.0版本更新將為Rust編寫的RISC-V虛擬化軟件和RISC-
    的頭像 發(fā)表于 11-07 16:28 ?760次閱讀

    數(shù)據(jù)丟失防護15.5中的新增功能

    電子發(fā)燒友網(wǎng)站提供《數(shù)據(jù)丟失防護15.5中的新增功能.pdf》資料免費下載
    發(fā)表于 09-07 15:34 ?0次下載
    數(shù)據(jù)丟失防護15.5中的<b class='flag-5'>新增</b><b class='flag-5'>功能</b>

    數(shù)據(jù)丟失防護15.0中的新增功能

    電子發(fā)燒友網(wǎng)站提供《數(shù)據(jù)丟失防護15.0中的新增功能.pdf》資料免費下載
    發(fā)表于 09-07 10:45 ?0次下載
    數(shù)據(jù)丟失防護15.0中的<b class='flag-5'>新增</b><b class='flag-5'>功能</b>

    先楫半導體HPMicro Nuttx v0.2.0 發(fā)布

    各位關注先楫的小伙伴們,基于Nuttxv12.4.0版本和hpm_sdkv1.4.0版本的HPMicroNuttxv0.2.0正式發(fā)布了。提供的主要功能對如下drivers進行了適配:基本通信外設:UART,I
    的頭像 發(fā)表于 03-12 08:16 ?833次閱讀
    先楫半導體HPMicro Nuttx v<b class='flag-5'>0.2.0</b> 發(fā)布

    SOLIDWORKS 2025設計新增功能

    SOLIDWORKS 2025的發(fā)布為設計領域注入了新的活力,其新增功能不僅提升了設計效率,還增強了協(xié)作和數(shù)據(jù)管理的能力
    的頭像 發(fā)表于 12-20 17:13 ?518次閱讀

    SOLIDWORKS 2025 PDM新增功能

    隨著SOLIDWORKS?2025的發(fā)布其PDM系統(tǒng)也迎來了一系列重要的新增功能。這些功能不僅進一步簡化了產(chǎn)品數(shù)據(jù)管理流程,還顯著提升了團隊協(xié)作的效率和準確性。本文將詳細解析SOLIDWORKS?2025?PDM的
    的頭像 發(fā)表于 01-22 13:48 ?284次閱讀
    SOLIDWORKS 2025 PDM<b class='flag-5'>新增</b><b class='flag-5'>功能</b>

    Arm KleidiCV與OpenCV集成助力移動端計算機視覺性能優(yōu)化

    等多種應用中。然而,這些計算機視覺應用可能很難實現(xiàn)最優(yōu)化的延遲性能和處理速度,特別是在內(nèi)存大小、電池容量和處理能力有限的移動設備上難度更高。 而 Arm KleidiCV 便能在其中大顯身手。該開源庫利用了最新 Arm CPU
    的頭像 發(fā)表于 02-24 10:15 ?432次閱讀