Tính cấp thiết của đề tài: Đề tài thể hiện năng lực của sinh viên trong tiếp cận, học hỏi, và thực hành với các thuật toán Trí tuệ nhân tạo và các công cụ để xây dựng một ứng dụng đơn gi
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC PHENIKAA
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG ỨNG DỤNG TRÍ TUỆ NHÂN TẠO NHẬN DẠNG CỬ CHỈ BÀN TAY NGƯỜI
Sinh viên: Trần Hồng Thu
Mã số sinh viên: 19010031 Khóa: K13 Ngành: Công nghệ thông tin Hệ: Chính quy Giảng viên hướng dẫn: TS Mai Xuân Tráng
Trang 2TRƯỜNG ĐẠI HỌC PHENIKAA
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG ỨNG DỤNG TRÍ TUỆ NHÂN TẠO NHẬN DẠNG CỬ CHỈ BÀN TAY NGƯỜI
Sinh viên: Trần Hồng Thu
Mã số sinh viên: 19010031 Khóa: K13 Ngành: Công nghệ thông tin Hệ: Chính quy Giảng viên hướng dẫn: TS Mai Xuân Tráng
Hà Nội – Năm 2024
Copies for internal use only in Phenikaa University
Trang 3BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC PHENIKAA
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHẬN XÉT ĐỒ ÁN/KHÓA LUẬN TỐT NGHIỆP
CỦA GIẢNG VIÊN HƯỚNG DẪN
Giảng viên hướng dẫn: TS Mai Xuân Tráng Bộ môn: Khoa học máy tính
Tên đề tài: Xây dựng ứng dụng trí tuệ nhân tạo nhận dạng cử chỉ bàn tay người
Sinh viên thực hiện: Trần Hồng Thu Lớp: K13-CNTT-KHDL
NỘI DUNG NHẬN XÉT
I Nhận xét ĐAKLTN:
Nhận xét về hình thức: Đồ án tốt nghiệp có bố cục tốt, rõ ràng với các chương và mục tiêu các chương rõ ràng cho một dự án phát triển phần mềm Nội dung các chương được sắp xếp khoa học Đinh dạng các chương, mục, hình ảnh đúng chuẩn
Tính cấp thiết của đề tài: Đề tài thể hiện năng lực của sinh viên trong tiếp cận, học hỏi, và thực hành với các thuật toán Trí tuệ nhân tạo và các công cụ để xây dựng một ứng dụng đơn giản để nhận diện cử chỉ bàn tay người Việc thực hiện đề tài này giúp sinh viên hiểu được quy trình thực hiện một sản phẩm sử dụng công nghệ thông tin để phục
vụ lĩnh vực khác
Mục tiêu của đề tài: Mục tiêu của đề tài là xây dựng hệ thống thông minh sử dụng các thuật toán học sâu để nhận diện cử chỉ bàn tay người, phục vụ trong các tác vụ trong lớp học
Nội dung của đề tài: Đề tài thực hiện việc nghiên cứu và sử dụng các thuật toán học sâu (Yolo, VGG) để xây dựng một ứng dụng thông minh đơn gian Sinh viên đã tiến hành khảo sát yêu cầu, phân tích, thiết kế và xây dựng hệ thống Sinh viên tiến hành thu tập dữ liệu, gắn nhãn dữ liệu và huấn luyện các mô hình học sâu
Tài liệu tham khảo: Tài liệu tham khảo đầy đủ, được tổ chức đúng chuẩn
Phương pháp nghiên cứu: Sinh viên tiến định nghĩa các cử chỉ tay người, tiến hành thu tập dữ liệu và gắn nhãn cho các cử chỉ Sử dụng dữ liệu để huấn luyện và tối ưu các mô hình học sâu Sử dụng các mô hình đã huấn luyện để xây dựng ứng dụng web nhận diện cử chỉ bàn tay người
Tính sáng tạo và ứng dụng: Sinh viên sáng tạo, chủ động phát triển các chức năng
Copies for internal use only in Phenikaa University
Trang 4quan trọng trong hệ thống Dự án có tính ứng dụng trong thực tiễn
II Nhận xét tinh thần và thái độ làm việc của sinh viên:
Sinh viên có thái độ và tinh thần làm việc tốt, luôn có ý thức học hỏi, và tự giác báo cáo tiến độ cho giảng viên hướng dẫn Có ý thức hoàn thành hết các yêu cầu được giao về chức năng của hệ thống
III Kết quả đạt được:
Đồ án đáp ứng các yêu cầu về mặt phân tích, thiết kế và phát triển hệ thống, xây dựng mô hình demo và đáp ứng được cơ bản các yêu cầu của giảng viên hướng dẫn
Đồ án đáp ứng yêu cầu của đồ án tốt nghiệp ngành Công nghệ thông tin
IV Kết luận: Đồng ý cho bảo vệ: Không đồng ý cho bảo vệ:
Hà Nội, ngày 21 tháng 3 năm 2024
Trang 5BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC PHENIKAA
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHẬN XÉT ĐỒ ÁN/KHÓA LUẬN TỐT NGHIỆP
CỦA GIẢNG VIÊN PHẢN BIỆN
Giảng viên phản biện: Bộ môn: Khoa học máy tính
Tên đề tài: Xây dựng ứng dụng trí tuệ nhân tạo nhận dạng cử chỉ bàn tay người
Sinh viên thực hiện: Trần Hồng Thu Lớp: K13-CNTT-KHDL
Giảng viên hướng dẫn: TS Mai Xuân Tráng
NỘI DUNG NHẬN XÉT I Nhận xét ĐAKLTN: - Bố cục, hình thức trình bày:
- Đảm bảo tính cấp thiết, hiện đại, không trùng lặp:
- Nội dung:
- Mức độ thực hiện:
II Kết quả đạt được:
III Ưu nhược điểm:
IV Kết luận: Đồng ý cho bảo vệ: Không đồng ý cho bảo vệ: Hà Nội, ngày tháng năm 20
GIẢNG VIÊN PHẢN BIỆN
(Ký, ghi rõ họ tên)
Copies for internal use only in Phenikaa University
Trang 6LỜI CAM ĐOAN
Tên tôi là: TRẦN HỒNG THU
Mã sinh viên: 19010031 Lớp: CNTT-KHDL K13 Ngành: Công nghệ thông tin Tôi đã thực hiện đồ án/khóa luận tốt nghiệp với đề tài:
Xây dựng ứng dụng trí tuệ nhân tạo nhận dạng cử chỉ bàn tay người
Tôi xin cam đoan đây là đề tài nghiên cứu của riêng tôi và được sự hướng dẫn của: TS Mai Xuân Tráng
Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa được các tác giả khác công bố dưới bất kỳ hình thức nào Nếu phát hiện có bất kỳ hình thức gian lận nào tôi xin hoàn toàn chịu trách nhiệm trước pháp luật
TS Mai Xuân Tráng Trần Hồng Thu
Copies for internal use only in Phenikaa University
Trang 7Trong quá trình làm đồ án, em đã cố gắng hết mình, vì thời gian có hạn, khả năng nghiên cứu và kinh nghiệm thực tế còn hạn chế nên bài báo cáo sẽ có nhiều thiếu sót
Em rất mong nhận đƣợc sự đóng góp cũng nhƣ cảm thông, chia sẻ của quý Thầy cô và các bạn để em có điều kiện bổ sung, nâng cao kiến thức tốt hơn cho việc học tập, nghiên cứu và công việc sau này
Cuối cùng em kính chúc quý Thầy cô dồi dào sức khỏe để tiếp tục sự nghiệp cao quý của mình và truyền đạt nhiều kiến thức cho thế hệ mai sau
Em xin trân trọng cảm ơn!
Hà Nội, ngày 21 tháng 3 năm 2024
Sinh viên thực hiện Trần Hồng Thu
Copies for internal use only in Phenikaa University
Trang 8MỤC LỤC
Danh sách hình vẽ viii
Danh sách bảng – biểu đồ x
Danh sách tên viết tắt xi
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 2
1.1 Giới thiệu về đề tài 2
1.1.1 Đặt vấn đề 2
1.1.2 Mục tiêu nghiên cứu 3
1.1.3 Phương pháp nghiên cứu 4
1.2 Khái niệm về cử chỉ tay 4
1.3 Phân tích bài toán nhận diện vùng tay 7
1.4 Phân tích bài toán phân loại cử chỉ tay 8
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 10
2.1 Deep learning 10
2.2 Thị giác máy tính 11
2.1.1 Khái niệm về thị giác máy tính 11
2.1.2 Các bài toán lớn trong thị giác máy tính 13
2.1.3 Thư viện OpenCV 15
2.3 VGG-16 17
2.4 Object Detection 18
2.5 YOLO 19
2.6 FLASK - API 26
CHƯƠNG 3: GIẢI PHÁP VÀ TRIỂN KHAI THỰC NGHIỆM 29
3.1 Lựa chọn giải pháp 29
3.1.1 Giải pháp 29
3.1.2 Thuật toán và hướng giải quyết 31
3.2 Triển khai thực nghiệm 33
3.2.1 Bài toán nhận diện vùng tay 33 Copies for internal use only in Phenikaa University
Trang 93.2.2 Bài toán phân loại cử chỉ tay 40
3.2.3 Triển khai và deploy flask web app 47
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51
4.1 Kết luận 51
4.2 Hướng phát triển 52
TÀI LIỆU THAM KHẢO 53
Copies for internal use only in Phenikaa University
Trang 10Hình 2.3: Hình ảnh minh họa về nhận diện đối tượng (Object Detection)
Hình 2.4: Hình minh họa về kết quả của Phân loại hình ảnh Image Classification
Hình 2.5: Hình ảnh minh họa về Phân tích vùng (Image Segmentation)
Hình 2.6: Hình ảnh minh họa về Nhận diện khuôn mặt (Face Detection)
Hình 2.7: Hình ảnh minh họa về Theo dõi đối tượng (Object Tracking)
Hình 2.8: OpenCV
Hình 2.9: Kiến trúc VGG-16
Hình 2.10: Khái quát về YOLO
Hình 2.11: Kiến trúc output của mô hình YOLO
Hình 2.12: Xác định anchor box cho một vật thể
Hình 2.13: Thời gian YOLO phát triển ra mắt các phiên bản
Hình 2.14: So sánh số lượng tham số đầu vào (Parameters) và Tốc độ xử lý ảnh (nguồn: Hình ảnh từ kho lưu trữ Ultralytics YOLOv8)
Hình 2.15: Kiến trúc mô hình YOLOv8
Hình 2.16: Cấu trúc Luồng xử lý
Hình 3.1: Cấu trúc luồng xử lý của hệ thống
Hình 3.2: Một số dữ liệu của bài toán nhận diện vùng tay
Hình 3.3: Ví dụ về data của bài toán nhận diện vùng tay
Hình 3.4: Thực hiện gán nhãn
Hình 3.5: Thư mục chứa ảnh và label của từng ảnh
Hình 3.6: Cân bằng màu sắc và ánh sáng của ảnh
Hình 3.7: Trước và sau khi loại bỏ nhiễu của ảnh
Hình 3.8: Train model YOLOv8 với 100 epochs
Copies for internal use only in Phenikaa University
Trang 11Hình 3.10: Ví dụ về data của bài toán phân loại cử chỉ tay
Hình 3.11: Tăng giảm độ sáng của ảnh
Hình 3.12: Lật ảnh theo chiều ngang,dọc
Hình 3.13: Xoay ảnh
Hình 3.14: Làm méo ảnh ngẫu nhiên
Hình 3.15: Kết quả phân loại trả về
Hình 3.16: Kết quả của cử chỉ tay hỗ trợ (help)
Hình 3.17: Kết quả của cử chỉ tay đồng ý (agree)
Hình 3.18: Kết quả của cử chỉ tay có câu hỏi (question)
Hình 3.19: Kết quả của cử chỉ tay muốn uống nước (drink)
Hình 3.20: Kết quả của cử chỉ tay đi wc (restroom)
Hình 3.21: Kết quả của cử chỉ tay không đồng ý (disagree)
Hình 3.22: Kết quả của cử chỉ tay xong bài tập (done)
Copies for internal use only in Phenikaa University
Trang 12Danh sách bảng – biểu đồ
Biểu đồ 3.1: Biểu đồ Tổng hợp số lượng Dữ liệu chia thành tập train ,val ,test
Biểu đồ 3.2: Biểu đồ thể hiện mối tương quan giữa số epoch và giá trị Loss, mAP tương ứng của mô hình yolov8n sau khi train với 100 epoch
Biểu đồ 3.3: Biểu đồ F1-Confidence Curve
Biểu đồ 3.4: Biểu đồ Tổng hợp số lượng Dữ liệu chia thành tập train, test
Biểu đồ 3.5: Biểu đồ accuracy và loss
Copies for internal use only in Phenikaa University
Trang 13Danh sách tên viết tắt
Networks
Copies for internal use only in Phenikaa University
Trang 14MỞ ĐẦU
Trong thời đại số hóa ngày nay, việc kết hợp công nghệ trí tuệ nhân tạo vào lĩnh vực giáo dục đang trở thành xu hướng phổ biến, mang lại những cơ hội mới và tiềm năng lớn cho quá trình học tập và giảng dạy Trong bối cảnh đó, đồ án “Xây dựng ứng dụng trí
tuệ nhân tạo nhận dạng cử chỉ bàn tay người” ra đời với mục tiêu cung cấp một công cụ
hữu ích và hiệu quả cho việc học và thực hành các cử chỉ tay trong lớp học
Ứng dụng này không chỉ là một công cụ nhận diện các cử chỉ tay mà còn là một nền tảng học tập tương tác, cho phép học sinh tiếp cận và thực hành các kỹ năng giao tiếp không ngôn ngữ một cách dễ dàng và hiệu quả Việc sử dụng trí tuệ nhân tạo trong việc nhận diện và học cử chỉ tay không chỉ giúp nâng cao khả năng giao tiếp của học sinh mà còn tạo ra một môi trường học tập tích cực và đa dạng
Trong báo cáo này, em sẽ trình bày quá trình phát triển và triển khai của ứng dụng, bao gồm cả quá trình thiết kế, xây dựng Bằng cách kết hợp giữa công nghệ trí tuệ nhân tạo và giáo dục, em hy vọng rằng đồ án này sẽ góp phần vào việc tạo ra một môi trường học tập hiện đại, sáng tạo và tích cực, đồng thời nâng cao khả năng giao tiếp và hiểu biết của các học sinh
Việc sử dụng trang web để học và thực hành các cử chỉ tay giúp giảm lượng giấy tiêu thụ, bởi vì không cần in ra tài liệu học Điều này giúp giảm lượng rác thải và tiết kiệm tài nguyên tự nhiên.Sử dụng trang web không chỉ giúp tiết kiệm giấy mà còn giúp tiết kiệm năng lượng Không có cần phải in và vận chuyển tài liệu, điều này giúp giảm lượng năng lượng tiêu thụ và khí thải liên quan đến quá trình in ấn và vận chuyển
Việc sử dụng công nghệ trực tuyến trong giáo dục có thể khuyến khích ý thức về bảo vệ môi trường trong cộng đồng giáo dục Học sinh có thể trở thành những nhà lãnh đạo trong việc thúc đẩy các hành động bảo vệ môi trường thông qua việc sử dụng công nghệ để học và làm việc.Giảm lượng giấy tiêu thụ cũng đồng nghĩa với việc giảm lượng rác thải và giữ cho môi trường học trở nên sạch sẽ hơn Điều này có thể tạo ra một môi trường học tích cực và thuận lợi cho quá trình học tập Copies for internal use only in Phenikaa University
Trang 15CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu về đề tài
1.1.1 Đặt vấn đề
Giáo viên thường phải đối mặt với vấn đề học sinh la hét khi đọc to hoặc làm gián đoạn bài học nhóm nhỏ và hội nghị đọc sách để xin đi vệ sinh, uống nước, cần sự hỗ trợ hoặc đặt câu hỏi Những sự gián đoạn này thường khiến các học sinh khác mất tập trung
và không tập trung vào bài giảng
Đôi khi, học sinh đặt những câu hỏi phá vỡ toàn bộ cấu trúc mà giáo viên đang làm việc (Ai đã từng đặt câu hỏi và được yêu cầu nghỉ đi vệ sinh? Câu trả lời là tất cả mọi người!), học sinh đặt câu hỏi không đúng lúc Dù thế nào đi nữa, việc thể hiện cử chỉ tay của người quản lý lớp học sẽ giành lại quyền kiểm soát lớp học của mình
Có rất nhiều tín hiệu tay của người quản lý lớp học, từ tín hiệu giơ tay đơn giản hoặc giơ ngón tay cái lên,… Tại đồ án này em sẽ lựa chọn một số cử chỉ tay cơ bản như như đồng ý (agree), không đồng ý(disagree), xong bài tập (done), muốn uống nước (drink), có câu hỏi (question), đi wc (restroom), cần hỗ trợ (help)
Về cơ bản, thay vì một học sinh giơ tay, chờ được chú ý và gọi tên, sau đó bằng lời nói yêu cầu đi vệ sinh, cần sự hỗ trợ hoặc uống nước, thay vào đó, học sinh đó giơ một số ngón tay cụ thể (cử chỉ tay cụ thể) Điều này cho giáo viên thấy những gì học sinh đó cần
và giáo viên có thể chỉ cần gật đầu thừa nhận học sinh đó Việc này có hiệu quả trong suốt quá trình học và đặc biệt hữu ích khi đang quản lý với 1 nhóm nhỏ hay là một lớp lớn có rất nhiều học sinh
Trong giáo dục, việc giao tiếp không chỉ bằng lời nói mà còn thông qua các cử chỉ tay là một phần quan trọng của quá trình học và truyền đạt kiến thức Việc sử dụng các cử chỉ tay thường được coi là một cách hiệu quả để giao tiếp và truyền đạt ý kiến một cách rõ ràng và nhanh chóng
Với nhận thức về tầm quan trọng của việc này, do đó việc xây dựng một ứng dụng ứng dụng trí tuệ nhân tạo nhận dạng cử chỉ bàn tay ra đời với mục đích cung cấp cho học sinh một công cụ hữu ích để học, ghi nhớ và áp dụng các cử chỉ cơ bản một cách hiệu quả và thú vị nhất
Tăng cường khả năng nhận biết: Học sinh sẽ được tiếp xúc và thực hành nhận biết các cử chỉ tay thông qua việc sử dụng ứng dụng trang web này Việc lặp lại quá trình này
Copies for internal use only in Phenikaa University
Trang 16giúp củng cố và tăng cường khả năng nhận biết của họ đối với các cử chỉ tay cụ thể
Phát triển kỹ năng ghi nhớ: Bằng cách thực hành nhận biết và ghi nhớ các cử chỉ tay trên trang web của bạn, học sinh có thể phát triển kỹ năng ghi nhớ hiệu quả Việc lặp lại quá trình này giúp họ tăng cường khả năng nhớ lâu dài các cử chỉ tay đã học
Tăng cường tính tương tác: Trang web của bạn cung cấp một nền tảng tương tác giữa học sinh và nội dung học tập Việc tham gia vào việc tương tác với các cử chỉ tay trên trang web giúp học sinh tăng cường sự tương tác và tham gia tích cực trong quá trình học
Hỗ trợ cho việc áp dụng trong lớp học: Khi học sinh đã học và ghi nhớ các cử chỉ tay trên ứng dụng trang web, học sinh có thể áp dụng những kỹ năng này vào lớp học thực
tế Điều này giúp học sinh tăng cường sự tự tin và tính hiệu quả trong việc sử dụng giao tiếp không ngôn ngữ trong lớp học
1.1.2 Mục tiêu nghiên cứu
Mục tiêu nghiên cứu của đề tài “Xây dựng ứng dụng trí tuệ nhân tạo nhận dạng cử chỉ bàn tay người” được xác định như sau:
Xây dựng tập dữ liệu phục vụ cho quá trình giải quyết bài toán
Nghiên cứu và huấn luyện mô hình YOLOv8 để nhận diện vùng bàn tay người tốt nhất
Nghiên cứu và huấn luyện mô hình VGG-16 để nhận diện cử chỉ tay
Ứng dụng nền tảng Flask để xây dựng ứng dụng Web nhận diện cử chỉ tay người kết hợp hai mô hình đã huấn luyện
Mục tiêu của nghiên cứu là tạo ra một nền tảng trực tuyến giúp học sinh học và ghi nhớ các cử chỉ tay, sau đó áp dụng chúng vào lớp học là rất cần thiết và mang lại nhiều lợi ích quan trọng Đồ án này không chỉ giúp tăng cường kỹ năng giao tiếp của học sinh mà còn tạo ra một môi trường học tích cực và hỗ trợ cho việc áp dụng thực tế trong lớp học
Phát triển kỹ năng giao tiếp không ngôn ngữ:
Học sinh có cơ hội học và thực hành các cử chỉ tay thông qua ứng dụng này Việc này giúp họ phát triển kỹ năng giao tiếp không ngôn ngữ, một kỹ năng quan trọng trong việc tương tác và giao tiếp hiệu quả không chỉ trong lớp học mà còn trong cuộc sống hàng ngày
Copies for internal use only in Phenikaa University
Trang 17Tăng cường tính tương tác và tham gia:
Bằng cách tham gia vào việc học và thực hành các cử chỉ tay trên ứng dụng, học sinh có thể tăng cường tính tương tác và tham gia vào quá trình học một cách tích cực Điều này giúp tạo ra một môi trường học tích cực và hỗ trợ sự tiếp nhận thông tin và kiến thức
Tạo ra một phương tiện học tập linh hoạt:
Ứng dụng này cung cấp một phương tiện học tập linh hoạt cho học sinh, giúp họ có thể học và thực hành bất kỳ lúc nào và ở bất kỳ đâu Điều này tạo điều kiện cho việc học tập linh hoạt và thuận tiện, từ đó tăng cường tính chủ động và sự tự quản lý trong việc học
Áp dụng kiến thức vào thực tế:
Mục tiêu cuối cùng của đồ án là tạo điều kiện cho học sinh áp dụng những kỹ năng
họ học được thông qua ứng dụng vào thực tế trong lớp học Việc này giúp họ trở thành những người học có khả năng áp dụng kiến thức và kỹ năng một cách linh hoạt và hiệu quả
1.1.3 Phương pháp nghiên cứu
Ứng dụng mô hình học máy YOLOv8 và VGG-16 để hỗ trợ giải quyết vấn đề nhận diện và phân loại cử chỉ tay
Từ đó triển khai và phát triển nền tảng Flask để xây dựng ứng dụng Web nhận diện
cử chỉ tay người kết hợp hai mô hình đã huấn luyện
Tối ưu hóa các tham số trong mô hình học máy để cải thiện độ chính xác và hiệu suất của hệ thống
Áp dụng các kỹ thuật xử lý ảnh nhằm xác định vùng vật thể, đặc biệt là vùng tay,
để làm nền tảng cho việc nhận diện và phân loại cử chỉ tay
1.2 Khái niệm về cử chỉ tay
Cử chỉ tay là hành động hoặc sự chuyển động của tay, cổ tay và ngón tay để diễn đạt ý nghĩa, truyền đạt thông điệp hoặc tương tác với người khác Cử chỉ tay có thể được
sử dụng trong giao tiếp để bổ sung hoặc thay thế cho từ ngữ, hoặc để truyền đạt cảm xúc,
ý kiến, ý định, hoặc chỉ dẫn Có nhiều loại cử chỉ tay khác nhau, bao gồm cử chỉ như vuốt tóc, đưa tay ra để chỉ đường, hoặc cử chỉ như việc gật đầu, bắt tay để biểu thị sự đồng tình hoặc sự chấp nhận Cử chỉ tay thường được xem là một phần không thể thiếu trong giao
Copies for internal use only in Phenikaa University
Trang 18tiếp non-verbal, giúp tăng cường hiểu biết và giao tiếp hiệu quả giữa con người
Hình 1.1 Ngôn ngữ kí hiệu tay
Hình 1.2 Ký hiệu các số bằng cử chỉ tay
Copies for internal use only in Phenikaa University
Trang 19Hình 1.3 Ký hiệu cử chỉ tay khi nhảy dù
Mặc dù thực tế có rất nhiều cử chỉ tay, tuy nhiên, em đã tập trung vào một số cử chỉ cơ bản phổ biến nhất và thường được sử dụng trong lớp học Bao gồm đồng ý(agree), không đồng ý(disagree), làm xong bài (done), muốn uống nước(drink), đi wc (restroom), cần hỗ trợ (help), có câu hỏi (question) Bằng cách tham gia vào việc học và thực hành các cử chỉ tay trên ứng dụng, học sinh có thể tăng cường tính tương tác và tham gia vào quá trình học một cách tích cực Điều này nhằm mục đích một môi trường học tích cực và
Copies for internal use only in Phenikaa University
Trang 20giúp học sinh tập trung vào việc học và áp dụng các cử chỉ cơ bản một cách hiệu quả và thú vị nhất
Tập trung vào vùng quan trọng:
Bằng cách xác định vùng tay trước khi phân loại cử chỉ, chúng ta có thể giảm độ phức tạp của bài toán nhận diện và tối ưu hóa quá trình phân loại Thay vì phải quét toàn
bộ hình ảnh hoặc video để tìm kiếm bàn tay, việc đã biết được vị trí của tay giúp chúng ta tập trung vào vùng quan trọng này, tăng tốc độ xử lý và giảm bớt tài nguyên tính toán cần thiết
Cải thiện hiệu suất và chính xác:
Nhận diện vùng tay trước khi phân loại cử chỉ giúp cải thiện hiệu suất và chính xác của hệ thống Bằng cách tập trung vào vùng tay, chúng ta có thể tối ưu hóa các thuật toán phân loại và giảm độ phức tạp của bài toán, từ đó nâng cao độ tin cậy của hệ thống trong việc nhận diện các cử chỉ bàn tay thường gặp trong môi trường lớp học
Trong tổng thể, phân tích bài toán nhận diện vùng tay là một phần quan trọng của quy trình xây dựng hệ thống nhận diện cử chỉ bàn tay, giúp tối ưu hóa quá trình nhận diện
và cải thiện hiệu suất của hệ thống trong ứng dụng thực tế
Copies for internal use only in Phenikaa University
Trang 21Nghiên cứu sẽ xem xét các phương pháp và công nghệ nhận diện hình ảnh, chẳng hạn như mạng nơ-ron YOLO (You Only Look Once) hoặc các phương pháp khác của Trí Tuệ Nhân Tạo để thực hiện
1.4 Phân tích bài toán phân loại cử chỉ tay
Mục Tiêu Của Bài Toán:
Mục tiêu chính của bài toán phân loại cử chỉ tay là nhận diện và phân loại một loạt các cử chỉ tay phổ biến được sử dụng trong lớp học, bao gồm một số cử chỉ cơ bản sau : đồng ý(agree), không đồng ý(disagree), làm xong bài (done), muốn uống nước(drink), đi
wc (restroom), cần hỗ trợ (help), có câu hỏi (question), học sinh thường sử dụng trong quá trình học tập trong lớp học
Dữ Liệu Đầu Vào:
Dữ liệu đầu vào cho đồ án bao gồm ảnh của các cử chỉ tay trong lớp học, được gắn nhãn tương ứng với tên folder là các loại cử chỉ tương ứng như đồng ý(agree), không đồng ý(disagree), làm xong bài (done), muốn uống nước(drink), đi wc (restroom), cần hỗ trợ (help), có câu hỏi (question), Đảm bảo rằng dữ liệu đa dạng và đầy đủ, với nhiều góc chụp, điều kiện ánh sáng và tình huống khác nhau để huấn luyện mô hình nhận diện cử chỉ tay một cách chính xác và hiệu quả
Các thách thức:
Sự thay đổi về điều kiện ánh sáng và nền phòng học có thể ảnh hưởng đến việc nhận diện cử chỉ tay Điều này đòi hỏi mô hình phải được huấn luyện và kiểm tra trên các tình huống ánh sáng và nền khác nhau
Giải Pháp Trí Tuệ Nhân Tạo (AI):
Sử dụng AI và máy học, đặc biệt là Deep Learning, đã giúp cải thiện khả năng nhận diện và phân loại cử chỉ.Cụ thể, Mạng nơ-ron tích chập (CNN) và mạng VGG16 đã trở thành một công cụ quan trọng trong việc phân loại cử chỉ, nó có những ưu điểm sau: Hiệu suất cao: VGG-16 là một trong những kiến trúc CNN hiệu suất cao và đã được chứng minh là hiệu quả trong nhiều nhiệm vụ nhận diện hình ảnh khác nhau Sử dụng VGG-16 giúp đảm bảo rằng mô hình có thể đạt được độ chính xác cao trong việc nhận diện cử chỉ tay trong lớp học
Dễ triển khai: VGG-16 có một kiến trúc đơn giản và dễ hiểu, điều này làm cho việc triển khai mô hình trở nên dễ dàng hơn Có thể sử dụng các trọng số được huấn luyện
Copies for internal use only in Phenikaa University
Trang 22trước của VGG16 hoặc huấn luyện lại mô hình trên dữ liệu cá nhân một cách dễ dàng Khả năng tái sử dụng: VGG-16 đã được huấn luyện trước trên một tập dữ liệu lớn
và đa dạng, do đó nó có khả năng tổng quát hóa tốt trên các nhiệm vụ nhận diện hình ảnh khác nhau Bằng cách sử dụng VGG-16, có thể tái sử dụng kiến thức đã học được từ các nhiệm vụ khác để cải thiện hiệu suất của mô hình nhận diện cử chỉ tay trong lớp học Tóm lại, mục đích của việc sử dụng VGG-16 trong giải pháp trí tuệ nhân tạo là đảm bảo hiệu suất cao, dễ triển khai và khả năng tái sử dụng, giúp cải thiện khả năng nhận diện cử chỉ tay trong môi trường lớp học
Các Bước Thực Hiện:
● Thu thập dữ liệu đầu vào từ camera và cắt ảnh để lấy mỗi vùng tay
● Tạo một mạng CNN sử dụng kiến trúc của VGG-16, có thể sử dụng trọng số được huấn luyện trước từ tập dữ liệu ImageNet (pre-trained weights) Đóng băng các layer, tạo model mới, thêm các layer fully connected và dropout
● Lưu trọng số của mô hình sau mỗi epoch trong quá trình huấn luyện
Copies for internal use only in Phenikaa University
Trang 23CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Deep learning
Deep Learning (học sâu) có thể được xem là một lĩnh vực con của Machine
Learning (học máy) – ở đó các máy tính sẽ học và cải thiện chính nó thông qua các thuật toán Deep Learning được xây dựng dựa trên các khái niệm phức tạp hơn rất nhiều, chủ yếu hoạt động với các mạng nơ-ron nhân tạo để bắt chước khả năng tư duy và suy nghĩ của bộ não con người
Deep Learning là một phương pháp của Machine Learning Mạng nơ- ron nhân tạo trong Deep Learning được xây dựng để mô phỏng khả năng tư duy của bộ não con người
Bộ não con người đã trở thành nguồn cảm hứng cho kiến trúc mạng Nơ-ron Các
tế bào não, hay còn gọi là Nơ-ron, trong não con người tạo thành một mạng lưới phức tạp, với tính liên kết cao và khả năng truyền tín hiệu điện để xử lý thông tin Tương tự, mạng Nơ-ron nhân tạo được tạo ra từ các tế bào Nơ-ron nhân tạo, hoạt động cùng nhau
để giải quyết các vấn đề Các Nơ-ron nhân tạo là các thành phần phần mềm, được gọi là Node (các nút), và mạng Nơ-ron nhân tạo là các chương trình phần mềm hoặc thuật toán,
sử dụng hệ thống máy tính để thực hiện các phép toán
Hình 2.1 Mô hình mạng Nơ-ron
Copies for internal use only in Phenikaa University
Trang 24Về cơ bản kiến trúc mạng Nơ-ron gồm 3 phần, đó là: Lớp đầu vào (Input), Lớp ẩn (Hidden) và Lớp đầu ra (Output), cụ thể như sau:
1) Lớp đầu vào: Có nhiệm vụ tiếp nhận dữ liệu đầu vào, phân loại lượng dữ liệu
này và chuyển tiếp tới lớp ẩn
2) Lớp ẩn: Số lượng lớp ẩn được thiết lập tùy theo độ phức tạp của dữ liệu cần xử
lý Các lớp này có nhiệm vụ xử lý dữ liệu rồi chuyển tiếp qua lớp tiếp theo
3) Lớp đầu ra: Lớp này hiển thị kết quả sau quá trình tính toán Số lượng note sẽ
tùy thuộc vào yêu cầu đầu ra của bài toán cần xử lý Ví dụ bài toán cần trả lời câu hỏi đúng hay sai, số lượng note sẽ là 2 trả về theo dạng nhị phân 0 hoặc 1
2.2 Thị giác máy tính
2.1.1 Khái niệm về thị giác máy tính
Thị giác máy tính [2] (Computer vision) là một lĩnh vực bao gồm các phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng các hình ảnh và, nói chung
là dữ liệu đa chiều từ thế giới thực để cho ra các thông tin số hoặc biểu tượng, ví dụ trong các dạng quyết định Nói một cách đơn giản hơn, thị giác máy tính nhằm tạo ra một hệ thống nhân tạo có thể tiếp nhận các hình ảnh thu được hay tập dữ liệu đa chiều để phân tích, xử lí nó theo ý muốn
Máy móc ngày càng thông minh, nó không chỉ thay thế con người làm những công việc tính toán đơn giản đến khó khăn, mà nó còn có khả năng bắt chước động vật và con người Một trong số những khả năng đó là nhận biết được thế giới qua “mắt” của nó Bằng việc kết hợp các mô hình khác như: máy học, mạng noron, … giúp cho chúng dần tiến tới một hệ thống nhân tạo có những quyết định linh hoạt và chính xác hơn
Thị giác máy tính bao gồm các lĩnh vực sau:
● Xử lí hình ảnh: Phát triển các thuật toán xử lí ảnh như tăng/giảm chất lượng ảnh, lọc nhiễu
● Nhận diện mẫu: Giải thích các kỹ thuật khác nhau để phân loại mẫu
Quang trắc: Liên quan đến việc thu thập các số đo chính xác từ hình ảnh
Copies for internal use only in Phenikaa University
Trang 25Hình 2.2 Computer Vision
Thị giác máy tính là một chuyên ngành đã phát triển khá lâu và có nhiều ứng dụng rộng rãi trong đời sống, giúp cho máy tính “nhìn” được như con người Nó đã được ứng dụng rộng rãi trong nhiều lĩnh vực, các thành tựu nổi bật đáng kể đến như:
Trong y học, các thuật toán xử lí ảnh cho phép biến đổi hình ảnh được tạo ra từ nguồn bức xạ X-ray hay nguồn bức xạ siêu âm hình ảnh quang học trên bề mặt phim x-quang hoặc trực tiếp lên bề mặt màn hình hiển thị Hình ảnh các cơ quan chức năng của con người được xử lí tiếp nâng cao độ tương phản, lọc, tách các phần cần thiết hay tạo ra hình ảnh không gian 3 chiều (siêu âm ba chiều) Mới nhất hiện nay, thị giác máy tính tạo
ra ứng dụng giúp hỗ trợ thị giác cho người mù…
Trong lĩnh vực địa chất, kỹ thuật làm nổi đường biên và khôi phục hình ảnh giúp nâng cao chất lượng vệ tinh tạo ra bản đồ địa hình 3D với độ chính xác cao
Trong khí tượng học, ảnh thông qua vệ tinh, đưa ra các thông tin Trái Đất trên một vùng rộng lớn, giúp cho việc dự báo thời tiết chính xác hơn
Trong lĩnh vực hình sự và bảo mật, kiểm soát truy cập, trong quá trình xử lí nhận dang vân tay, khuôn mặt hay nhận dạng biển số xe giúp phát hiện nhanh đối tượng nghi vấn, cũng như nâng cao quá trình bảo mật, giám sát hay nhận dạng mục tiêu trong lĩnh vực quân sự
Không chỉ thế, thị giác máy tính ứng dụng trong việc điều khiển tiến trình như các robot trong công nghiệp, hay các thiết bị, xe tự hành hay trong các quá trình kiểm tra trong môi trường công nghiệp, …
Copies for internal use only in Phenikaa University
Trang 26Ngoài ra, thị giác máy tính còn có vai trò tương tác (đóng vai trò làm đầu vào cho thiết bị trong quá trình tương tác giữa người và máy)
2.1.2 Các bài toán lớn trong thị giác máy tính
Nhận diện đối tượng (Object Detection)[5,6]: Xác định vị trí và phân loại các đối tượng trong một hình ảnh hoặc video
Hình 2.3: Hình ảnh minh họa về nhận diện đối tượng (Object Detection)
Phân loại hình ảnh (Image Classification)[7,8,9]: Gán một nhãn hoặc lớp cho một hình ảnh từ một tập các lớp cho trước
Hình 2.4: Hình minh họa về kết quả của Phân loại hình ảnh Image Classification
Phân tích vùng (Image Segmentation)[10]: Phân chia hình ảnh thành các vùng hoặc đối tượng riêng biệt
Copies for internal use only in Phenikaa University
Trang 27
Hình 2.5: Hình ảnh minh họa về Phân tích vùng (Image Segmentation)
Nhận diện khuôn mặt (Face Detection): Xác định và xác minh vị trí của khuôn mặt trong một hình ảnh hoặc video
Hình 2.6: Hình ảnh minh họa về Nhận diện khuôn mặt (Face Detection)
Theo dõi đối tƣợng (Object Tracking): Theo dõi sự di chuyển của đối tƣợng qua các khung hình trong video
Copies for internal use only in Phenikaa University
Trang 28
Hình 2.7: Hình ảnh minh họa về Theo dõi đối tượng (Object Tracking)
Nhận diện hành động (Action Recognition)[13]: Nhận diện và phân loại các hành động hoặc sự tương tác trong video
Điều khiển động cơ (Visual Motor Control): Điều khiển các thiết bị dựa trên thông tin từ hình ảnh
Nhận diện vị trí và định vị (Localization and Pose Estimation): Xác định vị trí và hướng của đối tượng trong không gian 3D
2.1.3 Thư viện OpenCV
Project OpenCV được bắt đầu từ Intel năm 1999 bởi Gary Bradsky OpenCV (Open Source Computer Vision Library) là thư viện nguồn mở hàng đầu cho Computer Vision [2] và Machine Learning, và hiện có thêm tính năng tăng tốc GPUcho các hoạt động theo real-time.OpenCV được phát hành theo giấy phép BSD, do đó nó miễn phí cho
cả họctập và sử dụng với mục đích thương mại Nó có trên các giao diện C, C++, Pythonvà Java hỗ trợ Windows, Linux, macOS, iOS và Android OpenCV được thiết kế đểhỗ trợ hiệu quả về tính toán và chuyên dùng cho các ứng dụng real-time (thời gianthực) Nếu được viết trên C/C++ tối ưu, thư viện này có thể tận dụng được bộ xửlý
đa lõi (multi-core processing).OpenCV có một cộng đồng người dùng khá hùng hậu hoạt động trên khắp thếgiới bởi nhu cầu cần đến nó ngày càng tăng theo xu hướng chạy đua về
sử dụng Computer Vision [2] của các công ty công nghệ OpenCV hiện được ứng dụng
Copies for internal use only in Phenikaa University
Trang 29rộng rãi toàn cầu, với cộng đồng hơn 47.000 người, với nhiều mục đích và tính năng khác nhau từ interactive art, đến khai thác mỏ, khai thác web map hoặc qua robotic cao cấp
Hình 2.8: OpenCV
OpenCV có cấu trúc module, tức là nó bao gồm cả những thư viện liên kết tĩnh lẫn thư viện liên kết động Nắm rõ các module của OpenCV sẽ giúp bạn đọc hoàn toàn thấu hiểu OpenCV là gì
Core functionality (core): Module này sở hữu cơ chế rất nhỏ gọn Nó được dùng
để định hình các cấu trúc của cơ sở dữ liệu cơ bản, bao gồm cả những mảng đa chiều Ngoài ra nó còn xác định các chức năng của những module đi kèm khác nữa
Image Processing (imgproc): Đây là module được dùng cho quá trình xử lý hình ảnh Nó cho phép người dùng thực hiện các hoạt động như lọc hình ảnh tuyến tính và phi tuyến, thực hiện phép biến hình, thay đổi không gian màu, xây dựng biểu đồ và rất nhiều thao tác khác liên quan
Video Analysis (video): Giống như tên gọi của nó, module này cho phép phân tích các video Kết quả được trả về bao gồm các ước tính chuyển động, thực hiện tách nền và các phép toán theo dõi vật thể
Camera Calibration and 3D Reconstruction (calib3d): Module này cung cấp các thuật toán hình học đa chiều cơ bản và hiệu chuẩn máy ảnh single và stereo Ngoài ra nó
Copies for internal use only in Phenikaa University
Trang 30còn đưa ra các dự đoán kiểu dáng của đối tượng và sử dụng thuật toán thư tín âm thanh nổi cùng các yếu tố tái tạo 3D
2D Features Framework (features2d): Module này giúp phát hiện các tính năng nổi trội của bộ nhận diện, bộ truy xuất thông số và thông số đối chọi
Ngoài ra còn có rất nhiều module khác với đa dạng tính năng, ví dụ như: FLANN, Google test wrapper…
2.3 VGG-16
Với VGG-16[11], quan điểm về một mạng nơ ron sâu hơn sẽ giúp ích cho cải thiện
độ chính xác của mô hình tốt hơn Về kiến trúc thì VGG-16[11], vẫn dữ các đặc điểm của AlexNet nhưng có những cải tiến:
● Kiến trúc VGG-16 sâu hơn, bao gồm 13 layers tích chập 2 chiều (thay vì 5 so với AlexNet) và 3 layers fully connected
● Lần đầu tiên trong VGG-16[11], chúng ta xuất hiện khái niệm về khối tích chập (block) Đây là những kiến trúc gồm một tập hợp các layers CNN được lặp lại giống nhau Kiến trúc khối đã khởi nguồn cho một dạng kiến trúc hình mẫu rất thường gặp ở các mạng CNN kể từ đó
● VGG-16[11] kế thừa lại hàm activation ReLU ở AlexNet
● VGG-16[11] cũng là kiến trúc đầu tiên thay đổi thứ tự của các block khi xếp nhiều layers CNN + max pooling thay vì xen kẽ chỉ một layer CNN + max pooling Một bạn có câu hỏi tại Forum Machine Learning Cơ Bản về sự thay đổi này sẽ giúp cho VGG net cải thiện hơn như thế nào? Các layers CNN sâu hơn có thể trích lọc đặc trưng tốt hơn so với chỉ 1 layers CNN
● VGG-16[11], chỉ sử dụng các bộ lọc kích thước nhỏ 3x3 thay vì nhiều kích thước
bộ lọc như AlexNet Kích thước bộ lọc nhỏ sẽ giúp giảm số lượng tham số cho mô hình và mang lại hiệu quả tính toán hơn VD: Nếu sử dụng 2 bộ lọc kích thước 3x3 trên một featurs map (là output của một layer CNN) có độ sâu là 3 thì ta sẽ cần n_filters x kernel_size x kernel_size x n_channels = 2 x 3 x 3 x 3 = 54 tham số Nhưng nếu sử dụng 1 bộ lọc kích thước 5 x 5 sẽ cần 5 x 5 x 3 = 75 tham số 2 bộ lọc 3 x 3 vẫn mang lại hiệu quả hơn so với 1 bộ lọc 5 x 5
Mạng VGG-16 sâu hơn so với AlexNet và số lượng tham số của nó lên tới 138
Copies for internal use only in Phenikaa University
Trang 31triệu tham số Đây là một trong những mạng mà có số lượng tham số lớn nhất Kết quả của nó hiện đang xếp thứ 2 trên bộ dữ liệu ImageNet validation ở thời điểm public Ngoài
ra còn một phiên bản nữa của VGG-16[11], là VGG-19 tăng cường thêm 3 layers về độ sâu
Bắt đầu từ VGG-16[11], một hình mẫu chung cho các mạng CNN trong các tác
vụ học có giám sát trong xử lý ảnh đã bắt đầu hình thành đó là các mạng trở nên sâu hơn
và sử dụng các block dạng [Conv2D*n + Max Pooling]
Hình 2.9: Kiến trúc VGG-16
2.4 Object Detection
Một trong những lĩnh vực quan trọng của Trí tuệ nhân tạo (Artificial Intelligence)
là thị giác máy tính [2] (Computer Vision) Computer Vision [2] là một lĩnh vực bao gồm các phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng các hình ảnh, phát hiện các đối tượng, tạo ảnh, siêu phân giải hình ảnh và nhiều hơn vậy Object Detection [2] có lẽ là khía cạnh sâu sắc nhất của thị giác máy do số lần sử dụng trong thực tế
Object Detection [2] đề cập đến khả năng của hệ thống máy tính và phần mềm để định vị các đối tượng trong một hình ảnh và xác định từng đối tượng Object Detection [2] đã được sử dụng rộng rãi để phát hiện khuôn mặt, phát hiện xe, đếm số người đi bộ,
hệ thống bảo mật và xe không người lái Có nhiều cách để nhận diện đối tượng có thể được sử dụng cũng như trong nhiều lĩnh vực thực hành Giống như mọi công nghệ khác, một loạt các ứng dụng sáng tạo và tuyệt vời của Object Detection [2] sẽ đến từ các lập trình viên và các nhà phát triển phần mềm
Bắt đầu sử dụng các phương pháp nhận diện đối tượng hiện đại trong các ứng dụng và hệ thống, cũng như xây dựng các ứng dụng mới dựa trên các phương pháp này Việc triển nhận diện đối tượng sớm liên quan đến việc sử dụng các thuật toán cổ điển, giống như các thuật toán được hỗ trợ trong OpenCV, thư viện Computer vision [2] phổ
Copies for internal use only in Phenikaa University
Trang 32biến Tuy nhiên, các thuật toán cổ điển này không thể đạt được hiệu suất đủ để làm việc trong các điều kiện khác nhau
Việc áp dụng đột phát và nhanh chóng của deep learning vào năm 2012 đã đưa vào sự tồn tại các thuật toán và phương pháp phát hiện đối tượng như R-CNN, Fast-RCNN, Faster-RCNN, RetinaNet, SSD và YOLO Sử dụng các phương pháp và thuật toán này, dựa trên deep learning và cũng dựa trên việc học máy đòi hỏi rất nhiều kiến thức về toán học và việc học sâu Có hàng triệu chuyên gia lập trình và các nhà phát triển phần mềm muốn tích hợp và tạo ra các sản phẩm mới sử dụng Object detection [2] Nhưng công nghệ này xa tầm tay của họ và phức tạp để hiểu và sử dụng thực tế của nó
Các mô hình Object detection [2] dựa trên Region-Base Convolutional Neural Network (R-CNNs) gồm các lớp mô hình: R-CNN, Fast R-CNN và Faster R- CNN là những mô hình sơ khai, có tốc độ xử lý chậm Thuật toán dựa trên 2 phần xử lý riêng biệt
là phát hiện các region proposal và phân loại hình ảnh
2.5 YOLO
Lớp các mô hình YOLO[3] có tốc độ thời gian xử lý thực Là công nghệ state-of-art nhất hiện nay có tốc độ xử lý realtime, phát hiện được lên tới 9000 loại đối tượng 1.2.7 YOLO
YOLO[3] là một mô hình mạng CNN cho việc phát hiện, nhận dạng, phân loại đối tượng YOLO[3] được tạo ra từ việc kết hợp giữa các convolutional layers và connected layers Trong đó các convolutional layers sẽ trích xuất ra các feature của ảnh, còn full-connected layers sẽ dự đoán ra xác suất đó và tọa độ của đối tượng
So với họ mô hình R-CNN, YOLO[3] và SSD có tốc độ được cải thiện rất nhiều Các thuật toán này coi việc phát hiện đối tượng như một bài toán hồi quy, chỉ dùng một
mô hình để xác định đồng thời tọa độ đường bao và xác suất của nhóm đối tượng tương ứng Nếu để ý, tên của các mô hình này đều nói đến việc chúng chỉ dùng mô hình 1 bước thay vì mô hình 2 bước xuất hiện trước đó (You Only Look Once - Bạn chỉ nhìn một lần
và Single Shot Detectors - máy phát hiện chỉ dùng một ảnh)
Copies for internal use only in Phenikaa University
Trang 33
Về cơ bản, YOLO[3] chia ảnh đầu vào thành các ô nhỏ, mô hình sẽ dự đoán xác xuất đối tượng trong các đường bao (bounding-box) xung quanh mỗi ô nhỏ này Những đường bao có xác xuất cao sẽ được giữ lại và sử dụng cho nhiệm vụ xác định vị trí của
đối tượng trong ảnh
Output của mô hình YOLO[3] là một véc tơ sẽ bao gồm các thành phần:
Trong đó:
● : là xác suất dự báo vật thể xuất hiện trong bounding box
và là kích thước rộng, dài của bounding box
Việc hiểu output khá là quan trọng để cấu hình tham số chuẩn xác khi huấn luyện
Hình 2.10: Khái quát về YOLO
Copies for internal use only in Phenikaa University