本發(fā)明涉及圖像信號(hào)處理和集成電路設(shè)計(jì)領(lǐng)域,具體涉及一種圖像金字塔特征提取電路、裝置及方法。
背景技術(shù):
對(duì)圖像進(jìn)行多分辨率、多角度的分解是一種基本的圖像分析方法。顯然,當(dāng)表示圖像的方法是過完備時(shí),將會(huì)更為容易的從中提取出所需的視覺信息,此時(shí)通過計(jì)算得到的信息的精度更為準(zhǔn)確。例如,構(gòu)建圖像特征金字塔以作為目標(biāo)識(shí)別的信息來源,通過逐級(jí)計(jì)算來提高識(shí)別精度是一種非常有效的方法。
圖像金字塔的特征提取廣泛應(yīng)用在機(jī)器視覺算法中。諸如有sift特征提取,ada-boost檢測(cè),lucas-kanade光流法等。在這類機(jī)器視覺算法中,金字塔特征提取作為一種通用的預(yù)處理模塊,旨在解決算法運(yùn)行過程中出現(xiàn)的目標(biāo)對(duì)象尺度變化問題與圖像語(yǔ)義描述問題。
傳統(tǒng)的基于軟件處理的圖像金字塔特征提取算法的運(yùn)算量和帶寬消耗非常大。隨著圖像信號(hào)處理智能硬件的點(diǎn)燃和一些視頻應(yīng)用的生活普及,機(jī)器視覺算法的實(shí)現(xiàn)遇到了實(shí)時(shí)性和系統(tǒng)性帶來的挑戰(zhàn)?,F(xiàn)有的金字塔特征提取技術(shù)的缺點(diǎn)在于純軟件的處理步驟,在幀率要求高、識(shí)別精度高、檢測(cè)距離遠(yuǎn)、系統(tǒng)資源比較緊張的實(shí)際應(yīng)用中,作為一個(gè)預(yù)處理模塊,已經(jīng)占用了大部分的計(jì)算時(shí)間,令整個(gè)識(shí)別檢測(cè)算法達(dá)不到每秒30幀-60幀的實(shí)時(shí)性要求?;谲浖慕鹱炙卣魈崛≡谛阅芎拖到y(tǒng)方面,都遠(yuǎn)遠(yuǎn)不能滿足實(shí)際需求,給產(chǎn)品的設(shè)計(jì)帶來了困難。在這種情況下,計(jì)算速度與帶寬優(yōu)化上有著巨大提升的數(shù)字ic實(shí)現(xiàn)有著更重要的意義,一種優(yōu)秀的金字塔特征提取vlsi結(jié)構(gòu)將給整個(gè)應(yīng)用系統(tǒng)得到性能上和體驗(yàn)上的提升。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)現(xiàn)有技術(shù)的上述缺陷,提供一種圖像金字塔特征提取電路,克服了傳統(tǒng)的基于軟件處理的圖像金字塔特征提取算法運(yùn)算量大、帶寬消耗嚴(yán)重的缺陷。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種圖像金字塔特征提取電路,包括并行可重用讀入電路、圖像金字塔特征計(jì)算電路和圖像金字塔特征合流輸出電路;所述并行可重用讀入電路,用于讀入基礎(chǔ)圖像幀,并計(jì)算圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在所述基礎(chǔ)圖像幀中的坐標(biāo),根據(jù)所述坐標(biāo)申請(qǐng)并存儲(chǔ)所述n個(gè)有效數(shù)據(jù)行;所述圖像金字塔特征計(jì)算電路,包括m個(gè)圖像金字塔特征計(jì)算單元,用于根據(jù)所述n個(gè)有效數(shù)據(jù)行同時(shí)進(jìn)行圖像金字塔m層的特征計(jì)算;所述圖像金字塔特征合流輸出電路,用于將所述圖像金字塔特征計(jì)算電路輸出的m*k個(gè)圖像金字塔特征合流輸出至內(nèi)存;其中,所述m、n為大于等于2的正整數(shù),所述k為所述圖像金字塔特征計(jì)算單元的特征通道數(shù)。
所述并行可重用讀入電路包括并行策略器單元和第一sram組:所述并行策略器單元用于計(jì)算所述圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在所述基礎(chǔ)圖像幀中的坐標(biāo),并根據(jù)所述坐標(biāo)向總線申請(qǐng)所述n個(gè)有效數(shù)據(jù)行;所述第一sram組包括n個(gè)sram,用于存儲(chǔ)所述n個(gè)有效數(shù)據(jù)行。
所述并行策略器單元包括坐標(biāo)計(jì)算單元、坐標(biāo)排序單元、數(shù)據(jù)提取單元和最小坐標(biāo)更新單元:所述坐標(biāo)計(jì)算單元用于計(jì)算所述圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在所述基礎(chǔ)圖像幀中的坐標(biāo);所述坐標(biāo)排序單元用于對(duì)所述n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的坐標(biāo)進(jìn)行排序,得到最小坐標(biāo);數(shù)據(jù)提取單元用于根據(jù)所述最小坐標(biāo)提取兩個(gè)有效數(shù)據(jù)行;所述最小坐標(biāo)更新單元用于根據(jù)雙線性差值法更新出最小坐標(biāo)對(duì)應(yīng)的圖像金字塔層下一次的坐標(biāo);所述并行策略器單元繼續(xù)執(zhí)行所述坐標(biāo)排序單元,當(dāng)已經(jīng)提取出的有效數(shù)據(jù)行的坐標(biāo)與當(dāng)前選擇的有效數(shù)據(jù)行的坐標(biāo)相同時(shí),則當(dāng)前只選出未提取的有效數(shù)據(jù)行,直至完成所述n個(gè)有效數(shù)據(jù)行的提取。所述坐標(biāo)計(jì)算單元根據(jù)雙線性插值法計(jì)算所述圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的坐標(biāo)。
所述并行可重用讀入模塊還包括第二sram組,所述第二sram組包括n個(gè)sram,并與所述第一sram組對(duì)所述n個(gè)有效數(shù)據(jù)行執(zhí)行乒乓存儲(chǔ)。
所述圖像金字塔特征計(jì)算電路包括數(shù)據(jù)申請(qǐng)單元,多路選通器單元、m個(gè)圖像金字塔計(jì)算單元和m個(gè)圖像金字塔特征計(jì)算單元:所述數(shù)據(jù)申請(qǐng)單元用于向所述并行可重用讀入模塊申請(qǐng)所述n個(gè)有效數(shù)據(jù)行;所述多路選通器單元包括n個(gè)多路選通器,用于將所述數(shù)據(jù)申請(qǐng)單元申請(qǐng)的所述n個(gè)有效數(shù)據(jù)行分配給所述m個(gè)圖像金字塔計(jì)算單元;所述m個(gè)圖像金字塔計(jì)算單元用于根據(jù)所述n個(gè)有效數(shù)據(jù)行同時(shí)計(jì)算所述圖像金字塔m層對(duì)應(yīng)行的數(shù)據(jù);所述m個(gè)圖像金字塔特征計(jì)算單元用于根據(jù)所述圖像金字塔m層對(duì)應(yīng)行的數(shù)據(jù)同時(shí)進(jìn)行圖像金字塔的特征計(jì)算。
所述多路選通器單元根據(jù)所述圖像金字塔m層命中的有效數(shù)據(jù)行為所述m個(gè)圖像金字塔計(jì)算單元分配不同的有效數(shù)據(jù)行。
所述m個(gè)圖像金字塔計(jì)算單元是m個(gè)雙線性差值計(jì)算單元,所述m個(gè)雙線性差值計(jì)算單元根據(jù)所述多路選通器分配的有效數(shù)據(jù)行同時(shí)計(jì)算所述圖像金字塔m層對(duì)應(yīng)行的數(shù)據(jù)。
所述m個(gè)圖像金字塔特征計(jì)算單元采用5*5特征提取算法進(jìn)行圖像金字塔特征提取。
所述圖像金字塔特征合流輸出電路包括圖像金字塔特征緩存單元、數(shù)據(jù)仲裁器單元、優(yōu)先級(jí)更新器單元、緩存標(biāo)號(hào)接收單元和圖像金字塔特征接收單元:所述圖像金字塔特征緩存單元包括m*k個(gè)緩存模塊,用于緩存所述圖像金字塔特征提取模塊輸出的m*k個(gè)圖像金字塔的特征,并向所述數(shù)據(jù)仲裁器單元發(fā)送數(shù)據(jù)讀走請(qǐng)求;所述優(yōu)先級(jí)更新器單元用于決定所述m*k個(gè)緩存模塊中的圖像金字塔的特征數(shù)據(jù)的讀走優(yōu)先級(jí);所述數(shù)據(jù)仲裁器單元用于向所述優(yōu)先級(jí)更新器單元決定的最高優(yōu)先級(jí)緩存模塊返回讀走應(yīng)答,并傳輸所述最高優(yōu)先級(jí)緩存模塊中的圖像金字塔特征數(shù)據(jù);所述緩存標(biāo)號(hào)接收單元用于記錄所述最高優(yōu)先級(jí)緩存模塊的標(biāo)號(hào),并根據(jù)所述緩存模塊的標(biāo)號(hào)生成所述圖像金字塔特征的寫地址;所述圖像金字塔特征接收單元用于接收所述數(shù)據(jù)仲裁器傳輸?shù)膱D像金字塔特征,并根據(jù)所述圖像金字塔特征的寫地址輸出所述圖像金字塔特征至內(nèi)存。
所述m*k個(gè)緩存模塊是m*k個(gè)fifo。
所述優(yōu)先級(jí)更新器單元的優(yōu)先級(jí)策略是:當(dāng)所述m*k個(gè)緩存模塊的寫指針與讀指針的絕對(duì)差值最大時(shí),所述緩存模塊的數(shù)據(jù)讀走優(yōu)先級(jí)最高。
當(dāng)所述緩存模塊接收到總線32個(gè)像素值時(shí),向所述數(shù)據(jù)仲裁器單元發(fā)送數(shù)據(jù)讀走請(qǐng)求。
本發(fā)明還提供了一種圖像金字塔特征提取裝置,采用如權(quán)利要求1至13任一項(xiàng)所述的圖像金字塔特征提取電路完成圖像金字塔特征提取。
本發(fā)明還提供了一種圖像金字塔特征提取方法,包括:步驟一,獲取基礎(chǔ)圖像幀,并計(jì)算圖像金字塔中m層的n個(gè)有效數(shù)據(jù)行在所述基礎(chǔ)圖像幀中的坐標(biāo),根據(jù)所述坐標(biāo)獲取所述n個(gè)有效數(shù)據(jù)行;步驟二,根據(jù)所述n個(gè)有效數(shù)據(jù)行同時(shí)計(jì)算所述圖像金字塔的m層的特征;步驟三,所述圖像金字塔的m層的m*k個(gè)圖像金字塔特征合流輸出至內(nèi)存;其中,所述m、n為大于等于2的正整數(shù),所述k為圖像金字塔中m層中每層的特征提取輸出的特征通道數(shù)。
所述步驟一具體包括:計(jì)算所述圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在所述基礎(chǔ)圖像幀中的坐標(biāo);對(duì)所述n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的坐標(biāo)進(jìn)行排序,得到最小坐標(biāo);根據(jù)所述最小坐標(biāo)在所述基礎(chǔ)圖像幀中提取兩個(gè)有效數(shù)據(jù)行;根據(jù)雙線性差值法更新出最小坐標(biāo)對(duì)應(yīng)的圖像金字塔層下一次的坐標(biāo);繼續(xù)對(duì)最新坐標(biāo)進(jìn)行排序及后續(xù)步驟,當(dāng)已經(jīng)提取出的有效數(shù)據(jù)行的坐標(biāo)與當(dāng)前選擇的有效數(shù)據(jù)行的坐標(biāo)相同時(shí),則當(dāng)前只選出未提取的有效數(shù)據(jù)行,直至完成所述n個(gè)有效數(shù)據(jù)行的提取。
根據(jù)雙線性插值法計(jì)算所述圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在所述基礎(chǔ)圖像幀中的坐標(biāo)。
所述步驟二具體包括:接收所述n個(gè)有效數(shù)據(jù)行;根據(jù)所述n個(gè)有效數(shù)據(jù)行同時(shí)計(jì)算所述圖像金字塔的m層對(duì)應(yīng)行的數(shù)據(jù);根據(jù)所述圖像金字塔m層對(duì)應(yīng)行的數(shù)據(jù)同時(shí)進(jìn)行圖像金字塔的特征計(jì)算。
根據(jù)所述圖像金字塔m層命中的有效數(shù)據(jù)行分配不同的有效數(shù)據(jù)行。
根據(jù)雙線性差值法同時(shí)進(jìn)行圖像金字塔的特征計(jì)算。
根據(jù)5*5特征提取算法進(jìn)行圖像金字塔特征計(jì)算。
所述步驟三具體包括:接收所述圖像金字塔的m層的m*k個(gè)圖像金字塔的特征,并保存至m*k個(gè)圖像金字塔的特征緩存單元;根據(jù)所述m*k個(gè)圖像金字塔特征緩存單元的讀指針和寫指針生成所述m*k個(gè)圖像金字塔的特征數(shù)據(jù)的讀走優(yōu)先級(jí);獲取具有最高讀走優(yōu)先級(jí)的圖像金字塔特征數(shù)據(jù)以及其緩存標(biāo)號(hào);根據(jù)所述緩存標(biāo)號(hào)生成所述圖像金字塔特征數(shù)據(jù)寫地址;根據(jù)所述圖像金字塔特征數(shù)據(jù)寫地址將所述圖像金字塔特征寫入至內(nèi)存,直至所述m*k個(gè)圖像金字塔的特征全部寫入內(nèi)存。
當(dāng)所述圖像金字塔的特征緩存單元接收到32個(gè)像素值時(shí),發(fā)送數(shù)據(jù)讀走請(qǐng)求。
當(dāng)所述圖像金字塔特征緩存單元的寫指針和讀指針的絕對(duì)差值最大時(shí),所述圖像金字塔特征緩存單元的數(shù)據(jù)讀走優(yōu)先級(jí)最高。
本發(fā)明的有益效果在于,通過對(duì)圖像金字塔特征提取進(jìn)行硬件化實(shí)現(xiàn),并且進(jìn)行了并行設(shè)計(jì)的針對(duì)性優(yōu)化,提供了一種高速低帶寬的圖像金字塔特征提取電路,提升了圖像金字塔特征提取計(jì)算速度,并降低了運(yùn)算所需帶寬消耗。使得幀率要求高,識(shí)別精度高,檢測(cè)距離遠(yuǎn),系統(tǒng)資源比較緊張的應(yīng)用系統(tǒng)得到性能和體驗(yàn)上的提升,也給后續(xù)模塊帶來更多的寬容度。
附圖說明
下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明,附圖中:
圖1是本發(fā)明一實(shí)施例的圖像金字塔特征提取電路100的電路框圖;
圖2是本發(fā)明一實(shí)施例的并行可重用讀入模塊200的電路框圖;
圖3是本發(fā)明一實(shí)施例的并行策略器單元300的電路框圖;
圖4是圖3所示并行策略器單元300的工作流程示意圖;
圖5是本發(fā)明一實(shí)施例的并行可重用讀入模塊500的電路框圖;
圖6是本發(fā)明圖2或5的并行可重用讀入模塊讀取的連續(xù)4層金字塔取得8個(gè)有效數(shù)據(jù)行的示意圖;
圖7是本發(fā)明一實(shí)施例的圖像金字塔特征計(jì)算模塊700的電路框圖;
圖8是本發(fā)明圖6左圖取得8個(gè)數(shù)據(jù)有效行對(duì)應(yīng)的數(shù)據(jù)分配和流水線示意圖;
圖9是本發(fā)明圖6右圖取得8個(gè)數(shù)據(jù)有效行對(duì)應(yīng)的數(shù)據(jù)分配和流水線示意圖
圖10是本發(fā)明一實(shí)施例的圖像金字塔特征合流輸出模塊110的電路框圖;
圖11是本發(fā)明一實(shí)施例的圖像金字塔特征提取電路120的具體電路;
圖12是本發(fā)明一實(shí)施例的圖像金字塔特征提取方法130的流程框圖;
圖13是本發(fā)明一實(shí)施例的圖像金字塔特征提取方法中的圖像金字塔特征計(jì)算方法140的流程框圖;
圖14是本發(fā)明一實(shí)施例的圖像金字塔特征提取方法中的圖像金字塔特征合流輸出方法150的流程框圖;
具體實(shí)施方式
現(xiàn)結(jié)合附圖,對(duì)本發(fā)明的較佳實(shí)施例作詳細(xì)說明。
圖1是本發(fā)明一實(shí)施例的圖像金字塔特征提取電路100的電路框圖,包括并行可重用讀入電路101、圖像金字塔特征計(jì)算電路103和圖像金字塔特征合流輸出電路105。
并行可重用讀入電路101讀入基礎(chǔ)圖像幀,并計(jì)算圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的坐標(biāo),根據(jù)所述坐標(biāo)向總線申請(qǐng)并存儲(chǔ)n個(gè)有效數(shù)據(jù)行。本專利中,將基礎(chǔ)圖像幀中參與圖像金字塔計(jì)算的數(shù)據(jù)行稱為有效數(shù)據(jù)行。圖像金字塔特征計(jì)算電路103包括m個(gè)圖像金字塔特征計(jì)算單元,根據(jù)并行可重用讀入模塊101輸出的n個(gè)有效數(shù)據(jù)行同時(shí)進(jìn)行圖像金字塔m層的特征計(jì)算,并輸出m*k個(gè)圖像金字塔特征值;圖像金字塔特征合流輸出模塊105接收m*k個(gè)圖像金字塔特征值,并將m*k個(gè)圖像金字塔特征合流輸出至內(nèi)存。其中,m、n可為大于等于2的正整數(shù),k可為圖像金字塔特征計(jì)算單元的特征通道數(shù)。作為優(yōu)選的實(shí)施方式,n通??扇≈禐?的冪次,也可根據(jù)總線效率和模塊效率估計(jì)出n值。在具體實(shí)施方式中,m可取4,n可取8,k可取3。即,圖像金字塔特征提取電路可最多并行進(jìn)行圖像金字塔4層的特征提取,每個(gè)圖像金字塔特征提取單元分別有3個(gè)特征通道,即圖像金字塔特征提取電路將最多輸出圖像金字塔4層的共計(jì)12個(gè)圖像金字塔特征值。
在一實(shí)施方式中,如圖2所示,并行可重用讀入電路200可包括并行策略器單元201和第一sram組203,其中,第一sram組203可包括n個(gè)sram。并行策略器單元201計(jì)算圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的坐標(biāo),并根據(jù)計(jì)算出的坐標(biāo)向總線申請(qǐng)n個(gè)有效數(shù)據(jù)行,在具體實(shí)施方式中,可以是計(jì)算圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的縱坐標(biāo);第一sram組203的n個(gè)sram分別存儲(chǔ)并行策略器向數(shù)據(jù)總線申請(qǐng)的圖像金字塔m層的n的有效數(shù)據(jù)行。
在一實(shí)施方式中,如圖3所示,并行策略器單元300可包括坐標(biāo)計(jì)算單元301、坐標(biāo)排序單元303、數(shù)據(jù)提取單元305和最小坐標(biāo)更新單元307。坐標(biāo)計(jì)算單元301計(jì)算圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的坐標(biāo);坐標(biāo)排序單元303對(duì)坐標(biāo)計(jì)算單元301計(jì)算得出的坐標(biāo)進(jìn)行排序,提取最小坐標(biāo);數(shù)據(jù)提取單元305根據(jù)該最小坐標(biāo)向總線申請(qǐng)基礎(chǔ)圖像幀中對(duì)應(yīng)的兩個(gè)有效數(shù)據(jù)行,并保存至第一sram組;最小坐標(biāo)更新單元對(duì)最小坐標(biāo)所在層的坐標(biāo)進(jìn)行更新得到該層下一次要使用的坐標(biāo),非最小坐標(biāo)保持不變;并行策略器單元300繼續(xù)執(zhí)行坐標(biāo)排序單元303及后續(xù)單元,直至并行策略器單元300完成n個(gè)有效數(shù)據(jù)行的提取為止。在具體實(shí)施方式中,坐標(biāo)計(jì)算單元301可以計(jì)算圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的縱坐標(biāo)。
圖4是圖3所示并行策略器單元300的工作流程示意圖。坐標(biāo)計(jì)算單元301首先根據(jù)雙線性插值法計(jì)算出圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的縱坐標(biāo);坐標(biāo)排序單元303對(duì)所述縱坐標(biāo)進(jìn)行排序,得出最小坐標(biāo);數(shù)據(jù)提取單元305根據(jù)所述最小坐標(biāo)向總線申請(qǐng)基礎(chǔ)圖像幀中對(duì)應(yīng)的兩個(gè)有效數(shù)據(jù)行;最小坐標(biāo)更新單元根據(jù)雙線性差值法更新出最小坐標(biāo)對(duì)應(yīng)金字塔層下一次的縱坐標(biāo);并行策略器單元300繼續(xù)執(zhí)行坐標(biāo)排序單元303及后續(xù)步驟,當(dāng)已經(jīng)提取出的有效數(shù)據(jù)行的坐標(biāo)與當(dāng)前選擇的有效數(shù)據(jù)行的坐標(biāo)相同時(shí),則當(dāng)前只選出未提取的有效數(shù)據(jù)行。如此類推,直至并行策略器單元300完成n個(gè)有效數(shù)據(jù)行的提取為止。這樣,圖像金字塔m層的原本亂序的有效數(shù)據(jù)行就排列出一種可復(fù)用的有效數(shù)據(jù)行,在提升圖像金字塔特征提取電路的運(yùn)算速度的同時(shí),也降低了系統(tǒng)帶寬消耗。
在具體實(shí)施方式中,坐標(biāo)計(jì)算單元301可根據(jù)雙線性差值法計(jì)算圖像金字塔連續(xù)m層中每一層的1個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的縱坐標(biāo),所述縱坐標(biāo)加1得到的縱坐標(biāo)即為圖像金字塔連續(xù)m層中每一層的另一個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的縱坐標(biāo)。
在一實(shí)施方式中,如圖5所示,并行可重用讀入模塊500可包括并行策略器單元501和第一sram組503和第二sram組505,其中,第一sram組503可包括n個(gè)sram,第二sram組505可包括n個(gè)sram,第一sram組503與第二sram組505對(duì)n個(gè)有效數(shù)據(jù)行執(zhí)行乒乓存儲(chǔ)。所述乒乓存儲(chǔ)指的是:第一sram組503或第二sram組505在寫入數(shù)據(jù)的同時(shí),第二sram組505或第一sram組503可以讀出數(shù)據(jù)給后面模塊進(jìn)行計(jì)算,形成了一個(gè)減少總線等待時(shí)間的高速接口,進(jìn)一步提升圖像金字塔特征提取電路的運(yùn)算速度。
圖6是圖2或5的并行可重用讀入模塊讀取的圖像金字塔4層的8個(gè)有效數(shù)據(jù)行的示意圖。其中,左邊是某段時(shí)間圖像金字塔中處于比較底層的4層的8個(gè)有效數(shù)據(jù)行,右邊是某段時(shí)間圖像金字塔中處于比較高層的4層的8個(gè)有效數(shù)據(jù)行,8個(gè)有效數(shù)據(jù)行之間在圖像金字塔的空間域上不一定連續(xù)。由于圖像金字塔中處于比較底層的層之間的關(guān)聯(lián)性比較大,所以,圖6中左邊層之間可復(fù)用的有效數(shù)據(jù)行較多。例如,有效數(shù)據(jù)行1和有效數(shù)據(jù)行2可以用于計(jì)算圖像金字塔4層中的第層1第1行、第層2第一行、第層3第1行和第層4第1行;有效數(shù)據(jù)行2和有效數(shù)據(jù)行3可以用于計(jì)算圖像金字塔4層中的第層1第2行、第層2第2行和第層3第2行等等。而圖像金字塔中處于比較高層的層之間的關(guān)聯(lián)性相對(duì)較小,所以,圖5中右邊中層之間可復(fù)用的有效數(shù)據(jù)行較少。例如,有效數(shù)據(jù)行1和有效數(shù)據(jù)行2只能用于計(jì)算圖像金字塔4層中的第層1第1行;有效數(shù)據(jù)行3和有效數(shù)據(jù)行4只能用于計(jì)算圖像金字塔4層中的第層2第3行、有效數(shù)據(jù)行5和有效數(shù)據(jù)行6只能用于計(jì)算圖像金字塔4層中的第層3第5行、有效數(shù)據(jù)行7和有效數(shù)據(jù)行8只能用于計(jì)算圖像金字塔4層中的第層4第7行。
得到圖6左圖所示的有效數(shù)據(jù)行的并行策略器的工作流程是:并行策略器首先根據(jù)雙線性差值法計(jì)算出圖像金字塔4層中每一層的一個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的縱坐標(biāo),即得到4個(gè)縱坐標(biāo);并行策略器對(duì)所述4個(gè)縱坐標(biāo)進(jìn)行排序,得到最小縱坐標(biāo),即,層1的縱坐標(biāo);并行策略器向總線申請(qǐng)?jiān)撟钚】v坐標(biāo)以及該最小縱坐標(biāo)加1對(duì)應(yīng)的兩個(gè)有效數(shù)據(jù)行,即有效數(shù)據(jù)行1和有效數(shù)據(jù)行2;并行策略器將所述有效數(shù)據(jù)行存儲(chǔ)至第一sram組或第二sram組中;并行策略器根據(jù)雙線性差值法更新出最小縱坐標(biāo)對(duì)應(yīng)層1下一次的縱坐標(biāo),非最小縱坐標(biāo)不變;并行策略器繼續(xù)對(duì)當(dāng)前的縱坐標(biāo)進(jìn)行排序、獲取有效數(shù)據(jù)行的操作,直至取得8個(gè)有效數(shù)據(jù)行,即完成一次并行策略操作。需要說明的是,當(dāng)已經(jīng)提取出的有效數(shù)據(jù)行的坐標(biāo)與當(dāng)前選擇的有效數(shù)據(jù)行的坐標(biāo)相同,則當(dāng)前只選出未提取的有效數(shù)據(jù)行。通過采用該并行策略器,4層金字塔之間原本亂序的有效數(shù)據(jù)行被排列出一種數(shù)據(jù)可復(fù)用的有效數(shù)據(jù)行,不需要對(duì)同一有效數(shù)據(jù)行進(jìn)行多次讀取與存儲(chǔ),既降低運(yùn)行帶寬和緩存消耗,又提升了圖像金字塔特征提取電路的運(yùn)算速度。
圖7是本發(fā)明一實(shí)施例的圖像金字塔特征計(jì)算電路700的電路框圖,包括數(shù)據(jù)申請(qǐng)單元701、多路選通器單元703、m個(gè)圖像金字塔計(jì)算單元705和m個(gè)圖像金字塔特征計(jì)算單元707。
當(dāng)并行可重用讀入電路中的第一sram組或第二sram組寫滿了數(shù)據(jù)時(shí),數(shù)據(jù)申請(qǐng)單元701向并行可重用讀入電路發(fā)送數(shù)據(jù)請(qǐng)求,即向第一sram組或第二sram組申請(qǐng)其存儲(chǔ)的有效數(shù)據(jù)行,每次申請(qǐng)總線位寬的數(shù)據(jù),例如,每次請(qǐng)求64bit的數(shù)據(jù);多路選通器單元703可包括n個(gè)多路選通器,根據(jù)圖像金字塔不同層命中的有效數(shù)據(jù)行同時(shí)向m個(gè)圖像金字塔計(jì)算單元705分配不同的有效數(shù)據(jù)行;m個(gè)圖像金字塔計(jì)算單元705根據(jù)接收到的有效數(shù)據(jù)行同時(shí)做圖像金字塔計(jì)算,每個(gè)圖像金字塔計(jì)算單元每次計(jì)算圖像金字塔層中一行中的一個(gè)像素值,計(jì)算完一個(gè)像素值就存入ram中;當(dāng)ram存滿足夠的數(shù)據(jù),m個(gè)圖像金字塔特征計(jì)算單元707進(jìn)行圖像金字塔特征計(jì)算,并輸出m*k個(gè)圖像金字塔特征,k為每個(gè)圖像金字塔特征計(jì)算小單元的特征通道數(shù),例如,k可取3。其中,1個(gè)圖像金字塔計(jì)算單元與1個(gè)圖像金字塔特征計(jì)算單元組成了圖像金字塔1層的計(jì)算通道,共計(jì)m個(gè)計(jì)算通道,m個(gè)計(jì)算通道是完全獨(dú)立的。
圖像金字塔不同層命中的有效數(shù)據(jù)行指的是并行可重用讀入模塊獲取的圖像金字塔不同層的若干行對(duì)應(yīng)的有效數(shù)據(jù)行,例如,圖6左圖所示,對(duì)于圖像金字塔層1,其命中的有效數(shù)據(jù)行為有效數(shù)據(jù)行1-8,多路選通器單元703就為m個(gè)圖像金字塔計(jì)算單元705中計(jì)算層1的圖像金字塔計(jì)算單元分配有效數(shù)據(jù)行1-8,對(duì)于圖像金字塔層4,其命中的有效數(shù)據(jù)行為有效數(shù)據(jù)行1、2、4、5、7、8,多路選通器單元703就為m個(gè)圖像金字塔計(jì)算單元705中計(jì)算層4的圖像金字塔計(jì)算單元分配有效數(shù)據(jù)行1、2、4、5、7、8。
在一實(shí)施方式中,m個(gè)圖像金字塔計(jì)算單元705接收的第一sram組或第二sram組的有效數(shù)據(jù)行不是固定的,有可能分配到不同的有效數(shù)據(jù)行,可得到更高效的計(jì)算過程。例如,對(duì)于并行可重用讀入模塊取得了如圖6左邊所示的有效數(shù)據(jù)行時(shí),多路選通器單元703將會(huì)為第一個(gè)圖像金字塔計(jì)算單元分配有效數(shù)據(jù)行(1、2)、(2、3)、(3、4)、(5、6)、(6、7)和(7、8),多路選通器單元703將會(huì)為第四個(gè)圖像金字塔計(jì)算單元分配有效數(shù)據(jù)行(1、2)、(4、5)和(7、8)。
在一實(shí)施方式中,m個(gè)圖像金字塔計(jì)算單元705可以是m個(gè)雙線性差值計(jì)算單元,m個(gè)雙線性差值計(jì)算單元根據(jù)接收到的有效數(shù)據(jù)行插值同時(shí)計(jì)算圖像金字塔m層對(duì)應(yīng)行的數(shù)據(jù)。
如圖8所示,是本發(fā)明圖6左圖取得8個(gè)有效數(shù)據(jù)行對(duì)應(yīng)的數(shù)據(jù)分配和流水線示意圖。其中,pe0、pe1、pe2和pe3是四個(gè)雙線性插值計(jì)算單元,pe0負(fù)責(zé)計(jì)算圖像金字塔層一的雙線性插值,pe1負(fù)責(zé)計(jì)算圖像金字塔層二的雙線性插值,pe2負(fù)責(zé)計(jì)算圖像金字塔層三的雙線性插值,pe3負(fù)責(zé)計(jì)算圖像金字塔層四的雙線性插值。row1對(duì)應(yīng)圖4中的有效數(shù)據(jù)行1、row2對(duì)應(yīng)圖4中的有效數(shù)據(jù)行2,以此類推。當(dāng)并行可重用讀入模塊完成圖4左圖所示的并行策略并獲取到8個(gè)有效數(shù)據(jù)行后,pe0根據(jù)有效數(shù)據(jù)行1和2,即可計(jì)算出圖像金字塔層1第1行數(shù)據(jù);根據(jù)有效數(shù)據(jù)行2和3,即可計(jì)算出圖像金字塔層1第2行數(shù)據(jù),以此類推。當(dāng)出現(xiàn)圖4右圖情況時(shí),如圖9所示,只需要一個(gè)流水線即可計(jì)算完畢。
在一實(shí)施方式中,為了減少雙線性插值計(jì)算單元中乘法器的個(gè)數(shù),采用了一個(gè)優(yōu)化的雙線性插值算法,計(jì)算公式為:
ixi×28=i0×28+xf×28×(i1-i0)
iyi×28=i2×28+xf×28×(i3-i2)
i=(ixi×28+yf×28×(iyi-ixi))>>8
其中,i0為左上角的有效參考點(diǎn),i1為右上角的有效參考點(diǎn),i2為左下角的有效參考點(diǎn),i3為右下角的有效參考點(diǎn)。如果取得的數(shù)據(jù)命中參考點(diǎn),雙線性插值計(jì)算單元就開始計(jì)算。取得的數(shù)據(jù)命中參考點(diǎn)指的是當(dāng)輸入的有效數(shù)據(jù)行的數(shù)據(jù)可以計(jì)算出圖像金字塔層對(duì)應(yīng)層中一行的一個(gè)像素。
在一實(shí)施方式中,圖像金字塔特征計(jì)算單元可以采用5*5的特征提取算法進(jìn)行圖像金字塔特征提取。5*5特征提取算法為了得到特征提取的一個(gè)值,需要輸入5*5=25個(gè)像素點(diǎn),為了做5*5特征提取的25個(gè)點(diǎn)的輸入,每個(gè)圖像金字塔特征計(jì)算單元需要緩存4行的數(shù)據(jù)在ram中,當(dāng)最后一行輸入時(shí)立即啟動(dòng)圖像金字塔特征計(jì)算單元。在其他實(shí)施方式中,也可以采用其他特征提取算法,例如3*3特征提取算法,同樣可以實(shí)現(xiàn)本專利的發(fā)明目的。
在識(shí)別精度高的應(yīng)用系統(tǒng)中,往往需要多個(gè)特征通道來做檢測(cè),當(dāng)設(shè)計(jì)并行度與特征通道數(shù)增加時(shí),隨之帶來了輸出通道競(jìng)爭(zhēng)問題。圖10是本發(fā)明一實(shí)施例的圖像金字塔特征合流輸出電路110的電路框圖,包括圖像金字塔特征緩存單元111、優(yōu)先級(jí)更新器單元113、數(shù)據(jù)仲裁器單元115、緩存標(biāo)號(hào)接收單元117和圖像金字塔特征接收單元119。
圖像金字塔特征緩存單元111可包括m*k個(gè)緩存模塊,k為每個(gè)圖像金字塔特征計(jì)算單元的特征通道數(shù),每個(gè)緩存模塊分別分配0-m*k-1的標(biāo)號(hào),分別接收?qǐng)D像金字塔特征提取模塊輸出的m*k個(gè)圖像金字塔特征。圖像金字塔特征計(jì)算模塊每次存入緩存模塊一個(gè)像素值,為了提高總線的效率,當(dāng)緩存模塊存滿足夠個(gè)像素后,才向后續(xù)的數(shù)據(jù)仲裁器單元115發(fā)送數(shù)據(jù)讀走請(qǐng)求;優(yōu)先級(jí)更新器單元113決定所述m*k個(gè)緩存模塊中的圖像金字塔特征數(shù)據(jù)的讀走優(yōu)先級(jí);數(shù)據(jù)仲裁器單元115接收?qǐng)D像金字塔特征緩存單元111發(fā)送的數(shù)據(jù)讀走請(qǐng)求,向優(yōu)先級(jí)更新器單元113決定的最高優(yōu)先級(jí)緩存模塊返回讀走應(yīng)答,并將最高優(yōu)先級(jí)緩存模塊的數(shù)據(jù)發(fā)送至圖像金字塔特征接收單元119;數(shù)據(jù)仲裁器單元115發(fā)送數(shù)據(jù)的同時(shí),優(yōu)先級(jí)最高的緩存模塊的標(biāo)號(hào)存入緩存標(biāo)號(hào)接收單元117,緩存標(biāo)號(hào)接收單元117根據(jù)接收到的最高優(yōu)先級(jí)緩存模塊的標(biāo)號(hào)產(chǎn)生本次數(shù)據(jù)的寫地址;圖像金字塔特征接收單元119根據(jù)所述數(shù)據(jù)的寫地址將每次接收到圖像金字塔特征值輸出至內(nèi)存(ddr)。
在具體實(shí)施方式中,因常用的ddr基本單位是32個(gè)像素大小,為了提高總線的效率,每次申請(qǐng)的應(yīng)該是32個(gè)像素值的整數(shù)倍,緩存模塊的輸入是一個(gè)像素值。所以,當(dāng)緩存模塊接收到32個(gè)像素值后才向數(shù)據(jù)仲裁器單元115發(fā)出數(shù)據(jù)讀走請(qǐng)求,數(shù)據(jù)仲裁器單元115同樣是將32個(gè)像素值傳輸給圖像金字塔特征接收單元119,圖像金字塔特征接收單元119再將32個(gè)像素值發(fā)送至內(nèi)存。
在一實(shí)施方式中,圖像金字塔特征緩存單元111的m*k個(gè)緩存模塊可以是m*k個(gè)fifo,對(duì)于每個(gè)fifo分別分配0-m*k-1的標(biāo)號(hào),當(dāng)其中任一fifo接收的數(shù)據(jù)達(dá)到了32個(gè)像素大小時(shí),立刻向后續(xù)的數(shù)據(jù)仲裁器單元115發(fā)送數(shù)據(jù)讀走請(qǐng)求。此時(shí),優(yōu)先級(jí)更新器單元113根據(jù)當(dāng)前m*k個(gè)fifo的寫指針與讀指針的絕對(duì)差的大小來界定m*k個(gè)fifo的讀走優(yōu)先級(jí),即,當(dāng)前fifo寫指針與讀指針的絕對(duì)差最大,則該fifo中數(shù)據(jù)的讀走優(yōu)先級(jí)最高。數(shù)據(jù)仲裁器單元115向該最高優(yōu)先級(jí)的fifo返回讀走應(yīng)答,并在后面的4個(gè)周期內(nèi)讀走32個(gè)像素的數(shù)據(jù),數(shù)據(jù)仲裁器單元115在發(fā)送數(shù)據(jù)的同時(shí),將該最高優(yōu)先級(jí)的fifo的標(biāo)號(hào)發(fā)送給緩存標(biāo)號(hào)接收單元117,緩存標(biāo)號(hào)接收單元117根據(jù)該標(biāo)號(hào)生成數(shù)據(jù)的寫地址,圖像金字塔特征接收單元119根據(jù)所述數(shù)據(jù)的寫地址將32像素的數(shù)據(jù)寫至內(nèi)存。
在具體實(shí)施方式中,m可取4、k可取3,即存在12個(gè)特征輸出通道。采用圖10所示的圖像金字塔特征合流輸出模塊110,數(shù)據(jù)仲裁器單元115最多可同時(shí)接收12條通道的數(shù)據(jù)讀走請(qǐng)求,并根據(jù)優(yōu)先級(jí)更新器單元113每次選擇應(yīng)答一個(gè)緩存模塊的數(shù)據(jù)讀走請(qǐng)求,并在后面的4個(gè)周期內(nèi)讀走32個(gè)像素的數(shù)據(jù),實(shí)現(xiàn)了一種高效的多通道特征提取合流輸出,解決了并行結(jié)構(gòu)和多輸出通道帶來的競(jìng)爭(zhēng)、寫出瓶頸的問題。
圖11是本發(fā)明一實(shí)施例的圖像金字塔特征提取電路120的具體電路。所述圖像金字塔特征提取電路120是4并行的設(shè)計(jì)結(jié)構(gòu),每次最多可以同時(shí)進(jìn)行圖像金字塔4層的特征提取。
并行可重用讀入電路121包括并行策略器和16個(gè)sram,其中,sram00至sram70為第一sram組,sram01-sram71為第二sram組。并行策略器根據(jù)圖4所示流程執(zhí)行一次并行策略:首先根據(jù)雙線性插值法計(jì)算出圖像金字塔4層的有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的縱坐標(biāo);并對(duì)所述縱坐標(biāo)進(jìn)行排序,根據(jù)最小縱坐標(biāo)向總線申請(qǐng)兩個(gè)有效數(shù)據(jù)行并存儲(chǔ)至第一sram組或第二sram組中;并行策略器根據(jù)雙線性插值法計(jì)算所述最小縱坐標(biāo)對(duì)應(yīng)層的下一次要使用的縱坐標(biāo),非最小縱坐標(biāo)保持不變;并行策略器繼續(xù)執(zhí)行坐標(biāo)排序等后續(xù)步驟,當(dāng)已經(jīng)提取出的有效數(shù)據(jù)行的坐標(biāo)與當(dāng)前選擇的有效數(shù)據(jù)行的坐標(biāo)相同時(shí),則當(dāng)前只選出未提取的有效數(shù)據(jù)行即可,直至提取到8個(gè)有效數(shù)據(jù)行。其中,第一sram組與第二sram組執(zhí)行乒乓儲(chǔ)存機(jī)制,即,第一sram組或第二sram組在寫入數(shù)據(jù)的同時(shí),第二sram組或第一sram組可讀出數(shù)據(jù)給后面計(jì)算,形成了一個(gè)減少總線等待時(shí)間的高速接口。
當(dāng)?shù)谝籹ram組或第二sram組寫滿數(shù)據(jù)時(shí),圖像金字塔特征計(jì)算電路123中的數(shù)據(jù)申請(qǐng)單元就向第一sram組或第二sram組發(fā)送數(shù)據(jù)請(qǐng)求,每次請(qǐng)求總線位寬的數(shù)據(jù),該實(shí)施例中的總線位寬是64bit,所以數(shù)據(jù)申請(qǐng)模塊每次向第一sram組或第二sram組申請(qǐng)64bit的數(shù)據(jù)。圖中的8個(gè)p2s構(gòu)成了多路選通器單元,每個(gè)p2s根據(jù)圖像金字塔不同層命中8個(gè)有效數(shù)據(jù)行的情況,給圖像金字塔特征計(jì)算單元(pe0-pe3)分配不同的有效數(shù)據(jù)行,即,讀取sram組的數(shù)據(jù)不是固定的,有可能分配到不同的數(shù)據(jù)資源,得到更高效的計(jì)算過程。
圖像金字塔特征計(jì)算單元123包括四個(gè)雙線性差值計(jì)算單元(pe0,pe1,pe2,pe3),可同時(shí)進(jìn)行圖像金字塔4層的特征計(jì)算。為了減少雙線性差值計(jì)算單元中乘法器的個(gè)數(shù),這里采用了一個(gè)優(yōu)化的雙線性插值算法,計(jì)算公式為:
ixi×28=i0×28+xf×28×(i1-i0)
iyi×28=i2×28+xf×28×(i3-i2)
i=(ixi×28+yf×28×(iyi-ixi))>>8
其中,i0為左上角的有效參考點(diǎn),i1為右上角的有效參考點(diǎn),i2為左下角的有效參考點(diǎn),i3為右下角的有效參考點(diǎn)。當(dāng)雙線性差值計(jì)算單元取得的數(shù)據(jù)命中參考點(diǎn)時(shí)就開始計(jì)算,取得的數(shù)據(jù)命中參考點(diǎn)指的是當(dāng)輸入的有效數(shù)據(jù)行的數(shù)據(jù)可以計(jì)算出圖像金字塔層對(duì)應(yīng)層中一行的一個(gè)像素。每次計(jì)算圖像金字塔層中對(duì)應(yīng)行的一個(gè)像素點(diǎn)值,雙線性差值計(jì)算單元(pe0,pe1,pe2,pe3)每次差值計(jì)算完成的像素值保存在ram條中,當(dāng)ram條存滿足夠的數(shù)據(jù),特征計(jì)算模塊(featureextract)就立刻開啟。其中,4個(gè)圖像金字塔特征計(jì)算通道是完全獨(dú)立的。
特征計(jì)算模塊(featureextract)采用的是5*5特征提取算法,為了得到特征提取的一個(gè)值,需要輸入5*5=25個(gè)像素點(diǎn),為了做5*5特征提取的25個(gè)點(diǎn)的輸入,每個(gè)雙線性差值計(jì)算單元需要緩存4行的數(shù)據(jù)在ramstride中,當(dāng)最后一行輸入時(shí),立即啟動(dòng)圖像金字塔特征計(jì)算模塊(featureextract)。在其他實(shí)施方式中,也可以采用其他特征提取算法,例如3*3特征提取算法,也可以實(shí)現(xiàn)本專利的發(fā)明目的。
在本實(shí)施例中,每個(gè)圖像金字塔特征計(jì)算模塊有3個(gè)特征通道,也就是說,4個(gè)并行計(jì)算路徑存在12個(gè)特征通道。為了解決通道競(jìng)爭(zhēng)和寫出瓶頸問題,這里設(shè)計(jì)了一種高效的多通道特征合流輸出結(jié)構(gòu)。即,圖11中的圖像金字塔特征合流輸出電路125,包括數(shù)據(jù)緩存單元、優(yōu)先級(jí)更新器(priupdata)、數(shù)據(jù)仲裁器(arbiter)、數(shù)據(jù)接收單元(datafifo)和緩存標(biāo)號(hào)接收單元(flagfifo、addrgen)。
其中,數(shù)據(jù)緩存單元包括12個(gè)fifo,每個(gè)fifo分別分配0-11的標(biāo)號(hào),分別用于緩存圖像金字塔特征計(jì)算模塊輸出的12個(gè)圖像金字塔特征。為了提高總線的效率,對(duì)于每一個(gè)fifo,當(dāng)寫入fifo的數(shù)據(jù)達(dá)到了32個(gè)像素大小,立刻向數(shù)據(jù)仲裁器發(fā)送讀走請(qǐng)求;優(yōu)先級(jí)更新器(priupdata)根據(jù)當(dāng)前12個(gè)fifo的寫指針與讀指針的差值決定fifo的讀走優(yōu)先級(jí),差值越大,讀走優(yōu)先級(jí)越高,即,當(dāng)前數(shù)據(jù)較多的fifo會(huì)得到更高的讀走優(yōu)先級(jí);數(shù)據(jù)仲裁器(arbiter)根據(jù)優(yōu)先級(jí)更新器(priupdata)的優(yōu)先級(jí)策略每次選擇應(yīng)答一個(gè)fifo的請(qǐng)求,并在后面的4個(gè)周期內(nèi)讀走32個(gè)像素的數(shù)據(jù),并存入數(shù)據(jù)接收單元(datafifo);數(shù)據(jù)仲裁器(arbiter)在發(fā)送數(shù)據(jù)的同時(shí)將應(yīng)答fifo的標(biāo)號(hào)存入緩存標(biāo)號(hào)接收單元(flagfifo),緩存標(biāo)號(hào)接收單元(flagfifo)根據(jù)所述標(biāo)號(hào)產(chǎn)生數(shù)據(jù)的寫地址,圖像金字塔特征合流輸出模塊120根據(jù)所述數(shù)據(jù)的寫地址將數(shù)據(jù)接收單元(datafifo)中的數(shù)據(jù)按每次32個(gè)像素的大小寫到內(nèi)存(ddr)中,當(dāng)8個(gè)fifo的數(shù)據(jù)都讀取完成之后,即完成一次4并行的圖像金字塔特征提取。
圖12是本發(fā)明一實(shí)施例的圖像金字塔特征提取方法130的流程框圖。步驟131首先獲取基礎(chǔ)圖像幀,并計(jì)算圖像金字塔中m層的n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的坐標(biāo),再根據(jù)所述坐標(biāo)在基礎(chǔ)圖像幀中獲取所述n個(gè)有效數(shù)據(jù)行;步驟133根據(jù)所述n個(gè)有效數(shù)據(jù)行同時(shí)計(jì)算出所述圖像金字塔的m層的特征;步驟135將圖像金字塔的m層的m*k個(gè)圖像金字塔特征合流輸出至內(nèi)存;其中,m、n為大于等于2的正整數(shù),k為所述圖像金字塔中m層中每層的特征提取輸出的特征通道數(shù)。作為優(yōu)選的實(shí)施方式,n通??扇≈禐?的冪次,也可根據(jù)總線效率和模塊效率估計(jì)出n值。在一實(shí)施方式中,可以計(jì)算圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的縱坐標(biāo)。在具體實(shí)施方式中,m可取4,n可取8,k可取3。即,圖像金字塔特征提取方法可最多并行進(jìn)行圖像金字塔4層的特征提取,每一層的特征提取算法中分別有3個(gè)特征通道,即圖像金字塔特征提取方法將最多輸出圖像金字塔4層的共計(jì)12個(gè)圖像金字塔特征值。
在一實(shí)施方式中,圖12中的步驟131的具體執(zhí)行流程框圖可以與圖4所示相同。具體為:首先,計(jì)算圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的坐標(biāo);對(duì)n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的坐標(biāo)進(jìn)行排序,得到最小坐標(biāo);根據(jù)最小坐標(biāo)在基礎(chǔ)圖像幀中提取兩個(gè)有效數(shù)據(jù)行;根據(jù)雙線性差值法更新出最小坐標(biāo)對(duì)應(yīng)的圖像金字塔層下一次的坐標(biāo);繼續(xù)對(duì)最新坐標(biāo)進(jìn)行排序及后續(xù)步驟,當(dāng)已經(jīng)提取出的有效數(shù)據(jù)行的坐標(biāo)與當(dāng)前選擇的有效數(shù)據(jù)行的坐標(biāo)相同時(shí),則當(dāng)前只選出未提取的有效數(shù)據(jù)行,直至完成所述n個(gè)有效數(shù)據(jù)行的提取。這樣,圖像金字塔m層的原本亂序的有效數(shù)據(jù)行就排列出一種可復(fù)用的有效數(shù)據(jù)行,在提升圖像金字塔特征提取算法的運(yùn)算速度的同時(shí),也降低了系統(tǒng)帶寬消耗。
在一實(shí)施方式中,可以根據(jù)雙線性插值法計(jì)算所述圖像金字塔m層的n個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的坐標(biāo)。在具體實(shí)施方式中,可根據(jù)雙線性差值法計(jì)算圖像金字塔連續(xù)m層中每一層的1個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的縱坐標(biāo),所述縱坐標(biāo)加1得到的縱坐標(biāo)即為圖像金字塔連續(xù)m層中每一層的另一個(gè)有效數(shù)據(jù)行在基礎(chǔ)圖像幀中的縱坐標(biāo)。
圖13是本發(fā)明一實(shí)施例的圖像金字塔特征提取方法中的圖像金字塔特征計(jì)算方法140的流程框圖。步驟141獲取上一步驟中在基礎(chǔ)圖像幀中提取的n個(gè)有效數(shù)據(jù)行;步驟143根據(jù)所述n個(gè)有效數(shù)據(jù)行同時(shí)計(jì)算圖像金字塔的m層中對(duì)應(yīng)行的數(shù)據(jù);步驟145根據(jù)圖像金字塔的m層對(duì)應(yīng)行的數(shù)據(jù)同時(shí)進(jìn)行圖像金字塔特征計(jì)算。
在一實(shí)施方式中,可根據(jù)圖像金字塔的m層命中的有效數(shù)據(jù)行分配不同的有效數(shù)據(jù)行。圖像金字塔不同層命中的有效數(shù)據(jù)行指的是步驟一中的131中獲取的圖像金字塔不同層的若干行對(duì)應(yīng)的有效數(shù)據(jù)行,例如,圖6左圖所示,對(duì)于圖像金字塔層1,其命中的有效數(shù)據(jù)行為有效數(shù)據(jù)行1-8,就為計(jì)算層1的圖像金字塔計(jì)算流程分配有效數(shù)據(jù)行1-8,對(duì)于圖像金字塔層4,其命中的有效數(shù)據(jù)行為有效數(shù)據(jù)行1、2、4、5、7、8,就為計(jì)算層4的圖像金字塔計(jì)算流程分配有效數(shù)據(jù)行1、2、4、5、7、8。這樣,每個(gè)層的圖像金字塔計(jì)算流程有可能分配到不同的有效數(shù)據(jù)行,可得到更高效的計(jì)算過程。
在一實(shí)施方式中,可根據(jù)雙線性差值法同時(shí)進(jìn)行圖像金字塔的特征計(jì)算。
在一實(shí)施方式中,采用了一個(gè)優(yōu)化的雙線性插值算法,計(jì)算公式為:
ixi×28=i0×28+xf×28×(i1-i0)
iyi×28=i2×28+xf×28×(i3-i2)
i=(ixi×28+yf×28×(iyi-ixi))>>8
其中,i0為左上角的有效參考點(diǎn),i1為右上角的有效參考點(diǎn),i2為左下角的有效參考點(diǎn),i3為右下角的有效參考點(diǎn)。
在一實(shí)施方式中,可根據(jù)5*5特征提取算法進(jìn)行圖像金字塔特征計(jì)算。5*5特征提取算法為了得到特征提取的一個(gè)值,需要輸入5*5=25個(gè)像素點(diǎn),為了做5*5特征提取的25個(gè)點(diǎn)的輸入,每個(gè)層的圖像金字塔特征計(jì)算流程需要緩存4行的數(shù)據(jù)在ram中,當(dāng)最后一行輸入時(shí)立即進(jìn)行圖像金字塔特征計(jì)算。在其他實(shí)施方式中,也可以采用其他特征提取算法,例如3*3特征提取算法,同樣可以實(shí)現(xiàn)本專利的發(fā)明目的。
圖14是本發(fā)明一實(shí)施例的圖像金字塔特征提取方法中的圖像金字塔特征合流輸出方法150的流程框圖。步驟151獲取圖像金字塔的m層的m*k個(gè)圖像金字塔的特征,并保存至m*k個(gè)圖像金字塔的特征緩存單元;步驟153根據(jù)所述m*k個(gè)圖像金字塔特征緩存單元的讀指針和寫指針生成所述m*k個(gè)圖像金字塔的特征數(shù)據(jù)的讀走優(yōu)先級(jí);步驟155獲取具有最高讀走優(yōu)先級(jí)的圖像金字塔特征數(shù)據(jù)以及其緩存標(biāo)號(hào);步驟157根據(jù)所述緩存標(biāo)號(hào)生成所述圖像金字塔特征數(shù)據(jù)寫地址;步驟159根據(jù)所述圖像金字塔特征數(shù)據(jù)寫地址將所述圖像金字塔特征寫入至內(nèi)存;直至所述m*k個(gè)圖像金字塔的特征全部寫入內(nèi)存。實(shí)現(xiàn)了一種高效的多通道特征提取合流輸出,解決了圖像金字塔多層并行計(jì)算和多輸出通道帶來的競(jìng)爭(zhēng)、寫出瓶頸的問題。在具體實(shí)施方式中,當(dāng)所述圖像金字塔特征緩存單元的寫指針和讀指針的絕對(duì)差值最大時(shí),所述圖像金字塔特征緩存單元的數(shù)據(jù)讀走優(yōu)先級(jí)最高。
在一實(shí)施方式中,因常用的ddr基本單位是32個(gè)像素大小,為了提高總線的效率,每次申請(qǐng)的應(yīng)該是32個(gè)像素值的整數(shù)倍,圖像金字塔特征緩存單元的輸入是一個(gè)像素值當(dāng)所述圖像金字塔的特征緩存單元接收到32個(gè)像素值時(shí),發(fā)送數(shù)據(jù)讀走請(qǐng)求。
應(yīng)當(dāng)理解的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制,對(duì)本領(lǐng)域技術(shù)人員來說,可以對(duì)上述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而所有這些修改和替換,都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。