針對自動駕駛中交通燈識別的對抗性激光攻擊
紅綠燈識別對于在城市地區的全自動駕駛至關重要。本文中研究了通過對攝像機施加激光干擾來欺騙紅綠燈識別機制的可行性。通過利用 CMOS 傳感器的卷簾式快門(rolling shutter),設法在圖像中的交通燈上注入重疊的色條,這可以使紅燈被識別為綠燈,反之亦然。
為了提高成功率,設計了一種基于激光干涉經驗模型的優化方法來搜索有效的激光參數。
本文對 2 個最先進的識別系統和 5 個攝像頭進行模擬評估,紅到綠和綠到紅攻擊的最大成功率分別為 30% 和 86.25%,該攻擊在 40 多米外對移動車輛的連續幀中是有效的,這會對自動駕駛造成端到端的影響,例如闖紅燈或緊急停車。一
Introduction
完全自動駕駛要求車輛不僅在高速公路上而且在交通信號燈識別必不可少的城市環境中獨立運行。這樣的系統使車輛能夠在視覺上檢測和識別交通燈信號,以便它能夠正確響應。
交叉路口事故是車輛碰撞的第二大原因,僅次于追尾事故。可靠的紅綠燈識別可以通過激發車輛的自動響應來有效地防止此類事故的發生。出于這個原因,寶馬等汽車制造商和Mobileye等零部件供應商正在積極開發和測試他們自己的交通信號燈識別系統。特斯拉最近在美國的車輛上部署了交通信號燈識別。
在此之前,一個關鍵問題是基于視覺的交通信號燈識別系統的安全性如何。錯誤識別的后果是嚴重的:將紅燈識別為綠燈可能會導致交叉路口碰撞;將綠燈識別為紅燈可能會強制停車并堵塞交通。
先前的研究表明,類似的基于視覺的物體檢測和識別系統的不安全性。例如,強光會使攝像機過度曝光并導致防撞系統拒絕服務;投影儀可以在物體或攝像機注入對抗性重影圖像,以欺騙先進的駕駛輔助系統。然而,紅綠燈識別的安全性尚未得到研究。
此外,以前的攻擊通常使用可能會引起隱身問題的光,并且被限制在幾米的攻擊距離內。
本文研究了在現實世界中欺騙基于視覺的交通信號燈識別的可行性。為了達到更隱身的效果和更長的攻擊距離,選擇激光作為攻擊信號,這是一種非常窄且能量集中的光束。
設想激光射入攝像機鏡頭可能會修改捕獲的圖像并影響任何后續識別系統。然而,由于以下原因,這樣的攻擊并非微不足道。
1)雖然眾所周知攝像機容易受到光學干擾,但激光很容易使攝像機中的 CMOS 傳感器飽和,使整個圖像無法識別。目前尚不清楚激光是否可以以可控的方式修改圖像,尤其是僅在紅綠燈區域附近。
2)紅綠燈檢測一般在識別前進行。攻擊者需要確保激光干擾不會干擾交通信號燈檢測,從而可以欺騙識別。
3)紅、綠、黃燈分別位于交通燈的不同部位。目前尚不清楚攻擊者是否以及如何在不物理更改燈的情況下將紅燈識別為綠燈(反之亦然)。
本文克服了這些挑戰并驗證了攻擊的可行性。在研究了激光可能對攝像機成像造成的所有潛在影響之后,利用攝像機卷簾式快門的固有漏洞,設法在圖像中的紅綠燈上創建了一條彩色條紋。
實驗表明,特定情況下的彩色條紋不會干擾交通信號燈檢測,并且可以產生理想的顏色識別結果。為了獲得更高的成功率,對激光攻擊過程進行了經驗建模,并根據受攻擊的模擬圖像搜索有效的激光參數。
攻擊可以在廣泛的激光參數下成功,這表明對真實攻擊場景中的不確定性具有很高的魯棒性。使用真實交通燈、激光二極管和 5 個攝像頭在 2 個最先進的開源交通信號燈識別系統上評估模擬和現實世界設置中的攻擊。
在實際環境中進行了實驗,并在連續幀中展示了對 40 多米外移動車輛的成功攻擊。建議重新設計滾動快門以減輕威脅。
Background
A. 紅綠燈檢測與識別
紅綠燈(TL)識別一般在紅綠燈檢測之后進行。它們的區別在于將交通信號燈作為輸入時使用的目標。紅綠燈檢測的目標是在給定圖像中框出紅綠燈的位置。紅綠燈識別,通常以紅綠燈檢測的結果為輸入,進一步區分紅綠燈的顏色。通常,自動駕駛車輛系統會結合檢測和識別步驟向車輛提供指令。
Apollo是百度開發的開放式自動駕駛平臺。它使用 YOLO來檢測交通信號燈,并將識別視為典型的 CNN 分類任務。RetinaNet接收帶有邊界框列表的圖像,其中有交通燈作為輸入,并輸出一個包含四個元素的列表,代表每個框的四種可能性,即黑色、紅色、綠色和黃色。在紅色、黃色和綠色中,當可能性超過一定閾值時,可能性最高的類別將被視為燈的狀態。否則,燈的狀態將設置為黑色,表示狀態不確定。
除了分離檢測和識別之外,還有另一種方法可以將這些步驟結合起來,在訓練 DNN 等分類模型時將不同顏色的交通信號燈視為不同的對象。因此,以這種方法開發的系統將一步直接檢測和分類紅/黃/綠/黑交通信號燈。
B. 攝像頭成像
攝像機是一種可以捕捉圖像的光學系統。基本上,攝像機使用鏡頭來收集光線,并使用放置在焦平面上的光敏表面(通常是攝影膠片或數字傳感器)來捕捉圖像,通過調整光圈大小或曝光時間來控制到達表面的光通量。
后者對應于光敏表面暴露在光線下的時間量,該時間由快門控制。數碼攝像機使用數字圖像傳感器作為感光表面,可以將光轉換為數字信號。有兩種主要類型的電子圖像傳感器,即電荷耦合器件(CCD)和互補金屬氧化物半導體(CMOS)傳感器。消費產品中的攝像機通常使用 CMOS 傳感器,因為它們更便宜且功耗更低。
圖像傳感器捕獲光強度,只能創建灰度圖像。為了獲取顏色信息,圖像傳感器通常覆蓋有濾色器陣列,該陣列由微小的濾色器組成,只允許特定波長范圍內的光通過。
因此,圖像處理算法可以通過檢查每個像素的濾色片排列來恢復顏色信息。最常用的彩色濾光片陣列稱為“拜耳濾光片陣列”,由交替排列的紅綠和綠藍濾光片組成,如圖 1 左側所示。

大多數數碼攝像機通過控制圖像傳感器上光電二極管的“開關”來調整曝光時間,即電子快門。
電子快門有兩種類型:全局快門(global shutter)和卷簾式快門。全局快門使整個傳感器能夠同時打開和關閉,而帶有卷簾式快門的攝像機則像“滾動”一樣逐行打開和關閉光電二極管。
因此,帶有卷簾式快門的攝像機不會在單個時間瞬間捕捉到整個場景。由于CMOS圖像傳感器的讀出瓶頸,它們大多使用卷簾式快門。上圖展示了簡化的卷簾式快門傳感器的時序圖。像素行依次開始曝光,并在該行超過曝光時間時被讀出。
同時,為下一次曝光清除像素。由于圖像行是在不同的時間實例捕獲的,因此拍攝快速移動的物體或閃光的照片可能會導致圖像失真和歪斜。研究發現大多數車輛(例如特斯拉)上的攝像頭都使用卷簾門。Apollo Auto 推薦使用 LI-USB30-AZ023WDRB 攝像機,它也是一款卷簾式傳感器。
Threat Model
A. 攻擊者的目標和攻擊場景
攻擊者的目標是通過欺騙紅綠燈識別系統,使自動駕駛汽車在紅綠燈附近做出錯誤決策。具體來說,可能有兩種情況:
1)讓車輛在應該停止的時候移動:車輛應該在紅燈或黃燈處停止。未能相應停車可能會導致交叉路口事故。
2)車輛應行即停:車輛應在沒有障礙物的情況下在綠燈處前行。這種情況可能會困住車輛,甚至堵塞交通。
設想針對交通信號燈檢測和識別系統的拒絕服務攻擊和各種類型的顏色欺騙攻擊可能會導致上述情況。下表總結了潛在的攻擊場景。

拒絕服務 (DoS) 攻擊:DoS 攻擊旨在禁用交通燈檢測,即使車輛無法檢測到現有的交通燈。為了安全起見,車輛應該在沒有檢測到紅綠燈時減速或停在十字路口。但是,如果缺少紅綠燈,車輛可能很容易從地圖上注意到并采取安全預防措施。
顏色欺騙攻擊:此類攻擊旨在改變交通燈識別的結果,即導致交通燈的顏色狀態被錯誤識別。一個紅綠燈有四種顏色狀態:紅色(R)、綠色(G)、黃色(Y)和黑色(B),其中黑色表示燈熄滅。
最常見的交通燈狀態是紅色或綠色,因為黑色在現實生活中很少見,而黃色只持續很短的時間。攻擊者可以通過將紅燈識別為綠色來使車輛移動,并通過將綠燈識別為紅色、黃色或黑色來強制車輛停止。在本文中專注于顏色欺騙攻擊,因為它們更隱蔽并且構成更嚴重的威脅。
B. 攻擊者能力
考慮具有以下能力的攻擊者:
對車載攝像頭的激光干擾:攻擊者只能通過遠程向目標車輛上的攝像頭發射激光干擾來改變交通燈檢測和識別的結果。她不能從物理上改變現有的紅綠燈或建造一個虛假的紅綠燈。
無法直接訪問目標車輛:在攻擊之前或攻擊期間,攻擊者無法直接物理或數字訪問目標車輛。她不能對車載攝像頭或交通燈檢測和識別系統進行任何更改。目標車輛仍然封閉在攻擊者面前。
收集信息和模擬:攻擊者可能會根據公開信息或逆向工程推斷目標攝像機和系統的模型和結構。她可能會在與計劃的攻擊場景類似的設置中獲得相同的攝像機或車輛來預先評估攻擊。
例如,她可以駕駛同型號的車輛通過目標路口,并記錄目標紅綠燈的圖像。但是,她只能將目標攝像機視為黑盒。
Feasibility Study
1)攝像頭成像:攻擊者生成激光束并將其對準攝像頭。此階段的關鍵問題包括:
a) 攻擊者可以產生哪些類型的激光干擾,
b) 攝像機在激光干擾下將捕獲哪些圖像。
2)交通燈檢測:禁用交通燈檢測就足以進行DoS攻擊。但是,對于顏色欺騙攻擊,攻擊者必須確保能夠以足夠高的置信度檢測到紅綠燈。
3)紅綠燈識別:在這個階段,攻擊者打算使紅綠燈被識別為顯示不同的顏色。但是,目前尚不清楚這種攻擊是否可行以及哪種類型的激光干擾會有效。

將在下面檢驗這些階段的可行性。
A. 激光干涉檢查
選擇半導體激光二極管作為激光發生器,因為它們成本低、可訪問性高、功率效率高。有四個攻擊參數需要考慮來確定圖像上的激光干涉圖案:
波長:激光的波長與其顏色相對應,這直接影響圖像上產生的干涉的顏色。激光二極管的波長通常是固定的,因為它由半導體的結構和材料決定。因此,攻擊者可以使用一系列不同波長的激光二極管注入各種顏色的干擾。
功率:激光的功率會影響干擾的強度以及攻擊距離。更高的功率可以實現更長的攻擊距離,但它也可能會使 CMOS 傳感器飽和并使攝像機失明。在顏色欺騙攻擊中,攻擊者必須仔細調整激光的功率,以確保對圖像的干擾既不太弱也不太強。一旦激光器的功率高于二極管特定閾值,它就會隨驅動電流線性增加。
脈沖寬度和周期:激光可以是連續的或一系列短脈沖的形式。連續激光會影響視頻中的所有圖像幀,而激光脈沖會影響視頻中的選定幀甚至圖像的一部分。攻擊者可以通過對激光二極管的驅動電流應用脈沖寬度調制 (PWM) 來改變激光脈沖的寬度和周期。
入射角:入射角是激光束與攝像機鏡頭光軸之間的角度。入射角主要影響干涉的亮度分布。例如,從攝像機右側發射的激光會對圖像的右側部分造成更亮的干擾。
B. 激光干涉下的攝像機成像
在本文中通過對激光參數進行試驗,徹底檢查并報告了激光干擾的所有潛在影響。除了過度曝光,還發現激光干涉會導致圖像的色偏、色條、白不平衡和失焦,如下圖所示。這些圖像由 AR0132AT 評估板攝像機拍攝。

過度曝光:足夠功率的激光很容易使 CMOS 傳感器的所有三個顏色通道飽和并導致圖像過度曝光,如上圖(b) 所示。過度曝光肯定是導致任何基于攝像機的系統拒絕服務的最有效方法。
顏色偏移:通過將激光的功率降低到飽和點以下,可以將干擾的亮度降低到僅影響單個顏色通道的范圍,從而導致圖像的“色移”,如上圖(c) 所示。偏移的顏色由激光的波長決定。在此示例中,650 nm 波長的激光增加了紅色通道的值,遠大于 CMOS 中的綠色和藍色通道,使圖像更偏紅。
彩色條紋:顏色偏移出現在整個圖像上,可能會無意中妨礙其他對象的識別。通過利用調制激光脈沖的 CMOS 傳感器的卷簾式快門在圖像上創建“彩色條紋”,如上圖(d) 所示。
原理如上圖(a)所示。當快門從圖像的第一行“滾動”到最后一行時,只有在第 i 行 CMOS 被激活時才會出現的激光脈沖將僅干擾圖像上的第 i 行,從而留下彩色條紋。攻擊者可以通過調整二極管驅動信號的調制參數來改變條紋的寬度、位置、亮度和數量。她甚至可以通過將脈沖周期與滾動快門速度(視頻幀速率)(例如 30 Hz)同步來穩定一系列視頻幀中的色帶。
白色不平衡:白平衡是大多數數碼攝像機的內置功能,可自動平衡圖像的色溫。激光對圖像的一部分進行干涉會使白平衡算法錯誤地調整圖像其余部分的顏色增益,如上圖(e) 所示。攻擊者可能會利用這種現象來導致交通燈的“白色不平衡”,即在不疊加干擾的情況下改變它的顏色。但是,由于白平衡能力有限,顏色變化可能并不強烈。
失焦:發現移動的彩色條紋會使攝像機失焦,可能導致拒絕服務。快速移動的彩色條紋可以周期性地改變對焦算法采樣區域的對比度,從而迫使攝像機重新對焦。在重新對焦過程中,背景會失焦并變得模糊,如上圖(f)所示。

總之,攻擊者可以通過過度曝光或失焦圖像實現拒絕服務,并通過色移或彩色條紋圖像實現顏色欺騙。當條紋與圖像一樣寬時,色移圖像本質上是彩色條紋圖像。在上圖報告的初步實驗中,發現與窄條紋相比,較寬的條紋會大大降低交通燈檢測的置信度分數,并不必要地導致拒絕服務。因此,在本文中關注使用窄條的攻擊。
C. 激光干涉下的TL檢測
要成功欺騙紅綠燈識別的結果,攻擊者首先要保證彩色條紋不影響紅綠燈檢測。因此,感興趣的問題是哪種類型的彩色條紋對交通信號燈檢測的阻礙較小。通過比較在各種條紋參數組合下檢測交通燈的置信度得分來檢查彩色條紋的影響,其中主要關注條紋的寬度和位置。使用經過訓練的 YOLOv4 分類器作為交通燈檢測系統,并使用紅色和綠色激光將各種寬度和位置的彩色條紋注入到交通燈圖像中。

上圖中的兩個熱圖顯示了在紅色和綠色激光干擾下檢測交通燈的置信度得分。x 軸是條紋的寬度,從交通燈高度的 0 到 4/3 不等。y 軸表示條紋上邊緣的位置與交通燈的垂直尺寸相比,也在 0 到 4/3 之間變化。
下圖(b) 提供了位置和寬度的可視化說明。位置“0”表示條紋的上邊緣位于燈的底部邊緣,而位置“1”表示條紋的上邊緣與燈的上邊緣重合。
為了幫助理解上圖中的結果,將熱圖劃分為四個區域,對應于下圖(b)中的四個典型案例。在 ¨ 情況下,條紋覆蓋整個交通信號燈;在≠的情況下,條紋僅覆蓋其上下邊緣之間的一部分光;而在 ? 和 ? 的情況下,條紋覆蓋光的上部或下部,包括其邊緣。

前圖的結果表明,無論激光的顏色如何,如果色條覆蓋整個光線,則紅綠燈檢測的準確性幾乎不受顏色條紋的影響。觀察到在其他情況下置信度得分大幅下降,假設這是因為彩色條紋破壞了交通信號燈的連續性,尤其是在其原始邊緣。這個實驗促使研究者創建用于顏色欺騙攻擊的彩色條紋。
D. 激光干涉下的TL識別
為了檢驗欺騙紅綠燈識別的可行性,考慮了兩種攻擊案例:(a)用紅色條紋將綠燈變為紅色,(b)用綠色條紋將紅燈變為綠色。條紋分別使用 650 nm 紅色和 520 nm 綠色激光二極管生成。被干擾的紅綠燈圖像被發送到 Apollo 進行識別。
在 Apollo 中,系統被編程為首先檢測裁剪的感興趣區域 (ROI) 內的交通信號燈,該區域以前從包含交通信號燈位置的 HD-Map 中得知。由于 HD-Map 不可用,手動將 ROI 提供給系統,以使 Apollo 正常運行。如果檢測到紅綠燈,Apollo 會輸出四種可能性的置信度分數:紅色、黃色、綠色和黑色。

結果表明,顏色欺騙攻擊對于這兩種情況都是可行的,能夠將紅燈識別為綠燈,反之亦然。然而也觀察到攻擊并不總是成功——置信度分數會受到激光參數的很大影響,尤其是功率。
例如,上圖顯示了通過二極管的驅動電壓調整激光功率時的識別結果得分。它表明當電壓在 13 到 17 伏之間時,紅色激光可以以高置信度分數欺騙綠光。
然而當試圖將紅燈識別為綠燈時,并沒有“安全區”的功率。有效電壓區域是離散的并且看起來是隨機的。在實驗中發現攻擊結果也會受到激光入射角、交通燈本身,甚至圖像背景的很大影響。
因此,不建議使用同一組激光參數來攻擊不同的交通信號燈。在實踐中,根據特定的交通信號燈和攻擊場景微調激光參數至關重要。
Attack Design
為了逐個獲得最有效的激光參數,對激光攻擊過程進行建模,并根據目標交通信號燈的預先記錄圖像模擬攻擊。攻擊工作流程總結在下圖中。

首先為了模擬攝像機上的激光干擾,開發了一個經驗激光攻擊模型,該模型將原始圖像作為輸入并輸出具有模擬激光干擾的圖像。該模型由攝像機建模、激光干涉建模和激光效果仿真三部分組成。
攝像機建模描述了從 CMOS 捕獲的 RAW 圖像到 JPG 等常見圖像文件的轉換。激光建模通過對圖像添加彩色條紋進行數學建模來模擬激光干涉。激光效果仿真進一步涉及激光的入射方向和模型噪聲,以使模擬的彩色條紋看起來更逼真。
然后基于激光攻擊模型,使用網格搜索的方法來尋找攻擊參數的最有效組合。最后將從模型導出的攻擊參數映射到可調節的激光參數,并在現實中生成激光攻擊信號。
A. 攝像機建模
第一步是將 CMOS 傳感器的原始圖像轉換為 jpg 圖像。CMOS以及原始文件將圖像的顏色信息以R,Gr,Gb,B的形式分別存儲在四個相鄰的像素中,形成一個正方形。
因此,需要插值將矩陣從原始文件轉換為表示 RGB 值的張量。主要有兩種類型的插值:直接和雙線性。在模型中同時考慮了它們,而要使用的具體模型取決于目標攝像機。
直接插值:對于 jpg 圖像中的每個像素,其 RGB 值由原始文件的矩陣中存儲紅色、Gr 和 Gb 的混合或藍色的最近像素確定。對于原始文件中的每個 2×2 塊,將至少有一個像素代表“紅色”,一個代表“藍色”,兩個分別代表“Gr”和“Gb”,即 RGB 值此塊中的 jpg-image-pixels 將直接由原始文件中的那些像素值確定
雙線性插值:對于 jpg 圖像中的每個像素,其 RGB 值由原始文件中至少兩個最接近的像素確定。一般來說,對于 jpg 文件中的每個內部像素,它將占用一個以像素為中心的 3×3 塊。
將原始文件中代表相應顏色(R、G 或 B)的所有像素值取平均值,以計算 jpg 文件中的 RGB 值。對于圖像邊緣上沒有 3×3 塊的每個像素,仍然會在原始文件中找到表示相同顏色的最接近的兩個像素并計算它們的平均值。
B. 激光干涉建模
光子過濾:當激光射入 CMOS 時,每個光電二極管可以檢測到的光子由其量子效率決定,量子效率描述了光電二極管測量的電子數量與饋入它的光子數量之比。每個 CMOS 都有其獨特的量子效率。此外,每個光電二極管上的彩色濾光片(R、Gr、Gb、B)使不同波長的光的量子效率獨一無二。
例如,下圖顯示了 ON Semiconductor CMOS 數字圖像傳感器 MT9P006 的量子效率曲線。Gr 和 Gb 光電二極管可以測量 550 nm 波長的綠光,量子效率為 60%,而 R 和 B 光電二極管接收到的綠光較少,因為量子效率低于 10%。
然而,當光強度足夠高時,它對紅色和藍色像素的影響變得明顯,這解釋了為什么單色激光可以使所有顏色通道飽和并使整個圖像變白。

假設I代表激光的強度,l代表它的波長,R*,G*,B*分別代表激光對圖像紅、綠、藍通道的影響,CMOS的濾波效果由于量子效率,傳感器可以表示為 X? = I fX (l),X 2 {R,G,B}。其中,fR(·)、fG(·)、fB(·)代表目標攝像機上CMOS傳感器的量子效率曲線。由于曲線無法參數化表達,通過跟蹤目標攝像機的量子效率曲線來插值函數。
彩色條紋添加:假設激光干擾對 RGB 圖像的影響是三個顏色通道上的相加,可以將后圖像(在激光攻擊下拍攝的圖像)的 RGB 值 Rp,Gp,Bp 表示為 原始圖像的 RGB 值 Ro,Go,Bo 和激光的效果 R*,G*,B* 為 Xp = H(Xo,X*),X 2 {R,G,B}。
函數 H(·,·) 沒有特定的選擇。考慮顏色通道溢出,對 H(·,·) 使用類似 relu 的函數:H(x, y) = min(x+y, cmax)。這里,cmax 代表特定通道的溢出值,為簡單起見,選擇 255。
結合光子過濾和色條添加過程,激光干涉的效果由原始圖像Xo的RGB值、激光的波長l和強度I以及CMOS傳感器的量子效率fX(·)決定作為:

下圖顯示了真實激光干擾與模擬之間的比較。請注意,模擬的激光干擾與真實的高度相似以表明模型的功效。但是,細節上存在細微差別,假設這是由激光的入射方向和噪聲引起的。

C. 激光效果仿真
為了使模擬更加逼真,將激光的入射方向和透鏡缺陷納入本文模型。前者決定了彩色條紋在圖像上的亮度分布,后者產生了噪點。
激光的入射方向:激光的入射方向對圖像中色條的分布有顯著影響。例如,在上圖(a) 中,激光從攝像機的左側照射。因此,左側的激光強度高于右側,這會導致左側出現通道溢出(白色像素)并增加噪聲水平。為簡單起見,在模型中考慮了來自攝像機左側、右側或前面的激光。
定義了由 CMOS 測量的最小和最大強度 Imin、Imax,而不是對激光使用單個強度 I,并假設色條的寬度和高度分別為 w、h。特定點 (x,y) 處的激光強度可以表示為 I = D(Imin,Imax,x,y,h)。考慮函數 D(·) 的三種潛在情況:線性、S 型和高斯。當入射方向從側面時,使用線性或sigmoid函數;當光線從攝像機正面照射時,使用高斯函數。
鏡頭磨損:根據經驗,在色條中觀察到雪花狀噪點,這是由于鏡頭磨損造成的。因此,如果鏡頭有磨損,當激光射入攝像機時,會發生漫反射而不是直接反射,這將導致CMOS的某些區域接收到更強的激光束,可能會導致相應像素的曝光過度。
由于難以測量或準確模擬鏡片內部的磨損,假設噪聲的水平分布服從指數分布,而噪聲的垂直分布服從正態分布。對于從左側照射的激光,將噪聲的水平分布建模為:

β1是控制分布衰減率的超參數,分母是一個標準化函數,保證概率密度函數之和為1。如果入射方向正確,那么只需要用w-y替換y。噪聲的垂直分布如下:

D. 搜索激光攻擊參數
基于激光攻擊建模,可以使用激光參數的各種組合來模擬在目標交通燈上添加的大量彩色條紋。為了獲得最有效的參數集范圍,應用了網格搜索方法。沒有使用在生成對抗性示例時常見的優化方法,因為攻擊可以通過一系列激光參數而不是特定集合來成功。
該屬性可以減輕模型不準確性和現實世界不確定性的影響,從而提高攻擊的魯棒性。在網格搜索中考慮的參數包括最小光強 Imin、最大光強 Imax、激光波長 l 和入射方向。

在紅色和綠色交通燈圖像上測試了參數搜索。搜索結果顯示了一系列有效的激光攻擊參數(可行的解決方案)。所有參數組合中分別有 9.63% 和 22.59% 對紅色激光攻擊和綠色激光攻擊有效,這證明了攻擊的可行解不是唯一的。
此外,使用更細粒度的搜索網格對最小和最大光強度進行更徹底的搜索。上圖顯示了具有最小和最大光強度的各種組合的紅色和綠色條紋的結果。
圖中,紅色、黃色、綠色、黑色和DoS(檢測不到光)的識別結果分別用紅色、黃色、綠色、深灰色和紫色像素表示。結果表明,光強度的可行解存在范圍很廣,可以認為是近乎連續的。
E. 產生激光攻擊信號
在獲得可行的攻擊參數后,將它們映射到可調節的激光參數上,以使用真實激光重現模型生成的圖像。主要考慮波長、脈沖寬度和周期、功率和入射角。波長。模型中的波長 l 和現實之間的關系是明確的。激光二極管的波長與模型中的波長相同。
脈沖寬度和周期:脈沖寬度決定了圖像中色條的寬度。假設圖像有 N 行像素,交通信號燈占用 n 行。之前在現實世界的實驗和仿真中的觀察都表明,如果顏色條紋的寬度大于燈的寬度,則它對交通燈檢測的影響最小。
因此,考慮一個寬度為 1.5n 行的彩色條紋。假設卷簾式快門速度為 f ,則脈沖寬度為 1.5n/N f 。脈沖周期設置為與卷簾式快門時間 1/f 相同,以穩定條紋的位置。
功率:功率與模型中的最小和最大光強度 Imin,Imax 有關。最小/最大光強是模型中的一個構造參數,沒有直接的物理意義。雖然光強度和功率之間沒有確定性的轉換,但由于它們都是單調變化的,攻擊者可以在類似的設置中預先測量不同激光功率的光強度并擬合曲線。
入射角:入射角由入射方向和最小和最大光強的關系決定。入射方向提供了激光應從何處輻射的明確指南。然而,很難從最小/最大獲取入射角。光強度在數學上是因為它們的關系因各種攝像機而異。類似地,攻擊者可以根據經驗推導出他們的關系。
Evaluation
在 3 個場景中評估攻擊的性能:(a) 基于公共交通燈圖像和模擬激光干擾的模擬攻擊,(b) 使用真實激光和攝像頭在靜止設置中的真實攻擊,以及 (c) 真實世界在實際環境中攻擊移動的車輛。
A. 模擬攻擊
(1)數據集和實驗設置
從 BDD100K 數據集中選擇了 240 張包含交通信號燈的圖像。針對每個圖像中可以被 Apollo 正確檢測和識別的所有交通信號燈。總共有250個綠燈和248個紅燈。模型的超參數確定如下。對于所有綠光,使用波長為 650 nm 的紅色激光;對于所有紅光,使用波長為 520 nm 的綠色激光。激光波長對應于實際實驗中的激光二極管。
根據之前的觀察,采用與圖像中光線位置相反的入射方向,以避免光線區域過度曝光,并使用線性函數來模擬強度分布。對于最小和最大光強度,對每個圖像應用了網格搜索。對于每個變量,總共設置了 7 個級別:最小光強從 100 到 700,步長為 100,最大光強從 900 到 1500,步長為 100。
(2)整體表現
通過對每個紅綠燈使用最優的攻擊參數集,能夠在 45 種情況下將紅燈識別為綠燈 (R→G),即攻擊成功率為 18.2%,并且將綠燈識別為綠燈。在 86 例中將燈光識別為紅燈 (G→R),攻擊成功率為 34.4%。此外發現即使使用相同的參數集,攻擊也可以在不同的圖像上成功。
例如,下圖顯示 R→G 在所有圖像的 14.5% 上是成功的。最大光照強度為 (100,1300)、(200,1200) 或 (300,1100),當最小時,G→R 在所有圖像的 26.8% 上成功。最大光強度為 (400,1100) 或 (600,1000)。這些結果表明攻擊在各種交通信號燈上都是可行的,并且不需要唯一的參數作為可行的解決方案。

(3)紅綠燈的影響
數據集包含圖像中不同大小和位置的 489 個交通燈,下面研究交通信號燈是否會影響攻擊的成功率。
大小的影響:為了探索紅綠燈大小的影響,將所有紅綠燈按圖像中的高度(以像素為單位)分為 10 組,并計算每組的攻擊成功率。第 1 組包含最小的( 0%–10%)燈,而第 10 組代表最大的(90%–100%)。
結果如下圖(a) 所示。觀察到對于 G→R 案例,對于相對較小或較大的紅綠燈,攻擊成功率相對較高。但是,對于 R→G 案例,沒有明確的關系。總體而言,紅綠燈大小與攻擊成功率之間的相關性并不顯著。

位置的影響:同時考慮圖像中交通燈的水平和垂直位置。將圖像分成3x3塊:水平的左、中、右;頂部、中間和底部垂直。所有塊具有相同的大小。分別在上圖(b)和上圖(c)中繪制了水平和垂直分區的攻擊成功率。橫向來看,當紅綠燈位于圖像中央時,G→R 和 R→G 攻擊的成功率都高于左側或右側。從縱向上看,如果交通信號燈在圖像中的較高位置,攻擊的成功率似乎會更高。由于沒有圖像包含不可用。
總之,假設紅綠燈位置的這種影響主要是由于背景造成的。在大多數情況下,圖像頂部和中心位置的背景會更清晰,通常是天空。相比之下,在圖像的其他位置,背景通常是更復雜的建筑物或交通。
B. 固定設置的現實攻擊
(1)實驗裝置
實驗設置如下圖所示。攻擊目標是一個實驗性的交通燈,可以發出綠色、紅色和黃色的光。燈的直徑為 10 cm。在 5 個攝像頭上進行了實驗:一個 AR0132AT 評估板攝像頭、兩個來自小米和海康威視的行車記錄儀、一個 OPPO K3 智能手機和一個 OpenMV H7 Devboard 攝像頭。AR0132AT 傳感器被認為是特斯拉汽車上使用的攝像頭。
使用由信號發生器驅動和控制的兩個激光二極管(綠色激光為 505 nm,紅色激光為 650 nm)攻擊攝像機。激光干擾下的紅綠燈圖像被發送到兩個紅綠燈檢測和識別系統:Apollo 和為 Nexar 紅綠燈識別挑戰開發的基于深度學習的模型是研究者可以找到的用于紅綠燈識別的最流行和最先進的開源模型。
為了增加交通燈實例的多樣性,在交通燈的距離、位置和朝向的各種組合中進行攻擊,如下圖(a) 所示。交通燈在光軸上到攝像機的距離從 5 m 到 15 m 不等。在每個距離處,交通燈被放置在 5 個位置,左 (L)、中左 (ML)、中 (M)、中右 (MR) 和右 (R)。在每個位置上,將燈光設置為朝向三個方向:左 (L)、中 (M) 和右 (R)。
總共有 120 個單一顏色的交通燈實例。針對不同的燈光顏色和攝像機重復 120 個實例。為安全起見,所有實驗均在具有適當激光保護的封閉環境中的屋頂上進行。

(2)整體表現
在下表中報告了攻擊的總體成功率。實驗在兩種攻擊場景中進行:R→G 和 G→R,還報告了 DoS 案例的百分比。R!G 攻擊的總體成功率為 20.53%,G→R 攻擊的總體成功率為 44.95%,這表明使用紅色激光將綠光識別為紅光相對容易。
R→G 和 G→R 攻擊的 DoS 發生率分別為 34.59% 和 26.76%。請注意,上述結果涉及所有實例。距離小于10m(相當于普通紅綠燈20m,是典型的四車道城市道路的寬度)時,平均成功率高于90%。

此外,發現攻擊結果因目標識別系統和攝像機而異。Apollo 的平均攻擊成功率為 31.07%,而 Nexar 為 43.36%。下圖中攻擊 5 個攝像頭的比較表明,Tesla 上使用的 AR0132AT 攝像頭最容易受到攻擊——R→G 和 G→R 的平均成功率分別為 30% 和 86.25%。其他攝像機的成功率較低可能是由于下表中列出的低圖像質量或大視場。
例如,小米和海康威視都是具有大視場 (130°) 的行車記錄儀與特斯拉攝像機(70°)相比。廣角使圖像中的紅綠燈更小,因此更難以識別。隨著紅綠燈變得越來越大,它會向圖像邊緣移動,并且比其他紅綠燈遭受更多的廣角失真。盡管如此,無論識別系統和攝像頭如何,G→R 攻擊的成功率都高于 R→G。


它們在攻擊下捕獲的圖像如下圖所示:

(3)紅綠燈的影響
基于 AR0132AT 攝像頭調查交通燈距離、位置和方向的影響。在本實驗中,將最大紅綠燈距離延長至 25 m。下圖(a) 和 (d) 中可視化了交通信號燈位于不同位置時的成功攻擊次數。

距離的影響:上圖(b) 和 (e) 的結果表明,攻擊成功率隨著交通燈距離的增加而降低,而 DoS 的百分比增加。推測紅綠燈隨著距離的增加而變小,與彩色條紋重疊后更難被檢測到。但是,如果它位于中間位置,仍然可以攻擊 25 m 外的紅綠燈(相當于普通紅綠燈的 50 m)。
位置的影響:上圖(c) 和 (f) 表明,當紅綠燈位于圖像中間時,攻擊成功率較高。當紅綠燈在圖像的右側部分時,DoS 占主導地位,因為激光是從正確的方向發射的。由于圖像左側的光線強度不夠強,因此在左側位置將交通燈識別為其原始顏色。上述觀察結果與仿真結果一致。
方向的影響:成功的攻擊需要攝像頭清楚地看到交通信號燈。在這種情況下,沒有發現攻擊結果與紅綠燈朝向之間有明顯的相關性。
(4)攻擊距離和角度
研究了當激光源處于不同距離和離軸角度時攻擊的有效性。從距離光軸 [15, 30, 45, 60] 度的 [1, 2, 5, 8, 10, 15, 20] 米處攻擊攝像機。結果如下圖(a)所示。這表明攻擊受激光角度的影響比距離的影響更大。成功的攻擊大多出現在 1 m 到 20 m 的 45 度離軸范圍內。
假設原因是隨著入射角的增加,彩色條紋變得更暗。為了找到最長的攻擊距離,將激光源移動到測試地點(屋頂)允許的最外面的位置,距離攝像機大約 35 m。
如下圖(b) 所示,在這樣的距離上攻擊仍然成功——使綠燈被識別為紅色,置信度為 0.966。設想最長攻擊距離將大于 35 m,特別是如果使用高功率激光二極管。

C. 真實世界的運動攻擊
實際設置中的攻擊需要以移動車輛為目標并實現以下目標:(1)當捕獲的場景發生變化時,在連續的視頻幀中有效,(2)從一個目標攝像機跟蹤和瞄準激光與車輛的距離,以及 (3) 對駕駛造成端到端影響。分別在真實車輛和駕駛模擬器上從三個角度研究攻擊的能力。攻擊視頻可以在 https://sites.google.com/view/rollingcolors 找到。
(1)跨連續視頻幀的有效性
首先研究了當目標攝像機在移動的車輛上時,攻擊在連續視頻幀中的有效性。作為初步實驗,排除了瞄準的影響,并假設一個理想的設置,即攻擊者可以在車輛移動時連續向攝像頭注入激光。連續激光注入的可行性將另行研究。
設置:為了實現這一設置,將激光二極管放置在車輛內部,如下圖(a)所示。總共進行了 27 次攻擊試驗。在每次試驗中,將車輛向后或向前(速度在 5-20 km/h 之間)開向前方 30 m 的實驗交通燈,并在發動攻擊時用攝像頭錄制視頻。出于安全考慮,所有實驗均在封閉場地中進行。

結果:基于 Apollo 分析了攻擊結果,發現該攻擊在 23 次試驗中可以成功欺騙跨連續幀的紅綠燈識別,攻擊成功率為 85.2%。下圖顯示了 G→R 和 R→G 攻擊的兩個最佳案例,它們實現了最長的成功欺騙持續時間。識別結果用相應的顏色表示(紫色除外,紫色表示 Apollo 沒有檢測到任何紅綠燈),“GT”表示光顏色的標準。
結果表明,攻擊可以連續欺騙紅綠燈識別超過一秒。這個初步實驗證明了當捕獲的場景發生變化時,攻擊在連續視頻幀上的有效性。

(2)跟蹤和激光瞄準的可行性
在上述實驗中,假設攻擊者可以連續向攝像機中注入激光。然而,在實踐中,攻擊者和激光二極管應該在目標車輛之外,這使得將激光連續瞄準攝像機的微型鏡頭變得具有挑戰性,尤其是從很遠的地方。
手動跟蹤和瞄準設備:為了克服這一挑戰,構建了一個手動跟蹤和瞄準設備,該設備將 500-1000 mW 激光二極管與安裝在三腳架上的單目望遠鏡相結合,如前圖(b)所示。
使用高功率激光二極管產生更大的散斑,便于瞄準,同時確保注入攝像機的光具有足夠的強度。將激光二極管固定在望遠鏡頂部的位置,從望遠鏡的目鏡可以看到散斑。使用這種設備,攻擊者甚至可以在很遠的地方手動跟蹤目標并同時瞄準激光。
設置:基于該設備,在實際設置中進行了實驗,以檢驗連續瞄準的可行性。如前圖(c)所示,攻擊者在路邊,距離車輛40-80 m。目標攝像頭安裝在車輛擋風玻璃頂部附近。將車輛向前或向后駛向紅綠燈,而另一名研究人員充當攻擊者并控制路邊的攻擊設備。所有激光操作均按照安全規定在封閉的場地中進行,并與安全委員會協調。
結果:在進行的 88 次試驗中,發現 at tacker 在 77 次試驗中可以連續向攝像機注入激光,瞄準成功率為 89.8%。結果表明,即使車輛以 20 公里/小時的速度行駛,手動瞄準也是可行的。
(3)對駕駛的端到端影響
進一步分析了交通燈識別實驗的結果,并使用 LGSVL 模擬器調查了攻擊對 Apollo 駕駛行為的潛在端到端影響。
攻擊 TL 識別的結果:在實際設置下,該攻擊可以在 16 次試驗(38 次)中成功將紅燈偽裝成綠色,并在 9 次試驗(50 次)中將綠燈偽裝成紅色,從而使攻擊成功率為R!G 為 42.1%,G!R 為 18%。平均攻擊成功率為 28.4%,低于前文的結果,原因是遠距離手動瞄準造成的激光注入不穩定。設想可以通過更好的設備來提高攻擊成功率,例如自動瞄準和激光穩定系統。
對駕駛行為的影響:由于找不到生產型自動駕駛車輛,研究了攻擊對在 LGSVL 駕駛模擬器中運行的 Apollo 的潛在端到端影響。為簡單起見,將之前實驗中的最佳攻擊結果作為模擬器中虛擬紅綠燈的顏色進行回放。車輛在識別到紅綠燈突然變化后不到 0.5 秒就會開始剎車或移動。在某些情況下,例如下圖,此類行為可能使車輛闖紅燈并與交通相撞,或者在十字路口中間突然減速并停止,可能導致追尾。

Discussion
通用黑盒攻擊:通用黑盒攻擊是可取的,因為它不需要目標攝像機的任何知識。雖然攻擊不需要攝像機的完整白盒知識,但為了穩定注入的干擾,了解刷新率對于攻擊所有攝像機是必要的。由于設備之間的刷新率不同,很難實現針對不同目標攝像機使用相同攻擊參數的通用黑盒攻擊。
計時:激光注入的時間決定了條紋在圖像中的位置,并直接影響攻擊的有效性。不幸的是,如果沒有來自攝像頭的直接反饋,就不可能預測準確的時間,這會降低攻擊在實踐中的有效性。將時間的影響視為一個概率問題。較寬的條紋會增加與紅綠燈重疊的可能性,但是,它也可能會不必要地干擾紅綠燈檢測和圖像中其他物體(例如汽車和車道)的識別,這可能會觸發警報并禁用自動駕駛。
寬條紋對目標檢測的精確影響尚不清楚,應在未來的工作中進行研究。攻擊者還可能會注入一條在圖像中跨連續幀緩慢移動的條紋。因此,在條紋與紅綠燈重疊的時間內,攻擊可能會成功,例如幾秒鐘,具體取決于條紋的移動速度,根據模擬,這足以影響自動駕駛。

對策:為了減輕威脅,提出了兩種重新設計卷簾式快門機制的方法。電子快門可以 (1) 以隨機順序曝光 CMOS 行,或 (2) 從每一幀的隨機行開始曝光,如上圖所示。
模擬第一種方法,下圖顯示應用隨機滾動快門序列之前和之后的圖像。表明這種方法會將注入的條紋分散在整個圖像上,從而使攻擊無效。第二種方法將使注入的條紋跨連續幀出現在圖像中的不同位置。通過這種設計,攻擊可能只會在不連續的幀中偶爾成功,因此很難影響駕駛決策。

Conclusion
在本文中展示了用激光欺騙紅綠燈識別的可行性。設法在圖像中創建可調整的彩色條紋,通過利用 CMOS 攝像機中卷簾式快門的脆弱性來改變識別結果。通過對激光攻擊過程進行建模,能夠模擬攻擊并搜索有效的激光參數。通過對真實攝像頭的評估顯示了攻擊的有效性,并展示了它對現實世界的潛在影響。為了減輕威脅,建議對現有和未來的車輛進行防御。
參考鏈接:https://www.usenix.org/conference/usenixsecurity22/presentation/yan