張 寅,黃孝慈,李 超,朱祉彧,張海波
(上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院, 上海 201620)
隨著中國(guó)汽車行業(yè)的快速發(fā)展,國(guó)內(nèi)的汽車保有量日益劇增且交通事故頻率越來(lái)越高,根據(jù)美國(guó)國(guó)家公路交通安全管理局(NHTSA)交通事故數(shù)據(jù)分析可知,每年由太陽(yáng)的眩光引發(fā)的事故高達(dá)數(shù)千起,道路交通事故率超過(guò)16%。市面上的車用遮陽(yáng)板主要是由遮陽(yáng)板體和遮陽(yáng)板轉(zhuǎn)動(dòng)軸構(gòu)成。遮陽(yáng)板轉(zhuǎn)動(dòng)軸固定在主駕駛或副駕駛前方頂棚上,可繞遮陽(yáng)板轉(zhuǎn)動(dòng)軸轉(zhuǎn)動(dòng)。駕駛途中,駕駛員的注意力會(huì)被手動(dòng)調(diào)節(jié)遮陽(yáng)板而分散,存在著一定的安全隱患。
隨著汽車技術(shù)不斷的發(fā)展與完善,在行車安全輔助系統(tǒng)中,遮陽(yáng)板占據(jù)著重要地位。在遮陽(yáng)板的原有基礎(chǔ)上進(jìn)行改良設(shè)計(jì),有利于提升汽車的智能性和人性化??刂葡到y(tǒng)是智能車用遮陽(yáng)板系統(tǒng)的關(guān)鍵,是一個(gè)集數(shù)據(jù)采集、數(shù)據(jù)計(jì)算等功能于一體的系統(tǒng)裝置,是現(xiàn)代智能化、機(jī)電一體化的重要組成部分。
綜上所述,通過(guò)對(duì)智能遮陽(yáng)板控制系統(tǒng)的研究和開發(fā),可以減少眩目對(duì)駕駛員的危害及不必要的動(dòng)作導(dǎo)致的交通事故,保障了駕駛員行駛的安全性。不斷完善及應(yīng)用智能控制系統(tǒng)能極大地促進(jìn)道路交通安全,彌補(bǔ)了汽車智能化的空缺。
智能遮陽(yáng)板總體結(jié)構(gòu)包括遮陽(yáng)板板體、遮陽(yáng)板轉(zhuǎn)軸、遮陽(yáng)板轉(zhuǎn)動(dòng)驅(qū)動(dòng)裝置總成及其內(nèi)置的電控模塊、環(huán)境光傳感器、太陽(yáng)能電池板,如圖1所示。遮陽(yáng)板體連接遮陽(yáng)板轉(zhuǎn)軸并可由其帶動(dòng)轉(zhuǎn)動(dòng),遮陽(yáng)板轉(zhuǎn)軸另一端深入遮陽(yáng)板驅(qū)動(dòng)裝置殼體內(nèi),連接至遮陽(yáng)板驅(qū)動(dòng)電機(jī)。同時(shí),電機(jī)利用傳動(dòng)裝置帶動(dòng)遮陽(yáng)板向內(nèi)側(cè)轉(zhuǎn)動(dòng)。環(huán)境光傳感器感應(yīng)環(huán)境光強(qiáng),其信號(hào)線連接至驅(qū)動(dòng)遮陽(yáng)板驅(qū)動(dòng)裝置總成內(nèi)置的電控模塊,通過(guò)光感信號(hào)控制電機(jī)輸出轉(zhuǎn)數(shù),以控制遮陽(yáng)板體和遮陽(yáng)板轉(zhuǎn)軸的轉(zhuǎn)動(dòng)。攝像頭安裝在驅(qū)動(dòng)遮陽(yáng)板轉(zhuǎn)動(dòng)驅(qū)動(dòng)裝置總成殼體外側(cè),其信號(hào)線連接至驅(qū)動(dòng)遮陽(yáng)板轉(zhuǎn)動(dòng)驅(qū)動(dòng)裝置總成內(nèi)置的電控模塊。攝像頭對(duì)準(zhǔn)駕駛員面部位置,拍攝駕駛員的面部照片,通過(guò)電控模塊的芯片內(nèi)置程序分析駕駛員是否疲勞。
圖1 智能遮陽(yáng)板的總體結(jié)構(gòu)
智能遮陽(yáng)板控制系統(tǒng)的硬件設(shè)計(jì)是采用各獨(dú)立子系統(tǒng)配合完成作業(yè)的設(shè)計(jì)方法,分為控制芯片Arduino UNO電路單元、電源的管理單元、環(huán)境光傳感器采集單元、直流驅(qū)動(dòng)電機(jī)單元。
要求所設(shè)計(jì)的控制系統(tǒng)具備采集光照強(qiáng)度且轉(zhuǎn)換成PWM信號(hào)來(lái)控制電機(jī)的功能,實(shí)現(xiàn)在一定的太陽(yáng)光照下,遮陽(yáng)板能夠轉(zhuǎn)到相應(yīng)的角度。
智能遮陽(yáng)板項(xiàng)目中有3種方式控制遮陽(yáng)板的動(dòng)作:
(1)用外部單片機(jī)或電腦輸入交替脈沖信號(hào)經(jīng)Arduino處理后控制步進(jìn)電機(jī)以時(shí)間間隔T進(jìn)行正轉(zhuǎn)至角度θ切換反轉(zhuǎn),從而帶動(dòng)遮陽(yáng)板重復(fù)放下收起動(dòng)作;
(2)通過(guò)環(huán)境光傳感器根據(jù)不同光強(qiáng)輸入信號(hào)經(jīng)Arduino處理后控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng),光強(qiáng)增加時(shí),驅(qū)動(dòng)步進(jìn)電機(jī)逆時(shí)針旋轉(zhuǎn)使遮陽(yáng)板至θ時(shí)停止;光強(qiáng)減少時(shí),步進(jìn)電機(jī)順時(shí)針旋轉(zhuǎn)帶動(dòng)遮陽(yáng)板至水平復(fù)位;
(3)手動(dòng)調(diào)試模式則是通過(guò)電位器控制步進(jìn)電機(jī)旋轉(zhuǎn)帶動(dòng)遮陽(yáng)板至任意特定角度。
控制系統(tǒng)由以下幾個(gè)模塊組成:?jiǎn)纹瑱C(jī)初始化模塊、環(huán)境光傳感器采集模塊、電機(jī)控制模塊、駕駛員眼部圖像識(shí)別模塊。采用模塊化形式分別編程,最后將所有程序結(jié)合在一起,使得結(jié)構(gòu)清晰。
(1)單片機(jī)的初始化模塊包括:IIC主機(jī)模塊、PWM模塊初始化;
(2)環(huán)境光傳感器采集模塊:環(huán)境光傳感器檢測(cè)到光強(qiáng),并將返回信號(hào)輸入單片機(jī)的輸入端口,程序不間斷地讀入輸入端口的信號(hào),通過(guò)計(jì)算得出合適的PWM信號(hào)控制電機(jī)角度;
(3)電機(jī)控制模塊:電機(jī)控制端通過(guò)傳感器直接輸出的PWM信號(hào)控制電機(jī)輸出軸的轉(zhuǎn)動(dòng)角度;
(4)駕駛員眼部識(shí)別模塊:通過(guò)攝像頭捕捉駕駛員眼部區(qū)域,將獲取得到的照片輸入,通過(guò)識(shí)別照片上臉部表情特征判定駕駛員是否處于疲勞狀態(tài)。
人臉識(shí)別系統(tǒng)做為主要利用OpenCV、Tensorflow和Pytorch框架構(gòu)建而成。下載并調(diào)用 OpenCV 視覺(jué)處理庫(kù)中提供的數(shù)據(jù)集,利用深度學(xué)習(xí)的目標(biāo)檢測(cè)器對(duì)數(shù)據(jù)集中的圖像進(jìn)行人臉檢測(cè)[1]。
數(shù)據(jù)集中圖像主要來(lái)自攝像機(jī)采集,并利用相關(guān)標(biāo)注軟件對(duì)圖片進(jìn)行標(biāo)注。利用圖片二值化的預(yù)處理方法,可降低模型對(duì)圖像大小以及位置的敏感性。根據(jù)需要,更改文件里面的迭代次數(shù)等參數(shù)。算法通過(guò)標(biāo)注文件中的位置數(shù)據(jù),搜索人臉?biāo)诘奈恢?。通過(guò)訓(xùn)練人臉檢測(cè)器,最終訓(xùn)練權(quán)重將保存至相應(yīng)文件夾下。訓(xùn)練階段主要是在數(shù)據(jù)集中提取出特征關(guān)鍵點(diǎn),將圖片的最大特征值與對(duì)應(yīng)的標(biāo)注信息定義為元空間的各個(gè)子集。如果需要添加新圖像,這些子集可更新,并重新進(jìn)行訓(xùn)練。然后,調(diào)用專屬文件,判斷輸入圖片是否屬于人臉圖像,如果是,則可以利用算法中設(shè)置的預(yù)選框搜尋,擬合圖像中人臉的位置。如若識(shí)別的一個(gè)未知的人臉圖像,則需要將圖片和其標(biāo)注信息添加到模型中,重新訓(xùn)練人臉檢測(cè)器[2]。
臉部表情識(shí)別算法基于OpenCV和Pytorch搭建出的系統(tǒng)框架來(lái)實(shí)現(xiàn)的。通過(guò)對(duì)Gabor小波變換的特征進(jìn)行提取,用Gabor小波變換系數(shù)向量代替圖像的灰度特征,以減弱圖像對(duì)光照和位置的敏感性。同時(shí),使用PCA/LDA Fisher判別分析法對(duì)Gabor向量進(jìn)行降維,提取特征空間的高特征的子空間進(jìn)行訓(xùn)練[3]。利用C均值動(dòng)態(tài)聚類的方法構(gòu)造表情判斷模板,分別包括點(diǎn)頭頻率、打哈欠、眨眼頻率3種常見(jiàn)行為模式[4]。最后,使用K近鄰判別法將各個(gè)子表情模板待識(shí)別的圖像進(jìn)行匹配[5]。
本系統(tǒng)采用Mixly和Arduino IDE控制系統(tǒng),程序采用C++和python混合編寫,提高了系統(tǒng)研發(fā)效率,方便了程序的設(shè)計(jì)[6]。
檢測(cè)光照的強(qiáng)弱性的控制器主要存在于反饋控制系統(tǒng)中,能夠通過(guò)比較檢測(cè)量和給定量來(lái)計(jì)算控制量。為了確保遮陽(yáng)板轉(zhuǎn)動(dòng)的角度適合,系統(tǒng)的控制變量主要是電機(jī)的轉(zhuǎn)動(dòng)時(shí)間,使遮陽(yáng)板能以最快的速度轉(zhuǎn)動(dòng)。系統(tǒng)要確保在接近轉(zhuǎn)動(dòng)臨界點(diǎn)的時(shí)刻盡快減速,且角度偏差要小,由此遮陽(yáng)板才能平滑地轉(zhuǎn)動(dòng)。重新檢測(cè)光照強(qiáng)度時(shí),遮陽(yáng)板的角度要以初始的位置為基礎(chǔ),計(jì)算電機(jī)的轉(zhuǎn)動(dòng)時(shí)間并且跟當(dāng)前位置做比較,調(diào)整轉(zhuǎn)動(dòng)時(shí)間并彌補(bǔ)正向(反向)角度進(jìn)行轉(zhuǎn)動(dòng)。
本文基于遮陽(yáng)板國(guó)內(nèi)外現(xiàn)有的相關(guān)研究和設(shè)計(jì),結(jié)合機(jī)電一體化概念,改進(jìn)傳統(tǒng)遮陽(yáng)板的工作模式,賦予其更多功能,提高了汽車遮陽(yáng)板的實(shí)用性和行駛時(shí)的安全性。減少了交通事故發(fā)生率。