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

ALVA空間智能視覺焊接方案重構工業焊接范式
【網絡研討會】掌握FLIR IIS工業相機的色彩處理:從感知到精準

東軟引領醫院智慧服務新范式



什么是高光譜相機?高光譜相機有什么用?

VSP2560/62/66數字相機混合信號處理IC數據表

評論