Thuật toán SVD tách các vector đặc trưng – mang một số tính chất quan trọng của sự bất biến đại số và hình học và sự không nhạy với nhiễu. So với thuật toán DWT thì Phương pháp được đề xuất toàn diện hơn, giảm tính phức tạp của các thuật toán và miễn nhiễm với nhiễu tốt hơn. Kết quả thực nghiệm cho thấy rằng phương pháp được đề xuất cho độ tin cậy cao hơn và chính xác đối với một vài hành vi chỉnh lý hình ảnh. (ví dụ: lọc mờ, nén JPEG, thêm nhiễu Gaussian).
40
Chương 3. Chương trình cài đặt và thử nghiệm. 3.1. Môi trường cài đặt.
Ngôn ngữ cài đặt, môi trường soạn thảo và chạy chương trình được thực hiện trên ngôn ngữ lập trình MATLAB R2014a.
Hệ điều hành Window7.
3.2. Giao diện chung và quy trình thực nghiệm
Hình 3- 1 Giao diện chung của chương trình của chương trình DWT Để chạy chương trình ta nhấn nút Run (Ctr+T)
Khi thực hiện chương trình, người dùng click nút Chọn ảnh để chọn tệp ảnh cần kiểm thực hiện. Khi đó, chương trình sẽ hiển thị ở Hình 3.2:
41
Hình 3- 2. Giao diện chọn ảnh của chương trình DWT
Từ hình 3-2, người dùng kích chọn thuật toán cần thực hiện và click vào nút Thực hiện thì chương trình sẽ tìm kiếm các vùng ảnh giả mạo và hiển thị ảnh định vị lên vùng Ảnh phát hiện ở Hình 3-3:
42
Giao diện của thuật toán SVD, chương trình được chạy trên command window với câu lệnh:
Hình 3- 4 Giao diện của thuật toán SVD
3.2.1. Dữ liệu thử nghiệm
Để đánh giá khả năng phát hiện giả mạo và độ tin cậy của các thuật toán, chúng cần được thử nghiệm trên tập lớn dữ liệu gồm nhiều ảnh. Để làm được điều đó điều đó, trước hết chọn ngẫu nhiên 20 ảnh thật từ cơ sở dữ liệu ảnh số chuẩn UCID. Đây là các ảnh mầu, không nén có định dạng TIFF. Các ảnh này sau đó được chuyển thành ảnh đa mức xám (grayscale) và được lưu trong một thư mục riêng (CM_origin). Để thuận tiện trong việc cài đặt, trong luận văn này các thực nghiệm được tiến hành chủ yếu trên ảnh đa mức xám. Với việc điều chỉnh để chương trình làm việc với ảnh màu là khá đơn giản.
Để phục vụ cho quá cho việc thử nghiệm, các ảnh giả mạo dạng cắt – dán chúng được tạo ra bằng cách cắt một vùng bắt kỳ trong ảnh thật và dán vào vị trí bắt kỳ trên cùng bức ảnh đó. Các ảnh giả được lưu vào thư mục CM_forged.
Tính bền vững của một thuật toán phát hiện ảnh giả thể hiện ở chỗ chúng vẫn có thể phát hiện được các dấu hiệu giả mạo sau khi đối phương
43
thực hiện một số phép tấn công.Tấn công trong trương hợp này được hiểu là các thao tác có chủ ý tác động lên ảnh sau khi thực hiện việc làm giả nhằm mục đích che giấu các dấu hiệu giả mạo. Các phép tấn công phổ biến là thêm nhiễu, xoay ảnh, co dãn ảnh.
Để thực nghiệm tính bền vững của các thuật toán trên, các phép tấn công được thực hiện trên các ảnh giả, sau đó các ảnh bị tấn công được lưu vào các thư mục khác nhau để tiến hành thử nghiệm.
Việc thử nghiệm được tiến hành trên 200 ảnh, gồm 20 ảnh thật, 20 ảnh giả mạo dạng cắt – dán và 160 ảnh giả mạo bị tấn công các loại.
3.2.2. Thử nghiệm phát hiện giả mạo của thuật toán DWT và SVD
Thuật toán DWT
Các ví dụ minh họa thực nghiệm của DWT với ảnh giả mạo dạng cát – dán được thể hiện trong các hình từ Hình 3-5 đến Hình 3-12.
Trước hết, thuật toán DWT được sử dụng để kiểm tra một ảnh giả mạo 64 x 64 (ở bên trái Hình 3-5). Kết quả thử nghiệm đã phát hiện được hai vùng giống nhau trên ảnh (ở bên phải Hình 3-5) . Kết luận ảnh này là ảnh giả mạo dạng cắt-dán.
44
Hình 3- 5 Hình thử nghiệm của DWT với ảnh giả mạo 64 x 64.
Tiếp theo, thuật toán DWT được kiểm tra với các ảnh giả mạo bị tấn
công thêm nhiễu 40dB, 29dB, 24dB.
Thuật toán kiểm tra với ảnh giả mạo bị tấn công thêm nhiễu 40dB (ở Hình 3-6 bên trái). Kết quả thử nghiệm chưa phát hiện được hai vùng giống nhau trên ảnh (ở bên phải Hình 3-6) . Kết luận ảnh này không phải là ảnh giả mạo dạng cắt – dán.
45
Hình 3. 6. Hình thử nghiệm của DWT với ảnh giả mạo 40 dB Thuật toán kiểm tra với ảnh giả mạo bị tấn công thêm nhiễu 29dB (ở Hình 3-7 bên trái). Kết quả thử nghiệm chưa phát hiện được hai vùng giống nhau trên ảnh (ở bên phải Hình 3-7) . Kết luận ảnh này không phải là ảnh giả mạo dạng cắt – dán.
46
Hình 3. 7. Hình thử nghiệm của DWT với ảnh giả mạo 29 dB Thuật toán kiểm tra với ảnh giả mạo bị tấn công thêm nhiễu 24dB (ở Hình 3-8 bên trái). Kết quả thử nghiệm chưa phát hiện được hai vùng giống nhau trên ảnh (ở bên phải Hình 3-8) . Kết luận ảnh này không phải là ảnh giả mạo dạng cắt – dán.
47
Hình 3- 8. Hình thử nghiệm của DWT với ảnh giả mạo 24 dB. Tiếp đến, thuật toán DWT được kiểm tra với các ảnh giả mạo bị tấn công xoay góc 20 đô, 10 độ.
Thuật toán kiểm tra với ảnh giả mạo bị tấn công xoay góc 20 độ (ở Hình 3-9 bên trái). Kết quả thử nghiệm chưa phát hiện được hai vùng giống nhau trên ảnh (ở bên phải Hình 3-9) . Kết luận ảnh này không phải là ảnh giả mạo dạng cắt – dán.
48
Hình 3-9. Hình thử nghiệm của DWT với ảnh giả mạo 20 độ. Thuật toán kiểm tra với ảnh giả mạo bị tấn công xoay góc 10 độ (ở Hình 3-10 bên trái). Kết quả thử nghiệm chưa phát hiện được hai vùng giống nhau trên ảnh (ở bên phải Hình 3-10) . Kết luận ảnh này không phải là ảnh giả mạo dạng cắt – dán.
49
Hình 3- 10. Hình thử nghiệm của DWT với ảnh giả mạo 10 độ Thuật toán kiểm tra với ảnh giả mạo đổi ngẫu nhiên giá trị một bit thấp nhất của từng điểm ảnh (ở Hình 3-11 bên trái). Kết quả thử nghiệm chưa phát hiện được hai vùng giống nhau trên ảnh (ở bên phải Hình 3-11) . Kết luận ảnh này không phải là ảnh giả mạo dạng cắt – dán
50
Hình 3- 11. Hình thử nghiệm của DWT với ảnh giả mạo đổi ngẫu nhiên giá trị một bit thấp nhất của từng điểm ảnh
Sau cùng, thuật toán kiểm tra sự giả mạo đối với ảnh giả mạo bị cắt – dán theo đường viền một pixel, sau đó dãn ra bằng kích thước cũ của ảnh được thể hiện (ở Hình 3-12 bên trái). Kết quả sau thử nghiệm chưa phát hiện được hai vùng giống nhau trên ảnh (ở Hình 3-12 bên phải). Kết luận ảnh này không phải là ảnh giả mạo dạng cắt – dán.
51
Hình 3-12 Hình thử nghiệm của DWT với ảnh sau khi làm giả sẽ cắt theo đường viền một pixel, sau đó dãn ra bằng kích thước cũ của ảnh.
Từ các ví dụ kiểm tra sự giả mạo ở trên, chúng ta thấy rằng phương pháp DWT có thể phát hiện ảnh giả dạng cắt – dán trước phép tấn công JPEG.
Thuật toán SVD
Chương trình “Phát hiện hiện ảnh giả mạo dạng cắt - dán dựa trên phép biến đổi cosine rời rạc” được chạy trên phần mềm Matlab. Chương trình có giao diện thân thiện và dễ sử dụng.
Một số ví dụ khi sử dụng chương trình với thuật toán dùng SVD để đánh giá các ảnh thật, ảnh giả và ảnh giả sau khi bị tấn công (thêm nhiễu, xoay, …) được minh họa trong các hình từ Hình 3-13 đến Hình 3-21. Đầu tiên chúng ta thực hiện quy trình kiểm tra phát hiện giả mạo dùng thuật toán SVD với ảnh gốc CM_origin (ở hình 3-13 bên trái). Kết quả sau khi thử nghiệm là ảnh (ở hình 3-13 bên phải).
52 (a) Ảnh gốc
(b) ảnh kiểm tra
Hình 3-13. Hình ảnh thử nghiệm của SVD với ảnh gốc
Từ kết quả thực nghiệm ở trên chúng ta thấy rằng ảnh sau khi kiểm tra dùng thuật toán SVD ảnh gốc không bị phát hiện nhầm về sự giả mạo. Kết luận là ảnh không là giả mạo
Các ảnh dùng để kiểm tra là ảnh giả được tạo ra bằng cách copy khối 64×64 và dán vào vị trí bất kỳ.
Tiếp đến, thuật toán SVD được sử dụng để kiểm tra một ảnh giả. Kết quả thử nghiệm đã phát hiện được hai vùng giống nhau trên ảnh (Hình 3-14). Kết luận ảnh này là ảnh giả mạo dạng cắt-dán.
53
Từ đây chúng ta lần lượt thử nghiệm với các ảnh sau khi làm giả được thêm nhiễu Gaussion với các giá trị lần lượt là 40, 29, 24 decibel (dB). Thuật toán kiểm tra sự giả mạo đối với ảnh 40dB (ở Hình 3-15 bên trái). Kết quả sau khi thử nghiệm đã phát hiện được vùng giống nhau (ở Hình 3-15 bên phải). Kết luận là ảnh này là ảnh giả mạo dạng cắt - dán
Hình 3-15 Hình ảnh thử nghiệm của SVD với ảnh giả mạo 40 dB Thuật toán kiểm tra ảnh giả mạo có thêm nhiễu 29 dB(ở Hình 3-16 ). Kết quả sau thử nghiệm phát hiện được vùng giống nhau trên ảnh (ở Hình 3- 16). Kết luận ảnh này là ảnh giả mạo dạng cắt – dán.
Hình 3-16 Hình ảnh thử nghiệm của SVD với ảnh giả mạo 29 dB Thuật toán kiểm tra ảnh giả mạo có thêm nhiễu 24 dB. ). Kết quả sau thử nghiệm phát hiện được vùng giống nhau trên ảnh (ở Hình 3-17). Kết luận ảnh này là ảnh giả mạo dạng cắt – dán.
54
Hình 3- 17. Hình ảnh thử nghiệm của SVD với ảnh giả mạo 24 dB Tiếp đến chúng ta tiếp tục kiểm tra sự phát hiện giả mạo trên ảnh giả mạo bị tấn công xoay một góc tương ứng là 10 độ, 20 độ thì lần lượt có các hình là 3.18, 3.19.
Hình 3- 18. Hình ảnh thử nghiệm của SVD với ảnh giả mạo góc xoay 10 độ
Thuật toán kiểm tra với ảnh giả mạo bị xoay góc 10 độ Kết quả sau thử nghiệm phát hiện được vùng giống nhau trên ảnh. Kết luận ảnh này là ảnh giả mạo dạng cắt – dán.
55
Hình 3-19 Hình ảnh thử nghiệm của SVD với ảnh giả mạo góc xoay 20 độ
Kiểm tra thực nghiệm với ảnh giả mạo bị xoay góc 20 độ (ở Hình 3-19 bên trái). Kết quả thí nghiệm phát hiện vùng giả mạo.
Tương tự như trên chúng ta kiểm tra sự giả mạo đối với ảnh giả mạo thay đổi ngẫu nhiên giá trị một bit thấp nhất của từng điểm ảnh (ở Hình 3-20 bên trái). Kết quả sau thử nghiệm chưa phát hiện được hai vùng giống nhau trên ảnh (ở Hình 3.20 bên phải). Kết luận ảnh này không phải là ảnh giả mạo dạng cắt – dán.
Hình 3-20 Hình thử nghiệm của SVD với ảnh giả mạo đổi ngẫu nhiên giá trị một bit thấp nhất của từng điểm ảnh
Cuối cùng, thuật toán kiểm tra sự giả mạo đối với ảnh giả mạo bị cắt – dán theo đường viền một pixel, sau đó dãn ra bằng kích thước cũ của ảnh được thể hiện (ở Hình 3-21 bên trái). Kết quả sau thử nghiệm chưa phát hiện được hai vùng giống nhau trên ảnh (ở Hình 3-21 bên phải). Kết luận ảnh này không phải là ảnh giả mạo dạng cắt – dán
56
Hình 3-21 Hình thử nghiệm của SVD với ảnh sau khi làm giả sẽ cắt theo đường viền một pixel, sau đó dãn ra bằng kích thước cũ của ảnh.
Qua quá trình thực nghiệm cho thấy thuật toán SVD với ảnh giả mạo dạng cắt – dán phát hiện ra được sự giả mạo trên các bức ảnh khi chưa có sự tấn công như thêm nhiễu, xoay ảnh, co giãn....Còn khi các bức ảnh có sự tấn công thì sự phát hiện giả mạo đôi khi còn bị nhầm hoặc chưa phát hiện ra.
Từ các ví dụ kiểm tra sự giả mạo ở trên, chúng ta thấy rằng phương pháp DWT có thể phát hiện ảnh giả dạng cắt – dán trước phép tấn công JPEG. Tuy nhiên, tính bền vững của phương pháp DWT không cao bằng phương pháp SVD. Và cũng giống như phương pháp SVD, phương pháp DWT cũng có thể phát hiện nhầm một số vùng giả mạo.
Nhận xét
Sau khi áp dụng thuật toán DWT và SVD để xây dựng, thử nghiệm thì chương trình đã thực hiện được:
Phát hiện được ảnh nào là ảnh thật, ảnh nào là ảnh giả và khoanh vùng ảnh giả. Chương trình thực hiện được cả trên ảnh thật và ảnh đa mức xám.
Thuật toán phát hiện được ảnh giả và khoanh vùng ảnh giả là dạng hình vuông.
3.3. Kết quả thử nghiệm
Từ thực nghiệm ở trên chúng ta có kết quả của việc phát hiện giả mạo và sự phát hiện nhầm như sau:
57
Bảng 3- 1 Bảng kết quả phát hiện giả mạo theo thuật toán dùng SVD Tập ảnh thử nghiệm (mỗi loại gồm 20 ảnh) Số ảnh giả phát
hiện được
Tỷ lệ
Ảnh giả mạo 64 x64 20 100%
Ảnh giả mạo 40 decibel 19 95%
Ảnh giả mạo 32decibel 18 90%
Ảnh giả mạo 24 decibel 16 80%
Ảnh giả mạo góc xoay 30 độ 17 85%
Ảnh giả mạo góc xoay 10 độ 17 85%
Ảnh giả mạo góc xoay 05 độ 18 90%
Ảnh giả mạo ngẫu nhiên giá trị 1 bit thấp nhất điểm ảnh
20 100%
Ảnh sau khi làm giả sẽ cắt theo đường viền một pixel, sau đó dãn ra bằng kích thước cũ của ảnh
58
Bảng 3- 2 Bảng kết quả phát hiện nhầm theo thuật toán dùng SVD Tập ảnh thử nghiệm (mỗi loại gồm 20 ảnh) Số ảnh phát hiện
là giả mạo dạng cắt-dán
Tỷ lệ
Ảnh gốc CM_origin 2 10%
Ảnh giả mạo 64 x64 0 0%
Ảnh giả mạo 40 decibel 2 10%
Ảnh giả mạo 32decibel 5 25%
Ảnh giả mạo 24 decibel 10 50%
Ảnh giả mạo góc xoay 30 độ 5 25%
Ảnh giả mạo góc xoay 10 độ 5 25%
Ảnh giả mạo góc xoay 05 độ 4 20%
Ảnh giả mạo ngẫu nhiên giá trị 1 bit thấp nhất điểm ảnh
0 0%
Ảnh sau khi làm giả sẽ cắt theo đường viền một pixel, sau đó dãn ra bằng kích
thước cũ của ảnh
59
Bảng 3- 3. Bảng kết quả phát hiện giả mạo theo thuật toán dùng DWT Tập ảnh thử nghiệm (mỗi loại gồm 20
ảnh) Số ảnh phát hiện là giả mạo dạng cắt-dán Tỷ lệ Ảnh giả mạo 64 x64 20 100%
Ảnh giả mạo 40 decibel 18 90%
Ảnh giả mạo 32decibel 15 75%
Ảnh giả mạo 24 decibel 10 50%
Ảnh giả mạo góc xoay 30 độ 15 75%
Ảnh giả mạo góc xoay 10 độ 15 75%
Ảnh giả mạo góc xoay 05 độ 16 80%
Ảnh giả mạo ngẫu nhiên giá trị 1 bit thấp nhất điểm ảnh
20 100%
Ảnh sau khi làm giả sẽ cắt theo đường viền một pixel, sau đó dãn ra bằng kích thước cũ của ảnh
60
Bảng 3- 4 Bảng kết quả phát hiện nhầm theo thuật toán dùng DWT Tập ảnh thử nghiệm (mỗi loại gồm 20
ảnh) Số ảnh phát hiện là giả mạo dạng cắt-dán Tỷ lệ Ảnh gốc CM_origin 2 10% Ảnh giả mạo 64 x64 0 0%
Ảnh giả mạo 40 decibel 2 10%
Ảnh giả mạo 32decibel 5 25%
Ảnh giả mạo 24 decibel 10 50%
Ảnh giả mạo góc xoay 30 độ 5 25%
Ảnh giả mạo góc xoay 10 độ 5 25%
Ảnh giả mạo góc xoay 05 độ 4 20%
Ảnh giả mạo ngẫu nhiên giá trị 1 bit thấp nhất điểm ảnh
0 0%
Ảnh sau khi làm giả sẽ cắt theo đường viền một pixel, sau đó dãn ra bằng kích thước cũ của ảnh
10 50%
Từ kết qủa thực nghiệm ở trên cho thấy rằng cả hai thuật toán DWT và SVD đôi khi sự phát hiện giả mạo được phát hiện ngay trên chính ảnh gốc. Vì đây là các thuật toán đối xánh xấp xỉ và bản thân các ảnh gốc luôn tồn tại các vùng xấp xỉ, tương quan giống nhau cho nên cũng không thể tránh khỏi sự phát hiện nhầm.
Bên cạnh những ảnh phát hiện và khoanh vùng được ảnh giả mạo thì vẫn còn một số hình ảnh do phần cắt dán ảnh gốc có nhiều vùng giống nhau, ảnh bị nén nhiều nên khả năng phát hiện ảnh giả mạo vẫn còn một số sai sót.
61
KẾT LUẬN
1. Các kết quả luận văn
Với sự phát triển vượt bậc của khoa học và công nghệ ngày cảng có nhiều kỹ thuật của khoa học công nghệ được ứng dụng vào thực tế và ảnh