易華 王文華
(廣東海洋大學電子與信息工程學院 廣東省湛江市 524088)
汽車大燈應該如何設計,才能既滿足明亮的照明需求,又能夠兼顧對他人的干擾,人們開展了相關研究[1-3]。在這個不斷上下求索的過程中,主動避讓式汽車大燈就此誕生了。
近年來,包括奧迪等在內的幾個廠家紛紛推出了自己的主動避讓式汽車大燈,其實現形式各有不同,但無不例外的是造價高昂,毫無例外的成為了小眾產品。人們也開展了其他類型的汽車大燈控制方式[4-5]。本設計則是以樹莓派卡片電腦為平臺,設計出一種基于計算機視覺的,成本低廉的汽車主動避讓式LED大燈。
本文以樹莓派為核心,通過紅外攝像頭獲取外界圖像,判斷行人、行車位置,并且關閉對應的遠光燈。避讓功能具有延時生效的特性,符合“人文關懷”的時代主題,智能、安全。
本文提出的主動避讓式汽車 LED大燈系統主要由樹莓派卡片電腦、電源模塊、紅外攝像頭、紅外補光燈、車燈照明部件等組成,基礎部分為樹莓派,核心部分為運行于樹莓派內的計算機視覺程序。利用攝像頭獲取外界圖像,通過計算機視覺程序的判斷比對確定車輛及行人所在的方位。當計算機視覺程序判斷出車輛或行人所在方位時,自動關閉對應方向的遠光燈,從而達到主動避讓的目的。當用戶在關燈情況下打開遠光燈,或者是近光切換到遠光燈兩秒內,主動避讓的功能會被禁用,以免影響發送閃燈信號。
整體設計方案系統結構框圖如圖1所示,整個設計可以概括為以下幾個模塊部件:
(1)電源模塊:根據各個部件的需求,系統設計時,需要設計一個12V/24VDC-6V/5V/3.6VDC的穩壓電源模塊,用于給車燈和樹莓派供電[2]。為了提高設計效率,以最少的元器件達到最佳的供電性能,電源模塊采用四個集成電源來設計。

圖1:系統整體結構框圖

圖2:大燈近光原理圖

圖3:大燈近光的結構

圖4:演示模板整體結構圖

圖5:深度學習訓練

圖6:主程序流程圖
(2)樹莓派:作為整個車燈的大腦,對攝像頭捕獲的圖像信號進行對比判斷,并將判斷結果轉化為GPIO的高低電平信號,從而控制車燈的開光。
(3)紅外攝像頭:使用紅外攝像頭,實時獲取外界圖像并傳入樹莓派進行下一步的處理。
(4)紅外補光燈:起到給紅外攝像頭補光的作用。
(5)車燈照明部件:由LED燈、集成晶體管、反光碗、透鏡和外界輔助電路等部分組成,樹莓派通過紅外攝像頭獲取的圖像經過判斷和處理之后,通過GPIO口以高低電平的方式傳入車燈照明部件,從而控制集成晶體管開關來達到控制車燈開關的目的。
在進行演示模型的制作時,使用內矩陣式LED透鏡大燈作為模型設計的藍本。設計包括近光和遠光部分。其中,近光部分采用橢球反射器和透鏡組成,其原理如圖2所示,橢球體第一焦點的LED燈珠發射的光線經過橢球反射器的反射,匯集于第二焦點,在第二焦點附件安裝擋板,可設計出所需要的光形。通過透鏡在路面成一放大的像。近光燈的結構如圖3所示。
遠光部分,采用漏斗形透鏡陣列來將多顆LED燈珠的光盡可能的聚集到前方,5個漏斗形透鏡并列,透鏡內分別安置一顆LED燈珠,達到內置矩陣的目的。
在設計演示模板的燈體時,同時一起設計電源盒盒樹莓派盒,提高系統整體穩定性的同時也起到演示模型的支架作用。如圖4為演示模型整體效果圖,左右兩側為電源盒和樹莓派盒,中間為車燈照明部件,上方為攝像頭支架。

圖7:主動避讓程序流程圖
Raspbian是樹莓派常見的操作系統,是目前樹莓派上最穩定的系統[6]。因此,本文選擇Raspbian作為操作系統。
NCNN從設計之初就深刻考慮移動端ARM平臺的部署和使用,支持將caあe等的模型轉換為NCNN模型。因此,我們采用Caあe進行深度學習模型訓練,并使用NCNN作為在樹莓派上使用的框架。
OpenCV是一個跨平臺的計算機視覺庫[7],是目前比較好用的視覺庫。
本文選擇MobileNet作為此設計的深度學習模型。MobileNet是由Google的研究者們設計的一類卷積神經網絡,它們計算消耗小、運行速度快,將卷積過程分為一個3×3深度方向的卷積和一個1×1點對點的卷積[8]。
本文的設計采用ssd-mobilenet預訓練模型來進行訓練。由于大燈系統需識別車輛和行人,因此,準備車輛和行人的圖片數據作為訓練數據。本文的訓練庫共準備車輛圖片34244張,人類圖片24293張,如圖5所示。程序流程如圖6和圖7所示。為了提高運行效率,采用C++語言編寫程序。
首先使用面包板進行GPIO口控制模擬,將裝有LED指示燈的面包板與樹莓派GPIO口相連,如圖8所示。然后在樹莓派上編譯準備好的C++程序并運行,查看控制效果,如圖9所示。檢查LED燈珠通電發光是否正常,以及整體光源電路板的通電調試。在樹莓派遠近光燈的控制正常的情況下,當人在樹莓派前走動的時候,遠光燈的開光情況,對每一顆燈珠的開關情況進行測試,并調節人在樹莓派獲得的圖像上的坐標與遠光燈燈珠開關之間的對應關系,直到恰好能關閉朝向人所在方位的遠光燈燈珠時為宜,調試正常之后按照圖4安裝整體結構。

圖8:GPIO口連接調試

圖9:GPIO控制效果
經過反復多次的調試,汽車主動避讓LED大燈能夠達到設計方案的各個要求,系統通電后,樹莓派的指示燈亮起,此時遠近光關閉,將撥桿撥到近光燈位置,近光燈和近光指示燈亮起,再將撥桿波到遠光燈位置,遠光燈和遠光指示燈亮起,兩秒之后,主動避讓功能開始生效。
LED車燈,與鹵素燈和氙氣燈相比,更加節能,也更加環保,必定是汽車大燈發展的潮流。而主動避讓LED車燈,是一種將車燈與人工智能完美結合的產物,使得車燈變得更加的富有科技感,同時也讓車燈變得更安全。本文使用GPIO口來進行主動避讓式LED汽車大燈的設計,以OpenCV和NCNN為工具,通過Caあe訓練模型,轉換為NCNN模型并由OpenCV加載模型,通過紅外攝像頭獲取外界畫面,判斷是否有行車和行人以及其位置,從而關閉對應的遠光燈,調試結果達到了主動避讓的目的。