Nhận dạng kí tự liên tục theo dõi cử chỉ và quyết định dấu hiệu dựa trên các chuyển động trên khung hình.. Hình 2 Khu v c quan tâm trong khung màu xanh ựHình ảnh ban đầu định dạng RGB sẽ
Trang 1I H C BÁCH KHOA HÀ N I
Trườ ng Điện-Điện T ử
TECHNICAL WRITING AND PRESENTATION
ĐỀ TÀI:
Recognizing the sign language of people with disabilities using Computer Vision
Giảng viên hướng dẫn:
Sinh viên thực hiện:
PhD.Nguyễn Ti n Hòa ế Dương Thị Hạnh_20182490
HÀ NỘI, 2022
Trang 2LỜI NÓI ĐẦU
Khiếm khuy t v khế ề ả năng nói là một khi m khuy t l n trong vi c giao ti p ế ế ớ ệ ế bằng lời nói c a m t cá nhân Trong cu c s ng luôn c n có s giao ti p gi a mủ ộ ộ ố ầ ự ế ữ ọi ngườ ới v i nhau Vì vậy để khắc phục, ngôn ngữ kí hiệu đượ ạo ra Tuy nhiên, c t chúng ta c n ph i có h ầ ả ệ thống ph n mầ ềm ứng dụng nào đó để có th hiể ểu được các ngôn ng ký tữ ự đó dành cho những người không hi u bi t v ngôn ng kí tể ế ề ữ ự đó vẫn có th giao tiể ếp được với người khiếm khuyết
Hiện nay trên th giế ới cũng như trong nước đã có nhiều nghiên c u v h ứ ề ệ thống này, s dử ụng phương pháp xử lí hình nh k t h p v i h c máyả ế ợ ớ ọ Xử ảnh để ử lí x lí ban đầu, trích suất ra ph n hình nh c n thiầ ả ầ ết Từ nh ng hình ữ ảnh đó đối chi u vế ới tập d ữ liệu đã được tạo ra để phát hi n kí t ệ ự
Bài báo cáo này s trình bày v nh ng tìm hi u c a em v bài toán phát hi n ẽ ề ữ ể ủ ề ệ ngôn ng kí t bữ ự ằng phương pháp học máy ế ợ k t h p v i x ớ ử lí ảnh
Em xin cảm ơn thầy Nguy n Ti n Hòa cùng các bễ ế ạn đã tạo ra m t m u template ộ ẫ tuyệt vời để chúng em có th s dể ử ụng Và em cũng cảm ơn thầy đã hướng dẫn chúng em tận tình trong môn technical này Em xin trân thành cảm ơn!
Sinh viên thực hiện
Trang 3MỤC LỤC
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 1
1.1 Giới thiệu chung 1
1.2 Phạm vi tìm hi u 1ể CHƯƠNG 2 NHẬN DẠNG NGÔN NGỮ KÝ HIỆU 2
2.1 Ngôn ngữ kí hi u 2ệ 2.2 Thuật toán đề suất 2
Xử lí hình ảnh 3
Học máy 5
2.3 Kết Quả 6
CHƯƠNG 3 KẾT LUẬN 8
3.1 Kết luận 8 3.2 Hướng phát tri n 8ể
TÀI LIỆU THAM KH O 9Ả
Trang 4DANH MỤC HÌNH V Ẽ Hình 1 Bảng kí hi u ch ệ ữ cái c a Anhủ 2 Hình 2 Khu vực quan tâm trong khung màu xanh 3 Hình 3 Hình ảnh thang độ xám được chuẩn hóa 3 Hình 4 Hình nh t lả ỷ ệ xám được thay đổi kích thước thành 28x28 và nh ng hình ữ ảnh này được sử dụng để tạo tập dữ liệu 4 Hình 5 Các bước xử lí ảnh 4 Hình 6 các chữ cái đư c đánh sợ ố 6 Hình 7 Độ chính xác của mô hình cho dữ liệu đào tạo và th nghiệm 7ử Hình 8 Hình ảnh đầu ra 7
Trang 5DANH M C Ụ TỪ VIẾT TẮT
CNN
ROI
RGB
SHV
Convolutional Neural Network
Region of interest Không gian màu( Red, Green, Blue) Hue, Saturation, Value
Trang 6CHƯƠNG 1 ỔNG QUAN ĐỀ T TÀI 1.1 Giới thiệu chung
Giao ti p b ng ti ng nói là vô cùng quan tr ng trong cu c s ng và ch nh ng ế ằ ế ọ ộ ố ỉ ữ người mất đi khả năng đó mới thấy đượ ầm quan trọng của nó Theo các chuyên c t gia c a Orfield lab, mủ ột người bình thường có thể bị “phát điên” chỉ sau 45 phút ở trong căn phòng im lặng mà họ đã tạo ra Vậy mà những người câm vs điếc phải
đối mặt v i sự im lặng đó trong suốt cả một cu c đ i Theo thớ ộ ờ ống kê năm 2020, ở nước ta có khoảng 1 đến 2,5 triệu người câm điếc và khi m thính [3] ế Để họ có th ể giao ti p v i nhau và v i mế ớ ớ ọi người xung quanh, ngôn ng kí hiữ ệu đượ ạo ra đểc t thực hiện điều đó
Ngôn ng kí hi u dùng c ữ ệ ử chỉ tay, nét m t hay hình th ặ ể để truy n t i n i dung ề ả ộ Mỗi một cử chỉ đều có một ý nghĩa riêng biệt Tuy nhiên để giao tiếp được b ng ằ ngôn ng kí hiữ ệu thì người ta c n có ki n th c v ngôn ng kí hiầ ế ứ ề ữ ệu Điều này gây
ra khó khăn cho người khiếm khuyết trong việc giao tiếp với người không có kiến thức v ngôn ng kí hi u Vì v y c n có mề ữ ệ ậ ầ ột phương pháp để giúp phát hi n và ệ hiểu được ngôn ngữ kí hiệu dễ dàng hơn
1.2 Phạm vi tìm hi u ể
Nhận d ng ngôn ng có th ạ ữ ể được chia làm 2 lo i: Nh n d ng kí t riêng l và ạ ậ ạ ự ẻ nhận d ng kí t liên tạ ự ục Nhận d ng kí t riêng l x lí các hình nh kí t có tính ạ ự ẻ ử ả ự
ổn định Nhận dạng kí tự liên tục theo dõi cử chỉ và quyết định dấu hiệu dựa trên các chuyển động trên khung hình
Trong bài này, chúng ta s tìm hi u vẽ ể ề phương pháp nhận d ng ngôn ng ạ ữ riêng lẻ S d ng 24 kí hi u ch ử ụ ệ ữ cái để ạ ậ t o t p d u ữ liệ
Sử dụng phương pháp xử lí hình ảnh kết hợp với học máy X lí hình ử ảnh để
xử lí các bức ảnh đưuọc chụp, t o ra t p dạ ậ ữ liệu để đưa vào giai đoạn học máy
Trang 7CHƯƠNG 2 NHẬN DẠNG NGÔN NGỮ KÝ HIỆU
2.1 Ngôn ngữ kí hiệu
Ngôn ng kí hi u là m t ngôn ng có c u trúc M i c ữ ệ ộ ữ ấ ỗ ử chỉ tay tương ứng với một ch cái khác nhau Liên k t các kí hi u l i s cho ra mữ ế ệ ạ ẽ ột thông tin nào đó Mỗi một qu c gia có ngôn ng khác nhau vì v y kí hiố ữ ậ ệu cũng sẽ có s khác nhau Tuy ự nhiên v n có s ẫ ự tương đồng v i nhau ớ
Hình 1 là m t ví d v b ng ch cái kí hiộ ụ ề ả ữ ệu Anh Cũng khá tương đồng với tiếng Vi t ta ệ
Hình 1 B ng kí hi u ch cái c a Anh ả ệ ữ ủ
2.2 Thuật toán đề suất
Phần này s cung c p cái nhìn t ng quan v ẽ ấ ổ ề phương pháp và thuật toán được
sử d ng trong dụ ựu án này Chia thành 2 giai đoạn: x lí hình nh và h c máy T ử ả ọ ừ những hình nh thu thả ập được, s ẽ được x lí và t o ra t p d u x d ng cho quá ử ạ ậ ữ liệ ử ụ trình h c máy , s d ng trong thu t toán CNN (ọ ử ụ ậ Convolutional Neural Network hay
là mạng nơ ron tích chập)[4]
Trang 8Xử lí hình ảnh
Ban đầu, hình ảnh bàn tay được ch p s ụ ẽ được x lí Mử ột khung được v ẽ ra để bao quanh đối tượng c n quan tâm Chúng ta ch ầ ỉ quan tâm đến hình ảnh trong vùng ROI-region of interest[5] Công việc ban đầu này là c n thi t vì m i bầ ế ỗ ức ảnh có kích thước và t l khác nhau, ta c n th c hi n công viỉ ệ ầ ự ệ ệc trên để đảm bảo tính đồng nhất trong tập d ữ liệu
Hình 2 Khu v c quan tâm trong khung màu xanh ự
Hình ảnh ban đầu định dạng RGB sẽ được chuyển sang định dạng HSV để phát hi n màu da c a bàn tay trong các nệ ủ ền khác nhau Sau đó một m t n cho da ặ ạ tay được tạo ra Mặt nạ này tiếp tục được xử lí hình ảnh khác như làm mịn, giảm nhiểu, co dãn và một số công việc c n thi ầ ết
Sau đó bức ảnh sẽ được xám hóa ở thang 28x28 để việc tính toán trong các quy trình sau tr lên dở ẽ dàng hơn Những hình nh xám hóa ti p tả ế ục được đưa về
ma trận hàng 1x 784 để lưu đến cơ sở ữ liệ d u sau đó được đưa vào thuật toán CNN
Hình 3 Hình ảnh thang độ xám được chu n hóa ẩ
Trang 9chuyển đổi từ hình ảnh Màu
Hình 4 Hình nh t l ả ỷ ệ xám được thay đổi kích thước thành 28x28 và nh ng hình nh ữ ả
này được sử dụng để tạo tập dữ liệu
Dưới đây là sơ đồ các bước thực hiện thuật toán
Hình 5 Các bước x ử lí ảnh
Trang 10Học máy
Giai đoạn để phát hiện các đặc điểm khác nhau của bàn tay và phân loại các
cử chỉ tay tương ứng với các chữ cái khác nhau Thuật toán CNN có vai trò chủ đạo trong việc phân biệt các đặc điểm của hình ảnh đầu vào CNN được phát triển
từ vi c l y cệ ấ ảm ứng t cách th c hoừ ứ ạt động c a các t bào th n kinh não b con ủ ế ầ ộ người nên có cấu trúc tương tự
Trong thí nghi m này, các l p ệ ớ CNN được s dử ụng để thiế ế ột k m t mô hình Các chức năng sẵn có của thư viện Keras được s dử ụng để x p ch ng các l p CNN ế ồ ớ Tập dữ liệu được đọc bằng thư viện Pandas của Python và 15% dữ liệu được lưu giữ để thử nghi m và dệ ữ liệu còn lại đượ ử ụng đểc s d hu n luy n mô hình B d ấ ệ ộ ữ liệu g m 240 ồ ảnh, mỗi ký t ự chữ cái có 10 ảnh Hai bi n báo J và Z yêu c u chuyể ầ ển động không thuộc tập dữ liệu này
Sau đây là mô tả thuật toán CNN:
Hình ảnh trong t p d u liậ ữ ệu đang ở ạ d ng ma tr n 1x784, vì v y chúng lậ ậ ại đưuọc chuẩn về dạng ma trận kích thước 28x28x1 Ma trận này được chuyển đến lớp tích ch p ch a 32 hậ ứ ạt nhân khác nhau để phát hiện các tính năng khác nhau Các h t nhân này có th ạ ể có kích thước 3x3 ho c 5x5 và ngta ặ đã sử dụng kích thước 5x5 ở đây Sau khi tích chập, 32 k t qu ế ả đầu ra khác nhau thu được t l p tích ch p ừ ớ ậ được gộp lại L p tổng h p tớ ợ ối đa 2x2 được sử dụng giúp giảm kích thước hình ảnh bằng cách lo i bỏ dữ liệu dư thừa ho c không quá quan trọng ạ ặ
Cùng v i tích ch p trong lớ ậ ớp đầu vào và l p n, chớ ẩ ức năng kích hoạt ReLU được sử dụng để loại bỏ giá tr âm B c c chung c a t t c các lị ố ụ ủ ấ ả ớp này được hiển thị trong Hình 5 Sau khi di chuyển xa hơn, số lượng hạt nhân được lớp chập sử dụng nhiều hơn, giống như lớp ch p th hai s d ng 64 h t nhân Vậ ứ ử ụ ạ ề cuố ữ liệi d u được làm phẳng để ạ t o thành m t lộ ớp được k t nế ối đầy đủ Đối v i lớ ớp đầu ra thay
vì ReLU, chức năng kích hoạt Softmax được s d ng vì nói mử ụ ột cách đơn giản hơn, Softmax cung cấp xác suất về vị trí của đầu ra như xác suất là 99% đầu ra đó
ở vị trí th 3 ho c h ng 3 Vì vứ ặ ạ ậy, con người có th d dàng hiể ễ ểu được d u xác ữ liệ suất đó và quyết định đầu ra Các bước này được lặp lại theo các kỷ nguyên Sau
đó, độ chính xác của phương pháp được tính toán và hi n th Sau khi ki m tra tính ể ị ể năng phát hiện tay theo thời gian thực bắt đầu và theo lớp dấu hiệu của hình ảnh được hiển th ị
Trang 112.3 K ết Quả
Dự án s d ng ngôn ng l p trình Python, code trên ph n m m Visual studio ử ụ ữ ậ ầ ề code S d ng mử ụ ột số thư viện như: OpenCv, Pandas,Numpy, Keras
Kết quả thực hi n thu t toán sệ ậ ẽ ở nhi u d ng khác nhau K t qu hình nh ề ạ ế ả ả đầu ra được ứng với các số khác nhau Vì vậy, sự tương đồng giữa các hình ảnh đầu ra và các lớp đầu ra được th hi n trong b ng Vì v y, trong quá trình phát hi n ể ệ ả ậ ệ thời gian th c, các l p b phân tán có th ự ớ ị ể được xác minh b ng cách xem b ng ằ ả dưới đây:
Hình 6 các ch ữ cái được đánh số
Độ chính xác và tổn thất đư c tính toán cho cả tập dữ liệu huấn luyện và thử ợ nghiệm sau m i kỗ ỷ nguyên và được vẽ trong hình dưới đây, độ chính xác có xu hướng tăng ở đây Các kết quả hiển thị bên dưới có phân loại các dấu hiệu được phát hi n Các kệ ết quả được chụp có ch ủ đích trong các điều ki n ánh sáng và n n ệ ề khác nhau để ểm tra độ ki bền của thuật toán và cách thuật toán phản ứng khi môi trường thay đổi S lố ớp được hi n th bể ị ằng màu đỏ trên hình ảnh b ng cách s d ng ằ ử ụ
xử lý hình ảnh để có kết quả phát hi n theo thệ ời gian thực
Trang 12Hình 7 Độ chính xác c a mô hình cho d ủ ữ liệu đào tạo và th nghi m ử ệ
Dưới đây là hình ảnh đư c chợ ụp trong các điều kiệu ánh sáng khác nhau và trong b i c nh khác nhau Tuy nhiên nó v n có th phát hiố ả ẫ ể ện và có độ chính xác khá cao 83%
Hình 8 Hình ảnh đầu ra
Trang 13CHƯƠNG 3 KẾT LUẬN 3.1 K ết luận
Dự án nh n d ng ngôn ng kí hiậ ạ ữ ệu được th c hiự ện để giúp cho các cá nhân không may m n b khi m khuy t có th giao ti p v i th giắ ị ế ế ể ế ớ ế ới bên ngoài, đặc biệt
là vi c giao ti p v i nhệ ế ớ ững người không bi t ngôn ng kí hi u m t cách d dàng ế ữ ệ ộ ễ hơn Dự án có 2 phần chính cần thực hiện: thứ nhất là xử lí ảnh để nhận diện màu
da và l y phấ ần đối tượng c n quan tâm Th hai là vi c h c máy thông qua viầ ứ ệ ọ ệc ứng dụng thuật toán CNN V i độớ chính xác của thí nghiệm lên t i 83% , vì vậy ớ dựu án có th phát tri n thêm và ng d ng vào trong cuể ể ứ ụ ộc sống
3.2 Hướng phát tri ển
Có thể phát tri n thêm dể ự án để tăng độ chính xác c a bài toán ủ
Trang 14TÀI LIỆU THAM KH O Ả [1] Ketan Gomase, "Sign Language Recognition using Mediapipe", IRJET, 2022 [2]
[3]
[4]
[5]
Jinalee Jayeshkumar Raval, “Real-time Sign Language Recognition using Computer Vision,” ICPSC, 2021
VOV Giao Thông, 2020, available at: https://vovgiaothong.vn/thieu-phien-dich-vien-benh-nhan-dac-biet-thiet thoi- -ve- -hoi-co cham-soc-y- -te
d14368.html
2022, available at: https://aptech.fpt.edu.vn/cnn- -gi.html
Thị giác máy tính, 2022, available at: https://thigiacmaytinh.com/xu-ly-mot -phan-hinh-anh-bang-roi/