本發(fā)明屬于導(dǎo)航制導(dǎo)、圖像識(shí)別和圖像處理的交叉科學(xué)技術(shù)領(lǐng)域,更具體地,涉及一種實(shí)時(shí)目標(biāo)識(shí)別的異構(gòu)處理機(jī)并行協(xié)調(diào)處理方法。
背景技術(shù):
運(yùn)動(dòng)目標(biāo)檢測(cè)、跟蹤與識(shí)別是計(jì)算機(jī)視覺(jué)、目標(biāo)檢測(cè)與跟蹤、導(dǎo)航制導(dǎo)等應(yīng)用領(lǐng)域的重要研究問(wèn)題。運(yùn)動(dòng)目標(biāo)檢測(cè)主要有靜平臺(tái)和動(dòng)平臺(tái)兩種模式。靜平臺(tái)情況下的運(yùn)動(dòng)目標(biāo)檢測(cè)與識(shí)別技術(shù)已經(jīng)比較成熟,動(dòng)平臺(tái)情況下的運(yùn)動(dòng)目標(biāo)檢測(cè)與識(shí)別技術(shù)還在發(fā)展之中。對(duì)于靜平臺(tái)運(yùn)動(dòng)目標(biāo)檢測(cè)任務(wù),圖像背景保持不變,背景模型通常已知,運(yùn)動(dòng)目標(biāo)檢測(cè)相對(duì)容易。動(dòng)平臺(tái)運(yùn)動(dòng)目標(biāo)檢測(cè)要比靜平臺(tái)運(yùn)動(dòng)目標(biāo)檢測(cè)復(fù)雜得多,平臺(tái)的運(yùn)動(dòng)分為滾動(dòng)、轉(zhuǎn)動(dòng)和平動(dòng)。在平臺(tái)滾動(dòng)的情況下,序列圖像會(huì)存在明顯的旋轉(zhuǎn)效果。因此必須對(duì)序列圖像進(jìn)行旋轉(zhuǎn)預(yù)處理,消除平臺(tái)滾動(dòng)帶來(lái)的問(wèn)題。平臺(tái)的轉(zhuǎn)動(dòng)和平動(dòng)會(huì)導(dǎo)致圖像背景的表觀變化,同時(shí)待檢測(cè)的目標(biāo)也在運(yùn)動(dòng),整幅圖像的前景運(yùn)動(dòng)和平臺(tái)運(yùn)動(dòng)產(chǎn)生的背景變化混合在一起,只有很好地把這兩種運(yùn)動(dòng)分開(kāi),才能夠準(zhǔn)確的檢測(cè)出運(yùn)動(dòng)目標(biāo)并實(shí)現(xiàn)跟蹤任務(wù),這給背景的補(bǔ)償問(wèn)題提出了很大的挑戰(zhàn)。
傳統(tǒng)的實(shí)時(shí)目標(biāo)檢測(cè)與識(shí)別多采用DSP或者多DSP(也叫DSPs)來(lái)進(jìn)行算法的處理,流程如圖1所示。將圖像的旋轉(zhuǎn)、降采樣及邊緣檢測(cè)、多級(jí)濾波、視覺(jué)非線性分割、連通區(qū)域標(biāo)記、特征提取與匹配等一系列的算法均在一個(gè)DSP上順序執(zhí)行。這樣不僅加大了程序的復(fù)雜度,由順序執(zhí)行帶來(lái)的實(shí)時(shí)性差是無(wú)法避免的,同時(shí)由于DSP處理器的通用性有限,使得它在圖像處理與目標(biāo)檢測(cè)識(shí)別算法優(yōu)化方面存在瓶頸。因此,本領(lǐng)域亟需一種面向?qū)崟r(shí)目標(biāo)識(shí)別的異構(gòu)處理機(jī)的并行協(xié)調(diào)處理方法。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的缺陷,本發(fā)明旨在提供一種解決同構(gòu)結(jié)構(gòu)處理系統(tǒng)存在的計(jì)算復(fù)雜、耗時(shí)長(zhǎng)、功耗大等問(wèn)題的處理方法。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種面向?qū)崟r(shí)目標(biāo)識(shí)別的異構(gòu)處理機(jī)并行協(xié)調(diào)處理方法,包括如下步驟:
(1)序列圖像輸入到FPGA中緩存;圖像采集裝置采集目標(biāo)圖像的慣導(dǎo)信息并輸入到DSP;
(2)DSP接收慣導(dǎo)信息,從中獲取旋轉(zhuǎn)角度參數(shù);同時(shí),DSP判斷是否接收到后續(xù)處理步驟的出錯(cuò)反饋信號(hào);若接收到出錯(cuò)反饋信號(hào),DSP對(duì)FPGA進(jìn)行復(fù)位,并跳到步驟(3);若沒(méi)有接收到出錯(cuò)反饋信號(hào),DSP根據(jù)圖像的旋轉(zhuǎn)角度參數(shù)來(lái)判斷是否需要控制FPGA調(diào)用旋轉(zhuǎn)ASIC芯片進(jìn)行圖像的旋轉(zhuǎn);若需要進(jìn)行圖像旋轉(zhuǎn)則跳到步驟(3),若不需要旋轉(zhuǎn)則跳到步驟(4);
(3)DSP調(diào)用FPGA調(diào)用旋轉(zhuǎn)ASIC芯片,對(duì)圖像進(jìn)行旋轉(zhuǎn)操作,并將旋轉(zhuǎn)處理完成后的圖像數(shù)據(jù)寫(xiě)往外部的DPRAM,同時(shí)FPGA讀取DPRAM里面經(jīng)過(guò)旋轉(zhuǎn)處理后的圖像,進(jìn)行校驗(yàn),若旋轉(zhuǎn)結(jié)果正確,跳到步驟(4);當(dāng)旋轉(zhuǎn)芯片無(wú)法正常工作或旋轉(zhuǎn)結(jié)果不正確時(shí),跳到步驟(2)
(4)若旋轉(zhuǎn)ASIC對(duì)圖像進(jìn)行旋轉(zhuǎn)操作成功,F(xiàn)PGA對(duì)旋轉(zhuǎn)處理后的圖像進(jìn)行預(yù)處理;若之前圖像不需要旋轉(zhuǎn)操作,F(xiàn)PGA對(duì)緩存的原始圖像進(jìn)行預(yù)處理;
(5)DSP調(diào)用FPGA調(diào)用多級(jí)濾波ASIC對(duì)步驟(4)中經(jīng)過(guò)預(yù)處理之后的圖像進(jìn)行多級(jí)濾波處理;多級(jí)濾波ASIC處理完后的圖像寫(xiě)往外部的DPRAM,同時(shí)FPGA讀取DPRAM里面經(jīng)過(guò)多級(jí)濾波處理后的圖像,然后FPGA將經(jīng)過(guò)多級(jí)濾波處理后的圖像數(shù)據(jù)進(jìn)行緩存并傳送到DSP中;
(6)DSP對(duì)步驟(5)中經(jīng)過(guò)多級(jí)濾波處理后的圖像進(jìn)行非線性分割處理;非線性分割處理后的圖像由DSP調(diào)用FPGA進(jìn)行形態(tài)學(xué)濾波處理;
(7)DSP調(diào)用FPGA,將步驟(6)中經(jīng)非線性分割、形態(tài)學(xué)濾波處理后的圖像傳送到輪廓跟蹤與標(biāo)記ASIC芯片,進(jìn)行輪廓跟蹤與標(biāo)記處理,標(biāo)記完后的圖像緩存到FPGA并傳送給DSP;
(8)DSP獲取標(biāo)記完后的圖像的處理結(jié)果及幾何特征,并調(diào)用模式分類(lèi)器進(jìn)行后續(xù)目標(biāo)分類(lèi);最后將處理完的圖像傳送到PAL視頻輸出進(jìn)行顯示,即目標(biāo)的實(shí)時(shí)識(shí)別與跟蹤結(jié)果。
進(jìn)一步地,使用FPGA內(nèi)部的FIFO資源以及DPRAM資源,還使用兩個(gè)外部的DPRAM存儲(chǔ)芯片,通過(guò)對(duì)數(shù)據(jù)的緩存使得在處理某一幀圖片的某一步驟的同時(shí),還能夠并行處理其他幀的其他步驟。
進(jìn)一步地,所述并行處理的方法如下:
當(dāng)?shù)谝粠瑘D像數(shù)據(jù)旋轉(zhuǎn)完成,進(jìn)行FPGA的圖像預(yù)處理時(shí),第二幀圖像便進(jìn)入到旋轉(zhuǎn)芯片進(jìn)行旋轉(zhuǎn);由于FPGA的處理速度較快,第一幀圖像預(yù)處理完成時(shí),第二幀圖像還未旋轉(zhuǎn)完成,此時(shí)對(duì)第一幀圖像數(shù)據(jù)進(jìn)行緩存,待第二幀圖像旋轉(zhuǎn)完成后再由FPGA進(jìn)行第二幀圖像的預(yù)處理;當(dāng)FPGA進(jìn)行第二幀圖像的預(yù)處理時(shí),F(xiàn)PGA同時(shí)讀取第一幀圖像的緩存數(shù)據(jù)進(jìn)行下一步處理。
進(jìn)一步地,F(xiàn)PGA的各個(gè)獨(dú)立模塊都是并行執(zhí)行的。
進(jìn)一步地,F(xiàn)PGA、DSP、各ASIC之間均通過(guò)FIFO構(gòu)建的交換式網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,每個(gè)輸入FIFO的選擇端均用使能信號(hào)選擇其中的一個(gè)三態(tài)門(mén)接通,以實(shí)現(xiàn)一個(gè)輸出接口的數(shù)據(jù)同時(shí)傳輸?shù)蕉鄠€(gè)輸入FIFO中。
與現(xiàn)有技術(shù)相比,本發(fā)明的效果如下:
(1)將復(fù)雜算法進(jìn)行分解,由DSP作為主控芯片,合理的通過(guò)FPGA來(lái)調(diào)用專(zhuān)用集成芯片來(lái)實(shí)現(xiàn)某些特定的算法功能;同時(shí)DSP與FPGA之間的通信互聯(lián),可以及時(shí)的反饋各個(gè)芯片是否正常工作,DSP由此發(fā)出指令來(lái)終止或者繼續(xù)系統(tǒng)的工作。這樣一來(lái),就可以避免由前一個(gè)芯片無(wú)法正常工作而導(dǎo)致的錯(cuò)誤蔓延。
(2)本發(fā)明將完成圖像目標(biāo)識(shí)別所需要的復(fù)雜算法分解成一個(gè)個(gè)的基本計(jì)算模塊,用旋轉(zhuǎn)ASIC芯片來(lái)實(shí)現(xiàn)旋轉(zhuǎn)算法、用多級(jí)濾波ASIC芯片來(lái)實(shí)現(xiàn)多級(jí)濾波算法、用FPGA預(yù)處理模塊來(lái)實(shí)現(xiàn)形態(tài)學(xué)濾波、用標(biāo)記ASIC來(lái)完成對(duì)分割后圖像的標(biāo)記等,最終的特征匹配算法由DSP來(lái)實(shí)現(xiàn)。這樣合理的分工以及協(xié)調(diào)調(diào)度既保證了系統(tǒng)的實(shí)時(shí)性,又降低了系統(tǒng)的整體功耗,同時(shí)降低了對(duì)DSP和FPGA等處理芯片對(duì)運(yùn)算能力的要求。
(3)流水線操作與并行操作相結(jié)合。由DSP作為主控芯片,合理的通過(guò)FPGA來(lái)調(diào)用專(zhuān)用集成芯片來(lái)實(shí)現(xiàn)某些特定的算法功能的關(guān)鍵就是適時(shí)調(diào)用各個(gè)模塊,對(duì)圖像的處理采用流水線操作,圖像數(shù)據(jù)依次有序地經(jīng)過(guò)各個(gè)處理單元處理,各處理單元協(xié)同工作,以保證每一個(gè)時(shí)刻都有多幀圖像在流水線上被有序地處理。這種異構(gòu)器件的流水線結(jié)合并行操作的特點(diǎn),大大地提高了系統(tǒng)的實(shí)時(shí)性。
附圖說(shuō)明
圖1是傳統(tǒng)算法處理流程圖;
圖2是異構(gòu)處理機(jī)處理流程圖;
圖3是數(shù)據(jù)的同步處理結(jié)構(gòu)圖;
圖4是高帶寬動(dòng)態(tài)全互聯(lián)結(jié)構(gòu)圖;
圖5是并行處理流水圖;
圖6(a)是實(shí)施例中建筑物紅外圖像;
圖6(b)是實(shí)施例中飛機(jī)紅外圖像;
圖6(c)是實(shí)施例中艦船紅外圖像;
圖6(d)是實(shí)施例中裝甲車(chē)紅外圖像;
圖7(a)是實(shí)施例中建筑物識(shí)別結(jié)果圖;
圖7(b)是實(shí)施例中飛機(jī)識(shí)別結(jié)果圖;
圖7(c)是實(shí)施例中艦船識(shí)別結(jié)果圖;
圖7(d)是實(shí)施例中裝甲車(chē)識(shí)別結(jié)果圖;
圖8(a)是圖像采集裝置成像后的原始人手的紅外圖像;
圖8(b)是圖8(a)經(jīng)過(guò)校正SOC后的圖像;
圖9(a)是圖像采集裝置成像后的原始建筑物的紅外圖像;
圖9(b)是圖9(a)經(jīng)過(guò)旋轉(zhuǎn)ASIC后的圖像;
圖10(a)是圖像采集裝置成像后的原始艦船的紅外圖像;
圖10(b)是圖10(a)經(jīng)過(guò)多級(jí)濾波ASIC進(jìn)行多級(jí)濾波后的圖像。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
圖2、3是用于本發(fā)明的方法的一款實(shí)時(shí)目標(biāo)識(shí)別的異構(gòu)處理機(jī),主要是用于對(duì)紅外圖像進(jìn)行實(shí)時(shí)地處理與識(shí)別。該異構(gòu)處理機(jī)是基于“FPGA+DSPs+ASICs”的異構(gòu)并行架構(gòu)。整個(gè)信息處理機(jī)主要由處理板、嵌入式操作系統(tǒng)和數(shù)據(jù)庫(kù)組成,具有模塊化、標(biāo)準(zhǔn)化、體積小、功耗低的特點(diǎn),能夠滿(mǎn)足實(shí)時(shí)處理的要求。同時(shí),系統(tǒng)采用了三種ASIC,分別是旋轉(zhuǎn)ASIC、多級(jí)濾波ASIC和輪廓跟蹤與標(biāo)記ASIC。它們分別代替DSP來(lái)實(shí)現(xiàn)非均勻性校正、圖像旋轉(zhuǎn)、圖像多級(jí)濾波及輪廓跟蹤與標(biāo)記的算法,該系統(tǒng)處理流程圖如圖2所示,架構(gòu)圖如圖3所示。
請(qǐng)參照?qǐng)D2,本發(fā)明的具體步驟如下:
(1)系統(tǒng)工作時(shí),序列圖像輸入到處理板的FPGA中,F(xiàn)PGA將輸入的圖像數(shù)據(jù)轉(zhuǎn)換格式并緩存。
(2)DSP作為主控器件,接收到圖像采集裝置的慣導(dǎo)信息,獲取旋轉(zhuǎn)角度參數(shù)。同時(shí),DSP會(huì)判斷是否接收到后續(xù)處理步驟的出錯(cuò)反饋信號(hào)。若檢測(cè)到出錯(cuò)反饋信號(hào),DSP會(huì)對(duì)整個(gè)FPGA處理板進(jìn)行復(fù)位操作。根據(jù)圖像的旋轉(zhuǎn)角度參數(shù)來(lái)控制FPGA是否調(diào)用旋轉(zhuǎn)ASIC芯片進(jìn)行圖像的旋轉(zhuǎn)。若需要旋轉(zhuǎn)則跳到步驟(3),若不需要旋轉(zhuǎn)則跳到步驟(4)
(3)DSP調(diào)用FPGA調(diào)用旋轉(zhuǎn)ASIC芯片,對(duì)圖像進(jìn)行旋轉(zhuǎn)操作,并將經(jīng)旋轉(zhuǎn)處理完成后的圖像數(shù)據(jù)寫(xiě)往外部的DPRAM,同時(shí)FPGA讀取DPRAM里面經(jīng)過(guò)旋轉(zhuǎn)處理后的圖像,并進(jìn)行校驗(yàn),若旋轉(zhuǎn)結(jié)果正確,跳到步驟(4);當(dāng)旋轉(zhuǎn)芯片無(wú)法正常工作旋轉(zhuǎn)結(jié)果不正確時(shí),例如:旋轉(zhuǎn)后的圖像出現(xiàn)錯(cuò)幀、半幀或者圖像有明顯的錯(cuò)誤信息等,此時(shí)FPGA就會(huì)向DSP發(fā)送一個(gè)出錯(cuò)反饋信號(hào),跳到步驟(2)
(4)若旋轉(zhuǎn)ASIC對(duì)圖像進(jìn)行旋轉(zhuǎn)操作成功,此時(shí)FPGA對(duì)旋轉(zhuǎn)處理后的圖像進(jìn)行預(yù)處理,例如進(jìn)行降采樣并邊緣檢測(cè);若之前圖像不需要旋轉(zhuǎn)操作,此時(shí)FPGA對(duì)緩存的原始圖像進(jìn)行預(yù)處理。
(5)DSP調(diào)用FPGA調(diào)用多級(jí)濾波ASIC對(duì)步驟(4)中經(jīng)過(guò)預(yù)處理之后的圖像進(jìn)行多級(jí)濾波處理。多級(jí)濾波ASIC處理完后的圖像寫(xiě)往外部的DPRAM,同時(shí)FPGA讀取DPRAM里面經(jīng)過(guò)多級(jí)濾波處理后的圖像,然后FPGA將經(jīng)過(guò)多級(jí)濾波處理后的圖像數(shù)據(jù)進(jìn)行緩存并傳送到DSP中,當(dāng)圖像數(shù)據(jù)過(guò)大時(shí),可以將數(shù)據(jù)存儲(chǔ)到DSP的存儲(chǔ)芯片DDR2中。
(6)對(duì)于步驟(5)中經(jīng)過(guò)多級(jí)濾波處理后的圖像,根據(jù)不同的應(yīng)用場(chǎng)景的需求,DSP執(zhí)行不同的算法對(duì)圖像進(jìn)行非線性分割處理。非線性分割處理后的圖像由DSP經(jīng)過(guò)FPGA做形態(tài)學(xué)濾波處理。
(7)DSP調(diào)用FPGA,將步驟(6)中非線性分割、形態(tài)學(xué)濾波后的處理圖像傳送到輪廓跟蹤與標(biāo)記ASIC芯片,進(jìn)行輪廓跟蹤與標(biāo)記處理,標(biāo)記完后的圖像緩存到FPGA并傳送給DSP;
(8)DSP獲取標(biāo)記完后的圖像的處理結(jié)果及幾何特征,并調(diào)用模式分類(lèi)器進(jìn)行后續(xù)目標(biāo)識(shí)別分類(lèi)的處理。最后將處理完的圖像經(jīng)過(guò)圖像顯示單元傳送到PAL視頻輸出進(jìn)行顯示。
為了保證數(shù)據(jù)的有效處理,保證流水線操作的有序執(zhí)行。該處理系統(tǒng)使用了FPGA內(nèi)部的FIFO資源以及DPRAM資源,還使用了兩個(gè)外部的DPRAM存儲(chǔ)芯片,通過(guò)對(duì)數(shù)據(jù)的緩存等處理主要解決了數(shù)據(jù)的同步問(wèn)題。
例如:如圖5所示,當(dāng)?shù)谝粠瑘D像數(shù)據(jù)旋轉(zhuǎn)完成進(jìn)行FPGA的圖像預(yù)處理時(shí),此時(shí)第二幀圖像便進(jìn)入到旋轉(zhuǎn)芯片進(jìn)行旋轉(zhuǎn),由于FPGA的處理速度較快,第一幀圖像預(yù)處理完成時(shí),第二幀圖像還未旋轉(zhuǎn)完成,此時(shí)就應(yīng)當(dāng)對(duì)圖像數(shù)據(jù)進(jìn)行緩存,待旋轉(zhuǎn)完成后再進(jìn)行FPGA的圖像預(yù)處理。即不同幀的步驟(3)和步驟(4)可以并行,并且可以通過(guò)緩存的方式保證處理時(shí)間同步。因此,F(xiàn)IFO和DPRAM的使用在流水線的操作中起著至關(guān)重要的作用。同時(shí),F(xiàn)PGA的各個(gè)獨(dú)立模塊都是并行執(zhí)行的,例如:當(dāng)?shù)谝粠瑘D像進(jìn)行多級(jí)濾波的時(shí)第二幀圖像正在進(jìn)行旋轉(zhuǎn)。
此外,該系統(tǒng)采用FIFO構(gòu)建的交換式網(wǎng)絡(luò)構(gòu)成形式如圖4所示,其中在每個(gè)輸入FIFO的選擇端可用使能信號(hào)選擇其中的一個(gè)三態(tài)門(mén)接通,即對(duì)每個(gè)輸入FIFO來(lái)說(shuō)可以選擇數(shù)據(jù)來(lái)自哪個(gè)輸出接口,避免沖突。同時(shí),可實(shí)現(xiàn)一個(gè)輸出接口的數(shù)據(jù)同時(shí)傳輸?shù)蕉鄠€(gè)輸入FIFO中,實(shí)現(xiàn)數(shù)據(jù)的廣播發(fā)送。這樣的交換式網(wǎng)絡(luò)減少了需要占用大量存儲(chǔ)單元的FIFO存儲(chǔ)器,但是同樣實(shí)現(xiàn)了各處理部件間的全互聯(lián)??梢詫?shí)現(xiàn)在任務(wù)過(guò)程中,數(shù)據(jù)流根據(jù)算法的需要進(jìn)行改變,重構(gòu)算法的數(shù)據(jù)流。
最后,對(duì)處理結(jié)果圖像序列進(jìn)行人工標(biāo)定,統(tǒng)計(jì)被正確識(shí)別目標(biāo)的圖像幀數(shù)n,設(shè)測(cè)試圖像幀數(shù)為N,則正確識(shí)別概率η=n/N,結(jié)果如表1所示。
表1
基于以上測(cè)試方法,對(duì)建筑物、機(jī)場(chǎng)跑道上的飛機(jī)、艦船和裝甲車(chē)輛等四類(lèi)目標(biāo)的序列圖進(jìn)行測(cè)試。它們的原始紅外圖像如圖6(a)~(d),目標(biāo)識(shí)別后的結(jié)果圖如圖7(a)~(d)所示。如圖8所示,(a)是圖像采集裝置成像后的原始人手的紅外圖像,手掌輪廓模糊(b)是經(jīng)過(guò)校正SOC后的圖像;如圖9所示,(a)是圖像采集裝置成像后的原始建筑物的紅外圖像,(b)是經(jīng)過(guò)旋轉(zhuǎn)ASIC后的圖像;圖10所示,(a)是圖像采集裝置成像后的原始艦船的紅外圖像,(b)是經(jīng)過(guò)多級(jí)濾波ASIC后的圖像。
本發(fā)明將某些特定的算法(例如:旋轉(zhuǎn)算法、連通區(qū)域標(biāo)記算法,小目標(biāo)檢測(cè)等)用專(zhuān)用集成芯片來(lái)實(shí)現(xiàn),這樣一來(lái)不僅減輕了DSP的算法復(fù)雜度,而且這些不同的異構(gòu)器件能夠協(xié)調(diào)并行工作,大大地提高了目標(biāo)檢測(cè)識(shí)別的實(shí)時(shí)性。
專(zhuān)用集成芯片(ASIC)具有處理效率高、功耗低的特點(diǎn)。專(zhuān)門(mén)針對(duì)圖像處理算法應(yīng)用而設(shè)計(jì)的ASIC可以在很低的功耗下,快速高效地完成相應(yīng)的圖像處理算法。在目標(biāo)成像自動(dòng)目標(biāo)識(shí)別系統(tǒng)中采用專(zhuān)門(mén)的圖像處理ASIC可以提高系統(tǒng)的實(shí)時(shí)性,并降低系統(tǒng)的功耗。
本發(fā)明的創(chuàng)新點(diǎn)體現(xiàn)在以下幾個(gè)方面:
(1)將復(fù)雜算法進(jìn)行分解,由DSP作為主控芯片,合理的通過(guò)FPGA來(lái)調(diào)用專(zhuān)用集成芯片來(lái)實(shí)現(xiàn)某些特定的算法功能;同時(shí)DSP與FPGA之間的通信互聯(lián),可以及時(shí)的反饋各個(gè)芯片是否正常工作,DSP由此發(fā)出指令來(lái)終止或者繼續(xù)系統(tǒng)的工作。這樣一來(lái),就可以避免由前一個(gè)芯片無(wú)法正常工作而導(dǎo)致的錯(cuò)誤蔓延。本發(fā)明將完成圖像目標(biāo)識(shí)別所需要的復(fù)雜算法分解成一個(gè)個(gè)的基本計(jì)算模塊,例如:用旋轉(zhuǎn)ASIC芯片來(lái)實(shí)現(xiàn)旋轉(zhuǎn)算法、用多級(jí)濾波ASIC芯片來(lái)實(shí)現(xiàn)多級(jí)濾波算法、用FPGA預(yù)處理模塊來(lái)實(shí)現(xiàn)形態(tài)學(xué)濾波、用標(biāo)記ASIC來(lái)完成對(duì)分割后圖像的標(biāo)記等,最終的特征匹配算法由DSP來(lái)實(shí)現(xiàn),如圖2所示。這樣合理的分工以及協(xié)調(diào)調(diào)度既保證了系統(tǒng)的實(shí)時(shí)性,又降低了系統(tǒng)的整體功耗,同時(shí)降低了對(duì)DSP和FPGA等處理芯片對(duì)運(yùn)算能力的要求。
(2)高低速、多總線數(shù)據(jù)同步傳輸設(shè)計(jì)。本發(fā)明中,由DSP作為主控芯片的實(shí)時(shí)目標(biāo)識(shí)別的異構(gòu)處理系統(tǒng)中,由于FPGA、DSP、ASICs等器件具有不同的工作時(shí)鐘,同時(shí)ASIC作為專(zhuān)用的處理器,輸入輸出接口和通用的處理器DSP和FPGA相比有很大的差異,不同ASIC之間輸入輸出、位寬等差異也很大。例如:旋轉(zhuǎn)ASIC輸入的是圖像數(shù)據(jù),輸出是圖處理后的像數(shù)據(jù),圖像數(shù)據(jù)的位寬8bit-14bit,而標(biāo)記ASIC輸入的是二值(多值)分割后的圖像數(shù)據(jù),輸出是特征(如目標(biāo)的輪廓信息和坐標(biāo)等),圖像數(shù)據(jù)的位寬3bit。此外,ASIC的輸入輸出接口緩存也存在著差異,例如:標(biāo)記ASIC不需要外接存儲(chǔ)芯片對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),而旋轉(zhuǎn)ASIC和多級(jí)濾波ASIC則需要外接存儲(chǔ)芯片對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)。這些差異就導(dǎo)致不同ASIC之間通過(guò)FPGA進(jìn)行互聯(lián)以及不同ASIC與DSP以及FPGA之間的互聯(lián)設(shè)計(jì)是一個(gè)設(shè)計(jì)的難點(diǎn)。
不同的處理器之間高效的互聯(lián),對(duì)提高整個(gè)系統(tǒng)的性能有著重要的意義。邏輯層與物理層之間進(jìn)行分隔、邏輯層的動(dòng)態(tài)互聯(lián)結(jié)構(gòu)是解決異構(gòu)互聯(lián)的一個(gè)有效方法。物理層和邏輯層根據(jù)需求不同選擇不同的接口,例如:板間連接使用LVDS接口,采用串并轉(zhuǎn)換后和邏輯層相連;板內(nèi)連接使用同步存儲(chǔ)器接口,如:FIFO、DPRAM等。緩存結(jié)構(gòu)保證不同處理器之間處理速度差異造成的異步數(shù)據(jù)緩存問(wèn)題。
(3)流水線操作與并行操作相結(jié)合。由DSP作為主控芯片,合理的通過(guò)FPGA來(lái)調(diào)用專(zhuān)用集成芯片來(lái)實(shí)現(xiàn)某些特定的算法功能的關(guān)鍵就是適時(shí)調(diào)用各個(gè)模塊,對(duì)圖像的處理采用流水線操作,圖像數(shù)據(jù)依次有序地經(jīng)過(guò)各個(gè)處理單元處理,各處理單元協(xié)同工作,以保證每一個(gè)時(shí)刻都有多幀圖像在流水線上被有序地處理。這種異構(gòu)器件的流水線結(jié)合并行操作的特點(diǎn),大大地提高了系統(tǒng)的實(shí)時(shí)性。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。