YOLO, de la You Only Look Once, desemnează o familie de abordări pentru detectarea obiectelor în imagini. Într-un rezultat de detecție, sistemul propune regiuni, clase și scoruri. Pentru o firmă, acestea pot sprijini verificarea unor obiecte dintr-o scenă, inventarierea asistată sau pregătirea evenimentelor dintr-un flux video. Aplicația completă include și date, reguli, verificare și integrare.
Un dreptunghi desenat peste un obiect nu înseamnă că proiectul este gata. Trebuie să stabilim ce clasă căutăm, ce considerăm o localizare corectă și cum tratăm ratările ori propunerile duplicate. În video, același obiect poate apărea în multe cadre; suma detecțiilor nu reprezintă automat numărul obiectelor fizice distincte.
Schemele și cifrele din ghid sunt originale și demonstrative, nu rezultate ale unui detector instalat la un client. Fotografiile prezintă obiecte ordonate într-o arhivă și dezvoltare software. Nu sunt capturi YOLO, imagini etichetate pentru antrenarea exemplului sau sisteme interne ale clienților WebHat.

Ce este YOLO și de ce nu este suficient numele unei versiuni?
Familia de detectoare și implementarea concretă sunt lucruri diferite
Lucrarea lui Redmon și colaboratorii, publicată inițial în 2015, a prezentat o abordare unificată care prezice regiuni și clase din imagine într-o evaluare a rețelei. Modelele și implementările ulterioare au evoluat. Nu atribuim oricărui detector care folosește numele YOLO arhitectura, antrenarea, licența sau viteza modelului inițial.
Într-un proiect precizăm implementarea, varianta modelului, ponderile, configurația și mediul în care rulează. Păstrăm aceste informații în evidența tehnică, pentru a putea reproduce rezultatul. Numărul unei versiuni nu descrie singur rezoluția efectivă, clasele învățate, transformările imaginii sau regulile aplicate după predicție.
În harta tipurilor de inteligență artificială, detectorul este o componentă specializată. Nu stabilește automat identitatea juridică a unui obiect, conținutul unui colet sau o decizie de gestiune. Funcția cerută se definește prin informația observabilă și operațiunea pe care trebuie să o susțină.
Ce primești la ieșirea unui detector?
Clasă, regiune și scor, nu o fișă completă a obiectului
Documentația Ultralytics descrie ieșirea de detecție prin bounding boxes, etichete de clasă și scoruri. Formatul coordonatelor trebuie cunoscut: colțuri, centru și dimensiuni, pixeli ori valori normalizate. Aceste forme nu sunt interschimbabile fără transformare. Legătura cu imaginea originală trebuie păstrată inclusiv după redimensionare sau adăugarea de margini pentru intrarea modelului.
Într-o aplicație de computer vision pentru firme, putem cere localizarea unor recipiente pe un raft. O clasă spune ce tip a propus modelul, iar regiunea indică poziția. Un cod de inventar verificat cere alte informații. Nu folosim asemănarea vizuală ca substitut implicit pentru identificatorul din sistem.
Detectorul este o etapă dintr-un proces
- Cadru valid
Captură, timp și legătură cu sursa cunoscute.
- Intrare pregătită
Transformări compatibile cu modelul și configurația.
- Predicții
Clase, regiuni și scoruri pentru obiectele propuse.
- Logică de aplicație
Verificare, urmărire ori evenimente conform cerinței.
Un dreptunghi include adesea și fundal, în timp ce segmentarea descrie pixeli. Dacă operațiunea cere forma exactă a unei zone, alegem sarcina potrivită. Nu prezentăm scorul unei clase drept măsurare fizică și nu presupunem că orice model preantrenat cunoaște categoriile proprii firmei fără date și testare relevante.
Cum pregătim clasele și etichetele pentru proiect?
O definiție consecventă valorează mai mult decât multe dreptunghiuri necontrolate
Stabilim ce înseamnă fiecare clasă și cum tratăm obiectele parțial vizibile, suprapuse sau aflate la marginea imaginii. Ghidul de etichetare descrie și situațiile de excludere. Evaluatorii trebuie să folosească aceeași convenție. Dacă aceeași categorie primește etichete diferite de la un lot la altul, comparația modelelor va amesteca probleme ale referinței cu probleme ale predicției.
Formatul Ultralytics pentru detecție folosește rânduri cu clasa și coordonate normalizate ale centrului și dimensiunilor. Este un format concret, nu definiția universală a tuturor seturilor YOLO. Conversia se verifică vizual pe imaginile corespunzătoare. Un fișier care se poate încărca poate conține totuși regiuni deplasate, clase mapate greșit sau obiecte neetichetate.
Separăm loturile pentru antrenare, dezvoltare și test în funcție de utilizarea viitoare. Cadrele aproape identice ale aceleiași secvențe nu trebuie amestecate necontrolat când dorim să evaluăm scene noi. Includem exemple fără obiectul căutat și condițiile dificile relevante, nu numai cadrele în care obiectele sunt mari și separate perfect.
În învățarea supervizată, referința determină ce eroare poate fi măsurată. Pentru un proiect propriu verificăm și convenția de etichetare a obiectelor tăiate de margine. O schimbare a listei de clase ori a identificatorilor ei cere verificarea întregului traseu, de la fișierele de antrenare până la etichetele afișate în interfață.
Ce se întâmplă între captură și predicție?
Preprocesarea și configurația trebuie urmărite împreună cu modelul
Fluxul pregătește imaginea pentru model: dimensiuni, canale și transformări compatibile. În implementările care folosesc letterboxing, imaginea poate fi redimensionată cu margini adăugate. Coordonatele rezultate trebuie interpretate în spațiul corect. O regiune arătată greșit peste imaginea originală poate proveni din conversie, nu neapărat din model.
Conceptele din rețelele neuronale convoluționale explică o parte a extragerii caracteristicilor, dar detectorul are și o ieșire specifică sarcinii. Nu atribuim tuturor implementărilor aceeași schemă de ancore, capete ori postprocesare. Documentăm exact varianta aleasă și verificăm rezultatul după export sau schimbarea motorului de execuție.
În pilot păstrăm configurația împreună cu exemplele revizuite. Dacă schimbăm rezoluția, pragul sau modelul, putem compara efectul pe aceleași imagini. Nu optimizăm numai numărul de cadre procesate: măsurăm și ce detalii rămân vizibile, ce obiecte sunt ratate și cât durează fluxul complet până la rezultatul utilizabil.
Ce este IoU și cum se verifică o localizare?
Suprapunerea se raportează la reuniune, nu la aria unei singure regiuni
Intersection over Union, prescurtat IoU, compară aria comună a două regiuni cu aria reuniunii lor. În evaluare, o folosim împreună cu clasa și regulile de potrivire față de referință. O suprapunere bună cu un obiect din altă clasă nu rezolvă automat sarcina. Contează și dacă mai multe predicții încearcă să descrie aceeași referință.
Două regiuni egale, o suprapunere parțială
- A · Referință, contur continuu
8 × 8 = 64 unități pătrate.
- B · Predicție, contur întrerupt
8 × 8 = 64 unități pătrate. Intersecție: 6 × 8 = 48.
- Reuniune și IoU
Reuniune: 64 + 64 − 48 = 80. IoU: 48/80 = 0,6.
În exemplul nostru, același rezultat geometric poate îndeplini un prag și rata altul. Nu există o etichetă unică „precizie bună” fără protocol. Un proiect care cere localizare aproximativă poate avea alte criterii decât unul care folosește regiunea într-o măsurare ulterioară. Definim criteriul înainte să alegem numai imaginile pe care modelul arată bine.
De ce pragul de scor și pragul de suprapunere au roluri diferite?
Selectarea propunerilor nu este aceeași cu evaluarea lor
Pragul de scor decide ce propuneri păstrăm în fluxul analizat. Într-o postprocesare de tip non-maximum suppression, un prag de suprapunere poate controla eliminarea propunerilor suprapuse. La evaluare, pragul IoU stabilește potrivirea cu referința. Aceste etape răspund la întrebări diferite și nu trebuie confundate doar fiindcă folosesc valori între limite similare.
Trei praguri sau reguli care nu trebuie confundate
- Scor de detecție
Ce propuneri păstrăm pentru analiza următoare?
- Suprapunere la postprocesare
Cum tratăm propunerile care descriu același obiect, dacă implementarea folosește această etapă?
- Potrivire la evaluare
Ce clasă și ce suprapunere cerem față de referință pentru a considera predicția corectă?
Există și variante cu inferență fără NMS; documentația curentă Ultralytics descrie explicit comportamente diferite. Nu tratăm un parametru de postprocesare ca pe o regulă universală pentru toate modelele. În proiect, verificăm semantica parametrului în implementarea folosită și păstrăm configurația în raportul de test.
Pragurile se aleg pe datele de dezvoltare pentru consecințele operaționale. Ridicarea unui prag poate elimina propuneri, dar nu rezolvă singură o clasă greșită sau o captură nepotrivită. Testăm ratările și alarmele false, iar cazurile care cer revizuire au un traseu explicit. Nu prezentăm scorul ca probabilitate verificată a adevărului.
Cum numărăm obiectele în video fără să însumăm fiecare cadru?
Detecția, urmărirea și evenimentul sunt trei niveluri distincte
Detectorul propune obiecte într-un cadru. Un tracker asociază propuneri între cadre și atribuie identificatori de urmărire. Logica aplicației definește evenimentul, de exemplu trecerea unei regiuni într-o direcție. Documentația Ultralytics separă detecția de tracking și numărare. Un identificator de urmărire nu reprezintă automat un cod de inventar verificat.
Același obiect în 4 cadre, un eveniment demonstrativ
- Cadrul 1
P7 este înaintea zonei. Evenimente noi: 0.
- Cadrul 2
P7 se apropie de trecere. Evenimente noi: 0.
- Cadrul 3
P7 îndeplinește regula de trecere. Evenimente noi: 1.
- Cadrul 4
P7 rămâne după zonă. Evenimente noi: 0.
Într-o scenă reală testăm obiecte care se acoperă, dispar temporar sau reapar. Un ID poate fi întrerupt ori schimbat; două obiecte apropiate pot fi asociate greșit. Nu construim un total comercial presupunând continuitate perfectă. Definim cum sunt tratate evenimentele neclare, reintrările, direcțiile și resetarea sesiunii de procesare.
Înregistrarea evenimentului are propria protecție împotriva duplicării. Dacă reluăm o secvență sau o operațiune, aplicația trebuie să poată distinge repetarea aceleiași dovezi de un eveniment nou. Alegerea cheii și reconcilierea se proiectează pentru proces. Numărul de cadre cu detecții este păstrat separat de numărul evenimentelor acceptate.
Cum interpretăm precision, recall, AP și mAP?
Protocolul complet face procentul comparabil
Precizia privește proporția predicțiilor considerate corecte, iar recall arată acoperirea obiectelor din referință. AP rezumă relația precizie–recall după un protocol, iar mAP agregă rezultate pe clase și, după raportare, pe praguri de localizare. Pragul de potrivire, clasele și convențiile trebuie declarate. Nu echivalăm mAP cu procentul obiectelor corecte într-un flux comercial.
Într-un proiect cu numărare, evaluăm separat evenimentele. Un detector poate localiza bine multe cadre, dar un tracker poate întrerupe obiectul înaintea zonei de numărare. Raportul trebuie să distingă eroarea vizuală de eroarea de asociere și de eroarea de salvare. Această separare arată unde trebuie corectată cauza, fără să schimbăm automat întregul model.
Analizăm clasele și condițiile relevante: dimensiune în imagine, lumină, acoperire și cameră. Comparăm aceleași exemple și păstrăm rateurile, nu numai cadrele reușite. Testul final rămâne separat de alegerea pragurilor și a modelului. Un scor pe un set public nu descrie automat performanța pe rafturile, recipientele sau coletele firmei.
Precizăm și regula pentru duplicate. Într-un protocol cu potrivire unică, mai multe propuneri pentru aceeași referință nu devin tot atâtea reușite independente. Aceste situații trebuie identificate în raport, împreună cu obiectele fără potrivire. O imagine adnotată atractiv nu înlocuiește verificarea asocierilor folosite la calculul indicatorului.
Cum măsurăm viteza care contează în aplicație?
Latența completă diferă de timpul unei inferențe
Documentația de benchmarking și export Ultralytics arată că mediul de rulare și formatul influențează evaluarea. Pentru proiect măsurăm pe infrastructura vizată, cu rezoluție, precizie numerică, lot și versiuni declarate. Nu preluăm o viteză dintr-un tabel de furnizor ca rezultat obținut de WebHat și nu o atribuim oricărui dispozitiv.
Fluxul include captură, transfer, pregătire, inferență, postprocesare și integrare. În video poate apărea o coadă de cadre: procesarea tuturor cadrelor poate crește întârzierea dacă sistemul nu ține pasul. O strategie care sare cadre trebuie evaluată pentru evenimentul urmărit. Alegerea depinde de proces, nu doar de cifra FPS afișată.
După export sau cuantizare verificăm din nou calitatea, coordonatele și comportamentul în condițiile acceptate. Compatibilitatea fișierului nu dovedește că toate rezultatele sunt echivalente. Păstrăm configurația împreună cu testele și comparăm efectul asupra evenimentelor, inclusiv timpul până când rezultatul poate fi folosit de operator ori de sistem.
În raport separăm încărcarea inițială de procesarea în regim stabil și declarăm dacă timpul include transferul imaginilor. Pentru un flux live urmărim și vechimea cadrului când rezultatul este utilizat. Această informație arată dacă sistemul livrează repede un rezultat actual sau doar procesează rapid o coadă întârziată.

Ce verificăm înainte de a folosi YOLO într-un produs comercial?
Înregistrăm proveniența codului, ponderilor și datelor, plus drepturile aplicabile folosirii concrete. Ultralytics publică opțiuni AGPL-3.0 și Enterprise pentru implementarea sa. Nu tratăm numele YOLO ca pe o licență unică pentru toate proiectele. Configurația de distribuție și utilizare se verifică înainte de integrarea într-o aplicație privată sau într-un serviciu pentru clienți.
În dezvoltarea software personalizată, livrabilul include și interfața, fluxul de control și monitorizarea, nu doar încărcarea unui model. Definim erorile tehnice și situațiile care cer intervenție. O cameră indisponibilă ori lipsa unui rezultat valid nu se afișează ca absență confirmată a obiectelor.
Aplicăm protecția datelor în aplicațiile AI asupra capturii și accesului. Pentru inventarierea obiectelor, nu colectăm implicit mai mult din scenă decât este necesar scopului. Imaginile, rezultatele și jurnalele au reguli explicite de păstrare, acces și eliminare, adaptate soluției și datelor autorizate.
Cum transformăm pilotul într-o funcție utilă firmei?
Pornim de la obiect, scenă și acțiunea dorită. Pentru automatizări business cu integrare AI, precizăm ce eveniment poate fi propus, ce trebuie confirmat și ce sistem poate fi modificat. Detectorul furnizează informație; aplicația verifică dacă operațiunea este permisă și dacă efectul corespunde regulii aprobate.
De la detecție la un eveniment verificabil
- Regulă explicită
Definim zona, direcția și condiția care înseamnă un eveniment.
- Continuitate verificată
Urmărim obiectul și tratăm întreruperile și schimbările de ID.
- Propunere de eveniment
Păstrăm momentul, sursa și dovezile necesare controlului.
- Salvare controlată
Aplicația verifică drepturile și previne repetarea aceleiași operațiuni.
- Reconciliere
Comparăm rezultatele cu referința și corectăm cauzele observate.
Un dashboard business cu rapoarte automate poate separa detecțiile, obiectele urmărite, evenimentele propuse și cele acceptate. Fiecare indicator are o definiție și o perioadă. Afișarea unui total fără această distincție poate ascunde o eroare de numărare chiar dacă imaginile adnotate par corecte.
Pentru o estimare relevantă, pregătim exemple autorizate, clasele, condițiile de captură, volumul și destinația rezultatului. Pilotul compară variante potrivite și documentează excepțiile. Extindem numai funcțiile evaluate în procesul respectiv, cu responsabilități clare de control, actualizare și reconciliere a rezultatelor.
Întrebări frecvente despre detectarea și numărarea cu YOLO
YOLO recunoaște automat produsele proprii firmei?
Modelul are clase și date de antrenare concrete. Verificăm dacă ieșirea sa corespunde categoriilor proiectului; pentru clase proprii pot fi necesare etichete și adaptare. Testarea se face pe exemple reprezentative și păstrează diferența dintre tipul obiectului și identificatorul său din gestiune.
Un scor mare înseamnă că obiectul este identificat sigur?
Scorul este o ieșire a modelului și se interpretează în cadrul evaluării. Clasa, localizarea și identitatea operațională sunt verificări diferite. Aplicația trebuie să respecte criteriile și traseul de control stabilite, nu doar să accepte automat valoarea cea mai mare.
IoU și scorul de încredere reprezintă același lucru?
Nu. IoU măsoară suprapunerea geometrică a regiunilor. Scorul de detecție este folosit pentru selectarea propunerilor conform modelului. Un prag IoU din postprocesare poate avea alt rol decât pragul de potrivire cu referința la evaluare. Verificăm semantica exactă a parametrilor.
Putem număra obiecte adunând detecțiile din toate cadrele?
Același obiect poate apărea în cadre succesive. Pentru obiecte distincte sau treceri printr-o zonă, folosim asociere temporală și reguli de eveniment testate. Întreruperile, schimbările de ID și reluarea procesării trebuie tratate, ca aceeași situație să nu fie înregistrată repetat.
Este obligatorie aceeași postprocesare pentru orice YOLO?
Implementările și modurile de inferență diferă. Unele folosesc NMS, iar altele pot avea inferență fără această etapă. Documentăm varianta, parametrii și comportamentul verificat. Nu mutăm automat o configurație între modele doar fiindcă au nume din aceeași familie.
Putem începe cu un pilot restrâns?
Da. Alegem o scenă și un set de clase delimitate, cu date autorizate, referință și criterii de acceptare. Evaluăm detectorul și fluxul complet, inclusiv controlul și salvarea rezultatului. Aceasta permite identificarea cauzei erorilor înaintea extinderii către alte condiții.