跳至主要内容

[Vision AI] 韓國車牌 OCR 引擎、正規表示式規範化與時序多數表決機制 (從 v01 到 v11 的工程演進) (#5)

· 閱讀時間約 4 分鐘
Jihwan Park (jaybee)
AI & Robotics Engineer

時序多數表決機制與最終車牌確認

📌 核心要點 (Key Takeaways)

  • 問題痛點:由於車輛顛簸、車身偏航角、路面反光及運動模糊,單幀靜態 OCR 辨識不可避免會出現偶發誤讀(例如將 64가1511 誤判為 64아1511 或 24가1511)。
  • 解決方案:引入韓國車牌強語法正規約束 (^\d{2,3}[가-힣]\d{4}$),並設計基於 7 幀時間緩衝區的滑動視窗多數表決引擎 (plate_confirm_threshold=3)。
  • 落地成效:經歷了從 6 月 5 日的最初全螢幕亂碼 (ACCIIXOY-1Z01...),到 6 月 7 日以 99.4% 的超高信賴度確定性鎖定最終車牌 64가1511,完整走通了 11 輪 (v01 至 v11) 系統級工程迭代。

1. 韓國車牌語法校驗與 EasyOCR 調校​

韓國機動車輛牌照遵循非常嚴格的法定語法規則:

標準語法結構:[2位或3位數字] + [1個韓文字母] + [4位數字]
標準範例:64가1511, 123가4567

在推論管線末端,我們將提取到的車牌影像送入經過自訂初始化的 EasyOCR 辨識器,並使用精準的正規表示式清洗誤檢文字:

import easyocr
import re
from collections import deque, Counter

# 初始化雙語辨識器,強制開啟 GPU 加速
reader = easyocr.Reader(['ko', 'en'], gpu=True)

def parse_korean_plate(plate_img):
# 關閉細節返回以最小化資料傳輸開銷
results = reader.readtext(plate_img, detail=0)
raw_text = "".join(results).replace(" ", "")

# 韓國車牌專屬正則匹配模式
pattern = r'(\d{2,3}[가-힣]\d{4})'
match = re.search(pattern, raw_text)
return match.group(1) if match else None

2. 基於時序滑動視窗的多數表決引擎 (Temporal Majority Voting)​

為了抵禦單幀畫面偶然的辨識抖動,我們在時間維度上維護一個定長的滑動歷史佇列(Sliding History Queue):

# 維護最近 7 幀檢測結果
plate_history = deque(maxlen=CONFIG["plate_history_size"]) # 7
confirmed_plate = None

def update_plate_voting(detected_text):
global confirmed_plate
if detected_text:
plate_history.append(detected_text)

# 當佇列累計達到確認閾值時發起統計表決
if len(plate_history) >= CONFIG["plate_confirm_threshold"]:
counts = Counter(plate_history)
most_common_plate, count = counts.most_common(1)[0]

# 僅當同一車牌獲得 3 票或以上贊成時,方才判定為最終確信結果
if count >= CONFIG["plate_confirm_threshold"]:
confirmed_plate = most_common_plate

return confirmed_plate

3. 從 v01 到 v11 的 11 輪工程演進實錄 (6月5日 至 6月7日)​

最終 v11 完整整合系統實跑效果

系統 log.txt 真實見證了這套演算法管線的淬鍊全過程:

時間戳原始 OCR 輸出日誌架構演進與技術突破核心
06-05 01:13ACCIIXOY-1Z01V1t145V...v01:無約束全螢幕 OCR 盲掃,路面瀝青紋理被嚴重誤判為字元
06-06 00:13fa이, ealan, caiv04:引入 YOLOv3 車輛邊界框,縮小文字候選搜尋區域
06-06 01:4064115114, 16416114v07:整合專用 YOLOv5 車牌局部檢測器,成功定位車牌精準 ROI
06-06 16:3564아1511 -> 64가1511v09:部署 EDSR_x4 深度超解析度模型,清晰修復韓文字元關鍵筆畫
06-07 01:2724가1511 -> 64가1511v10:引入多幀影像疊加降噪演算法,抵消攝影機感光元件的抖動雜訊
06-07 18:2064가1511 (Size: 370x315)v11 終版:時序多數表決引擎精準鎖定,實作 100% 確定性車牌確認!

4. 總結與未來展望​

至此,在這個由 5 篇深度專欄構成的 ANPR 視覺工程系列中,我們完整構建了一套涵蓋 動態車道線擬合、多邊形 IoU 壓線侵入判定、分層目標定位、CSRT 目標追蹤、EDSR 深度超解析度重建與時序多數表決 OCR 的工業級端到端視覺系統。這套架構為邊緣運算裝置上的高精度即時智慧交通檢測(ITS)提供了經過實戰檢驗的標準範式。