1. Introducció a YOLO. Casos d'ús i aplicacions
YOLO (You Only Look Once) és una família de models d'aprenentatge profund dissenyats per a la detecció d'objectes en imatges i vídeos. A diferència d'altres mètodes que processen una imatge en múltiples etapes, YOLO realitza la detecció en una sola passada a través de la xarxa neuronal, fent-lo molt ràpid i eficient.
El framework es pot utilitzar per realitzar detecció, segmentació, OBB, classificació i estimació de postura. Cadascuna d'aquestes tasques té un objectiu i cas d'ús diferent, permetent-te abordar diversos desafiaments de visió per computador amb un únic framework.
1.1. Detecció d'objectes
La detecció és la tasca primària suportada per YOLO. Implica identificar objectes en una imatge o fotograma de vídeo i dibuixar quadres delimitadors (bounding boxes) al seu voltant.
Els objectes detectats es classifiquen en diferents categories basades en les seves característiques. YOLO pot detectar múltiples objectes en una sola imatge o fotograma de vídeo amb alta precisió i velocitat, fent-lo ideal per a aplicacions en temps real com sistemes de vigilància i vehicles autònoms.
| Text Only | |
|---|---|
Per a cada objecte detectat, el model proporciona informació com la classe de l'objecte, la confiança de la detecció i les coordenades del quadre delimitador.
1.2. Segmentació d'objectes
La segmentació és una extensió de la detecció d'objectes que no només identifica i localitza els objectes, sinó que també determina la forma exacta de cada objecte dins de la imatge. Això es fa assignant una etiqueta a cada píxel de la imatge, indicant a quin objecte pertany.
La segmentació porta la detecció d'objectes un pas més enllà en produir màscares a nivell de píxel per a cada objecte. Aquesta precisió és útil per a aplicacions com la imatge mèdica, l'anàlisi agrícola i el control de qualitat en la fabricació.
1.3. Classificació
La classificació implica categoritzar imatges senceres basant-se en el seu contingut. Aquesta tasca és essencial per a aplicacions com la categorització de productes en comerç electrònic, la moderació de contingut i el monitoratge de la vida salvatge.
1.4. Estimació de postura
L'estimació de postura detecta punts clau específics en imatges o fotogrames de vídeo per seguir moviments o estimar postures. Aquests punts clau poden representar articulacions humanes, característiques facials o altres punts d'interès significatius. YOLO26 destaca en la detecció de punts clau amb alta precisió i velocitat, fent-lo valuós per a aplicacions de fitness, anàlisi esportiva i interacció humà-computadora.
1.5. OBB
La detecció de caixes delimitadores orientades (OBB) millora la detecció d'objectes tradicional afegint un angle d'orientació per localitzar millor els objectes rotats.
Aquesta capacitat és especialment valuosa per a l'anàlisi d'imatges aèries, el processament de documents i les aplicacions industrials on els objectes apareixen en diversos angles. YOLO ofereix alta precisió i velocitat per a la detecció d'objectes rotats en diversos escenaris.
2. Entrenament personalitzat
Una de les característiques més potents de YOLO és la seva capacitat per entrenar models personalitzats utilitzant els teus propis conjunts de dades. Això permet adaptar el model a casos d'ús específics que poden no estar coberts pels models preentrenats. Per exemple, pots entrenar un model YOLO per detectar tipus específics d'equipament en un entorn industrial o per identificar espècies concretes d'animals en imatges de vida salvatge.
L'entrenament personalitzat implica preparar un conjunt de dades etiquetat, configurar els paràmetres d'entrenament i utilitzar el framework YOLO per entrenar el model. Un cop entrenat, el model pot ser avaluat i ajustat per millorar la seva precisió i rendiment en tasques específiques.
3. Instal·lació i configuració
Per començar a utilitzar YOLO, primer has d'instal·lar el framework i les seves dependències. Això normalment implica instal·lar Python, PyTorch i altres biblioteques necessàries. Un cop instal·lat, pots descarregar models preentrenats o preparar el teu propi conjunt de dades per a l'entrenament personalitzat.
Es recomana la versió de Python 3.10 o 3.11 i una GPU compatible amb CUDA per a un rendiment òptim durant l'entrenament i la inferència. Aquestes són les versions Sweet Spot (el punt dolç) per dues raons:
-
Estabilitat: Totes les biblioteques crítiques (PyTorch, OpenCV, NumPy) tenen "wheels" precompilats per a aquestes versions. S'instal·len ràpidament i sense errors.
-
Velocitat: Python 3.11 és significativamente més ràpid que les versions anteriors, cosa que es nota en la inferència.
Es recomana haver creat prèviament un entorn virtual per aïllar les dependències del projecte. Hauries d'executar: