chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

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

火花 ? 來源:火花 ? 2020-05-09 10:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

背景介紹

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

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

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

LinuxV4L2結(jié)構(gòu)

內(nèi)核V4L2模塊

Linux系統(tǒng)發(fā)展至今,以其優(yōu)越的跨平臺特性和擴(kuò)展移植性在嵌入式操作系統(tǒng)領(lǐng)域占據(jù)很大的份額,EdgeBoard采用的是XilinxPetaLinux工具打造的Linux內(nèi)核,操作系統(tǒng)采用的是RootFS,如果用戶需要Ubuntu操作系統(tǒng),可以直接在Xilinx論壇上獲得arm64 Ubuntu操作系統(tǒng)。

Video4Linux2(簡稱V4L2)是Linux下關(guān)于視頻采集相關(guān)設(shè)備的驅(qū)動框架,為驅(qū)動和應(yīng)用程序提供了一套統(tǒng)一的接口規(guī)范。支持三類設(shè)備,分別會在/dev目錄下產(chǎn)生不同的設(shè)備節(jié)點(diǎn):

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

2.VBI設(shè)備(Vertical Blanking Interval),對VBI數(shù)據(jù)進(jìn)行控制、發(fā)送或抓取的設(shè)備,對應(yīng)設(shè)備名vbiX。

3.radio設(shè)備,提供FM/AM發(fā)送和接收的設(shè)備,對應(yīng)設(shè)備名radioX

V4L2在Linux系統(tǒng)中的結(jié)構(gòu)圖如下:

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

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

XilinxV4L2驅(qū)動結(jié)構(gòu)

深入理解V4L2框架對于FPGA視頻方案的靈活配置有很大的幫助作用,也方便FPGA開發(fā)人員快速驗(yàn)證視頻功能。本節(jié)以Xilinx視頻處理子系統(tǒng)為例,介紹一套完整的V4L2內(nèi)核功能的實(shí)現(xiàn),如下圖。

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

V4L2結(jié)構(gòu)應(yīng)用實(shí)例解析

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

MIPI攝像頭視頻通路

對MIPI攝像頭的支持采用了xilinxvideo框架,符合標(biāo)準(zhǔn)的驅(qū)動以及和硬件結(jié)合的流程。具體的實(shí)現(xiàn)為:硬件上采用FPGA的IP實(shí)現(xiàn)視頻通路上的各種視頻預(yù)處理,內(nèi)核驅(qū)動模塊使用vipp對應(yīng)的功能,應(yīng)用層通過/dev/media節(jié)點(diǎn)將這些子設(shè)備之間的連接關(guān)系進(jìn)行關(guān)聯(lián),通過/dev/video控制視頻的傳輸及視頻抓取。

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

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

相對于實(shí)現(xiàn)一個完整的V4L2驅(qū)動功能比較龐大,針對攝像頭驅(qū)動的實(shí)現(xiàn)相對簡單了許多,只需要實(shí)現(xiàn)V4L2的子設(shè)備驅(qū)動即可,因?yàn)榇蟛糠止δ芤呀?jīng)在video_device里實(shí)現(xiàn)了。詳細(xì)的子設(shè)備驅(qū)動結(jié)構(gòu)圖如下

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

基于V4L2的軟件開發(fā)

應(yīng)用層的軟件開發(fā),推薦使用gstreamer或者opencvvideocapture,opencv的底層實(shí)現(xiàn)可能依賴gstreamer,如果這些不能滿足讀者的要求,需要更詳細(xì)的參數(shù)控制,或者軟件環(huán)境不具備這兩種支持,可以考慮直接操作v4l2設(shè)備。如下將介紹V4L2 軟件層面的具體方法。

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

1.read/write基本IO訪問方式,read方式讀取一幀數(shù)據(jù),數(shù)據(jù)需要從內(nèi)核空間傳輸?shù)接脩艨臻g,增加了內(nèi)存訪問的開銷,對于圖像類的應(yīng)用效率不高

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

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

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

包括這幾個步驟:

1、使用open()打開設(shè)備

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

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

4、使用mmap()對申請到的緩沖區(qū)進(jìn)行內(nèi)存映射,保存映射得到的地址

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

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

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

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

9、進(jìn)行數(shù)據(jù)處理,

10、重復(fù)幀緩沖入隊(duì)操作,如此循環(huán)

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

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

上文介紹完EdgeBoard中視頻處理的完整方案,現(xiàn)介紹V4L2開發(fā)中常用的調(diào)試工具,有助于提升開發(fā)效率。

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

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

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

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

4.v4l2-sysfs-path:檢查平臺已經(jīng)加載的v4l2設(shè)備以及相應(yīng)的設(shè)備節(jié)點(diǎn)。

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

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

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

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視頻設(shè)備,抓取其1280x720寬度的原始jpeg圖片流按照4秒1幀的速度保存到本地文件,命名格式為frame100.jpg開始

總結(jié)

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

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

    關(guān)注

    9

    文章

    2375

    瀏覽量

    94517
  • 視頻處理
    +關(guān)注

    關(guān)注

    2

    文章

    111

    瀏覽量

    19348
  • EdgeBoard
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    3213
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    百度文心大模型5.0正式版上線

    今天,在百度文心Moment大會現(xiàn)場,文心大模型5.0正式版上線。
    的頭像 發(fā)表于 01-23 16:48 ?923次閱讀

    百度世界大會亮點(diǎn) 五年五芯 百度宣布打造最硬AI云

    自2006年以來,百度世界大會已連續(xù)舉辦近20屆,百度世界大會是百度每年面向行業(yè)、媒體、合作伙伴和廣大用戶的最高級別盛事,作為百度年度最重要的的戰(zhàn)略、
    的頭像 發(fā)表于 11-13 15:47 ?1330次閱讀

    百度世界2025進(jìn)行中 百度昆侖芯超節(jié)點(diǎn)亮相 性能巨幅提升

    百度世界大會是百度每年面向行業(yè)、媒體、合作伙伴和廣大用戶的最高級別盛事,作為百度年度最重要的的戰(zhàn)略、技術(shù)、產(chǎn)品發(fā)布會,自2006年以來已連續(xù)舉辦19年,持續(xù)為行業(yè)搭建起交流前沿
    的頭像 發(fā)表于 11-13 11:51 ?1168次閱讀

    視頻產(chǎn)業(yè)的創(chuàng)意活力,被百度蒸汽機(jī)這顆“動力心臟”激活了

    百度蒸汽機(jī)2.0,開啟AI視頻低成本量產(chǎn)的“工業(yè)革命”
    的頭像 發(fā)表于 08-25 18:13 ?3206次閱讀
    <b class='flag-5'>視頻</b>產(chǎn)業(yè)的創(chuàng)意活力,被<b class='flag-5'>百度</b>蒸汽機(jī)這顆“動力心臟”激活了

    百度地圖重磅發(fā)布地圖AI開放平臺

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

    百度在AI領(lǐng)域的最新進(jìn)展

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

    上汽大眾與百度地圖達(dá)成戰(zhàn)略合作

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

    百度AI榮獲2025愛迪生獎金獎和銀獎

    剛剛,百度AI在「2025愛迪生獎」中獲得一金一銀兩項(xiàng)大獎。
    的頭像 發(fā)表于 04-08 15:43 ?900次閱讀

    百度地圖在汽車智能化領(lǐng)域的應(yīng)用實(shí)踐

    近日,在中國電動汽車人會論壇(2025)的智能汽車創(chuàng)新技術(shù)與產(chǎn)業(yè)論壇,百度地圖事業(yè)部副總經(jīng)理劉增剛發(fā)表主旨演講,分享了百度地圖在汽車智能化浪潮中價值思考和應(yīng)用實(shí)踐。他表示:“25年汽
    的頭像 發(fā)表于 04-03 15:02 ?2111次閱讀

    百度搜索,能否將DeepSeek變成“內(nèi)功”?

    實(shí)測之后,會發(fā)現(xiàn)百度搜索和DeepSeek稱得上“王炸組合”
    的頭像 發(fā)表于 02-21 10:04 ?3017次閱讀
    <b class='flag-5'>百度</b>搜索,能否將DeepSeek變成“內(nèi)功”?

    百度2024財報亮點(diǎn):營收破千億,凈利潤增21%

    百度近日發(fā)布了其2024年第四季度及全年財報,亮點(diǎn)紛呈。數(shù)據(jù)顯示,百度在2024年的總營收達(dá)到了1331億元,顯示出強(qiáng)勁的增長勢頭。 其中,歸屬百度核心的凈利潤更是高達(dá)234億元,與去年同期
    的頭像 發(fā)表于 02-19 13:47 ?823次閱讀

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

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

    百度自動駕駛或進(jìn)軍阿聯(lián)酋市場

    據(jù)知情人士透露,百度自動駕駛業(yè)務(wù)或?qū)⑼卣怪涟⒙?lián)酋市場。近日,迪拜王儲Hamdan bin Mohammed在迪拜與百度創(chuàng)始人李彥宏進(jìn)行了會面,引發(fā)了業(yè)界廣泛關(guān)注。
    的頭像 發(fā)表于 02-13 15:28 ?793次閱讀

    百度智能云四款大模型應(yīng)用接入DeepSeek

    近日,百度智能云旗下四款重量級大模型應(yīng)用產(chǎn)品——客悅、曦靈、一見、甄知,正式迎來了全新升級,接入了先進(jìn)的DeepSeek模型。這一重要更新,標(biāo)志著百度智能云在為企業(yè)智能化轉(zhuǎn)型提供更強(qiáng)動力方面邁出了堅(jiān)實(shí)的一步。
    的頭像 發(fā)表于 02-10 18:00 ?1224次閱讀

    百度智能云點(diǎn)亮昆侖芯三代萬卡集群

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