Tải bản đầy đủ (.pdf) (11 trang)

báo cáo bài tập lớn phân tích svd để khử nhiễu âm thanh hoặc hình ảnh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.49 MB, 11 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC BÁCH KHOA</b>

<b>ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH</b>

Trần Đăng Nhật 2312486 Tìm thơng tin

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC:</b>

<b>A. NỘI DUNG...2</b>

<b>Phần I: Cơ sở lý thuyết của SVD...2</b>

<b>1. Phát biểu SVD:...2</b>

<b>2. Các dạng phân tích suy biến...3</b>

<b>Phần II: Các bước phân tích SVD...5</b>

<b>1. Q trình phân tích SVD của một ma trận dựa trên cơ sở lý thuyết đã nêu trên:...5</b>

<b>2. Biểu diễn SVD qua các trường hợp của ma trận...5</b>

<b>Phần III: Ứng dụng của phân tích SVD trong khử nhiễu âm thanh...7</b>

<b>1. Các vấn đề liên quan đến âm thanh:...7</b>

<b>2. Ý nghĩa của việc khử nhiễu:...7</b>

<b>3. Khử nhiễu âm thanh thơng qua thuật tốn phân tích SVD...8</b>

Phép phân tích suy biến (Singular Value Decomposition) viết tắt là SVD là một

dạng matrix factorization. Theo đó phương pháp này cũng nhằm phân rã một ma trận thành tích của ba ma trận số thực hoặc số phức Trong đó hai ma trận ở vị trí đầu tiên và cuối cùng là ma trận

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

trực giao có thể không là khả nghịch của nhau và ở giữa là ma trận đường chéo có thể khơng vng

Kích thước ma trận được để ở bên dưới chân ma trận, tức là ma trận A R . Trong cơng <small>mn</small>∈ <small>m*n</small>

thức trên thì U<small>mm</small>,V<small>nn</small> là các ma trận trực giao và <b>Σ<small>mn</small></b> là ma trận đường chéo.

<i>Minh hoạ phép phân tích suy biến</i>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

Mô tả SVD củ a ma trận A trong hai trường hợp m < n và m > n. trường hợp m = n có thể xếp <small>mn </small>

vào một trong hai trường hợp trên

<b>2. Các dạng phân tích suy biến</b>

Thơng thường việc phân tích suy biến một ma trận có kích thước lớn sẽ rất lâu vì trước tiên ta phải giải phương trình đặc trưng để tìm ra các giá trị đặc trưng, từ đó suy ra ma trận đường chéo .Tiếp theo để tìm ra ma trận trực giao ta xuất phát từ phương <b>ΣV</b>

trình để suy ra

Như vậy đối với một cột bất kỳ của ma trận ta có:<b>V<small>I</small>V</b>

<b>Phương pháp Compact SVD</b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Rõ ràng trong cách biểu diễn này, ma trận A chỉ phụ thuộc vào r cột đầu tiên của U,V và r giá trị khác 0 trên đường chéo của ma trận Σ. Vì vậy ta có một cách phân tích <i>gọn</i> hơn và gọi

Với Ur,Vr lần lượt là ma trận được tạo bởi r cột đầu tiên của U và V. Σr là ma trận con được tạo bởi r hàng đầu tiên và r cột đầu tiên của Σ. Nếu ma trận A có rank nhỏ hơn nhiều so với số hàng và số cột r m,n ta sẽ được lợi nhiều về việc lưu trữ.≪

Dưới đây là ví dụ minh hoạ với m=4, n=6, r=2.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>Phần II: Các bước phân tích SVD</b>

<b>1. Q trình phân tích SVD của một ma trận dựa trên cơ sở lý thuyết đã nêu trên:</b>

Singular Value Decomposition (SVD) là một ứng dụng nổi bật trong Đại số tuyến tính. Với một ma trận A cấp m×n bất kỳ nào (khơng nhất định là một ma trận vng), ta có thể phân tích thành dạng:

<i><small> </small></i>(1)

Trong đó: U , V là các ma trận trực giao, Σ là ma trận đường cháo không vuông (cấp mxn) với các phần tử trên đường chéo σ1≥ σ2≥ ≥ σr≥0=0= =0 và r là rank của ma trận A. Lưu ý, mặc ⋯ ⋯ dù Σ không phải ma trận vuông, ta vẫn có thể coi nó là một ma trận chéo nếu các thành phần khác khơng của nó chỉ nằm ở vị trí đường chéo, nghĩa là tại các vị trí có chỉ số hàng và chỉ số cột là như nhau. Số lượng các phần tử khác 0 trong Σ là rank của ma trận A.

* Chú ý rằng cách biểu diễn của (1) không là duy nhất, ta chỉ cần đổi dấu của cả U và V thì vẫn thoả mản (1)

<b>2. Biểu diễn SVD qua các trường hợp của ma trậnTH1: với m<n:</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>TH2:với m<n:</b>

<b>H1: SVD cho ma trận A khi: m<n (ở hình trên), và m>n (ở hình dưới). Σ là một ma trận đường </b>

chéo với các phần tử trên đó giảm dần và khơng âm. Màu đỏ càng đậm thể hiện giá trị càng cao. Các ô màu trắng trên ma trận này thể hiện giá trị 0.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>Phần III: Ứng dụng của phân tích SVD trong khử nhiễu âm thanh</b>

File ghi âm có lẫn tạp âm cần được xử lí:

<b>1. Các vấn đề liên quan đến âm thanh:</b>

Trong đời sống, âm thanh đóng vai trị quan trọng trong các hoạt động, cơng việc liên lạc và nhu cầu giải trí. Ví dụ như : âm thanh còi báo động, còi xe, âm nhạc,...

Đôi lúc trong công việc chúng ta gần làm việc với âm thanh, chẳng hạn như gửi, nhận âm thanh và ghi âm. Việc ghi lại âm thanh đơi khi sẽ sinh ra một vấn đề đó là các tạp âm không mong muốn sẽ được ghi lại, và làm giảm chất lượng âm thanh ( tiếng ồn, tiếng gió ríu rít,...) Vậy vấn đề đặt ra là làm sao để chúng ta khử nhiễu một tập tin âm thanh để tạo ra tập tin âm thanh mà ta mong muốn ?

<b>2. Ý nghĩa của việc khử nhiễu:</b>

- Việc khử nhiễu âm thanh sẽ giúp chúng ta tiết kiệm về thời gian trong việc phân tích âm thanh. Ví dụ như trong việc nghiên cứu âm thanh trong vũ trụ, các âm thanh trong lòng trái đất,... - Một file âm thanh đã được khử nhiễu sẽ góp phần làm tăng chất lượng của sản phẩm, ứng dụng mà con người tạo ra. Ví dụ trong việc tạo video, làm phim, các ứng dụng liên lạc,... Từ đó sẽ tạo ra những trải nghiệm về âm thanh tuyệt vời, chân thực.

- Thúc đẩy cuộc chạy đua về công nghệ để tạo ra những ứng dụng, thiết bị thu âm, khử nhiễu nhằm cải thiện các vấn đề liên quan đến âm thanh.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>3. Khử nhiễu âm thanh thơng qua thuật tốn phân tích SVD</b>

- Bước 1 : Ta đang có một file âm thanh trong máy ( đi các file này có thể là MP3, WAV, AAC,

<b>WMA). Sau đó ta chèn file muốn khử nhiễu vào Matlab bằng lệnh ‘‘audioread’’.</b>

- Bước 2: Chúng ta chọn <b>giá trị mẫu (y) </b>và <b>tần số của mẫu (Fs, đơn vị là Hz)</b>, sau đó bằng lệnh

<b>‘’sound’’, ta có thể kiểm tra file âm thanh vừa được chèn vào Matlab.</b>

<b>- Bước 3: Thông qua câu lệnh ‘‘plot(y)’’ (plot the sound),ta có thể thấy được file âm thanh đó </b>

một cách trực quan trên biểu đồ, giả sử sau khi chèn được file âm thanh ta sẽ có biểu đồ như sau : Những phần được đánh dấu x màu xanh là những đoạn âm thanh có nhiễu với tần số xuất hiện cao, đây là những phần cần được loại bỏ.

- Bước 4: Ta tiến hành phân tích SVD để khử nhiễu những đoạn âm thanh đó, dựa trên nguyên tắc mã hóa thành một ma trận gồm các nhân tử để chương trình Matlab có thể nhận dạng được, từ đó tiến hành phân tích SVD để khử nhiễu.

a) Chuyển sound về ma trận A

b) Phân tích SVD ma trận A bằng lệnh [U,S,V]=svd(A)

<b>- Bước 5 : Sau khi phân tích ma trận A thành SVD, chọn các điểm trong khơng gian chính là </b>

<b>những đoạn bị tạp âm, để xử lí hồn tất, ta dùng câu lệnh ‘‘figure,subplot’’ để hiển thị đoạn âm </b>

thanh mà ta xử lí để đối chiếu so sánh.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

-Hàm audioread() : đọc file âm thanh cần xử lý

-Hàm svd() thực hiện phân tích SVD âm thanh x thành 3 ma trận U,S,V ('econ' giúp hàm tính tốn phân tích theo kiểu tiết kiệm bộ nhớ, chỉ tính tốn các thành phần chính)

-Hàm diag(): tạo ra một ma trận vuông với các giá trị trên đường chéo chính là các giá trị của ma trận S, chứa các gía trị năng lượng của thành phần chính

-Hàm sqrt() : tính căn bậc hai của từng phần tử trong ma trận E. -V' là ma trận chuyển vị của ma trận V

- Hàm audiowrite() : ghi file âm thanh đã được lọc ( Tham số fs trong hàm audiowrite() là tần số lấy mẫu của file âm thanh. Tần số lấy mẫu là số lần tín hiệu âm thanh được lấy mẫu trong một giây. Tần số lấy mẫu càng cao thì tín hiệu âm thanh càng được mơ tả chính xác)

<b>SẢN PHẨM:</b>

san pham_audio.wav

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>C. TÀI LIỆU THAM KHẢO:</b>

Singular Value Decomposition - Stanford University LỜI CẢM ƠN:</b>

Kính gửi cơ,

Sau khi hồn thành học phần Đại số tuyến tính – Mã MH: MT1007 – Lớp L05, nhóm em xin gửi lời cảm ơn chân thành tới cô Nguyễn Xuân Mỹ.

Qua học phần này, em đã được hệ thống hóa những kiến thức cơ bản về đại số tuyến tính như: bao gồm vector, ma trận, khơng gian tuyến tính, ánh xạ tuyến tính,... Những kiến thức này giúp nhóm em nhìn nhận sâu sắc hơn về kiến thức của môn học và các ứng dụng của nó.

Cơ đã truyền đạt kiến thức một cách rõ ràng, sinh động, kết hợp lý thuyết với thực tiễn để lớp chúng em dễ hiểu và nắm vững. Em xin chân thành cảm ơn cô về sự nhiệt tình, tận tụy trong giảng dạy và động viên học tập.

Những kiến thức nhóm em được học từ học phần này chắc chắn sẽ là nền tảng vững chắc cho em trong việc tiếp thu các kiến thức tốn học ở trình độ cao hơn cũng như ứng dụng vào thực tiễn sau này.

Một lần nữa, em xin chân thành cảm ơn cơ ! Kính chúc cơ sức khỏe, hạnh phúc và thành cơng! Em xin kính chào!

</div>

×