李 策,康敬欣,曾德斌
(1.北京化工大學機電工程學院,北京 100029;2.彌榮(北京)交通科技有限公司,北京 100086)
汽車前照燈在夜間行駛過程中扮演著重要的角色,其中遠光燈的發光強度對于行車安全尤為重要。遠光燈發光強度過高,會造成迎面駕駛人員眩目,阻礙其視線;光強過低,又會造成司機無法在昏暗條件下辨別路況。兩種情況都極易引發行車事故。為避免汽車的不良燈光狀況影響夜間駕駛安全,汽車車燈在出廠前一定要根據國家標準嚴格檢測。
傳統的檢測方法有屏幕法、基于光電傳感器的燈光儀檢測法等,這些方法在實際測量過程中普遍存在著誤差大、效率低等問題,從而使得車燈的性能無法得到可靠保證。隨著機器視覺技術的發展,基于CCD相機的前照燈檢測法逐漸興起,國內外學者對基于機器視覺的前照燈檢測進行了不同程度的研究與試驗,在近光燈光型、光強檢測等方面取得了較好的效果[1-5],但對于遠光燈,由于其發光強度過大而產生的相機過曝、像素失真等問題的存在,目前對其光強檢測仍存在著較大誤差[6]。
本文在前人研究的理論基礎上,提出一種控制感興趣區域(ROI)平均灰度值調節曝光時間的算法,用于遠光燈光強標定,以防止因圖像過曝或像素失真導致的檢測誤差,從而提高遠光燈光強檢測的魯棒性。
CCD相機灰度與照度的標定公式為[7]:
(1)
式中:E是照度值,G是圖像灰度值,gv是相機增益即曝光補償,t是曝光時間,a、b為系數,與照射物體到光源的距離有關。
汽車遠光燈口徑較大,在測量時不能近似為點光源,而作為面光源參與分析。對于發光面為圓形的菲涅爾光源,當其發光面為朗伯體時,在距光源一定距離處測得的發光強度可以表示為[8]:
I=El2
(2)
整理得到光強與灰度公式:
(3)
式中:I是光強(光度),l是光源到被照射物體的距離。
分析上述公式,我們可以得出下面兩種標定光強的方法。
(1)當距離和增益一定時,固定曝光時間,光強I和與灰度G線性相關。將一定范圍的光強值與灰度值等比例對應,形成灰度與光強的數值對應表。
此方法存在如下兩個問題:
a)當發光強度超過標定范圍時,便無法計算出實際發光強度。
b)單位灰度很小的誤差擾動會使測量結果產生巨大誤差。這是由于數字圖像的灰度值范圍是0~255的整數區間,而對應車燈的光強標定區間能達到105數量級。
(2)當距離和增益一定時,由式(3)可得:
(4)
其中k=al2/gv,d=-b/l2。
由公式(4)可知,在確定的發光強度下灰度與曝光時間存在如下關系:
(5)
為了能準確調節圖像的目標灰度值,本文根據式(5)提出了一種實現相機自動調節曝光時間的迭代控制算法以實現灰度值范圍的固定,計算流程如圖1所示。
圖1 相機自動調節曝光時間的迭代控制算法流程圖Fig.1 Flow chart of iterative control algorithm for automatic exposure time adjustment of camera
圖中Gtarget、Gture分別是灰度值的目標值和實際值,Ttarget、Tture分別為曝光時間的目標值和實際值,tolerance為容差即目標灰度取值范圍。當灰度值的實際值與目標值之差的絕對值超差時,不斷迭代直到誤差值控制在允許的容差范圍內。
汽車遠光燈光強標定系統組成如圖2所示。
圖2 汽車遠光燈光強標定系統Fig.2 Automobile high beam luminous intensity calibration system
標定系統由計算機、CCD相機、車燈光源、菲尼爾透鏡、光屏等硬件組成。CCD相機采用型號為Mako G-032B 的AVT工業相機,鏡頭焦距為8 mm。光源為日本彌榮株式會社制造的型號THL-YS-3的標準遠光燈,如圖3所示。該設備可以通過調節電壓控制器來輸出不同強度的燈光。相機、光屏、菲涅爾透鏡安裝于燈箱中形成整體設備,如圖4所示。系統軟件利用python3.7和AVT相機軟件Vimba3.0開發完成。
圖3 THL-YS-3標準遠光燈Fig.3 ThL-YS-3 standard high beam
圖4 集成燈箱Fig.4 Integrated light box
由于鏡頭畸變、外界光線等因素的影響,在圖像分析前,要先進行相機矯正、圖像降噪等一系列處理。
所有的光學相機都存在畸變問題,這是由透鏡的固有特性決定的。畸變會造成圖像失真,導致我們無法獲得像素在圖像上的真實坐標。為了獲得接近真實的圖像,我們使用OpenCV計算機視覺庫中內置的張正友標定法對相機進行標定。
首先,用CCD相機對精度為0.001 mm的標定板進行不同角度和距離的拍攝,將拍攝的圖像利用calibrateCamera函數進行標定,計算得到相機的外參矩陣和畸變系數。利用得到的參數和getOptimalNewCameraMatrix命令,可實現圖像的矯正。圖像矯正前后對比如圖5所示。
圖5 圖像校正前后對比Fig.5 Contrast before and after image correction
為了使遠光燈實時檢測的效率和準確性得到有效保證,經過CCD相機獲取的圖像要經過一系列的圖像處理最終確定ROI。
3.2.1 圖像預處理
首先對圖像進行預處理,將RBG圖像轉換為灰度圖像,然后使用中值濾波和閉運算對圖像進行降噪并消除圖像中的黑點噪聲(圖中黑點是光屏中心小孔,用于激光定位與測距)。處理前后的圖像如圖6所示。
圖6 降噪處理前后對比Fig.6 Contrast before and after image denoising
3.2.2 光斑選取
在實際檢測過程中,即使是封閉的光箱,也不可避免存在自然光或其他光線產生的亮度較高的細小光斑,如圖7所示。針對此問題,本文采取了一種選取最大光斑輪廓的方法。
圖7 受到外界光影響的車燈投影Fig.7 lamp projection affected by external lights
首先使用THRESH_BINARY函數對圖像進行閾值分割處理,函數公式如下:
(6)
式中:(x,y)是像素坐標,thresh為設定的灰度閾值,src(x,y)是像素坐標的灰度值,dst(x,y)為最終輸出的灰度值。
當某坐標的像素灰度值大于設定閾值時輸出灰度值等于圖像中最大灰度值,小于閾值時則置為0。圖8所示為閾值設置為最高灰度的90%的處理結果。
圖8 閾值分割前后圖像對比Fig.8 Image comparison before and after threshold segmentation
然后使用findContours函數對圖像中所有白色區域的輪廓進行遍歷。
最后提取面積最大的輪廓坐標,用于摳取經過預處理之后的圖像;若未檢索到輪廓,則將整幅圖設置為最大輪廓,檢索效果如圖9所示。
圖9 車燈投影時檢索效果Fig.9 Retrieval effect with lamp projection
3.2.3 選取ROI
汽車遠光燈亮度大小由內到外逐次遞減。在標定時,理論上應選擇光斑中心區域,但實際檢測過程中由于車燈質量存在差異,部分遠光燈存在光型偏移、缺失、畸變等問題,造成光強分布不均,所以在標定光強時不能簡單地對應光斑中心灰度值。針對此問題,可以采取以灰度重心即灰度值權重質心作為跟蹤點,找到光斑最亮區域。灰度重心表達式為:
(7)
式中(x,y)是像素坐標,f(x,y)是坐標的灰度值,Ω是求取灰度重心的目標區域。
為了控制目標區域灰度值,本文通過控制平均灰度的方法,來控制ROI的整體灰度。當灰度值范圍跨度較大時,灰度值較低區域將使平均灰度的取值產生很大誤差,因此本文將ROI劃定為最高灰度值90%以上的光斑區域,為了更好的顯示光強的分布狀況我們將灰度圖轉換為偽彩圖,不同燈型的ROI選取如圖10所示。
圖10 不同光型的ROI選取效果Fig.10 ROI selection effects of different light types
3.2.4 計算平均灰度
由于在實時檢測過程中,外界環境和系統內部的誤差擾動會導致輸出的圖像不平穩、灰度值不斷變化,因此本文采用卡爾曼濾波器算法,遞歸預測圖像ROI的平均灰度值,從而進行校正。
一維的卡爾曼濾波算法可表示為:
(8)
(9)
(10)
(11)
(12)
將燈箱置于試驗臺上,利用激光定位將標準光源對準光屏中心,并放置在距離燈箱1.5 m處。
通過程序命令將CCD相機設置為自動曝光,關閉自動增益,目標灰度分別設置為150、180,容差為±10。實驗過程中使用電壓調節器調整發光強度,計算機同步進行計算和標定,將測得的灰度與曝光時間的比值與標準光強進行一次多項式擬合,得到的擬合函數式用于光強檢測,并計算相對誤差。不同目標灰度下的測量數據見表1和表2,對應的擬合函數見圖11和圖12。
表1 灰度目標150時標定結果
表2 灰度目標180的標定結果
圖11 灰度目標為150的函數擬合圖Fig.11 Function fitting diagram with gray target of 150
圖12 灰度目標為180的函數擬合圖Fig.12 Function fitting diagram with a gray target of 180
圖中數據表明,擬合方程的確定系數R2達到了0.999 7,擬合效果優異,符合式(4)中所描述的線性關系。由表中光強測量值與標準光強的相對誤差不超過5%,低于國標規定的15%的檢測誤差[10],檢測準確性較高。
本文根據CCD相機中圖像灰度與照度的關系式和圓形菲涅爾光源照度與發光強度的關系式,推導出測量發光強度的理論公式,依據此公式設計了將遠光燈光斑圖像灰度值與相機曝光時間的比值對標準光強進行標定的方法。通過設計曝光時間控制灰度范圍的算法以及使用圖像處理技術和卡爾曼濾波器算法,保證在標定過程中圖像灰度與曝光時間兩個數據的穩定輸出,這是上述標定方法的技術基礎。利用標定實驗得出的擬合關系式,對發光強度進行檢測,檢測結果與實際值的誤差不超過5%,展現出很強的魯棒性。
基于本文的遠光燈標定與檢測技術,我們已形成軟件與硬件設備,并在實際車廠環境中對前照燈發光強度進行檢測,實驗表明此設備對遠光燈和近光燈光強的檢測結果都展現出較強的魯棒性,獲得了廠方的認可并已投入實際使用之中。要注意的是,在利用本文所提出的方法進行遠光燈光強檢測時,一定要注意嚴格保持被檢車燈與檢測設備之間的相對位置和距離,如果發生變動,則需要重新進行標定。