Tải bản đầy đủ (.pdf) (11 trang)

NGHIÊN CỨU NHẬN DẠNG NGÔN NGỮ CỬ CHỈ THÔNG QUA QUỸ ĐẠO CHUYỂN ĐỘNG LIÊN TỤC CỦA ĐỐI TƯỢNG DỰA TRÊN MÔ HÌNH MARKOV ẨN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (690.25 KB, 11 trang )

NGHIÊN CỨU NHẬN DẠNG NGÔN NGỮ CỬ CHỈ
THÔNG QUA QUỸ ĐẠO CHUYỂN ĐỘNG LIÊN TỤC
CỦA ĐỐI TƯỢNG DỰA TRÊN MÔ HÌNH MARKOV ẨN
Dương Khắc Hưởng, Nguyễn Đăng Bình
Trường THPT chuyên Lê Quý Đôn - Khánh Hòa
Khoa CNTT trường ĐH Khoa Học Huế - T.P. Huế
,
Tóm tắt: Nhận dạng quỹ đạo chuyển động liên tục của đối tượng là một lĩnh vực mới trong nghiên cứu
khoa học thị giác máy tính, chủ yếu cho mục đích nhận dạng ngôn ngữ cử chỉ, tương tác giữa con
người - máy tính. Trong bài báo này chúng tôi đề xuất một hệ thống nhận dạng các ngôn ngữ cử chỉ
dựa vào quỹ đạo chuyển động của đối tượng được phát hiện qua màu sắc. Sử dụng mô hình Markov
ẩn (HMM) để huấn luyện và nhận dạng quỹ đạo thu được từ chuyển động của đối tượng. Hệ thống
có năm bước chính: Phân đoạn hình ảnh thu được từ chuỗi hình ảnh qua camera để phát hiện quỹ đạo
chuyển động của đối tượng; Tiền xử lý và trích chọn đặc trưng của quỹ đạo chuyển động của đối
tượng bằng thuật toán được đề xuất để tạo lập bộ tham số đầu vào ban đầu cho mô hình HMM;
Quá trình học bằng thuật toán Baum-Welch và quá trình nhận dạng quỹ đạo bằng thuật toán Viterbi;
Phân tích thiết kế hệ thống và tạo lập bộ dữ liệu thực nghiệm. Các kết quả thực nghiệm cho thấy Hệ
thống đề xuất có thể nhận dạng thành công các cử chỉ rời rạc với ý nghĩa của nó và tỉ lệ nhận dạng thu
được kết quả là 98,4% trên bộ dữ liệu thực nghiệm.
Từ khóa: Nhận dạng cử chỉ, Nhận dạng đối tượng, Nhận dạng ký tự, Thị giác máy tính, Tương tác
người-máy tính.

1

Đặt vấn đề

Nhận dạng ngôn ngữ cử chỉ từ quỹ đạo chuyển động của đối tượng là lĩnh vực tương đối mới
trong vấn đề nghiên cứu nhận dạng cử chỉ tương tác người - máy tính (HCI – Human Computer
Interaction). Quỹ đạo chuyển động của đối tượng là một tập hợp rời rạc của các điểm (tâm của đối tượng)
thu được từ chuỗi hình ảnh của đối tượng chuyển động trong không gian theo thời gian. Mục tiêu của
nhận dạng ngôn ngữ cử chỉ là nhằm nâng cao khả năng tương tác từ xa giữa người và máy tính mà không


cần thông qua những thiết bị vào ra thông dụng như chuột và bàn phím. Trong khoảng một thập kỷ gần
đây, một số nghiên cứu và ứng dụng HCI khác nhau đã được đề xuất. Mỗi mô hình có những ưu điểm
khác nhau như: Hệ thống nhận dạng ký tự trong bảng chữ cái dựa vào quỹ đạo chuyển động của ngón
tay [2]; Hệ thống điều khiển chuột máy tính từ xa bằng cử chỉ bàn tay thông qua thị giác máy tính [3];
Tương tác người-máy tính dựa trên cử chỉ tay thông qua cảm biến RGB-D [6]; Nhận dạng cử chỉ tay kết
hợp trích chọn đặc trưng [7]; Nhận dạng cử chỉ có ý nghĩa của bàn tay dựa trên mô hình được tách từ mô
hình Markov ẩn cơ sở [8]. Trong bài báo này, chúng tôi đưa ra một phương pháp tiền xử lý dữ liệu đầu
vào từ chuỗi hình ảnh của đối tượng chuyển động thu được từ camera thông qua việc phát hiện màu sắc
của đối tượng chuyển động trong không gian 2D. Sau khi tiền xử lý, đặc trưng về hướng chuyển động của
các điểm trong quỹ đạo được lựa chọn để tạo véc tơ đặc trưng, nó là thành phần quan trọng của bộ tham
số đầu vào cho mô hình Markov ẩn. Ngoài ra chúng tôi cũng xây dựng một hệ thống có khả năng huấn
luyện bộ tham số đầu cho của mô hình Markov ẩn bằng thuật toán Baum-Welch và nhận dạng các ký tự
trong bảng chữ cái từ “a” đến “z” và các chữ số từ “0” đến “9” bằng thuật toán Viterbi. Hệ thống còn có
thể hỗ trợ việc tạo lập nhiều bộ dữ liệu thực nghiệm với số lượng trạng thái quan sát khác nhau giúp cho
việc đánh giá và so sánh kết quả thực nghiệm trên các bộ dữ liệu để đưa ra kết luận với độ tin cậy cao. Bài
báo được trình bày gồm 5 mục, trong đó: Mục 2 sẽ trình bày mô hình hệ thống tổng thể trong đó bao gồm
các vấn đề chính cần nghiên cứu; Mục 3 trình bày việc thiết kế và xây dựng hệ thống có thể tạo lập các bộ
dữ liệu dùng để thực nghiệm, huấn luyện và nhận dạng trên bộ dữ liệu thực nghiệm; Mục 4 đưa ra


kết quả nghiên cứu trên các bộ dữ liệu thực nghiệm và Mục 5 đưa ra một số nhận xét và đánh giá về sự
ảnh hưởng đến kết quả nhận dạng của hệ thống trên các bộ dữ liệu đầu vào khác nhau.

2

Hệ thống nhận dạng ngôn ngữ cử chỉ

Hệ thống nhận dạng ngôn ngữ từ quỹ đạo chuyển động của đối tượng gồm ba giai đoạn chính
được mô tả trong Hình. 2.1.


Hình. 2.1. Các giai đoạn chính của hệ thống.

Hệ thống của chúng tôi đưa ra có thể thu thập được các quỹ đạo chuyển động của đối tượng trong
không gian theo thời gian thực. Đối tượng được phát hiện dựa vào màu sắc của đối tượng và được theo
dõi sự thay đổi vị trí của nó trong không gian theo thời gian. Mốc để xác định vị trí của đối tượng là tâm
của đối tượng. Từ quỹ đạo chuyển động có ý nghĩa của đối tượng, chúng tôi đưa ra phương pháp tiền xử
lý dữ liệu và trích chọn đặc trưng của quỹ đạo chuyển động của đối tượng và sửa dụng mô hình HMM để
huấn luyện tập dữ liệu thu được cho các lớp ký tự số từ “0” đến “9” và các lớp chữ cái từ “a” đến “z”.
2.1 Dò tìm và theo dõi đối tượng dựa vào màu sắc
Đối tượng chúng tôi sử dụng trong hệ thống là bất kỳ đối tượng nào có kích thước đủ lớn và màu
sắc có độ tương phản cao so với màu nền. Màu sắc của đối tượng sẽ được chọn khi đối tượng xuất hiện
lần đầu tiên trong các khung ảnh thu được từ camera. Trong bài báo này chúng tôi sử dụng không gian
màu YCbCr để phát hiện và theo dõi đối tượng. Một màu trong không gian màu YcbCr là một bộ gồm ba
giá trị là Y (độ sáng), Cb (sắc độ màu xanh) và Cr (sắc độ màu đỏ). Sau khi các giá trị này được chọn từ
màu của đối tượng, chúng tôi sử dụng thêm một ngưỡng cho các giá trị này. Với Y nằm trong khoảng từ 0
đến 255, Cb giao động trong khoảng ∆Cb = ±40 và Cr giao động trong khoảng ∆Cr = ±30. Đối tượng sau
khi được phát hiện, tâm của đối tượng tính được dựa vào công thức tính moment thứ nhất trong không
gian 2D bằng các công thức (2.1) và (2.2) [9] sau đây.
Gọi (xc, yc) là tọa độ tâm của đối tượng thì xc và yc được xác định theo công thức sau:

∑x xI ( x, y)
M 10
xc =
=
M 00 ∑∑ I ( x, y )
x

(2.1)

y


∑y yI ( x, y)
M 01
yc =
=
M 00 ∑∑ I ( x, y )
x

(2.2)

y

Sau khi xác định được tâm của đối tượng, giá trị này sẽ được tính lại cho các khung hình tiếp theo
để đưa vị trí của đối tượng vào quỹ đạo chuyển động của nó. Quỹ đạo chuyển động của đối tượng là một

2


dãy các điểm, bắt đầu từ điểm đầu tiên cho đến điểm cuối cùng khi đối tượng thay đổi vị trí trong một
khoảng thời gian định trước. Tuy nhiên các điểm trong quỹ đạo thu được có sự phân bố không đồng đều,
có những chỗ thì mật độ điểm dày đặc (thường là những góc cua) còn những chỗ khác thì mật độ điểm có
thể thưa hơn. Vì vậy chúng tôi đưa ra thuật toán tiền xử lý dữ liệu đầu vào với ý tưởng là loại bỏ những
điểm không cần thiết tại những vị trí có mật độ điểm xuất hiện cao.
Thuật toán 2.1: Tiền xử lý dữ liệu đầu vào
Dữ liệu vào: P = {P0(x0, y0); P1(x1, y1);..., Pm( xm, ym)}, quỹ đạo P gồm m+1 điểm.
Dữ liệu ra: P = { P0(x0, y0); P1(x1, y1);..., Pt( xt, yt)}, quỹ đạo P gồm t+1 điểm (t ≤ m).
Phương pháp:
Bước 1: Tìm vị trí điểm có tổng khoảng cách đến điểm kề trước và kề sau nó là nhỏ nhất

dmin =


min (

( xi −1 − xi ) 2 + ( yi −1 − yi ) 2 +

( xi − xi +1 ) 2 + ( yi − yi +1 ) 2

i =1.. m −1

)

(2.3)

Gọi v là vị trí tương ứng khi dmin đạt giá trị nhỏ nhất.
Bước 2: Loại bỏ điểm thứ v ra khỏi quỹ đạo
t = t-1;
for i = v to m-1
Pi = Pi+1;
endfor
Bước 3: Lặp lại
If (m> t) lặp lại Bước 1.
2.2 Trích chọn đặc trưng quỹ đạo chuyển động của đối tượng
Theo một số nghiên cứu trước đây [7], [8], đặc trưng của một quỹ đạo phụ thuộc vào các yếu tố cơ
bản như: vị trí, vận tốc và hướng của chuyển động nhưng trong đó, vị trí và vận tốc ít ảnh hưởng đến
hình dáng của quỹ đạo trong không gian 2D mà chủ yếu là hướng chuyển động của mỗi điểm so với điếm
trước nó trong quỹ đạo cho nên chúng tôi chọn hướng chuyển động của các điểm trong quỹ đạo làm đặc
trưng cho quỹ đạo.
Góc của một điểm tại thời điểm t+1 so với điểm trước nó tại thời t được mô tả trong Hình 2.2 (a) và
được tính theo công thức:


θt = arctan(

dy
dx

)

(2.4)

Hướng của chuyển động là một giá trị của góc được quy đổi bằng cách chia cung tròn 3600 ra 36
hướng và được đánh số thứ tự từ 1 đến 36 như mô tả ở Hình. 2.2 (b).

(a)

(b)

Hình. 2.2. Góc và hướng chuyển động của đối tượng.

3


Như vậy đặc trưng của quỹ đạo là một véc tơ mà các thành phần của nó là số thứ tự hướng của của
mỗi điểm so với điểm kế trước nó.
Thuật toán 2.2: Trích chọn đặc trưng
Dữ liệu vào: P={(x0, y0), (x1, y2), ..., (xm, ym) }. Tọa độ của m+1 điểm quan sát được trong quỹ đạo.
Dữ liệu ra: O={o0, o1, o2, ..., om }. Hướng của chuyển động từ điểm i-1 đến điểm i (i = 1..m).
Phương pháp:
Bước 1: Tiền xử lý dữ liệu
Thực hiện thuật toán 2.1 trên tập các điểm trong P.
Bước 2: Tính góc cho vị trí đối tượng dựa vào công thức (2.4)

For i =1 to t

θ i = arctan(

yi − yi −1
)
xi − xi −1

Endfor
Bước 3: Chuyển đổi giá trị góc sang giá trị hướng
O0 = 0;
For i = 1 to m

Oi =

18θ i

(2.5)

π

Endfor
Bước 4: Kết thúc.
Ta có véc tơ đặc trưng O = {o0, o1, o2, ..., om }.
2.3

Mô hình Markov ẩn cho bài toán nhận dạng ngôn ngữ cử chỉ

2.3.1 Mô hình Markov ẩn
Mô hình HMM là mô hình trong toán học thống kê [2], [5], [7], [8], [9], [10]. Trong đó hệ thống được

mô hình hóa là một chuỗi trình Markov với các tham số không biết trước và nhiệm vụ là cần phải xác
định các tham số ẩn từ các tham số quan sát được.
Một mô hình HMM là một bộ λ = (A, B, π). Trong đó bao gồm:
Tập các trạng thái S = {s1, s2, ..., sN} với N là số trạng thái.
Ma trận xác suất ban đầu π = {π1, π2, ..., πN }T
A = {aij} (i, j = 1..N) là ma trận phân phối xác suất chuyển trạng thái, với aij là xác suất chuyển từ
trạng thái i ở thời điểm t sang trạng thái j ở thời điểm t+1.
Tập các ký hiệu quan sát V = {v1, v2, ..,vM} với M là số ký hiệu quan sát phân biệt.
Tập chuỗi quan sát O = {o1, o2, ..,oT} với T là độ dài chuỗi quan sát.
B = {bj(k)} là ma trận phân phối xác suất các ký hiệu quan sát, trong đó bj(k) là xác suất nhận được ký
hiệu quan sát vk ở trạng thái j.
Mô hình HMM tuân theo ràng buộc thống kê:



N
j =1

aij = 1;



M
k =1

b j (k ) = 1 và



N

i =1

πi = 1.

Mỗi lớp ngôn ngữ cử chỉ được biểu diễn bằng một mô hình HMM độc lập. Mỗi mô hình HMM có
ba bài toán cần giải quyết: (1) Cho mô hình Markov ẩn λ = (A, B, π), tính p(O| λ) là xác suất xảy ra chuỗi
tín hiệu O = { o1, o2, ..,oT }. (2) Cho mô hình Markov ẩn λ = (A, B, π), tìm chuỗi trạng thái Q = {q1, q2, …, qT}
sao cho xác suất tương ứng với chuỗi tín hiệu quan sát được O = { o1, o2, ..,oT } lớn nhất, tức là P(O,Q|λ) cực
đại. (3) Xây dựng mô hình Markov ẩn λ = (A, B, π) sao cho p(O|λ) hoặc p(O,Q|λ) đạt cực đại. Ngoài ra mô
hình HMM cũng có ba kiểu: Kiểu kết nối đầy đủ; Kiểu kết nối từ trái sang phải và Kiểu kết nối từ trái
sang phải theo đường thẳng [8]. Theo kết quả nghiên cứu trước đây [8] thì mô hình kết nối kiểu trái phải
theo đường thẳng là mô hình cho kết quả tốt nhất trong ba mô hình với bài toán huấn luyện và nhận dạng

4


quỹ đạo. Mô hình kết nối đầy đủ và mô hình kết nối từ trái sang phải kiểu đường thẳng được mô tả trong
Hình. 2.3.

Hình. 2.3. Mô hình HMM kiểu đầy đủ và kiểu đường thẳng.

Hình. 2.3.(a) là mô hình HMM kiểu kết nối đầy đủ, Hình. 2.3.(b) là mô hình HMM kiểu kết nối từ
trái sang phải theo đường thẳng. Với mô hình kiểu kết nối từ trái sang phải theo đường thẳng, tại mỗi
thời điểm khi chuyển qua thời điểm tiếp theo thì trạng thái cũ vẫn giữ nguyên hoặc chuyển sang trạng
thái mới. Số lượng trạng thái của mô hình là thông số quan trọng ảnh hưởng đến quá trình huấn luyện và
nhận dạng. Nếu số trạng thái quá nhiều quá sẽ sinh ra hiện tượng lặp lại quá nhiều số ký hiệu quan sát
còn nếu số trạng thái quá ít sẽ làm giảm độ chính xác của quá trình nhận dạng. Trong bài báo này chúng
tôi sẽ thực nghiệm trên ba bộ dữ liệu với số lượng trạng thái là 10, 18 và 36 (số trạng thái ít hơn hoặc bằng
số ký hiệu quan sát). Ví dụ quỹ đạo của chữ số “3” với số trạng thái bằng 10 và số ký hiệu quan sát là 36
được mô tả như Hình. 2.4.


Hình. 2.4. Quỹ đạo của chữ số 3 với 10 trạng thái.

Để huấn luyện dữ liệu cho một lớp, việc đầu tiên là cần xây dựng một bộ tham số λ = (A, B, π) ban
đầu. Không thể khẳng định được rằng một bộ tham số nào đó là tốt nhất cho mọi mô hình HMM. Ma trận
A là tham số đầu tiên được xây dựng theo công thức (2.7). Giá trị của ma trận A phụ thuộc vào thời gian t
được định nghĩa như sau: t = T
(2.6)
N
Trong đó T là độ dài của quỹ đạo và N là số trạng thái và giá trị aij được tính như sau:

 1
1 − t

1
aij = 
t
0



( j = i)
(2.7)

( j = i + 1)
( j ≠ i, j ≠ i + 1)

Giá trị của t được tính theo công thức (2.6).
Để xây dựng ma trận B ban đầu từ tập các véc tơ đặc trưng O1, O2, ..., Om của một lớp chúng tôi
tính theo công thức sau:


b j (k ) =

p
M

(2.8)

Với ý nghĩa ở trạng thái thứ j thì có p ký hiệu vk trong các chuỗi quan sát O1, O2, ..., Om và vk là ký
hiệu thứ k trong tập gồm M ký hiệu quan sát phân biệt của mô hình HMM.
Và cuối cùng chúng tôi tạo ma trận xác suất ban đầu π = {1 0 0 ... 0 }T
(2.9)
Ma trận π có N phần tử, trong đó phần tử đầu tiên có giá trị bằng 1, các phần tử khác có bằng 0.

5


2.3.2 Huấn luyện dữ liệu với mô hình Markov ẩn
Mỗi lớp ký hiệu ngôn ngữ được biểu diễn một mô hình HMM độc lập. Mô hình HMM được huấn
luyện với bộ dữ liệu mẫu độc lập chỉ chứa một số mẫu dương (hữu hạn). Mỗi mẫu dùng cho huấn luyện
được trích chọn véc tơ đặc trưng tương ứng và sử dụng thuật toán Baum-Welch để cập nhật mẫu, ước
tính các véc tơ tham số của mô hình HMM của lớp đó. Mỗi lớp được huấn luyện độc lập với từng bộ dữ
liệu riêng của từng lớp.
Thuật toán 2.3: Thuật toán Baum-Welch ước lượng các véc tơ tham số mô hình HMM
Dữ liệu vào: Tập gồm m véc tơ đặc trưng O1, O2, ..., Om của một lớp.
Dữ liệu ra: Giá trị ước lượng của các véc tơ tham số của mô hình Markov ẩn λ = (A, B, π ).
Phương pháp:
Bước 1: Khởi tạo các tham số ban đầu cho mô hình HMM
Khởi tạo A = {aij} (i = 1..n, j=1..n) theo công thức (2.10)
Khởi tạo B = {bj(k)} (j = 1..n, k = 1..36) từ tập các véc tơ đặc trưng theo công thức (2.11)

Khởi tạo π = {1 0 0 ... 0 }T theo công thức (2.12)
Bước 2: Tính xác suất chuyển từ trạng thái i tại thời điểm t đến trạng thái j tại thời điểm t + 1.
 n

(2.10)
α t (i ) =  ∑ α t −1 (i )aij  b j (t ) ;
 j =1

 n

(2.11)
βt (i) = ∑ βt +1 ( j )aij  b j (t + 1)
 j =1

α (i )aij bi (t + 1) βt +1 ( j )
(2.12)
ξt (i, j ) = P(qt = i, qt +1 = j | O, λ ) = t
P(O | λ )
α (i )aij bi (t + 1) βt +1 ( j )
α t (i )aij b j (t + 1) βt +1 ( j )
(2.13)
= N N
ξt( n ) (i, j ) = t
P(O | λ )
∑∑ αt ( x)axyby (t + 1)β t +1 ( y)
x =1 y =1

N

Bước 3: Xác suất của trạng thái i tại thời điểm t:


γ t (i ) = ∑ ξt (i, j )

(2.14)

j =1

Bước 4: Cập nhật lại giá trị các tham số cho mô hình
Xác suất trạng thái i là trạng thái bắt đầu πi:

π i = γ 1 (i )

(2.15)

T −1

∑ ξ (i, j)

Xác suất chuyển trạng thái:

t

aij =

t =1
T −1

(2.6)

∑ γ (i)

t

t =1

∑ γ (i)
t

Xác suất phát ra:

bik =

ot = k
T

(2.17)

∑ γ (t ')
t

t '=1

Hình. 2.5. Sơ đồ huấn luyện cho N lớp mô hình HMM với N tập mẫu độc lập khác nhau

6


Thuật toán 2.4 thực hiện huấn luyện dữ liệu cho từng lớp với các tập dữ liệu riêng tương ứng. Quá trình
huấn luyện dữ liệu được minh họa ở Hình. 2.5.
Thuật toán 2.4: Thuật toán huấn luyện dữ liệu
Dữ liệu vào: n bộ dữ liệu cho n lớp, với mỗi bộ có m véc tơ đặc trưng O1, O2, ..., Om.

Dữ liệu ra: n mô hình λi. (1 ≤ i ≤ n)
Phương pháp:
Bước 1: Huấn luyện n bộ dữ liệu cho n mô hình HMM
For i = 1 to n
Thực hiện thuật toán 2.3 trên m véc tơ đặc trưng O1, O2, ..., Om cho lớp thứ i;
Bước 2 Kết thúc.
Ta có n mô hình HMM (λ1, λ2, ..., λn).

2.3.3 Nhận dạng ký hiệu ngôn ngữ dựa vào mô hình Markov ẩn
Sau khi các mô hình HMM của các lớp đã được huấn luyện. Từ chuỗi quan sát chuyển động của
đối tượng Thuật toán 2.5 dùng để ước lượng độ tương tự được ứng dụng để nhận dạng trên bộ dữ liệu
thực nghiệm được mô tả trong Hình 2.6.
Thuật toán 2.5: Thuật toán Viterbi(λ, O)
Dữ liệu vào: Chuỗi quan sát O = (o1, o2,..,oT) , mô hình λ = (A, B, π).
Dữ liệu ra: Chuỗi trạng thái Q* , xác suất p*(λ| O).
Phương pháp:
Bước 1: Khởi tạo
δ1(i) = pi bi(o1)
ψ1(i) = 0 , i =1, ... , N
Bước 2: For t = 1 to T-1
δt (j) = maxi [δt - 1(i) aij] bj(ot)
ψt(j) = arg maxi [δt - 1(i) aij]
Endfor
Bước 3: Kết thúc
p* = maxi [δT(i)]
q*T = arg maxi [δT(i )]
Bước 4: Kết quả:
q*t = ψt+1(q*t+1)
với t = T - 1, T - 2 , . . . , 1.
Thuật toán 2.6: Thuật toán nhận dạng ngôn ngữ cử chỉ

Dữ liệu vào: Chuỗi quan sát O và N mô hình HMM (λ1, λ2, λN).
Dữ liệu ra: Tên lớp tương ứng với chuỗi quan sát O.
Phương pháp:
Bước 1: Giá trị ban đầu
pmax = p*(λ1 | O); //Thực hiện thuật toán 2.5 với dữ liệu vào Viterbi (λ1, O);
Bước 2: Lặp lại
For i = 2 to n
if pmax < p*(λi|O); // Thực hiện thuận toán 2.5 với dữ liệu vào Viterbi(λi, O);
pmax = p*(λi|O);
k:=i;
endif
endfor
Bước 3: Kết thúc
Tên lớp ngôn ngữ cử chỉ tương ứng với chuỗi quan sát O có p*(λi|O) lớn nhất.

7


Trong thuật toán 2.6 trên, giá trị p*(λi|O) là kết quả có được sau khi thực hiện Thuật toán 2.5 trên
dữ liệu vào với mô hình HMM λi và chuỗi quan sát O.

Hình. 2.6. Sơ đồ quá trình nhận dạng cử chỉ ngôn ngữ

3

Thiết kế và xây dựng thệ thống

Hệ thống của chúng tôi được xây dựng bằng ngôn ngữ lập trình C# 2010 của Microfoft và một số
gói công cụ được hỗ trợ dạng mã nguồn mở của bên thứ ba như: Emgu CV và Accord.NET Framework.


Hình. 3.1. Giao diện chính của hệ thống.

Hệ thống bao gồm những chức năng chính sau đây:
• Thu hình ảnh từ camera, phát hiện đối tượng bằng màu sắc được chỉ định và theo dõi đối
tượng để lấy quỹ đạo chuyển động của đối tượng.
• Sau khi hệ thống lấy được quỹ đạo chuyển động của đối tượng, nó sẽ tự động tiền xử lý dữ
liệu bằng thuật toán 2.1 và trích chọn đặc trưng bằng thuật toán 2.2. Tập các véc tơ đặc trưng

8








thu được của từng lớp được lưu vào một tệp văn bản trong từng thư mục tương ứng với tên
lớp ký tự dùng để huấn luyện hoặc lưu vào một tệp văn bản riêng dùng để nhận dạng.
Khi dữ liệu ban đầu của từng lớp đã được tạo ra, hệ thống có thể để huấn luyện dữ liệu cho
các lớp. Chức năng huấn luyện dữ liệu được xây dựng bởi thuật toán 2.5. Dữ liệu của mỗi mô
hình HMM sau khi huấn luyện được lưu trữ trong một tệp có cấu trúc nằm trong cùng thư
mục của lớp đó để phục vụ cho quá trình nhận dạng.
Hệ thống có thể nhận dạng cùng một lúc trên nhiều mẫu dữ liệu đã được tạo lập trong tệp
riêng trước đó và đưa ra kết quả thống kê số liệu nhận dạng đúng hoặc sai trong tệp văn bản
kết quả.
Hệ thống cũng có thể nhận dạng trực tiếp và đưa ra kết quả nay sau khi nhận dạng được trên
giao diện của chương trình. Kết quả là ký tự được nhận dạng hiển thị ngay trên cùng màn
hình của hình ảnh từ camera. Chức năng này được mô phỏng bằng video clip đã được chúng
tôi upload tại trang youtube tại chỉ: />

Sau khi thiết kế và xây dựng hệ thống, chúng tôi đã tiến hành tạo ra 3 bộ dữ liệu tương ứng với số
trạng thái của mô hình HMM là 10, 18 và 36. Với mỗi bộ là 36 ký tự gồm 10 ký tự số từ “0” đến “9” và 26
ký tự chữ cái từ “a” đến “z”. Mỗi bộ được chia thành hai phần, một phần dùng cho huấn luyện, một phần
cho nhận dạng. Số liệu của các bộ dữ liệu thể hiện trong bảng 3.1 sau:
Bảng. 3.1. Số liệu các bộ dữ liệu dùng để huấn luyện và nhận dạng
Số trạng thái
10
18
36

Tổng số mẫu
791
780
870

Huấn luyện
45%
46%
41%

Nhận dạng
55%
54%
59%

4 Kết quả thực nghiệm
Chúng tôi tiến hành thực nghiệm trên hệ thống với 3 bộ dữ liệu đã được tạo ra như đã trình bày
trong Mục 3 ở trên.

Hình 4.1. Tạo lập dữ liệu và thực nghiệm.


Các số liệu cụ thể của từng bộ dữ liệu và kết quả nhận dạng được trình bày trong bảng 4.1. Với kết
quả sau khi thực nghiệm trên 3 bộ dữ liệu thể hiện trong Bảng. 4.1. trên, chúng tôi có thể đánh giá rằng
kết quả nghiên cứu các thuật toán tiền xử lý dữ liệu, thuật toán trích chọn đặc trưng, xây dựng các tham
số cho mô hình HMM, lựa chọn và ứng dụng thuật toán huấn luyện, thuật toán nhận dạng là phù hợp
với bộ dữ liệu mà chúng tôi đã tạo ra.

9


Bảng. 4.1. Kết quả thực nghiệm.
Số trạng thái

Số mẫu
huấn luyện

Số mẫu
nhận dạng

Số mẫu
nhận dạng sai

Tỷ lệ

10

360

431


42

90,3%

18

360

420

25

94,0%

36

360

510

8

98,4%

Trung bình

360

453


25

94.2%

Trong Bảng. 4.1. trên chúng tôi thấy rằng tỷ lệ nhận dạng sai sẽ tăng khi số các trạng thái của mô
hình HMM giảm, điều này phù hợp với nhận định ban đầu của chúng tôi là khi số trạng thái ít thì trong
chuỗi trạng thái của kết quả nhận dạng sẽ có nhiều trạng thái bị lặp lại làm cho xác suất của chuỗi trạng
thái trên các lớp gần nhau nên dẫn đến kết quả phân lớp bị sai lệch.
Từ kết quả nghiên cứu lý thuyết mô hình HMM, xây dựng cài đặt hệ thống và thực nghiệm chúng
tôi đưa ra một số nhận xét về đề tài này như sau:

Số trạng thái của mô hình HMM càng ít thì tốc độ thực hiện của hệ thống càng nhanh nhưng
kết quả nhận dạng của hệ thống càng thấp và ngược lại.
Số lượng ký hiệu quan sát phân biệt của mô hình HMM càng nhiều thì độ chính xác của

hệ thống càng cao nhưng nếu số lượng ký hiệu quan sát nhiều quá sẽ ảnh hưởng đến tốc độ của
hệ thống.

Độ dài của chuỗi quan sát (quỹ đạo) cũng có ảnh hưởng đến kết quả của hệ thống. Nếu chuỗi
quan sát dài quá cũng sẽ gây nên hiện tượng lặp lại của các trạng thái trong kết quả nhận dạng,
nếu độ dài chuỗi quan sát quá ngắn sẽ làm giảm tỷ lệ nhận dạng đúng. Ngoài ra độ dài chuỗi
quan sát còn phụ thuộc vào hình dáng của ký tự cần nhận dạng.

Một số điều kiện khác cũng có thể làm ảnh hưởng đến kết quả của hệ thống như: tốc độ và độ
phân giải của camera, cường độ ánh sáng của môi trường, khoảng cách từ đối tượng chuyển
động đến camera, sự tương phản giữa màu sắc của đối tượng và màu nền.

Ngoài ra hình dáng quỹ đạo của một số ký tự cũng có thể ảnh hưởng đến kết quả nhận dạng
ví dụ như hình dáng của ký tự chữ cái “o” và ký tự chữ số “0” tương đối giống nhau nên nếu
không quy định chiều của quỹ đạo khi thực hiện cử chỉ viết hai ký tự này thì hệ thống rất khó

để nhận dạng ra chúng.

5 Kết luận
Trong bài báo này chúng tôi đã nghiên cứu được vấn đề ứng dụng mô hình HMM trong nhận dạng
ngôn ngữ cử chỉ có ý nghĩa của các ký tự thông qua quỹ đạo chuyển động liên tục của đối tượng. Chúng
tôi đã xây dựng được các thuật toán tiền xử lý dữ liệu, thuật toán trích chọn đặc trưng và ứng dụng thuật
toán Baum-Welch và thuật toán Viterbi để xây dựng thuật toán huấn luyện dữ liệu và nhận dạng quỹ đạo
chuyển động của đối tượng. Chúng tôi đã xây dựng được hệ thống cho phép tạo lập ra các bộ dữ liệu
dùng để huấn luyện và nhận dạng. Kết quả thực nghiệm trên các bộ dữ liệu đó giúp cho chúng tôi có
được những đánh giá nhận xét sát hơn đối với hệ thống. Với kết quả nghiên cứu mà chúng tôi đã đạt
được ở trên, chúng tôi có thể kết luận rằng đây là kết quả có thể áp dụng được trong việc xây dựng một
ứng dụng giao tiếp giữa người – máy tính. Trong thời gian tới chúng tôi sẽ tiếp tục nghiên cứu đề tài này
để ứng dụng vào thực tế nhằm xây dựng một ứng dụng giao tiếp với máy tính bằng ngôn ngữ cử chỉ giúp
cho người sử dụng máy tính có thể thực hiện các thao tác cơ bản với máy tính từ xa thông qua thiết bị
camera bằng cử chỉ mà không cần sử dụng đến các thiết bị nhập liệu thông dụng như chuột và bàn phím.

10


Tài liệu tham khảo
1.
2.
3.

4.

5.

6.


7.
8.

9.
10.

A.A. Randive, H. B. Mali, S. D. Lokhande (2012), “Hand Gesture Segmentation”, International Journal of
Computer Technology and Electronics Engineering (IJCTEE), Vol.2, pp.125-129.
A.Elmezain, A. Al-Hamadi (2007), “Gesture Recognition for Alphabets from Hand Motion Trajectory Using
Hidden Markov Models”, IEEE International Symposium on, pp.1209-1214.
Antonis A. Argyros, Manolis I.A. Lourakis (2006), “Vision-Based Interpretation of Hand Gestures for Remote
Control of a Computer Mouse”, ECCV'06 Proceedings of the 2006 international conference on Computer Vision in
Human-Computer Interaction, pp.40-51.
Ch.Srinivasa Rao, S.Srinivas Kumar and B.Chandra Mohan (2010), “Content Based Image Retrieval Using
Exact Legendre Moments And Support Vector Machine”, International journal of multimedia & Its applications
(IJMA), Vol 2, pp.69-79.
Feng-Sheng Chen, Chih-Ming Fu, Chung-Lin Huang (2003), “Hand gesture recognition using a real-time
tracking method and hidden Markov models”, Institute of Electrical Engineering, National Tsing Hua University,
Hsin Chu 300, Taiwan, ROC Vol.21, pp.745–758.
J. M. Palacios, Carlos Sag, Eduardo Montijano and Sergio Llorente (2013), “Human-Computer Interaction
Based on Hand Gestures Using RGB-D Sensors”, This article belongs to the Special Issue State-of-the-Art Sensors
Technology in Spain, ISSN 1424-8220, pp.11843-11860.
Mahmoud Elmezain, Ayoub Al-Hamadi, and Bernd Michaelis (2009), “Hand Gesture Recognition Based on
Combined Features Extraction”, World Academy of Science, Engineering and Technology, Vol.3, pp.853-858.
Mahmoud Elmezain , Ayoub Al-hamadi , Bernd Michaelis (2008), “A Hidden Markov Model-Based Isolated
and Meaningful Hand Gesture Recognition”, World Academy of science, engineering and technology, Vol 31,
pp.394-401.
Nguyen Dang Binh, Enokida Shuichi and Toshiaki Ejima (2005), “Real-Time Hand Tracking and Gesture
Recognition System”, IGGST International Journal on Graphics, Vision Image Processing, Vol.6, pp.31-39.
Nianjun Liu, Brian C. Lovell, Peter J. Kootsookos, and Richard I.A. Davis (2004), “Model Structure Selection &

Training Algorithms for a HMM Gesture Recognition System”, Frontiers in Handwriting Recognition, 2004.
IWFHR-9 2004. Ninth International Workshop, ISSN:1550-5235, pp.100-105.

RESEARCH ON RECOGNITION OF GESTURES LANGUAGE THROUGH
CONSECUTIVE TRAJECTORY MOTION OF THE OBJECT
BY HIDDEN MARKOV MODEL
Duong Khac Huong, Nguyen Dang Binh
Le Quy Don High school - Khanh Hoa province
Faculty of Information Techgnology – Hue Univeristy of Sciences – Hue University
,
Abstract: Consecutive motion trajectory of the object recognition is a new field of computer vision in scientific
researching, mainly for the purpose of using gestures language recognition between human interaction – computer
(HCI). In this paper we propose a recognition system of gestures language based on the motion trajectory of the object
detected by color. Using Hidden Markov Model (HMM) for the training and recognition from motion trajectory of the
object moves. Our system is divided into five main steps: Segment of images from the sequence moves through
cameras to detect motion trajectory of the object; pre-processing and extract features for motion trajectory of the object
using the proposed algorithm to create the initial input for HMM parameters. Baum-Welch algorithm learning
process and motion trajectory recognize by the Viterbi algorithm; System design and creation of experimental data
analysis. The experimental results show the proposed system can successfully identify the discrete gestures with its
recognition and motion trajectory and the recognition result was 98.4% on experimental data sets.
Keywords: Gestures Recognition, Objects Recognition, Character Recognition, Computer Vision, Human Computer
Interaction.

11



×