30/03/2023
În era digitală, inteligența artificială (AI) și, în special, Deep Learning, transformă modul în care analizăm și interpretăm datele spațiale. De la detectarea automată a obiectelor pe imagini satelitare până la clasificarea terenurilor și segmentarea semantică, aplicațiile sunt vaste și în continuă expansiune. Însă, pentru ca aceste modele de învățare profundă să funcționeze eficient, ele necesită un ingredient fundamental: date de antrenament de înaltă calitate. Fără un set robust și bine structurat de date etichetate, chiar și cele mai sofisticate arhitecturi de rețele neuronale nu pot atinge performanțe optime. Aici intervine ArcGIS Pro, oferind uneltele necesare pentru a pregăti și exporta aceste date esențiale.

ArcGIS Pro nu este doar o platformă GIS puternică pentru vizualizarea și analiza datelor spațiale, ci și un mediu integrat care facilitează fluxurile de lucru de Deep Learning. Un aspect crucial al acestui proces este crearea „obiectelor de date de antrenament”, care sunt, în esență, colecții de imagini mici (cipuri) și etichetele corespunzătoare, pregătite pentru a fi consumate de un model de învățare automată. Aceste cipuri de imagine, împreună cu metadatele lor, constituie fundamentul pe care se bazează inteligența artificială pentru a învăța să recunoască tipare și caracteristici specifice.
Ce Reprezintă Datele de Antrenament în Contextul ArcGIS Pro?
În ArcGIS Pro, un „obiect de date de antrenament” este rezultatul procesului de pregătire a datelor spațiale (imagini raster) pentru algoritmii de Deep Learning. Acesta este compus din două elemente principale: cipurile de imagine și metadatele asociate. Cipurile de imagine sunt porțiuni mici, decupate dintr-un raster de intrare mai mare, care conțin exemple ale obiectelor sau claselor pe care dorim să le detectăm sau să le clasificăm. Metadatele, pe de altă parte, oferă informații cruciale despre conținutul fiecărui cip de imagine, cum ar fi locația și tipul obiectelor etichetate, clasele de pixeli sau alte atribute relevante.
Acest proces de creare a datelor de antrenament este adesea cel mai consumator de timp și resurse într-un proiect de Deep Learning, dar este și cel mai important. Calitatea și acuratețea datelor de antrenament influențează direct performanța și fiabilitatea modelului final. De aceea, ArcGIS Pro oferă instrumente specializate pentru a eficientiza această etapă.
Instrumentul Esențial: Export Training Data For Deep Learning
Inima procesului de creare a datelor de antrenament în ArcGIS Pro este instrumentul „Export Training Data For Deep Learning”. Acesta preia imagini raster și date etichetate (fie straturi tematice de tip entitate, fie rastere clasificate) și le transformă în seturi de cipuri de imagine și fișiere de metadate, organizate într-un format compatibil cu diverse cadre de Deep Learning. Funcționalitatea sa extinsă permite o personalizare detaliată a ieșirii, adaptând-o la nevoile specifice ale fiecărui model și sarcini de inteligență artificială.
Parametri Cheie și Importanța Lor
Pentru a înțelege pe deplin cum funcționează acest instrument și cum să-l utilizați la potențialul său maxim, este esențial să explorăm parametrii săi principali:
- input_raster (Strat Raster de Intrare): Acesta este rasterul sursă, imaginea mare (de exemplu, o imagine satelitară, aeriană sau o ortofoto) din care vor fi extrase cipurile de imagine. Poate fi un obiect ImageryLayer, Raster, Item sau un URL. Calitatea și rezoluția acestui raster sunt primordiale pentru acuratețea datelor de antrenament.
- input_class_data (Date Clasificate de Intrare): Acesta reprezintă datele etichetate. Poate fi un strat tematic de tip entitate (Feature Layer), cum ar fi poligoane care delimitează clădiri, drumuri sau zone forestiere, sau un raster clasificat, unde fiecare pixel are deja o valoare de clasă. Pentru intrările vectoriale, se recomandă utilizarea formatului generat de Managerul de Eșantioane de Antrenament din ArcGIS Pro. Pentru rastere, se folosește formatul generat de instrumentul Classify Raster. Aceste date furnizează etichetele pentru cipurile de imagine.
- chip_format (Formatul Cipurilor de Imagine): Definește formatul fișierelor de imagine de ieșire. Opțiunile includ TIFF, PNG, JPEG și MRF (Meta Raster Format). Alegerea depinde de cerințele modelului Deep Learning și de preferințele de stocare (dimensiune fișier, compresie, suport pentru transparență etc.). TIFF-ul este adesea preferat pentru calitatea sa fără pierderi.
- tile_size (Dimensiunea Plăcilor) și stride_size (Dimensiunea Pasului): Acești doi parametri controlează modul în care sunt generate cipurile de imagine.
tile_size(de exemplu,{"x": 256, "y": 256}) specifică dimensiunile (lățimea și înălțimea) fiecărui cip de imagine individual. O dimensiune adecvată depinde de scara obiectelor de interes și de cerințele modelului.stride_size(de exemplu,{"x": 128, "y": 128}) determină distanța de deplasare în direcțiile X și Y pentru a crea următorul cip de imagine. Acest parametru influențează gradul de suprapunere între cipurile adiacente. Dacăstride_sizeeste egal cutile_size, nu va exista suprapunere. Dacă este jumătate dintile_size, va exista o suprapunere de 50%. Suprapunerea poate fi benefică pentru a asigura că obiectele aflate la marginea unui cip sunt incluse și în cipurile adiacente, crescând robustetea antrenamentului.- metadata_format (Formatul Metadatelor de Ieșire): Acesta este unul dintre cei mai critici parametri, deoarece determină modul în care etichetele sunt stocate și structurate, influențând direct compatibilitatea cu diferite modele de Deep Learning. Există numeroase opțiuni, fiecare proiectată pentru tipuri specifice de sarcini și arhitecturi de modele:
- KITTI_rectangles: Urmează formatul setului de date KITTI (Karlsruhe Institute of Technology and Toyota Technological Institute). Fișierele de etichete sunt fișiere text simple, cu valori separate prin spații, fiecare rând corespunzând unui obiect. Utilizat pentru detectarea obiectelor cu modele precum FasterRCNN, RetinaNet, SingleShotDetector și YOLOv3.
- PASCAL_VOC_rectangles: Urmează formatul setului de date PASCAL VOC (Pattern Analysis, Statistical Modeling and Computational Learning, Visual Object Classes). Fișierele de etichete sunt fișiere XML și conțin informații despre numele imaginii, valoarea clasei și cutiile de delimitare. De asemenea, utilizat pentru detectarea obiectelor cu modele precum FasterRCNN, RetinaNet, SingleShotDetector și YOLOv3.
- Classified_Tiles: Generează un singur cip de imagine clasificat pentru fiecare cip de imagine de intrare. Nu conține alte metadate pentru fiecare cip, ci doar statistici generale despre clase. Utilizat pentru clasificarea pixelilor cu modele precum BDCNEdgeDetector, DeepLab, HEDEdgeDetector, MultiTaskRoadExtractor, PSPNetClassifier și UnetClassifier.
- RCNN_Masks: Generează cipuri de imagine care au o mască pe zonele unde există eșantionul. Modelul generează cutii de delimitare și măști de segmentare pentru fiecare instanță a unui obiect din imagine. Utilizat cu modelul MaskRCNN pentru segmentarea instanțelor.
- Labeled_Tiles: Etichetează fiecare placă de ieșire cu o clasă specifică. Utilizat pentru clasificarea imaginilor (unde întreaga imagine aparține unei singure clase) cu modelul FeatureClassifier.
- MultiLabeled_Tiles: Fiecare placă de ieșire va fi etichetată cu una sau mai multe clase. De exemplu, o placă poate fi etichetată ca „agricultură” și „noros”. Utilizat pentru clasificarea obiectelor/scenelor cu multiple etichete, de asemenea cu modelul FeatureClassifier.
- Export_Tiles: Ieșirea va fi cipuri de imagine fără etichetă. Utilizat pentru tehnici de îmbunătățire a imaginii, cum ar fi Super Rezoluția și Detectarea Schimbărilor, cu modele precum ChangeDetector, CycleGAN, Pix2Pix și SuperResolution.
- CycleGAN: Similar cu Export_Tiles, dar specific pentru tehnica de translație a imaginii CycleGAN, utilizat pentru antrenarea imaginilor care nu se suprapun.
- Imagenet: Fiecare placă de ieșire va fi etichetată cu o clasă specifică. Utilizat pentru clasificarea obiectelor; poate fi folosit și pentru urmărirea obiectelor cu tipul de model Deep Sort.
- Panoptic_Segmentation: Ieșirea va fi un cip de imagine clasificat și o instanță per cip de imagine de intrare. Va avea și cipuri de imagine care maschează zonele unde există eșantionul, stocate într-un folder diferit. Utilizat atât pentru clasificarea pixelilor, cât și pentru segmentarea instanțelor.
- output_location (Locația de Ieșire): Specifică directorul unde vor fi salvate cipurile de imagine și fișierele de metadate. Poate fi o cale către un depozit de date al serverului sau o cale de sistem de fișiere partajată. Asigurați-vă că locația are suficient spațiu de stocare, deoarece seturile de date de antrenament pot deveni foarte mari.
- rotation_angle (Unghi de Rotație): Permite generarea de cipuri de imagine suplimentare prin rotirea celor existente la un unghi specificat. Această tehnică, cunoscută sub numele de augmentare de date, este crucială pentru a crește diversitatea setului de date de antrenament și a îmbunătăți robustețea modelului, ajutându-l să generalizeze mai bine la noi date și să recunoască obiecte indiferent de orientarea lor. Valoarea implicită este 0 (fără rotație).
- context (Context): Un dicționar care conține setări suplimentare. De exemplu,
exportAllTiles(implicitFalse) permite exportul tuturor cipurilor de imagine, inclusiv a celor care nu se suprapun cu datele etichetate, util pentru scenarii specifice unde se dorește context.startIndexpermite setarea unui indice de pornire pentru secvența de cipuri, util pentru adăugarea de noi cipuri la o secvență existentă. - min_polygon_overlap_ratio (Raport Minim de Suprapunere Poligon): Un parametru float opțional care specifică procentul minim de suprapunere pentru ca o entitate să fie inclusă în datele de antrenament. Dacă suprapunerea este mai mică decât valoarea specificată, entitatea va fi exclusă. Acest lucru îmbunătățește performanța instrumentului și inferența modelului, deoarece se creează mai puține cipuri de antrenament, iar modelul este antrenat să detecteze doar patch-uri mari de obiecte, ignorând colțurile mici.
- reference_system (Sistem de Referință): Specifică tipul de sistem de referință utilizat pentru a interpreta imaginea de intrare. Poate fi
MAP_SPACE(implicit),IMAGE_SPACEsauPIXEL_SPACE. Este important ca sistemul de referință să corespundă celui utilizat pentru antrenarea modelului Deep Learning. - blacken_around_feature (Înegrire în Jurul Entității) și fix_chip_size (Dimensiune Cip Fixă): Acești parametri se aplică atunci când
metadata_formateste setat laLabeled_Tiles.blacken_around_feature(implicitFalse) permite înnegrirea pixelilor din jurul fiecărui obiect/entitate.fix_chip_size(implicitTrue) asigură că toate plăcile exportate au aceeași dimensiune, centrate pe entitate. - additional_input_raster (Raster Suplimentar de Intrare): Un raster suplimentar de intrare, utilizat pentru metodele de translație a imaginii (valabil cu Classified_Tiles, Export_Tiles, sau CycleGAN).
- input_instance_data (Date de Instanță de Intrare): Date de antrenament care conțin clase pentru segmentarea instanțelor, valabil doar când
metadata_formateste setat la Panoptic_Segmentation.
Tabel Comparativ: Format Metadate și Modele Suportate
Pentru a oferi o imagine de ansamblu clară, iată un tabel care rezumă formatele de metadate și tipurile de modele Deep Learning cu care sunt compatibile:
| Format Metadate | Descriere Scurtă | Tipuri de Model Suportate |
|---|---|---|
| KITTI_rectangles | Fișiere text cu cutii de delimitare și clase, pentru detectare obiecte. | FasterRCNN, RetinaNet, SingleShotDetector, YOLOv3 |
| PASCAL_VOC_rectangles | Fișiere XML cu cutii de delimitare și clase, pentru detectare obiecte. | FasterRCNN, RetinaNet, SingleShotDetector, YOLOv3 |
| Classified_Tiles | Un cip de imagine clasificat per cip de intrare, pentru clasificarea pixelilor. | BDCNEdgeDetector, DeepLab, HEDEdgeDetector, MultiTaskRoadExtractor, PSPNetClassifier, UnetClassifier |
| RCNN_Masks | Cipuri cu măști pe zonele eșantionului, pentru segmentarea instanțelor. | MaskRCNN |
| Labeled_Tiles | Fiecare placă etichetată cu o clasă specifică, pentru clasificarea imaginilor. | FeatureClassifier |
| MultiLabeled_Tiles | Fiecare placă etichetată cu una sau mai multe clase, pentru clasificarea obiectelor/scenelor. | FeatureClassifier |
| Export_Tiles | Cipuri de imagine fără etichete, pentru îmbunătățirea imaginii și detectarea schimbărilor. | ChangeDetector, CycleGAN, Pix2Pix, SuperResolution |
| CycleGAN | Cipuri de imagine fără etichete, specifice pentru translația de imagini. | CycleGAN |
| Imagenet | Fiecare placă etichetată cu o clasă specifică, pentru clasificarea obiectelor/urmărire. | FeatureClassifier (și Deep Sort) |
| Panoptic_Segmentation | Cip clasificat și instanță per cip, cu măști separate, pentru clasificare pixeli și segmentare instanțe. | (Nu sunt specificate modele direct, dar implică combinație de clasificare pixeli și segmentare instanțe) |
De Ce Este Crucială Pregătirea Corectă a Datelor de Antrenament?
Succesul unui model de Deep Learning depinde în mare măsură de calitatea și cantitatea datelor de antrenament. Datele bine pregătite asigură că modelul învață tipare relevante și nu este influențat de zgomot sau erori. O pregătire incorectă poate duce la modele cu performanțe slabe, care nu generalizează bine la date noi sau care produc rezultate eronate. Utilizarea instrumentului „Export Training Data For Deep Learning” din ArcGIS Pro simplifică acest proces complex, permițând utilizatorilor să genereze seturi de date gata de utilizare, optimizate pentru diverse sarcini de învățare profundă.
Capacitatea de a personaliza dimensiunea cipurilor, suprapunerea, formatele metadatelor și de a aplica augmentare de date (cum ar fi rotația) oferă un control granular asupra procesului, permițând adaptarea la cerințele specifice ale fiecărui proiect. Această flexibilitate este vitală, deoarece cerințele de date pot varia semnificativ între detectarea obiectelor, clasificarea imaginilor și segmentarea semantică.
Întrebări Frecvente (FAQ)
1. De ce am nevoie de date de antrenament pentru Deep Learning?
Modelele de Deep Learning învață din exemple. Datele de antrenament, care constau în imagini și etichetele lor corespunzătoare (ce se află în imagine, unde se află, ce clasă are), sunt esențiale pentru a „învăța” modelul să recunoască tipare și să facă predicții. Fără aceste exemple, modelul nu ar ști cum să identifice obiecte sau să clasifice pixeli în imagini noi, nevăzute.
2. Care este diferența dintre 'tile_size' și 'stride_size'?
tile_size definește dimensiunile exacte ale fiecărui cip de imagine individual. De exemplu, un tile_size de 256x256 pixeli înseamnă că fiecare cip de imagine va avea această rezoluție. stride_size, pe de altă parte, specifică distanța la care se mută instrumentul pentru a extrage următorul cip de imagine. Dacă stride_size este mai mic decât tile_size, cipurile de imagine se vor suprapune, ceea ce poate fi benefic pentru a asigura că obiectele de la margini sunt capturate complet în mai multe cipuri și pentru a crește volumul datelor de antrenament.
3. Ce 'metadata_format' ar trebui să aleg?
Alegerea metadata_format depinde direct de tipul de sarcină de Deep Learning pe care doriți să o îndepliniți și de modelul pe care intenționați să-l utilizați. Pentru detectarea obiectelor, KITTI_rectangles sau PASCAL_VOC_rectangles sunt comune. Pentru clasificarea pixelilor (segmentare semantică), Classified_Tiles este adecvat. Pentru segmentarea instanțelor, RCNN_Masks este alegerea corectă. Consultați tabelul de mai sus și documentația modelului Deep Learning pe care îl veți folosi pentru a face alegerea corectă.
4. Pot folosi augmentarea de date în ArcGIS Pro?
Da, ArcGIS Pro suportă augmentarea de date prin intermediul parametrului rotation_angle. Prin specificarea unui unghi de rotație (de exemplu, 90, 180, 270 grade), instrumentul va genera versiuni rotite ale cipurilor de imagine existente. Aceasta crește diversitatea setului de date de antrenament fără a fi nevoie de colectare suplimentară de date, ajutând modelul să învețe să recunoască obiecte indiferent de orientarea lor și, prin urmare, să generalizeze mai bine.
5. Cum influențează 'min_polygon_overlap_ratio' datele de antrenament?
Parametrul min_polygon_overlap_ratio este util pentru a filtra entitățile etichetate. Dacă un poligon etichetat (de exemplu, o clădire) se suprapune cu un cip de imagine sub procentul specificat (de exemplu, 20% sau 0.2), atunci acea entitate nu va fi inclusă în metadatele acelui cip. Acest lucru poate îmbunătăți performanța modelului prin concentrarea antrenamentului pe obiecte care sunt predominant vizibile în cipurile de imagine și prin reducerea numărului de etichete parțiale, care ar putea confunda modelul.
Concluzie
Crearea datelor de antrenament este o etapă fundamentală și adesea subestimată în dezvoltarea soluțiilor de Deep Learning. ArcGIS Pro simplifică semnificativ acest proces prin instrumentul său puternic „Export Training Data For Deep Learning”. Prin înțelegerea și utilizarea corectă a parametrilor cheie, utilizatorii pot genera seturi de date de înaltă calitate, optimizate pentru diverse sarcini de inteligență artificială, de la detectarea obiectelor la segmentarea semantică. Această capacitate transformă ArcGIS Pro într-un instrument indispensabil pentru oricine dorește să valorifice puterea AI în analiza și interpretarea datelor spațiale, deschizând noi orizonturi pentru inovație și descoperire.
Dacă vrei să descoperi și alte articole similare cu Pregătirea Datelor pentru AI în ArcGIS Pro, poți vizita categoria Fitness.
