Mô hình hệ thống thủy vân cơ bản

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số phương pháp thủy vân bền vững dựa trên các biến đổi ma trận SVD và QR (Trang 32 - 55)

 Quá trình nhúng thủy vân:

Input:

- Ảnh I dùng làm môi trường nhúng. - Dấu thủy vân W.

- Khóa K (có thể có hoặc không).

Output:

- Ảnh I’ là ảnh I đã biến đổi sau khi nhúng W.  Quá trình trích thủy vân:

Trích thủy vân là quá trình ngược của nhúng thủy vân với mục đích lấy ra được thông tin đã giấu. Dấu thủy vân sau khi được lấy ra sẽ được so sánh với dấu thủy vân gốc để xác định bản quyền tác giả.

Input:

- Ảnh I dùng làm môi trường nhúng. - Dấu thủy vân W.

- Khóa K (tùy chọn).

Output:

- Ảnh I’ là ảnh I đã biến đổi sau khi nhúng W.

1.5.5. Tấn công thủy vân

Tấn công thủy vân là các phương pháp tác động nhằm thay đổi ảnh thủy vân nhằm xóa bỏ các vết tích dấu thủy vân trong ảnh. Các tấn công này bao gồm cả tấn công có chủ đích và không có chủ đích. Bằng cách sử dụng các phần mềm chỉnh sửa ảnh tiên tiến hiện nay như: Adobe Photoshop, Picasa,…. kẻ tấn công có thể dễ dàng thực hiện các phép biến đổi ảnh. Các tấn công có thể sử dụng nhưng phép biến đổi sau: nén, quay, cắt, làm mờ, biến đổi histogram,…

1.5.6. Đánh giá chất lượng thủy vân

Để đánh giá một hệ thống thủy vân có tốt hay không thông qua một số giá trị độ đo sau:

Hệ số PSNR

Chất lượng ảnh chứa dấu thủy vân có thể đánh giá bằng hệ số PSNR (Peak Signal to Noise Ratio). Lược đồ có hệ số PSNR càng lớn thì chất lượng ảnh càng cao. Hệ số PSNR của ảnh chứa tin I’ so với ảnh gốc I kích thước 𝑚 × 𝑛 được tính theo công thức :

𝑃𝑁𝑆𝑅 = 20. 𝑙𝑜𝑔10(𝑀𝐴𝑋

√𝑀𝑆𝐸) (1.1)

Trong đó MAX, là giá trị cực đại của điểm ảnh và MSE (Mean Square Error) được xác định theo công thức : 𝑀𝑆𝐸 = 1 𝑚 × 𝑛 . ∑ ∑(𝐼(𝑖, 𝑗) − 𝐼 ′(𝑖, 𝑗))2 𝑛 𝑗=1 𝑚 𝑖=1

Đối với ảnh màu, thì giá trị PSNR có thể chấp nhận được nếu thuộc khoảng tử 30dB đến 50dB.

Hệ số Diff

Giả sử I là ảnh gốc và I' là ảnh sau khi nhúng dấu thuỷ vân (ảnh thuỷ vân). Để đánh giá chất lượng của ảnh thuỷ vân I' có thể sử dụng chuẩn của ma trận hiệu I' - I:

∥ 𝐼′− 𝐼 ∥= ∑ ∑ |𝐼(𝑖, 𝑗) − 𝐼′(𝑖, 𝑗)| 𝑛

𝑗=1 𝑚

𝑖=1

Nếu giá trị này càng nhỏ thì I' càng giống I và chất lượng ảnh thuỷ vân càng tốt. Rõ ràng ||I' - I|| phụ thuộc vào kích thước của ảnh. Để có một đánh giá độc lập với kích thước ảnh, có thể dùng đại lượng sau:

𝐷𝑖𝑓𝑓 =∥ 𝐼

′− 𝐼 ∥

𝑚 × 𝑛 (1.2)

đó chính là độ sai khác trung bình giữa ảnh gốc và ảnh thuỷ vân.

Trong các nhận xét đánh giá của luận văn sẽ dùng Diff để đánh giá chất lượng ảnh của các lược đồ thuỷ vân. Lược đồ nào có Diff nhỏ hơn thì có chất lượng ảnh thuỷ vân tốt hơn.

Hệ số Err

Để so sánh dấu thủy vân 𝑊∗ = (𝑤1∗, 𝑤2∗, … , 𝑤𝑡∗) trích ra từ 𝐼∗(ảnh thủy vân đã bị tấn công) với dấu thủy vân gốc 𝑊 = (𝑤1, 𝑤2, … , 𝑤𝑡) bằng cách dùng hệ số Err:

𝐸𝑟𝑟 =1

𝑡∑ 𝑤𝑖 ⨁ 𝑤𝑖∗ 𝑡

𝑖=1

(1.3) Nhận thấy Err là độ sai khác trung bình giữa WW*, nó có giá trị trong đoạn

[0,1]Err = 0 nếu wi = wi* (với ∀𝑖), Err = 1 nếu wi wi* (với ∀𝑖)).

Hệ số Err được so sánh với ngưỡng 𝜏 ∈ [0,1], nếu Err < 𝜏(tức là W* khá gần với

W) thì kết luận ảnh I* có nhúng dấu thủy vân W và ảnh I* vẫn thuộc về tác giả có ảnh

I’.

Trong các lược đồ dưới đây sẽ dùng Err để đánh giá độ bền vững của các lược đồ thuỷ vân. Lược đồ nào có Err nhỏ hơn thì bền vững hơn trước các phép tấn công ảnh.

1.5.7. Ứng dụng của thủy vân

Yêu cầu cơ bản nhất của hệ thống thủy vân là phải đảm bảo tính chất bền vững và người ta đã ứng dụng kỹ thuật giấu tin vào vào một số bài toán sau:

Bài toán bảo vệ quyền tác giả

Đây là ứng dụng cơ bản nhất của kỹ thuật thủy vân số. Một thông tin nào đó mang ý nghĩa đặc trưng riêng bản quyền được sở hữu bởi tác giả thì gọi nó là thủy vân, thông tin này sẽ được nhúng vào trong các sản phẩm đa phương tiện, và nó là minh chứng cho bản quyền của tác giả nhằm bảo vệ các sản phẩm chống lại các hành vi vi phạm lấy cắp hoặc làm nhái. Các yêu cầu kỹ thuật đối với ứng dụng này là thủy vân phải tồn tại bền vững cùng với sản phẩm, chỉ khi muốn bỏ thủy vân này mà không được phép của người chủ sở hữu hay tác giả thì chỉ còn có cách là phá hủy sản phẩm đó.

Bài toán giấu tin mật

Với bài toán này, thông tin cần được che giấu trong trường hợp này là cần được bảo vệ trước các đối tượng không được phép. Việc giải mã nó để nhận được thông tin cũng không cần dữ liệu môi trường gốc. Đối với các thuật toán giấu thông tin mật này không quan tâm đến việc bảo vệ thông tin mật trước sự tấn công, phá hoại của các đối thủ mà thay vào đó là các thuật toán rất chú trọng đến tính ẩn và tính an toàn đối với dữ liệu thông tin cần che giấu. Do đó, các thuật toán giấu tin này có độ bảo mật cao sẽ được dùng trong các ứng dụng giấu tin mật.

Bài toán xác thực thông tin

Với bài toán này, một số thông tin sẽ được che giấu trong dữ liệu nguồn và thông tin này sẽ được sử dụng để nhận biết xem dữ liệu nguồn có bị thay đổi, biến dạng hay không. Với loại ứng dụng này thì thủy vân cần được ẩn để tránh được sự tò mò, nhận thấy của đối thủ, hơn nữa việc làm giả các thủy vân hợp lệ hay xuyên tạc thông tin nguồn cũng rất cần được quan tâm chú ý. Các ứng dụng trong thực tế, người ta mong muốn tìm được vị trí bị xuyên phá cũng như nhận biết được các thay đổi. Các yêu cầu chung đối với loại ứng dụng này là khả năng giấu thông tin rất cao và thủy vân không cần bền vững.

Bài toán kiểm soát sao chép

Với bài toán này, thủy vân được sử dụng để kiểm soát việc sao chép thông tin. Các thiết bị phát hiện ra thủy vân thường được cài đặt sẵn trong các hệ thống đọc và ghi. Các ứng dụng thuộc bài toán này yêu cầu thủy vân phải được đảm bảo an toàn và cũng sử dụng phương pháp phát hiện thủy vân đã giấu mà không cần thông tin gốc.

Bài toán dán nhãn hay giấu vân tay

Với bài toán này, thủy vân số được sử dụng để nhận diện người gửi hay người nhận của một thông tin nào đó. Như các thủy vân khác nhau sẽ được nhúng vào các bản sao khác nhau của thông tin gốc trước khi gửi đi cho nhiều người khác nhau. Yêu cầu của các ứng dụng này là đảm bảo độ an toàn cao cho các thủy vân nhằm tránh sự xóa dấu vết trong khi phân phối, truyền tải.

MỘT SỐ LƯỢC ĐỒ THỦY VÂN DỰA TRÊN PHÉP BIẾN ĐỔI SVD VÀ QR

Tóm tắt: Chương này trình bày về hai lược đồ thủy vân dựa trên phép biến đổi ma trận SVD (𝐴 = 𝑈 × 𝐷 × 𝑉𝑇) và hai lược đồ thủy vân dựa trên phép biến đổi ma trận QR (𝐴 = 𝑄 × 𝑅). Trong phép biến đổi SVD, ma trận D là ma trận đường chéo chính, đặc trưng cho cường độ sáng của ảnh, trong đó phần tử D(1,1) tập trung nhiều năng lượng của ảnh nhất. Hai lược đồ thủy vân trình bày dưới đây sẽ sử dụng ma trận D để nhúng thủy vân. Thuật toán SVD-1 sẽ nhúng 1 bit của dấu thủy vân vào phần tử D(1,1) và thuật toán SVD-n sẽ nhúng 1 bit của dấu vào tất cả các phần tử trên đường chéo chính của ma trận D. Tiếp theo, tác giả trình bày hai lược đồ thủy vân dựa trên phép biến đổi QR. Lược đồ thứ nhất nhúng một bit thủy vân vào một phần tử tùy ý trên hàng đầu ma trận R (của mỗi khối ảnh), gọi là lược đồ QR-1 và lược đồ thứ hai nhúng một bit trên cả hàng đầu ma trận R (của mỗi khối ảnh), gọi là lược đồ QR-N

2.1. Lược đồ thủy vân SVD-1

Phép biến đổi SVD được dùng khá nhiều để xây dựng các lược đồ thủy vân. Có hai hướng nghiên cứu xây dựng các lược đồ thủy vân dựa trên cách tiếp cận này. Hướng thứ nhất: nhúng dấu thủy vân vào ma trận D bằng cách nhúng vào phần tử D(1,1) [21], nhúng vào một số phần tử đầu trên đường chéo [22,23], nhúng vào tất cả các phần tử trên đường chéo [6], hoặc nhúng vào toàn bộ D [11]. Hướng thứ hai: nhúng dấu thủy vân vào các phần tử trên cột thứ nhất của ma trận U và/hoặc V [8,11]. Ngoài ra, có nhiều nghiên cứu sử dụng đồng thời phân tích SVD với các phép biến đổi ma trận khác như DCT, DWT,… để xây dựng các lược đồ thủy vân kết hợp như trong [7,12,14,15,20].

2.1.1. Ý tưởng

Lược đồ thủy vân SVD-1 thực hiện nhúng 1 bit của dấu thủy vân vào phần tử

D(1,1). Vì phần tử D(1,1) tập trung nhiều năng lượng của ảnh nhất (lớn hơn nhiều so với các phần tử D(2,2), D(3,3), …) nên khi thực hiện phương pháp này, độ bền vững của ảnh thủy vân sẽ cao, tuy nhiên chất lượng ảnh sau khi nhúng sẽ có nhiều biến đổi. Để minh họa cho sự tập trung năng lượng ảnh vào D(1,1), ta xét biến đổi SVD trên một khối ảnh A kích thước 8×8 như sau: 𝐴 = 𝑈 × 𝐷 × 𝑉𝑇

Nhìn vào kết quả trên ta nhận thấy rõ ràng phần tử D(1,1) có giá trị lớn hơn rất nhiều so với các giá trị còn lại của ma trận D. Chứng tỏ D(1,1) tập trung rất nhiều năng lượng của ma trận A.

2.1.2. Quá trình nhúng thủy vân

Quá trình nhúng thủy vân sẽ tiến hành chia ảnh môi trường thành nhiều khối ảnh kích thước 8 × 8 không chờm nhau. Sau đó thực hiện biến đổi SVD trên từng khối ảnh này, đồng thời mỗi bit của dấu thủy vân sẽ được nhúng vào phần tử D(1,1) của ma trận

Dữ liệu đầu vào và dữ liệu đầu ra như sau:

Input:

- Ảnh I dùng làm môi trường nhúng thủy vân. - Dấu thủy vân W = (w1,...,wt) có độ dài t bit. - Số nguyên dương q dùng làm hệ số lượng tử.

Output:

- Đầu ra là ảnh I’ chứa dấu thủy vân W. Thuật toán thực hiện theo các bước sau:

Bước 1: Chia ảnh I thành t khối không giao nhau từng đôi một và có cùng kích thước m×n, ký hiệu là Ii, i=1,2,...,t.

Bước 2: Áp dụng biến đổi SVD trên mỗi khối Ii: 𝐼𝑖 = 𝑈𝑖 × 𝐷𝑖× 𝑉𝑇

Bước 3: Nhúng bit wi vào phần tử Di(1,1) của ma trận đường chéo Di:

Bước 3.1:Tính:

Zi = Di(1,1) mod q

Trong đó, q là hệ số lượng tử cho trước, nó thể hiện tính bền vững của lược đồ thủy vân. Nếu hệ số q càng nhỏ thì tính bền vững của lược đồ càng thấp, nhưng chất lượng ảnh thủy vân càng cao. Ngược lại hệ số q càng lớn thì tính bền vững của lược đồ càng cao, nhưng chất lượng ảnh thủy vân càng thấp. Vì vậy hệ số q nên được chọn sao cho cân bằng giữa tính bền vững và chất lượng ảnh theo yêu cầu thực tế sử dụng.

Bước 3.2: Điều chỉnh Di(1,1) thành Di’(1,1): - Trường hợp wi = 0: Nếu Zi < 3q/4, Di’(1,1) = Di(1,1) + q/4- Zi Ngược lại, Di’(1,1) = Di(1,1) + 5q/4- Zi - Trường hợp wi = 1: Nếu Zi < q/4, Di’(1,1) = Di(1,1) - q/4 - Zi Ngược lại, Di’(1,1) = Di(1,1) + 3q/4 - Zi

Sau khi thực hiện nhúng wi vào Di ta nhận được Di’ chỉ khác Di tại vị trí (1,1).

Bước 4: Tính:

𝐼𝑖′ = 𝑈𝑖 × 𝐷𝑖 × 𝑉𝑖𝑇

2.1.3. Quá trình trích thủy vân

Sau quá trình nhúng dấu thủy vân W vào ảnh I, ảnh I đã bị biến đổi thành ảnh I’. Ảnh I’ đã nhúng thủy vân có thể bị tấn công bởi các phép biến đổi ảnh như thêm nhiễu, lọc, làm mờ, nén JPEG ..., khi đó ảnh I’ bị biến đổi thành ảnh I* (gọi I* là phiên bản tấn công của I’). Thuật toán dưới đây sẽ kiểm tra sự tồn tại của dấu thủy vân trong ảnh I* để kết luận về bản quyền đối với I* của tác giả có ảnh I’.

Bước 1: Chia ảnh I* thành t khối như trong thuật toán nhúng thủy vân, ký hiệu là 𝐼𝑖∗, i=1,...,t.

Bước 2: Áp dụng biến đổi SVD trên mỗi khối 𝐼𝑖∗: 𝐼𝑖∗ = 𝑈𝑖∗× 𝐷𝑖∗× 𝑉𝑖∗𝑇

Bước 3: Tính:

𝑍𝑖 ∗= 𝐷𝑖∗(1,1) 𝑚𝑜𝑑 𝑞 Xác định bit 𝑤𝑖∗từ 𝐷𝑖∗(1,1)như sau:

𝑤𝑖∗= {0 𝑛ế𝑢 𝑍𝑖

∗ < 𝑞/2 1 𝑛ế𝑢 𝑍𝑖∗≥ 𝑞/2

Bước 4: So sánh dấu thủy vân  * *

1 *

,...,wt w

W  trích ra từ I* với dấu thủy vân gốc

w wt

W  1,..., bằng cách dùng hệ số Err.

2.1.4. Một số nhận xét về lược đồ SVD-1

Lược đồ SVD-1 sử dụng một thuật toán nhúng một bit thủy vân vào phần tử thực x. Sau khi nhúng thì x bị thay đổi thành x’ có độ sai khác không quá q/2:

|x-x’| ≤ q/2

Gọi x* là một phiên bản tấn công của x’ và ta cần trích một bit từ x*. Cũng có thể thấy rằng nếu mức độ biến đổi giữa x* và x’ không quá q/4 :

|x*-x’| < q/4

thì bit trích rút từ x* sẽ trùng với bit thủy vân ban đầu. Như vậy ta có thể nói thuật toán này có mức sai số q/2 và độ bền vững q/4.

2.2. Lược đồ thủy vân SVD-n

2.2.1. Ý tưởng

Lược đồ SVD-n sẽ thực hiện nhúng 1 bit của dấu thủy vân vào tất cả các phần tử nằm trên đường chéo chính của ma trận D.

2.2.2. Quá trình nhúng thủy vân

Quá trình nhúng thủy vân của lược đồ SVD-n cũng bao gồm 4 bước như trong lược đồ SVD-1. Tuy nhiên có một sự thay đổi thuật toán nhúng thủy vân tại Bước 3 như sau:

Bước 3: Nhúng bit wi vào Di để nhận Di’:

Bước 3.1: Tính:

𝑥𝑖 = ∥ 𝑋𝑖 ∥ +1 𝑘𝑖 = ⌊𝑥𝑖

𝑞⌋

Trong đó véc tơ Xigồm các phần từ trên đường chéo của ma trận Di :

Xi = (Di(1,1), Di(2,2),…,Di(s,s)), với s=min(m,n). Bước 3.2: Điều chỉnh ki:

Trường hợp wi=1:

Nếu ki lẻ thì ki = ki+1. Ngược lại ki không thay đổi. Trường hợp wi = 0:

Nếu ki chẵn thì ki = ki +1. Ngược lại ki không thay đổi.

Bước 3.3: Điều chỉnh Di thành Di’: 𝑥𝑖′ = 𝑞 × 𝑘𝑖 +𝑞 2 𝑋𝑖′ = 𝑋𝑖×𝑥𝑖 ′ 𝑥𝑖

thu được ma trận Di’ với đường chéo là véc tơ Xi'.

Ghi chú: Trong lược đồ [6], hệ số lượng tử q được tính theo Ii. Ở đây để đơn giản và tiện so sánh với các lược đồ trong mục 4, q được xem là cố định.

2.2.3. Quá trình trích thủy vân

Tương tự lược đồ SVD-1, quá trình trích thủy vân của lược đồ SVD-n cũng gồm 4 bước như thuật toán trích thuỷ vân của lược đồ SVD-1, chỉ khác ở Bước 3 như sau:

Bước 3: Xác định bit 𝑤𝑖∗từ đường chéo của 𝐷𝑖∗:

Bước 3.1: Tính:

𝑥𝑖∗=∥ 𝑋𝑖∗ ∥ +1 𝑘𝑖∗ = ⌊𝑥𝑖

∗ 𝑞⌋

𝑋𝑖∗= (𝐷𝑖∗(1,1), 𝐷𝑖∗(2,2), … , 𝐷𝑖∗(𝑠, 𝑠))

Bước 3.2: Xác định wi*:

𝑤𝑖∗ = {0 𝑛ế𝑢 𝑘𝑖

∗ 𝑚𝑜𝑑 2 = 1 1 𝑛ế𝑢 𝑘𝑖∗ 𝑚𝑜𝑑 2 = 0

Tiếp tục thực hiện Bước 4 như trong lược đồ SVD-1, chúng ta sẽ tìm được dấu thủy vân W.

2.2.4. Một số nhận xét về lược đồ SVD-n

Trong lược đồ này sử dụng một thuật toán nhúng một bit thủy vân vào véc tơ thực X. Sau khi nhúng X bị thay đổi thành X’. Có thể chứng minh độ sai khác giữa X và X’ không quá 3*q/2 :

||𝑋 − 𝑋’|| < 3 × 𝑞/2

Gọi 𝑋∗ là một phiên bản tấn công của X’ và ta cần trích một bit từ 𝑋∗. Sử dụng giả thiết ||X|| >3 (thực tế ||X|| có giá trị vào khoảng 1000), có thể chứng minh rằng tồn tại một giá trị sao cho khi :

| ||𝑋∗|| − ||𝑋’|| | < 𝑝

thì bit trích rút từ 𝑋∗ sẽ trùng với bit thủy vân ban đầu. Như vậy ta có thể nói thuật

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số phương pháp thủy vân bền vững dựa trên các biến đổi ma trận SVD và QR (Trang 32 - 55)

Tải bản đầy đủ (PDF)

(64 trang)