โมเดล AI — SegFormer

โมเดล Deep Learning หลักที่ใช้ตรวจจับการตัดต่อภาพในระดับพิกเซล SegFormer เป็นสถาปัตยกรรม Transformer ที่ออกแบบมาสำหรับงาน Semantic Segmentation โดยเฉพาะ

หมวด แนวคิดและเทคนิคต้นฉบับ concepts/ai-model-segformer.md
SegFormertransformersemantic-segmentationMiTONNXdeep-learning

โมเดล AI — SegFormer

โมเดล Deep Learning หลักที่ใช้ตรวจจับการตัดต่อภาพในระดับพิกเซล SegFormer เป็นสถาปัตยกรรม Transformer ที่ออกแบบมาสำหรับงาน Semantic Segmentation โดยเฉพาะ


ทำไมถึงเลือก SegFormer?

งานหลักคือการหาว่า พิกเซลใด ถูกดัดแปลง — ซึ่งเป็นปัญหา Semantic Segmentation ไม่ใช่แค่ Classification ธรรมดา SegFormer ถูกเลือกเพราะ:

  • ออกแบบมาสำหรับงาน Semantic Segmentation (การระบุป้ายกำกับระดับพิกเซล) โดยเฉพาะ
  • ไม่ใช้ Positional Encoding แบบซับซ้อน ทำให้เร็วขึ้นและ generalize ได้ดีกว่า Vision Transformer รุ่นเก่า
  • จัดการทั้ง Global Context (โครงสร้างภาพโดยรวม) และ Local Details (รายละเอียดพิกเซลละเอียด) ผ่าน Multi-scale Features
  • เบากว่าโมเดล ViT-based ทั่วไป
  • แปลงเป็น ONNX ได้ง่ายหลัง training ใน PyTorch

ข้อจำกัด: ใช้ RAM/VRAM สูงกว่า CNN แบบดั้งเดิม ยอมรับได้ในระดับ Server Inference แต่เป็นแรงผลักดันให้วางแผน On-device Quantization ในอนาคต


สถาปัตยกรรม

รูปภาพ Input (RGB เช่น 512×512)
        |
  Preprocessing: Resize + Normalize
        |
  MiT Encoder (Mix Transformer Encoder)
  ├── ดึง Feature หลายระดับความละเอียด (Hierarchical)
  ├── Efficient Self-Attention (ไม่ใช้ Fixed Positional Encoding)
  └── ส่งออก Multi-scale Feature Maps (F1, F2, F3, F4)
        |
  All-MLP Decoder (SegFormer Decoder)
  ├── รวม Feature จาก Encoder หลายระดับ
  └── สร้าง Probability Map ระดับพิกเซล
        |
  Pixel Prediction

  ├── Class 0: พิกเซลดั้งเดิม
  └── Class 1: พิกเซลที่ถูกดัดแปลง
        |
  Post-processing:
  ├── Segmentation Mask (binary, ขนาดเท่า input)
  ├── Heatmap (ค่าความเชื่อมั่นต่อพิกเซล)
  └── Risk Score (รวมจาก mask coverage × confidence)

อัลกอริทึมและสมการคณิตศาสตร์ (Mathematical Formulation)

  1. Efficient Self-Attention: X ∈ R^H × W × C จะถูกแปลงให้แบนราบ (Flatten) เป็น Sequence N = H × W โดยลดมิติของ Key และ Value ด้วยอัตราส่วน R เพื่อลดภาระการคำนวณ:

    ภาษา text
    K' = Reshape((N/R), C · R)(K) · W_K
    
    ภาษา text
    V' = Reshape((N/R), C · R)(V) · W_V
    
    ภาษา text
    Attention(Q, K', V') = Softmax((Q (K')^T) / √(d_k)) V'
    
  2. Mix-FFN (Mix Feed-Forward Network): ใช้ 3x3 Convolution แทน Positional Encoding แบบตายตัว เพื่อพิจารณาตำแหน่งจากบริบทภาพ:

    ภาษา text
    x_out = MLP(GELU(Conv_3×3(MLP(x_in)))) + x_in
    

รูปแบบข้อมูล

ขั้นตอน รูปแบบ คำอธิบาย
Input Tensor [B, 3, H, W] เช่น [1, 3, 512, 512] สำหรับ 1 ภาพ
Encoder output Multi-scale feature maps การแทนค่าแบบลำดับชั้น
Decoder output Tensor [B, 2, H, W] ความน่าจะเป็นต่อพิกเซลทุก class
Segmentation Mask PNG ขาวดำ ขาว = ถูกดัดแปลง, ดำ = ดั้งเดิม
Heatmap Float array ค่าความเชื่อมั่นต่อพิกเซล (0.0–1.0)
Risk Score Float 0–100 คำนวณจาก mask coverage และ confidence

Versioning และการ Deploy

  • Version โมเดลใช้ Semantic Versioning เช่น segformer_v1.0.0
  • Train ใน PyTorch แล้ว export เป็น ONNX format สำหรับ Production Inference
  • ONNX Runtime เป็นเป้าหมายเพิ่มความเร็ว Inference ≥2 เท่าเทียบ Native PyTorch รุ่นเดียวกัน (วิธีวัด: GPU T4 เฉลี่ย 100 ภาพ; ตัวเลขจริงต้องบันทึกจาก benchmark ก่อนอ้างเป็นผล)
  • น้ำหนักโมเดลเก็บใน Model Registry (Version-controlled file store)
  • Admin สามารถ deploy โมเดลเวอร์ชันใหม่ผ่าน Admin Portal โดยไม่ต้อง Redeploy service
  • v1.0.5 (ล่าสุด, config v10): MiT-B2 fine-tune จาก v1.0.0 ครบ 200,000 iters (จบ 2026-09-12) best validation mIoU 91.31 @iter 197,500 — อันดับหนึ่งบน locked common test (mIoU 91.24, Forgery IoU 83.51) — export ONNX segformer_v1_0_5_dynamic.onnx แล้ว แต่ยังเป็น candidate (Production ยังเป็น v1.0.0; รายละเอียดการเทรนดู concepts/model-training)

ข้อจำกัดที่รู้จัก

  1. การ Re-compress ซ้ำหลายครั้ง — ความแม่นยำลดลงถ้าภาพถูก compress หลายรอบ (เช่น ส่งต่อผ่านแอปแชท) เพราะ artifact จาก compression บดบัง Semantic Segmentation signal
  2. ภาพ AI-Generated ทั้งหมด — SegFormer ตรวจจับ การตัดต่อ ระดับพิกเซล ภาพ synthetic ทั้งหมดไม่มี splice artifact แบบดั้งเดิม ต้องใช้ AI-Gen classifier แยกต่างหาก

แผนพัฒนาในอนาคต

  • Ensemble Model — เพิ่มโมเดลตรวจจับภาพ AI-Generated ควบคู่กับ SegFormer
  • Model Quantization (INT8/FP16) — เพื่อ Inference บนอุปกรณ์มือถือโดยตรง ขจัดการรอ Network Round-trip

หน้าที่เกี่ยวข้อง