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 LUẬN VĂN:CHUỖI ĐẶC TRƯNG ÂM THANH VÀ ỨNG DỤNG TRONG TÌM KIẾM NHẠC SỐ pdf (Trang 26 - 33)

L ỜI MỞ ĐẦ U

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

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.

2.2.2.2. Tìm kiếm chuỗi đặc trưng

Toàn bộ quá trình tìm kiếm được biểu diễn bằng biểu đồ trong hình 8. Sự khác nhau đầu tiên trong quá trình tìm kiếm, trong sự so sánh với quá trình tạo ra cơ sở dữ

liệu, là bài hát được chia ra thành các đoạn chồng lấp lên nhau một cách ngẫu nhiên,

đúng hơn là các đoạn chồng lấp lên nhau không đồng nhất.

Sau khi đoạn âm thanh được tạo ra, các tín hiệu của nó được tính toán chính xác giống như mô tả trong quá trình tạo ra cơ sở dữ liệu chuỗi đặc trưng như trên. Tiếp theo ta mô tả kỹ thuật cho việc tìm ra những bản phù hợp trong cơ sở dữ liệu.

Như trên đã nói chúng ta sẽ sử dụng LSH cho qua trình tìm kiếm. Trái ngược với hàm băm chuẩn, LSH thực hiện một chuỗi các hàm băm, mỗi hàm khảo sát chỉ

một vị trí của chuỗi đặc trưng con. Mục đích là phân chia các vecto thuộc tính thành l vecto con và băm mỗi điểm thành l bảng băm riêng biệt, mỗi bảng băm sử dụng một trong các vecto con nhưđầu vào của hàm băm. Các ứng cử gần nhau có thể phục hồi hiệu quả bằng cách phân chia các vecto thuộc tính thử nghiệm và thu thập các mục trong các khối băm tương ứng. Danh sách những ứng cử gần nhau cuối cùng có thể được tạo ra bằng cách biểu quyết đếm, với mỗi số biểu quyết hàm băm cho các mục của khối đã được đánh chỉ mục và giữ lại các ứng viên nhận được số bình chọn tối thiểu v. Nếu v = 1 thì hợp với các danh sách ứng viên. Nếu v = l thì giao nhau.

LSH cũng hỗ trợ các ràng buộc linh động trong các ứng viên từ các bảng băm thành phần độc lập sẽ được khảo sát xa hơn như danh sách cuối cùng của các ứng viên phù hợp. Sự linh động này đạt được bằng cách thêm một yêu cầu cho việc tối thiểu các biểu quyết bảng băm thành phần. Mỗi bảng băm thành phần biểu quyết cho chuỗi đặc trưng con được phục hồi sử dụng p/l byte. Sau đó, chỉ những chuỗi phụ

này với v thành phần biểu quyết tối thiểu được giữ lại. Ví dụ, thiết lập v=1, một ứng viên chỉ phù hợp với một trong những miền con theo thứ tự trong danh sách ứng viên cuối cùng. Tại điểm cực trị ngược lại, thiết lập v=l, ứng viên phải phù hợp với tất cả

các miền con và LSH điều khiển xác định (mặc dù không hiệu quả) đến 1 bảng băm chuẩn.

Các chuỗi đặc trưng có ít nhất v biểu quyết sau đó được so sánh với truy vấn chuỗi đặc trưng con. Bởi vì mỗi byte của chuỗi đặc trưng con là một tín hiệu hàm băm Min nên ta nhìn vào số byte (lớn hơn p) phù hợp một cách chính xác. Chuỗi đặc trưng con với sốđiểm tối đa là tín hiệu phù hợp nhất trong hình ảnh quang phổđó.

CHƯƠNG 3: ỨNG DỤNG THỬ NGHIỆM

3.1. Phát biểu bài toán

Nhận dạng nhạc số là một dạng của ứng dụng liên thông âm thanh nằm trong chuỗi các ứng dụng của chuỗi đặc trưng âm thanh. Xuất phát từ nhu cầu thực tế, khóa luận này hướng tới việc xây dựng một ứng dụng thử nghiệm dùng để nhận dạng nhạc mà mục tiêu là nhận ra chính xác một bài hát từ một mẫu âm thanh nhỏ được chơi trên các thiết bị khác nhau nhưđiện thoại di động hoặc phát qua radio.

Gần đây, vấn đề nhận dạng nhạc thu hút sự chú ý đáng kể, cả từ các công ty thương mại như AT&T Wireless (http://www.attwireless.com/), Musikube (http://www.musikube.com/), Shazam Entertainment (http://www.shazam.com/), cho

đến các nhà nghiên cứu như J.Haitsma, T.Kalker…. Tuy nhiên, công việc này vẫn luôn là thách thức, đặc biệt là đối với các truy vấn thế giới thực. Vấn đề mà một ứng dụng nhận dạng nhạc kiểu này có thể gặp phải là: Đầu tiên, truy vấn có thể bị sai lệch bởi sự không chính xác gây ra do những thiết bị ghi âm bỏ túi điển hình hoặc do tiếng ồn từ những âm thanh xung quanh. Thứ hai, mẫu âm thanh từ truy vấn sẽ chỉ

hợp với một phần chia nhỏ của bài hát đích, như tín hiệu số truyền thống tính toán trên truy vấn không chắc hợp với tín hiệu của toàn bộ bài hát. Thứ ba, một hệ thống nhận dạng nhạc trong thực tế nên có cùng tỷ lệ cả trong độ chính xác và tốc độ đến cơ sở dữ liệu chứa hàng trăm nghìn bài hát khác nhau.

3.2. Tổng quan hệ thống

Trên cơ sở mô hình chung cho các ứng dụng nhận dạng âm thanh dựa vào nội dung như trong hình 9, ứng dụng thử nghiệm được xây dựng dựa trên hệ thống phát triển bởi Yan Ke. Hệ thống sử dụng những kỹ thuật về học máy để phát triển một thuật toán chuỗi đặc trưng âm thanh cho nhận dạng nhạc số. Khi đưa ra 10 giây nhạc của một bản ghi có chất lượng thấp qua điện thoại di động chẳng hạn, hệ thống sẽ

Hình 9: Mô hình chung của các ứng dụng nhận dạng nhạc dựa vào nội dung.

Trong ứng dụng này sử dụng phương pháp computer vision (một kỹ thuật mạnh cho việc phân tích dữ liệu âm thanh) để lựa chọn ra các thuộc tính trong quá trình trích rút ra chuỗi đặc trưng. Ta coi ảnh phổ của mỗi đoạn nhạc như một hình ảnh 2-D và chuyển việc nhận dạng nhạc thành vấn đề tìm kiếm và phục hồi lại ảnh con bị

hỏng. Bằng việc sử dụng thuật toán pairwise boosting trên một tập lớn các thuộc tính, hệ thống của chúng ta biết thỏa thuận, phân biệt các kí hiệu nhận diện cục bộ

tuân theo chỉ mục có hiệu quả. Trong giai đoạn tìm kiếm, chúng ta tìm lại được tập những đoạn trích ngắn của bài hát phù hợp với mẫu âm thanh truy vấn và sử dụng việc kiểm tra hình học trong sự liên kết với một mô hình EM-based “occlusion” để

xác định bài hát phù hợp nhất với tín hiệu được theo dõi. Chúng ta thực thi thuật toán trong một hệ thống cụ thể mà có thể nhận ra nhanh chóng và chính xác nhạc từ

những mẫu âm thanh ngắn trong sự biểu diễn không rõ ràng như chất lượng thu âm kém và có tiếng ồn xung quanh.

Một phần của tài liệu LUẬN VĂN:CHUỖI ĐẶC TRƯNG ÂM THANH VÀ ỨNG DỤNG TRONG TÌM KIẾM NHẠC SỐ pdf (Trang 26 - 33)