Bài báo này đề xuất phương pháp xử lý hình ảnh sau khi thu nhận và áp dụng kỹ thuật phân tích thành phần chính PCA (Principle Component Analysis) để nhận dạng cử chỉ dựa trên các hình ảnh sau khi xử lý đó. Các kết quả thực nghiệm cho thấy hệ thống đề xuất đã đạt được tỉ lệ nhận dạng cao. Mời các bạn cùng tham khảo!
Trang 1Ứng dụng PCA trong nhận dạng cử chỉ tay
ngôn ngữ tiếng Việt
Nguyễn Thị Hương Thảo, Vũ Hữu Tiến, Nguyễn Ngọc Minh, Vũ Văn San
Học Viện Công Nghệ Bưu Chính Viễn Thông Email: {thaonth, tienvh, minhnn, sanvv}@ptit.edu.vn
Tóm tắt—Hiện nay, cử chỉ tay là một trong các mối quan
tâm chính đối với người khiếm thính vì họ sử dụng ngôn
ngữ cử chỉ để giao tiếp với nhau và giao tiếp với người
bình thường Đối với người bình thường nếu không biết
hoặc gặp khó khăn với ngôn ngữ cử chỉ của người khiếm
thính thì cần phải có thông dịch viên hỗ trợ quá trình
giao tiếp Do đó, một hệ thống nhận dạng ngôn ngữ cử
chỉ bàn tay tự động là rất cần thiết để giúp đỡ những
người khiếm thính hòa nhập vào cuộc sống bình thường.
Về mặt kỹ thuật, nhận dạng ngôn ngữ cử chỉ là một bài
toán toàn diện vì phải có sự kết hợp của các giai đoạn
thu nhận ảnh, xử lý ảnh, phân tích và nhận dạng ảnh Bài
báo này đề xuất phương pháp xử lý hình ảnh sau khi thu
nhận và áp dụng kỹ thuật phân tích thành phần chính
PCA (Principle Component Analysis) để nhận dạng cử chỉ
dựa trên các hình ảnh sau khi xử lý đó Các kết quả thực
nghiệm cho thấy hệ thống đề xuất đã đạt được tỉ lệ nhận
dạng cao.
Từ khóa—PCA, nhận dạng cử chỉ, VSL
I GIỚI THIỆU Ngôn ngữ cử chỉ là loại ngôn ngữ sử dụng cử chỉ bàn
tay, biểu cảm của khuôn mặt và chuyển động của cơ thể
để truyền đạt ý nghĩa giữa những người khiếm thính với
nhau và với người bình thường Ngôn ngữ cử chỉ tay
cũng được sử dụng trong nhiều các ứng dụng khác như
tương tác người – máy, hiện thực ảo, trò chơi tương tác
Vì vậy hiện nay nhận dạng ngôn ngữ cử chỉ là một lĩnh
vực thu hút nhiều các nhà nghiên cứu tập trung tìm hiểu
Điều này giúp cho những người khiếm thính có cơ hội
giao tiếp với người bình thường một cách dễ dàng hơn
Nhiều nghiên cứu trước đây đã thực hiện với các ngôn
ngữ khác nhau như ngôn ngữ cử chỉ Mỹ Latin, ngôn ngữ
cử chỉ Ấn Độ, ngôn ngữ cử chỉ Anh Tuy nhiên chưa có
nhiều bài báo đề cập đến ngôn ngữ cử chỉ Tiếng Việt
VSL (Vietnamese Sign Language) Bài báo này đề xuất
một hệ thống nhận dạng cử chỉ tay mà người sử dụng
không cần phải sử dụng thiết bị chuyên dụng nào như
găng tay mà chỉ thực hiện cử chỉ bằng tay trần trước
camera cố định sẵn Hệ thống thực hiện nhận dạng các
chữ cái Tiếng Việt qua cử chỉ bàn tay tĩnh bằng cách sử
dụng kỹ thuật PCA
Hệ thống nhận dạng cử chỉ tay có bốn giai đoạn: thu nhận dữ liệu, mô hình hóa cử chỉ, trích chọn đặc trưng
và nhận dạng Thu nhận dữ liệu có thể thực hiện bằng cách sử dụng găng tay Găng tay dữ liệu sử dụng cảm biến (cơ hoặc quang) được gắn vào găng tay để chuyển đổi cử chỉ ngón tay thành tín hiệu điện Từ đó có thể xác định được vị trí tương ứng của các ngón tay Cử chỉ tay cũng có thể được thu nhận bằng camera/webcam/Kinect 3D Cách này có giá thành thấp và người sử dụng có thể tạo ra các cử chỉ một cách dễ dàng Trong một số các công trình nghiên cứu trước đây sử dụng ảnh tĩnh
để phân tích và nhận dạng, họ thường sử dụng camera
để bắt giữ hình ảnh Tuy nhiên, phương pháp này không thích hợp trong thực tế Đối với các ứng dụng thời gian thực thường sử dụng webcam để bắt giữ một chuỗi video
cử động của bàn tay Trong phương pháp này, các khung hình được phân tích để tách ra ảnh cử chỉ bàn tay Vấn
đề chính trong phương pháp này là tìm ra khung hình nào chứa cử chỉ cuối cùng
Sau giai đoạn thu nhận dữ liệu là mô hình hóa cử chỉ Bàn tay cần được mô hình hoá để xử lý một cách chính xác Các mô hình khác nhau được lựa chọn tùy theo từng ứng dụng cụ thể Giai đoạn này thực hiện phân vùng bàn tay và tiền xử lý Phân vùng bàn tay thực hiện tách bàn tay khỏi bức ảnh và tiền xử lý là quá trình cải thiện chất lượng bức ảnh và cắt ra đúng vùng liên quan
để xử lý tiếp theo Quá trình phân vùng chính xác sẽ giúp trích chọn đặc trưng hoàn hảo Phương pháp trích chọn đặc trưng được xem xét kỹ lưỡng tùy vào các ứng dụng khác nhau
Giai đoạn cuối cùng của hệ thống nhận dạng cử chỉ tay
là phân loại cử chỉ Có rất nhiều phương pháp phân loại như Mô hình Markov ẩn HMM, phân tích thành phần chính PCA, phân loại theo khoảng cách, mạng neural Nhận dạng cử chỉ tay gồm nhiều kỹ thuật khác nhau [1] Các nhà nghiên cứu sử dụng các kỹ thuật khác nhau
và đạt được độ chính xác khá cao Phương pháp trong tài liệu [2] đề xuất hệ thống nhận dạng ngôn ngữ cử chỉ
Trang 2Hình 1 Sơ đồ hệ thống nhận dạng được đề xuất
Ấn Độ trong video trực tiếp sử dụng trị riêng và vector
riêng để trích chọn đặc trưng Jayashree R.Pansare và
đồng nghiệp [3] đề xuất hệ thống nhận dạng cử chỉ tay
tĩnh thời gian thực đối với ngôn ngữ cử chỉ Mỹ Latinh
trên nền phức tạp Hệ thống thực hiện tiền xử lý ảnh với
bộ lọc trung vị và các toán tử hình thái, trích chọn đặc
trưng sử dụng centroid và phân loại sử dụng khoảng
cách Euclidean S.Nagarajan và T.S.Subashini [4] giới
thiệu hệ thống nhận dạng cử chỉ bàn tay tĩnh mô tả các
chữ cái ngôn ngữ ký hiệu Mỹ Đóng góp chính của bài
báo là sử dụng lược đồ xám hướng biên để trích chọn
đặc trưng và nhận dạng bằng SVM nhiều lớp tuy nhiên
hệ thống chỉ thực hiện với nền đồng nhất [5] đề xuất hệ
thống nhận dạng ngôn ngữ Đài Loan với cả hai loại cử
chỉ tay tĩnh và động sử dụng SVM và HMM, tuy nhiên
hệ thống yêu cầu người sử dụng phải đeo găng tay màu
trong quá trình thu nhận ảnh
Bài báo này đề xuất hệ thống nhận dạng cử chỉ bàn
tay dựa trên kỹ thuật PCA đối với ngôn ngữ tiếng Việt
và đánh giá tính hiệu quả của các phương pháp khi sử
dụng khoảng cách Euclidean để phân loại Trong quá
trình mô hình hóa cử chỉ, bài báo đề xuất phương pháp
tách bàn tay khỏi nền, giúp cho quá trình nhận dạng
được chính xác hơn
Bài báo được cấu trúc như sau Phần II đề xuất hệ
thống nhận dạng cử chỉ tay Các kết quả thực nghiệm
được mô tả và phân tích được mô tả phần III Cuối cùng
là kết luận được đưa ra trong phần IV
II MÔ HÌNH HỆ THỐNG
Sơ đồ hệ thống đề xuất được mô tả trong hình 1
Hình 2 Bảng ký hiệu ngôn ngữ cử chỉ tiếng Việt
A Thu nhận dữ liệu
Giai đoạn đầu tiên của hệ thống là thu nhận dữ liệu Ảnh được thu nhận bằng camera của máy tính với độ phân giải 5 Megapixel Người sử dụng thực hiện các cử chỉ bằng tay trần trước camera trong khoảng cách 1m
Để chụp được ảnh tĩnh của cử chỉ, hệ thống sử dụng giải pháp thông báo để người sử dụng giữ nguyên tư thế bàn tay trong khoảng 5ms Trong thí nghiệm này, hệ thống được thử nghiệm với các ảnh cử chỉ tay mô tả 25 chữ cái tiếng Việt Cơ sở dữ liệu gồm 250 ảnh tương ứng với 25 lớp chữ cái Mỗi lớp chữ cái gồm 10 ảnh được thực hiện bởi hai người khác nhau trong điều kiện ánh sáng khác nhau trên nền trắng đơn giản Tập cơ sở dữ liệu của ngôn ngữ Tiếng Việt được cho trong hình 2
B Chuẩn hóa dữ liệu
Sơ đồ khối của tầng chuẩn hóa hình ảnh được mô tả trong hình 3 Để có thể nhận dạng được hình ảnh, trước giai đoạn nhận dạng, các hình ảnh phải được chuẩn hóa
để hệ thống có thể rút ra các đặc trưng của các ảnh Trong hệ thống được đề xuất, ảnh chuẩn hóa là các ảnh nhị phân có kích thước 100x100
Để có thể phân vùng được cử chỉ tay, ảnh RGB đầu vào được chuyển thành ảnh YCrCb với mục đích sử dụng hai kênh màu Cr và Cb để chọn vùng da bàn tay Với việc sử dụng hai kênh màu như vậy, ảnh được xử lý sẽ
ít bị tác động với sự thay đổi của ánh sáng Trong hệ thống được đề xuất, để chọn vùng da bàn tay, giá trị
Cr được chọn trong khoảng từ 146 đến 165 và Cb được chọn trong khoảng từ 140 đến 195
Do quá trình tách ảnh bàn tay dựa trên giá trị ngưỡng của Cr và Cb nên một số vùng trên ảnh bị sai lệch, tạo
Trang 3Hình 3 Các bước xử lý trong quá trình mô hình hóa hình ảnh cử chỉ
ra những vùng trống trên ảnh Do đó ảnh sau khi tách
được xử lý để loại bỏ vùng trống không mong muốn
Để đơn giản cho việc xử lý nhận dạng, ảnh YCrCb
được biến đổi sang ảnh nhị phân Quá trình này giúp
cho việc xử lý giảm từ 3 ma trận Y, Cr, Cb xuống còn
một ma trận ảnh nhị phân
Do việc chọn ngưỡng trong quá trình biến đổi nhị
phân, ảnh sẽ xuất hiện các vùng khuyết không mong
muốn Do vậy việc loại bỏ các vùng khuyết được tiến
hành một lần nữa Tuy nhiên, trong một số ảnh, việc
loại bỏ này có thể làm mất nội dung của ảnh Vì vậy,
thuật toán tìm vùng trống lớn nhất để giữ lại được sử
dụng để không làm thay đổi hình dạng đối tượng trong
ảnh
Cuối cùng, phép xử lý hình thái (phép đóng) được sử
dụng để hình ảnh đối tượng được hoàn chỉnh hơn
C Trích chọn đặc trưng và phân loại
Trong giai đoạn nhận dạng sử dụng thuật toán PCA
để trích chọn đặc trưng của ảnh và phân loại ảnh đầu
vào Cụ thể là các trị riêng và vector riêng được coi
là đặc trưng của ảnh đầu vào Đối với giai đoạn phân
loại, khoảng cách Euclidean được sử dụng để so sánh
đặc trưng của ảnh đầu vào với đặc trưng của các ảnh
được lưu trữ trong cơ sở dữ liệu Ảnh nào trong cơ sở
dữ liệu có khoảng cách Euclidean ngắn nhất sẽ được coi
là giống với bức ảnh đầu vào nhất Các bước của giai
đoạn nhận dạng được mô tả như sau:
Bước 1: Tính vector phương sai của dữ liệu
Giả sử rằng có M ảnh trong cơ sở dữ liệu để huấn
luyện I1, I2, , I M Kích thước của mỗi ảnh là NXN.
Để tính trị riêng, mỗi ảnh I i kích thước NXN được
sắp xếp lại thành vector Γi kích thước 1XN2 Vector
trung bình của M ảnh được tính như sau:
Ψ = 1
M
M
Vector phương sai của mỗi ảnh được tính như sau:
Bước 2: Tính ma trận hiệp phương sai
Ma trận hiệp phương sai C của các ảnh trong cơ sở
dữ liệu được tính như sau:
C = 1 M
M
n=1
ΦnΦT n = AA T (3)
trong đó A = [Φ1Φ2 Φ M]
Bước 3: Tính trị riêng và vector riêng
Trong bài báo này, kích thước của ảnh là
100X100(N = 100)và có 250 ảnh trong cơ sở dữ liệu
(M = 250) Vì vậy, kích thước của ma trận hiệp phương sai C là 1002X1002 Đây là ma trận có kích thước lớn
và vì vậy việc tính vector riêng và trị riêng rất phức tạp
Để giảm khối lượng tính toán, [6] chứng minh rằng M trị riêng của A T A tương ứng với M trị riêng lớn nhất của AA T cùng với vector riêng tương ứng M trị riêng của AA T có thể được tính như sau:
u i = Av i , i = 1, 2, , M (4)
trong đó v i là vector riêng của A T A
Để đơn giản trong tính toán, chỉ có K(K < M) vector riêng (tương ứng với K trị riêng lớn nhất) được giữ lại Trong bài báo này, chọn K = 30 để đảm bảo
tính cân bằng giữa thời gian tính toán và độ chính xác trong nhận dạng
Bước 4: Trích chọn đặc trưng của ảnh
Sau khi lựa chọn K vector riêng của ảnh trong cơ sở
dữ liệu, phương sai của mỗi ảnh cử chỉ bàn tay trong
cơ sở dữ liệu được mô tả là tổ hợp tuyến tính của K
vector riêng lớn nhất
ˆ
Φi=
K
j=1
λ j u j , i = 1, 2, , K (5)
trong đó λ j = u T
jΦj Mỗi ảnh cử chỉ bàn tay trong cơ sở dữ liệu được mô
tả bằng một vector:
Ωi=
λ i
1
λ i
2
λ i K
, i = 1, 2, , M (6)
trong đó Ωi là vector đặc trưng của ảnh cử chỉ bàn tay
itrong cơ sở dữ liệu
Bước 5: Phân loại
Trang 4Với ảnh cử chỉ bàn tay đầu vào, vector đặc trưng Ω
được tính toán như sau:
Ω =
λ1
λ2
λ K
, λ i = u T iΦ (7)
trong đó Φ là giá trị ảnh đầu vào trừ đi ảnh trung bình
của cử chỉ bàn tay trong cơ sở dữ liệu
Sau khi tách vector đặc trưng của ảnh đầu vào, vector
đặc trưng này được so với vector đặc trưng của ảnh trong
cơ sở dữ liệu dựa vào khoảng cách Euclidean
Khoảng cách Euclidean được tính như sau:
e r=
Ω − Ω k =
K
i=1
(λ i − λ k
i)2 (8)
Ảnh trong cơ sở dữ liệu với e r tối thiểu là ảnh gần
giống nhất với ảnh đầu vào Ảnh giống nhất được coi
là kết quả quá trình đối sánh của ảnh đầu vào Vì vậy,
ký tự tương ứng với ảnh kết quả đó được coi là kết quả
của quá trình nhận dạng cử chỉ tay
III MÔ PHỎNG VÀ PHÂN TÍCH KẾT QUẢ
Để đánh giá hiệu quả sử dụng thuật toán PCA trong
việc nhận dạng ngôn ngữ chữ cái tiếng Việt, mô phỏng
được thực hiện trên tập cơ sở dữ liệu 250 ảnh mô tả
25 chữ cái tiếng Việt Tất cả các ảnh đều được chuẩn
hóa bằng cách cắt và định lại kích cỡ 100 x 100 pixel
Hệ thống kiểm tra với 25 ký tự với mỗi lớp ký tự gồm
10 ảnh và thực hiện đánh giá dựa trên tỉ lệ nhận dạng
thành công
Hệ thống VSL được thực hiện trên phần mềm
MAT-LAB phiên bản 7.6, Windows 8.1, 2 GB RAM và
webcam có độ phân giải 5 Megapixel
Bảng 1 mô tả kết quả của hệ thống đề xuất khi nhận
dạng 25 chữ cái tiếng Việt với tỉ lệ thành công lên tới
80.4 % Kết quả chỉ ra rằng tỉ lệ thành công của các
chữ cái “B, D, H, O, T” thấp vì chúng có hình dạng
khá giống nhau Vì vậy hệ thống đôi khi nhận dạng
nhầm Đối với các chữ cái như “A, E, K, L, N, P, Q, S,
U, X” ảnh cử chỉ bàn tay có chất lượng tốt sau giai đoạn
tiền xử lý Vì vậy hệ thống đạt được tỉ lệ nhận dạng cao
đối với các chữ cái này Ngoài ra, do đối tượng ảnh cử
chỉ được tách ra đầy đủ và được chuẩn hóa tốt hơn nên
hệ thống được đề xuất đạt được tỷ lệ thành công cao
hơn so với phương pháp trong tài liệu [2]
IV KẾT LUẬN Trong bài báo này thực hiện đánh giá hệ thống nhận
dạng ngôn ngữ cử chỉ tiếng Việt sử dụng kỹ thuật PCA
Bảng I
B ẢNG SO SÁNH KẾT QUẢ NHẬN DẠNG
Ký tự (Phương pháp đề xuất)Tỷ lệ thành công (%) (Phương pháp trong tài liệu [2])Tỷ lệ thành công (%)
Kết quả mô phỏng cho thấy tỉ lệ nhận dạng thành công
là 80.4 % Kết quả cũng cho thấy một số các chữ cái bị nhận dạng sai vì chúng có ảnh cử chỉ bàn tay khá giống nhau Tuy nhiên, bằng việc chuẩn hóa ảnh hợp lý và sử dụng phương pháp PCA để nhận dạng, tỉ lệ thành công của hệ thống được đề xuất đạt được cao hơn so với một
số phương pháp trước đó
TÀI LIỆU THAM KHẢO
[1] A.R Sarkar , G Sanyal and S Majumder, Hand Gesture
Recog-nition Systems: A Survey, International Journal of Computer
Applications,vol 71,2013
[2] J Singha and K Das, Recognition of Indian Sign Language in
Live Video, International Journal of Computer Applications, Vol
70, 2013.
[3] J R Pansare, S H Gawande and M Ingle, Real-Time Static Hand
Gesture Recognition for American Sign Language (ASL) in Com-plex Background,Journal of Signal and Information Processing,
2012, vol 3, 364-367.
[4] S Nagarajan and T.S Subashini, Static Hand Gesture Recognition
for Sign Language Alphabets using Edge Oriented Histogram and Multi Class SVM, International Journal of Computer Applications,
vol82, 2013.
[5] C Huang and B Tsai, A Vision-Based Taiwanese Sign Language
Recognition, 20th International Conference onPattern Recognition
(ICPR), 2010.
[6] M Turk and A Pentland Eigenfaces for recognition, Journal of
Cognitive Neuroscience, vol.3, no.1, pp 71-86, 1991.