Saltar al contenido principal

[Vision AI] Optimización de OCR para Matrículas Coreanas, Normalización con Regex y Votación Mayoritaria Temporal (Evolución v01 a v11) (#5)

· 2 min de lectura
Jihwan Park (jaybee)
AI & Robotics Engineer

Votación Mayoritaria Temporal y Confirmación Definitiva

📌 Key Takeaways (Puntos Clave)

  • Problema: El OCR de fotograma único genera lecturas erróneas transitorias debido a reflejos y vibraciones.
  • Solución: Validación de sintaxis regex (^\d{2,3}[가-힣]\d{4}$) combinada con un motor de votación por mayoría temporal en una ventana deslizante de 7 fotogramas.
  • Resultado: Evolución a través de 11 iteraciones técnicas (v01 a v11) desde ruido inicial (ACCIIXOY...) hasta la confirmación determinista de 64가1511.

1. Sintaxis de Matrículas Coreanas y EasyOCR​

import easyocr
import re
from collections import deque, Counter

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. Motor de Votación por Mayoría Temporal​

plate_history = deque(maxlen=CONFIG["plate_history_size"])
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]
if count >= CONFIG["plate_confirm_threshold"]:
confirmed_plate = most_common_plate
return confirmed_plate

3. La Evolución de v01 a v11​

Sistema Integrado v11 en Operación

Fecha y HoraRegistro de MatrículaHito Técnico Clave
06-05 01:13ACCIIXOY-1Z01V1t145V...v01: OCR sobre fotograma completo sin filtrar
06-06 00:13fa이, ealan, caiv04: Detección de vehículos con YOLOv3
06-06 01:4064115114, 16416114v07: Detector especializado de matrículas YOLOv5
06-06 16:3564아1511 -> 64가1511v09: Superresolución EDSR_x4 resuelve caracteres Hangul
06-07 01:2724가1511 -> 64가1511v10: Apilamiento multifotograma elimina ruido
06-07 18:2064가1511v11 Final: Votación mayoritaria asegura confirmación al 100%

4. Conclusión​

Concluimos una serie de 5 artículos integrando detección de carril, IoU de invasión, detección jerárquica YOLO, seguimiento CSRT, superresolución EDSR y votación OCR.