Thành phần rút trích đặc trưng sinh trắc

Một phần của tài liệu nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android (Trang 66)

Việc rút trích ra vector đặc trưng đi theo một đường ống (pipeline) từ khâu xử lý mẫu tín hiệu giọng nói ra tín hiệu số đến việc áp dụng các giải thuật rút trích để tạo ra vector đặc trưng cho giọng nói. Có nhiều kỹ thuật và giải thuật rút trích đã được áp dụng, dưới đây là hai giải thuật đã được chúng tôi áp dụng để lấy vector đặc trưng.

4.2.2.1 Rút trích đặc trưng bằng giải thuật LPC

Rút trích vector đặc trưng bằng phương pháp LPC đi qua các bước:

 Đổi mẫu tín hiệu giọng nói từ dạng byte sang dạng số: Mẫu tín hiệu giọng nói dù được đọc từ file hay thu trực tiếp đều dưới dạng một chuỗi byte. Việc cần làm là đổi chuỗi byte này sang dạng số. Cách làm ở đây là đổi 2 byte (16-bit) ra giá trị nguyên của nó sau đó lấy tỉ lệ cho 32768 (216 giá trị). Tùy vào hệ thống lưu giá trị dưới dạng big-endian hay little-endian mà thứ tự đọc 2 byte đó được hoán đổi cho nhau. Giá trị của mẫu tín hiệu sau khi đổi sẽ nằm trong miền trị từ -1 đến 1.

 Áp dụng kỹ thuật chuẩn hóa mẫu tín hiệu giọng nói như trình bày trong phần 2.1.2.1 để cho ra những mẫu tín hiệu có thể so sánh được với nhau.

 Khử khoảng lặng bằng cách loại bỏ những phần tử tín hiệu có độ lớn nhỏ hơn ngưỡng 0.002 (dưới 0.002 được xem là khoảng lặng).

 Áp dụng giải thuật dò tìm điểm cuối như đã trình bày trong phần 2.1.2.4

 Sử dụng giải thuật rút trích LPC với đầu ra là mảng vector đặc trưng 16 chiều. Độ rộng của khung được chọn là 128 và các khung chồng lên nhau một khoảng bằng một nửa độ rộng của khung.

Hình 4.2-1 Rút trích vector đặc trưng bằng giải thuật LPC

4.2.2.2 Rút trích đặc trưng bằng giải thuật FFT

Rút trích vector đặc trưng bằng phương pháp FFT đi qua các bước:

 Các bước đổi tín hiệu giọng nói sang tín hiệu số sau đó chuẩn hóa nó là những bước bắt buộc phải làm trước khi rút trích vector đặc trưng. Hiện thực của nó tương tự như hiện thực của giải thuật LPC

 Khử khoảng lặng bằng cách loại bỏ những phần tử tín hiệu có độ lớn nhỏ hơn ngưỡng 0.002 (dưới 0.002 được xem là khoảng lặng)

 Khử nhiễu bằng cách lọc bỏ những phần tử tín hiệu giọng nói có tần số cao hơn ngưỡng 2853 Hz.

 Sử dụng giải thuật rút trích FFT với đầu ra là mảng vector đặc trưng lần lượt 32, 64, 128 chiều. Độ rộng của khung được chọn là 128 và các khung chồng lên nhau một khoảng bằng một nửa độ rộng của khung.

Hình 4.2-2 Rút trích vector đặc trưng bằng giải thuật FFT

4.2.2.3 Công nghệ được sử dụng

Modular Audio Recognition Framework (MARF) [16] là một thư viện mã nguồn mở tập hợp các giải thuật để xử lý ngôn ngữ tự nhiên, giọng nói, âm thanh được viết bằng ngôn ngữ Java và được thiết kế thành những module. Mỗi module tương ứng với một quá trình trong tiến trình rút trích ra vector đặc trưng. Với cấu trúc module, ta có thể mở rộng thư viện bằng cách thêm mới những giải thuật ở mỗi module một cách dễ dàng. Thư viện này được dùng chủ yếu để học tập và nghiên cứu. Hiện tại, bản release cuối cùng của nó là vào năm 2007 và một số giải thuật trong đó vẫn chưa được hiện thực. Kết quả tốt nhất của thư viện thu nhận được là 82.76%. Hệ thống đang xây dựng dựa một phần vào thư viện MARF và có một chút cải tiến để thu được tín hiệu giọng nói có chất lượng tốt hơn. Những thành phần sử dụng lại là Loader (WAV), Preprocessing (Low-Pass, Endpoint), Feature Extraction (FFT, LPC).

Hình 4.2-3 Cấu trúc MARF Framework

Một phần của tài liệu nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android (Trang 66)