Giải thích đồ họa chính xác của một loạt các vectơ MFCC là gì?


7

Tôi đang nghiên cứu nhận dạng giọng nói, đặc biệt là việc sử dụng MFCC để trích xuất tính năng. Tất cả các ví dụ tôi đã tìm thấy trực tuyến có xu hướng vẽ biểu đồ một loạt MFCC được trích xuất từ ​​một cách nói cụ thể như sau (biểu đồ được tạo bởi tôi từ phần mềm tôi đang viết):

Các vectơ MFFC theo tính năng Như bạn có thể thấy trong biểu đồ trên:

  • các trục x được sử dụng cho mỗi người trong số các hệ số MFC (1-12 trong ví dụ này)
  • các trục y được sử dụng cho các giá trị của các hệ số (dao động aprox từ -12 đến 42 trong ví dụ này)
  • bạn có nhiều dòng như khung hoặc vectơ đặc trưng mà bạn đã trích xuất (140 trong ví dụ này).

Bây giờ, điều này không có ý nghĩa quá lớn đối với tôi, bởi vì những gì chúng ta đang thấy ở đây, là sự chồng chất của tất cả các vectơ đặc trưng cùng một lúc, làm mất bất kỳ thông tin thời gian nào. Tôi đang có một thời gian khó khăn để hiểu làm thế nào đại diện này là hữu ích.

Trong tâm trí của tôi, tôi sẽ đại diện cho các vectơ được trích xuất như sau (một lần nữa, biểu đồ được tạo bởi tôi):

Vectơ MFCC theo khung

Trong biểu đồ trên:

  • các trục x là khung hoặc vector số (từ 1 đến 140)
  • các trục y là các giá trị hệ số (một lần nữa, từ -12 đến 42 aprox)
  • bạn có một dòng cho mỗi tính năng (12).

Đối với tôi, cách trình bày này sẽ hữu ích hơn vì bạn có thể thấy sự tiến hóa theo thời gian của từng tính năng cụ thể và trong suy nghĩ của tôi sẽ có tác động mạnh mẽ hơn đến cách áp dụng thuật toán so sánh trên các từ được nói.

Có thể hai biểu diễn có giá trị như nhau và hữu ích cho các mục đích khác nhau, rất giống như khi bạn cần nghiên cứu tín hiệu trong miền thời gian hoặc trong miền tần số, nhưng trong trường hợp nhận dạng giọng nói, tôi sẽ mong đợi sự tiến hóa theo thời gian của từng cá nhân tính năng có ý nghĩa hơn mật độ của các giá trị cho mỗi tính năng (và có lẽ tôi hoàn toàn sai: P).

Vì vậy, hai câu hỏi trong thực tế:

  1. Tại sao đại diện đầu tiên dường như được sử dụng rộng rãi mà không phải là đại diện thứ hai?
  2. Khi bạn muốn so sánh hai bộ MFCC được trích xuất, ví dụ bằng cách sử dụng Độ cong thời gian động - DTW và liên quan đến chủ đề này, bạn có so sánh các vectơ đặc trưng (ví dụ 140 vectơ của 12 tính năng) hoặc các khung (12 vectơ của 140 khung hình )? (nói cách khác, MxN hoặc NxM?)

Cảm ơn!


Bạn sai hoàn toàn. Các hệ số riêng lẻ có rất ít ý nghĩa, bạn cần xem xét chúng như một vectơ 12 chiều.
Nikolay Shmyrev

Quan tâm đến công phu? Tại sao các downvote?
jotadepicas

thật tuyệt vời, hạ thấp một câu hỏi bởi vì người hỏi là (được cho là) ​​sai
Robert

Downvote vì bạn đã trích dẫn thông tin từ internet và không cung cấp liên kết, do đó không thể giải thích cho bạn ý định ban đầu của tác giả.
Nikolay Shmyrev

theo stackoverflow.com/help/privileges/vote-down bạn đang sử dụng sai mục đích, đặc biệt là "Nó không có nghĩa là một thay thế cho giao tiếp và chỉnh sửa." và "Nếu có gì sai, vui lòng để lại nhận xét hoặc chỉnh sửa bài đăng để sửa nó.". Btw, những biểu đồ đó được tạo ra bởi tôi với phần mềm tôi đang viết và là một phần nỗ lực của tôi trong việc viết một câu hỏi hay, vì vậy không có liên kết internet cho những phần mềm đó. Nếu bạn đề cập đến "ví dụ trực tuyến" mà tôi đề cập, tôi có thể thêm liên kết, nhưng vì đó là cách tiếp cận được chấp nhận chung như bạn thừa nhận, không chắc liệu nó có tạo ra sự khác biệt nào không.
jotadepicas

Câu trả lời:


10

Cách MFCC luôn được sử dụng là đưa chúng vào bộ phân loại. Điều này có thể được thực hiện trên cơ sở từng khung hình ( 12x1vectơ) hoặc bằng cách ghép ( 12xN) - giống như biểu đồ phổ.

Do đó, đối với DTW, bạn phải thực hiện phân loại bằng cách tính khoảng cách giữa các vectơ 12D. Đó là Độ cong thời gian động , do đó, sự khác biệt phải được tính giữa các khung trong miền thời gian , không phải giữa các mẫu trong "miền tính năng đơn".

Đây là một đại diện đồ họa của điều đó:

nhập mô tả hình ảnh ở đây


Chỉ là một phụ lục về âm mưu MFCC. Không có lý do nào để nhìn vào biểu đồ đường của tất cả các vectơ MFCC được xếp chồng lên nhau (hình ảnh đầu tiên) và thật không hữu ích khi xem xét sự tiến hóa thời gian của tất cả các MFCC (hình ảnh thứ hai). Không có khái niệm biểu diễn đồ họa phù hợp cho MFCC trừ khi bạn muốn đạt được điều gì đó cụ thể.

Đầu tiên, một phân phối (biểu đồ) của mỗi MFCC có thể được vẽ để xem các giá trị tiêu biểu là gì, v.v. Đặc biệt nếu bạn có mô hình GMM được đào tạo cho tín hiệu, bạn có thể vẽ sơ đồ phân phối mẫu thử và lớp phủ bằng PDF của GMM trong chiều đó.

Cách tiếp cận thứ hai sẽ là vẽ đồ thị của MFCC tương tự như một quang phổ (như trong hình trên). Người ta có thể muốn sử dụng nó cho "đại diện đẹp" hoặc xem các xu hướng và mẫu tổng thể. Nhưng hầu như không thể biết loại tín hiệu nào đang ẩn đằng sau đại diện như vậy.

Ví dụ, đây là một biểu đồ MFCC của một tín hiệu rất đơn giản. Đó là tín hiệu gì? Nếu bạn đã sẵn sàng thì hãy di chuột vào không gian màu vàng.

nhập mô tả hình ảnh ở đây

Quét sin theo cấp số nhân! nhập mô tả hình ảnh ở đây

Có dễ nói không? Chắc chắn, bằng cách nhìn vào quang phổ, nó ngay lập tức rõ ràng. Có lẽ có rất ít người đoán từ khi họ chơi với những ví dụ như vậy trước đây. Bây giờ một cái gì đó phức tạp hơn:

nhập mô tả hình ảnh ở đây

Sẵn sàng?

Chim hót líu lo - bạn có thể nghe ở đây nhập mô tả hình ảnh ở đây

Tôi hầu như không nghĩ rằng đại diện MFCC này được sử dụng, ngoại trừ việc lấp đầy không gian. Bây giờ ít người có thể đoán tín hiệu dựa trên phổ, nhưng không thể làm như vậy bằng cách nhìn vào MFCC.

Vì vậy, nếu ai đó nói với bạn rằng anh ta có thể biết chuyện gì đang xảy ra với tín hiệu dựa trên "năng lượng không tương quan của năng lượng log trong các ngân hàng bộ lọc hình tam giác trong miền tần số", thì anh ta là kẻ nói dối (với tỷ lệ trước là ) hoặc máy tính. 99.9% Rất hiếm khi có các trường hợp khi xem các giá trị MFCC thô là hữu ích - như gỡ lỗi và kiểm tra độ sạch (là các hệ số không đổi cho tín hiệu đứng yên).


1
Cảm ơn bạn rất nhiều vì một câu trả lời toàn diện (và thú vị để đọc: P). Chính xác là loại hướng dẫn mà tôi đang tìm kiếm và IMO là một ví dụ về nội dung chất lượng.
jotadepicas

@jotadepicas: Không phải lo lắng. Nếu câu trả lời cho câu hỏi của bạn, thì vui lòng đánh dấu nó là được chấp nhận (bằng một đánh dấu), để nó không trở lại trang chính.
jojek

Chắc chắn! Tôi chỉ luôn có xu hướng để lại các câu hỏi mở trong một hoặc hai ngày trong trường hợp các câu trả lời khác xuất hiện, và sau đó đánh dấu câu hỏi tốt nhất là được chấp nhận. Rất có thể, của bạn: D. Cảm ơn một lần nữa!
jotadepicas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.