Saluran Paip Pemprosesan

Chloros 1.1.0 menggunakan saluran paip pemprosesan 4-benang yang beroperasi sebagai barisan pemasangan berperingkat. Setiap utas mengendalikan fasa aliran kerja pemprosesan yang berbeza, membenarkan berbilang imej diproses serentak pada peringkat yang berbeza.


Senibina Talian Paip


Images In → [Thread 1: Detection] → [Thread 2: Calibration] → [Thread 3: Processing] → [Thread 4: Export] → Files Out

Setiap imej mengalir melalui keempat-empat utas mengikut urutan. Dengan pemprosesan berbilang benang Chloros+, berbilang imej boleh berada dalam utas yang berbeza serentak — manakala Thread 3 memproses satu imej, Thread 1 boleh mengesan imej seterusnya, Thread 2 boleh menentukur yang lain, dan Thread 4 boleh menulis imej yang diproses sebelum ini ke cakera.


Butiran Benang

Benang 1: Pengesanan

Tujuan: Muatkan imej dan mengesan sasaran penentukuran.

  • Membaca fail imej dari cakera (RAW, JPG)

  • Mengekstrak metadata EXIF ​​(GPS, model kamera, cap masa, pendedahan)

  • Mengesan sasaran penentukuran ArUco dalam imej sasaran yang ditanda

  • Output: data imej + metadata + hasil pengesanan sasaran

Ini terutamanya I/O dan benang terikat CPU.

Benang 2: Penentukuran

Tujuan: Kira parameter penentukuran daripada sasaran yang dikesan.

  • Mengira pekali penentukuran pantulan daripada imej sasaran

  • Mengira parameter pembetulan vignet

  • Menentukan lengkung penentukuran setiap jalur

  • Output: parameter penentukuran untuk setiap imej

Ini ialah benang pengiraan terikat CPU.

Benang 3: Pemprosesan (GPU)

Tujuan: Gunakan pembetulan dan kira indeks tumbuh-tumbuhan.Ini ialah urutan yang paling intensif pengiraan.* Debayering: Menukar data corak RAW Bayer kepada imej berbilang saluran

  • Standard (Pantas, Kualiti Sederhana) — lalai

  • Sedar Tekstur (Lambat, Kualiti Tertinggi) — Chloros+ sahaja, menggunakan AI/ML denoising

  • Pembetulan vignet: Menggunakan pembetulan vignet kanta merentas imej

  • Penentukuran pantulan: Menggunakan pekali penentukuran untuk menukar kepada nilai pemantulan

  • Pengiraan indeks: Mengira indeks tumbuh-tumbuhan (NDVI, NDRE, GNDVI, dsb.)

  • Output: data imej yang diproses sedia untuk dieksport

Benang ini mendapat manfaat paling banyak daripada pecutan GPU. Sistem Dynamic Compute Adaptation mengoptimumkan gelagat urutan ini terutamanya.

Benang 4: Eksport

Tujuan: Tulis imej yang diproses ke cakera.

  • Menulis fail output dalam format yang dipilih (TIFF 16-bit, TIFF 32-bit %, PNG, JPG)

  • Benamkan metadata EXIF ​​dalam fail output (GPS, cap masa, parameter pemprosesan)

  • Mengatur output ke dalam subfolder model kamera

  • Output: fail akhir pada cakera

Ini terutamanya utas terikat I/O. Storan SSD meningkatkan prestasi Thread 4 dengan ketara.


Pemprosesan Berurutan lwn. Berpaip

Mod Percuma (Berurutan)

Dalam versi percuma Chloros, imej diproses satu demi satu, secara berurutan melalui keempat-empat peringkat:

Bar kemajuan GUI menunjukkan 2 peringkat: Pengesanan Sasaran dan Pemprosesan.

Mod Chloros+ (Bersambung paip)

Dengan lesen Chloros+, keempat-empat utas beroperasi secara serentak pada imej yang berbeza:

Bar kemajuan GUI menunjukkan 4 peringkat: Mengesan, Menganalisis, Menentukur, Mengeksport. Tuding pada bar kemajuan untuk melihat kemajuan setiap utas.

circle-check

Kemajuan Eksport Thread 4

Dalam Chloros 1.1.0, utas eksport (Thread 4) mempunyai penjejakan kemajuan khususnya sendiri. Anda boleh memantau kemajuan eksport secara berasingan:CLI:

SDK:

Pemprosesan selesai apabila Thread 4 mencapai 100%.


Hubungan dengan Penyesuaian Pengiraan Dinamik

Sistem Penyesuaian Pengiraan Dinamik terutamanya mempengaruhi Benang 3 (Pemprosesan):

  • Strategi GPU_PARALLEL: Thread 3 menjalankan berbilang imej melalui GPU secara serentak menggunakan saluran paip fused_gpu

  • Strategi GPU_SINGLE: Thread 3 memproses satu imej pada satu masa menggunakan saluran paip tiled_gpu yang cekap memori

  • Strategi CPU_PARALLEL: Thread 3 menggunakan pemprosesan berasaskan CPU dengan selari berbilang benang

Peruntukan memori GPU Thread 3 juga berubah secara dinamik apabila Thread 1 dan 2 selesai — lihat Peruntukan Memori GPU Dinamik.


Langkah Seterusnya

Last updated