Title | Isaias YOLO, Conclusion, Tesseract |
---|---|
Author | Fernando Méndez |
Course | Análisis De Sistemas |
Institution | Universidad Tecnológica Centroamericana |
Pages | 4 |
File Size | 114.6 KB |
File Type | |
Total Downloads | 23 |
Total Views | 138 |
Conclusiones al utilizar YOLO para reconocimiento de placas vehiculares...
YOLO (You Only Look Once)
YOLO es uno de los algoritmos mas populares para los ingenieros en IA. Es sumamente usado y siempre es la primera opción para la detección de objetos en tiempo relacionada
Entrenamiento de YOLOv5 en un dataset personalizado
Esta parte consiste en varios pasos:
Preparar el Dataset Preparación del Ambiente de Desarrollo Configurar/modificar los archivos y la estructura del directorio Entrenamiento Inferencia Resultado
Preparar el Dataset
Una vez escogemos el dataset y lo pasamos al formato de YOLO estamos listos. En este caso utilizamos el dataset de AOLP (Application Oriented License Plate) que es un dataset que contiene imágenes de Control de Acceso, Aplicación de la ley de tráfico y -Patrulla de carreteras con enfoque en los vehículos.
Para etiquetar el dataset utilizamos LabelImg. Para asi poder cortar la placa vehicular y solo obtener esa porción de la imagen.
Preparación del Ambiente de Desarrollo
Algo que fue de sumamente importancia fue que se requiere una versión de PyTorch versión ≥ 1.5, Python versión 3.7, y CUDA versión 10.2.
El resto de dependencias se pueden instalar fácilmente con el comando "PIP": numpy==1.17 scipy==1.4.1 cudatoolkit==10.2.89 opencv-python
torch==1.5 torchvision==0.6.0 matplotlib pycocotools tqdm pillow tensorboard pyyaml
Configurar/Modificar los archivos y la estructura del directorio
Para entrenar YOLOv5 se necesitan una serie de pasos a ser realizados.
Comenzando clonando el repositorio ofical de Yolo "https://github.com/ultralytics/yolov5"
Luego se necesitará agregar el archivo YAML para describir nuestro dataset.
Entrenamiento
En YOLO existen varios modelos de entrenamiento:
yolov5-s que es una versión pequeña yolov5-m que es una versión mediana yolov5-l que es una versión grande yolov5-x que es una versión extragrande
En este caso utilizamos la más ligera que es yolov5-s
Inferencia
Una vez el modelo fue entrenado es hora de probar el performance en algunas imágenes
Resultado
Como resultado final se obtiene el reconocimiento de las placas vehiculares.
Conclusiones
En el presente paper logramos representar un sistema de reconocimiento de placas vehiculares teniendo en cuenta que el dataset de entrenamiento utilizado era placas taiwanesas pero que tienen un parecido a las placas hondureñas, se reconoce que se puede lograr tener una mejor precisión de predicción de placas si se utilizaría un dataset de entrenamiento con placas hondureñas sin embargo se obtuvieron buenos resultados. YOLO es una herramienta muy robusta al momento de la detección de objetos y se puede adaptar a cualquier requerimiento gracias a la gran versatilidad que posee. Realizando un preproceso en tres pasos de Crop y Escala de Grises, Threshold y Bitewise Not para adaptar la imagen y poder utilizar PyTesseract para el reconocimiento óptico de carácteres (OCR). Se logro extraer el número de placas tanto en vehículos Taiwaneses y Hondureños de una forma muy efectiva. Simulando un análisis con el numero de placa obteniendo valores con respecto a los dueños de los vehiculos en un tiempo total de 2-3 segundos. En total se obtuvo una precisión del 96%, un MAP 99% y un Recall de 1.
Tesseract
Tesseract es un motor de reconocimiento óptico de caracteres con código de fuente abierta, esta es la biblioteca OCR más popular y cualitativa. OCR utiliza IA para búsqueda de texto y reconocimiento en imágenes. Un diagrama de funcionamiento de Tesseract:
https://medium.com/@Bytepace/what-is-tesseract-and-how-it-worksdfff720f4a32#:~:text=Tesseract%20is%20finding%20templates%20in,the%20word%20or %20sentence%20context....