• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于DM642 的光纖中心定位算法優(yōu)化

      2014-12-02 01:13:36李進(jìn)文安博文
      計(jì)算機(jī)工程 2014年4期
      關(guān)鍵詞:極值亮度濾波器

      李進(jìn)文,安博文

      (上海海事大學(xué)信息工程學(xué)院,上海 201306)

      1 概述

      近年來,隨著傳像光纖束成像技術(shù)的快速發(fā)展,傳像光纖束在光譜儀器、醫(yī)療設(shè)備、導(dǎo)彈告警接收器等方面得到廣泛應(yīng)用。同時(shí)在DSP 平臺中實(shí)現(xiàn)基于傳像光纖束高分辨率成像已經(jīng)成為現(xiàn)實(shí)。DM642 是TI 開發(fā)的第二代高性能,具有先進(jìn)VelociTITM技術(shù)的VLIW 結(jié)構(gòu)的一款高性能定點(diǎn)DSP 芯片[1]。由于具有強(qiáng)大的數(shù)據(jù)處理能力、軟硬件的可剪裁性[2],DM642 十分適合處理大數(shù)據(jù)量、高傳輸速率的傳像光纖束成像算法。本文結(jié)合DM642 存儲器分配和DMA 數(shù)據(jù)傳輸結(jié)構(gòu)對傳像光纖束成像過程中光纖中心定位算法進(jìn)行存儲優(yōu)化。

      2 光纖中心定位算法

      傳像光纖束入端接受均勻的光照時(shí),出端圖像亮度并非均勻。由光纖的結(jié)構(gòu)及傳光特性知,光纖光芯區(qū)域的亮度較包層區(qū)域強(qiáng),而光纖正中心的位置亮度達(dá)到最強(qiáng),斷絲引起的盲元亮度最暗。根據(jù)出端圖像的不同亮度,對光纖不同部位進(jìn)行區(qū)別,從而定位每根光纖中心位置[3]。

      一般中值、均值濾波器都是針對單個(gè)像素,處理孤立特征點(diǎn)效果較好,處理連在一起的某種特征點(diǎn)或塊時(shí),效果則不理想。本文所處理的圖像就是后一種情況,針對這一特點(diǎn),需要一個(gè)能同時(shí)處理多個(gè)像素點(diǎn)的濾波器。文獻(xiàn)[3]提出了一種雙模板極值濾波器,大模板中的元素是一組小模板,通過小模板對具有某種特征的像素點(diǎn)同時(shí)進(jìn)行處理。濾波器的大模板為[N×N],N為奇數(shù),模板中元素為N2個(gè)小模板,小模板為[n×n]。N和n的確定:由于光纖為圓形結(jié)構(gòu)而模板為正方形,理想的效果是該正方形是光纖圓形區(qū)域的內(nèi)切正方形的大小,因此小模板的大小應(yīng)略小于光芯對應(yīng)的亮像素區(qū)域。大模板尺寸確定的原則:當(dāng)模板中心元素對應(yīng)光纖中心較亮部分時(shí),其他像素覆蓋鄰近光纖包層對應(yīng)的區(qū)域,因此,大模板的尺寸應(yīng)大于一根光纖對應(yīng)的像素,但在水平或垂直方向不能達(dá)到2 根光纖的尺寸[4-5]。根據(jù)上面的原則,本文中N和n都為3,雙模板極值濾波器結(jié)構(gòu)及其運(yùn)行方式分別如圖1、圖2 所示。

      圖1 雙模板極值濾波器結(jié)構(gòu)

      圖2 雙模板極值濾波器運(yùn)行方式

      用該模板對整幅定標(biāo)圖像進(jìn)行卷積運(yùn)算,對大模板中每個(gè)小模板的全部像素求亮度和計(jì)算公式如式(1)所示。

      計(jì)算9 個(gè)小模板卷積后最大值MaxValue、最小值MinValue,如式(2)、式(3)所示。

      如果當(dāng)前小模板對應(yīng)的亮度和最大,并且大模板中亮度和最小的小模板也超過閾值THRESHOLD(閾值的設(shè)定根據(jù)背景亮度而定,需調(diào)試),即滿足邏輯表達(dá)式,如式(4)所示。

      若表達(dá)式為真,則將當(dāng)前小模板中每個(gè)像素賦為255,其他小模板中的像素賦為0。若表達(dá)式為假,9 個(gè)小模板步進(jìn)進(jìn)入下次循環(huán)。處理完后,定標(biāo)圖像變成一個(gè)個(gè)孤立的白色小方塊標(biāo),該方塊粗略標(biāo)出光纖中心的位置。

      3 DM642 存儲器配置

      DM642 采用兩級存儲器結(jié)構(gòu),第一級存儲器包括相互獨(dú)立的程序cache(L1P,16 KB)和數(shù)據(jù)cache(L1D,16 KB),只能作為高速緩存被CPU 訪問。第二級存儲器(L2,256 KB)是一個(gè)統(tǒng)一的程序/數(shù)據(jù)空間,可以整體作為SRAM 映射到存儲空間,也可以作為第二級cache,或者按需求調(diào)用CACHE_setL2Mode(CACHE_L2Mode newMode)和CMD 文件自定義分配[6-9],根據(jù)L2 配置的不同選擇,訪問SRAM、cache 速率分別需8 個(gè)、6 個(gè)時(shí)鐘周期[10]。本文片外SDRAM采用2 片Micron MT48LC4M32B2 組成,構(gòu)成系統(tǒng)第三級存儲空間,存儲了5 MB(2 592×1 944)pixel 圖像數(shù)據(jù)。顯然,片外存儲器容量較大,但訪問速率較慢,約150 個(gè)時(shí)鐘周期。圖3 為DM642 中片內(nèi)兩級高速緩存結(jié)構(gòu)。L1PCC(Program Cache Controller)表示一級程序緩存控制器,L1DCC(Data Cache Controller)表示一級程序緩存控制器。

      圖3 DM642 中兩級高速緩存結(jié)構(gòu)

      由于cache 是存放于處理器附近的高速存儲器,同時(shí)在讀數(shù)據(jù)的時(shí)候會按照空間局部性原則將該數(shù)據(jù)周圍的一部分?jǐn)?shù)據(jù)一并讀取到cache 中,因此在處理空間相關(guān)性比較大的數(shù)據(jù)時(shí),增大cache 空間,可顯著提高CPU 的命中率,但同時(shí)也會減小關(guān)鍵數(shù)據(jù)分配在片內(nèi)的可用空間[11-12]。

      算法運(yùn)行時(shí),處理一行圖像時(shí)需要前后相鄰4 行(共(4+1+4)×2 592 Byte)大小的數(shù)據(jù)參與,且需在L2 SRAM 中預(yù)留一個(gè)3×2 592 Byte 的緩沖區(qū),存放已處理完并將要寫回至片外SDRAM 的數(shù)據(jù)。為了提高L1P 的命中率,減少CPU等待時(shí)間,將頻繁調(diào)用的代碼存儲于L2 SRAM 中[13]。另一方面考慮到算法中數(shù)據(jù)相關(guān)性較大,最終將L2 分為128 KB SRAM 和128 KB cache,CACHE_setL2Mode(CACHE_128 KCACHE)實(shí)現(xiàn)。

      4 數(shù)據(jù)傳輸結(jié)構(gòu)優(yōu)化

      如果算法是基于PC 上實(shí)現(xiàn),不用考慮處理器內(nèi)存尺寸、數(shù)據(jù)傳輸儲存等因素,直接在全局區(qū)開辟一個(gè)二維數(shù)組儲存2 592×1 944 Byte 大小圖像數(shù)據(jù),同時(shí)在堆區(qū)開辟一個(gè)動態(tài)緩沖區(qū)存放2 592×9 Byte 臨時(shí)數(shù)據(jù)。然后使模板以行內(nèi)步進(jìn)、行間折返方式Z 字形掃描,卷積求極值,這種處理方式實(shí)現(xiàn)簡單,流程清晰。但在DM642 平臺上,內(nèi)存資源、傳輸速率等有限,因此,需要盡可能減少算法運(yùn)算量和盡可能縮小算法所需的運(yùn)算空間。本文在數(shù)據(jù)傳輸結(jié)構(gòu)上進(jìn)行優(yōu)化,具體思想:模板僅在水平方向掃描,數(shù)據(jù)自動更新,即每次在L2 SRAM 處理9×2 592 Byte 數(shù)據(jù),處理完之后新一行數(shù)據(jù)進(jìn)入組成新的9 行數(shù)據(jù),而模板始終在水平位置步進(jìn)掃描。

      首先在L2 SRAM 建立一個(gè)9×2 592 長的一維數(shù)組cLine [9×2 592](等價(jià)二維數(shù)組cLine[9][2 592]),對其前8 行(Line1~Line8)空間進(jìn)行初始化,調(diào)用函數(shù)DAT_copy(void *src,void *dst,short byteCnt)處理。接著復(fù)制第9 行數(shù)據(jù)到Line9 位置,至此數(shù)組中每個(gè)元素都被賦值。

      然后9 個(gè)3×3 模板以行內(nèi)步進(jìn)掃描處理9 行數(shù)據(jù)。由于圖像大小為(2 592×1 944),9 個(gè)模板不只是從左至右掃描卷積當(dāng)前9 行圖像數(shù)據(jù)就結(jié)束了,而是繼續(xù)處理更新的圖像數(shù)據(jù)。數(shù)據(jù)更新機(jī)制:設(shè)置9 個(gè)偏移量,依次初始化如式(5)所示。

      對指向9 行數(shù)據(jù)起始位置的指針pIM1G~pIM9G進(jìn)行初始化,如式(6)所示。

      當(dāng)9 個(gè)3×3 模板運(yùn)動到9 行圖像的右側(cè)臨界區(qū)進(jìn)行卷積運(yùn)算處理后,9 個(gè)偏移量的大小發(fā)生改變,循環(huán)左移,迭代更新,變換公式如式(7)所示。

      這種偏移量的變換確保了每次水平掃描處理9 行數(shù)據(jù)之后,離中間行pIMG5 距離最遠(yuǎn)的低地址行被新的一行數(shù)據(jù)(來自SDRAM)寫入,而上一次剩余的8 行數(shù)據(jù)保存不變,避免了重復(fù)寫入[14]。同時(shí),避免了數(shù)據(jù)塊整體向后搬移,從而節(jié)省了時(shí)間,且指針pIMG4、pIMG5、pIMG6 分別自動指向9 行數(shù)據(jù)的中間3 行起始數(shù)據(jù)。實(shí)質(zhì)上可以看到模板只是在水平方向上步進(jìn),運(yùn)動到右側(cè)臨界區(qū)后,啟動DMA 傳輸,一行數(shù)據(jù)發(fā)生更新,提高了處理效率。數(shù)據(jù)存儲與更新機(jī)制流程如圖4 所示。

      圖4 數(shù)據(jù)儲存與更新流程

      在圖4 中,Line1~Line9 表示L2 SRAM 開辟的一個(gè)數(shù)組分成的9 段,用來存放9 行待處理數(shù)據(jù)。第K(K=1,2,…,1 935)次DMA 為初始化之后的DMA 搬移計(jì)數(shù)。

      5 實(shí)驗(yàn)結(jié)果與分析

      傳像光纖成像系統(tǒng)透鏡對準(zhǔn)一個(gè)漫反射白板,在DM642中采集并經(jīng)過定位算法處理、腐蝕運(yùn)算后結(jié)果分別如圖5~圖8 所示。

      圖5 傳像光纖束出端結(jié)構(gòu)截取部分

      對比圖6 與圖7 分析可知,算法存儲優(yōu)化前后在處理效果上一樣,基于此證明了改進(jìn)算法的準(zhǔn)確性。

      圖6 雙模板極值濾波器算法處理圖

      圖7 存儲優(yōu)化后的處理圖

      圖8 初步定位后經(jīng)腐蝕處理之后的結(jié)果圖

      將優(yōu)化前后的算法都移植到DM642 運(yùn)行時(shí),原算法未優(yōu)化、經(jīng)存儲優(yōu)化后測算運(yùn)行時(shí)間分別為3 3147.32 ms、24 800.57 ms。通過比較可看出由于處理的數(shù)據(jù)量(5 MB)較大,導(dǎo)致整體運(yùn)行時(shí)間消耗仍較多。優(yōu)化前后在處理速率上有較大差別,優(yōu)化后時(shí)間減少了1/4。據(jù)此,說明了優(yōu)化后算法的快速性。

      6 結(jié)束語

      本文在DM642平臺上對雙模板極值濾波算法在存儲分配和數(shù)據(jù)傳輸結(jié)構(gòu)方面進(jìn)行了優(yōu)化,能較好地定位光纖中心。文中優(yōu)化改進(jìn)后的算法是在C 級別編寫的,時(shí)間開銷還是比較大,考慮到系統(tǒng)實(shí)時(shí)性要求,下一步結(jié)合2 組寄存器組、雙字指令的使用、存儲單元的分配在匯編或線性匯編層面上改寫,進(jìn)一步降低時(shí)間開銷。

      [1] Texa Sinstruments.TMS320DM642 Video/Imaging Fixedpoint Digital Signal Processor[EB/OL].(2010-10-12).http://www.ti.com/product/tms320dm642.

      [2] Texas Instruments.TMS320C6000 DSP Enhanced Direct Memory Access(EDMA) Controller Reference Guide[EB/OL].(2006-11-15).http://www.ti.com.cn/general/cn/docs/litabsmultiple filelist.tsp?literatureNumber=spru234c.

      [3] 安博文.基于光纖耦合的焦平面列陣圖像時(shí)空變換技術(shù)研究[D].北京:中國科學(xué)院研究生院,2006.

      [4] 安博文,陳桂林.基于雙模板極值濾波器的傳像光纖束中的盲元消除[J].中國圖象圖形學(xué)報(bào),2007,12(9):1555-1557.

      [5] 安博文,陳桂林.超高分辨率異型傳像光纖束中的空間變換[J].光電工程,2006,33(11):83-87.

      [6] 李方慧,王 飛,何佩琨.TMS320C6000 系列DSPs 原理與應(yīng)用[M].北京:電子工業(yè)出版社,2003.

      [7] Texas Instruments.TMS320C64x DSP Two-level Internal Memory Reference Guide[EB/OL].(2006-02-28).http://www.ti.com.cn/dsp/cn/docs/litabsmultiplefilelist.tsp?sectionId=3&tabId=409&literatureNumber=spru610c&docCategoryId=6&familyId=749.

      [8]Texas Instruments.TMS320C6000 DSP Cache User’s Guide[EB/OL].(2003-05=05).http://www.ti.com.cn/dsp/cn/docs/litabsmultiplefilelist.tsp?sectionId=3&tabId=409&litera tureNumber=spru656a&docCategoryId=6&familyId=749.

      [9] 馬宇輝.基于DSP 的廣域相量測量裝置的設(shè)計(jì)[D].杭州:浙江大學(xué),2007.

      [10]Texas Instruments.TMS320C64x/C64x+DSP CPU and Instruction Set Reference Guide[EB/OL].(2010-07-30).http://www.ti.com.cn/general/cn/docs/litabsmultiplefilelist.tsp?literat ureNumber=spru732j.

      [11]張永光,張曉蕾,徐健健.DM642 圖像數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)和優(yōu)化[J].科學(xué)技術(shù)與工程,2007,7(17):4484-4486.

      [12]潘勝達(dá),安博文.傳像光纖束成像算法在DM642 上的實(shí)現(xiàn)與優(yōu)化[J].科學(xué)技術(shù)與工程,2010,10(17):4175-4178.

      [13]潘勝達(dá).基于傳像光纖束耦合的高分辨率成像算法的硬件實(shí)現(xiàn)研究[D].上海:上海海事大學(xué),2010.

      [14]Karadayi K,Golston J,Gove R J,et al.Strategies for Mapping Algorithms to Media Processors for High Performance[J].IEEE Micro,2003,23(4):58-70.

      猜你喜歡
      極值亮度濾波器
      基于無擾濾波器和AED-ADT的無擾切換控制
      極值點(diǎn)帶你去“漂移”
      極值點(diǎn)偏移攔路,三法可取
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      一類“極值點(diǎn)偏移”問題的解法與反思
      亮度調(diào)色多面手
      開關(guān)電源EMI濾波器的應(yīng)用方法探討
      電子制作(2018年16期)2018-09-26 03:26:50
      亮度一樣嗎?
      基于斬波調(diào)制的LED亮度控制
      人生的亮度
      台东县| 稻城县| 弥渡县| 磐石市| 杨浦区| 富民县| 青川县| 古丈县| 玛多县| 靖西县| 无极县| 罗定市| 射阳县| 出国| 紫云| 汤原县| 黄龙县| 库尔勒市| 龙井市| 横山县| 政和县| 锡林浩特市| 巴楚县| 内丘县| 龙泉市| 陆丰市| 宁国市| 温宿县| 香港 | 马龙县| 富源县| 高陵县| 共和县| 温州市| 平和县| 富平县| 吴忠市| 宜宾市| 安义县| 禹城市| 满城县|