結合傳感器的并行處理器實(shí)現高速成像
如果一幅圖像的數據量相當于一千個(gè)字符,那么100,000幅圖像的數據量有多大?能否設計一個(gè)數字成像系統來(lái)處理如此高幀速的圖像。這樣一個(gè)成像系統可以應用于機器視覺(jué),智能視頻系統,瞬間事件的科學(xué)分析,工業(yè)過(guò)程監控,互動(dòng)游戲以及無(wú)人運輸器和導彈的制導系統等眾多領(lǐng)域。
本文引用地址:http://dyxdggzs.com/article/81599.htm2000年,來(lái)自匈牙利、西班牙和美國的科學(xué)家在布達佩斯成立了AnaLogic計算機公司。該公司的目標就是設計每秒能存儲、分析和增強幾千幀圖像的數字成像系統。3年后,他們又在美國加利福尼亞州,伯克利城成立了AnaLogic的后繼公司,Eutecus。在美國導彈防御局以及海軍研究辦公室的許可下,他們開(kāi)發(fā)了Cellular Visual Technology(CVT).
CVT由大規模并行處理器和優(yōu)化成像處理軟件構成。有些實(shí)現方法使用一種創(chuàng )新的半導體制造工藝把圖像傳感器和并行處理陣列直接結合在一起,創(chuàng )造出一個(gè)多層芯片。圖1是C-TON的照片。C-TON是第一款為商業(yè)市場(chǎng)設計的此類(lèi)芯片。
公司首席技術(shù)官Dr Akos Zarandy和Dr Csaba Rekeczky 奔波于布達佩斯和伯克利之間。CVT技術(shù)的發(fā)明人,公司技術(shù)副主席,Zarandy10月份在秋季微處理器論壇上發(fā)表了關(guān)于CVT的技術(shù)介紹。這篇文章也吸取了該技術(shù)的另一名發(fā)明人,公司研發(fā)副主席Rekeczky的意見(jiàn)。
并非傳統數字相機
Eutecus的設計與傳統數字相機以及家庭攝像機大相徑庭。經(jīng)典的數字相機有CCD或CMOS成像傳感器,這些傳感器由微小感應單元組成的陣列覆蓋而成。幾乎每個(gè)感應單元都對應一個(gè)像素。在曝光過(guò)程中,照射到感應單元的光被轉化為電。也就是說(shuō),感應單元將光子轉化為電子。照射到感應單元上的光子越多,產(chǎn)生的電子越多,從而形成的像素越亮。經(jīng)過(guò)模數轉換,嵌在RISC核中的傳統微處理器讀取每個(gè)感應單元的值把像素聚合成圖像。然后經(jīng)過(guò)增強的圖像被存儲到照相機的閃存或其它存儲媒介上之前。
傳統數字相機的幀速很低,經(jīng)常是幾秒一幀而不是一秒幾幀。處理器讀取感應單元數據和聚合圖像很費時(shí)間。為了解決這一問(wèn)題,幾乎所有的數字相機都有緩存。前一次曝光的數據就存在這些緩存中供處理器進(jìn)行處理,以便相機進(jìn)行下一次曝光。
家庭數字攝像機有更大的緩存。通過(guò)降低像素分辨率,它每秒可以處理25到30幀圖像,滿(mǎn)足PAL,SECAM或NTSC視頻的要求。通過(guò)使用更大的成像傳感器,高清晰度家庭數字攝像機可以錄制更高幀速和畫(huà)質(zhì)更好的圖像。當然,由于使用了更大的傳感器,這種攝像機的價(jià)錢(qián)更高。但是,傳統攝像機無(wú)法在超高幀速下錄制和處理圖像。
圖像處理是實(shí)現高速成像的主要障礙:所有的光子幾乎在同一瞬間到達各感應單元并被計入同一“時(shí)間窗”,但是聚合圖像的處理器卻是順序處理這些數據。圖像感應幾乎是并行的,圖像處理卻不是。因此,從邏輯上解決該問(wèn)題的方案是應用大規模并行處理。所以,每一個(gè)或每一組感應單元應該有專(zhuān)屬的處理器。除此之外為了實(shí)現高速成像,Eutecus還應用了人眼視覺(jué)特性仿真的技術(shù)。
大規模圖像并行處理
首先,我們要注意的是Eutecus為了達到夢(mèng)幻般的幀速這一目標使用了大規模并行處理,但同時(shí)還是犧牲了像素的分辨率和色彩。這是在目前半導體技術(shù)水平下無(wú)法避免的。Eutecus最新的CVT感應處理器僅能處理64×64像素,8或16位灰度級或者完全黑白的圖像。Eutecus相信在同樣工藝結構下可以制造出處理能力達到256×256像素圖像的芯片,大概是0.06兆像素。
與現今流行的10.2兆像素數字SLR (Single-lens Teflex)相比,CVT的分辨率看起來(lái)有些低。但是這種分辨率已經(jīng)可以滿(mǎn)足很多應用領(lǐng)域。例如,機器視覺(jué),低分辨率的圖像足以讓機器人繞開(kāi)小的物體和避免撞墻。在另一些應用領(lǐng)域中,與記錄更多的細節相比,瞬間檢測高速進(jìn)程中變化的能力更重要。比如就有客戶(hù)使用CVT成像系統研究玻璃摔碎瞬間碎片產(chǎn)生的過(guò)程。此外,和人類(lèi)的眼睛關(guān)注視野中的細節一樣,CVT可以通過(guò)對大的區域里所感興趣的點(diǎn)進(jìn)行快速計算來(lái)充分利用它有限的分辨率。
盡管在分辨率和色彩上做出了一些犧牲,CVT通過(guò)使用大規模圖像并行處理獲得的成就仍然令人印象深刻。芯片設計者可以用兩種基本的方法實(shí)現這一技術(shù)。第一種方法可以傳送最高幀速的圖像。它是由單一芯片組成的,這種芯片使用一種3D bump bonding的技術(shù)在處理單元頂上加上圖像感應單元。
如圖2所示,在數以千計的微小銦凸點(diǎn)上,感應單元結合在處理單元頂部,構成了緊密連接在一起的多層芯片。傳感器可以是傳統的CMOS或CCD設備。但是,為了最大化性能,Eutecus使用了一種少見(jiàn)的材料—砷化銦(InGaAs)。砷化銦(InGaAs)感應器對光的敏感度比硅感應器高大約十倍,因此它們可以在更短的曝光時(shí)間中記錄圖像,從而滿(mǎn)足高幀速的要求。處理器可以用傳統CMOS工藝制造。
第2種實(shí)現CVT的基本方法是分別使用成像芯片和處理器陣列。邏輯上與第1種方法一樣,但物理結構不盡相同。雖然有一個(gè)高速并行接口將成像傳感器與處理陣列連接起來(lái),但是與直接將傳感器和處理器結合在一起的方法相比,這種方法還是慢了許多。受實(shí)現方式的限制,這種方法的最高幀速比第1種方法低了一到兩個(gè)數量級(大約1000到10000幀每秒)。但是,兩個(gè)芯片組合在一起的方式也有些好處:它可以使用更高分辨率的成像傳感器,造價(jià)更低廉。而且,芯片設計者可以通過(guò)對ASIC掩膜或對FPGA編程等方式來(lái)實(shí)現并行處理器陣列。雖然FPGA只能生成少量的處理器陣列,但是可以大大減少投放市場(chǎng)的時(shí)間。
第3種實(shí)現CVT的方法是將成像感應單元陣列和并行處理器陣列合成在同一晶圓上,和多層芯片方式比起來(lái),這種方式的兩個(gè)陣列結合的更緊密。但是,目前的半導體技術(shù)無(wú)法實(shí)現這一方法。因為即使都使用CMOS制造,成像傳感器和ASIC的設計與制造參數也不同。另外,將感應單元和處理器單元結合在一起將會(huì )降低陣列的密度,從而降低芯片的分辨率。而且,陣列單元的光通道將更小,降低了它們的敏感度。盡管如此,該方法仍是未來(lái)研究和發(fā)展的主要方向。
克服制造的缺點(diǎn)
傳感器陣列沒(méi)有什么新奇,因此我們把注意力集中到處理器陣列上。Eutecus將幾十個(gè)處理單元緊密的結合在一起,各單元之間可以相互聯(lián)系。圖3是C-TON的圖片。這一設計共有8×8,64個(gè)處理單元。其他的設計的處理器陣列大小不盡相同。(早期的有4×4陣列)。
每個(gè)C-TON芯片的單元從64個(gè)感應點(diǎn)接受圖像數據,所以圖像的分辨率是64×64。全局控制處理器是一個(gè)8位微控制器。全局控制器負責處理片外I/O以及向陣列傳輸程序指令。C-TON有2K的全局程序存儲空間,由傳統的0.18微米CMOS制造,工作頻率為100MHz。它的有32位I/O總線(xiàn),工作頻率也是100MHz,帶寬400MB/s。
每個(gè)單元內部有一個(gè)基于單指令多數據的24位處理器,其結構專(zhuān)門(mén)為圖像處理進(jìn)行過(guò)優(yōu)化。一個(gè)多路復用器接收所有連接到這一單元的感應點(diǎn)的輸出,然后將信號輸送到一個(gè)通用8位模數轉換器。這些模數轉換器依次連接到處理器上。此外,每個(gè)單元和另一個(gè)單元共享1k局部?jì)却?,每個(gè)單元與和它相鄰的單元之間有通信接口。單元之間可以通過(guò)共享內存來(lái)進(jìn)行通信,每個(gè)時(shí)鐘周期傳輸8bits數據。不相鄰的單元之間沒(méi)有直接聯(lián)系。
需要注意的是,像C-TON那樣將成像傳感器和處理器結合在一起的芯片,未經(jīng)處理的數據通過(guò)數以千計的銦凸點(diǎn)而不是由傳統的I/O總線(xiàn)從感應器傳輸到處理器陣列的。每個(gè)單元和在它頂部的感應點(diǎn)之間有專(zhuān)屬的I/O接口,這一巧妙的設計解決了大規模處理陣列常有的問(wèn)題:如何通過(guò)大規模陣列傳輸數據。
另一些大規模并行設計通過(guò)陣列的邊緣接收數據,通過(guò)網(wǎng)絡(luò )傳輸數據。但是在“凸點(diǎn)鍵合”多層芯片中,圖像數據可以瞬間到達陣列的任何一點(diǎn),不用繞道沒(méi)有延遲。當然,圖像數據I/O輸出是仍需穿過(guò)整個(gè)陣列。但是,通過(guò)在本地處理圖像數據,處理單元可以減少從芯片輸出的未經(jīng)處理的圖像數據。
陣列各層的資源分配
像C-TON這樣將傳感器和處理器結合在一起的芯片從抽象的角度說(shuō)有多層硬件資源:成像傳感器,多路復用器,ADC,處理器以及存儲器。成像感應器由獨立的凸點(diǎn)鍵合的晶圓組成的。多路復用器和ADC是混合信號部件,一層獨立的晶圓。處理器和SRAMS占用同一層晶圓的一部分,同樣使用數字CMOS技術(shù)制造。圖4是各層的示意圖視。
單元內部的處理器有ALU,形態(tài)單元和比較單元。24位ALU進(jìn)行8或16位算術(shù)操作(加,減,乘),形態(tài)單元負責對黑白圖像進(jìn)行簡(jiǎn)單的1位操作并輔助ALU處理灰度圖像。處理器每個(gè)時(shí)鐘周期處理器執行一條指令,可以從單元存儲器,和相鄰單元公用的存儲器以及成像傳感器這3處讀取數據。表1給出了C-TON進(jìn)行簡(jiǎn)單圖像處理時(shí)的性能數據。
雖然陣列中的所有單元必須運行同樣的程序,但是通過(guò)使用數據驅動(dòng)處理(data-driven)和bit-mashing技術(shù)可以讓每個(gè)單元處理像素時(shí)有微小的差異。這也是將感應點(diǎn)和處理器在陣列中直接鍵合的優(yōu)點(diǎn)。圖5展示了對獨立像素進(jìn)行特殊操作的好處。通過(guò)獨立調節每個(gè)像素,處理器可以有效的擴展圖像的動(dòng)態(tài)范圍重新捕獲丟失的色彩和細節。
為了降低能耗,Eutecus在處理器陣列中使用了擴展時(shí)鐘門(mén),不工作的處理器可以關(guān)閉。Eutecus表示,工作頻率為100MHz的C-TON全部處理器工作的最大耗電量為300mW,最低可以低于50mW。這使得C-TON適用于電池供電的系統。然而,由于傳感器發(fā)熱產(chǎn)生“熱“像素,散熱就成為了這一設計潛在的問(wèn)題。當成像傳感器發(fā)熱時(shí)生成的圖像噪點(diǎn)較多,特別是在圖像較暗的部分。不過(guò)開(kāi)發(fā)人員可以用圖像處理器增大信噪比來(lái)減少這種影響。
眾多應用
Eutecus的技術(shù)可以應用于眾多領(lǐng)域,C-TON這個(gè)Eutecus技術(shù)的早期應用例子,只是其中之一。陣列的大小以及每個(gè)單元對應的感應點(diǎn)數都不是一成不變的。根據設計的需要,一個(gè)單元既可以像C-TON一樣處理8×8像素塊的數據,也可以只處理單個(gè)像素。早期0.18微米CMOS制造的模型芯片只能處理32×32個(gè)像素。
下一代設計可以像ASIC一樣,用90nmCMOS實(shí)現處理器陣列,而不用把成像傳感器鍵合到晶圓上。芯片將使用傳統的32位I/O總線(xiàn)和傳感器通訊。Eutecus表示,雙芯片運行方式可以擁有180×180的處理器陣列,運行時(shí)鐘120MHz,支持最大720×720的分辨率。該設計將通過(guò)犧牲幀速來(lái)提高分辨率,降低制造成本。盡管如此,該設計仍可每秒捕獲1000幀圖像并對圖像進(jìn)行一些形態(tài)操作。
然而,Eutecus的目標并不是成為一個(gè)無(wú)晶圓半導體公司。其主要商業(yè)模式是發(fā)放類(lèi)似于軟IP的CVT技術(shù)許可。為了實(shí)現這一目標,Eutecus為客戶(hù)提供處理器陣列及相應部件,它們就像合成的VHDL模型,顧客可將其嵌入到自己的ASIC或FPGA中。Eutecus提供的開(kāi)發(fā)工具可以讓客戶(hù)設計所需的任何大小的陣列。公司還提供為圖像處理優(yōu)化過(guò)的“Instant Vision”功能庫,供客戶(hù)進(jìn)行軟件開(kāi)發(fā)。該庫的初等函數用組合語(yǔ)言編寫(xiě),客戶(hù)可以使用高級語(yǔ)言如C,C++編寫(xiě)應用軟件。
由于在可編程邏輯芯片中無(wú)法整合成像傳感器,如果對FPGA編程來(lái)生成處理器而不是對ASIC進(jìn)行掩膜生成處理器,那么就需要片外傳感器。而且,由于FPGA的性能局限,處理器陣列的大小有所減少。然而,與制造一個(gè)ASIC相比,對FPGA編程更快更便宜。
有一個(gè)這樣的設計,它在Xilinx Virtex-4LX中生成一個(gè)20×20的處理器陣列。全局控制處理器是RSIC或在同一FPGA中生成的DSP核。在150MHz的工作頻率下,這一設計每秒可執行600億條指令,最大圖像分辨率為160×160像素(每個(gè)處理器64個(gè)像素)。Ectecus公布的最大幀速為每秒3000幀。
視覺(jué)仿真
如果客戶(hù)對幀速的要求比較低,雙芯片實(shí)現方式除了降低費用,縮短投放市場(chǎng)的時(shí)間外還有一個(gè)優(yōu)勢:一個(gè)獨立的感應器可以比多層芯片有更高的圖像分辨率。通過(guò)模仿人類(lèi)視覺(jué)的某些特性,開(kāi)發(fā)人員實(shí)現更高的分辨率。
傳統的數字圖像處理器往往掃描整個(gè)圖像,而很少或根本不關(guān)注圖像的細節。但是我們用另一種方式觀(guān)察圖像:眼睛迅速的掃過(guò)整個(gè)圖像,找出一些關(guān)鍵點(diǎn),快速的形成一副要素圖??茖W(xué)家稱(chēng)之為“快速跳躍”。這是必須的,因為雖然我們的眼睛可以觀(guān)察一個(gè)大約210度的廣闊的視野,但是在每一刻我們只能聚焦于其中的一小部分。這個(gè)點(diǎn)叫做視網(wǎng)膜凹點(diǎn),是我們大腦分析能力最集中的一點(diǎn)。而周邊的視覺(jué)主要是用來(lái)檢測運動(dòng)或照度的突然變化,這些變化能傳達潛在的威脅。圖7說(shuō)明了快速視覺(jué)和傳統視覺(jué)的不同之處。
當CVT陣列無(wú)法實(shí)時(shí)處理成像傳感器的像素時(shí),開(kāi)發(fā)人員可以通過(guò)處理小區域的像素的方法來(lái)模仿人類(lèi)視覺(jué)的快速跳躍。事實(shí)上,處理陣列就相當于視網(wǎng)膜凹點(diǎn),從傳感器的一部分跳到另一部分。智能算法可以通過(guò)用不同的方法處理像素來(lái)計算每個(gè)視網(wǎng)膜凹點(diǎn)的內容。第一步是在低分辨率下掃描全圖找到可能感興趣的點(diǎn),或者用軟件比較相鄰的幀,找出變化的部分,然后放大該區域。圖8顯示了這一過(guò)程。
智能視頻監控,是Eutecus一直在尋求的CVT技術(shù)的商業(yè)應用。通過(guò)程序控制,攝像機可以檢測廣闊視野中的運動(dòng),然后放大任何運動(dòng)的物體,進(jìn)一步的分析它。如果攝像機發(fā)現了感興趣的東西,它可以向保安發(fā)出警報。用合適的軟件監控運動(dòng),攝像機可以自己做出判斷而不用像現在那樣依靠中央計算機進(jìn)行監控或把圖像傳電視墻由安保人員來(lái)監控。
這可不是科幻小說(shuō)里的情節,某些傳統的數字攝像機已經(jīng)可以進(jìn)行簡(jiǎn)單的實(shí)時(shí)圖像分析。例如Canon和Fuji研制出了供普通消費者使用攝像機,這種攝像機在其視野內最多可以監控10個(gè)面孔。這種攝像機還可以鎖定監控對象,調節曝光。Eutecus的超高幀速和單一像素處理技術(shù)大大提高了智能視頻監控的可行性。
然而,編程人員必須做出一個(gè)選擇:軟件進(jìn)行的分析越多,處理每幅圖像所用時(shí)間越多,從而降低了幀速。如果一個(gè)程序控制工作頻率為100MHz的C-TON芯片達到每秒處理100000幀圖像的峰值陣列中的每一個(gè)處理器只有10微秒來(lái)分析和修改像素。如表1所示,C-TON可以在如此短的時(shí)間內完成這些簡(jiǎn)單的操作,但是要完成更復雜的任務(wù)就需要降低幀速或使用更快的芯片。
為超高幀速編寫(xiě)程序的人員將使用組合語(yǔ)言而不是調用C++中預先寫(xiě)好的函數。目前,Eutecus和其早期客戶(hù)密切合作開(kāi)發(fā)軟件。Eutecus承認,將來(lái)低級開(kāi)發(fā)工具是必需的。
Eutecus正在進(jìn)入市場(chǎng)
Eutecus生產(chǎn)了一個(gè)有4×4處理器陣列的早期模板芯片。這一概念芯片包含一個(gè)可以捕獲32×32像素的凸點(diǎn)鍵合成像傳感器。更先進(jìn)的C-TON工程樣品芯片正在進(jìn)行測試,這種芯片擁有8×8處理器陣列,64×64像素成像傳感器。這些芯片都證明了Eutecus的技術(shù)是可行的,當用戶(hù)掩膜ASIC或對FPGA編程時(shí),Eutecus將幫助用戶(hù)設計產(chǎn)品和編寫(xiě)軟件。
公司的主要目標是發(fā)放IP許可。Eutecus正在打造其IP塊的第一個(gè)版本:一個(gè)用于A(yíng)SIC實(shí)現方式,一個(gè)用于FPGA實(shí)現方式。而其改進(jìn)版將在本季度完成。于此同時(shí),Eutecus還在開(kāi)發(fā)其第一個(gè)瞬間可視圖像軟件開(kāi)發(fā)庫。共有信號處理,圖像處理,多目標跟蹤以及特征識別4個(gè)庫。此外,Eutecus還提供了一個(gè)開(kāi)發(fā)系統,該系統為用戶(hù)提供了一個(gè)供用戶(hù)參考的智能監控攝像機設計范例。
超高幀速傳輸技術(shù)非常專(zhuān)業(yè)化,但是這并不意味著(zhù)該技術(shù)的市場(chǎng)范圍非常小。相反,鑒于以前的先例,MPR認為超高幀速傳輸技術(shù)將為開(kāi)發(fā)人員帶來(lái)靈感,引發(fā)從未出現過(guò)甚至從未有人想像過(guò)的應用。
當1839年Louis Daguerre發(fā)表基本攝影技術(shù)時(shí),世界對其用銀版照相法捕捉逼真影像的能力大加稱(chēng)贊。但是由于技術(shù)局限,早期還無(wú)法捕捉瞬間景象。18世紀末,寬孔徑鏡頭和更敏感的感光乳劑的出現使得瞬間曝光得以實(shí)現。瞬間攝像從技術(shù)上來(lái)說(shuō)僅僅只是改進(jìn),但從應用角度來(lái)說(shuō),這和攝影技術(shù)的發(fā)明一樣是一次革命。這項技術(shù)使人類(lèi)擺脫了時(shí)間的限制,可以觀(guān)察到飛行的生物以及從未見(jiàn)過(guò)的景象。最著(zhù)名的例子就是Eadweard Muybridge用暫停動(dòng)作圖像證明了馬在奔跑的時(shí)候四蹄同時(shí)離地,這一結果畫(huà)家們幾個(gè)世紀以來(lái)從來(lái)沒(méi)有觀(guān)察到。
20世紀,使用模擬技術(shù)的高速攝影進(jìn)一步擴展了人類(lèi)的視野。Harold Edgerton用電子閃光捕捉到子彈穿過(guò)蘋(píng)果的圖像。專(zhuān)用高速膠片攝像機為我們展示了水滴的形態(tài)以及核彈爆炸時(shí)可怕的景像。但是,在過(guò)去這些攝制這些圖像不但需要昂貴的設備,還受到機械影像傳輸的限制。攝像機無(wú)法反映出其所攝的景象。
超高速自適應攝像是21世紀攝像技術(shù)的一次革命。很快,普通消費者負擔的起的攝像機將被研制出來(lái)。這種攝像機可以攝取生物無(wú)法察覺(jué)到的事物。過(guò)不了多久,這種攝像機將被用作被動(dòng)監視器。將傳感器陣列和處理其陣列結合在一起是一個(gè)令人印象深刻的技術(shù)創(chuàng )新,因為它可以在感應成像的同時(shí)處理圖像。
和其它新技術(shù)一樣,高速數字成像技術(shù)的應用既令人興奮又令人恐懼。但是它是人類(lèi)感知的一次擴展,為智能化機器的設計提供了一條新路。
c++相關(guān)文章:c++教程
模數轉換器相關(guān)文章:模數轉換器工作原理
cvt相關(guān)文章:cvt原理
風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
評論