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: Xây dựng chương trình phân vùng ảnh đường giao thông Việt Nam

64 1 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

Nội dung

Kỹ thuật này cung cấp cho chúng ta hiéu biết chi tiết hơn về đối tượng trongmột ảnh, nó thực hiện phân vùng với từng lớp đối tượng khác nhau trong một bức ảnh.. 4/2019 tại Việt Nam, FPT

Trang 1

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

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

KHOA KỸ THUẬT MÁY TÍNH

PHAM ĐÌNH ANH VU

MAI TRỌNG NGHĨA

KHÓA LUẬN TÓT NGHIỆP

Implement A Program to Segment Vietnam Traffic Images

KỸ SU KY THUAT MAY TÍNH

TP HO CHi MINH, 2021

Trang 2

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

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

KHOA KỸ THUẬT MÁY TÍNH

PHAM ĐÌNH ANH VŨ - 16521457

MAI TRỌNG NGHĨA - 16521749

KHÓA LUẬN TÓT NGHIỆP

XÂY DỰNG CHƯƠNG TRINH PHAN VUNG ANH

DUONG GIAO THONG VIET NAM

Implement A Program to Segment Vietnam Traffic Images

KY SU KY THUAT MAY TINH

GIANG VIEN HUONG DAN

ThS PHAM MINH QUAN

ThS NGUYEN DUY XUAN BACH

TP HO CHi MINH, 2021

Trang 3

THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP

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

70/QD-DHCNTT ngày 27 tháng 01 năm 2021 của Hiệu trưởng Trường Đại học Công nghệ

Thông tin.

Trang 4

LỜI CẢM ƠN

Đề hoàn thành khóa luận tốt nghiệp này, nhóm em xin chân thành cảm ơn cácthầy cô giáo trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố HồChí Minh nói chung và các thầy cô giáo Khoa Kỹ Thuật Máy Tính nói riêng đã cho

chúng em kiên thức và kinh nghiệm quý báu trong bôn năm rưỡi vừa qua.

Nhóm xin gửi lời cảm ơn chân thành nhất đến thầy Phạm Minh Quân và thầyNguyễn Duy Xuân Bách, hai thầy đã dành thời gian và kinh nghiệm quý báu củamình, tận tình hướng dẫn chúng em hoàn thành khóa luận tốt nghiệp

Bên cạnh đó, nhóm cũng xin chân thành cảm ơn sự giúp đỡ của bạn bè đã giúp

chúng em tìm kiếm và thu thập thông tin trong quá trình thực hiện luận văn Chắcchắn sẽ có những sai sót và thiếu thốn trong quá trình thực hiện luận văn, kính mongquý thầy cô và các bạn bỏ qua

Một lần nữa xin cảm ơn mọi người đã dành thời gian và tâm sức dé hỗ trợ chúng

em hoàn thành khóa luận tốt nghiệp

Phạm Đình Anh Vũ Mai Trọng Nghĩa

Khoa Kỹ Thuật Máy Tính

Trang 5

MỤC LỤC

Chương 1 TONG QUAN -22©5222< 2E 2E22EEEEEEEEE21121122171 21.211 1x rxe 3

1.1 _ Tình hình nghiện cứu trên thế giới -¿- 2 + x+2s++z+zx+rxe+ 3

1.2 Tinh hình nghiên cứu trong NƯỚC - - 5 + * + sseexeeeeseeeres 4

1.3 Những van dé còn tồn tại -©2¿+5<+S+ccEeEE2EEEEEerErrkrrrrerkerkee 4

1.4 Mục tiêu khóa luận - 1131111223111 1 111951111111 xy 6

1.5 Giới hạn đề tài cc the 6

Chương 2 CƠ SỞ LÝ THUYYÊTT 2-2 52+S£+EE+EE£EEE2EE+EE+EEEEzEerrxerxee 8

PÊ NNo ca ai oi a 8

2.2 Semantic S€ðIm€nfafIOI - -. 3c 3x13 EEESesersesereseeersere 10

2.3 Tổng quan về Deep Learning -¿ 2 s+s+zx+E+Ezrxerxerreee 11

2.5 Lite Reduced Atrous Spatial Pyramid Pooling (LR-ASPP) 17

2.6 Tổng quan về CNN và các khái niệm liên quan -. - 18

2.6.1 CNN - Convolutional Neural Network . + << c<x 18 2.6.2 Padding - Ăn HT TH HH ng Hiện 18

Trang 6

2.6.3 Hàm ReLU Ăn TH TH TH HH HH già 18 2.6.4 9d 0 r ( 18 2.7 Mask RCNN và các khái niệm liên quan 5s «+5s<+<s<2 19

"XI No) 19

2.7.2 Region of Interset (ROI) ceeceeeseeeseesneeeseeeeseeeseeeeaeceseeeeeneesaes 20

2.7.3 Kiến trúc Mask RCNN sec 21

Chương 3 PHAN TÍCH THIET KE HE THÓNG - -2-5- 28

3.1 MÔI trường Ă- Ăn TH HH TH HH kg 28 3.2 Input và output của mô hình -s++«x+sx*sEeeEeeeeeeesersessee 28

3.3 TensorRÏT Ăn HH HH HH 29

3.4 Phương pháp đánh giá - c2 1 323 Stissrrrresrssrrree 31

3.5 Quy trình xây dựng bộ dữ liệu riêng - «5< <<<<s<+sr+ 32

3.5.1 Dữ liệu về đường và lỀ 2-2 ++E++EE+EE+EEtEEzEsrxerxerree 32

3.5.2 Dữ liệu về người Và Xe ¿- ¿+ StcSt E2 2 EEEEEerkerkerrres 34

3.5.3 Tiền xử lý dữ liệu 2¿-©+¿2cxt2ExEEEESEkrEEkrrkerkrerrerrre 35

3.5.4 Huấn luyện mô hình trên kiến trúc mạng VGGI6 - 363.5.5 Kiểm thử và đánh giá 2: +¿+c+c2xteEkSEkrrrrerkrerkrrrres 37

3.5.6 Chi tiết quy trình thiết kế dữ liệu -¿©2+cz+cx+zxezse2 37

Chương 4 KET QUÁ THỰC NGHIỆM - 2-2 2 2+E+£xe£Eerserszes 39

Trang 7

4.1 Kết quả mô hình sau khi training -. :-¿ s+2c++cx+zs+ec+s 39

AL BO dit na 39

41.2 Quá trình tra1n - -.c + 1111211111 1111111118111 881111811, 39

na (ch 39

4.2 So sánh bộ dữ liệu nhóm với bộ dữ liệu CityScapes Al

ADL CityS capes 41 4.2.2 So sánh với bộ dữ liệu CityScapes - - se 44 4.2.3 Đánh gia bộ dữ liệu của nhóm trên môi trường nước ngoai 45

4.3 Đánh giá mô hìỉnhh c5 + 1k1 ng ng giết 46

Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIÉN - 48

5I Kếtluận KG ,#ếc À À 485.2 Hướng phát triỀn -++-++ck++E++EESEEEEEEEErrrrkerkerreee 48

Trang 8

DANH MỤC HÌNH

Hình 2.1: Phân biệt thuật toán Object Detection và Instance Segmentation [4] 8

Hình 2.2: Phân biệt Semantic Segmentation và Instance Segmentation [23] 9

Hình 2.3: Ví dụ về Semantic Segmentation [8] - +s-c<<<scc<seeeesee 10 Hình 2.4: Kiến trúc MobileNetV3 [ [] - 5c ©5¿25+22++£xvzxczxerxerxerxeces 13 Hình 2.5: So sánh giai đoạn cuối ban đầu và giai đoạn cuối hiệu quả [1] 14

Hình 2.6: So sánh độ trễ hai loại mạng MobileNetV3 với các mạng khác [1] 15 Hình 2.7: Cấu trúc Lite R-ASPP - Segmentation Head [ l] - - 17

Hình 2.8: Ví dụ về Mask RCNN [26] csscsscsscessessesssessessessessessessessesstessesseeseess 19 Hình 2.9: Ví dụ về cách tìm loU [26] 222222111 ereeeeeeeeeeees 21 Hình 2.10: Mô tả cau trúc Mask RCNN [20] -: 2 ¿cs+5c++>s+ecs+ 22 Hình 2.11: Cấu trúc VGG16 [17] ¿2+2 ++E£++£+E++ExtzEzxe+reerxerxeres 23 Hình 2.12: Kiến trúc VGG16 [ 17] -. -¿- ¿22 +2E++E++£++Exerxzxe+rxerxerxeres 25 Hình 2.13: Jetson TX2 [11] - - - - <2 <- + S222 1E 1E **223EEEEEEESSkeeeesszeee 26 Hình 2.14: Cấu hình phần cứng Google Colab cung cấp [27] -.- 26

Hình 3.1: Ung dụng của TensorRT [16] - 2 2 s++z££+££+£++zxezxezss 30 Hình 3.2: Sơ đồ quy trình chuyên từ Keras sang TensorRTT - 31

Hình 3.3: Minh họa IoU [2] - - - ¿+5 2E *EE***22EEEEEe+szeeeeeeeesszeeee 31 Hình 3.4: Kết quả khi test mô hình với dit liệu chỉ có đường - 33

Hình 3.5: Kết quả khi test mô hình với dữ liệu gồm đường va lề 34

Hình 3.6: Hình cắt ngườii - ¿2-22-2222 2EEt2EEE2EE22EE22121171.221211c2E.crk 35 Hình 3.7: Hình cắt xe ¿- 2¿©222+22EE2EE22E1221127112112112111211 21121 crk 35 Hình 3.8: Quy trình tiền xử lý dữ liệu -. - 2-52 2 s+EE+£EzEzExerxerxeres 36 Hình 3.9: Sơ đồ khối quy trình xây dựng bộ dữ liệu giai đoạn một 37

Hình 3.10: Sơ đồ khối quy trình xây dựng bộ dữ liệu giai đoạn hai 38

Hinh 888i d6 LOSS 40

Hinh 4.2: Két qua sau khi detect với bộ dữ liệu hoàn chỉnh - 41 Hình 4.3: Ảnh được chú thích tốt [15] - - ¿5c x+s++E+E++EeExzEerxererxerezxers 42

Trang 9

Hình 4.4: Ảnh được chú thích thô [15] - ¿- s5 +x£E++E£E+EeEererxererxers 42

Hình 4.5: Kết quả sau khi detect với bộ dữ liệu CityScapes . 44

Hình 4.6: Kết quả detect đường nước ngoài khi dùng bộ dữ liệu nhóm 45Hình 4.7: Kết quả mô hình dưới độ sáng thấp -¿- 2 s2 s+zszzss 41

Hình 4.8: Kết quả mô hình khi ảnh ngược sáng 2-2 2s s+cs+zs+sz 47

Trang 10

DANH MỤC BANG

Bang 1.1: So sánh độ chính xác giữa các decoder và encoder [12] 4

Bảng 1.2: Các thông số sau khi train của các mô hình sử dụng MobileNet [3].5Bảng 2.1: Thông số kỹ thuật của MobileNetV3-Small [1] 16

Bảng 4.1: Định nghĩa các lớp của CityScapes [ 1Š] - ‹ -<+<s<+<>+s 43

Bảng 4.2: So sánh hai bộ dữ liỆU 5 2-5 33221132 E*EEeesesereeeerere 44

Bảng 4.3: Độ chính xác bộ dữ liệu của nhóm trên CItyScapes 46

Bảng 4.4: Bảng đánh giá MIoU và FPS các đối tượng -s- 46

Bảng 4.5: Bảng đánh giá loU dựa trên độ sắng - - 5 55 <5<<<s<+ss+ 46

Trang 11

DANH MỤC TỪ VIET TAT

Avg-Pool Average Pooling

BN Bottleneck

CNN Convolution neural network

FC Fully — Connected layer

FPN Feature Pyramid Network

HS H - swish

IoU Intersection over Union

LR-ASPP Lite Reduced Atrous Spatial

RGB Red Green Blue

RPN Region Proposal Network

S Stride

SE Squeeze-And-Excite

SOTA State of the art

Trang 12

TOM TAT KHÓA LUẬN

Deep Learning đã giúp lĩnh vực Computer Vision phát triển nhanh chóng trong

vài năm qua Một trong những khía cạnh của Computer Vision là Semantic

Segmentation Phân vùng ngữ nghĩa anh (Semantic Segmention) là một trong hai loại

của bài toán Image Segmentation Khác với bài toàn Object Detection chỉ xây dựng

một bounding box cho mỗi đối tượng của hình ảnh chứ không cho ta biết về hìnhdạng của vật thể, Semantic Segmentation tạo ra một mặt nạ cho mỗi đối tượng tronghình ảnh Kỹ thuật này cung cấp cho chúng ta hiéu biết chi tiết hơn về đối tượng trongmột ảnh, nó thực hiện phân vùng với từng lớp đối tượng khác nhau trong một bức

ảnh Điều này có thé giúp nhóm giải quyết bài toán của khóa luận Nhóm nghiên cứu

về xử lý anh, Deep Learning dé thực hiện bài toán trên nhằm xây dựng một chươngtrình phân vùng ảnh đường giao thông Việt Nam Cụ thé là sẽ xây dựng chương trìnhDeep Learning trên nền tảng hệ thống nhúng để phân vùng các vật thể (làn đường,phương tiện giao thông, người) hỗ trợ cho xe tự hành Đầu ra của model nhóm thực

hiện sẽ sử dụng cho một nhóm khác xử lý góc lái cho xe tự hành.

Kết quả nhóm đã đạt được gồm 13000 data đường đã label thủ công, ứng dụngcác kiến trúc mạng deep learning xây dựng một model sao cho đầu vào là một bứcanh RBG gốc và dau ra là ảnh RBG có các đối tượng đường, người, xe được gắn

mask riêng.

Trang 13

MỞ ĐẦU

Trong những năm gần đây, nghiên cứu về Computer Vision luôn là đề tài nỗi

bật và thu hút được sự chú ý của nhiều người thuộc lĩnh vực Công Nghệ Thông Tin

Với sự phát triển vượt bậc về trí tuệ nhân tạo (AI), các hệ thống với khả năng tự vậnhành đang dần được phát triển phổ biến Và để hệ thống có thể vận hành thuận lợi,việc xử lý thông tin đầu vào là quan trọng nhất, giống như não con người vậy Vì thếphân vùng nội dung ảnh được khá nhiều nhà nghiên cứu tìm hiểu và đầu tư phát triển

dé ứng dụng vào các lĩnh vực quan trọng trong đời sống: cảm biến địa lý (phân vùng

các loại địa hình bằng hình ảnh từ vệ tinh), chân đoán hình ảnh y tế, và đặc biệt là xe

tự hành.

4/2019 tại Việt Nam, FPT Software đã thử nghiệm thành công xe tự hành trong

khu đô thị sử dụng công nghệ AI, Deep Learning, Behavior cloning nghĩa là xe sẽ

học lái như con người đồng thời có thé nhận định vật cản và đưa ra quyết định lái xe.Bài toán về phân vùng ảnh có thể được giải quyết trên nhiều kiến trúc mạng DeepLearning khác nhau Thường thấy nhất là kiến trúc Mask RCNN với khoảng 80 đốitượng trong bộ dữ liệu MS COCO Ngoài ra, còn có kiến trúc PSPNet phân vùng nộidung ảnh chính xác với nhiều lớp đối tượng trong giao thông Và còn nhiều các kiếntrúc mạng Deep Learning khác trong việc giải quyết bài toán Tuy nhiên, bộ dữ liệu

về các đối tượng giao thông kể trên có sự khác biệt về cấu trúc xây dụng cơ sở hạtầng của Việt Nam, đặc biệt là dạng đường phong phú ở Việt Nam nên các bộ dữ liệu

đã được gán nhãn bên nước ngoài sẽ không dùng được ở Việt Nam.

Vì thế, mục tiêu của nhóm sẽ nghiên cứu về các mô hình đã được xây dựng(phát triển) như MobileNetV3, Resnet, Pix2Pix, ShuffleNet, VGG16, so sánh các

mạng trên dé chọn lọc ứng dụng một kiến trúc mạng phù hợp nhất đề triển khai bài

toán phân vùng mặt đường va các vật thể Xây dựng bộ dữ liệu về đường xá Việt

Nam sau đó cải thiện độ chính xác, thử nghiệm thời gian thực và ứng dụng vào board NVIDIA Jetson TX2 phục vụ như “bộ não” của xe tự hành.

Trang 14

Chương 1 TONG QUAN

1.1 Tinh hình nghiện cứu trên thé giới

Ngày nay, lĩnh vực Computer Vision ngày càng phát triển và được nghiên cứurộng rãi, nhất là thời điểm công nghệ AI đang đi lên chiếm dan xu thé của ngành IT.Các công nghệ hàng đầu như xe tự hành, xử lý ảnh vệ tinh thường phát trién ở nhữngnước công nghệ cao, hiện đại Và dé thiết kế được những hệ thong hiểu sâu về nộidung bức ảnh như trên thì ta cần tới thuật toán Image Segmentation Nhiều kiến trúc

mạng giải quyết cho bài toán này ngày càng được công bố công khai nhiều trên toànthé giới

PSPNet mang lại ky lục mới về độ chính xác mloU 85,4% trên PASCAL VOC

có thê sao chép đầu vào của chúng sang lớp tiếp theo [6]

MobileNet là một trong những kiến trúc được ưa chuộng va sử dụng phổ biếnbởi độ chính xác và hiệu năng tính toán Điểm mau chốt giúp cho các mô hìnhMobileNet giảm thiêu số lượng tính toán đó là áp dụng tích chập tách biệt chiều sâu

Trang 15

Đồng thời qua thời gian, nhóm tác giả MobileNet đã lồng ghép các ưu điểm từ những

kiến trúc CNN khác vào mô hình của minh dé ngày càng cải thiện hơn về độ chính

xác và hiệu năng.

1.2 Tình hình nghiên cứu trong nước

Tuy Image Segmentation được ứng dụng rất nhiều bên nước ngoài, nhưng ở

Việt Nam vẫn còn khá lạc hậu Ngoài FPT đã có ứng dụng Deep Learning lên xe tự

hành trong đô thị thì bài toán này còn khá mơ hồ ở nước ta

Thêm vào đó, dữ liệu để huấn luyện cho mô hình bên Việt Nam rất khan hiếmhoặc hầu như chưa được public nên khả năng nhóm phải làm lại từ đầu một bộ dữ

liệu là rât cao.

1.3 Những van đề còn tôn tai

Tuy khá nhiều kiến trúc mạng đã được công bố có thé áp dụng vào bài toàn détài nhưng lựa chọn một mạng phải dựa trên những tiêu chí cốt yếu Vì mô hình cầnchạy real-time trên board TX2 nên phải đảm bảo kiến trúc mạng khi nhúng lên sẽ cầnphải đạt FPS tối ưu và độ chính xác cao nhất có thể Mô hình dùng hỗ trợ cho xe tựhành nên FPS thấp có thé ảnh hưởng việc trích xuất trễ hoặc thiếu từng frame ảnhcho việc xử lý bên trong, cụ thể ở đây là điều khiển góc lái cho xe tự hành Độ chính

xác thấp sẽ ảnh hưởng việc điều khién góc lái chính xác cho xe Bảng 1.1 sau góp

phần cho nhóm một lựa chọn kiến trúc mạng phù hợp

Bảng 1.1: So sánh độ chính xác giữa các decoder và encoder [12]

Decoder | Encoder | Coarse | mloU | Road | Sidewalk | Building | Sign | Sky | Person | Car | Bicycle | Truck SkipNet | MobileNet | No 613 | 95.9 | 73.6 86.9 57.6 | 91.2 | 66.4 | 89.0 | 63.6 | 45.9

SkipNet | MobileNet | Yes | 62.4 | 95.4 | 73.9 86.6 574 | 91.1) 65.7 | 88.4 | 63.3 | 453

SkipNet | ShuffleNet | Yes ¡593 | 94.6 | 70.5 85.5 349 | 90.8 | 60.2 | 87.5 | 58.8 |454

Trang 16

Bang 1.1 cho thấy sự so sánh các bộ decoder và encoder khác nhau về độ chính

xác trên tập val của bộ dữ liệu CityScapes Coarse cho biết liệu mạng đã được đào

tạo trên thô trước hay chưa So sánh trên là từ một bài báo nghiên cứu “R7 Seg:

Real-Time Semantic Segmentation Comparative Study” [12] Trong bai báo này, tác gia

trình bày cách tiếp cận nguyên tắc đầu tiên dé điểm chuan các mạng phân đoạn thời

gian thực Thiết kế tách rời của khung phân tách các mô-đun dé tốt hơn cho việc so

sánh định lượng Mô-đun đầu tiên bao gồm kiến trúc mạng khai thác tính năng, thứ

hai là siêu kiến trúc cung cấp phương pháp decoder Ba kiến trúc meta khác nhau

được đưa vào khuôn khổ của tác giả, bao gồm kiến trúc Skip, UNet và Dilation

Frontend Các kiến trúc mạng khác nhau dé trích xuất tính năng được bao gồm, đó là

ShuffleNet, MobileNet, VGG16, va ResNet-18 Khung do điểm chuẩn của tác giả

cung cấp cho các nhà nghiên cứu và các nhà thực hành như nhóm em một phương

tiện để đánh giá thiết kế lựa chọn cho nhiệm vụ của nhóm Từ Bảng 1.1, ta có thê

thấy mạng MobileNet đạt độ chính xác cao nhất ở mỗi class đối tượng, là khả thi nhất

trong các lựa chọn với độ chính xác tốt hơn ResNet và ShuffleNet Tuy độ chính xác

có thé không bằng VGG16 nhưng xét về FPS thì 6n hơn khá nhiều Bảng 1.2 sau là

một bài kiểm thử sau khi train và test hai loại mạng của MobileNetV3 đã cho thấy

rằng 72,6% mloU và 3,6 triệu parameters trên tập validation của Cityscapes, thử

nghiệm trên một GPU V100 duy nhất với hình ảnh độ phân giải đầy đủ (1024 x 2048)

làm đầu vào Nó chạy nhanh hơn khoảng bốn lần trên hình ảnh có độ phân giải một

nửa (512 x 1024) [3]

Bảng 1.2: Các thông số sau khi train của các mô hình sử dụng MobileNet [3]

Model Segmentation Head Parameters miloU Inference TensorRT Weights?

MobileV3Large LR-ASPP, F=256 3.6M 72.3% 21.1 FPS 30.7 FPS 4 MobileV3Large LR-ASPP, F=128 3.2M 72.3% 25.7 FPS 37.3 FPS 4 Mobi1eV35ma11 LR-ASPP, F=128 1.1M 67.4% 38.2 FPS 52.4 FPS S4 Mob41eV35ma11 LR-ASPP, F=64 1.0M 66.9% 46.5 FPS 61.9 FPS s4

Trang 17

Từ Bang 1.2, có thé thấy với mô hình MobileNetV3 va Segmentation Head làLR-ASPP, tốc độ FPS là vượt trội so với ShuffeNet và nếu chuyên sang TensorRTthì FPS còn được cải thiện tối ưu hơn nữa Ngoài ra, giữa MobileNetV3Large vàMobileNetV3Small thì tốc độ của Small nhanh hơn nhiều lần tuy độ chính xác có vẻthấp hơn Qua các đánh giá trên, nhóm quyết định dùng kiến trúc mạngMobileNetV3Small và LR-ASPP cho đề tài.

Ngoài ra, vẫn còn vấn đề về tập dữ liệu Dữ liệu vê hệ thông đường tại Việt Nam không có sẵn mà không thê áp dụng bộ dữ liệu có sẵn như CityScapes, nên nhóm cần

tiễn hành tự thu thập dữ liệu và tự label thủ công dé train cho mô hình của nhóm

1.4 Mục tiêu khóa luận

Mục tiêu của đề tài là áp dụng được các kiến trúc mạng thích hợp dé giải quyếtvấn đề, nhóm sẽ xây dựng lại bộ dữ liệu phù hợp cho cơ sở hạ tầng đường xá ViệtNam Đồng thời xây dựng hệ thống phân vùng ảnh theo thời gian thực và nhúng lênboard NVIDIA Jetson TX2 hiện thực hóa “bộ não” cho xe tự hành Cụ thé các vấn décần tập trung giải quyết là:

— Nghiên cứu và chọn lọc một kiến trúc mạng deep learning chạy phân vùng nội

dung anh real time phù hợp trên board NVIDIA Jetson TX2.

— Tw tạo bộ dữ liệu riêng của nhóm với môi trường trong nước Việt Nam để train

cho mô hình.

— Phân vùng được các đối tượng: người, xe vả làn đường tại Việt Nam

— Nhúng thành công lên board NVIDIA Jetson TX2 và kiểm thử, cải thiện

1.5 Giới hạn đề tài

— Kích thước dt liệu: 13000 ảnh (10000 train 3000 test), độ phân giải 512 x 512.

— Mô hình phân vùng được các đối tượng người, xe, đường.

— Mô hình phân vùng đối tượng trên các đoạn đường đã được phủ nhựa

— Hoạt động tốt nhất trong điều kiện thời tiết tốt: sáng, trưa, chiều khi đủ ánh

sáng, không có sương mù.

Trang 18

— Mô hình đạt độ chính xác:

e Trên 80% tại trường đại học công nghệ thông tin TPHCM.

e Trên 75% tại khu đô thị đại học quốc gia TPHCM

e Trên 50% tại các loại đường giao thông khác (không ké đường đất đỏ)

— Sử dụng mạng pretrained và chuyên đổi lại dé thu dit liệu người và xe

— Detect trên camera của board NVIDIA Jetson TX2 với 30 FPS.

Trang 19

Chuong 2 CƠ SỞ LÝ THUYET

2.1 Image Segmentation

Image Segmentaion hay còn gọi là phân khúc hình anh nghĩa là bai toán sé phan

chia hình ảnh thành nhiều vùng ảnh khác nhau, tạo ra một mặt nạ pixel-wise cho mỗiđối tượng trong hình ảnh Kỹ thuật này cung cấp cho chúng ta hiểu biết chỉ tiết hơn

về các đối tượng trong hình anh Image Segmentation cũng có chung mục tiêu nhưObject Detection là phát hiện ra vùng ảnh chứa vật thể và gán nhãn phù hợp chochúng Tuy nhiên tiêu chuẩn về độ chính xác của Image Segmentation ở mức cao hơn

so với Object Detection khi nó yêu cầu nhãn dự báo đúng tới từng pixel [23]

Object Instance

Detection Segmentation

Hình 2.1: Phân biệt thuật toán Object Detection va Instance Segmentation [4]

Hình 2.1 cho thấy sự khác nhau giữa hai thuật toán Với hình bên trái sử dung

Object Detection, các đối tượng được phát hiện và tạo bounding box quanh đối tượng.

Với hình bên phải sử dụng Semantic Segmentation, các đối tượng được tạo mask

riêng.

Trang 20

Mặc dù Image Segmentation yêu cầu về mức độ chỉ tiết cao hơn nhưng bù lại

thuật toán giúp ta hiểu được nội dung của một bức ảnh ở mức độ sâu hơn khi chúng

ta biết được đồng thời: Vi trí của vật thé trong ảnh, hình dạng của vật thể và từng

pixel nào thuộc về vật thể nào Bài toán Image Segmentation được chia ra làm hai

loại: [23]

— Semantic segmentation: Thực hiện segment các vùng ảnh theo từng lớp khác

nhau mà không phân biệt sự khác nhau giữa các đối tượng trong từng lớp

— Instance segmentation: Thực hiện segment các vùng ảnh chỉ tiết với từng đối

tượng riêng biệt trong cùng một lớp.

Hinh 2.2: Phan biét Semantic Segmentation va Instance Segmentation [23]

Trong hai hình của Hình 2.2, hình trái, mỗi pixel thuộc về một lớp cụ thé (nềnhoặc người) Ngoài ra, tất cả các pixel thuộc một lớp cụ thé được thé hiện bang cùngmột màu (nền là màu đen và người là màu hồng) Đây là một ví dụ về Semantic

Trang 21

lên kế hoạch trong một môi trường phát triển liên tục Vì yêu cầu an toàn tuyệt đối và

độ chính xác cao trong mọi quyết định nên một hệ thống xe tự hành cần phải xác định

chính xác các vật thê xuất hiện khi tham gia giao thông Qua đó, nhóm quyết định

chọn sử dung Semantic Segmentation dé nhóm các class làn đường, người, phương

tiện giao thông.

2.2 Semantic Segmentation

Semantic Segmentation - phân đoạn ngữ nghĩa, hoặc phan đoạn hình anh, là

nhiệm vụ nhóm các phần của một hình ảnh thuộc cùng một lớp đối tượng lại với nhau.

Nó là một dạng dự đoán cấp pixel vì mỗi pixel trong ảnh được phân loại theo một

danh mục.

Mục tiêu của phân đoạn ngữ nghĩa hình ảnh là gán nhãn mỗi pixel của hình ảnh

với một lớp tương ứng của những gi đang được biéu diễn Vì ta dang dự đoán cho

mỗi pixel trong bức ảnh, tác vụ này thường được gọi là dự đoán dày đặc [8] Hình 2.3

sau mô tả một bức hình gốc sau khi được phân vùng ngữ nghĩa

Trang 22

2.3 Tổng quan về Deep Learning

2.3.1 Dinh nghĩa

Deep Learning là một tập hợp con của Machine Learning, bản thân nó năm tronglĩnh vực trí tuệ nhân tạo Nó có khả năng khác biệt ở một số khía cạnh quan trọng sovới Machine Learning nông truyền thống, cho phép máy tính giải quyết một loạt các

van đề phức tạp không thé giải quyết được [22]

2.3.2 Ung dụng

Ta thường sử dung Deep Learning khi dữ liệu của ta phần lớn không có cau trúc

và bạn có rất nhiều dữ liệu Các thuật toán Deep Learning có thể lay di liệu lộn xộn

và không có nhãn rộng rãi — chăng hạn như video, hình ảnh, bản ghi âm thanh và văn

bản — và áp đặt đủ thứ tự cho dữ liệu đó dé đưa ra dự đoán hữu ích, xây dựng hệ thống

phân cấp các tính năng tạo nên con chó hoặc con mèo một hình ảnh hoặc âm thanh

tạo thành một từ trong lời nói.

Các mạng nơ-ron sâu vượt trội trong việc đưa ra dự đoán dựa trên dữ liệu phân

lớn không có câu trúc Điêu đó có nghĩa là chúng cung cap hiệu suat tot nhat trong các lĩnh vực như nhận dạng giọng nói và hình ảnh, nơi chúng làm việc với đữ liệu lộn xộn như ghi âm lời nói và hình ảnh [22]

2.3.3 Khó khăn

Một trong những nhược điểm lớn của Deep Learning là lượng dữ liệu nó cần đểtraining, gần đây Facebook tuyên bồ họ đã sử dụng một tỷ hình ảnh dé đạt được hiệu

suất phá kỷ lục bởi một hệ thống nhận dạng hình ảnh Khi các bộ dữ liệu lớn như vậy,

các hệ thống training cũng yêu cầu quyền truy cập vào một lượng lớn sức mạnh tính

toán phân tán Đây là một vấn đề khác của Deep Learning, chi phí đào tạo Do kíchthước của bộ dữ liệu và số chu kỳ training phải được chạy, training thường yêu cầuquyên truy cập vào phần cứng máy tính mạnh mẽ và đắt tiền, điển hình là GPU caocấp hoặc mảng GPU Cho dù bạn đang xây dựng hệ thống của riêng mình hoặc thuêphần cứng từ nền tảng đám mây, không có tùy chọn nào là rẻ

11

Trang 23

Mạng lưới thần kinh sâu cũng khó đảo tạo, do cái được gọi là vấn đề độ dốcbiến mắt, có thể làm xấu đi nhiều lớp hơn trong mạng lưới thần kinh Khi nhiều lớp

được thêm vào, van đề độ dốc biến mat có thé dẫn đến việc mat một thời gian dài

không thé dé training một mang lưới thần kinh đến một mức độ chính xác tốt, vi sựcải thiện giữa mỗi chu kỳ training là rất ít Vẫn đề không ảnh hưởng đến tất cả cácmạng thần kinh nhiều lớp, thay vào đó là các mạng sử dụng phương pháp học tập dựa

trên độ dốc Điều đó nói rằng vẫn đề này có thể được giải quyết theo nhiều cách khácnhau, bằng cách chọn một chức năng kích hoạt phù hợp hoặc bằng cách training trên

một hệ thống sử dụng GPU hạng nặng [22]

2.3.4 Các kỹ thuật Deep Learning

Có nhiều loại mạng lưới thần kinh sâu, với các cau trúc phù hợp với các loại

nhiệm vụ khác nhau Ví dụ: Mạng nơ-ron tích chập (CNN) thường được sử dụng cho

các tác vụ Computer Vision, trong khi Mạng nơ-ron hồi quy (RNN) thường được sửdụng để xử lý ngôn ngữ Loại mạng thần kinh cơ bản nhất là mạng Perceptron nhiềulớp, loại được thảo luận ở trên trong ví dụ về các số liệu viết tay

Có một số lượng lớn các loại mạng thần kinh sâu khác nhau Không có mộtmạng nào tốt hơn mạn ø kia, chúng chỉ phù hợp hơn dé học các loại nhiệm vụ cụ thé

nhúng Nhiều nghiên cứu đang được tiến hành và các nhà nghiên cứu hiện đã phát

hành MobileNetV3 đại diện cho MobileNets thế hệ tiếp theo dựa trên sự kết hợp của

các kỹ thuật tìm kiếm bé sung và thiết kế kiến trúc mới

12

Trang 24

Đóng góp chính của MobileNetV3 là việc sử dụng AutoML dé tìm kiến trúc

mạng thần kinh tốt nhất có thể cho một vấn đề nhất định Điều này tương phản với

thiết kế thủ công của các phiên bản kiến trúc trước Cụ thể, MobileNetV3 sử dụng

hai kỹ thuật AutoML: MnasNet va NetAdapt MobileNetV3 trước tiên tìm kiếm mộtkiến trúc thô bằng MnasNet, sử dụng tính năng học tăng cường dé chọn cấu hình tối

ưu từ một tập hop các lựa chon rời rac Sau đó, mô hình fine-tunes kiến trúc bang

cách sử dung NetAdapt, một kỹ thuật bổ sung giúp cat bỏ các kênh kích hoạt chưađược sử dụng thành các phần nhỏ [5]

2.4.2 Kién trúc

Một ý tưởng mới khác của MobileNetV3 là sự kết hợp của một khối

Excitation vào kiến trúc cốt lõi Ý tưởng cốt lõi của khối

Squeeze-And-Excitation là cải thiện chất lượng của các đại diện được tạo ra bởi một mạng bang

cách mô hình hóa rõ ràng sự phụ thuộc lẫn nhau giữa các kênh của các tính năng tích

hợp của nó Vì vậy, tác giả đề xuất một cơ chế cho phép mạng thực hiện hiệu chuẩn

lai tính năng, qua đó mạng có thé học cách sử dụng thông tin toàn cầu dé nhắn mạnh

một cách có chọn lọc các tính năng thông tin và loại bỏ những tính năng kém hữu ích

hơn Trong trường hợp của MobileNetV3, kiến trúc mở rộng MobileNetV2 kết hợpcác khối Squeeze-And-Excitation như một phần của không gian tìm kiếm, kết quả là

ya ~

tao ra cac kién trúc mạnh mẽ hơn.

Hình 2.4 sau minh họa kiến trúc của MobileNetV3 sau khi được mở rộng từ V2

và kết hợp các khối khác [5]

13

Trang 25

Hình 2.4, tại layer thứ 3 có một nhánh Squeeze-And-Excitation có kích thước

(width x height) bằng 1 x 1 có tác dụng tong hợp global context Nhánh này lần lượt

đi qua các biến đổi FC -> Relu -> FC -> hard sigmoid Cuối cùng được nhân trực tiếpvào nhánh input dé scale input theo global context Các kiến trúc còn lại hoàn toàn

giữ nguyên như MobileNetV2.

14

Trang 26

Một tối ưu hóa thú vị của MobileNetV3 là thiết kế lại một số expensive layers

trong kiến trúc Một số layers trong MobileNetV2 là nền tảng cho độ chính xác của

các models nhưng cũng cho vào các mức độ trễ liên quan Băng cách kết hợp một số

tối ưu hóa cơ bản, MobileNetV3 có thể loại bỏ ba expensive layers của kiến trúc tiền

nhiệm của nó mà không làm giảm độ chính xác [5] Hình 2.5 sau giải thích sự thay

Hinh 2.5: So sanh giai doan cuối ban đầu và giai đoạn cuối hiệu quả [1]

Từ Hình 2.5, có thê thấy một số layers cuối cùng cũng như một số layers đầutốn kém hơn những layers khác Trong original last stage, tích chập 1 x 1 làm lớpcuối cùng dé mở rộng từ 320 chiều sang không gian đặc trưng có chiều cao hơn (kíchthước 1280) Layers này cực kỳ quan trọng để có các tính năng phong phú cho dựđoán Tuy nhiên, điều này đi kèm với chỉ phí là độ trễ thêm

Sửa đổi đầu tiên là đi chuyên layer này (1 x 1 Conv) qua layer Avg-Pool cuốicùng Bộ tính năng cuối cùng này hiện được tính ở độ phân giải không gian 1 x 1

thay vì độ phân giải không gian 7 x 7.

Khi chi phí của lớp tạo tính năng này đã được giảm thiểu, lớp BN trước đókhông còn cần thiết nữa dé giảm tính toán

Giai đoạn cuối hiệu quả này giúp giảm độ trễ 7 mili giây, tức là 11% thời gian

chạy và giảm số lượng hoạt động đi 30 triệu MAdds mà hầu như không mất độ chính

xác.

15

Trang 27

Một lớp tốn kém khác là bộ lọc ban đầu Ban đầu, các mô hình có xu hướng sử

dụng 32 bộ lọc trong tích chập 3 x 3 đầy đủ để xây dựng các ngân hàng bộ lọc ban

đầu đề phát hiện cạnh

Với việc giảm số lượng bộ loc và sử dụng các độ phi tuyến khác nhau có thélàm giảm sự dư thừa Bang cách sử dụng H-Swish, số lượng bộ lọc giảm xuống còn

16 bộ lọc trong khi vẫn duy trì độ chính xác như 32 bộ lọc sử dụng ReLU hoặc swish.

Điều này giúp tiết kiệm thêm 2 mili giây và 10 triệu MAdds [19]

2.4.3 Phan loại

MobileNetV3-Large và Small được tác giả đề xuất là những mô hình Mobilethé hệ tiếp theo MobileNetV3 đã cho thấy những cải tiến đáng kể so với các kiến

trúc trước đó Vi dụ: trong các tác vụ phát hiện đối tượng, MobileNetV3 hoạt động

với độ trễ ít hơn 25% va cùng độ chính xác của các phiên bản trước Các cải tiến

tương tự cũng được thấy trong các nhiệm vụ phân loại như được minh họa trong hình

Latency, pixel 1, ms Latency, pixel 1, ms

Hình 2.6: So sánh độ trễ hai loại mạng MobileNetV3 với các mạng khác [1]

Hình 2.6 cho thấy sự cân bằng giữa độ trễ Pixel 1 và độ chính xác củaImageNet hàng dau Tất cả các kiều máy đều sử dụng độ phân giải đầu vào 224 V3

large và V3 small sử dụng các hệ số 0,75, 1 và 1,25 dé hiển thị biên cương tối ưu Tất

cả các độ trễ được đo trên một lõi lớn duy nhất của cùng một thiết bị

16

Trang 28

Hiện tại, hai mô hình MobileNet mới được phát hành: MobileNetV3-Large và

MobileNetV3-Small được nhắm mục tiêu cho các trường hợp sử dụng tài nguyên cao

và thấp Các mô hình sau đó được điều chỉnh và áp dụng cho các nhiệm vụ Object

Detection và Semantic Segmentation Khóa luận sử dụng kiến trúc mạng

MobileNetV3-Small như một encoder trong model Semantic Segmentation Bảng 2.1

dưới đây là thông số kỹ thuật của kiến trúc MobineNetV3-Small

Bảng 2.1: Thông sỐ kỹ thuật của MobileNetV3-Small [1]

Input Operator exp size | #out | SE | NL | s

12 x 1024 | conv2d 1x1, NBN 2 k - - J1

2.5 Lite Reduced Atrous Spatial Pyramid Pooling (LR-ASPP)

R-ASSP là một thiết kế rút gon của mô-đun Astrous Spatial Pyramid Pooling

chỉ áp dụng hai nhánh bao gồm một tích chập 1 x 1 và global-average pooling

Lite R-ASPP (LR-ASPP), cải tiến hơn R-ASPP, triển khai tính năng

global-average pooling theo cách tương tự như mô-đun Squeeze-and-Excitation, trong đó

tác giả sử dụng một kernel tổng hợp lớn với một bước tiến lớn (dé lưu một số phép

17

Trang 29

tính) và chỉ một phép chập | x 1 trong mô-đun Tác giả áp dụng phép tích chập cho

khối cuối cùng của MobileNetV3 dé trích xuất các tinh năng dày đặc hon và thêm kết

nối bỏ qua từ các tinh năng cấp thấp dé nam bắt thông tin chỉ tiết hơn

Lite R-ASPP là một bộ giải mã phân đoạn mới với hiệu quả rõ rệt, nó đã đạt

được kết quả SOTA mới về phân loại, phát hiện và phân đoạn di động [9]

l

| 1 1 1

| 1 I

| l

!

wee eee ee eee ee See Ee eee @ ee - @ oe gw ow ww nw ww ew ee ee ee ee ee ee eee

Hình 2.7: Cấu trúc Lite R-ASPP - Segmentation Head [1]

Qua Hình 2.7, một Segmentation Head được đề xuất xây dựng trên

MobileNetV3, Lite R-ASPP, mang lại kết quả phân đoạn ngữ nghĩa nhanh chóngtrong khi kết hợp các tính năng từ nhiều độ phân giải

MobleNetV3-Large LR-ASPP nhanh hơn 34% so với MobileNetV2 R-ASPP

với độ chính xác tương tự đối với phân đoạn Cityscapes [9]

2.6 Tổng quan về CNN và các khái niệm liên quan

2.6.1 CNN - Convolutional Neural Network

Convolutional Neural Network (CNNs — Mang nơ-ron tích chập) là một lớp của

Mạng noron nhân tao sâu thường được áp dụng cho các tác vụ xử lý hình ảnh như

phát hiện và nhận dạng đối tượng [10]

18

Trang 30

2.6.2 Padding

Về cơ ban, padding làm cho các ảnh đặc trưng (feature map) được tạo bởi các

nhân bộ lọc có cùng kích thước với hình ảnh gốc [14]

Có ba loại Layers trong mạng nơ-ron tích chập: convolutional layer, pooling

layer, and fully connected layer Mỗi lớp này có các tham số khác nhau có thé được

tôi ưu hóa và thực hiện một tác vụ khác nhau trên dữ liệu đâu vào.

Convolutional layers là các lớp mà các bộ lọc được áp dụng cho hình ảnh gốc

hoặc cho các ảnh đặc trưng trong một mạng CNN sâu Đây là nơi chứa hầu hết cáctham số do người dùng chỉ định trong mạng Các tham số quan trọng nhất là số lượng

nhân và kích thước của các nhân.

Pooling layers tương tự như convolutional layers, nhưng chúng thực hiện một

chức năng cụ thê như max pooling (lấy giá trị lớn nhất trong một vùng lọc nhất định)

hoặc average pooling (lấy giá trị trung bình trong một vùng lọc) Chúng thường được

sử dụng dé giảm kích thước của mạng nhưng vẫn giữ được các thuộc tính quan trọng

Kích thước dữ liệu giảm giúp giảm việc tính toán trong model.

Fully connected layers được đặt trước đầu ra phân loại của CNN va được sửdụng đề làm phăng kết quả trước khi phân loại Điều này tương tự như lớp đầu ra của

một MLP [14]

19

Trang 31

2.7 Mask RCNN và các khái niệm liên quan

2.7.1 Dinh nghĩa

Mask RCNN là một mạng thần kinh sâu nhằm giải quyết vấn đề Instance

Segmentation trong Machine Learning hoặc Computer Vision Nói cách khác, nó có

thé tách các đối tượng khác nhau trong một hình ảnh hoặc một video Với một hìnhảnh, nó cung cấp cho ta các thông tin của đối tượng: bounding box, lớp đối tượng và

mặt nạ [20]

Hình 2.8: Ví dụ về Mask RCNN [26]

Có hai giai đoạn của Mask RCNN Đâu tiên, nó tạo đê xuât vê các khu vực có

thể có một đối tượng dựa trên hình ảnh đầu vào Thứ hai, nó dự đoán lớp của đối

20

Trang 32

tượng, tinh chỉnh bounding box và tạo mặt nạ ở mức pixel của đối tượng dựa trên đề

xuât ở giai đoạn đâu tiên Cả hai giai đoạn đêu được kết nôi với câu trúc backbone.

Backbone là một mạng nơ-ron sâu kiểu FPN (Feature Pyramid Networks) Nó

bao gồm một con đường từ dưới lên, một con đường từ trên xuống dưới và các kếtnối bên Đường dẫn từ dưới lên có thé là bat ky ConvNet nao, thường là ResNet hoặc

VGG, trích xuất các tính năng từ hình ảnh thô Đường dẫn từ trên xuống tạo bản đồhình kim tự tháp có kích thước tương tự như đường dan từ dưới lên Các kết nối bên

là phép toán chập và cộng giữa hai mức tương ứng của hai con đường FPN hoạt động

tốt hơn các ConvNets đơn lẻ khác chủ yếu vì lý do nó duy trì các tính năng ngữ nghĩa

mạnh mẽ ở các thang độ phân giải khác nhau [20]

2.7.2 Region of Interset (RoI)

Các bounding box từ các khu vực phat hiện đối tượng sẽ có những kích thước

khác nhau nên qua bước này sẽ gộp toàn bộ các bouding box đó về một kích thướcnhất định tại một đối tượng tiếp theo, các vùng này được chuyển qua một Fully

Connected Layer dé dự đoán nhãn lớp và bounding box Một đối tượng sẽ có rất nhiềubounding box với các kích thước khác nhau sau đó nó sẽ được loại bỏ dần qua việc

tính toán IOU như sau: [26]

IoU = Area of the intersection/Area of the union (2.1)

Vùng giao nhau giữa bouding box dự đoán va bounding box thực tế chia cho

bouding box thực tế Nếu IoU lớn hơn hoặc bang 0.5 thì sẽ quan tâm còn nhỏ hơn thì

sẽ loại bỏ Có thể hiéu thêm qua cách tính IoU qua hình minh họa Hình 2.9

21

Ngày đăng: 02/10/2024, 03:15

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN