Māc tiêu đÁ tài: Nghiên cąu v phỏt trin cỏc chc nng trong hỏ thỏng hỗ trÿ ng°íi lái căa xe tč hành.. Ąng dāng lý thuyÁt đ°ÿc học và tìm hiÅu đÅ nhÁn dián làn đ°íng và biÅn báo giao thông
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
Trang 2Bè GIÁO DĀC VÀ ĐÀO T¾O
TR¯âNG ĐH S¯ PH¾M KỸ THUÀT TPHCM
BÁO CÁO T âNG K¾T
ĐÀ TÀI NGHIÊN CĄU KHOA HàC CĂA SINH VIÊN
TP H á Chí Minh, 07/2020
SV2020 - 152
Trang 3Bè GIÁO DĀC VÀ ĐÀO T¾O
TR¯âNG ĐH S¯ PH¾M KỸ THUÀT TPHCM
BÁO CÁO T âNG K¾T
ĐÀ TÀI NGHIÊN CĄU KHOA HàC CĂA SINH VIÊN
SV2020 - 152
Thuéc nhóm ngành khoa học: Kỹ thuÁt
SV thčc hián: Huỳnh Viát C°íng Nam, Nċ: Nam
Trang 4i
M ĀC LĀC
MĀC LĀC i
DANH MĀC CÁC HÌNH ÀNH, BIÄU Đâ iv
DANH MĀC CÁC BÀNG BIÄU vi
DANH MĀC CÁC TĆ VIÀT TÂT viii
CH¯¡NG 1: Mî ĐÄU 9
1.1 Đ¾T VÂN ĐÀ 1
1.2 LÝ DO CH àN ĐÀ TÀI 4
1.3 M ĂC TIÊU 4
1.4 PH¯¡NG PHÁP, ĐàI T¯ĀNG VÀ PH¾M VI NGHIÊN CĆU 4
1.5 B à CĂC 5
CH¯¡NG 2: C¡ Sî LÝ THUYÀT 7
2.1 TH¯ VIàN PYTORCH 7
2.2 X Ā LÝ ÀNH 8
2.2.1 Các khái ni ám c¢ bÁn trong xā lý Ánh 8
2.2.2 Bi ¿n đái Hough 11
2.3 MÁY H àC (MACHINE LEARNING) 12
2.3.1 Gi çi thiáu 12
2.3.2 SVM 13
2.4 H àC SÂU (DEEP LEARNING) 13
2.4.1 CNN 13
2.4.2 Phân đo¿n Ánh (Image Segmentation) 14
2.4.3 Bài toán phát hi án v¿t thà (Object Detection) 15
2.4.4 Ph°¢ng pháp tái °u 19
Trang 52.5 GI ÀI THU¾T ĐIÀU KHIÂN PID 20
CH¯¡NG 3 : GIêI THIàU V PHÄN CĄNG 22
3.1 T àNG QUAN PHÄN CĆNG 22
3.2 CHI TI ¾T PHÄN CĆNG 23
3.2.1 T áng quan vÁ xe Traxxas Desert 23
3.2.2 Các thi ¿t bß trên xe 26
3.2.3 T áng quang vÁ m¿ch adapter CDS TX2 31
CH¯¡NG 4: THIÀT KÀ PHÄN MÂM 34
4.1.X Ā LÝ ON-ROAD 35
4.1.1 X ā lý Ánh RGB 35
4.1.2 X ā lý Ánh depth 39
4.2 X Ā LÝ OFF-ROAD 40
4.2.1 T áng quan ph°¢ng pháp 40
4.2.2 Hàm m Ãt mát (loss function) 42
4.3 ĐIÀU KHIÂN 44
CH¯¡NG 5: KÀT QUÀ THČC HIàN, SO SÁNH VÀ ĐÁNH GIÁ 48
5.1 TH ĄC NGHIàM 48
5.1.1 Môi tr°éng thąc nghiám 48
5.1.2 T ¿p dă liáu 49
5.2 K Ỹ THU¾T HUÂN LUYàN M¾NG VÀ THI¾T L¾P THÔNG Sà 51
5.2.1 X ā lý On-road 51
5.2.2 X ā lý Off-road 51
5.3 K ¾T QUÀ 51
5.3.1 Môi tr°éng mô phßng 51
5.3.2 Môi tr°éng thąc t¿ 53
5.4 SO SÁNH VÀ ĐÁNH GIÁ 56
Trang 65.4.2 K ¿t quÁ On-road 58
5.4.3 K ¿t quÁ Off-road 60
CH¯¡NG 6: KÀT LUÀN VÀ H¯êNG PHÁT TRIÄN 65
6.1 K ¾T LU¾N 65
6.2 H¯æNG PHÁT TRIÂN 65
TÀI LIàU THAM KHÀO 66
Trang 7DANH M ĀC CÁC HÌNH ÀNH, BIÂU Đà
Hình 1.1 Há tháng hç trÿ ng°íi lái (ADAS) 1
Hình 2 1 Workflow căa PyTorch 7
Hình 2 3 Hình tách biên sĉ dāng Canny 10
Hình 2 5 Ánh x¿ đ°íng thẳng tć không gian Ánh sang không gian Hough 12
Hình 2 6 KiÁn trúc m¿ng CNN 14
Hình 2 7 Ví dā minh họa và phân đo¿n ngċ nghĩa 15
Hình 2 8 KiÁn trúc căa SSD 16
Hình 2 9 Ąng dāng căa Mobilenet trên thiÁt bị thông minh 17
Hình 2 10 KiÁn trúc m¿ng mobilenet version 1 18
Hình 2 11 KiÁn trúc m¿ng Moblilenet version 2 18
Hình 2 12 KiÁn trúc căa RFB 19
Hình 3 1 Tång quan phÅn cąng 22
Hình 3 2 Xe RC 1/7 Traxxas Desert 23
Hình 3 3 Bé điÃu tác 24
Hình 3 4 Đéng c¢ không chåi than 25
Hình 3 5 Bé xĉ lý trung tâm NVIDIA Jetson TX2 26
Hình 3 6 CÁm biÁn khoÁng cách 27
Hình 3 7 CÁm biÁn gia tác 28
Hình 3 8 Pin LiPo 29
Hình 3 9 Camera astra 30
Hình 3 10 M¿ch chuyÅn đåi CDD 31
Hình 3 11 S¢ đã kÁt nái m¿ch chuyÅn đåi vëi thiÁt bị ngo¿i vi 32
Hình 3 12 Mô hình xe thčc tÁ 32
Hình 3 13 NVIDIA Jetson TX2 gÃn m¿ch chuyÅn đåi và các kÁt nái 33
Hình 4 1 S¢ đã tång quan ph°¢ng pháp Error! Bookmark not defined Hình 4 2 Tång quan qui trình xĉ lý On-road Error! Bookmark not defined Hình 4 3 KiÁn trúc m¿ng đà xuÃt cho xĉ lý On-road 36
Hình 4 4 Ph°¢ng pháp phát hián làn đ°íng 37
Hình 4 5 Xác định cām dča trên miÃn Hough 38
Hình 4 6 Lọc nÃn 39
Hình 4 7 S¢ đã chi tiÁt thuÁt toán phát hián vÁt cÁn 40
Trang 8Hình 4 8 S¢ đã ph°¢ng pháp nhÁn dián biÅn báo 40
Hình 4 9 KiÁn trúc thuÁt toán phát hián vị trí biÅn báo 41
Hình 4 10 Đặc tr°ng HOG đ°ÿc biÅu dißn bằng t-SNE 42
Hình 4 11 Áp dāng kỹ thuÁt PID ch¿y bám làn đ°íng 45
Hình 4 12 V°ÿt xe 45
Hình 4 13 L°u đã giÁi thuÁt điÃu khiÅn 46
Hình 5 1 Môi tr°íng Áo dùng phÅn mÃm UNITY 48
Hình 5 2 Môi tr°íng thčc tÁ tč t¿o 49
Hình 5 3 Ành thu đ°ÿc tć camera 50
Hình 5 4 Các lo¿i biÅn báo giao thông 50
Hình 5 5 KÁt quÁ trong môi tr°íng mô phßng 52
Hình 5 6 KÁt quÁ trong môi tr°íng mô phßng 52
Hình 5 7 KÁt quÁ trong môi tr°íng thčc tÁ ngoài cuéc sáng (dċ liáu lÃy ra tć video) 53 Hình 5.8 KÁt quÁ trong môi tr°íng thčc tÁ (Ành lÃy tć mô hình xe) 54
Hình 5.9 KÁt quÁ nhÁn dián làn đ°íng (1) 54
Hình 5.10 KÁt quÁ nhÁn dián làn đ°íng (2) 55
Hình 5.11 KÁt quÁ nhÁn dián làn đ°íng (3) 55
Hình 5.12 KÁt quÁ nhÁn dián làn đ°íng (4) 55
Hình 5 13 Ví dā cho ma trÁn t°¢ng quan 57
Hình 5 14 KÁt quÁ phân lo¿i 60
Hình 5 23 (a) KÁt quÁ trong điÃu kián ánh sáng thÃp (b) KÁt quÁ trong điÃu kián ánh sáng cao 61
Trang 9DANH M ĀC CÁC BÀNG BIÂU
B Áng 1 1 THÁCH THĄC VÀ PH¯¡NG PHÁP GIÀI QUYÀT BÀI TOÁN PHÁT
HIàN BIÄN BÁO 3
B Áng 5 1 HIàU SUÂT QUÁ TRÌNH PHÂN ĐO¾N 58
B Áng 5 2 Sà PHÄN TĈ ĐIÄM NäI VÀ TàC Đè FPS 59
B Áng 5 3 BÀNG SO SÁNH GIĊA MÔ-ĐUN CÀI TIÀN VêI SKIPNET 59
B Áng 5 4 HIàU SUÂT CĂA PHÁT HIàN LÀN Đ¯ìNG VêI NHĊNG KHOÀNG CÁCH KHÁC NHAU 59
B Áng 5 5 FPS CĂA MæI CÔNG VIàC TRONG OFF-ROAD 61
B Áng 5 6 ĐÁNH GIÁ KÀT QUÀ PHÁT HIàN BIÄN BÁO TRONG CÁC LAANFN CH¾Y THĈU NGHIàM KHÁC NHAU 61
Trang 10DANH M ĀC CÁC TĆ VI¾T TÂT
ADAS Advanced Driver Assistance Systems
TSR Traffic Sign Detection
LOD Lane and Obstacle Detection
SSD Single Shot Multi-box Detector
RFB Receptive Field Block
SVM Support Vector Machine
FLOPS Floating point operations per second
HOG Histogram of Oriented Gradients
GPU Graphics Processing Unit
CUDA Central Processing Unit
Trang 11Bè GIÁO DĀC VÀ ĐÀO T¾O
TR¯âNG ĐH S¯ PH¾M KỸ THUÀT TPHCM
THÔNG TIN K ¾T QUÀ NGHIÊN CĄU CĂA ĐÀ TÀI
1 Thông tin chung:
- Tên đà tài: Mô hình xe t± hành
- Ch ă nhiám đà tài: Hu ỳnh Viát C°íng Mã sá SV: 16119003
- Lëp: 16119CLC Khoa: Đào t¿o chÃt l°ÿng cao
Nghiên cąu và phát triÅn các chąc năng trong há tháng hç trÿ ng°íi lái căa xe tč hành Ąng
d āng lý thuyÁt đ°ÿc học và tìm hiÅu đÅ nhÁn dián làn đ°íng và biÅn báo giao thông trên đ°íng đãng
th íi phát hián vÁt cÁng trên đ°íng
Thi Át kÁ thuÁt toán nhÁn dián làn đ°íng và biÅn báo trong môi tr°íng mô phßng Mô hình xe
tč hành có khÁ năng nhÁn dián làn đ°íng và biÅn báo trong môi tr°íng thčc tÁ Đãng thíi phát hián
ch°ëng ng¿i vÁt phía tr°ëc
3 Tính m ái và sáng t¿o:
Bài viÁt tÁn dāng °u điÅm căa xĉ lý Ánh truyÃn tháng kÁt hÿp vëi các mo-dun học sâu đÅ huÃn luyán m¿ng vća chính xác vća cÁi thián khÁ năng đáp ąng thíi gian thčc cho xe mô hình
4 K ¿t quÁ nghiên cąu:
Thu Át toán nhÁn dián làn đ°íng
Thu Át toán nhÁn dián vÁt thÅ, ch°ëng ng¿i
Thu Át phát phá hián biÅn báo giao thông
Ch¿y nên tÁng ROS trên Jetson TX2
Trang 12Ch¿y thuÁt toán trên môi tr°íng mô phßng
Giao tiÁp ngo¿i vi vëi Jetson TX2
5 Đóng góp vÁ m¿t giáo dāc và đào t¿o, kinh t¿ - xã hßi, an ninh, qußc phòng và khÁ năng áp dāng
c ăa đÁ tài:
Đß tài "Mô hình xe tự hành" sẽ đóng góp vß mặt giáo dục và xã hội Đß tài nghiên cÿu vß các thu ật toán hißn t¿i dành cho xe tự hành Đặt bißt là các thuật toán vß lĩnh vực thß giác máy tính, máy h ßc và hßc sâu trong trí tuß nhân t¿o Bên c¿nh đó mô hình là tißn đß đß phát trißn hoàn chßnh
và c ¿i thißn hß thống xe tự hành sau này
6 Công b ß khoa hác căa SV tć k¿t quÁ nghiên cąu căa đÁ tài
Đ°ÿc chÃp nhÁn công bá trong héi nghị khoa học tå chąc bïi IEEE Xplore Paper ID: GTSD2020_78
Trang 13Ngày tháng năm 2020
SV ch ßu trách nhißm chính
th āc hißn đÁ tài
(kí, h á và tên)
Trang 14NhÁn xét căa ng°ãi h°áng d¿n vÁ nhÿng đóng góp khoa hác căa SV thāc hißn đÁ tài:
ĐÃ tài xây dčng hoàn thián mét tháng nhÁn dián biÅn báo, làn đ°íng và vÁt cÁn sĉ dāng camera,
t ć đó cho phép xe mô hình có thÅ hoàn toàn tč lái trong xa hình
Ngày tháng năm 2020
Trang 15CH¯¡NG 1: Mä Đ¾U 1.1 Đ¾T VÂN ĐÀ
Xe tč hành đang là xu h°ëng căa thÁ giëi hián t¿i và cÁ trong t°¢ng lai, nó đang thu hút đ°ÿc nhiÃu sč quan tâm cÁ trong và ngoài n°ëc Nó đã mï ra mét cuéc ch¿y đua công nghá cho các tÁp đoàn lën nh° Tesla, Argo AI, Baidu, & Dč kiÁn trong t°¢ng lai
nó có thÅ thay thÁ hoàn toàn cho con ng°íi nhằm giÁm thiÅu tai n¿n đÁn tć nhċng vÃn
đà chă quan căa ng°íi lái nh° mÃt tÁp trung, tÅm nhìn bị h¿n chÁ, & hoặc do nhċng vÃn
đà khách quan nh° thíi tiÁt, điÃu kián ánh sáng, & Tuy nhiên đÅ đ¿t đ°ÿc mąc đé đó, các há tháng xe tč hành còn phÁi đ°ÿc nghiên cąu và phát triÅn h¢n nċa đÅ đÁm bÁo và tính ån định, thíi gian đáp ąng và đé chính xác trong nhiÃu điÃu kián làm viác khác nhau Do đó, trong giai đo¿n hián t¿i, các nhà nghiên cąu đang chia nhß há tháng này ra thành các há tháng nhß vëi nhċng tính năng thiÁt yÁu nhằm hç trÿ ng°íi lái (ADAS) Các há tháng này góp phÅn t¿o môi tr°íng lái an toàn và thuÁn tián h¢n cho các tài xÁ Trong các há tháng này, viác nhÁn dián biÅn báo giao thông, phát hián làn đ°íng và các
vÁt cÁn trên đ°íng đóng vai trò đặc biát quan trọng
Hình 1.1 H á tháng hã trā ng°éi lái (ADAS)
Tình hình nghiên cąu ngoài n°ác:
Trên thÁ giëi, hÅu hÁt các ph°¢ng pháp giÁi quyÁt bài toán nhÁn dián làn đ°íng
và phát hián vÁt cÁn trên đ°íng (LOD) [1-3] đÃu tÁp trung vào các tr°íng hÿp đ¢n giÁn trên đ°íng cao tác GÅn đây, cũng có mét vài nghiên cąu [4-5] phát triÅn các thuÁt toán
Trang 16có thÅ giÁi quyÁt vÃn đà trên trong nhċng môi tr°íng phąc t¿o h¢n Do đó, chúng phÁi đái mặt vëi nhiÃu thách thąc khó khăn h¢n Đa sá nhċng thách thąc này đÁn tć nhißu căa khung cÁnh xung quanh làn đ°íng ví dā nh° đ°íng cong, vÁt cÁn, bóng cây hay thÁm chí là bóng căa các ph°¢ng tián giao thông trên đ°íng Vì vÁy, chúng ta cÅn mét ph°¢ng pháp hiáu quÁ và m¿nh m¿ h¢n đÅ giÁi quyÁt nhċng thĉ thách trên Tác giÁ trong nghiên cąu [6] đã ąng dāng m¿ng <deep learning-based segmentation= đÅ biÅu dißn phân đo¿n làn Nhċng nghiên cąu này cho thÃy tính hiáu quÁ trong viác giÁi quyÁt các vÃn đà nêu trên, cÅn ít khÁ năng tính toán và đ¿t đ°ÿc kÁt quÁ tát h¢n Tuy nhiên, làn đ°íng nhÁn dián đ°ÿc l¿i bị gãy khúc thành nhċng phÅn không liên tāc Do đó, viác kÁt
hÿp nhċng thành phÅn không liên tāc này l¿i thành mét làn đ°íng cā thÅ nh° trong thčc
tÁ là mét bài toán mëi đ°ÿc đặt ra và cÅn phÁi giÁi quyÁt Trong nghiên cąu [7], tác giÁi
đã đà xuÃt mét giÁi pháp rÃt tát, giÁi quyÁt hÅu các vÃn đà đã nêu tr°ëc đó, nh°ng nó l¿i không đáp ąng tác đé thíi gian thčc và không thÅ sĉ dāng cho mét há tháng nhúng vëi phÅn cąng h¿n chÁ
Đái vëi bài toán phát hián biÅn báo, mét sá thuÁt toán đ°ÿc đà xuÃt gÅn đây và nhċng thách thąc chúng giÁi quyÁt đ°ÿc đ°ÿc nhóm tång hÿp ï bÁng 1.1 Nh° đ°ÿc thÅ hián trong bÁng, nhċng ph°¢ng pháp dča trên học sâu đ¿t đ°ÿc hiáu suÃt tát và hÅu nh° giÁi quyÁt đ°ÿc tÃt cÁ các vÃn đà đ°ÿc nêu, nh°ng chúng th°íng rÃt nặng và không thÅ
sĉ dāng cho các há tháng yêu cÅu đáp ąng thíi gian thčc Do đó, māc đích căa nhóm là tÁn dāng °u điÅm căa tćng ph°¢ng pháp và thiÁt kÁ l¿i há tháng đÅ nó phù hÿp vëi phÅn cąng giëi h¿n trong há tháng nhúng Mçi ph°¢ng pháp có thÅ đ°ÿc tÁn dāng ï nhċng b°ëc khác nhau phā thuéc vào tính chÃt căa nó Nhìn chung, vÃn đà phát hián vÁt thÅ đ°ÿc chia thành hai nhiám vā chính: (1) xác định tọa đé căa vÁt thÅ và (2) phân lo¿i vÁt thÅ î nhiám vā (1), SSD [8] cho thÃy đ°ÿc khÁ năng m¿nh m¿ căa nó trong viác giÁi quyÁt hÅu hÁt các vÃn đà và phát hián vÁt thÅ ï nhiÃu kích th°ëc khác nhau chỉ trong mét lÅn ch¿y Tuy nhiên, ph°¢ng pháp SSD truyÃn tháng rÃt nặng, và không thÅ làm viác hiáu quÁ trong các phÅn cąng h¿n chÁ nh° NVIDIA Jetson TX2
Tình hình nghiên cąu trong n°ác:
Theo báo Công LuÁn [9], năm 2015 m¿u xe tč lái đÅu tiên căa Viát Nam đ°ÿc FPT phát triÅn trên chiÁc Kia Soul, đã đ¿t đ°ÿc cÃp đé lái thą 2 (trong 5 cÃp đé lái)
Trang 17trong n°ëc Vëi phiên bÁn hián t¿i, xe có nhċng chąc năng nh°: ąng dāng End to end Deep Learning (thu thÁp data, xĉ lý hình Ánh), Traffic Sign (nhÁn dián các biÅn báo), Vehicle Detection & Tracking (nhÁn dián vÁt cÁn, né vÁt cÁn trên đ°íng), Lane Finding
(tìm kiÁm làn đ°íng phù hÿp) ĐÅ có thÅ tč đéng di chuyÅn thì m¿u xe tč lái căa FPT đ°ÿc áp dāng nhċng công nghá chính gãm: ZED Strereo camera ví nh° con mÃt căa xe có thÅ đọc hiÅu nhċng tín hiáu trên đ°íng, tín hiáu biÅn báo giao thông; cÁm biÁn LiDar có khÁ năng phát hián xe trong bán kính 200 mét; bé xĉ lý trung tâm sĉ dāng chíp NVIDIA TX2; c¢ cÃu điÃu khiÅn lái tć Robot Driving do FPT phát triÅn
Hián t¿i, FPT Software là đ¢n vị duy nhÃt t¿i Viát Nam nghiên cąu và phát triÅn công nghá xe tč lái đ¿t đÁn cÃp đé 3, tuy nhiên họ đang đái mặt vëi các thách thąc lën
mà trong đó là giá thành căa Lidar và tác đé xĉ lý căa máy tính Đái vëi bài toán này, chúng ta phÁi tái °u và mặt thuÁt toán giúp camera có thÅ phát hián xe thay cho chąc năng căa Lidar và giÁm đé tính toán đÅ phù hÿp vëi tác đé xĉ lý căa máy tính
BÁng 1 1 THÁCH THĆC VÀ PH¯¡NG PHÁP GIÀI QUY¾T BÀI TOÁN PHÁT
Methods Ành
h°ïng bïi ánh sáng
Mí và b¿c màu
Tác đéng căa chuyÅn đéng
Nhißu bïi khung cÁnh xung quanh
Méo d¿ng
Đáp ąng thíi gian thčc
Trang 181.2 LÝ DO CHàN ĐÀ TÀI
Cho tëi hián nay, rÃt nhiÃu ph°¢ng pháp [12-14] đÅ phát triÅn há tháng ADAS
đã đ°ÿc đà xuÃt Nhìn chung, chúng đ°ÿc chia thành hai h°ëng chính: (1) xĉ lý Ánh và (2) học sâu Vëi nhċng ph°¢ng pháp sĉ dāng xĉ lý Ánh, mặc dù chúng đ¿t đ°ÿc tác đé
xĉ lý và thíi gian đáp ąng rÃt nhanh nh°ng chúng chỉ phù hÿp mét vài môi tr°íng cá định và đ¢n giÁn Trong khi đó, các ph°¢ng pháp học sâu l¿i có thÁ m¿nh và viác giÁi quyÁt nhċng vÃn đà phąc t¿p tuy nhiên tác đé và thíi gian xĉ lý l¿i phā thuéc nhiÃu vào phÅn cąng và giÁi thuÁt đ°ÿc thiÁt kÁ H¢n nċa, nhċng ph°¢ng pháp học sâu còn cÅn rÃt nhiÃu dċ liáu đ°ÿc dán nhãn đÅ huÃn luyán, viác này tán rÃt nhiÃu thíi gian và công sąc
đÅ thu thÁp và xĉ lý Do đó đÅ giÁi quyÁt các thách thąc hián t¿i nhóm quyÁt định thčc hián đà tài <ThiÁt KÁ Há Tháng Xe Tč Hành KÁt Hÿp Các Ph°¢ng Pháp Xĉ Lý Ành TruyÃn Tháng và Học Sâu= Trong đà tài này, nhóm nghiên cąu đà xuÃt kÁt hÿp cÁ hai h°ëng xĉ lý Ánh và học sâu thành mét há tháng tháng nhÃt đÅ tÁn dāng °u điÅm căa tćng ph°¢ng pháp Tć đó giÁi quyÁt các vÃn đà và nhÁn dián làn đ°íng, biÅn báo giao thông đãng thíi phát hián vÁt cÁn trên đ°íng Māc đích căa nhóm là phát triÅn mét thuÁt toán nhẹ và có thÅ làm viác trên các phÅn cąng giëi h¿n nh° NVIDIA Jetson TX2
1.3 MĀC TIÊU
Xây dčng thuÁt toán và mô hình xe tč hành có khÁ năng nhÁn dián làn đ°íng,
biÅn báo và các ch°ëng ng¿i vÁt trong môi tr°íng mô phßng và sa hình thčc tÁ
1.4 PH¯¡NG PHÁP, ĐÞI T¯þNG VÀ PH¾M VI NGHIÊN CĄU
Ph°¢ng pháp nghiên cąu:
Nghiên cąu lý thuyÁt dča trên các bài báo khoa học đã công bá
KhÁo sát các vÃn đà gặp phÁi, thách thąc và đ°a ra h°ëng giÁi quyÁt
Tham khÁo ý kiÁn đánh giá căa ng°íi h°ëng d¿n
Trang 19 Các thuÁt toán xĉ lý Ánh, máy học, học sâu cho bài toán phát hián làn đ°íng, biÅn báo giao thông và vÁt cÁn
Các ph°¢ng pháp làm giÁm trọng l°ÿng mô hình học sâu
Ph¿m vi nghiên cąu:
ĐÃ tài chỉ tÁp trung vào phát triÅn phÅn mÃm trên board Jetson TX2
ThuÁt toán đ°ÿc đánh giá và thĉ nghiám trong môi tr°íng mô phßng căa Unity
và sa hình thčc tÁ nhß, mô phßng điÃu kián giao thông bên ngoài
Ch°¢ng này giëi thiáu và các nÃn tÁng vÁn hành, các khái niám và ph°¢ng pháp đ°ÿc
sĉ dāng trong thuÁt toán tć các lĩnh včc nh° xĉ lý Ánh, máy học, học sâu Bên c¿nh đó
là giÁi thuÁt đÅ điÃu khiÅn mô hình ån định
Ch°¢ng 5: K¿t quÁ thāc hißn, so sánh và đánh giá
Ch°¢ng này trình bày và nhċng thčc nghiám bao gãm môi tr°íng, cách thu thÁp dċ liáu, các thông sá đ°ÿc thiÁt lÁp ban đÅu Bên c¿nh đó là nhċng kÁt quÁ nhóm đ¿t đ°ÿc,
tć đó so sánh và đánh giá ph°¢ng pháp căa nhóm
Trang 20 Ch°¢ng 6: K¿t luÁn và h°áng phát triÃn
Ch°¢ng này đ°a ra kÁt luÁn đà tài và h°ëng phát triÅn tiÁp theo
Tài lißu tham khÁo
D¿n chąng nguãn tài liáu tham khÁo trong đà tài
Trang 21CH¯¡NG 2: C¡ Sä LÝ THUY¾T
2.1 TH¯ VIÞN PYTORCH [15]
PyTorch là mét th° vián dča trên ngôn ngċ lÁp trình python, nó hç trÿ t¿o ra các
mô hình học sâu và sĉ dāng chúng cho các ąng dāng khác nhau PyTorch t°¢ng tč nh° Python, nó đ°ÿc thiÁt kÁ tÁp trung vào tính dß sĉ dāng và thÁm chí ng°íi dùng có kiÁn thąc lÁp trình rÃt c¢ bÁn cũng có thÅ sĉ dāng nó trong các dč án liên quan đÁn học sâu
CÃu trúc dċ liáu cát lõi đ°ÿc sĉ dāng trong PyTorch là Tensor T°¢ng tč nh° numpy array, Tensor là mét mÁng mét chiÃu vëi các phÅn tĉ có cùng kiÅu dċ liáu
Hình d°ëi đây mô tÁ mét quy trình c¢ bÁn căa:
Trong đó có các mô-đun c¢ bÁn th°íng gặp là torch.nn, torch.optim, torch.utils
và torch.autograd
B°ëc đÅu tiên căa mét dč án nào và học sâu đÃu phÁi qua viác tÁi và xĉ lý dċ liáu Vì thÁ PyTorch đã hç trÿ các tián ích đÅ thčc hián b°ëc này vëi các mô-đun torch.utils.data Hai th° vián quan trọng trong mô-dun này là Dataset và DataLoader Dataset đ°ÿc xây dčng trên nÃn kiÅu dċ liáu Tensor và đ°ÿc sĉ dāng chă yÁu cho các
bé dċ liáu tùy chỉnh, DataLoader đ°ÿc sĉ dāng khi b¿n có mét tÁp dċ liáu lën và b¿n
Hình 2 1 Workflow c ąa PyTorch [15]
Trang 22muán tÁi dċ liáu tć Dataset ï chÁ đé nÃn đÅ nó sẵn sàng và chí sĉ dāng cho quá trình training loop Ngoài ra chúng ta cũng có thÅ dùng torch.nn.DataParallel và torch.distribution trong tr°íng hÿp có thÅ sĉ dāng song song nhiÃu máy tính hoặc nhiÃu GPUs
Trong đó có mô-đun torch.nn đ°ÿc sĉ dāng đÅ t¿o ra m¿ng thÅn kinh (NN) Nó cung cÃp tÃt các lëp NN phå biÁn nh° các lëp <fully connected= (FN), <convolution=, các hàm kích ho¿t và hàm mÃt mát, &
Mét khi kiÁn trúc m¿ng đã đ°ÿc t¿o ra và dċ liáu đã sẵn sàng đÅ đ°ÿc đ°a vào m¿ng, chúng ta s¿ cÅn các kỹ thuÁt đÅ cÁp nhÁt các trọng sá (weights) và đé lách (biases)
đÅ m¿ng tiÁn hành quá trình huÃn luyán Các tián ích còn đ°ÿc cung cÃp trong mô-đun torch.optim Còn đÅ tính gradient tč đéng, chúng ta sĉ dāng mô-đun torch.autograd
Sau khi mô hình đã đ°ÿc huÃn luyán, nó có thÅ đ°ÿc sĉ dāng đÅ dč đoán ngõ ra cho các bé dċ liáu thĉ nghiám hoặc thÁm chí các bé dċ liáu mëi Quá trình này đ°ÿc gọi là <model inference= PyTorch còn chung cÃp TorchScript có thÅ đ°ÿc sĉ dāng đÅ ch¿y các mô hình đéc lÁp vëi <Python runtime= Đây có thÅ đ°ÿc coi là mét máy Áo đ°ÿc thiÁt kÁ chă yÁu dành riêng cho viác thao tác vëi Tensors
Chúng ta cũng có thÅ chuyÅn mô hình đ°ÿc huÃn luyán bằng PyTorch sang các định d¿ng nh° ONNX, cho phép sĉ dāng các mô hình này trong các <Deep leaning framework= khác nh° MXNet, CNTK, Caffe2 Chúng ta cũng có thÅ chuyÅn đåi các mô hình ONNX sang Tensorflow
2.2 Xþ LÝ ÀNH
2.2.1 Các khái nißm c¡ bÁn trong xÿ lý Ánh [16]
Ành sá là mét tÁp hÿp căa nhiÃu điÅm Ánh, hay còn gọi là pixel Mçi điÅm Ánh biÅu dißn mét màu sÃc nhÃt định (hay đé sáng vëi Ánh đen trÃng) t¿i mét điÅm duy nhÃt,
có thÅ xem mét điÅm Ánh giáng nh° mét chÃm nhß trong mét tÃm Ánh màu Bằng ph°¢ng pháp đo l°íng và tháng kê mét l°ÿng lën các điÅm Ánh, chúng ta hoàn toàn
có thÅ tái cÃu trúc các điÅm Ánh này thành mét Ánh mëi gÅn giáng vëi Ánh gác Có thÅ nói pixel gÅn giáng nh° các phÅn tĉ có cÃu trúc h¿t trên mét Ánh thông th°íng nh°ng đ°ÿc sÃp xÁp theo tćng hàng và cét và chąa các thông tin khác nhau
Ành đ°ÿc biÅu dißn d°ëi d¿ng mét ma trÁn hai chiÃu vëi các pixel đ°ÿc xác định bïi
Trang 23cặp tọa đé (x, y), trong đó, giá trị căa pixel t¿i tọa đé nhÃt định biÅu dißn đé sáng (Ánh đen trÃng) hay màu nhÃt định (Ánh màu)
Mçi điÅm Ánh t°¢ng ąng vëi mét phÅn căa mét đái t°ÿng vÁt lý trong thÁ giëi
ba chiÃu Đái t°ÿng này đ°ÿc mô tÁ bïi mét vài nguãn sáng mà trong đó chúng đ°ÿc phÁn chiÁu mét phÅn và hÃp thā mét phÅn bïi vÁt thÅ PhÅn phÁn chiÁu có thÅ thu đ°ÿc bằng các cÁm biÁn đÅ mô tÁ l¿i khung cÁnh t°¢ng ąng và nó đ°ÿc ghi l¿i nh° là đặc tr°ng căa điÅm Ánh, hay nói cách khác, các giá trị này phā thuéc vào tćng lo¿i cÁm biÁn đ°ÿc dùng đÅ phÁn ánh khung cÁnh tć nguãn sáng phÁn chiÁu
Có 2 d¿ng quan trọng trong Ánh sá đ°ÿc dùng vëi nhiÃu māc đích khác nhau là Ánh màu và Ánh đen trÃng (hay còn gọi là Ánh xám) Trong đó, Ánh màu đ°ÿc cÃu trúc
tć các pixel màu trong khi Ánh đen trÃng đ°ÿc xây dčng tć các pixel có giá trị mąc xám khác nhau
Ành đen trÃng: vëi mét Ánh đen trÃng đ°ÿc xây dčng tć nhiÃu pixel mà t¿i đó biÅu dißn mét giá trị nhÃt định t°¢ng ąng vëi mét mąc xám Nhċng mąc xám này trÁi dài trong mét khoÁng tć đen sang trÃng vëi b°ëc nhÁy rÃt mịn, thông th°íng là 256 mąc xám khác nhau theo tiêu chuẩn Do mÃt ng°íi chỉ có thÅ phân biát mét cách rõ ràng vëi khoÁng 200 mąc xám khác nhau nên vì thÁ hoàn toàn có thÅ nhÁn xét sč thay đåi liên tāc các mąc xám
Ành màu: mét Ánh màu th°íng đ°ÿc t¿o thành tć nhiÃu pixel mà trong đó mçi pixel đ°ÿc biÅu dißn bïi ba giá trị t°¢ng ąng vëi các mąc trong các kênh màu đß (Red), xanh lá (Green) và xanh d°¢ng (Blue) t¿i mét vị trí cā thÅ Các kênh màu Red, Green
và Blue (trong không gian màu RGB) là nhċng màu c¢ bÁn mà tć đó có thÅ t¿o ra các màu khác nhau bằng ph°¢ng pháp pha trén Vëi viác chuẩn hóa 256 (28) mąc cho tćng kênh màu chính, tć đó có thÅ thÃy mét pixel màu có thÅ biÅu dißn đ°ÿc mét trong (28) 3 =16777216 màu khác nhau Tć đó có thÅ thÃy rằng vëi 1-pixel thì chỉ cÅn 1-byte cho viác l°u trċ đái vëi Ánh đen trÃng và 3 bytes đái vëi Ánh màu
Ành nhị phân: chỉ sĉ dāng duy nhÃt mét bit đÅ biÅu dißn mét pixel Do mét bit chỉ có thÅ xác lÁp hai tr¿ng thái là đóng và mï hay 1 và 0 t°¢ng ąng vëi hai màu là đen
và trÃng Do đặc tr°ng trên mà Ánh nhị phân ít khi đ°ÿc sĉ dāng trong thčc tÁ
Ành chỉ sá: mét vài Ánh màu (hay đen trÃng) đ°ÿc t¿o thành tć mét bÁng màu có sẵn bị giëi h¿n, điÅn hình th°íng dùng là tÁp 256 màu khác nhau Nhċng Ánh này đ°ÿc gọi là Ánh màu chỉ sá hóa do dċ liáu dành cho mçi pixel bao gãm chỉ sá có sẵn chỉ rõ
Trang 24màu trong tÁp có sẵn ąng vëi pixel đang xem xét
Phát hián c¿nh Canny: là mét trong nhċng ph°¢ng pháp phát hián biên đ°ÿc sĉ dāng đÅ tìm tÃt cÁ các điÅm c¿nh trong hình Ánh và đÅu ra là mét bÁn đã nhị phân Canny
sĉ dāng mét gradient trên hình Ánh đÅ tìm nhċng thay đåi m¿nh và c°íng đé pixel Đây
là nhċng đ°íng nét có khÁ năng là đ°íng viÃn trong hình Ánh đÅu vào ĐÅu ra s¿ là mét Ánh nhị phân cho thÃy nhċng đ°íng nét căa hình
Trong thuÁt toán Canny, các đ¿o hàm bÁc mét đ°ÿc tính theo x và y và sao đó kÁt hÿp thành bán đ¿o hàm h°ëng Các điÅm n¢i nhċng đ¿o hàm h°ëng này là cčc trị địa ph°¢ng sau đó là các ąng viên cho tÁp hÿp thành các c¿nh Trong đã án này sĉ dāng Canny đÅ phát hián ranh giëi làn đ°íng trong khung hình
Viác phát hián c¿nh c¢ bÁn sĉ dāng vector gradient căa mét hình Ánh c°íng đé
đÅ phát hián ranh giëi làn đ°íng có đé t°¢ng phÁn cao trong Ánh Đây là mét trong nhċng ph°¢ng pháp tát nhÃt và hiáu quÁ trong nhiÃu ph°¢ng pháp phát hián biên
Hình 2 2 Hình tách biên s ā dăng Canny
Contour: có thÅ đ°ÿc giÁi thích đ¢n giÁn là mét đ°íng cong nái tÃt cÁ các điÅm liên tāc (dọc theo đ°íng biên), có cùng màu hoặc c°íng đé Các contour là mét công
cā hċu ích đÅ phân tích hình d¿ng và phát hián và nhÁn d¿ng đái t°ÿng Contour tracking
là mét trong nhiÃu kỹ thuÁt tiÃn xĉ lý đ°ÿc thčc hián trên hình Ánh kỹ thuÁt sá đÅ trích
xuÃt thông tin và hình d¿ng chung căa chúng Khi contour căa mét m¿u nhÃt định đ°ÿc trích xuÃt, các đặc điÅm khác nhau căa nó s¿ đ°ÿc kiÅm tra và sĉ dāng làm các tính năng
mà sau này s¿ đ°ÿc sĉ dāng trong phân lo¿i m¿u Do đó, viác tính toán contour tracking
s¿ t¿o ra các tính năng chính xác h¢n, điÃu này s¿ tăng c¢ héi phân lo¿i chính xác mét m¿u nhÃt định
Trang 252.2.2 Bi¿n đßi Hough [17]
BiÁn đåi Hough là mét kỹ thuÁt trích xuÃt đặc tr°ng đ°ÿc sĉ dāng trong phân tích hình Ánh, thị giác máy tính và xĉ lý hình Ánh kỹ thuÁt sá Māc đích căa kỹ thuÁt là tìm các tr°íng hÿp không hoàn hÁo căa các đái t°ÿng trong mét lëp hình d¿ng nhÃt định bằng mét thă tāc chọn lọc Quy trình chọn lọc này đ°ÿc thčc hián trong mét không gian tham sá, tć đó đái t°ÿng cÅn đ°ÿc chọn lọc ra đ°ÿc lÃy làm cčc đ¿i cāc bé trong mét không gian đ°ÿc gọi là không gian tích lũy đ°ÿc thuÁt toán xây dčng rõ ràng đÅ tính toán biÁn đåi Hough
Trong phân tích tč đéng các hình Ánh kỹ thuÁt sá, mét bài toán con th°íng phát sinh các hình d¿ng đ¢n giÁn, chẳng h¿n nh° các đ°íng thẳng, hình tròn hoặc hình elip Trong nhiÃu tr°íng hÿp, mét máy dò c¿nh biên (edge detector) có thÅ đ°ÿc sĉ dāng làm giai đo¿n tiÃn xĉ lý đÅ thu đ°ÿc các điÅm hình Ánh hoặc pixel hình Ánh nằm trên đ°íng cong mong muán trong không gian hình Ánh Tuy nhiên, do sč không hoàn hÁo căa dċ liáu hình Ánh hoặc máy dò c¿nh, có thÅ thiÁu các điÅm hoặc pixel trên các đ°íng cong mong muán cũng nh° đé lách không gian giċa đ°íng/ vòng tròn/ hình elip lý t°ïng và các điÅm c¿nh nhißu khi chúng đ°ÿc lÃy tć máy dò c¿nh Vì nhċng lý do này, viác nhóm các tính năng c¿nh đ°ÿc trích xuÃt thành mét tÁp hÿp các đ°íng, vòng tròn hoặc hình elip thích hÿp là không tÅm th°íng Māc đích căa biÁn đåi Hough là giÁi quyÁt vÃn đà này bằng cách cho phép thčc hián các nhóm điÅm c¿nh thành các đái t°ÿng cÅn đ°ÿc chọn lọc ra bằng cách thčc hián quy trình chọn lọc trên mét tÁp hÿp các đái t°ÿng hình Ánh đã đ°ÿc tham sá hóa
Tr°íng hÿp đ¢n giÁn nhÃt căa biÁn đåi Hough là phát hián các đ°íng thẳng Nói chung, đ°íng thẳng y = mx + b có thÅ đ°ÿc biÅu dißn d°ëi d¿ng mét điÅm (b, m) trong không gian tham sá Tuy nhiên, các đ°íng thẳng đąng đặt ra mét vÃn đà Chúng s¿ làm tăng các giá trị không giëi h¿n căa tham sá đé dác m Do đó, vì lý do tính toán, Duda
và Hart đã đà xuÃt sĉ dāng Hesse normal form
�㔌 = ý cos �㔃 + þ sin �㔃 (4) Vëi r là khoÁng cách tć gác tọa đô đÁn đ°íng thẳng, theta là góc giċa trāc x vëi đ°íng cao r Các (�㔌,�㔃) mặt phẳng còn đ°ÿc gọi là không gian Hough (Hough space),
Mçi đ°íng thẳng trên trāc tọa đé s¿ ąng vëi mét điÅm trên không gian Hough
Trang 26Hình 2 3 Ánh x ¿ đ°éng thẳng tÿ không gian Ánh sang không gian Hough
2.3 MÁY HàC (MACHINE LEARNING)
2.3.1 Gißi thißu [18]
Nhċng năm gÅn đây, AI - Artificial Intelligence (Trí Tuá Nhân T¿o), và cā thÅ h¢n là Machine Learning (Học Máy hoặc Máy Học) nåi lên nh° mét bằng chąng căa cuéc cách m¿ng công nghiáp lÅn thą t° (1 - đéng c¢ h¢i n°ëc, 2 - năng l°ÿng đián, 3 - công nghá thông tin) Trí Tuá Nhân T¿o đang len lßi vào mọi lĩnh včc trong đíi sáng
mà có thÅ chúng ta không nhÁn ra Xe tč hành căa Google và Tesla, há tháng tč tag khuôn mặt trong Ánh căa Facebook, trÿ lý Áo Siri căa Apple, há tháng gÿi ý sÁn phẩm căa Amazon, há tháng gÿi ý phim căa Netflix, máy ch¢i cí vây AlphaGo căa Google DeepMind, &, chỉ là mét vài trong vô vàn nhċng ąng dāng căa AI/Machine Learning
Machine Learning là mét tÁp con căa AI Theo định nghĩa căa Wikipedia:
Machine learning is the subfield of compute r science that <gives computers the ability
to learn without being explicitly programmed= Nói đ¢n giÁn, Machine Learning là mét
lĩnh včc nhß căa Khoa Học Máy Tính, nó có khÁ năng tč học hßi dča trên dċ liáu đ°a vào mà không cÅn phÁi đ°ÿc lÁp trình cā thÅ
Machine learning đã và đang gây nên c¢n sát công nghá trên toàn thÁ giëi trong vài năm nay Trong giëi học thuÁt, mçi năm có hàng ngàn bài báo khoa học và đà tài này Trong giëi công nghiáp, tć các công ty lën nh° Google, Facebook, Microsoft đÁn các công ty khïi nghiáp đÃu đÅu t° vào machine learning Hàng lo¿t các ąng dāng sĉ dāng machine learning ra đíi trên mọi linh včc căa cuéc sáng, tć khoa học máy tính đÁn nhċng ngành ít liên quan h¢n nh° vÁt lý, hóa học, y học, chính trị AlphaGo, cç máy đánh cí vây vëi khÁ năng tính toán trong mét không gian có sá l°ÿng phÅn tĉ còn nhiÃu
Trang 27h¢n sá l°ÿng h¿t trong vũ trā, tái °u h¢n bÃt kì đ¿i kì thă nào, là mét trong rÃt nhiÃu ví
dā hùng hãn cho sč v°ÿt tréi căa machine learning so vëi các ph°¢ng pháp cå điÅn
đó
SVM là bài toán đi tìm mặt phÅn cách so cho biên tìm đ°ÿc là lën nhÃt, đãng nghĩa vëi viác dċ liáu an toàn nhÃt so vëi mặt phân cách Bài toán tái °u trong SVM là mét bài toán lãi vëi hàm māc tiêu là <strictly convex=, nghiám căa bài toán này là duy nhÃt H¢n nċa, bài toán tái °u đó là mét 8Quadratic Programming9 (QP) Mặc dù có thÅ tr°c tiÁp giÁi SVM qua bài toán tái °u gác này, nh°ng thông th°íng ng°íi ta th°íng giÁi bài toán đái ng¿u Bài toán đái ng¿u cũng là mét QP nh°ng nghiám là <sparse= nên
có nhċng ph°¢ng pháp giÁi hiáu quÁ h¢n
Còn vëi các bài toán mà dċ liáu là <linear separable= hoặc <nonlinear separable=,
có nhċng cÁi tiÁn khác căa SVM thích nghi vëi dċ liáu đó
2.4 HàC SÂU (DEEP LEARNING)
2.4.1 CNN [20]
CNN là tć viÁt tÃt căa m¿ng thÅn kinh tích chÁp (Convolutional Neural Network),
là mét m¿ng c¢ bÁn trong học sâu Vëi nhċng ph°¢ng pháp lọc thông th°íng chúng ta phÁi tìm kiÁm và xĉ lý thă công nh°ng nó chỉ vća đă cho viác huÃn luyán Trong khi CNN có khÁ năng học nhċng bé lọc đó hoặc đặc tr°ng căa nó
CNNs đ°ÿc sĉ dāng đÅ tính toán ngõ vào thông qua các phép tính tích chÁp Dċ liáu vào đ°ÿc nhân chÁp vëi mét bé lọc Do đó nhċng đặc tr°ng s¿ càng phąc t¿p dÅn qua tćng lëp sâu bên trong CNNs còn đ°ÿc dùng trong viác kÁt hÿp vëi nhċng lëp
<pooling= và chúng th°íng có lëp <fully connected= ï cuái cùng đ°ÿc biÅu dißn trong hình 2.6
Trang 28TÃt cÁ nhċng mô hình CNN đÃu có mét kiÁn trúc t°¢ng tč nhau Mét CNN đ¢n giÁn là mét chuçi các lëp và ngõ ra căa lëp tr°ëc trï thành đÅu vào căa lëp sau Có ba lo¿i lëp chính trong kiÁn trúc CNN: (1) Lëp Convolution, (2) lëp Pooling và (3) lëp Fully Connected Nhċng lëp này cũng đ°ÿc xem nh° là lëp ẩn (Hidden Layer)
Hình 2 4 Ki ¿n trúc m¿ng CNN [20]
2.4.2 Phân đo¿n Ánh (Image Segmentation) [21]
Phân đo¿n Ánh là mét b°ëc đét phá bên mÁng thị giác máy tính Nó thčc hián công viác phân chia Ánh đÅu vào thành các phân đo¿n đÅ đ¢n giÁn hóa phân tích hình Ánh Các phân đo¿n đó đ¿i dián cho các đái t°ÿng hoặc các bé phÁn căa đái t°ÿng và bao gãm các bé pixel và siêu pixel Cuái cùng phân đo¿n hình Ánh s¿ sÃp xÁp các pixel thành các phÅn lën h¢n, lo¿i bß sč cÅn thiÁt phÁi xem xét các pixel riêng lẻ làm đ¢n vị quan sát Có hai kiÅu phân đo¿n Ánh: phân đo¿n ngċ nghĩa và phân đo¿n cá thÅ
Phân đo¿n ngċ nghĩa (semantic segmentation): Phân lo¿i các pixel căa mét hình Ánh thành các lëp đái t°ÿng ý nghĩa
Phân đo¿n cá thÅ (instance segmentation): xác định tćng cá thÅ căa mçi đái t°ÿng trong Ánh đó, nó khác vëi phân đo¿n ngċ nghĩa ï chç không cÅn chia lo¿i cho mçi pixel
đã phân cām
Trang 29Hình 2 5 Ví d ă minh háa vÁ phân đo¿n ngă nghĩa
2.4.3 Bài toán phát hißn v¿t thà (Object Detection)
Mét trong nhċng lĩnh včc quan trọng căa Trí tuá nhân t¿o (Artificial Intelligence)
là thị giác máy (Computer Vision) Thị giác máy tính là mét lĩnh včc bao gãm các ph°¢ng pháp thu nhÁn, xĉ lý Ánh kỹ thuÁt sá, phân tích và nhÁn d¿ng các hình Ánh, phát hián các đái t°ÿng, t¿o Ánh, siêu phân giÁi hình Ánh và nhiÃu h¢n vÁy Phát hián vÁt thÅ
có l¿ là khía c¿nh đặc biát thu hút căa thị giác máy tính do sá lÅn sĉ dāng trong thčc tÁ
Bài toán phát hián vÁt thÅ đà cÁp đÁn khÁ năng căa há tháng máy tính và phÅn mÃm đÅ định vị các đái t°ÿng trong mét Ánh và xác định tćng đái t°ÿng Phát hián vÁt
thÅ đã đ°ÿc sĉ dāng réng rãi đÅ phát hián khuôn mặt, phát hián xe, đÁm sá ng°íi đi bé,
há tháng bÁo mÁt và xe không ng°íi lái Có nhiÃu cách đÅ phát hián đái t°ÿng có thÅ đ°ÿc sĉ dāng cũng nh° trong nhiÃu lĩnh včc
Viác áp dāng đét phá và nhanh chóng căa học sâu vào năm 2012 làm bàn đ¿p đÅ thúc đẩy sč ra đíi các thuÁt toán và ph°¢ng pháp phát hián đái t°ÿng hián đ¿i có đé xác cao nh° R-CNN, Fast-RCNN, Faster-RCNN, RetinaNet và tác đé xĉ lý nhanh nh° SSD
Có hàng triáu chuyên gia lÁp trình và các nhà phát triÅn phÅn mÃm muán tích hÿp và t¿o
ra các sÁn phẩm mëi sĉ dāng phát hián vÁt thÅ
2.4.3.1 Giçi thiáu SSD [22]
SSD viÁt tÃc căa Single Shot Multi-Box Detector [8], là mét ph°¢ng pháp trong lĩnh včc học sâu nhằm giÁi quyÁt bài toán phát hián vÁt thÅ
Trang 30Cũng giáng nh° hÅu hÁt các kiÁn trúc phát hián vÁt thÅ khác, đÅu vào căa SSD
là tọa đé <bounding box= căa vÁt thÅ (hay còn gọi là <offsets= căa <bounding box=) và nhãn căa vÁt thÅ chąa trong bounding box ĐiÅm đặc biát làm nên tác đé căa SSD là mô hình sĉ dāng mét m¿ng thÅn kinh duy nhÃt Cách tiÁp cÁn căa nó dča trên viác nhÁn dián vÁt thÅ trong các <features map= (là mét ngõ ra đ°ÿc định d¿ng ba chiÃu căa mét m¿ng CNN sau khi bß các lëp fully connected cuái) có đé phân giÁi khác nhau Mô hình
s¿ t¿o ra mét l°ëi các ô vuông gọi là <grid cells= trên các features map, mçi ô đ°ÿc gọi
là mét cell và tć tâm căa mçi cell xác định mét tÿp hÿp các boxes mặc định (default boxes) đÅ dč đoán khung hình có khÁ năng bao quanh vÁt thÅ T¿i thíi điÅm dč báo,
m¿ng thÅn kinh s¿ trÁ và hai giá trị đó là: phân phái xác suÃt nhãn căa vÁt thÅ chąa trong bounding box và offsets căa nó Quá trình huÃn luyán cũng là quá trình tinh chỉnh xác suÃt nhãn và bounding box và đúng vëi các giá trị thčc căa ngõ vào căa mô hình (gãm nhãn và offsets căa bounding box)
Thêm nċa, m¿ng đ°ÿc kÁt hÿp bïi rÃt nhiÃu các features map vëi nhċng đé phân giÁi khác nhau giúp phát hián đ°ÿc nhċng vÁt thÅ đa d¿ng các kích th°ëc và hình d¿ng Trái vëi mô hình fast R-CNN [23], SSD bß qua b°ëc t¿o mặt n¿ 8region proposal network= đÅ đà xuÃt vùng vÁt thÅ Thay vào đó tÃt cÁ quá trình phát hián vÁt thÅ và phân lo¿i vÁt thÅ đ°ÿc thčc hián trong cùng mét m¿ng BÁn thân tên căa mô hình - Single Shot MultiBox Detector cũng nói lên đ°ÿc rằng mô hình sĉ dāng nhiÃu khung hình box vëi tỉ lá <scales= khác nhau nhằm nhÁn dián vùng vÁt thÅ và phân lo¿i vÁt thÅ, giÁm thiÅu đ°ÿc b°ëc t¿o <region proposal network= so vëi fast R-CNN nên tăng tác đé xĉ lý lên nhiÃu lÅn mà đé chính xác v¿n đÁm bÁo
D°ëi đây là kiÁn trúc căa mô hình:
Hình 2 6 Ki ¿n trúc cąa SSD [8]
Trang 312.4.3.2 Måt sá ki¿n trúc m¿ng s°én (backbone network)
M¿ng <backbone= là mét m¿ng dùng đÅ trích xuÃt đặt tr°ng, sĉ dāng kiÁn trúc
m¿ng học sâu (deeplab architecture) Ví dāng nh° mobilenet, RFB, resnet, VGG-16, &
a) Ki¿n trúc mobilenet [24]
Hình 2 7 Ćng dăng cąa Mobilenet trên thi¿t bß thông minh [24]
M¿ng mobilenet là mét m¿ng đặc biát hiáu quÁ dành cho đián tho¿i, các há tháng
nhúng so vëi các m¿ng thông th°íng nh° VGG-16, ResNet, &
Mobilenet dča trên kiÁn trúc <streamlined=, nó sĉ dāng các tính chÁp
<depth-wise separable= đÅ xây dčng mét m¿ng thÅn kinh vëi rÃt ít trọng sá Có hai siêu tham
sá (hyper-parameters) cÅn chú ý trong Mobilenet là <latency= và <accuracy=, chúng là
hai mặt đái lÁp căa nhau Nhċng <hyper-parameters= này cho phép chúng ta lča chọn
kính th°ëc căa mô hình cho tćng ąng dāng dča trên sč phąc t¿p căa vÃn đÃ
Mobilenet version 1 là tiÃn đà đÅ sinh ra mét mobilenet version 2 hiáu quÁ và
m¿nh m¿ h¢n Nó cũng dča trên ý t°ïng dùng nhċng lëp chÁp <depth-wise separable=
nh°ng ï bÁn nâng cÃp này có hai điÅm mëi trong kiÁn trúc đó là (1) <linear bottlenecks=
ï giċa các lëp, (2) <shortcut connections= giċa các bottlenecks
D°ëi đây là kiÁn trúc căa mobilenet version 1 và 2
Trang 32Hình 2 8 Ki ¿n trúc m¿ng mobilenet version 1 [24]
Hình 2 9 Ki ¿n trúc m¿ng Moblilenet version 2 [24]
Trang 33b) RFB [25]
RFB là viÁt tÃt căa Receptive Fields Block Đây là mét m¿ng lÃy ý t°ïng tć kiÁn trúc căa Receptive Fields (RFs) trong há tháng <human visual= M¿ng dča trên mái quan
há giċa kích th°ëc và đé lách tâm căa RFs đÅ tăng khÁ năng phân biát các đặc tr°ng
Hay nói sâu h¢n, RFB là khái tích chÁp đa nhánh, cÃu t¿o căa nó có thÅ đ°ÿc chia thành hai phÅn: (1) lëp tích chÁp đa nhánh (multi-branch convolution layer) vëi các kernel khác nhau và (2) <trailing dilated pooling= hoặc các lëp chÁp D°ëi đây là kiÁn trúc căa RFB:
Hình 2 10 Ki ¿n trúc cąa RFB [25]
2.4.4 Ph°¡ng pháp tái °u
2.4.4.1 Gradient Descent [26]
HuÃn luyán m¿ng giáng nh° d¿y con ng°íi cách học Chúng ta đ°a ra dċ liáu đÅ
mô mình hóa, nó s¿ dč đoán và phÁn hãi l¿i cho chúng ta có phÁi dč đoán đó là đúng hay không Viác này s¿ lặp l¿i đÁn khi mô hình ch¿m đÁn đé chính xác mà chúng ta mong muán Mçi lÅn lặp l¿i, <Optimizers= s¿ cÁp nhÁt trọng sá đÅ làm cho hàm mÃt mát
là nhß nhÃt Hàm mÃt mát đóng vai trò nh° ng°íi h°ëng d¿n đÅ <optimizer= biÁt có phÁi
nó đang đi đúng h°ëng đÅ ch¿m đÁn đáy căa đã thị, giá trị vùng nhß nhÃt ĐÅ đ¿t đ°ÿc điÃu này, chúng ta phÁi sĉ dāng Gradient Descent (GD) hoặc nhċng thay đåi căa GD
Trang 34GD là mét thuÁt toán tái °u căa máy học, lặp đi lặp l¿i đÅ giÁm giá trị căa hàm mÃt mát Mét vài lo¿i GD th°íng gặp:
Stochastic gradient descent (SGD)
Batch gradient descent
Mini-batch gradient descent
2.4.4.2 Optimizer: Adam [27]
Adaptive Moment Estimation (Adam) là mét tå hÿp căa Adagrad, làm viác rÃt tát trên nhċng đo¿n dóc th°a thët, vëi RMSprop, làm viêc tát trong viác cài đặt trčc tuyÁn và thay đåi Adam thiÁt lÁp mét hàm sá mũ trung bình cho đé dóc (gradient) đÅ thay đåi <learning rate= thay vì mét hằng sá nh° trong Adagrad Nó giúp giċ trung bình phân rã theo cÃp sá nhân căa <gradient= tr°ëc đó
ThuÁt toán Adam tr°ëc hÁt cÁp nhÁt mét hàm sá mũ trung bình tr°ÿt cho gradient (mt) và bình ph°¢ng gradient (vt) Siêu tham sá (hyper-parameters) β1, β2 ∈ [0, 1) điÃu khiÅn tỉ lá phân rÁ theo cÃp sá nhân căa trung bình tr°ÿt đ°ÿc biÅu dißn nh° sau:
þþ = Ā1 ∗ þþ21+ (1 2 Ā1) ∗ ýþ (4)
�㔐þ = Ā2∗ �㔐þ21+ (1 2 Ā2) ∗ ýþ2 (5)
Giá trị trung bình tr°ÿt đ°ÿc khïi t¿o là 0 s¿ d¿n đÁn viác tính toán bị lách xung quanh
0 và đặc biát là trong thíi gian khïi t¿o Xu h°ëng khïi t¿o này có thÅ dß dàng bị phÁn tác dāng d¿n đÁn °ëc tính điÃu chỉnh bị sai lách
þþ = ă�㕡 12�㗽1�㕡 (6)
�㔐þ = �㔐�㕡
Trong đó: þþ, �㔐þ là °ët tính điÃu chỉnh sai lánh
Tham sá đ°ÿc cÁp nhÁt đ°ÿc biÅu dißn theo công thąc d°ëi đây:
θþ+1 = �㔃þ2 �㔂∗ă�㕡
√�㔐�㕡+�㔀 (8)
2.5 GIÀI THU¾T ĐIÀU KHIÂN PID [28]
Trang 35PID là viÁt tÃt cĉa Proportional 3 Integral 3 Derivative Giáng nh° cái tên, kỹ thuÁt PID là sč kÁt hÿp căa tỉ lá, tích phân và vi phân đÅ điÃu chỉnh sai sá thÃp nhÃt có thÅ nhằm h¿n chÁ sč giao đéng, tăng tác đé đáp ąng cũng nh° giÁm đé vọt lá Kỹ thuÁt PID có hãi tiÁp vòng kín đ°ÿc sĉ dāng réng rÁi trong há tháng đián, tč đéng hóa, điáu
tĉ, &
Mét các đ¢n giÁn đÅ hiÅu PID:
P: là thông sá điÃu chỉnh tỉ lá, giúp t¿o ra tín hiáu điÃu chỉnh tỉ lá vëi sai lách ban đÅu vào theo thíi gian lÃy m¿u
I: là tích phân căa sai lách theo thíi gian lÃy m¿u ĐiÃu khiÅn tích phân là ph°¢ng pháp điÃu chỉnh đÅ t¿o ra các tín hiáu điÃu chỉnh sao cho đé sai lách giÁm và 0 Tć đó cho ta biÁt tång sai sá tąc thíi theo thíi gian hay sai sá tích lũy trong quá khą Khi thíi gian càng nhß thÅ hián tác đéng điÃu chỉnh tích phân càng m¿nh, t°¢ng ąng vëi đé lách càng nhß
D: là vi phân căa sai lách ĐiÃu khiÅn vi phân t¿o ra tín hiáu điÃu chỉnh sao cho tỉ lá vëi tác đé thay đåi sai lách đÅu vào Thíi gian càng lën thì ph¿m vi điÃu chỉnh vi phân càng m¿nh, t°¢ng ąng vëi bé điÃu chỉnh đáp ąng vëi thay đåi đÅu vào càng nhanh
Trang 36CH¯¡NG 3 : GIàI THIÞU VÀ PH¾N CĄNG
3.1 TÞNG QUAN PHÄN CỨNG
Hình 3 1 T áng quan phÅn cćng
Tång quan phÅn cąng đ°ÿc thÅ hián hình 3.1 và chąc năng tćng phÅn:
Jetson TX2: Thu nhÁn dċ liáu tć các ngo¿i vi, xĉ lý và gĉi tín hiáu cho cho phÅn hiÅn thị và phÅn điÃu khiÅn
Pin Lipo: Nguãn cÃp cho Jetson TX2, đéng c¢ và bé điÃu tác căa xe
Nút nhÃn, LCD: là phÅn t°¢ng tác giċa ng°íi dùng và ch°¢ng trình điÃu khiÅn
CÁm biÁn tiám cÁn (cÁm biÁn khoÁng cách): tín hiáu đÅ ngÃt mÃm dćng há tháng, mçi khi xe sÃp va ch¿m hoặc va ch¿m
MPU9250: Gĉi dċ liáu và Jetson TX2 theo chuẩn I2C, đÅ há tháng có thông tin
và h°ëng căa xe
TiÁp theo sau đó nhóm s¿ chi tiÁt tćng phÅn cąng có trên xe
Trang 37ChiÃu dài thanh cháng sác sau 160mm
Khay đčng pin 181mm x 46mm x 56mm
Bánh xe đ°íng kính kép 40mm x 56/81mm
Trang 38Dòng đián liên tāc BEC 10A
Dòng đián đỉnh BEC 20A
Trang 39Tính năng:
- Sĉ dāng đ°ÿc pin lên đÁn 6s (25.2 Volts)
- Tác đé lên đÁn 50+ mph (80 kmh)
- Có tính năng bÁo vá đéng c¢ khi ch¿y trong điÃu kián khÃc nghiát
- ĐiÃu khiÅn đ¢n giÁn, dß dàng
Công d ăng:
- ĐiÃu khiÅn tác đé cho đéng c¢ chính căa xe, băm xung cho servo bẻ lái
- CÃp nguãn cho đéng c¢ tć pin
- NhÁn xung điÃu khiÅn tć Jetson TX2 thông qua m¿ch Adapter
3.2.1.3 Đång c¢ không chái than (brushless)
Hình 3 4 Đång c¢ không chái than
Trang 403.2.2 Các thi¿t bß trên xe
3.2.2.1 Bå điÁu khiÃn trung tâm
Hình 3 5 B å xā lý trung tâm NVIDIA Jetson TX2
Thông s á kÿ thu¿t
AI Performance 1.33 TFLOPs
GPU 256-core NVIDIA Pascal™ GPU
CPU Dual-Core NVIDIA Denver 1.5 64-Bit CPU and Quad-Core
ARM® Cortex®-A57 MPCore processor Memory 8 GB 128-bit LPDDR4 59.7GB/s
Storage 32 GB eMMC 5.1
Power 7.5W/15W
PCIE 1 x1 + 1 x4 OR 1 x1 + 1 x1 + 1 x2 (PCIe Gen2)
CSI Camera Up to 6 cameras (12 via virtual channels)
12 lanes MIPI CSI-2 D-PHY 1.2 (up to 30 Gbps) C-PHY 1.1 (up to 41Gbps) Video encoder 1x 4Kp60
3x 4Kp30 4x 1080p60