Sau khi nghiên cứu một số tài liệu tham khảo và các bài báo khoa học về Bird-viewcar camera, xây dựng chương trình Bird-view car camera bang cách sử 4 cameragóc rộng được ghép ở đăng trư
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KY THUAT MAY TINH
NGUYEN LE NHAN
PHAM XUAN LINH
KHOA LUAN TOT NGHIEP
Implement a program to contruct car Bird-view image from
surrounding cameras
KY SU NGANH KY THUAT MAY TINH
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
NGUYÊN LÊ NHÂN-16520869
PHẠM XUÂN LINH-16521717
KHÓA LUẬN TÓT NGHIỆP
XÂY DỰNG CHƯƠNG TRÌNH TẠO ẢNH BIRD-VIEW
CHO XE HƠI TỪ CÁC CAMERA XUNG QUANH
Implement a program to contruct car Bird-view image from
surrounding cameras
KY SU NGANH KY THUAT MAY TINH
GIANG VIEN HUONG DAN
ThS PHAM MINH QUAN
TP HO CHi MINH, 2021
Trang 3THÔ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 4LỜI CÁM ƠN
Trải qua 4 năm rưỡi đại học, dé thành công khóa bảo vệ khóa luận tốtnghiệp này Em muốn bày tỏ chân thành cảm ơn tới toàn bộ thầy cô của 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à toàn bộ giáo viên khoa kỹ thuật máy tính nói riêng, những người đã
cho chúng em những kiến thức giá trị và kinh nghiệm xuyên suốt 4 năm rưỡi
qua.
Nhóm cũng chân thành cảm ơn tới thạc sĩ Phạm Minh Quân và tiền sỹ
Nguyễn Minh Sơn người đã dành thời gian quý báu và kinh nghiệm để hướngdẫn nhóm hoàn thành khóa luận tốt nghiệp này Nhóm cũng chân thành cảm ơnnhững người bạn đã giúp nhóm tìm kiếm, tổng hợp thông tin và những góp ýquý báu về đồ án trong suốt quá trình hoàn thành khóa luận Trong quá thựchiện báo cáo luận văn sẽ có nhiều thiếu sót mong các thầy cô và các bạn bỏ qua,một lần nữa nhóm xin cảm ơn đến mọi người đã lắng nghe những trình bày của
nhóm.
Sinh viên thực hiện:
Phạm Xuân Linh
Nguyễn Lê Nhân
Khoa kỹ thuật máy tinh-MTCL2016.2
Trang 5MỤC LỤC
Chương 1 = TONG QUAN -2-©52+E<+EESEESEEE2EEEEEEE1121121171 71.21 EErxe 3
1.1 Tinh hình nghiên cứu nước 'BOẢI - c5 + 3+ 33+ E+veEEeeerseeereeeeereeee 3
1.2 Tinh hình trong ƯỚC 6 6 +3 319 91v HH ng gu ng 4
1.3 Giadi PAP 5
1.4 Mục tiêu khóa luận - - << SE 222111111122331 1111119953111 1kg 1 key, 5
1.5 Giới hạn của đề tài -cccccchhnh the 6Chương2 CO SỞ LÝ THUYỀÊT 2 £+E+SE+EE+EE£EE£EE2EEEEEEEEEEEEErrxrrrrei 7
2.1 NVIDIA Jetson Nano Developer K( - 5 S5 se re 7
2.1.1 Giới thiệu chung - Gv rey 7
2.1.2 Thông số kĩ thuật của NVIDIA Jetson Nano Developer Kit 8
2.1.3 Jetson Nano phù hop với các dự án Machine Learning hơn các loại
máy tính khác - << 16211111193 1 Họ ni 10
"P‹ 000 6 ee 1s nh na ằ 13
2.2.1 Giới thiệu L1 St ST TT HT TH TH HH HH tr 13
2.2.2 Các bước xử lý ảnh - -c- cv ng ng nh nh rưy 13
2.3 Camera [MX219-20U - Ghi 15
2.3.1 Đặc điểm tính năng - 2© +E2EE+EEEEEEEEEEE2E171 21.2111 EEEcrree 15
2.5.1 Giới thiỆU - Ăn HT TH HH HH ng 18
Trang 62.5.2 _ Cách thức hoạt động - +11 11kg ng ng ệt 18
"ˆ© f8" ịẽ an 192.5.4 Hạn chế cc-ccttt th nhe 20
2.6 Mô hình Mobilenet-SSD VÌ - Ăn LH HH HH Hiện 20
2.6.1 Tổng quan - ¿2c +St+EE+EE+EE2EE2EEEEEEEEEE21112112112121 11112 cxeE 20
2.7.3 Nguyên mẫu 3ÌD ¿2 5c SE2E+EEEE2E2EEEEEE211121 21111211 EE 11tr 31
2.7.4 Trinh tạo bóng 3D ee ececeesceecseeseeeeeeseeeeseeseeecaeeseseeseeeeesaeeeeeeseeeeees 31
2.8 DctecctNet đẻ ven | 32
Chương 3 | PHAN TÍCH THIET KE HỆ THONG .: -: : 35
3.1 Hệ thống Bird-View -¿ 2-22+2222E 2212112211221 35
3.1.1 Chuyển đổi hình anh(image transformation) 2-2 5z s2 s2 35
3.1.2 Ghép và pha trộn anh(adding and blending images) . 42
3.1.3 Sơ đồ hệ thống Bird-view đơn giản 2- 2 sscxccxzrsrxerxerree 433.2 Hệ thống cảnh báo -:- 2 2+S<+EE+ESEEEEEEEEE1E21211211211211 212111111 44
3.2.1 Nhận dạng đối tượng(Object detection) - scsc+sz+z+rxerxersee 44
3.2.2 Sưu tập bộ data TIÊng - - c1 111g ng HH 46
3.2.3 Xác định khoảng cách - - 6 + x1 TH HH ng nh rư 48
3.3 Cài đặt hệ thống Bird-view và cảnh báo - 2-55 se+z+ccrxerceee 51
3.3.1 KU LY CaAMeLa 51
Trang 73.3.2 Lắp đặt camera,board và monifOr -2- 22 ++++zx++z+zx+rxerse+ 523.3.3 Sơ đồ kết hợp hệ thống Bird-view và cảnh báo - -:-sc¿ 53
3.4 0.) 0h Ố Ố 54
3.4.1 Xử lý hình anh 3D với thư viện rafCAV€ - 5 Scss+sseereeeeeere 54
3.4.2 Xử lý hình anh xung quanh cee eeeccesseceseeceseeeeseceeeeceeeesaeeeseeeeseeeaes 56
3.4.3 Sơ đỗ môi trường 3D eecceceecescccsessessessessessssscsecsessessessesuesscsssessessessessease 57Chương 4 KET QUA MO PHONG oo esscssssssssssssessssesesssesssecsssescssecssecssessesesecs 58
4.1 Hệ thống Bird-view cc.ccccccccssscssesssessessesssessessessecssessessessessessessesseesseeseeseess 584.2 Hệ thong nhận diện vat can va cảnh DAO cc ccccccccsseceeesseceesseeceesseeeessaee 594.3 Môi trường đối tượng 3D oeecccccccccscsssessseessecssessscssesssecssecssessecssecssecseesseeaseess 63
"9" ha ae 64
Chương 5 KÉT LUẬN VÀ HƯỚNG PHÁT TRIEN -5z=5+ 69
51 Kếtluận đ 1Ý ~ve= / ⁄4 695.2 Hướng phat triỀn -¿-©2¿2+¿+2+2E+£EE+SEE2EEE211221221 211212 crre 69
Trang 8DANH MỤC HÌNH
Hình 1.1: Bird-view car camera [1] - + << ** E333 221111 11k £££22 EEEkEeesseeeeeeeree 3
Hình 1.2: Bird-view car camera do Việt Nam sản xuất [2] - - scs+s+zszezx+z 4
Hình 2.1: NVIDIA Jetson Nano Developer Kit [3] - c5 << <++ccssersseeseess 8
Hình 2.2: Thông số kĩ thuật NVIDIA Jetson Nano Developer Kit [3] 10Hình 2.3: Hiệu suất của một số mang Machine Learning khác nhau [3] 11
Hình 2.4: Các bước xử lý ảnh [⁄4] - ¿5c + 2221333 E*2 E9 EEEEEEsrirerkrrrerrrrrkrre 13
Hình 2.5: Camera IMX219-200 [5] - E SE EES****££E225555331131 111111 keeree 15
Hình 2.6: Cách thức hoạt động [] - - - 2 E1 2112111911191 9 119v kg Hy re 19
Hình 2.7: Giới thiệu Mobilenet-SSD [7] - - 55+ S++++x++£+eEseserserseeseesseske 22
Hình 2.8: Sơ đồ kiến trúc của mang Mobilenet-SSD [8] -c-ccccee 22
Hình 2.9: Cách thức phân chia feature map [10] - -« 55+ <++<<++see<ss+s 23
Hình 2.10: Sơ đồ kiến trúc của mang SSD [10] -¿22 ++++zs+zs+zxszxzsz 24
Hình 2.11: Kiến trúc của multi-scale convolution prediction [T 1] 25
Hình 2.12: Kết quả so sánh các model trên COCO [ I3 ] 55+ ++s++++s<s+s+ 26Hình 2.13: Mô hình kiến trúc mang MobileNet [14] - -‹ -«<++<<<+<<e-+eesss 27Hình 2.14: Cấu trúc của một Depthwise Separable Convolution [15] 28
Hình 2.15: Một số nguyên thủy của 3D Mesh [16] - 2 252 ++cs+cs+zsse2 31
Hình 2.16: Ví dụ về một số hiệu ứng ánh sáng 3D đơn giản [16] - 31Hình 2.17: Sơ đồ biểu diễn dữ liệu đầu vào detectNet [17] - -+ 32Hình 2.18: Cấu trúc detectNet cho đào tạo [1 7] -¿s- + ssx+k+EeEsksxerrtsrersresxee 34Hình 2.19: Cấu trúc detectNet để xác thực [I7] -.-¿ ccc+ccxvererrvrrsrrrerrre 34Hình 3.1: xoay anh 45° ngược chiều kim đồng hồ [18] ¿2-52 s52 52 35
Hình 3.2: Hình ảnh được thu nhỏ - 2< 2E 221111111 2231111115511 Ekeerrzz 36
Hình 3.3: Biến đổi ma trận [19] - ¿ c¿+2++++2cxxtttrkttrtrrtrrrtrrrrttrrrrrrrrre 38Hình 3.4: Ảnh được biến đổi -c2tcchtnt tri 39Hình 3.5: Sơ đồ biến đổi góc nhìn của ảnh - 2 2+ ++++££+E+Eerxerxerxersxee 39Hình 3.6: xác định điểm cần chọn - + + k+k+E£EEEE+EvEEEE+ESEEEEEEeEeEkrkerrrererxee 39Hình 3.7: chuyên đổi ảnh - 2-5 SE SE+EE2E2E£EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEErkrree 40
Trang 9Hình 3.8: Xác định các điểm chuyên đổi mới -2 2¿- ¿2+ +++zxzzxvrxesrxz 40Hình 3.9: Chuyên đổi góc nhìn mớii 2 2¿+¿++£2E++EE++Ex£EEtzE+erxezrxrrresree 40Hình 3.10: Quay 90° theo chiều kim đồng hồ -2- 2-2 2 2+ ££EezEe£xerxerszxez 41Hình 3.11: Quay anh 90° ngược chiều kim đồng hồ 2-52 522522 +2 41
Hinh 3.12: Quay anh 0t 021 4a 41
Hình 3.13: Cộng hai anh bằng CV2.add() wescsssesssesssessssssssssesssecssessssssecssecssssseessecsneess 42Hình 3.14: Cộng hai ảnh bằng cv2 add Weighted () c.cccsccsccsssessesssesseeseeseesesseeseees 43Hình 3.15: Sơ đồ hệ thống Bird-view đơn giản - 2-52 2+ cxecxerxerxersxee 43Hình 3.16: Sơ đồ các mối liên hệ tạc vụ trong COmpUu(€r VISIOH - «+ +5 44Hình 3.17: Phát hiện đối "0ï: p2 45Hình 3.18: Cấu trúc SSD-Mobilenet [21] - ¿- 5s eSk+E+E£EE+EeEE+Eerxererxererrers 45Hình 3.19: Độ chuẩn xác của SSD-Mobilenet 2i - 46Hình 3.20: Sơ đồ nhận dạng đối tượng với SSD-MobilelNet - 52-5 46
Hình 3.23: Công cu label dit liệu [2 Ï ] - - - ¿+ + **++£++*kE++eeEseerseeeeeeesseeers 47
Hình 3.24: Liên kết đường dẫn tệp lưu dit liệu [2I] ¿- 2 25s 2=s+s+cz£s 47
Hình 3.25: Label dữ liệu [2 Í ] -¿- -¿- 5 2+ + E2 E191 E911 1 9 9v ng ng rưkp 48
Hình 3.26: Tính hiệu cảnh báo - c6 2 1221111112811 11921 1111811118511 1118111 x2 49
Hình 3.27: Các thông số xác định khoảng cách [23] -¿- ¿s52 49
Hình 3.28: Xác định khoảng cách từ Bird-view [244] scccccssecsseeseersserrss 50
Hình 3.29: Hệ thống phát cảnh báo 2-2 2 + SE‡EEEEE2EEEEEEEEEEEEEEEEErEerkrrkrree 51Hình 3.30: Chay da luồng [25] ccscccscsssesssesssesssssssessecssecsssssscasecsuscsssssecssecsueeseeasecaneess 52Hình 3.31: Mô hình lắp đặt phần cumg .c ccccccccccsssessssssssseessecssscssessecssecsessesssecsseess 53Hình 3.32: Sơ đồ tổng hợp hệ thống Bird-view và vật cản -5-55 53Hình 3.33: Cấu trúc của một file đối tượng 3D ¿+ 5¿+cx+zxcrxesree 55
Hình 3.34: Hình ảnh đối tượng 3D - ¿2-2 ©E+SE+EE+EE£EE£EEZEEEerEerkerkrrkrree 55
Hình 3.35: Hình ảnh sau khi sfItCh1ng - - 6+ E313 SEESesrseeeerrererevre 56
Hình 3.36: Cấu trúc cơ bản của 0190115002107 Ö 56Hình 3.37: Sơ đồ tổng hợp môi trường 3D 2 5¿©+¿2+++++zx+rxrrxeeree 57Hình 4.1: Kết quả khi ghép các camera lại với nhau 2¿ ¿cs¿2s22s++=s2 58
Trang 10Hình 3.21: Data riêng của nhóñH - 5 + +++ 2s 9 1S HH HH giết 60
Hình 3.22: Data riêng của nhóm - + + +3 13 E9 Tnhh, 60 Hình 4.2: Nhận diện nØưỜi <1 E119 1190119 nh 61 Hình 4.3: Nhận diện chó và mèO - c2 111223221111 11111 8851111 111881 11 1x xe 61 Hình 4.4: Nhận diện xe máy và Xe 6 tO eee eeecessecesceeeeeeeeeeseeceeeeeaeeesaeceeeceeeseaes 62
Hình 4.5: Tín hiệu cảnh báo - - - << G2 211111122311 11 111 9231111119911 tren, 63
Hình 4.6: Mô hình 3D với không gian ảnh xung quanh - 5s «+s<+ss2 64
Hình 4.7: Bird-view car camera của xe Nissan [27] -«++++<<++<eeexess 66
Hình 4.8: Bird-view camera trên xe Mazda [28] << 2222 secee 66 Hình 4.9: Bosch Multi-camera system [29] «+ + + k*vkssiessersreere 67 Hình 4.10: Bird-view car camera của Vinfast [30]_ << << << sss<<ces 68
Trang 11DANH MỤC BANG
Bang 2.1: Bảng so sánh hiệu suất của Jetson Nano khi chạy các mang MachineLearning với các nền tang s19 1n ồỔOo-”ÕÖ 12
Bang 2.2: Bảng so sánh mô hình Mobilenet-SSD và YOLO [9] - 22
Bảng 2.3: Bảng so sánh tốc độ xử lý và độ chính xác của các lớp model object
Cetection [12] oo ` 26
Bang 2.4: So sánh MobileNet-224 với GoogleNet va VGG 16 trên tập ImageNet
m— - 29
Bang 2.5: So sánh Mobile net và Inception-v3 trên tap Stanford Dog [15] 29
Bảng 4.1: Kết quả đo tốc độ xử lý của Bird-View ¿©2sc©ccccxcccxrsrxersecree 58Bảng 4.2: Kết quả đo tốc độ xử lý của Bird-view ở những mốc thời gian khác nhaukhi xe chạy ở tốc độ phù HOP vccscesccsscsssesssesssesssessssssecssecssecsscssecsussssessecssecsuesseesseesseess 59Bảng 4.3: Kết quả đo lường tốc độ và độ chuẩn xác khi phát hiện đối tượng khi xechạy ở tốc độ phù hợpD -¿- ¿52 +29 E22 1211211211711171112111211 211111111 tre 62Bang 4.4: Bảng kết qua phát hiện vật can trong độ sáng khác nhau - 62Bảng 4.5: Bảng kết quả phát hiện vật cản với tốc độ khác nhau -.- 63
Bảng 4.6: Bảng so sánh với với các mô hình Bird-view khác « s« 64
Trang 12DANH MỤC TỪ VIET TAT
PAS Parking assistance system
SSD Single Shot Detector
GPU Graphics Processing Unit
CUDA Compute Unified Device Architecture
CPU Central Processing Unit
RAM Random Access Memory
TPU Tensor Processing Unit
FPS Frames per second
ANN Artificial Neural network
CNN Convolutional Neural Network
YOLO You Only Look Once
DIGITS The NVIDIA Deep Learning GPU
Training System
Trang 13TOM TAT KHÓA LUẬN
Bird-view camera là một bộ thiết bị camera có chức năng cung cấp hình ảnh toàndiện 360 độ quanh xe ô tô Một bộ Bird-view camera thường có 4 mắt camera đượclắp ở 4 vị trí: đầu xe, đuôi xe, gương hậu bên trái và gương hậu bên phải 4 mắtcamera này, người lái sẽ có thé quan sat duoc điểm mù trước xe, điểm mù sau xe,điểm mù hai bên thân xe Nếu lắp camera lùi hay camera tiễn cho xe ô tô, ta chỉthấy được một góc có định thì khi lắp Bird-view camera, ta có thể quan sát toàndiện mọi góc, mọi mặt của xe Nói cách khác, trong tất cả các loại camera 6 tô,Bird-view camera giúp hỗ trợ quan sát toàn diện và tối ưu nhất, là giải pháp xoáđiểm mù hiệu quả hơn cả Bird-view camera còn được tích hợp thêm phát hiện và
cảnh báo va chạm với vật cản giúp cho người dùng lái xe an toàn hơn Mặc dù
Bird-view camera giúp người dùng quan sát được toàn cảnh xung quanh xe nhưng dégiúp người dùng lái xe an toàn hơn thì vẫn cần một chương trình giúp cảnh báo vậtcản đề tránh xảy ra va chạm với các vật cản khi đỗ xe Vì nhu cầu cần một hệ thongquan sát và giúp điều khiển xe 6 tô an toàn nhóm em đã quyết định sẽ xây dựngchương trình tạo ảnh Bird-view cho xe ô tô từ 2 đến 4 chỗ và xây dựng chương
trình cảnh báo vật cản.
Sau khi nghiên cứu một số tài liệu tham khảo và các bài báo khoa học về Bird-viewcar camera, xây dựng chương trình Bird-view car camera bang cách sử 4 cameragóc rộng được ghép ở đăng trước, đằng sau, bên trái, bên phải của xe sau đó thu
hình ảnh và xây dựng chương trình tạo ảnh Bird-view camera Nhóm sử dụng mô
hình mạng SSD-Mobilenet V1 dé trainning dữ liệu vat can gom: xe 6 tô, xe máy,người, động vật và xây dựng chương trình dé cảnh báo vật cản
Hiện tại, nhóm đã ghép thành công các camera lại với nhau, xây dựng được chương
trình cảnh báo vật cản trên Bird-view va giao diện người dùng Nhóm em đã có théhiển thị một đối tượng 3D trên nền một hình ảnh
Trang 14MỞ ĐẦU
Với sự gia tăng dân số và phát triển kinh tế của xã hội hiện đại trên thế giới, ngàycàng nhiều người có ô tô của riêng họ Và việc đậu xe là một trong những nhữngvan đề khó khăn cho người lái xe Mọi người thường phải lãng phí một mất nhiềuthời gian tìm kiếm chỗ đậu xe Đôi khi, đó là một việc khá khó khăn đối với ngườilái xe khi đỗ xe trong một không gian hạn chế Trong bối cảnh này, các nghiên cứu
về PAS (Hệ thống hỗ trợ đỗ xe) và hệ thống đỗ xe tự động đã trở thành một trongnhững điểm nóng trong lĩnh vực xe cộ Hiện nay phổ biến nhất là sử dụng các kỹthuật như Máy quét laser có độ ôn định cao và độ chính xác, nhưng chúng có tuôithọ ngắn va dé dang bi ảnh hưởng bởi thời tiết mưa và tuyết Siêu âm và các radartầm xa có tuổi thọ cao và kích thước nhỏ Tuy nhiên, độ chính xác của chúng thấp
và phạm vi phát hiện ngắn Cảm biến tầm nhìn, chăng hạn như máy ảnh, có tuôi thọcao tuôi thọ và độ chính xác của chúng cũng khá cao Ngoài ra, nó có thể cung cấp
hỗ trợ tầm nhìn thời gian thực và thông tin hình ảnh phong phú cho các trình điềukhiển Nhưng cảm biến tầm nhìn có hiệu suất kém trong điều kiện bóng tối Là xuhướng chính của các hệ thong hỗ trợ đỗ xe hiện nay, các hệ thống dựa trên tầm nhìnđầy hứa hẹn và nhiều nhà nghiên cứu và các công ty đã phát triển hệ thống của hobằng cách sử dụng camera Và hiện nay xử lý ảnh là lĩnh vực mà ngày nay đượcphát triển và ứng dụng rất rộng rãi trong nhiều lĩnh vực khác nhau nhờ vào sự pháttriển ngày càng mạnh mẽ của các hệ thống máy tính, các thuật toán và công trìnhnghiên cứu khác nhau của nhiều nhà khoa học trên thế giới Vì vậy với mục tiêu xâydựng một hệ thống hỗ trợ đỗ xe an toàn, nhóm quyết định xây dựng chương trìnhtạo Bird-view car camera cho ô tô từ 2 đến 4 băng cách lắp đặt bốn camera xungquanh xe sau đó cung cấp hình ảnh bao phủ tất cả môi trường xung quanh ô tô và
xây dựng chương trình cảnh báo va chạm.
Trang 15Chương 1 TONG QUAN
1.1 Tinh hình nghiên cứu nước ngoài
Bird-view car camera đang là một lĩnh vực rất được quan tâm và ứng dụng rộng rãi
vì những lợi ích mà nó mang lại cho an toàn giao thông như: loại bỏ hoàn toàn các
góc khuất, điểm mù, tích hợp camera hành trình: ghi hình cả 4 mắt camera, cảnhbáo vat can Việc trang bị Bird-view car camera sẽ giúp người lái có thé đỗ xemột cách thuận tiện Đồng thời, người lái có thé tránh được những chỗ lõm trên mặtdường và di chuyển quanh các chướng ngại vật dé dang hơn Vi vậy những tínhnăng trên nên một số hãng xe đã lắp đặt Bird-view car camera vào trong sản pham
của mình như là: Acura MDX, BMW 7-Series, Genesis G90, Infiniti QX30 Ngoài
ra các công ty phụ tùng xe 6 tô cũng đã san xuất và tung ra thị trường các loại view car camera tân tiến như: DCT, Panorama, Ở các nước phát triển, Bird-viewcar camera được xem như là thứ không thê thiếu trên những chiếc xe ô tô vì nó giúpcho người dùng an tâm hơn trong việc điều khiển xe ô tô và khiến cho việc lái xe 6
Bird-tô dễ dàng hơn.
Trang 161.2 Tình hình trong nước
Trong những năm gần đây, Việt Nam ghi nhận sự gia tăng đột biến của lượng xe ô
tô tại khu vực thành thị đặc biệt là các thành phố lớn Đà tăng này theo các chuyêngia đánh giá sẽ còn tiếp tục phát triển trong các năm tới Lượng xe hơi được tiêu thụnhiều hiện tại tập trung chính vào những mẫu xe nằm trong phân khúc tầm trung.Trong khi đó, chỉ những dòng xe cao cấp, xe hạng sang mới được trang bị hệ thốngBird-view camera Trên thế giới, Bird-view car camera đã được nghiên cứu và sảnxuất từ lâu tuy nhiên ở Việt Nam đây vẫn là một lĩnh vực mới mẻ Hiện nay, mặc dùcamera Bird-view camera được nhiều người ưa chuộng và lựa chọn nhưng rat Ít cáccông ty ở Việt Nam sản xuất được Bird-view car camera nên đa số các sản phamBird-view car camera ở Việt Nam đa số là hàng nhập khâu Tuy vẫn còn là một lĩnhvực khá mới lạ ở Việt Nam nhưng với thì Bird-view car camera có rất nhiều tiềmnăng dé phát triển và ứng dụng trong tương lai
Trang 171.3 Giải pháp
Nhóm sử dụng 2 camera IMX219-200 Waveshare và 2 camera hành trình góc quay
rộng dé thu hình ảnh Và sau đó nhóm sử dụng những thuật toán Perspectivetransformation, warpPerspective, seamless stitching, color balancing để xây dựng
chương trình tạo ảnh Bird-view camera.
Nhóm sử dụng mô hình mạng SSD-Mobilenet V1 dé trainning dữ liệu vật cản gồm:
xe 6 tô, xe máy, người, động vật.
Nhóm sử dụng thuật toán Image Panorama Stitching xây dựng bối cảnh môi trường
xung quanh xe.
1.4 Mục tiêu khóa luận
Mục tiêu của đề tài là xây dựng một hệ thống camera Bird-view từ các camera gắnxung quanh xe, nhằm giúp người dùng có thé quan sát xung quanh xe 6 tô từ 2 đến
4 ché và chương trình sẽ được xử lý trên board NVIDIA Jetson Nano Developer
Kit Đồng thời, nhóm sẽ xây dựng chương trình phát hiện và cảnh báo vật cản khi
xe đến gần giúp người dùng tránh va chạm với vật cản khi đậu xe tránh gây xâyxước và hư hỏng xe Ngoài ra, nhóm sẽ xây dựng mô hình hién thị 3D với không
gian ảnh xung quanh xe.
Cụ thé dé tài :
e Sử dụng kit NVIDIA Jetson Nano và camera cùng với kiến thức về xử lí ảnh
dé ghép thành camera Bird-view từ các hình ảnh thu được
e Dùng mô hình mạng SSD-Mobilenet V1 dé phát hiện và cảnh báo vật cản.
e©_ Dùng thuật toán Image Panorama Stitching xây dựng bối cảnh môi trường
xung quanh xe.
Trang 181.5 Giới hạn của đề tài
Hình ảnh từ 4 camera được xử lí trên board NVIDIA Jetson Nano Developer
Kit để xây dựng hình ảnh Bird-view và hién thị lên màn hình độ phân giải
Trang 19Chương 2 CƠ SỞ LÝ THUYET
2.1 NVIDIA Jetson Nano Developer Kit
2.1.1 Giới thiệu chung
NVIDIA Jetson Nano Developer Kit là một máy tính nhỏ nhưng rất mạnh mẽ chophép ta chạy song song nhiều mạng neural sử dụng cho các ứng dụng như phân loạihình ảnh, phát hiện đối tượng, phân đoạn và xử lý giọng nói Tất cả trong cùng mộtnên tang dé sử dụng cũng như tiêu tốn ít hơn 5 watts
Jetson Nano cũng cấp 472 GFLOPS dé chạy các thuật toán AI hiện đại một cách
nhanh chóng, với một CPU quad-core 64-bit ARM, một NVIDIA GPU 128-core
được tích hợp trên board mạch, cũng như bộ nhớ 4GB LPDDR4 Có thể chạy song
song nhiêu mạng neural và xử lý đông thời một sô cảm biên có độ phân giải cao.
Chú thích : Thuật ngữ GFLOPS là một chi số đại diện cho tốc độ và kha năng tinh
toán của GPU, tương đương với kha năng thực hiện 19.2 tỷ phép tính trên một
giây.
Jetson Nano cũng được hỗ trợ bởi NVIDIA JetPack Bao gồm các gói hỗ trợboard (BSP), CUDA, cuDNNvà thư viện phần mềm TensorRT cho deeplearning, computer vision, GPU computing, multimedia processing và nhiều ứngdụng khác SDK cũng bao gồm khả năng cài đặt frameworks Machine Learning(ML) mã nguồn mở như TensorFlow, PyTorch, Caffe / Caffe2, Keras và MXNet,cho phép các nhà phát triển tích hợp các model AI/ framework yêu thích của họ vào
các sản phâm một cách nhanh chóng và dé dàng.
Đặc biệt : NVIDIA Jetson Nano đã có phiên bản mới nhất BO1, có nâng cấp thêmmột công CSI hỗ trợ sử dụng đồng thời 2 Camera
Trang 20- GPU: 128-core MaxwellTM GPU
- CPU: quad-core ARM® Cortex®-A57 CPU
Trang 21- Các giao diện :
+ Ethernet: 10/100/1000BASE-T self-negotiation
+ Camera: 12-ch (3x4 OR 4x2) MIPI CSI-2 DPHY 1.1 (1.5Gbps)
+ Display: HDMI 2.0, DP (DisplayPort)
+ USB: 4x USB 3.0, USB 2.0 (Micro USB)
+ Others: GPIO, I2C, I2S, SPI, UART
Trang 22sion header @ HDMI output port
@ Micro-USB port for 5V power input or for data (7) DisplayPort connector
[4] Gigabit Ethernet port @ DC Barret jack for SV power input
@ MIPL CSI camera connector
Hinh 2.2: Thong số kĩ thuật NVIDIA Jetson Nano Developer Kit [3]
2.1.3 Jetson Nano phù hợp với các dự án Machine Learning hon các loại
máy tính khác
NVIDIA Jetson Nano có thê chạy rất nhiều mạng tiên tiến và mới nhất, bao gồmtoàn bộ các framework Machine Learning phố biến như : Tensoflow, Keras,Pytorch, Caffe/Caffe2, Từ đó có thé áp dụng dé xây dựng, thiết kế các mô hình, cácthuật toán phức tạp của hệ thống Trí tuệ nhân tạo bằng cách tận dụng khả năng tínhtoán mạnh mẽ đến từ phần cứng của Jetson Nano đề nhận dạng và xử lý hình ảnh,
phát hiện, định vị đối tượng,
10
Trang 23Hình 2.3 cho thấy kết quả hiệu suất của một số mạng Machine Learning khác nhau
với Jetson Nano sử dụng thư viện TensorRT của NVIDIA và sử dụng độ chính xác
của FP16 và batch_ size 1
Deep Learning Inference Performance
OFFS ResNet-50 1 SSD Reset SSO RosNet- Inception V4 Mh OpenPose VGG:19 Super U-Net
(224x224) 18(360x544) 18(480x272) 18 (300x300) waster Mebane Tiothananieh (299x299) (256x256) (224x224) Resolution (1x5124512)
(960x544) (480x272) (300x300) iene (481x321)
Network Model
Hình 2.3: Hiệu suất của một số mạng Machine Learning khác nhau [3]
Bảng 2.1 sẽ cung cấp đầy đủ hơn hiệu suất của Jetson Nano khi chạy các mạngMachine Learning đồng thời so sánh với các nền tảng khác như Raspberry Pi 3,
Intel Nerual Compute Stick 2 và Google TPU Coral Dev Board :
11
Trang 24Inception Vá Classification PyTorch 11 FPS DNR DNR 9 FPS
máy tính nhúng khác Bên cạnh đó, kiến tric CUDA của Jetson Nano còn có thé sử
dụng cho lĩnh vực thị giác máy tính, xử lý tín hiệu số, các thuật toán FFT, BLAS,
LAPACK, cùng các nhân CUDA do người dùng tự định nghĩa.
12
Trang 25truyên tải hoặc mã hoá các ảnh tự nhiên Mục đích của xử lý ảnh gôm:
e Biến đối anh làm tăng chất lượng ảnh
e Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của ảnh.
Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình ảnh thànhnhững phan có ý nghĩa dé phân biệt đối tượng này với đối tượng khác, dựa vào đó
ta có thể mô tả cấu trúc của hình ảnh ban đầu Có thê liệt kê một số phương pháp
nhận dạng cơ bản nhất nhận dạng ảnh của các đối tượng trên ảnh, tách cạnh, phân
đoạn hình ảnh, Kỹ thuật này được dùng nhiều trong y học (xử lý tế bào, nhiễmsac thé), nhận dang chit trong van ban Camera IMX219-200
Trang 26Thu nhận ảnh: có thể nhận được qua camera màu hoặc đen trăng, đây là loại ảnh
tương tự.
Tiền xử lý: sau bộ phận thu nhận ảnh,ảnh có thé bị nhiễu hoặc độ tương phản thấpnên cần đưa vào bộ tiền xử lý để nâng cao chất lượng ảnh
Chức năng: lọc nhiễu, tăng hoặc giảm độ tương phản.
Phân đoạn ảnh : là tách anh đầu vào thành các vùng dé biéu diễn , phân tích và nhận
dạng ảnh.
Biểu diễn ảnh : các vật thé sau khi được phân đoạn có thể được mô tả đưới dạngchuỗi các điểm và biểu diễn ảnh thường được sử dụng khi ta quan tâm đến đặc tínhbên trong của vùng ảnh Vd : đường cong , hình dạng quá trình biểu diễn anh làviệc biến đôi các số liệu của ảnh thành dạng thích hợp và cần thiết cho quá trình xử
lý bằng máy tính
Nhận dạng và nội suy : là quá trình phân loại vật thể dựa trên cơ sở các chỉ tiết mô
tả vật thể và nhận dạng ảnh là quá trình xác định ảnh và quá trình nảy thu được
băng cách so sánh với mẫu đã được lưu trữ từ trước.
Cơ sở tri thức : các quá trình xử lý liệt kê trong hình thức xử lý anh được thực
hiện dưới sự giám sát và thực hiện dựa trên cơ sở các kiến thức về lĩnh vực xử lý
anh
14
Trang 272.3 Camera IMX219-200
Hinh 2.5: Camera IMX219-200 [5]
2.3.1 Dac điểm tính năng
e Hỗ trợ NVIDIA Jetson Nano Developer Kit, Compute Module 3/3+
Trang 28e Face recognition (Nhận diện khuôn mặt)
e Road mark detection (Phát hiện vạch kẻ đường)
e License plate recognition (Nhận điện bién số)
2.4 Giới thiệu sơ lược về PyTorch
PyTorch được Hugh Perkins phát triển như một trình bao bọc Python cho LusJIT
dựa trên khuôn khổ Torch Có hai biến thể PyTorch
PyTorch thiết kế lại và triển khai Torch bằng Python trong khi chia sẻ cùng các thưviện C lõi cho code phụ trợ Các nhà phát triên PyTorch đã điều chỉnh mã back-end
16
Trang 29này dé chạy Python một cách hiệu quả Họ cũng giữ nguyên khả năng tăng tốc phần
cứng dựa trên GPU cũng như các tính năng mở rộng đã tạo nên Torch dựa trên
Lua-based.
2.4.2 Tính năng
Các tính năng chính của PyTorch
¢ Giao diện thân thiện - PyTorch cung cấp API dé sử dụng; do đó nó được
coi là rất đơn giản dé vận hành và chạy trên Python Việc thực thi mã trongkhuôn khổ này khá dé dàng
e Sw dung Python - Thư viện nay được coi là Pythonic tích hợp tron tru với
ngăn xếp khoa học đữ liệu Python Do đó, nó có thể tận dụng tất cả các dịch
vụ và chức năng được cung cấp bởi môi trường Python
¢ D6 thị tính toán - PyTorch cung cấp một nền tảng tuyệt vời cung cấp đồ thị
tính toán động Do đó người dùng có thé thay đổi chúng trong thời gian chạy.Điều này rất hữu ích khi nhà phát triển không biết cần bao nhiêu bộ nhớ dé
tạo mô hình mạng noron.
PyTorch được biết đến với ba cấp độ trừu tượng như được đưa ra dưới đây:
« Tensor — Mang n-chiều bắt buộc chạy trên GPU
« Variable —Nut trong đồ thị tính toán Lưu trữ dữ liệu va gradient
« Module —Lép mạng nơ-ron sẽ lưu trữ trạng thái hoặc trọng số có thể học
được.
2.4.3 Ưu điểm
e Dễ dàng dé gỡ lỗi và hiểu mã
e Gồm rất nhiều hàm mất mát(loss function)
© Có thé coi đây là phần mở rộng NumPy cho GPU
e_ Cho phép xây dựng các mạng có cấu trúc phụ thuộc vào chính tính toán
17
Trang 302.5 Tổng quan Deep Learning và các khái niệm cơ bản
2.5.1 Giới thiệu
Deep Learning là một ngành hẹp của học máy, và do đó cũng là một ngành hẹp của
trí tuệ nhân tạo Mục tiêu trọng tâm của AI là cung cấp một tập hợp các thuật toán
và kỹ thuật có thể được sử dụng dé giải quyết van dé mà con người thực hiện bằngtrực giác và gần như tự động, nhưng với máy tính thì lại rất thử thách Một ví dụtuyệt vời về một loại van dé AI như vậy là việc hiểu nội dung của một hình ảnh -nhiệm vụ này là điều mà con người có thé làm với rất ít nỗ lực, nhưng nó đã đượcchứng minh là cực kỳ khó khăn dé máy móc thực hiện
Mạng nơ ron nhân tạo(ANN) là một lớp các thuật toán học máy học từ dữ liệu và
chuyên về nhận dạng mẫu, lấy cảm hứng từ cấu trúc và chức năng của não Như
đã biết, Deep learning thuộc về các thuật toán ANN, và trong hầu hết các trườnghợp, cả hai thuật ngữ có thể được sử dụng thay thế cho nhau Trong thực tế, ta cÓthé ngạc nhiên khi biết rang lĩnh vực học tập sâu đã tồn tại hon 60 năm, với nhữngcái tên khác nhau dựa trên nghiên cứu xu hướng, phần cứng và bộ dữ liệu có sẵn vàcác tùy chọn phô biến của các nhà nghiên cứu nổi tiếng tại thời điểm do
2.5.2 Cách thức hoạt động
Cách thức hoạt động của thuật toán Deep Learning diễn ra như sau: Các dòng
thông tin sẽ được trải qua nhiều lớp cho đến lớp sau cùng Lấy quy trình học củacon người làm ví dụ cụ thể Qua các lớp đầu tiên sẽ tập trung vào việc học các kháiniệm cụ thê hơn trong khi các lớp sâu hơn sẽ sử dụng thông tin đã học để nghiêncứu và phân tích sâu hơn trong các khái niệm trừu tượng Quy trình xây dựng biểudiễn dữ liệu này được gọi là trích xuất tính năng
Kiến trúc phức tạp của việc học sâu được cung cấp từ mạng lưới thần kinh sâu vớikhả năng thực hiện trích xuất tính năng tự động Ngược lại, trong học máy thôngthường còn gọi là học nông, nhiệm vụ nay được thực hiện khi truy xuất các thuậttoán cụ thê
18
Trang 31Simple Neural Network Deep Learning Neural Network
Viéc Deep Learning phat trién tao nén su chu động trong moi việc, con người dần
có thể điều khiển cuộc sông của mình Ngày này Deep Learning đang ứng dụng
rộng rãi trong cuộc sông điện hình như:
Mô phỏng và nhận điện hình ảnh:
Chắc hăn, chúng ta đều đã từng thấy máy tính tự động nhận diện và phân loại cáchình anh của ta Ví du: Facebook có thé tự động gan thẻ chính minh va ban bè.Tương tự, Google Photos có thể tự động gan nhãn ảnh của mình dé tìm kiếm dễ
dàng hơn.
Và Deep Learning có thể dễ dàng tìm và phân loại các hình ảnh theo ngày, sự kiện
mà không phải dùng thao tác thủ công mất thời gian
Trang 32không có rào cản và chúng ta sẽ có thê giao tiêp với những người khác trên toàn
Thứ hai, deep learning vẫn chưa thé nhận biết được những thứ phức tap hay tương
tự nhau Ly do là vì hiện chưa có kĩ thuật nao đủ tốt đề trí tuệ nhân tạo có thể rút ranhững kết luận đó một cách logic bởi chúng chưa có được khả năng nhận biết như
COn người.
Chưa hêt, những công cu trí tuệ nhân tao thê hiện tot hiện nay như Siri hay Cortana
đêu sử dụng nhiêu mánh khóe đê tránh né những câu hỏi khó và khiên ta có cảm
giác như đang nói chuyện với người thật vì chúng sử dụng các câu nói dua, câu trích
dân, các biêu hiện cảm xúc, được set săn đê làm ta phân tâm và không còn chú ý
đên câu hỏi ban đâu đặt ra nữa.
2.6 Mô hình Mobilenet-SSD V1
2.6.1 Tổng quan
Giới thiệu:
Mobilenet là một kiến trúc mạng thần kinh sâu có kích thước nhẹ được thiết kế cho
điện thoại di động và các ứng dụng thị giác nhúng Mobilenet đã được ứng dụng
nhiều vào thực tẾ, chăng hạn như ô tô tự lái, các tác vụ nhận dạng cần phải được
thực hiện kip thời trên một thiết bị có giới hạn tính toán MobileNet đã được phát
triển vào năm 2017 Các lớp cốt lõi của MobileNet được xây dựng trên các bộ lọc
20
Trang 33có thể phân tách theo chiều sâu Lớp đầu tiên, là một tích chập đầy đủ, là một ngoại
^
lệ.
Cùng thời điểm đó (2016), SSD: Single Shot detector cũng được phát triển bởinhóm Nghiên cứu của Google dé đáp ứng nhu cầu về các mô hình có thé chạy thờigian thực trên các thiết bị nhúng mà không cần đánh đổi đáng ké về độ chínhxác SSD được thiết kế dé phát hiện đối tượng trong thời gian thực R-CNN nhanhhơn sử dụng mạng đề xuất khu vực để tạo các hộp ranh giới và sử dụng các hộp đó
để phân loại các đối tượng Mặc dù được coi là khởi đầu chính xác, toàn bộ quá trình
chạy ở 7 khung hình mỗi giây Thấp hơn nhiều so với những gì cần cho một nhu cầu
xử lý thời gian thực SSD tăng tốc quá trình bằng cách loại bỏ sự cần thiết của mạng
dé xuất khu vực Dé giải quyết về vấn đề độ chính xác giảm, SSD áp dụng một vàicải tiễn bao gồm các feature map đa kích thước và sử dụng các hộp mặc định Nhữngcải tiến này cho phép SSD tiến gần được với độ chính xác của Faster R-CNN nhưnglại có thé sử dụng hình ảnh có độ phân giải thấp hơn, giúp day tốc độ cao hơn
Mô hình SSD được chia làm hai giai đoạn:
Trích xuất các feature map từ mạng CNN
Áp dụng convolutional filters (hoặc kernel filters) để phát hiện vật thể trên các
feature map có độ phân giải (revolution) khác nhau.
SSD được thiết kế dé độc lập với mạng cơ sở và do đó nó có thể chạy trên bất kỳ
mang cơ sở nào như VGG, YOLO, MobileNet.
Dé giải quyết thêm các hạn chế thực tế của việc chạy các mạng nơ-ron tiêu tốnnhiều tài nguyên và điện năng trên các thiết bị cấp thấp trong các ứng dụng thời
gian thực, MobileNet đã được tích hợp vào khung SSD Vì vậy, khi MobileNet
được sử dụng làm mạng cơ sở trong SSD, nó đã trở thành Mobilenet-SSD.
21
Trang 34image ——> -.- Block 15 Block 16 Block 17 1x1 convolution Convolution layer Convolution layer Convolution layer
Hinh 2.7: Gidi thiéu Mobilenet-SSD [7]
Kiên trúc:
MobileNet là một kiến trúc mạng nơ-ron phức hợp áp dụng trên các thiết bị có khảnăng tính toán hạn chế Kiến trúc tổng thể của mạng nơ-ron được trình bày tronghình Sử dụng MobileNet cho đến Convó, và sau đó tách tất cả các lớp tích chậpkhác Mỗi ban đồ tinh năng được kết nói với nhận dạng cuối cùng lớp, cho phépphát hiện và khoanh vùng các đối tượng có quy mô khác nhau
Extra feature layers MobileNet
Detections:8732 per Class Non-Maximum Supression
MobileNet-SSD
Khi hai mô hình Mobilenet-SSD và Yolo được dao tạo trên tap dữ liệu COCO (330K
Hình ảnh, hơn 80 đôi tượng) sẽ thu được các kêt quả sau.
Bảng 2.2: Bảng so sánh mô hình Mobilenet-SSD và YOLO [9]
22
Trang 35Do đó, dé triển khai trên thiết bị tiêu thụ điện năng thấp, MobileNet-SSD phù hợp
(a) Image with GT boxes (b) 8 x 8 feature map (c) 4 x 4 feature map
Hình 2.9: Cách thức phan chia feature map [10]
SSD chi cần duy nhất dau vào là 1 bức anh và các ground truth boxes ám chi vị tribounding box các vật thé trong suốt quá trình huấn luyện Trong quá trình phát hiệnvật thé, trên mỗi một feature map, chúng ta đánh giá các một top hợp nhỏ gồm
những default boxes tương ứng với các tỷ lệ cạnh khác nhau (aspect ratio) lên các
features map có kích thước (scales) khác nhau (chăng hạn kích thước 8x8 va 4x4trong hình (b) và (c)) Đối với mỗi default box (các boxes nét đứt trong hình) ta cần
dự báo một phân phối xác suấtc=(cl,c2, cn)tương ứng với cácclass C=C1,C2, ,Cn Tại thời điểm huấn luyện, đầu tiên chúng ta cần matchdefault boxes với ground truth boxes sao cho mức độ sai số được đo lường qualocalization loss là nhỏ nhất (thường là hàm Smooth LI - sẽ trình bay ở mục 2.2)
Sau đó ta sẽ tìm cách tối thiểu hóa sai số của nhãn dự báo tương ứng với mỗi vật thể
23
Trang 36được phát hiện trong default boxes thông qua confidence loss (thường là hàm
softmax - sẽ trình bày ở mục 2.2).
Như vậy loss function của object detection sẽ khác với loss function của các tác vụ
image classification ở chỗ có thêm localization loss về sai số vị trí của predicted
boxes so với ground truth boxes Đó là nguyên ly hoạt động chung của SSD.
Kiên trúc:
Extra Feature Layers
VGG-16 through Conv5_ 3 layer
CN: 3x3x1024 Gon: 1xìx1024 Conv: txtxZS6 Conv: txtx1ZBConv: 1x1x128 Con 1xixt28
(Com: IxSx$12-s2 Conv: 33x29 s2 Conv: 3x3x256%1 Con: 3x3x256-51
Hình 2.10: So đồ kiến trúc của mang SSD [10]
Kiến trúc của SSD được xây dựng trên VGG-16 được loại bỏ tang fully-connected
Lí do mà VGG-16 được sử dụng như tầng cơ sở là vì sự hiệu quả của nó trong bàitoán phân loại ảnh với các ảnh có độ phân giải cao Thay vì sử dụng tầng fully-connected của VGG, một tập các tầng convolution phụ trợ (cụ thé là 6 trong lưu đồ)được thêm vào, vì vậy ta có thể trích xuất được các features với nhiều tỉ lệ khácnhau, và giảm gần kích thước của đầu vào trong từng tầng mạng
Multibox:
Kĩ thuật bounding box được sử dụng trong SSD được lay ý tưởng từ Szegedy, mộtphương pháp sử dụng nhiều bounding box phù hợp với mọi đối tượng lớn nhỏ Dướiđây là kiến trúc của multi-scale convolution prediction được sử dụng trong SSD
24
Trang 378x8x96 8x8x96 4x4x256
(1x1 conv) (3x3 conv) (3x3 conv)
8x8x2048
Hình 2.11: Kiến trúc của multi-scale convolution prediction [11]
Hàm lỗi của MultiBox là sự kết hợp của 2 thành phan tương ứng với 2 chức năng
của SSD:
« Confidence Loss: thành phần này tính toán tỉ lệ rơi vào class ma bounding
box được tính toán Độ đo cross-entropy được sử dụng dé đo thành phan này
e Location Loss: Thanh phan này ước lượng sự sai lệch thực tế của bounding
box so với tập dữ liệu mẫu L2-Norm được sử dụng ở đây.
Nhóm sẽ không đi quá sâu vào phần toán học trong mô hình (ta có thể đọc thêmtrong paper nếu thực sự muốn tìm hiểu Hàm loss được xây dựng với 2 thành phần
trên có công thức như sau:
multibox_loss = confidence_loss + alpha * location_loss
Giá tri alpha giúp chúng ta cân bằng được sự ảnh hưởng của location loss Cũng nhưnhiều mô hình mạng trong deep learning, mục tiêu của chúng ta là tìm những giá trịtham số có thé tối thiểu được hàm Loss tốt nhất, theo đó đưa ra được những dự đoán
càng gân với dữ liệu mâu.
25
Trang 38Ta thấy SSD512 (mô hình SSD với kích thước đầu vào của ảnh là 512 x 512 x 3) có
độ chính xác mAP là cao nhât trong khi toc độ xử lý gân đạt mức realtime là 22 fps.
Hinh 2.12: Két quả so sánh các model trên COCO [13]
Single shot detectors có két qua ấn tượng frame per seconds (FPS) sử dung hình
anh có độ phân giải thap hon van dat độ chính xác.
2.6.3 MobilenetV1
Mô hình kiến trúc:
Kiến trúc mạng MobileNet được trình bày bên dưới
26
Trang 39Table 1 MobileNet Body Architecture
Hình 2.13: Mô hình kiến trúc mạng MobileNet [14]
Diễn dịch ra ngôn ngữ tự nhiên, chúng ta thấy răng mô hình có 30 lớp với các đặc
điêm sau:
« - Lớp 1: Convolution layer với stride bằng 2
e Lop 2: Depthwise layer
e - Lớp 3: Pointwise layer
« Lớp 4: Depthwise layer với stride bằng 2 (khác với bước 2, dw lớp 2 có
stride size bang 1)
e Lop 5: Pointwise layer
« Lép 30: Softmax, dùng dé phân lớp
Depthwise Separable Convolution:
27
Trang 40Depthwise separable convolution là một depthwise convolution theo sau bởi một
pointwise convolution nhu Error! Reference source not found.
Hình 2.14: Cấu trúc của một Depthwise Separable Convolution [15]
e Depthwise convolution: là một channel-wise DKxDK spatial convolution.
Vi dụ ở hình trên, ta có 5 channels ( cục đầu tiên có 5 khối hộp, cục thứ 2 là
phân tách 5 khối hộp ra thành ma trận mxn, cục thứ 3 là spatial convolution
có kích thước kxk, cục thứ 4 là kết quả sau khi convolution, cục thứ 5 là ráp
5 cái kết quả của convolution lại ), do đó chúng ta sẽ có 5 DKxDK spatial
convolution tương ứng với 5 channel trên.
e Pointwise convolution: đơn giản là một convolution có kích thước 1x1
So sánh:
Khi so sánh 1.0 MobileNet-224 với GoogleNet và VGG 16, chúng ta thấy rằng độchính xác của cả 3 thuật toán là hầu như tương đương nhau Nhưng 1.0 MobileNet-
224 có số lượng tham số ít (75% so với GoogleNet) và số lượng phép toán nhỏ hơn
rất nhiều nên chạy nhanh hơn.
28