Các khớp ngón tay sau khi nhận dạng

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu robot hỗ trợ người khiếm thính ứng dụng công nghệ xử lý ảnh (Trang 50)

Sau khi đã nhận dạng và truy bắt vị trí bàn tay cũng các khớp ngón tay, bước tiếp theo chính là nhận dạng được cử chỉ của bàn tay cũng như các khớp của ngón tay, sau đó định nghĩa các cử chỉ này và truy xuất dữ liệu cơ sở để xuất ra thành tín hiệu âm thanh. Đây là bước cuối của q trình nhận dạng và chuyển dịch ngơn ngữ ký hiệu dang ngơn ngữ nó. Các bước này được thực hiện trong phần 3.4 nhận dạng và định nghĩa cử chỉ bàn tay.

3.4 Nhận dạng và định nghĩa cử chỉ bàn tay

Trước khi tiến hành nhận dạng cử chỉ bàn tay, việc định nghĩa cử chỉ là gì sẽ giúp hiểu rõ hơn q trình nhận dạng. Hiểu theo cách hiểu thơng thường, cử chỉ của bàn tay và ngón tay là một chuỗi các sự thay đổi vị trí của bàn tay và ngón tay trong khơng gian. Như thế, nếu đặt bàn tay trong hệ toạ độ khơng gian Oxyz, thì một cử chỉ

(3.27)

(3.28)

sẽ có điểm bắt đầu, những vị trí trung gian và điểm kết thúc. Tại các vị trí đó hồn tồn có thể biết được toạ độ của bàn tay hay của các khớp. Như vậy, bài toán nhận dạng cử chỉ giờ đây được được chuyển thành bài tồn đi tìm toạ độ của bàn tay hay của các khớp tại các vị trí, và khi nối kết các vị trí này lại, chúng ta có một cử chỉ. Một cử chỉ sẽ diễn ra liên tục từ khi bắt đầu cho đến khi kết thúc. Tuy nhiên, việc truy bắt cử chỉ này khơng nhất thiết phải tính tốn tất cả các toạ độ tại các vị trí mà chỉ cần chia nhỏ một cử chỉ liên tục thành những đoạn nhỏ và khi đó chỉ cần tìm toạ độ tại một số vị trí nhất định mà thơi. Cơng việc phân chia một cử chỉ thành các đoạn nhỏ được gọi là phân đoạn cử chỉ. Kết lại, việc nhận dạng cử chỉ thật chất là việc tính tốn các toạ độ của các khớp. Bước tiếp theo chính là làm sao định nghĩa được các cử chỉ đó và so sánh với dữ liệu cơ sở nhằm nhận dạng cử chỉ đó là gì? Để thực hiện được điều này, đề tài áp dụng thuật toán xoắn thời gian động DTW vào tính tốn. Trước hết, dữ liệu cơ sở dùng để so sánh được tạo trước thành thư viện cơ sở. Khi một cử chỉ được nhận dạng và khi so sánh với dữ liệu cơ sở sẽ gặp phải một khó khăn đó chính là sự sai khác về thời gian. Nếu gọi chuỗi dữ liệu cơ sở là T thì T sẽ là tập hợp chuỗi các số thực Q ={q1, q2, … , qn}, và gọi chuỗi dữ liệu cử chỉ thu về từ camera là C thì C= {c1, c2,…,cn}. Để có thê so sánh hai chuỗi này, thuật tốn áp dụng cơng thực Euclid:

( , ) = ( − )

Độ do khoảng cách Euclid có ưu điểm là dể tính tốn, dễ mở rộng cho tính tốn. Tuy nhiên, nó có một nhược điểm là chỉ cho kết quả chính xác khi hai chuỗi có sự tương đồng về thời gian. Như vậy, với việc so sánh cử chỉ thu được trong thời gian thực với cơ sở dữ liệu thì độ chính xác sẽ thấp nếu áp dụng độ do Euclid. Để khắc phục được điều này, thuật toán DTW được áp dụng. Việc dùng thuật toán DTW sẽ khắc phục được hạn chế khi áp dụng độ đo Euclid.

Hình 3.11: So sánh độ chính xác giữ phương pháp Euclid và phương pháp DTW. (1)Tính bằng phương pháp Euclid; (2)Tính bằng phương pháp

Dynamic Time Warping

Hình 3.12: Ma trận lưới các điểm

Dùng phương pháp Dynamic Time Warping (DTW) để so sánh độ tương đồng giữa hai chuỗi Q và C trong thời gian thực, thuật toán DTW sẽ xây dựng một ma trận vng T có kích thước m trong đó:

T(i, j) = dist(i, j) + min[T(i, j − 1),T(i − 1, j),T(i − 1, j − 1)]

Với dist(i,j) được tính theo cơng thức Euclid. Giả sử cho hai chuỗi tương ứng với mẫu dữ liệu cơ sở là Q ={q1, q2, … , qI}, và chuỗi dữ liệu được thu về từ camera là C= {c1, c2,…,cJ}. Thuật toán sẽ thực hiện việc tìm đường đi tối ưu của chuỗi C theo chuỗi Q (tức là các vị trí khác nhau giữa hai chuỗi theo thời gian) sao cho tổng chênh lệch giữa hai chuỗi là nhỏ nhất. Để thực hiện được điều này thuật toán dùng ma trận lưới các điểm hình 3.31.

Hai chuỗi chuỗi sẽ tương ứng với hai cạnh của ma trận. Giả sử, chuỗi Q theo trục x và véc tơ C theo trục y. Các nút của ma trận tương ứng với khoảng cách tính được của hai chuỗi tại các thời điểm thứ i của chuỗi Q tương ứng thời điểm thứ j của chuỗi C tương ứng nút (i,j). Như vậy, đường đi tối ưu trong ma trận sẽ có dạng như hình 3.13.

Việc xác định đường đi tối ưu trong ma trận lưới được thực hiện sao tổng khoảng cách sai lệch giữa các cặp của hai chuỗi là nhỏ nhất. Ký hiệu, d(i,j) là độ

chênh lệch của hai chuỗi Q và C tại thời điểm i và j tương ứng. Yêu cầu của thuật toán DTW cho hai chuỗi bất kỳ là cùng bắt đầu tại các vị trí (0,0) và kết thúc tại vị trí

(I,J). Giá trị tại nút (0,0) xác định bằng 0.

Đường đi được xác định theo các cặp nút liên tiếp (ik-1,jk-1)  (ik,jk) . Dùng ký hiệu ik để biểu diễn chỉ số của chuỗi Q tại thời điểm k và jk là chỉ số của chuỗi C tại thời điểm k. Như vậy tổng khoảng cách giữa hai chuỗi là :

) , ( ) , ( ) , (ik jk D ik 1 jk 1 d ik jk D    

Việc tìm giá trị min D(i,j) theo cơng thức sau:

 ( , ) ( , ) min ) , ( 1 1 * k k k k k k j Di j di j i D               k m m m m j i d 0 ) , ( min

Như vậy, chuỗi cử chỉ được thu nhận về từ camera sẽ được đem so sánh với chuỗi dữ liệu cơ sở dùng thuật toán DTW để chuẩn hoá thời gian. Sau khi so sánh với

(3.32)

(3.33) (3.31)

dữ liệu cơ sở, cặp chuỗi nào có sự chênh lệch là bé nhất thì đó chính là cặp tương đồng. Bước cuối cùng trong việc chuyển dịch ngôn ngữ ký hiệu sang ngơn ngữ nói là việc xuất chuỗi tương đồng ra dưới dạng âm thanh. Đến đây, việc chuyển dịch từ ngôn ngữ ký hiệu sang ngơn ngữ nói hồn thành. Chương trình tiếp tục thưc hiện cho những lần khác khởi từ nhận dạng ngôn ngữ ký hiệu cho đến hoàn thành việc chuyển dịch từ ngơn ngữ ký hiệu sang ngơn ngữ nói.

Chương 4: NHẬN DẠNG TIẾNG NÓI

Ở chương ba, ngôn ngữ ký hiệu của người khiếm thính được nhận dạng và chuyển đổi thành tiếng nói. Trong chương trình, chiều ngược lại sẽ được thực hiện, tức là nhận dạng tiếng nói và chuyển đổi sang dạng văn bản được thể hiện trên màn hình để người khiếm thính có thể nắm bắt được thơng tin từ người nói. Các thành phần được trình bày trong chương này gồm: hệ thống tiếng nói của con người, cơ sở lý thuyết xử lý và nhận dạng tiếng nói, phươngn thức nhận dạng tiếng nói được dung trong đề tài.

4.1. Hệ thống tiếng nói của con người

Để có thể nhận dạng được tiếng nói của con người, chúng ta cần hiểu về hệ thống tiếng nói.Tiếng nói của con người được tạo ra nhờ vào sự hoạt động của bộ máy phát âm của con người. Bộ máy phát âm này bao gồm các thành phần riêng rẽ như phổi, khí quản, thanh quản, và các đường dẫn gồm miệng, mũi. Trong đó, thanh quản chứa hai dây thanh có thể dao động tạo ra sự cộng hưởng cần thiết để tạo ra âm thanh. Tuyến âm là ống không đều bắt đầu từ môi, kết thúc bởi dây thanh hoặc thanh quản. Khoang mũi là ống không đều bắt đầu từ môi, kết thúc bởi vịm miệng, có độ dài cố định khoảng 12 cm đối với người lớn. Vòm miệng là các nếp cơ chuyển động.

Trong quá trình tạo âm thanh khơng phải là âm mũi, vịm miệng mở, khoang mũi đóng lại, dịng khí sẽ chỉ đi qua khoang mũi. Khi phát âm mũi, vòm miệng hạ thấp và dịng khí sẽ chỉ đi qua khoang mũi. Tuyến âm sẽ được kích thích bởi nguồn năng lượng chính tại thanh mơn. Tiếng nói được tạo ra do tín hiệu nguồn từ thanh môn phát ra, đẩy khơng khí có trong phổi lên tạo thành dòng khí, va chạm vào hai dây thanh trong tuyến âm. Hai dây thanh dao động sẽ tạo ra cộng hưởng, dao động âm sẽ được lan truyền theo tuyến âm (tính từ tuyến âm đến khoang miệng) và sau khi đi qua khoang mũi và mơi, sẽ tạo ra tiếng nói.

Hình 4.1: Bộ máy phát âm của con người

1: Vòm hầu; 2: Khẩu hầu; 3: Sụn nắp; 4: Mặt thanh quản sụn nắp; 5: Dây thanh âm; 6: Thanh mơn; 7: Khí quản; 8: Thực quản; 9: Đáy lưỡi; 10: Sụn nắp; 11: Dây

thanh âm; 12: Khí quản; 13: Thực quản.

Hình 4.2: Tín hiệu tương tự và tín hiệu số tương ứng

Tiếng nói của con người được phát ra dưới dạng tín hiệu tương tự. Để có thể nhận dạng được tiếng nói của con người, tín hiệu tương tự này phải được xử lý trước đó để có thể phục vụ cho q trình nhận dạng tiếng nói. Một tín hiệu tương tự xa(t) dưới dạng hàm biến đổi liên tục theo thời gian có thể được xử lý bằng cách lấy mẫu tín hiệu x với một khoảng thời gian lấy mẫu T (tức là t = nT), ta có thể xác định một tín hiệu thời gian rời rạc x(n) = xa(nt). Hơn nữa ta có thể xác định tần số lấy mẫu Fs với Fs = 1/T, nghịch đảo của khoảng thời gian lấy mẫu T.

1 2 3 4 5 6 7 8 13 12 11 10 9

4.2. Cơ sơ lý thuyết xử lý và nhận dạng tiếng nói

Nhận dạng tiếng nói là một q trình nhận dạng mẫu, với mục đích là phân lớp thơng tin đầu vào tín hiệu tiếng nói thành một dãy tuẫn tự các mẫu đã được học trước đó và lữu trữ trong bộ nhớ. Các mẫu là các đơn vị nhận dạng, chúng có thể là từ hoặc các âm vị. Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị phổ trong một khung thời gian ngắn, nhờ đó có thể trích ra các đặc điểm tiếng nói từ những khoảng thời gian ngắn và dùng các đặc điểm này làm dữ liệu để nhận dạng tiếng nói.

4.2.1. Các thành phần cơ bản của một hệ thống nhận dạng tiếng nói

Về bản chất, q trình nhận dạng tiếng nói là q trình biến đổi tín hiệu âm thanh thu được của người nói qua các thiết bị thu âm thành một chuỗi các từ. Kết quả của q trình nhận dạng có thể được ứng dụng trong điều khiển thiết bị, nhập dữ liệu, soạn thảo văn bản bằng lời, quay số điện thoại tự động hoặc đưa tới một quá trình xử lý ngơn ngữ ở mức cao hơn.

Hình 4.3: Các phần tử cơ bản của một hệ thống nhận dạng tiếng nói

Các hệ thống nhận dạng tiếng nói có thể được phân loại như: nhận dạng từ phát âm rời rạc và nhận dạng từ phát âm liên tục, nhận dạng tiếng nói phụ thuộc người nói và nhận dạng tiếng nói khơng phụ thuộc người nói, hệ thống nhận dạng từ điển cỡ nhỏ (dưới 20 từ) và hệ thống nhận dạng từ điển cỡ lớn (hàng nghìn từ), nhận dạng

Dữ liệu tiếng nói

Mơ hình âm thanh Mơ hình từ vựng Mơ hình ngơn ngữ Tìm kiếm, Đối sánh Mơ hinh hố,

phân lớp Trích chọn Đặc trưng Từ được nhận dạng Tín hiệu đầu vào

tiếng nói trong mơi trường có nhiễu thấp và nhận dạng tiếng nói trong mơi trườn có nhiễu cao, nhận dạng người nói.

Trong hệ thống nhận dạng tiếng nói với cách phát âm rời rạc có khoảng lặng giữa các từ trong câu, trong khi đó hệ nhận dạng tiếng nói liên tục khơng địi hỏi điều này. Tùy thuộc vào quy mô và phương pháp nhận dạng, ta có các mơ hình nhận dạng tiếng nói khác nhau. Hình 4.3 là mơ hình tổng quát của một hệ nhận dạng tiếng nói điển hình.

Tín hiệu tiếng nói sau khi thu nhận được lượng tử hóa sẽ biến đổi thành một tập các vector tham số đặc trưng với các phân đoạn có độ dài trong khoảng 10-30 ms. Các đặc trưng này được dùng cho đối sánh hoặc tìm kiếm các từ gần nhất với một số ràng buộc về âm học, từ vựng và ngữ pháp. Cơ sở dữ liệu tiếng nói được sử dụng trong q trình huấn luyện (mơ hình hóa hay phân lớp) để xác định các tham số hệ thống.

4.2.2. Các phương pháp tiếp cận trong nhận dạng tiếng nói

Để có thể tiếp cận nhận dạng tiếng nói, ta có ba phương pháp phổ biến được sử dụng trong nhận dạng tiếng nói hiện nay là: phương pháp Âm học-Ngữ âm học; phương pháp nhận dạng mẫu và phương pháp ứng dụng trí tuệ nhân tạo.

a. Phương pháp Âm học-Ngữ âm học

Phương pháp Âm học-Ngữ âm học dựa trên lý thuyết về Âm học-Ngữ âm học. Lý thuyết đó cho biết rằng tồn tại các đơn vị ngữ âm xác định, có tính phân biệt trong lời nói và các đơn vị ngữ âm đó được đặc trưng bởi một tập các tín hiệu tiếng nói. Các bước nhận dang của phương pháp Âm học-Ngữ âm học gồm:

Bước 1: phân đoạn và gán nhãn. Bước này chia tín hiệu tiếng nói thành các đoạn có đặc tính âm học đặc trưng cho một (hoặc một vài) đơn vị ngữ âm, đồng thời gán cho mỗi đoạn âm thanh đó một hay nhiều nhãn ngữ âm phù hợp.

Bước 2: nhận dạng. Bước này dựa trên một số điều kiện ràng buộc về từ vựng, ngữ pháp… để xác định một hoặc một chuỗi từ đúng trong các chuỗi nhãn ngữ âm được tạo ra sau bước 1. Sơ đồ khối của phương pháp này được biểu diễn ở hình 4.4.

Nguyên lý hoạt động của phương pháp có thể mơ tả như sau: Tín hiệu tiếng nói sau khi số hóa được đưa tới khối trích chọn đặc trưng nhằm xác định các phổ tín hiệu. Các kỹ thuật trích chọn đặc trưng tiếng nói phổ biến là sử dụng băng lọc, mã hóa dự đốn tuyến tính (LPC)…

Tín hiệu tiếng nói sau khi được trích chọn đặc trưng sẽ được tách ra nhằm biến đổi phổ tín hiệu thành một tập các đặc tính mơ tả các tính chất âm học của các đơn vị ngữ âm khác nhau. Các đặc tính đó có thể là: tính chất các âm mũi, âm xát; vị trí các formant; âm hữu thanh, vơ thanh; tỷ số mức năng lượng tín hiệu…

Sau khi tách tín hiệu tiến nói, bước tiếp theo trong phương pháp Âm học-Ngữ âm học là phân đoạn và gán nhãn. Ở bước này hệ thống nhận dạng tiếng xác định các vùng âm thanh ổn định (vùng có đặc tính thay đổi rất ít) và gán cho mỗi vùng này một nhãn phù hợp với đặc tính của đơn vị ngữ âm. Đây là bước quan trọng của hệ nhận dạng tiếng nói theo phương pháp Âm học-Ngữ âm học và là bước khó đảm bảo độ tin cậy nhất.

Bước cuối cùng trong là nhận dạng. Chọn lựa để kết hợp chính xác các khối ngữ âm tạo thành các từ nhận dạng.

Hình 4.4: Sơ đồ khối nhận dạng tiếng nói theo Âm học-Ngữ âm học

b. Phương pháp nhận dạng mẫu

Phương pháp nhận dạng mẫu khơng cần xác định đặc tính âm học hay phân đoạn tiếng nói mà sử dụng trực tiếp các mẫu tín hiệu tiếng nói trong q trình nhận

Trích chọn đặc trưng Bộ tách đặc trưng Chọn lựa và gán nhãn Phân đoạn và gán nhãn Tín hiệu tiếng nói

Tiếng nói được nhận dạng

dạng. Các hệ thống nhận dạng tiếng nói theo phương pháp này được phát triển theo hai bước.

Bước 1: Sử dụng tập mẫu tiếng nói (cơ sở dữ liệu mẫu tiếng nói) để đào tạo các mẫu tiếng nói đặc trưng (mẫu tham chiếu) hoặc các tham số hệ thống.

Bước 2: Đối sánh mẫu tiếng nói từ ngồi với các mẫu đặc trưng để ra quyết định.

Trong phương pháp này, nếu cơ sở dữ liệu tiếng nói cho đào tạo có đủ các phiên bản mẫu cần nhận dạng thì q trình đào tạo có thể xác định chính xác các đặc tính âm học của mẫu (các mẫu ở đây có thể là âm vị, từ, cụm từ…). Hiện nay, một số kỹ thuật nhận dạng mẫu được áp dụng thành cơng trong nhận dạng tiếng nói là lượng tử hóa vector, so sánh thời gian động (DTW), mơ hình Markov ẩn (HMM), mạng nơron nhân tạo (ANN).

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu robot hỗ trợ người khiếm thính ứng dụng công nghệ xử lý ảnh (Trang 50)