L ỜI MỞ ĐẦ U
3.2.2. Tìm kiếm chuỗi đặc trưng phù hợ p
Sau khi xây dựng các tín hiệu (là các chuỗi đặc trưng) cho tất cả các bài hát trong cơ sở dữ liệu chúng ta tiến hành tìm kiếm. Trong thời gian tìm kiếm, ta thực thi một sự tìm kiếm giống nhau cho các kí hiệu mô tả của đoạn truy vấn dựa vào cơ sở
dữ liệu tín hiệu này. Cỡ của cơ sở dữ liệu lớn và số truy vấn yêu cầu cao cho mỗi
đoạn thúc đẩy chúng ta cố tìm cho được sự sắp xếp hiệu quả cho việc tìm kiếm tương tự trong không gian kí hiệu mô tả nhiều chiều (tiêu biểu là 32-bit). Một sự lựa chọn tự nhiên là sử dụng hàm băm vị trí nhạy cảm (locality-sensitive hashing - LSH), một kĩ thuật có thể xấp xỉ những tìm kiếm tương tự trong thời gian tuyến tính nhỏ, nhất là bởi vì nó rất phù hợp với khoảng cách Hamming. Các thử nghiệm ban đầu của chúng ta sử dụng LSH cho ra những kết quả xuất sắc nhưng có một chút ngạc nhiên khi mà phát hiện ra rằng các kí hiệu mô tả của chúng ta mạnh đến nỗi mà chỉ mục hóa trực tiếp (direct indexing) sử dụng một bẳng băm kinh điển làm giảm nhiều thời gian chạy (running time) mà không ảnh hưởng lớn đến độ chính xác. Chúng ta mô tả qua về phương pháp chỉ mục này.
Ta băm tất cả các tín hiệu vào một bảng băm chuẩn (có khóa là các kí hiệu mô tả M-bit thích hợp). Sau đó định nghĩa những kí hiệu mô tả này trong phạm vi khoảng cách Hamming là 2 từ truy vấn được đưa ra gần nhau. Những kí hiệu này
được phục hồi với chuỗi dò tìm kĩ lưỡng dưới đây. Đầu tiên, chúng ta thăm dò bảng băm với truy vấn; nó phục hồi tất cả những bản phù hợp trong phạm vi khoảng cách Hamming là 0. Tiếp theo, chúng ta thêm M vào hàm băm, gồm có kí hiệu mô tả truy vấn với một bit đơn đảo chiều; nó tìm thấy sự phù hợp ở khoảng cách Hamming là 1. Cuối cùng, chúng ta lặp lại quá trình này với mỗi sự kết hợp của hai bit đảo chiều để
phục hồi những kí hiệu mô tả này ở khoảng cách Hamming là 2. Trong khi phương pháp xuất hiện ban đầu không hiệu quả, như vừa quan sát thì thấy rằng nó nhanh hơn
đáng kể so với LSH cho ứng dụng của chúng ta bởi vì mỗi mẫu thử là không đắt và nó trả lại kết quả chính xác hơn là những kết quả xấp xỉ. Chúng ta quan sát thấy rằng việc sử dụng khoảng cách Hamming thay vì phân loại độ tin cậy làm nền tảng cho sự
giống nhau của kí hiệu mô tả là sự xấp xỉ hợp lý, từđó ta tìm ra độ tin cậy đánh giá cho các lớp phân loại yếu khác nhau gần bằng nhau trong thử nghiệm của chúng ta.
Mỗi lần trong tất cả các bài hát gần giống nhau vừa được tìm thấy, chúng ta cần xác định bài hát phù hợp nhất với tập kí hiệu mô tả trong truy vấn. Đúng hơn là việc chọn lựa đơn giản trên cơ sở số bài phù hợp, chúng ta sử dụng sự kiểm tra có dạng hình học mà tương tự với việc sử dụng trong nhận dạng đối tượng dùng các thuộc tính cục bộ. Đối với mỗi bài hát ứng cử, chúng ta xác định kí hiệu mô tả nào phù hợp theo thời gian. Vì điều này ta sử dụng RANSAC để lặp lại thông qua sự liên kết thời gian ứng cử và sử dụng căn cứ EM. Chúng ta khảo sát hai mô hình liên kết. Đầu tiên cho rằng truy vấn có thểđược chỉđến một tín hiệu gốc với một tham sốđơn (độ dịch của thời gian) vừa được xác định. Trong trường hợp này tập tối thiểu là một tập các cặp kí hiệu mô tảđơn phù hợp. Mô hình thứ hai cho rằng truy vấn có thể là phiên bản gốc được chia tỷ lệ (kéo dài tuyến tính hoặc bị nén). Mô hình này được định nghĩa bởi hai tham số (tỷ lệ tốc độ và độ dịch) và yêu cầu một tập tối thiểu hai kí hiệu mô tả phù hợp. Các mô hình làm méo biểu thị thời gian phức tạp hơn có thể thực hiện
được. Trong thực tế, ta thấy rằng mô hình đầu tiên đưa ra các kết quả chính xác đặc biệt là từ khi các đoạn truy vấn của chúng ta ngắn gọn. Ta cũng thấy rằng RANSAC hội tụ tại ít hơn 500 bước lặp thậm chí trong sự hiện diện của nút thắt quan trọng. Tất cả các ứng cử vừa được tìm thấy được sắp xếp lại chỉ một lần, chúng ta chọn bài hát với căn cứ EM tốt nhất và thừa nhận rằng nó vượt qua điểm bắt đầu nhỏ nhất.
3.3. Thực thi chương trình
Ứng dụng tìm kiếm nhạc bao gồm hai phần: chương trình phục vụ nhận dạng nhạc và giao diện người dùng đồ họa (GUI), nó có thể chạy trên những máy khác nhau và giao tiếp trên các socket. Đầu tiên chúng ta mô tả cách tạo ra cơ sở dữ liệu tín hiệu âm thanh sau đó mô tả giai đoạn truy vấn và cuối cùng đề cập đến giao diện người dùng.
Với mỗi bài hát trong cơ sở dữ liệu, chúng ta xây dựng một tín hiệu âm thanh như mô tả dưới đây; quá trình xử lý trước giống với quá trình xử lý sau sử dụng trên
đoạn truy vấn. Đầu tiên chúng ta tính toán ảnh phổ theo cách đã mô tả trên. Ta chuyển mỗi bài hát thành đơn sắc và lấy mẫu xuống 5512.5 KHz. Đối với một tín hiệu âm thanh chất lượng CD lấy mẫu ở 44.1 KHz, chúng ta quấn lại tín hiệu với một bộ lọc và chia mỗi cái ra 8 mẫu . Tiếp theo chúng ta áp dụng một biến đổi Fourier ngắn với một khung cỡ 2048 mẫu (0.372s) với các khung kế tiếp bởi 64 mẫu (11.6s). Chúng ta chia nguồn năng lượng giữa 300Hz và 2000 Hz thành 33 dải theo không gian logarit. Dãy tần số này phù hợp với dãy mà có thể dễ dàng truyền trên điện thoại di động. Chúng ta sử dụng khoảng cách logarit từ đó phân phối năng lượng của âm thanh đặc trưng điển hình xấp xỉ loga qua tần số. Cuối cùng, ta áp dụng 32 bộ lọc đã nghiên cứu và các điểm bắt đầu để lấy được cái kí hiệu mô tả 32-bit cho mỗi bước thời gian (11.6ms) của tín hiệu; chuỗi kí hiệu mô tả này được biết đến như là tín hiệu.
Đối với độ dài trung bình của một bài hát là 200 giây thì yêu cầu lưu trữ cho việc hiển thị nó là xấp xỉ 70KB. Chúng ta tải tất cả các kí hiệu mô tả vào trong bộ nhớ và
đặt chúng vào trong một bảng băm cùng với id của bài hát và id của frame (độ dịch của thời gian). Mặc dù sự thực thi bộ nhớ chính làm việc tốt với vài nghìn bài hát nhưng những phương pháp khác có thể là cần thiết đối với những cơ sở dữ liệu lớn hơn.
Trong suốt giai đoạn truy vấn, chương trình phục vụ nhận dạng nhạc xây dựng một tập các kí hiệu mô tả 32-bit giống nhau cho đoạn âm thanh. Với mỗi kí hiệu mô tả, nó tìm ra tất cả các kí hiệu mô tả mà trong phạm vi khoảng cách Hamming 2 bit (theo kinh nghiệm là xác định sự cân bằng tốt giữa độ chính xác và sự phù hợp). Cuối cùng, chúng ta thực hiện sự liên kết hình học sử dụng RANSAC và tìm ra bản phù hợp nhất theo căn cứ EM.
Giao diện người dùng (GUI) ghi lại các đoạn âm thanh từ micro và gửi dưới dạng sóng đến server để nhận dạng. Hình 10 hiển thị một screenshot của GUI của hệ
âm và bài hát gốc, lần lượt theo thứ tự riêng rẽ. Mặc dù ảnh phổ thô nhìn khác do tiếng ồn và sự tắc nghẽn nhưng trông nó vẫn có cấu trúc tương tự. Khung văn bản
đưa ra tên của bài hát được nhận dạng chính xác.
Hình 10: Ảnh phổ của truy vấn được thu âm và ảnh phổ của bài hát được nhận dạng chính xác.
3.4. Đánh giá hiệu quả của ứng dụng thử nghiệm 3.4.1.1. Cài đặt thử nghiệm
Chúng ta xây dựng bộ thử nghiệm có dữ liệu huấn luyện bao gồm 78 bài hát
được chơi trên loa có chất lượng thấp và được thu âm sử dụng micro chất lượng thấp,
được chỉ đến bản gốc sử dụng các bộ lọc mồi. Tiếp theo, ta thu âm lại dữ liệu kiểm tra trong một môi trường khác sử dụng phòng ghi âm, máy tính, loa và micro khác. Các thử nghiệm sử dụng hai tập kiểm tra trong thế giới thực được thiết kế để minh họa các trường hợp xấu nhất. Đầu tiên bao gồm 71 bài hát chơi ở âm lượng nhỏ và
khó hơn chứa 220 bài hát được thu với một bản ghi rất ồn (biểu diễn “Test B”). Trong nhiều trường hợp, tiếng ồn át tiếng nhạc nhiều đến nỗi mà bài hát trở nên nghèo nàn đến nỗi mà khó có thể nghe thấy tiếng nhạc. Những bản ghi âm này lấy ra từ cơ sở dữ liệu của 145 album với 1862 bài hát trải rộng trên rất nhiều thể loại nhạc bao gồm nhạc cổ điển, jazz, rock và pop. Từ đó mỗi truy vấn có thể có 1861 khả
năng sai, ranh giới chính xác của công việc này chỉ là 0.05%.
3.4.2. Hiệu quả của hệ thống
Hình 11: Tốc độ tìm kiếm bài hát trên tập dữ liệu kết hợp với các đoạn
truy vấn âm thanh có độ dài khác nhau
Hình 11 hiển thị tốc độ tìm kiếm bài hát trên tập test kết hợp A và B với các
đoạn truy vấn từ 10-15 giây tương ứng với 860 và 1290 kí hiệu mô tả, tách biệt nhau. Chúng ta thấy rằng các truy vấn dài hơn cải thiện không đáng kể các kết quả tìm kiếm. Trong một hệ thống thực tế người sử dụng mong muốn đạt được độ chính xác lý tưởng trong khi sử dụng một truy vấn ngắn nhất có thể.
Hình 12: Đường cong P-R cho việc tìm kiếm ở mức bài hát trên những tập dữ liệu riêng biệt với những truy vấn có độ dài 10 giây
Hình 12 biểu diễn các kết quả cho những tập dữ liệu riêng biệt trên các bản ghi âm có độ dài 10 giây. Đối với Test A, chúng ta đạt được 90% độ hồi tưởng với độ
chính xác 96%. Test B có nhiều thử thách hơn nhưng chúng ta vẫn có thể đạt được 80% độ hồi tưởng với độ chính xác 93%.
Hình 13: Tác động của điểm bắt đầu với khoảng cách Hamming trong việc tìm kiếm bài hát
Hình 13 biểu diễn tốc độ tìm kiếm bài hát đối với điểm bắt đầu có khoảng cách Hamming là 0, 1 và 2 bit trong Test A. Hiệu quả cải thiện khi chúng ta cho phép nhiều bit lỗi hơn, nhưng sự tăng biên thấp đi sau khoảng cách là 1 trong khi thời gian truy vấn tiếp tục tăng theo hàm mũ, vì thế quyết định của chúng ta giới hạn việc tìm kiếm kí hiệu mô tả gần nhau trong phạm vi 2 bit.
KẾT LUẬN
Khóa luận đã trình bày một cách tổng quan về hệ thống chuỗi đặc trưng âm thanh và các ứng dụng phổ biến của nó. Trong khóa luận cũng trình bày chi tiết hai phương pháp khác nhau về việc trích rút ra chuỗi đặc trưng âm thanh của một đoạn âm thanh và cách thức tìm kiếm chuỗi đặc trưng phù hợp với nó trong một cơ sở dữ
liệu lớn. Qua đó chúng ta đã có hình dung khái quát về chuỗi đặc trưng – một nền tảng quan trọng trong các ứng dụng liên quan đến âm thanh.
Trong phần cuối của khóa luận cũng đã xây dựng được một hệ thống thử
nghiệm ứng dụng chuỗi đặc trưng trong việc nhận dạng nhạc số. Ứng dụng mới dừng lại ở việc nhận dạng các bài hát trên một tập cơ sở dữ liệu nhỏ. Sau này ứng dụng sẽ
tiếp tục được hoàn thiện với việc nghiên cứu cải tiến độ chính xác của thuật toán tìm kiếm và mở rộng ra nghiên cứu các thuộc tính của chương trình bằng cách chỉ mục hóa những bộ sưu tập nhạc lớn hơn.
Hi vọng rằng khóa luận này sẽ góp phần khuyến khích các nghiên cứu sâu hơn nữa về chuỗi đặc trưng của các đối tượng đa phương tiện trong tương lai(bao gồm cả
âm thanh và hình ảnh nói chung) nhằm mục đích tạo ra nhiều ứng dụng tiện ích phục vụ cuộc sống của con người.
TÀI LIỆU THAM KHẢO
[1] Baluja, Covell, Content fingerprinting using wavelets, Proceedings of the 3rd European.
Conference on Visual Media Production (CVMP), 2006.
[2] P. Cano, E. Batlle, T. Kalker, J. Haitsma, A review of algorithms for audio fingerprinting, In Workshop on Multimedia Signal Processing, 2002.
[3] J. Haitsma, T. Kalker, A Highly Robust Audio Fingerprinting System, Proceedings of International Conference for Music Information Retrieval, 2002. [4] Y. Ke, D. Hoiem, R. Sukthankar, Computer Vision for Music Identification, Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2005.
[5] Y. Ke et al., Computer vision for music identification: server code, http://www.cs.cmu.edu/ yke/musicretrieval/musicretr-1.0.tar.gz, 2005. [6] Website Auditude http://www.auditude.com
[7] Website Napster http://www.napster.com [8] Website Music Brainz http://musicbrainz.org/ [9] Website Shazam http://www.shazam.com/
[10] Website Tunatic http://www.wildbits.com/tunatic/ [11] Website Yacast http://www.yacast.com