1. Trang chủ
  2. » Cao đẳng - Đại học

Khóa luận hệ thống nhận diện ngôn ngữ ký hiệu

85 39 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 2,37 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM CAO MINH HUY KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG NHẬN DIỆN NGÔN NGỮ KÝ HIỆU System supports Sign language recognition KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM TP HỒ CHÍ MINH, 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM CAO MINH HUY – 16520502 KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG NHẬN DIỆN NGÔN NGỮ KÝ HIỆU System supports Sign language recognition KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN TS NGUYỄN QUANG ANH ThS NGUYỄN CƠNG HOAN TP HỒ CHÍ MINH, 2021 THƠNG TIN HỘI ĐỒNG CHẤM KHÓA LUẬN TỐT NGHIỆP Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin -Chủ tịch -Thư ký -Ủy viên -Ủy viên ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày 26 tháng 06 năm 2021 NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận: HỆ THỐNG NHẬN DIỆN NGƠN NGỮ KÝ HIỆU Nhóm SV thực hiện: Cán hướng dẫn: Cao Minh Huy 16520502 TS Nguyễn Quang Anh ThS Nguyễn Cơng Hoan Đánh giá Khóa luận Về báo cáo: Số trang _ Số chương _ Số bảng số liệu _ Số hình vẽ _ Số tài liệu tham khảo _ Sản phẩm _ Một số nhận xét hình thức báo cáo: ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… Về nội dung nghiên cứu: ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… Về chương trình ứng dụng: ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… Về thái độ làm việc sinh viên: ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… Đánh giá chung: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Điểm sinh viên: Cao Minh Huy: …/10 Người nhận xét (Ký tên ghi rõ họ tên) ThS Nguyễn Công Hoan ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày 26 tháng 06 năm 2021 NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ PHẢN BIỆN) Tên khóa luận: HỆ THỐNG NHẬN DIỆN NGƠN NGỮ KÝ HIỆU Nhóm SV thực hiện: Cán hướng dẫn: Cao Minh Huy 16520021 TS Nguyễn Quang Anh ThS Nguyễn Cơng Hoan Đánh giá Khóa luận Về báo cáo: Số trang _ Số chương _ Số bảng số liệu _ Số hình vẽ _ Số tài liệu tham khảo _ Sản phẩm _ Một số nhận xét hình thức báo cáo: ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… Về nội dung nghiên cứu: ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… Về chương trình ứng dụng: ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… Về thái độ làm việc sinh viên: ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… Đánh giá chung: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Điểm sinh viên: Cao Minh Huy: …/10 Người nhận xét (Ký tên ghi rõ họ tên) ThS Phan Trung Hiếu LỜI CẢM ƠN Sau năm học tập rèn luyện Trường Đại Học Công Nghệ Thông Tin, bảo giảng dạy nhiệt tình quý thầy cô, đặc biệt quý thầy cô khoa Công Nghệ Phần Mềm, em học tập nhiều kiến thức bổ ích lý thuyết thực hành thời gian qua Trong khoảng thời gian thực luận văn tốt nghiệp, em học hỏi thêm nhiều kiến thức, kinh nghiệm để áp dụng hoàn thành luận văn tốt nghiệp Xin chân thành cảm ơn quý thầy cô Khoa Công Nghệ Phần mềm, đặc biệt thầy Nguyễn Quang Anh thầy Nguyễn Công Hoan tận tình hướng dẫn em hồn thành luận văn tốt nghiệp Bên cạnh đó, lần xin cảm ơn nhóm bạn lớp làm khóa luận động viên, thảo luận góp ý cho nhóm đồng thời khơi thêm nguồn động lực cho nhóm để tiếp thêm động lực cho nhóm giai đoạn đầy khó khăn Ngồi ra, chúng em cảm ơn anh, chị, bạn bè gia đình giúp đỡ tạo điều kiện cho chúng em hoàn tất luận văn Mặc dù cố gắng, nhiên khả giới hạn nên khơng tránh khỏi sai sót, em mong nhận thơng cảm góp ý chân tình từ q thầy cô bạn Một lần xin chân thành cảm ơn người Thành phố Hồ Chí Minh, tháng năm 2021 CAO MINH HUY ĐHQG TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập – Tự Do – Hạnh Phúc ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: HỆ THỐNG NHẬN DIỆN NGÔN NGỮ KÝ HIỆU Cán hướng dẫn: - ThS Nguyễn Công Hoan - TS Nguyễn Quang Anh Thời gian thực hiện: Từ ngày 08/03/2021 đến ngày 26/6/2021 Sinh viên thực hiện: Cao Minh Huy – 16520502 Nội dung đề tài: Mục tiêu: • Nghiên cứu, tìm hiểu thuật tốn, mơ hình Deep Learning • Nghiên cứu, tìm hiểu model phục vụ máy học nhận dạng hình ảnh • Huấn luyện mơ hình lựa chọn để nhận dạng ngơn ngữ ký hiệu • Xây dựng ứng dụng minh họa nhận diện ngôn ngữ ký hiệu Phạm vi: Mô hình đáp ứng nhận dạng ngơn ngữ ký hiệu bao gồm 24 ký tự theo chuẩn ASL trừ ký tự ‘J’ ‘Z’ Đối tượng nghiên cứu: • Tensorflow, OpenCV, Object-Detection API • Các tảng cơng cụ hỗ trợ việc thực mơ hình (Anaconda3) Phương pháp thực hiện: Thực đề tài theo bước: • Khảo sát đề tài • Phân tích nghiên cứu đề tài • Thiết kế yêu cầu • Nghiên cứu cơng nghệ để áp dụng • Phát triển sản phẩm qua giai đoạn • Kiểm thử hồn thiện Kết mong đợi: • Phân tích, tìm hiểu rõ cơng nghệ để thiết kế mơ hình • Thiết kế mơ hình nhận diện ngơn ngữ ký hiệu từ cơng nghệ tìm hiểu: Tensorflow, OpenCV, Object-Detection API Tensorflow,… • Triển khai mơ hình nhận diện ngơn ngữ ký hiệu dựa Điều kiện sau: Thống kê kết sau thực nghiệm thành công hay thất bại 4.4 labelImg LabelImg công cụ thích hình ảnh Được viết Python dùng Qt để tạo giao diện Việc thích lưu file XML định dạng PASCAL VOC, định dạng PASCAL VOC sử dụng ImageNet Ngồi ra, cịn hỗ trợ định dạng YOLO CreateML Hình 4.3: Giao diện LabelImg 4.5 Mô phông thực tế 4.5.1 Nguồn liệu mô tả tập liệu Đối với liệu, chúng em dùng OpenCV chụp frame ảnh để liệu đầu vào: Hình 4.4: Chia ảnh lấy theo ký tự 50 Ở đây, chúng em lấy 20 ảnh cho 24 ký tự theo ASL trừ ký tự ‘J’ ‘Z’ hai ký tự yêu cầu động tác Mỗi ảnh lấy lưu vào thư mục tương ứng Các ảnh sau thích thơng qua labelImg Sau đó, liệu phân chia vào thư mục train test cho việc huấn luyện model sau Hình 4.5: Tạo liệu đầu vào lưu vào thư mục tương ứng 4.5.2 Dùng LabelImg để thích ảnh Khởi động labelImg bắt đầu thích ảnh Các ảnh lưu lại dạng XML Hình 4.6: Chú thích ảnh ký hiệu A 51 Hình 4.7: Các file XML tạo Các file chứa thông tin ảnh lưu thông tin bounding box khung thích sau dùng việc huấn luyện model Hinh 4.8: Thông số bounding box file XML 4.5.3 Cài đặt môi trường khởi tạo label-map Trước tiếp tục thực ứng dụng, chúng em phải cài đặt đường dẫn cho tiện sau Hình 4.9: Khởi tạo đường dẫn 52 Sau đó, khởi tạo label-map phục vụ cho việc train model sau Hình 4.10: Khởi tạo label-map Việc tạo label-map giúp model phân tích liệu dùng vào việc huấn luyện model sau 53 Sau đó, chúng em tiến hành biến đổi file XML thành định dạng TFrecord để Tensorflow sử dụng thơng qua script biến đổi cho tập ảnh huấn luyện kiểm thử Hình 4.11: Biến đổi file XML thành TFrecord 4.5.4 Điều chỉnh cấu hình model train model Dựa theo file config model, ta điều chỉnh lại thông số để chuẩn bị cho việc huấn luyện model Từ điều chỉnh lớp để học tới điều chỉnh lại đường truyền cho phù hợp với cấu hình model cài đặt chúng em Hình 4.12: Điều chỉnh cấu hình model Sau điều chỉnh cấu hình, chúng em tiến hành train model Khi hồn tất, có checkpoint lưu lại cột mốc train model chúng em sử dụng cột mốc tương đương model train hoàn tất 54 4.5.5 Load model nhận diện thời gian thực Như ta load checkpoint để thử nghiệm model Hình 4.13: Các checkpoint tạo sau train Ở đây, chúng em load checkpoint model sinh sau hồn tất q trình huấn luyện Hình 4.14: Load checkpoint Khi load model, ta tiến hành dùng OpenCV để thu ảnh nhận diện thời gian thực Ứng dụng khởi động cửa sổ liên kết với webcam người dùng họ dựa theo bảng ASL để kiểm tra mức độ nhận dạng ứng dụng 55 Hình 4.15: Kết 4.5.6 Đánh giá độ xác Trong trình train model, Tensorflow tạo file lưu trữ q trình train ta theo dõi thơng qua Tensorboard 56 Hình 4.16: Total Loss model Sau tầm 30.000 steps, model có loss ~0.093 tương đối thấp Tuy nhiên, ta thấy đồ thị không hẳn ổn định, không thành đường thẳng mà xuất nhiều dốc lên xuống Điều có phần ảnh hưởng lúc kiểm thử sau với việc số ký tự bị nhận dạng nhầm khó để model nhận ngay, cần thời gian để nhận dạng Hình 4.17: mAP model 57 4.5.7 Đưa model lên web thông qua TensorFlowJS Hoàn thành việc train kiểm thử model, chúng em tiến hành đưa model lên web qua bước sau: - Biến đổi checkpoint model sang định dạng TFJS - Host model lên cloud nhờ IBM Cloud Object Storage - Triển khai môi trường cho web app - Chạy thử ứng dụng nhận dạng web Đầu tiên tiến hành lưu checkpoint gần train model lại chúng em sử dụng tính TFJS để chuyển model sang TFJS Graph Model Hình 4.18: Model sau chuyển sang TFJS Sau đó, chúng em tạo bucket IBM Cloud Object Storage để host model Hình 4.19: Model host IBM Cloud IBM Cloud tiện lợi cho người dùng sử dụng miễn phí với 25 GB Cloud đồng thời cho phép cài đặt CORS để ứng dụng minh họa truy cập Ở đây, chúng em host model khu vực khác để tránh trường hợp bị kết nối với khu vực, Nhật Bản Úc Sau thử nghiệm em thấy host khu vực Nhật Bản truy cập nên chúng em sử dụng khu vực Úc 58 Sau hoàn thành host model, chúng em tiến hành cài đặt hồn thành ứng dụng minh hoạt web thơng qua React.JS Chúng em tạo môi trường cho phép ứng dụng vẽ bounding box, để chạy nhận dạng ứng dụng tái lại gần giống với model chạy thử nghiệm lần đầu Hình 4.20: Hàm vẽ bounding box Ở đây, vẽ, ứng dụng vẽ màu riêng biệt cho ký tự nhận dạng với hiển thị độ tự tin model nhận dạng Cuối cùng, cấp quyền camera cho ứng dụng web tiến hành chạy thử Hình 4.21: Kết web app 59 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết đạt - Hiểu thêm Deep Learning (DL) - Huấn luyện thành công model nhận diện 24 ký tự - Thiết kế ứng dụng minh họa nhận diện 24 ký tự - Hoàn thành ứng dụng minh họa nhận diện - Chạy demo real-time 5.2 Nhận xét 5.2.1 Ưu điểm - Model chọn để huấn luyện model có tốc độ cao nên việc huấn luyện model cải thiện - Triển khai prototype nhận diện ngôn ngữ ký hiệu - Ứng dụng liệu gồm nhiều module bổ sung tháo gỡ dễ dàng - Đơn giản 5.2.2 Khuyết điểm - Chưa thử nghiệm tập liệu lớn - Chưa xử lý liệu cách triệt để - Chưa nhận diện ký hiệu cần nét chuyển động - Model cải thiện 60 6.3 Hướng phát triển - Phát triển hệ thống nhận diện hành động thay ảnh tĩnh - Phát triển thêm tính text to speech - Tiếp tục phát triển tập liệu model đại 61 TÀI LIỆU THAM KHẢO Tài liệu tiếng Anh [1] M Copeland, "What’s the Difference Between Artificial Intelligence, Machine Learning and Deep Learning?," 29 July 2016 [Online] Available: https://blogs.nvidia.com/blog/2016/07/29/whatsdifference-artificial-intelligence-machinelearning-deep-learning-ai/ [Accessed April 2021] [3] cs231n, "Convolutional Neural Networks (CNNs / ConvNets)," [Online] Available: https://cs231n.github.io/convolutional-networks/ [Accessed 25 April 2021] [5] M Wolf, Computers as Components (Fourth Edition), Elsevier Inc., 2017 [9] N T Tuấn, "Intersection over Union (IoU)," in Deep Learning bản, Nguyễn Thanh Tuấn, 2019, p 186 [10] J Prakash, Non Maximum Suppression: Theory and Implementation in PyTorch, 2021 [11] P Sharma, "Image Classification vs Object Detection vs Image Segmentation," 21 August 2019 [Online] Available: https://medium.com/analytics-vidhya/imageclassification-vs-object-detection-vs-imagesegmentation-f36db85fe81 [Accessed 30 April 2021] 62 [13] V S Chandel, "Selective Search for Object Detection (C++ / Python)," 18 September 2017 [Online] Available: https://learnopencv.com/selective-search-forobject-detection-cpp-python/ [Accessed 30 April 2021] [14] R Gandhi, "R-CNN, Fast R-CNN, Faster R-CNN, YOLO — Object Detection Algorithms," July 2018 [Online] Available: https://towardsdatascience.com/r-cnn-fast-r-cnnfaster-r-cnn-yolo-object-detection-algorithms36d53571365e [Accessed 30 April 2021] [15] J Hui, "SSD object detection: Single Shot MultiBox Detector for real-time processing," 14 March 2018 [Online] Available: https://jonathanhui.medium.com/ssd-object-detection-single-shotmultibox-detector-for-real-time-processing9bd8deac0e06 [Accessed May 2021] Tài liệu tiếng Việt [2] N T Tuấn, "Giới thiệu Deep Learning," in Deep Learning bản, Nguyễn Thanh Tuấn, 2019, p [4] L Nguyen, "Những Thông Tin Về Cấu Trúc Mạng CNN Là Gì?," 2021 [Online] Available: https://itnavi.com.vn/blog/cnn-la-gi/ [Accessed 25 April 2021] 63 [6] maitrongnghia, "[Tensorflow bản] Bài 2: Data Flow Graphs," 30 2020 [Online] Available: http://maitrongnghia.com/2020/06/tensorflow-coban-bai-2-data-flow-graphs/ [Accessed 26 April 2021] [7] S Administrator, "[Tâm Lý AI 01 - NET of CNN] MobileNETs ? Liệu bạn có hiểu yêu ?," 28 10 2020 [Online] Available: https://blog.studyit.dev/2020/10/tam-ly-ai-01-netof-cnn-mobilenets-la.html [Accessed 26 April 2021] [8] P D Tùng, "Tìm hiểu mạng MobileNetV1," 25 2019 [Online] Available: https://www.phamduytung.com/blog/2019-05-26mobilenetv1/ [Accessed 26 April 2021] [9] N T Tuấn, "Intersection over Union (IoU)," in Deep Learning bản, Nguyễn Thanh Tuấn, 2019, p 186 [12] Nttuan8, "Bài 11: Object detection với Faster RCNN," May 2019 [Online] Available: https://nttuan8.com/bai-11-object-detection-voifaster-r-cnn/ [Accessed 30 April 2021] 64 ... học nhận dạng hình ảnh – Huấn luyện mơ hình lựa chọn để nhận dạng ngôn ngữ ký hiệu – Xây dựng ứng dụng minh họa nhận diện ngôn ngữ ký hiệu 1.1.2 Phạm vi Mơ hình đáp ứng nhận diện ngôn ngữ ký hiệu. .. học nhận dạng hình ảnh • Huấn luyện mơ hình lựa chọn để nhận dạng ngơn ngữ ký hiệu • Xây dựng ứng dụng minh họa nhận diện ngơn ngữ ký hiệu Phạm vi: Mơ hình đáp ứng nhận dạng ngôn ngữ ký hiệu. .. 03/05/2021) – Cài đặt thử nghiệm công nghệ: OpenCV, Tensorflow Sprint 4: Nghiên cứu nhận diện ngôn ngữ ký hiệu Tuần 4.1 Nghiên cứu xây dựng công cụ nhận diện ngôn ngữ ký hiệu Phase 2: Hồn thiện kiểm thử

Ngày đăng: 05/09/2021, 20:52

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w