Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CNN2 -> Armar una red convolucional de detección de objetos #8

Closed
pastine opened this issue Oct 6, 2023 · 5 comments
Closed

CNN2 -> Armar una red convolucional de detección de objetos #8

pastine opened this issue Oct 6, 2023 · 5 comments

Comments

@pastine
Copy link
Contributor

pastine commented Oct 6, 2023

Evaluar las arquitecturas de redes convolucionales como VGGNet o MobileNet.
Armar una red convolucional que detecta carteles publicitarios.

@FdelMazo FdelMazo changed the title CNN2 CNN2 -> Armar una red convolucional de detección de objetos Oct 11, 2023
@pastine
Copy link
Contributor Author

pastine commented Nov 4, 2023

Estuve jugando con AutoKeras durante el 04/11. Autokeras sirve principalmente para encontrar arquitecturas de clasificadores de imágenes, no así para generar redes neuronales para detectar objetos.

Si queremos convertir este dataset en un dataset para construir clasificadores de imágenes, se puede seguir esta guia.

@FdelMazo
Copy link
Collaborator

Para poder usar el modelo con los metodos de cv2.dnn, hay que fijarse como exportarlo:

(no es algo que tengamos que hacer si o si, pero se puede reutilizar la misma interfaz y dejar el código mas prolijo: https://docs.opencv.org/3.4/d6/d0f/group__dnn.html#ga3b34fe7a29494a6a4295c169a7d32422)

@pastine
Copy link
Contributor Author

pastine commented Nov 23, 2023

Finalmente fuí por usar una lib que se llama ultralytics (+ Comet ML) que dispone un modelo YOLOv8 (1 y 2) para poder re-entrenar con transfer learning.

Las primeras pruebas dieron resultados bastante malos:
image
image image

(mAP: 1, 2 y 3, iou)

Pero quedan varias cosas para probar. Habría que cambiar el modelo inicial de nano a small o medium y probar esas dos variantes extra.

Además luego de eso podemos hacer hyperparameter tuning para mejorar los parámetros del modelo y podemos probar k-folds para aumentar el set de datos.

Además, podemos directamente buscar otros set de datos de billboards que tengan más imágenes.

@FdelMazo
Copy link
Collaborator

Me gustó esta explicación de mAP y de YOLO en general: https://pyimagesearch.com/2022/05/02/mean-average-precision-map-using-the-coco-evaluator/

@FdelMazo
Copy link
Collaborator

Ultralytics recomienda tener más de 1500 imagenes, y tambien se puede tener un 10% que sean imagenes sin objetos detectados: https://docs.ultralytics.com/yolov5/tutorials/tips_for_best_training_results/?h=best

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants