陳富強
(廣西北部灣國際港務集團有限責任公司科技信息部,廣西 南寧 530021)
隨著智能交通系統和自動駕駛技術的快速發展,交通信號燈的準確識別和解析成為了一個重要的研究領域。交通燈作為道路交通的核心調控設施,其信號狀態的準確識別對于保障道路交通安全和流暢具有至關重要的作用[1,2]。在自動駕駛領域,車輛對交通燈信號的準確識別和響應是實現安全駕駛的關鍵。隨著越來越多的自動駕駛車輛進入實際道路測試和商業運營,對交通信號燈自動識別系統的需求日益增加。
近年來研究人員開始探索結合深度學習技術的交通燈檢測方法。這些方法通常基于卷積神經網絡(CNN)等機器學習模型,能夠自動學習和識別交通燈的復雜特征。雖然這些方法在識別準確性上取得了顯著進步,但它們通常需要大量的標記數據進行訓練,并且在計算資源和處理速度上有較高的要求。因此,對于資源受限的應用場景或需要實時處理的系統而言,這些方法不太適用[3]。相比之下,基于OpenCV(開源計算機視覺庫)的方法在資源消耗和實時性能方面具有優勢,能夠在多種硬件平臺上高效運行,特別適用于車載系統和邊緣計算設備。OpenCV 作為一個廣泛應用的圖像處理和計算機視覺庫,提供了豐富的算法和功能,成為研究交通燈檢測的重要工具。OpenCV不僅提供基本的圖像處理功能,如圖像縮放、色彩空間轉換等,還包括霍夫圓變換、顏色閾值分析等高級功能,這些都是交通燈檢測中不可或缺的技術[4]。
計算機視覺作為一門研究如何使機器“看”世界的科學,近年來已成為人工智能領域中最活躍和最具挑戰性的研究方向之一。本領域的研究致力于模擬和實現人類視覺系統的功能,通過從圖像或視頻中自動提取、處理、分析和理解可視信息來完成各種任務。計算機視覺的應用范圍極廣,從工業檢測、醫療診斷到安防監控,再到最近興起的自動駕駛和智能交通系統,它的應用幾乎遍及人們生活的每一個角落。在計算機視覺領域,圖像處理是基礎且關鍵的一環。
圖像處理技術包括圖像的獲取、預處理、特征提取和圖像分析等多個階段。預處理通常涉及噪聲去除、對比度增強、尺寸調整等步驟,以提高圖像質量并準備后續的分析處理。特征提取則是從處理過的圖像中提取有用的信息,如邊緣、角點、紋理等。這些特征對于后續的圖像識別和分類至關重要。此外,圖像分析階段則包括更高級的處理,如模式識別、機器學習和深度學習技術,用于識別圖像中的特定對象或場景。在交通燈顏色檢測這一特定應用中,計算機視覺技術的核心在于準確地從車輛前方的連續視頻流或靜態圖像中識別出交通信號燈,并判斷其狀態。這一過程涉及多個計算機視覺技術的運用。首先,圖像預處理技術被用于提高圖像質量,確保交通燈的可識別性;然后利用特征提取技術,如霍夫圓變換,被用于定位圖像中的交通燈;最后顏色識別技術則用于判斷交通燈的顏色狀態[5]。
OpenCV 作為一個開源的計算機視覺和機器學習軟件庫,在交通燈檢測領域發揮著重要作用。在OpenCV 庫中,包含了從基礎的圖像處理函數到高級的計算機視覺算法。例如,OpenCV 提供的霍夫圓變換函數可以高效地在圖像中檢測圓形物體,這對于定位和識別交通燈尤為重要。同樣,OpenCV 中的顏色空間轉換和顏色閾值功能則可以用于識別不同顏色的交通燈。
提出的交通燈顏色檢測系統基于模塊化的設計理念,旨在通過高度組織化的處理流程實現對交通燈狀態的準確識別。系統的架構如圖1 所示,可以劃分為四個層級:接口層、處理層、決策層和輸出層。

圖1 整體框架
(1)接口層
接口層為用戶和其他系統提供交互的接口,主要包括圖像選擇、配置管理和用戶交互功能。用戶可以通過此層選擇待分析的圖像,調整系統設置如顏色閾值和圖像分辨率,以及通過用戶界面與系統交互,實現靈活的操作和實時的反饋。
(2)處理層
處理層是系統的核心,負責圖像的預處理、特征檢測和顏色識別。這一層首先對輸入圖像進行如尺寸調整、去噪和對比度增強等預處理操作,然后通過霍夫圓變換等算法識別圖像中的交通燈位置,最后根據顏色閾值在HSV 顏色空間中識別交通燈的顏色。
(3)決策層
決策層基于處理層提供的數據來確定交通燈的顏色狀態和整體狀態。該層分析顏色識別結果,判斷最終的顏色狀態,進而確定交通燈的當前狀態,如紅燈、黃燈或綠燈,為后續的行動提供決策依據。
(4)輸出層
輸出層負責將決策結果呈現給最終用戶,并執行數據記錄和存儲。它在用戶界面上展示處理后的圖像及其識別結果,記錄關鍵的系統運行信息以便于后續的分析和優化,并將圖像及其識別結果存儲在數據庫或文件系統中,供未來的查詢和研究使用。
提出的交通燈顏色檢測系統的設計流程如下圖所示,體現一種從圖像獲取到最終狀態輸出的逐步精細化方法,整個設計流程展示了一種系統化、分步驟的方法來實現交通燈顏色的檢測和識別。通過這一流程,系統能夠有效地處理從圖像獲取到最終狀態輸出的整個過程,確保了檢測結果的準確性和系統的可靠性。其中,比較重要的流程步驟包括:
(1)調整大小
加載后的圖片接著進行尺寸調整。。這一步驟是為了確保圖片符合后續處理流程的要求,例如減少計算量或符合特定的輸入尺寸需求。尺寸調整有助于提升處理效率和算法的適應性。
(2)提取關注區域
在灰度圖像的基礎上,系統利用霍夫圓提取關注區域(ROI)。主要是為了識別和定位圖像中可能包含交通燈的區域,從而減少后續處理的計算量和提高識別準確性。
(3)轉換HSV 空間
提取出的關注區域隨后轉換到HSV 顏色空間。HSV(色調、飽和度、明度)空間更適合于顏色分析,因為它能更好地區分不同的顏色,便于實施顏色閾值的應用。
(4)統計非零像素
中值濾波之后,系統會統計濾波后圖像中非零像素的數量,用于確定圖像中各個顏色區域的大小,是判斷主要顏色的基礎。
為了驗證提出的交通燈顏色檢測系統在實際應用中的有效性和準確性,編寫python 程序實現,以Pycharm2023+Anaconda 搭建系統實現環境,其中Anaconda 創建的虛擬環境是以Python3.8 版本為主。
通過分析不同的交通燈圖像的HSV 分布情況,以便對圖像有更好的理解,對后續的顏色閾值設定具有指導意義。HSV 的結果如圖3 所示。從圖3 可以看出,不同顏色的HSV 分布具有較為明顯的差異,為設計算法提取提供了可行性。


圖3 不同顏色的交通燈對應的HSV 分析結果
根據設計好的流程,利用霍夫圓變換識別圖像中的交通燈位置,并用圓圈標注出霍夫圓的位置。之后再根據設定的顏色閾值范圍來識別霍夫圓內的顏色,最終的識別結果如圖4 所示。圖中的橫縱坐標表示圖像的像素,從圖中可以看出,算法將每張交通燈的圓形區域都標注出來了,識別結果和圖中的實際交通燈顏色一致;此外,還識別了包含方向箭頭的紅綠燈,從識別結果種可以看出也能正確識別。實驗結果表明系統成功地識別出了圖像中所有的交通燈,并準確判斷了它們的顏色狀態。紅色、黃色、綠色信號燈以及不同顏色的箭頭均被正確識別,證明了提出的基于OpenCV 計算機視覺的方法在交通燈識別的可行性。


圖4 識別結果
基于計算機視覺的交通燈識別系統展示了在實際道路場景中對交通燈進行準確識別的潛力。系統通過有效的圖像預處理、特征檢測、霍夫圓標注、顏色識別和狀態判斷,實現了對交通燈顏色狀態的準確判斷。實驗結果表明,該系統在實際應用中具有可行性和可靠性。不僅為自動駕駛車輛和智能交通系統中的視覺識別技術提供了有價值的參考,也為未來在更復雜環境下進行交通燈檢測的研究奠定了基礎。未來工作將包括增加更多樣化的圖像數據,以及在各種環境條件下進一步測試和優化系統,以提高其普遍適用性和魯棒性。