1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Công nghệ phần mềm: Ứng dụng Thị giác máy tính vào phát triển game

112 5 0
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng dụng Thị giác máy tính vào phát triển game
Tác giả Phạm Hoài Bảo
Người hướng dẫn TS. Nguyễn Hà Giang, ThS. Nguyễn Thị Thanh Trúc
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Công nghệ phần mềm
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 112
Dung lượng 79,02 MB

Nội dung

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 1

TRƯỜ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 2

LOI 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 4

nhat 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 6

e 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 7

Tuầ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 9

MỤ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 10

Chươ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 11

UC_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 12

DANH 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 13

TOM 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 14

Chươ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 16

Thị 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 17

1.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 18

Chươ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 19

unit 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 20

x1

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 21

e 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 22

chơ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 23

Khi 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 25

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ấ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 26

2.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 27

Max 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 28

SS 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 29

2.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 31

2.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 32

cụ 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 33

kiệ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 34

Dướ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 35

tư, 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 36

Hì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 37

Hì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 38

Là 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 40

2.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

Ngày đăng: 05/10/2024, 00:28

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w