Sử dụng thuật toán nhận diện ký tự để xác định các ký tự của biển số xe từ hình chữ nhật đã được phát hiện.. Đề tài này tập trung tìm hiều, nghiên cứu các giải thuật học máy và học sâu,
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HỌC CÔNG NGHỆ THONG TIN KHOA MANG MAY TINH VA TRUYEN THONG
TONG TU NGOC
VÕ THỊ NGỌC PHƯƠNG
KHÓA LUẬN TÓT NGHIỆP
TÌM HIẾU VÀ ĐÁNH GIÁ CÁC KỸ THUẬT HỌC MAY
VÀ HỌC SÂU SỬ DUNG DE NHAN DIEN BIEN SO XE
BENCHMARK FOR LICENSE PLATE DETECTION AND RECOGNITION
KY SƯ NGANH TRUYEN THONG VÀ MẠNG MAY TÍNH
TP HO CHÍ MINH, 2021
Trang 2ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYÈN THÔNG
TONG TÚ NGỌC - 17520814
VÕ THỊ NGỌC PHƯƠNG - 17520933
KHÓA LUẬN TÓT NGHIỆP
TÌM HIẾU VÀ ĐÁNH GIÁ CÁC KỸ THUẬT HỌC MÁY
VÀ HỌC SÂU SỬ DỤNG DE NHẬN DIỆN BIEN SO XE
BENCHMARK FOR LICENSE PLATE DETECTION AND RECOGNITION
KY SU NGANH TRUYEN THONG VA MẠNG MAY TÍNH
GIANG VIEN HUONG DAN
THS THAI HUY TAN
TP HO CHi MINH, 2021
Trang 3THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
ce bedeeeeeeeeeeeeneenens ngay của Hiệu trưởng Trường Dai học Công nghệ Thông tin.
—= ee ceeeceeeeceeeeeeea nessa neces — Chủ tịch.
Ea ~ Ủy viên.
Trang 4ĐHQG TP HÒ CHÍ MINH CONG HOA XÃ HỘI CHỦ NGHĨA VIET NAM
Tên khoá luận:
TÌM HIẾU VÀ ĐÁNH GIÁ CÁC KỸ THUẬT HỌC MAY
VA HỌC SÂU SỬ DUNG DE NHAN DIEN BIEN SO XE
Nhóm SV thực hiện: Cán bộ hướng dẫn:
Tống Tú Ngọc - 17520814 ThS Thái Huy Tân
Võ Thị Ngọc Phương - 17520933
Đánh giá Khóa luận:
1 Vé cuôn báo cáo:
Số trang - Số chương
So bảng sô liệu Sô hình vẽ
So tài liệu tham khảo Sản phâm
2 Về nội dung nghiên cứu:
3 Về mô hình triển khai:
Trang 54 Về thái độ làm việc của sinh viên:
Điểm từng sinh viên:
Trang 6ĐHQG TP HÒ CHÍ MINH CONG HOA XÃ HỘI CHỦ NGHĨA VIET NAM
TRƯỜNG ĐẠI HỌC Độc Lập — Tự Do — Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
TP HCM, ngày tháng năm 2021
NHẬN XÉT KHOÁ LUẬN TÓT NGHIỆP
(CUA CÁN BO PHAN BIEN)
Tên khoá luận:
TÌM HIẾU VÀ ĐÁNH GIÁ CÁC KỸ THUẬT HỌC MAY
VA HỌC SÂU SỬ DUNG DE NHAN DIEN BIEN SO XE
Nhóm SV thực hiện: Cán bộ phản biện:
Tống Tú Ngọc - 17520814
V6 Thị Ngọc Phương - 17520933
Đánh giá Khóa luận:
1 Về cuôn báo cáo:
Số trang - Số chương
Sô bảng sô liệu Sô hình vẽ
Số tài liệu tham khảo Sản phâm
3 Về mô hình triển khai:
Trang 74 Về thái độ làm việc của sinh viên:
Điểm từng sinh viên:
Trang 8LỜI CÁM ƠN
Lời đầu tiên, chúng em xin chân thành cảm ơn đội ngũ cán bộ, giảng viên,
công nhân viên trường Dai học Công nghệ Thông tin Đặc biệt là thầy Thái Huy Tân
đã tận tình quan tâm, hướng dẫn, cung cấp cho chúng em nhiều kiến thức và những bài học quý báu để tạo điều kiện cho chúng em thực hiện khóa luận này Những định
hướng, bồ sung, góp ý của thầy là nền tảng cơ sở để chúng em có thể kịp thời điều chỉnh, sửa chữa, từ đó góp phần cho chúng em có được những nghiên cứu đúng đắn
và thu được kết quả tốt nhất.
Chúng em cũng xin cảm ơn khoa Mạng Máy tính và Truyền thông đã tạo điều kiện tốt nhất để chúng em được nghiên cứu và hoàn thành khóa luận Những kiến
thức, kinh nghiệm mà quý thay, cô và khoa đã cung cấp là tiền đề cơ sở dé nhóm
chúng em có thể thực hiện, áp dụng vào khóa luận này.
Ngoài những kiến thức, kỹ năng đã tích góp được từ trước đến nay, chúng em cũng đã có gắng tìm hiểu thêm những kiến thức mới dé hoàn thành khóa luận này Trong quá trình thực hiện vẫn khó tránh khỏi có những sai sót và hạn chế, kính mong
nhận được sự thông cảm, chia sẻ và góp ý của quý thay, cô và khoa Mạng Máy tính
và Truyền thông dé chúng em có thé kịp thời sửa chữa, bồ sung Và đó cũng là hành
trang đề giúp chúng em tự tin vào công việc sau này.
Một lần nữa chúng em xin chân thành cảm ơn và gửi lời chúc sức khỏe đến
quý thầy, cô Kính chúc khoa Mạng Máy tính và Truyền thông ngày càng phát triển
và thành công.
Tổng Tú Ngọc — Võ Thị Ngọc Phương
Trang 9ĐHQG TP.HỎ CHÍMINH CONG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập — Tự Do — Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
ĐÈ CƯƠNG CHI TIẾT
TÊN ĐÈ TÀI:
- Tiếng Việt: Tìm hiểu và đánh giá các kỹ thuật học máy và học sâu sử dụng đề nhận
diện biên sô xe
- _ Tiếng Anh: Benchmark for License Plate Detection and Recognition
Cán bộ hướng dẫn: ThS Thái Huy Tân
Thời gian thực hiện: Từ ngày 01/03/2021 đến ngày 26/06/2021
Sinh viên thực hiện:
Tống Tú Ngọc — 17520814 — 0916 746 469
Võ Thị Ngọc Phương — 17520933 — 0938 966 175
Nội dung đề tài:
1 Téng quan tình hình nghiên cứu
Các model học máy (Machine Learning) và học sâu (Deep Learning) không
còn xa lạ mà đang dan tiếp cận đến từng lĩnh vực đời sống con người Từ van đề thực
tế trong cuộc sông, các hệ thống gửi trả xe truyền thống sử dụng vé hoặc thẻ từ vẫn
tồn tại nhiều bat cập và luôn đòi hỏi phải có người vận hành để đảm bảo hoạt động liên tục Xuất phát từ vấn đề đó hệ thống gửi trả xe thông minh cho phép nhận diện
biển số xe, tối ưu hóa tốc độ, thời gian gửi trả mà vẫn đảm bảo độ chính xác có thể là
một giải pháp cho bài toán gửi trả xe.
Trang 102 Mục tiêu, đối tượng và phạm vi nghiên cứu
2.1 Mục tiêu
Xây dựng các model cho phép nhận diện biển số xe, tìm ra model tối ưu nhất
và triển khai trên thiết bị mô phỏng một hệ thống gửi trả xe.
2.2 Đối tượng nghiên cứu
Mô hình nhận diện được biển số xe trực tiếp từ video hoặc stream trực tiếp từ bãi giữ xe để đảm bảo tính thực tế.
2.3 Phạm vi nghiên cứu
Mô hình nhận diện bién số xe được triển khai thực tế tại các bãi giữ xe, cụ thé
trong phạm vi nghiên cứu là bãi giữ xe của trường dai học.
3 Phương pháp thực hiện và kết qua mong đợi:
e Phương pháp thực hiện:
1 Sử dụng thuật toán phát hiện đói tượng dé xác định hình chữ nhật (bounding
box) chứa biển số xe từ các frame ảnh đầu vào.
2 Sử dụng thuật toán nhận diện ký tự để xác định các ký tự của biển số xe từ
hình chữ nhật đã được phát hiện.
e Kết quả mong đợi: Xây dựng được các model có khả năng nhận diện được biển
số xe từ đầu vào là các video được quay từ bãi giữ xe và tìm ra model tối ưu nhất đảm bảo cả về tốc độ xử lý và độ chính xác.
Kế hoạch thực hiện:
Nội dung thực hiện Thời gian
Tống Tú Ngọc Võ Thị Ngọc Phương
Giai đoạn 1 Tìm hiệu ve bai toan object detetion and recognition, các
thuật toán tôi ưu tính đên thời diém thực hiện, thu thập dữ
Trang 11(01/03/2021 — liệu, các công cụ can thiết dé dán nhãn cho dữ liệu cần hudn
21/03/2021) luyện tương ứng với từng model và các thiết bị cần thiết đề
triển khai các model.
Dán nhãn dữ liệu, huấn |Dán nhãn dữ liệu, huấn
luyện và xây dựng các |luyện và xây dựng các
model nhận diện biển số xe | model nhận diện biển số xe
Giai đoạn 2 với thuật toán YOLO v4 và | với các thuật toán SSD
(22/03/2021 — YOLO v4 tiny Mobilenet v2, SSDLite
Xác nhận của CBHD TP HCM, ngày tháng năm 2021
(Ký tên và ghi rõ họ tên) Sinh viên
(Ký tên và ghi rõ họ tên)
Trang 12MỤC LỤC
Chương 1 = TONG QUAN ccc 2c tre 2
1.1 Giới thiệu dé tài.
1.2 Các nghiên cứu liên quan ¿+ +55 5+ S*2*+*+£+£t*rexrterererxrsrrrre 5
1.3, Mô tả bài toán
1.4 Phạm vi và mục tiêu để tài -c+++222222vv+rrrttttrrkxrrrrrrrrrrrkrrrrrree 5 1.4.1 — Phạm vi dé tài
1.4.2 Mục tiêu đề tài 2cc2222vv 222 tre 6 1.5 Thách thức của đề tài
1.6 Đóng góp của để tài .-:-222222 2222111222211 1.1 cce 6 1⁄7 Cấu trúc khóa luận -¿-22++++22V+++22EEE+++222EE++222232222ExErtrrkrcree 6
Chương2 CƠ SỞ LÝ THUYẾT 2 +¿¿+2VE+++tSEEEEE+ttEEExzrrrrrsecree §
2.1 Machine Learning 6+ + ST HH re 8
2.1.1 Định nghĩa Machine Learning - ¿+ +55 ssx+xsv£vevxsrexseeee 8
2.1.2 Các giải thuật Machine Learning - + 555 s+c+cscccc++ 9
2.1.3 Bài toán Machine Learning trong đề tài : -cc:5ccsscc2 1
2.1.4 Giới thiệu bài toán phát hiện đối TƯỢN cành 1
2.2 Deep Learning - 6-2 S2 3t n9 1212212121011 re 4 2.2.1 Perceptron S nhe 5
2.2.2 Ham kich hoat 0117 7
2.3 Convolutionnal Neural Network cccsceeeseseesesssescseeeesesesesteneeeseseeeanes 9
2.3.1 Tổng QUAM .ceesccsssesscsssscsssssseccesssscccsssuscesssusecesssussesssscsesssueceessieeseessiee 9 2.3.2 Cấu trúc CNN vccehhhhhhhhhhhHHerec 9
Trang 132.4 Phát hiện đối tượng bằng Viola-Jones - -c2222vzcvccvvvrerrvee 24
2.4.1 Giới thiệu Viola - Jones
2.4.2 Dac trưng Haar-Like ¿c5 27 2.4.3 Dac trưng LBP
2.5 Phát hiện đối tượng bằng SSD với MobileNet -ccccccccccz 30
2.5.1 Gidi thiệu SSD
2.5.2 Giới thiệu MobileNet ccccecreeecererreerree 32
2.6 Phát hiện đối tượng với YOLOv4 và YOLOv4 tiny
2.6.1 Giới thiệu YOLO cccc 2222222222111 36
2.6.2 Giới thiệu YOLOv4 ccocc 2222222222111 39
2.6.3 Giới thiệu YOLOv4 tỉny cc 222222222EEEEEErkrrrrrerrvev 42 2.7 Nhận diện ký tự với SVM -222222vvvrrrttEEEErtrrrrrrrrrrrrrrrrrrrrri 42
Chương3 | MO HÌNH PHÁT HIỆN VÀ NHAN DIEN BIEN SO XE 45 3.1 Tổng quan mô hình :¿- +2+222++++22E+++ttEEEE++etEEEvrrerrrrrrrerrrrrrrrrd 45
3.2 Tập dữ liệu 2222cccvvrvtnnnnnnnHnn.2222212 re 45
3.3 Mô hình phát hiện khung biển số SSD c¿522s+cz+ccvsccesrz 47 3.3.1 Chuẩn bị 2222c22222EEEEEErrrEEEkrrrrrrrtrrrrrrrvee 47
3.3.1.1 Phan vùng va gan nhãn dữ liệu -+-<+<-s2 47
3.3.1.2 Chuẩn bị các mô hìnhh - ¿+ +x+vEv£exexexererkekeerrrrkrkrke 49
3.3.1.3 Tạo dữ liệu huấn I0 50 49 3.3.1.4 Tạo Label Map va cấu hình huấn luyện -. 50
3.3.1.5 Định nghĩa các mô hình - - - 2 5+5++++c+srsretexererrrkree 50
3.3.2 Huấn luyện
3.4 Mô hình phát hiện khung biển số HAAR/LBP Cascade
Trang 143.4.1 Chuẩn bị ccc22222c2222EEtEEEEErrrtrrtrrrrrrrtrrrrrrrrve 58 3.4.1.1 Phân vùng đối tượng
3.6.2 Huấn Wy 6tescecccccseccssssssecscsssseesssssessssssuessssssseessssussessssecsessseeseessseesesssees 68 Chuong 4 THỰC NGHIỆM VÀ DANH GIÁ -cc:-ccss2 69
4.1 Phuong pháp đánh giá 5-55: t‡tsrsekekerrrirrrrerrrrrreil 69
4.1.1 Các chỉ số cho bài toán phát hiện đối tượng - - 69
4.1.2 Các định nghĩa quan trọng - - - «5c Scsxsxetererkrekererererkd 69
4.13 COCO co 2222222122111 ceerrrrrrrrie 71
4.2 Môi trường thực nghiệm ¿- ¿5tr 72
4.2.1 — Giới thiệu cccssErrrrrrriiiiiiiiirirrrrrrrrrree 72
4.2.2 Câu hình phan cứng 2¿-+222+++teEEEEzrrrtrrkererrrrerrrrr 72
4.2.2.1 Thông số kỹ thuật -:©22222c2222+vttEEEvvrrrtrrtrrrrrrrrrrerrree 72 4.2.2.2 Sơ đồ cầu tạo ccrrrthhhrrrrrrrrirrrrii 74
4.2.3 Cài đặt môi trường c tu 74
Trang 15TÀI LIEU THAM KHẢO 222:22222222ES2222223222223112221111222211 2212 re 85
Trang 16DANH MỤC HÌNH
Hình 2.1 Sử dụng phát hiện đối tượng để xác định vị trí và phân loại đối tượng [12]
— 2
Hình 2.2 Minh họa mô hình RCNN [15] ¿52552 ‡errererrkree 3
Hình 2.3 Minh họa mô hình YOLO [20] - - ¿5c 5222 S2 *++£++eE+>exeexeseexssz 3
Hình 2.4 So sánh mang nơ-ron đơn giản và mạng no-ron học sâu [24] 4
Hình 2.5 Cấu tạo của mạng nơ-ron nhân CAO - ¿+ 5+ + sx‡£vteerkeerxexreree 5 Hình 2.6 Cấu tạo của nơ-ron sinh UY H443 5
Hình 2.7 Perceptron - - ¿+6 E2 SE 12 912311113 111111101 11010111 1H 0101 têc 6
Hình 2.8 Đồ thị biểu diễn hàm kích hoạt ngưỡng - - ¿©2222 7 Hình 2.9 Đồ thị biểu diễn hàm kích hoạt Sigmoid ¿£©2s2zz2225sce2 8 Hình 2.10 Dé thị biểu diễn ham kích hoạt tanh -.-cccccccccccccceereereeeeee 8
Hình 2.11 Dé thị biểu diễn ham kích hoạt ReLU -c-cccccccccccccex 9
Hình 2.12 Đầu vào và bộ lọc của lớp tích chập -¿- ¿+22 20
Hình 2.13 Cách thức hoạt động của lớp tích chập -+ -cs+-c<+-+ 21 Hình 2.14 Cách thức hoạt động của lớp tích chập ¿-¿-+- << ++zx+cs+ 21
Hình 2.15 Hình anh minh họa khi Stride = l -¿- ¿+ << +++++*£v+v£exexexex 22 Hình 2.16 Hình ảnh minh họa khi Padding = 1 va Stride = l - 22
Hình 2.17 Hình anh minh họa ReLU cccccecccessseeseseescsseseeeesecsesecseeecseesesesaeeneee 23
Hình 2.18 Hình anh minh họa hoạt động của Max Pooling - -‹ 24 Hình 2.19 Detection cascade trong thuật toán Viola-Jones [26] - 25
Hình 2.20 Đặc trưng Haar-Like [26] - St SE EEEEekekerkrrererree 27
Hình 2.21 Ví dụ về LBP operator cơ bản [36].
Hình 2.22 Các ví dụ về điểm lấy mẫu va bán kính khác nhau của LBP [36] 29
Hình 2.23 Minh họa kiến trúc mạng SSD [37]
Hình 2.24 Minh họa depthwise convolution và pointwise convolution [40] 33
Hình 2.25 Sơ đồ kiến trúc mạng YOLO ¿¿©22+++2222+++ettvvvretrvrrrrrrr 36
Trang 17Hình 2.26 Các layer trong mạng darknet-53 [22] ¿-¿- 5 + ++++++c+c+ee++ 37
Hình 2.27 Kiến trúc output của model YOLO -c¿©ccsscsvcssccscccsc.-.+3Ø
Himh 2.28 Yolo-SPP 2n 41
Hình 2.29 Hyperplane phân tách [48] - - ceeeeecseseeeseseesseeneseseeeenenes 43
Hình 2.30 Hyperplanes phân tách tuyến tính [49] -. z++2+zz+2z+sc+z 44
Hình 3.1 Mô hình nhận diện biển số xe -::::ttttrrrrrrrrrrrrrrri 45
Hình 3.2 Minh hoa tập dữ liệu — tập dương - ¿-¿- + + c+++xsxexererkrkeree 46
Hình 3.3 Minh họa tập dữ liệu — tập âm - ¿+ ¿2 5< *£zx+keerkerrkrkeree 46 Hình 3.4 Minh họa lớp ký tur Roo eeceeeseseseeeeeeseseseseneeeeseeseecaeeeeeneserseseeeeeeeeeeeeaeaes 47
Hình 3.5 Gan nhãn dữ liệu cho các mô hình SSD - «+ ++x<+x+xc++vxsxe 48
Hình 3.6 Minh họa nội dung file label xml ¿-¿- 5 2 2 ++++x+£+£+£e£zxscs# 48 Hình 3.7 Cài đặt Notebook sử dụng GPU ¿-¿- 55+ c++++t+eerererreerer 55
Hình 3.8 Liên kết Notebook với Drive 55
Hình 3.9 Gan nhãn dữ liệu cho các mô hình Viola — Jones „50
Hình 3.10 Minh họa nội dung file label location.txt
Hình 3.11 Các tham số hỗ trợ tạo samples 60
Hình 3.12 Bộ tham SỐ create_samples 61 Hình 3.13 Các tham số opencv_traincascade hỗ UO seecesceccessesseessessessssseesessessesseesees 62
Hình 3.14.Gán nhãn dữ liệu cho các mô hình YOLO ¿+ +5+s+s>ss+s>++ 63
Hình 3.15 Minh họa nội dung file label tX( - 6 5+ S+££x+xz£vrereeerevexev 63
Hình 3.16 Clone mã nguồn Darknet về máy ảo Google Colab - 65 Hình 3.17 Thay đổi file makefile - -¿ 22£222++t2EESS+ttEEEErretrrvrrrrrrrrcee 66
Hình 3.18 Dữ liệu huấn luyện cho model nhận diện kí tự -. - 67
Hình 3.19 Minh họa dit liệu ký tự No eee esseseesesseseesesesessesessessesnsssssaeeneeneaees 68
Hình 4.1 Cách tính IoU [53] - -¿-¿ ¿+ +21 + S2 1222111 E121 ưu 70
Hình 4.2 COCO metrics [54] - - 5c + 3+ St 3233 E*EEvE+tEeEEexrxrxerrrvrrrrerrrrerrrrrrree 71
Hình 4.3 Sơ đồ cấu tao Raspberry Pi 4 Model B s.ccssssssessssssseesscsssesssssseesssssseeesessees 74
Hình 4.4 Trường hợp điều kiện thử nghiệm tốt -2c:c++cccvvvecccee 78
Hình 4.5 Trường hợp nhận sai ký tự B — 8 - - + Street 78
Trang 18Hình 4.6 Trường hợp nhận sai ký tự B — Ú ¿-¿- + + St+t+ketekerrkekererree 79
Hình 4.7 Mô hình không thể contour tất cả ký tự trong trường hợp ảnh hưởng bởi
ngOại Cảnh - ¿óc 11v HH1 T HT HH TH HH TT HH ng vi 79
Hình 4.8 Mô hình không thé contour tat cả ký tự trong trường hợp ảnh hưởng bởi
ngoại cảnh
Hình 4.9 Mô hình vẫn có thể hoạt động khi chịu tác động của ánh sáng
Hình 4.10 Trường hợp biển số bị nghiêng -c222cc+2222Evveerrrrrrrrrrrrer 81
Trang 19DANH MỤC BANG
Bảng 2.1 Kiến trúc mạng của MobilelNet -¿::©2222+222vvzreecvvvrrerrrrrrrrrr 34
Bảng 2.2 Depthwise separable và Full Convolution MobileNet 35
Bang 4.1 Thông số kỹ thuật Raspberry Pi 4 Model B ssssccsssssssessssssesssssseeseessseeeee 72 Bang 4.2 Kết quả đánh giá các mô hình SSD và YOLO - 75 Bảng 4.3 Kết quả đánh giá mô hình Haar Cascade và LBP Cascade 76
Bang 4.4 Kết quả thực nghiệm của các mô hình -cz£22222vszccce2 76
Trang 20DANH MỤC TU VIET TAT
Ký hiệu, chữ viết tắt Tên đầy đủ
ML Machine Learning
DL Deep Learning
SIFT Scale-Invariant Feature Transform
HOG Histogram of Oriented Gradients
SVM Support Vector Machine
CNN Convolutional Neural Networks
R-CNN Region Based Convolutional Neural Networks
Fast R-CNN Fast Region Based Convolutional Neural Networks
cascade R-CNN cascade Region Based Convolutional Neural Networks
SSD Single Shot Multibox Detector
YOLO You Only Look Once
LBP Local Binary Patterns
VGG Visual Geometry Group from Oxford
ReLU Rectified Linear Unit
CSP Cross Stage Partial connections
SPP Spatial Pyramid Pooling
PAN Path Aggregation Network
DC Block Dense Connection Block
FPN Feature Pyramid Network
Trang 21COCO Common Objects in Context
mAP mean Average Precision
loU Intersection over Union
Trang 22TÓM TẮT KHÓA LUẬN
Những năm gần đây, học máy (Machine Learning) và học sâu (Deep Learning)
đã và đang được ứng dụng ngày càng nhiêu trong các lĩnh vực như giao thông, y tế,
tài chính, v.v Đề tài này tập trung tìm hiều, nghiên cứu các giải thuật học máy và học sâu, huấn luyện và triển khai các mô hình phát hiện và nhận diện đối tượng trên thiết
bị nhúng Raspberry Pi 4 Model B.
Trong quá trình thực hiện đề tài, chúng tôi đã tìm hiểu, giải quyết bài toán phát hiện và nhận diện đối tượng với các giải thuật học máy và học sâu Sau quá trình tìm
hiểu, chúng tôi đã huấn luyện được các mô hình với YOLO (YOLO v4, YOLO
v4-tiny), SSD (SSD Mobilenet v2, SSDLite Mobilenet v2, SSD Inception v2, SSD
Quantized v2), Haar Cascade va LBP Cascade cho bài toán phát hiện đối tượng, kết
hợp với SVM cho bài toán nhận diện đối tượng Trong đề tài này chúng tôi muốn
triển khai các mô hình học máy và hoc sâu trên các thiết bị nhúng dé thực nghiệm và đánh giá nhằm tìm ra mô hình đảm bảo cả về độ chính xác và tốc độ xử lý vì trên thực tế, đã có nhiều nghiên cứu nhưng chỉ đưa ra các kết quả đánh giá về độ chính
xác hoặc đa phần đều triển khai các giải thuật này trên các máy trạm (có GPU).
Trang 23Chương 1 TONG QUAN
1.1 Giới thiệu dé tai
Hiện nay, tại các đô thị lớn, quy hoạch không gian dành cho các bãi đỗ xe tỏ
ra không theo kip với tốc độ phát triển, gia tăng một cách chóng mặt của các phương
tiện giao thông Theo thông kê của Bộ Giao thông Vận tải, đến cuối năm 2019, tại Việt Nam đã có khoảng 60 triệu xe máy đang lưu thông và đến nay con số này vẫn
tiếp tục tăng lên nhanh chóng mỗi ngày So với số lượng xe máy khổng lỗ này thì không gian của các bãi đỗ xe thường khá khiêm tốn so với nhu cầu sử dụng Mặt
khác, mỗi bãi xe đều mang những nét đặc thù riêng đòi hỏi cách bé trí cũng như quản
lý việc gửi trả xe một cách hợp lý mới mang lại hiệu quả tối ưu trong việc khai thác,
sử dụng bãi xe.
Việc áp dụng các mô hình bãi đỗ xe thông minh công cộng dé giải quyết tình
trạng khan hiếm chỗ đỗ xe ở các đô thị lớn của nước ta cũng được đưa ra nghiên cứu,
thử nghiệm nhưng vấp phải nhiều khó khăn khi triển khai xây dựng Đầu tiên là vấn
đề liên quan đến các quỹ dat sử dung dé xây dựng các bãi đỗ xe thông minh Đề được
triển khai thi các quỹ dat này phải thuộc diện quy hoạch làm bãi đỗ xe thông minh, sau khi thuộc diện quy hoạch thì cần phải là đất sạch, nếu phải giải phóng mặt bằng
thì kinh phí sẽ đội lên rat lớn Còn nếu đất không thuộc diện quy hoạch làm bãi đỗ
xe, các nhà đầu tư công trình hạ tầng kỹ thuật tiến hành thủ tục chuyền đổi thành đất
phục vụ cho mục đích đỗ xe Tuy nhiên đây chỉ là giải pháp ngắn hạn và không phải
loại đất nào cũng có thé chuyển đổi được, chưa ké nếu là đất thương mai dich vụ thì
sẽ có giá thuê rất cao, việc triển khai sẽ không khả thi với các nhà đầu tư Tiếp đến là
các chính sách đề khuyến khích các nhà đầu tư tham gia vào các dự án bãi đỗ xe thông minh Cụ thé theo quy định hiện hành của pháp luật, dự án đầu tư bãi đỗ xe không
thuộc diện được giao đất không thu tiền sử dụng đất, tức là khi đầu tư loại hình dự án này, nhà đầu tư phải thực hiện chuyển quyền sử dụng đất và nộp tiền sử dụng đất cho Nha nước Chưa kể mức phí gửi xe hiện nay đang khá thấp và khó có thể thay đổi Ngoài ra theo quy định các dự án bãi đỗ xe sẽ không thẻ triển khai các dịch vụ thương
Trang 24mại, như vậy rất khó cho nhà đầu tư có thể đây nhanh quá trình thu hồi vốn Thực tế, nhiều nhà đầu tư trong và ngoài nước cũng rất quan tâm đến vấn đề đầu tư bãi đỗ xe thông minh và đều thấy rằng đây là lĩnh vực rất tiềm năng Tuy nhiên, bên cạnh tiềm
năng về nhu cầu, vẫn dé mà các nhà đầu tư băn khoăn là làm thé nào dé thu hồi vốn,
bởi kinh phí đầu tư quá lớn nhưng tiền thu về thì nhỏ giọt.
Khi việc đầu tư xây dựng, triển khai các mô hình bãi đỗ xe thông minh công cộng tỏ ra không khả thi và vấp phải nhiều khó khăn thì việc thay đổi cách quản lý
va vận hành hệ thống gửi trả xe truyền thống được coi là một giải pháp khả thi cho bài toán đỗ xe này Đặc điểm của các hệ thống gửi trả xe truyền thống sử dụng vé
hoặc thẻ từ vẫn tồn tại nhiều bắt cập, luôn đòi hỏi phải có người vận hành để đảm bảo
hoạt động liên tục, chưa ké đến việc xử lý mat vé/thẻ gửi xe Xuất phát từ vấn đề đó
hệ thống gửi trả xe thông minh cho phép nhận diện biển só xe, tối ưu hóa tốc độ, thời gian gửi trả mà vẫn đảm bảo độ chính xác có thể là giải pháp giúp giải quyết một phan cho bài toán gửi trả xe Dựa trên cơ sở hạ tang, cách quản lý và vận hành của
các hệ thống gửi trả xe sử dung thẻ từ theo kiều đa luồng cé định với các cổng kiểm soát đầu vào, đầu ra riêng biệt hay đa luồng linh hoạt chung công kiểm soát đầu vào,
đầu ra tỏ ra rất hiệu quả và thuận tiện, những cách quản lý này có thể tiếp tục triển hai với các mô hình bãi xe thông minh Tuy nhiên, điểm đổi mới trong giải pháp
được đưa ra là sử dụng các kỹ thuật học máy và học sâu đề tự động nhận diện được
ién số theo thời gian thực nhưng vẫn đảm bảo được độ chính xác.
Việc gửi dữ liệu lên đám mây để phân tích là một xu hướng nồi bật trong
những thập kỷ qua, đưa điện toán đám mây (Cloud Computing) trở thành một mô
ình điện toán thống trị Tuy nhiên số lượng thiết bị và lưu lượng dữ liệu ngày càng gia tăng đáng ké trong kỷ nguyên Internet vạn vật (Internet of Things - IoT) đang đặt
ra gánh nặng đáng kể về giới han dung lượng Internet và độ trễ dịch vụ không thé iém soát Rất khó dé đáp ứng các yêu cầu dịch vụ nhạy cảm với độ trễ và nhận biết
ngữ cảnh của các ứng dụng IoT nếu chỉ sử dụng điện toán đám mây Đối mặt với
những thách thức này, các mô hình điện toán đang chuyển từ điện toán đám mây tập
trung sang điện toán biên phân tán (Distributed Edge Computing) [1] Với điện toán
Trang 25biên (Edge Computing), việc xử lý dữ liệu diễn ra một phần ở mạng biên thay vì hoàn toàn trên đám mây Điện toán biên có khả năng giải quyết các mối quan tâm về yêu cầu thời gian phản hồi, hạn chế về tuổi thọ pin, tiết kiệm chỉ phí băng thông cũng như
an toàn dữ liệu và quyền riêng tư [2, 3].
Lượng dữ liệu không 16 liên tục được tạo ra với quy mô chưa từng có và ngày càng gia tăng Đặc biệt, dữ liệu kỹ thuật số đang tăng với tốc độ đáng kinh ngạc Do
đó, thuật ngữ dữ liệu lớn (Big data) được đặt ra dé nắm bắt xu hướng bùng nỗ dữ liệu
này Trong thập kỷ qua, các kỹ thuật học máy đã được áp dụng rộng rãi trong một số
lĩnh vực sử dụng dữ liệu lớn và phức tạp như y học, thiên văn học, sinh học, v.v., vì
những kỹ thuật này cung cấp các giải pháp khả thi dé khai thác thông tin an trong dữ
liệu Tuy nhiên việc thu thập các tập dữ liệu quá lớn và phức tạp nên rất khó xử lý bằng các phương pháp học truyền thống vì không xây dựng, thiết kế được quá trình
học từ tập dữ liệu và sẽ không hoạt động tốt với khối lượng lớn dữ liệu Do đó, mặc
dù việc học hỏi từ vô số dữ liệu này được kỳ vọng sẽ mang lại những tiến bộ khoa
học và kỹ thuật đáng kể cùng với những cải thiện về chất lượng cuộc sống [4], nó cũng đồng thời mang đến những thách thức to lớn Gần đây, việc tích hợp dữ liệu
lớn với học máy được nghiên cứu phát triển và trở thành một giải pháp đề giải quyết
các van đề phức tạp trong các lĩnh vực khác nhau như trí tuệ nhân tạo, hệ thống phân
tích quy mô lớn, xử lý ngôn ngữ tự nhiên, nhận dạng mẫu, phân tích video và viễn
thông [5].
Việc ứng dụng và triển khai điện toán biên dé xử lý dữ liệu thu thập trên các thiết bị IoT vào mô hình hệ thống bãi giữ xe thông minh kết hợp với các giải thuật học máy và học sâu để phát hiện và nhận diện biển số xe máy hoàn toàn khả thi và
Trang 26đảm bảo cả về tốc độ xử lý và độ chính xác, có khả năng áp dụng cho các mô hình
bãi giữ xe thông minh.
1.2 Các nghiên cứu liên quan
Trên thực tế đã có nhiều nghiên cứu ứng dụng học máy và học sâu trong nhận
diện biển số xe của nhiều nước trên thế giới như Indonesia [6], Trung Quốc [7],
Turkish [8], India [9], Bangla [10], v.v Với mỗi nước, biển số xe có qui định riêng,
vì vậy việc xử lý và nhận diện ký tự trên khung biển số sẽ khác nhau Xét về bài toán phát hiện khung biên số có nhiều thuật toán, mô hình đã được áp dụng như CNN with
TensorFlow [6], CRNN [7], Faster R-CNN, SSD [10], YOLOv2 [11], v.v Những két
qua đánh giá về độ chính xác cũng như kiểm thử da phan được thực hiện trên tap các hình ảnh, cũng có nghiên cứu và triển khai trên nền tảng di động có hỗ trợ GPU
(GPU-Powered Mobile) [12].
Ở Việt Nam đã có những nghiên cứu nhận diện biển số xe sử dụng SVM và WPOD - NET [13], CNN [14], v.v Và phan lớn những nghiên cứu này chi đưa ra
kết quả đánh giá về độ chính xác trên tập các hình ảnh.
1.3 Mô tả bài toán
Bài toán chính sẽ bao gồm việc phát hiện và nhận diện biển số xe máy từ video
được quay tại bãi giữ xe trường Đại học Công nghệ Thông tin.
- Đầu vào: Các frame ảnh từ video đã quay được tại bãi giữ xe trường Đại
học Công nghệ Thông tin.
- Đầu ra: Chuỗi kí tự trên biển số xe máy.
1.4 Phạm vi và mục tiêu đề tài
1.4.1 Pham vi đề tài
Chúng tôi huấn luyện và triển khai các mô hình:
- Cho phép phát hiện và nhận diện biển số xe máy từ các video quay tại bãi
giữ xe trường Đại học Công nghệ Thông tin.
Trang 27- Dựa trên các mô hình đã huấn luyện, triển khai mô hình trên Raspberry Pi
4 Model B.
1.4.2 Mục tiêu đề tài
Mục tiêu của khóa luận là xây dựng các mô hình cho phép nhận diện biển số
xe, triển khai trên thiết bị máy tính nhúng, so sánh các kết quả độ chính xác và thực nghiệm, tìm ra mô hình tối ưu nhất.
1.5 Thách thức của đề tài
Một số thách thức của đề tài:
- Kha năng phát hiện khung biển số cũng như ky tự trên khung bién số từ
frame ảnh phụ thuộc vào vị trí lắp đặt của camera, đảm bảo ít nhiễu nhất
có thể.
- Tim một thuật toán tôi ưu cả về độ chính xác và tốc độ xử lý, có khả năng
triển khai mô hình trên các thiết bị có năng lực xử lý và tài nguyên hạn ché,
cụ thé trong khóa luận là Raspberry Pi 4 Model B.
1.6 Đóng góp của đề tài
Một số đóng góp của khóa luận:
- Xây dựng một tập dữ liệu (dataset) tương đối lớn cho bài toán phát hiện và
nhận diện biển số xe, có thể áp dụng cho các bài toán liên quan.
- Huấn luyện được các mô hình cho phép phát hiện và nhận diện biển số xe
máy từ hình ảnh, video và có thể mở rộng cho trường hợp stream trực tiếp
tại bãi giữ xe.
- Tìm ra mô hình tối ưu có khả năng triển khai trên các thiết bị nhúng.
1.7 Cấu trúc khóa luận
Khóa luận có bố cục bao gồm 5 chương:
- Chương 1 - Tổng quan: Giới thiệu tong quan về đề tài, các nghiên cứu
liên quan, mục tiêu của đề tài và các đóng góp chính của khóa luận.
Trang 28Chương 2 — Cơ sớ lý thuyết: Trình bày các kiến thức nền tảng và hướng tiếp cận đề tài.
Chương 3 — Mô hình phát hiện và nhận diện biển số xe máy: Mô tả chỉ
tiết về các mô hình và giải quyết bài toán đã đặt ra.
Chương 4 —- Thực nghiệm và đánh giá: Đánh giá các mô hình đã huấn
luyện và thực nghiệm trên Raspberry Pi 4 Model B.
Chương 5 — Kết luận: Trình bày kết quả đạt được sau khi huấn luyện,
triển khai các mô hình, các hạn chế còn tồn tại và hướng phát triển trong
tương lai.
Trang 29Chương 2 CƠ SỞ LÝ THUYET
2.1 Machine Learning
2.1.1 Định nghĩa Machine Learning
Có hai định nghĩa của học máy (Machine Learning) được đưa ra.
Arthur Samuel mô tả: “The field of study that gives computers the ability to learn without being explicitly programmed” Tam dịch là: Học máy là lĩnh vực nghiên
cứu mang lại cho máy tính khả năng học hỏi mà không cần lập trình rõ ràng Nhưng
đây là một định nghĩa cũ và không chính thức.
Tom Mitchell đưa ra một định nghĩa hiện đại hon: “A computer program is said to learn from experience E with respect to some class of tasks T and performance
measure P, if its performance at tasks in T, as measured by P, improves with experience E.” [6] Tạm dich là: Một chương trình máy tinh được cho là học hỏi kinh
nghiệm E đối với một số loại nhiệm vụ T và thước đo hiệu suất P, nếu hiệu suất của
nó tại các nhiệm vụ T được đo bằng P sẽ cải thiện với kinh nghiệm E.
Một khái niệm đơn giản, học máy là một lĩnh vực nghiên cứu tập trung vào
học thuyết, hiệu suất, các thuộc tính của hệ thống học và thuật toán Đây là một lĩnh
vực có tính liên ngành cao được xây dựng dựa trên các ý tưởng từ nhiều loại lĩnh vực
hác nhau như trí tuệ nhân tạo, lý thuyết tối ưu hóa, lý thuyết thông tin, thống kê,
khoa học nhận thức, điều khiển tối ưu và nhiều ngành khoa học kỹ thuật khác [6] [7] 8] [9] Do được triển khai trong một loạt các ứng dụng, học máy đã bao phủ hầu hết
mọi lĩnh vực khoa học, điều này đã mang lại tác động to lớn cho khoa học và xã hội 10] Nó đã được sử dụng cho nhiều van đề khác nhau, bao gồm công cụ khuyến nghị
(recommendation engines), hệ thống nhận dang (recognition systems) và khai thác
dữ liệu (data mining), và hệ thống điều khiển tự động (autonomous control systems)
11].
Trang 302.1.2 Các giải thuật Machine Learning
Theo phương thức học, các giải thuật Machine Learning thường được chia làm
hai nhóm chính: Học có giám sát (Supervised Learning), Học không giám sát
(Unsupervised Learning) và một số giải thuật khác như Học tăng cường (Reinforcement Learning) và Hệ thống gợi ý (Recommender System).
Supervised Learning: Giải thuật dự đoán kết quả đầu ra (output) của một dữ liệu mới (new input) dựa trên một tập dữ liệu đã biết đầu ra chính xác như thế nào
còn được gọi là tập các cặp (dữ liệu — data, nhãn — label) Supervised Learning là
nhóm phô biến nhất trong các giải thuật Machine Learning Giải thuật Supervised Learning còn được tiếp tục chia nhỏ ra thành hai loại chính:
- Phân loại (Classification): Một bài toán được gọi là Classification nếu các
nhãn (label) của input data được chia thành một số nhóm hữu hạn Ví dụ:
Gmail xác định xem một email có phải là spam hay không.
- Hồi quy (Regression): Một bài toán được gọi là Regression nếu nhãn không
được chia thành các nhóm mà là một giá trị thực cụ thé Vi dụ: Microsoft
có một ứng dụng dự đoán giới tính và tuôi dựa trên khuôn mặt Phần dự đoán giới tính có thé coi là giải thuật Classification phan dự đoán tuổi có
thé coi là thuật toán Regression Chú ý rằng phan dự đoán tuổi cũng có thé coi là Classification nếu ta coi tuổi là một số nguyên dương không lớn hơn
150, chúng ta sẽ có 150 lớp/nhóm (class) khác nhau.
Unsupervised Learning: Trong giải thuật này, chúng ta sẽ không biết được
output hay nhãn mà chỉ có dữ liệu đầu vào (input) Giải thuật Unsupervised Learning
sẽ dựa vào câu trúc của dữ liệu dé thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện
trong việc lưu trữ và tính toán Những giải thuật loại này được gọi là Unsupervised
Learning vì không giống như Supervised Learning, chúng ta không biết câu trả lời chính xác cho mỗi dữ liệu đầu vào Các bài toán Unsupervised Learning được tiếp
tục chia nhỏ thành hai loại:
Trang 31- Phan nhóm (Clustering): Một bài toán phân nhóm toàn bộ dữ liệu X thành
các nhóm nhỏ dựa trên sự liên quan giữa các dữ liệu trong mỗi nhóm Ví
dụ: Phân nhóm khách hàng dựa trên hành vi mua hàng Điều này cũng giống như việc ta đưa cho một đứa trẻ rất nhiều mảnh ghép với các hình thù và màu sắc khác nhau như tam giác, vuông, tròn với màu xanh và đỏ,
sau đó yêu cầu trẻ phân chúng thành từng nhóm Mặc dù không cho trẻ biết
mảnh nao tương ứng với hình nào hoặc màu nào, nhiều khả năng chúng vẫn có thé phân loại các mảnh ghép theo màu hoặc hình dạng.
- Kết hop (Association): Là bài toán khi chúng ta muốn khám phá ra một
quy luật dựa trên nhiều dữ liệu cho trước Ví dụ: Những khách hàng nam
mua quan áo thường có xu hướng mua thêm đồng hồ hoặc thắt lưng; Những
khán giả xem phim Spider Man thường có xu hướng xem thêm phim
Batman, dựa vào đó tạo ra một hệ thống gợi ý khách hàng (Recommendation System), thúc đây nhu cầu mua sim.
Một số giải thuật khác:
Semi-Supervised Learning (Học bán giám sát): Là các bài toán khi có một
lượng lớn dữ liệu X nhưng chỉ một phần trong chúng có gán nhãn Những bài toán thuộc nhóm này nằm giữa hai nhóm Supervised và Unsupervised Learning Một ví
dụ điển hình của nhóm này là chỉ có một phần ảnh hoặc văn bản được gán nhãn (ví
dụ bức ảnh về người, động vật hoặc các văn bản khoa học, chính trị) và phần lớn các bức ảnh/văn bản khác chưa gán nhãn được thu thập từ Internet Thực tế cho thấy rất
nhiều bài toán Machine Learning thuộc vào nhóm này vì việc thu thập dữ liệu có nhãn rất tốn nhiều thời gian và có chỉ phí cao Rất nhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gan nhãn được như ảnh y học chăng hạn Ngược lai, dữ liệu chưa có nhãn có thể được thu thập với chỉ phí thấp từ Internet.
Reinforcement Learning (Học tăng cường): Là các bài toán giúp hệ thống tự động xác định hành vi dựa trên hoàn cảnh dé đạt được hiệu suất cao nhất (maximizing the performance) Hiện tại, Reinforcement Learning chủ yếu được áp dụng vào Lý
10
Trang 32thuyết Trò chơi (Game Theory), các thuật toán cần xác định nước đi tiếp theo dé đạt được điểm số cao nhất Ví dụ: AlphaGo gần đây nồi tiếng với việc chơi cờ vây thắng
cả con người Về cơ bản, AlphaGo bao gồm các thuật toán thuộc cả Supervised Learning và Reinforcement Learning Trong phan Supervised Learning, dữ liệu từ các ván cờ của con người choi với nhau được đưa vào dé huấn luyện Tuy nhiên, mục
đích cuối cùng của AlphaGo không phải là chơi được như con người mà phải thắng
cả con người Vì vậy, sau khi học xong các ván cờ của con người, AlphaGo tự chơi
với nó hàng triệu ván chơi để tìm ra các nước đi mới tối ưu hơn Thuật toán trong phan tự chơi này được xếp vào loại Reinforcement Learning.
2.1.3 Bài toán Machine Learning trong đề tài
Liên hệ tới đề tài, bài toán Machine Learning được định nghĩa dựa trên: Kinh
nghiệm E là kinh nghiệm có được khi phát hiện biển số xe trên tập dữ liệu N mẫu (sample); Nhiệm vụ T là phát hiện được biển số xe trên ảnh/video đầu vào; Hiệu suất
P là xác suất phát hiện được đúng biền số xe hay nói cách khác là độ chính xác mAP
(mean Average Precision) của giải thuật được áp dụng để phát hiện biển số xe.
Trong nội dung nghiên cứu, tiến hành của dé tài này, chúng tôi cần tìm giải thuật dò các biển số xe trong một bức ảnh hoặc một đoạn video cũng là một giải thuật
Supervised Learning với dữ liệu huấn luyện (training data) là hàng ngàn cặp (ảnh, biển số) va (ảnh, không có biển số) được đưa vào Chú ý là dir liệu này chỉ phân biệt
biển số xe và không phải biển số xe.
2.1.4 - Giới thiệu bài toán phát hiện đối tượng
Phát hiện đối tượng (object detection) dé 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 hình ảnh và xác định từng đối tượng Object detection đã đượ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 Hình 2.1 minh họa đầu vào
và đầu ra của một bài toán phát hiện đối tượng.
11
Trang 33Input | Detection algorithm -———>} Output
Hình 2.1 Sử dung phát hiện đối tượng dé xác định vị trí và phân loại đối tượng [12]
Các phương pháp giải quyết bài toán này được chia làm hai loại: tiếp cận dựa
trên học máy và tiếp cận dựa trên học sâu Đối với cách tiếp cận dựa trên học máy, trước tiên cần phải xác định các đặc trưng từ hình ảnh bằng một số phương pháp như:
Scale-Invariant Feature Transform (SIFT) [13] hoặc Histogram of Oriented Gradients
(HOG) features [14] Sau đó sử dụng thêm một số kỹ thuật phân lớp như thuật toán
Support Vector Machine (SVM) dé phân loại đối tượng.
Đối với cách tiếp cận dựa trên học sâu sẽ sử dụng các mạng convolution neural
network để phát hiện đối tượng Các mạng này được chia làm hai loại: mạng hai giai
đoạn và mạng một giai đoạn Một số mạng hai giai đoạn như: Region Proposals
(R-CNN [15], Fast R-(R-CNN [16], Faster R-(R-CNN [17], cascade R-(R-CNN [18]) sử dụng giai
doan đầu để xác định các vùng có thể có một đối tượng và giai đoạn thứ hai để phân
loại các đối tượng trong khu vực đó Hình 2.2 minh họa quy trình tổng quan về hệ
thống phát hiện đối tượng sử dụng thuật toán RCNN Các mô hình này thường mang lại kết quả phát hiện đối tượng cao nhưng tốn nhiều thời gian và tài nguyên tính toán.
Mặt khác, các mạng một giai đoạn như: Single Shot MultiBox Detector (SSD)
[19], You Only Look Once (YOLO) [20] [21] [22] [23] tạo ra dự đoán cho các vùng
trên toàn bộ hình ảnh chỉ trong một lần truyền ảnh duy nhất SSD và YOLO đều đưa
12
Trang 34ra dự đoán dựa trên nhiều feature map SSD sẽ tạo ra một lưới các ô vuông gọi là grid
cells trên các feature 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 đối tượng Còn YOLO sẽ phân chia hình ảnh thành một mạng lưới (7 x 7)
và dự đoán xác suất có đối tượng và điểm trung tâm của đối tượng trong mỗi ô Hình
2.3 minh họa quy trình của thuật toán phát hiện đối tượng YOLO Các mô hình này
nhẹ hơn các mô hình hai giai đoạn nhưng lại có tốc độ nhanh và độ chính xác khá cao Nhờ đó mà có thể áp dụng các mô hình trên điện thoại di động và các thiết bị
nhúng khác trong thời gian thực.
R-CNN: Regions with CNN features
warped region jacroplane? no.
‘>| person? yes.
tvmonitor? no.
1 Input 2 Extract region 3 Compute 4 Classify image proposals (~2k) CNN features regions
Hình 2.2 Minh họa mô hình RCNN [15]
Class probability map
Hình 2.3 Minh họa mô hình YOLO [20]
13
Trang 35chính xác dựa vào tập dữ liệu huấn luyện, lượng dữ liệu càng lớn càng đa dạng thì
tính chính xác càng cao Học sâu đã được ứng dụng vào các lĩnh vực như thị giác
máy tính (Computer Vision), nhận diện giọng nói (Speech Recognition), xử lý ngôn ngữ tự nhiên (Natural Language Processing), v.v.
Kiến trúc của mô hình học sâu tương tự như mô hình mạng nơ-ron nhân tạo,
chỉ khác ở số lớp ẩn (hidden layer) Các lớp ẩn cũng liên kết với nhau theo kiểu
fully-connected, mỗi nơ-ron của lớp trước sẽ có kết nói đến tất cả các nơ-ron của lớp sau.
@ Input Layer @ Hidden Layer @ Output Layer
Hình 2.4 So sánh mang nơ-ron don giản và mang nơ-ron học sâu [24]
Một mạng nơ-ron nhân tạo gồm ba lớp: lớp đầu vào (input), lớp ân (hidden)
và lớp đầu ra (output).
14
Trang 37Nơ-ron là đơn vị cơ bản câu tạo hệ thông thân kinh và là một phân quan trọng
nhất của não Não chúng ta gồm khoảng 10 triệu nơ-ron và mỗi nơ-ron liên kết với
10.000 nơ-ron khác.
Ở mỗi nơ-ron có phân thân (soma) chứa nhân, các tín hiệu đầu vào qua sợi
nhánh (dendrites) va các tín hiệu đâu ra qua sợi trục (axon) kết nôi với các nơ-ron khác Hiéu đơn giản môi nơ-ron nhận dữ liệu dau vào qua sợi nhánh và truyền dữ liệu
dau ra qua sợi trục, đên các sợi nhánh của các nơ-ron khác.
Mỗi nơ-ron nhận xung điện từ các nơ-ron khác qua sợi nhánh Nêu các xung
điện nay đủ lớn đê kích hoạt nơ-ron, thì tín hiệu nay di qua sợi trục đên các sợi nhánh của các nơ-ron khác.
Tương tự như một nơ-ron sinh học, một perceptron được minh họa như Hình
2.7 Với xạ #¡ Xp đại diện cho các giá tri đầu vào của mang, các giá tri này độclập với nhau Mỗi giá trị đầu vào này sẽ nhân với giá tri trọng SỐ (weight) thé hiện độ
quan trọng cua node đó, tương ứng là Wo, Wj, Wy, b là giá tri bias, có chức năng
dịch chuyên hàm kích hoạt (activation function) lên hoặc xuống Trong trường hopđơn giản nhất, tất cả các giá trị sau khi lay giá trị đầu vào nhân với trọng số tương
ứng sẽ được cộng lại cùng với giá tri b tạo thành giá trị đầu vào của khối hàm kíchhoạt Kết quả đầu ra sau khi thực thi hàm kích hoạt chính là kết quả cuối cùng của
Trang 382.2.2 Ham kích hoạt
Hàm kích hoạt là một thành phần quan trọng trong quá trình học của một mạngnơ-ron nhân tạo Mục đích là chuyên đổi các giá tri đầu vào của mạng nơ-ron nhântạo thành một tín hiệu đầu ra, tín hiệu này tiếp tục được đi đến lớp tiếp theo của mạng
với vai trò là giá trị đầu vào
- Ham kích hoạt ngưỡng (threshold activation function) sẽ đưa ra kết quả là
"kích hoạt" hoặc "không" băng cách so sánh giá tri đầu vào với một giá tri
ngưỡng cho trước Nếu giá trị đầu vào lớn hơn giá trị ngưỡng thì nơ-ron sẽ
gửi tín hiệu đầu ra là "kích hoạt" (giá tri 1), ngược lại là "không kích hoạt”(giá trị 0) đến lớp kế tiếp Vấn đề chỉ xảy ra khi sử dụng hàm kích hoạtngưỡng phân loại nhiều lớp hơn thì không thê thực hiện được
ƒ(x)=:
Hình 2.8 Đồ thị biểu diễn hàm kích hoạt ngưỡng
- Hàm kích hoạt Sigmoid là một hàm toán học với đồ thị có hình dạng đường
cong chữ "S" hoặc đường cong sigmoid nằm trong khoảng từ 0 đến 1, do
đó được sử dụng cho mô hình dùng đê đưa ra xác suât.
17
Trang 39- Ham kích hoạt tanh tương tự ham sigmoid nhưng hiệu suất tốt hơn, đồ thị
của hàm tanh nam trong khoảng (-1;1)
Trang 40- Hàm ReLU (Rectified Linear Units) là hàm kích hoạt được sử dụng nhiều
nhất trong mạng nơ-ron tích chập (Convolutional Neural Network - CNN)
và mạng nơ-ron nhân tạo (Artificial Neural Network - ANN) các giá trị đầu
ra nằm trong [0;00]
f(u) = max(0, „)
Hình 2.11 Đồ thị biểu diễn hàm kích hoạt ReLU
2.3 Convolutionnal Neural Network
2.3.1 Tong quan
Trong mang no-ron, mang no-ron tich chap (Convolutional Neural Network
CNN hay ConvNets va còn được gọi CNNs) là một mô hình nhận diện ảnh, phân loại
ảnh, phân loại đối tượng, nhận diện gương mặt và một số lĩnh vực khác
CNN phân loại ảnh, nhận đầu vào là một hình ảnh, nhận diện và phân loại nó
tương ứng với các đối tượng nhất định (ví dụ: chó, mèo) Máy tính nhìn hình ảnh
dưới dạng mảng các pixel và nó phụ thuộc vào độ phân giải của hình ảnh.
Dựa trên độ phân giải của hình ảnh, nó sẽ nhìn hình ảnh theo HxWxD (H:
height, W: width, D: dimension).
2.3.2 Cấu trúc CNN
CNN bao gồm tập hợp các lớp cơ bản: convolution layer + nonlinear layer,pooling layer, fully connected layer Các lớp này liên kết với nhau theo một thứ tựnhất định Thông thường, một ảnh sẽ được lan truyền qua convolution layer +
19