20/03/2023
În era digitală, inteligența artificială, în special învățarea profundă (deep learning), a revoluționat modul în care analizăm și interpretăm datele. De la recunoașterea obiectelor la clasificarea terenurilor, aplicațiile sunt vaste, mai ales în domeniul sistemelor informatice geografice (GIS). Cu toate acestea, succesul oricărui model de deep learning depinde critic de calitatea și cantitatea datelor de antrenament. Fără un set de date bine pregătit, chiar și cel mai sofisticat algoritm va eșua.

Ce Este un Set de Date de Antrenament pentru Deep Learning?
Un set de date de antrenament pentru deep learning este o colecție structurată de exemple pe care un model de inteligență artificială le utilizează pentru a învăța. În contextul imaginilor și al datelor geospațiale, aceste seturi de date constau, de obicei, din două componente principale:
- Imagini (sau "chip-uri"): Segmente mici, decupate din imagini raster mai mari (ex: imagini satelitare, fotografii aeriene), care conțin obiectele sau caracteristicile de interes.
- Etichete (Labels): Informații asociate fiecărui chip care indică ce conține acesta. Etichetele pot fi de mai multe tipuri, în funcție de sarcina de deep learning:
- Căsuțe de delimitare (Bounding Boxes): Pentru detecția obiectelor, etichetele definesc o zonă dreptunghiulară în jurul fiecărui obiect și îi specifică clasa (ex: clădire, vehicul, copac).
- Măști de segmentare: Pentru segmentarea semantică sau de instanță, etichetele sunt la nivel de pixel, indicând clasa fiecărui pixel din imagine.
- Clasificare la nivel de imagine: Pentru clasificarea întregii imagini, o singură etichetă descrie conținutul general al chip-ului (ex: pădure, zonă urbană).
Acest proces de creare a chip-urilor și a etichetelor este esențial pentru a antrena rețele neuronale convoluționale (CNN-uri) să recunoască tipare și caracteristici specifice.
De Ce Calitatea Datelor de Antrenament Contează?
Calitatea datelor de antrenament este fundamentală. Un set de date bine etichetat, divers și reprezentativ asigură că modelul învață să generalizeze corect și să facă predicții precise pe date noi, nevăzute. Pe de altă parte, datele de slabă calitate – fie că sunt etichetate incorect, incomplete sau nereprezentative – pot duce la un model biased, cu performanțe slabe și rezultate eronate. Este o regulă de aur în inteligența artificială: "Garbage in, garbage out" (Dacă bagi gunoi, scoți gunoi).
Exportul Datelor de Antrenament cu ArcGIS Pro: O Abordare Detaliată
ArcGIS Pro oferă instrumente puternice pentru pregătirea datelor geospațiale pentru deep learning, iar instrumentul "Export Training Data For Deep Learning" este piesa centrală. Acesta transformă imaginile raster și datele etichetate (vectoriale sau raster) în formatul necesar pentru antrenarea modelelor. Cu toate acestea, utilizatorii se pot confrunta cu diverse provocări, cum ar fi exportul de imagini negre sau nefuncționale.
Problema: Imagini Exportate Negre sau Nevalide
Un scenariu frecvent întâlnit este cel în care, după utilizarea instrumentului, imaginile exportate sunt negre, nu se deschid sau nu afișează obiectele dorite. Acest lucru se poate întâmpla din mai multe motive:
- Date Sursă Inadecvate sau Nealiniate:
- Imagini Sentinel: Imaginile satelitare Sentinel sunt multispectrale, adesea cu 12 sau mai multe benzi. Pentru vizualizare și antrenament, este crucial să se specifice combinația corectă de benzi (ex: R-G-B pentru culori naturale, sau benzi infraroșii pentru analiza vegetației). Dacă instrumentul exportă benzi invizibile sau o combinație necorespunzătoare, rezultatul poate părea negru. Asigură-te că datele Sentinel sunt pre-procesate corespunzător (corecție atmosferică, scalare) înainte de export.
- Imagini Google Earth (sau alte imagini RGB): Deși sunt de obicei în culori naturale, pot apărea probleme dacă sistemul de coordonate nu este gestionat corect, dacă datele sunt corupte sau dacă există valori "No Data" extinse care pot fi interpretate ca negru.
- Configurații Incorecte ale Parametrilor de Export:
- Tipul de Date (Data Type) și Formatul Chip-ului (Chip Format): Dacă imaginile sursă au o adâncime mare de biți (ex: 16-bit float) și se exportă în formate care suportă doar 8-bit (cum ar fi JPEG sau PNG fără scalare adecvată), valorile pot fi trunchiate, rezultând imagini negre. Încearcă formatul
TIFF, care este mai robust și suportă adâncimi de biți mai mari. - Formatul Metadatelor (Metadata Format): Alegerea formatului incorect al metadatelor poate duce la rezultate neașteptate. De exemplu, dacă intenționați să faceți clasificare de pixeli (segmentare), dar alegeți un format pentru detecția obiectelor (precum KITTI sau PASCAL_VOC), etichetele ar putea fi generate incorect sau imaginile ar putea fi vizualizate diferit.
- Calea de Ieșire (Output Location) și Permisiunile: Asigură-te că locația specificată pentru export este validă și că ai permisiuni de scriere în directorul respectiv. Problemele de permisiuni pot împiedica scrierea corectă a fișierelor.
- Tipul de Date (Data Type) și Formatul Chip-ului (Chip Format): Dacă imaginile sursă au o adâncime mare de biți (ex: 16-bit float) și se exportă în formate care suportă doar 8-bit (cum ar fi JPEG sau PNG fără scalare adecvată), valorile pot fi trunchiate, rezultând imagini negre. Încearcă formatul
- Probleme de Simbologie/Vizualizare: Ocazional, imaginile sunt exportate corect, dar vizualizatorul de imagini nu aplică o întindere (stretch) adecvată, făcându-le să pară negre. Verifică proprietățile imaginii în vizualizatorul folosit.
Cum Funcționează Instrumentul "Export Training Data For Deep Learning"
Pentru a evita problemele și a maximiza eficiența, este esențial să înțelegem fiecare parametru al instrumentului:
input Raster (Obligatoriu): Aceasta este imaginea raster (sau serviciul de imagini) pe care dorești să o clasifici. Poate fi un ID de element portal, o adresă URL a unui serviciu de imagini, un set de date raster în cloud sau local. Asigură-te că datele sunt valide și accesibile.
output Location (Obligatoriu): Specificați locația de ieșire pentru datele de antrenament. Poate fi un nume de folder, o cale către un depozit de date raster partajat sau o cale de sistem de fișiere partajat. Este crucial să ai drepturi de scriere în această locație.
input Class Data (Obligatoriu): Acestea sunt datele etichetate, fie într-un serviciu de caracteristici (feature service), fie într-un serviciu de imagini. Intrările vectoriale ar trebui să urmeze formatul generat de ArcGIS Pro Training Sample Manager (ex: poligoane pentru clădiri), iar intrările raster ar trebui să fie în format clasificat (ex: rezultat al instrumentului "Classify Raster"). Această intrare este cheia pentru a spune modelului ce reprezintă fiecare obiect.
chip Format: Specifică formatul raster care va fi utilizat pentru ieșirea chip-urilor de imagine. Opțiunile sunt TIFF, PNG, JPEG și MRF (Meta Raster Format). TIFF este adesea preferat pentru modelele de deep learning datorită suportului pentru adâncimi de biți mai mari și compresie fără pierderi. Pentru vizualizare rapidă sau dacă modelul tău necesită date pe 8 biți, PNG sau JPEG pot fi suficiente.

tile Size: Dimensiunea chip-urilor de imagine. Este specificată ca o pereche de valori pentru dimensiunile X și Y (ex: { "x": 256, "y": 256 }). Alegerea dimensiunii depinde de mărimea obiectelor de interes și de memoria GPU disponibilă pentru antrenament. Chip-uri mai mari pot captura mai mult context, dar necesită mai multe resurse.
stride Size: Distanța de deplasare în direcțiile X și Y la crearea următorului chip de imagine. Când stride Size este egal cu tile Size, nu va exista suprapunere între chip-uri. Când stride Size este jumătate din tile Size, va exista o suprapunere de 50%. Suprapunerea poate ajuta la capturarea obiectelor care se află la marginea chip-urilor și la creșterea numărului de eșantioane de antrenament (augmentare de date).
metadata Format: Specifică formatul etichetelor de metadate de ieșire. Aceasta este o setare critică și depinde de tipul sarcinii de deep learning:
KITTI_rectangles: Pentru detecția obiectelor. Etichetele sunt fișiere text simple cu informații despre căsuțele de delimitare.PASCAL_VOC_rectangles(Implicit): Pentru detecția obiectelor. Etichetele sunt fișiere XML cu informații despre numele imaginii, valoarea clasei și căsuțele de delimitare.Classified_Tiles: Pentru clasificarea pixelilor (segmentare semantică). Ieșirea este un chip de imagine clasificat per chip de intrare, fără alte metadate specifice.RCNN_Masks: Pentru detecția obiectelor cu măști de segmentare (segmentare de instanță). Ieșirea include măști pe zonele unde există eșantionul.Labeled_Tiles: Pentru clasificarea obiectelor (o etichetă per chip). Fiecare chip de ieșire va fi etichetat cu o clasă specifică.MultiLabeled_Tiles: Pentru clasificarea obiectelor cu multiple etichete per chip (ex: o casă cu piscină și panouri solare).Export_Tiles: Ieșirea va fi chip-uri de imagine fără etichetă. Utilizat pentru tehnici de îmbunătățire a imaginii, cum ar fi super-rezoluția.CycleGAN: Ieșirea va fi chip-uri de imagine fără etichetă, utilizat pentru tehnici de traducere a imaginilor.Imagenet: Pentru clasificarea obiectelor; poate fi utilizat și pentru urmărirea obiectelor.Panoptic_Segmentation: Pentru clasificarea pixelilor și segmentarea de instanță. Ieșirea include chip-uri clasificate și măști de instanță.
Alegerea greșită a acestui parametru este o cauză comună a problemelor de export sau a rezultatelor neașteptate.
class Value Field: Câmpul din datele de intrare (feature class) care conține valorile clasei. Dacă nu este specificat, sistemul caută un câmp numit "value" sau "classvalue".
buffer Radius: Raza unui buffer în jurul fiecărui eșantion de antrenament pentru a delimita o zonă. Permite crearea de eșantioane poligonale circulare din puncte.
input Mask Polygons: O clasă de caracteristici poligonale care delimitează zona unde vor fi create chip-urile de imagine. Numai chip-urile care se încadrează complet în aceste poligoane vor fi create.
rotation Angle: Unghiul de rotație utilizat pentru a genera chip-uri suplimentare. Aceasta este o formă de augmentare a datelor, mărind diversitatea setului de date fără a colecta mai multe date brute. Un chip va fi generat la 0 grade, apoi rotit la unghiul specificat (ex: 60 grade) pentru a crea un chip suplimentar. Valoarea implicită este 0 (fără rotație).
reference System: Specifică tipul de sistem de referință pentru exportul chip-urilor: MAP_SPACE (implicit, pentru sisteme de coordonate bazate pe hartă) sau PIXEL_SPACE (pentru imagini fără rotație sau distorsiune).

process All Raster Items: Specifică modul în care elementele raster dintr-un serviciu de imagini vor fi procesate. Dacă false (implicit), toate elementele raster vor fi mozaicate și procesate împreună. Dacă true, fiecare element raster va fi procesat ca o imagine separată.
blacken Around Feature: Specifică dacă pixelii din jurul fiecărui obiect sau caracteristică din fiecare chip de imagine vor fi întunecați. Aplicabil doar când metadata Format este Labeled_Tiles și există o clasă de caracteristici sau un raster clasificat de intrare. Poate ajuta modelul să se concentreze mai bine pe obiectul de interes.
fix Chip Size: Specifică dacă chip-urile exportate vor fi decupate pentru a avea toate aceeași dimensiune. Aplicabil doar când metadata Format este Labeled_Tiles. Dacă true (implicit), chip-urile vor fi de aceeași dimensiune și centrate pe caracteristică. Dacă false, chip-urile vor fi decupate astfel încât geometria de delimitare să înconjoare doar caracteristica din chip.
additional Input Raster (Opțional): O sursă suplimentară de imagini de intrare, utilizată pentru metode de traducere a imaginilor (ex: CycleGAN). Valid când metadata Format este Classified_Tiles, Export_Tiles sau CycleGAN.
input Instance Data (Opțional): Datele de antrenament colectate care conțin clase pentru segmentarea de instanță. Valid doar când metadata Format este Panoptic_Segmentation.
instance Class Value Field (Opțional): Câmpul care conține valorile clasei pentru datele de instanță.
min Polygon Overlap Ratio (Opțional): Procentajul minim de suprapunere pentru ca o caracteristică să fie inclusă în datele de antrenament. Dacă suprapunerea este mai mică, caracteristica va fi exclusă. Valoarea implicită este 0 (toate caracteristicile sunt incluse). Aceasta poate îmbunătăți performanța instrumentului și inferența modelului, deoarece modelul va fi antrenat să detecteze doar pete mari de obiecte.
context: Conține setări care afectează procesarea sarcinii, cum ar fi:
- Cell Size: Rezoluția rasterului de ieșire.
- Extent: O cutie de delimitare care definește zona de analiză.
- Parallel Processing Factor: Numărul sau procentajul de procese care vor fi utilizate pentru analiză.
- Export All Tiles: Dacă
true(implicit), toate chip-urile de imagine (inclusiv cele care nu se suprapun cu datele etichetate) vor fi exportate. Dacăfalse, doar chip-urile care se suprapun cu datele etichetate vor fi exportate. - Start Index: Setează indexul de pornire pentru secvența de chip-uri de imagine.
Tabel Comparativ: Alegerea metadata Format
| Format Metadate | Utilizare Principală | Descriere pe Scurt | Exemplu de Ieșire |
|---|---|---|---|
KITTI_rectangles | Detecția Obiectelor | Fișiere text cu căsuțe de delimitare. | .txt |
PASCAL_VOC_rectangles | Detecția Obiectelor | Fișiere XML cu căsuțe de delimitare și informații despre clasă. | .xml |
Classified_Tiles | Clasificarea Pixelilor (Segmentare Semantică) | Chip-uri de imagine clasificate (raster). | .tif, .png etc. |
RCNN_Masks | Detecția Obiectelor + Segmentare Instanță | Chip-uri de imagine cu măști de segmentare. | Imagini + Măști |
Labeled_Tiles | Clasificarea Obiectelor (per chip) | Chip-uri etichetate cu o singură clasă. | Imagini + Etichete (text/csv) |
Export_Tiles | Îmbunătățire Imagine (fără etichete) | Doar chip-uri de imagine, fără etichete asociate. | Imagini |
Întrebări Frecvente (FAQ)
- De ce imaginile mele de antrenament sunt negre după export?
- Cel mai probabil, problema vine de la o combinație incorectă de benzi pentru vizualizare (mai ales pentru date multispectrale precum Sentinel), de la o nepotrivire între tipul de date al rasterului sursă și formatul de ieșire (chip format), sau de la o eroare în procesul de scalare a pixelilor. Asigură-te că ai specificat corect combinațiile de benzi și că formatul de ieșire (ex: TIFF) suportă adâncimea de biți a datelor tale.
- Cum aleg dimensiunile
tile Sizeșistride Size? tile Sizear trebui să fie suficient de mare pentru a include obiectele de interes, dar nu atât de mare încât să depășească memoria GPU. Dimensiunile comune sunt 256x256 sau 512x512 pixeli.stride Sizedetermină suprapunerea. O suprapunere de 50% (stride = tile size / 2) este o practică bună pentru a asigura că obiectele de la marginea chip-urilor sunt capturate în întregime în cel puțin un chip.- Ce
metadata Formatar trebui să folosesc? - Alegerea depinde de sarcina ta de deep learning:
PASCAL_VOC_rectanglessauKITTI_rectanglespentru detecția obiectelor,Classified_Tilespentru segmentare semantică,RCNN_Maskspentru segmentare de instanță, șiLabeled_Tiles/MultiLabeled_Tilespentru clasificarea la nivel de chip. Consultă documentația modelului de deep learning pe care intenționezi să-l folosești pentru a vedea ce format de etichete preferă. - Pot folosi mai multe seturi de date de intrare?
- Da, instrumentul suportă un
additional Input Rasterpentru scenarii specifice, cum ar fi traducerea imaginilor (ex: CycleGAN), unde ai nevoie de două imagini de intrare (ex: una optică și una radar) pentru a genera chip-uri pereche.
Concluzie
Pregătirea datelor pentru deep learning este un pas crucial și adesea subestimat în fluxul de lucru al inteligenței artificiale. Instrumentul "Export Training Data For Deep Learning" din ArcGIS Pro este un aliat puternic, dar necesită o înțelegere solidă a fiecărui parametru. Prin configurarea corectă a acestor opțiuni și prin atenția la detalii privind calitatea datelor sursă, vei putea genera seturi de date de antrenament robuste și eficiente, deschizând calea către modele de deep learning de succes în aplicațiile tale geospațiale. Nu uita, o bază de date solidă este cheia pentru o analiză inteligentă și performantă!
Dacă vrei să descoperi și alte articole similare cu Pregătirea Datelor pentru Deep Learning în GIS, poți vizita categoria Fitness.
