1. 術語及定義
1.1 鐳射雷達,Light Detection And Range, LiDAR
發射鐳射光束,並接收回波以獲取目標三維和/或速度資訊的系統;
1.2 機械旋轉鐳射雷達,Mechanical Rotary LiDAR
通過電機帶動鐳射收發陣列進行整體同步旋轉,從而實現對空間垂直視場角方向、360°視場範圍的掃描的鐳射雷達;
測距能力在垂直視場角方向、360° 視場範圍內保持一致;
1.3 半固態鐳射雷達,Hybrid Solid-state LiDAR
採用微振鏡,即 MEMS(比如速騰的 M1),或者轉鏡方式(比如禾賽 AT128),鐳射收發單元不再進行機械運動,適用於實現部分視場角探測的鐳射雷達;
注:也可以不採用上述掃描方式,收發單元採用共軛電磁微振動原理(賽瞳的 MMT 掃描方式)實現掃描;
1.4 固態鐳射雷達,Solid-state LiDAR
無機械運動部件,適用於實現部分視場角探測的鐳射雷達,掃描方式比如 OPA,Flash,FMCW 等;
1.5 點雲,Point cloud
以離散,不規則方式分佈在三維空間中的點的集合;
通常點雲資訊中含有,位置(xyz)、反射率、時間戳;
1.6 噪點,Noise point
實際位置沒有真實目標,但是點雲中出現的點;
1.7 拖點,Mixed pixel point
一個鐳射束在前後交疊兩物體上引起的邊緣之間的假點;
1.8 探測概率,Probability of Detection, POD
實際回波與理論回波的比值,也稱為檢出率;
1.9 幀率,Frame frequency
LiDAR 對同一個目標點探測的頻率,常見的比如 10Hz,20Hz;
1.10 盲區, Blind range
能夠穩定輸出滿足精度要求的點雲,最小探測距離
1.11 最大探測距離,Max detection distance
相對於最小探測距離,有回點的最大探測距離
1.12 視場角,Field Of View,FOV
點雲覆蓋區域相對座標原點的最大張角,分為水平方向和垂直方向;
比如水平視場角,HFOV,120°,垂直視場角,VFOV,90°;
1.13 角解析度,Angle Resolution
鐳射雷達最小的可以分辨物體間的夾角;
1.14 精度,Precision
相同條件下,對被測物體反覆測量,測量值之間的一致程度;
基於測量平均值,用各測量值的標準差來表示,用 σ 表示;
比如 5 cm(1σ);
1.15 準度,Accuracy
測量值的均值和真值之間的誤差,用 μ 表示;
比如 ± 5 cm;
1.16 反射率,Reflectivity
物體反射的輻射能量佔總輻射能量的百分比;
比如 10%,90%;
1.17 可接受發射,Accessible Emission,AE
在某個位置使用孔徑光闌,計算出阿里要求確定輻射量;
1.18 可接受發射極限,Accessible Emission Limit,AEL
參考 60825 規範中,對於一特定類別,允許的最大可接受發射;
1.19 最大允許照射量,Max Permissible Exposure,MPE
正常情況下人體受到鐳射照射不會產生不良後果的鐳射輻射水平;
1.20 表觀光源,Apparent Source
對於一個給定的視網膜危險評估位置,形成最小可能的視網膜影像的真實或虛擬物件;
1.21 表觀光源對向角,Angular subtense of the apparent source
從空間中某點,觀察表觀光源所張的對向角,用 α 表示,單位是弧度;
1.22 最小對向角,Min Angular Subtense,αmin
表觀光源的對向角的值,αmin;
若光源對向角>αmin ,稱之為擴充套件光源;
若光源對向角 ≤ αmin ,稱之為小光源;
若光源對向角 < αmin ,其 MPE 和 AEL 不依賴於光源尺寸;
αmin = 1.5 mrad;
1.23 最大對向角,Max Angular Subtense,αmax
鐳射光束對向角的值,αmax;
若光源對向角 > αmax ,其 MPE 和 AEL 不依賴於光源尺寸;
αmax 在 5 mrad ~ 100 mrad 之間變化;
1.24 接收角,Angle of Acceptance,γ
檢測器響應光輻射的平面角,用 γ 表示,單位是弧度;
接收角角度可以通過置於探測器前的孔徑或者光學元件來進行控制;
1.25 孔徑光闌,Aperture Stop
用來限制測量輻射的區域的開孔;
1.26 連續波,CW
鐳射器以連續輸出方式執行,且連續時間 ≥ 0.25 s;
1.27 漫反射,Diffuse reflection
藉由一個表面或是介質,向多個方向散射以改變輻射光束的空間分佈;
一個完美的漫反射器,可以清楚入射方向和顯現的輻射之間的所有關聯;
2. 前言
2.1 電磁波波段
根據電磁波的頻率可以分為:無線電波,微波,紅外線,可見光,紫外線,X 射線和伽馬射線;
可見光和紅外線比無線電波和微波有著更短的波長,但是比 X 射線和伽馬射線波長長;
光速 = 波長 x 頻率;
比如一個 10 GHz 的微波雷達,可以計算出它的波長是 3 cm,稱之為 X 波段雷達;
一個 1 GHz 雷達,那麼它的波長為 30 cm,稱之為 L 波段雷達;
常見的車載鐳射雷達波段在 905 nm 或者 1550 nm,目前主流的還是 905 nm,1550 nm 成本上要貴很多,但是對於人眼更安全,測距能力也更遠,剛上市的蔚來 ET7 所搭載的,就是圖達通的 1550 nm 鐳射雷達;
從 Velodyne 給的這張對比圖可以看出,對於雨雪天氣,905 nm 波長要好於 1550 nm 波長的;
2.2 鐳射雷達成像系統
一個典型的 LiDAR 成像系統,如下圖所示,鐳射發射器發射鐳射,打到物體目標,反射回來,探測器接收到回波訊號,從而計算出距離和速度等資訊;
鐳射發射器:邊發射鐳射器(EEL),腔發射鐳射器(VSCEL)等,主流供應商一般是 歐司朗 OSARM,濱鬆 HAMAMATSU;
探測器:矽雪崩光電二極體(Si APD),單光子雪崩二極體(SPAD),矽光電倍增管(SiPM)等,主流供應商一般是 SONY,HAMAMATSU;
掃描方式:傳統的機械式(電機帶動鐳射器進行旋轉),半固態的比如 MEMS 振鏡方式,轉鏡,MMT 電磁共軛微振動等,純固態的比如 FMCW,OPA 等;
3. 成像方法
3.1 三角測量法,Triangulation
三角測量法利用三角法來提取 3D 空間資訊,在同一個場景,已知兩個攝像頭的距離 d,通過兩張二維影像來進行距離資訊的提取從而構成三維影像;
利用立體視差演算法來處理影像並計算目標的距離, 人眼就是通過這樣的方式來獲取深度資訊,兩個攝像頭類比人的兩個眼睛;
立體視覺的優勢在於它以簡單的被動方式,實現了高解析度和全範圍影像的同時採集,使用傳統的相機就可以了;
然而,這種方法需要解決所謂的對應問題(點對的識別,它們是場景中同一點的投影),所以演算法成本很高,並且幀率有限;
此外,立體視覺演算法魯棒性比較差,事實上,如果附近的物體覆蓋了兩幅影像之一中的遠處物體,它就會失敗,無法測量更遠的距離,並且三維影像會丟失資訊;
最大滿量程 (FSR) 取決於兩個相機之間的基線,基線越大,範圍越長,感應範圍也越遠。
所以目前基於立體視覺成像的相機,工作距離為 3 - 5 m 左右,並不能看到很遠的地方;
3.2 結構光注入,Projection with structured light
不同於三角測量法,結構光注入需要一個主動發光源,它向場景中的物體照射預定模式的光(通常是水平或垂直線或點,如下圖所示):
在接收端,獲取 2D 影像,然後分析接受回來的光,是如何被目標進行修改的,然後試圖重構 3D 距離和形狀;
通過工作原理我們就可以知道,這項技術可以達到十分精確的精度,亞毫米級別的解析度,但是處理速度會很慢,因為演算法過於複雜,不能提供實時的解析;
除此之外,為了提高深度資訊的準確性,對於單個場景,甚至要選取多個模式進行多次掃描;
相機也需要進行移動來獲取更多場景的資訊,但是這也降低了測量的速度,所以結構光法犧牲了速度,來換取精度;
FSR 也在幾米範圍內,並不能看到很遠,所以也限制了它的用途;
一個典型的例子,就是微軟的 Kinect v1 遊戲機,利用的就是結構光注入來獲取 3D 影像,支援 3~5 m 的範圍,5 mm 的精度;
3.4 ToF,時飛法
ToF(Time-of-flight,時飛法) 通過測量一束光穿過介質,到達目標,然後返回到檢測器的時間;
這項技術不僅廣泛用於鐳射雷達,也用於生物成像中;
和立體成像,結構光注入成像不同,ToF-LiDAR 不需要複雜的重構演算法,所以可以用於實時場景;
除此之外,對於大視場角的場景,ToF 技術是最適合的而且可以保證釐米級別的精度;
TOF 分為 dToF 和 iToF,前者使用時間分辨探測器和電子裝置(脈衝鐳射雷達)直接測量,後者通過相位分辨測量(用於連續波,即 CW-LiDAR)間接估計;
3.4.1 直接時飛法,Direct time-of-flight,dToF
脈衝鐳射雷達,利用 dTOF 方式,測量鐳射束髮出,穿過介質,到達目標,返回到檢測器的時間;
通過飛行的時間,就可以輕鬆的計算出距離資訊;
該技術需要短(通常 <1 ns)鐳射脈衝,高頻寬探測器,具有亞納秒解析度和時間抖動的定時電子裝置;
脈衝鐳射雷達中,電子裝置的解析度直接影響到深度資訊的解析度;
FSR 的距離僅受限於發光的功率,目標的反射率和定時電子裝置;
出於這樣的原因,脈衝鐳射雷達在某些長距場景下得到廣泛應用;
使用低功率的鐳射器,但是為了能夠達到,對於低反射率目標長距離檢測效能,單光子檢測器 + 光子計時器(比如 time-to-digital converter, TDC)+ 光子計數器(比如數字門控計數器)成為必須;
返回的不再是模擬資訊(比如光電流,或是光電子電荷包),而是數字訊號(比如至少檢測到一個光子時的一個邏輯的上升沿);
對於單光子,進行重複的 TOF 測量,這種方式稱之為 TCSPC(time-correlated single-photon couting, 時間相關單光子計數法),能夠非常微弱和快速(ps 級別)光訊號進行重建;
如下圖所示,脈衝鐳射雷達系統使用 TDC 來記錄鐳射脈衝到達時間戳(下圖中 a),或者使用門檢測器,來測量一個短的 gate window 內的訊號強度(下圖中 b);
對於非常微弱的訊號,這兩種檢測方式都可用,對於單個光子,重複測量多次,來構建獲取資料(飛行時間或者強度)的直方圖;
每次測量,檢視場景中的單個點或整個場景,這取決於光學器件以及是否使用單畫素探測器或多畫素成像器,不過無論如何,通常每個畫素都會累積一個直方圖;
下圖中的 c 和 d 可以看到直方圖累加的效果,直方圖質心的計算給出了平均 ToF,關於目標距離和形狀的資訊也可以從反射訊號的直方圖中提取;
TDC 方式對於 FSR 距離內所有返回的光子都很敏感,門控檢測方式通過選擇視窗(即 gate window),只計算部分返回的光子,所以會減少背景光的干擾;
另一方面,TDC 方式大大降低了測量的實際檢測效率,無論什麼情況下,逐行掃描都需要很長的測量時間,並且其結果很難支援實時應用和遠距離測量;
而且 TDC 方式會被 TDC 轉換器的最大數目,每個鐳射束的儲存可用性和單光子探測器的 dead-time(比如準備進行下一次轉換和檢測需要的時間)所限制;
因此與 100% 檢測效率,無 dead-time,多觸發 TDC 元件的理想情況相比,實際的脈衝鐳射雷達系統還是存在很大的效能限制;
3.4.2 AMCW 連續波調幅
對於 連續波鐳射雷達(Continuous-wave, CW-LiDAR),沒有采用發射高能量鐳射束,而是使用調幅(AMCW)或者調頻(FMCW)光訊號;
AMCW-LiDAR 使用所謂的 非直接時飛法(indrect-TOF, iTOF),依賴於對發射的調幅光源,和收到的背向散射回波訊號進行對比;
激發訊號可以是正弦調幅光,或來自鐳射器或 LED 的光脈衝(脈衝寬度為數百納秒);
使用正弦調製方式,回波訊號相對於發射訊號發生相移,其量與源調製頻率 f 和物體距離成正比;
從相位偏移 ΔΦ 中,可以計算出距離:
D = c·ΔΦ/4πf
通常相位偏移 ΔΦ,通過空間中四個等距點 C0 C1 C2 C3 取樣正弦回波訊號強度,然後計算出相位偏移:
ΔΦ = arctg((C3-C1)/(C0-C2))
在脈衝調製方法中,鐳射源發射持續時間 Tp 為幾百納秒(通常與所需的 FSR 成正比)的光脈衝,並且後向散射光在三個時間視窗內積分,寬度相同但時間延遲;
- 第一個積分整個訊號(背景光加回波脈衝)
- 第二個積分相同的背景光,但只有一部分回波脈衝
- 第三個時間視窗只對背景光進行積分,然後從前兩次測量中減去
兩個結果強度之間的比率(乘以 2π)得到相位偏移 ΔΦ;
通過這樣的方式,測量方式不會依賴於背景光,光源功率和目標反射率,與之相對比, AMCW-LiDAR 的解析度和這些因素很相關;
最終,距離通過以下的表示式計算出來:
D = 0.5 · Tp · (1 - ΔΦ/2π)
通常 FSR 被調製週期限制:比如 100 ns 的脈衝或者 10 MHz 的調製最多可以支援 15 m 的探測距離;
儘管如此,基於多個調製頻率或線性 chirp 調製的方法已被實施,以擴充套件明確的測量範圍;
3.4.3 FMCW 連續波調頻
對於調頻 FMCW-LiDAR,鐳射頻率(比如鐳射的波長)被調製;
通常,調製由線性啁啾訊號 chirp 和一小部分鐳射束組成,用作回波訊號的外差解調的本地振盪器,如下圖所示:
調製的頻寬往往比 linearly-chirped AMCW-LiDAR 要寬,所以會有更好的深度資訊解析度;
檢測需要藉助外差探測(也稱為相干探測)方式,很弱的輸入訊號與一些非線性裝置中的強的“本地振盪”的波混合在一起,混合光在被濾除掉原始訊號和局域振盪頻率後被探測到;
使用低頻寬的器件和更具價效比的檢測器,可以達到的精度要比 dTOF 更好;
FMCW-LiDAR 的另一個優勢是它可以直接測量出目標速度,通過多普勒位移;
但是最大的侷限性是 FMCW 要求鐳射的長相干長度,因為它會影響到本地振盪器相對於反向散射波的穩定性,從而引起相位噪聲;
如果被測量的距離小於鐳射相干長度,那麼拍頻的頻率峰值就會變得尖銳而狹窄,反之峰值會變寬幅度會減小;
鐳射的相干長度限制了 FMCW-LiDAR 的探測距離,然而最近也有一些鐳射雷達公司的 FMCW-LiDAR 可以達到 300 m 的探測距離;
4. 掃描方式
TOF 的鐳射雷達通過單光點,面鐳射束或者平面發光方式;
前兩者需要分別通過一維或二維掃描覆蓋整個場景,而後者在 Flash-LiDAR 中使用,不需要掃描元件,類似於相機的曝光一樣;
4.1 單點掃描
單點照明通常也使用單畫素檢測器(下圖中 a),因此,同軸光學系統(下圖中 f )是首選,以避免任何對準和視差問題;
請注意,這樣的單個畫素可能由一組(例如陣列)檢測器組成,所有檢測器都充當整體檢測器(不可能在活動區域內提供更多空間資訊),例如在矽電倍增管中;
圖 b 中,使用 2D 陣列檢測器(陣列有效面積大於鐳射光點),通過簡單的非同軸光學裝置將照明光點照射在目標上,並測量穿過 2D 檢測器的回波訊號;
由於檢測器不僅會收到回波訊號,也會收到環境中背景光的影響,從而訊雜比低,效果並不好;
4.2 面照明
利用面照明,可與線性探測器陣列結合使用,圍繞其軸機械旋轉以加快掃描速度,或使用同軸光學系統(上圖 c),一個典型的例子就是這種機械旋轉式的鐳射雷達;
同樣在這種情況下,可以只掃描面照明,同時保持固定的二維陣列探測器對整個場景進行成像,或一次僅啟用一行(上圖中 d,也就是所謂的 64 線,128 線之類);
4.3 Flash
Flash LiDAR,每次直接掃描整個平面;
同時使用凝視相機,其中每個畫素對場景的一個特定點進行成像,並測量相應的距離;
“Flash” 這個名字強調了以非常高的幀率,採集影像的可能性,理想情況下也是在單次鐳射拍攝中,因為不需要掃描;
Flash 的優勢是顯而易見的,不需要進行拼接,解析度也高;
劣勢也是顯而易見的,覆蓋足夠寬的 FOV 所需的鐳射脈衝能量通常非常高,如果人類在很短的距離內穿過 FOV,通常會遠遠超過人眼安全限制,所以目前基於 Flash 的鐳射雷達還並不安全和成熟;
對於低反的物體,基於 Flash 的 LiDAR 看的範圍也不遠;
4.4 微振鏡,Micro Electro-Mechanical System,MEMS
當我們需要進行掃描的時候,波束控制可以通過光機械部件(比如轉鏡和稜鏡),或者電機械部件來移動(比如電機),又或者 MEMS (Micro electro-mechanical systems),和 OPA(solid-state optical phase arrays);
MEMS 和 OPA 為機電掃描提供了更緊湊、更輕便的替代方案,因此掃描速度也更快,例如通過使用諧振鏡;
MEMS 技術目前比 OPA 更加成熟,所以在現在的鐳射雷達掃描系統裡面是首選,國內的比如速騰的 M1 就是 MEMS;
4.5 轉鏡
從前面介紹的面照明那塊,我們可以看到傳統的機械式,採用 360° 機械旋轉的方式,來控制鐳射束的發射方向;
這樣的機械式設計,整個收發裝置都要進行旋轉,很難去過車規認證,上不了車;
所以通過轉鏡的方式來控制出光方向,使得發射接收模組並不需要進行旋轉,為半固態;
發光機制的選擇往往需要在很多效能之間進行權衡,比如鐳射能量,重複頻率,人眼安全,檢測器結構,測量速度和系統複雜性;
相比於掃描技術,Flash 鐳射雷達直接對整個平面進行曝光,自然需要更高的發射鐳射能量,而且檢測器也要有能力處理足夠的返回訊號;
出於人眼安全考慮,這種泛光照明方式會更好(如果沒有人離鐳射雷達器太近),因為即使總髮射功率很高,它也會分佈在更廣的區域,因此單位面積的功率可能低於單點遠距離照明;
Flash-LiDAR 的光學結構更加簡單,但是代價就是需要大畫素數量的 2D 檢測器;
事實上,畫素的數目制約了給定 FOV 的角解析度,反之亦然,給定角解析度,畫素數目制約了 FOV;
掃描方式影響到了獲取速度和幀率:尤其是 2D 掃描方式,非常的慢,對於實時獲取和高速物體很難掃描;
然而,Flash-LiDAR 也可以不是單次曝光,而是可以通過更多次的曝光和影像採集,來收集足夠的訊號,因為總脈衝能量分佈在寬 FOV ,而且返回訊號(最重要的是來自遠處物體) 可能非常非常微弱;
接下來我們會關注於利用面照明的 1D 線性掃描和泛光照明的 Flash-LiDAR;
5. 脈衝鐳射雷達需求和挑戰
鐳射雷達的效能指標往往關注 FSR,精度,FOV,角解析度和處理速度,除此之外,戶外情況下對於強背景光干擾的處理,人眼安全和鐳射雷達之間的抗干擾;
就 FSR 來言,鐳射雷達系統分為
- 短距(幾米範圍,比如 AR 遊戲)
- 中距(幾十米,比如工業自動化中)
- 長距(幾百米甚至到幾百公里,比如自動駕駛和衛星探測)
長距可以通過脈衝鐳射雷達技術,與高功率鐳射器、具有單光子靈敏度的探測器,和具有足夠 FSR 的定時電子裝置 (TDC) 相結合來實現;
脈衝鐳射雷達中,測量精度受 TDC 解析度(即 LSB)和門窗之間的最小可行延遲偏移的強烈影響,因此 FSR 與精度相互制衡;
除此之外,可以通過獲取更多到達時間,然後再重複多次測量中計算出均值來提高精度;
FOV 和角解析度取決於掃描速度和掃描數目,對於 Flash-LiDAR,取決於畫素數目;
獲取速度,對於實時應用來說一個十分重要的因素,也與 FOV 和角解析度有關;
事實上在掃描系統中,FOV 和角解析度越好,處理速度就越慢;
Flash-LiDAR 中也有類似的效能權衡,因為給定鐳射源的功率,更大的 FOV 和更多的畫素數目會導致,每個畫素的光子更少,從而需要進行更多次的重複測量;
對於高幀率的脈衝鐳射雷達,儘可能多的光子需要被檢測到,然後打上時間戳,因此獲取速度也影響著整體的檢測效率;
動態範圍 / Dynamic range, DR 對於檢測系統來說是一個很大的挑戰,尤其是在強背景光下(例如,室外有太陽光照),和距離非常不同,且反射率和角度變化極大的不同目標時;
除此之外,背景抑制 / Background Rejection(比如如何在返回的訊號中過濾掉背景光)對於高效能鐳射雷達來說,是一個關鍵因素;
6. 脈衝鐳射雷達探測技術
6.1 通用的探測器
1. 電荷耦合元件(Charge-coupled devices, CCDs)
- 電子倍增 CCDs(Electron-multiplying CCDs, EM-CCDs)
- 增強 CCDs(Intensified-CCDs,I-CCDs)
2. 雪崩光電二極體(Avalanche photodiodes,APDs)
3. 單光子雪崩二極體(Single photon avalanche diodes, SPADs)
4. 矽光電二極體(Silicon photomultipliers, SiPMs)
- Analog SiPM, a-SiPM
- Digital SiPM, d-SiPM
雪崩光電二極體 APD 目前比較成熟,也是目前鐳射雷達主流的探測器選擇,以 Hamamatsu 的這一款 L11854 舉例:
對於探測器端接收到的功率,Pdet = E·A·1/L2·R·P ,比如低反長距的物體,取 E = 0.1, A = φ 3 cm, L = 100 m, R = 10%;
所以 Pdet = 10-9 ·P;
例如:10 W 峰值功率的 905 nm 鐳射器,鐳射脈寬為 5 ns,帶入可以計算出:
- 0.5 A / W 靈敏度時,近 100 個計數;
- 0.1 A / W 靈敏度時,近 20 個計數;
也就是對於 10% 反射率的物體,在 100 m 距離,只有幾十個光子;
根據下圖可以看出,APD 最小探測的光子量級在 103,所以對於這種長距低反的情況,只有幾十個光子,所以需要有高增益的探測器,也就是 SPAD 和 SiPM;
SPAD 區別於 APD,是單光子探測器,每次至多檢測一個光子,而且每次光子檢測之後,需要幾個納秒的死區時間來準備下一次檢測,從而將最大計數率限制為大約 100 MHz;
SPAD 的工作模式:
- 工作電壓 > 擊穿電壓,光子入射,出發雪崩,開始探測
- 淬火,使得工作電壓 < 擊穿電壓,抑制雪崩,電路停止工作
- 復位,將工作電壓拉回到大於擊穿電壓狀態,重複步驟 1
SiPM 由許多微單元的並聯組成,每個微單元由一個 SPAD 及其前端電路組成;
所以 SiPM 是光子數分辨探測器,即它們提供有關同時檢測到多少光子的資訊,因此它們可以達到比單個 SPAD 更高的計數率,與微單元(即 SPAD)的數量成正比:
例如,具有 100 個 SPAD 的 SiPM 可以達到,比單個 SPAD 高大約 100 倍的計數率;
下圖是 ON 給出的對比材料,SPAD 和 基於 12 個 SPAD 的 SiPM,SPAD 只有 0/1,但是組合之後的 SiPM 就可以對多個光子進行統計了:
SPAD 的輸出波形,單幅值,1/0,無法分辨回波強度:
MPPC(多個 SPAD)輸出波形,多幅值,回波強度可以分辨:
SPAD 陣列由許多獨立的畫素點構成,每個裡面都有一個 SPAD,它的前端電路和一個處理電子元器件(比如計數器或者 TDC),用來對檢測到的光子進行計數,或者記錄檢測到光子的到達時間戳;
因此 SPAD 陣列中影像的解析度和 SPAD 的數目有關;
類似的,SiPM 陣列是由很多個 SiPM 構成,每個 pixel 都會提供空間資訊,所以成像的空間解析度是由 SiPM 的數目決定的,而不是微單元的數目;
和 SPAD 陣列相比,SiPM 陣列空間解析度更低;
下圖中比較了幾種不同探測器技術,就時間解析度,敏感度和 pixel 數目;
- 時間解析度 / Timing resolution 在測量光子到達時間的時候很重要
- 敏感度 / Sensitivity 對於長距測量中有用尤其是對於低反射率物體
- pixel 數目 影響 FOV,角解析度和測量速度
就時間解析度而言,上圖中水平座標,我們將探測器分為:
- 無計時能力(光子在相對較長的採集時間內積累,大約為幾十微秒)
- 時間門控探測器(光子僅在明確定義的短時間視窗內累積,幾納秒)
- 時間戳檢測器(與 TDC 結合以直接對光子的到達時間進行時間戳記錄)
就敏感度而言,上圖中豎直座標,我們將探測器分為:
- 許多輸入光子(最少能檢測幾百個光子)
- 幾個光子(最少能檢測幾個光子)
- 單個光子(最少能對單個光子進行檢測)
畫素數目在上圖中用不同的顏色表示:
- 單 pixel 探測器(紅色,APD)
- 數十或數百 pixel(黃色和橘色)
- 更大規模的(綠色)
之前我們提到過,脈衝鐳射雷達利用 TOF,藉助 TDC 記錄光子的到達時間 (時間戳方式),或者在一個視窗內進行計數(時間窗方式);
前一種方法在大多數應用中都很方便,因為檢測器在整個 FSR 期間都處於活動狀態;
而後者效率較低,因為到達視窗外的所有光子都會丟失,因此必須增加測量時間,以獲得足夠的訊號和直方圖統計質量;
因此對於脈衝鐳射雷達而言,首選具有時間門控和時間戳功能的探測器,例如 APD,SPAD 和 SiPM;
其中,只有 SPAD 和 SiPM 具有單光子敏感性;
大規模的 APD 陣列設計很重要,由於 APD 需要專業技術很高,大畫素間距,快速模擬前端和高電壓操作;
SPAD 和 SiPM 陣列是很多 SPAD 並聯起來,所以相對來說工藝要求更簡單;
單光子敏感度對於長距離測量十分重要,事實上到達探測器的光子數目,取決於距離平方的倒數,以及光學引數(源功率和發散度、物鏡 f 值和透鏡衰減),目標反射率和探測器幾何形狀(填充因子和畫素面積);
比如這樣一個系統:
- 800 mW 功率的鐳射源
- 200 m 距離
- 2 度發散角
- 2.8 f-number
- 10% 透鏡衰減
- 90% 目標反射率
- 80% 探測器填充因子
- 20 µm 畫素間距
可以計算出畫素光子率僅為 1µs 一個光子;
應用於 SPAD 的 3D 堆疊整合的最新技術,可以使得間距小於 10 µm,最低低至 2.2 µm 以及大量畫素(數百千畫素至百萬畫素)的 SPAD 成像器得以開發,而在效率、噪聲和時序抖動方面,也不會降低 SPAD 效能;
每一個 SPAD 連線著一個獨立的感測(也有可能是處理)器件,作為 SPAD 陣列中的一個畫素;
也可以多個 SPAD 放在一起,使用公用的處理器件(比如一個 TDC),來構成 SiPM 陣列中的一個畫素;
換句話說,SPAD 陣列中每個畫素,只有一個 SPAD(因此可以提高鐳射雷達的角解析度),而 SiPM 陣列每個畫素(定義為提供空間資訊的最小獨立單元)有著多個 SPAD,因此角解析度更差;
與 SPAD 陣列相比,SiPM 陣列能夠檢測同一畫素內的重合光子(具有單個光子和多個光子的探測能力),因此可以用於單次曝光鐳射雷達;
許多時候 SPAD 和 SiPM 陣列的分類很模糊,實際應用的時候採用兩種方式的優勢綜合;
總的來說,SPAD 和 SiPM 陣列對於脈衝鐳射雷達來說是最適合的,這得益於它們優秀的時間解析度,高敏感度和相對來說更大規模的畫素;
由於裝配複雜性和生產成本隨著 3D 堆疊的引入而增加,因此在製造前,對這些探測器進行精確的裝置和電氣模擬,對於節省開發時間和金錢並獲得預期效能至關重要,出於這樣的原因考慮,不僅有基於 TCAD 的 SPAD 模擬器, 和對於 SPAD & SiPM 的精確模型,而且還開發了基於 SPAD 的 LiDAR 系統的特定模擬器;
一個典型的 SPAD 探測系統:
7. 鐳射雷達中常見的 SPAD 和 SiPM 探測器
近些年來,許多公司(比如豐田,ST 半導體,索尼,松下,ON 半導體, Ford-Argo)都在開發鐳射雷達所需要的 SPAD 和 SiPM 陣列;
2013 年豐田公司在日本對外發布了,用於脈衝鐳射雷達的 SPAD 感測器,基於 32 個巨集畫素的線性陣列,每個巨集畫素包括 12 個用於光子符合檢測的 SPAD, 和還包括用於 TOF 處理的片上數字訊號處理器 (DSP) ;豐田還在為 LiDAR 開發效能優化的 SPAD 探測器,特別是具有增強的紅色探測效率;
ST 半導體在法國開發了一種高效能 3D 堆疊技術,具有用於 SPAD 的 背照式(Back-side illuminated, BSI) 頂層,連線到與前端感測和數字處理的,一個高壓 40 nm 的 CMOS 底層;
收購 SensL 之後,安森美半導體為鐳射雷達開發研發 SiPM 和 SPAD 陣列;第三代鐳射雷達成像系統基於 1x16 模擬 SiPM 陣列,適用於有陽光的戶外場景,支援到 40 m 的 FSR;安森美半導體首款 SPAD 陣列(400 x 100 畫素)“Pandion”,針對於大視場角的鐳射雷達設計;
日本松下向外界釋出了目前最大的 SPAD 陣列(1200 x 900 畫素),適用於高達 250 m,10 cm 解析度的長距離鐳射雷達,混合 dTOF 和 iTOF 架構;模擬畫素基於使用 BSI CMOS 影像感測器 (CIS) 技術製造的垂直 APD (VAPD),由於垂直電流和模擬前端,與標準 SPAD 相比,提供更小的畫素尺寸 (6 µm);
最近日本索尼釋出了一個基於 189 x 600 畫素 SPAD 陣列(基於 3D 堆疊技術,其中包括用於 SPAD 的 90 nm BSI 層和用於數字邏輯的 40 nm CMOS 層)的完整 MEMs 鐳射雷達系統;索尼這款 LiDAR 系統,面向汽車應用,具有 300 m FSR 和用於太陽背景抑制的微畫素邏輯;
Princeton Lightwave 公司開發了一種用於 1550 nm 波長鐳射雷達的 InGaAs / InP SPAD 陣列,32 x 32 畫素,通過熱電冷卻來進行冷卻,以較低探測器噪聲;
下圖中總結了用於 LiDAR 的商用矽 SPAD 探測器的最新趨勢:可以看出,SPAD 陣列的畫素數量不斷增加,而 a-SiPM 陣列的畫素數量要少得多;
由於 InGaAs/InP 技術遠不如矽成熟,所以沒有進行對比;
8. 脈衝鐳射雷達使用的 SPAD 和 SiPM 探測器
在本節中,我們會分析了一些 SPAD 和 SiPM 陣列,它們提供了一些有趣的特性來解決脈衝鐳射雷達的主要挑戰;
下表中列出了一些探測器的主要效能,就工藝製程,畫素個數,每個畫素的 SPAD 個數,光子探測概率(Photon Detection Probability, PDP),填充因子(fill-factor, FF),TDC 解析度(LSB)和範圍(FSR);
8.1 SPAD 鐳射雷達探測器架構
"2013 Niclass" 數字 SiPM 陣列,共有 32 個畫素,每個畫素有 12 個 SPAD,是第一款專門為鐳射雷達設計優化的探測器;
事實上,在每個畫素中實現了 全數字符合探測電路(fully digital conincidece detection circuit),以在 4 ns / 8 ns 可調符合視窗中,同步檢測到至少兩個光子;
“2017 Perenzoni” SiPM 陣列包括 64 x 64 個畫素,每個畫素有 8 個 SPAD;
第一個光子到達的時間,會被畫素內的 TDC 記錄下時間戳,可用於高解析度和中等範圍(250 ps LSB 和 6.4 µs FSR),或者高度計模式(解析度降低但範圍擴大到 10 ns LSB 和 327 µs FSR);
通過對時間窗內的 SPAD 探測次數進行計數,並判斷是否超過某個閾值,來驗證 TDC 轉換;
可以提供時間窗內探測到的光子數目資訊(計數資訊)和第一個光子到達時間(時間資訊);
"2018 Ximenes" 探測器是由兩個 8 x 16 SPAD 模組構成,除 SPAD 之外,每個模組有一個選擇樹,一個 TDC,一個算術邏輯單元(ALU)和每個畫素一個字的儲存單元;
選擇樹在 8 x 16 SPAD 中選擇第一個脈衝,然後存下觸發 SPAD 的地址,TDC 轉換第一個脈衝的到達時間,然後 ALU 將新的 TDC 資料老的合在一起,老的資料就是觸發 SPAD 對應地址拿到的資料;
最後,新的值覆蓋正確地址的記憶體,每次探測的死區時間為 2.4 ns;
"2018 Beer" 192 x 2 線性陣列中,每個畫素包括四個 SPAD,當重合檢測超過自動可調閾值時,這些SPAD 會組合在一起以生成事件訊號;
為了調節觸發時間的頻率,可以通過調節符合視窗的持續時間(從 1.5 ns 到 16 ns),符合閾值(從 1 到 4),啟用 SPAD 的數目(從 1 到 4,但是要比符合閾值高,要不然不可能達到閾值);
通過調節這三個引數,針對於不同的背景和訊號強度,可以有 11 種不同的符合情況;
"2019 Zhang" 有 256 x 144 SPAD 陣列的特點是 TDC 共享和逐畫素直方圖;
每個半列(即126 個畫素)共享 6 個 地址鎖存 TDC (Address-latching-TDC, ALTDC),它們以菊花鍊形式連線並一次啟用一次(每個半列中每個週期的時間戳高達 5 個光子);
部分直方圖(Partial histogram, PH)被儲存,然後每個畫素進行,PH 包含一個簡化的直方圖,分佈的峰值周圍只有 16 個區間,這是在初步峰值檢測階段檢測到的;
後者是一個 3 階段步驟,在此期間僅考慮整個 TDC 位的一部分(從最高有效位 (MSB) 開始,一直到 LSB),並在每個步驟中細化峰值檢測;
在此過程結束時,選擇了一個 16-bin 直方圖視窗,並且在以下采集期間僅考慮該視窗內的事件以構建 PH;
"2019 Hutchings" SPAD 陣列,可以工作在光子計數模式(256 x 256 解析度),或者光子計時模式,將 4 × 4 的 SPAD 組連線到同一處理單元(具有降低的 64 × 64 解析度);
探測器可以在這兩種模式之間快速的切換,來適用於高解析度影像和 3D 地圖應用;
在光子計時模式,探測器可以工作在解析度為 38 ps 的 單次高時間解析度模式(single-hit high temporal resolution mode),或者是解析度在 560 ps 的 多事件直方圖模式(multi-event histogramming mode);
對於後者,即多事件直方圖模式,一個直方圖記錄了屬於同一組的 16 個 SPAD 中,超過可調整的重合檢測閾值的事件;
對於 "2020 Seo",即 "A 36-Channel SPAD-Integrated Scanning LiDAR Sensor with Multi-Event Histogramming TDC and Embedded Interference Filter" 這篇論文中介紹的, 用於線掃的 36 個通道 SiPM 陣列(每個畫素有四個 SPAD);
每個畫素有兩個直方圖 TDC(hTDC)如下圖所示:
- 一個具有移位暫存器架構的 5 位粗 TDC,用於通過相應累加器中的電流注入,構建模擬粗直方圖和;
- 一個基於 延遲鎖定環 (delay-locaked loop, DLL) 的 6 位精細 TDC,用於提供精細直方圖;
兩種 hTDC 都是多激發的(即可以在同一鐳射周期內被多次觸發)以實現高吞吐量;
採用多相機的鐳射雷達系統,基於兩個鐳射二極體,發射兩個連續脈衝,脈衝之間的延遲代表著系統的 ID 識別符號;
當同一畫素中 SPAD 之間的重合事件被探測到,粗直方圖的計數被累加,然後通過累計到每個 bin 中的電壓,和參考電壓進行比較來將其數字化;
干擾過濾的專用邏輯,檢測於裝置 ID 對應延遲的兩個峰值,並選擇啟動精細 TDC 時間視窗,來構建精細直方圖;
"A 256 × 128 3D-Stacked (45nm) SPAD FLASH LiDAR with 7-Level Coincidence Detection and Progressive Gating for 100m Range and 10klux Background Light" 論文中提到的 "2021 Padmanabhan" 由 256 x 128 個畫素構成,分組為 16 × 16 SPAD cluster,但仍然保留原始全成像解析度(256 × 128);
每個畫素 cluster 有一個 TDC 用來給第一個光子記錄時間戳,而只有在可調整(從 500 ps 到 2.2 ns)重合視窗內觸發 cluster 內的其他畫素時,轉換才有效;
有七個級別來驗證測量的重合次數,並且在符合視窗內檢測到的光子數量,與 TDC 轉換和第一觸發畫素地址一起儲存在儲存器中,並被讀取出;
當大致知道目標深度時,可以啟用漸進式門控以進一步時間過濾傳入訊號;
"2021 Kumagai"(論文 "Automotive LiDAR performance verification in fog and rain") 中提到,183 x 600 SPAD 可以由 3 x 3 或者 4 x 4 的 SPAD 構成,重合探測電路可以實現背景抑制,TDC 轉換的到達時間累計成 TOF 直方圖,最終通過 有限脈衝響應 (Finite Impulse Response, FIR) 濾波器檢測直方圖的峰值;
8.2 最大範圍和精度,Precision
最大範圍主要由 TDC FSR 定義,測量精度由 TDC 解析度決定(比如 LSB)和鐳射頻寬;
對於超出最大範圍的物體,為了避免距離模糊,TDC 不應該重新摺疊,或者光子探測必須通過檢測器門控,在一個比 TDC FSR 更短的時間視窗內啟動;
TDC FSR 僅限制於影像深度範圍而不是最大目標距離,實際上可以適當延遲鐳射觸發(通常是 TDC 啟動訊號),以便於在 TDC 範圍內擬合目標距離;
對於許多脈衝鐳射雷達系統,到達時間直方圖的質心被用來計算 TOF,來避免被 TDC 量化誤差所引起的精度問題;
事實上精度提升了 √N(N 是直方圖峰值的個數);
為了減少資料傳輸,直方圖直接在晶片上計算,比如 Hutchings 由於 on-chip 直方圖計算 FSR 減少到了 9 ns;
探測精度和探測最大距離兩個效能指標相互權衡,比如以 Perenzoni 為例,TDC 可以在兩種模式下執行:
- 一種通過使用粗計數器與精細計數器相結合來實現高解析度和短距離
- 一種通過將兩個計數器級聯到一起,來實現低解析度和長距離,具有更長位深度的獨特粗計數器
8.3 FOV 和角解析度
FOV 和角解析度取決於畫素的數目;
現代 3D 堆疊技術支援製造相對於平面技術,具有更高畫素數目的 SPAD 陣列,在同一晶片中達到數百個 kilo-pixels;
通過將 2D 高解析度圖(每個 256 × 256 SPAD 獨立工作)和 3D 低解析度圖(SPAD 組合在巨集畫素中,每個具有 4 × 4 檢測器)相結合,影像解析度可以得到提高;
由於 2D 和 3D 資訊不能同時獲得(因為一些硬體資源是共享的),探測器工作在混合模式,即交錯處理 2D 和 3D 幀;
參考這篇論文 "Long-range depth imaging using a single-photon detector array and non-local data fusion";
150 m 距離,基於 SPAD 的時間門控影像感測的實驗裝置如下:
接下來就是將 2D 資訊和 3D 資訊進行融合:
a) 是深度資訊,b) 將來自 SPAD 的強度資訊覆蓋到深度資訊之上, c) 將來自 RGB 相機的強度資訊覆蓋到深度資訊之上;
FOV 和角解析度可以通過掃描技術進一步提高;
"A 100-m Range 10-Frame/s 340 x 96-Pixel Time-of-Flight Depth Sensor in 0.18 µm CMOS" 中使用了 32 畫素線性陣列,加上一個三面多邊體轉鏡(以 600 rpm 進行旋轉),來達到一個 340 x 96 畫素解析度和 170° x 4.5° 的 FOV,如下圖所示:
"A Modular, Direct Time-of-Flight Depth Sensor n 45/65-nm 3-D-Stacked CMOS Technology" 通過使用 8 × 32 SPAD 陣列的雙軸鐳射掃描器,可以得到 256 × 256 影像解析度;
由於所需的 FOV 和角解析度在很大程度上取決於應用,比如有時高解析度相機的資料會在後處理中組合,以實現更好的訊號(即更好的質心精度或更長的範圍)和更好的角解析度;
事實上,既需要使用空間分辨相機進行 3D 成像,也需要使用鐳射在單個點準直進行單點高度測量;
8.4 測量速度和背景抑制
對於實時任務來說,測量速度十分重要;Flash 鐳射雷達不需要掃描是最理想的也是最快的方式;
高的獲取速度需要:
- 高的 光子探測效率(photon detection efficiency, PDE = PDP x FF)來探測儘可能多的訊號(注意 Flash LiDAR 中每個畫素的能量是很低的)
- 探測器的死區時間要小,來達到高計數率
- 高 TDC 轉換率從而不浪費光子
一般情形下瓶頸在於 TDC(在大多數 SPAD 陣列中,只能對於第一個光子打時間戳);
使探測器或 TDC 飽和,會導致光子“堆積”失真,即無法通過 TCSPC 重建真實的返回訊號形狀,因為首先到達的光子掩蓋了隨後的光子,這種情況在強背景光,比如太陽光情況下容易出現;
事實上,即使在檢測到鐳射返回光子之前,單獨的背景光子就可以使探測器或 TDC 飽和,尤其是在接近 FSR 端時;
為了解決背景光的影響,通常的做法是計算到達時間直方圖;作為在時間上均勻分佈的背景光,它會產生平坦的本底噪聲;
因此,質心計算中只考慮由鐳射脈衝引起的主峰,背景光會自動被過濾掉;
在對直方圖進行累加時,將 TDC 測量的時間戳用作直方圖儲存記憶體中 bin 的地址,而記憶體地址的內容(直方圖深度)表示該地址被命中的次數;
由於大型 SPAD 陣列的晶片面積限制,每畫素完整直方圖計算變得不可行;
對於一個 15 位的 TDC,10 位直方圖深度,128 x 128 畫素,需要的記憶體是 215 x 10 x 1282 = 5.4 Gb,對應於基於 90 nm 工藝 1 cm x 1 cm 大小的晶片面積;
因此基於部分直方圖的解決方案被提出來;
通過限制直方圖來構建部分直方圖,視窗僅到分佈峰值(這是在初步階段檢測到的)周圍的 16 bins;
直方圖峰值之外都會在晶片內部計算部分直方圖的時候被丟棄,但是可以單獨的讀取,以便在後處理中進行重構完整直方圖;
比如之前 "Seo" 這篇論文中提到,部分直方圖是通過 5 位粗直方圖進行峰值檢測,和 6 位細直方圖進行精細解析度的組合獲得的;
在這種情況下,計算兩個獨立的直方圖,將時間戳值分為兩部分:
- 粗直方圖 (CH) 僅考慮 TDC 提供的所有時間戳的 MSB,用於找到分佈的峰值;
- 精細直方圖 (FH) 僅考慮以峰值為中心的時間戳的 LSB,它用於實現精細的深度解析度;
當飽和出現的時候,堆積會失真,從而不能累加得到正確的直方圖;
比如 “A 30-frames/s, 252x144 SPAD Flash LiDAR with 1728 Dual-Clock 48.8-ps TDCs, and Pixel-Wise Integrated Histogramming” 僅適用於非常低的光子速率,因為只有在同一半列中的其他畫素都沒有被同時觸發時,才能正確檢測到被觸發的 SPAD 的地址;
大多數位 LiDAR 設計的 SPAD 和 SiPM 陣列都有著一些特別的功能來減少背景光和光子累加影響;
所有上述架構的一個限制是,coincidence threshold 是先驗固定的,而且十分關鍵,因為值太低會導致背景抑制效果差,而值太高會大大降低事件檢測,也會丟失訊號事件;
8.5 人眼安全
人眼安全限制了最大鐳射能量,強烈依賴於鐳射波長;鐳射輻射會在放大後灼傷視網膜或灼傷眼睛表面,從而損害眼睛;
眼睛在將光線聚焦在視網膜上時具有顯著的放大倍率,因此光線進入眼睛並聚焦在視網膜上的損傷閾值遠低於灼傷眼睛表面的損傷閾值;
波長大於 1400 nm 的鐳射更友好(1550 nm 相對於 905 nm 更加安全),因為眼睛中的液體會吸收這些區域的波長,從而防止光線聚焦在視網膜上;
雖然仍然會有灼傷到眼睛表面,但不會因聚焦光線而導致輻照度大幅增加; 為了更好的眼睛安全,鐳射雷達很少在 0.4 毫米以下工作,但它們通常在 1.5 毫米或更長的範圍內工作;
鐳射雷達系統必須是人眼安全的,給定光束尺寸,脈衝持續時間和波長,鐳射必須有一個安全的最大能量;
不同波長的 Max permissibale exposure, MPE(單位 J/cm2)由下圖給出:
掃描式的鐳射只在一個很短的時間內照射到眼睛,Flash-LiDAR 的照射時間要更長一點;
但是由於照射時間都很短,所以就算鐳射功率很高,但是不會超過人眼安全閾值;
目前主流的車載鐳射雷達選擇 905 nm 或者 1550 nm,可以看到 1550 nm 的 MPE 要更高一點;
從上圖中可以看到 MPE 峰值也在 1600 nm 左右出現,更接近於 1550 nm;
通常會統計十秒內,人眼吸收的能量總和,然後和上圖比較;