使用事件相機與脈衝神經網路估計深度資訊

只使用單目相機進行深度估計的方式有許多種,如從影像的陰影中重建深度,或是使用RGB圖像輸入進神經網路中提取有關於深度的特徵後估計深度,這次要介紹的深度估計方式是基於焦距的變化,對每個像素因為焦聚變化後對比度產生的變化來估計深度,並使用脈衝神經網路減少功耗與增加計算速度。

另外值得一提的是,只使用一張二維圖像去估計三維空間的訊息是具有無限多個解的,所以這類型的估計都一定會有誤差存在。

對於深度估計的許多演算法都是從生物或是藝術上獲得的靈感,如雙眼視差、透視、物件大小等,關於這次要介紹的基於焦聚變化估計深度的方式,解可以分為不同的類型,第一種類似於1996年George Mather[1]介紹過人眼在注視某個物體時,該區域會聚焦在視網膜的中央凹上面,而其他區域則會比較模糊,藉著基於這種由清晰到模糊的梯度變化估計深度資訊,第二種類型則是接下來要介紹的,主動使焦聚產生變化,並觀察感興趣的物體周圍模糊的程度,確認焦距並估計深度值,這種方式也被叫做Depth From Defocus(DFD)或是Depth from focus(DFF)。

在這篇論文中,首先使用事件相機(Event camera)的相機,這種相機只有在觀測到某個像素發生亮度變換後,才會輸出事件,並產生輸出,如圖一所示,當亮度變亮,會場生ON的事件,而亮度變暗則會產生OFF的事件。
圖一

而當我們主動改變相機的焦聚時,亮度也會發生變化,且如果場景以及我們本身都是靜止時,這種亮度變化只會因為物件的模糊與清晰而在物件的邊緣產生,如圖二中,對於一個球體套用這樣的變化時,在某個瞬間會是ON事件與OFF事件產生變化的點,也就是焦點的位置,藉由觀測因變焦而產生的模糊大小以及模糊變化的時間,我們可以推估出深度資訊。
圖二

在最後的脈衝神經網路的部分,這篇研究充分的利用了脈衝神經網路對於時空編碼的優勢,藉由到達焦距的時間產生的脈衝訊號以及結束焦聚變化的時間產生的脈衝訊號之間的時間間隔來估計深度資訊(圖三),而在過去使用人工神經網路來執行DFD任務時,往往會使用卷積的方式來估計模糊的程度,並不會使用到時間的資訊,且需要更多的計算資源才能達成。
圖三

總之,最後我們就可以將以上所有步驟合起來,獲得深度估計的結果拉!(圖四)
圖四


撰文:唐朝洋


Reference:
[1] Mather, George. "Image blur as a pictorial depth cue." Proceedings of the Royal Society of London. Series B: Biological Sciences 263.1367 (1996): 169-172.
[2] Vishwanath, Dhanraj, and Erik Blaser. "Retinal blur and the perception of egocentric distance." Journal of Vision 10.10 (2010): 26-26.
[3] Haessig, Germain, et al. "A spiking neural network model of depth from defocus for event-based neuromorphic vision." Scientific reports 9.1 (2019): 1-11.


留言