Nhận dạng và định nghĩa cử chỉ 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 50 - 55)

Chương 2 : TỔNG QUAN VỀ NGÔN NGỮ KÝ HIỆU

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.

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 50 - 55)

Tải bản đầy đủ (PDF)

(80 trang)