來源:Alacron
Imaging systems employed in demanding industrial and military applications, such as computer vision and
automatic target recognition, typically require real-time high-performance computing resources. While these
systems have traditionally relied on proprietary architectures and custom components, recent advances in highperformance general-purpose microprocessor technology have produced an abundance of low cost components
suitable for use in high-performance computing systems.
簡介
一般來說,在諸如機(jī)器視覺、目標(biāo)自動(dòng)識(shí)別等要求嚴(yán)格的工業(yè)和軍事應(yīng)用場合中使用的成像系統(tǒng)都需要有實(shí)時(shí)高性能的計(jì)算處理能力。一直以來,這些成像系統(tǒng)依靠著專有的體系結(jié)構(gòu)和定制的組件實(shí)現(xiàn)各自的性能,但近年來高性能通用微處理器技術(shù)的進(jìn)步已經(jīng)使人們生產(chǎn)出了大量可應(yīng)用于高性能處理系統(tǒng)的低成本元件。
高性能成像系統(tǒng)尤其是使用了可擴(kuò)展的多處理器體系結(jié)構(gòu)的系統(tǒng)的設(shè)計(jì)的一個(gè)普遍缺陷就是不能平衡好計(jì)算帶寬和帶I/O接口的存儲(chǔ)帶寬之間的關(guān)系。最近,帶有大容量內(nèi)部高速緩存和高性能外部存儲(chǔ)器接口的微處理器的引入,使得設(shè)計(jì)一個(gè)計(jì)算和存儲(chǔ)帶寬之間得到平衡的高性能成像系統(tǒng)成為現(xiàn)實(shí)。
微處理器利用了板級(jí)存儲(chǔ)器和I/O體系結(jié)構(gòu),使用這種微處理器及存儲(chǔ)器的系統(tǒng)有一個(gè)重要性能。系統(tǒng)并不擴(kuò)展存儲(chǔ)器總線帶寬,同樣的,微處理器的引入一般不是為了改善性能,在提升了一些性能后它們會(huì)達(dá)到一個(gè)極限值。另外,I/O帶寬在總體性能上發(fā)揮著重要的作用。
這篇文章的目的是為了引入一個(gè)框架,使得開發(fā)者能夠選擇一個(gè)能提供實(shí)時(shí)視覺應(yīng)用場合所需要的性能和可擴(kuò)展性的微處理器系統(tǒng)。在可編程成像系統(tǒng)的選擇問題上,我們重點(diǎn)考慮下面三個(gè)方面:(a)系統(tǒng)是“本機(jī)”的還是采用協(xié)處理器模型?(b)哪種處理器在平衡應(yīng)用中的處理和I/O關(guān)系上更具恰當(dāng)性?(c)總成本是多少?為了更好的理解我們的假設(shè),我們將對(duì)四種不同的處理器在元件檢測應(yīng)用中表現(xiàn)出的性能進(jìn)行分析。
微處理器評(píng)估
為了體現(xiàn)各種具有尖端技術(shù)的微處理器的優(yōu)點(diǎn),我們選擇了四種新型微處理器進(jìn)行評(píng)估:Analog Devices公司的21160Hammerhead,Intel®(P3-450),Philips公司的半導(dǎo)體TM1300 TriMedia和德州儀器(TI)的C6701.你也可以使用這種框架評(píng)估其他的處理器。
下表給出了所選處理器的重要特性。假定各種處理器在測試計(jì)算性能時(shí)是相互獨(dú)立的。集群模式設(shè)計(jì)將很快使總線達(dá)到飽和——也就是說增加額外的處理器并不能達(dá)到提升速度以提高計(jì)算性能的目的。做出這個(gè)假定是因?yàn)榇蠖鄶?shù)多處理器為了達(dá)到可擴(kuò)展性,其協(xié)處理器板已經(jīng)獨(dú)立開或采用本地存儲(chǔ)器設(shè)計(jì)。唯一采用非本地存儲(chǔ)器設(shè)計(jì)的是PⅢ-450,引入它是為了與其他處理器進(jìn)行比較。

上表的性能參數(shù)在它們各自公司的文獻(xiàn)中可以找到,它們是以優(yōu)化了的匯編語言程序?yàn)榛A(chǔ)的。除了Intel使用復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)外,所有的微處理器都使用了超長指令集架構(gòu)(VLIW)體系結(jié)構(gòu)。每個(gè)CPU的膠連邏輯成本體現(xiàn)了連接處理器與外在系統(tǒng)所需額外組件的成本。
應(yīng)用描述:產(chǎn)品線上的元件工業(yè)檢測
當(dāng)產(chǎn)品經(jīng)過檢測站時(shí),檢測站檢測產(chǎn)品的顏色和形狀,然后,根據(jù)標(biāo)準(zhǔn)來判斷是否接受這件產(chǎn)品。元件以任意角度安置在傳送器上以供成像。檢測算法檢測連接顏色和形狀的區(qū)域,并處理在這些區(qū)域內(nèi)的數(shù)據(jù),再把結(jié)果應(yīng)用于神經(jīng)網(wǎng)絡(luò)識(shí)別器中。產(chǎn)品在快速駛下生產(chǎn)線的時(shí)候被檢測。照相機(jī)以每秒30張的速度收集圖像以確保在每張圖像上有至少有50%交疊,從而確保每一部分至少有一次被完全顯現(xiàn)。圖像規(guī)格是512×512,24位彩色(RGB).
算法流程圖
上圖給出了檢測圖像缺陷的算法。原始圖像通過過濾去掉噪聲,并平滑由于傳送器上的角度問題而造成的部分顏色和明亮度的變化。
圖像轉(zhuǎn)化為HLS模型,以便再通過兩個(gè)16位輸入8位輸出的查找表轉(zhuǎn)化成單色。HLS模型中,色度(H)和飽和度(S)由顏色決定,而明亮度(L)主要由能被光照到的物體表面的方位決定。這兩要素在8位單色像(圖表中為M)的結(jié)構(gòu)中被編碼。這一步驟可以用于檢測顏色錯(cuò)誤和總體方向錯(cuò)誤,因而顯得比較重要。
在對(duì)圖像進(jìn)行去斑降噪之后,開始對(duì)圖像進(jìn)行連接性的分析。分析結(jié)果用于從單色和彩色圖像中選擇區(qū)域,以獲得另外的特性。這一步一般會(huì)減少百分之七十的像素?cái)?shù)量。
所選區(qū)域用單色進(jìn)行量測,彩色則用于發(fā)展每個(gè)區(qū)域的特性。獲得的特性是顏色,通過單色圖像、連接框、邊界圓、周長、凸包和面積等要素修正。
這些特性作為神經(jīng)網(wǎng)絡(luò)識(shí)別器的輸入。之所以選擇神經(jīng)網(wǎng)絡(luò)識(shí)別器是因?yàn)橐幚淼膱D像區(qū)域相當(dāng)復(fù)雜。統(tǒng)計(jì)型的識(shí)別器難以進(jìn)行計(jì)算,而且對(duì)噪聲敏感。神經(jīng)網(wǎng)絡(luò)使用100個(gè)輸入,在第一個(gè)隱藏層使用200個(gè)節(jié)點(diǎn),第二層使用100個(gè)節(jié)點(diǎn),輸出層(通過/未通過)使用一個(gè)節(jié)點(diǎn)。
選擇處理系統(tǒng)的下一步就是要使用下面所選的微處理器進(jìn)行評(píng)估算法:Analog Devices公司的21160Hammerhead,Intel®(P3-450),Philips公司的半導(dǎo)體TM1300 TriMedia和德州儀器(TI)的C6701。每種處理器的編碼已經(jīng)優(yōu)化過,每種類型單個(gè)處理器的執(zhí)行時(shí)間也已測過。下表給出了每個(gè)處理器執(zhí)行每一步算法的結(jié)果。
分析與結(jié)果
所有時(shí)間單位為毫秒
從上表中,我們可以發(fā)現(xiàn)每種處理器都有各自的優(yōu)點(diǎn)。若以總時(shí)間來論,則PⅢ-450無疑是最佳的。其中兩種處理器需要保持與照相機(jī)同步的圖像速度。所有情況下,系統(tǒng)需要另外一個(gè)處理器來提供操作系統(tǒng)支持,如磁盤驅(qū)動(dòng)和用戶界面。PⅢ的計(jì)算能力似乎不夠理想,但在限制于存儲(chǔ)器總線性能的應(yīng)用中,它仍然是個(gè)相當(dāng)出色的處理器。PⅢ的存儲(chǔ)器總線速度是其他處理器的兩倍,TM1300是個(gè)例外,PⅢ的存儲(chǔ)器總線速度只是它的1.4倍(800MB/s VS 572MB/s)。
Philips和TI的處理器擁有許多處理單元,這使得它們具有相當(dāng)好的總體性能,盡管在時(shí)鐘速度上它們遠(yuǎn)慢于Intel PⅢ-450。Philips的TM1300使用一個(gè)視覺端口對(duì)處理器進(jìn)行直接的讀取和顯示。Intel PⅢ-450、Analog Devices 21160和TI C6701則使用DMA控制器進(jìn)行讀取和顯示。

上圖給出了隨著處理器的增加可達(dá)到的幀速率。從圖中可以看出,TM1300和PⅢ-450在此應(yīng)用中性能相當(dāng),居于最前,TMS320C6701稍慢些,ADI21160則是最慢的。Philip TM1300、Analog Devices 21160和TI C6701都需要兩個(gè)處理器以保持圖像速率。但它們(在PC上的協(xié)處理器板上)的成本卻遠(yuǎn)低于PⅢ-450。一個(gè)多處理器的PⅢ-450系統(tǒng)需要花費(fèi)幾千美元(大約3000美元)——價(jià)格高于基本的單處理器PC. Philip TM1300、Analog Devices 21160和TI C6701的協(xié)處理器系統(tǒng)最低只需1500美元。
另外,隨著額外的處理器的增加,PⅢ的效率開始降低。多處理器PⅢ系統(tǒng)中使用的共享多處理器(SMP)總線因?yàn)樘幚砥鏖g的總線沖突從而降低了存儲(chǔ)器密集應(yīng)用的性能。隨著額外處理器的增加,沖突更加突出,效率也就更低了。裝有超過4個(gè)PⅢ處理器的系統(tǒng)并不多見。連接處理器到照相機(jī)需要有特定的硬件?;?1160和TMS320C6701的解決方案所要花的成本要高于基于TriMedia和PⅢ的解決方案所花的成本。
結(jié)論
以元件檢測應(yīng)用為例,我們發(fā)現(xiàn)在存儲(chǔ)器帶寬發(fā)揮重要作用的應(yīng)用場合,奔騰PⅢ-450無疑是個(gè)極為出色的處理器。然而,基于集群的體系結(jié)構(gòu)卻產(chǎn)生了負(fù)面影響,因?yàn)榇鎯?chǔ)器總線飽和嚴(yán)重制約了將來的可擴(kuò)展性(如PⅢ-450)。相反,基于本地存儲(chǔ)器體系解決方案的處理器卻能隨著處理器的增加而線性地提高其處理量。
Intel PⅢ受其外圍邏輯(PC)的限制,在一些應(yīng)用場合不能發(fā)揮其性能。盡管AGP總線的使用會(huì)改善這種情況,但其SMP設(shè)計(jì)最終將限制其擴(kuò)展性。因此,在要求嚴(yán)格的視覺應(yīng)用場合尤其是需要用于將來擴(kuò)展的應(yīng)用場合,最可行的辦法是保留一個(gè)更易擴(kuò)展、有更高吞吐量的協(xié)處理器板,最終使得成本低于本地解決方案所花的成本。