Tiểu luận môn điện toán đám mây SONG SONG HÓA THUẬT TOÁN HISTOGRAM EQUALIZATION

31 620 0
Tiểu luận môn điện toán đám mây SONG SONG HÓA THUẬT TOÁN HISTOGRAM EQUALIZATION

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đại Học Quốc Gia TP.HCM Trường Đại Học Công Nghệ Thông Tin *** BÀI THU HOẠCH MÔN ĐIỆN TOÁN LƯỚI & ĐÁM MÂY ĐỀ TÀI: SONG SONG HÓA THUẬT TOÁN HISTOGRAM EQUALIZATION GVHD :PGS.TS NGUYỄN PHI KHỨ Người thực hiện: :Dương Trí Dũng Mã học viên: :CH1301008 TP.HCM – 2014 1 LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến thầy PGS.TS Nguyễn Phi Khứ đã tận tình truyền đạt kiến thức, đóng góp ý kiến cũng như hướng dẫn để em thực hiện bài thu hoạch này. Mặc dù đã rất cố gắng nhưng bài thu hoạch khó tránh khỏi những thiếu sót, em rất mong thầy cô và bạn bè đóng góp ý kiến để bài thu hoạch hoàn thiện hơn. Tp. HCM, tháng 06 năm 2014 Dương Trí Dũng 2 LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong tiểu luận là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Dương Trí Dũng (đã ký) 3 MỤC LỤC DANH SÁCH CÁC HÌNH 4 LỜI MỞI ĐẦU Lập trình song song bao hàm việc thiết kế một hệ thông tính toán sử dụng nhiều bộ xử lý để giải quyết một bài toán. Lập trình song song làm tăng tốc độ thực hiện của chương trình bằng cách chia chương trình thành nhiều phần có thể thực hiện đồng thời và mỗi phần được thực hiện trên một bộ vi xử lý. về lý thuyết thì một chương trình có thuật toán tôi ưu và phù hợp vổi tính toán song song được thực hiện trên n bộ vi xử lý có thể chạy nhanh n lần so với khi thực hiện trên một bộ vi xử lý. [3] Đề tài lập trình song song đã được nghiên cứu rât rông lãi trên thế giới trong nhiều năm qua. Có rất nhiều project nghiên cứu về lập trình song song và các software hổ trợ lập trình song song. PVM là một hệ lập trình song song khá phổ biến hiện nay. PVM cung cấp một môi trường phần mềm dựa trên hệ thông Message-passing Multicomputer được phát triển bởi Oak Ridge National Laboratories. PVM có một thư viện các thủ tục và hàm hổ trợ lập trình song song có thể sử dụng với Ngôn ngữ C++. PVM có thể chạy trên nhiều hệ điều hành khác nhau như Unix, Windows NT, Windows 95, Linux [3] Mục tiêu của tiểu luận là nghiên cứu lập trình song song và ứng dụng lập trình song song để xây dựng các thuật toán song song đạt hiệu quả cao trong việc nén tín hiệu video và hình ảnh, làm tăng tốc độ nén tín hiệu. Chương trình cài đặt thuật toán song song bằng ngôn ngữ Visual C++ sử dụng thư viện PVM chạy trên môi trường windows 32bit như windows 95/97/98/NT. [3] 5 Chương 1. TỔNG QUAN VỀ CHIẾN LƯỢT SONG SONG VÀ XỬ LÝ ẢNH 1.1. Chiến lượt song song Các bài toán thực tế luôn đòi hỏi máy tính phải thực hiện nhanh để cho được kết quả trong một khoảng thời gian chấp nhận được. Tuy nhiên tốc độ của các máy tính hiện đại và nhanh nhất hiện nay vẫn chưa đáp ứng được. [3] Các bài toán đòi hỏi tính toán nhanh bao gồm các bài toán về phương pháp tính và các bài toán giả lập khoa học kỹ thuật. Các bài toán này cần một khối lượng tính toán rất lớn (có thể lên đến hàng tỷ tỷ phép toán) trên một khối lượng dữ liệu khổng lồ. Các phép tính này phải hoàn thành trong mộl thời gian chấp nhận được đốì với bài toán. Ví dụ với bài toán về dự báo thời tiết nếu phải cần 2 ngày để thông báo kết quả Ihời tiết của ngày hôm sau thì bài toán sẽ trô nôn vô nghĩa. Thực tế trên nhiều lãnh vực nhiều bài toán không thể giải quyết trong thời gian châp nhận được đốì với các máy tính nhanh nhất hiện nay. [3] Ví dụ: Bài toán dự đoán thời tiết bằng máy tính đòi hỏi phải chạy trên các máy tính cực mạnh. Bầu khí quyển trái đất được chia thành các miền 3 chiều gọi là cell. Bài toán cần giải nhiều phương trình phực tạp với sô" ẩn rất lớn để bắt được các thay đổi khác nhau. Các điều kiện trong mỗi cell (nhiệt độ, áp suất, độ ẩm, tốc độ và hướng gió ) được tính tại mỗi thời điểm bằng cách dùng các điều kiện tại thời điểm ưưđc. Các phép tính trên mỗi cell được lặp lại nhiều lần tại mỗi thời điểm khác nhau cho đến khi đạt được kết quả mong muôn. Giả sử bầu khí quyển chia thành các ccll kích thước 1 mile X 1 mile X 1 mile. Một dự báo thô sơ cần khoảng 5xl08 cell. Giả sử tại mỗi thời điểm mỗi cell cần 200 phép tính sô" chấm động. Vậy tại một thời điểm cần 10!1 phép toán chấm động. Nếu muôn dư báo ihời tiết Irong 10 ngày dùng bước thời gian là 10 phút thì cần tất cả là 104 thời điểm, tức là 1015 phép tính số chấm động. Một máy tính hoạt động với tốc độ lOOMflops (108 só chấm động /1 giây) sẽ mất khoảng 107 giây hay trên 100 ngày để thực hiện phép tính ??? [3] 6 Một phương pháp để tăng tốc độ tính toán đã được nghiên CƯÚ trong nhiều năm nay là xử lý song song. Mục đích chính của xử lý song song là các phép toán được Ihực hiện đồng thời do đó giảm được thời gian thực hiện. Bằng cách dùng nhiều bộ vi xử lý hoạt động cùng nhau trên một hệ thôYig. Bài toán chính được chia thành nhiều phần, mỗi phần được thực hiện song song trên các bộ vi xử lý khác nhau. Lập trình bài toán theo phương pháp này gọi là lập trình song song. [3] Một máy tính song song (parallel Computer) đơn giản là một tập hợp các bộ vi xử lý hay các máy tính được nôi với nhau thông qua mạng máy tính. Ý tưởng của máy tính song song la : n máy tính có thể thực hiện nhanh gấp n lần một máy tính đơn thực hiện, do đó bài toán thực hiện trên n máy tính sẽ thực hiện trong khoảng 1/n thời gian thực hiện trên máy đơn. [3] 1.2. Xử lý ảnh Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó. [2] Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng chục năm nay. Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác. Đầu tiên phải kể đến Xử lý tín hiệu số là một môn học hết sức cơ bản cho xử lý tín hiệu chung, các khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các bộ lọc hữu hạn Thứ hai, các công cụ toán như Đại số tuyến tính, Sác xuất, thống kê. Một số kiến thứ cần thiết như Trí tuệ nhân tao, Mạng nơ ron nhân tạo cũng được đề cập trong quá trình phân tích và nhận dạng ảnh. [2] Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng ảnh và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền qua cáp từ Luân đôn đến New York từ những năm 1920. Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh. Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm 7 1955. Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý ảnh sô thuận lợi. Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưu ảnh. Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng. Các phương pháp tri thức nhân tạo như mạng nơ ron nhân tạo, các thuật toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả quan. [2] 8 Chương 2. LÝ THUYẾT SONG SONG VÀ THUẬT TOÁN HISTOGRAM EQUALIZATION 2.1. Lý thuyết song song 2.1.1. Các dạng máy tính song song Hê thống Shared memory Multiprocessor [6] Hệ thống Shared Memory Mulliprocessor gồm nhiều processor, các processor trao đổi thông tin với nhau thông qua bộ nhớ chung. Bộ nhớ chung còn gọi là bộ nhớ loàn cục (global memory) Hình 2.1. Hệ thống share memory multiprocessor Nguồn: Hệ thống share memory multiprocessor theo [6] Việc trao đổi thông tin giữa các processor thông qua 2 lệnh: Global read (X, Y) Global write (U, V) 9 Lệnh Global read đọc dữ liệu X trong bộ nhớ chung và lưu vào biến cục bộ Y. Tương lự lệnh global write ghi biến cục bộ u vào biến V trong bộ nhớ chung. Hộ thông Message-Passing Multicomputer [6] Hệ thông gồm một tập hợp các máy tính được nối với nhau qua liên kết mạng. Mỗi máy tính gồm một bộ vi xử lý và bộ nhớ liêng. Bộ nhớ liêng không thể truy xuất bởi các máy tính khác mà chỉ có thể truy xuất bởi chính bộ vi xử lý nối với nó. hệ thông mạng cho phép các máy tính trao đổi các thông báo qua lại với nhau. Các thông báo có thể chứa các dữ liệu mà các máy tính khác cần để tính toán. Hệ thống này gọi là Message Passing Multicomputer hay đơn giản là Multicomputer. Hình 2.2. Hệ thống message passing Nguồn: Hệ thống message passing theo [3] Chương trình thực hiện trên Multicomputer được chia thành nhiều phần , các phần được thực hiện đồng thời trên các máy tính. Một bài toán được chia thành các process đồng thời, mỗi process biểu diễn một phần nhỏ của bài toán. Nếu có 6 process và 6 máy tính thì mỗi process được thực hiện trên một máy tính. Nếu sô' process nhiều hơn số’ máy tính thì nhiều hơn một process sẽ được thực hiện trên một máy tính. Các process liên lạc với nhau bằng cách gởi /nhận các message thông qua mạng máy tính. Để diễn tả các Ihuật toán trên mồ hình multicomputer ta dùng 2 lệnh send và receive để trao đổi thông tin giữa các máy tính. send (X, i) receive (Y, j) 10 [...]... vào Irong thuật toán song song nhưng khổng có trong thuật toán tuần tự Có thể tồn tại các phần không Ihể song song hóa mà phải thực hiện bằng thuật toán tuần tự Độ phức tạp v[3] Cũng như các thuật toán tuần tự , các thuật toán song song có thể được đánh giá bằng độ phức tạp thuật toán Độ phức tạp chính là số các bước tính toán cần thiết để thực hiện thuật toán. 7 Lập trình song song là chia bài toán thành... song song hóa không phải là duy nhất nhưng đồng thời cũng phải cẩn thận để không làm độ phức tạp cao hơn thuật toán tuần tự Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận Tiểu luận đã đưa ra chiến lượng song song hóa cho thuật toán Histogram Equalization Mô tả bằng hình ảnh cả hai chiến lượt tuần tự và song song của thuật toán để có thể dễ dàng thấy được sự hiệu quả khi áp dụng một chiến lượt song. .. sử lý khác, trong đó Histogram Equalization là một bước không thể thiếu Histogram Equalization là thuật toán cơ bản cho xử lý ảnh Xử lý ảnh lại cung cấp những giải pháp cơ bản cho những ngành khác như: xử lý video, thị giác máy tính … Vì vậy việc song song hóa Histogram Equalization không chỉ là song song hóa một giải thuật mà còn đưa ra quan điểm song song cho hàng loạt thuật toán về sau cho những... giá trị 255) – lần lượt theo ảnh minh họa bên dưới là stop +1 và stop +2 18 Chương 3 TRÌNH BÀY THUẬT GIẢI TUẦN TỰ VÀ CHIẾN LƯỢT SONG SONG HÓA THUẬT TOÁN HISTOGRAM EQUALIZATION 3.1 Thuật toán Histogram Equalization tuần tự [4] 3.1.1 Trình bày thuật toán Thuật toán bao gồm các bước sau: Bước 1: Vẽ biểu đồ Histogram của vùng ảnh Bước 2: Lập bảng sau với L = 10 là số mức xám mới, n = 16 là tổng số pixel... NGHIỆM VÀ THẢO LUẬN Chương trình khi khởi động nạp vào thông số mặc định Bạn có thể thay đổi các thông số: - Ảnh nguồn - Số lượng Slave Khi đã chọn lựa đủ tham số, click vào nút “Thực Thi” để thực hiện thuật toán và xuất kết quả Chiến lượt song song trong trường hợp này đã giải quyết song song hóa một phần thuật toán Histogram Equalization Tuy nhiên, vẫn có thể mở rộng và song 28 song hóa bài toán những... phát triển thì việc áp dụng chiến lượt song song hóa sẽ làm tăng khả năng phát triển và giảm chi phí cho mọi công nghệ sử dụng ảnh số như: sử lý ảnh số video số, thị giác máy tính … 5.2 Hướng phát triển Histogram Equalization là thuật toán rất cơ bản trong các thuật toán xử lý ảnh nhưng cũng là thuật toán quan trọng nhất trong xử lý ảnh Dường như không có một thuật toán xử lý ảnh nào được tiến hành thực... số lượng pixel là N thì độ phức tạp của giải thuật là O(N) 21 3.2 Thuật toán Histogram Equalization song song 3.2.1 Chiến lượt song song hóa Tại bước 1 khi thực hiện tuần tự, việc thống kê lượng mức xám thực hiện lần lượt xét qua mỗi pixel để thống kê Nếu ảnh số lượng điểm ảnh lớn thì việc thống kê ở bước này sẽ diễn ra chậm chạp Vì vậy ta có thể song song hóa bước này như sau: - Master chia dữ liệu... 4 2 Slave 3 Slave 4 Hình 3.3 Chiến lượt song song hóa thống kê ở bước 1 Tương tự cho bước 3, việc gán lại giá trị tương ứng cho mỗi pixel cũng được thực hiện như sau: Slave 1 2 3 3 2 22 3 6 6 3 4 Maste 2 4 Slave 3 → r 3 2 3 4 2 4 3 8 6 6 3 6 9 3 8 3 8 5 2 8 2 Slave 3 Slave 4 Hình 3.4 Chiến lượt song song hóa thống kê ở bước 3 3.2.2 Trình bày thuật toán Thuật toán bao gồm các bước sau: Bước 1: Master... thuật toán để có thể dễ dàng thấy được sự hiệu quả khi áp dụng một chiến lượt song song hóa vào một giải pháp tuần tự Với chiến lượt song song hóa, thuật toán đã chứng minh được độ phức tạp của chiến lượt song song là O(N/s) thay O(N) của chiến lượt tuần tự Tuy nhiên, không chỉ là vấn đề đơn thuần về độ phức tạp của giải thuật mà với chuẩn hình ảnh đưa ra ngày càng phát triển, lượng pixel trên ảnh ngày... do phù hợp để áp dụng thuật toán song song thì vẫn còn nhiều miền ứng dụng cho việc này Chẳng hạn như lĩnh vực video số N/s có thể chưa đủ nhỏ với N, nhưng hãy tưởng tượng với dữ liệu video số cho một bộ phim HD 1080i với thời lượng 1 giờ 30 phút thì: N = 1,5 * 60 * 60 * 24 * 1920 * 1080 = 268 738 560 000 Với con số này thuật toán song song sẽ cho thấy ưu điểm hơn so với thuật toán tuần tự 27 Chương . 3. TRÌNH BÀY THUẬT GIẢI TUẦN TỰ VÀ CHIẾN LƯỢT SONG SONG HÓA THUẬT TOÁN HISTOGRAM EQUALIZATION 3.1 Thuật toán Histogram Equalization tuần tự [4] 3.1.1. Trình bày thuật toán Thuật toán bao gồm. Irong thuật toán song song nhưng khổng có trong thuật toán tuần tự. Có thể tồn tại các phần không Ihể song song hóa mà phải thực hiện bằng thuật toán tuần tự. Độ phức tạp v[3] Cũng như các thuật. thuật toán tuần tự , các thuật toán song song có thể được đánh giá bằng độ phức tạp thuật toán. Độ phức tạp chính là số các bước tính toán cần thiết để thực hiện thuật toán. 7 Lập trình song song

Ngày đăng: 20/05/2015, 05:48

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan