Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 52 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
52
Dung lượng
5,72 MB
Nội dung
TRẦN MẠNH THẮNG BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - TRẦN MẠNH THẮNG TOÁN TIN TÊN ĐỀ TÀI LUẬN VĂN Ứngdụngphâncụmảnhsốlĩnhvựcgiấutinảnh LUẬN VĂN THẠC SĨ KHOA HỌC Chuyên ngành: Toán Tin KHOÁ 2009 Hà Nội – 2011 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Trần Mạnh Thắng TÊN ĐỀ TÀI LUẬN VĂN Ứngdụngphâncụmchoảnhsốlĩnhvựcgiấutinảnh LUẬN VĂN THẠC SĨ KHOA HỌC Chuyên ngành: Toán Tin NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS TS Phan Trung Huy Hà Nội – 2011 Lời cảm ơn Chương Tổng quan luận văn 1.1 Giới thiệu giấutin .4 1.1 Giới thiệu giấutin .4 1.1.1 Định nghĩa kỹ thuật giấutin .4 1.1.2 Phân loại kỹ thuật giấutin 1.1.3 Các ứngdụnggiấutin 1.1.4 Môi trường giấutin 1.2 Định dạng ảnh bitmap .8 1.2.1 Giới thiệu ảnh bitmap (bmp) 1.2.2 Bitmap Header 1.2.3 Bitmap Information 1.2.4 Color Palette .9 1.2.5 Bitmap Data .9 1.3 Tại cần phâncụmgiấutin .10 Chương Thuật toán giấutinảnh bitmap 11 2.1 Tổng quan modul 11 2.1.1 Định nghĩa ví dụ 11 2.1.2 Modul 12 2.1.3 Tích tổng trực tiếp modul 14 2.1.4 Modul thương 14 2.1.5 Modul tự 15 2.1.6 Đồng cấu Modul .15 2.2 Sơ đồ giấutinứngdụng lí thuyết modul .17 2.3 Tính đắn thuật toán 19 2.4 Sơ đồ giải thuật .20 2.5 Chương trình ứngdụnggiấutinảnh bitmap 23 2.5.1 Giấutinảnh nhị phân 23 2.5.2 Giấutinảnhsố 8bpp 27 2.5.3 Giấutinảnh 24bpp 30 Chương Phâncụmảnhsố 33 3.1 Thuật toán phâncụm K-Means .33 3.2 Phâncụmảnh bitmap 34 3.2.1 Vấn đề khởi tạo tâm cụm 34 3.2.2 Vấn đề độ phức tạp thuật toán 36 3.2.3 Chương trình ứngdụng 37 3.2.4 So sánh kết đạt 41 Chương Ứngdụngphâncụmgiấutin 45 4.1 Ứngdụngphâncụmảnh bitmap 24bpp 45 4.2 Ứngdụngảnh bitmap 8bpp .48 4.2.1 Điểm cô lập 48 4.2.2 Ứngdụngphâncụmảnh bitmap 8bpp 49 Kết luận tài liệu tham khảo .50 Lời cảm ơn Lời tác giả xin bày tỏ lòng biết ơn chân thành sâu sắc tới PSG TS Phan Trung Huy, người nhiệt tình dạy bảo để tác giả có đủ kiến thức hoàn thành luận văn Đồng thời tác giả xin chân thành cảm ơn Khoa Toán Tinứng dụng, Viện Đào tạo Sau Đại Học, trường Đại học Bách Khoa Hà Nội tạo điều kiện thuận lợi cho tác giả trình học tập nghiên cứu Cảm ơn thầy cô đồng nghiệp trao đổi tác giả kiến thức kinh nghiệm quý báu để giúp luận văn hoàn thiện Bên cạnh đó, quan tâm gia đình bạn bè nguồn động viên thiếu để giúp tác giả hoàn thành luận văn Xin chân thành cảm ơn Học viên: Trần Mạnh Thắng Lớp: Toán Tin – Toán ứngdụng 2009 - 2011 Chương Tổng quan luận văn 1.1 Giới thiệu giấutin 1.1.1 Định nghĩa kỹ thuật giấutinGiấu thông tin kỹ thuật nhúng (embedding) lượng thông tinsố vào đối tượng liệu số khác Yêu cầu giấutin đảm bảo tính chất ẩn thông tin gsiấu đồng thời không ảnh hưởng đến chất lượng liệu gốc Bảo mật thông tingiấutin có hai khía cạnh Một bảo mật cho liệu đem giấu (embedded data), chẳng hạn giấutin mật: thông tin mật giấu đối tượng khác cho người khác không phát (steganography) Hai bảo mật đối tượng dùng để giấu liệu, chẳng hạn ứngdụng bảo vệ quyền, phát xuyên tạc thông tin (watermarking) Hình 1.1 Lược đồ giấutin Hình 1.2 Lược đồ giải mã tin 1.1.2 Phân loại kỹ thuật giấutin Các kĩ thuật giấutin ý phát triển mạnh khoảng 10 năm trở lại nên việc phân loại chưa thống Sơ đồ phân loại sau đưa năm 1999 nhiều người chấp nhận: Hình 1.3 Phân loại kỹ thuật giấutin +) Giấutin mật: tập trung vào kỹ thuật giấutincho thông tingiấu nhiều tốt quan trọng người khác khó phát đối tượng có bị giấutin bên hay không kỹ thuật thông thường +) Thủy vân số: kỹ thuật đánh dấu vào đối tượng nhằm khẳng định quyền sở hữu hay phát xuyên tạc thông tin Thủy vân sốphân thành hai loại thủy vân bền vững thủy vân dễ vỡ Thuỷ vân bền vững nhúng sản phẩm hình thức dán tem quyền Trong trường hợp này, thuỷ vân phải tồn bền vững với sản phẩm nhằm chống việc tẩy xoá, làm giả hay biến đổi phá huỷ thuỷ vân Thủy vân dễ vỡ kỹ thuật nhúng thuỷ vân vào sản phẩm chophân bố sản phẩm môi trường mở có phép biến đổi làm thay đổi đối tượng sản phẩm gốc thuỷ vân giấu đối tượng không nguyên vẹn trước giấu (dễ vỡ) 1.1.3 Các ứngdụnggiấutinGiấutin mật (Steganography): thông tin cần bảo mật giấu đối tượng vỏ đối tượng truyền công khai tới người nhận mà không gây ý đối phương Người nhận sử dụng thuật toán khóa (đã thỏa thuận người) để khôi phục lại thông tin mật Yêu cầu kĩ thuật tỉ lệ giấutin cần lớn giác quan nhận thấy khác biệt đối tượng trước sau giấutin vào Bảo vệ quyền (Copyright Protection): ứngdụng phổ biến thủy vân số Một thông tin mang ý nghĩa quyền sở hữu tác giả (gọi thủy vân) nhúng vào sản phẩm số, thuỷ vân người chủ sở hữu hợp pháp sản phẩm có dùng làm minh chứng cho quyền sản phẩm Yêu cầu kĩ thuật việc nhúng thủy vân không ảnh hưởng đáng kể đến cảm nhận sản phẩm phải bền vững trước công, tồn lâu dài sản phẩm, muốn bỏ thuỷ vân mà không phép người chủ sở hữu cách phá huỷ sản phẩm Xác thực thông tin (Authentication): thông tingiấu đối tượng số để nhận biết xem đối tượng có bị thay đổi hay không Yêu cầu kĩ thuật việc nhúng thủy vân không ảnh hưởng đáng kể đến cảm nhận đối tượng dễ bị phá hủy trước công Đây ứngdụng thủy vân dễ vỡ Giấu vân tay hay dán nhãn (Fingerprinting and Labeling): kỹ thuật đựơc sử dụng để nhận diện người gửi hay người nhận thông tin Ví dụ vân khác nhúng vào copy khác thông tin gốc trước chuyển cho nhiều người Với ứngdụng yêu cầu đảm bảo độ an toàn cao cho thuỷ vân tránh xoá giấu vết phân phối Điều khiển truy cập (Copy control): thuỷ vân trường hợp sử dụng để điều khiển truy cập thông tin Các thiết bị phát thuỷ vân thường gắn sẵn vào hệ thống đọc ghi 1.1.4 Môi trường giấutin Kỹ thuật giấutin nghiên cứu áp dụng nhiều môi trường liệu khác liệu đa phương tiện, sản phẩm phần mềm gần nghiên cứu môi trường sở liệu quan hệ Trong môi trường liệu liệu đa phương tiện môi trường chủ yếu kỹ thuật giấutin a) Giấutin Audio Giấu thông tin audio mang đặc điểm riêng khác với giấu thông tin đối tượng đa phương tiện khác Kỹ thuật giấu thông tin audio phụ thuộc vào hệ thống thính giác HAS (Human Auditory System) Vấn đề khó khăn hệ thống thính giác người nghe tín hiệu giải tần rộng công suất lớn nên gây khó khăn phương pháp giấutin audio Nhưng HAS lại việc phát khác biệt dải tần công suất, điều có nghĩa âm to, cao tần che giấu âm nhỏ, thấp cách dễ dàng Vấn đề khó khăn thứ hai giấu thông tin audio kênh truyền tin Kênh truyền hay băng thông chậm ảnh hưởng đến chất lượng thông tin sau giấuGiấu thông tin audio đòi hỏi yêu cầu cao tính đồng tính an toàn thông tin Các phương pháp giấu thông tin audio lợi dụng điểm yếu hệ thống thính giác người b) Giấutin Video Giấutin video quan tâm phát triển mạnh mẽ cho nhiều ứngdụng điều khiển truy cập thông tin, nhận thực thông tin bảo vệ quyền tác giả Trong thuật toán khởi nguồn cho phép giấuảnh vào video thời gian gần kỹ thuật cho phép giấu âm hình ảnh vào video c) GiấutinảnhGiấutinảnh chiếm tỉ lệ lớn chương trình ứng dụng, phần mềm, hệ thống giấutin đa phương tiện lượng thông tin trao đổi ảnh lớn giấu thông tinảnh đóng vai trò quan trọng hầu hết ứngdụng bảo vệ an toàn thông tin như: nhận thực thông tin, xác định xuyên tạc thông tin, bảo vệ quyền tác giả, điều khiển truy cập, giấu thông tin mật Thông tingiấu với liệu ảnh chất lượng ảnh thay đổi chẳng biết đằng sau ảnh mang thông tin có ý nghĩa Ngày nay, ảnhsố sử dụng phổ biến giấu thông tinảnh đem lại nhiều ứngdụng quan trọng nhiều lĩnhvực đời sống xã hội Trong luận văn này, tác giả nghiên cứu thuật toán Modul giấu thông tinảnhsố bitmap 1.2 Định dạng ảnh bitmap 1.2.1 Giới thiệu ảnh bitmap (bmp) BMP định dạng tập tin hình ảnh phổ biến Microsoft đề xuất, có phần mở rộng bmp dib (Device Independent Bitmap) Thuộc tính tiêu biểu file ảnh bmp số bit điểm ảnh (bit per pixel), ký hiệu n Một ảnh bmp có n bit có 2n mầu n lớn ảnh có nhiều mầu rõ nét Ví dụ: n = 1: ảnh mầu đen trắng n = 4: ảnh 16 mầu n = 8: ảnh 256 mầu n = 16: ảnh 65536 mầu n = 24: ảnh 16 triệu mầu Ảnh 24 bit có chất lượng hình ảnh trung thực BMP tập tin hình ảnh không nén thuật toán Khi lưu ảnh, điểm ảnh ghi trực tiếp vào tập tin Một điểm ảnh mô tả hay nhiều byte tùy thuộc vào giá trị n ảnh Do đó, hình ảnh lưu dạng bmp thường có dung lượng lớn Cấu trúc tập tinảnh BMP gồm phần: Bitmap Header, Bitmap Information, Color Palette, Bitmap Data 1.2.2 Bitmap Header Gồm 14 bytes lưu thông tin tập tin bitmap: Tên trường Số byte Ý nghĩa Type Nhận dạng kiểu file, chứa ký tự bm Size Kích thước file Reserved Để dành Offset Vị trí bắt đầu vùng Data 1.2.3 Bitmap Information Gồm 40 bytes lưu thông tinchi tiết ảnh: Tên trường Số byte Ý nghĩa HeaderSize Số byte vùng BitmapInfo, mặc định 40 Width Độ rộng ảnh tính theo Pixel Height Độ cao ảnh tính theo Pixel Planes Số planes mầu BitPerPixel Số bit biểu diễn Pixel SizeImage Kích thước ảnh XPixelsPerMeter Độ phân giải ảnh theo chiều ngang YPixelsPerMeter Độ phân giải ảnh theo chiều dọc ColorsUsed Số lượng mầu bảng mầu ColorsImportant Số mầu quan trọng 1.2.4 Color Palette Bảng mầu tập mầu sử dụng ảnh, mầu lưu trữ bytes xếp liền theo cấu trúc Blue-Green-Red byte dự trữ Kích thước vùng Palette x số mầu ảnh Bảng mầu loại bit : có bytes (4 bytes đầu mầu thứ 0, bytes sau mầu thứ 1) Do có để biểu thị hai mầu đen trắng nên điểm ảnh cần dùng bit Bảng mầu loại bit có 64 bytes, từ mầu số đến mầu số 15, bảng mầu loại bit có 1024 bytes (từ đến 255) Ảnh 24 bit bảng mầu Các mầu liệt kê trong file bit, bit, bit gọi Indexed, 24 bit gọi True 1.2.5 Bitmap Data Đây vùng chứa giá trị mầu điểm ảnh BMP Các điểm ảnh lưu theo thứ tự từ trái sang phải dòng dòng lưu theo thứ tự từ lên Mỗi byte vùng Bitmap Data biểu diễn nhiều điểm ảnh tùy theo số bit cho pixel không cần phải xét tất k tâm cụm mà cần so sánh với cụm mà khoảng cách xám từ cụm tới điểm ảnh nhỏ e cho trước c) Sự hội tụ thuật toán Thuật toán K-Means hội tụ sau số hữu hạn bước t Tuy nhiên t lớn thời gian tính toán lớn Trong thực tế để đảm bảo thời gian tính toán thuật toán dừngsố bước lặp xác định 3.2.3 Chương trình phâncụmTrong đồ án tác giả xây dựng chương trình ứngdụngphâncụmảnh dựa phân tích Kết chương trình tốt, ảnhphâncụm gần giống với ảnh gốc thời gian phâncụm nhanh Các tham số sử dụng chương trình : +) Hai điểm ảnh coi giống khoảng cách mầu chúng nhỏ ngưỡng e = +) Tại bước tìm tâm cụm gần xét cụm mà khoảng cách xám từ cụm tới điểm ảnh nhỏ e = 10 +) Số bước lặp tối đa +) Công thức khoảng cách mầu hai điểm ảnh : 2 d (x, y )= (xR - yR ) + (xG - yG ) + (xB - yB ) Dưới sốảnh ví dụ chạy chương trình : 37 Ảnh đầu vào có kích thước 639 * 433, với k = 512, thời gian chạy thuật toán 2s Ảnh sau phâncụm 38 Ảnh đầu vào có kích thước 267 * 201, với k = 256, thời gian chạy thuật toán 1s Ảnh sau phâncụm 39 Ảnh đầu vào có kích thước 1600 * 1200, k = 128, thời gian chạy thuật toán 4s Ảnh sau phâncụm 40 3.2.4 So sánh kết đạt a) So sánh với MS Paint MS Paint phần mềm xử lý ảnh Microsoft, phần mềm cài đặt sẵn máy tính 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 ảnhphâncụm từ ảnh bitmap 24bpp Kết cho thấy ảnhphâncụm chương trình tác giả cho kết tốt nhiều so với ảnhphâncụm Paint Ảnhphâncụm chương trình tác giả Ảnhphâncụm Paint 41 b) So sánh với ACDSee Pro 2.5 ACDSee Pro 2.5 chương trình xử lý ảnh hàng đầu giới Tác giả tiến hành so sánh chất lượng ảnhphâncụm thông qua chương trình với ảnhphâncụm ACDSee Pro 2.5 Kết cho thấy ảnhphâncụm chương trình tác giả cho chất lượng gần ảnhphâncụm ACDSee Pro 2.5 Ảnhphâncụmphần mềm tác giả Ảnhphâncụm ACDSee Pro 2.5 42 c) So sánh với chương trình khác Trong báo: “Effective Color Reduction Using the Modified Diversity Algorithm” tác giả Joo Hyun Song xây dựng chương trình giảm số lượng mầu ảnh Sau so sánh kết chương trình Joo Hyun Song chương trình phâncụmảnh tác giả Ảnh gốc Ảnh chương trình Ảnh chương trình Joo Hyun Song 43 Ảnh gốc Ảnh chương trình Ảnhphâncụm tác giả Nhận xét: Nhìn chung chương trình phâncụm tác giả cho kết tốt chương trình Joo Hyun Song 44 Chương Ứngdụngphâncụmgiấutin 4.1 Ứngdụngphâncụmảnh bitmap 24bpp Như chương đồ án, tác giả trình bầy phương pháp giấutinảnh bitmap 24bpp, nhiên ảnh bitmap 24bpp có dung lượng lớn định dạng ảnh không phổ biến môi trường Internet Xuất phát từ thực tế tác giả xây dựng chương trình phâncụmảnh giúp chuyển đổi ảnh bitmap 24bpp sang ảnh bitmap 8bpp với chất lượng gần không thay đổi, sau ảnh 8bpp sử dụng để giấutin Như người dùng có thêm lựa chọn thực giấutinảnh 24bpp Các bước thực 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ử dụng trình truyền tin Lấy tin: +) Chuyển đổi ảnh gif sang ảnh bitmap 8bpp +) Thực giải thuật lấy tinảnh bitmap 8bpp Ví dụ: Ảnh đầu vào ảnh bitmap 24bpp: demo24.bmp, thông tin cần giấu tệp tin: test.txt Chúng ta chuyển ảnh thành ảnh bitmap 8bpp: demo8.bmp thực giấutinảnh Sau chuyển ảnh demo8.bmp sang ảnh demo8.gif ảnh gif sử dụng truyền tin 45 Ảnh đầu vào bitmap 24bpp: demo24.bmp Ảnhphâncụm bitmap 8bpp: demo8.bmp 46 Ảnh gif chứa tin mật: demo8.gif Thông tin mật đem giấu test.txt thông tin lấy test1.txt Hai tệp tin giống hệt nhau, chứng tỏ trình giấutin lấy tin thành công 47 4.2 Ứngdụngảnh bitmap 8bpp 4.2.1 Điểm cô lập Điểm ảnh x gọi điểm cô lập khoảng cách mầu từ x đến tất điểm ảnh lại lớn ngưỡng d cho trước: d (x, y )> d " y Trong luận văn tác giả xây dựng chương trình phân tích điểm cô lập ảnh bitmap 8bpp Để tìm giá trị thực nghiệm d tác giả chạy chương trình phân tích 629 ảnh, kết chương trình nên chọn d đoạn từ 28 đến 32 Dưới kết chương trình chạy với giá trị d = 30 48 4.2.2 Ứngdụngphâncụmảnh bitmap 8bpp Trongphần trước thấy điểm ảnh cô lập có mầu khác xa với mầu lại, thực hiên giấutin điểm ảnh cô lập giá trị mầu điểm ảnh cô lập bị thay đổi nhiều, có khác biệt lớn ảnh gốc ảnh chứa tin mật điểm ảnh cô lập Do dễ dẫn tới khả bị phát giấutin Để nâng cao chất lượng ảnhgiấutin thực theo bước sau : +) Với ngưỡng d cho trước, phân tích ảnh để tìm số lượng mầu cô lập palete Giả sử có k mầu cô lập : u1 , u2 , , uk +) Phâncụm lại mầu không cô lập ảnh 8bpp Ở phân thành 256 – 2*k cụm, 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 có k mầu v1 , v2 , , vk mang giá trị mầu tương ứng với mầu cô lập +) Thực thuật toán giấutinảnh 8bpp với điều kiện sau : Next( ui ) = vi c( ui ) + c( vi ) = Phân tích thuật toán: Như thực giấutin điểm cô lập, giả sử u1 mầu u1 chuyển thành mầu vi , thực chất hai mầu giống hệt nên ảnh không thay đổi điểm cô lập, nâng cao chất lượng ảnh chứa tin mật Thêm lưu ý thực giải tin mật cần có giá trị tham số d, điều giúp nâng cao tính bảo mật thuật toán giấutin 49 Kết luận chung Trong luận văn tác giả tập trung nghiên cứu thuật toán giấutinảnh dựa lý thuyết Modul thuật toán phâncụmảnh dựa thuật toán phâncụm Kmean, đồng thời tác giả ứngdụng việc phâncụmảnh vào toán giấutin Các kết đạt luận văn là: +) Trình bày chi tiết toán giấutin chương +) Trong chương tác giả trình bày lý thuyết Modul sơ đồ giấu tin, giải tin mật dựa lý thuyết Modul +) Dựa thuật toán phâncụm Kmean, chương tác giả trình bày cách tiếp cận việc khởi tạo tâm cụm tăng tốc độ thuật toán +) Chương tác giả trình bày ứngdụngphâncụmảnh vào toán giấutin +) Đồng thời luận văn này, tác giả xây dựng chương trình cho phép người dùngphâncụmảnhgiấutinảnh Đây chương trình có tính ứngdụng thực tế, đặc biệt vấn đề truyền tin mật Internet Tuy nhiên hạn chế mặt thời gian kinh nghiệm, luận văn không tránh khỏi sai sót Tác giả mong nhận đóng góp thầy cô bạn đồng nghiệp để luận văn hoàn thiện 50 Danh mục tài liệu tham khảo Tài liệu tiếng Việt PGS.TS Phạm Văn Ất, ThS Nguyễn Hữu Cường, Giấutinảnh nhị phânứng dụng, Khoa công nghệ thông tin, Trường Đại học Giao Thông Vận Tải Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xử lý ảnh số, NXB Khoa học kỹ thuật, 2002 Tài liệu tiếng Anh Y.Chen, H.Pan, Y.Tseng, A secure of data hiding scheme for two-color images, in IEEE symposium on computers and communications, 2000 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 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 51 ... nhị phân 23 2.5.2 Giấu tin ảnh số 8bpp 27 2.5.3 Giấu tin ảnh 24bpp 30 Chương Phân cụm ảnh số 33 3.1 Thuật toán phân cụm K-Means .33 3.2 Phân cụm ảnh. .. trình ứng dụng giấu tin ảnh bitmap 2.5.1 Giấu tin ảnh nhị phân a) Giấu tin Dữ liệu vào: +) Ảnh bitmap đen trắng +) Tệp liệu cần giấu +) Các tham số m, n +) Mật người dùng Dữ liệu ra: Ảnh nhị phân. .. cập, giấu thông tin mật Thông tin giấu với liệu ảnh chất lượng ảnh thay đổi chẳng biết đằng sau ảnh mang thông tin có ý nghĩa Ngày nay, ảnh số sử dụng phổ biến giấu thông tin ảnh đem lại nhiều ứng