1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(TIỂU LUẬN) báo cáo bài tập lớn đại số TUYẾN TÍNH giới thiệu phép biến đổi haar viết chương trình sử dụng phép biến đổi haar để nén dữ liệu

27 40 1

Đ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

Thông tin cơ bản

Tiêu đề Giới thiệu phép biến đổi Haar viết chương trình sử dụng phép biến đổi Haar để nén dữ liệu
Tác giả Lê Hoàn, Lê Gia H, Phạm H, Trần Ho, Đỗ Trần Văn Phú
Trường học Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Chuyên ngành Đại số tuyến tính
Thể loại Báo cáo bài tập lớn
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 27
Dung lượng 1,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong đó “nén ảnh” là một phần của xử lí ảnh có ứng dụng to lớn trong truyền thông và tronglưu trữ, đã có rất nhiều phương pháp nén ảnh được ra đời và không ngừng được cải tiến để ngày c

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HCM ĐẠI HỌC QUỐC GIA TP HỒ

Trang 2

MT1007_L19_N09

Trang 3

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HCM

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

BÁO CÁO BÀI TẬP LỚN

Trang 4

MỤC LỤC

DANH SÁCH THÀNH VIÊN ……… 1

MỤC LỤC ……… 2

LỜI MỞ ĐẦU ……… 3

CHƯƠNG I: CƠ SỞ LÝ THUYẾT I. GIỚI THIỆU CHUNG ……… ………… 4

1 Sơ lược về thuật toán haar ……… 4

2. Tác dụng ….……… 4

AI. CÁCH GIẢI THUẬT TOÁN ……… ……… 4

1. Cách giải thuật toán ……… ……… 4

2. Nén mất dữ liệu …….……… 9

3. Nén không mất dữ liệu ……….……… 10

CHƯƠNG II: MATLAB I. GIỚI THIỆU MATLAB ……… … 15

AI. CÁC LỆNH MATLAB ĐƯỢC SỬ DỤNG ……… 15

BI. ĐOẠN CODE MATLAB ……… 16

CHƯƠNG III: TỔNG KẾT I. KIẾN THỨC ……… 17

AI. KĨ NĂNG ……… 17

BI. TÀI LIỆU THAM KHẢO ……… 17

LỜI CẢM ƠN ……… ……… 18

2

Trang 5

LỜI MỞ ĐẦU

Cuộc sống càng phát triển thì nhu cầu thông tin của con người càng phong phú, dẫn đến sự phát triển mạnh mẽ của khoa học kĩ thuật, các loại hình thông tin vô tuyến, các hình thức xử lítín hiệu, đặc biệt là công nghệ xử lí ảnh Xử lí ảnh là một ngành khoa học còn tương đối mới

mẻ so với nhiều ngành khoa học khác nhưng nó đang được tập trung nghiên

cứu và phát triển vì những ứng dụng thực tiễn của nó trong nhiều ngành, lĩnh vực khác nhau Trong đó “nén ảnh” là một phần của xử lí ảnh có ứng dụng to lớn trong truyền thông và tronglưu trữ, đã có rất nhiều phương pháp nén ảnh được ra đời và không ngừng được cải tiến để ngày càng hoàn thiện đem lại hiệu quả nén cao và cho chất lượng ảnh tốt nhất Nén ảnh là một kĩ thuật mã hóa các ảnh số hóa nhằm giảm số lượng các bit dữ liệu cần thiết để biểu diễn ảnh Vấn đề này đặt ra yêu cầu ngày càng cao trong việc xử lí tín hiệu để đảm bảo vừa có thể nén dữ liệu, tiết kiệm dung lượng trên đường truyền tín hiệu, vừa đảm bảo trừ nhiễu tín hiệu

và có khả năng khôi phục lại được tín hiệu với chất lượng tốt

Có rất nhiều phương pháp xử lí tín hiệu với rất nhiều thuật toán, biến đổi toán học đã đượcnghiên cứu Trong số đó, biến đổi Haar hiện nay đang được xem là một phép biến đổi mới,

có rất nhiều tiềm năng, đang phát triển khá mạnh mẽ với các ưu điểm vượt trội so với các phép biến đổi truyền thống Haar cho phép phân tích tín hiệu cả trong miền thời gian và tần số Do đó, hiện nay biến đổi Haar đang được ứng dụng khá rộng rãi trong nhiều lĩnh vực, từ y sinh tới công nghệ xử lí ảnh

Trong bài báo cáo này, chúng em xin phép được giới thiệu về: “Giới thiệu phép biến đổiHaar và viết phương trình sử dụng phép biến đổi Haar để nén dữ liệu”

3

Trang 6

CHƯƠNG I: CƠ SỞ LÝ THUYẾT

I GIỚI THIỆU CHUNG

1. Sơ lược về thuật toán Haar

Biến đổi Haar là một trong những chức năng biến đổi lâu đời nhất, được đề xuất vào năm

1910 bởi nhà toán học người Hungary, Alfréd Haar Nó được tìm thấy hiệu quả trong các ứng dụng như nén tín hiệu và hình ảnh trong kỹ thuật điện và máy tính vì nó cung cấp một cách tiếp cận đơn giản và hiệu quả về mặt tính toán để phân tích các khía cạnh địa phương của tín hiệu

Hàm biến đổi nén Haar là một cách đơn giản để thể hiện cả hai phương pháp nén mất dữ liệu và nén không mất dữ liệu Nó phụ thuộc vào trung bình và các giá trị khác nhau

trong ma trận hình ảnh để mà tạo ra những ma trận thưa hoặc gần thưa Một ma trận thưa được lưu trữ một cách hiệu quả, dẫn tới việc làm nhỏ đi kích cỡ của ma trận đó

480 điển hình có gần một triệu Kích thước của những tệp này cũng có thể khiến quá trìnhtải xuống từ Internet trở nên lâu chậm hơn Biến đổi Haar wavelet đã cung cấp phương tiện mà chúng ta có thể nén hình ảnh để rằng nó chiếm ít không gian lưu trữ hơn, và do đótruyền điện tử nhanh hơn và ở mức độ chi tiết tăng dần

AI. CÁCH GIẢI THUẬT TOÁN

1. Cách giải thuật toán

Ở đây, chúng ta sẽ tập trung vào thước xám (Gray Scale được hiểu theo tiếng Việt có

nghĩa là thước xám hay còn được gọi là “xám chuẩn”, “thẻ xám”, là một dụng cụ giúp

kiểm tra, đánh giá độ bền màu của các sản phẩm như vải, sản phẩm nhuộm.); tuy nhiên, những bức ảnh theo dạng rbg có thể kiểm soát bằng cách nén mỗi màu khác nhau theo

từng lớp riêng biệt khác nhau Phương pháp cơ bản nhất để bắt đầu với một ảnh A, ta có

thể xem như là một ma trận cỡ m ×n , với giá trị từ 0 đến 255 Trong matlab, nó sẽ là một

ma trận với 8-bit giá trị nguyên Chúng ta có thể chia nhỏ ảnh thành 8 × 8

Ví dụ : Dưới đây là hình ảnh thang độ xám 512 × 512 pixel của các trụ bay của Nhà thờĐức Bà Paris:

4

Trang 7

Tiếp theo, thay thế 4 cột đầu tiên của r1 bằng giá trị nửa tổng

và 4 cột cuối cùng của bằng nửa hiệu của các cặp này Hàng

mới được ký hiệu là r1h1 :

Trang 8

theo, nhóm 4 cột đầu tiên của hàng mới này [88,89.5]bằng nửa

Trang 9

Cuối cùng, nhóm 2 mục đầu tiên của r1h1h2 lại với nhau [88.75,94.75] và thay thế cột đầu

tiên của r1h1h2 bằng nửa tổng và cột thứ hai của r1h1h2 bằng nửa hiệu của cặp số trên Ta

giữ nguyên 6 cột cuối cùng của r1h1h2 Ta ký hiệu hàng mới cuối cùng này là r1h1h2 h3

Bây giờ, ta sẽ thảo luận về cách thực hiện quá trình này bằng cách sử dụng phép nhân

ma trận dưới đây, ma trận biến đổi Haar wavelet

Trang 12

Sau đó AH

Cụ thể là:

1 tương đương với ba bước trên được áp dụng cho tất cả các hàng của A.

Trang 13

Để áp dụng quy trình cho các cột, chỉ cần nhân A ở bên trái với H Ma trận kết quả là:

Trang 14

Phép biến đổi Haar có thể biểu diễn ma trận nén mất dữ liệu để giữ lại chất lượng hình

ảnh Đầu tiên, tỷ lệ nén của hình ảnh là tỷ lệ của các phần tử khác 0 trong ảnh gốc với

các phần tử khác 0 trong ảnh nén

Gọi A là một ma trận dạng 8 × 8 và H

phạm vi từ 0 đến ε biến thành số 0 Ma trận này hiện có nhiều giá trị 0 hơn và thể hiện một

hình ảnh được nén nhiều hơn Khi chúng ta giải nén hình ảnh này bằng cách sử dụng biến

đổi Haar wavelet ngược, chúng ta thu được kết quả với một hình ảnh gần với bản gốc Ví

dụ, với ma trận A của chúng ta lấy từ ví dụ, nếu chọn ε = 0.25 , sẽ có kết quả với ma trận:

0

000

000

0

Ma trận này đại diện cho một tỉ lệ nén là 27 48 =1.7 (phần tử số 48 tức là số trên cùng

96 chia đôi và phần mẫu số là 27 số khác 0 của ma trận trên)

9

Trang 15

Các ảnh dưới đây là một ví dụ về hình ảnh ban đầu, được nén theo các tỷ lệ khác nhau:

Ảnh gốc Tỷ lệ nén 10:1

Tỷ lệ nén 30:1 Tỷ lệ nén 50:1

3 Nén không mất dữ liệu

Ví dụ: Xét một phép nén dữ liệu dựa trên biến đổi Haar Giả sử ta có đoạn dữ liệu

X0 = (154 150 156 152 160 160 152 156)T Ta chia dữ liệu thành từng cặp và tìm nửa

tổng a và nửa hiệu d của các cặp Khi đó ta được dãy

X1 = (152 154 160 154 2 2 0 −2)T với 4 số đầu tiên là nửa tổng và 4 số tiếp theo là

nửa hiệu của các cặp

Có thể dùng ma trận để mô tả quá trình này như sau:

10

 0.5

Trang 16

Các cột của A tạo nên họ trực giao Nếu ta chia mỗi cột cho độ dài của chúng ta được họ

trực chuẩn và ma trận tương ứng là ma trận trực giao H như sau:

Khi đó nghịch đảo của H là H T Ta dùng ma trận H để nén dữ liệu thay cho A Ta có

Y =HX Giải nén dữ liệu ta được,

0 1

quan trọng là nó bảo toàn khoảng cách và góc Thực vậy, ta có:

Trang 17

HX = (HX)T (HX) = X T H T HX = X T X = X

Tức là độ dài vectơ X và độ dài vectơ HX như nhau

Ngoài ra góc giữa hai vectơ u và v thỏa cos θ = (u , v)

u v

Qua phép biến đổi H, góc giữa hai vectơ Hu và Hv thỏa

11

cos α =

Hay góc giữa hai vectơ u và v bằng với góc giữa hai ảnh của nó là Hu

Phép biến đổi trực giao H bảo toàn góc và khoảng cách nên nó không làm thay đổi hình

dạng của ảnh trong quá trình nén

Tiếp tục quá trình nén ở trên như sau

1

Trang 18

Với H1 là ma trận H ở ví dụ trước, có 4 phần tử sau nhỏ còn 4 phần tử đầu là những số lớn.

Giữ bốn số sau của dãy lại Đối với bốn số đầu, ta chia làm hai cặp, tìm nửa tổng và nửa

Tiếp tục quá trình trên, giữ 6 số cuối của Y2

hiệu của chúng, ta có Y3 = H 3Y2 = ( 310 2

lại Hai số đầu được thay bởi nửa tổng và nửa

−4

12

Trang 19

Tóm lại ta có Y3 = H3 H2 H1 X 0 ⇔ Y3 = QX0

Véctơ Y3

Giải nén dãy dữ liệu

Trang 20

Dưới đây là ảnh minh họa cho phép biến đổi nén không mất dữ liệu:

13

Trang 21

Ảnh gốc Ảnh sau 1 lần biến đổi

Ảnh sau 2 lần biến đổi Ảnh sau 3 lần biến đổi

14

Trang 22

CHƯƠNG II: MATLAB

I. GIỚI THIỆU MATLAB

MATLAB là môi trường tính toán số và lập trình, được thiết kế bởi công ty MathWorks MATLAB cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thựchiện thuật toán, tạo các giao diện người dùng và liên kết với những chương trình máy tínhviết trên nhiều ngôn ngữ lập trình khác MATLAB giúp đơn giản hóa việc giải quyết các bài toán tính toán kĩ thuật so với các ngôn ngữ lập trình truyền thống như C, C++, và Fortran

MATLAB được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyền

thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính, tính toán sinh học, bên cạnh đó, MATLAB còn được sử dụng để phát triển thuật toán Với hàng triệu kĩ sư và nhà khoa học làm việc trong môi trường công nghiệp cũng như ở

môi trường hàn lâm, MATLAB là ngôn ngữ của tính toán khoa học

Thông qua bài báo cáo này chúng em đã tìm hiểu về ứng dụng của MATLAB trong Đại sốtuyến tính, cụ thể hơn là tìm hiểu về phép biến đổi Haar ứng dụng vào việc nén dữ liệu, đồng thời viết chương trình MATLAB sử dụng phép biến đổi Haar để nén hình ảnh

15

Trang 23

II CÁC LỆNH MATLAB ĐƯỢC SỬ DỤNG

Trang 24

16

Trang 25

BI. ĐOẠN CODE MATLAB

Trang 26

CHƯƠNG III: TỔNG KẾT

I KIẾN THỨC

- Dựa vào các kiến thức lí thuyết đã được học để thực hiện phép biến đổi Haar

- Tìm hiểu và sử dụng phần mềm Matlab viết chương trình sử dụng phép biển dổi Haar

để nén dữ liệu

II KĨ NĂNG

Sau thời gian làm việc chung, nhóm đã đạt được kết quả sau:

+ Nhóm hoạt động ổn định, có tổ chức, tôn trọng lẫn nhau, thường xuyên tương tác,

trao đổi qua lại giữa các thành viên

+ Thành viên có trách nhiệm, tham gia tất cả các cuộc bàn luận và hoàn thành nhiệm

vụ được phân công

+ Mọi công việc đều rõ ràng nên nhóm đã hoạt động một cách tối ưu và đạt được hiệu quả công việc cao

+ Các thành viên đã nâng cao được kĩ năng làm việc nhóm như khả năng giao tiếp, thảoluận với nhau, đưa ra quan điểm cá nhân,…

+ Giữa các thành viên có sự thống nhất, mọi người đều có tính kỷ luật, tuân theo nội

quy của nhóm

BI. TÀI LIỆU THAM KHẢO

Đặng Văn Vinh, Giáo trình Đại Số Tuyến Tính, NXB Đại học Quốc Gia TP Hồ Chí

Help Center for MATLAB, Simulink and other MathWorks products

18

Trang 27

LỜI CẢM ƠN

Trước tiên với tình cảm chân thành nhất, chúng em xin được bày tỏ lòng biết ơn đến tất

cả các cá nhân và tổ chức đã tạo điều kiện hỗ trợ, giúp đỡ chúng em trong suốt quá trình học tập và nghiên cứu đề tài này Trong thời gian từ khi bắt đầu học tập tại trường đến nay, chúng em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô và bạn bè

Với lòng biết ơn sâu sắc nhất, chúng em xin gửi lời cảm ơn đến thầy Bùi Anh Tuấn đã truyền đạt vốn kiến thức quý báu cho chúng em trong thời gian học môn Đại số tuyến tính Nhờ có những lời hướng dẫn, giảng dạy của Thầy nên đề tài bài tập lớn của chúng

em mới có thể được hoàn thành Bản báo cáo thực hiện trong khoảng thời gian ngắn nên còn hạn chế và chúng em còn nhiều bỡ ngỡ, không tránh khỏi những thiếu sót, rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô và các bạn để kiến thức của chúng em được cải thiện đồng thời có điều kiện bổ sung, nâng cao các kĩ năng của mình

Chúng em xin chân thành cảm ơn!

19

Ngày đăng: 01/12/2022, 09:36

HÌNH ẢNH LIÊN QUAN

Phép biến đổi Haar có thể biểu diễn ma trận nén mất dữ liệu để giữ lại chất lượng hình ảnh - (TIỂU LUẬN) báo cáo bài tập lớn đại số TUYẾN TÍNH giới thiệu phép biến đổi haar viết chương trình sử dụng phép biến đổi haar để nén dữ liệu
h ép biến đổi Haar có thể biểu diễn ma trận nén mất dữ liệu để giữ lại chất lượng hình ảnh (Trang 14)
3. Nén khơng mất dữ liệu - (TIỂU LUẬN) báo cáo bài tập lớn đại số TUYẾN TÍNH giới thiệu phép biến đổi haar viết chương trình sử dụng phép biến đổi haar để nén dữ liệu
3. Nén khơng mất dữ liệu (Trang 15)
Các ảnh dưới đây là một ví dụ về hình ảnh ban đầu, được nén theo các tỷ lệ khác nhau: - (TIỂU LUẬN) báo cáo bài tập lớn đại số TUYẾN TÍNH giới thiệu phép biến đổi haar viết chương trình sử dụng phép biến đổi haar để nén dữ liệu
c ảnh dưới đây là một ví dụ về hình ảnh ban đầu, được nén theo các tỷ lệ khác nhau: (Trang 15)

🧩 Sản phẩm bạn có thể quan tâm

w