RM新时代网站-首页

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

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

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

FPGA圖像識別與目標跟蹤系統(tǒng)的實現(xiàn)

電子工程師 ? 來源:微型機與應用第18期 ? 作者:范志銘 蘇成悅 鄭 ? 2021-04-06 14:07 ? 次閱讀

摘 要: 采用FPGA搭建圖像處理系統(tǒng),通過硬件算法實現(xiàn)圖像的流水線及并行處理,實現(xiàn)了對具有特定顏色的物體的識別與跟蹤。整個系統(tǒng)工作于像素頻率,避免了算法的程序跑飛現(xiàn)象,使系統(tǒng)的可靠性大為提高,較好地保持了系統(tǒng)的低功耗特性,且優(yōu)于DSP等串行處理器結(jié)合軟件算法來實現(xiàn)的方法。

0 引言

近年基于FPGA硬件技術(shù)的視頻圖像處理系統(tǒng)被廣泛地應用于視頻智能監(jiān)控、智能交通系統(tǒng)、視頻采集和跟蹤系統(tǒng)等[1]。作為機器視覺的一個重要研究方向,動態(tài)目標檢測在視頻智能監(jiān)控、智能交通系統(tǒng)等方面得到了越來越多的應用[2]。通常圖像識別與跟蹤算法可以通過軟件或者硬件來實現(xiàn),但出于成本及開發(fā)難度的考慮,圖像識別與跟蹤一般由軟件來實現(xiàn)。

在高速、高分辨率的情況下,傳統(tǒng)軟件的串行處理算法不足以應對大量的運算以及嚴格的時間要求,而采用硬件算法則可以實現(xiàn)并行或者流水的運算結(jié)構(gòu),大大地加快了運算速度[3]。目前可采用硬件實現(xiàn)的主要方案包括:DSP數(shù)字信號處理器、專用的集成圖像處理芯片、FPGA和配合的相關(guān)電路。與其他方案相比,使用FPGA芯片豐富的硬件資源以及硬件可重構(gòu)性,可大大提高圖像識別跟蹤系統(tǒng)的靈活性和通用性。

本設(shè)計通過使用可編程邏輯器件和硬件算法進行圖像處理以實現(xiàn)對圖像中特定目標進行識別和跟蹤,并通過并行和流水線結(jié)構(gòu)算法大大加快圖像處理的速度,使得處理速率與輸入時鐘同步,真正地做到了無延時處理。

1 系統(tǒng)整體功能概述

本設(shè)計中采用Altera公司的EP2C8系列FPGA作為系統(tǒng)核心。圖像從30萬像素CMOS攝像頭輸入,F(xiàn)PGA負責圖像處理以及接口管理,因攝像頭與VGA接口的幀率不同,所以使用SDRAM作為幀緩沖。高速視頻DAC芯片ADV7123負責把RGB圖像數(shù)據(jù)轉(zhuǎn)換成模擬量,以實現(xiàn)VGA輸出。系統(tǒng)的框架圖如圖1所示,整個系統(tǒng)采用5 V直流供電,可以通過AS或者JTAG接口進行調(diào)試以及程序的下載。通過鍵盤可以切換系統(tǒng)的工作狀態(tài),改變圖像的處理效果。

6357008205591294322821819.jpg

2 硬件設(shè)計

要實現(xiàn)圖像處理,首先要搭建好圖像的采集系統(tǒng),實現(xiàn)對輸入圖像正確的顯示。由于系統(tǒng)處理的數(shù)據(jù)量大,速度快,對硬件電路的設(shè)計以及器件布局布線都有較高的要求。

2.1 FPGA外圍電路設(shè)計

FPGA的外圍電路包括時鐘電路、復位電路、JTAG以及AS調(diào)試接口。本設(shè)計提供40 MHz和50 MHz時鐘輸入,50 MHz時鐘可通過PLL倍頻到100 MHz作為SDRAM時鐘,也可分頻到25 MHz作為CMOS攝像頭時鐘;而40 MHz作為后備時鐘。JTAG接口可把配置數(shù)據(jù)下載到FPGA的內(nèi)部RAM上,并可以通過SignalTap嵌入式邏輯分析儀對FPGA時序進行分析。AS接口則可以把配置數(shù)據(jù)之間固化到串行EPROM上,使FPGA上電后自動配置。

2.2 VGA接口設(shè)計

VGA接口芯片本質(zhì)上是三路獨立的高速DA,負責把數(shù)字化的圖像數(shù)據(jù)轉(zhuǎn)換成模擬量,以供顯示器顯示。為了阻抗匹配,模擬輸出端需并聯(lián)75 Ω電阻,DAC輸出電流的最大值由偏置電位器決定,通過調(diào)節(jié)電位器,可以調(diào)節(jié)輸出圖像的最大亮度。

2.3 SDRAM外圍電路設(shè)計

SRAM在存儲器中速度最快、最穩(wěn)定、操作最方便,但是由于其成本高,一般靜態(tài)存儲器只適用于存儲容量小、存儲速度要求高的場合。而SDRAM相對于SRAM制造成本低很多,隨著技術(shù)的進步,SDRAM的速度越來越快,容量越來越大,穩(wěn)定性也越來越好。在視頻圖像處理中SDRAM主要用作數(shù)據(jù)緩存,也就是FPGA對SDRAM操作最頻繁的為讀命令、寫命令,在這兩個命令中間插接激活、預充電、猝發(fā)終止、刷新等命令[4]。

SDRAM的主要作用是把經(jīng)過處理后的圖像數(shù)據(jù)以30 S/s的速率進行緩存,然后再以60 S/s的速率讀取到VGA接口輸出。采用16 bit字寬的SDRAM,讀寫時鐘為100 MHz。SDRAM總帶寬為100 MHz,其中攝像頭寫入占用12.5 MHz帶寬,VGA讀取占用25 MHz帶寬,剩余的62.5 MHz帶寬可留作圖像處理使用。

3 算法設(shè)計

采用基于顏色的目標識別算法從背景中分割目標并動態(tài)標記,該算法實現(xiàn)簡單,但對圖像的質(zhì)量要求較高。由于CMOS攝像頭輸出的圖像噪點較多,尤其在光照不足的情況下,因此圖像的預處理工作顯得尤為重要[5]。系統(tǒng)總體算法結(jié)構(gòu)如圖2所示。

6357008208940594323843080.jpg

預處理采用3×3的平滑濾波器對圖像進行濾波。將處理后的圖像與樣品顏色進行比較,當圖像與樣品顏色的R、G、B分量的差值在一定范圍內(nèi)時,圖像像素被標記為白色,否則標記為黑色,最終實現(xiàn)圖像的二值化。包圍盒對噪點非常敏感,在進行包圍操作前,再對圖像進行一次濾波處理。包圍盒的作用是找出目標圖像像素的最小坐標以及最大坐標,通過這兩個坐標即可計算出目標的中心位置。

3.1 圖像平滑濾波器設(shè)計

傳統(tǒng)的軟件算法在實現(xiàn)濾波操作時,需要先把輸入和輸出圖像都緩沖到幀緩存中去,對于每個輸出像素,算法獲取輸入圖像對應窗口的像素并用濾波函數(shù)計算來取得輸出值。由于每個輸出都需要讀取對應窗口的輸入像素,勢必占用極大的內(nèi)存帶寬,并且處理性能會受到內(nèi)存帶寬的限制。由于每個輸入像素都會被多個窗口所利用,故可以先對輸入圖像進行緩存,以便在后續(xù)的窗口中被重新利用[6]。本設(shè)計使用流水處理的方法,實現(xiàn)濾波算法的加速計算,算法結(jié)構(gòu)如圖3所示。

6357008210037194323087038.jpg

3.2 圖像二值化

在第一個時鐘的上升沿,攝像頭輸入的16 bit圖像數(shù)據(jù)先分割為R、G、B三個分量,分別為5 bit、6 bit、 5 bit,分別與樣本顏色的對應分量進行比較,通過減法器獲得對應的誤差絕對值,下一個時鐘上升沿,這三個誤差的絕對值再與對應的閾值進行比較,最后把比較結(jié)果進行與運算,作為最終輸出。整個二值化操作的流水線延時為兩個時鐘周期。圖4為其中一個處理通道的簡化表示。本設(shè)計的二值化操作是在RGB色彩空間上進行的,只有在R、G、B三個通道上同時滿足條件的像素點才會被設(shè)為最大值。

6357008214264594328262110.jpg

3.3 圖像腐蝕與膨脹

圖像的腐蝕操作能夠輕易地濾除面積小于窗口的孤立噪點而不影響圖像本身的清晰度,經(jīng)過腐蝕后目標圖像會變小,需要膨脹操作來補償腐蝕的影響,與平滑濾波器相類似。其實現(xiàn)方法如圖5所示,經(jīng)過行緩沖的像素數(shù)據(jù)依次進入窗口,通過對窗口內(nèi)所有像素進行與運算來實現(xiàn)腐蝕,進行或運算來實現(xiàn)膨脹,其效果如圖6所示。

6357008215604994323755001.jpg

6357008215662294327709658.jpg

3.4 包圍盒設(shè)計

一組像素的包圍盒是指能夠包圍所有像素的最小矩形,本設(shè)計在進行包圍操作之前已經(jīng)先對圖像進行二值化分割,故只需要找出每一幀圖像中目標像素橫縱坐標的最大值和最小值即可實現(xiàn)對圖像的包圍操作。

4 結(jié)論

6357008217602594325082310.jpg

經(jīng)過處理后的圖像有VGA接口輸出,其效果如圖7所示。由于采用了硬件算法實現(xiàn)的并行以及流水結(jié)構(gòu),大大加快了圖像的處理速度,處理速度為900萬像素每秒,流水線延時約為64 ?滋s。通過動態(tài)流水線結(jié)構(gòu),系統(tǒng)可以把每一步中間處理的結(jié)果直接輸出到VGA,這樣就可以獨立地觀察每一步處理的實際效果。通過對比發(fā)現(xiàn),若關(guān)閉圖像預處理,則圖像中噪點明顯增多,包圍盒出現(xiàn)晃動,說明圖像的預處理操作能夠提高識別和跟蹤的準確度和穩(wěn)定性。

由于使用硬件算法,從本質(zhì)上避免了傳統(tǒng)軟件算法的程序跑飛現(xiàn)象,使得系統(tǒng)的可靠性大為提高。為了提高處理速度,傳統(tǒng)軟件算法往往只能通過提高系統(tǒng)的時鐘實現(xiàn),然而過高的時鐘頻率意味著高功耗和干擾,而本設(shè)計通過流水線結(jié)構(gòu),使整個處理系統(tǒng)工作于像素頻率,同時也保持了系統(tǒng)的低功耗特性。

參考文獻

[1] 鄭俊波,蘇成悅,何榕禮,等.Android終端及FPGA控制的智能家居系統(tǒng)[J]。微型機與應用,2014,33(5):93-95.

[2] 向厚振,張志杰,王鵬.基于FPGA視頻和圖像處理系統(tǒng)的FIFO緩存技術(shù)[J].電視技術(shù),2012,36(9):134-135.

[3] MARUYAMA T, YAMAGUCHI Y. How fast is an FPGA image processing[J]。 IEICE Technical Report, 2008,108(48):83-88.

[4] 田豐,鄧建國,李巍,等.SDRAM控制器的設(shè)備與VHDL實現(xiàn)[J]。電子技術(shù)應用,2010,36(2):74-77.

[5] OLSON T, SANFORDCARL W. Real-time multistage IR image-based tracker[J]. The International Society for Optical Engineering,2011,58(112):56-57.

[6] 王德勝,康令州.基于FPGA的實時圖像采集與預處理[J].電視技術(shù),2011,35(3):38-41.

編輯:jq

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

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602984
  • 圖像識別
    +關(guān)注

    關(guān)注

    9

    文章

    520

    瀏覽量

    38267
  • 目標跟蹤
    +關(guān)注

    關(guān)注

    2

    文章

    88

    瀏覽量

    14881
收藏 人收藏

    評論

    相關(guān)推薦

    AI圖像識別攝像機

    ?AI圖像識別攝像機是一種集成了先進算法和深度學習模型的智能監(jiān)控設(shè)備。這些攝像機不僅能夠捕捉視頻畫面,還能實時分析和處理所拍攝的內(nèi)容,從而實現(xiàn)對特定對象、場景或行
    的頭像 發(fā)表于 11-08 10:38 ?227次閱讀
    AI<b class='flag-5'>圖像識別</b>攝像機

    目標檢測與圖像識別的區(qū)別在哪

    目標檢測與圖像識別是計算機視覺領(lǐng)域中的兩個重要研究方向,它們在實際應用中有著廣泛的應用,如自動駕駛、智能監(jiān)控、醫(yī)療診斷等。盡管它們在某些方面有相似之處,但它們之間存在一些關(guān)鍵的區(qū)別。 基本概念 目標
    的頭像 發(fā)表于 07-17 09:51 ?850次閱讀

    圖像識別算法有哪幾種

    圖像識別算法是計算機視覺領(lǐng)域的核心技術(shù)之一,它通過分析和處理圖像數(shù)據(jù),實現(xiàn)圖像中的目標、場景和物體的
    的頭像 發(fā)表于 07-16 11:22 ?1049次閱讀

    圖像檢測和圖像識別的原理、方法及應用場景

    目標物體的過程。它的目標是確定圖像中是否存在特定的物體,并在圖像中找到這些物體的位置,通常以矩形框的形式表示。 1.2 圖像識別
    的頭像 發(fā)表于 07-16 11:19 ?3947次閱讀

    圖像識別算法都有哪些方法

    圖像識別算法是計算機視覺領(lǐng)域的核心任務之一,它涉及到從圖像中提取特征并進行分類、識別和分析的過程。隨著深度學習技術(shù)的不斷發(fā)展,圖像識別算法已經(jīng)取得了顯著的進展。本文將介紹
    的頭像 發(fā)表于 07-16 11:14 ?5504次閱讀

    圖像識別算法的提升有哪些

    引言 圖像識別是計算機視覺領(lǐng)域的核心任務之一,旨在使計算機能夠自動地識別和理解圖像中的內(nèi)容。隨著計算機硬件的發(fā)展和深度學習技術(shù)的突破,圖像識別算法的性能得到了顯著提升。本文將介紹
    的頭像 發(fā)表于 07-16 11:12 ?638次閱讀

    圖像識別算法的優(yōu)缺點有哪些

    圖像識別算法是一種利用計算機視覺技術(shù)對圖像進行分析和理解的方法,它在許多領(lǐng)域都有廣泛的應用,如自動駕駛、醫(yī)療診斷、安全監(jiān)控等。然而,圖像識別算法也存在一些優(yōu)缺點。 一、圖像識別算法的優(yōu)
    的頭像 發(fā)表于 07-16 11:09 ?1541次閱讀

    圖像識別算法的核心技術(shù)是什么

    圖像識別算法是計算機視覺領(lǐng)域的一個重要研究方向,其目標是使計算機能夠像人類一樣理解和識別圖像中的內(nèi)容。圖像識別算法的核心技術(shù)包括以下幾個方面
    的頭像 發(fā)表于 07-16 11:02 ?623次閱讀

    圖像識別技術(shù)包括自然語言處理嗎

    計算機視覺技術(shù)對圖像進行處理、分析和理解,從而實現(xiàn)圖像中的目標、場景、行為等信息的識別和理解。圖像識別
    的頭像 發(fā)表于 07-16 10:54 ?728次閱讀

    圖像識別技術(shù)的原理是什么

    圖像識別技術(shù)是一種利用計算機視覺和機器學習技術(shù)對圖像進行分析和理解的技術(shù)。它可以幫助計算機識別和理解圖像中的對象、場景和活動。 圖像預處理
    的頭像 發(fā)表于 07-16 10:46 ?910次閱讀

    圖像識別屬于人工智能嗎

    屬于。圖像識別是人工智能(Artificial Intelligence, AI)領(lǐng)域的一個重要分支。 一、圖像識別概述 1.1 定義 圖像識別是指利用計算機技術(shù)對圖像中的內(nèi)容進行分析
    的頭像 發(fā)表于 07-16 10:44 ?1077次閱讀

    如何利用CNN實現(xiàn)圖像識別

    卷積神經(jīng)網(wǎng)絡(CNN)是深度學習領(lǐng)域中一種特別適用于圖像識別任務的神經(jīng)網(wǎng)絡結(jié)構(gòu)。它通過模擬人類視覺系統(tǒng)的處理方式,利用卷積、池化等操作,自動提取圖像中的特征,進而實現(xiàn)高效的
    的頭像 發(fā)表于 07-03 16:16 ?1310次閱讀

    圖像檢測和圖像識別的區(qū)別是什么

    圖像檢測和圖像識別是計算機視覺領(lǐng)域的兩個重要研究方向,它們在許多應用場景中都有著廣泛的應用。盡管它們在某些方面有相似之處,但它們之間還是存在一些明顯的區(qū)別。本文將從多個角度對圖像檢測和圖像識別
    的頭像 發(fā)表于 07-03 14:41 ?974次閱讀

    圖像識別技術(shù)原理 圖像識別技術(shù)的應用領(lǐng)域

    圖像識別技術(shù)是一種通過計算機對圖像進行分析和理解的技術(shù)。它借助計算機視覺、模式識別、人工智能等相關(guān)技術(shù),通過對圖像進行特征提取和匹配,找出圖像
    的頭像 發(fā)表于 02-02 11:01 ?2411次閱讀

    如何使用Python進行圖像識別的自動學習自動訓練?

    如何使用Python進行圖像識別的自動學習自動訓練? 使用Python進行圖像識別的自動學習和自動訓練需要掌握一些重要的概念和技術(shù)。在本文中,我們將介紹如何使用Python中的一些常用庫和算法來實現(xiàn)
    的頭像 發(fā)表于 01-12 16:06 ?573次閱讀
    RM新时代网站-首页