Giới thiệu dự án

Trong kỷ nguyên số hóa và truyền thông đa phương tiện, vấn đề bảo vệ bản quyền tác giả và chứng thực nguồn gốc dữ liệu hình ảnh trở thành thách thức cấp thiết. Theo các báo cáo an ninh thông tin đa phương tiện, hơn 35% tác phẩm nghệ thuật số và ấn phẩm truyền thông bị sao chép hoặc phân phối trái phép qua các kênh in ấn vật lý và tái số hóa (Print-and-Scan attack). Các phương pháp giấu tin và thủy vân số truyền thống (như Least Significant Bit - LSB hay Discrete Cosine Transform - DCT) thường dễ bị phá hủy hoặc suy giảm nghiêm trọng khi trải qua quá trình biến đổi tương tự - số (Analog-to-Digital / Digital-to-Analog conversion).

Đồ án tốt nghiệp "Tìm hiểu kỹ thuật giấu tin trong ảnh khảm số" tập trung giải quyết bài toán nhúng thủy vân bản quyền bền vững vào cấu trúc nghệ thuật của ảnh khảm (Mosaic Image), đảm bảo khả năng trích xuất thông tin toàn vẹn ngay cả khi ảnh bị in ra giấy và quét lại bằng thiết bị quang học.

+-----------------------------------------------------------------------------+
|                            MỤC TIÊU DỰ ÁN TỔNG QUAN                         |
+-----------------------------------------------------------------------------+
|  1. Nghiên cứu cơ sở lý thuyết biến đổi ảnh số sang ảnh khảm đa lớp         |
|  2. Thiết kế giải thuật nhúng thủy vân nhị phân vào 4 vùng biên ảnh ngói    |
|  3. Xây dựng giải thuật tách tin mù (Blind Extraction) qua Sobel & Laplacian|
|  4. Cài đặt hệ thống thử nghiệm C#/.NET, đánh giá hiệu năng trên 1.213 ảnh  |
+-----------------------------------------------------------------------------+

Mục tiêu dự án

  1. Nghiên cứu và chuẩn hóa quy trình tạo ảnh khảm số: Khảo sát các kỹ thuật phân rã không gian màu (RGB, HSV, CIE), trích chọn đặc trưng Scale-Invariant Feature Transform (SIFT) và đo độ tương đồng màu sắc bằng Jensen-Shannon Divergence (JSD).
  2. Xây dựng thuật toán giấu tin dựa trên biên ảnh ngói (Tile Boundary Watermarking): Mã hóa dòng bit nhị phân vào 4 cạnh vật lý của từng ngói ảnh, áp dụng cơ chế kiểm soát phương sai màu và bơm nhiễu Gaussian đối nghịch để bảo toàn tính bí mật.
  3. Phát triển thuật toán khôi phục kích thước ngói và trích xuất tin mù: Tự động phát hiện kích thước lưới khảm ($W \times H$) từ ảnh đã qua in-quét mà không cần ảnh gốc hoặc tham số kích thước ban đầu, sử dụng phép chiếu Histogram và mặt nạ đạo hàm bậc hai Laplacian 1D.
  4. Hiện thực hóa phần mềm và kiểm nghiệm thực nghiệm: Xây dựng ứng dụng hoàn chỉnh trên nền tảng .NET Framework, kiểm thử trên tập dữ liệu chuẩn 1.213 ảnh ngói, đo đạc chỉ số Peak Signal-to-Noise Ratio (PSNR) và Mean Squared Error (MSE).

Phương pháp tiếp cận và Phạm vi

  • Phương pháp tiếp cận: Khai thác đặc trưng thị giác người (Human Vision System - HVS) kết hợp với điều chế phương sai màu cục bộ tại biên của các ngói ảnh ($1/8$ diện tích ngói).
  • Phạm vi ứng dụng: Ảnh số tĩnh định dạng 24-bit RGB (kích thước thử nghiệm $512 \times 512$ pixel đến $2048 \times 2048$ pixel), cấu trúc ngói hình chữ nhật đều, cơ sở dữ liệu ngói cục bộ phục vụ các ấn phẩm đồ họa, poster quảng cáo và tranh nghệ thuật.

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

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

Các kỹ thuật bảo vệ bản quyền ảnh số hiện nay phân hóa thành hai trường phái chính: giấu tin trong miền không gian (Spatial Domain) và giấu tin trong miền tần số (Frequency Domain). Khi đối mặt với các cuộc tấn công hình học và in - quét vật lý, các phương pháp này bộc lộ những nhược điểm rõ rệt.

Tiêu chí so sánh Giấu tin LSB truyền thống Thủy vân miền tần số (DCT/DWT) Thủy vân biên ảnh khảm (Đề tài)
Dung lượng giấu (Capacity) Rất cao ($1 - 3$ bit/pixel) Trung bình ($0.05 - 0.2$ bit/pixel) Tùy biến theo số lượng ngói ($2$ bit/ngói)
Chất lượng ảnh (PSNR) Rất cao ($> 45\text{ dB}$) Tốt ($35 - 42\text{ dB}$) Ổn định nghệ thuật ($32 - 38\text{ dB}$)
Độ phức tạp tính toán $O(N)$ (Rất thấp) $O(N \log N)$ (Trung bình) $O(M \cdot K)$ (Xử lý theo khối ngói)
Chống tấn công In & Quét Kém (Bị phá hủy hoàn toàn) Trung bình (Dễ suy hao hệ số AC) Cao (Bảo toàn qua biên quang học)
Yêu cầu ảnh gốc khi trích Thường yêu cầu Tùy biến Không yêu cầu (Blind Extraction)

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

  • Must Have: Tạo ảnh khảm từ tập dữ liệu mẫu; nhúng chuỗi bit vào biên ngói theo bảng ánh xạ 2-bit; kiểm tra phương sai $T$ và chèn nhiễu Gaussian ($\mu=0, \sigma^2=30$); tự động phát hiện kích thước ngói bằng toán tử Sobel/Laplacian.
  • Should Have: Trình giao diện đánh giá trực tiếp PSNR/MSE; xuất và nhập file khóa bảo mật ngẫu nhiên (.key); hỗ trợ cân bằng màu sắc bằng Color Histogram Matching.
  • Could Have: Bộ lọc trung bình (Mean Filter) và lọc trung vị (Median Filter) để làm mịn vùng chuyển tiếp.
  • Won't Have: Xử lý biến dạng phi tuyến tính do gấp nếp giấy vật lý nặng trong phiên bản hiện tại.

Thiết kế hệ thống

Kiến trúc giải pháp được thiết kế thành một quy trình khép kín gồm 3 phân hệ chính: Phân hệ tạo ảnh khảm, Phân hệ nhúng dữ liệu và Phân hệ khôi phục/trích xuất bản quyền.

+-----------------------------------------------------------------------------------+
|                           KIẾN TRÚC TỔNG THỂ HỆ THỐNG                            |
+-----------------------------------------------------------------------------------+
|  [Ảnh Gốc I] + [CSDL Ngói D]                                                      |
|        │                                                                          |
|        ▼                                                                          |
|  [Bộ Khớp Màu & SIFT] ──► [Phân Lưới Ngói] ──► [Ánh Xạ Bit: L/R/T/B]             |
|                                                      │                            |
|                                                      ▼                            |
|  [Kiểm Tra Sai Số T] ◄── [Thêm Nhiễu Gaussian] ◄── [Tạo Vùng Biên Đồng Nhất]      |
|        │                                                                          |
|        ▼                                                                          |
|  [Ảnh Khảm Đã Giấu Tin M] ──► [In & Quét Vật Lý] ──► [Ảnh Quét Đầu Vào S]        |
|                                                             │                     |
|                                                             ▼                     |
|  [Dòng Bit Trích Xuất] ◄── [Phân Tích 4 Biên] ◄── [Phép Chiếu 1D Sobel/Laplacian] |
+-----------------------------------------------------------------------------------+

Technology Stack và Đặc tả kỹ thuật

  • Ngôn ngữ phát triển: C# (.NET Framework 4.5) trên nền tảng Microsoft Visual Studio.
  • Thư viện xử lý ảnh: GDI+ Image Processing Toolkit, tích hợp các thuật toán tối ưu ma trận điểm ảnh thông qua cấu trúc bộ nhớ trực tiếp BitmapData và con trỏ unsafe.
  • Cơ chế bảo mật: Sử dụng khóa giả ngẫu nhiên $K$ để xáo trộn dòng bit $S$ trước khi ánh xạ vào tọa độ không gian các khối ngói.
  • Yêu cầu hiệu năng: Thời gian xử lý tạo khảm $< 3.5\text{ s}$ cho ảnh $512 \times 512$ pixel với tập 1.213 ảnh ngói; thời gian trích xuất tin mù $< 1.2\text{ s}$.

Methodology

Quy trình phát triển tuân thủ mô hình Iterative Engineering gồm 4 giai đoạn:

  1. Giai đoạn 1 (Tuần 1 - 4): Nghiên cứu toán học về phân tích biên, bộ lọc Difference-of-Gaussian (DoG), thuật toán SIFT và trích xuất đặc trưng màu sắc đa kênh RGB/HSV.
  2. Giai đoạn 2 (Tuần 5 - 8): Hiện thực hóa thuật toán tạo ảnh khảm nhiều lớp (Multi-layer Mosaic) và các bộ cân chỉnh màu sắc trung bình.
  3. Giai đoạn 3 (Tuần 9 - 12): Thiết kế giải thuật nhúng thủy vân vào biên ngói, cấu hình ngưỡng phương sai màu $T$ và tích hợp bộ khử nhiễu/bơm nhiễu Gaussian.
  4. Giai đoạn 4 (Tuần 13 - 16): Cài đặt mô-đun phát hiện kích thước ngói tự động bằng phép chiếu tích lũy Sobel-Laplacian; thực hiện in thử nghiệm ở độ phân giải 300 DPI, quét lại ở 600 DPI và đánh giá chỉ số PSNR.

Implementation và kết quả

Development process

Cốt lõi của giải pháp nằm ở hai giải thuật xử lý: Nhúng dữ liệu dựa trên phương sai biên ngói và Tách dữ liệu mù thông qua phân tích tần suất chiếu biên.

1. Nguyên lý phân loại biên và mã hóa dữ liệu

Mỗi ngói ảnh hình chữ nhật có 4 vùng biên khả dĩ (trái, phải, trên, dưới) chiếm $1/8$ bề rộng/chiều cao ngói. Mỗi cạnh đại diện cho một cặp 2-bit nhị phân:

$$\text{Biên Trái (Left)} = 00_2, \quad \text{Biên Phải (Right)} = 01_2, \quad \text{Biên Trên (Top)} = 10_2, \quad \text{Biên Dưới (Bottom)} = 11_2$$

// Trích đoạn thuật toán nhúng dữ liệu vào biên ngói (Tile Boundary Embedding)
public Bitmap EmbedWatermarkTile(Bitmap tileImg, string twoBits, double thresholdT)
{
    int width = tileImg.Width;
    int height = tileImg.Height;
    Bitmap result = new Bitmap(tileImg);
    Rectangle targetBoundary;

    // Xác định biên cần nhúng dựa trên giá trị 2-bit
    switch (twoBits)
    {
        case "00": targetBoundary = new Rectangle(0, 0, width / 8, height); break;        // Trái
        case "01": targetBoundary = new Rectangle(7 * width / 8, 0, width / 8, height); break; // Phải
        case "10": targetBoundary = new Rectangle(0, 0, width, height / 8); break;        // Trên
        case "11": targetBoundary = new Rectangle(0, 7 * height / 8, width, height / 8); break; // Dưới
        default: throw new ArgumentException("Invalid 2-bit stream");
    }

    // Gán màu trung bình cho biên được chọn (làm phương sai màu tiệm cận 0)
    Color avgColor = CalculateAverageColor(tileImg, targetBoundary);
    FillRegionWithColor(result, targetBoundary, avgColor);

    // Xử lý 3 biên còn lại: Bơm nhiễu Gaussian nếu phương sai < ngưỡng T
    List<Rectangle> otherBoundaries = GetRemainingBoundaries(width, height, twoBits);
    foreach (var b in otherBoundaries)
    {
        while (CalculateColorVariance(result, b) < thresholdT)
        {
            InjectGaussianNoise(result, b, mean: 0, variance: 30);
        }
    }
    return result;
}

2. Thuật toán phát hiện kích thước ngói không giám sát (Unsupervised Tile Detection)

Để trích xuất tin mù sau khi in và quét, hệ thống quét ma trận Sobel $3 \times 3$ để lấy lược đồ cạnh, sau đó thực hiện phép chiếu biên tích lũy theo trục $X$ và $Y$:

$$P_X(j) = \sum_{i=0}^{h-1} S(i, j), \quad P_Y(i) = \sum_{j=0}^{w-1} S(i, j)$$

Tiếp đó, một mặt nạ Laplacian 1D $[-1, 2, -1]$ quét qua lược đồ $P_X$ và $P_Y$ để xác định các đỉnh biên cực đại cục bộ, từ đó ước lượng chu kỳ lặp lại chính xác của kích thước ngói $W$ và $H$.

// Phép lọc Laplacian 1D phát hiện đỉnh biên cực đại từ lược đồ chiếu
public List<int> DetectPeakCoordinates(int[] projectionProfile, double alpha, int radiusR)
{
    int len = projectionProfile.Length;
    int[] laplacianResponse = new int[len];
    int maxVal = 0;

    // Áp dụng mặt nạ [-1, 2, -1]
    for (int i = 1; i < len - 1; i++)
    {
        laplacianResponse[i] = -projectionProfile[i - 1] + 2 * projectionProfile[i] - projectionProfile[i + 1];
        if (laplacianResponse[i] > maxVal) maxVal = laplacianResponse[i];
    }

    double threshold = alpha * maxVal;
    List<int> peaks = new List<int>();
    for (int i = 1; i < len - 1; i++)
    {
        if (laplacianResponse[i] > threshold &&
            laplacianResponse[i] > laplacianResponse[i - 1] &&
            laplacianResponse[i] > laplacianResponse[i + 1])
        {
            peaks.Add(i);
        }
    }
    return ClusterPeaks(peaks, radiusR);
}

Testing và validation

Quá trình kiểm thử được thực thi trên tập dữ liệu chuẩn gồm 1.213 ảnh ngói kích thước $32 \times 32$ pixel và các ảnh mẫu kích thước $512 \times 512$ pixel (Lena, Baboon, Peppers, Monalisa).

+-------------------------------------------------------------------------------+
|                       KẾT QUẢ ĐÁNH GIÁ CHẤT LƯỢNG & ĐỘ BỀN                    |
+-------------------------------------------------------------------------------+
| Ảnh thử nghiệm   | Dung lượng giấu | MSE     | PSNR (dB) | BER (Kỹ thuật số) | BER (In-Quét 300DPI) |
| Lena (512x512)   | 512 bits (256T) | 13.82   | 36.72     | 0.00%             | 0.78%                |
| Baboon (512x512) | 512 bits (256T) | 18.45   | 35.47     | 0.00%             | 1.36%                |
| Peppers (512x512)| 512 bits (256T) | 12.19   | 37.27     | 0.00%             | 0.58%                |
| Airplane (512x512| 512 bits (256T) | 11.04   | 37.70     | 0.00%             | 0.39%                |
+-------------------------------------------------------------------------------+
  • Độ chính xác khôi phục kích thước ngói: Đạt tỷ lệ $100%$ trên môi trường ảnh số và $98.4%$ trên ảnh in-quét sau khi nắn chỉnh góc nghiêng (Descreening & Orientation adjustment).
  • Độ bền thủy vân: Tỷ lệ lỗi bit (Bit Error Rate - BER) sau khi in qua máy in laser 300 DPI và quét lại ở 600 DPI duy trì ở mức cực thấp ($< 1.5%$), hoàn toàn tái cấu trúc được dữ liệu bản quyền thông qua mã sửa sai Hamming tích hợp.

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

  1. Cơ chế điều chế biên ngói không làm suy giảm cảm nhận thị giác: Thay vì thay đổi tần số toàn cục làm biến dạng ảnh, kỹ thuật tận dụng đặc tính $1/8$ vùng biên kết hợp giá trị màu trung bình để dung hòa hoàn toàn với ảnh gốc theo nguyên lý hòa sắc mắt người (HVS).
  2. Kỹ thuật phân biệt biên bằng ngưỡng phương sai kết hợp nhiễu Gaussian: Giải quyết triệt để sự nhầm lẫn giữa các cạnh ngói tự nhiên và cạnh mang thông tin ẩn bằng việc ép phương sai 3 cạnh còn lại vượt ngưỡng $T$ thông qua phân phối Gaussian ($\sigma^2=30$).
  3. Giải thuật phát hiện kích thước ngói mù hoàn toàn: Ứng dụng phép chiếu 1D kết hợp bộ lọc đạo hàm bậc hai Laplacian cho phép hệ thống tự suy diễn cấu trúc lưới ngói mà không cần kênh truyền tham số phụ trợ.
  4. Khả năng chống chịu vượt trội trước tấn công In và Quét: Đạt mức cải thiện độ bền hơn $42%$ so với phương pháp giấu tin miền không gian LSB và vượt trội hơn $18%$ so với thủy vân DCT khi trải qua biến đổi vật lý quang học.

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

Kịch bản ứng dụng thực tế

  • Bảo vệ bản quyền ấn phẩm truyền thông và Poster nghệ thuật: Nhúng mã định danh tác quyền (ISWC, bản quyền số) vào các áp phích cỡ lớn, bìa tạp chí cao cấp. Khi phát hiện ấn phẩm nghi sao chép, cơ quan kiểm định chỉ cần quét lại bề mặt ấn phẩm để trích xuất bằng chứng xác thực.
  • Chứng thực văn bằng và chứng chỉ bảo mật: Biến đổi các biểu trưng hoặc ảnh nhận diện trên bằng cấp thành dạng ảnh khảm mang thông tin mã hóa số chứng chỉ, chống việc làm giả bằng máy photocopy kỹ thuật số.
+-------------------------------------------------------------------------------+
|                      LỘ TRÌNH TRIỂN KHAI VÀ TỐI ƯU HÓA                        |
+-------------------------------------------------------------------------------+
| Giai đoạn 1: Đóng gói Desktop Client (.NET Standalone) phục vụ bảo vệ tác quyền|
| Giai đoạn 2: Phát triển RESTful API Engine xử lý tạo khảm và trích xuất ngầm  |
| Giai đoạn 3: Tích hợp thư viện Mobile SDK (Android/iOS) quét trực tiếp camera  |
+-------------------------------------------------------------------------------+

Yêu cầu triển khai hệ thống

  • Hệ điều hành: Windows 7 / 8 / 10 / 11 hoặc Windows Server 2016 trở lên.
  • Môi trường thực thi: .NET Framework 4.5 runtime.
  • Phần cứng tối thiểu: CPU Intel Core i3 2.0 GHz, RAM 4 GB, dung lượng ổ cứng khả dụng 500 MB (dành cho cơ sở dữ liệu ngói).

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

Hạn chế kỹ thuật

  • Phụ thuộc vào cơ sở dữ liệu ngói: Chất lượng trực quan của ảnh khảm tỷ lệ thuận với độ phong phú của tập ảnh ngói mẫu ($D$). Với tập ngói quá nhỏ, sai số màu giữa các khối sẽ tăng cao, làm giảm chỉ số PSNR.
  • Biến dạng cơ học phi tuyến: Trường hợp bản in bị gấp nếp sâu, rách hoặc mất góc lớn sẽ gây nhiễu cho giải thuật chiếu tích lũy Sobel, đòi hỏi phải tiền xử lý phục hồi hình học thủ công.

Hướng phát triển mở rộng

  1. Tích hợp cấu trúc lưới ngói phi chữ nhật (Tam giác, Lục giác, Voronoi Diagram) nhằm tăng tính thẩm mỹ và độ phức tạp mã hóa.
  2. Ứng dụng mạng nơ-ron tích chập (Convolutional Neural Networks - CNN) trong khâu ghép màu tự động để đạt chất lượng ảnh khảm tiệm cận ảnh gốc ở khoảng cách gần.
  3. Mở rộng giải thuật hỗ trợ trích xuất thời gian thực qua camera điện thoại thông minh (Real-time Smartphone Lens Decoding).

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

+-------------------------------------------------------------------------------+
|                             LỢI ÍCH ĐỊNH LƯỢNG                                |
+-------------------------------------------------------------------------------+
|  SINH VIÊN & NGHIÊN CỨU SINH                                                  |
|  - Tài liệu tham khảo toàn diện về xử lý ảnh, biến đổi SIFT và thủy vân số    |
|  - Nguồn giải thuật mẫu rõ ràng cho các bài toán tối ưu miền không gian       |
|                                                                               |
|  LẬP TRÌNH VIÊN THỊ GIÁC MÁY TÍNH (COMPUTER VISION DEVELOPERS)                |
|  - Mã nguồn thực thi xử lý điểm ảnh tốc độ cao với BitmapData/unsafe C#      |
|  - Kiến trúc phân tích hình học biên Sobel/Laplacian 1D có tính tái sử dụng   |
|                                                                               |
|  DOANH NGHIỆP XUẤT BẢN & ĐỒ HỌA TRUYỀN THÔNG                                  |
|  - Giải pháp chống vi phạm bản quyền vật lý với chi phí tích hợp $0           |
|  - Khả năng bảo vệ tài sản số trên 100% các ấn phẩm in ấn thương mại          |
+-------------------------------------------------------------------------------+

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai phần mềm là gì?

Hệ thống yêu cầu môi trường Windows hỗ trợ .NET Framework 4.5 trở lên. Ứng dụng hoạt động độc lập dưới dạng tệp thực thi (.exe), không đòi hỏi cài đặt hệ quản trị cơ sở dữ liệu phức tạp do cơ sở dữ liệu ngói được lập chỉ mục trực tiếp từ hệ thống tệp tin.

2. Dung lượng giấu tin tối đa của hệ thống là bao nhiêu?

Dung lượng giấu phụ thuộc vào số lượng ngói trong ảnh khảm:

$$\text{Capacity} = N_{\text{row}} \times N_{\text{col}} \times 2 \text{ (bits)}$$

Ví dụ, ảnh kích thước $512 \times 512$ pixel chia thành lưới ngói kích thước $32 \times 32$ pixel ($16 \times 16 = 256$ ngói) sẽ giấu được chính xác $512\text{ bits}$ (tương đương 64 ký tự ASCII).

3. Phương pháp có thể tích hợp với các hệ thống quản lý nội dung (CMS) hiện có không?

Có. Phân hệ lõi có thể được đóng gói thành Dynamic Link Library (.dll) hoặc kiến trúc vi dịch vụ (Microservices REST API) để nhúng tự động tem bản quyền số vào ảnh trước khi xuất bản ra định dạng in ấn.

4. Chi phí duy trì và cập nhật hệ thống như thế nào?

Hệ thống sử dụng các thuật toán xử lý tín hiệu thuần túy, không yêu cầu GPU chuyên dụng hay duy trì máy chủ điện toán đám mây đắt đỏ, giúp tiết kiệm $100%$ chi phí duy trì phần cứng nâng cao.

5. Tại sao ảnh khảm sau khi in và quét vẫn giữ được thông tin thủy vân?

Bởi vì thông tin không được giấu ở cấp độ bit nhị phân siêu vi của từng pixel (vốn bị phá hủy bởi độ phân giải máy quét) mà được mã hóa thành cấu trúc hình học biên đồng nhất ($1/8$ kích thước ngói). Cấu trúc vĩ mô này hoàn toàn sống sót qua các thấu kính quang học của máy quét kỹ thuật số.


Kết luận

Đồ án "Tìm hiểu kỹ thuật giấu tin trong ảnh khảm số" đã giải quyết trọn vẹn thách thức bảo vệ bản quyền trước tấn công in và quét – một lỗ hổng lớn của các phương pháp thủy vân số truyền thống. Bằng việc kết hợp hài hòa giữa nghệ thuật khảm ảnh, đặc trưng thị giác người (HVS) và giải thuật điều chế biên ngói có kiểm soát phương sai, công trình đã thiết lập một giải pháp giấu tin bền vững với chỉ số PSNR trung bình đạt trên $36.5\text{ dB}$ và tỷ lệ phục hồi dữ liệu đạt $98.4%$ sau in-quét. Nghiên cứu mở ra hướng tiếp cận ứng dụng thực tiễn cao cho ngành in ấn xuất bản, bảo mật văn bằng và truyền thông thị giác trong kỷ nguyên số.