CỘNG HÒA XÃ HỘI CHỦ NGĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Họ và tên sinh viên: Trương Nghệ Nhân Lê Nguyễn Thiên Sang Ngành: Công nghệ kỹ thuật
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG
THIẾT KẾ VÀ CHẾ TẠO CÁNH TAY ROBOT TƯƠNG TÁC QUA MÀN HÌNH ĐỂ HỖ TRỢ TRONG GIẢNG DẠY HỌC NGÔN NGỮ KÍ HIỆU CHO TRẺ EM CÂM ĐIẾC
GVHD: NGUYỄN THANH HẢI SVTH: TRƯƠNG NGHỆ NHÂN
LÊ NGUYỄN THIÊN SANG
SKL009271
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
ĐỒ ÁN TỐT NGHIỆP
THIẾT KẾ VÀ CHẾ TẠO CÁNH TAY ROBOT TƯƠNG TÁC QUA MÀN HÌNH ĐỂ HỖ TRỢ TRONG GIẢNG DẠY HỌC NGÔN NGỮ KÍ HIỆU CHO TRẺ
EM CÂM ĐIẾC
GVHD : PGS TS Nguyễn Thanh Hải SVTH : Trương Nghệ Nhân
MSSV : 18161125 SVTH : Lê Nguyễn Thiên Sang MSSV : 18161139
Khóa : K18 Ngành : CNKT Điện tử - Viễn thông
Tp Hồ Chí Minh, tháng 07 năm 2022
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
ĐỒ ÁN TỐT NGHIỆP
THIẾT KẾ VÀ CHẾ TẠO CÁNH TAY ROBOT TƯƠNG TÁC QUA MÀN HÌNH ĐỂ HỖ TRỢ TRONG GIẢNG DẠY HỌC NGÔN NGỮ KÍ HIỆU CHO TRẺ
EM CÂM ĐIẾC
GVHD : PGS TS Nguyễn Thanh Hải SVTH : Trương Nghệ Nhân
MSSV : 18161125 SVTH : Lê nguyễn Thiên Sang MSSV : 18161139
Khóa : K18 Ngành : CNKT Điện tử - Viễn thông
Tp Hồ Chí Minh, tháng 07 năm 2022
Trang 4CỘNG HÒA XÃ HỘI CHỦ NGĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
TP Hồ Chí Minh, ngày tháng năm 2022
Ngành: Công nghệ kỹ thuật Điện tử - Viễn thông
Giáo viên hướng dẫn: PGS TS Nguyễn Thanh Hải
trong giảng dạy học ngôn ngữ ký hiệu cho trẻ em câm điếc
ngã, nặng) của ngôn ngữ kí hiệu Việt Nam
cách tay robot”, Đồ án Điện tử 2, trường ĐH SPKT, TP.HCM, 2021-2022, HK1.
và mạch điện
Learning
hiệu Ứng dụng Deep Learning để đánh giá quá trình học ngôn ngữ Tương tácqua màn hình cảm ứng
i
Trang 5CỘNG HÒA XÃ HỘI CHỦ NGĨA VIỆT NAM Độc lập – Tự do –
Hạnh phúc
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Họ và tên sinh viên: Trương Nghệ Nhân
Lê Nguyễn Thiên Sang Ngành: Công nghệ kỹ thuật Điện tử - Viễn thông
Tên đề tài: Thiết kế và chế tạo cánh tay robot tương tác qua màn hình để hỗ trợ trong giảng dạy học ngôn ngữ ký hiệu cho trẻ em câm điếc
Họ và tên Giáo viên hướng dẫn: PGS TS Nguyễn Thanh Hải
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
2. Ưu điểm:
3. Khuyết điểm
4. Đề nghị cho bảo vệ hay không?
5. Đánh giá loại:
6 Điểm: (Bằng chữ: )
Tp Hồ Chí Minh, ngày tháng năm 2022
Giáo viên hướng dẫn
PGS TS Nguyễn Thanh Hải
Trang 6ii
Trang 7CỘNG HÒA XÃ HỘI CHỦ NGĨA VIỆT NAM Độc lập – Tự do –
Hạnh phúc
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Họ và tên sinh viên: Trương Nghệ Nhân
Lê Nguyễn Thiên Sang Ngành: Công nghệ kỹ thuật Điện tử - Viễn thông
Tên đề tài: Thiết kế và chế tạo cánh tay robot tương tác qua màn hình để hỗ trợ trong giảng dạy học ngôn ngữ ký hiệu cho trẻ em câm điếc
Họ và tên Giáo viên phản biện:
NHẬN XÉT 1. Về nội dung đề tài & khối lượng thực hiện:
2. Ưu điểm:
3. Nhược điểm
4. Đề nghị cho bảo vệ hay không?
5. Đánh giá loại:
Điểm: (Bằng chữ: )
Tp Hồ Chí Minh, ngày tháng năm 2022
Giáo viên phản bi ện
Trang 8iii
Trang 9LỜI CẢM ƠN
Lời đầu tiên, chúng em xin bày tỏ lòng biết ơn chân thành và sâu sắc đến ThầyNguyễn Thanh Hải – giáo viên phụ trách hướng dẫn cho chúng em đề tài luận vănnày Thầy đã tận tình góp ý các vấn đề chuyên môn, giải đáp những khúc mắc mànhóm gặp phải khi thực hiện đề tài Ngoài ra, thầy còn nhiệt tình trao đổi, chia sẻnhững kinh nghiệm hữu ích để nhóm có thể hoàn thiện và bảo vệ thật tốt đề tài luậnvăn tốt nghiệp lần này Xin cảm ơn thầy!
Để có thể hoàn thành khóa luận này thì việc tích lũy kiến thức trong 4 năm đạihọc là cực kì quan trọng, vì vậy chúng em xin chân thành cảm ơn toàn thể các quýThầy Cô trong Khoa Đào tạo Chất lượng cao đã cung cấp những kiến thức bổ íchkhông chỉ cho việc thực hiện đề tài này mà còn sử dụng sau này trong công việc saukhi tốt nghiệp
Ngoài ra, chúng em cũng xin gửi lời cảm ơn đến Phòng thí nghiệm Hệ thốngThông minh (ISLab) của Khoa Điện-Điện tử đã hỗ trợ về cơ sở vật chất và tạo điềukiện cho chúng em thực hiện luận văn
Cuối cùng, nhóm cũng xin cảm ơn gia đình, người thân và bạn bè đã luônđộng viên, hỗ trợ về mặt vật chất lẫn tinh thần đề nhóm có thể thực hiện đồ án tốtnghiệp trong điều kiện tốt nhất trong suốt quá trình thực hiện
đúng hạn các mục tiêu ban đầu đề ra Tuy nhiên, vì lý do kiến thức và thời gian cònhạn chế nên sẽ không thể tránh khỏi những sai sót, kính mong các quý Thầy/Côcùng các bạn thông cảm và góp ý để giúp nhóm rút kinh nghiệm để phát triển và cảitiến đề tài luận văn này trong tương lai
Một lần nữa, nhóm xin chân thành cảm ơn!
Người thực hiện đề tài
Trương Nghệ Nhân Lê Nguyễn Thiên Sang
Trang 10LỜI CAM ĐOAN
Đề tài đồ án tốt nghiệp này là công trình nghiên cứu do chúng em thực hiệndưới sự hướng dẫn của thầy PSG TS Nguyễn Thanh Hải Nhóm cam kết không saochép từ một công trình hay bất cứ tài liệu nào đã công bố trước đó!
Người thực hiện đề tài
v
Trang 11TÓM TẮT
Hiện nay, theo ước tính, Việt Nam ta có khoảng 15,500 trẻ em dưới 6 tuổi bị điếc
và khiếm thính Hầu hết các em này đều không được tiếp cận với giáo dục mầm non vìngôn ngữ chính là rào cản lớn nhất của các em Trong những năm gần đây, nhờ vào sựphát triển vượt bậc của khoa học và công nghệ, con người luôn cố gắng tạo ra các thiết
bị để có thể hỗ trợ các đối tượng này hòa nhập với cộng đồng xung quanh Các nỗ lực
đã được thực hiện từ trước đến nay chỉ mới giải quyết được vấn đề cấp bách của họ, đó
là các thiết bị phiên dịch ngôn ngữ kí hiệu thành ngôn ngữ nói hằng ngày của chúng ta.Tuy nhiên, vấn đề bền vững hơn đó là việc giảng dạy ngôn ngữ kí hiệu cho các em vẫnchưa thực sự được chú trọng Chính vì vậy, trong luận án này, một hệ thống thay thếgiáo viên trong việc dạy ngôn ngữ kí hiệu cho trẻ em điếc và khiếm thính dựa trên cánhtay robot và mạng học sâu đã được đề xuất
Những đóng góp trong đề tài này được chia thành 3 phần Thứ nhất, mô hìnhphần cứng với nguyên mẫu là cánh tay robot có thể thao tác linh hoạt được những
cử chỉ của bảng chữ cái và chữ số của ngôn ngữ kí hiệu Việt Nam Trong phần nàychúng em đã sử dụng vi điều khiển Arduino Nano, module điều khiển xung PWMAdafruit PCA 9685, module điều khiển động cơ bước A4988, các cơ cấu chấp hànhbao gồm servo DC và động cơ bước có hộp số Thứ hai, mô hình thuật toán giúpnhận diện các ngôn ngữ kí hiệu dựa trên thị giác máy tính và mạng nơ-ron học sâu
Có 2 mô hình nhận diện được tích hợp tuần tự bên trong, đó là mô hình phát hiệnvật thể và mô hình nhận dạng hành động Với mô hình phát hiện vật thể, việc sửdụng mô hình mạng YoloV5 kết hợp với tập dữ liệu tự thu thập đã đạt được kết quảnhận diện có độ chính xác trung bình mAP@0.5 là 99,73% và mAP@[.5:.95] là83% Đối với mô hình còn lại, thư viện Mediapipe đã được sử dụng để trích xuất racác tọa độ trên không gian 3 chiều của khung xương bàn tay từ hình ảnh đã màcamera thu được Các tọa độ đó đã được đưa vào mô hình mạng Gated RecurrentUnits cho việc huấn luyện các tham số Độ chính xác của mô hình nhận diện hànhđộng lên đến 97% Cả hai mô hình mạng này đều có khả năng thực thi dựa trên thờigian thực Phần đóng góp cuối cùng đó là một giao diện trực quan tương tác vớingười học được hiển thị thông qua màn hình cảm ứng
Trang 12MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ii
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN iii
LỜI CẢM ƠN iv
LỜI CAM ĐOAN v
TÓM TẮT vi
MỤC LỤC vii
DANH MỤC TỪ VIẾT TẮT x
MỤC LỤC BẢNG xi
MỤC LỤC HÌNH ẢNH xii
Chương 1 TỔNG QUAN 1
1.1 Giới thiệu 1
1.2 Mục tiêu đề tài 2
1.3 Đối tượng và phạm vi nghiên cứu 2
1.4 Nội dung nghiên cứu 3
1.5 Bố cục 3
Chương 2 CƠ SỞ LÝ THUYẾT 5
2.1 Các nghiên cứu đã thực hiện 5
2.1.1 Cánh tay robot Aslan 5
2.1.2 Nhận diện ngôn ngữ kí hiệu dựa trên YoloV5 5
2.1.3 Nhận diện ngôn ngữ kí hiệu sử dụng MediaPipe và Long Short-Term Memory 5
2.2 Ngôn ngữ kí hiệu Việt Nam 6
2.3 Học sâu (Deep Learning) 7
2.4 Phát hiện vật thể (Object Detection) 8
2.4.1 Giới thiệu 8
2.4.2 Mạng xương sống CSPDarknet 8
vii
Trang 132.4.3 You Only Look Once (YOLO) 10
2.5 Nhận dạng hành động (Action Recognition) 12
2.5.1 Giới thiệu 12
2.5.2 Recurrent Neural Network (RNNs) 13
2.5.3 Gated Recurrent Units (GRUs) 14
2.5.4 Thư viện MediaPipe Hand 15
2.6 Các phương pháp đánh giá 15
2.7 Giới thiệu phần cứng 18
2.7.1 Arduino Nano 18
2.7.2 Động cơ Servo 18
2.7.3 Động cơ bước Nema 17 tỉ số 3969/289 19
2.7.4 Module Adafruit PWM/Servo driver PCA9685 19
2.7.5 Module driver A4988 20
2.7.6 Màn hình cảm ứng điện dung Waveshare LCD (C) 20
2.7.7 Webcam Logitech C310 20
Chương 3 THIẾT KẾ HỆ THỐNG 21
3.1 Thiết kế phần cứng 21
3.1.1 Thiết kế phần cứng cơ khí 21
3.1.2 Thiết kế mạch điều khiển 27
3.2 Phần mềm và thuật toán 39
3.2.1 Kiến trúc mạng mô hình nhận diện cử chỉ tĩnh YoloV5 39
3.2.2 Kiến trúc mạng của mô hình nhận diện cử chỉ động 40
3.2.3 Thiết kế giao diện 42
3.2.4 Các Framework xây dựng mô hình mạng 48
Chương 4 THI CÔNG VÀ THỰC NGHIỆM 51
4.1 Thi công phần cứng 51
4.1.1 Lắp ráp cánh tay giả 51
4.1.2 Thi công board mạch 52
Trang 144.2 Các thực nghiệm cho nhận diện cử chỉ tĩnh 56
4.2.1 Thu thập và tăng cường dữ liệu 56
4.2.2 Huấn luyện mô hình YoloV5 58
4.3 Các thực nghiệm cho nhận diện cử chỉ động 58
4.3.1 Huấn luyện mô hình GRUs 59
4.3.2 Thu thập dữ liệu 59
4.4 Xây dựng giao diện tương tác 61
Chương 5 KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ 65
5.1 Kết quả 65
5.1.1 Mô hình phần cứng của hệ thống 65
5.1.2 Mô hình phát hiện cử chỉ tĩnh 67
5.1.3 Mô hình nhận diện cử chỉ động 69
5.1.4 Giao diện tương tác với người học 71
5.2 Nhận xét và đánh giá 75
5.3 Tài liệu hướng dẫn sử dụng 78
5.4 Dự toán chi phí thi công 79
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 81
6.1 Kết luận 81
6.2 Hướng phát triển 81
TÀI LIỆU THAM KHẢO 82
PHỤ LỤC 85
ix
Trang 16MỤC LỤC BẢNG
Bảng 2.1 Phân tích hiệu suất của mô hình YoloV3, YoloV5s và SSD–MobileV2 [16]
12
Bảng 3.1 Bảng thống kê thông số các linh kiện đã sử dụng trong mô hình 30
Bảng 3.2 Bảng trạng thái độ phân giải vi bước 34
Bảng 3.3 Bảng liệt kê các thông số của mô hình mạng nhận diện cử chỉ tĩnh 40
Bảng 3.4 Bảng liệt kê các thông số của mô hình mạng nhận diện cử chỉ động 41
Bảng 3.5 Bảng quy ước mã hóa các dấu thanh trong bảng chữ cái Việt Nam 45
Bảng 4.1 Bảng thống kê các linh kiện đã sử dụng trong board mạch điều khiển 53
Bảng 4.2 Bảng thống kê góc Servo của các ký tự thủ ngữ 55
Bảng 4.3 Ánh xạ nhãn của các cử chỉ động trong ngôn ngữ kí hiệu 59
Bảng 5.1 Các thông số kết quả của quá trình huấn luyện mô hình YoloV5 68
Bảng 5.2 Bảng so sánh hiệu suất phân loại của ba mô hình nhận diện hành động phổ biến hiện nay 71
Bảng 5.3 Bảng mô tả kết quả khi dùng chức năng “Phiên dịch” 74
Bảng 5.4 Kết quả thu được sau khi thực hiện 20 lần liên tục các ký tự thủ ngữ 76
Bảng 5.5 Bảng so sánh một số ký tự thủ ngữ mô hình thực hiện so với thực tế 76
Bảng 5.6 Bảng kết quả thực nghiệm thu âm ở các khoảng cách khác nhau 77
Bảng 5.7 Bảng dự toán chi phí thi công mô hình cánh tay robot 79
xi
Trang 17MỤC LỤC HÌNH ẢNH
Hình 2.1 Mô hình cánh tay robot Aslan. 5
Hình 2.2 Bảng ký hiệu thủ ngữ cơ bản trong Tiếng Việt 6
Hình 2.3 Mạng nơ-ron với nhiều lớp Convolution [14] 7
Hình 2.4 Cấu trúc mạng xương sống CSPNet 9
Hình 2.5 Kiến trúc mạng xương sống CSPDarknet53 10
Hình 2.6 Phương thức hoạt động của mô hình Yolo [15] 10
Hình 2.7 Kiến trúc mạng YoloV5 11
Hình 2.8 Kiến trúc mạng điển hình của RNNs 13
Hình 2.9 Cấu trúc tính toán bên trong GRU 14
Hình 2.10 Sự dự đoán 21 điểm mốc trên xương bàn tay con người [19] 15
Hình 2.11 Ma trận nhầm lẫn 17
Hình 2.12 IoU giữa hộp giới hạn thực tế và dự đoán 17
Hình 3.1 Mô phỏng cấu tạo tổng quan của mô hình phần cứng cơ khí 21
Hình 3.2 Vị trí các sợi dây cơ ngón tay của bàn tay robot 22
Hình 3.3 Mô phỏng cấu trúc bên trong bàn tay Robot 22
Hình 3.4 Chữ “U” và “V” trong ngôn ngữ ký hiệu Việt Nam 23
Hình 3.5 Mô phỏng sự phân bố lực trên ngón tay 23
Hình 3.6 Mô phỏng phần cổ tay của cánh tay robot 25
Hình 3.7 Mô phỏng phần cánh tay robot 26
Hình 3.8 Dây cơ được cố định ở đĩa Puli trên Servo 26
Hình 3.9 Cấu trúc đĩa Puli 26
Hình 3.10 Mô phỏng cấu trúc phần hộp cố định cánh tay robot 27
Hình 3.11 Sơ đồ khối của mô hình phần cứng hệ thống dạy học ngôn ngữ ký hiệu 27 Hình 3.12 Sơ đồ kết nối Module PCA9685 với Servo DC 29
Hình 3.13 Sờ đồ kết nối Driver A4988 với động cơ bước 30
Hình 3.14 Mô tả về Duty cycle của Servo 32
Trang 18Hình 3.15 Mô tả chu kỳ công tác của xung PWM 33
Hình 3.16 Hình ảnh mô tả vị trí biến trở và điện trở của Driver A4988 34
Hình 3.17 Sơ đồ mô tả hệ thống điều khiển toàn mạch 35
Hình 3.18 Sơ đồ nguyên lý toàn hệ thống 36
Hình 3.19 Lưu đồ giải thuật chương trình chính điều khiển cánh tay robot 37
Hình 3.20 Lưu đồ giải thuật chương trình con “So sánh dữ liệu” 37
Hình 3.21 Lưu đồ giải thuật chương trình con “Điều khiển động cơ bước” 38
Hình 3.22 Lưu đồ giải thuật chương trình con “Điều khiển Servo” 39
Hình 3.23 Các kính cỡ khác nhau của mô hình YoloV5 39
Hình 3.24 Kiến trúc mạng mô hình nhận diện cử chỉ động 41
Hình 3.25 Mạng nơ-ron tiêu chuẩn 42
Hình 3.26 Mạng nơ-ron sau khi Dropout 42
Hình 3.27 Lưu đồ thuật toán tổng quát của giao diện hệ thống dạy học ngôn ngữ ký hiệu 44
Hình 3.28 Lưu đồ thuật toán chế độ “Học chữ” trong hệ thống dạy học ngôn ngữ ký hiệu 45
Hình 3.29 Lưu đồ thuật toán chế độ “Phiên dịch” trong hệ thống dạy học ngôn ngữ ký hiệu 46
Hình 3.30 Lưu đồ thuật toán chế độ “Kiểm tra” trong hệ thống dạy học ngôn ngữ ký hiệu 47
Hình 3.31 Hệ thống phân cấp các API trong Tensorflow 48
Hình 3.32 Trình tự xây dựng mô hình tuần tự Keras 49
Hình 4.1 Lắp ráp phần bàn tay của cánh tay Robot: (a) Hình ảnh cấu trúc bên trong bàn tay Robot, (b) Hình ảnh mặt trước ủa bàn tay Robot 51
Hình 4.2 Lắp ráp phần cổ tay của cánh tay Robot 51
Hình 4.3 Lắp ráp phần cánh tay của cánh tay robot 52
Hình 4.4 Lắp ráp phần hộp cố định cánh tay Robot: (a) Hình dáng bên ngoài chiếc hộp, (b) Cấu trúc bên trong chiếc hộp 52
Hình 4.5 Mạch PCB của board mạch điều khiển mô hình cánh tay Robot 53
Hình 4.6 Mặt trên của board mạch điều khiển mô hình cánh tay Robot 54
xiii
Trang 19Hình 4.7 Mặt dưới của board mạch điều khiển mô hình cánh tay Robot 54
Hình 4.8 Tập dữ liệu đã thu thập: (a), (b), (c), (d), (e) là các hình ảnh đại diện cho 5 cử chỉ tĩnh của ngôn ngữ kí hiệu, (f) là các hình ảnh của 5 cử chỉ được thu thập với nhiều góc độ khác nhau 56
Hình 4.9 Gán nhãn dữ liệu trên thư viện labelImg 57
Hình 4.10 Các ví dụ về tăng cường dữ liệu 58
4.11 Các cử chỉ liên tục trong ngôn ngữ kí hiệu Việt Nam 59
Hình 4.12 Ví dụ về các khung hình trong một mẫu dữ liệu được thu 60
Hình 4.13 Mảng Numpy chứa các giá trị keypoint phục vụ cho quá trình huấn luyện mô hình GRUs 60
Hình 4.14 Phương pháp phân chia dữ liệu để đánh giá mô hình và lựa chọn siêu tham số 61
Hình 4.15 Quá trình thiết kế giao diện người học 61
Hình 4.16 Xây dựng bản phác thảo đồ họa 62
Hình 4.17 Thiết kế trên phần mềm Qtdesginer 62
Hình 4.18 Lập trình chức năng cho các đối tượng 63
Hình 5.1 Mô hình hệ thống cánh tay robot hoàn chỉnh 65
Hình 5.2 Cấu trúc bên trong phần hộp cố định cánh tay robot 65
Hình 5.3 Các ký tự thủ ngữ mô hình cánh tay robot đã thực hiện được: (a) Các ký tự chữ cái tĩnh, (b) Các ký tự liên tục, (c) Các ký tự chữ số 67
Hình 5.4.Các đồ thị biểu diễn hiệu suất của quá trình huấn luyện mô hình YoloV5 67 Hình 5.5 Đánh giá hiệu suất của quá trình huấn luyện mô hình phát hiện cử chỉ tĩnh thông qua ma trận nhầm lẫn. 68
Hình 5.6 Kết quả phát hiện cử chỉ tĩnh trong thời gian thực dựa trên mạng YoloV5 69 Hình 5.7 Đồ thị kết quả hàm mất mát và độ chính xác trong quá trình huấn luyện mô hình GRUs. 69
Hình 5.8 Kết quả nhận diện cử chỉ động trong thời gian thực dựa trên MediaPipe Hand và mô hình GRUs 70
Trang 20Hình 5.9 Đánh giá hiệu suất của mô hình nhận diện cử chỉ động dựa trên ma trận
Hình 5.10 Trang màn hình bắt đầu của giao diện hệ thống học ngôn ngữ kí hiệu Việt
Nam 72Hình 5.11 Trang màn hình “Chọn chế độ” của giao diện hệ thống học ngôn ngữ kí
Hình 5.12 Trang màn hình chế độ “Học chữ” của giao diện hệ thống học ngôn ngữ
Hình 5.13 Trang màn hình chế độ “Kiểm tra” của giao diện hệ thống học ngôn ngữ
Hình 5.14 Màn hình giao diện chế độ “Phiên dịch” của giao diện hệ thống học ngônngữ kí hiệu Việt Nam: (a) Màn hình phụ hiện thông báo đang thực hiện ghi âm, (b)
xv
Trang 21Chương 1 TỔNG QUAN
1.1 Giới thiệuTheo WHO, hiện nay trên thế giới có khoảng 34 triệu trẻ em điếc và khiếm thính
liệu được thống kê gần đây nhất vào năm 2014 [2] Bởi vì sinh ra đã mang khiếmkhuyết về cơ quan thính giác thế nên các em nhỏ này hầu như mất đi tri giác về thếgiới âm thanh, dẫn đến không nghe được tiếng nói và không hình thành nên ngônngữ Chính vì điều đó đã làm cản trở sự phát triển bản thân như các bạn bè đồngtrang lứa Về lâu dài các em nhỏ này sẽ cảm thấy tự ti và dễ dẫn đến bệnh trầm cảmnếu như không được sự quan tâm sâu sắc
Ngôn ngữ kí hiệu là ngôn ngữ sử dụng cử chỉ tay và điệu bộ để thay thế cho
âm thanh giọng nói Sự ra đời của ngôn ngữ kí hiệu đã gỡ bỏ được phần nào về ràocản giao tiếp của những người câm, điếc và cũng nhờ đó mới có thể tiếp cận đượcvới các nguồn tri thức của nhân loại Bởi vì bản chất là một ngôn ngữ tượng hình,thế nên rất khó học và cần có sự chỉ dẫn và kèm cặp của giáo viên trong một thờigian dài Tuy nhiên số lượng giáo viên có khả năng dạy ngôn ngữ này vẫn còn rấthạn chế, chủ yếu tập trung ở các thành phố lớn Chính vì vậy, việc tạo ra một sảnphẩm có khả năng thay thế giáo viên trong việc giảng dạy ngôn ngữ kí hiệu nênđược xem là một vấn đề cấp thiết
Trong những năm gần đây, trẻ em và người khuyết tật là các đối tượng được
xã hội quan tâm sắc Minh chứng cho điều này được thể hiện qua đề tài [3], NguyễnTrọng Thành và Trần Thiện Thanh đã phát triển một cánh tay giả hỗ trợ ngườikhuyết tật trong việc cầm nắm đồ vật thông qua sự kết hợp của Arduino Nano, cácservo và cảm biến cơ bắp EMG Trong khi đó, đề tài [4], Đặng Thị Ngọc và NguyễnHương Ngân đã ứng dụng mạng học sâu Yolo để thiết kế một mô hình có khả năngnhận diện 30 đối tượng khác nhau từ đó làm cơ sở cho trẻ em học Tiếng Anh thêmlinh hoạt hơn
Bên cạnh đó, thời đại công nghệ 4.0 bùng nổ dẫn đến sự xuất hiện một số ứngdụng tự học ngôn ngữ kí hiệu trên các thiết bị thông minh [5] Các ứng dụng này đãcung cấp rất nhiều tài liệu số dưới dạng video hay ảnh động để người học có thể nhìnvào để bắt bước theo các cử chỉ được minh họa trong ứng dụng Tuy nhiên, các tổ chứcnghiên cứu về sự phát triển của trẻ em chẳng hạn như WHO [6] cũng đã khuyến cáo làkhông nên để trẻ em tiếp cận quá sớm đến các thiết bị thông minh vì điều đó đem lạinhiều rủi ro làm ảnh hưởng đến sức khỏe cũng như nhận thức của các em nhỏ sau này.Chính vì thế mặc dù các ứng dụng trên ra đời đã mang lại sự thuận tiện nhất
Trang 22định cho việc học ngôn ngữ kí hiệu, nhưng để hướng tới đối tượng là trẻ em thìchưa hoàn toàn phù hợp.
Để người điếc và khiếm thính với người bình thường giao tiếp qua lại với nhau,các nhà nghiên cứu cũng đã thiết kế và triển khai một số các hệ thống nhận diện ngônngữ kí hiệu có khả phiên dịch ngôn ngữ kí hiệu thành văn bản, lời nói và ngược lại Cóhai danh mục chính trong nhận dạng ngôn ngữ kí hiệu, đó là nhận diện dựa trên dữ liệuthu được từ các cảm biến và nhận diện dựa trên thị giác máy tính (computer vision).Trong bài báo [7], một chiếc găng tay thông minh có khả năng nhận diện cử chỉ tay nhờvào việc tích hợp giữa các cảm biến và vi điều khiển Kết quả của nghiên cứu này đãđem lại là độ chính xác cao nhưng nhược điểm đó là hệ thống dây điện và các thiết bịđiện tử gắn lên người sẽ làm hạn chế khả năng thao tác của người dùng Còn đối vớicác công nghệ nhận diện thuộc về lĩnh vực thị giác máy tính, rất nhiều phương phápđược đề xuất dựa trên máy học và các mạng học sâu như phân đoạn ảnh
Tuy nhiên, bộ dữ liệu các đề tài trên xây dựng chưa thực sự phong phú và chỉ tậptrung giải quyết các ngôn ngữ kí hiệu ở địa phương, dẫn tới các đặc trưng riêng vềdấu phụ của các nguyên âm và dấu thanh trong Tiếng Việt làm cho hệ thống nhậndạng đó không thể phân biệt được
Dựa vào bối cảnh nghiên cứu trên, nhóm đã đề xuất đề tài “Thiết kế và chế tạocánh tay robot tương tác qua màn hình để hỗ trợ trong giảng dạy học ngôn ngữ kýhiệu cho trẻ em câm điếc” làm nội dung cho đồ án tốt nghiệp Qua đó hi vọng có thểđóng một phần công sức vào lĩnh vực giáo dục ngôn ngữ cho trẻ em câm-điếc ở ViệtNam
1.2 Mục tiêu đề tài
Thiết kế, thi công hệ thống phần cứng cánh tay robot có khả năng thực hiệncác kí tự thủ ngữ phục vụ cho việc dạy học theo hướng trực quan Xây dựng cácthuật toán nhận diện cử chỉ tay dựa vào thị giác máy tính qua đó đánh giá hiệu quảquá trình học ngôn ngữ mà không cần đến giáo viên Cuối cùng, thiết kế giao diệntương tác với người học để triển khai các chức năng phù hợp với quá trình học cơbản của một ngôn ngữ
1.3 Đối tượng và phạm vi nghiên cứu
ngã, nặng) của ngôn ngữ kí hiệu Việt Nam
2
Trang 23 Phạm vi nghiên cứu
1.4 Nội dung nghiên cứu
Đề tài được thực hiện gồm các nội dung chính sau:
- Nội dung 1: Khảo sát vấn đề thực tế đang cần giải quyết để đưa ra hướng
nghiên cứu
- Nội dung 2: Tìm hiểu các phương pháp thu thập và tăng cường dữ liệu phục
vụ cho các bài toán nhận thức hình ảnh
- Nội dung 3: Tìm hiểu lý thuyết và áp dụng mạng YoloV5 để nhận diện cử
chỉ tĩnh của ngôn ngữ kí hiệu
- Nội dung 4: Tìm hiểu và áp dụng thư viện MediaPipe để trích xuất vị trí 3D
của các khớp ngón tay
- Nội dung 5: Nghiên cứu lý thuyết và áp dụng thực hiện xây dựng mô hình
mạng Gated Recurrent Units để nhận diện cử chỉ động của ngôn ngữ kí hiệu
- Nội dung 6: Thiết kế và thi công mạch điện và mô hình phần cứng.
- Nội dung 8: Thiết kế giao diện người dùng
- Nội dung 9: Thực nghiệm, hiệu chỉnh và đánh giá hệ thống
- Nội dung 10: Viết báo cáo tổng kết
- Nội dung 11: Bảo vệ luận án.
1.5 Bố cục
Chương 1: Tổng quan
Chương này cung cấp ngắn gọn và tổng quát về các yêu cầu của báo cáo bao gồmgiới thiệu, mục tiêu, phạm vi và nội dung của luận văn
Chương 2: Cơ sở lý thuyết
Chương này trình bày những cơ sở bao gồm các khảo sát về các nghiên cứu đã đượcthực hiện, lý thuyết về các thuật toán và nguyên lý hoạt động của các module được
sử dụng để thực hiện đề tài
Chương 3: Thiết kế hệ thống
Chương này trình bày chi tiết các thiết kế cho toàn bộ hệ thống bao gồm: phầncứng, phần mềm và các thuật toán
Chương 4: Thi công và thực nghiệm
Chương này trình bày về những thực nghiệm bao gồm thi công phần cứng, mô tả vềcác quá trình thu thập dữ liệu và huấn luyện các mô hình mạng
Trang 24Chương 5: Kết quả thực hiện, nhận xét và đánh giá
Chương này đưa ra các kết quả thực hiện, các biểu đồ phần tích hiệu năng của hai
mô hình nhận diện và đưa ra nhận xét chung về toàn hệ thống
Chương 6: Kết luận và hướng phát triển
Chương này đưa ra kết luận đề tài và hướng phát triển tiếp theo
4
Trang 25Chương 2 CƠ SỞ LÝ THUYẾT
2.1 Các nghiên cứu đã thực hiện2.1.1 Cánh tay robot Aslan
Một nhóm nghiên cứu thuộc đại học Antwerp đã nghiên cứu phát triển thành côngmột thiết bị phiên dịch văn bản hoặc lời nói sang ngôn ngữ ký hiệu kí hiệu dựa trênnguyên mẫu phần cứng là một cánh tay robot [10] Để sử dụng, người dùng cần kết nốivới mạng cục bộ và gửi tin nhắn văn bản đến Aslan, và cánh tay sẽ thao tác các chữ cáitrong hệ thống bảng chữ cái theo như nhóm thiết kế gọi đó là chính tả ngón tay, trong
đó mỗi chữ cái riêng lẻ được thể hiện thông qua một cử chỉ riêng biệt
Hình 2.1 Mô hình cánh tay robot Aslan.
Phần cứng của cánh tay robot đã được chế tạo và lắp ráp từ công nghệ in 3 nhưhình 2.1 Để điều khiển được cánh tay robot hoạt động, bên trong cánh tay robot đã
sử dụng 16 động cơ servo, 3 bộ điều khiển động cơ, 1 board vi điều khiển ArduinoDue, và một số các linh kiện khác
2.1.2 Nhận diện ngôn ngữ kí hiệu dựa trên YoloV5
Trong bài báo được công bố vào năm 2021 [11], Tasnim Ferdous Dima vàđồng nghiệp đã cho công bố một hệ thống có thể nhận diện 36 chữ cái và chữ sốtrong ngôn ngữ kí hiệu Mỹ Để cải thiện được tốc độ nhận diện nhưng không ảnhhưởng đến độ chính xác, nhóm tác giả đã đề xuất cách tiếp cận mới đó là mạngYoloV5 Tập dữ liệu Benchmark (MU_HandImages ASL) đã được dùng trong suốtquá trình huấn luyện và đánh giá Kết quả mà hệ thống thu được là khả năng nhậndiện thời gian thực với độ chính xác trung bình khá ấn tượng bao gồm: 95%Precision, 97% Recall, 98% mAP@0.5, 98% map@0.5:0.95
2.1.3 Nhận diện ngôn ngữ kí hiệu sử dụng MediaPipe và Long Short-Term Memory
Với một cách tiếp cận mới hơn, đối tượng hướng đến là các cử chỉ động trongngôn ngữ kí hiệu Mỹ Trong bài báo [12], Souradeep Ghosh đã sử dụng MediaPipe
Trang 26Hand framework để trích xuất tọa độ 42 keypoints từ các đốt ngón tay của hai bàntay Sau đó, các tọa độ này được đưa vào mô hình LSTM phục vụ cho việc huấnluyện, một mô hình cực kì phù hợp với các bài toán làm với dữ liệu dạng chuỗi Môhình của tác giả tạo ra có thể nhận diện trong thời gian thực với 5 từ bao gồm:
“wait, think, tiger, teacher, twins”
2.2 Ngôn ngữ kí hiệu Việt Nam
Ngôn ngữ ký hiệu của mỗi quốc gia hay mỗi khu vực sẽ khác nhau Nó khôngđược sáng tạo ra bởi duy nhất một ai cả mà dần hình thành dựa trên phong tục, vănhóa, lịch sử của từng cộng đồng người câm – điếc Qua thời gian, ngôn ngữ ký hiệucàng phát triển và dần có những điểm chung giữa các cộng đồng Tuy nhiên họ vẫngiữ cho mình những nét đặc trưng nhất định của từng khu vực Như ở Hồ Chí Minh,người ta dùng tay chỉ vào môi để nói về “màu hồng” trong khi người Hà Nội lạidùng tay xoa vào má
Hình 2.2 Bảng ký hiệu thủ ngữ cơ bản trong Tiếng Việt
Dựa theo cách diễn đạt, có thể chia ngôn ngữ ký hiệu thành hai nhóm là đánh vần
và nhóm giao tiếp Nhóm giao tiếp thường được dùng trong các hoạt động hằng ngàynhư ngủ sẽ lấy hai tay chắp lại đưa lên má hoặc hát sẽ nắm tay lại đưa ra trước miệng
và thường diễn đạt bằng cả hai tay kết hợp với cơ thể, biểu cảm của khuôn mặt để diễnđạt một từ, một cụm từ hoặc một câu ở những ngữ cảnh nhất định Trong khi
hiệu, các ký tự thủ ngữ trong nhóm này thường chỉ dùng một tay để diễn đạt Trongnhóm đánh vần sẽ bao gồm những ký tự về chữ cái, chữ số hay và các dấu thanh cơbản (hình 2.2)và đây cũng là đối tượng chính mà đề tài nhóm hướng đến Dựa vàoluận án về nhận dạng ngôn ngữ ký hiệu Tiếng Việt [13], có thể chia các ký tự nàythành hai loại là ký hiệu tĩnh và liên tục Ký hiệu tĩnh chủ yếu được dùng để diễn tả
cử chỉ tĩnh như chữ “A”, “S” hay các số “2”, “5” Còn đối với loại ký tự liên tục cần
6
Trang 27thực hiện một chuỗi các thao tác để diễn tả như dấu ngã (~), dấu huyền (`) hay cácchữ cái “Ă”, “Ê”, “Ư”.
2.3 Học sâu (Deep Learning)
Deep Learning là một phân nhánh của trí tuệ nhân tạo và được kế thừa dựatrên sự phát triển của mạng nơ-ron nhiều lớp (MLP – Multilayer Perception) DeepLearning ra đời đã tạo một cuộc đua xây dựng các kiến trúc mô hình với hàng chụcthậm chí hàng trăm lớp mạng được chồng lên nhau để giải quyết các bài toán cụ thểchẳng hạn như thị giác máy tính hay xử lí ngôn ngữ tự nhiên
Convolution Neural Networks (CNNs) là một mô hình mạng cơ bản và cực kìnổi tiếng trong lĩnh vực học sâu CNNs ra đời giúp tiết kiệm thời gian cho việc tríchxuất đặc trưng của các đối tượng trong một tấm ảnh so với các phương pháp thủcông trước đó Mạng CNNs đưa chúng ta đến một cách tiếp cận mới hơn trong cácbài toán nhận thức hình ảnh Cụ thể CNNs đã khai thác các nguyên lý từ đại sốtuyến tính, đặc biệt là phép nhân ma trận để định danh các mẫu trong một tấm ảnh.Điều đó cũng đồng nghĩa là công nghệ này đỏi hỏi cao về mặt tính toán, đòi hỏi cácđơn vị xử lí đồ họa (GPUs) mạnh mẽ để đào tạo các mô hình
Hình 2.3 Mạng nơ-ron với nhiều lớp Convolution [14]
Nhìn chung các mô hình CNN đều tuân theo một kiến trúc mạng nhất định.Mỗi mô hình sẽ là một sự chuỗi các lớp mạng nối tiếp mà đầu ra của lớp trướcchính là đầu vào của lớp sau Trong số đó có 3 ba lớp mạng chính được thể hiện ởhình 2.3, bao gồm lớp Convolution, lớp Pooling và lớp Fully connected
- Lớp Convolution: Sử dụng các bộ lọc dưới dạng các ma trận để nhân chập với
ảnh đầu vào, sau đó cho qua các hàm kích hoạt để tạo ra các bản đồ đặc trưng(feature map)
- Lớp Pooling: Pooling là một lớp nằm sau các lớp convolution layer, có tác dụnglàm giảm kích thước của bản đồ đặc trưng, từ đó giúp giảm số lượng tính
Trang 28toán cho các lớp phía sau Nhờ sự tổ hợp của lớp Convolution lớp Pooling đi kèm đã giúp cho các đặc trưng càng về sau càng có tính khai quát cao
nơ-ron nhiều lớp của ANNs FC giúp biến đối các đặc trưng ở giai đoạn cuối củamạng và đưa kết quả đến ngõ ra
2.4 Phát hiện vật thể (Object Detection)
2.4.1 Giới thiệu
Khi nhắc đến lĩnh vực thị giác máy tính, một trong những phương thức quantrọng tạo nên làn sóng giúp công nghệ trí tuệ nhân tạo phát triển đó là bài toán pháthiện vật thể Khác với bài toán phân loại, phát hiện vật thể có khả năng thực hiệnhai nhiệm vụ gần như đồng thời, đó là xác định vị trí của một hay nhiều đối tượngtrong một ảnh và gán nhãn phân loại cho các đối tượng đó Các ứng dụng của pháthiện vật thể xuất hiện nhiều trong các lĩnh vực khác nhau như an ninh, thống kê,người máy và vô số lĩnh vực khác
Tuy nhiên với khả năng mà CNNs mang lại thì cách tiếp cận đó không thể giảiquyết được được bài toán mà phát hiện vật thể đặt ra, vì bản chất CNNs chỉ là mộtmạng trích xuất đặt trưng ảnh và đầu ra là kết quả phân loại Từ khoảng năm 2012cho đến nay, hàng loạt các mạng chuyên sâu ra đời như một hướng tiếp cận mới chovấn đề này Đáng kể đến là các kiến trúc mạng RCN, fast R-CNN, faster R-CNN, đó
là những kiến trúc mạng khai sinh ra thuật ngữ Region of Interest (RoI) hay cònđược hiểu là kĩ thuật đề xuất các vùng có thể chứa đối tượng Và sau này nhu cầu vềtriển khai với tốc độ đáp ứng thời gian thực trở thành một xu hướng từ đó dẫn đến
sự xuất hiện các mạng nhận diện với tốc độ nhanh hơn như YOLO hay SSD Sựkhác biệt cơ bản của các mạng này đó là có thể đưa ra dự đoán cho các “class” và vẽ
“bounding box” chỉ với một lần chạy thuật toán
2.4.2 Mạng xương sống CSPDarknet
Bắt đầu từ những năm 2000 đến nay, hàng loạt các cấu trúc mạng CNNs phức tạplàm cơ sở để trích xuất các đặc trưng ảnh theo chiều sâu đã được được đề xuất với têngọi là mạng xương sống “backbone” Mục tiêu của các mạng xương sống này là tăngtính khái quát và trừu tượng của mô hình để tính toán các đặc trưng của ảnh ngày mộtsâu hơn Đồng thời tăng tính ứng dụng trong nhiều bài toán nhận thức hình ảnh khácnhau dựa trên khái niệm trường nhìn (Receptive Field) của từng nơ-ron
CSPNet là một mô hình mạng sương sống với nguyên lý được mô tả ở hình 2.4
Mô hình bắt đầu bằng việc chia bản đồ đặc trưng đầu vào thành hai phần bằng nhau,một phần được giữ nguyên để đưa ghép nối ở các lớp sau, phần còn lại được đưa vàokhối xử lý gốc thông thường để trích xuất các đặc trưng Điểm mạnh của khối CSP
8
Trang 29là giảm thiểu 50% khối lượng tính toán bằng cách chia feature map ra làm hai Từ
đó kết nối CSP vừa giúp bảo toàn một phần thông tin từ các lớp trước, vừa đảm độphức tạp của mô hình mà còn giảm được số lượng tính toán
Input Feature
Convolution layer Combination Concat
Output Feature
Hình 2.4 Cấu trúc mạng xương sống CSPNet
CSPDarknet là mạng nơ-ron dựa trên sự kết hợp của hai mạng xương sốngphát hiện đối tượng là Darknet53 và CSPnet Sau khi chia bản đồ đặc trưng của lớp
cơ sở thành hai phần bằng cách sử dụng kỹ thuật CSPNet, các đặc trưng sẽ được kếthợp bằng cách sử dụng hệ thống phân cấp nhiều giai đoạn CSPDarknet53 vượt trộihơn ResNet trong việc xác định đối tượng, trong khi ResNet vượt trội hơn nó trongviệc phân loại đối tượng Hạn chế này có thể được khắc phục bằng cách sử dụnghàm kích hoạt Mish và một vài chiến lược như SPP (Spatial Paramid Pooling layer),PAN (Path Aggregation Network), Spatial Attention Module (SAM) Trong kiếntrúc CSPDarknet53 như hình 2.5 phép tính cộng được thực hiên ở lớp cuối của khốiCSP được đánh dấu viền đỏ với mục đích kết hợp đặc trung lại với nhau Nhờ việc
sử dụng phương pháp tách và hợp nhất này đã giúp tối ưu hơn cho quá trình lantruyền đạo hàm xuyên suốt qua kiến trúc mạng
Trang 30CSPBlock x 8 Output(52,52,256)
CSPDarknet53 2.4.3 You Only Look Once (YOLO)
Yolo được tạm dịch là bạn chỉ cần nhìn một lần, là một mô hình mạng thuộc
nhóm One-stage, được phát triển bởi lần đầu bởi Joseph Redmon và các cộng sự
[Citation] Tương tự như SSD, Yolo cũng là một mạng được tạo ra với mục đích
nhận diện với tốc độ cao từ các lớp Convolution và Fully-connected Trong đó, các
lớp Convolution sẽ trích xuất các đặc trưng của ảnh và lớp Fully-connected sẽ dự
đoán để đưa ra các xác xuất và tọa độ 4 góc bao quanh đối tượng đó
Trang 31Hình 2.6 Phương thức hoạt động của mô hình Yolo [15]
10
Trang 32Ý tưởng chi tiết được đề xuất của mô hình YOLO được mô tả ở hình 2.6 Các
hình ảnh đầu vào được chia thành các ma trận với kích thước SxS, dựa vào thông số
IOU và hàm mất mát bao gồm Classification loss, Localization loss, và Confidence
loss để khoanh vùng và tạo ra các bounding box Cuối cùng, bounding box có độ tin
cậy cao nhất sẽ được chọn là làm hộp giới hạn nhận diện cho vật thể Đây cũng
chính là cơ sở đề hình thành các phiên bản cải tiến về sau Trong đó, Yolov5 được
xem là một phiên bản tốt nhất của Yolo cho đến hiện nay nhưng vẫn chưa được sử
dụng rộng rãi vì vẫn chưa có bài báo chính thức nào được công bố chính thức về nó
Backbone: CSPDarknet
BottleNeckCSP
BottleNeckCSP
SPP CSP
SPP
Hình 2.7 Kiến trúc mạng YoloV5
Kiến trúc của YoloV5 được mô tả ở hình 2.7 bao gồm 3 phần chính:
đặc trưng từ các hình ảnh bao gồm các CSP
để thực hiện tổng hợp các đặc trưng và chuyển cho Head để dự đoán
- YoloV5 Head: Các lớp tạo dự đoán từ các hộp neo (anchor boxes) để phát hiện
đối tượng
Trong bài báo [16], hiệu suất của ba mô hình nhận diện vật thể phổ biến nhất
hiện nay bao gồm YoloV3, YoloV5s và SSD-MobileV2 đã được thực hiện để nhận
diện khẩu trang Kết quả ở bảng 2.1 cho thấy với cùng một mô hình phần cứng và
được huấn luyện cùng một tập dữ liệu, YoloV5 có tốc độ nhận diên nhanh nhất, tuy
nhiên sẽ phải đánh đổi về độ chính xác trung bình
Trang 3311
Trang 34Bảng 2.1 Phân tích hiệu suất của mô hình YoloV3, YoloV5s và SSD–MobileV2 [16]
Model
YoloV3YoloV5SSDMobileNetV2
2.5 Nhận dạng hành động (Action Recognition)
2.5.1 Giới thiệu
Việc học để phát hiện và phân biệt giữa các hành động khác nhau là một
nhiệm vụ thiết yếu đối với cả con người và trong lĩnh vực thị giác máy Đã có một
số định nghĩa của một hành động được đưa ra trong cuộc khảo sát gần đây [17],
nhưng trong luận án này, định nghĩa về hành động sẽ đưa ra một cách mơ hồ, đó là
quá trình một người tương tác với một đối tượng, một hoặc nhiều người khác hoặc
đơn giản là chỉ thực hiện các chuyển động cơ thể của riêng họ Một số ví dụ về hành
động của con người có thể dễ dàng bắt gặp là chạy bộ, đi xe đạp, uống nước, vẫy
tay hoặc đọc luận án Vấn đề này đã đặt ra nhiều thách thức cho computer vision nói
riêng và deep learning nói chung vì nó phá vỡ đi các quy tắc nhận diện trước đây
Thay vì chúng ta áp dụng các mô hình mạng để nhận diện đối tượng hay nhãn của
một tấm ảnh thì bây giờ chúng ta sẽ đi tìm sự liên kết của một chuỗi hình ảnh với
nhau và sau đó đưa ra phán đoán về hành động đang thực thi dựa trên sự liên kết đó
Ngày nay, một lượng dữ liệu video khổng lồ tồn tại trên khắp các trang mạng
Internet Theo như ghi nhận vào năm 2015, chỉ sau mỗi phút trôi qua sẽ có khoảng
hơn 400 giờ video được đăng tải lên Youtube Việc kiểm soát và quản các nội dung
trong các video này để kịp thời bài trừ các hành vi tiêu cực như bạo lực, hiếp dâm là
vô cùng cần thiết Chính vì vậy, sự ra đời của nhận diện hành động đã giúp ích rất
nhiều trong việc cải thiện chất lượng lượng của các văn hóa phẩm truyền thông, góp
phần vào sự văn minh trong các môi trường mạng xã hội
Một số ví dụ khác về các ứng dụng sử dụng sử dụng nhận dạng hành động
chẳng hạn như truy xuất video dựa trên nội dung (tìm kiếm trên Google về các
video có người đang đá bóng), hệ thống hỗ trợ người già (cảnh báo nếu một người
bị ngã hay đột quỵ trong nhà), hoặc sự tương tác giữa người và máy tính (tạm dừng
phim khi người xem đứng lên và rời khỏi ghế sofa) Một vài vấn đề khác khiến cho
bài toán nhận dạng hành động trở nên phức tạp hơn bao gồm các hành động tương
tự nhau (chạy bộ và đi bộ), các hành động chồng lên nhau (vừa ăn cơm vừa lướt
điện thoại) hoặc các chuyển động nằm ở nhiều góc nhìn camera khác nhau
Trang 3512
Trang 362.5.2 Recurrent Neural Network (RNNs)
Mạng nơ-ron hồi quy (RNNs) là một loại kiến trúc mạng nơ-ron nhân tạo phù hợpcho các bài toán làm việc với dữ liệu dạng chuỗi hoặc tuần tự như video hoặc âm thanh.Mạng này được gọi là “Recurrent” vì mang tính đặc trưng trong thực hiện lặp đi lặp lạimột cấu trúc tính toán duy nhất xuyên suốt quá trình tính toán, chỉ có dữ
liệu đầu vào ( ) là thay đổi như mô tả ở hình 2.8 Điều này giúp giảm bớt các tham số bên trong cấu trúc, dẫn đến tốc độ xử lí nhanh hơn Hơn thế nữa, nhờ có bộ nhớ
bên trong nên RNNs cho phép lưu nhớ các giá trị trạng thái chuỗi hoặc ngữ cảnhcủa một câu nói, điều mà các mạng học nơ-ron khác như ANN hoặc CNNs khôngthể thực hiện được
ℎ −1 là biến trạng thái ẩn trước đó, mô tả ngữ cảnh của chuỗi tính tới thời điểm T
ℎ là trạng thái ẩn sau khi đã được tổng hợp để cung cấp cho bước tính toán tiếp theo.
Trong quá trình huấn luyện, mô hình RNNs sẽ có nhiệm vụ đi tìm bộ 3 trọng
số (U, W, V) cho đến khi mô hình đạt trạng thái tốt nhất Công thức tính toán liênquan đến bộ trọng số trên cụ thể như sau:
h t = ∅ h (Wx t + Uh t−1 )
h t = ∅ y (Vh t )
Trong đó, ∅ ℎ và ∅ là các hàm kích hoạt, thường là hàm sigmoid Để tính tổng giá trị mất mát của quá trình học, chúng ta chỉ cần tính hàm mất mát cục bộ tại mỗi
vị trí đầu sau đó tính tổng trung bình các giá thì ta sẽ thu được giá trị hàm mất mát toàn cục
13
Trang 37Với cấu trúc như trên, mạng RNNs có yếu điểm là không mô tả hay học đượcnhững chuỗi quá dài do hiện tượng triệt tiêu đạo hàm (vanishing gradient) Chính vìvậy các nhà nghiên cứu đã cho ra mắt 2 biến thể của họ RNN đó là Gated RecurrentUnit (GRU) và Long Short-Term Memory (LSTM) [18].Bằng cách thay thế mỗi ôtính tiêu chuẩn của RNN bằng một ô nhớ (memory cell), chúng có khả năng lưu trữcác giá trị kích hoạt của dữ liệu trước đó trong suốt chuỗi dữ liệu dài Cả hai biếnthể này đều có khả năng xem xét liệu những thông tin nào quan trọng, sau đó lọc vàchuyến đến ngõ ra cho ô nhớ tiếp theo.
2.5.3 Gated Recurrent Units (GRUs)
Gated Reccurent Units được ra mắt vào năm 2014, là một cấu trúc con thuộcbiến thể của RNN Tương tự như LSTM, cả hai cấu trúc đều được ra đời để giảiquyết những hạn chế của RNN là vanishing gradient Tuy nhiên có sự khác nhau,GRUs chính là một phiên bản cải tiến của đàn anh LSTM với ít tham số hơn nêntiêu tốn ít bộ nhớ và tốc độ triển khai thuật toán nhanh hơn Một đơn vị GatedRecurrent sử dụng 2 cổng Update Gate và Reset Gate, bản chất là 2 vector lựa chọnthông tin để truyền cho đầu ra Ưu điểm của các cổng này là chúng có thể được đàotạo để lưu giữ những thông tin của quá khứ mà không bị rửa trôi theo thời gian vàloại bỏ những thông tin không liên quan đến phán đoán Cấu trúc của một GRU điểnhình được thể hình trong hình 2.9
Hình 2.9 Cấu trúc tính toán bên trong GRU
Các công thức toán học đằng sau một đơn vị được mô tả dưới đây:
z t =σ(W z [h t-1 ,x t ]+x t )
rt=σ(Wr.[ht-1,xt] )
ht=tanh(W.[rt*ht-1 { h t =(1-z t )*h t-1 +z t *h ̃
t
Trang 38T ro ng đ ó, n ội du b n ớ hi ện tại là
h̃t
có ức nă ng yế t đị n n ữ ng th ô ng ti n nà o củ a cá c ve ct or gi á trị sẽ đ ợc gi ữ lại ch o ư ớc tí n to án hi ện tại và th ô ng ti n nà o sẽ đ ợc tr u yề n xu ố ng cá c lớ p m ạn g ph ía sa u ầu ra h oặ
Trang 39c sự dự đoán được biểu diễn bằng h t W , W là bộ trọng số được tối ưu hóa trong suốt quá trình huấn luyện tanh và σ là các hàm kích hoạt phi tuyến t là bước thời gian hiện tại, t-1 là bước thời gian trước đó.
2.5.4 Thư viện MediaPipe Hand
MediaPipe Hands là một “framework” thuộc bộ giải pháp củaMediaPipe được dùng để theo dõi ngón tay và bàn tay với độ chínhxác cao Bên trong framework này có 2 mô hình hoạt động cùng nhau.Khi chúng ta cung cấp hình ảnh đầu vào, một mô hình phát hiện lòngtay (Palm detection model) sẽ trả về một giới hạn bao quanh bàn tay
có định hướng với độ chính xác cao lên đến 95,7% (theo như báo cáoGoogle cung cấp) Sau đó, một mô hình mốc bàn tay (hand landmarkmodel) giúp dự đoán 21 điểm mốc 3D của bộ xương bàn tay như mô
tả ở hình hình 2.10 Đối với mỗi mốc bàn tay, đường ống sẽ trích xuất
ra bản địa hóa của các tọa độ bao gồm 3 giá trị (x,y,z) Kích thước củakhung hình đầu vào là (x,y) và giá trị chiều sâu tính từ camera đến bàntay là (z) Một điều tuyệt vời mà thư viện MediaPipe Hand mạng lại
đó là khả năng thực thi với thời gian thực
Hình 2.10 Sự dự đoán 21 điểm mốc trên xương bàn tay
con người [19] 2.6 Các phương pháp đánh giá
Khi thực hiện bài toán phân loại, có 4 trường hợp của dự đoán cóthể xảy ra, dưới đây là các định nghĩa thành phần của chúng Trong đó,
A và B là các thuật ngữ tượng trưng
15
Trang 40- True Negative (TN): Một cử chỉ của kí tự không phải B và đã được xác định
Accuracy (độ chính xác) được xác định dựa trên tỉ lệ giữa các mẫu dự đoán
đúng và tổng số mẫu được đưa vào dự đoán
Accuracy= TP+ TN + FP + FN
Precision là một chỉ số xác định độ tin cậy của mô hình dựa trên số lượng các
dự đoán đúng được thực hiện
Precision= TP+FP
Recall đại diện cho độ nhạy của mô hình từ đó đánh giá được khả năng phân
loại để tìm ra các kết quả tích cực
Recall= TP+FN
Với Precision, Recall, giá trị của các chỉ số này càng cao càng có lợi, chứng tỏ
mô hình hiệu suất cao Tuy nhiên, như vậy chưa đủ vì mỗi chỉ số chỉ quan tâm đến
một đối tượng đo nhất định Do đó chúng ta cần sử dụng thêm F1 Score để cân bằng
2 thông số trên
Precision*Recall
F1=2
Precision + Recall
Đường cong ROC và AUC, tạm hiểu là đặc tính hoạt động của máy thu và
diện tích nằm bên dưới đường cong được dùng để trực quan hóa hiệu suất của kết
quả phân loại ROC là sự tương quan giữa hai giá trị bao gồm tỉ lệ kết quả tích cực
đúng (TPR) và tỉ lệ kết quả tích cực sai (FPR) khi ngưỡng phân loại của một mô
hình thay đổi AUC là vùng bên dưới ROC, diện tích khu vực này càng lớn cho thấy
mô hình chúng ta hiệu quả, khi đó đường cong ROC sẽ dần di chuyển đến góc phần
tư phía bên trái của đồ thị
TPR=