Feldolgozási folyamat
Az Chloros 1.1.0 verzió egy négy szálas feldolgozási folyamatot használ, amely szakaszos futószalagként működik. Minden szál a feldolgozási munkafolyamat egy-egy különálló szakaszát kezeli, így több kép is párhuzamosan feldolgozható a különböző szakaszokban.
A folyamat felépítése
Images In → [Thread 1: Detection] → [Thread 2: Calibration] → [Thread 3: Processing] → [Thread 4: Export] → Files OutMinden kép sorrendben halad át mind a négy szálon. Az Chloros+ többszálas feldolgozásával több kép is lehet egyszerre különböző szálakon – miközben a 3. szál egy képet dolgoz fel, az 1. szál a következőt észlelheti, a 2. szál egy másikat kalibrálhat, a 4. szál pedig egy korábban feldolgozott képet írhat a lemezre.
Szálak részletei
1. szál: Felismerés
Cél: Képek betöltése és kalibrációs célpontok felismerése.
Képfájlok olvasása a lemezről (RAW, JPG)
Kivonja az EXIF metaadatokat (GPS, fényképezőgép modell, időbélyegek, expozíció)
Felismeri az ArUco kalibrációs célpontokat a megjelölt célképeken
Kimenet: képadatok + metaadatok + célpont-felismerési eredmények
Ez elsősorban egy I/O- és CPU-igényes szál.
2. szál: Kalibrálás
Cél: A kalibrációs paraméterek kiszámítása a felismert célpontokból.
Kiszámítja a reflektancia-kalibrációs együtthatókat a célképekből
Kiszámítja a vignettálás-korrekciós paramétereket
Meghatározza a sávonkénti kalibrációs görbéket
Kimenet: kalibrációs paraméterek minden képhez
Ez egy CPU-igényes számítási szál.
3. szál: Feldolgozás (GPU)
Cél: Korrekciók alkalmazása és növényzetindexek kiszámítása.Ez a leginkább számításigényes szál.* Debayering: A RAW Bayer-minta adatokat többcsatornás képekké alakítja
Standard (Gyors, Közepes minőség) — alapértelmezett
Texture Aware (Lassú, Legmagasabb minőség) — csak Chloros+, AI/ML zajszűrést használ
Vignette-korrekció: Lencse-vignette-korrekciót alkalmaz a képen
Reflektancia-kalibrálás: Kalibrációs együtthatókat alkalmaz a reflektanciaértékekre történő konvertáláshoz
Indexszámítás: Növényzetindexeket számol (NDVI, NDRE, GNDVI stb.)
Kimenet: exportálásra kész feldolgozott képadatok
Ez a szál profitál a legjobban a GPU-gyorsításból. A Dynamic Compute Adaptation rendszer elsősorban ennek a szálnak a viselkedését optimalizálja.
4. szál: Export
Cél: A feldolgozott képek lemezre írása.
Kimeneti fájlokat ír a kiválasztott formátumban (TIFF 16 bites, TIFF 32 bites %, PNG, JPG)
EXIF metaadatokat ágyaz a kimeneti fájlokba (GPS, időbélyegek, feldolgozási paraméterek)
A kimenetet kameramodell szerinti almappákba rendezi
Kimenet: végleges fájlok a lemezen
Ez elsősorban egy I/O-korlátozott szál. Az SSD-tároló jelentősen javítja a 4. szál teljesítményét.
Szekvenciális vs. csővezetékes feldolgozás
Ingyenes mód (szekvenciális)
Az Chloros ingyenes verziójában a képeket egyszerre egyenként, szekvenciálisan dolgozza fel a program mind a négy szakaszban:
A GUI haladási sávja 2 szakaszt mutat: Célfelismerés és Feldolgozás.
Chloros+ mód (csővezetékes)
Chloros+ licenccel mind a négy szál egyidejűleg működik különböző képeken:
A GUI haladási sávja 4 szakaszt jelenít meg: Észlelés, Elemzés, Kalibrálás, Exportálás. Vigye az egérmutatót a haladási sáv fölé a szálak szerinti haladás megtekintéséhez.
A Chloros+ segítségével végzett pipelined feldolgozás a hardver és az adatkészlet méretétől függően 3-5-ször gyorsabb lehet, mint a szekvenciális feldolgozás. A sebességnövekedés a gyors GPU-kkal és SSD-kkel rendelkező rendszereken a legnagyobb.
4. szál exportálási előrehaladása
Az Chloros 1.1.0 verzióban az exportáló szál (4. szál) saját, dedikált előrehaladási nyomon követéssel rendelkezik. Az exportálás előrehaladását külön is figyelemmel kísérheti:CLI:
SDK:
A feldolgozás akkor fejeződik be, amikor a 4. szál eléri a 100%-ot.
Kapcsolat a dinamikus számítási adaptációval
A dinamikus számítási adaptáció rendszer elsősorban a **
szálat (feldolgozás)** érinti:
GPU_PARALLELstratégia: A 3. szál azfused_gpucsővezetéket használva egyszerre több képet futtat a GPU-nGPU_SINGLEstratégia: A 3. szál a memóriatakarékostiled_gpucsővezetéket használva egyszerre egy képet dolgoz felCPU_PARALLELstratégia: A 3. szál többszálas párhuzamossággal CPU-alapú feldolgozást használ
A 3. szál GPU-memória-allokációja is dinamikusan változik, ahogy az 1. és 2. szál befejezi a feldolgozást — lásd Dinamikus GPU-memória-allokáció.
Következő lépések
Dinamikus számítási adaptáció — Hogyan választja ki az Chloros a hardveréhez legmegfelelőbb stratégiát
NVIDIA Jetson útmutató — Platformspecifikus pipeline viselkedés a Jetsonon
A feldolgozás figyelése — A folyamat előrehaladásának figyelése a grafikus felhasználói felületen
Last updated