Giới hạn vùng tìm kiếm bàn tay

Một phần của tài liệu Nghiên cứu robot hỗ trợ người khiếm thính ứng dụng công nghệ xử lý ảnh (Trang 48)

Sau khi đã tìm được kích thước tham chiếu, bước tiếp theo là nhận dạng được bàn tay trong không gian. Từ điểm tham chiếu là hai khớp bàn tay và đầu ngón tay, giới hạn vùng bàn tay được giới hạn được xác định cách chính xác trong khơng gian ba chiều. Để nhận dạng bàn tay, tất các các đối tượng khác nằm trong vùng tìm kiếm mà có độ sâu khơng đúng như kích thước tham chiếu sẽ bị loại bỏ, kết quả nhận được là tập hợp tất cả các điểm trong vùng tím phù hợp với kích thước tham chiếu. Tập hợp các điểm này sẽ là bàn tay được nhận dạng. Tập hợp tất cá các điểm này nằm trong vùng bao của bàn tay như hình 3.7. Đường bao này là tập hợp một số lượng lớn các điểm và trong các điểm đó có các điểm thuộc các khớp và các điểm đầu của các ngón tay. Việc tiếp theo là làm sao tìm ra được các điểm thuộc đầu ngón tay này. Các điểm thuộc các đầu ngón tay này chính là đỉnh của một đa giác lồi trong không gian Euclide bao quanh bàn tay.

Sau khi tìm được các đầu của ngón tay, bước tiếp theo từ các điểm này tìm ra các khớp của các ngón tay. Để tìm được các khớp của các ngón tay, giải thuật áp dụng tỷ lệ vàng vào viêc tính tốn.

Hình 3.8:Đoạn thẳng trong tỷ lệ vàng.

Xét các đoạn thẳng gồm hai phần như hình 3.8, đoạn dài là a, đoạn thẳng ngắn là b, tổng hai đoạn thẳng là a+b. Khi các số này thỏa mãn điều kiện (a+b)/a = a/b thi lúc đó tỷ lệ a/b được gọi là tỷ lệ vàng. Bằng cách giải phương trình điều kiện trên tìm được tỷ lệ đó là con số 1,61803398875; (gần bằng 1,62) người ta ký hiệu nó là φ (phi).

= + = = 1,62

Áp dụng tỷ lệ vàng vào trong việc tình tốn để nội suy ra các khớp ngón tay.

Hình 3.9. Các tỷ lệ vàng trên bàn tay người.

Gọi A, B, C, D và E là các điểm nằm trên các khớp cổ tay, khớp nền ngón giữa, hai khớp giữa và đầu ngón tay giữa. Theo tỷ lệ vàng chúng ta có phương trình:

= ′ ′= " " = (3.26) a b b a b’ a’ b” a” A C B D E (3.25)

Trong khi đó, chiều dài từ khớp cổ tay đến đầu ngón tay là đoạn AE. Vậy phương trình tính tốn các khớp sẽ là: Điểm C: ′ = . ( ) Điểm B: " = . ( ) Điểm D: + = . ( )+ = ( )+

Tương tự cho các khớp của các ngón tay cịn lại. Kết quả thu được tính tốn được vị trí các khớp của các ngón tay.

Hình 3.10: Các khớp ngón tay sau khi nhận dạng.

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 quá 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 quá 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 tố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 hồ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 q 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 qt 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,

Một phần của tài liệu Nghiên cứu robot hỗ trợ người khiếm thính ứng dụng công nghệ xử lý ảnh (Trang 48)