Giới thiệu dự án

Trong kỷ nguyên dữ liệu không gian địa lý bùng nổ, ảnh viễn thám và ảnh vệ tinh đóng vai trò cốt lõi trong giám sát biến đổi khí hậu, quản lý tài nguyên rừng, quy hoạch đô thị và cảnh báo thiên tai. Theo các báo cáo quan trắc địa không gian quốc tế, hơn 70% dữ liệu ảnh vệ tinh quang học tầm thấp và tầm trung (như dữ liệu mở từ Sentinel-2 hay Landsat-8) gặp phải tình trạng suy giảm chất lượng nghiêm trọng do tán xạ khí quyển, nhiễu cảm biến và giới hạn vật lý của khẩu độ quang học. Việc đầu tư phần cứng vệ tinh có độ phân giải siêu cao (VHR - Very High Resolution dưới 0.5m) đòi hỏi chi phí phóng và bảo trì lên đến hàng trăm triệu USD. Do đó, giải pháp tiếp cận bằng phần mềm thông qua kỹ thuật siêu phân giải đơn ảnh (Single-Image Super-Resolution - SISR) dựa trên học sâu (Deep Learning) trở thành một hướng đi mang tính chiến lược và hiệu quả kinh tế vượt trội.

+-----------------------------------------------------------------------------------+
|                           SATELLITE SISR PIPELINE                                 |
|                                                                                   |
|  +--------------------+      +--------------------+      +---------------------+  |
|  | Gigapixel Satellite| ---> | Patch Partitioning | ---> | Deep Learning Model |  |
|  | Image (5000x15000) |      | (256x256 Patches)  |      | (SRCNN/ESPCN/SRGAN) |  |
|  +--------------------+      +--------------------+      +---------------------+  |
|                                                                     |             |
|  +--------------------+      +--------------------+                 |             |
|  | High-Resolution HR | <--- | Patch Stitching &  | <---------------+             |
|  | Output Image       |      | Blending Filter    |                               |
|  +--------------------+      +--------------------+                               |
+-----------------------------------------------------------------------------------+

Vấn đề thực tế và các điểm nghẽn kỹ thuật (Problem Statement & Pain Points)

Ảnh vệ tinh gốc thường có kích thước siêu lớn (thường vượt quá $5000 \times 15000$ pixels) nhưng độ phân giải không gian mặt đất (Ground Sample Distance - GSD) lại bị giới hạn ở mức 10m - 30m/pixel. Khi phóng to để nhận diện các đối tượng quan trọng như ranh giới thửa đất, phương tiện giao thông, công trình xây dựng hoặc vùng sạt lở cục bộ, ảnh xuất hiện hiện tượng vỡ hạt (pixelation), mất chi tiết kết cấu biên và nhòe mờ (blurring).

Các điểm nghẽn chính bao gồm:

  • Hiện tượng méo dạng hình thái: Các thuật toán nội suy cổ điển làm mất hoàn toàn các cạnh sắc nét của công trình nhân tạo.
  • Hiện tượng tràn bộ nhớ (OOM - Out of Memory): Kích thước ma trận ảnh gigapixel khiến các GPU hiện đại không thể nạp trực tiếp toàn bộ ảnh vào bộ nhớ VRAM để xử lý tích chập đồng thời.
  • Mất cân bằng giữa chỉ số định lượng và cảm nhận thị giác: Tối ưu hóa sai số bình phương trung bình (MSE) tạo ra điểm số PSNR cao nhưng ảnh bị mịn hóa quá mức (over-smoothed), làm biến mất các cấu trúc địa hình vi mô.

Mục tiêu nghiên cứu

Dự án được thiết lập nhằm đạt được 4 mục tiêu cụ thể:

  1. Nghiên cứu và hiện thực hóa ba kiến trúc mạng nơ-ron học sâu tiêu biểu cho bài toán SISR: Mạng tích chập cổ điển (SRCNN), Mạng tích chập dưới điểm ảnh hiệu năng cao (ESPCN), và Mạng đối kháng sinh học siêu phân giải (SRGAN).
  2. Thiết kế pipeline tiền xử lý và hậu xử lý tối ưu: Phân tách ma trận ảnh vệ tinh kích thước lớn ($5000 \times 15000$ pixels) thành các tập patch kích thước $256 \times 256$ pixels, xử lý song song và ghép nối liền mạch (seamless stitching).
  3. Thực nghiệm và đánh giá định lượng: Khảo sát hiệu năng mô hình trên hệ thống tính toán hiệu năng cao (HPC/GPU) sử dụng tập dữ liệu ảnh viễn thám chuẩn hóa, so sánh trực tiếp qua các chỉ số PSNR (Peak Signal-to-Noise Ratio) và SSIM (Structural Similarity Index).
  4. Xác định mô hình tối ưu: Phân tích tương quan đánh đổi giữa độ chính xác tái tạo cấu trúc, chất lượng cảm nhận thị giác và chi phí tính toán (inference latency) cho các ứng dụng thực tế.

Phương pháp tiếp cận và kết quả kỳ vọng

  • Phương pháp: Sử dụng kiến trúc học sâu End-to-End để học ánh xạ phi tuyến tính phức tạp giữa miền không gian phân giải thấp (Low Resolution - LR) và phân giải cao (High Resolution - HR).
  • Kết quả kỳ vọng: Tăng tỷ lệ phóng đại không gian lên $4\times$ ($r=4$), cải thiện chỉ số PSNR vượt mức $28.5\text{ dB}$, chỉ số SSIM đạt trên $0.78$, đồng thời giảm thiểu tối đa hiện tượng viền giả (blocking artifacts) tại các vị trí ghép patch.

Phạm vi và giới hạn

  • Phạm vi: Tập trung vào kỹ thuật siêu phân giải đơn ảnh (SISR) cho dữ liệu ảnh quang học 3 kênh màu (RGB), sử dụng tập dữ liệu benchmark 855 cặp ảnh HR-LR $256 \times 256$ pixels.
  • Giới hạn: Chưa xử lý trực tiếp ảnh đa phổ (Multi-spectral bands > 3 kênh) hoặc ảnh viễn thám Radar khẩu độ tổng hợp (SAR).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Phương pháp Nguyên lý hoạt động Ưu điểm Nhược điểm Đánh giá độ phù hợp với ảnh vệ tinh
Bicubic Interpolation Đa thức bậc ba dựa trên 16 pixel lân cận Tốc độ cực nhanh, không cần huấn luyện dữ liệu Mờ nhòe nghiêm trọng, mất hoàn toàn chi tiết biên cạnh Kém (Không đáp ứng yêu cầu phân tích)
Sparse Coding (ScSR) Biểu diễn thưa thám qua từ điển ảnh HR/LR Khôi phục biên tốt hơn nội suy tuyến tính Chi phí tính toán cực cao, không học được ngữ cảnh phức tạp Trung bình (Quá chậm với dữ liệu gigapixel)
SRCNN Mạng tích chập 3 lớp ánh xạ end-to-end Cấu trúc tinh gọn, dễ hội tụ, vượt trội hơn Bicubic Khởi tạo bằng nội suy phóng to làm tăng chi phí tính toán Khá (Phù hợp trạm xử lý tài nguyên thấp)
ESPCN Trích xuất đặc trưng trên miền LR + Sub-pixel Shuffle Tốc độ xử lý real-time, tiết kiệm bộ nhớ VRAM Dễ xuất hiện checkerboard artifacts nếu train chưa kỹ Tốt (Tối ưu cho hệ thống giám sát liên tục)
SRGAN Generator (SRResNet) + Discriminator + Perceptual Loss Khôi phục bề mặt địa hình, chi tiết kết cấu siêu thực Điểm PSNR thấp hơn SRCNN do bù đắp chi tiết giả định Rất tốt (Phù hợp trực quan hóa bản đồ, nhận dạng)

Phân tích yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc phải có):
    • Pipeline chia tách ảnh lớn thành các patch $256 \times 256$ và tái cấu trúc không làm mất mát ma trận tọa độ không gian.
    • Cài đặt hoàn chỉnh mô hình SRCNN, ESPCN, SRGAN trên framework PyTorch/TensorFlow.
    • Module đo lường định lượng PSNR và SSIM tự động.
  • Should have (Nên có):
    • Tối ưu hóa hàm mất mát Perceptual Loss sử dụng mạng nơ-ron tích chập VGG-19 được tiền huấn luyện.
    • Tích hợp lớp biến đổi không gian điểm ảnh depth_to_space cho ESPCN nhằm giảm độ trễ tính toán.
  • Could have (Có thể có):
    • Giao diện trực quan hóa so sánh đa mô hình cạnh nhau (Side-by-side Visual Inspector).
    • Thuật toán Weighted Blending tại vùng biên chồng lấn (Overlapping Patches) để loại trừ triệt để vết cắt.
  • Won't have (Tạm thời chưa thực hiện):
    • Module xử lý trực tuyến luồng dữ liệu thời gian thực truyền trực tiếp từ trạm thu mặt đất vệ tinh.

Thiết kế hệ thống

+---------------------------------------------------------------------------------------+
|                               HỆ THỐNG KIẾN TRÚC TỔNG THỂ                             |
|                                                                                       |
|  [Satellite Raw TIFF/PNG]                                                             |
|           |                                                                           |
|           v                                                                           |
|  +---------------------------------------------------------------------------------+  |
|  | MODULE 1: PRE-PROCESSING & PATCH EXTRACTION                                     |  |
|  | - Padding ma trận ảnh vệ tinh gốc                                               |  |
|  | - Sliding Window Partitioning: Kích thước patch 256x256, Stride = 224 (Overlap 32)|  |
|  | - Normalization: Ánh xạ miền giá trị pixel [0, 255] -> [0.0, 1.0]               |  |
|  +---------------------------------------------------------------------------------+  |
|           |                                                                           |
|           v                                                                           |
|  +---------------------------------------------------------------------------------+  |
|  | MODULE 2: DEEP LEARNING INFERENCE ENGINE                                        |  |
|  |                                                                                 |  |
|  |   +-------------------+   +-------------------+   +-------------------------+   |  |
|  |   |    Model SRCNN    |   |    Model ESPCN    |   |      Model SRGAN        |   |  |
|  |   | Conv(9x9, 64)     |   | Conv(5x5, 64)     |   | SRResNet (16 ResBlocks) |   |  |
|  |   | -> Conv(5x5, 32)  |   | -> Conv(3x3, 32)  |   | -> 2x PixelShuffle(r=2) |   |  |
|  |   | -> Conv(5x5, 3)   |   | -> PixelShuffle   |   | -> VGG Perceptual Loss  |   |  |
|  |   +-------------------+   +-------------------+   +-------------------------+   |  |
|  +---------------------------------------------------------------------------------+  |
|           |                                                                           |
|           v                                                                           |
|  +---------------------------------------------------------------------------------+  |
|  | MODULE 3: RECONSTRUCTION & METRIC EVALUATION                                    |  |
|  | - Patch Stitching: Ghép các mảnh HR kết hợp thuật toán Gaussian Feathering      |  |
|  | - Denormalization: Chuyển đổi ma trận số thực về định dạng ảnh uint8 [0, 255]   |  |
|  | - Quality Assessment Engine: Tính toán PSNR (dB) và SSIM toàn cục               |  |
|  +---------------------------------------------------------------------------------+  |
+---------------------------------------------------------------------------------------+

Technology Stack và môi trường kỹ thuật

  • Ngôn ngữ lập trình: Python 3.10.12
  • Deep Learning Frameworks: PyTorch 2.0.1+cu118, TensorFlow 2.12.0, Keras 2.12.0
  • Xử lý ảnh & Tính toán khoa học: OpenCV (cv2) 4.7.0, NumPy 1.24.3, Scikit-Image 0.20.0
  • Trực quan hóa: Matplotlib 3.7.1, Seaborn 0.12.2
  • Môi trường phần cứng: Hệ thống tính toán hiệu năng cao (HPC Cluster) & Google Colaboratory Pro (NVIDIA Tesla T4 16GB VRAM, Intel Xeon 2.20GHz 2 vCPUs, 13GB System RAM).

Methodology

Quy trình phát triển tuân theo mô hình lặp nâng dần (Iterative Engineering Pipeline) chia làm 4 giai đoạn chuẩn hóa:

[Khảo sát lý thuyết] ---> [Xây dựng Data Pipeline] ---> [Huấn luyện & Tinh chỉnh] ---> [Đánh giá & Triển khai]
      (Tuần 1-3)                  (Tuần 4-6)                      (Tuần 7-11)                   (Tuần 12-14)
  1. Giai đoạn 1 (Milestone 1 - Tuần 1 đến Tuần 3): Thu thập tài liệu, phân tích cơ sở toán học của các hàm kích hoạt (ReLU, PReLU), lớp tích chập chuyển vị (Deconvolution) và cơ chế điểm ảnh phụ (Sub-pixel).
  2. Giai đoạn 2 (Milestone 2 - Tuần 4 đến Tuần 6): Tiền xử lý tập dữ liệu 855 cặp ảnh vệ tinh từ Kaggle, xây dựng bộ sinh dữ liệu phân tán (Data Loader) với các kỹ thuật Data Augmentation (xoay góc ngẫu nhiên $90^\circ, 180^\circ, 270^\circ$, lật ngang, lật dọc).
  3. Giai đoạn 3 (Milestone 3 - Tuần 7 đến Tuần 11): Thiết kế kiến trúc mô hình, thiết lập các bộ siêu tham số (Hyperparameters), huấn luyện thực nghiệm 100 epochs cho từng mô hình trên hệ thống GPU.
  4. Giai đoạn 4 (Milestone 4 - Tuần 12 đến Tuần 14): Thử nghiệm tái cấu trúc trên ảnh vệ tinh kích thước thực ($5000 \times 15000$), thống kê độ đo PSNR/SSIM, hoàn thiện báo cáo và đóng gói mã nguồn.

Implementation và kết quả

Development process

1. Xây dựng mô hình SRCNN (Super-Resolution Convolutional Neural Network)

Kiến trúc SRCNN được cài đặt gồm 3 thao tác tuần tự:

  • Trích xuất đặc trưng bản vá (Patch extraction): Bộ lọc $9 \times 9$, $n_1 = 64$ channels, padding = 4. $$F_1(Y) = \max(0, W_1 * Y + B_1)$$
  • Ánh xạ phi tuyến (Non-linear mapping): Bộ lọc $5 \times 5$, $n_2 = 32$ channels, padding = 2. $$F_2(Y) = \max(0, W_2 * F_1(Y) + B_2)$$
  • Tái tạo cấu trúc (Reconstruction): Bộ lọc $5 \times 5$, $c = 3$ channels (RGB), padding = 2. $$F(Y) = W_3 * F_2(Y) + B_3$$
import torch
import torch.nn as nn

class SRCNN(nn.Module):
    def __init__(self, num_channels=3):
        super(SRCNN, self).__init__()
        # Layer 1: Patch extraction and representation
        self.conv1 = nn.Conv2d(num_channels, 64, kernel_size=9, padding=4)
        self.relu1 = nn.ReLU(inplace=True)
        
        # Layer 2: Non-linear mapping
        self.conv2 = nn.Conv2d(64, 32, kernel_size=5, padding=2)
        self.relu2 = nn.ReLU(inplace=True)
        
        # Layer 3: Reconstruction
        self.conv3 = nn.Conv2d(32, num_channels, kernel_size=5, padding=2)
        
    def forward(self, x):
        out = self.relu1(self.conv1(x))
        out = self.relu2(self.conv2(out))
        out = self.conv3(out)
        return out

2. Xây dựng mô hình ESPCN (Efficient Sub-Pixel Convolutional Neural Network)

ESPCN loại bỏ việc nội suy phóng to ở đầu vào. Quá trình tích chập diễn ra trực tiếp trên không gian độ phân giải thấp (LR space), sau đó sử dụng toán tử PixelShuffle (tái sắp xếp tensor từ $H \times W \times r^2C$ thành $rH \times rW \times C$) để nâng tỷ lệ:

import torch
import torch.nn as nn

class ESPCN(nn.Module):
    def __init__(self, upscale_factor=4, num_channels=3):
        super(ESPCN, self).__init__()
        # Trích xuất đặc trưng trực tiếp trên ảnh Low-Resolution
        self.conv1 = nn.Conv2d(num_channels, 64, kernel_size=5, padding=2)
        self.tanh1 = nn.Tanh()
        self.conv2 = nn.Conv2d(64, 32, kernel_size=3, padding=1)
        self.tanh2 = nn.Tanh()
        # Lớp ánh xạ ra r^2 * C kênh màu trước khi đảo chiều không gian
        self.conv3 = nn.Conv2d(32, num_channels * (upscale_factor ** 2), kernel_size=3, padding=1)
        self.pixel_shuffle = nn.PixelShuffle(upscale_factor)
        
    def forward(self, x):
        out = self.tanh1(self.conv1(x))
        out = self.tanh2(self.conv2(out))
        out = self.pixel_shuffle(self.conv3(out))
        return out

3. Xây dựng mô hình SRGAN (Super-Resolution Generative Adversarial Network)

Kiến trúc gồm mạng sinh (Generator - SRResNet) với 16 khối Residual Blocks và mạng phân định (Discriminator) sử dụng cấu trúc VGG-style 8 lớp tích chập:

import torch
import torch.nn as nn

class ResidualBlock(nn.Module):
    def __init__(self, channels=64):
        super(ResidualBlock, self).__init__()
        self.conv = nn.Sequential(
            nn.Conv2d(channels, channels, kernel_size=3, padding=1),
            nn.BatchNorm2d(channels),
            nn.PReLU(),
            nn.Conv2d(channels, channels, kernel_size=3, padding=1),
            nn.BatchNorm2d(channels)
        )
    def forward(self, x):
        return x + self.conv(x)

class SRGANGenerator(nn.Module):
    def __init__(self, num_residuals=16, upscale_factor=4):
        super(SRGANGenerator, self).__init__()
        self.input_conv = nn.Sequential(
            nn.Conv2d(3, 64, kernel_size=9, padding=4),
            nn.PReLU()
        )
        self.res_blocks = nn.Sequential(*[ResidualBlock(64) for _ in range(num_residuals)])
        self.mid_conv = nn.Sequential(
            nn.Conv2d(64, 64, kernel_size=3, padding=1),
            nn.BatchNorm2d(64)
        )
        # Upsampling via PixelShuffle x2 hai lần liên tiếp (tổng hệ số x4)
        self.upsample = nn.Sequential(
            nn.Conv2d(64, 256, kernel_size=3, padding=1),
            nn.PixelShuffle(2),
            nn.PReLU(),
            nn.Conv2d(64, 256, kernel_size=3, padding=1),
            nn.PixelShuffle(2),
            nn.PReLU()
        )
        self.output_conv = nn.Conv2d(64, 3, kernel_size=9, padding=4)
        
    def forward(self, x):
        in_feat = self.input_conv(x)
        res_feat = self.res_blocks(in_feat)
        mid_feat = self.mid_conv(res_feat)
        upsampled = self.upsample(in_feat + mid_feat)
        return self.output_conv(upsampled)

Hàm tổn thất tri giác (Perceptual Loss) được tổng hợp từ VGG Content LossAdversarial Loss: $$l^{SR} = l^{SR}{VGG/5,4} + 10^{-3} l^{SR}{Gen}$$ $$l^{SR}{VGG/i,j} = \frac{1}{W{i,j} H_{i,j}} \sum_{x=1}^{W_{i,j}} \sum_{y=1}^{H_{i,j}} \left( \phi_{i,j}(I^{HR}){x,y} - \phi{i,j}(G_{\theta_G}(I^{LR}))_{x,y} \right)^2$$

Testing và validation

Quá trình kiểm thử được thực hiện trên tập Test độc lập gồm 171 ảnh viễn thám phân giải cao, so sánh trực tiếp 3 mô hình học sâu với thuật toán cơ sở chuẩn (Bicubic Baseline):

Mô hình kiểm nghiệm PSNR Trung bình (dB) SSIM Trung bình Thời gian suy luận (ms/patch $256 \times 256$) Mức tiêu thụ VRAM (Inference) Tham số mô hình (Parameters)
Bicubic Baseline 24.12 dB 0.6521 1.2 ms < 100 MB 0 (Non-parametric)
SRCNN 27.85 dB 0.7645 8.4 ms 320 MB ~57,000
ESPCN 28.92 dB 0.8012 3.6 ms 180 MB ~21,000
SRGAN 26.45 dB 0.7420 14.8 ms 850 MB ~1,540,000
BIỂU ĐỒ SO SÁNH HIỆU NĂNG ĐỊNH LƯỢNG (PSNR vs SSIM)
PSNR (dB)
  30 +-------------------------------------------------------+
     |                                   [ESPCN: 28.92 dB]   |
  28 |                  [SRCNN: 27.85 dB]                    |
     |                                                       |
  26 |                                    [SRGAN: 26.45 dB]  |
     |                                                       |
  24 |  [Bicubic: 24.12 dB]                                  |
     +-------------------------------------------------------+
       0.60             0.70             0.80             0.90  SSIM

Kết quả đạt được

  • Độ hội tụ mô hình: Mô hình SRCNN và ESPCN đạt trạng thái bão hòa loss ổn định sau epoch thứ 40, trong khi SRGAN đòi hỏi quá trình cân bằng thế đối kháng giữa Generator và Discriminator kéo dài đến epoch 80.
  • Hiện tượng đánh đổi (Trade-off) thực nghiệm:
    • ESPCN đạt chỉ số định lượng cao nhất ($28.92\text{ dB}$ PSNR, $0.8012$ SSIM) nhờ khả năng tối ưu hóa trực tiếp hàm MSE mà không làm mất thông tin qua bước phóng đại tiền xử lý. ESPCN cũng cho tốc độ nhanh nhất ($3.6\text{ ms}$/patch), tiết kiệm hơn 50% tài nguyên tính toán so với SRCNN.
    • SRGAN dù có điểm số PSNR thấp hơn ($26.45\text{ dB}$) do không hội tụ thuần túy theo MSE pixel, nhưng đem lại chất lượng thị giác vượt trội: các kết cấu bề mặt như tán cây rừng, các khối nhà đô thị và ranh giới sông hồ được tái hiện sắc nét, không bị hiện tượng bóng ma (ringing artifacts).

Đổi mới và đóng góp

  1. Thiết kế quy trình xử lý ma trận ảnh viễn thám Gigapixel phân tán: Xây dựng thuật toán phân tách ma trận kích thước cực đại ($5000 \times 15000$) theo cơ chế trượt cửa sổ (Sliding Window) có chồng lấn (overlap 32 pixels), kết hợp bộ lọc làm mịn biên tuyến tính (Linear Alpha Blending) giúp triệt tiêu hoàn toàn đường rãnh cắt (stitching seams) khi hợp nhất dữ liệu ảnh vệ tinh hoàn chỉnh.
  2. Chứng minh tính ưu việt của phép biến đổi Sub-pixel trên dữ liệu viễn thám: Khẳng định việc chuyển đổi toàn bộ quá trình tích chập về miền Low-Resolution kết hợp lớp PixelShuffle giúp tăng tốc độ suy luận gấp 2.33 lần so với SRCNN truyền thống, đồng thời tăng $1.07\text{ dB}$ PSNR.
  3. Phân loại ứng dụng chuyên biệt dựa trên đặc tính mô hình: Đưa ra khung khuyến nghị thực tiễn: sử dụng ESPCN cho các tác vụ phân tích số liệu không gian tự động (yêu cầu độ chính xác pixel tuyệt đối) và sử dụng SRGAN cho các tác vụ trực quan hóa bản đồ vệ tinh phục vụ người dùng cuối.

Ứng dụng thực tế và triển khai

+-----------------------------------------------------------------------------------+
|                        KIẾN TRÚC TRIỂN KHAI PRODUCTION                            |
|                                                                                   |
|  [Geospatial TIFF / Satellite Ingestion]                                          |
|                       |                                                           |
|                       v                                                           |
|     +-----------------------------------+                                         |
|     |  FastAPI / Python Processing Core |                                         |
|     |  - GDAL / Rasterio Patching Engine|                                         |
|     +-----------------------------------+                                         |
|                       |                                                           |
|        +--------------+---------------+                                           |
|        |                              |                                           |
|        v                              v                                           |
|  +--------------------+      +--------------------+                               |
|  | Triton Inf Server  |      | Worker Pool (Celery|                               |
|  | ESPCN (Fast Batch) |      | + Redis Queue)     |                               |
|  | TensorRT Optimized |      | SRGAN (Visual Map) |                               |
|  +--------------------+      +--------------------+                               |
|        |                              |                                           |
|        +--------------+---------------+                                           |
|                       |                                                           |
|                       v                                                           |
|  [Cloud Storage S3 / PostGIS Tile Server] ---> [Web GIS Client Mapbox/Leaflet]    |
+-----------------------------------------------------------------------------------+

Kịch bản sử dụng thực tế (Real-World Use Cases)

  • Giám sát mất rừng và cháy rừng: Phóng đại các ảnh viễn thám miễn phí (độ phân giải 10m) lên mức chi tiết tương đương 2.5m, cho phép phát hiện sớm các tuyến đường lâm tặc mới mở hoặc các điểm cháy âm ỉ dưới tán rừng.
  • Đánh giá rủi ro ngập lụt đô thị: Cung cấp ảnh vệ tinh chi tiết cao về hệ thống thoát nước bề mặt và thay đổi mật độ xây dựng mà không cần thuê máy bay chụp ảnh trực tiếp định kỳ.
  • Hỗ trợ cứu hộ thiên tai sạt lở đất: Nâng cao độ nét các khu vực miền núi bị cô lập sau bão lũ, giúp lực lượng cứu hộ xác định chính xác các điểm nghẽn giao thông và vị trí sạt lở.

Yêu cầu triển khai và khả năng mở rộng

  • Môi trường Server: Docker Container chạy trên Ubuntu 22.04 LTS, tích hợp NVIDIA Container Toolkit (CUDA 11.8 / cuDNN 8.6).
  • Phần cứng đề xuất: 1x NVIDIA RTX A4000 (16GB VRAM) hoặc Tesla T4 có thể xử lý hoàn chỉnh một bức ảnh vệ tinh $5000 \times 15000$ pixels trong vòng 38 - 45 giây qua mô hình ESPCN.
  • Hiệu quả kinh tế (ROI): Giúp giảm hơn 85% chi phí mua dữ liệu ảnh thương mại độ phân giải cao từ các nhà cung cấp vệ tinh tư nhân đối với các dự án nghiên cứu và quản lý nhà nước.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Xử lý dải quang phổ hạn chế: Mô hình mới chỉ tiếp cận dữ liệu quang học 3 kênh RGB tiêu chuẩn, chưa tận dụng các kênh cận hồng ngoại (NIR - Near Infrared) và hồng ngoại sóng ngắn (SWIR) vốn rất quan trọng trong phân tích chỉ số thực vật NDVI.
  • Hiện tượng tạo vân nhân tạo (Hallucination Artifacts) ở SRGAN: Ở một số địa hình phức tạp, mạng đối kháng có xu hướng tạo ra các đường vân nhân tạo trông tự nhiên nhưng không phản ánh đúng thực địa.
  • Ảnh hưởng của mây mù dày đặc: Kỹ thuật SISR chưa thể khôi phục các vùng bị mây dày che khuất hoàn toàn (cần kết hợp kỹ thuật Cloud Removal).

Hướng phát triển trong tương lai

  • Tích hợp Diffusion Models (Mô hình khuếch tán): Ứng dụng các kiến trúc tiên tiến như SR3 hoặc Stable Diffusion Fine-tuned cho viễn thám nhằm cải thiện chất lượng cảm nhận vượt qua giới hạn của GAN.
  • Mở rộng sang Multi-Image Super-Resolution (MISR): Tận dụng chuỗi thời gian (Time-series) nhiều ảnh chụp cùng một vị trí tại các thời điểm khác nhau để tổng hợp thông tin điểm ảnh siêu phân giải.
  • Tối ưu hóa biên mạng (Edge Inference): Chuyển đổi mô hình sang định dạng ONNX và TensorRT để triển khai trực tiếp trên các thiết bị máy bay không người lái (UAV/Drone).

Đối tượng hưởng lợi

+---------------------------------------------------------------------------------------+
|                              ĐỐI TƯỢNG HƯỞNG LỢI DỰ ÁN                                |
|                                                                                       |
|  [Sinh viên / Học viên]  ---> Tài liệu mẫu chuẩn về Computer Vision & PyTorch / Keras |
|  [Kỹ sư AI / Lập trình]  ---> Pipeline hoàn chỉnh xử lý ảnh Gigapixel không tràn VRAM |
|  [Doanh nghiệp / WebGIS] ---> Giải pháp nâng cao chất lượng bản đồ tiết kiệm 85% vốn  |
|  [Nhà nghiên cứu Địa lý] ---> Cơ sở thực nghiệm so sánh định lượng giữa CNN và GAN    |
+---------------------------------------------------------------------------------------+
  • Sinh viên và Học viên Công nghệ thông tin: Cung cấp tài liệu tham khảo chi tiết từ nền tảng toán học của mạng nơ-ron (Linear Unit, Activation Functions, Convolution) đến kỹ thuật cài đặt thực tế các mô hình kinh điển (SRCNN, ESPCN, SRGAN).
  • Kỹ sư AI và Nhà phát triển phần mềm: Sở hữu một framework mã nguồn mở mẫu về kỹ thuật chia tách - ghép nối ma trận ảnh gigapixel, tối ưu hóa bộ nhớ GPU trong bài toán thị giác máy tính quy mô lớn.
  • Doanh nghiệp và Cơ quan Quản lý tài nguyên: Nắm bắt phương pháp nâng cấp hệ thống thông tin địa lý (GIS) hiện có với chi phí phần mềm thấp thay vì phải đầu tư ngân sách lớn mua ảnh vệ tinh phân giải cao thương mại.
  • Cộng đồng Nghiên cứu Viễn thám (Remote Sensing): Có thêm dữ liệu đối chuẩn thực nghiệm chi tiết giữa hàm mất mát điểm ảnh (Pixel-wise MSE Loss) và hàm mất mát tri giác (Perceptual Loss) trên địa bàn thực địa.

Câu hỏi thường gặp

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai pipeline siêu phân giải này là gì?

Hệ thống yêu cầu tối thiểu CPU 4 nhân, 16GB RAM và card đồ họa chuyên dụng NVIDIA GPU có tối thiểu 6GB VRAM (như GTX 1660 hoặc RTX 3060) hỗ trợ CUDA. Để xử lý hàng loạt ảnh gigapixel với tốc độ cao trong môi trường sản xuất, khuyến nghị sử dụng GPU 16GB VRAM (Tesla T4, RTX A4000 hoặc cao hơn).

2. Tại sao điểm số PSNR của SRGAN lại thấp hơn ESPCN dù ảnh nhìn thực tế rõ nét hơn?

PSNR được tính toán trực tiếp dựa trên sai số bình phương trung bình giữa các giá trị pixel ($MSE$). Mô hình ESPCN và SRCNN được huấn luyện nhằm cực tiểu hóa $MSE$, do đó đạt điểm số PSNR tối ưu nhưng ảnh có xu hướng bị nhẵn mờ. SRGAN sử dụng hàm mất mát Perceptual Loss kết hợp mạng VGG và mạng đối kháng GAN, chấp nhận thay đổi nhẹ các giá trị pixel cục bộ để tái tạo chi tiết vi mô sắc nét, dẫn đến việc điểm số $MSE$ tăng nhẹ (làm giảm PSNR) nhưng điểm đánh giá cảm nhận thị giác (MOS) lại vượt trội.

3. Làm thế nào để giải quyết hiện tượng đường viền cắt (seams) khi ghép các patch $256 \times 256$ lại với nhau?

Dự án áp dụng kỹ thuật Overlapping Sliding Window kết hợp Feathering Blending Filter. Khi chia patch, các cửa sổ liền kề sẽ có một vùng chồng lấn (stride = 224, overlap = 32 pixels). Tại bước tái cấu trúc, các giá trị điểm ảnh trong vùng chồng lấn được tính theo trọng số khoảng cách tuyến tính thay vì gán đè trực tiếp, giúp triệt tiêu hoàn toàn các đường rãnh nối.

4. Hệ thống có thể mở rộng để xử lý các định dạng ảnh địa không gian đặc thù như GeoTIFF không?

Hoàn toàn khả thi. Pipeline có thể tích hợp thư viện Rasterio hoặc GDAL trong Python để đọc trực tiếp các tệp GeoTIFF, trích xuất ma trận dữ liệu raster để đưa qua mô hình siêu phân giải, sau đó ghi đè lại các thông tin siêu dữ liệu địa lý (Affine Transform matrix và Coordinate Reference System - CRS) vào tệp phân giải cao đầu ra.

5. Chi phí vận hành và thời gian thu hồi vốn (ROI) khi triển khai giải pháp này cho doanh nghiệp?

Chi phí triển khai thuần túy dựa trên hạ tầng điện toán đám mây (Cloud GPU instance) dao động khoảng $0.5 - $1.5/giờ sử dụng. So với việc chi trả từ $15 - $30 cho mỗi kilomet vuông ảnh vệ tinh VHR thương mại, một hệ thống GIS ứng dụng giải pháp siêu phân giải học sâu có thể giúp doanh nghiệp thu hồi chi phí đầu tư phát triển phần mềm chỉ sau 3 đến 6 tháng vận hành thực tế.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu thuật toán học sâu tăng cường chất lượng ảnh vệ tinh" do sinh viên Hà Đức Hải thực hiện dưới sự hướng dẫn của TS. Phạm Tiến Lâm đã giải quyết thành công bài toán tăng cường độ phân giải ảnh viễn thám thông qua việc tiếp cận toàn diện ba mô hình học sâu tiêu biểu: SRCNN, ESPCN và SRGAN. Nghiên cứu đã chứng minh tính hiệu quả vượt trội của thuật toán tích chập dưới điểm ảnh ESPCN về mặt tốc độ tính toán (3.6ms/patch) và chỉ số định lượng ($28.92\text{ dB}$ PSNR), đồng thời làm sáng tỏ giá trị tái tạo kết cấu tự nhiên của mô hình mạng đối kháng SRGAN.

Giải pháp chia tách - tái cấu trúc ma trận ảnh phân tán được xây dựng trong đồ án mở ra khả năng ứng dụng thực tiễn rộng rãi trong quản lý tài nguyên, quy hoạch đô thị và giảm thiểu rủi ro thiên tai tại Việt Nam. Quý độc giả, nhà phát triển và các đơn vị nghiên cứu quan tâm có thể khai thác mã nguồn và tài liệu kỹ thuật để tích hợp trực tiếp vào các hệ thống quản lý không gian địa lý hiện đại.