O rețea neuronală convoluțională, numită CNN, folosește filtre învățate pentru a extrage tipare din date organizate spațial, precum imaginile. Rezultatele intermediare se numesc hărți de caracteristici. Într-o aplicație de clasificare, acestea contribuie la scorurile claselor definite. CNN descrie o familie de arhitecturi, nu întregul sistem de captură, verificare și lucru cu rezultatele.

Pentru o firmă, întrebarea utilă este ce trebuie observat în imagine și ce operațiune va urma. Clasificarea ambalajelor, localizarea obiectelor și marcarea unei regiuni sunt sarcini diferite. Au nevoie de etichete, ieșiri și teste potrivite. Un model performant pe o demonstrație generală trebuie evaluat separat pe imaginile și condițiile proiectului.

Folosim un exemplu inventat de verificare vizuală a unor ambalaje, un calcul simplificat și rezultate numerice demonstrative. Nu sunt statistici ori rezultate ale unui client. Fotografiile prezintă pregătirea unei camere de telefon și consultarea unor imagini; nu arată o instalație CNN, setul de antrenare sau personalul WebHat.

Mâini care fixează un telefon pe un trepied pentru înregistrare video
George Milton

Ce este un CNN și unde se încadrează în computer vision?

Modelul și sarcina vizuală trebuie descrise separat

Un CNN învață parametri ai unor operații locale și îi folosește în mai multe poziții ale intrării. Straturile succesive pot combina caracteristici din regiuni tot mai largi. Documentația educațională TensorFlow prezintă acest traseu de la imagine la clasificare. Un rezultat de clasă nu include automat și coordonatele obiectului care a determinat scorul.

Într-un proiect de computer vision pentru firme, putem dori să semnalăm dacă un ambalaj pare deformat în imagine. În alt proiect, trebuie să localizăm fiecare ambalaj. Într-un al treilea, avem nevoie de conturul regiunii relevante. Alegerea ieșirii precedă alegerea arhitecturii și a interfeței de control.

CNN nu este singura arhitectură vizuală. Există și abordări bazate pe atenție ori combinații între componente. Nu stabilim câștigătorul după denumire: comparăm variante potrivite pentru aceeași sarcină, pe aceleași date și condiții de operare. Criteriul este rezultatul utilizabil, inclusiv erorile și timpul necesar verificării sale.

În ghidul despre tipurile de inteligență artificială, separăm tehnologia de obiectiv și de autonomie. Un CNN pentru o sarcină vizuală delimitată nu devine un sistem autonom doar prin clasificarea imaginilor. Acțiunile permise și intervenția operatorului sunt decizii distincte de proiectare.

De la imagine la un rezultat pentru sarcina aleasă

  1. Imagine pregătită

    Dimensiuni, canale și preprocesare compatibile cu modelul.

  2. Filtre învățate

    Operații locale produc hărți de caracteristici.

  3. Reprezentări succesive

    Straturi ulterioare combină informații din regiuni mai largi.

  4. Ieșire de clasificare

    Un cap specializat produce scorurile pentru clasele definite.

Schemă originală pentru clasificare. Detectarea pozițiilor și segmentarea cer alte ieșiri și etichete.

Cum arată o imagine pentru rețeaua neuronală?

Pixeli, canale și preprocesare consecventă

Imaginea devine o colecție de valori numerice, cu dimensiuni și canale. O fotografie color poate folosi canale de culoare, iar organizarea lor trebuie să corespundă modelului. Redimensionarea, normalizarea și ordinea canalelor sunt parte din pregătire. Nu aplicăm automat aceeași preprocesare oricărui model doar pentru că fișierul de intrare are aceeași extensie.

Pentru ambalajele demonstrative, documentăm distanța camerei, încadrarea și condițiile de lumină. Un detaliu prea mic în imagine poate dispărea la redimensionare. Dacă tăiem marginile pentru a obține o formă convenabilă, putem elimina tocmai zona pe care dorim să o verificăm. Alegerea rezoluției se testează pe detaliul relevant, nu doar pe viteza obținută.

Păstrăm aceeași transformare necesară modelului la evaluare și la utilizare. O eroare de canale sau scalare poate modifica rezultatele fără schimbarea parametrilor învățați. De aceea, versiunea fluxului de preprocesare se verifică împreună cu versiunea modelului. Sistemul trebuie să distingă intrarea incompatibilă de un rezultat valid pentru o clasă.

Cum funcționează un filtru convoluțional?

Același calcul local este repetat în poziții diferite

Un filtru combină numeric valorile unei regiuni și produce o valoare de ieșire. Deplasând operația, obținem o hartă. Parametrii filtrului sunt învățați în model, iar folosirea lor în mai multe poziții se numește partajarea parametrilor. Materialele Stanford CS231n explică acest principiu; exemplul de mai jos are valori alese de noi, pentru calcul manual.

Folosim un singur canal și un filtru foarte mic. Înmulțim elementele corespunzătoare și adunăm. Nu includem un termen de bias în acest exemplu. Apoi aplicăm ReLU, care păstrează valorile pozitive și transformă valorile negative în zero. Este o demonstrație aritmetică, nu un filtru care identifică un defect industrial.

Un filtru mic, patru poziții și o activare

  1. Intrare · 3 × 3
  2. Filtru · 2 × 2
  3. Înainte de ReLU · 2 × 2
  4. După ReLU · 2 × 2
  5. Fereastra din stânga sus

    2 × 1 + 1 × (−1) + 3 × 1 + 0 × (−1) = 4.

Date inventate pentru un canal, pas 1, fără margini adăugate și fără bias. Filtrul este folosit în aceeași orientare la fiecare poziție. ReLU înlocuiește valoarea negativă cu zero. Nu reprezintă un model antrenat ori rezultatul unei inspecții.

Într-un CNN real, operația implică și canalele, numărul de filtre și configurația stratului. Nu interpretăm valoarea unei singure celule drept procent de certitudine. Harta de caracteristici este o reprezentare intermediară; rezultatul final depinde de celelalte componente și de sarcina pentru care modelul a fost antrenat și evaluat.

Ce înseamnă hărți de caracteristici și câmp receptiv?

Un strat vede o regiune; succesiunea straturilor schimbă acoperirea

Hărțile de caracteristici sunt ieșiri numerice ale operațiilor din rețea. Câmpul receptiv descrie regiunea intrării care poate influența o poziție de ieșire. Configurația straturilor, pasul și alte alegeri ale arhitecturii determină această relație. Nu atribuim fiecărei hărți un obiect sau un concept uman fix fără o analiză a modelului respectiv.

În exemplul nostru, o urmă de umbră și o deformare pot produce contraste asemănătoare într-o regiune mică. Contextul din jur și exemplele de antrenare pot conta pentru diferențiere. Testul trebuie să includă ambele situații, cu etichete revizuite, ca să aflăm dacă sistemul folosește informația relevantă și nu o asociere accidentală din imagini.

Partajarea unui filtru nu face modelul complet independent de rotație, scară sau iluminare. Aceste variații trebuie reprezentate și evaluate potrivit utilizării. Un rezultat pe fotografii frontale nu stabilește performanța pe obiecte oblice sau parțial acoperite. Cerințele de captură și domeniul acceptat al imaginilor se definesc explicit în proiect.

Ce rol au stride, padding și pooling?

Reducerea dimensiunilor trebuie să păstreze informația necesară

Stride este pasul cu care operația se deplasează. Padding adaugă margini conform configurației, influențând dimensiunea rezultatului. Pooling agregă regiuni; în max pooling se păstrează maximul ferestrei, pentru fiecare canal. Documentația Keras descrie aceste operații distinct. Pooling nu este obligatoriu în orice arhitectură CNN și nu verifică automat calitatea imaginii.

Într-o aplicație care urmărește detalii fine, comprimarea spațială excesivă poate elimina informații utile. În alta, reprezentări mai compacte pot reduce resursele necesare. Nu alegem parametrii după o singură regulă generală. Comparăm rezultatul pentru detaliul vizat, viteza și memoria în condițiile dispozitivului ori serverului pe care va fi folosită soluția.

Un obiectiv tehnic trebuie legat de operațiunea reală: imagine suficient de clară pentru evaluare, răspuns într-un interval util și o cale pentru excepții. O cameră fără cadru nou sau o imagine imposibil de interpretat nu trebuie tratată automat ca dovadă că ambalajul este normal. Starea capturii este un rezultat separat.

Cum învață filtrele și ce se întâmplă la inferență?

Predicția pe imagini noi nu este o nouă antrenare

Într-o clasificare supervizată, exemplele și țintele definite permit calcularea unei erori folosite pentru ajustarea parametrilor. La inferență, modelul ales este aplicat unei imagini noi. Există și alte strategii de preantrenare; o arhitectură CNN nu impune singură o singură metodă de învățare. Datele, obiectivul și protocolul se documentează pentru varianta concretă.

Ghidul despre învățarea supervizată și celelalte paradigme explică diferențele dintre semnalele de învățare. În pilotul nostru, etichetele descriu criteriul vizual al ambalajului. Ele nu trebuie confundate cu rezultatul unei analize fizice care nu poate fi dedusă din fotografie. Definim exact ce este observabil și ce trebuie verificat prin alt proces.

Antrenare și folosire: ce se schimbă?

  1. Antrenare

    Exemple → predicție → eroare față de țintă → ajustarea parametrilor.

  2. Inferență

    Imagine nouă → parametrii modelului ales → rezultat verificat de aplicație.

Flux conceptual original. O corecție a operatorului nu modifică automat modelul publicat; includerea ei în antrenare este un proces separat.

Corecturile operatorului se pot păstra pentru o revizuire ulterioară a setului de date, cu drepturi și versiuni clare. Nu modifică automat modelul publicat după fiecare apăsare de buton. O nouă versiune se antrenează și se evaluează într-un flux separat, apoi este activată controlat, cu posibilitatea de a identifica diferențele de comportament.

Când folosim transfer learning în locul antrenării de la zero?

Pornim de la reprezentări existente și verificăm adaptarea

Transfer learning folosește un model preantrenat ca punct de plecare. O variantă păstrează baza ca extractor de caracteristici și antrenează o ieșire nouă. Fine-tuning poate ajusta și parametri ai bazei. Tutorialul TensorFlow separă aceste situații. Reprezentările existente sunt un punct de evaluat, nu dovada că noul domeniu este deja acoperit.

Pentru ambalaje, diferențele de materiale, fundal și tip de imagine pot conta. Testăm dacă varianta aleasă distinge deformarea de umbră, inclusiv pe exemple nevăzute din loturi diferite. Revizuim și dreptul de folosire al modelului, al ponderilor și al datelor. Licența unei biblioteci nu descrie automat toate drepturile asociate oricărui model încărcat prin ea.

Încadrarea în deep learning pentru aplicații de firmă ajută la separarea resurselor: antrenarea, inferența, stocarea imaginilor și verificarea operatorului. Un model mai mic sau un extractor reutilizat poate fi comparat cu alternativele relevante, fără a transforma numărul de parametri într-unicul criteriu de proiectare.

Cum pregătim datele fără să compromitem testul?

Imagini independente și etichete cu definiții clare

Definim clasele prin criterii observabile și documentăm cazurile de frontieră. Pentru ambalajul demonstrativ, un obiect parțial acoperit poate necesita o stare de revizuire, nu o etichetă inventată. Etichetele se verifică înainte să fie folosite drept referință. Divergențele dintre evaluatori pot arăta că instrucțiunea are nevoie de precizări, nu doar că modelul greșește.

Separăm datele astfel încât imagini aproape identice ale aceluiași obiect sau din aceeași secvență să nu ajungă necontrolat și în antrenare, și în test. Alegerea grupării urmărește utilizarea viitoare: lot nou, cameră nouă ori interval ulterior. Un scor obținut pe copii apropiate măsoară o situație diferită de cea în care sistemul întâlnește obiecte noi.

Augmentarea poate modifica exemplele de antrenare prin transformări potrivite sarcinii. Nu orice rotație, reflexie ori schimbare de culoare păstrează eticheta. Testul final rămâne independent și reprezentativ pentru capturile așteptate. Înregistrăm originea, versiunea și dreptul de folosire al imaginilor, iar imaginile persoanelor nu se colectează fără o justificare corespunzătoare proiectului.

Persoană care consultă o galerie de fotografii pe laptop, lângă o cameră foto
Michael Burrows

Cum măsurăm dacă modelul clasifică util?

Acuratețea, precizia și recall răspund la întrebări diferite

Exemplul demonstrativ are o referință revizuită și o clasă pozitivă definită: ambalaj cu deformare vizibilă după criteriul ales. Numărăm separat semnalările corecte, ratările și alarmele false. Scikit-learn documentează diferența dintre precizie și recall. Cifrele de mai jos sunt inventate pentru explicație și nu descriu o cameră, un model comercial sau o instalație WebHat.

Un lot demonstrativ, trei indicatori diferiți

  1. 15 · detectate corect

    Ambalaje deformate semnalate pentru control.

  2. 5 · ratate

    Ambalaje deformate care nu au fost semnalate.

  3. 10 · alarme false

    Ambalaje normale trimise greșit la control.

  4. 70 · normale corect

    Ambalaje normale care nu au fost semnalate.

Lot fictiv de 100 imagini: acuratețe (15+70)/100 = 85%; precizie 15/(15+10) = 60%; recall 15/(15+5) = 75%. Nu este benchmark sau rezultat WebHat.

Indicatorii trebuie interpretați pentru consecința urmărită. Alarmele false consumă timp de control, iar ratările lasă cazuri relevante fără semnalare. Alegem pragul pe datele de dezvoltare și îl verificăm pe testul separat. Raportul include distribuția claselor și condițiile, ca un procent bun pe un lot dominat de cazuri normale să nu ascundă ratările.

Privim și rezultatele pe lumină, material, cameră și grad de acoperire, în măsura în care setul permite analiza. Comparăm aceleași exemple pentru variantele evaluate. Când o grupă are prea puține cazuri, colectăm exemple suplimentare relevante înainte de a o trata ca pe o arie acceptată pentru operare. Păstrăm și exemplele greșite, nu doar imaginile reușite.

Cum integrăm CNN într-un flux de lucru real?

Modelul produce o propunere în interiorul unui proces. Aplicația leagă imaginea de obiect, aplică regulile de rutare și afișează controlul necesar. În fluxul demonstrativ, operatorul verifică ambalajele semnalate. Nu descriem acest mecanism ca pe o certificare automată a produsului și nu deducem din fotografie caracteristici pe care imaginea nu le poate susține.

Flux propus pentru verificarea ambalajelor

  1. Captură verificată

    Imaginea corespunde obiectului și condițiilor acceptate.

  2. Propunere CNN

    Modelul returnează scorurile pentru sarcina definită.

  3. Regulă de rutare

    Pragul și starea capturii stabilesc traseul către control.

  4. Verificare umană

    Operatorul confruntă imaginea cu criteriul de inspecție.

  5. Înregistrare urmărită

    Păstrăm decizia, versiunea și legătura cu obiectul, cu acces controlat.

Schemă originală de proiectare. Nu este o instalație reală ori o decizie automată despre siguranța unui produs.

Monitorizarea include starea capturii, erori, distribuția rezultatelor și observațiile din verificarea umană. Ghidul Google despre monitorizarea sistemelor ML distinge între indicatorii modelului și cei ai utilizării reale. Pentru pilot, urmărim și cât durează controlul, câte cazuri se întorc la clarificare și ce se întâmplă după schimbarea camerei sau a luminii.

Gestionăm protecția datelor într-o aplicație AI la nivelul fluxului: capturăm numai ceea ce este necesar, limităm accesul și stabilim păstrarea imaginilor. Timpii de procesare, transferul și interfața se măsoară împreună. O inferență rapidă nu compensează automat o imagine greșită ori o asociere incorectă cu obiectul.

În comparația cu un Transformer și mecanismul său de atenție, menținem aceeași sarcină și aceleași criterii. Arhitectura aleasă trebuie să susțină rezultatul operațional și resursele disponibile. Nu adăugăm componente doar pentru a bifa o tehnologie, iar schimbările se verifică înainte să intre în fluxul utilizatorilor.

Cum pregătim un proiect CNN cu WebHat?

Începem cu obiectul, informația observabilă, imaginile autorizate și decizia asistată. Pentru etapa de dezvoltare software personalizată, sunt utile criteriile de clasificare, condițiile de captură, volumul și sistemul în care se înregistrează verificarea. Din acestea definim pilotul și testele de acceptare.

O aplicație custom cu integrare AI poate reuni captură, model, verificare și evidență. Proiectul trebuie să precizeze cine corectează rezultatele, cum sunt tratate excepțiile și când poate fi activată o versiune nouă. Aceste informații fac soluția evaluabilă în activitatea firmei, nu doar într-un notebook demonstrativ.

Livrabilul util include datele și condițiile de test, erorile observate, interfața de control și cerințele de operare. Astfel putem decide dacă este nevoie de alte imagini, de captură mai bună sau de o altă componentă. Corectăm cauza identificată în etapa potrivită, fără să înlocuim automat întreaga soluție.

Întrebări frecvente despre rețele neuronale convoluționale

CNN poate spune unde se află fiecare obiect?

O ieșire de clasificare descrie clasele imaginii, nu automat coordonatele obiectelor. Localizarea ori segmentarea cer ieșiri, etichete și evaluări potrivite. Un CNN poate fi o componentă a unor astfel de modele, dar sarcina trebuie specificată separat.

Filtrele sunt desenate manual de programator?

Într-un CNN antrenat, parametrii sunt învățați conform obiectivului. Există și filtre manuale în procesarea clasică a imaginilor. Exemplul numeric din ghid folosește valori alese pentru explicație și nu pretinde că reprezintă filtrele unui model real.

Este obligatorie folosirea unui GPU?

Depinde de model, rezoluție, volum, latență și mediul de operare. Testăm varianta concretă pe infrastructura vizată. Antrenarea și inferența au cerințe diferite, iar durata întregului proces include și captura, transferul, preprocesarea și controlul rezultatului.

Putem folosi fotografii deja existente în firmă?

Da, dacă sunt relevante, au drepturi și pot fi utilizate în scopul proiectului. Verificăm condițiile, etichetele, versiunile și acoperirea cazurilor. Fotografiile pentru prezentare nu constituie automat un set reprezentativ pentru imaginile care vor apărea în exploatare.

Un scor mare al clasei înseamnă că rezultatul este verificat?

Scorul trebuie interpretat conform modelului și evaluării sale. Nu înlocuiește referința ori controlul operațional. Verificăm erorile, pragurile și condițiile în care ieșirea este acceptată, iar cazurile necorespunzătoare merg pe traseul de revizuire stabilit.

CNN este întotdeauna mai bun decât un Transformer vizual?

Comparația se face pe sarcină, date și condiții identice, cu indicatori de calitate și resurse. Familia de arhitecturi nu stabilește singură rezultatul. Alegem varianta care trece criteriile proiectului și poate fi operată în sistemul firmei.