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

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

3天內不再提示

基于互聯網的攝像測量系統(二)

友晶FPGA ? 來源:友晶FPGA ? 2024-04-18 14:42 ? 次閱讀

09

電路設計

前面介紹了系統的硬件框圖如下:

5a4642ba-fc75-11ee-a297-92fbcf53809c.png

硬件基本分為三塊,兩個攝像節點,一個終端節點。

1. 攝像節點硬件

攝像節點由一個DE10-Nano開發板和一個D8M攝像頭實現,DE10-Nano開發板的HDMI接口外接HDMI顯示器來顯示拍攝到的視頻。

5a5b713a-fc75-11ee-a297-92fbcf53809c.png

DE10-Nano開發板硬件

DE10-Nano開發板基于Cyclone V SoC FPGA,擁有110K邏輯單元和ARM Cortex A9雙核處理器,其FPGA資源可用于算法加速。

FPGA端包含HDMI接口,可連接HDMI顯示器顯示視頻;2×20的GPIO接口,可連接GPIO接口的子卡。

HPS端包含1GB容量的DDR3內存;USB OTG接口,支持USB攝像頭、鼠標、鍵盤等硬件;千兆以太網口,可實現網絡傳輸。

MicroSD卡插槽,可以插入燒寫了鏡像的SD卡,運行Linux系統。

5a7d4878-fc75-11ee-a297-92fbcf53809c.png

D8M攝像模塊硬件

D8M-GPIO是 一個2×20 pin GPIO接口的八百萬像素攝像頭子卡,包含MIPI Camera Module和MIPI Decoder。(Mobile Industry Processor Interface簡稱MIPI。)

MIPI Camera module拍攝視頻后輸出MIPI視頻信號數據包,通過MIPI decoder轉換成拜耳陣列(bayer pattern,10-bits parallel),最終由2x20 pin GPIO接口輸出。

5a9dd0b6-fc75-11ee-a297-92fbcf53809c.png

2. 終端節點硬件

終端節點由一個DE10-Nano開發板實現,并外接HDMI顯示器來顯示攝像節點傳輸過來的視頻以及測量結果。并用聲光提示模塊發出聲光提示信息。

5ab66d56-fc75-11ee-a297-92fbcf53809c.png

聲光提示電路

實現聲光提示功能的電路由一個蜂鳴器和一個紅色LED組成,這是一個簡單的蜂鳴器驅動模塊。

5ad8a542-fc75-11ee-a297-92fbcf53809c.png

5afa1998-fc75-11ee-a297-92fbcf53809c.png

10

攝像節點程序設計

1. 攝像節點整體介紹

攝像節點程序包含FPGA和SoC兩部分,FPGA中實現了一個Diff Processor,Diff Processor獲取D8M攝像頭拍攝到的視頻流數據并進行處理,然后將處理的結果寫入HPS DDR3內存中。

SoC中的應用程序初始化Diff Processor中的IP并配置幀間差分法的閾值,通過乒乓控制決定將Diff Processor的結果寫入wBuffer1或wBuffer2,然后讀取wBuffer得到Diff Processor處理的結果再進行進一步的處理,最后將圖像結果通過UDP發送到終端節點,數據結果通過TCP發送到終端節點。

5b190312-fc75-11ee-a297-92fbcf53809c.png

2. FPGA端的Diff Processor設計

這是FPGA中Diff Processer的框圖,Diff Processer系統是使用Platform Designer工具搭建的,其中2D FIR(2D濾波)、Scaler(縮放)、Color Plane Sequencer(色彩平面定序器)、Color Space Converter(色彩空間轉換) IP為Quartus Prime軟件中已有的視頻處理IP;Terasic Camera、Terasic Frame Diff D8M、Terasic VIP Capture IP為友晶自定義IP。

5b312226-fc75-11ee-a297-92fbcf53809c.png

Diff Processer的處理過程為:Terasic Camera將D8M攝像頭獲取的拜耳陣列轉換為RGB24圖像,大小為640×480,然后使用2D FIR進行濾波處理,再使用Scaler將圖像縮放為320×240,通過Color Plane Sequencer將圖像復制為兩份,一份保持不變,一份通過Color Space Converter將圖像轉換為灰度圖,再次通過Color Plane Sequencer將原圖像與灰度圖合并,得到320×240的RGB+Gray的4通道圖像。Terasic Frame Diff D8M處理圖像的過程為,Line Buffer緩存上一幀灰度圖,與當前幀的灰度圖做差分并判斷是否大于閾值,然后將幀間差分結果圖像與原圖像合并得到結果幀。最后用Terasic VIP Capture 將結果幀寫到Buffer。

Terasic Camera自定義IP用于實現將拜爾陣列轉換為RGB圖像,并將frame輸出為Avalon-ST(Avalon-Streaming,Avalon流)。

- Terasic Frame Diff D8M自定義IP采用Streaming協議處理1路輸入,使用Line buffer緩存,緩存幀與當前幀進行差分,還包含1路結果視頻流輸出;并且實現了控制寄存器,可以設置幀間差分法閾值變化。為了兼顧視頻流和數據集的采集,這里將原圖像與差分結果組合成4通道的圖像進行輸出。

Terasic VIP Capture自定義IP用于實現接收Streaming協議視頻流和動態切換指定目標buffer地址。

3. HPS端的C程序設計

首先創建并初始化TCP和UDP Socket,TCP用來傳輸數據,UDP用來傳輸圖像,接著創建線程處理TCP消息,在這個線程中,攝像節點等待終端節點發送的start指令和請求數據指令,如果是start指令,就開始收集數據,如果是請求數據指令,則停止數據收集并發送數據集到終端節點,然后初始化FPGA IP基地址和buffer,并設置幀間差分法的閾值,接著獲取第一幀圖像并記錄時刻t,再獲取下一幀并記錄時刻t,然后diff processor會對兩幀圖像進行處理,讀取處理結果并分離得到原圖像和幀間差分結果圖像,在幀間差分結果圖像中查找最大框,如果有最大框就用紅框框住激光筆輪廓并壓縮圖像發送到終端節點,如果沒有最大框就壓縮原圖像發送到終端節點,最后根據終端節點發送的指令來判斷是否收集數據集。

5b43d182-fc75-11ee-a297-92fbcf53809c.png

11

終端節點程序設計

初始化用戶界要有攝像節點A和B的畫面顯示、消息顯示框以及測量結果的顯示:

5b5d2696-fc75-11ee-a297-92fbcf53809c.png

此外還有三個按鈕,Start按鈕用來發送指令給攝像節點A和B,Show Camera A按鈕用來顯示攝像節點A的數據和擬合曲線,Show Camera B按鈕用來顯示攝像節點B的數據和擬合曲線。

5b744e0c-fc75-11ee-a297-92fbcf53809c.png

然后是聲光系統初始化,再接著創建一個線程用于處理結果數據,初始化Socke并創建5個線程,最后等待按鈕事件。

5b8e9af0-fc75-11ee-a297-92fbcf53809c.png

下面我們具體介紹創建的5個線程,分別是攝像節點A、B的UDP數據處理線程和TCP數據處理線程,還有一個計時和數據請求線程。

5ba70522-fc75-11ee-a297-92fbcf53809c.png

其中,UDP數據處理線程首先創建UDP Server,然后等待接收攝像節點A、B發送的圖像數據,然后解壓圖像并顯示。

TCP數據處理線程首先創建TCP Client,然后連接攝像節點A、B的TCP Server,之后等待接收攝像節點發送的數據集,計算得到周期、線長和位移,計算完成后設置標志為True。

計時和數據請求線程主要是判斷是否開始測量以及測量時間是否大于10s,如果測量時間達到10s,就發送請求數據指令給攝像節點。

最后是結果數據處理線程,先判斷攝像節點A、B是否計算完成,如果沒有計算完,則先判斷是否還在計時,如果是則打印計時消息并繼續等待攝像節點計算完成。

當攝像節點A和B都計算完成后,首先將標志位清零,然后判斷攝像節點A的位移和B的位移哪一個更大,選擇位移較大的節點計算的線長作為最終線長并顯示,接著計算角度θ并顯示,然后聲光提示,最后停止計時。

5bb70f12-fc75-11ee-a297-92fbcf53809c.png

12

擬合cos函數程序設計

當終端節點收到攝像節點采集到的數據集(包含激光筆輪廓左上角的坐標x和y、輪廓的寬和長以及時刻t)時會對數據集進行初步的處理。

首先是將激光筆左上角的坐標值x+激光筆輪廓的寬/2,得到激光筆中心點的坐標值x。然后再將數據集的所有時刻都減去第一個時刻值,也就是將第一個數據作為0時刻的數據。

5bcda894-fc75-11ee-a297-92fbcf53809c.png

接著通過插值來增加數據量。

先是使用Linear space函數創建時刻t的等差數列,函數的第一個參數為樣本數據開始點,也就是時刻0,第二個參數為樣本數據的結束點,也就是最后一個時刻值,第三個參數為樣本數據量,這里我們插值500個時刻數據。

接下來使用Univariate Spline函數對已有的數據集進行平滑曲線擬合,得到函數關系式function2,然后利用擬合的函數關系,計算出插值時刻對應的位移x。

5be58ec8-fc75-11ee-a297-92fbcf53809c.png

最后使用最小二乘法擬合cos函數。

第一步是使用fft frequency函數得到傅里葉變換的采樣頻率,然后使用fft函數計算離散傅里葉變化。由于離散傅里葉變化在一段有限長的離散信號中,找出它含有的各個頻率的正弦波分量,因此我們可以選取離散傅里葉變化中最大值對應的頻率作為cos函數的初始頻率,

接著用最大位移-最小位移,/2,得到初始振幅值,周期=1/頻率,初相設為0,計算所有位移的平均值作為偏距。

5bf00ce0-fc75-11ee-a297-92fbcf53809c.png

然后使用least square函數擬合cos函數,第一個參數為誤差函數,首先定義目標函數為Acos(2pi/T*t+phi)+偏距,那么誤差函數為:y-目標函數值。第二個參數為函數的參數p0。第三個參數為數據集,least square函數的返回值parameter是一個元組,元組的第一個元素為cos函數的參數列表,最后輸出cos函數的參數。

5c0ea2d6-fc75-11ee-a297-92fbcf53809c.png

審核編輯:黃飛

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

    關注

    32

    文章

    1509

    瀏覽量

    150202
  • 電路設計
    +關注

    關注

    6591

    文章

    2333

    瀏覽量

    197437
  • 互聯網
    +關注

    關注

    54

    文章

    10945

    瀏覽量

    101146
  • 攝像頭
    +關注

    關注

    59

    文章

    4679

    瀏覽量

    93306
  • 攝像系統
    +關注

    關注

    0

    文章

    17

    瀏覽量

    12038

原文標題:2021年全國大學生電子設計競賽D題——基于互聯網的攝像測量系統(二)

文章出處:【微信號:友晶FPGA,微信公眾號:友晶FPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    聯想將進軍互聯網

    互聯網電視領域,并將其與智能手機、平板電腦等同時列入聯想移動互聯網戰略?! ”緢笥浾吲7f惠  聯想集團持股49%  昨天,聯想集團宣布與SMG旗下新媒體公司百視通在上海成立名為“視云網絡科技”的合資企業
    發表于 03-18 10:48

    互聯網電視迅速崛起

    3月17日,聯想集團與上海廣播電視臺、東方傳媒集團有限公司簽署戰略合作協議,正式切入互聯網電視領域,并將其與智能手機、平板電腦等同時列入聯想移動互聯網戰略。2008年互聯網電視斬露頭角,2009年
    發表于 03-22 11:31

    【MiCOKit申請】基于互聯網WiFi的智能家居系統

    申請理由:本產品是基于互聯網WiFi控制系統,USB串口調試比較方便,正好能夠滿足我現在開發的智能家居的要求,之前也開發過類似的WiFi無線模塊的項目,智能農田灌溉系統,基于無線通信,太陽能綠色能源
    發表于 08-09 17:43

    互聯網知識分享交流

    互聯網交流,你了解互一起討論一下吧聯網+嗎,查看世界工廠網網頁,你會了解更hulianwang多的hulian互聯網知識哦
    發表于 12-29 15:25

    能源互聯網是什么?通俗的解釋能源互聯網

      發現很多人對某些詞匯給的定義概念不是理解的很透徹,果然很多東西還是需要通俗的去解釋,運用生活上的例子,大家才會理解的比較透徹,所以今天通俗的給大家解釋一下什么是能源互聯網。 試想下未來,人們
    發表于 01-14 11:47

    工業互聯網

    ,伴隨著工業革命,出現了無數臺機器、設備、機組和工作站;其則是更為強大的網絡革命,在其影響之下,計算、信息與通訊系統應運而生并不斷發展?! “殡S著這樣的發展,三種元素逐漸融合,充分體現出工業互聯網之精髓
    發表于 01-25 09:29

    工業互聯網

    清潔且更經濟。工業互聯網將整合兩大革命性轉變之優勢:其一是工業革命,伴隨著工業革命,出現了無數臺機器、設備、機組和工作站;其則是更為強大的網絡革命,在其影響之下,計算、信息與通訊系統應運而生并不
    發表于 04-17 15:56

    技術與互聯網+

    急急急?。。。。。。。。。?!請問,如果用單片機做出了一個作品,互聯網+可以怎么用的上我的作品?除了用互聯網賣出去,還可以怎么辦呢
    發表于 07-03 22:53

    互聯網與工業物聯網之間的區別與聯系

    聯網不能完全替代互聯網,而互聯網也不能滿足工業物聯網的發展需求,只能說在未來很長一段時間內,兩者會并存,互利共生。哐哐智造是基于工業物聯網
    發表于 06-14 10:18

    空間互聯網天線設計

    如鳥兒展翅,如飛機翱翔,未來的數據共享方式是如此的快捷、自由。環繞地球運行的衛星有可能徹底地改變人類收集與共享信息的方式。相比于有線或無線數據網絡,以衛星系統為基礎的空間互聯網(Internet of Space,簡稱 IoS)技術能夠向全球各地,甚至是最偏遠的地區提供網
    發表于 07-16 07:31

    什么是產業互聯網?

    2018年10月,騰訊宣傳進軍產業互聯網;2019年9月,騰訊完成了史上最大的組織架構調整,新成立云與智慧產業事業群,正式發力產業互聯網;2020年1月,騰訊發布《2020產業安全報告:產業互聯網
    發表于 01-18 11:40

    為什么說產業互聯網互聯網的下半場?

    消費互聯網改變的是商品銷售方式,產業互聯網改變的是生產和供給方式,而終極目標是產消協同的數字化社會!因此,產業互聯網要求企業通過“智能化、數字化、網絡化”手段全方位賦能產業鏈的上下游、生產體系、組織結構、運作方式等各個環節,推動
    發表于 01-18 11:42

    高級互聯網協議(IP)攝像機與模擬攝像機的應用有何差異?

    本應用筆記介紹了安全視頻監控系統中高級互聯網協議(IP)攝像機與模擬攝像機的應用差異。
    發表于 06-02 06:36

    基于互聯網攝像測量系統(一)

    采用GPIO接口的D8M攝像頭,直接與DE10-Nano開發板連接,可通過FPGA進行算法加速,CPU只需要讀取FPGA端處理好的結果圖像再進行簡單的計算,可提高處理效率。
    的頭像 發表于 04-18 14:38 ?303次閱讀
    基于<b class='flag-5'>互聯網</b>的<b class='flag-5'>攝像</b><b class='flag-5'>測量</b><b class='flag-5'>系統</b>(一)

    基于互聯網攝像測量系統(三)

    使用HDMI線將三個HDMI顯示器分別連接到攝像節點A、B和終端節點DE10-Nano開發板上的HDMI接口。
    的頭像 發表于 04-18 14:43 ?207次閱讀
    基于<b class='flag-5'>互聯網</b>的<b class='flag-5'>攝像</b><b class='flag-5'>測量</b><b class='flag-5'>系統</b>(三)
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>