陳芳
摘 要:近年來,惡性交通事故時有發(fā)生,在加強汽車被動安全防御技術的同時,也應該加強汽車的主動安全技術,以避免更多事故的發(fā)生,通過建立汽車安全行為分析,可以減少交通事故的發(fā)生,將交通事故的危險扼殺在搖籃之中,這樣也可以提高交通事故的安全率。本文基于OOP技術對汽車行車安全行為進行了分析,希望本文的相關研究可以降低我國行車事故率。
關鍵詞:OOP技術 車輛行為 安全分析
中圖分類號:TP391;U461 文獻標識碼:A 文章編號:1672-3791(2012)10(c)-0172-02
隨著我國汽車保有量的不斷增加,我國交通事故的發(fā)生率也不斷提高,這個我國國民經(jīng)濟帶來了巨大的損失,僅僅2011年上半年,我國共發(fā)生107193起道路交通事故,造成29866人死亡、128336人受傷,直接財產損失4.1億元。因此,在加強汽車被動安全防御技術的同時,也應該加強汽車的主動安全技術。本文基于OOP技術對汽車行車安全行為進行了分析,希望本文的相關研究可以降低我國行車事故率。
1 OOP技術概述
一般來說,OOP技術主要包含以下的組件和概念。
1.1 組件
將軟件的功能和數(shù)據(jù)集成在一起形成的單位,這是OOP模塊化和結構化的基礎和條件。
1.2 抽象性
即程序對正在處理的某些信息進行忽略,以提高其信息處理能力。
1.3 封裝
通過封裝技術可以確保系統(tǒng)組建不能以不可預期的方式對其內部的組件狀態(tài)進行改變。
1.4 多態(tài)性
組件的類集和引用會涉及到其它各種類型的不同組件,而且引用組件所產生的結果得對實際調用的類型有所依據(jù)。
1.5 繼承性
這是指組件之間有相關的繼承性,可以在組件的基礎上創(chuàng)建各類的子組件,增加了系統(tǒng)的擴展性和通用性。
2 汽車安全行為概述
為了分析和標定汽車的安全行為,筆者對沈陽市的300多名的公交車司機和長途汽車司機的駕駛操作調查,總結出了以下8種典型的駕駛行為和操作行為。
2.1 壓車道線行駛
這是一種比較常見也很危險的駕駛行為,即汽車壓著超車道進行行駛,應該對這種行為進行檢測,同時分析汽車行駛的安全程度。
2.2 疲勞駕駛
疲勞駕駛也是造成交通事故的另外一個重要的原因,是指駕駛員是否在疲勞的狀態(tài)下進行行駛,對于如何判斷駕駛員是否處于疲勞的狀態(tài)。本文是通過觀察駕駛員轉動方向盤的頻率來判斷其是否處于疲勞的狀態(tài),如果駕駛員長時間的沒有轉動方向盤,應該是駕駛員處于疲勞駕駛的狀態(tài)。
2.3 超車并道
這是指在駕車過程中駕駛員可能在某些時候采用超車并道駕駛,這種駕駛行為也是導致交通事故的一個重要原因。本文通過判斷駕駛員的操作狀態(tài)來判斷駕駛員是否存在超車并道的行為,這種操作方式往往有以下特征:打開轉向燈、加速、方向盤向左轉動。
2.4 車輛掉頭轉彎
這種行為主要是指在駕駛過程之中,駕駛員突然驅動車輛進行掉頭,這種行為也容易導致發(fā)生交通事故。發(fā)生這種事故時,往往存在以下幾種操作特點:駕駛員有方向盤大幅度的轉動、轉向燈點亮。
2.5 加速行駛狀態(tài)
這是駕駛員一種非常常見的行為,這是指駕駛員處在一種加速行駛的狀態(tài)之中,對于這種駕駛行為的判斷,主要是采用通過判斷駕駛員操作油門的開啟度來判斷,汽車是否處于加速狀態(tài),因為加速狀態(tài)也往往是駕駛員另外一個危險動作的前兆。
2.6 減速行駛狀態(tài)
這種行為也是另外一種非常危險的駕駛行為,因為減速狀態(tài)也往往是駕駛員另外一個危險動作的前兆。本文對于駕駛員減速行為的判斷主要是通過判斷駕駛員操作油門的開啟度來進行進一步的判斷,主要是駕駛員開啟油門的度慢慢減小。
2.7 勻速行駛狀態(tài)
車輛的勻速行駛狀態(tài)是絕大部分時間狀態(tài)下的行駛狀態(tài),這種狀態(tài)應該是駕駛員下一個行為的預測基礎,本文對這種行駛狀態(tài)的判斷,主要是通過判斷駕駛員的油門位置是否穩(wěn)定來判斷。
跟蹤這個狀態(tài)為下一個時刻的駕駛行為預測奠定基礎。主要特征為車速穩(wěn)定、方向盤保持連續(xù)地小角度轉動、油門位置穩(wěn)定。
2.8 啟動狀態(tài)
這也是駕駛員另外一種常見的狀態(tài),這種狀態(tài)的特征是油門加大、檔位掛在低速檔、離合器緩慢抬起、車速逐步加快以及剎車信號漸漸消除。
3 基于OOP技術的車輛行為安全分析系統(tǒng)
本文以視頻技術為基礎,通過采用道路攝像系統(tǒng)為硬件系統(tǒng),全面獲取駕駛員的各個行為,然后通過分析采集到的駕駛員的各類行為,以判斷車輛的行為是否處于安全的狀態(tài),這個系統(tǒng)也叫車輛行為安全分析系統(tǒng),本文開發(fā)的系統(tǒng)是以OOP技術為核心的,然后依據(jù)相關算法對車輛異常行為實現(xiàn)了檢測。
3.1 視頻采集模塊
這個模塊的動能,主要是通過交通攝像頭,獲取全方位的圖像,以判斷駕駛員的各種行為,這是整個系統(tǒng)的基礎。一般來說,這個模塊主要由視頻獲取類和透視展開類構成。
(1)類CameraFrameCollector IClass]:從道路攝像系統(tǒng)獲取相關的圖像視頻,一般來說,這個類包括以下一些函數(shù)。
①public boolean open():這個函數(shù)的功能主要是對道路攝像系統(tǒng)進行進入,如果進入成功則返回ture,否則返回false。
②public boolean open(String captureDevice):這個函數(shù)的功能主要是對連接串的攝像設備進行打開。
③public boolean open(String captureDevice,String videoSize):這類函數(shù)的功能是對連接串的攝像設備進行打開,并對攝像機的視頻大小進行指定。
④public void close(),這個函數(shù)的功能是對攝像設備進行關閉。
⑤public Bufferedlmage getCur rentFrame(),這個函數(shù)的功能是對當前視頻幀進行采集。
(2)類PerspectiveUnwrap[Class]:是進行透視展開全景圖像,主要包括以下函數(shù)。
①public PerspectiveUnwrap(Buffere dlmage imageOD):這個函數(shù)是一個構造函數(shù),其功能是對透視展開參數(shù)進行初始化,并對需要展開的全景圖像進行傳入。
②public void createTable(int myFv,int X,int Y):這個函數(shù)是根據(jù)需要透視展開的坐標和焦距對透視映射表進行建立。
③public Bufferedlmage unwrap(int start,boolean insert):這個函數(shù)是進行透視展開全景圖像,并對透視展開圖進行返回
3.2 運動對象檢測模塊
這個模塊的主要功能是對駕駛員的前景區(qū)域進行捕捉,同時進行相關的對象跟蹤,這個模塊采用前景提取算法是基于混合高斯模型的背景差分算法。
(1)MGBackgroundModel[Class]:這是一種自適應背景模型,這種模型是基于混合高斯分布模型的。
(2)public MGBackgroundModel0:這是一種構造函數(shù),這個函數(shù)是用來對混合高斯模型進行初始化。
(3)public void learn(int[][]image):這是一個背景學習函數(shù),主要用來對背景模型進行建立。
(4)public void segment(int[][]image,boolean[][]mask),這是一個前景檢測模塊,主要用來對采集到的圖像的背景和前景進行分割。
3.3 對象跟蹤模塊
這個模塊主要對車輛對象進行跟蹤和檢測,以對車輛對象的軌跡和運動狀態(tài)進行獲取。
(1)TeackObjectlClassl:這是對象跟蹤類,這種類的功能主要是對跟蹤對象的基本信息進行存放。
(2)Public TrackObject(int ID,Color_color,Rectangle rect):這個類是對追蹤對象的顏色,ID和位置進行初始化。
(3)Public void changeTrackTargetRect(Rectangle):這個類是對對象矩形框位置進行更新。
(4)Public Rectangle getCurRecO:這個類是對對象當前位置進行返回。
(5)Public Rectangle getLastRec0:這個類的功能是對對象上一幀位置進行返回。
(6)Public List getTrace():這個類的功能是對對象的軌跡信息進行返回。
(7)Public int getLiveTime():這個類是對對象的生存時間進行返回。
(8)TrackObjectGrouplClassl:這個類是跟蹤對象隊列類,功能主要是對每一幀的對象隊列進行存放。
(9)Public TrackObjectGroup(Buffere dlmage image):這個類的功能是是初始化跟蹤對象隊列,然后將輸入?yún)?shù)設為當前幀圖像作為用以跟蹤。
(10)Public void addTrackTarget(List
(11)Public List
3.4 行為識別模塊
這個模塊主要是對車輛的非正常行為繼續(xù)擰識別,主要包括本文第三章包括的各類行為,同時根據(jù)行為狀態(tài)對其安全性進行判斷。
(1)ViolationDetect[clms]:主要是對車輛的各種行為進行檢測,主要包括本文第三章包括的各類行為。
(2)Public vjolmionDetect(Listtraek ObjectGroup):這個函數(shù)是一個構造函數(shù),主要是對其對象隊列的幀進行檢測。
(3)PublicTraekObject[]redLightRunner():這個類是對闖紅燈行為的車輛隊列進行返回。
(4)PublicTrackObject[]speeding():這個類返回的數(shù)據(jù)是具有超速行為的車輛隊列。
(5)PublicTrackObjeet[]wrongWay Drivers0這個類返回的數(shù)據(jù)是逆向行駛車輛隊列。
參考文獻
[1] 李亞光,曾學軍.上海電子警察系統(tǒng)的建設和應用[J].中國交通信息產,2011(6):82-84.