Tải bản đầy đủ (.doc) (15 trang)

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÁO CÁO ĐỒ ÁN ĐỀ TÀI: Xây dựng chương trình dịch ngơn ngữ

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 (1.04 MB, 15 trang )

ĐẠI HỌC ĐÀ NẴNG
KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG

BÁO CÁO ĐỒ ÁN

ĐỀ TÀI: Xây dựng chương trình dịch ngôn
ngữ cử chỉ

Sinh viên thực hiện
Giảng viên
Lớp

: NGUYỄN QUỐC SANG
: ThS. NGUYỄN VĂN BÌNH
: 17IT1

Đà nẵng, tháng 08 năm 2020


MỞ ĐẦU
Hầu hết chúng ta khó hình dung, nhưng nhiều người câm điếc dựa
vào ngơn ngữ kí hiệu làm phương tiện giao tiếp chính của họ. Về bản
chất, họ nghe và nói chuyện qua bàn tay của họ. Ngơn ngữ kí hiệu là
ngơn ngữ tự nhiên được nhiều người câm điếc trên khắp thế giới sử
dụng. Trong ngơn ngữ kí hiệu, bàn tay truyền tải hầu hết thơng tin. Do
đó, các hệ thống nhận dạng kí hiệu tự động có vai trị rất quan trọng để
những người câm điếc có thể hòa nhập với cuộc sống.

1



Mục lục
TỔNG QUAN.......................................................................................................3
1.1 Giới thiệu.....................................................................................................3
1.2 Đối tượng và phạm vi nghiên cứu................................................................4
1.3 Phương pháp nghiên cứu..............................................................................4
1.4 Ý nghĩa khoa học và thực tiễn của đề tài......................................................4
PHÂN TÍCH HỆ THỐNG....................................................................................6
2.1 nhận diện tay................................................................................................6
2.2 Anphabet......................................................................................................7
2.3 K-Nearest Neighbor (KNN).........................................................................9
THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ...................................................11
3.1 MÔI TRƯỜNG THỰC NGHIỆM.............................................................11
3.2 THỰC NGHIỆM TRÊN BÀI TOÁN NHẬN DẠNG CỬ CHỈ TAY.........11
KẾT LUẬN........................................................................................................14

2


Chương 1
TỔNG QUAN
1.1 Giới thiệu
Như nhiều người đã biết, ngôn ngữ ký hiệu là phương tiện duy nhất
mà hầu hết những người câm điếc được giáo dục ngày nay giao tiếp. Có các
ngơn ngữ ký hiệu khác nhau tùy theo quốc gia.
Công nghệ luôn là phương tiện truyền thông tốt nhất và nhanh nhất
trong những năm gần đây. Đã có rất nhiều công việc được thực hiện trong
lĩnh vực chuyển đổi văn bản thành ngôn ngữ ký hiệu. Khu vực ngơn ngữ ký
hiệu thành văn bản (hoặc âm thanh) ít phát triển hơn, mặc dù đã có một số
đột phá gần đây kết hợp găng tay dữ liệu để trích xuất vị trí.
Hơm nay, chúng ta sẽ nghiên cứu đối với những người bình thường

muốn giao tiếp với người câm điếc bằng ngơn ngữ ký hiệu bảng chữ cái.
Cần có phương pháp đơn giản, độ chính xác cao và dễ thực hiện với thiết bị
giá rẻ. Nhiều phương pháp tiếp cận đã được sử dụng để phân loại ảnh. Một
trong số đó là K-Nearest Neighbor(K-NN). K-NN là một phương pháp nổi
tiếng để phân loại hình ảnh, vì nó đơn giản và dễ thực hiện. Tuy nhiên, KNN độc lập không có khả năng phân loại hình ảnh chính xác. Việc xác định
giá trị trọng số trong KNN ảnh hưởng lớn đến giá trị độ chính xác trong
phân loại ảnh, đặc biệt là trong việc giới thiệu ngôn ngữ ký hiệu bảng chữ
cái.
Nhiều nhà nghiên cứu đang tập trung vào lĩnh vực nhận dạng cử chỉ
tay, chẳng hạn như trong đã xây dựng tính năng nhận dạng ngơn ngữ ký
hiệu bảng chữ cái (ASL) bằng cách sử dụng Mạng thần kinh lan truyền
ngược. 390 hình ảnh dữ liệu mẫu đã được sử dụng để huấn luyện Mạng và
208 hình ảnh mẫu đã được sử dụng làm bộ thử nghiệm. Sau khi chúng nhận
được 4000 kỷ ngun, Sai số trung bình vng (MSE) đi đến mức chấp
nhận được là 0,01, hơn 5 nơ-ron đầu vào được sử dụng để lấy đầu vào là 1
5 vector đặc trưng, 26 nơ-ron đầu ra để phân loại 26 dấu hiệu riêng lẻ.
Chúng có độ chính xác 80%. Việc nhận dạng sử dụng các tính năng
Centroid, Roundness và Scan line để nhận dạng và phân loại được đề xuất
bởi. Hình ảnh được thử nghiệm phải được chuyển đổi thành thang màu xám
và sau đó sử dụng thuật tốn của OTSU để thu được hình ảnh nhị phân.
Ranh giới của đối tượng mong muốn cho các chi tiết hình dạng dựa trên
cạnh của hình ảnh, sau đó sử dụng Thuật tốn truy tìm đường viền hàng
3


xóm Moore để trích xuất đối tượng địa lý. Kết quả là độ chính xác đạt
khoảng 81%. Một nghiên cứu khác đã sử dụng sự khác biệt của thuật toán
biến đổi tính năng bất biến Gaussian và quy mơ (SIFT) để nhận dạng. Các
điểm chính bắt nguồn từ hình ảnh được đặt trong một mảng. Hiệu suất đối
sánh dựa trên các thước đo tương tự không được thực hiện cho mọi điểm,

thay vào đó, việc giảm kích thước được thực hiện. Có 2 điều kiện kiểm tra:
Thứ nhất, trong vịng 26 bảng chữ cái và 10 bảng chữ cái lặp lại các mục
nhập với các mục và hướng khác nhau. Thứ hai, hình ảnh chụp trực tiếp để
kiểm tra lỗ hổng và hiệu suất. Kết quả cho thấy hệ thống có thể nhận dạng
hình ảnh ở các nền, ánh sáng, tỷ lệ và phương sai chiếu sáng khác nhau,
hướng khác nhau và kích thước bàn tay khác nhau.
1.2 Đối tượng và phạm vi nghiên cứu
 Đối tượng nghiên cứu
• Ngơn ngữ lập trình Javascipt
• Thư viện Tensorflow
• Giải thuật nhận dạng một đối tượng sử dụng KNN Image
Classifiers
• Các thuật tốn và kỹ thuật phát hiện kí hiệu dựa trên cử chỉ tay
 Phạm vi nghiên cứu
• Nghiên cứu về các phương pháp đã được đề xuất nhận diện cử chỉ
tay và chuyển thành ngơn ngữ
• Chương trình demo sử dụng ngôn ngữ Java, thư viện mã nguồn mở
Tensorflow trên nền tảng hệ điều hành Windows, Ubuntu, MacOS...
1.3 Phương pháp nghiên cứu
 Nghiên cứu lý thuyết
Đọc, phân tích, tổng hợp tài liệu từ những bài báo và những nghiên
cứu khoa học liên quan đã được công bố ở Việt Nam và trên thế giới.
 Nghiên cứu thực nghiệm
Nghiên cứu và xây dựng một chương trình mơ phỏng lập trình bằng
ngơn ngữ lập trình Javascript và thư viện Tensorflow
1.4 Ý nghĩa khoa học và thực tiễn của đề tài
 Mục đích
Nghiên cứu cách xây dựng một chương trình mơ phỏng ứng dụng cho
các hệ thống giải quyết vấn đề giao tiếp với người câm, điếc.
 Ý nghĩa khoa học và thực tiễn đề tài

4


• Về khoa học
Tìm hiểu những bài báo và những nghiên cứu khoa học liên quan đã
được công bố trên thế giới, đề xuất một giải pháp cho việc giải quyết các
vấn đề về giao tiếp với người câm điếc tại Việt Nam.
• Về thực tiễn
- Góp phần giúp những người khuyếm khuyết hòa nhập với xã hội.

5


Chương 2
PHÂN TÍCH HỆ THỐNG
Dưới đây sẽ tìm hiểu về một phương pháp nhận dạng dấu hiệu bảng
chữ cái kết hợp giữa phương pháp Kỹ thuật đánh giá đa thuộc tính đơn giản
(SMART) và K-Nearest Neighbor (KNN). Những phương pháp đó có cơng
thức đơn giản. K-NN có khả năng phân loại tốt hơn nếu được kết hợp
SMART, trọng số sẽ hỗ trợ nâng cao độ chính xác. Q trình ban đầu của
phương pháp đề xuất là chụp ảnh bàn tay từ máy ảnh, sau đó tiếp tục phát
hiện vùng tay bằng phân tích phát hiện da. Nó được sử dụng để phân biệt
bàn tay với nền. Có thể thu được phát hiện da bằng cách chuyển đổi hình
ảnh màu (RGB) sang HSV ((Hue, Saturation, Value) và màu YCbCr. Cân
SMART sử dụng hình ảnh nhị phân thu được từ quá trình phân đoạn. Sau
đó, chúng tơi chia đề xuất nhóm thành ba tiêu chí dựa trên hình dạng của
bàn tay (Nắm tay, Ngón tay thẳng và Ngón tay nghiêng), chúng được sử
dụng để xác định dữ liệu huấn luyện sẽ được sử dụng. Việc trích xuất tính
năng được thực hiện để lấy dữ liệu thống kê từ khoảng cách giữa hình ảnh
trung tâm và cạnh của bàn tay. Quá trình cuối cùng là phân loại hình ảnh sử

dụng K-Nearest Neighbor (KNN).
2.1 NHẬN DIỆN TAY
Bước này kết hợp hai không gian màu để cải thiện khả năng phát hiện màu
da. Đây là các mơ hình HSV và YCbCr . Mơ hình HSV (Hue, Saturation,
Value) được điều khiển từ không gian màu RGB thành phép biến đổi phi
tuyến. Hue có nghĩa là một dạng màu cụ thể, đó là xanh lục, đỏ hoặc vàng.
Màu sáng tương ứng với Giá trị. Phương trình dưới được biểu thị để chuyển
đổi từ RGB sang HSV :
� ��� = �[� ��� ]
Trong đó C [.] là tốn tử chuyển đổi để chuyển đổi không gian màu RGB
sang khơng gian màu HSV
Phương trình dưới được sử dụng để chuyển đổi không gian màu RGB thành
YCbCr :
� ����� = �[� ��� ]
Trong đó E [.] là tốn tử chuyển đổi để chuyển đổi không gian màu RGB
thành không gian màu YCbCr
Trong nghiên cứu này, màu da thu được từ quá trình xác định ngưỡng kết
hợp giữa màu HSV và YCbCr như trong phương trình:
6


Image
Capture

Skin
Detection

Sign Grouping
and Weighting
using SMART


Feature
Extraction

Image
Classification
using KNN

Đây là quá trình phát hiện bàn tay. Hình ảnh chụp khu vực bàn tay sử
dụng máy ảnh được minh họa trong Hình (a), Hình (b) cho thấy việc
phát hiện da dựa trên phương trình. Hình 3 (c) là hình ảnh nhị phân tạo
ra từ hình (b). Hình (b) là phân đoạn bàn tay bằng cách phát hiện màu
da. Sau đó, hình ảnh được phân đoạn được chuyển đổi thành ảnh nhị
phân.
Hình ảnh nhị phân có được bằng các bước sau: đầu tiên, chuyển đổi
hình ảnh được phân đoạn từ phát hiện da thành hình ảnh thang độ xám
sử dụng thuật toán độ sáng và sau đó sử dụng Thuật tốn Otsu để tạo
hình ảnh nhị phân. Hơn nữa, Hình (d) được cắt cơ sở hình ảnh nhị phân
trên tọa độ đầu cuối x và y (quá trình hộp giới hạn).
2.2 Anphabet
26 bảng chữ cái được nhóm thành ba tiêu chí (K1, K2 và K3) dựa
trên hình dạng của bàn tay như bàn tay nắm, ngón tay thẳng và ngón tay
nghiêng. Chúng tơi sử dụng Kỹ thuật đánh giá đa thuộc tính đơn giản
(SMART) để có được Trọng số (W) dựa trên bảng chữ cái nhóm của dữ liệu
huấn luyện. Các bước của Kỹ thuật xếp hạng đa thuộc tính đơn giản
(SMART) để có được khuyến nghị trọng số như sau: bước đầu tiên là lấy số
lượng tiêu chí. Trong bài báo này, chúng tơi chia các tiêu chí thành K1, K2
và K3 dựa trên hình dạng bàn tay. Tiêu chí một (K1) là hình dạng bàn tay
dựa trên cách nắm tay có bảy thành viên trong bảng chữ cái (“A, E, M, N,
O, S, T”). Tiêu chí hai dựa trên hình dạng ngón tay thẳng, có mười ba thành

7


viên bảng chữ cái (“B, C, D, F, I, K, L, R, U, V, W, X, Y”) và các bảng chữ
cái khác là tiêu chí thứ ba (K3) có sáu thành viên (“G, H, J, P, Q, Z”). Bước
thứ hai là lấy trọng số của từng tiêu chí được tính bằng cách lấy số tiêu chí
chia cho tổng số bảng chữ cái (26) như trong bảng dưới đây.

(K)

Hand Shape Alphabet
Base

K1

Holding
Hand

K2

Straight
Finger

K3

Leaning
Finger

A,E,M,N,
O,S,T

B,C,D,F,I,
K,L
R,U,V,W,
X,Y
G,H,J,P,Q
,Z

Amount
Criteria
Member
(N)
7

Weight
(W)
7
26

13

Normaliz
ation
(R)
0,27
0,50

26
6

6

26

0,23

Các bước cuối cùng là lấy giá trị tiện ích và giá trị cuối cùng. Giá trị hữu
ích nhận được bởi phương trình chỉ có hai giá trị (0 và 100). Giá trị tiện ích
cho tiêu chí một (K1) có giá trị 100, nếu số lớn hơn 90 và lớn hơn 200,
trong khi giá trị khác bằng 0. Số lượng và được đếm từ hình ảnh nhị phân.
Các giá trị tiêu chí khác được biểu thị trong phương trình (5). Giá trị tiện
ích cho tiêu chí hai (K2) có giá trị 100, nếu số lượng lớn hơn 90 và nhỏ hơn
200, trong khi giá trị khác bằng 0. Cuối cùng là giá trị tiện ích cho tiêu chí
ba (K3) được minh họa trong phương trình (6). Nó có giá trị 100, nếu số
nhỏ hơn 90, trong khi giá trị khác bằng 0. Bảng 1 cho thấy ba tiêu chí cho
26 bảng chữ cái dựa trên hình dạng bàn tay.
Chúng ta sử dụng khoảng cách giữa tâm và cạnh của tọa độ từ hình ảnh nhị
phân bàn tay để đào tạo dữ liệu. Phương trình được sử dụng để tính khoảng
cách (d) giữa tọa độ tâm điểm (x, y) và mọi cạnh của tọa độ bàn tay (� và �
là tọa độ của cạnh tay). Tọa độ trung tâm (x, y) thu được bằng cách chia
chiều cao và chiều rộng của hình ảnh nhị phân đã cắt cho hai.

Ta sử dụng khoảng cách giữa tâm và cạnh của tọa độ từ hình ảnh nhị phân
bàn tay để đào tạo dữ liệu. Phương trình trên được sử dụng để tính khoảng
cách (d) giữa tọa độ tâm điểm (x, y) và mọi cạnh của tọa độ bàn tay (� và �
là tọa độ của cạnh tay). Tọa độ trung tâm (x, y) thu được bằng cách chia
chiều cao và chiều rộng của hình ảnh nhị phân đã cắt cho hai.

8


2.3 K-Nearest Neighbor (KNN)

K-Nearest Neighbors (k-NN) là một thuật toán học máy được giám
sát, tức là nó học từ một tập hợp đào tạo được gắn nhãn bằng cách lấy dữ
liệu đào tạo X cùng với các nhãn của nó là y và học cách ánh xạ đầu vào X
với đầu ra mong muốn của nó.
Thuật tốn k-NN được cho là đơn giản nhất trong các thuật tốn học
máy. Mơ hình chỉ bao gồm dữ liệu huấn luyện, tức là, mơ hình chỉ đơn giản
là học tồn bộ tập huấn luyện và để dự đoán đưa ra kết quả là lớp có phần
lớn trong hàng xóm gần nhất là ‘k’ được tính theo một số thước đo khoảng
cách.

Q trình hoạt động chi tiết như sau:
Sau khi mơ hình đã lưu trữ tập huấn luyện để dự đốn, nó sẽ lấy một
hình ảnh thử nghiệm để dự đốn, tính tốn khoảng cách đến mọi hình ảnh
trong tập huấn luyện và thu được các hình ảnh huấn luyện ‘k’ gần nhất với
hình ảnh thử nghiệm. Sau đó, nó xuất ra lớp theo một số thủ tục biểu quyết
từ nhãn của các hàng xóm ‘k’ này, thường là đa số phiếu.
Số liệu khoảng cách được sử dụng để tính tốn khoảng cách có thể
khác nhau, chẳng hạn như hàm khoảng cách L1 là tổng của sự khác biệt
giữa các pixel của hình ảnh.

9


Một số liệu khoảng cách thay thế có thể là khoảng cách L2 hoặc
thường được gọi là khoảng cách Euclide :

Nói cách khác, chúng ta sẽ tính tốn sự khác biệt khôn ngoan theo
pixel như trước đây, nhưng lần này chúng tơi bình phương tất cả chúng,
cộng chúng lại và cuối cùng lấy căn bậc hai.
Có một điều thú vị là do sự khác biệt bình phương trong khoảng cách

L2, nó sẽ nghiêm ngặt hơn nhiều khi sự khác biệt về pixel quá lớn.
Bây giờ, chúng ta chuyển sang những cân nhắc thực tế: Siêu tham số
trong k-NN và cách chúng ảnh hưởng đến hiệu suất.
Vì k-NN là một thuật tốn rất đơn giản nên khơng thực sự có nhiều
siêu tham số để điều chỉnh, chỉ có hai: chỉ số khoảng cách và giá trị của ‘k’.
Vì vậy, những gì chúng ta có thể làm là, chạy mơ hình của chúng ta cho các
giá trị khác nhau của ‘k’ và có được mơ hình với độ chính xác xác thực tốt
nhất, mơ hình này sẽ được sử dụng làm mơ hình cuối cùng của chúng ta
trên tập thử nghiệm.

10


Chương 3
THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
Quá trình thực nghiệm được chia làm hai giai đoạn. Giai đoạn thứ nhất xây
dựng mơ hình nhận dạng với dữ liệu video đầu vào trong các điều kiện khác
nhau. Ở giai đoạn này, một số giá trị tham số đầu vào và điều kiện ánh sáng
xung quanh được thay đổi bằng thực nghiệm để tìm ra giá trị phù hợp cho
kết quả (độ chính xác) cao nhất ứng với mỗi phương pháp. Kết quả thu
được ở giai đoạn thực nghiệm này là độ chính xác của chương trình tương
ứng với các dữ liệu video đầu vào khác nhau.
3.1 MÔI TRƯỜNG THỰC NGHIỆM
3.1.1 Mơi trường triển khai
Q trình thực nghiệm được thực hiện trên một máy tính xách tay sử
dụng hệ điều hành MacOS version 10.11.6 có cấu hình tương đương một
máy tính phổ thông hiện nay và sử dụng camera trực tiếp trên máy để thu
video đầu vào.
Ngôn ngữ sử dụng trong chương trình thực nghiệm là ngơn ngữ lập
trình Javascript. Bên cạnh đó, chương trình thực nghiệm có sử dụng thư

viện mã nguồn mở Tensorflow.
3.2 THỰC NGHIỆM TRÊN BÀI TOÁN NHẬN DẠNG CỬ CHỈ TAY
Tiến hành thực nghiệm trên video input. Hai quá trình thực hiện quan
trọng sau khi xử lý video đầu vào đó là nhận dạng tay. Kết quả nhận dạng
như sau:
Đầu tiên, tạo và train cử chỉ bắt đầu và kết thúc

11


Sau đó, tạo các từ ngữ và train cử chỉ cho các từ ngữ đó

Tiến hành thử nghiệm việc dịch ngôn ngữ cử chỉ:

12


Kết quả: Chương trình nhận dạng thành cơng trong điều kiện đủ ánh sáng
hoặc không đủ ánh sáng.

13


KẾT LUẬN
Đề tài đã phát triển một hệ thống đơn giản gồm 4 phần, cụ thể là (a)
Xử lý video đầu vào, (b) Nhận diện tay (c) Ghi lại cử chỉ (d) So sánh với cử
chỉ mẫu và đưa ra kết quả. Mỗi thành phần này có thể được thực hiện bằng
các thuật toán cụ thể khác nhau dựa trên các yêu cầu.
HƯỚNG PHÁT TRIỂN
Sau đây là một số các cải tiến có thể được thực hiện trong tương lai của

hệ thống này:
• Ứng dụng trên điện thoại thơng minh.
• Tích hợp vào video call.

14



×