Bối cảnh và vấn đề nghiên cứu

Ảnh vệ tinh đóng vai trò thiết thực trong các hoạt động kinh tế - xã hội, khoa học và quản lý môi trường. Dữ liệu ảnh viễn thám cung cấp thông tin phục vụ quan sát biến đổi khí hậu, dự báo thời tiết và các hiện tượng thời tiết cực đoan (bão, lũ lụt, hạn hán), theo dõi biến động diện tích rừng ngập mặn, kiểm soát ô nhiễm môi trường và quản lý tài nguyên nước ngọt. Ngoài ra, hình ảnh vệ tinh còn được ứng dụng trong phân tích hiện trạng sử dụng đất đai, quy hoạch hạ tầng đô thị và cảnh báo thiên tai sạt lở.

Tuy nhiên, chất lượng ảnh vệ tinh thu nhận từ cảm biến thường bị suy giảm do hiện tượng nhiễu hạt, mờ nhòe và biến dạng quang học dưới tác động của tầng khí quyển, góc chụp và giới hạn kỹ thuật phần cứng. Những rào cản này làm sai lệch hình thái vật thể và cản trở việc phân tích dữ liệu tự động. Bài toán tăng cường chất lượng ảnh (Super Resolution - SR), đặc biệt là siêu phân giải đơn ảnh (Single-Image Super Resolution - SISR), được áp dụng nhằm khôi phục và nâng cao độ phân giải từ ảnh đầu vào chất lượng thấp (Low Resolution - LR) thành ảnh chất lượng cao (High Resolution - HR).

Đồ á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 (ngành Công nghệ thông tin Việt - Nhật, Trường Đại học Phenikaa) thực hiện dưới sự hướng dẫn của TS. Phạm Tiến Lâm (năm 2023) xác định 4 nhiệm vụ và mục tiêu nghiên cứu cụ thể:

  1. Tìm hiểu nguyên lý hoạt động của 3 mô hình học sâu tiêu biểu cho bài toán siêu phân giải: Mạng nơ-ron tích chập siêu phân giải (SRCNN), Mạng nơ-ron tích chập điểm ảnh phụ hiệu quả (ESPCN) và Mạng đối kháng tạo sinh siêu phân giải (SRGAN).
  2. Phân tích đặc điểm bài toán xử lý ảnh vệ tinh và khảo sát cấu trúc bộ dữ liệu phục vụ huấn luyện.
  3. Thiết kế quy trình thực nghiệm, cài đặt và huấn luyện các mô hình học sâu trên hạ tầng tính toán.
  4. Đo lường và so sánh hiệu quả tái tạo ảnh giữa 3 kiến trúc mô hình.

Đối tượng nghiên cứu của đồ án là ảnh vệ tinh kích thước lớn (khoảng $5000 \times 15000$ pixel hoặc $15000 \times 5000$ pixel). Phạm vi nghiên cứu tập trung vào bài toán siêu phân giải đơn ảnh (SISR), triển khai kỹ thuật phân mảnh ảnh thành các khối nhỏ kích thước $256 \times 256$ pixel để tối ưu hóa tài nguyên bộ nhớ trên hệ thống máy tính hiệu năng cao (HPC) và Google Colab GPU.


Cơ sở lý thuyết và phương pháp

Đồ án tổng hợp hệ thống lý thuyết nền tảng từ học máy (Machine Learning), thị giác máy tính (Computer Vision) đến học sâu (Deep Learning), làm tiền đề cho việc phân tích các kiến trúc mạng nơ-ron tích chập (CNN). Khung lý thuyết bao gồm:

  • Đơn vị tuyến tính và hàm kích hoạt: Mô hình toán học nơ-ron cơ bản biểu diễn qua công thức $y = wx + b$ (với một đầu vào) hoặc $y = \sum_{i=0}^n w_i x_i + b$ (với nhiều đầu vào), kết hợp hàm kích hoạt phi tuyến ReLU ($f(x) = \max(0, x)$) để tạo khả năng biểu diễn phi tuyến qua các lớp ẩn (Hidden Layers).
  • Mạng nơ-ron tích chập (CNN): Gồm lớp tích chập (Convolution Layer) sử dụng bộ lọc (kernel) quét qua trường tiếp nhận để tạo bản đồ đặc trưng (feature map); lớp gộp (Pooling Layer) thực hiện giảm chiều dữ liệu (Max Pooling hoặc Average Pooling) nhằm hạn chế hiện tượng quá khớp (overfitting); và lớp kết nối đầy đủ (Fully-Connected Layer) sử dụng hàm kích hoạt softmax cho bài toán phân loại.

Trong bài toán siêu phân giải đơn ảnh, tác giả nghiên cứu chi tiết 3 mô hình học sâu:

Mô hình Đặc điểm kiến trúc chính Cơ chế xử lý độ phân giải Hàm mất mát (Loss Function)
SRCNN Gồm 3 lớp tích chập: Trích xuất bản vá ($9 \times 9$), Ánh xạ phi tuyến ($5 \times 5$) và Tái cấu trúc ($5 \times 5$). Tăng kích thước ảnh đầu vào trước bằng phép nội suy bicubic. Lỗi bình phương trung bình (MSE): $L(\Theta) = \frac{1}{n} \sum_{i=1}^n |F(Y_i; \Theta) - X_i|^2$.
ESPCN Sử dụng các lớp tích chập trích xuất đặc trưng trực tiếp trong không gian độ phân giải thấp (LR), sau đó dùng lớp Sub-pixel Convolution. Biến đổi tensor đặc trưng $H \times W \times r^2 C$ thành $rH \times rW \times C$ thông qua phép đảo pixel (Pixel Shuffle / depth_to_space). MSE tính trên không gian điểm ảnh tái tạo.
SRGAN Cấu trúc mạng đối kháng tạo sinh (GAN) gồm mạng Generator (kiến trúc SRResNet với $B$ khối residual và 2 lớp PixelShuffle) và mạng Discriminator (8 lớp tích chập $3 \times 3$, channel tăng từ 64 đến 512). Phóng to ảnh lên 4 lần ($r=4$) thông qua 2 bước PixelShuffle trong mạng sinh. Hàm mất mát cảm nhận (Perceptual Loss): $l^{SR} = l_X^{SR} + 10^{-3} l_{GEN}^{SR}$ (kết hợp Content Loss trên mạng VGG19 và Adversarial Loss).

Phương pháp nghiên cứu được thực hiện theo quy trình thực nghiệm định lượng: thu thập dữ liệu, tiền xử lý ảnh viễn thám, cài đặt thuật toán, huấn luyện mô hình và đo lường định lượng thông qua 2 chỉ số tiêu chuẩn:

  1. SSIM (Structural Similarity Index Measure): Đo lường mức độ tương đồng về cấu trúc không gian, độ chói và độ tương phản giữa ảnh gốc và ảnh sau xử lý.
  2. PSNR (Peak Signal-to-Noise Ratio): Tỷ lệ tín hiệu cực đại trên nhiễu (tính bằng đơn vị decibel - dB) nhằm xác định mức độ mất mát thông tin so với ảnh gốc có độ phân giải cao.

Thiết kế và triển khai

Quá trình triển khai kỹ thuật và xây dựng hệ thống thực nghiệm của đồ án được tổ chức như sau:

  • Môi trường và công cụ lập trình: Đồ án sử dụng ngôn ngữ Python cùng các thư viện chuyên dụng:
    • NumPy: Xử lý tính toán đại số tuyến tính, mảng đa chiều và ma trận điểm ảnh lớn.
    • Matplotlib: Trực quan hóa dữ liệu và vẽ biểu đồ diễn biến hàm mất mát (loss history) qua các epoch.
    • OpenCV (cv2): Tiền xử lý, đọc/ghi và chuyển đổi cấu trúc không gian màu của ảnh.
    • PyTorch và TensorFlow: Xây dựng đồ thị tính toán, định nghĩa kiến trúc mạng nơ-ron và huấn luyện mô hình.
  • Hạ tầng tính toán: Mô hình được huấn luyện trên dịch vụ Google Colab (sử dụng GPU NVIDIA các dòng Tesla K80, T4, P100) và hệ thống máy tính hiệu năng cao (HPC).
  • Bộ dữ liệu thực nghiệm: Sử dụng bộ dữ liệu do tác giả Aditya Chandrasekhar công bố trên nền tảng Kaggle, bao gồm 855 ảnh chất lượng cao (HR) và 855 ảnh chất lượng thấp (LR) ở kích thước chuẩn $256 \times 256$ pixel.
  • Quy trình xử lý ảnh vệ tinh kích thước lớn:
    1. Phân mảnh (Patching): Ảnh vệ tinh kích thước thực ($\sim 5000 \times 15000$ pixel) được cắt thành các khối ảnh nhỏ không chồng chập kích thước $256 \times 256$ pixel nhằm giải quyết giới hạn bộ nhớ VRAM của GPU.
    2. Siêu phân giải: Đưa từng mảnh ảnh qua mô hình học sâu đã huấn luyện (SRCNN, ESPCN hoặc SRGAN) để nâng cao chất lượng và khôi phục chi tiết.
    3. Tái hợp nhất (Reconstruction): Ghép các mảnh ảnh chất lượng cao đầu ra theo đúng tọa độ ban đầu để thu được ảnh vệ tinh hoàn chỉnh.
  • Tham số cài đặt mô hình SRCNN:
    • Lớp 1 (Patch Extraction): 64 bộ lọc kích thước $9 \times 9$, bước trượt $\text{stride} = 1$, phần bù $\text{padding} = 4$, hàm kích hoạt ReLU.
    • Lớp 2 (Non-linear Mapping): 32 bộ lọc kích thước $5 \times 5$, $\text{stride} = 1$, $\text{padding} = 2$, hàm kích hoạt ReLU.
    • Lớp 3 (Reconstruction): 3 bộ lọc (tương ứng 3 kênh màu RGB) kích thước $5 \times 5$, $\text{stride} = 1$, $\text{padding} = 2$.
    • Trọng số được khởi tạo ngẫu nhiên theo phân bố Gaussian (giá trị trung bình $\mu = 0$, độ lệch chuẩn $\sigma = 0.001$, độ lệch $\text{bias} = 0$). Quá trình huấn luyện diễn ra qua 100 epoch, trong đó giá trị loss giảm liên tục và đạt trạng thái ổn định tối ưu sau epoch thứ 40.

Nội dung chính theo từng chương

Lời mở đầu

Phần mở đầu trình bày tầm quan trọng của ảnh vệ tinh trong các lĩnh vực khí tượng, quản lý tài nguyên tự nhiên, giám sát môi trường và quản lý đô thị. Tác giả chỉ ra các yếu tố gây suy giảm chất lượng ảnh như điều kiện khí quyển và giới hạn phần cứng, nêu lý do chọn đề tài, xác định mục tiêu nghiên cứu, đối tượng, phạm vi và phương pháp tiếp cận của đồ án.

Chương 2: Cơ sở lý thuyết

Chương 2 cung cấp nền tảng toán học và cấu trúc các thuật toán học sâu áp dụng trong thị giác máy tính:

  • Tổng quan lịch sử phát triển của học máy và thị giác máy tính từ năm 1959 (thí nghiệm phản xạ thần kinh mắt mèo của các nhà sinh lý học, mô hình Neocognitron của Kunihiko Fukushima năm 1982, tập dữ liệu ImageNet năm 2010 và bước tiến của AlexNet năm 2012).
  • Cấu trúc mạng nơ-ron nhân tạo: đơn vị tuyến tính, hàm kích hoạt phi tuyến ReLU, cơ chế kết nối các lớp dày đặc (Dense Layers).
  • Nguyên lý hoạt động của mạng CNN: các phép tính tích chập ma trận (Convolution), lớp lấy mẫu gộp (Max/Average Pooling) và lớp kết nối đầy đủ (Fully-Connected Layer).
  • Tổng quan bài toán siêu phân giải ảnh (phân biệt Single-Image SR và Multi-Image SR).
  • Phân tích chi tiết cấu trúc thuật toán 3 mô hình: SRCNN (3 giai đoạn trích xuất, ánh xạ, tái cấu trúc), ESPCN (lớp tích chập Sub-pixel với phép chuyển đổi depth_to_space) và SRGAN (cấu trúc mạng sinh SRResNet kết hợp mạng phân biệt Discriminator và hàm mất mát Perceptual Loss trên không gian đặc trưng VGG19).

Chương 3: Ứng dụng phương pháp và xây dựng mô hình

Chương 3 mô tả quá trình thiết kế và hiện thực hóa thực nghiệm:

  • Giới thiệu các công cụ phát triển phần mềm gồm ngôn ngữ lập trình Python và các thư viện hỗ trợ (NumPy, Matplotlib, OpenCV, PyTorch, TensorFlow).
  • Phân tích môi trường tính toán phục vụ huấn luyện mô hình: phần cứng tăng tốc GPU trên nền tảng Google Colab và hệ thống máy tính hiệu năng cao (HPC).
  • Trình bày thông tin bộ dữ liệu Kaggle gồm 855 cặp ảnh HR/LR.
  • Quy trình phân mảnh ảnh vệ tinh kích thước lớn thành các patch $256 \times 256$ pixel và cơ chế ghép nối lại sau khi xử lý.
  • Cài đặt kiến trúc, khởi tạo trọng số phân bố Gaussian và cấu hình tham số huấn luyện mô hình SRCNN qua 100 epoch; xây dựng mạng ESPCN với cơ chế depth_to_space; xây dựng Generator và Discriminator cho mô hình SRGAN.

Chương 4: Kết quả và đánh giá các mô hình

Chương 4 tập trung vào việc đo lường, đánh giá và so sánh chất lượng tái tạo ảnh:

  • Giới thiệu phương pháp đánh giá định lượng bằng chỉ số tương đồng cấu trúc SSIM và chỉ số PSNR (dB).
  • Trình bày kết quả thử nghiệm trực quan qua các mẫu ảnh thử nghiệm (thử nghiệm 1 đến 4).
  • Phân tích ưu và nhược điểm của từng mô hình thuật toán.
  • Đưa ra kết luận tổng hợp từ quá trình nghiên cứu thực nghiệm và đề xuất các hướng mở rộng đề tài.

Kết quả và đóng góp

  • Kết quả thực nghiệm:

    • Đã triển khai thành công quy trình phân mảnh và tái cấu trúc cho ảnh vệ tinh diện tích lớn ($\sim 5000 \times 15000$ pixel), khắc phục được hạn chế về dung lượng bộ nhớ phần cứng trong quá trình xử lý ảnh học sâu.
    • Cài đặt và huấn luyện hoàn chỉnh mô hình SRCNN trên tập dữ liệu 855 ảnh vệ tinh; quá trình huấn luyện qua 100 epoch cho thấy hàm mất mát huấn luyện (train loss) và hàm mất mát kiểm định (validation loss) giảm đều và hội tụ ổn định sau epoch thứ 40.
    • Xây dựng thành công kiến trúc lớp Sub-pixel Convolution trong ESPCN để tăng tốc độ xử lý trong không gian độ phân giải thấp và kiến trúc Generator - Discriminator của SRGAN với hàm Perceptual Loss nhằm tối ưu hóa chi tiết kết cấu bề mặt ảnh.
    • Đánh giá chất lượng khôi phục của các thuật toán thông qua hai thang đo định lượng SSIM và PSNR.
  • Giải pháp đề xuất: Đề xuất quy trình tiền xử lý cắt ảnh vệ tinh viễn thám thành các khối patch $256 \times 256$ pixel, đưa qua mạng nơ-ron tích chập để tăng cường chất lượng từng phần và ghép nối thành phẩm, giúp áp dụng được các mô hình học sâu hiện đại vào dữ liệu viễn thám thực tế mà không đòi hỏi tài nguyên phần cứng vô hạn.

  • Đóng góp của đồ án: Cung cấp tài liệu khảo sát, thiết kế và so sánh thực nghiệm giữa 3 hướng tiếp cận kinh điển trong bài toán siêu phân giải đơn ảnh (nội suy trước bằng CNN truyền thống - SRCNN, trích xuất đặc trưng không gian thấp với sub-pixel - ESPCN, và học đối kháng sinh ảnh tự nhiên - SRGAN) khi áp dụng vào miền dữ liệu ảnh vệ tinh.


Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế:

    • Do giới hạn về thời gian thực hiện, đồ án mới chỉ tập trung nghiên cứu bài toán siêu phân giải đơn ảnh (SISR), chưa mở rộng sang bài toán siêu phân giải đa ảnh (Multi-Image Super Resolution - MISR) vốn có thể tận dụng thông tin thời gian từ nhiều góc chụp vệ tinh khác nhau.
    • Dữ liệu thực nghiệm mới dừng lại ở tập mẫu 855 cặp ảnh trên Kaggle, chưa bao quát toàn bộ các điều kiện khí tượng và đặc thù cảm biến viễn thám phức tạp trong thực tế.
    • Quá trình tính toán và huấn luyện phụ thuộc lớn vào tài nguyên máy tính hiệu năng cao và dịch vụ GPU đám mây.
  • Hướng nghiên cứu tiếp:

    • Nghiên cứu mở rộng thuật toán cho bài toán siêu phân giải đa ảnh (MISR) để kết hợp thông tin đa thời gian và đa góc chụp của vệ tinh.
    • Thử nghiệm mô hình với các hệ số phóng đại (upscale factor) lớn hơn ($4\times$, $8\times$) trên các tập dữ liệu vệ tinh đa phổ và ảnh viễn thám thực địa có điều kiện thời tiết phức tạp.
    • Nghiên cứu tối ưu hóa kiến trúc mạng nhằm giảm thời gian suy luận (inference time), hướng tới xử lý dữ liệu viễn thám theo thời gian thực.

Giá trị tham khảo

Đồ án là tài liệu tham khảo cho sinh viên, học viên và các nhà nghiên cứu thuộc các chuyên ngành Công nghệ thông tin, Khoa học dữ liệu, Trí tuệ nhân tạo và Địa tin học / Kỹ thuật trắc địa - viễn thám.

Các nội dung có giá trị tham khảo chuyên môn gồm:

  • Khung lý thuyết toán học về các lớp tích chập, lớp điểm ảnh phụ (Sub-pixel Convolution) và hàm mất mát Perceptual Loss (kết hợp VGG19 và Adversarial Loss).
  • Thiết lập siêu tham số thực tế (kích thước bộ lọc, stride, padding, hàm khởi tạo Gaussian) cho mô hình SRCNN.
  • Kỹ thuật phân chia patch ảnh $256 \times 256$ pixel để giải quyết bài toán tràn bộ nhớ khi xử lý các định dạng ảnh viễn thám siêu lớn trên GPU.

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

1. Tại sao đồ án phải chia ảnh vệ tinh thành các mảnh nhỏ kích thước $256 \times 256$ pixel trước khi đưa vào mô hình?
Ảnh vệ tinh gốc có kích thước rất lớn (khoảng $5000 \times 15000$ pixel). Nếu nạp trực tiếp toàn bộ ảnh vào mạng nơ-ron tích chập sẽ làm tràn bộ nhớ (VRAM) của phần cứng xử lý đồ họa (GPU/HPC). Việc chia thành các mảnh (patch) $256 \times 256$ pixel giúp tối ưu hóa bộ nhớ tính toán và cho phép mô hình xử lý song song từng vùng ảnh.

2. Cấu hình siêu tham số và số lớp của mô hình SRCNN trong đồ án được thiết lập như thế nào?
Mô hình SRCNN được xây dựng với 3 lớp tích chập 2D: Lớp 1 (Trích xuất bản vá) gồm 64 bộ lọc kích thước $9 \times 9$, stride = 1, padding = 4; Lớp 2 (Ánh xạ phi tuyến) gồm 32 bộ lọc kích thước $5 \times 5$, stride = 1, padding = 2; Lớp 3 (Tái cấu trúc) gồm 3 bộ lọc (ứng với số kênh màu RGB) kích thước $5 \times 5$, stride = 1, padding = 2. Trọng số được khởi tạo theo phân bố Gaussian (trung bình $\mu = 0$, độ lệch chuẩn $\sigma = 0.001$, bias = 0) và huấn luyện qua 100 epoch.

3. Cơ chế Sub-pixel Convolution trong mạng ESPCN có điểm gì khác biệt so với quy trình của SRCNN?
Trong SRCNN, ảnh độ phân giải thấp (LR) phải được phóng to lên kích thước mong muốn bằng phép nội suy bicubic trước khi đưa vào các lớp tích chập, làm tăng chi phí tính toán trên không gian ảnh lớn. Ngược lại, ESPCN trích xuất đặc trưng hoàn toàn trong không gian LR, sau đó sử dụng một lớp Sub-pixel Convolution (thao tác Pixel Shuffle / depth_to_space) để sắp xếp lại các kênh đặc trưng từ kích thước $H \times W \times r^2 C$ thành ảnh độ phân giải cao $rH \times rW \times C$, giúp giảm độ phức tạp tính toán và tránh suy giảm chất lượng do chèn điểm ảnh giả (zero-padding).

4. Hàm mất mát Perceptual Loss của mô hình SRGAN được xây dựng từ những thành phần nào?
Hàm Perceptual Loss ($l^{SR}$) trong SRGAN được cấu thành từ hai thành phần chính theo công thức: $$l^{SR} = l_X^{SR} + 10^{-3} l_{GEN}^{SR}$$ Trong đó, $l_X^{SR}$ là Content Loss được tính toán dựa trên sai khác giữa các bản đồ đặc trưng (feature maps) trích xuất từ các lớp kích hoạt của mạng VGG19 đã được tiền huấn luyện; còn $l_{GEN}^{SR}$ là Adversarial Loss (Generative Loss) đo lường khả năng sinh ảnh đánh lừa mạng phân biệt Discriminator theo hàm $-\log D(G(I^{LR}))$.

5. Bộ dữ liệu thực nghiệm được sử dụng trong đồ án có nguồn gốc và quy mô ra sao?
Bộ dữ liệu được tác giả lấy từ nguồn công bố của Aditya Chandrasekhar trên nền tảng Kaggle, bao gồm 855 ảnh có độ phân giải cao (High Resolution) và 855 ảnh có độ phân giải thấp (Low Resolution) có cùng kích thước $256 \times 256$ pixel, chứa đựng đa dạng các đối tượng và đường nét địa hình để huấn luyện mạng học sâu.


Kết luận

Đồ án tốt nghiệp của tác giả Hà Đức Hải đã nghiên cứu và triển khai thực nghiệm các mô hình học sâu (SRCNN, ESPCN, SRGAN) cho bài toán siêu phân giải đơn ảnh vệ tinh. Bằng việc áp dụng giải pháp phân mảnh ảnh $256 \times 256$ pixel kết hợp huấn luyện trên hạ tầng HPC và Google Colab GPU, đề tài đã xây dựng thành công quy trình nâng cao chất lượng ảnh viễn thám kích thước lớn. Kết quả nghiên cứu được đánh giá định lượng thông qua các chỉ số SSIM và PSNR, tạo cơ sở kỹ thuật cho việc ứng dụng thị giác máy tính vào quản lý tài nguyên và giám sát môi trường.