Computer vision · Modele personalizate
Un model făcut pentruimaginile tale.
Un model de computer vision personalizat este o rețea neuronală antrenată pe imaginile și categoriile unei anumite companii, pentru o sarcină pe care modelele generice nu o rezolvă suficient de bine. Ne ocupăm de tot drumul: definirea sarcinii, colectarea și etichetarea datelor, antrenarea și evaluarea, optimizarea pentru echipamentul pe care va rula, livrarea și reantrenarea când condițiile se schimbă.
Evenimente
- —Lot 3 etichetat · validat de echipă
- —1 etichetă incertă trimisă înapoi
- —Antrenare · iterația 18 din 50
- —Export ONNX → TensorRT pentru edge
Între un demo reușit și un model care merge în producție e drum lung
Un model care arată bine pe câteva imagini de test se poate comporta cu totul altfel pe camera din hală, noaptea sau după schimbarea furnizorului de ambalaje. Iar fără date etichetate consecvent, un set de test separat și un plan de reantrenare, nimeni nu știe cu adevărat cât de bine funcționează.
- Modelele generice nu cunosc obiectele, defectele sau categoriile specifice activității tale
- Datele există, dar sunt neetichetate, neorganizate sau nereprezentative pentru condițiile reale
- Un prototip merge pe un laptop cu GPU, dar e prea lent sau prea mare pentru echipamentul din teren
- După lansare, nimeni nu urmărește dacă precizia scade când se schimbă lumina, camera sau produsele
Pentru cine este potrivită
- Companii care au o sarcină vizuală precisă, de exemplu un defect, un reper sau o stare, pe care modelele gata făcute nu o recunosc
- Echipe IT sau de produs care construiesc o aplicație proprie și au nevoie de o componentă vision livrată ca model sau API
- Firme care au deja un prototip sau un model vechi și vor să îl ducă în producție, să îl optimizeze sau să îl reantreneze
- Organizații care vor ca modelul să ruleze local, pe un dispozitiv edge sau pe propriile servere, fără dependență de un serviciu extern
Pas cu pas
Cum ia naștere un model personalizat, pas cu pas
Cei cinci pași de pe animație urmăresc un model de la primele imagini până la versiunea aprobată: imaginile brute, etichetarea, antrenarea pe clasele tale, regula care decide dacă modelul e gata și echipa care îl aprobă.
Evenimente
Evenimente
- —Lot 3 etichetat · validat de echipă
Evenimente
- —Lot 3 etichetat · validat de echipă
- —1 etichetă incertă trimisă înapoi
Evenimente
- —Lot 3 etichetat · validat de echipă
- —1 etichetă incertă trimisă înapoi
- —Antrenare · iterația 18 din 50
- —Export ONNX → TensorRT pentru edge
Evenimente
- —Lot 3 etichetat · validat de echipă
- —1 etichetă incertă trimisă înapoi
- —Antrenare · iterația 18 din 50
- —Export ONNX → TensorRT pentru edge
Pasul 1 din 5
Imaginile reale
Pornim de la imagini sau secvențe video din locul în care va lucra modelul, cu camera, lumina și unghiul de acolo. Extragem cadre la intervale, ca să nu adunăm sute de imagini aproape identice, și căutăm intenționat cazurile rare: noaptea, contralumina, produsele atipice. Un set mic, dar variat, ajută mai mult decât unul mare și repetitiv.
Variante tehnice și când se potrivesc
Ajustarea unui model existent
Un model preantrenat este ajustat pe imaginile tale. Este punctul de plecare obișnuit, pentru că cere mai puține date și mai puțin timp; se potrivește când obiectele tale seamănă cu ce există deja în modelele generale.
Clasificare, detecție sau segmentare
Clasificarea dă o singură categorie pentru o imagine sau un decupaj și ajunge când obiectul este deja centrat, de exemplu pe o bandă. Detecția găsește și numără mai multe obiecte în cadru, iar segmentarea trasează conturul exact, necesar când contează forma sau suprafața.
Rulare pe edge sau pe server
Pe un dispozitiv edge, modelul este redus și optimizat, iar imaginile nu părăsesc locația. Pe un server local sau în cloud se pot folosi modele mai mari și se pot deservi mai multe camere sau aplicații prin același API.
Ce primești la predare
- Modelul antrenat, exportat pentru echipamentul tău și livrat ca API, container sau componentă edge
- Setul de date versionat, cu etichetele, ghidul de etichetare și setul de test păstrat separat
- Un raport de evaluare pe imaginile tale, pe clase și condiții, inclusiv viteza măsurată pe echipamentul țintă
- Fluxul de colectare a cazurilor incerte sau greșite din producție, pregătit pentru reantrenare
- Documentația modelului: date folosite, limite cunoscute, licențele componentelor și pașii de reantrenare
- De regulă, o sesiune de predare cu echipa care integrează și întreține modelul
Fără obligații: ne spui ce vrei să vadă camerele, îți spunem sincer dacă se poate.
Hai să vorbimCe acoperă dezvoltarea unui model personalizat
- 01
Definirea sarcinii și a claselor
Stabilim dacă e nevoie de clasificare, detecție, segmentare sau citire de text și ce categorii contează, cu reguli clare de deosebire.
- 02
Colectarea și organizarea datelor
Adunăm imagini reprezentative din condițiile reale de lucru, inclusiv cazurile rare și dificile, și le organizăm pe versiuni.
- 03
Etichetarea și controlul calității
Etichetăm împreună cu oamenii care cunosc domeniul, cu ghid de etichetare și verificări încrucișate pe eșantioane.
- 04
Antrenarea și evaluarea
Adaptăm o arhitectură potrivită și o testăm pe un set separat, pe care modelul nu l-a văzut, cu rezultate prezentate pe clase și condiții.
- 05
Optimizarea pentru echipament
Exportăm modelul în formate precum ONNX sau TensorRT și îl reducem, de exemplu prin cuantizare, ca să ruleze pe hardware-ul ales.
- 06
Livrarea și reantrenarea
Livrăm modelul ca API, container sau componentă edge și pregătim fluxul prin care cazurile greșite devin date noi de antrenare.
Cum funcționează
Ciclul de viață al unui model personalizat
Pașii marcați cu galben sunt validați de un om.
- Intrare
- Om în buclă
- AI
- Acțiune
- Rezultat
- 01
Intrare
Imagini reale
Imagini sau video din locația ta, surprinse în condițiile obișnuite de lucru.
- 02
Om în buclă
Etichetare și validare
Oamenii care cunosc domeniul marchează exemplele și verifică etichetele.
- 03
AI
Antrenarea modelului
Modelul învață din datele etichetate, pornind de la o arhitectură potrivită sarcinii.
- 04
Acțiune
Evaluare și optimizare
Testăm pe date nevăzute, apoi exportăm și optimizăm pentru echipamentul țintă.
- 05
Acțiune
Livrare și monitorizare
Modelul rulează în aplicația ta, iar cazurile incerte sunt colectate pentru analiză.
- 06
Rezultat
Model în producție
Un model documentat, măsurat și pregătit pentru reantrenare.
Ce este necesar pentru un model personalizat
- Imagini sau secvențe video reale din locația ta, cu variația obișnuită de lumină, unghi și produse
- Timp de la oameni care cunosc domeniul, pentru a defini clasele și a valida etichetele
- Exemple ale cazurilor rare sau dificile, care contează cel mai mult și apar cel mai rar
- Informații despre echipamentul pe care va rula modelul: dispozitiv edge, server local sau cloud, și cerințele de viteză
- Reguli clare privind dreptul de folosire a imaginilor, accesul la ele și durata de păstrare
- Resurse de antrenare cu GPU, puse la dispoziție de noi sau în infrastructura ta
Integrări posibile
- PyTorch
- ONNX și ONNX Runtime
- NVIDIA TensorRT
- Intel OpenVINO
- Dispozitive edge NVIDIA Jetson
- CVAT sau Label Studio pentru etichetare
- MLflow pentru urmărirea experimentelor
- Containere Docker
- Stocare în cloud, de exemplu Amazon S3 sau Azure Blob Storage
- API REST
- PyTorch
- ONNX și ONNX Runtime
- NVIDIA TensorRT
- Intel OpenVINO
- Dispozitive edge NVIDIA Jetson
- CVAT sau Label Studio pentru etichetare
- MLflow pentru urmărirea experimentelor
- Containere Docker
- Stocare în cloud, de exemplu Amazon S3 sau Azure Blob Storage
- API REST
Compatibilitatea fiecărei integrări se verifică în faza de analiză, pentru sistemele și versiunile pe care le folosești.
Control și transparență
Ce rămâne în grija oamenilor
- Definirea claselor și a criteriilor după care un exemplu aparține uneia sau alteia
- Validarea etichetelor din setul de antrenare și de test, pentru că erorile de etichetare se transmit în model
- Decizia dacă rezultatele de pe setul de test sunt suficiente pentru folosirea în producție
- Aprobarea fiecărei versiuni noi a modelului înainte de înlocuirea celei care rulează
Limite și condiții de funcționare
- Modelul este la fel de bun ca datele din care învață; date puține, nereprezentative sau etichetate inconsecvent duc la rezultate slabe
- Modelul recunoaște doar ce a văzut la antrenare; produse, camere sau condiții noi pot cere date noi și reantrenare
- Optimizarea pentru echipamente mai slabe poate reduce precizia; compromisul dintre viteză și precizie se măsoară și se discută deschis
- Unele arhitecturi și modele preantrenate au licențe care limitează folosirea comercială; le verificăm înainte de a le alege
Cum evaluăm un model personalizat
Stabilim împreună indicatorii înainte de lansare și îi urmărim după. Valorile depind de proces, date și volum.
- Precizie și recall pe clase
- Măsurate pe un set de test separat, etichetat independent, la pragul de încredere folosit în producție
- mAP sau IoU, după tipul sarcinii
- Metricile standard pentru detecție și segmentare, raportate pe fiecare clasă, nu doar ca medie
- Viteză pe echipamentul țintă
- Timpul de procesare per imagine și numărul de cadre pe secundă, măsurate pe hardware-ul real, după optimizare
- Stabilitate în timp
- Eșantioane din producție verificate periodic de echipă, ca să observăm scăderea calității când se schimbă condițiile
Cum dezvoltăm un model personalizat, în 4 pași
- 01
Analizăm sarcina și datele
Clarificăm ce trebuie recunoscut, ce date există și dacă un model existent ajunge, înainte de a propune unul nou.
- 02
Construim setul de date
Colectăm și etichetăm imagini reprezentative, cu un ghid de etichetare și un set de test păstrat separat.
- 03
Antrenăm, testăm și optimizăm
Comparăm variante de model, discutăm deschis unde greșesc și optimizăm varianta aleasă pentru echipamentul țintă.
- 04
Livrăm și întreținem
Integrăm modelul în aplicația ta, urmărim calitatea în timp și reantrenăm cu datele noi când e nevoie.
Exemple de utilizare
Scenariile de mai jos sunt exemple conceptuale, gândite pentru a ilustra aplicații realiste. Nu reprezintă implementări livrate de WEB-AZ.
- Agricultură
Sortarea fructelor după calitate
Un model antrenat pe imagini din linia de ambalare deosebește fructele bune de cele lovite sau cu pete, iar cazurile incerte sunt scoase pentru o verificare manuală.
Exemplu conceptual - Producție
Un prototip dus pe un dispozitiv edge
Un model dezvoltat intern merge doar pe un server cu GPU. Îl exportăm, îl optimizăm pentru un dispozitiv edge de lângă linie și măsurăm cât de mult se schimbă precizia.
Exemplu conceptual - Reciclare
Recunoașterea tipurilor de materiale pe bandă
Pe banda de sortare, modelul deosebește PET-ul, cartonul și metalul, iar operatorul vede pe un ecran ce a clasificat sistemul și corectează greșelile, care devin date noi de antrenare.
Exemplu conceptual
Ghiduri utile
Înainte să decizi, citește
Întrebări frecvente
Ce este un model de computer vision personalizat?
Este un model de inteligență artificială antrenat pe imaginile și categoriile unei anumite companii, pentru o sarcină vizuală precisă, cum ar fi recunoașterea unui defect, a unui reper sau a unui tip de material. Spre deosebire de modelele generice, învață exact ce contează în procesul tău și este testat pe imagini din condițiile tale reale.
Când merită un model personalizat în loc de unul gata făcut?
Când obiectele, defectele sau categoriile tale nu există în modelele generice sau sunt confundate între ele. Verificăm întâi dacă un model existent, eventual ajustat puțin, ajunge, pentru că asta reduce timpul și costul. Propunem un model nou doar când testele arată că este nevoie.
Câte imagini sunt necesare?
Nu există un număr fix. Depinde de câte clase sunt, cât de asemănătoare sunt între ele și cât de variate sunt condițiile reale. Pornim cu un set mic, măsurăm rezultatele și extindem colectarea acolo unde modelul greșește.
Pe ce echipament poate rula modelul?
Pe un dispozitiv edge de tip NVIDIA Jetson, pe un server local cu sau fără GPU ori în cloud, în funcție de volum, viteza necesară și cerințele privind datele. Optimizăm modelul pentru echipamentul ales și măsurăm viteza direct pe el.
Cine deține modelul și datele?
Proprietatea asupra modelului antrenat, a datelor și a etichetelor se stabilește prin contract, înainte de începerea proiectului. Discutăm deschis și despre licențele componentelor folosite, pentru că unele modele preantrenate au restricții de folosire comercială.
Ce se întâmplă după livrare?
Condițiile se schimbă în timp: lumina, camerele, produsele. Urmărim calitatea pe eșantioane din producție, colectăm cazurile în care modelul greșește și reantrenăm atunci când datele arată că este nevoie, cu fiecare versiune nouă aprobată înainte de înlocuire.
Nu găsești răspunsul? Scrie-ne și îți răspundem direct.
Ai o sarcină vizuală pe care niciun model nu o rezolvă bine?
Trimite-ne câteva imagini reale și descrie ce ar trebui să recunoască modelul. Îți spunem dacă sarcina se potrivește pentru computer vision, ce date ar fi necesare și dacă un model existent poate fi un punct de plecare.
Soluții conexe
- Detectarea obiectelorModele care recunosc în imagini obiectele importante pentru procesul tău și le transmit mai departe ca date structurate.
- Inspecție vizuală industrialăCamere pe linia de producție care semnalează piesele cu defecte vizibile, iar operatorul confirmă fiecare respingere.
- Edge AI pentru computer visionAnaliză video pe dispozitive instalate în locație: răspuns rapid, rețea mai puțin încărcată și imagini care nu părăsesc clădirea.