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

Khóa luận tốt nghiệp Kỹ thuật máy tính: Nghiên cứu cải tiến tích hợp thuật toán YOLO trên FPGA Zynq7020

80 0 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 đề Research to Improve Integration of YOLO Algorithm on FPGA Zynq-7020
Tác giả Phan Hung Cuong
Người hướng dẫn PhD. Nguyen Minh Son
Trường học University of Information Technology
Chuyên ngành Computer Engineering
Thể loại Graduation Thesis
Năm xuất bản 2021
Thành phố Ho Chi Minh City
Định dạng
Số trang 80
Dung lượng 23,34 MB

Nội dung

Trong Hình 1, Mạng thần kinh bao gồm tập hợp các lớp co bản: lớp thần kinh và lớpphi tuyến, các lớp tổng hợp và lớp được kết nói đầy đủ.. Thông thường, một hình ảnh sẽ được truyền qua lớ

Trang 1

VIETNAM NATION UNIVERSITY HO CHI MINH CITYUNIVERSITY OF INFORMATION TECHNOLOGY

COMPUTER ENGINEERING DEPARTMENT

PHAN HUNG CUONG

GRADUATION THESIS

RESEARCH TO IMPROVE INTEGRATION OF YOLO

ALGORITHM ON FPGA ZYNQ-7020

NGHIEN CUU CAI TIEN THUAT TOAN YOLO TREN FPGA

ZYNQ 7020

ENGINEER OF COMPUTER ENGINEERING

Trang 2

ĐẠI HỌC QUOC GIA THÀNH PHO HO CHÍ MINH

TRUONG DAI HỌC CÔNG NGHỆ THONG TIN

BO PHAN KY THUAT MAY TÍNH

PHAN HUNG CUONG - 17520310

GRADUATION THESIS

RESEARCH TO IMPROVE INTEGRATION OF YOLO

ALGORITHM ON FPGA ZYNQ-7020

NGHIEN CUU CAI TIEN THUAT TOAN YOLO TREN FPGA

ZYNQ 7020

KỸ SU KỸ THUAT MAY TÍNH

Giang vién huéng din

PhD NGUYEN MINH SON

Trang 3

DANH SÁCH HỘI DONG BẢO VỆ LUẬN ÁN

Hội đồng chấm luận văn tốt nghiệp được thành lập theo Quyết định số

462/QD-DHCNTT ngày 23 tháng 07 năm 2021 của Hiệu trưởng Trường Đại hoc Công nghệ

Thong tin.

Trang 4

Lời cảm ơn

Để hoàn thành luận án tốt nghiệp này, em xin gửi lời cảm ơn chân thành đến các thầy

cô giáo khoa Kỹ thuật Máy tính và Trường Đại học Công nghệ thông tin - Đại học

Quốc gia Thành phó Hồ Chí Minh đã dạy em những kiến thức và truyền đạt nhữngkinh nghiệm quý giá trong suốt hành trình học tập

Đặc biệt, em xin chân thành cảm ơn Thầy Nguyễn Minh Sơn đã giúp đỡ em và dànhthời gian hướng dẫn em trong suốt luận án dé em có thê hoàn thành luận án tốt nghiệp.Một lần nữa, em xin cảm ơn tất cả mọi người đã bỏ thời gian quý báu để hướng dẫn

em trong suốt quá trình thực hiện khóa luận

Triển khai

Phan Hùng Cường - 17520310

Bộ phận Kỹ thuật Máy tính, lớp MTCL2017.2

Trang 5

MỤC LỤC

Chương 1 TONG QUAN 2 2222222222222222212222111122221112221112 2211122221 e 6

1.1 Tình hình nước ngoài - ¿+ + E1 0101 1.1 6 1.2 Tình hình trong nưỚC -:- ¿+ 5t+t2t tt g1 2121 1e 6

1.3 Mục tiêu để tài -2222222 2222222 E2 E221 rrrrrrrrrrrrree 7

Chương 2 CƠ SỞ LÝ THUYÉT

2.1 Mạng nơ-rOn c1 H HH HH HH HH it 8

2.1.1 Lớp thần Kin o ccceccccecccssssessssssseccssssssccssssseccsssueseessssesesssseecessseecessees §

2.1.2 Lớp phi tuyến -.2¿-5222+222222ECE22EEEtEEEEEetEErrrrrrrve 20

2.1.3 Lớp tổng hợp cc2cvccc2222vccScEvrrrrerrttrrrrrrrrrrrrrrrree 212.1.4 Lớp kết nối đầy đủ -:c2222ccccccvvrrrerrktrrrrrrkrrrrrrrrvee 21

2.1.5 _ Trọng lượng SH 22 2.2 YOLOvI.

2.2.1 _ Hệ thống ô lưới -cccccc5c222cvvvcvrerrrrrrverrrrrrrrer 252.2.2 Mạng thần kinh cho YOLOvI -ccz+2222vvsccccez+crz 26

2.2.3 Hàm mất mát -2222cvcerittrtrtrtrrrirtrrrrrrrrrrri 27

2.2.4 Giao lộ qua Liên minh ¿5-5552 S+S+St+xexexerexererrree 29

2.2.5 Nhược điểm của YOLOvI

2.3.1 Chuẩn hóa hàng loạt (Batch Normalization) ‹- - - s= 30

2.3.2 Phân loại độ phân giải CaO -ccccccttrterererkerrrrerree 31

2.3.3 Sử dụng kiến trúc hộp neo (Anchor Box) dé đưa ra dự đoán 32

2.3.4 Cụm K-mean cho lựa chọn neO + 5c + ss+esvxevreeerxeer 34

Trang 6

2.3.5 Dự đoán vị trí trực tiếp -©222.+cc+cEEketrerrkkrrrrrrkrrrrrrrce 35

2.3.6 Thêm các tính năng chỉ tiẾt .-:-22c++22cvvzeccvvrrrerrrsree 36

2.3.7 Đào tạo đa quy mÔ ch tt re 38

2.3.8 Trọng lượng nhẹ Xương sống 38

2.3.9 0) 60.00) O°) 2.4 Vivado & Petalinux oo ceeccecesescseseeeesssesseeeenseseeeeeseeeeeeeeesseeseeeeeeeeeeeeeaeees 40

2.4.1 — Vivado HLS

2.4.2 Petalinux + Xilinx SDK G5 2 32233 3 2v eerseessreree 42

2.5 Mang công lập trình trường (EPGA) ¿¿+2222+ctecvxvererrrreerrrg 43

2.6 Tổng quan về ZedBOard .cc:¿-22222222+++t222222Yvvvrrrerrrrvrvrrrrrrrrrre 45

2.7 Bus giao diện mở rộng nâng cao (AXI) c5cc+ccccrcrekerercee 48

2.8 Công cụ phát triển và kiến trúc tổng thẻ:d - -:-ccccccc++crx 50

2.8.1 _ Công cụ phát triỀn 2222+ccSEEEketrerrttrrrrrrkrrrrrrrve 502.8.2 Kiến trúc tổng thể

Trang 7

2.0.5 Ứng dụng -ccc22EEECEEEEEEEEEEErrrrrrrrre 60

2.10 AXIDMA TT." re 60

2.10.1 Tổng quan -cccccc2222Ecvrerirtrrrrrtrrrrrirrrrrrrrrrerrri 602.10.2 Sơ đồ khối reo 61

2.11 AXT Stream Data FIFO cccccsessesseeeseseessesesessssesssessessseessessssneseensseesee 61

2.11.1 Tổng Quam seccccsssesscssssessssssseccsssssccssssussssssuseccsssussessssuesesssuseeesssueeesssnes 622.11.2 Thong số kỹ thuật

2.11.3 Tùy chọn chung 5c S2 S+ 2x tt 62

2.11.4 Thuộc tính tín hiệu - «(Sư 63

Chương 3 THIẾT KE VÀ TRIÊN KHAI HE THÓNG - 65

3.1 Mô đun đầu ra và đầu vào ::-2222+cttcckvrrerrrrtrrrrrrrrrrerrkrrrrr 653.2 Mô-đun tế bào thần kinh -:-2¿22222+++222EE++ttEEExvrerrrxxrrerrkreerrr 66

3.3 Mô-đun tổng hợp :-¿:222+2222222222221112222111 2.1111.111 673.4 Mô-đun sắp xép lại

3.5 Thực hiện xử lý công nhận - - + 2+ ++++++£++++k+xexererrezxerrrsrx 69 3.5.1 Thực hiện trên ViVadO óc te St Exexesrrrersssrrrrerreeesrer 69

3.5.2 Kiểm tra và độ chính Xác - ¿+ + ggrrêt 75Chương 4 ĐỊNH HƯỚNG KET LUẬN VA PHÁT TRIÊN - 71

4.1 Tình trạng của toàn bộ đỀ tài -2cc+22222vvvvrrrrsrtrrrrxrrrrrrrrrrrrree 71

4.1.1 Kết quả dự kiến: .ccc2222ccceEcEvrrerrkrrrerrrrerreer 714.12 Kết quả thực tế

4.2 Những gì em đạt được, hạn chế và định hướng phát triển

4.2.1 _ Những gì em dat ẨưỢC - thiet 77

Trang 8

4.2.2 — Giới hạn

4.2.3 Định hướng phát triỂn . -22++s22cvvrreecrrvrrerrrrrrrrrrTÀI LIỆU THAM KHẢO

Trang 9

DANH SÁCH SÓ LIỆU

Hình 1: Cấu hình chung của Mạng thần kinh phổ biến để xử lý hình ảnh đầu vào vàphân loại các đối tượng dựa trên giá tTỊ - 5< 25+ tEkekekerrrkrkrkerer 18Hình2: Quá trình tính toán than kinh +2222+++222v+z+ettvxvrerrrsrrrrrr 19Hình 3: Bộ lọc 5x5 được sử dụng đề phát hiện góc / cạnh -: 19

Hình 4: Quy trình ReLU „21 Hình 5: YOLOv1 dự đoán như thé nào ¿52+ 3+ +vx+eErverreerrrrrrrrrrrrer 23

Hình 6: Kiến trúc YOLOv1 24

Hình 7: Khung hình trên giây của mỗi thuật toán ¿ - ¿5+ 5+ 5s <+c+x+x++ 24

Hình 8: Ví dụ đối tượng duy nhất mà hình vuông chứa . - 25Hình 9: Mỗi hình vuông chịu trách nhiệm cho mỗi dự đoán 2 hộp ranh giới 26

Hình 10: Một vectơ có 2 hộp và 3 lớp cho mỗi hình vuông .: -+ 26

Hình 11: Mô hình Neural Network cho YOLOV!1

Trang 10

Dòng chảy HLS của Vivado Design - 5556 Sccccsetsrrkekererree 41

Cấu hình dé tạo tệp tin khởi động có thé truy cập hệ thống tệp gốc 42Cấu hình bộ nạp khởi động cho Zynq ZC702 và Zedboard 42

Cấu hình dé làm cho Zedboard sử dụng tệp khởi động - 42Cấu hình dé gắn bộ nạp khởi động vào BOOT - ¿s2 43

Cấu hình dé truy cập tệp hạt nhân :¿-©2z+2222++z+zcvvvrecrrrxz 43Kiến trúc chung FPGA

Cấu trúc của khối logic có thé cấu hình -. -©c¿2222+zcsvczsseez 45

Lớp phủ chức năng của ZedBOard - 5: + 5+5++c+c+cexsrezxersrerre 46

Sơ đồ khối của ZedBoard . -+++22222+++2EE++2+tEEEEEerrErEkkrrrrrrkerrrg 47

Giao diện và kết nối -22cccccct22222EEEttriitttrtkrrrrrtrrrrrrirrrrrrir 49

Kênh trong giao diện AXÌ ¿5-5252 S+S++xxtreekerrrerrrerree 50

Kiến trúc tổng thể

Tiến độ thực hiện

Kiến trúc tong thé của máy gia tốc .:¿-++22cv++zvccvvvreerrrve 55

Sơ đồ khối của OV7670 Camera Module .-¿:2cz+222sszz+ccxxe 59

So d6 khGi ctta AXTDMA 01a 61Thông số của IP AXI Stream Data FIFO - ¿+22222zz222+scez 62

Truyền dữ liệu một kênh -2 ©2¿£22EE+z++2EEE+zt2EEEEEztrEEEEerrrrrrrcee 65

Mô-đun tế bào thần kinh(Tn = 4 và Tm = 2) ¿ ¿©5522 66

Mô-đun tong hợp

Mô-đun T€OTE, 1kg HT 68

Kiến trúc tổng thé thực hiện trên ZedBoard 2: z- ssccsszses+ 69

Trang 11

Kết quả mô phỏng với đối tượng Xa .- 2¿¿22+cz+222vzcecccree 72Kết quả mô phỏng đối tượng với khoảng cách 40em - 72

: Khoảng cách 8m ¿+ - + 5+1 k2 E112 112111 1 1111 1gp 73

Độ chính xác với khoảng cách 80cm

Khoảng cách I2Cm - - SxS E 3k vn HH tr nườt 74

Độ chính xác với khoảng cách I20cm + 2+ + 5+ £sc++++++c+ese+ 74

Trang 12

Chuyển đổi chuẩn hóa hàng loạt, áp dung cho kích hoạt x trên một lô nhỏ30

Luông mạng tế bào thần kinh -.2 - 2¿©+++2222++++222S+zevtrvszeerrr 51

bo 0 Ô.Ô 59

Sơ đồ tín hiệu

So sánh đối tượng với khoảng cách khác nhau -: 2 74

So sánh kết quả giữa darknet phần mềm và việc thực hiện của em 75

Trang 13

DANH SÁCH CÁC TỪ VIẾT TÁT

ASIC: Application Specific Integrated Circuit

AXI: Advanced Extensible Interface

BN: Batch Normalization

BRAM: Block Random Access Memory

CLB: Configurable Logic Block

COCO: Common Objects in Context

DDR: Double Data Rate

DMA: Direct Memory Access

DSP: Digital Signal Processing

DSP48E: Digital Signal Processing Logic Element

FF: Flip-Flop

FIFO: First in First Out

FPGA: Field Programmable Gate Array

GPU: Graphics Processing Unit

HDF: Hardware Descriptor File

HDL: Hardware Description language

HLS: High-level Synthesis

IOU: Intersection Over Union

IP: Intellectual Property

ISE: Integrated Synthesis Environment

LUT: Look-Up Table

Trang 14

mAP: mean average precision.

NNW: Neuron Net Work

PL: Processing Logic

PS: Processing System

RAM: Read Access Memory

RCNN: Region-Based Convolution Neural Networks

ReLU: Rectified Linear Units

RTL: Register-transfer Level

SD: Secure Digital

SRAM: Static Random-access Memory

YOLO: You Only Look One

Trang 15

TOM TAT DE TÀI

Trong những năm trở lại đây, các mô hình Deep Learning đã được nhiều nhà khoa

học quan tâm và tham gia nghiên cứu, đáng chú ý là mô hình Mạng thần kinh (Neural

Network) như một ứng cử viên hàng đầu đề giải quyết các vấn đề như nhận dạng và

xử lý đối tượng

Nhiều ứng dụng thực tế thường có độ trễ (delay) thấp trong phần mềm hoặc chiếm

rất nhiều tài nguyên trong phần cứng Dé đối phó với van dé này, các giải pháp tối ưu

hóa như thực hiện FPGA được áp dụng.

Em lập kế hoạch, thiết kế và trién khai FPGA của kiến trúc tăng tốc Mang thần kinh

và sử dụng thuật toán phát hiện You Only Look Once phiên bản 2 (YOLOv2).

Trang 16

Chương 1 TONG QUAN!

1.1 Tình hình nước ngoài

Ở nước ngoài, có rất nhiều quốc gia dẫn đầu về vi mạch như Hoa Kỳ, Án Độ, Đức,

Trung Quốc, Nhật Bản, Do đó, chúng ta có thé dé dàng tim ra các tài liệu về vi

mạch thông qua Internet và quốc gia Án Độ là một trong những quốc gia có rất nhiềutài liệu trực tuyến về vi mạch

Trong Giải thưởng Hiệp hội vì sự tiễn bộ của trí tuệ nhân tạo (AAAT) 2020, GeoffreyHinton (Google, Viện Vector và Đại học Toronto) mang đến cách tiếp cận mới với

mục tiêu nhận dạng đối tượng cho mạng thần kinh Kéo dai cho đến cuối năm 2017,

Trung Quốc đã triển khai công nghệ nhận dạng khuôn mặt và trí tuệ nhân tạo tại Tân

Cương

Đề tài của WalkerLau về tăng tốc Mạng thần kinh với FPGA trên github Trong dé

tài này, họ chỉ có thé so sánh tốc độ của CPU và CPU + FPGA bằng cách thực thi

nhận dạng khuôn mặt với 7 lớp thần kinh Kết quả là hệ thống tăng tốc CPU + FPGA

hoạt động nhanh hơn 45x-75x.?

Đề tài của Mohamed Atri, Fethi Smach, Johel Miteran và Mohamed Abid về thiết kế

phân loại Mạng thần kinh dé phát hiện khuôn mặt Trong chủ dé này, họ có một kháiniệm mới là Perceptron nhiều lớp Kết quả của đề tài đó là họ nhận được độ chínhxác 99,67% của 500 hình ảnh mẫu bằng cách sử dung Xilinx FPGA?

1.2 Tình hình trong nước

Ở Việt Nam, chúng ta có rất nhiều hạn chế về nguồn lực, chi phí, công nghệ dẫn đếnnguồn nhân lực phải đi du học để có được chat lượng cao Hau hết tat cả các công tylàm việc về vi mạch cũng dừng lại ở việc đóng gói mạch hoặc trung gian cho các

1 The 16® AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment

? Acceleration CNN computation with FPGA from WaklerLau.

3 Neural Networks Classifier for Face Detection.

Trang 17

công ty lớn bên ngoài Việt Nam Vì vậy, hầu hết các chủ đề nghiên cứu được xuất

bản từ nước ngoài.

Việc nghiên cứu và triển khai thuật toán YOLO trên FPGA rất khó khăn vì em khôngthể tìm ra bắt kỳ tài liệu hoặc đề tài nào đo người dân ở Việt Nam thực hiện

1.3 Mục tiêu đề tài

Có ba mục tiêu chính trong dé tài của em:

- Đầu tiên là nghiên cứu thuật toán YOLO dựa trên Mạng than kinh

- Thứ hai là thiết kế IP camera

- Cuối cùng là có thé kết nối IP camera cùng với YOLO dé có thực hiện phát

hiện đối tượng thời gian thực

Trang 18

Chương 2 CƠ SỞ LÝ THUYÉT*

2.1 Mạng nơ-ron

Mạng nơ-ron là một thuật toán trong DeepLearning có thể lấy dữ liệu đầu vào là một

hình ảnh Các yêu cầu xử lý trước trong mạng nơ-ron thấp hơn nhiều so với các thuật

toán phân loại khác Trong khi đó ở các phương diện khác như: các bộ lọc được thiết

kế thủ công, đào tạo đủ, Mạng nơ-ron có khả năng cải thiện các tính năng đó

Trong Hình 1, Mạng thần kinh bao gồm tập hợp các lớp co bản: lớp thần kinh và lớpphi tuyến, các lớp tổng hợp và lớp được kết nói đầy đủ Thông thường, một hình ảnh

sẽ được truyền qua lớp thần kinh đầu tiên và lớp phi tuyến, sau đó tính toán giá trị vàlan truyền thông qua lớp tổng hợp Lớp thần kinh, lớp phi tuyến và lớp tổng hợp có

thể được lặp lại nhiều lần trong mạng Và sau đó, đữ liệu được truyền qua lớp được

kết nối day đủ và softmax dé tính xác suất mà hình ảnh chứa

FEATURE LEARNING CLASSIFICATION

Hình 1: Cấu hình chung của Mạng than kinh phổ biến dé xử lý hình ảnh đầu vào va

phân loại các đối tượng dựa trên giá tri.

2.11 Lớp thần kinh

Lớp thần kinh là lớp đầu tiên trích xuất các tính năng từ hình ảnh đầu vào và hoạtđộng bằng cách đặt một bộ lọc trên một mảng pixel Lớp này sẽ duy trì mối tương

quan giữa các pixel bằng cách tìm hiểu các tính năng của hình ảnh bằng cách sử

* Understanding of convolutional Neural Network-Deep Learning

Trang 19

dụng các ô vuông nhỏ của dữ liệu đầu vào Đây là một phép toán với 2 đầu vào :

ma trận hình anh và 1 bộ lọc." Xem Hình 2, ta có công thức:

e Ma trận hình ảnh (âm lượng) kích thước (h x w x d)

© BOloc (f x fy X đ)

¢ Xuất kích thước âm lượng (h — ƒ„ + 1) x (w— fy $1) x1

Hình2: Quá trình tính toán thần kinh®

Vi bộ lọc quét toàn bộ hình ảnh, các tinh năng này có thé ở đâu đó trong hình ảnh,ngay cả khi hình ảnh được xoay sang trái hoặc phải, các tính năng này vẫn đượcphát hiện.

© c

Hình 3: Bộ lọc 5x5 được sử dụng để phát hiện góc / cạnh

Em có ví dụ về bộ lọc Trong Hình 3, giá trị 1 sẽ được kết nói với một giá trị khác

để biểu thị cho tính năng mà em muốn phát hiện

5 The Definition of Convolution in Deep Learning by using Matrix

® Understanding of convolutional Neural Network-Deep Learning

7 Object Detection with Deep Learning: A Review

Trang 20

Kích thước bộ lọc là một trong những thông số quan trọng nhất của lớp thần kinh.Kích thước này tỷ lệ thuận với số lượng tham số cần tìm ở mỗi lớp thần kinh vàđánh lừa trường tiếp nhận của lớp này Kích thước bộ lọc phổ biến nhất là 3x3.

Các tính năng được trích xuất sẽ đa Ít đa dạng hơn của cây thông được

dang và hữu ích hơn ở lớp sau chiết xuất

Giảm kích thước hình ảnh chậm Giảm kích thước hình ảnh nhanh

hơn, do đó cho phép mạng sâu hơn chóng, do đó chỉ cho phép mạng

nông

Giảm trọng lượng (weight), chia sẻ Việc chia sẻ trọng lượng (weight)

trọng lượng tốt hơn không có ý nghĩa nhiều

2.12 — Lớp phi tuyến

Don vi tuyến tính được chỉnh sửa, f = max (0, x) là hàm kích hoạt phổ biến nhấtcho Mạng thần kinh được Giới thiệu bởi Geoffrey E Hinton vào năm 2010 *Chitc

năng ReLU được sử dụng phố biến vì tính đơn giản của nó, giúp giảm độ đốc biến

mắt và cho kết quả tốt hơn ReLU nằm ngay sau lớp thần kinh ReLU sẽ gan các

# Rectified Linear Units Improve Restricted Boltzman Machines.

Trang 21

giá trị âm bằng 0 và giữ giá trị đầu vào khi nó lớn hơn 0 Trong Hình 4, tất cả cácgiá trị âm sẽ được đặt bằng 0 sau quá trình ReLU.

Lớp tổng hợp làm giảm kích thước mẫu của bản dé đối tượng và giúp xử lý nhanh

hon vì nó làm giảm tổng số tham số mà mạng cần xử lý Lớp tổng hợp có thé có

nhiêu loại khác nhau:

© _ Tổng hợp lớn nhất

e Tổng hợp trung bình

e _ Tổng của lớp tông hợp!?

Tổng hợp lớn nhất nhận phần tử lớn nhất từ tensor của các đối tượng hoặc tổng

hợp trung bình của tensor đó Tổng của tat cả các phần tử trong tensor được gọi

là tổng hợp

2.1.4 Lop kết nối đầy đủ

Lớp kết nối đầy đủ hoàn toàn đơn giản là nguồn cấp đữ liệu cho các mạng thầnkinh chuyền tiếp Các lớp này tạo thành một vài lớp cuối cùng trong mạng Đầu

° Understanding of convolutional Neural Network-Deep Learning

19 RunPool: A Dynamic Pooling Layer for Convolution Neural Network

Trang 22

vào của lớp kết nối đầy đủ là đầu ra từ lớp trước nó, được làm phẳng sau đó đưavào lớp kết nối đầy đủ Làm phẳng là như thế nào? Đầu ra của lớp tổng hợp làmột ma trận 3 chiều, dé làm phẳng nghĩa là hủy tất cả các giá trị của nó dé biến

nó thành một vec-tơ

2.1.5 Trọng lượng

Mỗi tế bào thần kinh trong mạng nơ-ron, tính toán một giá trị đầu ra bằng cách ápdụng một hàm cụ thể cho các giá trị đầu vào đến cho trường tiếp nhận trong lớp

trước Hàm được áp dụng cho các giá trị đầu vào được xác định bởi một vectơ có

trọng lượng và độ lệch (thường là số thực)!1, Trong Mạng thần kinh, quá trình tiến

bộ thực hiện bằng cách điều chỉnh lặp đi lặp lại những độ lệch và trọng lượng

Vecto trọng lượng va độ lệch được gọi là bộ lọc và đại diện cho tính năng cu thể

của đầu vào (ví dụ: một hình dạng cụ thé) Một tính năng phân biệt của Mạng thầnkinh là nhiều tế bào thần kinh có thể chia sẻ cùng một bộ lọc Điều này làm giảm

mức chiếm dụng bộ nhớ vì độ lệch và vectơ trọng lượng duy nhất được sử dụngtrên tất cả các trường tiếp nhận chia sẻ bộ lọc đó, như được áp dụng cho mỗi

trường tiếp nhận có độ lệch va trọng số vecto riêng

2.2 YOLOv1

YOLO (YOU ONLY LOOK ONE) là một trong những phương pháp tốt nhất vànhanh nhất Nó được kết hợp từ các lớp thần kinh và các lớp kết nói Với lớp thầnkinh, nó sẽ xuất các tính năng của hình ảnh, các lớp được kết nối sẽ dự đoán xác suất

và tọa độ đối tượng.

YOLO có rất nhiều ứng dụng trong thực tế như: Hệ thống theo dõi xe tự lái, hệ thống

theo dõi con người

1! Effect of bias in Neural Network

Trang 23

Class probability map

Hình 5: YOLOv1 dự đoán như thé nao!”

Trong Hình 5, YOLOv1 chia hình ảnh thành lưới SxS (S=7), sau đó nó sẽ phát hiện

tắt cả các khối, đối tượng và phân loại từng ô thành nhóm màu Nếu tâm của một

đối tượng rơi vào một ô lưới, ô lưới đó có nhiệm vụ phát hiện đối tượng đó Màu

xanh là chó, màu vàng là xe đạp và màu hồng là xe hơi

Mỗi ô lưới dự đoán các ô giới hạn B (B=2) và điểm tin cậy cho các ô đó Các điểmtin cậy phản ánh độ chính xác của mô hình rằng hộp chứa một đối tượng, tức là bat

kỳ đối tượng nào trong hộp Mỗi hộp giới hạn bao gồm 5 parametes x, y, w, h, độ

tin cậy Tương ứng, tọa độ của trung tâm (x, y) đại diện cho tâm của hộp so với các

giới hạn của ô lưới, chiều Tộng, chiều cao dự đoán so với toàn bộ hình ảnh và độ tin

cậy đại diện cho IOU giữa hộp dự đoán và bắt kỳ hộp sự thật nào Sau khi phân tích

phát hiện đối tượng sẽ trả về Output là một ma trận có kính thước Sx Sx (Š x B +

C).

1? You Only Look Once: Unified, Real-Time Object Detection.

Trang 24

Ưu điểm lớn nhất của YOLO là tốc độ cao và FPS cao (Khung hình mỗi giây) khi so

sánh với các thuật toán khác nhau Xem Hình 7, chúng ta thấy được sự so sánh được

thực hiện bởi Jonathan Hui để so sánh YOLO với thuật toán khác nhau:

¢ FPS cao dé xử lý thời gian thực

¢ YOLO phát hiện đối tượng trên mỗi ô trong hình ảnh, nó làm cho thuật toán

có thé được tính toán nhanh hơn các thuật toán khác

© C6 rất nhiều đề tài liên quan đến thuật toán nghiên cứu được viết bởi giáo sư,

Faster R-CNN (low) Fastor R-CNN (high) RLECN (low) S80 0o) '580 (righ) YOLO pow), 'YOLO righ)

Frames per second

Hình 7: Khung hình trên giây của mỗi thuật toán

Trang 25

trọng tâm của cô gái trong hình vuông màu xanh lá cây, vì vậy model phải dự

đoán rằng nhãn (label) chính là cô gái Lưu ý, ngay cả khi một phần ảnh của côgái ở một hình vuông khác nhưng trung tâm không thuộc về hình vuông đó nên

nó không được tính là chứa nhãn của cô gái cho hình vuông đó Tuy nhiên, chúng

ta có thé tăng kích thước lưới từ 7x7 lên kích thước lớn hơn dé có thé phát hiện

nhiều đối tượng hơn Ngoài ra, kích thước của hình ảnh đầu vào phải là bội số của

kích thước lưới.

Hình 8: Ví dụ đối tượng duy nhất mà hình vuông chứa

Mỗi hình vuông chịu trách nhiệm dự đoán 2 hộp ranh giới của đối tượng Mỗi hộpranh giới chứa một đối tượng Thông tin vị trí của hộp ranh giới bao gồm hộp ranhgiới trung tâm của đối tượng và chiều rộng và chiều dài của hộp ranh giới TrongHình 9, một hình vuông màu xanh lá cây cần dự đoán 2 ô ranh giới chứa cô gáinhư hình dưới đây Một điều cần lưu ý, tại thời điểm cài đặt, chúng ta không dự

đoán giá trị pixel, chúng ta cần chuẩn hóa kích thước hình ảnh của phân đoạn

Trang 26

[0-1] và dự đoán độ lệch của trung tâm của đối tượng với hộp chứa đối tượng đó Ví

dụ, thay vì dự đoán vị trí pixel của điểm đỏ, chúng ta cần dự đoán độ lệch a, btrong hình vuông chứa tâm của đối tượng

Hình 9: Mỗi hình vuông chịu trách nhiệm cho mỗi dự đoán 2 hộp ranh giới.

Kết luận, đối với mỗi hình vuông, dự đoán là sau đây thông tin:

¢ _ Hình vuông có chứa bat kỳ đối tượng nào hay không?

¢ Du đoán độ lệch của 2 hộp chứa đối tượng từ hình vuông hiện tại

¢ Lớp của đối tượng đó

Đối với mỗi hình vuông, chúng ta cần dự đoán một vectơ có kích thước (N_box+4*N_box + Nclass) Ví dụ, xem Hình 10, chúng ta cần dự đoán 2 hộp và 3 lớpcho mỗi hình vuông, nó sẽ là tensor 7x7x13x3 chứa tat cả các thông tin cần thiết

Hình 10: Một vectơ có 2 hộp và 3 lớp cho mỗi hình vuông

2.2.2 Mang thần kinh cho YOLOv1

YOLO có 24 lớp tích chập, tiếp theo là 2 lớp kết nói đầy đủ Một số lớp tích chập

sử dụng xen kẽ các lớp giảm Ix1 dé giảm độ sâu của bản đồ đối tượng địa lý Đối

với lớp chập cuối cùng, nó xuất ra một tensor có hính dạng (7,7,1024) Sau đó

Trang 27

được làm phẳng Sử dụng 2 lớp kết nối đầy đủ như một dạng hồi quy tuyến tính,

nó xuất ra các tham số 7x7x30 và sau đó định hình lại thành (7,7,30), tức là 2 dự

đoán hộp biên cho mỗi vị trí.

ANA

“.

12]

3 WE cr Tom Toa 4096 3

Hình 11: Mô hình Neural Network cho YOLOv[!3

Trong Hình II, với hình ảnh đầu vào là 448x448, mô hình Neural Network với 6tầng pooing tối đa với kích thước 2x2 sẽ giảm kích thước hình ảnh 64 lần, xuống

7x7 ở đầu ra Thay vì sử dụng một layer được kết nối đầy đủ trong layer cuốicùng, Mạng thần kinh có thé thay thé nó bằng một lớp thần kinh 1x1 với 13 bản

dé tính năng dé dễ dang xuất hình dang 7x7x13

2.2.3 Ham mat mat

YOLO sử dung hình vuông mat mát (square lose function) giữa dự đoán và nhãn

dé tính lỗ cho mô hình Nó bằng tổng cộng 3 ham mắt mát:

e Mất nhãn dự đoán của vật thể (Mắt phân loại)

e Mat chiều rộng và chiều cao dự đoán của hộp ranh giới (Mat nội dia hóa)

© Mất 6 có chứa đối tượng hoặc không (Mất tự tin)

Leotaa = Lctassification + Liocatization + LconfidenceTrong hình anh đào tao, mô hình sẽ chọn từng 6 có đối tượng, tăng điểm phan

loại, sau đó, tìm hộp ranh giới bên ngoài giữa 2 hộp dự đoán Tiếp theo là tăng

13 Low costs object detection using yolo.

Trang 28

điểm bản địa hóa của hộp ranh giới và thay đổi thông tin của hộp này thành cùngvới nhãn Với ô không có đối tượng, điểm tin cậy sẽ giảm và em không sử dụngđiểm phân loại và điểm bản địa hóa.

I]; obj : bằng 1 nếu ô có đối tượng, ngược lại là 0

B,(c): là xác suất có thé xảy ra của lớp C trong hình vuông tương ứng được

dự đoán bởi mô hình.

2 Mat nội địa hóa:

Nó sử dung dé tính toán giá trị lỗi của hộp ranh giới dự đoán bao gồm x, y bù

đắp và chiều rộng, chiều cao Chỉ đếm hộp có đối tượng

Tén that nội địa hóa được tính bằng tổng tổn thất vuông của offset x, offset y

và chiều rộng, chiều cao của ô, có đối tượng Với mỗi ô, chúng ta chon | hộp

ranh giới có IOU tốt nhất (Intersection over union) và tính toán lỗi của hộp

ranh giới.

3 Mất độ tin cậy:

Nó hiển thị giá trị lỗi giữa hộp ranh giới dự đoán với nhãn thực tế

Tổn thất độ tin cậy tính toán trên cả hai ô đều có đối tượng và không có đối

tượng.

Trang 29

2.2.4 Giao 16 qua Lién minh

IOU (Intersection Over Union) là một ham đánh giá độ chính xác của may dò đối

tượng trên một tập dữ liệu cụ thể

Em chỉ giữ cho mỗi hộp ranh giới có đối tượng Đề tính IOU giữa 2 hộp, chúng

ta cần tính trung bình 2 hộp giao nhau và chia cho tổng trung bình của 2 hộp

loU: 0.4034 loU: 0.7330 loU: 0.9264

Poor Good Excellent

Hình 12: Ví dụ IOU

Hình 12 cho thấy độ chính xác của đối tượng Nếu IoU > 0,5, dự đoán được đánh

giá là tốt và ngược lại là không tốt Phép tính cho IoU:

IOU = S-yellow / (S-đỏ + S-yellow + S-violet)

2.2.5 Nhược điểm của YOLOv1

YOLOvI áp đặt các ràng buộc không gian trên các hộp giới hạn, mỗi 6 lưới có

thé dự đoán rat ít hộp giới hạn B và chỉ có một lớp Những ràng buộc này hạn chế

Trang 30

khả năng của chúng ta để nhận ra các đối tượng gần nhau, cũng như đối tượng

2.3 YOLOv2

YOLOv? có tên YOLO9000 đã được Joseph Redmon va Ali Farhadi công bố vào

cuối năm 2016 Cải tiến chính của phiên bản này tốt hơn, nhanh hơn, nâng cao hơn

để bắt kịp R-CNN (phương pháp sử dụng Mạng dé xuất khu vực), xử lý các van dé

gặp phải bởi YOLOv1.'4

2.3.1 Chuẩn hóa hàng loạt (Batch Normalization)

Kỹ thuật Chuẩn hóa hàng loạt đã được giới thiệu sau tất cả các lớp thần kinh của

YOLOv?2 Kỹ thuật này không chỉ làm giảm thời gian đào tạo mà còn làm tăng

tính phổ quát (khái quát hóa) của mạng Trong YOLOv2, chuân hóa hàng loạt

giúp tăng mAP khoảng 2%.

Bang 2: Chuyên đổi chuẩn hóa hàng loạt, áp dụng cho kích hoạt x trên một lô

nhỏ!Š

Đầu vào: Giá trị của x trên một lô nhỏ: = (x ?n);

Các thông số cần biết: y, B

Ra: {yj = BNys(%j)}

14 YOLO9000: Better, Faster, Stronger

15 Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

Trang 31

Vi = YRi + 8 = BNy,p (xi) Ty lệ va sự thay đổi

Chuan hóa hàng loạt là một phương pháp hiệu quả khi đào tao một mô hình mangthần kinh Mục tiêu của phương pháp này là chuẩn hóa các tính năng (đầu ra của

mỗi lớp sau khi kích hoạt) sang trạng thái zero-mean với độ lệch chuẩn.

Chuẩn hóa hàng loạt có thể giúp ngăn chặn giá trị x rơi vào độ bão hòa sau khi

vượt qua các trình kích hoạt không chọn Vì vậy, nó đảm bảo rằng không có kíchhoạt nào quá cao hoặc quá thấp Điều này giúp trọng lượng khi không sử dụng

BN, có thể áp dụng bình thường mà trước đây là điều không thể Điều này giúpYOLOv?2 giảm sự phụ thuộc vào giá trị khởi tạo tham sé

2.3.2 Phan loai d6 phan giai cao

Phiên bản trước của YOLO sử dung kích thước đầu vào là 224x224 trong quátrình đào tạo nhưng tại thời điểm phát hiện, hình ảnh có kích thước lên tới

448x448 Điều này khiến mô hình điều chỉnh theo độ phân giải mới, do đó làm

giảm mAP.

Ở phiên bản YOLOv2 được đào tạo trên độ phân giải cao hơn trong 10 giai đoạn

trên dữ liệu ImageNet Điều này giúp mạng có thời gian điều chỉnh các bộ lọc dé

có độ phân giải cao hơn Bằng cách này mAP đã tăng 4%

Trang 32

2.3.3 Sứ dụng kiến trúc hộp neo (Anchor Box) để đưa ra dự đoán

Trong YOLOv2, tác giả loại bỏ lớp kết nối đầy đủ ở giữa mạng và sử dụng kiếntrúc hộp neo để dự đoán các hộp giới hạn Dự đoán độ lệch so với hộp neo dễdàng hơn nhiều so với dự đoán tọa độ hộp giới han Thay đồi này làm giảm mAP

một chút nhưng tăng thu hồi

VỊ trí của hộp neo được xác định bằng cách ánh xạ vị trí của đầu ra mạng trở lại

hình ảnh đầu vào Chúng ta có thể thấy Hình 13; quá trình này được sao chép cho

mọi đầu ra mạng Kết quả tạo ra một tập hợp các hộp neo lát gạch trên toàn bộhình ảnh Mỗi hộp neo đề đưa ra hai dự đoán cho mỗi vị trí trong hình dưới đây

Hình 13: Đầu ra NN (i, j) bản đồ thành hình ảnh (i, j)

Khoảng cách, hoặc sải chân (stride), giữa các hộp neo lát gạch là một chức năng

của hàm down-sampling có trong Mạng thần kinh Các yếu tố down-sampling từ

4 đến 16 là phổ biến Các yếu tố down-sampling này tạo ra các hộp neo lát gạch

thô, có thé dẫn đến lỗi nội địa hóa

Trang 33

Dé khắc phục lỗi nội địa hóa, máy dò đối tượng tìm hiểu bù dap dé áp dụng cho

mỗi hộp neo lát gach tinh chỉnh vi trí và kích thước hộp neo.

Trang 34

image orig F——————————————Ì

Predefined anchor box location

Offsety rF=/=4

Refined location of anchor box

Hình 15: Hộp neo tinh chỉnh vi trí và kích thước hộp neo.

Xử lý đa quy mô cho phép mạng phát hiện các đối tượng có kích thước khác nhau

Để lưu trữ tính năng phát hiện đa quy mô, chúng ta phải chỉ định các hộp neo có

kích thước khác nhau, chẳng hạn như 64-64, 128-128 và 256-256 Chỉ định kích

cỡ thé hiện chặt chẽ tỷ lệ và tỷ lệ khung hình của các đối tượng trong dữ liệu đào

tạo của bạn.!6

2.3.4 Cụm K-mean cho lựa chọn neo

Thay vì phải chọn hộp neo theo cách thủ công, YOLOv2 sử dụng thuật toán

K-mean đề đưa ra lựa chọn hộp neo tốt nhất cho mạng Điều này tạo ra một IOU tốt

hơn.

Mục tiêu của thuật toán phân cụm này: từ dữ liệu đầu vào và số lượng cụm em

muốn tìm, cho biết trung tâm của mỗi nhóm Gán các điểm dữ liệu thành các nhóm

tương ứng.

Đầu vào: Dữ liệu X và số cụm để tìm K

19 Anchor Boxes for Object Detection

Trang 35

Đầu ra: Trung tâm M và vectơ nhãn cho mỗi điểm dữ liệu Y.

¢ _ Bước 1: Chọn bất kỳ điểm K nào làm trung tâm ban dau

¢ _ Bước 2: Gan từng điểm dữ liệu cho cụm có trung tâm gần nhất

© Bước 3: Nếu việc gán dữ liệu cho từng cụm trong bước 2 không thay đổi

so với vòng lặp trước, chúng ta dừng thuật toán.

¢ - Bước 4: Cập nhật trung tâm cho từng cụm bang cách lay trung bình của tat

cả các điểm dữ liệu được gán cho cụm đó sau bước 2

e Bước 5: Quay lại bước 2.

Thuật toán sẽ dừng lại sau một số vòng lặp hữu hạn Vì hàm mất mát là một số

dương và sau mỗi bước 2 hoặc 3, giá trị của hàm mắt mát sẽ giảm Nếu một chuỗicác số rơi xuống và bị chặn bên đưới nó hội tụ Hơn nữa, số lượng cụm cho tất cả

dữ liệu là hữu han vì vậy tại một số thời điểm, hàm mắt sẽ được thay đổi và chúng

ta có thê dừng thuật toán ở đây

2.3.5 Dự đoán vi trí trực tiếp

YOLOV2 sử dung ham sigmoid (6) dé giới han giá trị trong khoảng từ 0 đến 1, do

đó hạn chế dự đoán hộp giới hạn xung quanh ô lưới dé làm cho mô hình ồn định

hơn trong quá trình đào tạo.

Xem Hình 16, với hộp neo có kích thước trên ô (py,pp) lưới với vị trí trên cùng

bên trái, mô hình dự đoán độ lệch (c,,cy) tỷ lệ và hộp ty, ty, ty, ty giới hạn

(by, by, by, by) Sự tự tin của dự đoán là ø(fa).

Trang 36

Hình 16: Dự đoán hộp giới hạn trong YOLOv?2.

'YOLOv2 đã thêm 5% mAP khi áp dụng phương pháp này.

2.3.6 Thêm các tính năng chỉ tiết

YOLOv?2 sử dung ban đồ tính nang 13x13 dé dua ra dự đoán lớn hon 7x7 của

YOLOvI YOLOv2 cũng kết hợp các tinh năng ở các lớp khác nhau đề đưa ra dựđoán, cụ thể kiến trúc ban đầu của ban dé tinh năng kết hợp YOLOv2 là 26x26

được chụp từ gần cuối với bản dé tinh năng 13x13 ở cuối dé đưa ra dự đoán Cụthé, các bản dé tính năng này sẽ được ghép nối để tạo thành một khối được sử

dụng để dự đoán

Xem Hình 17, chúng ta có kiến trúc YOLOv2 Sau 4 lớp thần kinh, nó sẽ có lớpReorg dé giảm các bản đồ tính năng của hình ảnh, nó có thể bỏ qua 2 lớp thầnkinh để giảm thời gian thực hiện Hình 18 cho thấy ma trận sẽ được chia thành 4

nhóm.

Trang 37

3x3x 128 3x3x256

MaxPooling MaxPooling

3 MaxPooling

Hình 17: Kiến trúc YOLOv2!”

Reorg là một kỹ thuật tổ chức lại bộ nhớ để biến bản đồ tính năng 26x26 thành

13x13 với độ sâu lớn hơn đề có thê thực hiện ghép nối với bản đồ tính năng 13x13

ở cuối

Trong trường hợp chung của Reorg, Mạng thần kinh sẽ biến bản đồ tính năng có

kích thước [N, C, H, W] thành kích thước [N, C x s°, 2,2] Số lượng tham số

trong bản đồ tính năng vẫn giữ nguyên Khi chúng ta giảm 2 lần chiều rộng và

chiều cao, số lượng kênh phải tăng gấp 4 lần Sự chuyền đổi này hoàn toàn khácvới thay đổi kích thước trong xử lý hình ảnh Đề trực quan hóa dé dàng, bạn có

thể xem bản vẽ dưới đây:

9 [11 1o |12 ||13 |1s 14 |16

Hình 18: Kỹ thuật Reorg trong YOLOv2

!7 Determination of Vehicle Trajectory through Optimization of Vehicle Bounding Boxes Using a

Convolutional Neural Network

Trang 38

Đây là một kênh của bản đồ tính năng 4x4 Để mang lại kích thước 2x2, đó làgiảm chiều rộng 2 lần và chiều cao gắp 2 lần, em chia kênh của bản đồ tính năng4x4 thành 4 tensors như hình trên, tương ứng với 4 kênh độ sâu của bản đồ tínhnăng 2x2 mới Vị trí của các giá trị trong mỗi kênh của bản đồ tính năng 2x2 mới

sẽ thưa thớt trên bản đồ tính năng 4x4 ban đầu với sải bước = 2 đọc theo trọng

lượng và chiêu cao.

2.3.7 Đào tạo đa quy mô

Sau khi loại bỏ các lớp kết nói đầy đủ, YOLO có thê chụp ảnh với các kích thướckhác nhau Nếu chiều rộng và chiều cao được tăng gấp đôi, em chỉ tạo ra 4 ô lưới

đầu ra và do đó là 4 lần dự đoán Vì mạng YOLO giảm giá trị đầu vào bằng 32,

em chỉ cần đảm bảo chiều rộng và chiều cao là bội số của 32 Trong quá trình đào

tạo, YOLO lấy hình ảnh có kích thước 320 x 320, 352 x 352, và 608 x 608 (vớisai bước 32) Cứ 10 đợt, YOLOv2 chon ngau nhiên kích thước anh khác dé dao

tạo mẫu Điều này hoạt động như tăng cường dữ liệu và buộc mạng phải dự đoán

tốt cho các kích thước và tỷ lệ hình ảnh đầu vào khác nhau Ngoài ra, em có thể sửdụng hình ảnh có độ phân giải thấp hơn dé phát hiện đối tượng với chi phí chính

xác Đây có thể là một sự cân bằng tốt cho tốc độ trên các thiết bị sử dụng GPUthấp Ở 288 x 288 YOLO chạy ở hơn 90 FPS với mAP gần như tốt như Fast R-

Trang 39

Type Filters | Size/Stide | Output tom 32 1x1 | 221x221 Maxpool 2 2 | 112x112

Nhìn vào Hình 19, đầu vào của hình anh là 224x224, sau khi nhân với ma trận hạt

nhân, hình ảnh đầu ra sẽ được tỷ lệ thành 112x112 vì giá trị tổng hợp là 2 Sau 5

lớp gộp, kích thước của hình ảnh là 7x7.

2.3.9 YOLO9000

'YOLO9000 cung cấp một cách dé kết hợp các bộ dữ liệu khác nhau với ImageNet

để phát hiện nhiều lớp hơn Tác giả tạo một định hướng có tên WordTree như

trong Hình 20.

Dé có thé kết hợp nhãn từ bộ ImageNet (1000 lớp) với COCO / PASCAL (100

lớp), tác giả dựa vào WordNet dé xây dựng mối quan hệ giữa các lớp, từ đó đào

tạo mạng đề xác định các lớp liên quan ký hợp đồng với nhau

Trang 40

physical object

natural object phenomenon

tabby Persian

biplane jet airbus stealth golden potato feLt sea American

fighter fern fern fern 1avender twinflower

Hình 20: WordTree-YOLO9000 2.4 Vivado & Petalinux

Vivado Design Suite là một bộ phần mềm được sản xuất bởi Xilinx để tổng hợp và

phân tích các thiết kế HDL, thay thế Xilinx ISE với các tính năng bổ sung cho hệthống phát triển chip và tổng hợp cấp cao Vivado đại diện cho việc viết lại và suynghĩ lại toàn bộ luồng thiết kế (so với ISE)

Giống như các phiên bản sau của ISE, Vivado bao gồm trình mô phỏng logic tích hợpISIM Vivado cũng giới thiệu tổng hợp cấp cao, với một chuỗi công cụ chuyển đổi

mã C thành logic có thể lập trình

Hình 21 cho thấy từ nguồn C/C++, chúng ta có thê tổng hợp, tạo thiết kế DSP và xuất

IP mạch Sau khi có đủ tài nguyên, chúng ta có thé kết nói tat cả chúng dé tạo ra một

mạch lớn.

Ngày đăng: 08/11/2024, 16:58

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN