1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Truyền thông và mạng máy tính: 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

111 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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
Tác giả Tống Tú Ngọc, Võ Thị Ngọc Phương
Người hướng dẫn ThS. Thái Huy Tân
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Truyền thông và Mạng máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 111
Dung lượng 56,86 MB

Nội dung

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 3

THONG 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 5

4 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 7

4 Về thái độ làm việc của sinh viên:

Điểm từng sinh viên:

Trang 8

LỜ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 10

2 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 12

MỤ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 13

2.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 14

3.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 15

TÀI LIEU THAM KHẢO 222:22222222ES2222223222223112221111222211 2212 re 85

Trang 16

DANH 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 17

Hì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 18

Hì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 19

DANH 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 20

DANH 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 21

COCO Common Objects in Context

mAP mean Average Precision

loU Intersection over Union

Trang 22

TÓ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 23

Chươ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 24

mạ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 25

biê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 28

Chươ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 29

Chươ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 30

2.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 32

thuyế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 33

Input | 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 34

ra 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 35

chí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 37

Nơ-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 38

2.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

Ngày đăng: 23/10/2024, 01:30

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN