Modele și platforme AI
Dezvăluirea Yolov8: Capodopera Virală a Viziunii Computaționale Ultralytics

Până în prezent, detectarea obiectelor în imagini utilizând modele de viziune computațională a întâmpinat o barieră majoră din cauza întârzierii de câteva secunde din cauza timpului de procesare. Această întârziere a împiedicat adoptarea practică în cazuri de utilizare precum conducerea autonomă. Cu toate acestea, lansarea modelului de viziune computațională YOLOv8 de către Ultralytics a rupt bariera întârzierii de procesare. Noul model poate detecta obiecte în timp real cu o acuratețe și o viteză fără precedent, făcându-l popular în spațiul viziunii computaționale.
Acest articol explorează YOLOv8, capacitățile sale și modul în care puteți ajusta și crea propriile modele prin depozitul său open-source Github.
Yolov8 Explained
YOLO (You Only Live Once) este un model de viziune computațională popular capabil de a detecta și segmenta obiecte în imagini. Modelul a trecut prin mai multe actualizări în trecut, cu YOLOv8 marcând a 8-a versiune.
În prezent, YOLOv8 se bazează pe capacitățile versiunilor anterioare prin introducerea unor funcții și îmbunătățiri puternice noi. Acest lucru permite detectarea obiectelor în timp real în datele de imagine și video cu o acuratețe și o precizie îmbunătățite.
De la v1 la v8: O Scurtă Istorie
Yolov1: Lansat în 2015, prima versiune a YOLO a fost introdusă ca un model de detectare a obiectelor într-o singură etapă. Funcțiile sale includeau citirea întregii imagini pentru a prezice fiecare cutie de delimitare într-o singură evaluare.
Yolov2: Următoarea versiune, lansată în 2016, a prezentat o performanță de top pe benchmark-uri precum PASCAL VOC și COCO și a funcționat la viteze ridicate (67-40 FPS). A putut, de asemenea, să detecteze cu acuratețe peste 9000 de categorii de obiecte, chiar și cu date de detectare specifice limitate.
Yolov3: Lansat în 2018, Yolov3 a prezentat funcții noi, cum ar fi o rețea de spate mai eficientă, multiple ancore și pooling piramidal spațial pentru extragerea caracteristicilor la multiple scale.
Yolov4: Cu lansarea Yolov4 în 2020, a fost introdusă tehnica de augmentare a datelor Mosaic, care a oferit capacități de antrenare îmbunătățite.
Yolov5: Lansat în 2021, Yolov5 a adăugat funcții puternice noi, inclusiv optimizarea hiperparametrilor și urmărirea experimentelor integrate.
Yolov6: Cu lansarea Yolov6 în 2022, modelul a fost deschis pentru a promova dezvoltarea condusă de comunitate. Au fost introduse funcții noi, cum ar fi o strategie de auto-destilare și o strategie de antrenare asistată de ancore (AAT).
Yolov7: Lansat în același an, 2022, Yolov7 a îmbunătățit modelul existent în ceea ce privește viteza și acuratețea și a fost cel mai rapid model de detectare a obiectelor la momentul lansării.
Ce YOLOv8 Să Ieși în Evidence?

YOLOv8 se remarcă prin acuratețea și viteza sale fără precedent, ceea ce îl face să iasă în evidență față de versiunile anterioare. Este o realizare remarcabilă, deoarece obiectele pot fi detectate în timp real fără întârzieri, spre deosebire de versiunile anterioare.
Dar, în afară de aceasta, YOLOv8 vine echipat cu capacități puternice, care includ:
- Arhitectură personalizabilă: YOLOv8 oferă o arhitectură flexibilă pe care dezvoltatorii o pot personaliza pentru a se potrivi nevoilor specifice.
- Antrenare adaptivă: Capacitățile noi de antrenare adaptivă ale YOLOv8, cum ar fi echilibrarea funcției de pierdere în timpul antrenării și tehnici, îmbunătățesc rata de învățare. Luați, de exemplu, Adam, care contribuie la o mai bună acuratețe, o convergență mai rapidă și, în general, la o performanță mai bună a modelului.
- Analiză avansată a imaginilor: Prin capacitățile noi de segmentare semantică și predicție de clasă, modelul poate detecta activități, culori, texturi și chiar relații între obiecte, pe lângă funcția sa principală de detectare a obiectelor.
- Augmentarea datelor: Noile tehnici de augmentare a datelor ajută la abordarea aspectelor variabile ale imaginilor, cum ar fi rezoluția scăzută, occluzia etc., în situații de detectare a obiectelor din lumea reală în care condițiile nu sunt ideale.
- Suport pentru spate: YOLOv8 oferă suport pentru multiple spate, incluzând CSPDarknet (spatele implicit), EfficientNet (spate ușor) și ResNet (spate clasic), pe care utilizatorii le pot alege.
Utilizatorii pot chiar personaliza spatele înlocuind CSPDarknet53 cu orice altă arhitectură de rețea neuronală compatibilă cu dimensiunile de intrare și ieșire ale YOLOv8.
Antrenarea și Reglarea YOLOv8
Modelul YOLOv8 poate fi reglat pentru a se potrivi anumitor cazuri de utilizare sau antrenat complet de la zero pentru a crea un model specializat. Mai multe detalii despre procedurile de antrenare pot fi găsite în documentația oficială.
Să explorăm cum puteți efectua ambele operații.
Reglarea YOLOV8 Cu Un Set De Date Personalizat
Operația de reglare încarcă un model preexistent și utilizează greutățile sale implicite ca punct de plecare pentru antrenare. În mod intuitiv, modelul își amintește toate cunoștințele sale anterioare, iar operația de reglare adaugă informații noi prin ajustarea greutăților.
Modelul YOLOv8 poate fi reglat cu codul dvs. Python sau prin intermediul interfeței de linie de comandă (CLI).
1. Reglați un model YOLOv8 utilizând Python
Începeți prin importarea pachetului Ultralytics în codul dvs. Apoi, încărcați modelul personalizat pe care doriți să îl antrenați utilizând următorul cod:
Mai întâi, instalați biblioteca Ultralytics din distribuția oficială.
| # Instalați pachetul ultralytics din PyPI pip install ultralytics |
Următorul, executați următorul cod într-un fișier Python:
| from ultralytics import YOLO
# Încărcați un model # Antrenați modelul pe setul de date MS COCO |
În mod implicit, codul va antrena modelul utilizând setul de date COCO pentru 100 de epoci. Cu toate acestea, puteți configura aceste setări pentru a seta dimensiunea, epoca etc. într-un fișier YAML.
Odată ce ați antrenat modelul cu setările și calea dvs. de date, monitorizați progresul, testați și reglați modelul și continuați să reantrenați până când obțineți rezultatele dorite.
2. Reglați un model YOLOv8 utilizând CLI
Pentru a antrena un model utilizând CLI, rulați următorul script în linia de comandă:
| yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 |
Comanda CLI încarcă modelul preantrenat `yolov8n.pt` și îl antrenează suplimentar pe setul de date definit în fișierul `coco8.yaml`.
Creați Propriul Model Cu YOLOv8
Există esențialmente 2 moduri de a crea un model personalizat cu framework-ul YOLO:
- Antrenare De La Zero: Acest abordare vă permite să utilizați arhitectura predefinită YOLOv8, dar nu va utiliza greutăți preantrenate. Antrenarea va avea loc de la zero.
- Arhitectură Personalizată: Puteți ajusta arhitectura implicită YOLO și antrenați structura nouă de la zero.
Implementarea ambelor metode rămâne aceeași. Pentru a antrena un model YOLO de la zero, rulați următorul cod Python:
| from ultralytics import YOLO
# Încărcați un model # Antrenați modelul |
Observați că de data aceasta am încărcat un fișier `.yaml` în loc de un fișier `.pt`. Fișierul YAML conține informații despre arhitectura modelului, iar antrenarea va începe de la zero.
Pentru a antrena o arhitectură personalizată, trebuie să definiți structura personalizată într-un fișier `.yaml` similar cu `yolov8n.yaml` de mai sus. Apoi, încărcați acest fișier și antrenați modelul utilizând același cod de mai sus.
Pentru a afla mai multe despre detectarea obiectelor utilizând IA și pentru a fi la curent cu ultimele tendințe IA, vizitați unite.ai.













