佐思周彥武老師的事件相機,引發(fā)了對幀事件的思考。基于該思考,對事件相機做一個整理,具體算法不去解釋。主要參考《Event-based Vision: A Survey》
事件相機最初是神經(jīng)形態(tài)學(xué)工程的一個產(chǎn)物,主要是利用VLSI(Very Large Scale Integration)去模擬、實現(xiàn)人與其他動物大腦中的某些神經(jīng)元構(gòu)造,如人眼只關(guān)注相對運動的物體,而不去關(guān)心相對靜止的物體,這里的相對運動使用脈沖編碼方式來實現(xiàn)(即事件相機)。
事件相機與傳統(tǒng)相機存在很大的差別,相比于傳統(tǒng)相機以固定頻率采集圖像,事件相機大多是通過測量每個像素的亮度變化來輸出異步信號(包括事件、位置和亮度變化的符號)。事件相機與傳統(tǒng)相機相比有很多的優(yōu)點:
沒有幀率的概念,它不同于等時間間距采樣的方式,其通過等亮度變化值采樣的方式,可以捕捉更快的動作,對快速變化的亮度十分敏感,所以不受運動模糊的影響;
單個像素的電路設(shè)計比較復(fù)雜,無法獲得單個像素的亮度值,并且其采用對數(shù)響應(yīng)的方式,所以可以獲得較高的動態(tài)測量范圍和高時間分辨率;
減少數(shù)據(jù)冗余,極大減小了數(shù)據(jù)的傳輸帶寬;
由于其眾多的優(yōu)點,事件相機被應(yīng)用在物體跟蹤、識別、手勢控制、三維重建、光溜估計、SLAM等領(lǐng)域。
一)事件相機的原理
如上圖,每個像素都有一個計算電路,左邊的光電轉(zhuǎn)換電路將光強轉(zhuǎn)換為電壓值,使用一個差分電路,計算像素亮度的變化(該變化說明,事件相機取決于亮度的變化,與亮度的絕對值無關(guān)),當亮度變化累積達到一定閾值(該閾值一般為相機的固有參數(shù))后,就會觸發(fā)信號。該相機采用特殊的編碼方式,即Address Event Representation,進行二值圖像的壓縮,一般圖像的編解碼都會被供應(yīng)商集成到硬件SDK中。
二)關(guān)于事件的理解
事件相機,重點在于事件的理解。所謂的事件有三個要素:1)時間戳、2)像素坐標、3)極性;即一個事件可以表達為“在什么時間,哪個像素點,發(fā)生了亮度的增加或者減小”。
當場景中由物體運動或光照改變造成大量像素變化時,就會產(chǎn)生一系列的事件,這些事件以事件流(Events stream)方式輸出,事件流的數(shù)據(jù)量遠遠小于傳統(tǒng)相機的數(shù)據(jù),且沒有最小實踐單位。所以具有低延遲的特性。以下裝置來說明事件相機:
上圖可以抽象為如下,圖中的polarity可以是1,也可以是-1,用來表示該像素是變亮還是變暗,將事件分為on和offer。下圖右側(cè)上方,是傳統(tǒng)相機的輸出,下方為事件相機的輸出。當圓盤轉(zhuǎn)動時,傳統(tǒng)相機會定時拍攝完整的圖像,下方事件相機僅會輸出變化,即黑斑的運動。當圓盤不動時,傳統(tǒng)相機依然會傻傻的拍攝圖像,而事件相機則不會產(chǎn)生任何輸出(傳統(tǒng)相機很癡情,事件相機很渣)。
當轉(zhuǎn)速很快時:
事件相機一個特點就是快,兩個events之間平均時間差約為0.1us左右;雖然在事件相機中,輸出的event只有高低電平之分,無法分辨intensity,但不同強度的變化所激發(fā)的event數(shù)量是不同的。如果有條件進行實驗的話(推薦CeleX5,非廣告,便宜有方便),當相機運動時,視野內(nèi)會出現(xiàn)一條明暗邊界,由于邊界兩邊存在明暗對比,邊界會激發(fā)一條同形狀的event點群;同樣的形狀下,明暗對比越大的邊界,在相同情況下激發(fā)的event數(shù)量越多,這樣就可以得到較為粗糙的強度信息。如上圖中低速運動和高速運動所激發(fā)的event數(shù)量有明顯的不同。
三)事件相機的處理范式
事件相機的處理一般有兩種方法,一是模型驅(qū)動型,從其他傳感器獲得模型,如半稠密圖,然后通過處理一個個事件來更新系統(tǒng)狀態(tài);另一個是數(shù)據(jù)驅(qū)動,利用機器學(xué)習(xí)的方法來獲取事件之間的關(guān)聯(lián)性。
由于事件相機輸出的是事件流,有三種常見的處理范式,分別為:
a)Event-by-Event:Event-by-Event方法會被用在很多任務(wù)中,如slam中的特征追蹤、位姿追蹤以及圖像重建等。如前面提到event經(jīng)常大量出現(xiàn)在明暗分界線明顯的地方。在vSLAM的Visual Odometry(通過求相鄰圖像的差別來計算相機的姿態(tài)變換,然后求得相機的位姿)中,基于feature based approach使用的feature一般也都是在明暗分明的地方。所以在vSLAM中,采用事件相機可以幫助過濾一些無用的信息,減少計算量。
b)Groups of Events:由于每個事件攜帶的信息比較少,且容易收到噪聲的影響,所以一般截取一段時間內(nèi)的事件一起處理,這樣可以為需要解決的問題產(chǎn)生足夠的信噪比。這樣可以將事件轉(zhuǎn)換為傳統(tǒng)相機的frame,然后運動傳統(tǒng)的視覺方法進行解決。另外也可以直接利用event之間的關(guān)聯(lián)性,來進行目標檢測、光流估計、深度估計等。如利用事件的像素直方圖、最近時間戳表面(SAE)、插值體素網(wǎng)絡(luò)將event轉(zhuǎn)換成CNN使用的張量數(shù)據(jù),然后采用類似encoder-decoder的架構(gòu)進行應(yīng)用(Event-based Vision: A Survey)。
c)SNN:全稱Spiking Neural Networks,是一種脈沖事件的神經(jīng)網(wǎng)絡(luò)。它將視覺空間中的一個小區(qū)域作為輸入事件,不同于CNN的每一次迭代傳播都被激活,只有當event的狀態(tài)超過一定閾值時,才會激活,產(chǎn)生輸出。關(guān)于SNN,則是另外一個全新的領(lǐng)域,這里不做介紹。
四)關(guān)于事件相機的思考
事件相機雖然有很多的特點,但大多還停留在實驗室階段,適合占坑:
事件相機具有很高的頻率(可以達到1000Hz以上),但無論在無人機還是自動駕駛領(lǐng)域,都不需要太高的頻率(200Hz足以)。而目前傳統(tǒng)相機也有達到200Hz以上,如iphoneX的攝像頭頻率可達240Hz。
事件相機可以在檢測、目標重建方向發(fā)揮更大的作用,但在視頻理解、語義分割領(lǐng)域還存在很大的缺陷。另外隨著深度學(xué)習(xí)的發(fā)展,利用視頻連續(xù)幀之間關(guān)系,也能夠達到類似event的特點,如深度估計或光流估計。
事件相機適應(yīng)性較強,在低光照或者高動態(tài)環(huán)境下信號穩(wěn)定,可以與傳統(tǒng)的相機相結(jié)合,即將event sensor集成在普通相機中(如 Dynamic and Active-pixel Vision Sensor,集成了event sensor、普通相機、IMU等),多方優(yōu)勢互補,既能在低光照或者高動態(tài)下獲得穩(wěn)定的信號,又能夠進行視頻理解、語義分割等功能。這種相機可以用在無人機或者無人駕駛領(lǐng)域。
審核編輯 :李倩
-
頻率
+關(guān)注
關(guān)注
4文章
1533瀏覽量
59320 -
相機
+關(guān)注
關(guān)注
4文章
1364瀏覽量
53801 -
數(shù)據(jù)冗余
+關(guān)注
關(guān)注
0文章
5瀏覽量
6548
原文標題:關(guān)于事件相機的整理與思考
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論