Phương pháp xây dựng và tìm kiếm chuỗi đặc trưng dựa trên waveprint

Một phần của tài liệu Khóa luận tốt nghiệp: Chuỗi đặc trưng âm thanh và ứng dụng trong tìm kiếm nhạc số (Trang 26 - 30)

Phương pháp xây dựng này được phát triển bởi Shumeet Baluja và Michele Covell.

2.2.2.1. Trích rút chuỗi đặc trưng

Chúng ta cũng bắt đầu quá trình xử lý rút ra chuỗi đặc trưng bằng việc chuyển âm thanh đầu vào thành ảnh phổ như phương pháp của Haitsma. Theo đó chúng ta sử dụng các ảnh phổ 371ms chia thành các hình ảnh thuộc quang phổ, mỗi hình ảnh dài 11.6 ms, khoảng cách loga là 32 và nằm trong dải tần từ 319Hz đến 2kHz. Việc rút ra các hình ảnh thuộc phổ đã biết độ dài từ các ảnh phổ cho phép chúng ta tạo ra những chuỗi đặc trưng con bao gồm những cấu trúc biểu thị thời gian mà không dễ bị ảnh hưởng bởi những thay đổi theo thời gian. Chúng ta sẽ sử dụng sự hiển thị dựa trên

wavelets.

Đối với mỗi hình ảnh thuộc quang phổ mà chúng ta tạo ra, ta rút ra wavelets cao nhất theo cường độ của chúng. Wavelets là công cụ toán học để phân tách các hàm theo thứ bậc. Chúng cho phép một hàm được mô tả bởi toàn bộ hình dạng của nó, cộng với những chi tiết tăng dần liên tiếp. Giống như việc phân tích Fourier,

thuộc tính của sự hỗ trợ cục bộ, với mỗi sự hỗ trợ của wavelet bao phủ một số lượng thích hợp các chu kỳ tần số của dải tần của wavelet đó.

Hình 7: Sự hiển thị cho 3 bài hát – 5 frames liên tiếp nhau hiển thị cho mỗi bài, nhảy qua 0.2 giây. Đối với mỗi bài hát, hàng đầu tiên là hình ảnh phổảnh gốc, hàng thứ 2 là cường độ wavelet, hàng thứ 3 hiển thị 200 sóng đầu tiên (t=200). Chú ý rằng những wavelet đầu tiên có một mẫu phân biệt với mỗi bài trong 3 bài hát.

Để mô tả một hình ảnh m×n với wavelets, m×n wavelets được trả lại: không có sự nén. Nếu chỉ một mình nó thì hình ảnh-wavelet không chống đỡ được tiếng ồn hoặc sự suy giảm âm thanh; sẽ có sự thay đổi của những giá trị này do những thay đổi nhỏ trong âm thanh (vd một chút tiếng ồn, tiếng vang, những âm thanh nền khác, hoặc được chơi bằng điện thoại di đông,…). Thay vì sử dụng toàn bộ tập wavelets, chúng ta chỉ giữ lại những thành phần đặc trưng nhất của bài hát. Theo cách đơn giản, ta chọn t wavelets đầu (theo cường độ), trong đó t<<m×n. Khi nhìn vào wavelets của

những hình ảnh liên tiếp của hai bài hát, chúng ta dễ thấy những mẫu được xác định cả trong không gian wavelet và thậm chí còn rõ ràng hơn khi t wavelets đầu được giữ (xem hình 7).

Bước cuối cùng của quá trình tạo ra chuỗi đặc trưng con là lấy vecto wavelet rải rác mô tả ở trên và tạo ra sự hiển thị ngắn gọn của nó. Ta khảo sát cách dùng của hàm băm Min (Min-Hash) để tính toán các chuỗi đặc trưng con cho những vecto bit rải rác này. Một yêu cầu cơ bản của các chuỗi đặc trưng con là chuỗi con v1 và chuỗi con v2 giống nhau nhau nếu và chỉ nếu tín hiệu wavelet v1 và tín hiệu wavelet v2 tương tự nhau.

Đối với mục đích của phương pháp này, đưa ra hai vecto v1 và v2, ta sẽ chỉ ra các kiểu phù hợp như bốn kiểu a, b, c, d như biểu diễn trong bảng 1, phụ thuộc vào các bit tương ứng trong các vecto. Đưa ra những kiểu hợp/không hợp này cần chú ý rằng với những vecto rải rác, hầu hết các vị trí bit sẽ là kiểu d. Ta sẽ định nghĩa sự giống nhau của hai vecto là số hàng liên quan có kiểu là a: vd Sim(v1, v2)=a/(a+b+c).

Bảng 1: Các kiểu hợp/không hợp giữa những bit đơn của các vecto nhị phân.

Kiểu Vecto 1 Vecto 2

a 1 1 b 1 0 c 0 1 d 0 0

Một cách tiếp cận trực tiếp với vấn đề này là chọn ngẫu nhiên đơn giản một tập các vị trí bit và sử dụng chúng như tín hiệu, tuy nhiên nó sẽ không làm việc. Bởi vì các vecto là rời rạc, các tín hiệu kết quả có khả năng sẽ giống nhau bởi vì chúng hầu hết được tạo ở 0 giây, tuy nhiên nó sẽ không đưa ra dấu hiệu đúng của sự giống nhau bởi vì các hàng của kiểu a được quan tâm nhất.

Kỹ thuật hàm băm Min làm việc như dưới sau. Hoán vị các vị trí bit thành một vài thứ tự ngẫu nhiên (nhưng đã biết). Sau đó với hoán vị này, đo mỗi vecto mà trong đó ví trí đầu tiên ‘1’ được chỉ ra. Có một chú ý quan trọng là xác xuất mà sự xuất hiện đầu tiên (v1) bằng sự xuất hiện đầu tiên (v2) là giống nhau và giống xác xuất a/(a+b+c): giá trị băm được chấp nhận nếu vị trí đầu tiên với 1 trong vecto bit là kiểu

a, và chúng không được chấp nhận nếu vị trí đầu tiên là kiểu b hoặc c. Chú ý rằng xác xuất này giống như Sim(v1, v2) – là cái mà chúng ta cần.

Chúng ta có thể nhắc lại thủ tục trên nhiều lần, mỗi lần với một hoán vị mới của các vị trí bit. Nếu chúng ta nhắc lại quá trình p lần với p hoán vị khác nhau, chúng ra nhận được p phép chiếu của vecto bit. Những giá trị p này là tín hiệu cho vecto bit. Ta có thể so sánh sự giống nhau của các vecto bit bằng cách nhìn vào các giá trị phù hợp chính xác trong các tín hiệu có độ dài p; với p đủ lớn sẽ rất gần để đạt được sự giống nhau với các vecto gốc. Trong phương pháp này, ta không giữ sự hiển thị bit trung gian mô tả ở trên. Thay vào đó ta lưu trữ tín hiệu tính toán của hàm băm Min, đây là chuỗi chuỗi đặc trưng con cuối cùng của hình ảnh âm thanh.

Trong nghiên cứu này, hàm Min làm giảm cỡ của tín hiệu từ việc biểu diễn

wavelet trung gian được mô tả trong phần này đến sự biểu diễn ngắn gọn của p giá trị.

Có rất nhiều những kỹ thuật khác nhau được sử dụng cho việc làm giảm bậc - trong số đó có kỹ thuật như Principal Components Analysis (PCA) và Linear Discriminant Analysis (LDA). Chúng ta chọn sử dụng hàm băm Min bởi một chuỗi các lý do. Đầu tiên là yêu cầu khả năng tách biệt qua các tín hiệu top wavelet, không yêu cầu khả năng mô tả. Yêu cầu này có nghĩa là PCA có thể không là sự biểu diễn tốt nhất và thay vào đó là các phương pháp truyền thống trên cơ sở LDA. Vì các tín hiệu wavelet

hiển thị vecto rời rạc, chúng ta quyết định khảo sát việc sử dụng các kỹ thuật đã được thiết kế để sử dụng xác xuất tín hiệu phù hợp và tách biệt qua các vecto rời rạc.

Theo cách này, chúng ta phải giảm lượng thông tin từ mỗi ảnh phổ qua ba bước. Đầu tiên, ta chỉ giữ wavelets đầu của những hình ảnh thuộc phổ, kết hợp với ảnh phổ. Thứ hai, ta làm giảm wavelets đầu chỉ còn 2 bit. Thứ ba, sử dụng thủ tục hàm băm Min để làm giảm rõ ràng kết quả vecto bit thành p giá trị và nó trở thành chuỗi phụ cuối cùng.

Sau những bước này, mỗi hình ảnh thuộc phổ (hoặc đoạn âm thanh có cùng độ dài) được biểu diễn bằng một chuỗi p số nguyên 8 bit – chuỗi đặc trưng. Tuy nhiên khi bị nén thì việc tìm ra những tín hiệu ở gần một cách hiệu quả trong không gian p chiều cũng là công việc không nhẹ nhàng (khi p>50). Thay vào đó, chúng ta sử dụng 1 kỹ thuât gọi tên là Locality-Sensitive Hashing (LSH). Nó không chỉ hiệu quả trong số lượng các so sánh được yêu cầu (1 phần nhỏ của tập dữ liệu sẽ được khảo sát), mà còn cung cấp các thuộc tính mạnh về tiếng ồn.

Một phần của tài liệu Khóa luận tốt nghiệp: Chuỗi đặc trưng âm thanh và ứng dụng trong tìm kiếm nhạc số (Trang 26 - 30)