Trong cuốn tiêu thuyết này, Metaverse được mô tả như một không gian ảo nơi con người tương tác với nhau thông qua các avatar và trải nghiệm những điều không thê có trong thế giới thực..
Trang 1ĐẠI HOC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KY THUAT MAY TINH
CHU THÀNH NHÂN - 20520665
KHÓA LUẬN TÓT NGHIỆP
UNG DUNG CÁC THIET BI IOT VÀO
THUC TE AO METAVERSE
IOT IN METAVERSE
CU NHAN KY THUAT MAY TINH
GIANG VIEN HUONG DAN
ThS PHAN DINH DUY
TP HO CHÍ MINH, 2024
Trang 2LỜI CẢM ƠN Đầu tiên, em xin gửi lời cảm ơn đến quý thầy cô trường Đại Học
Công Nghệ Thông Tin Trong quá trình học tập và rèn luyện tại trường,
với sự dạy dỗ, chỉ bảo tận tình của quý thầy cô đã trang bị cho em những
kiến thức về chuyên môn cũng như kỹ năng mềm, tạo cho em hành trang vững chắc trong cuộc sống cũng như công việc sau này.
Tiếp theo, em xin cảm ơn khoa Kỹ Thuật Máy Tính vì đã luôn tạo
mọi điều kiện thuận lợi cho em được học tập và phát triển Đặc biệt, dé
hoàn thành khóa luận tốt nghiệp này, em xin gửi lời cảm ơn sâu sắc tới ThS Phan Đình Duy đã tận tình chỉ bảo, hướng dẫn và hỗ trợ trang thiết bị
cho em trong, suốt thời gian thực hiện đề tài Đồng thời, em cũng xin gửi
lời cảm ơn đến các sinh viên khác trong CLB CEEC đã giúp đỡ em hiện
thực đề tài Em cũng muốn cảm ơn tất cả các công ty và nhà phát triển cung cấp các dịch vụ miễn phí cũng như các thư viện và dự án mã nguồn
mở Không có những công cụ và thư viện này khoá luận của em sẽ không
thé hoàn thành được như bây giờ Cuối cùng, em xin cảm ơn đến gia đình, những người luôn dành những sự động viên đến em trong suốt quá trình
thực hiện khóa luận.
Thành phố Hồ Chí Minh, tháng 07 năm 2024
Sinh viên thực hiện
Chu Thành Nhân
Trang 31.1.3 Kết hợp IOT vào Metaverse: -ceciicccecccrrrrerererrrrreeerrrrrreerrr 4
1.2 Tình hình hiện nay trên thế giới: -ecceerreceeerreereerreeeerrrerrerrre 5
1.3 Tình hình hiện nay trong THƯỚC: -e ©ccsecscxererxeerrrterrrrterrrrkrrrrrrrrrrree 7
1.4 Mục tiêu đề tải: ecHHHHHHHHHHHHHHHHHHa are 9
1.5 Phương pháp thực hiỆn: eee-cssecccseterrterrrkrtrrtirrrrtirtrrrirrrrrrrrrrrie 10
1.6 Nội dung báo CAO leet tesssstesssstesssseesssseessnsecesneessnsesssnenssaessnseenssseessnneensaseesnaneessasess 13
Chương 2 CO’ SỞ LÝ THUYẾT ĐỀ TÀI -22.+eesrceetreerrrrrerrre 14
2.1 WebSockel Fe | 2, cuoi 14
Trang 42.8 Phần mềm: ccccccccccc2EEEEEEEEEEEEEEEEEEEEEEEEvvererererrrrrtrtrtrrtrtrrrrrrrrrrrrrrrrrrrrrre 32
"9® ca 33
Chương 3 NOI DUNG THỰC HIỆN -cccccccccrttttrecvzvvvvrrrrrrrrerre 35
3.1 Tổng quan kiến trúc hệ thống: :-::+eeecctirreevetrrrreeverrrrrresrrrrrre 35
3.1.1 KhOi thiét bi (Devices): n.ẽỒ 35
3.1.2 Khối Server: ce-creeccrrreeeerrrrerrrrirrrtrrrrrrrrrirrrrrrrree 393.1.3 Khối người dùng (User): c -rceccccrrrreecrerrrrrrrrerrrrrererrre 41Chương 4 KET QUA THỰC HIỆN -::cc22ircecetrreeeerrrerertrrrerrrrre 45
4.1 Tổng quan kết quả: e -eceexeceetreeerrrererrererrrrvrtrrrrrrrrrrrree 45
4.1.1 Khối Devices: eeeeceeeecccceeceeeeeercieecceerrrrieeeerrrrirrrerrrrrirrrrrrrrrree 45
ESP32-CAM và Cảm biến: 22-52 SEtrrevettirrrrrrirrrtrrrrrrrtrrrrrrrrre 45
ƯA tố (đê 7` CS 5S£+1)1H)H,.ŨÃa 45
4.13 Khối WRT: AB Fe \1EE Í 48
Chương 5 KẾT LUẬN -e22icccEEieeEtrreetriretrrrerrrrrerrrrerrre 51
5.1 Kết quả đạt QUOC! eseecsseecsssecsseesssesssesssessesesnsecsseesseecsaseesusessueesatessueeeseesaseesueesseesaersuees 51
5.2 Ưu điểm và nhược điểm của đề tài: ccccccccvvvvvvcccrrtrtttrtritrreeeeeeeevee 51
5.2.1 Ưu điểm: eeceerreecerrirereerirrrrtrrirrrtrirrrrrrrrrrrrrrrree 515.2.2 Nhược điỂm: -c-ccccreecerrreeeerrrirertrrirrrtrirrrrrrrirrrrrrrree 51
5.3 Khó khăn gặp phải: -c eecrreerrrretrrrrtrrrrrrrirrrrirrrrrrrrrrrrrrrrree 51
5.4 Hướng phát triển của đề tài: -+eeceerreeeerrrerrerrrerrrrrrrrrrrrre 51
Trang 5DANH MỤC HÌNH
Hình 1.1 Lộ trình của Metaverse [ 1] -cc secceervterrveerreeerkeerrerrrrrerrrrrrree 3
Hình 1.2 Người dung đang sử dụng Apple Vision PO -««ccceeeeererrrrrrree 7 Hình 1.3 Giao diện của Hội An Metaverse -scctnxetttkeeriEkiekiitrrrrrerrrrrrrrrrree 8
Hình 1.4 FPT đưa akaVerse - giải pháp công nghệ thực tế ảo - XR, VR, AR 9
Hình 2.1 Mô hình mạng và Vi tri của SOClKet -c-ccxecerkirtrriirrriirrirrke 14
Hình 2.2 Cách hoạt động của WebSoclket ‹csxkketrkirtiiriiirriiree 15
Hình 2.3 Vị trí của MQTT trong hệ thống -ccccceccccveierrrveerrrrresrrrrrrer 17
Hình 2.4 Mô hình Pub//Sub -xxcsckrkrttrkkiirtttiiiririiiiiiiirriiirreiee 18
Hình 2.5 Sơ đồ cấu trúc của thư viện OpenCV -cccvvcrerccvvvvvererrrre 20
Hình 2.6 Mô hình của YOLO -«-cccxxccckxirrrrrttrrrttrirririirrriiriirrrrrrrrre 22
Hình 2.7 Cách YOLO chia grid và nhận diện [1 5 ] -. -«ec.ex 23
Hình 2.8 So sánh YOLOv8 và các phiên bản trước -. c cese-crxesrrerrxee 25
Hình 2.9 Giao diện cơ bản của UNity -.‹ c-xeeeerrrerttrriertrrriirriirrrrie 26
Hình 2.10 Cấu tạo ESP32-CAM.cccssssssssscsssssssssssesssssssseseesssssseeceesssnseesseessssseeeseesssnsseeseesssnsssseeess 31
500008920007 019i0air-800)0v1011.11777 33
Hình 2.12 Ba loại ứng dụng Firebase cung cấp ccc e-cccccccvcveceee 34
Hình 2.13 Minh họa cho Big JSON ccccckieerieekriitriiirriiiirirrrrerrie 34
Hình 3.1 Sơ đồ cơ bản của hệ thống -.ccccccerrerrrrtrkiiiiiiiirriirriiiiiiirree 35 Hình 3.2 Sơ đồ của khối DeviCes cccc cccvvveeerrrrrrrrererrrrrrrrrrrrrrrrrrrrrrrrrrrre 38 Hình 3.3 Mô hình của khối SerVerr -cccce-+cccxxxeerrtrtrrirrrtrrrriiirrrrrrrrrrree 40 Hình 3.4 Hình ảnh giao diện thiết kế phần người dùng .- 42 Hình 3.5 Sơ đồ khối USerr -cccccccvvvvrrtrrrrrrrvrerrtrrrrrrrrrrrrrtrrrrrrrrrrrrrrrrrrrrrrie 43
Hình 4.1 Hình anh database được lưu trên Firebase ce-cc-ecreecxes 46
Hinh 4.2 K@t qua train 0777 47
Hình 4.3 Hình anh thuật toán được xử lí ở python Serve .- 48
Hình 4.4 Hình ảnh camera được gửi đến User -©-cccccvvveeeeeereexee 49
Hình 4.5 Mô phỏng thành công số người xuất hiện - -cccccccccee 50
Trang 6Hình 4.6 Thông tin ảnh gửi thành công tới user
Hình 5.1 Hình ảnh công cụ VR học tập với IOT [22]
Trang 7DANH MỤC BANG
Bang 2.1 So sánh Azure với Google và AWS, eceeeeeriierieriirrere
Bảng 3.1 Cấu trúc của dữ liệu truyền từ python server tới nodejs server
Trang 8DANH MỤC TU VIET TAT
AR - Augmented Reality
AWS — Amazon Web Services
IOT — Internet Of Things
MCU - Micro Controller Unit
MQTT - Message Queuing Telemetry Transport
UI — User Interface
VHD - Virtual Hard Disk
VR - Virtual Reality
Trang 9TOM TAT KHÓA LUẬN
Đề tài này tập trung vào việc nghiên cứu và tích hợp Internet of Things (IoT) vào Metaverse, tạo ra một cầu nối giữa thế giới thực và thế giới ảo Cụ thể, sử dụng
ESP32-CAM để thu thập dữ liệu hình ảnh và thông tin từ môi trường thực, sau đó
truyền dữ liệu này đến máy chủ để xử lý và cuối cùng hiển thị trong môi trườngMetaverse được xây dựng bằng Unity Cụ thé hơn bao gồm các bước:
-_ Xây dựng hệ thống IoT: Thiết lập một hệ thống IoT hoàn chỉnh, bao gồm
ESP32-CAM làm thiệt bi thu thập dữ liệu, máy chủ xử ly dữ liệu va Unity làm nên tảng hiên thị.
— Thu thập và xử lý dữ liệu: Sử dụng ESP32-CAM để thu thập dữ liệu hình
ảnh, sau đó gửi dữ liệu này đến máy chủ để xử lý, phân tích và chuyên đổi
thành định dạng phù hợp với Unity.
- Mô phỏng trong Metaverse: Hiển thị dữ liệu đã xử lý trong môi trường
Metaverse được xây dựng bang Unity, tạo ra một ban sao ảo của môi trường thực.
Trang 10Chương 1 TONG QUAN DE TÀI
1.1 Giới thiệu:
1.1.1 Metaverse là gì?
Mặc dù thuật ngữ Metaverse không còn mới nữa nhưng nó vẫn còn rất nóng
Nó được nhắc đến lần đầu tiên trong cuốn tiêu thuyết khoa học viễn tưởng "Snow
Crash" của Neal Stephenson vào năm 1992 Trong cuốn tiêu thuyết này, Metaverse
được mô tả như một không gian ảo nơi con người tương tác với nhau thông qua các
avatar và trải nghiệm những điều không thê có trong thế giới thực
Nói một cách dễ hiểu hơn thì đó là một thế giới ảo, giống như Internet,metaverse sẽ giúp bạn kết nối với mọi người khi bạn không ở cùng một nơi và đưachúng ta đến gần hon với cảm giác được ở bên nhau trực tiếp [1] Day là một mạnglưới của các môi trường thế giới thực được sao chép kỹ thuật số, nơi người dùng có
thé tương tác, làm việc, choi và kiếm tiền (Sandbox: có 1.260.000.000 token SAND
đang được lưu hành, với tổng nguồn cung tối da là 3.000.000.000 token) [2] Côngnghệ blockchain trong Metaverse cung cấp tính bảo mật, minh bạch và không théthay đổi, đồng thời ngăn chặn sự can thiệp từ các cơ quan tập trung Metaverse sửdụng thực tế ảo, tăng cường thực tế và trí tuệ nhân tạo dé làm mờ ranh gidi giữa thế
giới ảo và thực tế Lộ trình của Metaverse được mô tả cụ thé hơn ở hình 1.1:
Trang 11Nano Quantum Cloud Computing, Edge
nee Computing.
Network and Nano and Quantum Computational
Communication Technology Paradigm
*
) Extended ,
-VR/AR/MR wen Computing v ae >| ML, DL NUP RL Reality Intelligence
Infrastructure
Brain Signal 7 5 :
Processing & Brain | (D) Virtual (8) Fundamental Spa Tow Fretion
Recognition Computer «| Reality Space Technology 1] consistency Spatio-Temporal
- Convergence ortthm
be} videos (C) Virtual Reality mmmn „[ Security & ideo Game h curity fivacv
Rendering Object Privacy
Connection
ế
Identity Decentralized Social
Modeling Technology Computing
IoT sử dụng nhiều công nghệ khác nhau dé kết nối thế giới kỹ thuật số vàthiết bị Các thiết bị có thê được nhúng với các cảm biến Cảm biến theo dõi những
thứ như nhiệt độ hoặc chuyền động, hoặc thực sự bất kỳ thay đổi nào trong môi
trường Thiết bị truyền nhận tín hiệu từ các cảm biến và sau đó phản ứng với nhữngthay đổi được báo cáo Cảm biến và thiết bị truyền giao tiếp với các hệ thống máy
tính thông qua mang có dây (ví dụ: Ethernet) hoặc không dây (ví du: Wi-Fi hoặc di
động); Những máy tính này có thể theo dõi hoặc quản lý sức khỏe và hành động củacác đối tượng và máy móc được kết nối
Kết nối liên tục mà IoT cho phép, kết hợp với dữ liệu và phân tích, cung cấp
cơ hội mới cho các công ty đổi mới sản phâm và dịch vụ, cũng như tăng hiệu qua
hoạt động Thật vậy, IoT đã nồi lên như một trong những xu hướng quan trọng nhất
Trang 12hiện nay trong quá trình chuyền đổi kỹ thuật số của doanh nghiệp và nền kinh tế Córất nhiều thách thức, đặc biệt là khi nói đến an ninh mạng IoT, nhưng chúng tôi ướctinh tổng tiềm năng giá trị cho hệ sinh thái IoT có thé đạt 12,6 nghìn tỷ đô la vào
năm 2030 [3] [4]
1.1.3 Kết hợp IOT vào Metaverse:
Đề hỗ trợ trải nghiệm Metaverse được kết nối không dây và liền mạch,Internet of Things (IoT) có thé duoc tan dung trong Metaverse [5], ánh xa dữ liệuIoT thời gian thực từ đời thực thành hiện thực kỹ thuật số trong thé giới ảo loT có
thé bổ sung giao diện trải nghiệm của người dùng vào thế giới ảo được tạo bởi AR /
VR [6] Lay ứng dung nang cao nhận thức về sức khỏe làm vi du Các thiết bi loT y
tế có thé được gắn vào co thé người dùng hoặc bộ dé toàn thân có cảm biến dé do
trạng thái của người dùng, chang hạn như các điều kiện sức khỏe có thé tạo ra phản
ứng trong thé giới ảo IoT cũng có thé giúp cải thiện trải nghiệm thương mại điện tửcủa phòng thử đồ ảo, nơi các thiết bị IoT được sử dụng để theo dõi chuyển động của
cơ thể người dùng Ví dụ: thông tin cá nhân về cơ thể có thể được cập nhật thông
qua đữ liệu từ ảnh chụp trên điện thoại thông minh hoặc cân thông minh của người
dùng Điều này cho phép người ding trong Metaverse hoàn toàn đắm chìm trongmột đại diện ảo của cửa hàng, giúp khắc phục các rào cản trải nghiệm của mua sam
trực tuyến truyền thông Ngoài ra, dữ liệu IoT có thể được sử dụng bởi Internet Xúcgiác gần đây, xây dựng một mạng lưới hoặc mạng lưới các mạng dé truy cập hoặcđiều khiển từ xa các vật thé thực hoặc ảo trong thời gian thực bởi con người hoặcmáy móc Dữ liệu IoT có thể cung cấp bối cảnh và nhận thức tình huống về nhữngthứ vật lý cho các ứng dụng AR / VR, đồng thời kích hoạt trao đổi dit liệu giữa thégiới kỹ thuật số và thé giới vật lý [7] Ví dụ: thiết bi AR có thé phan ứng với cử chỉ
ngón tay của người dùng hoặc kích hoạt chức năng không gian mạng do một sự
kiện xảy ra trong thé giới thực điều khiến
Sự tương tác được hỗ trợ bởi IoT giữa đời thực và thế giới ảo ø1úp tạo ra mộtcặp song sinh kỹ thuật số, một phản chiếu kỹ thuật số về trạng thái và điều kiện vật
Trang 13lý của một vật thé vật lý duy nhất Đề đạt được một cặp song sinh kỹ thuật số thiếtthực, Metaverse nhằm mục đích đảm bảo sự phản chiếu càng gần với trạng thái vật
lý thời gian thực càng tốt Do tính năng khác biệt này, cặp song sinh kỹ thuật sốphát triển như một trong những ứng dụng cơ bản trong Metaverse Người dùng cóthé tương tác với nhau trong khi vận hành hoặc trình diễn một bản sao của nguyênmẫu phần cứng hoặc phần mềm Trong các chương trình đào tạo kỹ thuật, cặp songsinh kỹ thuật số giúp các kỹ sư vận hành trực tiếp các biéu diễn 3D của các hệ thống
phức tạp Các cặp song sinh kỹ thuật số cũng có thể tái tạo một xưởng bảo trì hoàn
chỉnh với một bản sao ảo của các thiết bị được bảo dưỡng và một số công cụ cơ khí
dé sửa chữa thiết bị Các cặp song sinh kỹ thuật số thiết lập một môi trường ảo đượckết nối với một xưởng thực trong thế giới vật lý, nơi có thể thực hiện bảo trì từ xa.Trong quy hoạch và xây dựng đô thị, cặp song sinh kỹ thuật số có thé ảo hóa mộtthành phố trong thế giới thực, nơi người dân hoặc các chủ thé kinh tế có thé sử dụnghình ảnh đại diện để thực hiện kế hoạch phát triển và khám phá các dự án đô thị
trong tương lai [8].
1.2 Tình hình hiện nay trên thế giới:
Tình hình hiện nay của IoT trong Metaverse trên thế giới đang ở giai đoạn đầytiềm năng và hứa hẹn Sự kết hợp giữa hai công nghệ này đang được các ông lớncông nghệ và các công ty khởi nghiệp quan tâm và đầu tư mạnh mẽ Các công tycông nghệ lớn như Meta (Facebook), Microsoft, Google và nhiều công ty khởinghiệp khác đang đầu tư mạnh mẽ vào việc nghiên cứu và phát triển các ứng dụngIoT trong Metaverse Họ đang xây dựng các nên tảng, công cụ và giải pháp mới dékết nối các thiết bị IoT với thé giới ảo, tạo ra trải nghiệm người dùng chân thực và
tương tác hơn.
Trang 14Theo dõi chuyển động và biểu cảm: Các thiết bị loT như kínhthực tế ảo, găng tay haptic và bộ theo dõi chuyển động được sửdụng dé thu thập dữ liệu về chuyển động và biểu cảm của ngườidùng Dữ liệu này được truyền vào Metaverse để tạo ra các avatar
phản ánh chính xác hành động và cảm xúc của người dùng trong thời gian thực.
Tái tạo môi trường thực tế: Các cảm biến IoT như cảm biếnnhiệt độ, ánh sáng và âm thanh được sử dụng dé thu thập dữ liệu
về môi trường thực tế và tái tạo chúng trong Metaverse Điều nàygiúp tao ra một môi trường ảo chân thực và sống động hon, manglại trải nghiệm tốt hơn cho người dùng
Tương tác vật lý: Các thiết bị loT như robot, máy bay khôngngười lái và các thiết bị điều khiển khác có thể được kết nối vớiMetaverse, cho phép người dùng tương tác với các đối tượng ảo
và thực hiện các hoạt động trong thế giới ảo
Cá nhân hóa trải nghiệm: Dữ liệu từ các thiết bị IoT như điệnthoại thông minh, đồng hồ thông minh và các thiết bị gia đìnhthông minh được sử dụng dé cá nhân hóa trải nghiệm Metaversecho từng người dùng Điều này bao gồm việc đề xuất nội dungphù hợp, điều chỉnh môi trường ảo theo sở thích và cung cấp các
và bạn bè từ khắp nơi trên thế giới Trong lĩnh vực y tế, các bác sĩ
đang sử dụng Metaverse dé mô phỏng phẫu thuật và dao tạo cácbác sĩ tương lai.
Trang 15Điền hình cho các ứng dụng trên tiêu biểu hiện nay là Apple Vision Pro Đó
sự kết hợp của AR và VR thậm chí là cả IOT Được Apple giới thiệu vào tháng 6năm 2023 và chính thức tại Mỹ vào ngày 2 tháng 2 năm 2024 Hình 1.2 chính là thé
Hình 1.2 Người dùng đang sử dụng Apple Vision Pro
1.3 Tình hình hiện nay trong nước:
Tình hình IoT trong Metaverse ở Việt Nam hiện nay đang ở giai đoạn khởi
đầu, tuy nhiên, tiềm năng phát triển là rất lớn và nhận được sự quan tâm từ nhiều
Trang 16Một số địa phương và doanh nghiệp du lịch tại Việt Nam đã bắt đầu thửnghiệm việc sử dụng Metaverse và loT dé quảng bá du lich và tạo ra các trảinghiệm du lịch ảo Ví dụ, du khách có thé tham quan các địa điểm du lịch nồi tiếng
của Việt Nam thông qua Metaverse và tương tác với môi trường ảo thông qua các
thiết bị loT Cụ thé hơn là: Tham quan phố cô Hội An bằng kính VR,
Trang 17Ngoài ra, vào năm 2022 tại FPT Techday 2022 đã xuất hiện akaVerse - giảipháp công nghệ đưa thé giới thực - ảo hòa nhập làm một sẽ là điểm nhắn công nghệkhông thê bỏ qua Tại không gian trình diễn akaVerse, khách tham dự có cơ hội tự
tay tạo ra phiên bản thứ hai của chính mình và điêu khiên đê “người ảo” hoạt động,
Hình 1.4 FPT đưa akaVerse - giải pháp công nghệ thực tế ảo - XR, VR, AR
1.4 Mục tiêu đề tài:
Đề tài này hướng tới mục tiêu chủ chốt là tích hợp sâu rộng công nghệ Internet
of Things (IoT) vào môi trường Metaverse, tạo ra một cầu nối liền mạch giữa thếgiới thực và thế giới ảo Bằng cách tận dụng môi trường thực tế ảo của Metaverse,
người dùng sẽ có khả năng tương tác và điều khiển các thiết bị IoT trong thế giớithực một cách trực quan, tự nhiên và an toàn.
- Nang cao khả năng tương tác: Phát triển giao diện người dùng thân thiện,
cho phép tương tác với các thiết bị loT trong Metaverse một cách trực quan
và tự nhiên, tương tự như tương tác trong thế giới thực
Trang 18- - Tỉ lệ nhận diện người có độ chính xác cao: Mục tiêu đạt độ chính xác khi
nhận diện người trên 80%, không bị mất dữ liệu
- _ Tốc độ: Độ trễ khi mô phỏng lên thế giới ảo không quá 3 giây, không bị mat
gói tin.
Ứng dụng cu thé tai tang 6 tòa E:
— Nhận biét sự hiện diện: Triên khai các cảm biên IoT như cảm biên chuyên
động, cảm biên nhiệt độ hoặc cảm biên hình ảnh đê phát hiện sự có mặt của người trong khu vực Thông tin này sẽ được truyên vào Metaverse đê hiên
thị trạng thái phòng, bật đèn tự động hoặc điều chỉnh nhiệt độ
-_ Mô phỏng môi trường thực tế: Sử dụng các cảm biến IoT dé thu thập dit
liệu về môi trường thực tế như nhiệt độ, độ ẩm, ánh sáng và chất lượng
không khí Dữ liệu này sẽ được sử dụng dé tạo ra một mô hình 3D của tầng 6tòa E trong Metaverse, phản ánh chính xác điều kiện môi trường thực tế
Điều này cho phép người dùng theo dõi và kiểm soát môi trường từ xa thông
qua Metaverse.
1.5 Phương pháp thực hiện:
Dự án này sẽ được chia thành ba giai đoạn chính: thiết kế, phát triển và triểnkhai Mỗi giai đoạn sẽ sử dụng các công cụ và kỹ thuật cụ thê để đạt được các mụctiêu đã đề ra
Giai đoạn 1: Thiết kế
— Thiết kế môi trường 3D: Sử dụng Unity hoặc Unreal Engine dé tạo ra môi
trường 3D chân thực của tang 6 tòa E
— Thiết lập kết nối IoT:
10
Trang 19+ Lựa chọn các thiết bị loT phù hợp với nhu cầu và mục đích sử dụng,
ví dụ như cảm biến chuyên động, cảm biến nhiệt độ, cảm biến ánhsang, camera, và các thiết bị điều khiển thông minh
+ Xác định giao thức kết nối IoT phù hợp (ví dụ: MQTT, Websocket,
HTTP) và thiết lập kết nối giữa các thiết bị IoT và môi trường thực tế
ảo.
+ Xây dựng cơ sở dữ liệu dé lưu trữ và quan lý dit liệu từ các thiết bị
loT.
— Thiết kế giao diện người dùng:
+ Tạo ra giao diện người dùng trực quan, dễ sử dụng và thân thiện với
người dùng.
+ Thiết kế các thành phan giao diện như bảng điều khiển, nút bam,
thanh trượt và các biểu đồ trực quan dé hiên thị di liệu từ các thiết bị
loT.
Giai đoạn 2: Phát triển
— Triển khai môi trường ảo:
+ Tích hợp mô hình 3D đã thiết kế vào Unity hoặc Unreal Engine
+ Thêm các hiệu ứng ánh sáng, âm thanh và vật lý dé tăng tính chân
thực cho môi trường ảo.
— Kết nối thiết bị loT với môi trường ảo:
+ Viết mã dé kết nối các thiết bị loT với môi trường thực tế ảo thông
qua giao thức đã chọn.
+ Xử lý dé liệu từ các thiết bị IoT và hiển thị chúng trên giao điện người
dùng trong Metaverse.
+ Phát triển các chức năng điều khiến các thiết bị IoT từ xa thông qua
giao diện Metaverse.
11
Trang 20— Sử dụng YOLOv8 để nhận diện người: Sử dụng thư viện YOLOv§ dé
train model, xuất thành một model nhận diện người
+ Sửa lỗi và cải thiện hiệu suất của hệ thống
Giai đoạn 3: Triển khai
— Triển khai hệ thống:
+ Cài đặt hệ thống trên các thiết bị thực tế ảo và máy chủ
+ Cấu hình các thiết bị IoT và kết nói chúng với hệ thống
— Trải nghiệm và thử nghiệm:
+ Mời người dùng trải nghiệm và đánh giá hệ thống
+ Thu thập phản hồi từ người dùng và sử dụng chúng dé cải thiện hệ
thống
— Sửa lỗi và bảo trì:
+ Theo dõi hoạt động của hệ thống và phát hiện các lỗi
+ Sửa lỗi và cập nhật hệ thông thường xuyên dé đảm bảo tính 6n định
và bảo mật.
Vệ công cu:
12
Trang 21-_ Unity: Công cụ mạnh mẽ để tạo môi trường 3D và các trò chơi tương tác.
Ngôn ngữ lập trình C# được sử dụng để phát triển các chức năng và tương
Z
tác.
-_ Arduino IDE: Môi trường phát triển tích hợp (IDE) để lập trình các bo
mạch Arduino, bao gồm cả ESP32
— Unreal Engine: Một công cụ tạo môi trường 3D và trò chơi khác, có kha
năng tạo đồ họa chân thực và hiệu ứng hình ảnh ấn tượng Có thể được sử
dụng dé nâng cấp dự án trong tương lai
— Polycam: Ung dụng di động mạnh mẽ cho phép quét 3D các đối tượng và
không gian thực tế một cách nhanh chóng va dễ dang Mặc dù có chi phi,nhưng chất lượng mô hình 3D mà Polycam tạo ra là rất cao, giúp tăng tính
chân thực cho môi trường ảo.
1.6 Nội dung báo cáo:
Nội dung đề tài bao gồm 5 Chương:
— Chương 1: Tổng quan đề tài
— Chương 2: Cơ sở lý thuyết đề tài
— Chương 3: Nội dung thực hiện
— Chương 4: Kết quả thực hiện
— Chương 5: Kết luận
13
Trang 22Chương 2 CƠ SỞ LÝ THUYET DE TÀI
2.1 WebSocket:
2.1.1 Socket là gi?
Socket là giao diện lập trình ứng dụng mạng được dùng dé truyền và nhận ditliệu trên internet Giữa hai chương trình chạy trên mạng cần có một liên kết giao
tiếp hai chiều, hay còn gọi là two-way communication để kết nối 2 process trò
chuyện với nhau Điểm cuối (endpoint) của liên kết này được gọi là socket.
Một chức năng khác của socket là giúp các tầng TCP hoặc TCP Layer địnhdanh ứng dụng mà dữ liệu sẽ được gửi tới thông qua sự ràng buộc với một công port
(thé hiện là một con số cụ thé), từ đó tiến hành kết nối giữa client và server Hình
2.1 mô tả chỉ tiết vị trí của socket trong mô hình mạng
Hình 2.1 Mô hình mạng va vị tri của socket
Người dùng cần socket bởi vì ưu những điểm mạnh của nó Socket hỗ trợ
hầu hết các hệ điều hành bao gồm MS Windows, Linux Ngoài ra, socket cũng
được sử dụng với nhiều ngôn ngữ lập trình, gồm C, C++, Java, Visual Basic, Visual
14
Trang 23C++ nên nó có thể tương thích với hầu hết mọi đối tượng người dùng với những
câu hình máy khác nhau.
Đặc biệt, người dùng cũng có thê chạy cùng một lúc nhiêu socket liên tục,
giúp nâng cao hiệu suât làm việc, cũng như tiệt kiệm thêm nhiêu thời gian và công
sức hơn [10]
Có nhiều loại socket như: Stream Socket, Datagram Socket Nhưng trong đề
tài này chỉ sử dụng WebSocket.
2.1.2 WebSocket là gì?
Websocket là công cụ hỗ trợ việc kết nối qua lại trên internet giữa client và
server Giúp diễn ra nhanh chóng và hiệu quả hơn thông qua việc sử
dụng TCP socket Không chỉ sử dụng riêng cho ứng dụng web, Websocket có thé ápdụng cho bat kì ứng dụng nào khác cần có sự trao đổi thông tin trên Internet Cáchhoạt động chi tiết của WebSocket được mô tả chỉ tiết trong hình 2.2
Trang 24Ưu điểm của WebSocket:
— Tăng tốc độ truyền tải thông tin giữa 2 chiều
— Dé phát hiện và xử lý trong trường hợp có lỗi xảy ra
— Dễ dàng sử dụng, không cần cài đặt thêm các phần mềm bồ sung khác
— Không cần sử dụng nhiều phương pháp kết nối khác nhau
Nhược điểm của WebSocket:
— Chưa hỗ trợ trên tất cả các trình duyệt
— Với các dịch vụ có phạm vi yêu cầu, Websocket chưa hỗ trợ hoàn toàn [10]
2.2 Message Queuing Telemetry Transport:
Message Queuing Telemetry Transport (MQTT) là giao thức truyền thôngđiệp (message) theo mô hình publish/subscribe (cung cấp / thuê bao), được sử dungcho các thiết bị IoT với băng thông thấp, độ tin cậy cao và khả năng được sử dụngtrong mạng lưới không ôn định Nó dựa trên một Broker (tạm dịch là “May chủ môigiới”) “nhẹ” (khá ít xử lý) và được thiết kế có tính mở (tức là không đặc trưng cho
ứng dụng cụ thê nào), đơn giản và dễ cài đặt.
MỌTTT là lựa chon lý tưởng trong các môi trường như:
— Những nơi mà giá mạng viễn thông đắt đỏ hoặc băng thông thấp hay thiếu
tin cậy.
— Khi chạy trên thiết bị nhúng bị giới hạn về tài nguyên tốc độ và bộ nhớ
— Bởi vì giao thức này sử dụng băng thông thấp trong môi trường có độ trễ cao
nên nó là một giao thức lý tưởng cho các ứng dụng M2M (Machine to
Machine).
MOQTT cũng là giao thức được sử dụng trong Facebook Messenger VỊ trí của
MQTT trong hệ thống được mô tả ở hình 2.3
16
Trang 25: Server (NodeJs,
Attacher Fe Sensor oom MOTT ==+ PHP )
—= LÍ
Mobile Web
Thing app app
Hinh 2.3 Vi tri cua MQTT trong hé thong
Ưu điểm của MQTT:
— Truyền thông tin hiệu quả hơn.
— Tang khả năng mở rộng.
— Giảm đáng ké tiêu thụ băng thông mạng.
— Rất phù hợp cho điều khiến và do thám.
— Tối đa hóa băng thông có san
— Chi phí thấp
— Rấtan toàn, bảo mật
- Được sử dụng trong các ngành công nghiệp dầu khí, các công ty lớn như
Amazon, Facebook,
— Tiết kiệm thời gian phát triển
— Giao thức publish/subscribe thu thập nhiều dữ liệu hơn và tốn ít băng thông
hơn so với giao thức cũ.
17
Trang 262.2.1 Mô hình Pub/Sub:
Client:
— Publisher - Nơi gửi thông điệp
— Subscriber - Nơi nhận thông điệp
Broker: Máy chủ
Trong đó Broker được coi như trung tâm, nó là điểm giao của tất cả các kếtnối đến từ Client (Publisher/Subscriber) Nhiệm vụ chính của Broker là nhận thôngđiệp (message) từ Publisher, xếp vào hàng đợi rồi chuyển đến một địa điểm cụ thé.Nhiệm vụ phụ của Broker là nó có thé đảm nhận thêm một vai tinh năng liên quantới quá trình truyền thông như: bảo mat message, lưu trữ message, logs,
Client thì được chia thành hai nhóm là Publisher và Subscriber Client chỉ làm
ít nhất một trong 2 việc là publish các thông điệp (message) lên một/nhiều topic cụthể hoặc subscribe một/nhiều topic nào đó dé nhận message từ topic này Hình 2.4
mô tả chỉ tiết về mô hình Pub/Sub
— Thời gian tách biệt (Time decoupling).
— Đồng bộ riêng rẽ (Synchronization decoupling)
18
Trang 27Nhược điểm:
— Máy chủ (Broker) không cần thông báo về trạng thái gửi thông điệp Do đó
không có cách nào dé phát hiện xem thông điệp đã gửi đúng hay chưa
— Publisher không hề biết gì về trạng thái của subscribe và ngược lại.
— Những kẻ xấu (Malicious Publisher) có thé gửi những thông điệp xấu, và các
Subscriber sẽ truy cập vào những thứ mà họ không nên nhận [11]
2.3 OpenCV:
OpenCV (Open Source Computer Vision Library) là một thư viện phần mềmchứa hàng ngàn thuật toán xử lý ảnh và video, được thiết kế để giúp các nhà pháttriển đễ đàng xây dựng các ứng dụng thị giác máy tính OpenCV hỗ trợ nhiều ngônngữ lập trình khác nhau như C++, Python, Java, và hoạt động trên nhiều hệ điều
hành khác nhau như Windows, macOS, Linux và Android.
Các tính năng nỗi bật của OpenCV:
— Xử lý ảnh: OpenCV cung cấp các công cụ mạnh mẽ dé đọc, ghi, hiển thị,
biến đổi, lọc và phân tích ảnh Bạn có thể dễ dàng thực hiện các tác vụ như
thay đổi kích thước, xoay, cắt, làm mịn, tăng độ tương phan, phát hiện biên,phân đoạn ảnh, và nhiều hơn thế nữa
-_ Xử lý video: OpenCV cho phép bạn đọc, ghi, hiển thị va xử lý video theo
thời gian thực Bạn có thé thực hiện các tác vụ như theo dõi đối tượng, pháthiện chuyền động, ước tính chuyền động, én định video, và thậm chi xâydựng các hệ thống nhận dạng hành động
— Machine learning: OpenCV tích hợp các thuật toán machine learning (học
máy) để giải quyết các bài toán thị giác máy tính phức tạp Bạn có thể sửdụng các mô hình học máy có sẵn hoặc huấn luyện mô hình của riêng mình
dé thực hiện các tác vụ như phân loại đối tượng, nhận dạng khuôn mặt, phát
hiện vật thê, và nhiêu hơn thê nữa.
19
Trang 28-_ Giao diện người dùng: OpenCV cung cấp các công cụ dé xây dựng giao
diện người dùng đồ họa cho các ứng dụng thị giác máy tính của bạn Bạn cóthé dễ dàng tạo các cửa số, nút bam, thanh trượt và các thành phần khác dé
tương tác với người dùng [12]
Sơ đồ cau trúc của OpenCV có thê được mô ta bằng hình 2.3
Core ML
Basic structures, Tools for classification
algorithms and
and drawing functions clustering
Hình 2.5 Sơ đồ cấu trúc của thư viện OpenCV
Trong đó:
Phần Core của thư viện bao gồm các lĩnh vực chức năng sau:
— Khởi tao các cấu trúc dit liệu cơ bản
— Sao chép, điền và truy cập các phan tử con của cấu trúc dit liệu
-_ Các hàm số học, logic, thống kê và toán học
— Các hàm vẽ (đường thắng, hình tròn, hình chữ nhật, văn bản)
-_ Xử lý lỗi
Phan CV của thư viện chứa các chức năng sau:
— Tinh toán gradient, phát hiện cạnh và góc.
— Tìm kiếm đặc trưng dé theo dõi.
—_ Nội suy và biến đổi hình học.
— Chuyên đôi mau sắc.
20
Trang 29—_ Các phép toán hình thái.
—_ Lọc 2D.
— So khớp mẫu.
— Tinh toán và phân tích biểu đồ.
— Phan đoạn hình ảnh và các thành phan liên kết.
— Phân tích chuyền động và theo dõi đối tượng.
— Nhận dạng đối tượng.
— _ Hiệu chỉnh camera và tái tạo cảnh 3D.
Phần GUI của thư viện OpenCV không chỉ dành riêng cho GUI mà còn bao gồm các chức
năng sau:
- Tạo giao diện người dùng đồ họa - cửa sé, thanh trượt, phát hiện sự kiện chuột và
bàn phím.
—_ Tải và lưu hình anh ở nhiều định dạng khác nhau.
— Nhap/xuat tệp video và thiết lập thông số camera.
— Các chức năng tiện ích và hệ thống khác.
Có một phần riêng biệt của thư viện OpenCV dành riêng cho các thuật toán học máy (machine learning) Nó cực kỳ hữu ích cho tất cả các ứng dụng nhận dạng mẫu hiện đại và bao gồm các phương pháp phân loại sau:
— Naive Bayes
— k-nearest neighbors
— Máy vecto hỗ tro (Support vector machines)
— Cây quyết định (Decision trees)
— Boosting
— Random trees
— _ Thuật toán kỳ vọng tối đa (Expectation-maximization)
— Mạng no-ron (Neural networks) [13]
21
Trang 30Cụ thê hơn thì Yolo 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 được tạo ra từ việc kết hợp giữa các convolutional layers vàconnected layers Trong đóp 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.[14] Hình 2.6 thể hiện kiến trúc chung của YOLO
Hình 2.6 Mô hình của YOLO
Nguyên lý hoạt động của YOLO:
Khác với các phương pháp phát hiện đối tượng truyền thống như R-CNN(Region-based Convolutional Neural Networks), YOLO sử dụng cách tiếp cận toàndiện (end-to-end) dé phát hiện đối tượng Thuật toán này chia hình ảnh đầu vào
thành các lưới (grid) và dự đoán các hộp giới hạn (bounding boxes) cũng như các
xác suất cho từng lớp đối tượng trong mỗi ô lưới
Cụ thể hơn thì Đầu vào của mô hình là một ảnh, mô hình sẽ nhận dạng ảnh đó
có đối tượng nào hay không, sau đó sẽ xác định tọa độ của đối tượng trong bức ảnh.Ảnh đầu vào được chia thành thành SxS ô thường thi sẽ là 3 x 3, 7 x 7, 9 x 9,
22
Trang 31việc chia ô này có ảnh hưởng tới việc mô hình phát hiện đối tượng Hình 2.7 mô tả
quá trình YOLO chia các grid và nhận diện.
Bounding boxes + confidence
S x S grid on input Final detections
Hinh 2.7 Cach YOLO chia grid va nhan dién [15]
Dựa vào ảnh 2.7 Với Input là 1 ảnh, đầu ra mô hình là một ma trận 3
chiều có kích thước SxSx(5xN+M) với số lượng tham số mỗi 6 là (5xN+M) với
N và M lần lượt là số lượng Box và Class mà mỗi ô cần dự đoán Ví dụ với hình
ảnh trên chia thành 7x7 ô, mỗi ô cần dự đoán 2 bounding box và 3 object: con chó, ô tô, xe đạp thì output là 7x7x13, mỗi ô sẽ có 13 tham số, kết quả trả về
(7x7x2=98) bounding box Chúng ta sẽ cùng giải thích con số (5xN+M) được tính như thế nào.
Dự đoán mỗi bounding box gồm 5 thành phần: (x, y, w, h, prediction) với
(x, y) là tọa độ tâm của bounding box, (w, h) lần lượt là chiều rộng và chiều cao
của bounding box, prediction được định nghĩa Pr (Object)* IOU (pred, truth)
xin trình bày sau Với hình anh trên như ta tính mỗi 6 sẽ có 13 tham số, ta có
thể hiểu đơn giản như sau tham số thứ 1 sẽ chỉ ra ô đó có chứa đối tượng nào hay không P(Object), tham số 2, 3, 4, 5 sẽ trả về x, y, w, h của Box1 Tham số 6,
23