Game Let’s Dance: sử dung dit liệu được xử lý từ chuyển động của cơ thé với mục tiêu thành những dáng nhảy tương ứng với dáng nhảy trên trò chơi Với những chức năng chính:Nhận diện cử ch
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CONG PHAN MEM
PHAM HOÀI BẢO - 19520406
KHÓA LUẬN TÓT NGHIỆP
ỨNG DỤNG THỊ GIÁC MÁY TÍNH
VÀO PHÁT TRIEN GAME
Apply Computer Vision to Game Development
KY SU NGANH CONG NGHE PHAN MEM
GIANG VIEN HUONG DAN
TS NGUYEN HA GIANG
ThS NGUYEN THI THANH TRUC
TP HO CHI MINH, 2023
Trang 2LOI CAM ON
Trước hết, em xin gửi cảm ơn đặc biệt đến thay TS Nguyễn Hà Giang và côThS Nguyễn Thi Thanh Trúc — giảng viên hướng dẫn của em trong quá trình hoàn
thành khóa luận Thay và cô đã luôn thông tin, giải quyết các van dé cũng như hỗ trợ
em trong suốt chặng đường vừa qua
Em cũng xin cảm ơn tập thé thầy cô giảng viên trường Đại học Công nghệThông tin - Dai học Quốc Gia thành phố Hồ Chi Minh, cũng như các thầy cô ở khoa
Công nghệ Phần mềm, trong suốt 4 năm qua đã giúp và truyền đạt kiến thức, hỗ trợ
nhiệt tình và tạo điều kiện cho em trong quá trình em học tập tại trường
Đồng thời, em xin gửi lời cảm ơn bạn bè, anh chị, và gia đình đã nỗ lực hếtmình dé đồng hành cũng như động viên em trong khoảng thời gian qua trong khoảng
thời gian qua.
Trong quá trình viết luận văn, em đã có gắng hoàn thành nó một cách tốt nhất
có thể, tuy nhiên đôi khi van còn những sai sót hoặc có những hạn chế trong nội
dung đề tài Vì vậy, em xin được tiếp nhận những được sự chỉ bảo về thiếu sót của
thầy cô và bạn bè về khóa luận này và sử dụng nó như một tài sản quý báu cho công
việc sau nay cua mình.
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Phạm Hoài Bảo
10
Trang 3ĐẠI HỌC QUOC GIA TP HO CHI MINH CONG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM
ỨNG DỤNG THỊ GIÁC MÁY TÍNH VÀO PHÁT TRIÊN GAME
Tên đề tài tiếng Anh:
APPLY COMPUTER VISION TO GAME DEVELOPMENT
Giảng viên hướng dẫn:
Nội dung đề tai:
Giới thiệu đề tai:
Ngày nay, những công nghệ như VR, AR ngày càng được phát triển rộng rãinhất là sử dụng trong ngành công nghiệp phát triển Game Xu hướng này làm
11
Trang 4nhat của thê loại game này là yêu câu người chơi phải sử hữu những Bộ điều
khiển riêng biệt như là VR Controller, Move Motion Controller, VR Aim
Controller, dẫn đến chi phi người choi phải bỏ ra là vô cùng lớn
Một trong những cách dé dé giải quyết vấn dé này đó là sử dung Vision-based
Input, thay vì dùng những bộ điều khiển đặc thù, ta có thé thông qua camera dé
nhận diện và xử lý cử chi người dùng dé điều khiển trò choi Độ hap dan của một
trò chơi cũng sẽ được nâng cao khi người dùng không phải dùng những nút bắm
vật lý, mà thông qua chính cử chỉ ban tay cũng như chuyển động cơ thé của
chính họ.
Tuy nhiên dé việc phản hồi từ hình ảnh người dùng với tốc độ cao là một điều
vô cùng khó, cần phải train một vài model Thị giác máy tính với một bộ dữ liệu
đào tạo (Dataset) rất lớn Synthetic Dataset (Những dữ liệu vat thể 3D) được tạo
ra từ Game Engine là một giải pháp tuyệt vời dé kết hợp với dé liệu thực giúp
hoàn thiện Model xử lý được cử động người chơi với tốc độ cao.
Bằng việc dùng Thị giác máy tính vào trong Game và việc dùng Game Engine
để tạo ra những bộ dữ liệu cho train model Thị giác máy tính, ta có thê xử lý
được một sô vân khó khăn của hai lĩnh vực trên, đông thời tạo ra được một sản
Phạm vi đề tài:
Pham vi môi trường:
Game hoạt động bằng Unity engine chạy trên nền tảng máy tính Windows,
Linux.
Package xử lý cử chỉ người chơi có thể thêm sử dụng trực tiếp vào Unity
editor.
° Phạm vỉ chức nắng:
Một trò chơi hoàn chỉnh bao gồm các Mini-Game:
%* Menu: Thông qua chuyền động và dang bàn tay dé tương tác với trò chơi
12
Trang 5¢ Game Neon Saber: Dùng những dir liệu sau khi được xử lý từ chuyên
động cánh tay dé tương tác với trò chơi Người chơi sẽ sử dụng hai taycủa họ để dùng hai thanh kiếm Saber tiêu diệt những vật thể di chuyểnđến gần họ, Mỗi thanh kiếm sẽ là có một màu riêng và dung chém nhữngvật thể có màu tương ứng Với những chức năng cơ bản : Saber xuất hiện
và di chuyển ứng với chuyển động cánh tay người chơi, Va chạm giữakiếm và vật thể, Màn chơi ngẫu nhiên vô tận, Lưu điểm cao của ngườidùng dé hiển thi cho những người chơi khác
Game Let’s Dance: sử dung dit liệu được xử lý từ chuyển động của cơ thé
với mục tiêu thành những dáng nhảy tương ứng với dáng nhảy trên trò
chơi Với những chức năng chính:Nhận diện cử chỉ tay để bắt đầu vàngưng trò chơi, nhận diện các đáng cơ thé người chơi kiểm tra tương ứngvới dáng người trong hệ thống được sinh ra ngẫu nhiên trên mỗi mànchơi, tốc độ và những dáng nhảy được thay đổi ngẫu nhiên tùy vào manchơi, Hiền thị điểm và streak combo của người chơi
Đối tượng sử dụng:
Những người chơi có mong muốn chơi những trò chơi vận động thông qua
Thị giác máy tính.
Những nha phát triển game muốn thêm chức năng nhận diện cử động người
chơi vào những dự án của họ thông qua Package Unity có sẵn.
Phương pháp thực hiện:
Sử dụng những Data ảo có sẵn và tạo ra những Data mới từ Unity Synthetic
Human, kết hợp với một lượng Data thực để tạo thành một bộ Dataset tổng
hợp.
Bằng việc MediaPipe kết hợp với Teachable Machine để train model
Computer Vision từ bộ Dataset đã tông hợp
Sử dụng model vào Unity thông qua module chạy bằng Python truyền đữ liệu
13
Trang 6e Phát triển các cơ chế logic cơ bản trong Game bang Unity Engine, thêm
Package computer vision vào project game vào hoàn chỉnh việc giao tiếp từ hệ
thống nhận dạng và game
Bồ sung các chức năng quản lý người dùng và tài khoản bằng dịch vụ của
PlayFab va Unity Gaming Services.
Công nghệ:
Game Engine: Unity3D
Computer Vision & ML: MediaPipe, Teachable Machine ,OpenCV,
TensorFlow
Dataset: Unity Synthetic Humans (Unity Perception), Hand Gesture
Recognition Database (Leap Motion) , MPII Human Pose Dataset.
Back End: Unity Gaming Services (UGS), Microsoft Azure PlayFab
Kết quả mong đợi:
Ung dụng được model đã train vào Game Engine và phát triển thành một Game
qua camera Game nhận điện được hình ảnh và xử lý ra input với tốc độ cao
Môi trường game dễ hiểu dé phù hợp việc tương tác thông qua cử chỉ, các logic
Game không xảy ra lỗi, hệ thống tài khoản hoạt động nhanh chóng.
Kế hoạch thực hiện: (27/02/2023 đến 19/06/2023)
Nội dung
-Nghiên cứu và học hỏi về công nghệ và cài đặt những
môi trường.
-Tạp các cuộc khảo sát người dùng để xem những nhu
cầu và những chức năng cần thiết
-Lựa chọn những dt liệu phù có săn đề train Model
-Generate một lượng nhỏ những Data Synthetic.
14
Trang 7Tuần 9-10
Tuần 10-11
Tuần 12
Tuần 13
-Tién hành train đơn giản với lượng nhỏ Data
-Phân tích và thiết kế những yêu cầu tính năng và
Game flow của ứng dụng.
-Tiếp tục Generate những Data Synthetic mới
-Tìm kiếm và thiết kế Tạo những UI, model 3D cầnthiết cho Menu va mini-game Saber
-Phát triển những cơ chế Logic cho game Saber
-Viết báo cáo quá trình train model
-Hoàn thành model nhận diện cử chỉ và chuyên động
tay.
-Import model thành package unity.
-Xử ly việc giao tiếp giữa package va co chế hoạt
động của Menu.
-Hoàn thành giao tiếp giữa package và logic game
Saber và Menu.
-Train model nhận diện chuyên động cơ thé
-Thiét ké UI va Model cho game Let’s Dance
-Phat trién Logic cho game Let’s Dance.
-Thiét kế hệ thống Backend dé lưu điểm va tài khoản
người dùng.
-Bồ sung model mới vào package.
-Test và kiểm thử package với những project khác
nhau
-Hoàn thành việc giao tiếp giữa package và Game
Let’s Dance.
-Hoàn thành những chức năng phụ của Game.
-Tiến hành deploy dé kiểm tra lỗi Backend và hoạt
động trong game.
15
Trang 8-Thêm những plugin phục vụ việc deploy.
-Hoàn thiện báo cáo.
-Deploy hệ thông hoàn chỉnh.
Trang 9MỤC LỤC
LỜI CẢM ƠN
ĐÈ CƯƠNG CHI TIẾT
Chương 1 TONG QUAN DE TÀI
1.1 Động lực nghiên cứu
1.2 Phát biểu bài toán
1.3 Thách thức bai toán
1.4 Mục tiêu và phạm vi nghiên cứu
1.5 Cấu trúc báo cáo khóa luận
Chương 2 CƠ SỞ LÝ THUYET
2.1 Thị giác máy tính
2.1.1 Giới Thiệu
2.1.2 Perceptron
2.1.3 Hàm kích hoạt 2.1.4 Ham Sigmoid
2.1.5 Ung dung trong phat trién game
2.2 Artificial Neural Networks — ANN
2.3 Convolutional Neural Network - CNN
2.3.1 Tang tich chap (Convolution layer)2.3.2 Tang tông hop (Pooling layer)
2.3.3 Tang lién két day du (Fully connected layer)
2.4 Temporal Semantic Segmentation Models -TSML
11 12
23
23
23
24 25 26
27
27 27
28 28 29
29 32 33 35 35 36 37 37 38 39 39
50
17
Trang 10Chương 3 THIET KE HỆ THONG
3.1 Tén
3.2 Trai
3.2.1.
ø quan thiết kế hệ thong
ning Với Synthetic Data Workflow
3.2.2 Thiét lap Generate Synthetic Data
Model Thị giác máy tính
Hand landmark detection
Face landmark detection
Pose landmark detection
Hand Gesture Recognition Pose Recognition
3.4 Thiết kế Game
3.4.1 Space Dasher 3.4.2 Neon Saber
Gaacacaa
Gq
Gadcaad
C_S1 Đăng nhập ứng dụng
€_S2 Tương tác với Camera
C_S3 Upload điểm cao
C_MI Thao tác với Menu
C_M2 Chọn Mini Game
C_M3 Xem Leaderboard
C_M4 Vào Gameplay C_M5 Ngưng Gameplay
C_D1 Nhận dạng landmark tay
C_D2 Phan loai cw chi tay C_D3 Phân loại cử chỉ tay xác nhận C_D4 Nhận dang landmark khuôn mặt
C_D5 Nhận dang landmark người
C_D6 Phân loại dáng người
C_GI Di chuyển Saber (minigame Neon Saber)
C_G2 Chém chướng ngại vat (minigame Neon Saber)
C_G3 Chém bom (minigame Neon Saber)
C_G4 Di chuyển may bay (minigame Space Dasher)
C_G5 Xoay máy bay (minigame Space Dasher)
52
52
54
54 55
58
58 60 61 61 62 65 66 68
71
71 72
72
74 74
81 81
81
82 83
84 84
85 86
86 87
88
89 90 90
91
92 92
93
94
18
Trang 11UC_G6 Bay trúng chướng ngại vật (minigame Space Dasher) UC_G7 Thực đúng dáng nhảy (minigame Let’s Dance)
UC_ G8 Thực sai dang nhảy (minigame Let’s Dance)
UC_G9 Dat/mat được combo (minigame Let’s Dance)
Chuong 4 TRIEN KHAI UNG DUNG
4.1 Cac Model thi giac may tinh
4.1.1 Hand landmark detection
4.1.2 Face landmark detection 4.1.3 Pose landmark detection 4.1.4 Hand Gesture Recognition 4.1.5 Pose Recognition
4.2 Ung dung Game
4.2.1 Menu chinh 4.2.2 Space Dasher 4.2.3 Neon Saber
4.2.4 Let’s Dance
Chuong 5 KET LUAN VA HUONG PHAT TRIEN
5.1 Kết quả đạt được
5.1.1 Chất lượng sản phâm5.1.2 Những hạn chế
5.2 Hướng phát triểnTÀI LIỆU THAM KHẢO
95 95
96
97
98 98
98 99
100 101 103 106 106
107
114 116
119 119
Trang 12DANH MỤC TỪ VIET TAT
mm Computer Vision - Thị giác máy tính
Artificial Neural Networks - Mạng nơ-ron nhân tạo
Convolutional Neural Network - Mạng nơ-ron
Temporal Semantic Segmentation Models
-Mô hình phân đoạn ngữ nghĩa tạm thời
Computer-aided design - Thiết kế hỗ trợ bởi
máy tính
Region-based Convolutional Neural Network
- Mang than kinh tich chap dựa trên khu vực
Frames per second - Số khung ảnh trên mỗi
giây
20
Trang 13TOM TAT KHÓA LUẬN
Khóa luận tốt nghiệp nay chủ yếu nhằm vào vào việc sử dụng Computer Vision (thịmáy tính) trong phát triển game sử dụng đữ liệu tổng hợp (synthetic data) Những bộ đữliệu tổng hợp sẽ được sử dụng từ các model 3D có sẵn và tạo ra nhờ các công cụ từ Game
hợp trong các ứng dụng thị giác máy tính.
Xử lý các thông tin dữ liệu đầu ra của các mô hình thị giác máy tính dé biến chúngthành một công cụ hỗ trợ người dùng trong việc giao tiếp giữa người và máy.Đồng thờithiết kế một hệ thống mà các luồng phân tích hình ảnh có thê giao tiếp được với hệ thống
ứng dụng game Ung dụng chúng dé phát triển các game vận động thé thao nơi mà ngườichơi tương tác với máy tính bằng chính cơ thê của họ từ camera với sự hỗ trợ từ các mô
hình thị giác nói trên.
21
Trang 14Chương 1 TỎNG QUAN ĐÈ TÀI
1.1 Động lực nghiên cứu
Thị giác máy tính là một lĩnh vực đang nghiên cứu và sử dụng nhanh chóng với
nhiều ứng dụng, bao gồm cả phát triển trò chơi điện tử Vào thời gian gần đây, người
ta ngày càng quan tâm đến việc dùng thị giác máy tính để nâng cao tính thu hút và trải
nghiệm của người chơi.
Nhằm nắm thêm về thị giác máy tính thì việc xây dựng trò choi thị giác máy tính
là một cách tuyệt vời để tìm hiểu thêm về những kiến thức cơ bản về lĩnh vực này,
chang hạn như xử lý hình anh, phát hiện đối tượng và theo dõi Ta có thé thé tạo trò
chơi trong đó người chơi điều khiển trò chơi bang cử chỉ của họ hoặc trò chơi trong đó
môi trường thay đổi theo thời gian thực dựa trên hành động của người chơi
1.2 Phát biểu bài toán
Ngày nay nhu cầu chơi những tựa Game yêu cầu ngày chơi vận động rất lớn, ràocản lớn nhất của thê loại game này là yêu cầu người chơi phải sử hữu những Bộ điều
khiển riêng biệt như là VR Controller, Move Motion Controller, VR Aim Controller,
dẫn đến chi phí người choi phải bỏ ra là vô cùng lớn
Một cách để giải quyết vấn đề này đó là sử dụng Vision-based Input, thay vìdùng những bộ điều khiển đặc thù, ta có thé thông qua camera dé nhận diện và xử lý cử
chỉ người dùng dé điều khiển trò chơi Độ hap dẫn của một trò chơi cũng sẽ được nâng
cao khi người dùng không phải dùng những nút bam vật lý, mà thông qua chính cử chỉ
bản tay cũng như chuyên động cơ thể của chính họ Thị giác máy tính cũng có thể thay
thé và cải tiến chất lượng tổng thé của trò chơi Vi dụ: thị giác máy tính được dùng dé
dé tạo đồ họa chân thực hơn, cải thiện khả năng hòa nhập của người chơi vào thế giới
trò chơi và làm cho trò chơi trở nên thử thách và hấp dẫn hơn
Trong thời gian gần đây, việc phát hiện người và ước tính tư thế người đã đạt
được những bước tiến lớn, được hỗ trợ bởi các bộ dữ liệu được dán nhãn quy mô lớn
Tuy nhiên, những bộ dữ liệu này không có sự đảm bảo hoặc phân tích nao về các hoạt
22
Trang 15động, tư thế hoặc sự đa dạng về bối cảnh của con người Ngoài ra, những mối quan ngại
về quyên riêng tư, pháp lý, an toàn và dao đức có thé làm giảm đi khả năng thu thập
thêm đữ liệu của con người Một giải pháp thay thé mới nổi cho đữ liệu trong thé giới
thực giúp giảm bớt một số van dé này là dit liệu tổng hợp
Tuy nhiên, việc sản sinh các trình tạo dữ liệu tong hợp là vô cùng khó khăn va
ngăn cản các nhà nghiên cứu khám phá tính hữu dụng của chúng Mặc dù việc thu thập
dữ liệu chất lượng cao từ thế giới thực là khó khăn, tốn kém va tốn thời gian, nhưng
công nghệ này cho phép người dùng tạo dir liệu một cách nhanh chóng, dễ dàng và kỹ
thuật số với bất kỳ sỐ lượng nào họ muốn, tùy chỉnh theo nhu mong muốn của họ
1.3 Thách thức bài toán
Dưới đây là một số bài toán hiện đang phải đối mặt trong lĩnh vực thị giác máy
tinh dé phát triển trò chơi:
e Thu thập dữ liệu: Các thuật toán nhận dạng thị giác máy tính yêu cầu một lượng
lớn dữ liệu dé đào tạo Dữ liệu này có thé khó thu thập và tốn kém, đặc biệt đốivới các trò chơi yêu cầu dữ liệu trong thế giới thực
e Độ phức tạp tính toán: Các thuật toán thị giác máy tính có thể tốn kém về mặt
tính toán để chạy Đây có thể là một thách thức đối với các trò chơi cần chạytrong thời gian thực trên thiết bị di động hoặc các nền tảng phần cứng hạn chế
khác.
e Độ chính xác: Các thuật toán thị giác máy tính không phải lúc nào cũng chính
xác Điều này có thé dan đến các vấn đề như sai kết quả, có thể tác động tiêu cựcđến trải nghiệm chơi trò chơi
e Thiếu tiêu chuân: Không có tiêu chuẩn thống nhất chung về thị giác máy tinh,
điều này có thé gây khó khăn cho việc phát triển trò chơi tương thích với các nềntảng và thiết bị khác nhau
Công nghệ thay đối nhanh chóng: Thị giác máy tinh là một lĩnh vực phát triểnnhanh chóng, điều đó có nghĩa là các model và kỹ thuật được sử dụng có thể không hiệu
quả trong tương lai Điều này có thé gây khó khăn cho việc duy trì và cập nhật các trò
chơi thị giác máy tính.
23
Trang 16Thị trường hạn chế: Thị trường trò chơi thị giác máy tính vẫn còn tương đối nhỏ,
điều này có thê gây khó khăn cho việc tìm nhà phát hành và nhà đầu tư cho các loại trò
chơi nay
Bat chấp những thách thức này, thị giác máy tính là một lĩnh vực day hứa hẹn vớitiềm năng cách mạng hóa ngành công nghiệp game
1.4 Mục tiêu và phạm vi nghiên cứu
Nghiên cứu cách tạo ra đữ liệu tổng hợp từ Game Engine, phân tích lợi ích cũngnhư quy trình phát triển Computer Vision tổng hợp Tìm hiểu quy trình dao tạo máy học
để tạo ra các model thị giác đảm bảo được quá trình tương tác mượt mà giữa người và
máy.
Ứng dụng được Computer Vision vào Game Engine và phát triển thành mộtGame hoàn chỉnh bao gồm các minigame và menu tương tác được bằng cử chỉ thông
qua camera Game nhận diện được hình ảnh va xử lý ra input với tốc độ cao Môi
trường game dễ hiểu đề phù hợp việc tương tác thông qua cử chỉ, các logic Game không
xảy ra lỗi, hệ thông tài khoản hoạt động nhanh chóng
Tạo ra mỗi mẫu packages chung để tái sử ở nhiều projects trong tương lai Tìmhiểu các giao thức dé đảm đảm bảo được việc trao đổi dữ liệu giữa luồng nhận diện thị
giác và Game Engine.
24
Trang 171.5 Câu trúc báo cáo khóa luận
Báo cáo khóa luận gôm 5 chương với các nội dung như sau:
* Chương 1: Tổng quan đề tài Giới thiệu về nội dung đề tài bao gồm động lực
nghiên cứu, phát biểu bài toán, mục tiêu, phạm vi của nghiên cứu và những đóng
góp chính trong khóa luận.
* Chương 2: Cơ sở lý thuyét.trinh bày các kiến thức va lý thuyết liên quan đến dé
tài, về các khái niệm các mô hình và các công nghệ sử dụng
* Chương 3: Thiết kế hệ thống Trình bày về quy trình xây dựng và phân tích bộ hệ
thống ứng dụng game
* Chương 4: Sản phẩm rình bay quá trình cài đặt thực nghiệm, các thông số chỉ tiết,
phương pháp đánh giá và phân tích kết quả
* Chương 5: Kết luận và hướng phát triển Tổng kết các kết quả quan trọng đã đạt
được trong đề tài và hướng phát triển của đề tài trong tương lai
25
Trang 18Chương 2 CƠ SỞ LÝ THUYET
2.1 Thị giác máy tính
2.1.1 Giới Thiệu
Computer Vision hay thị giác máy tính là một lĩnh vực trí tuệ nhân tạo giúp cho
máy tính xử lý khả năng nhìn, xác định và hiểu thế giới xung quanh Đây là một lĩnh
vực đang phát triển nhanh chóng với nhiều ứng dụng, bao gồm ô tô tự lái, nhận dạng
khuôn mặt và phân tích hình ảnh y tế
Các hệ thống thị giác máy tính thường hoạt động bằng cách chụp ảnh hoặc quayvideo cảnh đầu tiên Hình ảnh hoặc video này sau đó được xử lý bằng thuật toán thị giác
máy tính, giúp xác định và trích xuất các đặc điểm từ hình ảnh Các tính năng này sau
đó được sử dụng dé phan loai đối tượng hoặc cảnh hoặc dé thực hiện các tác vụ khác
như theo dõi hoặc phát hiện đối tượng
Có nhiều loại thuật toán trong thị giác máy tính khác nhau, mỗi loại có ưu điểm
và điểm yếu khác nhau Một số loại thuật toán thị giác máy tính phổ biến nhất bao gồm:
Trang 19unit step function
Hình 2.2 Sơ đồ của một Perception
Ý nghĩa của hàm này dùng để các perceptron đưa ra được quyết định dựa vàokết quả đầu ra được trả về băng một hàm gọi là unit step function để xem đầu ra có đạt
ngưỡng từ đó quyết định output
a lifg > 0.5
y= 0 otherwise
2.1.3 Ham kich hoat
Ta có thé coi những chức năng nay giản don như những bộ lọc nơi xem xét có
cho phép thông tin di qua nơ-ron hay là cản lại Khi training mạng nơ-ron, thì các
function kích hoạt đóng vai trò quyết định trong quá điều chỉnh độ dốc của đạo
hàm.Hầu hết các hàm kích hoạt là hàm kha vi liên tục Nếu thay đôi ở đầu vào là nhỏ và
kha vi, thì sẽ có một thay đôi nhỏ ở dau ra, mọi diém trong miên đêu có đạo ham
27
Trang 20x1
activation function
Hàm Sigmoid là một hàm làm mịn dữ liệu và đồng thời cũng là một hàm khả vi
Các hàm Sigmoid giúp chuyền đổi các giá trị tùy ý thành tỉ lệ và được dùng dé dé phân
loại nhị phân Hàm sigmoid ánh xa dữ liệu input thành các giá trị trong phạm vi từ 0 đến
1.
2.1.5 Ứng dụng trong phát triển game
Thị giác máy tính là một công nghệ đang nghiên cứu và sử dụng nhanh chóng
với các giá trị trong nhiều ngành khác nhau, bao gồm cả phát triển trò chơi Các kỹ
thuật thị giác máy tính được dùng dé dé tạo trải nghiệm chơi trò chơi chân thực va hấp
dẫn hơn, cũng như dé cải thiện khả năng tiếp cận trò chơi cho người chơi khuyết tật
Dưới đây là một số cách mà thị giác máy tính đang được sử dụng trong phát triển
trò chơi:
e Phát hiện và theo dõi đối tượng trong thời gian thực: Thị giác máy tính được
dùng để để phát hiện và theo dõi các đối tượng trong thời gian thực, được dùng
dé dé tạo ra trải nghiệm chơi game chân thực và hap dẫn hơn
e Nhận dạng cử chỉ: Thị giác máy tính được dùng dé dé nhận dang cử chi, được
dùng dé dé điều khiển trò chơi hoặc dé tương tác với thé giới trò chơi Vi du: thịgiác máy tinh được dùng dé dé nhận dạng cử chỉ tay dé điều khiển nhân vật trong
trò chơi hoặc đê tương tác với các đôi tượng trong môi trường ảo.
28
Trang 21e Nhận dạng khuôn mặt: Thị giác máy tính được dùng dé để nhận dạng khuôn mặt,
được dùng dé dé cá nhân hóa trải nghiệm chơi trò chơi hoặc để cung cấp các tính
năng bảo mật.
e Xử lý ngôn ngữ tự nhiên: Thị giác máy tính được dùng dé dé xử lý ngôn ngữ tự
nhiên, có thé thay thé và cải tiến khả năng truy cập trò chơi cho người chơi
khuyết tật.
e Thị giác máy tính là một công cụ mạnh mẽ được dùng dé dé tạo ra trải nghiệm
chơi trò chơi thực tế hơn, sống động hơn và dễ tiếp cận hơn Khi công nghệ thị
giác máy tính tiếp tục phát triển, có khả năng chúng ta sẽ thấy những ứng dụng
thú vị và sáng tạo hơn nữa của thị giác máy tính trong phát triển trò chơi trong
tương lai.
Dưới đây là một số ví dụ về trò chơi sử dụng thị giác máy tính:
e Trò chơi thực tế tăng cường (AR): sử dụng thị giác máy tính để phủ các đối
tượng ảo lên trên thé giới thực Điều này được dùng dé dé tạo ra trải nghiệm chơi
trò chơi nhập vai và hấp dẫn hơn Ví dụ: trò chơi "Pokémon Go" dùng thực tế
tăng cường đề cho phép người chơi bắt Pokémon trong thế giới thực
e Trò chơi thực tế ảo: Trò chơi thực tế ảo sử dụng thị giác máy tính dé tạo ra một
môi trường ảo nhập vai hoàn toàn Điêu này được dùng đê đê tạo ra trải nghiệm
29
Trang 22chơi game chân thực và hấp dẫn hơn Ví dụ: trò chơi "Half-Life: Alyx" sử dụng
thực tế ảo dé cho phép người chơi khám phá một thành phó hậu tận thé
Hình 2.8 Trò choi Half-life Alyx (Valve)
e Trò chơi điều khiển bằng cử chi: Trò chơi điều khién bằng cử chi sử dung thị giác
máy tính để nhận diện và theo dõi chuyên động tay của người chơi Điều này
được dùng dé dé điều khién trò chơi hoặc dé tương tác với thế giới trò chơi Ví
dụ: trò chơi "Just Dance" sử dụng điều khiên bằng cử chỉ dé cho phép người chơi
nhảy theo nhạc.
Hinh 2.9 Tro choi Just Dance (Ubisoft)
30
Trang 23Khi công nghệ thị giác máy tính tiếp tục phát triển, chúng ta hoàn toàn có thê kỳ
vọng sẽ thấy những ứng dụng thú vị và sáng tạo hơn nữa của thị giác máy tính trong trò
chơi trong tương lai.
2.2 Artificial Neural Networks — ANN
[BxMriea ated |
Hình 2.14: Su tương đồng của noron trong não người và mang ANN.
Mạng nơ-ron nhân tao (Artificial Neural Networks) hay Neural Networks (NNs)
là mạng lưới thần kinh, nơi mà các liên kết chặt chẽ giữa các tầng với nhau Được dựa
trên mô hình hoạt động của thần kinh não bộ người.
Mạng nơ-ron sâu — mạng học sâu (Deep Neural Network — DNN) là một mạng
nơ-ron nhân tạo (Artificial Neural Networks — ANNs) với một kiến trúc phức tạp và
“sâu” hơn so với mạng nơ-ron nông.
Kiên trúc của mạng nơ-ron sâu tương tự như mạng nơ-ron nhân tạo với 3 thành
phân: lớp đầu vào, các lớp ân (số lượng các lớp và số lượng noron trên mỗi lớp không
giới hạn) và lớp đâu ra Kiên trúc của một mạng học sâu 3 lớp:
31
Trang 24Ô SG A@À@⁄2
QPL
Input Hidden Output
Hình 2.15: Minh họa kiến trúc mang nơ-ron sau
Đối với mỗi nút trong một lớp của mạng, độ lớn trọng số của nút hiện được xemxét là tong độ lớn bằng số của các nút lớp đầu vào trước đó, được chuyền đến hàm kích
hoạt phi tuyến tinh dé tinh trọng số Các nút này là đầu ra của lớp trước và là đầu vào
của lớp tiếp theo Mạng tính toán và tối ưu hóa trọng số cho từng nút trong mạng trong
suốt quá trình đảo tạo
Trong các vấn liên quan đến xử lý ảnh, DNN dùng nhiều lớp dé lần lượt rút tríchcác đặc trưng từ thấp tới cao Những lớp thấp sẽ phát hiện góc cạnh của ảnh, sau đó
những đặc trưng này sẽ được truyền tới những lớp cao hơn (sâu hơn) dé phân biệt đối
tượng rõ ràng hơn Mặc dù DNN có khả năng xử lý bài toán phát hiện đối tượng trong
ảnh, nhưng kiến trúc này cũng gặp nhiều trở ngại trong thời đại hiện nay
2.3 Convolutional Neural Network - CNN
Mang nơ-ron tích chap (CNN) là một loại mang nơ-ron được sử dung dé xử lycác dữ liệu được biểu diễn dưới dạng các mảng có cấu trúc, như các hình ảnh CNN
được lay cảm hứng từ cách thức xử lý hình ảnh của não bộ, trong đó các tế bào thần kinh
trong vỏ thị giác chỉ phản ứng với các đặc trưng cụ thé trong hình ảnh, chăng hạn như
các cạnh, góc và đường cong.
CNN được cấu tạo từ các lớp, mỗi lớp gồm một số nơ-ron Các nơ-ron trong cùng
một lớp được kêt nôi với nhau thông qua các bộ lọc Bộ lọc là các ma trận sô có kích
32
Trang 25thước xác định Khi một bộ lọc được quét qua một hình ảnh, nó sẽ tính toán một hàm số
trên các pixel trong hình ảnh Hàm số này được gọi là hàm tích chập
Kết quả của hàm tích chập được đưa vào các nơ-ron trong lớp tiếp theo Quá trìnhnày được lặp lại cho đến khi hình ảnh được xử lý xong
CNN có một số ưu điểm so với các loại mạng nơ-ron khác Đầu tiên, CNN rấthiệu quả trong việc phát hiện các đặc trưng trong hình ảnh Thứ hai, CNN có thé học các
đặc trưng từ dữ liệu mà không cần phải được định nghĩa trước Thứ ba, CNN có thé
được áp dụng cho các hình ảnh có kích thước và độ phân giải khác nhau.
Cle ~Ï FTI— t&ñ
FEATLIRE LEARNING CLASSIFICATION
Hình 2.16: Kiến trúc tông quan của mô hình CNN
CNN được câu tạo từ các tầng, mỗi tầng gồm một số nơ-ron Các nơ-ron trong
cùng một tang được kêt nôi với nhau thông qua các bộ lọc Bộ lọc là các ma trận sô có
kích thước xác định Khi một bộ lọc được quét qua một hình ảnh, nó sẽ tính toán một
hàm số trên các pixel trong hình ảnh Hàm số này được gọi là hàm tích chập
Kết quả của hàm tích chập được đưa vào các nơ-ron trong lớp tiếp theo Quá trìnhnày được lặp lại cho đến khi hình ảnh được xử lý xong
CNN có một số ưu điểm so với các loại mạng nơ-ron khác Đầu tiên, CNN rất
hiệu quả trong việc phát hiện các đặc trưng trong hình ảnh Thứ hai, CNN có thé học các
đặc trưng từ dữ liệu mà không cần phải được định nghĩa trước Thứ ba, CNN có thé
được áp dụng cho các hình ảnh có kích thước và độ phân giải khác nhau.
33
Trang 262.3.1 Tầng tích chập (Convolution layer)
Filter 3x3 +
Output 4x4
Result of the element-wise
product and sum of the
filter matrix and the orginal
image
Hình 2.17: Minh họa về tang tích chập
Ý nghĩa của các lớp tích chập đó dùng các tính năng từ đữ liệu input Lớp nàydùng như các bộ lọc để tìm và trích xuất thông tin thiết yếu từ đữ liệu input đồng thờigiảm kích thước của các lớp ân tiếp theo Các giá trị đầu ra của ngăn bộ lọc được xử lý
bằng cách sử dụng một chức năng kích hoạt Việc được xem là một tầng có độ quan
trọng thiết yêu lớn nhất trong CNN
2.3.2 Tầng tổng hợp (Pooling layer)
Sau các khi đi qua tầng tích chập, thì đến các tang tổng hợp trích xuất các tínhnăng và giảm đi kích thước dữ liệu đầu vào Khi số lượng kích thước giảm đi, mô hình
sẽ giảm số lượng tham số, rút ngắn thời gian đào tao và hạn chế trang bị quá mức
Tương tự như các lớp tích chập, các lớp tổng hợp sử dụng các bộ lọc trượt dữ liệu đầuvào dé trích xuất các tính năng mong muốn Tuy nhiên, bộ lọc ở đây không chứa bất kỳ
tham sô nào.
34
Trang 27Max Pol
———
Filter - (2 x Z1
Sarde - (2, 2}
Hinh 2.18: Minh hoa Pooling Layer.
Có hai cách chính dé thực hiện ở téng tong hợp Max pooling va average Pooling
e Max pooling: Trong phương pháp này, các vùng không chồng chéo được chia
thành các ô tròn và giá trị lớn nhất trong mỗi ô được chọn là giá trị đại điện chovùng đó Quá trình này giúp giảm đi kích cỡ của đầu vào và tạo ra các đặc trưngquan trọng.
e Average pooling: Tương tự như max pooling, average pooling chia các vùng
không chồng chéo thành các ô tròn Tuy nhiên, thay vì lựa chọn giá trị lớn nhất,
phương pháp này tính trung bình các giá trị trong mỗi 6 tròn Điều này giúp giảm
nhiễu và tao ra một biéu diễn đữ liệu trung bình cho vùng đó.
2.3.3 Tầng liên kết đầy đủ (Fully connected layer)
Kiến trúc tang kết đầy đủ giống với kiến trúc của ANN Dau ra của các lớp tích
chập và hỗn hợp đó là một matrix ở định dang 2D hoặc 3D Ma trận trên được làm
phẳng thành một vector (flattened) và được chèn vào lớp liên kết đầy đủ Lớp cuối của
các lớp kết nối hoàn chỉnh
Ngoài ra, khi lớp liên kết đầy đủ nhận được dữ liệu hình anh, nó sẽ chuyên đôi
nó thành chất lượng không phân đoạn, xác định xem ảnh có chất lượng cao nhất có
được chọn hay không
35
Trang 28SS od £53 Co CE SE Bal
Hinh 2.19: Minh hoa Fully-connected layer.
2.4 Temporal Semantic Segmentation Models -TSML
2.4.1 Giới Thiệu
Mô hình phân đoạn ngữ nghĩa tạm thời (TSML) là một loại mô hình máy học
được dùng dé dé phân đoạn hình ảnh hoặc video thành các lớp ngữ nghĩa khác nhau
theo thời gian Việc này tức là chúng có thê xác định các đối tượng hoặc cảnh trong
hình ảnh hoặc video và theo dõi chúng khi chúng di chuyên theo thời gian
Các mô hình TSML được dùng nhiều bởi ứng dụng thị giác máy tính, chang han
như:
e Theo dõi đối tượng: Các mô hình TSML được dùng dé dé theo dõi chuyển động
của các đối tượng trong một hình ảnh hoặc video Điều này được dùng dé chocác ứng dụng như giám sát bằng video hoặc lái xe tự động
e Hiểu cảnh: Các mô hình TSML được dùng dé dé hiểu cảnh trong một hình ảnh
hoặc video Điều này được dùng để cho các ứng dụng như hiểu cảnh giao thônghoặc xác nhận ra các đối tượng ở trong nhà máy sản xuất
e Nhận dạng hoạt động: Các mô hình TSML được dùng dé dé nhận dang cac hoat
động trong một hình anh hoặc video Điều này được dùng dé cho các ứng dụngnhư hiểu hành vi của con người hoặc nhận dạng các trận đấu thể thao
e Các mô hình TSML vẫn là một lĩnh vực nghiên cứu tích cực và có nhiều cách
tiếp cận khác nhau đã được đề xuất Tuy nhiên, ý tưởng chung là sử dụng kết hợp
thông tin không gian và thời gian để phân đoạn hình ảnh hoặc video thành các
lớp ngữ nghĩa khác nhau.
36
Trang 292.4.2 Đặc điểm
Thông tin không gian đề cập đến vị trí cụ thê của các đối tượng hoặc cảnh trongmột hình ảnh hoặc video Thông tin tạm thời dé cập đến chuyển động của các đối
tượng hoặc cảnh theo thời gian Các mô hình TSML sử dụng cả thông tin không gian
và thời gian dé theo dõi các đối tượng hoặc cảnh khi chúng di chuyên theo thời gian
Có một số cách khác nhau dé kết hợp thông tin không gian và thời gian trong các
mô hình TSML Một cách tiếp cận phô biến là sử dụng mạng CNN để trích xuất các
đặc điểm không gian từ hình ảnh hoặc video CNN được dùng dé dé trích xuất các
tính năng như các cạnh, kêt câu và hình dạng của các đôi tượng hoặc cảnh.
Khi các tính năng không gian đã được trích xuất, chúng được dùng để đề theo dõi
các đối tượng hoặc cảnh theo thời gian Một cách tiếp cận phố biến là sử dụng mạng
thần kinh hồi quy (RNN) để theo dõi các đối tượng hoặc cảnh theo thời gian RNN
được dùng để để tìm hiểu các mối quan hệ tạm thời giữa các đối tượng hoặc cảnh
khác nhau.
Các mô hình TSML đã được chứng minh là có hiệu quả đối với nhiềuFpi ứng
dụng thị giác máy tính Tuy nhiên, cũng có một số thách thức liên quan đến việc sử
dụng các mô hình TSML Một thách thức là các mô hình TSML yêu cầu một lượng
lớn dữ liệu đào tạo Điều này là do họ cần tìm hiểu mối quan hệ thời gian giữa các đối
tượng và cảnh khác nhau.
Một thách thức khác là các mô hình TSML có thé tốn kém về mặt tính toán dé
37
Trang 30đào tạo và triển khai Điều này là do họ cần xử lý cả thông tin không gian và thời
gian.
Bat chấp những thách thức này, các mô hình TSML là một công cụ mạnh mẽ chocác ứng dụng thị giác máy tính yêu cầu thông tin tạm thời Khi công nghệ tiếp tục
phát triển, chúng ta có thé kỳ vọng sẽ thấy nhiều cách sử dụng sáng tạo hơn nữa của
các mô hình TSML trong tương lai.
2.5 Machine Learning Pipeline
Trang 312.5.2 Đặc điểm
Các Pipeline Model được dùng dé cho nhiều nhiệm vụ khác nhau, bao gồm phân
loại hình ảnh, xử lý ngôn ngữ tự nhiên và phát hiện gian lận Chúng là một công cụ
mạnh mẽ dành cho những người thực hành máy học vì chúng cho phép bạn tự động hóa
quy trình đào tạo mô hình và xử lý dữ liệu.
Dưới đây là một số lợi ích của việc sử dụng mô hình Pipeline:
° Khả năng tái tạo: Một mô hình pipeline được dùng dé dé tái tạo kết quả
của một thử nghiệm máy học Điều này rất quan trọng để đảm bảo rằng các kết quả là
chính xác và đáng tin cậy.
° Khả năng mở rộng: Một mô hình pipeline có thể được mở rộng để xử lý
các bộ dữ liệu lớn hơn hoặc dé đào tạo các mô hình lớn hơn Điều này rất quan trọng dé
dam bao rang mô hình được dùng dé dé đưa ra dự đoán về lượng dữ liệu lớn
e Hiệu quả: Một mô hình pipeline được dùng dé dé tự động hóa quy trìnhdao tạo mô hình và xử lý dữ liệu Điều này có thé tiết kiệm thời gian và công sức, đồng
thời cũng có thê giúp đảm bảo rằng quy trình nhất quán
Nhìn chung, một mô hình pipeline là một công cụ có giá trị cho những người
thực hành máy học Bằng cách sử dụng mô hình quy trình, bạn có thể cải thiện độ chính
xác, hiệu suất và khả năng tái tạo của các mô hình máy học của mình
2.6 Synthetic Data
2.6.1 Giới Thiệu
Synthetic Data hay Dữ liệu Tổng hợp trong thị giác máy tính là dit liệu giả đượctạo ra thay vì được lấy từ thế giới thực Dữ liệu này được dùng dé dé đào tạo và kiểm tra
các mô hình thị giác máy tính va nó có thé có một số lợi thế so với dit liệu thực
Có một số cách khác nhau để tạo dữ liệu tổng hợp cho thị giác máy tính Một
cách tiếp cận phô biến là sử dụng phần mềm thiết kế có sự trợ giúp của máy tính (CAD)
để tạo mô hình 3D của các đối tượng Sau đó, các mô hình này có thể được kết xuất
thành hình ảnh hoặc video hoặc chúng được dùng dé dé tạo dữ liệu dao tạo cho các mô
hình phân đoạn và phát hiện đối tượng 3D Một cách tiếp cận khác là sử dụng các công
39
Trang 32cụ trò chơi dé tạo môi trường tổng hợp Các môi trường này có thé chứa các đối tượng
và ký tự và chúng được dùng dé dé tạo dữ liệu tong hợp cho nhiều tác vụ thị giác máy
tính, chắng hạn như phát hiện đối tượng, theo dõi và điều hướng
Dữ liệu tổng hợp được dùng để để đào tạo và thử nghiệm nhiều mô hình thị giácmáy tính khác nhau, bao gồm:
e Các mô hình phát hiện đối tượng: Các mô hình này được sử dụng dé xác định và
định vị các đối tượng trong hình ảnh hoặc video
e Mô hình phân đoạn: Các mô hình này được sử dụng dé phân đoạn hình anh hoặc
video thành các vùng khác nhau, chang hạn như đối tượng, nền và tiền cảnh
e Mô hình chụp chuyển động: Những mô hình này được sử dụng dé tạo hoạt anh
mô phỏng chuyển động của con người hoặc động vật.
Có một số công cụ và tai nguyên khác nhau có san dé giúp bạn bắt đầu Dưới đây
là một số tùy chọn phô biến nhất:
e Unity: là một engine trò chơi phô biến cung cấp một số công cụ đề tạo và quan lý
dir liệu tổng hợp
e Unreal Engine: cũng là một engine trò chơi phé biến khác cung cấp một số công
cụ để tạo và quan lý dữ liệu tổng hợp
e Blender: là bộ công cụ tạo 3D mã nguồn mở và miễn phí được dùng dé dé tạo
các mô hình và môi trường 3D cho dữ liệu tổng hop
e Google Cloud Platform: cung cap một số dịch vụ có thé dùng để tạo, lưu trữ và
quản lý dữ liệu tổng hợp, bao gồm Cloud Storage, Cloud Dataflow va Cloud
Trang 33kiệm thời gian và tiền bạc, đồng thời cũng có thé tao ra các bộ dữ liệu lớn hơn nhiều,
điều này có thé dẫn đến các mô hình chính xác và mạnh mẽ hơn
Chúng có thể đa dạng hơn dữ liệu thực Dữ liệu ảo tổng hợp được tạo bất kỳ đốitượng, môi trường và điều kiện mong muốn nao, điều này có thé giúp đảm bảo rằng các
mô hình không khớp quá mức với một tập dữ liệu cụ thé Điều này có thé cải thiện hiệu
suất của các mô hình trên dữ liệu mới mà chúng chưa từng thấy trước đây
Chúng có thé bảo vệ quyền riêng tư hơn dữ liệu thực Dữ liệu tổng hợp không
chứa bat kỳ thông tin cá nhân nào, vì vậy nó được dùng dé dé dao tạo và thử nghiệm các
mô hình ma không ảnh hưởng đến quyên riêng tư của các cá nhân Điều nay có thé quan
trọng đối với các ứng dụng như ô tô tự lái, cần có khả năng nhận dạng các đối tượng
trong thế giới thực mà không xâm phạm quyên riêng tư của mọi người
Dữ liệu tổng hợp có thé được tạo ra dé đa dang hon dt liệu thực, diéu nay co thégiúp ngăn các mô hình khớp quá mức với một tập dữ liệu cụ thé
Dữ liệu tổng hợp có thể tiết kiệm chi phí hơn nhiều so với dữ liệu thực, đặc biệtkhi nói đến dit liệu khó thu thập hoặc tốn kém
Nhìn chung, dữ liệu tổng hợp có thể là một công cụ mạnh mẽ cho máy học Tuy
nhiên, điều quan trọng là phải nhận thức được những thách thức và hạn chế tiềm tàng
của dir liệu tong hợp trước khi sử dụng nó
Synthetic data is orders of magnitude cheaper than labeling real world data
Synthetic Real World
Dataset Size 1,000,000+ 1,500
Dataset Preparation Time Acquisition: 5 hours Acquisition: 10 hours
Content: 70 hours Content: 0 hours
Annotation: 8 hours Annotation: 110 hours
Simulation: 13 hours Simulation: 0 hours Total Dataset Cost $7,200 $4,800
Cost per Image $0.0072 $3.20
Hình 2.10 Chi phí của Dữ liệu tổng hợp và dtr liệu thật
41
Trang 34Dưới đây là một số điều bé sung cần lưu ý khi xem xét việc sử dung dữ liệu tổng
hợp:
e Mục đích của mô hình học máy: Dữ liệu tổng hợp có thé là một công cụ có giá
trị để đào tạo và thử nghiệm các mô hình học máy, nhưng điều quan trọng là phảiđảm bảo rằng dữ liệu phù hợp với mục đích cụ thể của mô hình Ví dụ: dữ liệutong hợp được tạo dé phát hiện đối tượng có thé không phù hợp dé đào tạo mô
hình xử lý ngôn ngữ tự nhiên.
e Chất lượng của dữ liệu tong hop: Chất lượng của dit liệu tổng hợp có thé có tác
động đáng kể đến hiệu suất của mô hình máy học Điều quan trọng là sử dụngtrình tạo dữ liệu tong hop chat luong cao dé dam bao rang dữ liệu là thực tế và
chính xác.
e Chi phí của dữ liệu tổng hop: Chi phí của dữ liệu tong hợp có thé khác nhau tùy
thuộc vào loại dit liệu và chất lượng của trình tạo dữ liệu Điều quan trọng làphải tính đến chi phi dữ liệu tong hợp khi xem xét chi phí tong thé của dự án
e Độ chính xác: Dữ liệu tổng hợp có thể bị sai lệch nếu không được tạo can thận.
Điều này có thé dẫn đến các mô hình cũng bị sai lệch, có thé gây ra hậu quả tiêucực Làm cho Model thị giác máy tính chỉ hoạt động hoàn hảo dưới điều kiện củanhững giữ liệu ảo được train nhưng sai lệch với dữ liệu thực tế
e Đáng tin cậy: Dữ liệu tổng hợp có thé khó tin cậy vì nó không phải là dit liệu
thực Điều này có thé gây khó khăn cho việc sử dụng dữ liệu tổng hợp cho cácứng dụng quan trọng, chang hạn như ô tô tự lái
e Tính hợp pháp: Có một số lo ngại về pháp lý xung quanh việc sử dung dữ liệu
tổng hợp, đặc biệt là khi nói đến dữ liệu được tạo từ dữ liệu thực
Việc sử dụng đữ liệu tổng hợp trong nghiên cứu và thống kê mang lại những lợiich đáng kể Cuối cùng, dit liệu tong hợp được coi là một kỹ thuật nâng cao quyền riêng
Trang 35tư, có thé giúp các nhà nghiên cứu sử dụng và truy cập dữ liệu, đồng thời cho phép các
tổ chức bảo vệ quyền riêng tư của các chủ thé dữ liệu, do đó dẫn đến cách chia sẻ dit
liệu thường an toàn hơn, dễ dàng hơn và nhanh hơn Điều này đặc biệt có lợi khi dữ liệu
thực được coi là nhạy cảm (vi dụ: nếu dữ liệu đó chứa thông tin về các đặc điểm được
bảo vệ hoặc thông tin cá nhân có thể nhận dạng)
Tuy nhiên, mặc dù việc sử dụng dữ liệu tổng hợp mang lại giá trị thực, nhưngcũng có những vấn đề về đạo đức cần được xem xét Dữ liệu tổng hợp mang theo những
cân nhắc về đạo đức chung cho tất cả các loại dữ liệu — nhưng cũng có một số đữ liệu
của riêng nó Ví dụ: dữ liệu tổng hợp chỉ có thé phan anh dir liệu trong thé giới thực mà
dữ liệu đó dựa trên — dữ liệu đó không thé là bản sao chính xác của dé liệu đó Điều này
có nghĩa là đữ liệu tổng hợp có thể không chứa một số giá trị ngoại lai của dữ liệu gốc,
vốn thường ké một câu chuyện rất quan trọng Cuối cùng, chất lượng của đữ liệu tổng
hợp sẽ chỉ tốt như chất lượng của đữ liệu đầu vào và mô hình tạo dữ liệu, do đó phản
ánh sai lệch từ nguôn dữ liệu gôc.
2.6.3 Ứng dụng
Dữ liệu tổng hợp là một loại dữ liệu được sinh ra một cách tự động, thay vì được
thu thập từ thế giới thực Nó có thé được dùng dé đào tạo các mô hình thị giác máy tính
theo một số cách Dưới đây là một số ví dụ về cách dữ liệu tổng hợp đang được dùng
trong việc huấn luyện các mô hình nhận dạng hình ảnh:
e Xe ô tô tự lái: Các công ty như Waymo va Uber đang sử dung dit liệu tong hợp
dé huấn luyện các mẫu xe tự lái của họ Dữ liệu này được sử dụng dé đào tạo các
mô hình nhận dạng các đối tượng khác nhau trên đường, chang hạn như ô tô,
người di bộ và biển báo giao thông
43
Trang 36Hình 2.11 Dữ liệu tổng hợp được sử dụng dé thay thé đữ liệu thực tế dé huấn
luyện các hệ thống thuật toán tầm nhìn của ô tô tự lái (Waymo)
e Nhận dang trong y tế: Các nhà nghiên cứu đang sử dung đữ liệu tong hợp dé dao
tạo các mô hình phát hiện bệnh trong hình ảnh y tế Dữ liệu này được sử dụng dé
đào tạo các mô hình nhận biết các loại khối u, bệnh tim và các tinh trạng y tế
khác.
Synthetic images
#
Skin lesions Chest X-rays
mophobe.
Renal cell carcinoma histology
44
Trang 37Hình 2.12 Hình ảnh tổng hợp và thực của các tôn thương da và X-quang
(Nature.com)
e Bán lẻ: Các chuỗi bán lẻ đang sử dung dit liệu tông hop dé dao tạo các mô hình
nhằm phát hiện gian lận và xác định những khách hàng có khả năng mua một sốsản phẩm nhất định Dữ liệu này được sử dụng để cải thiện tính bảo mật của hệthống và nhằm mục tiêu các chiến dịch tiếp thị của họ hiệu quả hơn
Hình 2.13 Sử dụng dữ liệu tổng hợp đề đào tạo thuật toán cho cửa hàng bán lẻ
không người (Amazon)
2.7 Giới thiệu công nghệ
2.7.1 OpenCV
OpenCV (Open Source Computer Vision Library) là một thư viện thuộc lĩnh vực
thị giác máy tính nguồn mở được Intel phát triển Ké từ đó,là một trong những thư viện
thị giác máy tính phổ biến nhất trên thé giới, với hơn 250.000 người dùng đã đăng ký va
hơn 10 triệu người dùng đã đăng ký lượt tải xuống
OpenCV là một thư viện đa nên tảng được dùng để trên Windows, macOS,
Linux, Android và iOS Nó được viết bằng C++ và có các ràng buộc cho Python, Java
và MATLAB.
OpenCV cung cấp nhiều loại chức năng thị giác máy tính, như là: Xử lý hìnhảnh, dò tìm và khớp đặc điểm, theo dõi đối tượng, học máy
OpenCV được sử dụng bởi một loạt các ngành công nghiệp, bao gồm: O tô,
chăm sóc sức khỏe, bao mật, bán lẻ và sản xuat,
45
Trang 38Là một thư viện mã nguồn mở và miễn phí, có nghĩa là bất kỳ ai cũng có thê sử
dụng và sửa đổi nó Điều này đã làm cho nó trở thành một lựa chọn phổ biến cho nghiên
cứu và phát triển, cũng như cho các ứng dụng thương mại OpenCV có một số tài
nguyên có sẵn trực tuyến Trang web OpenCV cung cấp nhiều thông tin, bao gồm các
hướng dan, tài liệu và mau mã Ngoài ra còn có một sô khóa
Converter, một công cụ dòng lệnh có san cho Windows, macOS va Linux.
Khi một mô hình TFLite đã được tạo, nó có thê được tải và chạy trên điện thoại
di động hoặc thiết bị nhúng TFLite cung cấp một số API để tải và chạy các mô hình
TFLite, bao gồm API cho Android, iOS và JavaScript Các mẫu TFLite được sử dung
trong nhiều ứng dụng, bao gồm:Phân loại hình ảnh, phát hiện đối tượng, xử lý ngôn ngữ
tự nhiên,
TFLite là một công cụ mạnh mẽ dé chạy các mô hình máy học trên thiết bị diđộng và thiết bị nhúng Các mô hình TFLite nhỏ hơn và nhanh hơn so với các đối tác
TensorFlow của chúng, khiến chúng trở nên lý tưởng để chạy trên các thiết bị có tài
nguyên hạn chế Đây là một số lợi ích của việc sử dụng các mô hình TFLite: Kích thước
nhỏ gọn, huất suất cao, đễ sử dụng, phù hợp cho thiết bị nhúng,, hỗ trợ đa nên tảng, mã
nguôn mở,
2.7.3 Teachable Machine
Teachable Machine được là một công cụ dựa trên web miễn phí cho phép moi
người tạo các mô hình học máy mà không cần bat kỳ kinh nghiệm viết mã nào Nó là
một công cụ mạnh mẽ được dùng dé cho nhiều mục đích khác nhau, chăng hạn như tạo
bộ phân loại hình ảnh, hệ thống nhận dạng cử chỉ, v.v
46
Trang 39Đề sử dụng Máy học được, trước tiên ta cần tạo một dự án Khi ta đã tạo một dự
án, ta có thé bat đầu thêm dữ liệu Teachable Machine hỗ trợ hai loại đữ liệu: hình ảnh
và âm thanh Để thêm hình ảnh, ta có thé tải chúng lên từ máy tính hoặc chụp chúng
bằng webcam Dé thêm âm thanh, ta có thể tải tệp lên hoặc ghi âm giọng nói của chính
minh.
Khi ta đã thêm một số dữ liệu, ta có thé bắt đầu dao tạo mô hình của minh
Teachable Machine được sử dụng một kỹ thuật gọi là học có giám sát, có nghĩa là ta cần
cung câp cho mô hình cả đữ liệu đâu vào và đâu ra mong muôn.
at MYPROJECT
k h Ằ TRAINMODEL Ak r
Class 2 K2) (: Vy my : iL
1 Gather 2 Train 3 Export
Gather and group your examples Train your model, then instantly test Export your model for your projects:
into classes, or categories, that you it out to see whether it can correctly sites, apps, and more You can
want the computer to learn classify new examples download your model or host it
online.
Hinh 2.22 Quy trinh su dung Teachable Machine
Vi du: néu ta đang tạo bộ phân loại hình anh, ta sé cần cung cấp cho mô hình
hình ảnh chó và mèo, và đầu ra mong muốn sẽ là nhãn "mèo" hoặc "chó"
Teachable Machine được sẽ tự động đào tao mô hình của ta va sẽ cho ta thấy nóhoạt động tốt như thế nào Khi mô hình của ta được đào tạo, ta có thé sử dụng nó dé đưa
ra dự đoán Ví dụ: nếu ta đã tạo bộ phân loại hình ảnh, ta có thể sử dụng nó dé dự đoán
xem hình ảnh mới là con mèo hay con chó.
Teachable Machine được là một công cụ mạnh mẽ mà bat kỳ ai cũng có thé sửdụng để tạo các mô hình máy học Nó rất dễ sử dụng và không yêu cầu bat kỳ kinh
nghiệm viết mã nào
Dưới đây là một số tính năng khác của Teachable Machine: Đào tạo thời gian
thực, truyền đào tạo, trích xuất mô hình đảo tạo,
47
Trang 402.7.4 Unity Game Engine
Unity là một Game Engine đa nền tảng được phát triển bởi công ty Unity
Technologies Nó được sử dụng dé tạo trò chơi 2D và 3D cho nhiều nền tảng khác nhau,
bao gồm PC, thiết bị di động, bảng điều khiển và thực tế ảo Unity là một lựa chọn phố
biến cho các nhà phát triển trò chơi ở mọi cấp độ kỹ năng, từ những người có sở thích
đến các studio AAA
Unity là một công cụ trò chơi mạnh mẽ được dùng dé dé tạo ra các trò chơi chất
lượng cao.
Unity rất dé sử dụng, ngay cả đối với người mới bắt dau
Unity có một cộng đồng lớn người dùng và nhà phát triển có thé cung cấp hỗ trợ
và trợ giúp phát trién
Unity được sử dụng để tạo nhiều loại trò chơi, từ trò chơi đi động đơn giản đến
các tựa game AAA phức tạp.
Nếu bạn quan tâm đến việc tạo trò chơi, Unity là một lựa chọn tuyệt vời Nó là
một công cụ mạnh mẽ, dễ sử dụng được dùng đề để tạo ra nhiều trò chơi khác nhau.
Những tính năng nỗi bật của của Unity bao gồm:
Tạo trò chơi 2D và 3D: Unity được dùng đề đề tạo cả trò chơi 2D và 3D.
Hỗ trợ đa nền tảng: Trò chơi Unity có thê được xuất bản lên nhiều nền tảng khác
nhau, bao gồm PC, thiết bị di động, bảng điều khiển và thực tế ảo
C# Scripts: Unity sử dụng C# làm ngôn ngữ dé lập trình viên điều khiển các hành
vi C# là một ngôn ngữ mạnh mẽ và linh hoạt, dễ học.
Cửa hang Asset: Cửa hang asset Unity là thị trường nơi người dùng có thé mua
và bán asset trò chơi, chăng hạn như mô hình 3D, texture và đoạn mã code
Tài liệu và hướng dẫn: Unity có nhiều tài liệu và hướng dẫn có thể giúp bạn tìm
hiểu cách sử dụng công cụ
Nêu bạn quan tâm đên việc tìm hiéu thêm vê Unity, có một sô tải nguyên trực
tuyến Trang web Unity có rất nhiều thông tin, bao gồm hướng dẫn, tài liệu và diễn đàn
nơi bạn có thé đặt câu hỏi và nhận trợ giúp từ những người dùng khác
Khi đã có những kiến thức cơ bản về Unity, bạn có thể bắt đầu tạo trò chơi củariêng mình Có một số cách khác nhau dé bắt đầu, nhưng một trong những cách tốt nhất
48