TÓM TAT KHÓA LUẬNPhát hiện phương tiện giao thông trong không ảnh là một bài toán thuộc bài toán Phát hiện đối tượng trong lĩnh vực Thị giác máy tính.. Bộ dữ liệu chúng tôi thực nghiệm l
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN KHOA KHOA HOC VA KY THUAT THONG TIN
LE MINH PHUOC
KHOA LUAN TOT NGHIEP PHAT HIEN PHUONG TIEN GIAO THONG O MOI TRUONG ĐÔ THỊ VIET NAM TRONG ANH CHỤP
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC VA KY THUAT THONG TIN
LE MINH PHUOC- 18521262
KHOA LUAN TOT NGHIEP
PHAT HIEN PHUONG TIEN GIAO THONG O MOI TRUONG ĐÔ THỊ VIỆT NAM TRONG ANH CHỤP
TU DRONE
Vehicle Detection In Vietnam Urban Environment In Images
From Drone
CU NHAN NGANH KHOA HOC DU LIEU
GIANG VIEN HUONG DAN THS VO DUY NGUYEN
TS NGUYEN TAN TRAN MINH KHANG
TP HO CHÍ MINH, 2022
Trang 3THONG 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ố
Tigầy của Hiệu trưởng Trường Dai học Công nghệ Thông tin.
Trang 4LỜI CẢM ƠN
Lời cảm ơn đầu tiên, tôi xin dành lời cảm ơn sau sắc đến thầy ThS Võ DuyNguyên - giảng viên hướng dẫn của tôi trong khóa luận tốt nghiệp này Thầy luôngiúp đỡ, hướng dẫn, sửa chữa cũng như đóng góp nhiều ý kiến cho tôi dé tôi có théhoàn thành khóa luận được một cách tốt nhất Bên cạnh đó, tôi xin cảm ơn thầy TS.Nguyễn Tan Trần Minh Khang người luôn tao cảm hứng và động lực cho tôi trong
suốt quá trình nghiên cứu khoa học
Tôi xin chân thành cảm ơn tập thể quý thầy cô trường Đại học Công nghệThông tin, các quý thầy cô khoa Công nghệ Phần mềm và phòng thí nghiệm Truyền
thông Đa phương tiện MMLab đã truyền đạt kiến thức, hỗ trợ nhiệt tình và tạo điều
kiện cho tôi trong suốt quá trình tôi học tập tại trường
Bên cạnh đó, tôi xin gửi lời cảm ơn chân thành đên các anh chi, các bạn thành viên trong nhóm nghiên cứu đã luôn đông hành, giúp đỡ và động viên tôi trong suôt quá trình tôi thực hiện khóa luận này.
Cuôi cùng, tôi xin gửi loi cảm ơn đên bô mẹ và những người than trong gia đình, luôn vì tôi tạo mọi điêu kiện tôt nhât và động viên tôi trong suôt quá trình thực
hiện khóa luận.
Trong quá trình thực hiện khóa luận khó tránh khỏi những sai sót, hạn chê Tôi rât mong nhận được sự nhận xét, góp ý của quý thây cô và các bạn đê tôi có thê hoàn
thiện kiến thức, làm hành trang quý bao trên con đường học thuật
Sinh viên thực hiện
Lê Minh Phước
TP.Hồ Chí Minh ngày tháng năm 2022
Trang 5MỤC LỤC
TOM TAT KHOA LUAN 0010157 1Chương 1 TONG QUAN DE TAL ooeeeeececceccsccssessesesesessessessessessessessesessesseesesseaeees 2
1.1 Động lực nghiên CWU wo ee eeecescecesecesceceseeeeaeeesaeceeeceaeeceaecesaeceeeeceaeeesaeeeaes 2
1.2 Phát biểu bài tO8N ccc eeecssseeessseeessseeecssneecssnecessneeeessneecssneessueessneeeesneees 3
1.3 Các thách thỨc Ghi 4 1.4 Mục tiêu và phạm vi nghiÊn CỨU - c5 + 3+ *+*EE+veEEeeeseeereeeereeees 5 1.5 Dong góp khóa luận - - - c6 113321119 1119 111811 1 11 8 111 ng ng rệt 5
1.6 Cấu trúc khóa luận c:-+2++++tttEEktrttttkttrrtrtttrrrtrtrirrrrririrrrrrieg 6Chương2 CAC NGHIÊN CỨU LIEN QUAN -2- 2-2 s+csz+xe+rserxee §
2.1 Thị giác máy tính và các bài toán nổi bật - 2 2 s++zs+xe+zxerxez 8
2.1.1 Thị giác máy tính - c +1 k3 SH ng ngư 8
2.1.2 Các bài toán nổi bật -ccccccccrirrrrirrrrrirrrrrrirrrrrieg 82.2 Phát hiện đối ton g cccccecccscccsssesssessessseessessssssecssecssesssessscssecssscsscssecssecseseseesses 9
2.2.1 Giới 000 (210 RE 9
2.2.2 Phân loại thuật toán phát hiện đối tượng -¿- 5 5552 10
2.3 Phương pháp rút trích đặc trưng dựa trên hoc sâu -‹++-+++<+ 11
2.3.1 Mạng Neural NetwOrK Gv 11
2.3.2 Neural nhân tao (perceptron) eee eee 5 1E 12
2.3.3 Mạng neural da lOp ce ecceceeseessceseeeseceseeseeeseceeeeeeeseensecseeeeenseeaes 13
2.3.4 Ham kích hoạt (Activation fUnction) . -<<<<55<<<<<s<<<+ 14 2.3.5 Mạng tích chập (Convolutional Neural NÑetwork) -.- 16
2.3.5.1 Convolutional LAY€T - - - c t1 vn ng ng 17
“Em W0 06 18
Trang 62.3.5.3 Pooling LAy€T Ăn HH TH HH 18 2.3.5.4 Fully Connected Layer - «kh nrey 18 2.3.5.5 Fully Convolutional NÑ€tWOTK - che 19
2.4 Các phương pháp phát hiện đối tượng dựa trên học sâu liên quan 19
"mù ïe s4 4 40
ZAAL Con nh 40
Trang 72.4.4.2 YOLOv3 baselÏIi€ - - cty 41 2.4.4.3 AnCHOT-ÍT€ Ăn TH TH HH HH, 42 2.4.4.4 Decouple on na 45 2.4.4.5 Multiple DOSI{IV HH TH kg 46 2.4.4.6 End-to-end YOlLO - s1 nngh nHgnghnrn 46
Chương3 Bộ dữ liệu ULT-DRONE2L 55 St S+SssEsekseesrksreske 48
3.1 t1 0n 1.d 3ẰẢÖ 48
BLL v 48
“ 'Uy 2A 50 3.1.3 Miu NG ~ 7 h ẽ 52 3.2 Bộ dữ liệu UTT-IDrone2 [ - c << + 22211133 *££22EEEE+eezeeeeeerzee 53
3.2.1 Tổng quan về bộ dữ liệu UTT-Drone2l - -:-¿ s22 53
3.2.2 Định dạng nhãn dữ liệu của bộ dữ liệu UIT-Drone21 53 3.3 Phân tích bộ dữ liỆU - ¿5c 2c +S.*+.k SE SE HH HH Hgưệp 56 Chương 4 Thực nghiệm và đánh giá - - 5 5+ 5+ + sEEkeEseereereersesske 59
CA KT) BI ì0i0))v0 3)0.2.ũủũŨDỤDỤDỤDẦ 59
ALL MO tae B3dgŸẢHẦ , 59 4.1.2 Phân tích bộ dữ liỆu - - 5 5s gi, 59 4.2 Mô tả thực nghiỆm - S1 TH TH HH net 60
4.2.1 _ Quy trình thực nghiỆm G6 1v, 60
4.2.2 Cấu hình thực nghiệm 2-2 ++++E2+EE+EE+EEEEzEErrxerkerreee 61
4.2.3 Phương pháp đánh giá - - G5 SH ng gi, 61
4.2.3.1 Intersection over Union (LOU) 555cc s+sssseeeeesss 61 4.2.3.2 Confusion Matix - << << + << 2E EEEEEEEEEEEEEkEEEEEEEEESssss s2 62
Trang 84.2.3.3 Precision vs Recall - << << << << E EkEEEEEEEEESSSS SE 2555555512 63 4.2.3.4 Average Precision (AP) - - cv ng ng ng key 64 4.2.3.5 mean Average Precision (MAP) :cescecescesseeeseeeeeeeseeeeeeeeaeeees 64
4.3 Kết quả thực nghiệm và đánh giá ¿- c2 sSE+EE+E+2E+EerEerxerxerxeree 65
4.3.1 Kết quả thực nghiệm - + + ©ESE+EE+ESEESEEEerkerkerrerkrrkee 654.3.2 Trực quan hóa kết quả - 2-2 + +E+Ek+E++E++E+Et£Eerkerkerxerxee 66
4.3.3 Đánh giá kết quả -© +ck+ckcEEEEEEEEEEEEEEEErrkerkerreee 68
4.4 Ứng dụng Phát hiện đối tượng trong không ảnh - 2-5 5z55+ 70
4.4.1 — Giới thiệu Ă2cS 2k TH erereo 70 4.4.2 Quy trình hoạt đỘng - - Ăn HH HH gi, 70 4.4.3 Giao diện trang Web - cư 71
Chương 5 KÉT LUẬN VÀ HƯỚNG PHAT TRIEN . : -: 74
5.1 Kết luận đa T ~ve= | ⁄4 74
5.1.1 KẾt quả dat được ¿©-cc©cc+cxerxrereerreerxeerxee 74
5.1.2 s80: ằ e6 A1 75
Trang 9DANH MỤC HÌNH
Hình 1.1: Đầu vào bài toán - 222cc 2H ng re 3Hình 1.2: Đầu ra bài toán 22¿-+22++ttEEE HH re 4Hình 2.1: Phương pháp phát hiện đối tượng 1 giai đoạn và phương pháp phát hiện đối
tuong 2 giai doan 00011757 10
Hình 2.2: Mang neural với nhiều lớp ẩn ¿- ¿+ +¿2+++x£+£x++£x++zxzxssrxz 12Hình 2.3: Tế bào thần kinh sinh học con người - 2 2 s+x+zz£+£++zxszxzsz 12
Hình 2.4: Mô hình neural nhân tao .- - - - c5 + 1113111221111 11551111 kcrzze 13
Hình 2.5: Mô hình mạng neural đa lớp [20] .- - 6+ £+£++k£+e+seeseeeses 14
Hình 2.6: Đồ thị hàm Sigmoid 2¿- 5-22 S£2EE£2EE2EEE2EE22EEEEEEEEverxrrrxrrrrsree 15
Hình 2.7: Đồ thi hàm Tan, o ccccccscsssesssesssessssssesssecssecsssssecssecsussssessecsuscsseesessseesseess 15
Hình 2.8: Đồ thị hàm ReLU ¿ :¿-52+2+22++t2cc+vttrxttrtrrttrrrtrtrrrrrtrrrrrrrrrre l6Hình 2.9: Kiến trúc mạng CNN -¿ 2-©22+2+22212EE22E127122212112211221 21122 crk 17
Hình 2.10: Xây dựng anCHOTS - c2 2118910111911 1391119 11 9 vn re 21
Hình 2.11: So sánh độ lỗi khi số lớp khác nhau [24] -«+++-<++<e-++sxs+ 23Hình 2.12: Kiến trúc pyramid (bottom-up kết hợp với top-down) [25] 24Hình 2.13: Kiến trúc Faster R-CNN LHU @ 25
Hình 2.14: Cấu trúc CSPDarknet53 . 55+-22+ctEEtttttEkrrrrtkrrrtrrrrrrirrrie 30
Hình 2.15: Kiến trúc của PAN [27] -:-cc++s2cxxttrktrttrrtrrrrttrrrrrrirerrrirriie 31
Hình 2.16: Cách hoạt động của SPP [30] với đầu ra là lớp Fully-Connected [30] 32
Hình 2.17: Cách SPP được gắn vào cuối backbone 2 2s s+cscszzszs+2 33Hình 2.18: Cấu trúc tông quát của YOLOF [3] -. ¿-2¿©+++++cx+zx+zx+srsz 34
Hình 2.19: (a) Multiple-in-Multiple-out (MiMo), (b) Single-in-Multiple-out (SiMo), (c) Multiple-in-Single-out (MiSo), (d) Single-in-Single-out (S1So)[3| 35
Hình 2.20: Bên trái là cấu trúc ResNet, bên phải là cau trúc ResNeXt [31] 37
Hình 2.21: Dilated Encoder [3 ] - - 2+ *EE E3 2231 1111 ££££32 EEEkeszsskeeeeeezse 37
Hình 2.22: Cấu trúc YOLOF, trong đó Cout là số kênh của các đặc trưng, 'C5/CDS”
là tập feature map từ backbone [Ẵ]] - + + + k + k 3S 1S v.v ng re 39
Hình 2.23: Kiến trúc mạng Darknet-53 [ I4] .- - 5+ +5 + + + ++skExseereeerseeeess 42
Trang 10Hình 2.24: Minh họa Anchor-DOX - 2 1E E221 11111 253111 1111853111 key 43
Hình 2.25: Minh họa sự khác nhau giữa couple head trong kiến trúc YOLOv3 [14]
và decoupled head trong YOLOX [4] được các tác giả đề xuất [4] 45
Hình 2.26: Minh họa sự khác nhau giữa Single positive va Multiple Positives .46
Hình 2.27: Áp dụng kỹ thuật NMS lựa chọn bounding box tối ưu [32] 47
Hình 3.1: Hình minh họa bộ dữ liệu UAVDT [6] - 225 << << + ‡<++<ssseccessss 50 Hình 3.2: Hình minh họa bộ dữ liệu DOTA-v2.0 [Š] -. -<<<<<<<<<+2 51 Hình 3.3: Hình minh họa bộ dữ liệu VisDrone [7] . 2-5555 ++<<<<++<<<s++<+ 52
Hình 3.4: Hình ảnh minh họa của bộ dữ liệu UTT-Drone2 Ï - - - -<« 53
Hình 3.5: Minh họa về bối cảnh đa dang của bộ dự liệu UIT-Drone21 56Hình 3.6: Mat cân bằng giữa các đối tượng và nền 2 2c ccccxcrersrree 57Hình 3.7: Hình ảnh bi mờ do rung và điều kiện ánh sáng - 5-52 58Hình 3.8: Che khuất các đối tượng (các đối tượng che khuất nhau, 58Hình 4.1: Sự phân phối các đối tượng ở các tập dữ liệu . ¿ ¿+=5+ 59
Hình 4.2: Quy trình thực nghiỆm c1 19911391113 11 9 11 9 1 re 60
Hình 4.3: Minh họa cách tính To .- - - - + 1111111222111 11118111 kcerzee 62
Hình 4.4: Confusion Matrix [33] . - 7-55 E2 2222221 £££££255553311111 111 eeeee 63
Hình 4.5: Minh họa vùng mà công thức tinh AP tính toán -«++-<«>+ 64
Hình 4.6: Trực quan hóa kết qua Faster R-CNN, sscssscsssesssecssssessecssecstesseessecsseess 66Hình 4.7: Trực quan hóa kết quả YOLOv4 . 2: 22 5¿2++2++£x++£xzrxrzxesree 67Hình 4.8: Trực quan hóa kết quả YOLOX ccecessesseessessesssessessessessessesseeseseeseeseees 67Hình 4.9: Trực quan hóa kết quả YOLOF .0 c.cccccsscsscssessessessessesseseseseesessessessesseass 68
Hình 4.10: Quy trình hoạt động cửa website demo . +sS-sss+scsssssesers 70
Hình 4.11: Ảnh màn hình chính - ¿2 2£ +E£+E£+EE+EE+£E££EE+EEtEEerEzExrrxrrxerrex 71Hình 4.12: Anh màn hình upload file .c.cccccccsessesseessessessesssessessesssesseesessessseeseeseess 72Hình 4.13: Anh màn hình kết quả - 2-22 5¿++£2E++EE+2Ex2E++zx++rxzrxerxesree 72Hình 4.14: Ảnh màn hình lưu đữ liệu người dùng tải lên để phục vụ nghiên cứu 73
Trang 11DANH MỤC BANG
Bang 3.1: Khảo sát về các bộ dit liệu không ảnh -2- 2 2 2+ +x+£x+£sz£szse2 48Bang 3.2: Mô tả ý nghĩa giá trị các thuộc tính trong khối “categories” (.json) 54Bảng 3.3: Mô tả ý nghĩa giá trị các thuộc tính trong khối “image” (.json) 55Bang 3.4: Mô tả ý nghĩa giá trị các thuộc tính trong khối “annotations” (.json) .56Bảng 4.1: Kết quả thực nghiệm 2¿- 5-52 S£2EE2EE£EEE2EEE2EEEEEEEEEESEkrrrrerrerree 65
Bảng 4.2: So sánh kết quả thực nghiệm trên 2 bộ dữ liệu MS COCO [8] va
UIT-Drone21 [1], [2], [3], [4] - - - << 2 << 2222 1 EEEEEEEEEEEEEEEEEEEEEEEEESE 3555555311111 eeeeee 66
Trang 12DANH MỤC TỪ VIET TAT
STT Từ viết tắt Ý nghĩa
01 AP Average Precision
02_ |CNN Convolutional Neural Network
03_ |FPN Feature Pyramid Network
04 |IoU Intersection over Union
05 mAP Mean Average Precision
06 |NMS Non Maximum Suppression
07 | R-CNN Regions with Convolutional Neural Network
08 Rol Region of Interest
09 |RPN Region Proposal Network
10_ |SOTA State-of-the-Art
11 SPP Spatial Pyramid Pooling
12 UAV Unmanned aerial vehicle (drone)
Unmanned Aerial Vehicle Benchmark Object
J4 |UAVDT Detection and Tracking
15 YOLO You Only Look Once
Trang 13TÓM TAT KHÓA LUẬN
Phát hiện phương tiện giao thông trong không ảnh là một bài toán thuộc bài
toán Phát hiện đối tượng trong lĩnh vực Thị giác máy tính Đây đang là một bài toánnhận được nhiều sự quan tâm trên toàn thế giới trong giới nghiên cứu khoa học bởiUAV đang ngày được chú trọng trong nhiều lĩnh vực cũng như việc sử dụng hình ảnh
thu được từ camera của UAV giúp tránh được các hạn chế của camera an ninh
Trong nghiên cứu này, tôi nghiên cứu phương pháp phát hiện đối tượng
state-of-the-art: Faster R-CNN (2016) [1], YOLOv4 (2020) [2], YOLOF (2021) [3], YOLOX
(2021) [4] Đồng thời thực nghiệm các phương pháp này cho nhiệm vụ phát hiện đối
tượng trong không ảnh Bộ dữ liệu chúng tôi thực nghiệm là UTT-Drone21!, bộ dữ
liệu này chứ nhiều thách thức mới so với các bộ dữ liệu không ảnh khác đã được công
bố với những đối tượng phô biến trong giao thông Việt Nam bao gồm: Pedestrian,
Motor, Car, Bus Thông qua kết quả thực nghiệm, tôi đưa ra đánh giá đầy đủ, chỉ tiết
về các phương pháp thực hiện
Đóng góp nghiên cứu của tôi hiện tai đã được đăng tại Hội nghị Quốc gia “The
24nd National Conference on Electronics, Communications and Information
Technology (REV — ECIT 2021)”.
! https://uit-together.github.io/datasets/
Trang 14Chương 1 TONG QUAN ĐÈ TÀI
1.1 Động lực nghiên cứu
Sau làn sóng đại dịch COVID19 nhiều chính phủ, doanh nghiệp đã day mạnhtrong công việc phát triển công nghệ, tự động hóa, đồng thời chủ động trong việc tiếpcận các công nghệ tương lai để tránh giảm hiệu suất sản xuất cũng như lao động.Trong những năm gần lại đây ngành công nghiệp máy bay không người lái đã pháttriển nhanh chóng và được sử dụng rộng rãi trong một số ứng dụng và liên tục làm
tăng sự quan tâm của thị trường toàn cầu cũng như các nhà nghiên cứu Các ứng dụng
khác nhau từ giải trí đến các hoạt động quân sự Các ứng dụng này có thể thay thếcông việc của con người ở những nơi khó tiếp cận, việc phát hiện phương tiện từ các
camera trên không đã trở thành một khía cạnh quan trọng trong các nhiệm vụ cứu hộ
và theo dõi giám sát Hệ thống này ngày càng phổ biến do khả năng hoạt động linhhoạt ở các địa hình rộng, phức tạp và không có cau trúc Hơn nữa, kha năng di chuyềncủa máy bay không người lái còn cung cấp phạm vi phủ sóng rộng, độ phân giải
không gian cao và góc quay cơ động hơn so với các camera cô định ở mặt đât.
Với sự thông dụng của máy bay không người lái, lượng hình ảnh mang lại từ nó
ngày càng nhiều Tuy nhiên, đây chỉ là nguồn dữ liệu thô mà máy tính không thể hiểungữ cảnh và theo đõi các đối tượng nên cần các thuật toán phát hiện đối tượng tiếntiến dé giải quyết nhằm tối đa hóa việc theo dõi, giám sát các đối tượng trong ảnh vốn
là việc tôn rat nhiêu nhân lực, thời gian và chi phí.
Trong giới nghiên cứu khóa học, bài toán phát hiện phương tiện giao thông
trong không ảnh đang ngày càng phô biến Nhiều bộ dữ liệu đã được công bố như:
DOTA (2018) [5], UAVDT (2018) [6], VisDrone (2018) [7] và các cuộc thi như
ODAI (2018)?, VisDrone Challenge [7] được tổ chức nhằm khuyến khích giới
nghiên cứu đê xuât các phương pháp mới nâng cao độ hiệu qua cho bai toán.
? https://captain-whu.github.io/ODAI/
Trang 15Hiện nay bài toán phát hiện đối tượng đang ngày càng được chú trọng, là một
nhánh quan trọng của thị giác máy tính Phát hiện đối tượng trong không ảnh không
chỉ trợ giúp cho ngành giao thông mà con mang lại nhiều lợi ích cho các lĩnh vực
khác của cuộc sống như du lịch, quân sự, kinh tế, và đang được giới nghiên cứu
quan tâm Ngày càng nhiều các phương pháp học sâu state-of-the-art được các nhànghiên cứu phát triển và đề xuất Điều này đã thúc đây tôi thực hiện tìm hiểu, thựcnghiệm và nghiên cứu đề tài “Phat hiện phương tiện giao thông ở môi trường đô thị
việt nam trong ảnh chụp từ drone”.
1.2 Phát biểu bài toán
Phát hiện tối trong không ảnh là một trong những bước dau, quan trọng cốt lõitrong cho các bài toán thực tế quan trọng như giám sát giao thông, phân tích giaothông, phát hiện mục tiêu, theo dõi đối tượng (tracking), Chính vì thế nghiên cứucủa tôi là tiền đề quan trọng cho những nghiên cứu trong tương lai
Bài toán phát hiện phương tiện giao thông trong không ảnh (Vehicle detection
in aerial images) nhận dau vao 1a anh chụp giao thông được trích xuất từ camera của
UAV va, đầu ra của bài toán là vị trí các đối tượng quan tâm trong không ảnh (nếucó) được xác định bằng các hộp giới hạn và nhãn của chúng (Hình 1.1, 1.2)
Trang 161.3 Các thách thức
Thông qua quá trình tìm hiểu, khảo sát về bài toán phát hiện đối tượng không
ảnh, tôi nhận thấy thách thức của bài toán tương đối nhiều, đến từ nhiều yếu tô khác
nhau.
Về dữ liệu, không giống như ảnh đến từ các camera giám sát giao thông bình
thường, hình ảnh đến từ camera máy bay không người lái phụ thuộc vào độ cao bay,hình dạng phương tiện, thời tiết, ánh sáng, ảnh hưởng lớn đến quá trình nhận diện
các đôi tượng Sự phân bố về mặt dữ liệu cũng là một khó khăn, khi số lượng motor
ở đường phó rất nhiều còn các phương tiện khác như bus hay pedestrian lại chiếm
một phần rất nhỏ trong bộ dữ liệu, phản ánh đúng thực trạng giao thông của Việt
Nam Ngoài ra vì là không ảnh nên trong khi vừa bay vừa chụp ảnh liên tục không thê tránh khỏi việc hình anh bi mờ, nhoe.
Ngoài những thách thức về mặt dữ liệu, khó khăn về phương pháp tiếp cận cũnglớn Hiện nay có rất nhiều công bố sử dụng kiến trúc mang học sâu dé phát hiện đốitượng, song mỗi mạng điều mang lại các kết quả khác nhau trên nhiều bộ dữ liệu tổng
quát (MS COCO [8], Pascal VOC [9], ImageNet [10], ) cho bài toán lớn là Phát hiện
Trang 17đối tượng Mặc dù các phương pháp phát hiện đối tượng luôn được phát triển và cải
thiện đáng kể nhưng phương pháp dành cho phát hiện trong không ảnh vẫn còn rấtmới mẻ, cần sự nghiên cứu và thực nghiệm nhiều hơn để tìm ra phương pháp hiệu
quả Nhận thấy sự vượt trội của học sâu trong việc phát hiện đối tượng, tôi chọn các
phương pháp học sâu SOTA: Faster R-CNN [1], YOLOv4 [2], YOLOF [3], YOLOX
[4] dé tiến hành nghiên cứu, thực nghiệm và đánh giá trên bộ dữ liệu
1.4 Mục tiêu và phạm vi nghiên cứu
Trong khóa luận này phạm vi nghiên cứu, mục tiêu chính là:
e_ Khảo sát, tìm hiểu tổng quan về bài toán phát hiện đối tượng trong không
ảnh.
e Khảo sát một các bộ dit liệu về không ảnh như UAVDT [6], DOTA [5],
VisDrone [7],
e Tìm hiểu, nghiên cứu và cài đặt thực nghiệm phương pháp hoc sâu dựa trên
bộ dữ liệu UIT-Drone21 và so sánh các phương pháp đã sử dụng.
e Cài dat các thực nghiệm các phương pháp: Faster R-CNN [1], YOLOv4 [2],
YOLOX [4], YOLOF [3].
e Nghién cứu, so sánh và đánh giá đựa trên kết quả thực nghiệm
e Nghiệm thu kết quả, đánh giá, phân tích kết quả và mô hình thực nghiệm
e Tổng hợp, phân tích và viết báo cáo
Trang 18o Tổng hợp các kiến thức có liên quan đến phát hiện đối tượng Faster
R-CNN [1], YOLOv4 [2], YOLOF [3], YOLOX [4].
© Đóng góp về thực nghiệm:
o Thực nghiệm các mô hình Faster R-CNN [1], YOLOv4 [2],
YOLOF [3], YOLOX [4] trên bộ dữ liệu UIT-Drone21.
o Đánh giá chi tiết về bộ dữ liệu cũng như kết quả thực nghiệm của
mô hình.
e Đóng góp về nghiên cứu khoa học:
o Ngé Minh Phú, Lê Minh Phước, Võ Duy Nguyên, Nguyễn Tan
Trần Minh Khang, “Phát hiện phương tiện giao thông ở môitrường đô thị việt nam trong ảnh chụp từ drone” Hội thảo Quốcgia lần thứ XXIV về Điện tử, Truyền thông và Công nghệ Thông
tin — REV-ECIT 2021 (Đã được đăng)
1.6 Cấu trúc khóa luận
Khóa luận gồm 5 Chương với các nội dung chính sau:
o Chương 1: Tổng quan đề tài
Giới thiệu về nội dung đề tài bao gồm động lực nghiên cứu, phát biểu bài
toán, mục tiêu, phạm vi của nghiên cứu và những đóng góp chính trong
khóa luận.
o Chương 2: Các công trình nghiên cứu liên quan.
Trình bày tổng quan về Thị giác máy tính, khảo sát các hướng nghiên cứutrên thế giới, hướng tiếp cận bài toán phát hiện tối tượng dựa trên học Cáckiến thức rút trích đặt trưng và các phương pháp phát hiện đối tượng dựa
trên học sâu.
o Chương 3: Bộ dữ liệu UIT-Drone21.
Trình bày về tổng quan về bộ dữ liệu UIT-Drone21, phân tích bộ dữ liệu
xây dựng được, khảo sát các bộ dữ liệu tương tự.
o Chương 4: Thực nghiệm và đánh giá.
Trang 19Trình bày quá trình cải đặt thực nghiệm, các thông số chỉ tiết, phươngpháp đánh giá, phân tích và so sánh kết quả.
Chương 5: Kết luận và hướng phát triển
Tổng kết các kết quả quan trọng đã đạt được trong dé tài, hạn chế và hướng
phát triên của đê tai trong tương lai cho các nghiên cứu cải tiên hơn.
Trang 20Chương2 CÁC NGHIÊN CỨU LIÊN QUAN
2.1 Thị giác máy tính và các bài toán nỗi bật
2.1.1 Thi giác máy tính
Thị giác máy tính (Computer Vision) là một lĩnh vực được rất nhiều sự quan
tâm của giới nghiên cứu trong Artificial Intelligence và Computer Science (Trí tuệ
nhân tạo và Khoa học máy tính) nhằm giúp máy tính có được khả năng nhìn và hiểu
giông như con người.
Thị giác máy trính cho phép các máy tính, robot, phương tiện điều khiển bangmáy tính, có thể hoạt động tự động một cách toàn và hiệu quả Tầm quan trọng của
nó đã được thé hiện rõ ràng trong thời đại kỹ thuật số, khi mà số lượng hình ảnh,
video, được sinh ra hàng ngày là vô cùng lớn Thế giới ngày nay tràn ngập những
hình ảnh kỹ thuật số và chúng ta cần những công nghệ máy tính này mới có thê xử lý
được tất cả - nó đã vượt qua khả năng mà con người không thê xử lý được
2.1.2 Các bài toán nối bậtMột số bài toán phô biến trong lĩnh vực Computer Vision:
o Phân loại ảnh (Image classification): là một bài toán với mục đích dự đoán
(phân loại) lớp (người, chó, méo, ) của đối tượng trong ảnh Cho ta biết
trong ảnh có đối tượng gì
e Input: Một hình ảnh với một đối tượng
e Output: Nhãn lớp (ví dụ: một hoặc nhiều số nguyên được ánh xạ
tới nhãn lớp).
o Định vị đối tượng (Object localization): là một bài toán hỗồi quy trong đó
dau ra là tọa độ x và y xung quanh đối tượng quan tâm dé vẽ các hộp giới
hạn Cho ta biết đối tượng nằm ở vị trí nào trong ảnh
e Input: Một hình ảnh có một hoặc nhiều đối tượng
Trang 21e Output: Một hoặc nhiều Bounding box (hộp giới hạn) được xác định
bởi tọa độ tâm (x,y), chiều rộng và chiều cao tương ứng với từng
đối tượng
o Phát hiện đối tượng (Object detection): là một bài toán kết hợp giữa phân
loại ảnh và định vị đối tượng Cho một hình ảnh, một thuật toán phát hiệnđối tượng sẽ trả về các hộp giới hạn xung quanh tất cả các đối tượng quan
tâm và gán một lớp cho chúng.
e Input: Một hình ảnh có một hoặc nhiều đối tượng
e_ Output: Một hoặc nhiều Bounding box của các đối tượng quan tâm
và nhãn đối tượng tương ứng với Bounding box đó
o Truy vết đối tượng (Video object tracking mục dich là xác định vi trí một
hoặc nhiều đối tượng quan tâm (“mục tiêu”) trong mỗi khung hình (frame)
Localization) và thực hiện cho một hoặc nhiều đối tượng trong ảnh
Với sự ra đời của mạng nơ-ron tích chập (CNN) và những tiễn bộ của công
nghệ thị giác máy tính (Computer Vision), đã mang đến nhiều cách tiếp cận cũng nhưnhiều thuật toán phát hiện đối tượng hiệu quả hơn Phát hiện đối tượng đã và đang
được ứng dụng rộng rãi trong đời sống như nhận dạng biển số xe, phát hiện và nhận
dạng khuôn mặt, theo dõi đối tượng, ô tô tự lái, người máy, Sự phát triển của các
thuật toán phát hiện đối tượng không chỉ đem lại lợi ích cho giới nghiên cứu, chongành Công nghệ thông tin mà còn cho rất nhiều ngành, nghề trong cuộc sống chúng
ta.
Trang 222.2.2 Phân loại thuật toán phát hiện đối tượngThuat toán phát hiện đối tượng chia làm 2 nhóm chính:
One Stage Object Detection
Bounding Boxes
Two Stage Object Detection
Bounding
Boxes
(Jausay ‘99A) auogyaeg
Hình 2.1: Phương pháp phát hiện đối tượng 1 giai đoạn và phương pháp phát hiện
đôi tượng 2 giai đoạn [11].
o Phương pháp phát hiện đối tượng 1 giai đoạn (one-stage/single-stage object
detection/detector): Bao gom các mô hình họ YOLO [2], [12]-[14], SSD [15],
RetinaNet [16], Khác với các phương pháp hai giai đoạn, phương pháp này
sẽ không có công đoạn trích chọn các vùng đề xuất mà đồng thời xác định và
phân lớp cho các vùng đặc trưng Các mô hình một giai đoạn sẽ xem xét bài
toán phát hiện đối tượng như một bài toán hồi quy và dựa trên hộp giới hạnđịnh nghĩa trước (pre-define box) hay còn gọi là hộp neo (anchor box) dé pháthiện đối tượng YOLO là phương pháp được khám phá đầu tiên giúp phát hiện
trực tiếp các đối tượng trên bản đồ đặc trưng dày đặc Các mô hình một giai
đoạn phát triển không thực sự hoàn hảo khi có sự đánh đối giữa tốc độ và độ
chính xác, tốc độ thời gian thực nhưng độ chính xác thường kém hơn so với
các phương pháp hai giai đoạn Về cơ bản, phương pháp một giai đoạn được
10
Trang 23dùng phát hiện đối tượng với yêu cầu tốc độ thời gian thực (real time) nhưng
độ chính xác khơng bằng các phương pháp 2 giai đoạn
o Phương pháp phát hiện đối tượng 2 giai đoạn (two-stage object
detection/detector): Bao gồm các phương pháp thuộc họ R-CNN [17]
(Region-Based Convolutional Neural Networks) như Fast R-CNN [18], Faster R-CNN
[1], Mask R-CNN [19] Phuong phap nay thuc hién 2 phan gom trich choncác vùng trên hình ảnh cĩ khả năng cĩ đối tượng dựa vào các anchor box, sau
đĩ ở giai đoạn cịn lại mơ hình thực hiện phân loại đối tượng và xác định vi trí
đối tượng bang cách hồi quy họp giới han (Bounding box Regression) và phân
loại đối tượng (Object Classification) Với khả năng dự đốn cĩ độ chính xác
cao, các mơ hình two-stàe thường được sử dụng trong các bải tốn định vị và
nhận diện vật thé tĩnh (hình ảnh) cĩ yêu cầu cao về độ chính xác nhưng khơng
quá cao về toc độ xử lý.
2.3 Phương pháp rút trích đặc trưng dựa trên học sâu
Rút trích đặc trưng (Feature Extraction) là một trong những bước cốt lõi trongquá trình Phát hiện đối tượng, trực tiếp ảnh hưởng đến hiệu quả của các mơ hình Làquá trình chuyền đổi dữ liệu thơ thành các đối tượng số cĩ thể được xử lý trong khi
vẫn bảo tồn thơng tin trong tập dữ liệu sốc Nĩ mang lại kết quả tốt hơn so với việc
áp dụng máy học trực tiếp vào dữ liệu thơ
2.3.1 Mạng Neural Network
Neural Network là một phát minh quan trọng, gĩp phần thúc đây sự phát triểnvượt bậc của cơng nghệ đặc biệt trong các lĩnh vực về khoa học máy tính Về cơ bản,mạng neural dùng dé rút trích đặc trưng mơ hình chung của một bộ dữ liệu đầu vào
định sẵn, dựa vào đĩ các nhà nghiên cứu cĩ thé sử dụng dé phân tích thơng tin, phát
triển các giải pháp giải quyết các vấn đề khác nhau Kiến trúc căn bản của một mạngneural network là tổ hợp của nhiều lớp (layer) được phân ra ba nhĩm chính: lớp đầuvào (Input layer), các lớp ân (Hidden layers), lớp đầu ra (Output layer) Hình 2.2 cho
thay, một lớp riêng biệt cĩ nhiêu nút diém, đây là nơi điện ra các tác vụ chính của
lãi
Trang 24lớp Các nút điểm được nối với nhau thông qua các liên kết sao cho dữ liệu đầu ra
của lớp này là đầu vào của lớp kế tiếp, dữ liệu sẽ tiếp tục được xử lý dé thu được kết
quả mong muôn ở lớp cuôi cùng.
Hình 2.2: Mang neural với nhiều lớp an’
2.3.2 Neural nhân tao (perceptron)
Hình thức co ban của mang neural nhân tạo được đưa ra bởi Frank Rosenblatt
tại phòng thí nghiệm Corell Aeronautical vào những năm 1950 Ông đã đưa ra môhình bằng cách mô phỏng bộ não con người Bộ não con người là tập hợp các tế bàothần kinh được cấu thành từ phần thân (soma) với nhân ở bên trong và xung quanh
có nhiều sợi nhánh với một sợi trục chính, các tế bào thần kinh kết nối với nhau thông
qua sợi nhánh và sợi trục Các xung động thần kinh được tiếp nhận từ sợi nhánh sẽ
được gửi vào phần thân xử lý, xung động lan truyền qua sợi trục, nếu chúng vượtngưỡng, xung thần kinh được lan truyền cho các tế bào thần kinh khác (Hình 2.3)
impulses carried toward cell body
sự
nucleus
branches dendrites
Trang 25Dựa trên cấu trúc và nguyên lý lan truyền xung thần kinh của bộ não người,neural nhân tạo lấy các giá trị đầu vào x1, x;, , x„ từ các neural khác, cùng với wy,w;, Wy đại diện cho tín hiệu đầu ra Thay thế cho ngưỡng lan truyền xung than
kinh chính là tập các hàm kích hoạt (activation) Hình 2.5 cho thấy Sự tương đồng
giữa kiến trúc neural nhân tạo và tế bào thần kinh sinh học ở người Bên cạnh đó, đầu
ra của một neural nhân tạo thường là giá trị nhị phân, về mặt toán học thì neural có
thê được biêu diễn như sau:
Xét đến việc giải quyết một vấn đề phức tạp, một vài neural nhân tạo hiển nhiên
là chưa đủ, đo đó cần phải tổ chức lại các neural thành một cấu trúc mạng thống nhấtvới quy mô lớn về số lượng neural cũng như là kết cấu phức tạp hơn Hình 2.6 mô ta
kiến trúc mạng điển hình, với một lớp đầu vào theo sau đó là tập n lớp ấn liên tục
5 https://starship-knowledge.com/neural-networks-perceptrons
13
Trang 26nhận tín hiệu từ lớp trước nó liên kết dé tạo thông tin trừu tượng cho lớp tiếp theo.
Quá trình này sẽ lặp lại cho đến lớp đầu ra cuối cùng, nơi mà quyết định được đưa ra
yi
Outputs
Yn
Hình 2.5: Mô hình mang neural da lớp [20].
2.3.4 Hàm kích hoạt (Activation function)
Trong quá trình học, trọng số va bias được tinh chỉnh dan theo thời gian dé đưa
kết quả tiến gần đến giá trị thực Ngoài một hàm mat mát (loss function) được thiếtkết để ước tính lỗi và truyền lại tín hiệu cho neural điều chỉnh tham số thì còn có mộthàm kích hoạt Hàm kích hoạt được thiết lập ở mỗi neural với nhiệm vụ ánh xạ đầu
ra từ neural đến miền giá trị mong muốn trước khi lan truyền kết quả ấy đến nhữngneural khác đảm bảo duy trì việc học của mạng được tiếp diễn Hàm kích hoạt phải
là hàm phi tuyến tính để dữ liệu đầu ra cũng có tính chất phi tuyến, đều này rất quantrọng nếu không muốn phá vỡ phân cấp kiến trúc mang và biến đổi nó thành một tổhợp tuyến tính Một số hành kích hoạt cơ bản:
Hàm sigmoid (Hình 2.6): Đây là hàm được sử dụng phổ biến vì độ phức tapthấp, mô phỏng tốc độ neural sinh học và đưa các giá trị về miền [0,1] Tuy nhiên,hàm kích hoạt này sẽ bị giới hạn trong quá trình học khi bộ dữ liệu đầu vào quá nhỏ
hoặc quá lớn, khi đó các neural sẽ bị bão hòa và quá trình học sẽ ngừng lại Công thức của hàm sigmoid:
14
Trang 27Hình 2.6: Đồ thị hàm Sigmoid’.
Hàm Tanh: Miền giá tri hàm này thuộc đoạn [-1, 1], chính vi vậy mục tiêu của
nó là khắc phục hạn chế của hàm Sigmoid Đồ thị hàm Tanh được biểu diễn như
Trang 28Hàm ReLU (Rectified Linear Unit) (Hình 2.8): Hàm kích hoạt được sử dung
nhiều nhất trên thế giới hiện nay, ReLU cho phép quá trình học nhanh hơn so với hàmSigmoid và Tanh Vì vậy, nó được sử dụng trong hầu hết các mạng thần kinh tích
chập hoặc học sâu Có dang đồ thị tương đồng với Sigmoid, nhưng đối với ReLU,
f(z) = 0 khi z < 0, f(z) = z khi z lớn hơn hoặc bang 0, miền giá trị được xác định trong
khoảng [0 đến infinity)
f(x) = max(x, 0)
0.0 —75/ 22A5 0.0 25 5.0 75
Hinh 2.8: D6 thi ham ReLU 8
Ngoài những hàm kích hoạt trên, hiện nay giới nghiên cứu liên tục cải tiến vàđưa ra các hàm kích hoạt mới nhằm nâng cao hiệu xuất huấn luyện mô hình: softmax,
mish, swish,
2.3.5 Mạng tích chập (Convolutional Neural Network)
Mang tich chap (CNN) cau thành từ một tập hợp vô số neural được tô chức
thành nhiều lớp với các kết nối trực tiếp giữa hai lớp liên tiếp nhau Mạng hoạt động
theo nguyên lý phản hồi và lan truyền ngược dé học bộ trọng số và bias tốt nhất chotiến trình tổng quát hóa mô hình cho vấn đề cần giải quyết Điểm nỗi bậc cho kiến
trúc này là các neural được sắp xêp theo ba chiêu: chiêu rộng, chiêu cao, chiêu sâu,
8 https://machinelearningmastery.com/rectified-linear-activation-function-for-deep-learning-neural-networks/
16
Trang 29vì vậy nó có thê làm giảm số lượng tham số đầu vào trong khi vẫn đảm bảo quá trình
học và độ chính xác cao cho mô hình.
Kiến trúc của CNN (Hình 2.9), một số loại lớp được định nghĩa để thực hiệncác mục đích khác nhau bao gồm: Fully Connected Layer, Convolutional Layer,Dropout Layer, Pooling Layer và Max Pooling Layer Tất cả chúng thường được thiếtlập trong một kiến trúc CNN cơ bản
lLZ INPUT CONVOLUTION + RELU POOLING CONVOLUTION + RELU POOLING FLATTEN (owmwgcrep SOFTMAX
FEATURE LEARNING CLASSIFICATION
Hình 2.9: Kiến trúc mạng CNN°
2.3.5.1 Convolutional Layer
Lớp tích chập (Conv-layer) đảm nhận nhiệm vu chính trong tiến trình rút tríchđặc trưng của dữ liệu đầu vào trong quá trình học Về căn bản, lớp này thực hiện thaotác tích chập trên dữ liệu, sau đó lan truyền thông tin đầu ra cho lớp tiếp theo mà nóliên kết Tuy nhiên, không giống với Fully Connected Layer sử dụng toàn bộ thông
tin dữ liệu, đối với dữ liệu ảnh thì nó giữ thông tin kết nối cục bộ của các điểm ảnh,
vì chúng chứa đặc trưng cục bộ Nguyên lý hoạt động của Conv-layer dựa trên ý
tưởng bộ não con người ghi nhớ một bức tranh, ghi nhớ đặc điểm nổi bật của bức
tranh.
Đôi với Conv-layer, đê xây dựng được kiên trúc của nó va đảm bảo thực thi
chức năng tích chập hiệu quả, chúng ta cần chú trọng ba siêu tham số chính:
°
https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53
17
Trang 30e Depth: Chiều sâu của kích thước đầu ra phụ thuộc vào sỐ lượng bộ lọc
được áp dụng trên ảnh Mỗi bộ lọc sẽ có cách đánh giá khác nhau về ảnhđầu vào và rút trích ra các đặc trưng khác nhau
e Stride: Biểu thị số bước nhảy mà bộ lọc dịch chuyển Ví dụ: Nếu stride
bằng 3, thì mỗi bước nhảy của bộ lọc trên đối tượng là 3 pixel Vai tròchính của thông số này là giảm kích thước đầu ra
e_ Zero-padding: Được biết đến trong tác vụ thêm giá trị 0 vào viền ảnh của
dữ liệu đầu vào Điều này có tác dụng duy trì kích thước dữ liệu tươngthích với các bộ lọc được áp dụng trong kiến trúc mạng
2.3.5.2 Dropout Layer
Đây là lớp có nhiệm vu ân đi các neural theo một xác xuất đã định trước, việc
an các neural làm cho network tránh tình trang overfitting, giảm thiểu thời gian tinh
Có nhiều biến thể của Pooling Layer: Max Pooling, L2-Pooling, AveragePooling Trong đó, Max Pooling với bộ lọc 2x2 và stride 2 được sử dụng phô biếntrong kiến trúc CNN vì giúp loại bỏ 75% tác vụ xử lý dữ liệu đầu vào
2.3.5.4 Fully Connected Layer
Day là lớp dién hình trong kiến trúc mang neural truyền thống Thông thường,lớp này được dùng cho cấu tạo một số lớp cuối cùng của kiến trúc CNN đề thực thi
nhiệm vụ tông hợp đâu ra và tạo kêt quả cuôi.
18
Trang 312.3.5.5 Fully Convolutional Network
Mang tich chap day đủ là một kiến trúc linh động cho phép học với dir liệuđầu vào có kích thước tùy ý và đầu ra có kích thước tương ứng (chiều không giantương ứng) Fully Convolutional Network kế thừa từ các kiến trúc mạng phân lớphiện nay như: GoogleLeNet [21], VGGNet[22], AlexNet [23], giải quyết các van
dé phân đoạn phức tạp Thực chat, mạng này có khả năng tinh chỉnh ba thông số
(h x w x d), trong đó h và w là chiều cao và chiều rộng, d là chiều sâu của tất cả
các lớp trong mạng.
2.4 Các phương pháp phát hiện đối tượng dựa trên học sâu liên quan
2.4.1 Faster R-CNN
Khoảng giữa năm 2015, một đội của MicroSoft Research gồm Shaoding Ren,
Kaiming He, Ross Girshick, va Jian Sun, đã tìm ra cách thực hiện Region Proposal
một cách tối ưu hơn thông qua một kiến trúc mà họ đặt tên là Faster R-CNN [1]
2.4.1.1 Giới thiệu
Vào năm 2014, R-CNN [17] được giới thiệu liền lập tức nhận được rất nhiều
sự quan tâm trong cộng đồng giới nghiên cứu, đặc biệt là những người tìm hiều vềComputer Vision R-CNN [17] đề xuất ý tưởng sử dụng ROI, sử dụng phương phápSelective Search (SS) dé đề xuất khoảng 2000 Regions-Of-Interest (ROT), sau đó sửdụng mang CNN để trích xuất các feature Cac feature này được sử dung dé phân loại
ảnh và vùng đối tượng bằng cách sử dụng SVM (Support Vector Machines) và các
phương pháp hồi quy.
Kế thừa các ý tưởng của R-CNN [17] các phương pháp mới được ra đời Fast
R-CNN [18] một phương pháp nhanh hơn và tốt hơn trong bài toán Object Detection
Năm 2015, phương pháp Fast R-CNN [18] ra đời, đã sử dụng ROI Pooling, phương pháp này chia các feature trên toàn bộ bức ảnh và sử dụng một phương pháp có dạng
Spatial Pyramid Pooling đề trích xuất các feature theo một cách hiệu quả
19
Trang 32Mặc dù với nhiều cải tiến như vậy, nhưng van đề với Fast R-CNN [18] là nóvẫn còn khá chậm bởi vì nó cần phải thực hiện Selective Search, thứ mà phải tínhtoán rất lâu Mặc dù Fast R-CNN [18] chỉ tốn 0.32s so với 47s của R-CNN [17] tại
thời gian test dé thực hiện một dự đoán, và tốn thêm 2s dé khởi tạo 2000 ROI Tổng
cộng tốn lên đến 2.3s cho mỗi bức hình
Do hiệu suất tính toán chậm ở trên nên các nhà nghiên cứu, cải tiến và đã đềxuất phương án Faster R-CNN [1] chỉ tốn 0.2s cho mỗi bức hình trong thời gian testvới Region Proposal Giải pháp cho van đề trên là thêm một neural network dé tríchxuất các feature Nói cách khác, sử dụng neural network dé tim các hộp giới han cóthể có chứa đối tượng Neural network thực hiện loại nhiệm vụ này được gọi là Mạng
đề xuất khu vực (RPN) [1]
2.4.1.2 Anchor
Anchor hay còn gọi là các pre-defined boxes Anchor được định nghĩa trước
lúc khi huấn luyện mô hình Trong Faster R-CNN [1], anchors được định nghĩa với
9 anchors tương ứng với mỗi điểm pixel trên feature map Việc tính toán tổng số
lượng anchor là dựa trên kích thước của feature map Cách tính số lượng feature map
thu được sau khi đưa qua backbone CNN có kích thước là WxHxC (với C là số
channel của feature map) thì tổng số lượng anchor là WxHx9 (9 là số lượng anchorứng với 1 điểm pixel của feature map đã được định nghĩa từ trước) Tuy nhiên, kíchthước và ratio của anchor thì đều phải tham chiếu ngược lại kích thước của ảnh gốc
ban đâu.
Các anchor được tạo ra là ứng với từng điểm pixel trên feature map và thông
thường anchor được định nghĩa với 3 size và 3 ratio khác nhau như Hình 2.10.
20
Trang 33Generate 9 anchors for
each sliding window on
conv feature map | | m
Cac anchor này được gan là positive/negative (object/background) dựa vào
IoU với ground truth bounding box theo quy tắc sau:
e Nếu anchor có tỉ lệ IoU lớn nhất với ground truth box sẽ được coi là
positive.
e Néu anchor có ti lệ IoU >= 0.7 sẽ được coi là positive
e Nếu anchor có tỉ lệ IoU < 0.3 sẽ được coi là negative (background)
e Nếu anchor nằm trong khoảng 0.3 <= x < 0.7 sẽ được coi là neutral
(trung tính) là sẽ không được sử dụng trong quá trình huấn luyện mô
hình.
Việc tạo ra các anchor nhăm 2 mục đích như sau:
e Dua vào IoU dé phân biệt các positive va negative anchors.
19 https://towardsdatascience.com/region-proposal-network-a-detailed-view-1305c7875853
21
Trang 34e - Dựa vào vi trí của các anchor và các ground-truth bounding box (thông
qua tỉ lệ IoU), dự đoán vị trí của các region proposal đầu ra
2.4.1.3 Region Proposal Network (RPN)
RPN [1] là sự cải tiến chính va đặc biệt nhất làm cho mang Faster R-CNN [1]trở nên nổi bật và tốt nhất trong họ nhà R-CNN [17], RPN [1] giải quyết các van débăng cách huấn luyện mạng Neural Network để đảm nhận thay vai trò của các thuật
toán như Selective Search vốn rất chậm chạp
Ứng dụng của RPN [1] trong Faster R-CNN [1] có thể tóm gọn như sau:
e Hình anh đầu vào được đưa qua | backbone CNN, thu được feature
map Một mang con RPN [1] (kha đơn giản, chi gồm các conv layer)dùng dé trích rút ra các vùng gọi là ROL, hay các vùng có kha năng chứađối tượng từ feature map của ảnh Đầu vào của RPN [1] là feature map,đầu ra của RPN bao gồm 2 phan: binary object classification (để phânbiệt đối tượng với background, không quan tâm đối tượng là gi) vabounding box regression (dé xác định vùng ảnh có khả năng chứa đốitượng), vậy nên RPN [1] bao gồm 2 hàm loss và hoàn toàn có thể đượchuấn luyện riêng so với cả model
e Sau khi đi qua RPN [1], ta sẽ thu được vùng ROI với kích thước khác
nhau (W H) nên sử dung ROI Pooling (đã có từ Fast R-CNN [18]) dé
thu về cùng 1 kích thước cô định
e Thực hiện tách thành 2 nhánh ở phần cuối của model, 1 cho object
classification với N + 1 (N là tổng số class, +1 là background) vớibounding box regression Vậy nên sẽ định nghĩa thêm 2 thành phần loss
nữa (khá tương tự như RPN [1]) và loss function của Faster R-CNN [1]
sẽ gồm 4 thành phần: 2 loss của RPN [1], 2 loss cua Fast R-CNN [18].
22
Trang 352.4.1.4 Resnet-101
Các mạng CNN sâu đã đạt được những thành tựu trong lĩnh vực phân loại hình
ảnh như một con người Các mạng học sâu trích xuất những feature từ thấp đến caorồi phân loại nó Càng nhiều lớp chồng lên nhau sẽ càng có nhiều feature hơn Cáclớp xếp chồng này rất quan trọng hãy nhìn vào kết quả Hình 2.11
iter (le4) iter (le4)
Hình 2.11: So sánh độ lỗi khi số lớp khác nhau [24]
Khi mà các mạng sâu bắt đầu hội tụ thì các vấn đề về giảm giá trị xảy ra: mạng
càng sâu thì độ chính xác càng bị bão hòa và sẽ giảm xuống nhanh chóng Những sự
giảm giá tri này không phải bi gây ra do overfitting hoặc là do thêm các layer vào
mạng Điều này là do hệ thống đã không tối ưu khi train.
Để xử lý van đề này, Microsoft đã giới thiệu một deep residual learning
framework Thay vì hy vọng rằng các lớp xếp chồng sẽ fit với underlying mapping
như mong muốn, họ dé những cái layer nay fit với lại một residual mapping Băngcách sử dụng residual network thì nhiều vấn đề đã được giải quyết như:
e_ Resnet [24] có thé dé dàng dé tối ưu, trong khi các mạng bình thường
(chỉ đơn giản là những lớp xếp chồng nhau) cho ra kết quả là càng đi
sâu thì các training error càng cao.
e Resnet [24] có thé dé dàng tăng thêm độ chính xác khi mà chúng ta tăng
độ sâu, cho ra những kết quả tốt hơn so với những mạng trước
23
Trang 362.4.1.5 FPN
Dò tìm các đối tượng có kích thước nhỏ là một vấn đề đáng được giải quyết
dé nâng cao độ chính xác Va FPN [25] là mô hình mang được thiết kế ra dựa trênkhái niệm pyramid dé giải quyết van đề này
Mô hình FPN [25] kết hợp thông tin của mô hình theo hướng bottom-up kết
hợp với top-down dé dò tìm đối tượng (trong khi đó, các thuật toán khác chỉ thường
sử dụng bottom-up) Khi chúng ta ở bottom và đi lên (up), độ phân giải sẽ giảm, nhưng giá trị ngữ nghĩa sẽ tăng lên Xem hình mô phỏng bên dưới.
> predict
predict
Hình 2.12: Kiến trúc pyramid (bottom-up kết hợp với top-down) [25]
FPN [25] xây dựng mô hình top-down, nhằm mục đích xây dựng các layer có
độ phân giải cao từ các layer có ngữ nghĩa cao.
Trong quá trình xây dựng lại các layer từ top xuống bottom, chúng ta sẽ gặpmột vấn đề khá nghiêm trọng là bị mat mát thông tin của các đối tượng Ví dụ mộtđối tượng nhỏ khi lên top sẽ không thấy nó, và từ top đi ngược lại sẽ không thể táitạo lại đối tượng nhỏ đó Dé giải quyết van dé này, chúng ta sẽ tạo các kết nối (skipconnection) giữa các reconstruction layter và các feature map để giúp quá trìnhdetector dự đoán các vị trí của đối tượng thực hiện tốt hơn (hạn chế tốt nhất việc mat
mát thông tin).
2.4.1.6 Kiến trúc mạngFaster R-CNN [1] gồm có 3 phần:
24
Trang 37gương mặt của người sau đó các feature này sẽ học thông qua những hình dạng và
màu sắc đã được train mà ở đó chỉ tồn tại gương mặt của con người Ta có thể giả dụrằng convolution layer như là một cái bộ lọc, ảnh ban đầu chứa các thông tin hìnhảnh qua các pixel, bộ lọc này sẽ lọc ra các thông tin cần thiết bỏ qua các thông tin dư
thừa, do đó convolution layers của chúng ta sẽ học những feature của đối tượng mà
không dé bat cứ một thứ gì khác đi qua
RPN:
RPN [1] sẽ trượt trên các feature map cuối cùng của convolution layer Thực
hiện 2 nhiệm vụ là dự đoán đó có phải là vật thể hay không và dự đoán các boudingbox của vật thê đó
25
Trang 38Đầu tiên RPN [1] sử dung 1 conv layer với 512 channels, kernel-size = (3, 3)
lên feature map Sau đó được chia 2 nhánh, 1 cho dự đoán vay thể, 1 cho dự đoán
bounding box (regression) Cả 2 sử dung | conv layer với kernel-size = (1, 1) nhưng
với số channel đầu ra khác nhau Với dự đoán vật thé thì có 2k channel đầu ra, với k
là tong số lượng anchors nhằm xác định rang 1 anchor có khả năng chứa đối tượnghay là background (không quan tâm đối tượng là gì) Thực chất, số channel có théchuyên về chỉ còn k channel thông qua việc sử dụng sigmoid activation Với boundingbox regression thì có 4k channel đầu ra, với 4 là biéu trưng cho 4 tọa độ offset (x, y,
thước là: 18*(W/16)*(H/16) và 36*(W/16)*(H/16).
Classes và Bounding Boxes prediction
Tại bước này ta sử dụng một Fully connected neural network khác dé lay dữ
liệu đầu vào là các region proposal để dự đoán nhãn của vật thể và bouding box
2.4.2 YOLOv4
YOLOv4 [2] phát hành vào năm 2020, tuy nhiên phiên bản này không phải là
từ tác giả đầu tiên YOLO YOLO đã trở nên rất nồi tiếng cho bài toán phát hiện vật
thể thời gian thực Tuy nhiên kể từ phiên bản YOLOv3 [14], tác giả đầu tiên củaYOLO là Joseph Redmon đã không còn nghiên cứu và cải thiện kiến trúc này nữa.Tuy nhiên chúng ta vẫn sẽ nhận được các “bản nâng cấp” YOLO từ các tác giả khác,như YOLOv4 [2] vừa mới ra mắt gần đây Bản phát hành YOLOv4 [2] có ba tác giả:Alexey Bochkovskiy, nhà phát triển người Nga đã xây dựng phiên bản YOLO
Windows, Chien-Yao Wang và Hong- Yuan Mark Liao.
26
Trang 392.4.2.1 Giới thiệu
YOLO là một mô hình mang CNN cho việc phát hiện, nhận dạng, phân loại
đối tượng YOLO được tạo ra từ việc kết hợp giữa các convolutional layers vàconnected layers.Trong đó các convolutional layers sẽ trích xuất ra các feature của
ảnh, còn full-connected layers sẽ dự đoán ra xác suât đó và tọa độ của đôi tượng.
YOLOv4 [2] với mục tiêu chính là xây dựng một hệ thống nhận diện vật thê
với tốc độ xử lý nhanh và tối ưu hóa cho việc tính toán song song Hệ thống này có
thể được huấn luyện và sử dụng một cách dễ dàng
So với YOLOv3 [14] trước đó, YOLOv4 [2] có những ưu điểm sau:
e Day là một mô hình phát hiện đối tượng hiệu quả và mạnh mẽ cho phép
bat kỳ ai có GPU 1080 Ti hoặc 2080 Ti đều có thể huấn luyện, phát
hiện đối tượng siêu nhanh và chính xác
e Ảnh hưởng của các phương pháp phát hiện vật thé state-of-the-art
“Bag-of-Freebies” [2] và “Bag-of-Specials” [2] trong quá trình dao tạo
huấn luyện đã được xác minh
e Các phương pháp hiện đại được sửa đôi, bao gồm CBN (Cross-Iteration
Batch Normalizationn) [26], PAN (Path Aggregation Network) [27], v.v., hiện hiệu qua hon va phù hợp với đào tao GPU don.
Kiến trúc của YOLOv4 [2] đã đưa bài toán object detection dé tiép can honvới những người không có tài nguyên tính toán mạnh Chúng ta hoàn toàn có thé huấnluyện một mạng phát hiện vật với độ chính xác rất cao băng YOLOv4 [2] chỉ với
GPU 1080ti hoặc 2080ti Trong tương lai, việc tối ưu lại các mạng hiện tại dé phù
hợp với tài nguyên tính toán yếu hoặc tạo ra sự song song hóa cao ở các server chắcchắn phải được thực hiện dé có thé đưa các ứng dụng computer vision vào thực tế
Kết quả so sánh YOLOv4 [2] với các SOTA ở thời điểm hiện tại YOLOv4
[2l chạy nhanh gấp đôi EfficientDet [28], tang AP va FPS so với YOLOv3 [14] 1an
lượt là 10% và 12%.
27
Trang 40YOLOv4 [2] đạt 43.5% AP trên tập dir liệu MS COCO ở tốc độ 65 FPS, trên
GPU Tesla V100 Dé tạo ra kết quả này, tác giả sử dụng một loạt các kĩ thuật mới
[2l: Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections
(CSP), Cross mini-Batch Normalization (CmBN), Self-adversarial-training (SAT) and Mish-activation, Mosaic data augmentation, DropBlock regularization, va CloU loss
2.4.2.2 Darknet
Darknet là một Neural Network framework mã nguồn mở được viết bằng C
và CUDA Nó nhanh và dễ cài đặt, hỗ trợ tính toán trên CPU và GPU Khi cài đặt
Darknet bạn sẽ có được toàn bộ thư viện cần thiết để chạy YOLO Tùy từng phiênbản YOLO bạn muốn train, ta tiền hành sửa file cfg và tải file weights tương ứng tiễn
hành thực nghiệm.
2.4.2.3 Cấu trúc mạng
Bag of Freebies (BoF) [2]:
YOLOv4 [2] sử dung “Bag of Freebies” là những phương pháp chỉ thay đổi
và làm tăng chi phí trong quá trình traning chứ không làm ảnh hưởng đến chi phí xử
lý của quá trình dự đoán (inference cost) Hầu hết Bag of Freebies liên quan đến việc
tăng dữ liệu Có các loại kỹ thuật sau:
Cutmix and Mosaic data augmentations: Mosaic data augmentation thay vì
mỗi input image là sự kết hợp của 2 ảnh thi Mosaic sử dụng kết hợp 4 ảnh Việc này
giúp cho context của ảnh phong phú hơn CutMix thay vùng ảnh bị loại bỏ băng một
phần ảnh của ảnh khác trong dataset
Dropblock regularization: Trong DropBlock, các phần của hình ảnh được ânkhỏi lớp đầu tiên DropBlock là một kỹ thuật dé buộc mạng học các đặc trưng mà nó
có thé không dựa vào Ví dụ một con chó bị khuất đầu sau một bụi cây Mạng phải
có thê xác định con chó từ thân cũng như đâu của nó.
28