Độ phức tạp của thuật toán K-Means là O(nkt), trong đó: n là sốđiểm trong bộ dữ liệu, k là số cụm. t là số bước lặp. Như vậy với n lớn, k lớn và t lớn thì thời gian tính toán sẽ rất nhiều. Do đó để giảm thời gian tính toán tác giả đưa ra các đề xuất sau :
a) Giảm số lượng điểm ảnh
Đối với ảnh mầu nếu khoảng cách mầu giữa hai điểm ảnh đủ nhỏ thì mắt người không thể phân biệt được sự khác biệt này. Giả sử chúng ta có ảnh đầu vào F gồm n điểm ảnh (x x1, ,...,2 xn), để giảm số lượng điểm ảnh chúng ta làm như sau :
Bước 1 : Chọn một điểm ảnh x bất kỳ trong tập F
Bước 2 : Loại bỏ ra khỏi F tất cả các điểm ảnh y mà khoảng cách từ y đến x nhỏ hơn e cho trước
Bước 3 : Lặp lại bước 1 và 2 cho đến khi xét các điểm ảnh trong F.
Số lượng điểm ảnh còn lại trong F chính là các điểm ảnh đặc trưng cho ảnh F và các điểm ảnh này sẽđược sử dụng để phân cụm.
b) Giảm thời gian tìm tâm cụm gần nhất
Trong thuật toán K-Means, tại bước cập nhật tâm cụm, với mỗi điểm ảnh chúng ta cần tìm so sánh với k tâm cụm hiện tại để tìm tâm cụm gần nhất. Khi k lớn thì số lượng phép so sánh sẽ lớn, dẫn đến thời gian tính toán lớn. Để giảm thời gian tính toán chúng ta dựa vào nhận xét sau : hai điểm ảnh có giá trị mầu gần nhau thì chắc chắn sẽ có giá trị xám gần nhau. Do đó để tìm tâm cụm gần nhất chúng ta
37
không cần phải xét tất cả k tâm cụm mà chúng ta chỉ cần so sánh với các cụm mà khoảng cách xám từ cụm đó tới mỗi điểm ảnh nhỏ hơn e cho trước
c) Sự hội tụ của thuật toán.
Thuật toán K-Means sẽ hội tụ sau một số hữu hạn bước t. Tuy nhiên nếu t khá lớn thì thời gian tính toán sẽ lớn. Trong thực tế để đảm bảo thời gian tính toán của thuật toán chúng ta sẽ dừng tại một số bước lặp xác định.
3.2.3 Chương trình phân cụm
Trong đồ án này tác giả đã xây dựng chương trình ứng dụng phân cụm ảnh dựa trên các phân tích ở trên. Kết quả chương trình khá tốt, ảnh phân cụm gần giống với ảnh gốc và thời gian phân cụm khá nhanh.
Các tham sốđược sử dụng trong chương trình là :
+) Hai điểm ảnh được coi là giống nhau nếu khoảng cách mầu giữa chúng nhỏ hơn ngưỡng e = 3
+) Tại bước tìm tâm cụm gần nhất chúng ta chỉ xét các cụm mà khoảng cách xám từ cụm đó tới mỗi điểm ảnh nhỏ hơn e= 10
+) Số bước lặp tối đa là 5
+) Công thức khoảng cách mầu giữa hai điểm ảnh là :
( ) ( ) (2 ) (2 )2
, R R G G B B
d x y = x - y + x - y + x - y
38
Ảnh đầu vào có kích thước 639 * 433, với k = 512, thời gian chạy thuật toán là 2s.
39
Ảnh đầu vào có kích thước 267 * 201, với k = 256, thời gian chạy thuật toán là 1s.
40
Ảnh đầu vào có kích thước 1600 * 1200, k = 128, thời gian chạy thuật toán là 4s.
41
3.2.4 So sánh kết quảđạt được
a) So sánh với MS Paint
MS Paint là một phần mềm xử lý ảnh của Microsoft, phần mềm này được cài đặt sẵn trong máy tính nếu chúng ta sử dụng hệ điều hành Window. Để đánh giá chất lượng phân cụm, tác giả tiến hành so sánh các ảnh được phân cụm từ ảnh bitmap 24bpp. Kết quả cho thấy các ảnh được phân cụm bằng chương trình của tác giả cho kết quả tốt hơn nhiều so với các ảnh được phân cụm bởi Paint.
Ảnh phân cụm bằng chương trình của tác giả
42 b) So sánh với ACDSee Pro 2.5
ACDSee Pro 2.5 là một trong những chương trình xử lý ảnh hàng đầu trên thế giới hiện nay. Tác giả cũng đã tiến hành so sánh chất lượng ảnh phân cụm thông qua chương trình của mình với ảnh phân cụm bằng ACDSee Pro 2.5. Kết quả cho thấy ảnh phân cụm bằng chương trình của tác giả cho chất lượng gần bằng ảnh phân cụm bằng ACDSee Pro 2.5
Ảnh phân cụm bằng phần mềm của tác giả
43 c) So sánh với chương trình khác
Trong bài báo: “Effective Color Reduction Using the Modified Diversity Algorithm” tác giả Joo Hyun Song cũng đã xây dựng chương trình giảm số lượng mầu của ảnh. Sau đây chúng ta cùng so sánh các kết quả trong chương trình Joo Hyun Song và chương trình phân cụm ảnh của tác giả.
Ảnh gốc Ảnh chương trình
44
Ảnh gốc Ảnh chương trình
Ảnh phân cụm của tác giả
Nhận xét:
Nhìn chung chương trình phân cụm của tác giả cho kết quả tốt hơn chương trình của Joo Hyun Song
45
Chương 4. Ứng dụng phân cụm trong giấu tin 4.1 Ứng dụng phân cụm trên ảnh bitmap 24bpp
Như trong chương 2 của đồ án, tác giả đã trình bầy phương pháp giấu tin trong ảnh bitmap 24bpp, tuy nhiên ảnh bitmap 24bpp có dung lượng khá lớn và định dạng ảnh này không phổ biến trong môi trường Internet. Xuất phát từ thực tế trên tác giả xây dựng chương trình phân cụm ảnh giúp chuyển đổi ảnh bitmap 24bpp sang ảnh bitmap 8bpp với chất lượng gần như không thay đổi, sau đó ảnh 8bpp sẽ được sử dụng để giấu tin. Như vậy người dùng sẽ có thêm lựa chọn khi thực hiện giấu tin trên ảnh 24bpp.
Các bước thực hiện như sau:
Giấu tin:
+) Chuyển đổi ảnh bitmap 24bpp sang ảnh bitmap 8bpp để giảm dung lượng ảnh +) Giấu thông tin mật vào ảnh bitmap 8bpp
+) Chuyển đổi ảnh bitmap 8bpp sang ảnh gif
+) Ảnh gif chứa thông tin mật sẽđược sử dụng trong quá trình truyền tin
Lấy tin:
+) Chuyển đổi ảnh gif sang ảnh bitmap 8bpp
+) Thực hiện giải thuật lấy tin trên ảnh bitmap 8bpp
Ví dụ:
Ảnh đầu vào là ảnh bitmap 24bpp: demo24.bmp, và thông tin cần giấu là tệp tin: test.txt. Chúng ta sẽ chuyển ảnh trên thành ảnh bitmap 8bpp: demo8.bmp và thực hiện giấu tin trên ảnh này. Sau đó chuyển ảnh demo8.bmp sang ảnh demo8.gif và ảnh gif này sẽđược sử dụng khi truyền tin.
46
Ảnh đầu vào bitmap 24bpp: demo24.bmp
47
Ảnh gif chứa tin mật: demo8.gif
Thông tin mật đem giấu là test.txt và thông tin lấy về là test1.txt. Hai tệp tin này giống hệt nhau, chứng tỏ quá trình giấu tin và lấy tin thành công.
48
4.2 Ứng dụng trên ảnh bitmap 8bpp 4.2.1 Điểm cô lập 4.2.1 Điểm cô lập
Điểm ảnh x được gọi là điểm cô lập nếu khoảng cách mầu từ x đến tất cả các điểm ảnh còn lại lớn hơn ngưỡng d cho trước: d x y( , )> d "y
Trong luận văn này tác giả đã xây dựng chương trình phân tích điểm cô lập của ảnh bitmap 8bpp. Để có thể tìm được giá trị thực nghiệm của d tác giả đã chạy chương trình phân tích 629 ảnh, kết quả chương trình chỉ ra chúng ta nên chọn d trong đoạn từ 28 đến 32.
49
4.2.2 Ứng dụng phân cụm trên ảnh bitmap 8bpp
Trong phần trước chúng ta đã thấy điểm ảnh cô lập có mầu khác xa với các mầu còn lại, chính vì thế khi chúng ta thực hiên giấu tin trên điểm ảnh cô lập thì giá trị mầu tại điểm ảnh cô lập sẽ bị thay đổi nhiều, như vậy sẽ có sự khác biệt lớn giữa ảnh gốc và ảnh chứa tin mật tại các điểm ảnh cô lập. Do đó dễ dẫn tới khả năng bị phát hiện giấu tin. Để nâng cao chất lượng ảnh khi giấu tin chúng ta thực hiện theo các bước sau :
+) Với ngưỡng d cho trước, chúng ta phân tích ảnh để tìm số lượng mầu cô lập trong palete. Giả sử chúng ta có k mầu cô lập : u u1, ,...,2 uk
+) Phân cụm lại các mầu không cô lập của ảnh 8bpp. Ởđây chúng ta sẽ phân thành 256 – 2*k cụm, như vậy chúng ta sẽ còn dư k mầu đểđiều khiển chất lượng.
+) Sao chép k mầu cô lập sang k mầu dư. Khi đó ta sẽ có k mầu v v1, ,...,2 vk mang các giá trị mầu tương ứng với mầu cô lập.
+) Thực hiện thuật toán giấu tin trên ảnh 8bpp với điều kiện sau : Next(ui) = vi và c(ui) + c(vi) = 1
Phân tích thuật toán:
Như vậy khi chúng ta thực hiện giấu tin tại các điểm cô lập, giả sử là u1 thì mầu u1 sẽ chuyển thành mầu vi, nhưng thực chất hai mầu này giống hệt nhau nên ảnh không hề thay đổi tại các điểm cô lập, do đó nâng cao chất lượng của ảnh chứa tin mật. Thêm một lưu ý nữa là khi thực hiện giải tin mật thì chúng ta cần có giá trị của tham số d, điều này giúp nâng cao tính bảo mật của thuật toán giấu tin.
50
Kết luận chung
Trong luận văn này tác giả tập trung nghiên cứu về thuật toán giấu tin trong ảnh dựa trên lý thuyết Modul và thuật toán phân cụm ảnh dựa trên thuật toán phân cụm Kmean, đồng thời tác giả cũng chỉ ra được ứng dụng của việc phân cụm ảnh vào bài toán giấu tin. Các kết quảđạt được trong luận văn là:
+) Trình bày chi tiết về bài toán giấu tin trong chương 1
+) Trong chương 2 tác giả trình bày về lý thuyết Modul và sơ đồ giấu tin, giải tin mật dựa trên lý thuyết Modul.
+) Dựa trên thuật toán phân cụm Kmean, ở chương 3 tác giả trình bày cách tiếp cận của mình trong việc khởi tạo tâm cụm và tăng tốc độ thuật toán.
+) Chương 4 tác giả trình bày những ứng dụng của phân cụm ảnh vào bài toán giấu tin.
+) Đồng thời trong luận văn này, tác giả đã xây dựng chương trình cho phép người dùng phân cụm ảnh và giấu tin trong ảnh. Đây là chương trình có tính ứng dụng trong thực tế, đặc biệt là trong vấn đề truyền tin mật trên Internet.
Tuy nhiên do hạn chế về mặt thời gian và kinh nghiệm, luận văn này không tránh khỏi những sai sót. Tác giả rất mong nhận được sự đóng góp của thầy cô và các bạn đồng nghiệp để luận văn được hoàn thiện hơn.
51
Danh mục tài liệu tham khảo Tài liệu tiếng Việt
1. PGS.TS Phạm Văn Ất, ThS Nguyễn Hữu Cường, Giấu tin trong ảnh nhị phân và
ứng dụng, Khoa công nghệ thông tin, Trường Đại học Giao Thông Vận Tải.
2. Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xử lý ảnh số, NXB Khoa học và kỹ thuật, 2002.
Tài liệu tiếng Anh
1. Y.Chen, H.Pan, Y.Tseng, A secure of data hiding scheme for two-color images, in IEEE symposium on computers and communications, 2000.
2. M.Y.Wu, J.H.Lee, Anovel data embedding method for two-color fascimile images, in Proceedings of international symposium on multimedia information processing. Chung-Li, Taiwan, R.O.C, 1998
3. Phan Trung Huy, Vũ Phương Bắc, Nguyễn Mạnh Thắng, Trương Đức Mạnh, Vũ Tiến Đức, Nguyễn Tuấn Nam, A new CPT extension scheme for high data embedding ratio in a binary image, in Proceedings of The first International Conference on Knowledge And Systems Engineering, KSE2009, pp. 61—66.