女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

詳解百度大腦EdgeBoard出色的視頻處理技術

火花 ? 來源:火花 ? 2020-05-09 10:58 ? 次閱讀

背景介紹

視頻處理是人工智能應用中的一個重要方向,對于一款端上部署的AI加速產品,其視頻接入能力是產品技術實力的重要體現,同時也直接影響用戶的產品體驗。端上的嵌入式設備,受制于本身的CPU等硬件資源,同時支持多種視頻設備及多種視頻格式是極大的挑戰。

EdgeBoard是百度基于FPGA打造的嵌入式AI解決方案,能夠提供強大的算力,并支持定制化模型,適配各種不同的場景,并大幅提高設備的AI推理能力,具有高性能、高通用、易集成等特點。EdgeBoard作為一款面向各個層次的AI開發者的硬件平臺,兼顧了多種視頻輸入,包括MIPI、BT1120、USB攝像頭、IPC(IPCamera,網絡攝像頭)、GigE工業攝像頭,這極大地體現出EdgeBoard在視頻處理上出色的技術實力,而同時支持如此多的視頻接入設備在一般的AI端產品上也是不常見的。

本文將詳細介紹EdgeBoard上的視頻處理方案,如何兼顧效率和通用性,在二者之間取得平衡,最大程度上滿足用戶的需求。

LinuxV4L2結構

內核V4L2模塊

Linux系統發展至今,以其優越的跨平臺特性和擴展移植性在嵌入式操作系統領域占據很大的份額,EdgeBoard采用的是XilinxPetaLinux工具打造的Linux內核,操作系統采用的是RootFS,如果用戶需要Ubuntu操作系統,可以直接在Xilinx論壇上獲得arm64 Ubuntu操作系統。

Video4Linux2(簡稱V4L2)是Linux下關于視頻采集相關設備的驅動框架,為驅動和應用程序提供了一套統一的接口規范。支持三類設備,分別會在/dev目錄下產生不同的設備節點:

1.視頻輸入輸出設備(video capture device,video output device),分別是提供視頻捕獲功能的攝像頭類型設備和提供視頻輸出功能的設備,對應的設備名為videoX。這是我們最常用的一種設備類型。

2.VBI設備(Vertical Blanking Interval),對VBI數據進行控制、發送或抓取的設備,對應設備名vbiX。

3.radio設備,提供FM/AM發送和接收的設備,對應設備名radioX

V4L2在Linux系統中的結構圖如下:

從圖中可以看出,驅動的框架層次分明,最上層通過字符設備提供video和media兩種控制接口,分別從視頻流控制(video)和媒體子設備控制(media)兩種不同的角度抽象出操作接口。中間內核驅動層通過三層設備驅動分別從視頻抽象,V4L2設備功能定義,子設備功能定義三個層面展開,模塊化的設計提供了非常完善的擴展性。最下方是硬件層,除了提供常用攝像頭傳感器的功能外,對于常用的視頻轉換也有很好的支持。

在應用層的軟件支持也非常豐富,比如廣泛使用的FFmpeg、Gstreamer、LiVes、MPlayer等對本地視頻設備的支持也都是通過V4L2提供的接口實現的。

XilinxV4L2驅動結構

深入理解V4L2框架對于FPGA視頻方案的靈活配置有很大的幫助作用,也方便FPGA開發人員快速驗證視頻功能。本節以Xilinx視頻處理子系統為例,介紹一套完整的V4L2內核功能的實現,如下圖。

結合上一節提到的V4L2結構圖可以看出V4 L2內核對應了全部視頻框架的內容。中間部分,xilinx通過xvip_dma結構實現了整體的video_device功能,給用戶層提供必要的控制設備接口(右側用戶層接口);左側部分,是內核將所有的xilinx視頻相關設備組合成xvip_composite_device,即v4l2_device,通過該模塊可以擴展具體的子設備功能,即v4l2_subdev,包括TPG、VTC、RGB2YUV、scaler等等;右側部分,是用戶層的接口,用戶層調用接口實現對視頻設備的操作;頂層部分,為了提高數據搬運的效率使用了DMA設備功能,即xilinx_dma_device。下層部分,對于內部數據的管理,使用了v4l2統一抽象提供的vb2_queue、vb2_buffer等模塊實現。

V4L2結構應用實例解析

這里以在EdgeBoard上使用的MIPI攝像頭(MIPI開發介紹見https://www.csdn.net/article/a/2019-08-21/15979781)為例介紹V4L2的具體應用。

MIPI攝像頭視頻通路

對MIPI攝像頭的支持采用了xilinxvideo框架,符合標準的驅動以及和硬件結合的流程。具體的實現為:硬件上采用FPGA的IP實現視頻通路上的各種視頻預處理,內核驅動模塊使用vipp對應的功能,應用層通過/dev/media節點將這些子設備之間的連接關系進行關聯,通過/dev/video控制視頻的傳輸及視頻抓取。

V4L2子設備驅動(攝像頭驅動)的編寫方法

從上文可以看出,雖然利用已有的IP和驅動資源,可以快速搭建MIPI攝像頭的數據接入功能,但還缺少對于攝像頭本身的參數控制功能等,這部分功能的實現是在驅動模塊完成。本節將介紹一下此類驅動的結構和開發流程。

相對于實現一個完整的V4L2驅動功能比較龐大,針對攝像頭驅動的實現相對簡單了許多,只需要實現V4L2的子設備驅動即可,因為大部分功能已經在video_device里實現了。詳細的子設備驅動結構圖如下

結合前文的整體結構圖,這里的核心是實現一個v4l2_subdev結構,即填充其內部各操作接口結構體,其中核心是v4l2_subdev_ops,通過該接口實現從用戶層對其配置各種參數,以對視頻流的控制。media_entity目地是實現各個v4l2_subdev之間的連接通路。用戶層對mediaX設備的操作都需要這個結構的支持。

基于V4L2的軟件開發

應用層的軟件開發,推薦使用gstreamer或者opencvvideocapture,opencv的底層實現可能依賴gstreamer,如果這些不能滿足讀者的要求,需要更詳細的參數控制,或者軟件環境不具備這兩種支持,可以考慮直接操作v4l2設備。如下將介紹V4L2 軟件層面的具體方法。

V4L2通常支持三種不同IO訪問方式(其他內核里支持的方式暫不討論),包括

1.read/write基本IO訪問方式,read方式讀取一幀數據,數據需要從內核空間傳輸到用戶空間,增加了內存訪問的開銷,對于圖像類的應用效率不高

2.內存映射方式,這是在內核空間開辟的緩沖區,這些緩沖區可能支持DMA功能,這樣極大的提高了數據從設備搬運到內存的效率。用戶只需要使用mmap()系統調用將其映射到用戶空間后,可以直接使用。這種方式支持的設備很多。

3.用戶空間緩沖區方式,這是在用戶空間開辟的緩沖區,再把緩沖區的指針告訴內核,這種方式雖然也能減少內存拷貝,但是內核驅動或者硬件設備在處理這些用戶空間的地址會麻煩很多,不是所有的設備都會支持

這里以第二種方式詳細說明具體使用過程,參考如下流程圖

包括這幾個步驟:

1、使用open()打開設備

2、使用ioctl()進行初始化參數設置,一般包括查詢設備能力(VIDIOC_QUERYCAP),設置視頻捕獲相關參數,如幀率控制(VIDIOC_S_PARM)、圖像的窗口尺寸(VIDIOC_S_CROP)、像素點的格式和寬高(VIDIOC_S_FMT)等,詳細支持的參數可以使用上面介紹的工具進行查詢

3、使用ioctl()申請幀緩沖(VIDIOC_REQBUFS),并查詢申請到的緩沖區的信息(VIDIOC_QUERYBUF)

4、使用mmap()對申請到的緩沖區進行內存映射,保存映射得到的地址

5、使用ioctl()把幀緩沖進行入隊操作(VIDIOC_QBUF)

6、使用ioctl()開始視頻流進行捕獲(VIDIOC_STREAMON)

7、使用selet()等待接收到數據

8、使用ioctl()取出幀緩沖即出隊操作(VIDIOC_DQBUF)

9、進行數據處理,

10、重復幀緩沖入隊操作,如此循環

11、退出時,停止采集工作(VIDIOC_STREAMOFF),使用unmap()和close()釋放資源

用戶層工具介紹(技術小福利)

上文介紹完EdgeBoard中視頻處理的完整方案,現介紹V4L2開發中常用的調試工具,有助于提升開發效率。

得益于Linux豐富的開源資源,操作v4l2設備的應用層工具也非常多。默認的EdgeBoardPetaLinux系統已經配置好常用的幾個工具,特此介紹給大家。v4l-utils是專門控制v4l設備的一系列命令工具集,包含以下實用程序:

1. v4l2-ctl:用來全方位的配置v4l2設備,對于內核模塊暴露出來的接口,幾乎都有支持。特別是軟件開發時候使用的ioctl控制命令,也可以使用該工具來直接設置,幫助我們調試驅動或軟件。

2. v4l2-compliance:兼容性工具,用于測試v4l設備驅動程序的v4l2 API兼容性,會打印出來各個ioctal命令接口是否有支持。多用在v4l應用軟件開發過程中。

3.v4l2-dbg:直接獲取和設置v4l2設備寄存器的工具,這依賴于設備驅動的支持。可以使用v4l2-compliance查看VIDIOC_DBG_G/S_REGISTER命令接口是否可用,在可用的情況下,可以使用該工具來測試。

4.v4l2-sysfs-path:檢查平臺已經加載的v4l2設備以及相應的設備節點。

5. media-ctl:媒體設備的控制工具,幫助我們在v4l2各個子設備間建立連接。

gstreamer是Linux平臺廣泛應用的視頻流工具,特別是嵌入式平臺,良好的軟件架構及衍生出其豐富的擴展插件對不同硬件平臺都具有良好的支持。

這里給出一個命令行示例,就可以了解它的獨特之處了,如下:

gst-launch-1.0v4l2src device=/dev/video4 ! video/x-raw,width=1280,height=720 ! videorate ! image/jpeg,framerate=1/4 ! multifilesink location="frame%d.jpg" index=100

這條命令的意思是打開v4l2視頻源即/dev/video4這個USB視頻設備,抓取其1280x720寬度的原始jpeg圖片流按照4秒1幀的速度保存到本地文件,命名格式為frame100.jpg開始

總結

本文以MIPI攝像頭為例介紹了在EdgeBoard中采用V4L2結構的視頻處理方案,得益于V4L2結構的靈活性和可擴展性,像BT1120、USB攝像頭等也采用類似的方案,實現了對多視頻接入方案的支持。對于需要視頻接入方案的用戶,可以直接購買EgdeBoard產品,實現視頻接入的即插即用lw

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

    關注

    9

    文章

    2324

    瀏覽量

    91768
  • 視頻處理
    +關注

    關注

    2

    文章

    99

    瀏覽量

    19038
  • EdgeBoard
    +關注

    關注

    0

    文章

    10

    瀏覽量

    3014
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    百度地圖重磅發布地圖AI開放平臺

    近日,在WGDC25全球時空智能大會上,百度地圖重磅發布地圖AI開放平臺。百度地圖深耕20年的數據能力、引擎能力與AI技術全面開放,向開發者深度開放四大核心能力和五大場景解決方案。
    的頭像 發表于 05-26 11:26 ?259次閱讀

    百度在AI領域的最新進展

    近日,我們在武漢舉辦了Create2025百度AI開發者大會,與全球各地的5000多名開發者,分享了百度在AI領域的新進展。
    的頭像 發表于 04-30 10:14 ?327次閱讀

    上汽大眾與百度地圖達成戰略合作

    近日,上海國際車展期間,百度地圖與上汽大眾舉行科技X生態戰略合作伙伴簽約儀式,雙方將基于百度領先的車道級地圖產品,為上汽大眾千萬車主打造更安全、高效的智能化出行體驗。上汽大眾總經理陶海龍、百度副總裁尚國斌等出席簽約儀式。
    的頭像 發表于 04-29 17:28 ?362次閱讀

    百度文心大模型將升級并開源

    百度近日宣布,其文心大模型系列將迎來新版本升級,計劃在未來數月內逐步推出文心大模型4.5系列。這一消息無疑為AI領域注入了新的活力。 據悉,百度文心大模型4.5系列將在技術上進行全面優化,旨在為用戶
    的頭像 發表于 02-14 14:25 ?363次閱讀

    百度智能云點亮昆侖芯三代萬卡集群

    的人工智能算力需求。 昆侖芯三代作為百度自研的AI芯片,其性能卓越,能夠滿足復雜的人工智能任務需求。此次萬卡集群的成功點亮,不僅展示了百度在AI芯片領域的深厚技術積累,也體現了百度在推
    的頭像 發表于 02-05 14:58 ?516次閱讀

    百度科啟動“繁星計劃”

    近日,百度科攜手中國科協、中國科學院大學共同舉辦了史記2024·科學科100詞發布會,并在此盛會上正式啟動了“繁星計劃”。這一計劃的核心目標在于利用前沿的AI技術,包括數字人、智能
    的頭像 發表于 12-31 10:26 ?550次閱讀

    百度進軍短劇領域,計劃全面升級平臺

    近日,據天眼查知識產權信息顯示,百度在線網絡技術(北京)有限公司已經正式申請注冊了“百度短劇”商標。該商標的國際分類涵蓋了網站服務、科學儀器以及教育娛樂等多個領域,且當前商標狀態均為等待實質審查
    的頭像 發表于 12-19 10:25 ?500次閱讀

    百度正式回應進軍短劇領域

    近日,百度在線網絡技術(北京)有限公司在知識產權領域有了新的動作,據天眼查信息顯示,該公司已申請注冊“百度短劇”商標,涵蓋網站服務、科學儀器、教育娛樂等多個國際分類,目前這些商標均處于等待實質審查
    的頭像 發表于 12-17 14:19 ?498次閱讀

    百度世界2024公開課完美結束

    近日,以“應用來了"為主題的百度世界2024在上海召開。當天下午,百度世界33節線下AI公開課在上海世博中心開講,33位來自百度內部的高階技術人員、外部行業專家及一線高校講師,為開發者
    的頭像 發表于 11-22 09:54 ?496次閱讀

    百度發布AI創作新物種“自由畫布”,吸引超20萬人預約

    近日,百度文庫與百度網盤攜手推出的AI創作新物種——“自由畫布”正式亮相,并宣布面向公眾開放邀測。這一創新舉措標志著百度在內容操作系統領域邁出了重要一步。 據悉,“自由畫布”是百度文庫
    的頭像 發表于 11-14 13:45 ?989次閱讀

    百度文心大模型日均調用量超15億

    近日,百度在上海世博中心舉辦了主題為“應用來了”的百度世界2024大會。會上,百度董事長李彥宏分享了關于大模型行業的最新動態和百度文心大模型的顯著進展。
    的頭像 發表于 11-12 15:28 ?601次閱讀

    百度將發布AI智能眼鏡

    近日,有知情人士透露,百度旗下的人工智能品牌小計劃在即將舉行的百度世界大會上推出一款全新的AI智能眼鏡。這款眼鏡將內置先進的人工智能助手,并配備攝像頭,為用戶提供前所未有的智能體驗。
    的頭像 發表于 11-11 14:50 ?821次閱讀

    百度舸AI計算平臺4.0震撼發布

    在2024年百度云智大會的璀璨舞臺上,百度智能云重磅推出了舸AI異構計算平臺的全新力作——4.0版本。此次升級,標志著百度在AI基礎設施領域邁出了堅實的一步,致力于為行業提供更為強大
    的頭像 發表于 09-26 14:46 ?755次閱讀

    百度申請文小言商標

    近日,百度在線網絡技術(北京)有限公司在知識產權領域有了新動作。據天眼查知識產權信息顯示,百度已申請多枚“文小言”商標,這些商標將涵蓋廣告銷售、網站服務、健身器材、機械設備等多個領域。
    的頭像 發表于 06-19 09:20 ?664次閱讀

    2024百度移動生態萬象大會:百度新搜索11%內容已AI生成

    2024百度移動生態萬象大會:百度新搜索11%內容已AI生成 今天2024百度移動生態萬象大會在江蘇蘇州舉辦,特別是AI搜索與百度文心一言的相關信息被市場極度關注,我們看到,在2024
    發表于 05-30 18:58 ?549次閱讀