ขั้นตอนการปฏิบัติ

#ท่อแปรรูป

Chloros 1.1.0 ใช้ไปป์ไลน์การประมวลผล 4 เธรดที่ทำงานเป็นสายการประกอบแบบมีฉาก แต่ละเธรดจะจัดการขั้นตอนการประมวลผลที่แตกต่างกัน ทำให้สามารถประมวลผลภาพหลายภาพพร้อมกันในขั้นตอนที่ต่างกันได้


สถาปัตยกรรมไปป์ไลน์


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

แต่ละภาพจะไหลผ่านทั้งสี่หัวข้อตามลำดับ ด้วยการประมวลผลแบบมัลติเธรด Chloros+ ภาพหลายภาพสามารถอยู่ในเธรดที่แตกต่างกันได้พร้อมกัน ในขณะที่ Thread 3 ประมวลผลภาพหนึ่งภาพ Thread 1 สามารถตรวจจับภาพถัดไปได้ Thread 2 สามารถปรับเทียบอีกภาพได้ และ Thread 4 สามารถเขียนภาพที่ประมวลผลก่อนหน้านี้ลงดิสก์ได้


รายละเอียดกระทู้

หัวข้อที่ 1: การตรวจจับ

วัตถุประสงค์: โหลดภาพและตรวจจับเป้าหมายการปรับเทียบ

  • อ่านไฟล์รูปภาพจากดิสก์ (RAW, JPG)

  • แยกข้อมูลเมตา EXIF ​​(GPS, รุ่นกล้อง, การประทับเวลา, การเปิดรับแสง)

  • ตรวจจับเป้าหมายการปรับเทียบ ArUco ในภาพเป้าหมายที่ทำเครื่องหมายไว้

  • เอาต์พุต: ข้อมูลรูปภาพ + ข้อมูลเมตา + ผลการตรวจจับเป้าหมาย

นี่เป็นเธรด I/O และ CPU-bound เป็นหลัก

หัวข้อที่ 2: การสอบเทียบ

วัตถุประสงค์: คำนวณพารามิเตอร์การสอบเทียบจากเป้าหมายที่ตรวจพบ

  • คำนวณค่าสัมประสิทธิ์การสอบเทียบการสะท้อนแสงจากภาพเป้าหมาย

  • คำนวณพารามิเตอร์การแก้ไขบทความสั้น

  • กำหนดเส้นโค้งการสอบเทียบต่อแบนด์

  • เอาท์พุต: พารามิเตอร์การสอบเทียบสำหรับแต่ละภาพ

นี่คือเธรดการคำนวณที่เชื่อมโยงกับ CPU

หัวข้อที่ 3: การประมวลผล (GPU)

วัตถุประสงค์: ใช้การแก้ไขและคำนวณดัชนีพืชพรรณนี่เป็นเธรดที่เน้นการประมวลผลมากที่สุด* การดีเบเยอร์: แปลงข้อมูลรูปแบบ RAW Bayer เป็นภาพแบบหลายช่องสัญญาณ

  • มาตรฐาน (เร็ว คุณภาพปานกลาง) — ค่าเริ่มต้น

  • Texture Aware (ช้า คุณภาพสูงสุด) — Chloros+ เท่านั้น ใช้ AI/ML denoising

  • การแก้ไขขอบมืด: ใช้การแก้ไขขอบมืดของเลนส์ทั่วทั้งภาพ

  • การสอบเทียบการสะท้อนแสง: ใช้ค่าสัมประสิทธิ์การสอบเทียบเพื่อแปลงเป็นค่าการสะท้อน

  • การคำนวณดัชนี: คำนวณดัชนีพืชพรรณ (NDVI, NDRE, GNDVI ฯลฯ)

  • ผลลัพธ์: ข้อมูลภาพที่ประมวลผลแล้วพร้อมสำหรับการส่งออก

เธรดนี้ได้รับประโยชน์สูงสุดจากการเร่งความเร็วของ GPU ระบบ Dynamic Compute Adaptation จะปรับการทำงานของเธรดนี้ให้เหมาะสมเป็นหลัก

หัวข้อที่ 4: ส่งออก

วัตถุประสงค์: เขียนภาพที่ประมวลผลแล้วลงดิสก์

  • เขียนไฟล์เอาต์พุตในรูปแบบที่เลือก (TIFF 16 บิต, TIFF 32 บิต %, PNG, JPG)

  • ฝังข้อมูลเมตา EXIF ​​ในไฟล์เอาต์พุต (GPS, การประทับเวลา, พารามิเตอร์การประมวลผล)

  • จัดระเบียบเอาต์พุตลงในโฟลเดอร์ย่อยของรุ่นกล้อง

  • เอาท์พุต: ไฟล์สุดท้ายบนดิสก์

นี่คือเธรด I/O-bound เป็นหลัก ที่เก็บข้อมูล SSD ช่วยปรับปรุงประสิทธิภาพของ Thread 4 อย่างมาก


ตามลำดับกับการประมวลผลไปป์ไลน์

โหมดฟรี (ต่อเนื่อง)

ใน Chloros เวอร์ชันฟรี รูปภาพจะได้รับการประมวลผล ทีละภาพ ตามลำดับผ่านทั้งสี่ขั้นตอน:

แถบความคืบหน้าของ GUI แสดง 2 ขั้นตอน: การตรวจจับเป้าหมายและการประมวลผล

โหมด Chloros+ (ไปป์ไลน์)

ด้วยสิทธิ์การใช้งาน Chloros+ ทั้งสี่เธรดจะทำงาน พร้อมกัน บนอิมเมจที่แตกต่างกัน:

แถบความคืบหน้าของ GUI แสดง 4 ขั้นตอน: การตรวจจับ การวิเคราะห์ การปรับเทียบ และการส่งออก วางเมาส์เหนือแถบความคืบหน้าเพื่อดูความคืบหน้าต่อเธรด

circle-check

ความคืบหน้าการส่งออกกระทู้ที่ 4

ใน Chloros 1.1.0 เธรดการส่งออก (เธรด 4) มีการติดตามความคืบหน้าเฉพาะของตัวเอง คุณสามารถติดตามความคืบหน้าในการส่งออกแยกกันได้:CLI:

SDK:

การประมวลผลจะเสร็จสมบูรณ์เมื่อเธรด 4 ถึง 100%


ความสัมพันธ์กับการปรับคอมพิวเตอร์แบบไดนามิก

ระบบ Dynamic Compute Adaptation มีผลกับ เธรด 3 (กำลังประมวลผล) เป็นหลัก:

  • GPU_PARALLEL กลยุทธ์: เธรด 3 รันหลายอิมเมจผ่าน GPU พร้อมกันโดยใช้ไปป์ไลน์ fused_gpu

  • GPU_SINGLE กลยุทธ์: เธรด 3 ประมวลผลภาพทีละภาพโดยใช้ไปป์ไลน์ tiled_gpu ที่มีประสิทธิภาพหน่วยความจำ

  • CPU_PARALLEL กลยุทธ์: Thread 3 ใช้การประมวลผลบน CPU พร้อมด้วยการทำงานแบบขนานแบบหลายเธรด

การจัดสรรหน่วยความจำ GPU ของเธรด 3 ยังเปลี่ยนแปลงแบบไดนามิกเมื่อเธรด 1 และ 2 เสร็จสมบูรณ์ — ดู การจัดสรรหน่วยความจำ GPU แบบไดนามิก


ขั้นตอนต่อไป

Last updated