Sari la conținut

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ă.

PALET1. PALETPALET2. PALET?3. ?ANTRENARE4. ANTRENAREPRECIZIE PE TEST5. PRECIZIE PE TEST
PIPELINE · MODEL PERSONALIZATITER 18 / 50

Evenimente

  • —Lot 3 etichetat · validat de echipă
  • —1 etichetă incertă trimisă înapoi
  • —Antrenare · iterația 18 din 50
  • —Export ONNX → TensorRT pentru edge
Ilustrație animată · nu este o înregistrare dintr-un proiect livrat

Î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ă.

PIPELINE · MODEL PERSONALIZATITER 18 / 50

Evenimente

Ilustrație animată · nu este o înregistrare dintr-un proiect livrat

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ă vorbim

Ce 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
  1. 01

    Intrare

    Imagini reale

    Imagini sau video din locația ta, surprinse în condițiile obișnuite de lucru.

  2. 02

    Om în buclă

    Etichetare și validare

    Oamenii care cunosc domeniul marchează exemplele și verifică etichetele.

  3. 03

    AI

    Antrenarea modelului

    Modelul învață din datele etichetate, pornind de la o arhitectură potrivită sarcinii.

  4. 04

    Acțiune

    Evaluare și optimizare

    Testăm pe date nevăzute, apoi exportăm și optimizăm pentru echipamentul țintă.

  5. 05

    Acțiune

    Livrare și monitorizare

    Modelul rulează în aplicația ta, iar cazurile incerte sunt colectate pentru analiză.

  6. 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

  1. 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.

  2. 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.

  3. 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ă.

  4. 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

Întrebări frecvente

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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ă.

  6. 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.

Tipul proiectului *
Adaugă detalii, buget și termen (opțional)

* câmpuri obligatorii. Nu trimitem newslettere.