Đặt vấn đề và lý do chọn đề tài Nhận dạng cảm xúc và độ tập trung của học viên là một phần quan trọng của lĩnh vực giảng day trực tuyến[ 1], [2]. Điều này sẽ tác động đáng kê đến chất lượng giảng day, tăng cường tương tác giữa giáo viên và học sinh, đồng thời mang đến môi trường học tập lý tưởng dé phát triển cả IQ[3] và EQ[4]. Điều quan trong hơn là phải thiết lập được sự gan kết chặt chẽ giữa hai bên mà không bị giới hạn về khoảng cách, khi mà giờ đây khoảng cách lớn nhất trong một lớp học chỉ là lượng kiến thức có hạn trong một bài học. Bằng việc xác định được cảm xúc và độ tập trung của học sinh trong khi giảng dạy, giáo viên sẽ chủ động năm bắt các tình huống có thể phát sinh và giải quyết kịp thời [5], [6].
Một số nghiên cứu đã giúp củng cố quan điểm cho rằng: cảm xúc sẽ tác động rất lớn đến hành động [8]. Trong lớp học truyền thông, giáo viên có thé dé dàng quan sát và đánh giá cảm xúc cũng như mức độ tập trung của học viên thông qua các tín hiệu phi ngôn ngữ như biểu cảm khuôn mặt, cử chỉ, và hành vi. Tuy nhiên, trong lớp học trực tuyến, việc nay trở nên khó khăn hơn do sự hạn chế về mặt không gian và cách thức giao tiếp. Vì vậy, việc phát triển một hệ thống có khả năng nhận diện cảm xúc và độ tập trung của học viên trong môi trường học trực tuyến là rất cần thiết.
Với sự bùng né của giáo dục trực tuyến, nhu cầu nâng cao chất lượng giảng dạy và học tập trực tuyến ngày càng trở nên cấp thiết. Nhận diện cảm xúc và độ tập trung của học viên là một trong những yếu tố then chốt dé cải thiện sự tương tác và hiệu quả giảng dạy trong lớp học trực tuyến. Bên cạnh đó, sự phát triển của trí tuệ nhân tạo (AI) và học máy (Machine Learning) mở ra nhiều cơ hội mới cho việc ứng dụng các công nghệ này vào giáo dục. Việc sử dụng các mô hình học sâu (Deep Learning) như VGG16 và MTCNN dé nhận diện cam xúc và độ tập trung không chỉ là một hướng đi mới mẻ mà còn mang lại nhiều tiềm năng phát triển.
Và quan trọng nhất là đề tài không chỉ mang ý nghĩa khoa học mà còn có giá trị thực tiễn cao, gop phan nang cao chat lượng giáo dục và hỗ trợ học viên trong quá trình học tập. Hệ thống giảng dạy trực tuyến tích hợp nhận diện cảm xúc và độ tập trung sẽ giup tạo ra một môi trường học tập tích cực, khuyến khích sự tham gia và cải thiện kết quả học tập của học viên. Ngoài ra hệ thống này có tiềm năng phát triển và mở rộng không chỉ trong giáo dục mà còn trong nhiều lĩnh vực khác như đào tạo nhân sự, chăm sóc sức khỏe tâm ly, và các dịch vụ khách hàng. Điều này tạo ra nhiều cơ hội nghiên cứu và ứng dụng trong tương lai.
Những điều trên là nền tảng của một sản phẩm để triển khai những ý nghĩ đấy thành Streamy là tên cho hệ thống dạy học trực tuyến đó do nhóm đề xuất và những phần sau sẽ đưa ra những khảo sát, phân tích và phương thức hoạt động của hệ thống này.2 Thông tin về đề tài 1. Mục tiêu đề tài Phát triển được hệ thống học trực tuyến dành cho giáo viên và học sinh, cho phép tương tác trực tuyến (nói chuyện, camera khuôn mặt, chia sẻ màn hình máy). Hệ thống sẽ có tính năng nhận diện cảm xúc và độ tập trung được trích xuất từ ánh nhìn của học viên cho ra các phân tích thời gian thực. Phát triển được mô hình máy học nhận diện cảm xúc từ khuôn mặt sử dụng các mô hình CNN [12], MTCNN và VGG [13] cho các chỉ số từng loại cảm xúc của học sinh, từ đó đánh giá tiết học, khả năng giảng dạy có phù hợp và thu hút với học sinh hay không.
Phát triển được mô hình máy học theo dõi tia nhìn của học sinh, tính toán các độ đo liên qua về mắt, miệng của học viên. Kết quả cho ra chỉ số tập trung của học sinh, và được kết hợp với kết quả từ mô hình cảm xúc dé cho ra kết quả tông quan của học sinh ở thời gian thực. Phạm vi và đối tượng Trong khuôn khô của khoá luận này, nhăm đên việc tạo ra một ứng dụng mà ở đó giảng viên là người có thê theo dõi được diễn biên cảm xúc và độ tập trung của các học viên của mình ở thời gian thực và từ đó có thê nhanh chóng điều chỉnh phương thức giảng dạy cho phù hợp với thực trạng của lớp học, tương tự như việc giảng viên dé dàng điều chỉnh hay nhắc nhở các học. viên của mình ngay tại giảng đường hay lớp học trực tiếp.
Các công nghệ được sử dụng trong việc nhận diện cảm xúc Trong phạm vi đề tài thử nghiệm trên các công nghệ dự báo sau: Mô hình CNN (Convolutional Neural Network)[12] được minh hoạ ở Hình 1 bên dưới: Fully Convolution Connected Pooling __.--- Hình 1: Cấu trúc của mạng CNN[14] Mô hình MTCNN (Multi-task Convolutional Neural Network)[15] được minh hoạ ở Hình 2 bên dưới: h Conv: 3x3 Conv: 3x3 Conv: 3x3 face 1 ' ! 1 MP: 2x2 jj _, @ classification bounding box 1 i 4 i regression i 1 IxIx4 i ! input size sv3yi0 — 3x3x16 Ix1x32\ fg Faciallandmadk 1 / 12x12x3 localization 1 | 1xIx10 I ¡ Conv: 3x3. Conv:3x3 Conv 22 fully 7 Hi 1h h MP:3x3 =:f =J LỆ— ! MP:3x3 : ' = =) 2 7 |? bounding b ounding box h 1 i input size 11x11x28 — 4x4x48 3x3xó4 128 tÌÌ* ng 24x24x3 localization 4 1 ! al huêt q fac? classification 1 Cow:3x3 Conv: 3x3 Con3x3 Conv:2x2 fully 1 MP:32 MP:3i MP:22 ! 1 8| |B S11 sets imput size 95.9339 10x10x64 4x4x64 3x3xI2§ va rest ta 1 1 1 1 4§x4§x3 10 1 1 Hình 2: Cấu trúc của MTCNN[16] 3 Mô hình VGG-16 [13] (là kiến trúc mạng thần kinh tích chập CNN) được minh hoạ ở Hình 3 bên dưới: rin iN = Nlm = N|m =Nim ~ woe [ ĐỒ (oa LAY eae a lế. i a a fa II ae a = = | NIN m.mlm st) st) st Ln | Ln | Ln ° >ị> >> >>> > >\> >| >| > c ail fe Sc elec =| E|E clele = S6 ane) Sl6lS 610/96 6| 0/6 ©@!ÒO ©OOÒO ©O OlIO ©O'O@O©O ©OOVO©O Hình 3: Cấu trúc của VGG-16 [17] 1. Giới thiệu các bộ dữ liệu Một trong hai bộ dit liệu được sử dụng trong bài viết này đã được Kaggle xuất bản tại hội nghị ICML 2013, đó là Fer2013 [11].
Dữ liệu này bao gồm các hình ảnh 48x48, mỗi hình ảnh chỉ chứa các khuôn mặt, được căn giữa trong hình ảnh và được chia tỷ lệ để bao phủ phần lớn diện tích của hình ảnh. Hình ảnh được gan nhãn cảm xúc (tức giận, chan nan, sợ hãi, vui, buồn, bất ngờ, trung tinh) và Fer2013 bao gồm 32. KDEF [10], [18] là bộ di liệu gồm 4900 hình ảnh về nét mặt con người. Tương tự như Fer2013, KDEF cũng thé hiện 7 cảm xúc khác nhau của 70 con người với 5 góc nhìn khác nhau.
Với bộ dir liệu nay, có thé thực hiện một cách tiếp cận khác khi thay vì xác định cảm xúc của một người chỉ bằng 1 khung hình và có thé xác định cảm xúc của một người bằng nhiều khung hình. Cách tiếp cận này có thể sẽ cải thiện khả năng nhận dạng. Công nghệ được sử dụng trong việc phát trực tiếp và phát triển sản phâm NodeJS [19] với Express [20]: là một môi trường chạy JavaScript [21] / Typescript [22] phía server, xây dung trên engine V8 của Chrome.js cho phép các nhà phát triển sử dụng JavaScript dé viết mã server-side, giúp tạo ra các ứng dụng mạng có khả năng mở rộng cao và xử lý nhiều kết nói đồng thời một cách hiệu quả. Với kiến trúc event-driven và non-blocking I/O, Node.js lý tưởng cho các ứng dụng thời gian thực như phát trực tiếp và chat trực tuyến.js giúp tạo ra các thành phần UI có thể tái sử dụng và cập nhật hiệu quả khi dit liệu thay đồi, nhờ vào cơ chế Virtual DOM.
Điều này rất hữu ích trong việc phát triển các ứng dụng web có UI phức tạp và yêu cầu tương tác cao như các trang phát trực tiếp. Mediasoup [24] là một thư viện đa phương tiện mã nguồn mở cho Node.js, hỗ trợ các tính năng như SFU (Selective Forwarding Unit) và MCU (Multipoint Control Unit) dé xử lý và truyén tai media trong các cuộc hop video va hội thao trực tuyến. Mediasoup được thiết kế dé hoạt động với WebRTC, cung cấp khả năng mở rộng và hiệu suất cao, giúp xây dựng các ứng dụng phát trực tiếp và truyền thông thời gian thực. WebRTC (Web Real-Time Communication)[25]: là một công nghệ ma nguồn mở cho phép trình duyệt và các ứng dụng di động thực hiện các cuộc gọi âm thanh, video và truyền dữ liệu trực tiếp mà không cần plugin.
WebRTC sử dụng các giao thức peer-to-peer dé truyền tai đữ liệu, giúp giảm độ trễ và cải thiện chất lượng kết nối trong các ứng dụng phát trực tiếp và hội nghị truyền hình. Dưới đây là ví dụ về WebRTC: Web RTC Connection Diagram đề WebRTC rm il signaling Server € = ==. _ m > audio/video —(if —_ traversal › BEServer Hình 4: Ví dụ về WebRTC với máy chủ báo hiệu[26] Socket.IO [27] là một thư viện JavaScript cho Node.Js, cho phép xây dựng các ứng dụng web thời gian thực bằng cách cung cấp một giao thức truyền tải hai chiều giữa client và server. Với khả năng tự động kết nối lại và phát hiện client ngắt kết nối, Socket.IO rất phù hợp cho các ứng dụng cần giao tiếp liên tục và ôn định như chat trực tuyến và phát trực tiếp.
Dưới đây là ví dụ về Socket.IO: client server GET request eee POST request : socket. emit() =————— : POST request : socket.emit() =——————————> GET response “——DD socket.emit() —> GET request Hinh 5: Vi du vé cach hoat động của Socket.IO[28] 6 Python Socket.IO [29] là phiên bản của Socket.IO cho Python, cung cấp các tính năng tương tự như phiên bản Node. Nó giúp các nhà phát triển Python xây dựng các ứng dung web thời gian thực một cách dé dang, cho phép giao tiếp hai chiều giữa client và server, hỗ trợ các tính năng như broadcasting, rooms, va namespaces. CHƯƠNG 2: CƠ SỞ LÝ THUYET 2.1 Lý thuyết về mạng thần kinh 2.1 Lý thuyết về mạng thần kinh Một mang Neural Network[33] có ø đầu vào mỗi ngõ vào, mỗi ngõ vào xi có trọng số Wi.
Hình 6 đưới đây minh hoạ về câu tạo của một mạng thần kinh: Weights Constant ( 1 ) wa ~.