Tải bản đầy đủ (.docx) (52 trang)

Đồ án khoa cơ điện, điện tử, đại học lạc hồng (16)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.27 MB, 52 trang )

ĐẠI HỌC LẠC HỒNG
KHOA CƠ ĐIỆN ĐIỆN TỬ
---

BÁO CÁO NGHIÊN CỨU KHOA HỌC

Đề tài:

NHẬN DIỆN THỦ NGỮ HỖ TRỢ NGƯỜI CÂM

PHẠM TÀI NĂNG
TRIỆU VẦN PHAM


Đồng nai, 6/2022


ĐẠI HỌC LẠC HỒNG
KHOA CƠ ĐIỆN ĐIỆN TỬ
---

BÁO CÁO NGHIÊN CỨU KHOA HỌC

Đề tài:

NHẬN DIỆN THỦ NGỮ HỖ TRỢ NGƯỜI CÂM
Chuyên ngành: Kỹ thuật Điện - Điện tử

NGƯỜI HƯỚNG DẪN KHOA HỌC
ThS :NGÔ KIM LONG
SVTH: PHẠM TÀI NĂNG


TRIỆU VẦN PHAM
1


LỜI CẢM ƠN
Cảm ơn các thầy cô đã giúp đỡ chúng em trong quá trình học tập và quá trình làm đồ
án tốt nghiệp, cảm ơn các thầy cô trong khoa Cơ Điện – Điện Tử cùng với sự động
viên tinh thần từ bạn bè và gia đình ln ở phía sau ủng hộ.
Lời nói đầu tiên em xin cảm ơn đến Ban giám hiệu trường Đại Học Lạc Hồng, quý
thầy cô trong khoa Cơ Điện – Điện Tử đã tận tình giúp đỡ chúng em trong suốt thời
gian vừa qua em học tập tại trường.
Đặc biệt em xin gửi lời cảm ơn chân thành nhất đến với thầy giáo ThS Ngô Kim Long
đã trực tiếp giúp đỡ và hướng dẫn em trong quá trình làm đồ án này.

Đồng nai, ngày tháng năm 2022
Sinh viên thực hiện
2


Phạm Tài Năng
Triệu Vần Pham

3


LỜI CAM ĐOAN
Tơi xin cam đoan cơng trình nghiên cứu là của tôi, các số liệu, kết quả nêu ra
trong đồ án tốt nghiệp là trung thực và chính xác.
Tơi xin cam đoan mọi sự giúp đỡ cho việc thực hiện đồ án tốt nghiệp này đã
được xin phép, tất cả các thơng tin trích dẫn trong luận văn đều được ghi rõ nguồn

góc.

Sinh viên thực hiện

Phạm Tài Năng
Triệu Vần Pham

4


MỤC LỤC

CHƯƠNG 1 TỔNG QUAN

3

1.1 Đặt vấn đề
1.2 Tổng quan.
1.3 Mục đích và phạm vi nghiên cứu.
1.4 Phương pháp nghiên cứu.
1.4.1 Nghiên cứu tổng quan.
1.4.2 Nghiên cứu lí thuyết.
CHƯƠNG 2

3
3
4
4
4
4


2.1 Giới thiệu phần cứng.
2.2 Giới thiệu deep learning và ứng dụng.
2.3 Mơ hình Convolution Neural Network (CNN)
2.3.1 giới thiệu mạng CNN
2.3.2 Kiến trúc CNN
2.4 Các mơ hình họ YOLO.
2.4.1 Tổng quan về YOLO.
2.4.2 Kiến trúc YOLO v1.
2.4.3 Kiến trúc YOLOv2.
2.4.4 YOLO-v3.
2.4.5 YOLOv4.
CHƯƠNG 3 THIẾT KẾ

5
8
10
10
10
11
11
12
12
13
14
15

3.1 Phát biểu bài toán.
3.2 Thuật toán YOLOV5.
3.2.1 Kiến trúc của YOLO v5

3.2.2 Các pretrain-model của YOLO v5
3.2.3 Hiệu suất của các kiến trúc YOLO v5
3.3 Các độ đo trong bài toán Object detection.
3.3.1 Giới thiệu về các độ đo.
3.3.2 Các độ đo trong bài toán object detection
3.4 Dữ liệu thực nghiệm.
3.4.1 Tổng quan
3.4.2 Bảng tập dữ liệu:
3.5 Quá trình huấn luyện và kiểm thử.
3.5.1 Cấu hình yêu cầu
3.5.2 Quá trình huấn luyện và kiểm thử.
CHƯƠNG 4 34

15
16
16
17
17
18
18
19
21
21
21
22
22
23

4.1 Kết quả huấn luyện
4.2 Bảng thống kế thử nghiệm.


25
27
5


4.2.1 Kết quả kiểm thử trên tập validation dataset.
4.2.2 Kết quả kiểm thử trên tập testing dataset.
4.3 Đánh giá kết quả thực nghiệm
4.4 Nhận xét
CHƯƠNG 5 39

27
27
28
29

5.1 Kết quả đạt được.
TÀI LIỆU THAM KHẢO

30
1

PHỤ LỤC

6


DANH MỤC HÌNH ẢNH
Hình 1. 1 Găng tay chuyển ngữ..................................................................................10

Hình 1. 2 Đồng hồ thơng minh giúp người câm điếc..................................................10
Hình 2. 1 Phần mềm lập trình visual code..................................................................12
Hình 2. 2 Ngơn ngữ lập trình Python 3.7....................................................................13
Hình 2. 3 Quy trình cho một bài tốn học sâu............................................................15
Hình 2. 4 Mơ hình convolution neural network..........................................................17
Hình 2. 5 Sơ đồ phát triển của thuật tốn YOLO........................................................19
Hình 2. 6 Mơ hình kiến trúc YOLO v1 phiên bản đầu tiên.........................................19
Hình 2. 7 Mơ hình kiến trúc Yolov2...........................................................................20
Hình 2. 8 Mơ hình kiến trúc YOLOv3........................................................................20
Hình 2. 9 Mơ hình kiến trúc YOLOv4........................................................................21
Hình 3. 1 Mơ hình kiến trúc YOLO v5.......................................................................25
Hình 3. 2 Confusion matrix........................................................................................27
Hình 3. 3 Hình ảnh trong tập huấn luyện....................................................................30
Hình 3. 4 Hình ảnh quá trình huấn luyện model tại epoch thứ 99..............................33
Hình 3. 5 Kết quả đánh giá trên tập validation dataset...............................................33
Hình 3. 6 Kết quả đánh giá trên tập testing dataset.....................................................34

Hình 4. 1 Ảnh dự đốn trên tập test

28

Hình 5. 1 Nhận diện được chữ A và phát ra âm thanh................................................39
Hình 5. 2 Nhận diện được chữ B và phát ra âm thanh................................................39

7


DANH MỤC BẢNG BI
Bảng 3. 1 Tập dữ liệu huấn luyện...............................................................................30
Bảng 3. 2 Cấu hình tham số model.............................................................................31

Y

Bảng 4. 1 Kết quả tửu trên tập validation dataset.......................................................36
Bảng 4. 2 Kết quả kiểm thử trên tập testing dataset...................................................36

8


CHƯƠNG 1 TỔNG QUAN
1.1 Đặt vấn đề
Hiện nay các bệnh nhân bị câm rất khó tiếp xúc được với các thiết bị y tế, do
thiếu phiên dịch viên ngôn ngữ. Ở nước ta hiện có khoảng 1 đến 2,5 triệu người câm,
tuy nhiên có rất ít phiên dịch viên ngơn ngữ ký hiệu. Đối tượng áp dụng là : sản phẩn
dùng hỗ trợ cho những đối tượng bị dị tật khơng thể giao tiếp được bằng lời nói và
gặp nhiều khó khăn khi muốn giao tiếp với những người lạ không biết ngôn ngữ của
người câm trong những trường hợp như: giao lưu với mọi người ngoài xh hay trường
hợp khẩn cấp như muốn hỏi đường về nhà khi đi lạc ...Đây là một đề tài có tính nhân
văn cao là cơ hội giúp người câm điếc có một cuộc sống hằng ngày gần hơn với
người bình thường. Người bình thường cũng có thể giao tiếp dễ dàng với người câm
điếc mà không bị rào cản bởi các ngôn ngữ kí hiệu. Nhóm hy vọng dự án này có thể
được phát triển mở rộng để đóng góp cho cộng đồng người câm điếc hòa nhập hơn
với xã hội.

1.2 Tổng quan.
Ở Việt Nam có rất ít thiết bị hỗ trợ cho người câm điếc như: Găng tay chuyển
ngữ. Sản phẩm găng tay chuyển ngữ của 2 bạn Phạm Thiên Tân và Chử Hoàng Minh
Đức nghiên cứu và sáng tạo ra năm 2017 nó có khả năng chuyển đổi ngơn ngữ ký
hiệu thành tiếng Việt xóa bỏ những rào cản vơ hình.
Về mặt ưu điểm: Người đeo vào găng tay sẽ đưa ra các kí hiệu ngơn ngữ sau đó
trên màn hình sẽ xuất hiện văn bản cùng âm thanh tương ứng với từng cử chỉ tay của

người dùng.
Nhược điểm: Cần phải đeo găng tay mới thực hiện được

9


Hình
Găng

1. 1
tay
chuyển ngữ

Một sản phẩm của 2 bạn Trần Thị Thanh Ngân và Nguyễn Hiền Thảo Chi học
trường THPT chuyên Trần Phú – Hải Phòng đã nghiên cứu ra sản phẩm đồng hồ đa
năng giúp người câm điếc nói chuyện.
Chiếc đồng hồ này tích hợp một chiếc điện thoại thơng minh để chuyển đổi
ngôn ngữ ký hiệu của người câm điếc thành giọng nói và giọng nói thành chữ
viết.Nhưng điều đặc biệt sản phẩm này nhìn bên ngồi khơng khác gì các đồng hồ
thơng thường.
Nhỏ gọn giúp người khuyết tật cảm thấy bớt sự tự ti trong giao tiếp, nâng cao
cuộc sống hằng ngày.

Hình 1. 2 Đồng hồ thơng minh giúp người câm điếc

Cịn hơm nay chúng em làm về sản phẩm mơ hình nhận dạng thủ ngữ hỗ trợ
người câm giúp cho những người không được may mắn về mặt giọng nói họ có thể
10



nói lên được nỗi lịng của mình đồng thời giúp các y bác sĩ trong lĩnh vực phiên dịch
giảm bớt gánh nặng cơng việc để có thể tập trung và phát triển các lĩnh vực khác của
ngành y tế.
1.3 Mục đích và phạm vi nghiên cứu.
Đối tượng áp dụng là : sản phẩm dùng hỗ trợ cho những đối tượng bị dị tật
khơng thể giao tiếp được bằng lời nói và gặp nhiều khó khăn khi muốn giao tiếp với
những người lạ không biết ngôn ngữ của người câm trong những trường hợp như:
giao lưu với mọi người ngoài xã hội hay trường hợp khẩn cấp như muốn hỏi đường
về nhà khi đi lạc ...

1.4 Phương pháp nghiên cứu.
Nghiên cứu qua các sách báo, tài liệu trên các website khoa học cơng nghệ trong nước
và quốc tế sau đó phân tích và tổng hợp lại với nhau. Nghiên cứu các kí hiệu thủ ngữ
và xây dựng dữ liệu liên quan đến xử lí ảnh, viết chương trình điều khiển lập trình
trên phần mềm Visual Studio Code bằng ngơn ngữ Python.

11


CHƯƠNG 2

CƠ SỞ LÝ THUYẾT

2.1 Giới thiệu phần mềm.
Sử dụng IDE visual studio code

Hình 2. 1 Phần mềm lập trình visual code

Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và
macOS, Visual Studio Code được phát triển bởi Microsoft. Nó được xem là một sự

kết hợp hoàn hảo giữa IDE và Code Editor.
Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntax
highlighting, tự hồn thành mã thơng minh, snippets, và cải tiến mã nguồn. Nhờ tính
năng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi theme, phím
tắt, và các tùy chọn khác.
Tính năng của visual code:
Hỗ trợ nhiều ngơn ngữ lập trình.
Visual Studio Code hỗ trợ nhiều ngơn ngữ lập trình như C/C++, C#, F#, Visual
Basic, HTML, CSS, JavaScript, … Vì vậy, nó dễ dàng phát hiện và đưa ra thơng báo
nếu chương chương trình có lỗi.

12


Hỗ trợ đa nền tảng, cung cấp kho tiện ích mở rộng, hỗ trợ web, lưu trữ dữ liệu
dạng phân cấp, lưu trữ dữ liệu dạng phân cấp, hỗ trợ viết Code, lưu trữ dữ liệu dạng
phân cấp, màn hình đa nhiệm, Intellisense, hỗ trợ Git, bình luận.
Lý do chọn visual code .
Lý do bạn nên sử dụng Visual Studio Code là vì nó có rất nhiều ưu điểm vượt
trội so với bất kỳ IDE nào khác:
Hỗ trợ đa nền tảng: Windows, Linux, Mac
Hỗ trợ đa ngôn ngữ: C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript,
JSON, ít dung lượng, Tính năng mạnh mẽ, Intellisense chuyên nghiệp, Giao diện thân
thiện, Và trên hết, Visual Studio Code là phần mềm miễn phí, được đơng đảo lập trình
viên trên thế giới sử dụng
Nghiên cứu về các động tác thủ ngữ của người câm thông qua sách, báo, trên
các thông tin đại chúng và một số thiết bị và máy đã được ứng dụng vào trong cuộc
sống. Trong đó cũng có nghiên cứu và chọn lọc với các tác giả trong và ngoài nước
chuyên về xử lí ảnh, các nghiên cứu đã được cơng bố.
Sử dụng ngơn ngữ lập trình Python


Hình 2. 2 Ngơn ngữ lập trình Python 3.7

Python là một ngơn ngữ lập trình bậc cao đa năng hướng đối tượng đã ra đời từ
khá lâu, nhưng đến hiện tại vẫn là ngôn ngữ lập trình có nhiều ứng dụng thực tế và
13


được sử dụng nhiều nhất hiện nay. Vì Python có ưu điểm dễ đọc, dễ nhớ cấu trúc rõ
ràng và ngắn gọn tương thích trên nhiều nền tảng hệ điều hành khác nhau
như Windows, Mac OS và Linux.
Uư điểm của ngơn ngữ lập trình python
Dù là một trong những ngơn ngữ được sử dụng nhiều nhất hiện nay, Python có
những ưu và nhược điểm riêng phù hợp với từng đối tượng khác nhau.
So với những ngơn ngữ lập trình hiện nay Python có cấu trúc đơn giản, rõ ràng
ngắn gọn đặc biệt là rất dễ học đây được coi là ngôn ngữ nhập môn cho những người
muốn theo nghề lập trình viên.
Ngồi ứng dụng của Python rất đa năng thì ngơn ngữ này cịn có mặt trên tất cả
các hệ điều hành như Windows, MacOS, MS-DOS, Unix,...
Một ưu điểm lớn khơng thể bỏ qua của Python chính là tương thích với thư viện
lớn nhất hiện nay với 400 triệu người sử như data mining Scikit-learn, Pandas ...
Có tốc độ xử lý cực nhanh, Python có thể phát triển để tạo ra những script siêu
nhỏ tới những phần mềm cực lớn như Blender 3D.
Nhược điểm của ngơn ngữ lập trình python:
Dù có rất nhiều ưu điểm và có ứng dụng đa năng thì Python cũng có một vài
khuyết điểm như:
Python khơng có các thuộc tính như :protected,private hay public, khơng có
vịng lặp do…while và switch….case.
Dù có nhiều ưu điểm tốt hơn so với các ngơn ngữ lập trình khác nhưng lại có tốc
độ chậm hơn ngơn ngữ lập trình C++, Java.

Tuy cũng có một vài nhược điểm nhỏ nhưng Python vẫn là ngơn ngữ lập trình
mà bất cứ lập trình viên nào cũng nên học hỏi và làm quen, để tiết kiệm thời gian
trong công việc cũng như phát triển hơn nữa trong nghề nghiệp.
ứng dụng của pyhon trong thực tế.
Ứng dụng của Python trong tự động hóa cơng việc.

14


2.2 Giới thiệu deep learning và ứng dụng.
Trong những năm gần đây, trí tuệ nhân tạo (Artificial Intelligence) đang nổi lên
như một bằng chứng của cuộc cách mạng công nghiệp lần thứ tư, với sự phát triển
vượt bậc của deep learning đã giúp cho con người tiến lên một bậc trong ngành khoa
học máy tính, mở ra các hướng nghiên cứu, những ứng dụng trong thực tế. Trí tuệ
nhân tạo đang ngày càng chiếm một phần quan trọng trong cuộc sống của chúng ta, từ
những chiếc xe ô tô tự hành của tesla, google đến các mạng xã hội sử dụng trí tuệ
nhân tạo cũng như các hệ thống gợi ý tiên tiến của Netflix, Tiktok đó chỉ là một trong
các ứng dụng của trí tuệ nhân tạo.
Deep learning được xây dựng dựa trên nguyên lý giống như cấu tạo bộ não của
con người bao gồm các mạng neural network bằng các liên kết với nhau giúp cho
máy có thể học tập tương tự như con người. Các hướng chính nghiên cứu và ứng
dụng chính của deep learning hiện nay chính là computer vision, natural language
processing, reinforcement learning, trong đó computer vision bao gồm các bài tốn
chính như phân loại ảnh, video, phát hiện đối tượng, sinh ảnh, natural language
processing áp dụng trong các bài tốn về text trong đó có dịch máy, phân loại văn
bản, phân tích ngữ nghĩa, các hệ thống tìm kiếm. Reinforcement learning được ứng
dụng trong các ứng dụng mơ phỏng, các hệ thống trị chơi điện tử, robot…

2.3 Sơ đồ về deep learning.


Hình 2. 3 Quy trình cho một bài tốn học sâu.

15


Giai đoạn 1: Thu thập dữ liệu.
Quá trình thu thập dữ liệu phụ thuộc vào bài toán mà chúng ta muốn giải quyết,
đối với các bài tốn có liên quan đến dữ liệu hình ảnh, video ta có thể sử dụng các
camera để thu lưu trữ hoặc chúng ta có thể thu thập nguồn dữ liệu từ internet. Đối với
dữ liệu text ta thường phải thu thập cũng như truy xuất từ database các nguồn phong
phú trên internet. Qúa trình thu thập dữ liệu cần chú ý đến chất lượng của dữ liệu như
sự đa dạng của dữ liệu, độ sạch của dữ liệu, tính nhất quán của dữ liệu.
Quá trình thu thập dữ liệu phụ thuộc vào bài tốn mà chúng ta muốn giải quyết,
đối với các bài toán có liên quan đến dữ liệu hình ảnh, video ta có thể sử dụng các
camera để thu lưu trữ hoặc chúng ta có thể thu thập nguồn dữ liệu từ internet. Đối với
dữ liệu text ta thường phải thu thập cũng như truy xuất từ database các nguồn phong
phú trên internet. Qúa trình thu thập dữ liệu cần chú ý đến chất lượng của dữ liệu như
sự đa dạng của dữ liệu, độ sạch của dữ liệu, tính nhất quán của dữ liệu.
Giai đoạn 2: Tiền xử lý dữ liệu.
Tiền xử lý dữ liệu là một trong những giai đoạn quan trọng trong học máy, nó
giúp xây dựng mơ hình học máy chính xác. Tiền xử lý dữ liệu là một q trình làm
sạch dữ liệu thơ, dữ liệu được thu thập từ nhiều nguồn trong thế giới thực và được
chuyển thành một tập dữ liệu sạch để khả thi cho việc phân tích. Dữ liệu thơ ban đầu
có một số đặc điểm như dữ liệu bị thiếu sót, khơng nhất quán, nhiễu vì vậy dữ liệu
này phải được xử lý trước khi đưa vào học máy.
Giai đoạn 3: Xây dựng model.
Mục tiêu chính của chúng ra là xây dựng model phù hợp dựa trên data hiện có,
đối với dữ liệu hình ảnh thường sẽ xử dụng các model CNN, đối với dữ liệu text
thường sẽ sử dụng các model dạng RNN, LSTM
Giai đoạn 4: Huấn luyện và kiểm thử trên tập dữ liệu.

Để huấn luyện một mơ hình, ban đầu chúng ta chia mơ hình thành 03 giai đoạn
bao gồm: dữ liệu huấn luyện (training data), dữ liệu xác nhận (validation data) và dữ
16


liệu kiểm thử (testing data). Để huấn luyện bộ phân lớp ta sử dụng tập dữ liệu huấn
luyện (training set), để tinh chỉnh các tham số ta sử dụng tập hợp xác nhận (validation
set) và sau đó kiểm tra hiệu suất của bộ phân loại chưa biết sử dụng tập dữ liệu kiểm
thử (test set). Một lưu ý quan trọng là trong quá trình huấn luyện bộ phân lớp là dữ
liệu kiểm thử không được sử dụng để huấn luyện.
Giai đoạn 5: Đánh giá
Đánh giá mơ hình là một phần quan trọng trong quy trình phát triển mơ hình, nó
giúp tìm ra mơ hình tốt nhất để đại diện cho dữ liệu của chúng ta và mơ hình được
chọn sẽ hoạt động tốt như thế nào trong tương lai.

2.3 Mô hình Convolution Neural Network (CNN)
2.3.1 giới thiệu mạng CNN
Mạng nơ-ron nhân tạo (Neural Network - NN) là một mơ hình lập trình mơ
phỏng cách thức hoạt động của mạng nơ-ron thần kinh. Kết hợp với các kĩ thuật học
sâu (Deep Learning - DL), mạng nơ-ron nhân tạo đang trở thành một công cụ rất
mạnh mẽ mang lại hiệu quả tốt nhất cho nhiều bài tốn khó như nhận dạng ảnh, giọng
nói hay xử lý ngơn ngữ tự nhiên.
Trong mạng neural, mơ hình mạng neural tích chập (CNN) là một phân· trong
những mơ hình để nhận dạng và phân loại hình ảnh. Trong đó, xác định đối tượng và
nhận dạng khn mặt là 1 trong số những lĩnh vực mà CNN được sử dụng rộng rãi
2.3.2 Kiến trúc CNN

Hình 2. 4 Mơ hình convolution neural network

17



Mạng CNN là một tập hợp các lớp Convolution chồng lên nhau và sử dụng các
hàm nonlinear activation như ReLU và tanh để kích hoạt các trọng số trong các node.
Mỗi một lớp sau khi thơng qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng
hơn cho các lớp tiếp theo. Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra
các thơng tin trừu tượng hơn cho các lớp tiếp theo. Trong mô hình mạng truyền ngược
(feedforward neural network) thì mỗi neural đầu vào (input node) cho mỗi neural đầu
ra trong các lớp tiếp theo. Mơ hình này gọi là mạng kết nối đầy đủ (fully connected
layer) hay mạng toàn vẹn (affine layer). Cịn trong mơ hình CNNs thì ngược lại. Các
layer liên kết được với nhau thông qua cơ chế convolution. Layer tiếp theo là kết quả
convolution từ layer trước đó, nhờ vậy mà ta có được các kết nối cục bộ. Như vậy
mỗi neuron ở lớp kế tiếp sinh ra từ kết quả của filter áp đặt lên một vùng ảnh cục bộ
của neuron trước đó. Mỗi một lớp được sử dụng các filter khác nhau thơng thường có
hàng trăm hàng nghìn filter như vậy và kết hợp kết quả của chúng lại. Ngồi ra có
một số layer khác như pooling, subsampling layer dùng để chắt lọc lại các thông tin
hữu ích hơn (loại bỏ các thông tin nhiễu).

2.4 Các mô hình họ YOLO.
2.4.1 Tổng quan về YOLO.
YOLO là từ viết tắt của “You Only Look Once” nghĩa là bạn chỉ nhìn một lần, ý
nghĩa của câu nói cho ta thấy được tốc độ cực nhanh của chúng. YOLO là một thuật
toán sử dụng mạng neural networks để giải quyết bài toán phát hiện đối tượng thuật
toán này là một bước đột phá trong lĩnh vực computer vision với khả năng nhận diện
đối tượng chính xác và cho tốc độ cao. Yolo được sử dụng rất nhiều trong các bài toán
thực tế như xe tự hành, phát hiện tín hiệu đèn giao thông, các hệ thống giám sát thông
minh, các hệ thống chấm cơng, quản lý tự động, thuật tốn đã và đang được các nhà
khoa học máy tính ứng dụng và nghiên cứu phát triển.
Những đặc điểm nổi bật của YOLO:
● Về tốc độ: Thuật toán Yolo được cải thiện về tốc độ nó đáp ứng việc phát hiện

đối tượng theo thời gian thực.

18


● Về độ chính xác: Yolo là một trong những thuật tốn đáp ứng được sự cân
bằng giữa độ chính xác và tốc độ tốt nhất hiện nay.
● Khả năng triển khai: Yolo rất dễ triển khai và đạt hiệu quả tốt trên các thiết bị
có phần cứng tính tốn nhỏ cũng như đạt hiệu quả cực cao khi triển khai trên
các hệ thống máy chủ.

Hình 2. 5 Sơ đồ phát triển của thuật toán YOLO

2.4.2 Kiến trúc YOLO v1.
Được lấy cảm hứng từ kiến trúc Googlenet, Yolo phiên bản đầu tiên được triển
khai có tổng cộng 24 convolution layers với 2 fully connected layers.

Hình 2. 6 Mơ hình kiến trúc YOLO v1 phiên bản đầu tiên

2.4.3 Kiến trúc YOLOv2.
YOLOv2 được đề xuất năm 2016 với mục đích khắc phục các yếu điểm của
YOLOv1 ( yếu điểm của YOLOv1 chính là không giải quyết được vấn đề object

19


nhỏ). YOLOv2 được cải tiến bằng cách bổ xung thêm các batch normalization giúp
giá trị độ đo mAP tăng lên thêm hai phần trăm.

Hình 2. 7 Mơ hình kiến trúc Yolov2


Một đóng góp lớn của phiên bản YOLOv2 chính là cho phép dự đoán nhiều
bounding boxes từ các từ single cell, với mỗi ơ YOLOv2 dự đốn ra 5 bounding
boxes thay vì 1 như phiên bản YOLO v1. Số 5 ở đây được tác giả rút ra từ quá trình
thực nghiệm model và kiến trúc backbone được sử dụng trong model YOLOv2 chính
là DarkNet-19.
2.4.4 YOLO-v3.
YOLO-V3 là bản cải tiến của YOLOv2 về mặt tốc độ cũng như cải thiện điểm
yếu nhận diện object nhỏ của họ nhà YOLO. Bằng việc sử dụng các kiến trúc residual
networks và skip connections đã giúp tốc độ của YOLOv3 tăng lên đáng kể.

Hình 2. 8 Mơ hình kiến trúc YOLOv3
20


YOLOv3 sử dụng backbone là DarkNet-53 (là một phiên bản cải tiến của
DarkNet-19) , một điểm mới của YOLOv3 chính là model cho phép dự đoán các
bounding boxes ở các tỉ lệ khác nhau thay vì chỉ một tỷ lệ nhất định như 2 phiên bản
trước sử dụng. YOLOv3 chỉ dự đốn 3 bounding boxes ít hơn con số 5 trong
YOLOv2 nhưng nó đưa ra 3 dự đốn ở tỷ lệ khác nhau nên sẽ sinh ra 9 bounding
boxes giúp cải thiện vấn đề object nhỏ trong họ nhà YOLO.
2.4.5 YOLOv4.
YOLOv4 được đề xuất bởi Bochkovskiy et. al. vào năm 2020 là phiên bản cải
tiến của YOLOv3 Thuật toán đạt được kết quả hiện đại với Độ chính xác trung bình
43,5% khi chạy ở 65 FPS trên GPU Tesla v100.

Hình 2. 9 Mơ hình kiến trúc YOLOv4

Điểm cải tiến của YOLOv4 so với YOLOv3 chính là bổ xung thêm trọng số cho
Residual Connections, kết hợp sử dụng Mini Batch Normalization, Cross Stage

Partial Connections kết hợp với các phương pháp tăng cường ảnh để huẩn luyện
model và đạt được SOTA hiện tại.
YOLOv5 là một dự án mã nguồn mở được tác giả đưa lên với mục đích cho
cộng đồng tự đánh giá hiệu quả cũng như chất lượng của mơ hình, yolov5 là phiên
21


bản được cải tiến mạnh mẽ về tốc độ. Trong đồ án này em sẽ sử dụng model
YOLOv5s để giải quyết bài tốn của mình.

22


CHƯƠNG 3 THIẾT KẾ
3.1 Phát biểu bài toán.
Bài toán nhận diện thủ ngữ hỗ trợ người câm sử dụng trí tuệ nhân tạo. Cụ thể
khi người câm thực hiện hành động trước camera thì camera sẽ thu hình ảnh lại vào
đẩy vào mơ hình để dự đốn xem là đang muốn thể hiện hành động gì, khi người
dùng giơ tay ám chỉ kí hiệu chữ cái ‘a’ bằng thủ ngữ, hệ thống sẽ nhận diện kí hiệu và
trả về kết quả của hành động và hiển thị lên màn hình tương tự khi người dùng giơ tay
ám chỉ kí hiệu chữ cái ‘b’ bằng thủ ngữ hệ thống sẽ nhận diện kí hiệu và trả về kết
quả của hành động. Ngược lại khi người dùng giơ các kí hiệu khơng phải thủ ngữ hệ
thống sẽ không trả về kết quả của hành động.
Sơ đồ huấn luyện mơ hình:

Dữ liệu huấn luyện

Gắn nhãn dữ liệu

Tiền xử lí dữ liệu


Huấn luyện mơ hình

Dữ liệu kiểm thử

Mơ hình dự đốn

Kết quả

23


×