Thuật toán RS (Regular – Singular)

Một phần của tài liệu LUẬN VĂN: NGHIÊN CỨU MỘT SỐ KHẢ NĂNG PHÁT HIỆN TIN GIẤU TRONG MÔI TRƯỜNG ẢNH ppt (Trang 76 - 81)

Ý tưởng

Kỹ thuật RS phân hoạch ảnh cần kiểm tra thành các nhóm điểm ảnh cố định. Mỗi nhóm đó lại được phân lớp vào các nhóm R hay S phụ thuộc vào sự khác biệt giữa các điểm ảnh trong nhóm bị tăng hoặc giảm sau phép lật bit LSB với mặt nạ M. Sau đó tính xác suất của việc giấu tin căn cứ vào số nhóm R, S đó.

Input

Ảnh I cần kiểm tra.

n: số phần tử của một nhóm

Mn: mặt nạ là một vecto có các phần tử nhận giá trị trong tập {-1, 0, 1}

Output

p: Xác suất giấu tin trong ảnh I

Thuật toán

Bước 1: Đọc vào ảnh I

Bước 2: Đọc giá trị các điểm ảnh vào một ma trận AMxN. Bước 3: P = P {xi} với xi [0, 255].

Bước 4: Chia ảnh thành MxN/n nhóm khác nhau. Mỗi nhóm n điểm ảnh. Với mỗi nhóm G = (x1, x2, …, xn) ta thực hiện các bước sau:

Bước 5: Tính hàm f(G) 1   1 1 ) ( n i xi xi G f

Bước 6: Cho mặt nạ M = {M(i)}i = 1,…, n với M(i)  {-1, 0, 1}. Tính

FM(G) = (FM(1)(x1), FM(2)(x2), …, FM(n)(xn)) Bước 7: Phân lớp nhóm G

Nếu f(FM(G)) > f(G) thì R = R  G; Nếu f(FM(G)) < f(G) thì S = S  G; Nếu f(FM(G)) = f(G) thì U = U  G;

Bước 8: Tính

RM = số các nhóm R tương ứng với mặt nạ M, M(i)  {0, 1} SM = số các nhóm S tương ứng với mặt nạ M, M(i)  {0, 1} R-M = số các nhóm R tương ứng với mặt nạ M, M(i)  {-1, 0} S-M = số các nhóm S tương ứng với mặt nạ M, M(i)  {-1, 0} Bước 9:

Nếu |RM| =|SM| thì p = 1

Ngược lại thực hiện các bước 9 đến bước 12 Bước 10: Tính các hệ số

d0 = RM(p/2) - SM(p/2); d1 = RM(1- p/2) - SM(1- p/2); d-0 = R-M(p/2) – S-M(p/2); d-1 = R-M(1- p/2) – S-M(1- p/2); Bước 11: Tính xp là nghiệm của phương trình

2d1d0x2p d0d1d13d0xpd0d0 0

Bước 12: Tính ước lượng độ dài thông điệp p p = xp /(xp – ½);

Phân tích thuật toán RS

Ban đầu phân hoạch MxN điểm ảnh thành (MxN/n) nhóm mỗi nhóm n điểm ảnh độc lập liền kề nhau. Thông thường chọn n = 4 (là các khối 2x2). Với P là tập tất cả các giá trị điểm ảnh. Với mỗi nhóm G chứa n giá trị điểm ảnh trên P. G = (x1, x2, …, xn). Ta sẽ phân lớp các nhóm G vào ba lớp R, S, U. Trước tiên, ta xác định hàm f(G) là tổng khoảng cách về sự khác biệt giữa các phần tử kề nhau trong G theo định nghĩa 3.3.1. Tiếp theo với mỗi điểm ảnh xi (1  i  n) của nhóm G, ta xác định hàm lật bit FM(i)(xi). Giá trị của hàm này phụ thuộc vào giá trị của M(i) tương ứng trong mặt nạ M. Nếu M(i) = 0 thì FM(i)(xi) = xi điều này nghĩa là không có sự thay đổi bit tại xi. Nếu M(i) = 1 và xi ≥ 0 thì FM(i)(xi) sẽ nhận giá trị xi +1 nếu xi là số chẵn, ngược lại sẽ nhận giá trị là xi-1 nếu xi là số lẻ. Nếu M(i) = 1 và xi ≥ -1, thì FM(i)(xi) sẽ nhận giá trị là xi+1 nếu xi là lẻ, ngược lại hàm sẽ nhận giá trị là xi-1 nếu xi là số chẵn. Với mỗi FM(i)(xi) với 1  i  n có ta thu được F (G) = (F (x), F (x ), …, F (x )).

Ở bước tiếp theo, với mặt nạ M = {M(i)}i = 1,…, n với M(i)  {-1, 0, 1}, hàm f(G) và FM(G) đã thu được ở bước trước, ta phân lớp nhóm G thành các lớp R, S, U theo định nghĩa 3.3.2. Nếu nhóm G không có sự thay đổi giá trị của các phần tử kề nhau sau phép lật bit theo mặt nạ M (tương ứng M = {0}) thì G  U. Nếu sự khác biệt giữa các phần tử kề nhau sau phép lật bit trên nhóm G theo mặt nạ M là lớn hơn sự khác biệt giữa các phần tử kề nhau trong nhóm G ban đầu thì G  R, ngược lại G  S.

Sau khi phân lớp các nhóm G, nếu sử dụng mặt nạ M với các phần tử có giá trị không âm (thuộc {0,1}) để lật bit, đếm số nhóm G  R, gọi là RM, tương tự SM là số nhóm G  S; nếu sử dụng mặt nạ M với các phần tử có giá trị không dương {-1,0} để lật bit, đếm số nhóm G  R, gọi là R-M, tương tự S-M là số nhóm G  S.

Nếu có một ảnh chứa tin ẩn (stego) với chiều dài thông điệp ẩn đã giấu là p (phần trăm các điểm ảnh) chưa được biết. Khởi tạo, độ đo của số các phần tử trong các nhóm R và S tương ứng là RM(p/2), R-M(p/2), SM(p/2), S-M(p/2).

Giả sử thông điệp là một vecto bit ngẫu nhiên, trung bình chỉ một nửa các điểm ảnh sẽ bị lật bít thông qua việc giấu tin, nếu ta lật bít LSB của tất cả các điểm ảnh thì số các phần tử của nhóm R và S là RM(1 - p/2), SM(1- p/2), R-M(1-p/2), S-M(1- p/2). Hình 2.4 dưới đây mô tả một đồ thị RS với trục x là giá trị phần trăm các điểm ảnh đã bị lật bit LSB, trục y là số tương đối các nhóm R và S với các mặt nạ M, -M. Trong đó M = [0, 1, 1, 0].

Người ta đã tiến hành thực nghiệm và các kết quả thực nghiệm đã chỉ ra rằng các đường R-M và S-M gần như một đường thẳng trong khi các đường RM và SM xấp xỉ đường cong của một đa thức bậc hai (parabol). Cũng bằng thực nghiệm, ước lượng hai giá trị của RM(1/2) và SM(1/2) từ các mẫu thống kê ta thu được RM(1/2) = SM(1/2).

Để không mất thời gian làm thực nghiệm và để việc ước lượng chiều dài thông điệp được đơn giản hơn ta chấp nhận hai giả thiết sau đây. Các giả thiết này đã được người ta tiến hành thực nghiệm để kiểm chứng [26].

(i). Giao điểm của các đường RM và R-M có cùng tọa độ x với giao điểm của SM, S-M.

(ii). RM(1/2) = SM(1/2).

Trên đồ thị RS, số các nhóm R và S ở p/2 và 1-p/2 tạo thành các đường thẳng (hình 2.4), các điểm còn lại và hai giả thiết (i) và (ii) ở trên cung cấp các ràng buộc đầy đủ để xác định duy nhất các parabol và giao điểm của chúng. Sau khi thay đổi tỷ lệ trên trục x để p/2 thành 0 và 100-p/2 thành 1 bằng phép thế tuyến tính xp = (x-p/2)(1- p), tọa độ x của các giao điểm là nghiệm của phương trình sau:

   3  0

2 2 0 1 1 0 0 0

0

1d xd d dd xdd 

d p p

Trong đó các hệ số đã được chỉ ra trong bước 10 của thuật toán. Cuối cùng ta tính ước lượng độ dài thông điệp p như công thức ở bước 12.

* Độ chính xác của độ dài thông điệp đã được ước lượng

Có ba yếu tố chính ảnh hưởng đến độ chính xác của độ dài thông điệp đã được ước lượng đó là: độ lệch ban đầu, mức độ nhiễu hoặc chất lượng của ảnh mang tin và vị trí của các bit thông điệp trên ảnh [26].

Thứ nhất, độ lệch ban đầu: Kỹ thuật RS có thể cho độ dài thông điệp khác 0 nhờ số chẵn các biến ngẫu nhiên trên ảnh gốc. Độ lệch ban đầu khác không có thể là một số dương hoặc âm và nó đặt ra một giới hạn cho độ chính xác có được của phương pháp RS. Người ta đã tiến hành kiểm tra với một cơ sở dữ liệu gồm 331 ảnh đa cấp xám JPEG và thu được một phân phối Gauss có độ lệch chuẩn 0.5%. Số ảnh nhỏ hơn thì phải có số các biến cao hơn trong độ lệch ban đầu vì số lượng các nhóm R và S là nhỏ hơn. Các ảnh trung gian và các ảnh nhiễu có các biến lớn hơn trong các độ lệch ban đầu. Ngược lại, độ lệch lại rất thấp đối với các ảnh JPEG, các ảnh không được nén thu được qua các camera số, qua máy quét và các các ảnh đã qua bộ lọc xử lý ảnh. Các ảnh mầu cũng cho các biến lớn hơn trong độ lệch so với các ảnh đa cấp xám.

Thứ hai, mức độ nhiễu: Với các ảnh có nhiều nhiễu, sự khác biệt giữa số các điểm ảnh R và S trên ảnh “cover” là nhỏ. Do vậy, các đường trên đồ thị RS giao nhau ở một góc nhỏ và độ chính xác của kỹ thuật RS giảm. Đối với ảnh chất lượng thấp, ảnh đã qua nén và các ảnh nhỏ cũng như vậy.

Thứ ba, vị trí các bít thông điệp trên ảnh: Kỹ thuật RS chính xác hơn nếu các bit thông điệp được phân bố một cách rời rạc ngẫu nhiên trên ảnh.

Một phần của tài liệu LUẬN VĂN: NGHIÊN CỨU MỘT SỐ KHẢ NĂNG PHÁT HIỆN TIN GIẤU TRONG MÔI TRƯỜNG ẢNH ppt (Trang 76 - 81)