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

Khóa luận tốt nghiệp Truyền thông và mạng máy tính: Hệ thống giám sát lưu lượng giao thông sử dụng camera thông minh

86 2 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 đề Hệ thống giám sát lưu lượng giao thông sử dụng camera thông minh
Tác giả Dinh Duc Liêm, Nguyen Hong Nam
Người hướng dẫn TS. Le Kim Hung, ThS. Nguyen Khanh Thuat
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Truyền thông và mạng máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Ho Chi Minh
Định dạng
Số trang 86
Dung lượng 49,93 MB

Nội dung

Đối tượng nghiên cứu: Hệ thống giám sát phương tiện giao thông áp dụng trí tuệ nhân tạo thực thi trên các thiết bị biên ứng dụng trong hệ thống giao thông thông minh.. mô hình học sâu ph

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG

DINH DUC LIEM NGUYEN HONG NAM

KHOA LUAN TOT NGHIEP

TRAFFIC FLOW CALCULATING SYSTEM

USING AI CAMERA

KỸ SƯ NGANH TRUYEN THONG VA MẠNG MAY TÍNH

TP HO CHi MINH, 2021

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN

KHOA MANG MAY TINH VA TRUYEN THONG

DINH DUC LIEM - 17520678NGUYEN HONG NAM - 17520779

KHÓA LUẬN TOT NGHIỆP

HỆ THÓNG GIÁM SÁT LƯU LƯỢNG GIAO THONG SU DỤNG CAMERA THONG MINH

TRAFFIC FLOW CALCULATING SYSTEM

USING AI CAMERA

KY SU NGANH TRUYEN THONG VA MẠNG MAY TÍNH

GIANG VIEN HUONG DAN

TS LE KIM HUNG

ThS NGUYEN KHANH THUAT

TP HO CHÍ MINH, 2021

Trang 3

THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số

n8ầY của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

ĐẠI HỌC QUOC GIA TP HO CHÍMINH CONG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP HCM, ngày tháng 07 năm 2021

NHAN XÉT KHÓA LUẬN TOT NGHIỆP

(CUA CAN BỘ HƯỚNG DAN)

Tên khóa luận:

HỆ THÓNG GIÁM SÁT LƯU LƯỢNG GIAO THÔNG

SỬ DỤNG CAMERA THÔNG MINH

TRAFFIC FLOW CALCULATING SYSTEM

USING AI CAMERA

Nhóm SV thực hiện: Cán bộ hướng dẫn:

Đinh Đức Liêm 17520678 TS Lê Kim Hùng

Nguyễn Hồng Nam 17520779 ThS Nguyễn Khánh Thuật

Đánh giá Khóa luận

1 Về cuốn báo cáo:

Số trang Số chương

Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phẩm

Một sô nhận xét về hình thức cuôn báo cáo:

2 Vê nội dung nghiên cứu:

3 Về chương trình ứng dụng:

Trang 5

4 Vé thái độ làm việc của sinh viên:

Đánh giá chung: Khóa luận đạt/không đạt yêu cầu của một khóa luận tốt nghiệp

kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình

Diém từng sinh viên:

Trang 6

ĐẠI HỌC QUỐC GIA TP HỎ CHÍ MINH CONG HOA XÃ HOI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP HCM, ngày tháng 07 năm 2021

NHAN XÉT KHÓA LUẬN TOT NGHIỆP

(CUA CÁN BO PHAN BIEN)

Tên khóa luân:

HỆ THÓNG GIÁM SÁT LƯU LƯỢNG GIAO THÔNG

SỬ DỤNG CAMERA THÔNG MINH

TRAFFIC FLOW CALCULATING SYSTEM

USING AI CAMERA

Nhóm SV thực hiện: Cán bộ phản biện:

Dinh Đức Liêm 17520678

Nguyễn Hồng Nam 17520779

Đánh giá Khóa luận

1 Về cuốn báo cáo:

Số trang Số chương

Sô bảng sô liệu Sô hình vẽ

Số tài liệu tham khảo Sản phẩm

Một sô nhận xét về hình thức cuôn báo cáo:

2 Về nội dung nghiên cứu:

3 Về chương trình ứng dụng:

Trang 7

4 Về thái độ làm việc của sinh viên:

Đánh giá chung: Khóa luận đạt/không đạt yêu cầu của một khóa luận tốt nghiệp

kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình

Điểm từng sinh viên:

Dinh Đức Liêm - H0

Nguyễn Hồng Nam - 0

Người nhận xét

Trang 8

Lời Cảm Ơn

Lời đầu tiên, chúng em xin trân trọng cảm ơn quý thầy, cô đang công tác vàgiảng dạy tại khoa Mạng máy tính và Truyền thông, cũng như toàn thể thầy, cô kháccông tác tại trường Đại học Công nghệ Thông tin - ĐHQG Tp.HCM đã truyền đạtnhững kiến thức, bài học, kinh nghiệm quý báu cho chúng em trong suốt quãng thờigian bốn năm vừa qua Và đã sắp xếp thời gian, chương trình hợp lý để chúng em có

cơ hội hoàn thành khóa luận tốt nghiệp tốt nhất Chúng em xin kính chúc khoa Mangmáy tính và Truyền thông nói riêng và trường Đại học Công nghệ Thông tin nói chungluôn thành công rực rỡ trên con đường giảng dạy đào tạo nhân tài, sẽ mãi là niềm tinvững chắc cho các thế hệ sinh viên trên con đường giáo dục

Đặc biệt, chúng em xin gửi lời cảm ơn chân thành nhất đến giảng viên, TS LêKim Hùng Nhờ những kinh nghiệm, bài học quý báu được chia sẻ từ thầy, thầy đãluôn quan tâm và giúp đỡ chúng em giải quyết những vấn đề phát sinh, khó khăntrong quá trình thực hiện Nhờ có thầy, chúng em đã có cơ hội hoàn thành tốt khóaluận tốt nghiệp này Chúng em cũng xin gửi lời cảm ơn đến giảng viên, Th§ NguyễnKhánh Thuật đã hỗ trợ chúng em trong suốt quá trình thực hiện luận văn tốt nghiệp

vừa qua.

Tiếp theo, chúng em xin cảm ơn về phía gia đình đã luôn luôn tin tưởng, độngviên chúng em trong suốt quá trình học tập tại trường Đại học Công nghệ Thông tin

- ĐHQG Tp.HCM, giúp chúng em có thêm nguồn năng lượng dé đi đến được như

ngày hôm nay.

Cuối cùng, nhóm chúng em xin gửi lời cảm ơn đến các anh, chị và các bạn

sinh viên tại trường Dai học Công nghệ Thông tin - ĐHQG Tp.HCM đã luôn nhiệt

tình hỗ trợ, chia sẻ ý kiến và góp ý cho chúng em trong quãng thời gian thực hiện

khóa luận.

TP Hồ Chí Minh, ngày tháng 07 năm 2021

Nhóm tác giả

Trang 9

ĐẠI HOC QUOC GIA TP HO CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh PhúcCÔNG NGHỆ THÔNG TIN

DE CƯƠNG CHI TIẾT

TÊN ĐÈ TÀI:

HỆ THONG GIÁM SÁT LƯU LƯỢNG GIAO THONG

SỬ DỤNG CAMERA THÔNG MINH

TRAFFIC FLOW CALCULATING SYSTEM USING AI CAMERA

Cán bộ hướng dẫn: TS Lê Kim Hùng, ThS Nguyễn Khánh Thuật

Thời gian thực hiện: Từ ngày 01/03/2021 đến ngày 29/07/2021

Sinh viên thực hiện:

Dinh Đức Liêm - 17520678

Nguyễn Hong Nam - 17520779

Nội dung đề tài:

Mục tiêu nghiên cứu:

e Tìm hiểu về trí tuệ nhân tạo (AI — Artificial Intelligence) và ứng dung của AI vào thực

tiễn trong cuộc sống, cụ thể trong khóa luận là ứng dụng trong hệ thống giao thông thông

minh.

e Tìm hiểu về các thiết bị biên cũng như là cơ chế dé tăng tốc độ tính toán các mô hình học

sâu phát hiện đối tượng trên thiết bị

e Tìm hiểu về thuật toán dé theo vết đối tượng cũng như đếm và xác định hướng di chuyên

của các loại phương tiện giao thông trong những vùng quan sát đã định trước.

e Thử nghiệm và xây dựng hệ thống giám sát phương tiện giao thông áp dụng trí tuệ nhân

tạo thực thi trực tiếp tại các thiết bị biên

Đối tượng nghiên cứu: Hệ thống giám sát phương tiện giao thông áp dụng trí tuệ nhân tạo

thực thi trên các thiết bị biên ứng dụng trong hệ thống giao thông thông minh

Pham vi nghiên cứu: Các thiệt bị biên phô biên cho các ứng dụng AI và các cách tôi ưu các

il

Trang 10

mô hình học sâu phát hiện đối tượng nhằm tăng tốc độ tính toán trên thiết bị, các thuật toán

theo vết đối tượng, đếm và xác định hướng di chuyên của phương tiện trong những vùng quan

sát.

Phương pháp thực hiện:

e Cơ sở lý thuyết:

- Xây dựng mô hình hoạt động của hệ thống giám sát phương tiện giao thông thực thi trên

các thiệt bị biên và so sánh với mô hình tính toán trên đám mây truyén thông.

- Chay thử các mô hình phát hiện đối tượng phổ biến trên các video giao thông tại Việt

Nam và đưa ra đánh giá sơ bộ.

e Xây dựng tập dữ liệu về các phương tiện giao thông tại Việt Nam:

- Tiến hành thu thập các video về giao thông tại Việt Nam Các video sẽ được cắt thành

các frame anh và sử dụng công cụ labellmg dé dán nhãn các phương tiện giao thông có

trong frame ảnh.

e Xây dựng hệ thống giám sát phương tiện giao thông trên thiết bị biên:

- Tìm hiểu và cài đặt môi trường (Anaconda, Python, TensorFlow, )

- Tién hành huấn luyện trên tập dữ liệu, tìm ra mô hình tốt nhất có thể phát hiện các

phương tiện giao thông nhưng cũng đảm bảo ứng dụng có thể thực thi theo thời gian

thực.

- Áp dụng các mô hình đã huấn luyện tìm được dé xây dựng hệ thống đếm phương tiện

giao thông tại các thiết bị biên

Kết quả mong đợi:

e Báo cáo tông hợp về hệ thống áp dụng trí tuệ nhân tạo trong việc phát hiện các phương

tiện giao thông tại thiết bị biên

e Bộ dữ liệu được thu thập riêng cho hệ thống, hỗ trợ các nghiên cứu sau này

° Xây dựng và thử nghiệm hệ thống giám sát phương tiện giao thông với chi phí thấp trên

thiết bị biên Từ đó hỗ trợ hiệu quả trong việc giám sát, phân luồng giao thông một cách

hiệu quả, giúp giảm tình trạng tắc nghẽn

1H

Trang 11

Công nghệ liên quan đến đề tài:

e Sử dụng công cụ labellmg dé dán nhãn dữ liệu thu thập được

e Sử dụng các framework TensorFlow, Pytorch, Darknet dé huấn luyện các mô hình trên

tập dữ liệu.

Tính mới đề tài: Áp dụng các mô hình phát hiện đối tượng, thuật toán theo vết và đếm cácphương tiện giao thông trên các thiết bị biên hạn chế về tài nguyên tính toán Cách tiếp cậnnày giúp giảm chỉ phí xây dựng hệ thống, bảo đảm an toàn dữ liệu cũng như khắc phục đượcđiểm yếu của mô hình tính toán trên đám mây truyền thống là độ trễ truyền đối với các ứngdụng thực thi theo thời gian thực và có thê xử lý đữ liệu phân tán thay vì tập trung trên các

máy chủ đám mây.

Kế hoạch thực hiện:

Thời gian Công việc Phân công

20/03/2021 về công nghệ trí tuệ nhân tao, python, opencv,

các framework như tensorflow, pytorch, Nguyễn Hồng Nam —

17520779

Choy àm———t Trên CoralDev | Dinh Đức Liêm —

hiện đôi tượng sẵn có như Board 17520678

21/03/2021 - SSD MobileNet v2,

31/03/2021 Yolov5, trên các video - ;

Nguyên Hong Nam — 17520779

giao thông tại Việt Nam va | Trên Jetson Nano

đưa ra đánh gia sơ bộ.

Thu thập và đán nhãn dữ liệu về các phương Định Đức Liêm —

tiện giao thông tại Việt Nam Từ tập dữ liệu đã | 17520678

Trang 12

16/04/2021

-15/05/2021

Tiến hành huấn luyện, mô

hình hóa tập dữ liệu Tĩnh chỉnh mô hình và tìm ra mô

hình tốt nhất cho hệ thống

Mô hình phát hiện đối

tượng sau khi được huấn

luyện phải được chuyên

đổi qua các định dang phùhợp đề tận dụng phần cứngcủa thiết bị biên nhằm tăng

tốc độ tính toán

Trên Coral Dev

Board, các mô

hình phải được quantization-

“lượng tử hóa”

hoàn toàn sang

dạng int8 dé tậndụng tốc độ tính

toán trên tpu.

Định Đức Liêm — 17520678

Trang 13

-hiệu quả thiết bị và đữ liệu.

Xây dựng Mobile App dé hién thị và quan lý Nguyễn Hồng Nam

-17520779

02/07/2021 29/07/2021

-Chuân bị bảo vệ khóa luận.

Hoàn thành khóa luận.

Định Đức Liêm 17520678

Sinh viên 1 Sinh viên 2

Đinh Đức Liêm Nguyễn Hồng Nam

VI

Trang 14

DINH DUC LIEM 0 e 1

NGUYEN 8.00)0c1 3 Ấ 1

NHAN XET KHOA LUAN hoàn c1 1A8 4

NHAN XET KHOA LUAN hin c2 000105857 6

NGƯỜI NHẬN XẾT - Gv 7 LOT CAM ON 0Š 1

›39/ecs bia 2

MỤC LUC - - G CS 00000 gọn 00 00000000 4:0 0004900990809 000 0109409808099 8808 6 DANH MUC HINH A2001 P1878 ốố 8

j0 80/7) c0 10

DANH MỤC TỪ VIET TẮTT - ©- © Set E 91911 9151511913148 18 881919819110 92919 15196 xkE 11 98/104 /97.01/) 010005057 1

CHƯƠNG1 MỞĐẦU s oto HT HH1 H11011111111011111111011.111111111111011111111011.1a11 2 1.1 u13: k- ốốẽố ‹x¬ ¬ốéẽ ` 2

1.2 2087 >) //đ < 1

1.3 MỤC TIÊU CUA ĐỀ TÀI eS, 1.4 ĐỐI TƯỢNG VA PHAM VI NGHIÊN CUU ccceccccsscccsscccsssccsscccensccesssccesscccasccesseccesseceasecesueceaseseeseseesssccssecessseceasecensecesaeeeenes 4 I5 0n nn số n aDỤ 4

1.4.2 Phạm vi ng ÌHÊH CÍPH óc 99111 HH HH HT TT Tu HT TT Tu Tu TT TT TT TT 1 1e 4 CHU'O'NG 2 — CO’ sa a6 666 ẻ 5

2.1 TONG QUAN VE SINGLE BOARD COMIPUTER: G222 221121158 853E1 31111111 131111 111 0111011111 T101 0111101 H11 01T Hiệp 5 2.1.1 Google Coral Dev BOdrd - - St 1h Thành TH TH Hà Tà Tàn Tư Hà Tà cưng trệt 5 PP N08 /0/ n6 e 6

2.2 ỨNG DỤNG Al TREN CAC SINGLE BOARD COMPUTER . ¿52222262 9SEEEESEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEETEEEETETErrkrkrrerre 8 2.2.1 Tổng quan về “Deep learning” 8 2.2.2 Mạng nơ-ron tích chập — Convolutional Neural Networks (CNN) và ứng dụng trong xử ly ảnh 9

2.2.3 Tổng quan về “Transfer ÏeqFHÌHB” 5c tt HE HH ng 11g 11 2.2.4 Các model deep learning tương thích với Coral Dev BOđFi - th nh nh ng rh rrưg 12 2.2.5 Các model deep learning tương thích với Nvidia Jetson ÏNHHO HH HH tr, 15 2.3 9.190 — dâdầd-3 19

VN 8ø nố ố 20

2.4 9290 011 1A1 re 21 CHƯƠNG 3 KIẾN TRÚC CUA HỆ THỐNG GIÁM SÁT LƯU LƯỢNG GIAO THONG 55c 5c++cscsscesesseree 24 3.1 W9 Ic90 00/244 3)0( 00.0 can -“-d.a 24

3.2 SO DO LUONG XU LY DU LIEU ANH TREN THIET BI BIEN 0088 e 27

3.3 CAC MODEL DEEP LEARNING PHÁT HIEN PHƯƠNG TIEN GIAO THONG cscsscscscescseescsscsesecsesecseseesesecsesecstsecsesecseeesseeeeseeees 28 3.3.1 277/2 P 28

3.3.2 Single Shot MultiBox Ì€f€CÉOTS 5 TH TH HH TT TH TH nh Hàn TT Tà TH Tà Tà Tàn nhàn 30 3.3.3 Thuật toán theo vết doi tượng SORT "_- 31

3.3.4 Thuật toán đêm phương tiện và xác định hướng di chuyên của chúng trong vùng quan sát 33

CHU'O'NG 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ 4.1 PHAN TICH 0e 00120009271 .3 37

VI

Trang 15

4.2 CHỈ SỐ SỬ DỤNG ĐỂ ĐÁNH GIÁ HIỆU SUẤT CUA CÁC MODEL ¿22222218831 193E5191 E1 11121111511 1111 1111111011 xr+

4.3 KẾT QUA ĐÁNH GIÁ MODEL PHAT HIỆN ĐỐI TƯỢNG TREN CHẠY TREN THIẾT BỊ BIEN .

4.3.1 Trên Coral Dev Board.

4.3.2 Trén Jetson Nano

4.4 KET QUA THU NGHIEM CUA THUAT TOÁN DEM PHƯƠNG TIE:

4.5 TRIEN KHAI THỰC TE THIET BỊ LG 2E 22112111938 1511 11 118 3113 1 11 111 11113 1T TH TC HE

CHƯƠNG 5 TỔNG KẾT VÀ HƯỚNG PHÁT TRIẾN - ©- ®S<SeEESEEEEEEEEEEEESEEEEE3EESEESEEEEEkEEErkerksrsersrree 63

5.1 KET QUA DAT ĐƯỢC

5.2 HƯỚNG PHATTRIEN

TÀI LIEU THAM KHAO

Trang 16

DANH MỤC HÌNH VE

Hình 2.1 Google Coral Dev BOaT .- - - - c 1119101119111 910 19101 19 1119 HH ng 6 Hình 2.2 Nvidia Jetson Nano - s11 912 TH ng HH HH Hi hà 6 Hinh 8/0 1-0i1i9i0i1::iär nh 8

Hình 2.4 Luéng CNN dé xử lý hình ảnh đầu vào va phân loại dựa trên giá trị 10Hình 2.5 Minh họa một kernel đang trích xuất đặc trưng từ hình ảnh - 10Hình 2.6 Minh hoa hoạt động Max Pooling cho dữ liệu 2 ChiỀU 5-5: cccccccxzxsrerrtsrrrs 11

Hình 2.7 Kỹ thuật fine tuning trong transfer Ï€aTTn1TE - . s5 + + E+EsekEseeseessersrke 12

Hình 2.8 Quy trình làm việc cơ bản dé tạo ra một model tương thích với Edge TPU 13Hình 2.9 Node ‘wt quant’ va ‘act quant’ được thêm vào model dé thực hiện cho việc chuyểnđôi hoàn toàn sang integer §-bitL -¿- 2: ©2+2222EE22EE2EE223122112712112711271211 21111 21crxee 14

Hình 2.10 Tổng quan về TensorRTT 2 2 ¿+ x+S+EE£EE+EE2E£+E£EEEEEEEEEEEEEEEEEEEEEEErkerkrrkrree 15

Hình 2.11 Luồng xử lý chuyên đổi model trong TensorRTT 2-2 s2 2+s2+s£++zs+£s+se2 16Hình 2.12 Lưu đồ quy trình tối ưu hóa và trién khai model trong TensorRT 18Hình 2.13 Các phương pháp dé chuyên đổi từ TensorFlow sang TensorFlow Lite 21Hình 3.1 Tống quan kiến trúc của hệ thông giám sát phương tiện giao thông trên thiết bị biên

— Í ` ẻẽ <“ ỐỐốốố 25

Hình 3.2 Tổng quan kiến trúc hệ thống cho ứng dung di động 2 - 5 s22 26Hình 3.3 Sơ đồ khối mô tả luồng xử lý dữ liệu ảnh trên thiết bị biên 2-2 52 27Hình 3.4 Kiến trúc mạng YOLO - 2-2: 2£ ©S£+2+22EE2EEEEEEEEEE22121127112212212112212 2212 xe 28Hình 3.5 Kiến trúc mạng MobileNet-SSD 2-2: 2© £+E£+EE£EEEEEEE2EEEEEEEEEEEEEEcrkrrree 30Hình 3.6 Sơ đồ khối mô tả luồng xử lý dit liệu trong SORT dé theo dõi đối tượng giữa các

Hình 3.7 Cơ chế được sử dụng dé kiểm tra xem một bounding box có bên trong ROO hay

Hình 3.8 Công thức tính Cosine Similarity SŠCOf€ ee «5 5 3k1 ng giết 34

Hình 3.9 Minh họa tính toán điểm tương đồng cosine trong ngữ cảnh đường một hoặc hai

Hình 3.10 Minh họa phương pháp tính khoảng cách tối thiểu trong các ngữ cảnh tại các giao

vill

Trang 17

,ÔỎ 36

Hình 4.1 Những ngữ cảnh khác nhau lấy từ VDD với ROO và DOM được xác định trước 38

Hình 4.2 12 thông số được sử dụng đề đánh giá hiệu suất của các models phát hiện đối tượng

trên tập dữ liệu MS COCO - QHHHHHHH HH H HHg Hệt 39

Hình 4.3 Công thức tinh ty lệ lỗi của thuật toán đếm -2- 2 +¿+++++++zx++zxzzxeez 40

Hình 4.4 Mô tả quá trình biên dịch từ Tflite sang EdgeTPU TÍlite -<+-<+2 43

Hình 4.5 Biểu đồ độ chính xác của model SSD MobileDet trong quá trình training 45Hình 4.6 Biểu đồ Loss của model SSD MobileDet trong quá trình training - 45

Hình 4.7 Tương quan giữa độ chính xác va fps của các models khi chạy trên Jetson Nano 48

Hình 4.8 Kết quả theo vết phương tiện thực thi trên Coral Dev Board đối với video 06 thuộc

bG dit ligu Ganh Gia ooo eee ÕÕ 49

Hình 4.9 Hình ảnh triển khai hệ thống trong thực t6 c.cccscccsscessesssesssesssesstessesssessesstesseesses 50Hình 4.10 Góc quay camera thực tế từ hệ thống + 2s +E+EE+EE+EE+EE2E£EerEerkerxerxrree 51Hình 4.11 Kết qua đếm phương tiện theo hướng di chuyên hiền thị trên dashboard 51Hình 4.12 Điều khiển bo mạch thông qua giao điện web -. ¿ ¿s¿©++cx++zxzzxzez 52

Hình 4.13 Cac records được lưu lai trong database 5 + c* St strsrirrererrrrrrrree 53

Hình 4.14 Hình ảnh lưu lại khoảnh khắc phương tiện rời khỏi vùng ROO 53

Hình 4.15 Sơ đồ Usecase ứng dụng VNTraffic c.ccecceccccsessesssessessessssssessessesssessessessessesseeseaes 54

Hình 4.16 Bang mô ta các thành phan trong Usecase cccceccessssssseesessessessesssssessesseesessesseaee 55

Hình 4.17 Giao diện dang ký va dang nhập vào app eeeeesceeceeseeeceeeceeseeeseeeseeeeeeaeeeaeeees 56

Hình 4.18 Giao diện quên mật Khau cceccecceccecsessesssessessesssssessessessssssessessecsusssessessessssseeseeses 57

Hình 4.19 Giao diện trang ChủỦ - - - - s 111211931 011 ng HH ng 58 Hình 4.20 Giao diện Camera ccccccccsssccssscccseseccesseccseseccseseeccesseeesessesesseeesesseeesesesessssesesesaes 59 Hình 4.21 Giao diện Real-time traÍẨTC - << E333 2211118E11E5531 1181119552311 E852 re 60

Hình 4.22 Giao diện Log mỗi ngày ¿+ ¿6 £+E+SE+E£EE+EEEESE2EEE121E2121711121 211211 cre 61

Hình 4.23 Giao diện trang thông tin người dùng và giới thiệu ứng dụng 62

1X

Trang 18

DANH MỤC BANG

Bảng 2.1 So sánh thông số kỹ thuật giữa Jetson Nano và Coral Dev Board - 7Bảng 4.1 Kết quả thí nghiệm của các model phát hiện đối tượng chạy trên Coral Dev

Bảng 4.2 Ty lệ tương thích giữa các models với Edge TPU 5s s<£<<<sessesss 44

Bảng 4.3 Kết quả thí nghiệm của các model phát hiện đối tượng khi chạy trên Jetson

Trang 19

DANH MỤC TU VIET TAT

TU NOI DUNG DIEN GIAI

ITS Intelligent Transportation System Hệ thống giao thông thông minh

IOT Internet of Things Internet van vat

AI Artificial Intelligence Tri tué nhan tao

VTCS Video-Based Traffic Counting System Hệ thống đếm lưu lượng dựa trên video

SBC Single Board Computer May tinh don bo mach

TPU Tensor Processing Unit Don vi xu ly tensor

GPU Graphics Processing Unit Don vị xử ly đồ họa

SOM System-On-Module Hệ thống trên mô-đun

ML Machine Learning May hoc

DL Deep learning Hoc sau

VDD Vehicle Detection Dataset Tap dữ liệu phát hiện phương tiện giao

thông

ROO Region of Observation Vùng quan sát

DOM Direction of Movement Hướng di chuyên

XI

Trang 20

TOM TAT KHÓA LUẬN

Trong những năm gần đây chứng kiến sự gia tăng đáng ké về số lượng phươngtiện giao thông đã đặt cơ sở hạ tầng giao thông và việc kiểm soát giao thông dưới áp

lực rất lớn Việc cung cấp thông tin về lưu lượng giao thông kịp thời và chính xác là

điều rất cần thiết trong việc phát triển các chiến lược giám sát giao thông Nhận thấy

được vấn đề này, nhóm chúng em đã tiến hành nghiên cứu một hệ thống giám sát lưu

lượng giao thông thông minh chạy trực tiếp trên các thiết bị biên với chỉ phí thấp tíchhợp các model phát hiện đối tượng dé thực hiện phát hiện, theo dõi và đếm các loạiphương tiện, khắc phục điểm yếu của mô hình tính toán trên đám mây truyền thống

như độ trễ truyền đối với những ứng dụng thực thi theo thời gian thực và có thê xử lý

dữ liệu phân tán thay vì tập trung trên các máy chủ đám mây như trước đây Kết quảchạy thực nghiệm trên hai bo mach đại diện phô biến cho các ứng dụng AI là GoogleCoral dev board (Edge TPU coprocessor) va Nvidia Jetson Nano (GPU) cho thấyphương pháp được đề xuất có kha năng đếm được lưu lượng các phương tiện giao

thông với độ chính xác cao trong thời gian thực.

Với những thành quả nghiên cứu được trong luận văn, chúng em mong muốn

sẽ tiếp tục xây dựng và hoản thiện hệ thống hoàn hảo hơn, thực hiện những đánh giákhách quan, chính xác hơn đối với phương pháp được dé xuất , góp phần nhỏ trongviệc thống kê lưu lượng giao thông một cách hiệu quả, giảm thiêu tắc nghẽn bangviệc xây dựng một hệ thống giám sát giao thông thông minh với kinh phí hợp lý

Trang 21

Trong những năm qua, hệ thống giao thông thông minh - intelligent

transportation system (ITS) đã trở thành một nhánh cơ bản trong việc xây dựng thành

phố thông minh, đóng vai trò thiết yếu trong quy hoạch, quản lý và mức độ an toàncủa hệ thống giao thông công cộng Một ITS điền hình đóng vai trò như một bộ phântích lưu lượng giao thông, ước tính số lượng xe trên đường trong một khoảng thờigian cụ thé Những thông tin về lưu lượng giao thông thu được rất hữu ích trong việc

dự đoán tình trạng giao thông hiện tại (ví dụ: mật độ giao thông, mức độ tắc nghẽn)

hoặc thông bao về các sự kiện bất thường (ví dụ: tắc đường, chiếm làn đường) Từ đó

có thé ứng dụng trong việc điều chỉnh thời gian của đèn tín hiệu giao thông, được tinh

toán một cách thích ứng với thông tin lưu lượng giao thông hiện tại từ các giao lộ,

qua đó giúp giảm tắc nghẽn Do đó, đếm số lượng phương tiện giao thông là một

thành phần không thê thiếu của ITS để cải thiện hiệu quả giao thông

Thực tế hiện nay việc sử dung rộng rãi Internet of Things (IoT) nhằm kết nối

mọi đối tượng vật lý với Internet, xây dựng một môi trường kết nối từ mạng cảm biến

không dây đã và đang đối mặt với nhiều thách thức lớn và vẫn còn xa rời thực tế [1].Các cảm biến đặc biệt (vi dụ: cuộn day từ tính, phát hiện siêu âm) thường được triển

khai dọc theo bên đường đề quan sát tình trạng giao thông Tuy nhiên, việc triển khaicác cảm biến này đòi hỏi chi phí đắt đỏ và sự thay đôi trong cơ sở hạ tang giao thông

Dữ liệu từ cảm biến rất có thé bị hạn chế cả về số lượng và chất lượng do các vấn đề

về đường truyền (ví dụ, bị ngắt kết nối, bị can thiệp bởi các yếu tố môi trường) [2].

Do đó, việc đếm lưu lượng giao thông từ các camera giám sát chi phí thấp đã nồi lênnhư một ứng cử viên cho việc tự động hóa điều khiển ludng giao thông trong ITS nhờ

Trang 22

tận dụng sự phát triển vượt bậc của công nghệ trí tuệ nhân tạo - artificial intelligence(AI) trong lĩnh vực thị giác máy tính So với phương pháp dựa trên các cảm biến, hệthống đếm lưu lượng dựa trên video - video-based traffic counting system (VTCS)không chi đơn giản hóa quy trình triển khai và bảo trì mà còn tích hợp liền mạch với

AI đề phát hiện, theo dõi, xác định từng phương tiện và hành vi của nó Ví dụ, ứngdụng nhận dạng theo dõi phương tiện sử dụng AI để xác định thông tin của chủphương tiện thông qua nhận dạng biển số xe Do đó, một VTCS sử dụng AI sẽ vô

cùng hữu ích trong bộ phân tích lưu lượng giao thông của ITS.

Mặc dù việc tích hợp AI vào ITS theo mô hình tính toán tập trung trên đám mây

đã thu hút được nhiều sự chú ý từ các nhà nghiên cứu trong nhiều năm qua, nhưng nóvẫn gặp phải vô số thách thức để đáp ứng các yêu cầu của một hệ thống giao thôngthông minh: (1) Truyền dữ liệu đã thu thập từ các thiết bị đầu cuối sang đám mây sẽ

mat rất nhiều thời gian , trong khi các ứng dụng quan trọng yêu cầu độ trễ thấp dé

phản ứng tức thì với các hành vi bất thường; (2) Truyền dữ liệu qua mạng và lưu trữnhững dữ liệu này trên các máy chủ ở xa có thê gây ra nhiều vẫn đề liên quan đến bảomật và bảo vệ quyền riêng tư, đặc biệt là dữ liệu nhạy cảm về hành vi của người dùng.Một giải pháp khả thi cho những van dé này là điện toán biên, được coi là sự bổ sung

của điện toán đám mây [3] Xử lý dt liệu thì luôn được ưu tiên thực thi trên các thiết

bị biên hơn là máy chủ đám mây Việc di chuyền các tác vụ tính toán đến gần hơnvới nguồn đữ liệu có thé làm giảm đáng kể độ trễ truyền và rủi ro bao mật

Trong nghiên cứu ở luận văn lần này, chúng em giới thiệu một framework đếmlưu lượng giao thông dựa trên AI chạy trên các thiết bị biên Framework này nhằmmục đích thu thập hiệu quả thông tin về luồng giao thông thông qua ba bước: phát

hiện, theo dõi và đếm phương tiện và xác định hướng di chuyền của chúng

Trang 23

13 Mục tiêu của đề tài

¢ Tim hiểu về trí tuệ nhân tạo (AI) và ứng dụng AI trên các thiết bị biên

e Tim hiểu về các thiết bị biên phổ biến cho việc tăng tốc độ tính toán đối với ứng

dụng AI.

e Tìm hiểu các model deep learning phát hiện đối tượng, thuật toán theo vết, đếm

và xác định hướng di chuyên của các phương tiện khi rời khỏi vùng quan sát

« _ Thử nghiệm và xây dựng hệ thống giám sát lưu lượng giao thông tại các thiết bi

biên.

1.4 Đối tượng và phạm vi nghiên cứu

1.4.1 Đối tượng nghiên cứu

Khóa luận này hướng đến:

e _ Xây dựng một hệ thống giám sát lưu lượng giao thông trên thiết bị biên vớichi phi thap nhung van dat duoc d6 hiéu qua cao

1.4.2 Pham vi nghiên cứu

e _ Nghiên cứu các phương pháp phát hiện, theo vét, đếm phương tiện giao thôngtrên các thiết bị biên

Trang 24

Chương2 CƠ SỞ LÝ THUYET

2.1 Tổng quan về Single Board Computer:

Sự kết hợp giữa việc phát triển vượt bậc của các vi mạch phần cứng và việc tối

ưu hóa phần mềm trong những năm gần đây đã tạo ra nhiều máy tính đơn bo mạch

-Single Board Computer (SBC) khác nhau như Coral Dev Board, Jetson Nano / TX2

/ Xavier, Odroid, Raspberry Pi Với sức mạnh tính toán mạnh mẽ, việc tích hop tri

tuệ nhân tạo AI vào các thiết bị này dần trở nên pho bién, chúng hoạt động như một

bộ xử lý trung tâm ứng dụng trong ô tô tự lái, giám sát giao thông, IoT và công nghiệp

hiện đại Thử nghiệm của nhóm được tiễn hành trên hai máy tính đơn bo mạch là

Google Coral Dev Board va Nvidia Jetson Nano đóng vai trò như là một thiết bị biên

có chứa bộ xử lý tăng tốc độ tính toán cho các ứng dụng AI tương ứng là TPU (Tensor

Processing Unit) và GPU (Graphics Processing Unit).

2.1.1 Google Coral Dev Board

Coral Dev Board [4] là một máy tinh đơn bo mach có hệ thống trên mô-đun cóthé tháo rời - System-On-Module (SOM) có chứa thẻ nhúng đa phương tiện Multi-Media Card (EMMC), hệ thống trên chip - System-On-Chip (SOC), radio không

dây, Google ‘s Edge TPU có khả năng thực hiện 4 nghìn tỷ tính toán mỗi giây Nó

là sản phẩm tuyệt vời cho các thiết bị IoT và các hệ thống nhúng khác đòi hỏi tốc

độ suy luận của các mô hình Máy học - Machine Learning (ML) trên thiết bị Hơnnữa, hệ thong SOM 40mm x 48mm phù hợp với phần cứng có bảng mạch in tùy

chỉnh và sử dụng đầu nối bo mạch để tích hợp vào sản phẩm Hiện tại, phiên bản

SOM 1GB và 4GB LPDDR4 đã có sẵn trên thị trường SOM dựa trên hệ thốngNXP’s iMX8M SOC, nhưng sức mạnh thực sự của nó đến từ bộ vi xử lý Edge TPU

- một mạch tích hợp nhỏ dành riêng cho ứng dụng AI (ASIC) do Google thiết kế dé

xử lý các tác vụ ML với hiệu quả cao và chi phí điện năng thấp

Trang 25

Hình 2.1 Google Coral Dev Board

2.1.2 Nvidia Jetson Nano

NVIDIA® Jetson NanoTM Developer Kit [5] là một bo mach máy tính nhúng

Al do hãng NVIDIA sản xuất dé thực thi các tác vụ AI, cụ thé hơn là những tác vụnhư phân loại hình ảnh, phát hiện đối tượng và xử lý giọng nói Jetson Nano là mộttrong những sản phẩm ho Jetson của hãng NVIDIA và được công bố tai NVIDIAGTC (GPU Technology Conference) 2019, bên cạnh đó là các sản phẩm khác như

bộ dev kit Jetson Xavier NX, Jetson AGX Xavier với hiệu năng tốt hơn đồng thời

giá tiền sản phâm cũng cao hon so với Jetson Nano.

Trên Jetson Nano, hãng NVIDIA cũng cho ra mắt hệ điều hành NVIDIA JetPackcho các sản phẩm ho Jetson của hãng Hệ điều hành này cũng hỗ trợ cài đặt và chạy

các mô hình AI thuộc các ML frameworks lớn hiện nay như Tensorflow, PyTorch,

Darknet, Caffe/Caffe2, Keras, và MXNet.

Trang 26

Đặc điểm chỉ tiết kỹ thuật của hai máy tính nhúng này được trình bày trong Bang 2.1.

AI Performance 472 GFLOPS 4 TOPS

Al Accelerator NVIDIA Maxwell GPU Google Edge TPU

CPU Quad-Core ARM Cortex-A57 NXP i.MX 8M SoC (Quad

MPCore Cortex-A53, Cortex-M4F)

= 128 Core Maxwell GPU | GC7000 GPU

Computer Number FP16 / FP32 INT8

Format

32 GB MicroSD 8 GB eMMC, MicroSD slot

Ethernet 10/100/1000 BASE-T Ethernet | 10/100/1000 Mbps Ethernet,

IEEE 802.3

Wi-Fi No 2.4GHz and 5GHz

802.1 1b/g/n/ac

Display HDMI 2.0, eDP 1.4, 2x DSI HDMI 2.0, MIPI-DSI

MIPI-CSI2, D-PHY 1.1 MIPI-CSI2

Video Processing Unit 720p30-4Kp60 [H.265 & H.264] | 4Kp60 HEVC/H.265 4Kp60

VP9, 4Kp30 AVC/H.264

1080p60 H.263

Bảng 2.1 So sánh thông số kỹ thuật giữa Jetson Nano va Coral Dev Board

Trang 27

2.2 Ứng dung AI trên các Single Board Computer.

2.2.1 Tổng quan về “Deep learning”

Hoc sâu - Deep learning (DL) là một kỹ thuật quan trọng trong AI, là cách tiếp

cận được sử dụng phổ biến nhất trong việc phát hiện đối tượng trong lĩnh vực thị

giác máy tính Kỹ thuật này là một loại máy học đặc biệt được lấy cảm hứng từ chức

năng của các tế bào não của chúng ta được gọi là mạng thần kinh nhân tạo Các kếtnối dé liệu giữa tất cả các nơron nhân tạo được hình thành và tự điều chỉnh chúng đểphù hợp với mẫu đữ liệu, nếu kích thước của mẫu đữ liệu lớn thì cần có nhiều nơ-

ron hơn Với khả năng tự động học ở nhiều cấp độ trừu tượng cho phép các noron

học ánh xạ các hàm phức tạp mà không phụ thuộc vào bat ky thuật toán cu thé nao.

Nhiều lớp hidden layers phi tuyến tinh được sử dung dé trích xuất, chuyên đổi, phân

tích và phân loại các đặc trưng một cách có giám sát hoặc không có giám sát, trong

đó mỗi lớp kế tiếp lấy đầu ra từ lớp trước đó làm dữ liệu đầu vào Các đặc trưngtrong dir liệu được tự động trích xuất thay vì thêm vào thủ công như trong các thuật

toán học máy truyền thống Hạn chế chính liên quan đến việc thực thi các thuật toán

DL đòi hỏi khả năng tính toán lớn va dữ liệu dao tạo phải đủ lớn [6].

(Input Layer) (Output Layer)

Hinh 2.3 Mang no-ron nhan tao

Trang 28

Các nơron được chia vào 3 loại layer khác nhau:

e Input layer có nhiệm vụ nhận các dữ liệu đầu vào và sau đó đưa các đầu vàonày vào hidden layer thứ nhất

e _ Các hidden layer sẽ thực hiện các phép tính toán cho các dit liệu đầu vào.Việc quyết định số lượng các hidden layer này, cũng như số các noron cho mỗilayer là khó khăn lớn nhất trong việc xây dựng mạng noron

e Output layer sẽ trả về dữ liệu đầu ra

Mỗi một kết nối giữa nơron được liên kết với một cặp trọng số là weight và bias

Những trọng số này sẽ tự động điều chỉnh trong quá trình training Trọng số ban đầu

khởi tạo được chọn ngẫu nhiên Mỗi một nơron sẽ có một Hàm kích hoạt (Activation

Function) là các thuật toán như: softmax, gaussian dùng dé chuẩn hóa output từmỗi nơ-ron Khi một tập dữ liệu input được truyền qua tất cả các hidden layers củamạng noron, nó sẽ trả về dữ liệu đầu ra thông qua output layer

2.2.2 Mạng no-ron tích chập — Convolutional Neural Networks (CNN) và ứng

dụng trong xử ly ảnh.

Một trong những phương pháp phô biến đề thực hiện nhận dạng hình ảnh, phân

loại hình ảnh trong mạng nơ-ron đó chính là mạng nơ-ron tích chập (ConvNets hay

CNNs, Convolutional Neural Network) Kiến trúc mạng này ra đời do các phương

pháp xử lý dữ liệu ảnh thường sử dụng giá tri của từng pixel Ví dụ với một ảnh có

giá trị kích thước 320x320 sử dụng kênh RGB ta có tong cộng ta có 320 * 320 * 3

bằng 307,200 nơ-ron ở lớp đầu vào và có một số lượng lớn weight và bias tươngứng dẫn đến mạng nơ-ron trở nên dày đặc đòi hỏi khối lượng tính toán cực kỳ lớn.Dau vậy thông tin của các pixel thường chỉ chịu tác động bởi các pixel ngay gần nó

do đó việc bỏ qua một số nơ-ron ở lớp đầu vào trong mỗi lần training sẽ không làmgiảm độ chính xác của mô hình Vì thế nên cửa số tích chập được sinh ra nhằm giảiquyết vấn đề số lượng tham số lớn mà vẫn đảm bảo trích xuất được đặc trưng của

ảnh.

Về tổng quan, trong mạng nơ-ron tích chập, mô hình sẽ chuyền đổi ảnh đầu vàoqua một loạt các lớp tích chập với các bộ lọc với kích cỡ khác nhau, sau đó đến lớp

Trang 29

Pooling, rồi tiếp theo là các lớp được kết nối đầy đủ (FC — fully connected layers)

và cudi cùng hàm kích hoạt Softmax được áp dụng vào dé phan loại một đối tượng

dựa trên giá tri xác suất của các giá trị trong khoản từ 0 đến 1 Hình 2.4 mô tả mộtluồng CNN dé xử lý hình anh đầu vào và phân loại các đối tượng dựa trên giá trị

FEATURE LEARNING CLASSIFICATION

Hình 2.4 Luéng CNN dé xử lý hình ảnh đầu vào và phân loại dựa trên giá tri [7]

e Lớp tích chập - Convolution Layer: Convolution (lớp tích chập) là lớp đầutiên dùng để trích xuất các đặc tính từ hình ảnh Một tập hợp các bộ lọc (kernels)

thường có kích cỡ hai chiều khoảng 3x3 hoặc 5x5, và có độ sâu băng với độ sâu

của đầu vào đầu vào được áp dụng bằng cách trượt dần bộ lọc theo chiều ngang vàdọc trên ảnh, sau đó hình ảnh sẽ xuất ra thành một Feature Map chứa các đặc trưngđược trích xuất ra từ lớp tích chập

Hình 2.5 Minh họa một kernel dang trích xuất đặc trưng từ hình ảnh

10

Trang 30

Với mỗi một bộ lọc kernel khác nhau ta sẽ học được những đặc trưng khác

nhau của ảnh, nên nhiều kernel sẽ được dùng trong mỗi lớp convolutional để họcđược nhiều thuộc tính của ảnh Mỗi một kernel sẽ cho ra output là 1 matrix nên kkernel sẽ cho ra k output matrix, sau đó k output matrix này kết hợp lại thành 1

tensor 3 chiều có chiều sâu k Đầu ra của lớp convolutional sẽ qua hàm hoạt hóa

trước khi trở thành đầu vào của convolutional tiếp theo

e Lớp Pooling: thường được dùng sau mỗi lớp convolutional dé giảm kích

thước dit liệu nhưng vẫn giữ được các thuộc tính quan trọng từ đó giúp giảm việc

tính toán trong model.

Max Pool

——y

Filtar - (2 x 2]

Stride - (2, 2)

Hình 2.6 Minh họa hoạt động Max Pooling cho dữ liệu 2 chiều [8]

e Sau khi ảnh được truyền qua nhiều lớp convolutional và lớp pooling thì model

đã học được tương đối các đặc điểm của ảnh thì tensor đầu ra của layer cuối cùng

sẽ được là “flatten” thành một vector và đưa vào một lớp kết nối như một mạng ron Sau đó các đặc trưng được kết hợp lại với nhau tại lớp FC (Fully Connectedlayer) và sử dụng hàm softmax hoặc sigmoid dé phân loại đầu ra

nơ-2.2.3 Tổng quan về “Transfer learning”

Trong hệ thống được đề xuất, thay vì xây dựng mô hình phát hiện đối tượng

va training nó từ đầu, chúng em thực hiện training lại một mô hình hiện có bằng

cách sử dụng một kỹ thuật gọi là học chuyền giao - transfer learning Việc trainingmột mô hình từ dau (weights và bias được khởi tạo ngẫu nhiên) có thé mat thờigian tính toán đến hàng ngày và yêu cầu một lượng lớn đữ liệu huấn luyện.Học

11

Trang 31

chuyền giao cho phép bắt đầu với một mô hình đã được đào tạo với một tác nhiệm

vụ liên quan Sau đó, mô hình sau đó được training thêm sử dụng một tập dữ liệu

có liên quan dùng cho tác vụ phân loại mới.

Fine tuning là một dang transfer learning rất phô biến, đó là kỹ thuật lay mộtphần hoặc toàn bộ các layer của một pre-trained model, có thé thêm/sửa/xoá mộtvài layer/nhánh để tạo ra một model mới Các layer đầu của model thường sẽ đượcfreeze (đóng băng) — có nghĩa là weight các layer này sẽ không bị thay đổi giá tritrong quá trình training Cac layer đầu này đã có khả năng trích xuất thông tin mứctriu tượng thấp được học từ quá trình training trước đó do đó việc ta freeze lại détận dụng được khả năng này giúp việc training diễn ra nhanh hon (model chi phải

cập nhật weight ở các layer cao).

TRAINING FROM SCRAICH

Hình 2.7 Kỹ thuật fine tuning trong transfer learning [9]

2.2.4 Các model deep learning tương thích với Coral Dev Board

Coral Dev Board hỗ trợ bộ đồng xử ly Edge TPU thực thi các tính toán một

cách nhanh chóng trong các mạng nơ-ron học sâu như mạng nơ-ron tích chập (CNN) Nó chỉ hoạt động với các model TensorFlow Lite được lượng tử hóa -

quantization hoàn toàn sang interger 8-bit và sau đó được chuyền đổi sang định

12

Trang 32

dạng phù hợp với Edge TPU Hình 2.8 mô tả quy trình để tạo ra một model tương

thích với Edge TPU Các quy trình chuyển đổi được xử lý bởi bộ công cụ

Edge TPU model

Hình 2.8 Quy trình làm việc co bản dé tạo ra một model tương thích với Edge TPU

[10]

Quantization : Các model deep learning ngày cảng đạt độ chính xác cao

hơn qua thời gian Không khó dé tìm thấy những model đạt độ chính xác of-the-art (SOTA) trên bộ dữ liệu ImageNet Nhung hau hết những model có độchính xác cao lại không có khả năng triển khai trên các thiết bị oT và mobile dohạn chế về phần cứng Quantization là một kỹ thuật giúp bạn giảm nhẹ kíchthước các model deep learning nhiều lần, đồng thời giảm độ trễ (latency) và tăngtốc độ inference Sau khi training lai, model được lượng tử hóa hoàn toàn thành

state-integer 8-bit từ float 32-bit (bao gồm ca weights lẫn activation) Quantization làm

cho model nhỏ hon và nhanh hơn mà không bi ảnh hưởng đáng ké đến độ chínhxác suy luận của mạng nơ-ron Đề tương thích với Edge TPU, phải sử dụng

quantization- aware training (được khuyến nghị) hoặc Full integer

post-training quantization

13

Trang 33

° Quantization — aware Training (cho TensorFlow 1): nó thêm vào các

node được lượng tử hóa "giả định" trong biểu đồ mạng no-ron dé mô phỏng anhhưởng của các giá trị 8-bit trong quá trình huấn luyện Cách này làm cho model

có độ chính xác cao hơn (so với Full integer post-training quantization) vì

các tham số (weights va activation) 8-bit được học thông qua quá trình trainingchứ không phải được chuyên đổi sau đó Chúng em sử dụng phương pháp này

để chuyển đổi các model SSD MobileNet VI 300x300, SSD MobileDet

320x320.

output

Hình 2.9 Node ‘wt quant’ va ‘act quant’ được thêm vào model dé thực hiện cho việc

chuyên đổi hoàn toàn sang integer 8-bit [11]

e Full integer post-training quantization: phương pháp này chuyên đổi

một model float 32-bit đã hoàn thành training trước đó thành một model được

lượng tử hóa hoàn toàn sang int 8-bit Tuy nhiên, quá trình chuyền đổi này yêu

cầu một tập dữ liệu đại diện (tương đồng tập dữ liệu dùng cho training) Chúng

em sử dụng cách tiếp cận nay dé chuyển đổi các models SSD MobileNet V2

320x320, SSD MobileNet V2 FPNLite 320x320, SSD MobileNet V2 FPNLite

14

Trang 34

640x640, SSD MobileNet V1 FPN 640x640.

2.2.5 Cac model deep learning tương thích với Nvidia Jetson Nano.

Tối ưu hóa với TensorRT: NVIDIA TensorRT là một môi trường được viếtbằng các thư viện C++ hỗ trợ chạy suy luận các model deep learning cho các tác

vụ như phân loại ảnh, phát hiện vật thể bằng cách tối ưu hóa các model cho ra kết

quả có hiệu năng cao và độ trễ thấp trên GPU NVIDIA [12]

Hinh 2.10 Téng quan vé tensorRT

TensorRT cung cấp cach tối ưu hóa model sang int 8-bit va float 16-bit dé triển

khai các ứng dụng suy luận học sâu trong xử ly anh, nhận dạng giọng nói, hệ thống

đề xuất và xử lý ngôn ngữ tự nhiên Với TensorRT, các nhà phát triển có thê tập

trung vào việc tạo ra các ứng dụng mới dựa trên AI thay vì việc giảm kích thước

model dé triển khai trên các thiết bị nhúng

Các điểm nỗi bật hiện tại của TensorRT:

e _ Các layers và toán tử mới

° Hồ trợ suy luận một cách chính xác

15

Trang 35

° Hỗ trợ lượng tử hóa các model

e Hỗ trợ tiêu chuẩn INT§

e _ Bộ công cụ mới như ONNX Parses hay C++/Python API.

Hệ thống tensorRT được chia thành 2 phần:

Chuyén đổi: là các đuôi file khác nhau mà người dùng hoặc các nhà phattriển dùng dé chuyên đổi mô hình của họ sang tensorRT engine nhằm tối ưu hóa

Có 3 tùy chọn chính để chuyên đổi mô hình với tensorRT:

e Sử dụng đuôi TF-TRT: dé chuyền đổi các mô hình TensorFlow

° Sử dụng đuôi ONNX: onnx có thé chuyên đôi hầu hết các mô hình như

TensorFlow, Pytorch, Keras Tuy nhiên, đổi với các mô hình TensorFlownói riêng thì hiệu năng onnx mang lại vẫn còn thấp hơn khi sử dụng với TF-

TRT.

e Xây dựng mô hình theo cách thủ công bằng API TensorRT(C++/Python): dé có hiệu suất và khả năng tùy chỉnh cao nhất có thé, ta có

thé tạo công cụ TensorRT engine theo cách thủ công bang cách sử dụng các

API định nghĩa mạng trong TensorRT Sau khi một mạng TensorRT được

tạo, ta sẽ xuất ra các trọng số (weights) của model từ framework AI đang sử

dụng và tải chúng vào mạng TensorRT mới mà ta đã tạo.

Trang 36

Triển khai: bao gồm các bộ công cụ khác nhau mà ở đó người dùng có thểtriển khai model của ho dé đạt được sự tối ưu hóa nhất Có 3 tùy chọn chính dé

triển khai một model với tensorRT:

e _ Triển khai đối với TensorFlow: khi sử dụng TF-TRT, tùy chọn phô biếnnhất đề triển khai là chi cần triển khai trong TensorFlow Chuyên đổi TF-

TRT dẫn đến một biểu đồ (graph) TensorFlow với các hoạt động TensorRT

được chèn vào nó Điều này có nghĩa là bạn có thé chạy các model TF-TRTgiống như bất kỳ model TensorFlow nào khác bằng Python

e Sử dung TensorRT runtime API: tương thích với các model được xuất

ra từ onnx.

e NVIDIA Triton Inference Server: là một phần mềm phục vụ chạy suyluận mã nguồn mở cho phép các nhóm trién khai các model AI được training

từ bất ky framework nào (TensorFlow, TensorRT, PyTorch, ONNX Runtime

hoặc các framework khác), từ bat kỳ máy tinh cục bộ hoặc Google Cloud

Platform hoặc AWS S3, có thê trên GPU hoặc CPU

Quy trình tối ưu hóa: Sơ đồ dưới đây là quy trình cơ bản hướng dẫn ta lựa

chọn đường đi đúng đắn cho cả chuyên đổi và triển khai Ở đây, ta có thé tóm tắt

thành 3 bước cơ bản như sau:

° Bước 1: Xác định model đang có thuộc loại nào (TensorFlow, Pytorch

hay đã là ONNX)

e Bước 2: Nếu các model chưa được chuyên đổi thành các file có đuôi

theo yêu cầu (TF-TRT, ONNX) thì chuyển chúng sang đuôi hỗ trợ tương

ứng.

° Bước 3: Tùy thuộc vào file và mục tiêu của người sử dụng, ta có thê

chọn các bộ công cụ triên khai cho mô hình.

17

Trang 38

Một số khái niệm trong TensorFlow

e Tensor: tất cả các kiểu dữ liệu khi đưa vào trong tensorflow thì đều được gọi là

Tensor có 3 thuộc tính cơ ban là rank, shape va type.

e Rank: Số bậc của tensor

Scalar: Khi Tensor có rank bằng 0

Vector: Vector là một Tensor rank 1.

Matrix: Đây là một Tensor rank 2 hay mảng hai chiều theo khái niệm của Python

N-Tensor: Khi rank của Tensor tăng lên lớn hơn 2, gọi chung là N-Tensor.

e Shape: chiều tensor

e Type: kiểu dé liệu của các thành phan

Cách sử dụng TensorFlow: Vì không phải là thư viện có sẵn trong python nên cần

phải import tensorflow as tf

Tao chuong trinh TensorFlow chia thanh 2 phan:

e Construction phase: Xây dựng mô hình tính toán

e Execute phase: Chay mô hình tính toán

Epoch va Loss trong TensorFlow:

e Epoch: Một vòng lặp qua tập dữ liệu training.

e Loss: thé hiện sự chênh lệch giữa hai đại lượng: nhãn thật của dữ liệu và nhãn

của dir liệu do model dự đoán ra.

19

Trang 39

2.3.1 TensorFlow Lite

TensorFlow Lite [13] là một framework deep learning mã nguồn mở dé chạy

các mô hình TensorFlow trên thiết bi di động, thiết bị nhúng va IOT.

Các tính năng chính của TensorFlow Lite có thé kế đến như:

e_ Được tối ưu hóa cho các mô hình ML trên thiết bi bằng cách giải quyết 5 hạn

chế chính: độ trễ (không tốn thời gian truyền nhận tới máy chủ), quyền riêng

tư (không bị rò ri đữ liệu cá nhân), kết nối (không cần kết nối internet), kích

cỡ model (giảm độ lớn model và kích cỡ của tệp nhị phân) vả tiêu thụ điện

năng (do giảm thời gian suy luận và không cần kết nối mạng)

e Hỗ trợ đa nền tảng, bao gồm các thiết bị Android và iOS, hệ thống nhúng

Linux và vi điều khiến

e Hỗ trợ đa dạng ngôn ngữ, bao gồm Java, Swift, Objective-C, C ++ và Python

e Hiệu suất cao, có hỗ trợ thêm các bộ tăng tốc phần cứng và công cụ tối ưu hóa

model.

e Có những dự án mẫu thực tế, cho các tác vụ ML phô biến như phân loại hình

ảnh, phát hiện đôi tượng, phân loại văn bản, v.v trên nhiêu nên tảng.

Ngoài ra TensorFlow Lite còn cung cấp bộ chuyền đổi mô hình TensorFlow thành

mô hình TensorFlow Lite (định dạng FlatBuffer được tối ưu hóa với phần mở rộngtệp là tflite) bằng cách sử dụng Python API Trong Hình 2.13 ta thấy được có thé

tạo tệp TensorFlow Lite từ Keras Model, Saved Model hoặc Concrete Functions.

20

Trang 40

High Level APIs

TFLite

Converter

L] File format [4 Data Type L] Infrastructure

Hình 2.13 Các phương pháp dé chuyên đổi từ TensorFlow sang Tensorflow Lite[14]

2.4 OpenCV

OpenCV [15] được biết đến là một thư viện mã nguồn mở hàng đầu cho thị giác

máy tinh (computer vision), xử lý ảnh và máy học, và các tính năng tăng tốc GPU

trong hoạt động thời gian thực.

OpenCV được phát hành theo giấy phép BSD và hoàn toàn miễn phí cho cả học

thuật và thương mại Nó hỗ trợ cả interface C++, C, Python, Java cũng như các hệ

điều hành như Windows, Linux, Mac OS, iOS và Android OpenCV được viết bằngtối ưu hóa C/C++, thư viện có thé tan dụng lợi thế của xử lý đa lõi do đó cho hiệu quả

cao với các ứng dụng thời gian thực Được sử dụng trên khắp thế giới, OpenCV cócộng đồng hơn 47 nghìn người dùng và số lượng download vượt quá 6 triệu lần

21

Ngày đăng: 23/10/2024, 01:49

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

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

TÀI LIỆU LIÊN QUAN