ĐỖ hỮu hiỀn nghiÊn cỨu Ứng dỤng kỸ thuẬt mÁy hỌc ĐỂ phÂn …

140
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA - VŨNG TÀU ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN TÍCH HÌNH ẢNH VÀ NHẬN DẠNG PHƯƠNG TIỆN VỀ HÀNH VI VI PHẠM LUẬT GIAO THÔNG ĐƯỜNG BỘ LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN Bà Rịa - Vũng Tàu, tháng 4 năm 2021

Upload: others

Post on 29-Dec-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA - VŨNG TÀU

ĐỖ HỮU HIỀN

NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN

TÍCH HÌNH ẢNH VÀ NHẬN DẠNG PHƯƠNG TIỆN VỀ HÀNH VI VI PHẠM LUẬT GIAO THÔNG ĐƯỜNG BỘ

LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN

Bà Rịa - Vũng Tàu, tháng 4 năm 2021

Page 2: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA - VŨNG TÀU

ĐỖ HỮU HIỀN

NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN TÍCH HÌNH ẢNH VÀ NHẬN DẠNG PHƯƠNG TIỆN VỀ HÀNH

VI VI PHẠM LUẬT GIAO THÔNG ĐƯỜNG BỘ

LUẬN VĂN THẠC SỸ

Chuyên ngành: Công nghệ thông tin Mã số ngành: 8480201

CÁN BỘ HƯỚNG DẪN KHOA HỌC TS. PHAN NGỌC HOÀNG

Bà Rịa - Vũng Tàu, tháng 4 năm 2021

Page 3: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn

của TS. Phan Ngọc Hoàng. Các số liệu, kết quả nêu và trình bày trong Luận văn là

trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác.

Qua đây, tôi cũng xin cam đoan rằng trong thời gian hoàn thành Luận văn tôi đã

được một vài đồng nghiệp hỗ trợ, giúp đỡ để hoàn thành đến thời điểm này và cũng đã

được tôi chân thành cảm ơn. Các thông tin trích dẫn trong Luận văn đã được chỉ rõ

nguồn gốc.

Học viên thực hiện Luận văn

Đỗ Hữu Hiền

Page 4: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

4

LỜI CẢM ƠN

Trước tiên, tôi xin chân thành gửi lời tri ân sâu sắc đến Ban giám hiệu Trường

Đại học Bà Rịa – Vũng Tàu, Ban lãnh đạo Viện Đào tạo Quốc tế và Sau đại học, cùng

quý thầy, quý cô thuộc khoa Công nghệ Thông tin – Trường Đại học Bà Rịa – Vũng

Tàu đã tận tình quan tâm hỗ trợ, khuyến khích, truyền đạt cho tôi nhiều kiến thức quý

báu và đã tạo mọi điều kiện thuận lợi trong suốt quá trình học tập và nghiên cứu tại

Trường.

Tôi xin tỏ lòng biết ơn sâu sắc đến thầy TS. Phan Ngọc Hoàng, người đã quan

tâm, trách nhiệm, tận tình giúp đỡ và truyền đạt nhiều kinh nghiệm để tôi sớm có thể

thực hiện và hoàn thành được đề tài.

Xin chân thành ghi ơn người thân trong gia đình, đồng nghiệp trong cơ quan,

đơn vị và các bạn đã thông cảm, tận tình, giúp đỡ, hỗ trợ và động viên tôi rất nhiều

trong quá trình thực hiện đề tài.

Một lần nữa, tôi thành thật xin chân thành cảm ơn!

Học viên thực hiện Luận văn

Đỗ Hữu Hiền

Page 5: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

5

MỤC LỤC

LỜI CAM ĐOAN ....................................................................................................... 3

LỜI CẢM ƠN ............................................................................................................ 4

MỤC LỤC .................................................................................................................. 5

DANH MỤC CÁC TỪ VIẾT TẮT ............................................................................ 9

DANH MỤC CÁC HÌNH ........................................................................................ 10

DANH MỤC BẢNG ................................................................................................. 13

1. GIỚI THIỆU ........................................................................................................ 14

1.1. Đặt vấn đề: .......................................................................................................... 14

1.2. Tính cấp thiết của đề tài: ..................................................................................... 18

2. MỤC TIÊU, ĐỐI TƯỢNG, PHẠM VI, NỘI DUNG VÀ HƯỚNG NGHIÊN

CỨU .......................................................................................................................... 22

2.1. Mục tiêu của đề tài .............................................................................................. 22

2.2 Đối tượng ............................................................................................................. 22

2.3 Phạm vi ................................................................................................................ 23

2.4. Nội dung nghiên cứu ........................................................................................... 23

2.4.1. Về nội dung .............................................................................................. 23

2.4.2. Về mặt lý thuyết ....................................................................................... 23

2.4.3. Về mặt thực nghiệm ................................................................................. 24

2.5. Phương pháp luận và phương pháp nghiên cứu ................................................... 24

3. TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU .................................................. 25

3.1. Những hướng nghiên cứu đã được thực hiện ....................................................... 25

3.2. Những kết quả nghiên cứu đã áp dụng vào thực tế .............................................. 26

3.3. Những phương pháp nghiên cứu đã được áp dụng trên thế giới và Việt Nam ...... 28

3.4. Một số vấn đề còn hạn chế của những nghiên cứu trước và những vấn đề cần được

tiếp tục nghiên cứu hoàn thiện ................................................................................... 30

3.4.1. Một số vấn đề còn hạn chế của những nghiên cứu trước ........................... 30

3.4.2. Những vấn đề cần được tiếp tục nghiên cứu hoàn thiện ............................ 30

4. CẤU TRÚC LUẬN VĂN ..................................................................................... 31

5. NGHIÊN CỨU TỔNG QUAN VÀ PHÂN TÍCH BÀI TOÁN ............................ 33

Chương 1. Các khái niệm, tổng quan về trí tuệ nhân tạo, học máy, các giải thuật

về học máy và kỹ thuật áp dụng cho phát hiện, nhận dạng đối tượng ................... 33

Page 6: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

6

1. Khái niệm chung [6-9, 16, 17, 31] ........................................................................ 33

1.1. Xử lý ảnh ............................................................................................................ 33

1.2. Trí tuệ nhận tạo (AI-Artificial Intelligence)......................................................... 33

1.3. Học máy (Machine Learning) ............................................................................. 33

1.4. Học sâu (Deep Learning) .................................................................................... 33

1.5. Mạng nơ-ron nhân tạo (Artificial Neural Network) ............................................. 33

2. Tổng quan về trí tuệ nhân tạo [6-9, 21] ............................................................... 33

2.1. Trí tuệ nhân tạo ................................................................................................... 33

2.2. Ứng dụng trí tuệ nhân tạo trong hiện tại và tương lai .......................................... 35

3. Tổng quan về máy học [6-9, 16-17, 21-23] ........................................................... 38

3.1. Học máy (Machine Learning) ............................................................................. 38

3.2. Ứng dụng học máy .............................................................................................. 38

3.3. Các phương thức về máy học .............................................................................. 38

4. Các giải thuật về máy học [16-17, 21-23] ............................................................. 41

4.1. Giải thuật Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN) ................. 41

4.2. Giải thuật dựa vào thể thức (K-nearest neighbors - KNN) ................................... 42

4.3. Giải thuật cây quyết định (Decision tree) ............................................................ 43

4.4. Giải thuật Random forest (RF) ............................................................................ 45

4.5. Giải thuật máy hỗ trợ vector (Support vector machine - SVM) ........................... 46

4.6. Giải thuật Naive Bayes (NB) ............................................................................... 47

4.7. Giải thuật phân cụm K-means clustering ............................................................. 48

5. Kỹ thuật áp dụng cho phát hiện, nhận dạng đối tượng [16-17, 21-23, 26-27] .... 49

5.1. Kỹ thuật phát hiện đối tượng kết hợp nhận dạng khuôn mặt (Viola Jones – Haar)

.................................................................................................................................. 49

5.2. Kỹ thuật biến đổi đặc trưng bất biến theo tỷ lệ (Scale-invariant feature transform -

SIFT) ......................................................................................................................... 52

5.3. Kỹ thuật biểu đồ độ dốc định hướng (Histogram of oriented gradients -HOG) ... 56

5.4. Kỹ thuật học sâu để nhận dạng và phân loại đối tượng [16-21] ........................... 60

5.4.1 Kỹ thuật mạng nơ-ron tích chập ................................................................ 60

5.4.2. Kỹ thuật tìm kiếm xác định vị trí vật thể trong ảnh sử dụng mạng CNN [35-

36] ..................................................................................................................... 65

Page 7: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

7

5.4.3. Nhận xét, đánh giá và lựa chọn kỹ thuật áp dụng cho bài toán nhận dạng

phân loại đối tượng ............................................................................................ 75

Chương 2. Tổng quan về giao thông ........................................................................ 78

1. Các khái niệm ....................................................................................................... 78

1.1. Giao thông .......................................................................................................... 78

1.2. Đối tượng tham gia giao thông ............................................................................ 78

2. Tổng quan về thực trạng giao thông .................................................................... 78

3. Phương pháp phát hiện, nhận dạng đối tượng tham gia giao thông [1, 29-30] .. 81

3.1. Nhận dạng phân loại đối tượng tham gia giao thông ............................................ 81

3.2 Khái niệm về hệ thống nhận dạng biển số xe ........................................................ 82

3.2.1 Khái niệm .................................................................................................. 82

3.2.2 Lịch sử và phát triển .................................................................................. 82

3.2.3. Cách thức hoạt động của hệ thống nhận dạng biển số xe .......................... 83

3.2.4. Phân loại các ứng dụng nhận dạng biển số xe ........................................... 84

3.2.5. Ứng dụng thực tiễn tại Việt Nam .............................................................. 85

3.2.6. Phân loại biển số xe .................................................................................. 85

3.3. Phương pháp nhận dạng biển số xe từ ảnh chụp của thiết bị ghi hình .................. 87

3.3.1. Phương pháp chuyển đổi Hough ............................................................... 88

3.3.2. Phương pháp hình thái học ....................................................................... 88

3.4. Phương pháp nhận dạng ký tự trong biển số xe ................................................... 89

3.5. Một số đặc điểm để nhận dạng biển số xe tại Việt Nam ...................................... 89

Chương 3. Áp dụng Yolov3 cho bài toán phát hiện, nhận dạng đối tượng tham gia

giao thông vi phạm luật giao thông đường bộ ......................................................... 92

1. Kỹ thuật đề xuất áp dụng cho bài toán ................................................................ 92

1.1. Kỹ thuật áp dụng mạng nơ-ron tích chập (Faster R-CNN) .................................. 92

1.2. Kỹ thuật áp dụng nhìn một lần [32-34] ................................................................ 92

3. Mô hình và chức năng hệ thống đề xuất áp dụng cho bài toán .......................... 97

3.1 Địa điểm áp dụng thử nghiệm mô hình cho bài toán............................................. 97

3.2. Thiết kế mô hình lắp đặt hệ thống cho bài toán ................................................... 98

3.3. Thiết kế hệ thống trụ đỡ ...................................................................................... 98

3.4. Hệ thống Camera ................................................................................................ 98

Page 8: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

8

3.5. Thiết kế mô hình kết nối hệ thống xử lý bài toán ................................................. 99

3.6. Sơ đồ tổng quan hệ thống áp dụng cho bài toán .................................................. 99

3.7. Hệ thống xử lý ảnh, phát hiện và nhận diện đối tượng ....................................... 101

3.7.1. Quy trình xử lý ảnh áp dụng cho bài toán ............................................... 101

3.7.2. Quy trình phát hiện, nhận dạng và phân loại đối tượng ........................... 102

3.7.3. Quy trình phát hiện, nhận dạng biển số xe: ............................................. 104

Chương 4. Xây dựng chương trình thực nghiệm và đánh giá kết quả ................. 108

1. Xây dựng chương trình thực nghiệm ................................................................ 108

1.1. Cài đặt chương trình chạy [35] .......................................................................... 108

1.1.1 Cài đặt thư viện mã nguồn mở Opencv .................................................... 108

1.1.2. Cài đặt thư viện CUDA .......................................................................... 108

1.1.3. Cài đặt thư viện cuDNN ......................................................................... 108

1.1.4. Mô tả cài đặt thư viện ............................................................................. 108

1.2. Chạy chương trình ............................................................................................ 109

1.3. Quy trình huấn luyện và nhận dạng đối tượng vật thể........................................ 110

1.4. Quy trình huấn luyện và nhận dạng hành vi vi phạm chở quá số người quy định

................................................................................................................................ 117

1.5. Quy trình huấn luyện và nhận dạng hành vi vi phạm không đội mũ bảo hiểm ... 120

1.6. Quy trình huấn luyện và nhận diện biển số xe của đối tượng tham gia giao thông:

................................................................................................................................ 127

6. KẾT LUẬN VÀ KIẾN NGHỊ ............................................................................ 135

6.1. Kết luận ........................................................................................................... 135

6.2. Kiến nghị và hướng phát triển ........................................................................ 136

TÀI LIỆU THAM KHẢO: .................................................................................... 138

Page 9: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

9

DANH MỤC CÁC TỪ VIẾT TẮT STT Từ viết tắt Từ đầy đủ

1 AI Artificial Intelligence

2 AR Augmented Reality

3 ANN Artificial Neural Network

4 BBF Best Bin First

5 CNN Convolutional Neural Network

6 CV Cross Validation

7 ICT Information and Communication Technology

8 ITS Intelligent Transport Systems

9 KNN K-Nearest Neighbors

10 MAE Mean Absolute Error

11 MAP Maximum A Posteriori

12 ML Machine Learning

13 DL Deep Learning

14 MLE Maximum Likelihood Estimation

15 MSE Mean Square Error

16 RF Random Forest

17 RPN Region Proposal Network

18 SMAC Social, Mobile, Analytics & Cloud

19 SVM Support Vector Machine

20 VR Virtual Reality

21 YOLO You Only Look Once

22 CNTT Công nghệ thông tin

23 SXTN Sản xuất thử nghiệm

Page 10: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

10

DANH MỤC CÁC HÌNH Hình 1: Mô hình nút giao lộ (ngã tư) triển khai xây dựng mô hình nghiên cứu ...... 22

Hình 2: Sơ đồ nhận dạng biển số xe ......................................................................... 25

Hình 3: Nhận dạng khuôn mặt người trong ảnh ...................................................... 26

Hình 4: Ứng dụng công nghệ trí tuệ nhân tạo với bộ nhớ hạn chế .......................... 35

Hình 5: Ứng dụng công nghệ trí tuệ nhân tạo tự nhận thức .................................... 35

Hình 6: Ứng dụng công nghệ trí tuệ nhân tạoxe tự lái ............................................. 36

Hình 7: Ứng dụng công nghệ trí tuệ nhân tạo cho thiết bị bay không người lái ...... 37

Hình 8: Ứng dụng công nghệ trí tuệ nhân tạo ROBOT trong day học ..................... 37

Hình 9: Phương thức học có giám sát ...................................................................... 39

Hình 10: Hình mô tả chữ viết tay .............................................................................. 40

Hình 11: Phương thức học không giám sát về bài toán phân cụm ........................... 40

Hình 12: Phương thức học bán giám sát .................................................................. 40

Hình 13: Minh họa mạng nơ-ron nhân tạo 3 lớp ..................................................... 41

Hình 14: Bản đồ 1NN ............................................................................................... 43

Hình 15: Quá trình phát triển cây (bên trái) và rừng ngẫu nhiên (bên phải) ........... 45

Hình 16: Bốn loại đặc trưng khu vực hình chữ nhật dùng trong kỹ thuật phát hiện

.................................................................................................................................. 51

Hình 17: Đặc trưng Haar tương ứng ảnh thực tế ..................................................... 51

Hình 18: Kết quả của thuật toán SIFT ..................................................................... 53

Hình 19: Các bước hiện thực giải thuật HOG .......................................................... 59

Hình 20: Kết quả phát hiện người thông qua giải thuật HOG ................................. 60

Hình 21: Convolved feature khác nhau với ma trận lọc khác nhau ......................... 62

Hình 22: Cấu trúc của mạng CNN ........................................................................... 63

Hình 23: Trường tiếp nhận cục bộ ........................................................................... 63

Hình 24: Các bước tạo ra 1 hidden layer .................................................................. 65

Hình 25: Xây dựng lớp max pooling ......................................................................... 65

Hình 26: Xác định vị trí nhiều đối tượng trong ảnh ................................................. 65

Page 11: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

11

Hình 27: Output sau khi thực hiện Graph Based Image Segmentation [1] .............. 66

Hình 28: Các bước của thuật toán R-CNN [2] ......................................................... 66

Hình 29: Các bước của thuật toán Fast R-CNN [3] ................................................. 67

Hình 30: Kiến trúc Faster R-CNN [4] ....................................................................... 68

Hình 31: Hình chữ nhật region proposal ................................................................. 69

Hình 32: Hệ số IoU đánh giá bounding box dự đoán đối tượng khớp với ảnh thật.. 69

Hình 33: So sánh thời gian phát hiện đối tượng so với các kỹ thuật khác ................ 70

Hình 34: Mô hình sử dụng mạng VGG16 ................................................................ 71

Hình 35: Kết quả mô hình sử dụng mạng VGG16 .................................................... 71

Hình 36: Sơ đồ số chiều của các feature maps ......................................................... 71

Hình 37: Sơ đồ áp dụng thuật toán SSD ................................................................... 72

Hình 38: Chia ảnh thành ma trận ô vuông ............................................................... 73

Hình 39: Sai số phân loại ......................................................................................... 75

Hình 40: Hình ảnh mô tả phương tiện và người tham gia giao thông ..................... 78

Hình 41: Hình ảnh mô tả tình trạng không tuân thủ Luật ....................................... 79

Hình 42: Ảnh xám và lược đồ xám của ảnh ............................................................. 80

Hình 43: Kiến trúc Darknet-53 ................................................................................. 94

Hình 44: Khung ranh giới xác định đối tượng chim ................................................ 95

Hình 45: Phát hiện, định vị và phân loại nhiều đối tượng ........................................ 95

Hình 46: YOLO phiên bản 1 có những hạn chế đối với phát hiện đối tượng nhỏ .... 95

Hình 47: Kiến trúc Darknet-19 ................................................................................ 97

Hình 48: Bản vẽ thiết kế mô hình lắp đặt hệ thống .................................................. 98

Hình 49: Mô hình kết nối-truy xuất hệ thống ........................................................... 99

Hình 50: Cấu trúc phần cứng cho hệ thống ............................................................. 99

Hình 51: Cấu trúc phần mềm xử lý hệ thống ........................................................... 99

Hình 52: Phát hiện đối tượng áp dụng giải thuật YOLOv3 .................................... 104

Hình 53: Các bước dự đoán áp dụng theo giải thuật YOLOv3 ............................... 104

Hình 54: Sơ đồ mô hình theo kến trúc áp dụng YOLOv3 theo tỷ lệ ........................ 105

Hình 55: Kết quả dự đoán áp dụng giải thuật YOLOv3 .......................................... 105

Hình 56: Bộ dữ liệu gồm 22 hình ảnh trích xuất từ bộ dữ liệu mẫu ....................... 112

Hình 57: Kết quả nhận dạng đối tượng tham gia giao thông được gán nhãn

(tracking) .................................................................. 115Error! Bookmark not defined.

Page 12: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

12

Hình 58: Bộ dữ liệu gồm 10 hình ảnh trích xuất từ bộ dữ liệu mẫu ....................... 118

Hình 59: Kết quả nhận dạng đối tượng về hành vi vi phạm giao thông được gán

nhãn (tracking)về chở quá số người ....................................................................... 119

Hình 60: Bộ dữ liệu gồm 22 hình ảnh trích xuất từ bộ dữ liệu mẫu ....................... 123

Hình 61: Kết quả nhận dạng đối tượng về hành vi vi phạm giao thông được gán

nhãn (tracking) về không đội mũ bảo hiểm ............................................................ 126

Page 13: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

13

DANH MỤC BẢNG

Bảng 1: Kết quả nhận dạng các đối tượng, vật thể tham gia giao thông ................ 116

Bảng 2: Kết quả nhận dạng đối tượng tham gia giao thông về hành vi vi phạm chở

quá số người theo quy định ..................................................................................... 120

Bảng 3: Kết quả nhận dạng đối tượng tham gia giao thông về hành vi vi phạm chở

quá số người theo quy định ..................................................................................... 127

Page 14: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

14

1. GIỚI THIỆU

1.1. Đặt vấn đề

Ngày nay, công nghệ thông tin là một trong những lĩnh vực quan trọng góp phần

thúc đẩy sự phát triển kinh tế của đất nước. Ứng dụng của công nghệ thông tin

(CNTT) xuất hiện ở rất nhiều lĩnh vực, là nền tảng của các nghiên cứu về công nghệ

cao như khoa học vũ trụ, công nghệ điện tử và tự động hóa, các hệ thống thông

minh,... Khi Internet ra đời vào những năm 90, nó đã kết nối thông tin trên toàn thế

giới lại với nhau. Chúng ta chỉ cần ngồi bất cứ nơi đâu với máy tính được kết nối

mạng là có thể truy nhập thông tin về bất cứ lĩnh vực gì trên thế giới.

Tại Việt Nam, từ những năm 70 của thế kỷ 20 đã bắt đầu có các nghiên cứu về

máy tính cũng như những ứng dụng về CNTT. Hiện nay CNTT luôn được xác định là

lĩnh vực then chốt được đầu tư không những hiện đại hóa cơ sở hạ tầng mà còn là việc

ứng dụng sâu rộng vào các lĩnh vực khác của đời sống xã hội [1].

Nghị quyết số 36-NQ/TW ngày 01/7/2014 của Bộ Chính trị về đẩy mạnh ứng

dụng, phát triển CNTT đáp ứng yêu cầu phát triển bền vững và hội nhập quốc tế tiếp

tục khẳng định sự quan tâm chỉ đạo sát sao của Đảng đối với công tác ứng dụng, phát

triển CNTT, khẳng định vị trí, vai trò của CNTT trong sự nghiệp xây dựng và bảo vệ

Tổ quốc thời kỳ mới. Và là một văn bản rất quan trọng, là định hướng xuyên suốt cho

chiến lược ứng dụng và phát triển CNTT và truyền thông từ nay đến năm 2030, là tiền

đề quan trọng để CNTT Việt Nam phát triển mạnh mẽ, sâu rộng hơn, đề ra những định

hướng lớn cho sự phát triển ngành CNTT nước nhà trong khoảng 10 - 20 năm tới. Đến

năm 2030, đưa năng lực nghiên cứu, ứng dụng, phát triển, sản xuất và cung ứng sản

phẩm, dịch vụ CNTT đạt trình độ tiên tiến thế giới; Việt Nam trở thành quốc gia mạnh

về CNTT trong khu vực.

Ngày 27/09/2019 Bộ Chính trị ban hành Nghị quyết số 52-NQ/TW về một số

chủ trương, chính sách chủ động tham gia cuộc Cách mạng công nghiệp lần thứ tư

(CMCN 4.0) với quan điểm chủ động, tích cực tham gia cuộc Cách mạng công nghiệp

lần thứ tư là yêu cầu tất yếu khách quan; là nhiệm vụ có ý nghĩa chiến lược đặc biệt

quan trọng, vừa cấp bách vừa lâu dài của cả hệ thống chính trị và toàn xã hội, gắn chặt

với quá trình hội nhập quốc tế sâu rộng; đồng thời nhận thức đầy đủ, đúng đắn về nội

hàm, bản chất của cuộc Cách mạng công nghiệp lần thứ tư để quyết tâm đổi mới tư

Page 15: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

15

duy và hành động, coi đó là giải pháp đột phá với bước đi và lộ trình phù hợp là cơ hội

để Việt Nam bứt phá trong phát triển kinh tế - xã hội. Xác định mục tiêu đến năm

2030, Việt Nam chúng ta duy trì xếp hạng về chỉ số Đổi mới sáng tạo toàn cầu (GII)

thuộc nhóm 40 nước dẫn đầu thế giới. Mạng di động 5G phủ sóng toàn quốc; mọi

người dân được truy cập Internet băng thông rộng với chi phí thấp. Kinh tế số chiếm

trên 30% GDP; năng suất lao động tăng bình quân khoảng 7,5%/năm. Hoàn thành xây

dựng Chính phủ số. Hình thành một số chuỗi đô thị thông minh tại các khu vực kinh tế

trọng điểm phía Bắc, phía Nam và miền Trung; từng bước kết nối với mạng lưới đô thị

thông minh trong khu vực và thế giới và tầm nhìn đến năm 2045, Việt Nam trở thành

một trong những trung tâm sản xuất và dịch vụ thông minh, trung tâm khởi nghiệp, đổi

mới sáng tạo thuộc nhóm dẫn đầu khu vực Châu Á; có năng suất lao động cao, có đủ

năng lực làm chủ và áp dụng công nghệ hiện đại trong tất cả các lĩnh vực kinh tế - xã

hội, môi trường, quốc phòng, an ninh [2-3].

Bản chất của cuộc cách mạng công nghiệp lần thứ tư (CMCN 4.0) là cuộc cách

mạng thể chế. Với sự phát triển mạnh mẽ của công nghệ số tạo ra mô hình mới, lực

lượng lao động mới, nhanh chóng, bùng nổ… khiến khuôn khổ thể chế truyền thống

không còn phù hợp, mà nếu duy trì sẽ kìm hãm sự phát triển của đất nước và ngày

04/7/2017, Thủ tướng chính phủ Ban hành Chỉ thị số 16/CT-TTg về tăng cường năng

lực tiếp cận cuộc cách mạng công nghiệp lần thứ 4. Trên cở sở đó, ngày 03/12/2018

Bộ Khoa học và Công nghệ ban hành Quyết định số 3685/QĐ-BKHCN về danh mục

các công nghệ chủ chốt của công nghiệp 4.0 (Trí tuệ nhân tạo - Artificial Intelligence,

Chuỗi khối- Blockchain, Dữ liệu lớn - Big Data, Khai phá dữ liệu và Phân tích dữ liệu

- Data Mining and Data Analytics, Internet vạn vật- Internet of Things, Điện toán đám

mây- Cloud computing, Robot tự hành - Autonomous Robots, Robot cộng tác

Collaborative robotics, In 3D và chế tạo cộng - 3D printing and Additive

manufacturing, Thực tại ảo - Virtual Reality, Công nghệ chế tạo vật liệu nano - Nano

materials, Công nghệ vật liệu mới - New material technnology, Sinh học tổng hợp -

Synthetic biology, Mạng di động thế hệ 5 - 5th Generation Mobile Network, ...).

Đặc biệt, cuộc cách mạng công nghiệp lần thư 4 có nhiều tác động đến đời sống

kinh tế - xã hội trên nhiều lĩnh vực. Nền kinh tế toàn cầu đang đứng trước một giai

đoạn chuyển đổi không thể đảo ngược. Cuộc cách mạng này thông qua các công nghệ

như trí tuệ nhân tạo (AI), Internet vạn vật (IoT), thực tế ảo (VR), tương tác thực tại ảo

Page 16: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

16

(AR), mạng xã hội, điện toán đám mây, di động, phân tích dữ liệu lớn (SMAC)... để

chuyển hóa toàn bộ thế giới thực thành thế giới số.

Các công nghệ thông minh sẽ được tích hợp vào mọi khía cạnh của xã hội, xóa

bỏ các ranh giới công nghệ thông thường, thay đổi hình dạng mạng lưới công nghệ và

sản xuất, thúc đẩy sự phát triển của thời đại. Những phát triển này hứa hẹn sẽ mở ra cơ

hội cho Chính phủ, vùng miền các quốc gia thúc đẩy nền kinh tế mở, linh hoạt, nâng

cao hiệu quả của nền kinh tế - xã hội và mang lại lợi thế “đi đầu” cho những quốc gia,

vùng miền tận dụng tốt các công nghệ mới nhất. Cách mạng công nghiệp lần thứ 4 dựa

trên nền tảng công nghệ số và tích hợp tất cả các công nghệ thông minh để tối ưu hóa

quy trình, phương thức sản xuất; với những công nghệ đang và sẽ có tác động lớn như

(Trí tuệ nhân tạo - Artificial Intelligence, Chuỗi khối- Blockchain, Dữ liệu lớn - Big

Data, Khai phá dữ liệu và Phân tích dữ liệu - Data Mining and Data Analytics, Internet

vạn vật- Internet of Things, Điện toán đám mây- Cloud computing, Robot tự hành -

Autonomous Robots,… Trong lĩnh vực sản xuất công nghiệp, viễn cảnh các nhà máy

thông minh trong đó các máy móc được kết nối Internet và liên kết với nhau qua một

hệ thống có thể tự hình dung toàn bộ quy trình sản xuất rồi đưa ra quyết định sẽ không

còn xa. Có thể thấy, Cách mạng công nghiệp lần thứ 4 tác động đến tất cả các lĩnh vực

kinh tế - xã hội như: công nghiệp, nông nghiệp, tài chính ngân hàng, lao động, việc

làm, giao thông vận tải, dệt may, du lịch, y tế, giáo dục và đào tạo. Điều đó có nghĩa

nó sẽ ảnh hưởng trực tiếp đến các tổ chức, cá nhân và các địa phương trong cả nước

[4-5].

Theo các nhà nghiên cứu, ứng dụng trí tuệ nhân tạo được huấn luyện tốt có thể

thực hiện một số công việc với kỹ năng tương đương như con người. Tuy nhiên, trí tuệ

nhân tạo có lợi thế hơn con người nhờ khả năng mở rộng bằng việc học liên tục không

nghỉ, thậm chí là tự học mà không cần sự hướng dẫn của con người. Trí tuệ nhân tạo

có thể phát hiện ra mẫu trong những dữ liệu phức tạp đến mức các chuyên gia cũng

không nhận ra. Trong đó, đối với một số ứng dụng đặc thù như xử lý hình ảnh, trí tuệ

nhân tạo đã bằng hoặc vượt khả năng của con người. Chính vì lẽ đó, khi được ứng

dụng vào quá trình điều tiết giao thông, trí tuệ nhân tạo sẽ giúp giảm bớt nhân công

nhưng lại tăng cường khả năng xử lý dữ liệu của hệ thống.

Vì vậy có thể nói, trí tuệ nhân tạo (Artificial Intelligence - AI) là một hướng

nghiên cứu của lĩnh vực CNTT và Khoa học máy tính nhằm phát triển các hệ thống

Page 17: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

17

thông minh để giải quyết các bài toán trong thực tế giống như hoạt động của bộ não

người. Trí tuệ nhân tạo được bắt đầu nghiên cứu từ những năm 50 của thế kỷ 20 và

trong khoảng 30 năm trở lại đây đã được cộng đồng các nhà khoa học quan tâm mạnh

mẽ. Rất nhiều các hội thảo lớn về lĩnh vực này được tổ chức hàng năm trên thế giới.

Các ứng dụng tiêu biểu của trí tuệ nhân tạo vào đời sống xã hội bào gồm: người máy,

robot, xử lý ngôn ngữ tự nhiên, nhận dạng, phát hiện dị thường, an ninh quốc phòng,

tin sinh học, khoa học vũ trụ và trái đất,…

Những năm gần đây, chúng ta đã chứng kiến được nhiều thành tựu vựợt bậc

trong lĩnh vực thị giác máy tính (Computer Vision). Các hệ thống xử lý ảnh lớn của

Facebook, Google hay Amazon đã đưa vào sản phẩm của mình những chức năng

thông minh như nhận dạng khuôn mặt người dùng, phát triển xe hơi tự lái hay drone

giao hàng tự động.

Bên cạnh đó, sự phát triển của mạng nơ-ron đang dần hiện thực hoá khái niệm

chúng ta vẫn thường gọi là (Computer Vision) thị giác máy tính. Tuy nhiên, việc sử

dụng thuật toán mạng nơ-ron vẫn còn gặp nhiều khó khăn. Chẳng hạn như: Khi bạn

muốn phát hiện nhận dạng một đối tượng trong một bức ảnh và đánh nhãn cho đối

tượng đó thì các phương pháp lúc bấy giờ quá chậm để xử lý theo thời gian thực hoặc

là đòi hỏi cần phải đầu tư trang thiết bị rất mạnh dẫn đến chi phí rất tốn kém,....

Chính vì lẻ đó, cho đến khi giải thuật nhìn một lần (You Only Look Once -

YOLO) ra đời. You Only Look Once lần lượt có các phiên bản 1, 2 (YOLO Version

1, 2) và hiện nay là You Only Look Once phiên bản 3 (YOLO Version 3) có khả

năng gán nhãn cho toàn bộ đối tượng trong khung hình với chỉ duy nhất một hoạt

động. Có thể nói, You Only Look Once đã xây dựng một hướng tiếp cận đầu tiên

giúp đưa nhận dạng đối tượng theo thời gian thực (Real-Time Object Detection) thực

sự khả thi áp dụng thực tế trong cuộc sống.

Đối với mạng nơ-ron tích chập (Convolutional Neural Network - CNN) là

một trong những mô hình học sâu (Deep Learning) tiên tiến giúp cho chúng ta xây

dựng được những hệ thống thông minh với độ chính xác cao như hiện nay và còn là

một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ nơ-ron

sinh học. Nó được tạo nên từ một số lượng lớn các phần tử (nơ-ron) kết nối với nhau

thông qua các liên kết (trọng số liên kết) làm việc như một thể thống nhất để giải quyết

một vấn đề cụ thể nào đó. Một mạng nơ-ron nhân tạo được cấu hình cho một ứng dụng

Page 18: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

18

cụ thể (nhận dạng mẫu, phân loại dữ liệu,...) thông qua một quá trình học từ tập các

mẫu huấn luyện. Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa

các nơ-ron.

Trong khuôn khổ luận văn Thạc sỹ của cá nhân, qua việc được trang bị các môn

học lý thuyết như thuật toán, xử lý ảnh, trí tuệ nhân tạo, tìm kiếm,… tôi đã lựa chọn đề

tài “Nghiên cứu ứng dụng kỹ thuật máy học để phân tích hình ảnh và nhận dạng

phương tiện vi phạm Luật giao thông đường bộ”. Chủ đề phân lớp dữ liệu là một

nhánh quan trọng trong lĩnh vực máy học (machine learning) của trí tuệ nhân tạo.

Chúng ta có thể kể đến các ứng dụng của máy học trong thực tế như người máy, robot,

nhận dạng đối tượng, nhận dạng mặt người, nhận dạng tiếng nói và chữ viết,…Trong

đó, học sâu (Deep learning) với mô hình mạng nơ-ron tích chập theo phương pháp

nhìn một lần (Convolutional Neural Network for You Only Look Once - CNNs for

YOLO Object Detection) là một trong những giải thuật của mô hình hệ thống máy

học tiên tiến giúp cho chúng ta xây dựng đựợc những hệ thống thông minh với độ

chính xác cao như hiện nay. Trong khuôn khổ luận văn cao học này, cá nhân tập trung

nghiên cứu về mạng nơ-ron (neural network) cũng như mạng tích chập (Convolution

network) theo giải thuật của mô hình mạng nơ-ron tích chập (CNNs) nhằm phân tích

lớp ảnh (Image Classification) và áp dụng trong việc xây dựng hệ thống nhận dạng

phương tiện với phương pháp nhận dạng đối tượng (You Only Look Once) các hành

vi vi phạm Luật giao thông đường bộ [6-9].

1.2. Tính cấp thiết của đề tài

Theo một báo cáo của Liên Hợp Quốc, hơn nửa dân số trái đất hôm nay đã là

dân đô thị, với 54,6% dân số thế giới tương đương 3,6 tỷ người đang sống ở các đô thị,

nghiên cứu cho thấy đến năm 2050, tỉ lệ dân cư thành thị sẽ chiếm hơn 70% dân số thế

giới, với 64,1% ở các nước đang phát triển và 85,9% ở các nước phát triển sẽ sống ở

các khu vực thành thị.

Sự tập trung dân số, tốc độ gia tăng của đô thị hóa đã mang lại cho các thành

phố và quốc gia một số thách thức trong việc đáp ứng nhu cầu ngày càng tăng của

người dân, như: cơ sở hạ tầng, giao thông, các yêu cầu về nhà ở, năng lượng, an ninh,

y tế, giáo dục, môi trường và ứng phó với biến đổi khí hậu, thiên tai cũng như các vấn

đề như truyền thông và giải trí. Do đó việc phát triển đô thị trong tương lai có ảnh

Page 19: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

19

hưởng lớn tới môi trường, tới việc quản lý và cải thiện chất lượng đô thị, điều này chỉ

có thể nắm bắt được thông qua việc thay đổi phương thức điều hành của chính quyền,

sự tham gia của người dân, cũng như sự tham gia của các bên liên quan chịu trách

nhiệm quản lý chung. Vì vậy, việc định hướng cho phát triển "đô thị truyền thống"

hiện nay thành “đô thị thông minh” hơn là một nhu cầu tất yếu mà trong đó bao gồm

các ứng dụng về chính quyền điện tử, giao thông thông minh, y tế thông minh, giáo

dục thông minh, du lịch thông minh, môi trường thông minh,…việc triển khai, áp dụng

các hệ thống tự động và kết hợp với Cuộc cách mạng công nghiệp lần thứ 4 (CMCN

4.0) bởi các công nghệ chủ chốt của công nghiệp 4.0 (Trí tuệ nhân tạo - Artificial

Intelligence, Chuỗi khối- Blockchain, Dữ liệu lớn - Big Data, Khai phá dữ liệu và

Phân tích dữ liệu - Data Mining and Data Analytics, Internet vạn vật- Internet of

Things, Điện toán đám mây- Cloud computing, ...) [10].

Xét một cách tổng quan, việc triển khai giao thông thông minh sẽ có 3 giai

đoạn. Trong đó bao gồm việc thu thập dữ liệu, xử lý dữ liệu và phân phối lại chúng

cho người tham gia giao thông. Để hoạt động của hệ thống được trơn tru, sẽ cần phải

có một trung tâm xử lý nhằm tổng hợp thông tin và tiến hành điều tiết. Ở giai đoạn ban

đầu, những trung tâm này được điều hành chủ yếu bởi con người. Tuy vậy, với các

tiến bộ của trí tuệ nhân tạo (AI) sẽ được ứng dụng nhằm thay thế con người trong

tương lai.

Hệ thống giao thông thông minh (Intelligent Transport Systems – ITS) không

phải là điều gì quá mới mẻ. Ý tưởng về hệ thống này đã được khởi xướng từ những

năm 60, 70 của thế kỷ trước tại Mỹ và các nước Châu Âu. Đến nay, mô hình này đã

được áp dụng thành công tại nhiều thành phố lớn trên thế giới [11].

Tại các nước châu Á, Hàn Quốc chính là quốc gia đi tiên phong trong việc ứng

dụng công nghệ nhằm phát triển Hệ thống giao thông thông minh. Seoul (Hàn Quốc)

được nhận định là thành phố có hệ thống giao thông thông minh tốt nhất thế giới.

Tại thành phố Seoul – Hàn Quốc, chính phủ thiết lập một hệ thống vận hành

giao thông có tên TOPIS. Khi truy nhập vào hệ thống này, người dân sẽ được cung cấp

các thông tin liên quan đến tình trạng giao thông. Với những người đang chờ xe buýt,

thông tin này bao gồm cả vị trí cụ thể của chuyến xe đang tới, thời gian dự kiến sẽ tới

bến và lượng ghế còn trống trên xe là bao nhiêu.

Page 20: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

20

Tại Việt Nam, cùng với các kinh nghiệm đã triển khai trên thực tế trong các

năm vừa qua của các địa phương trong cả nước như thành phố Hà Nội, thành phố Hồ

Chí Minh, Đồng Nai, Kiên Giang, Quảng Nam, Đà Nẵng, Thừa Thiên Huế, Quảng

Ninh… việc trang bị hệ thống Camera giám sát giao thông thông minh nhằm mục đích

nâng cao năng lực giám sát, kiểm soát và xử lý các vi phạm trật tự an toàn giao thông

đường bộ đã mang lại những hiệu quả tích cực. Bên cạnh việc giảm thiểu các tai nạn

giao thông, tình hình an ninh trật tự được đảm bảo, ý thức tự giác chấp hành pháp luật

của người tham gia giao thông được nâng cao.

Tỉnh Bà Rịa – Vũng Tàu là một tỉnh ven biển thuộc vùng Đông Nam Bộ, nằm

trong vùng kinh tế trọng điểm phía Nam, có tổng diện tích tự nhiên là 1.980,98 km2,

dân số khoảng trên 1,3 triệu người, cũng nằm trong xu thế xây dựng đô thị hướng đến

thông minh đang được quan tâm và thúc đẩy. Có thể nói, đô thị thông minh được coi là

lựa chọn tất yếu, phù hợp với xu thế phát triển chung của thế giới cũng như khả năng

tiếp cận của Việt Nam. Bà Rịa – Vũng Tàu được đánh giá là một trong những địa

phương có hệ thống giao thông đường biển, đường hàng không và đường bộ với kết

cấu hạ tầng giao thông khá hiện đại. Trong đó, đường bộ là đầu mối giao thông quan

trọng với 3 tuyến quốc lộ chính gồm QL51, QL55, QL56. Quốc lộ 51 và là trục giao

thông chính của vùng Kinh tế trọng điểm phía Nam, nối liền với phố TP. Hồ Chí

Minh, Tp. Biên Hòa và Tp. Vũng Tàu. Quốc lộ 55, chạy từ Tp. Bà Rịa đi Tp. Phan

Thiết nối với các tỉnh duyên hải Đông Nam Bộ, có giá trị giao thông liên vùng, nối

vùng Nam Trung Bộ với miền Đông. Quốc lộ 56 là trục đường giao thông nối Tp. Bà

Rịa tỉnh Bà Rịa – Vũng Tàu và vùng kinh tế trọng điểm phía Nam với Tây Nguyên. Từ

QL56 có thể đi thẳng qua TX. Long Khánh đi Tp. Đà Lạt (Lâm Đồng). Ngoài ra tỉnh

Bà Rịa – Vũng Tàu có rất nhiều tuyến đường tỉnh kết nối đi các huyện, thị xã và thành

phố.

Theo số liệu tổng hợp, đến cuối tháng 9/2020 trên địa bàn tỉnh đã xảy ra 285 vụ

tai nạn giao thông, hậu quả làm 120 người chết và 213 người bị thương. Trong đó có

28 vụ tai nạn giao thông tự gây, làm 31 người chết và 04 người bị thương. So với cùng

kỳ năm 2018, số vụ tai nạn giao thông giảm 02 vụ, số người chết giảm 06 người, số

người bị thương giảm 55 người. Tuy số vụ TNGT, số người chết và bị thương đều

giảm so với cùng kỳ nhưng con số thống kê cho thấy vẫn ở mức cao và tiềm ẩn diễn

biến phức tạp. Nguyên nhân chủ yếu là do một bộ phận người tham gia giao thông

Page 21: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

21

chưa ý thức trong việc chấp hành pháp luật giao thông đường bộ, còn đối phó, chưa tự

giác, vi phạm về trật tự - an toàn giao thông (TT-ATGT) vẫn còn phổ biến, đặc biệt là

các hành vi vi phạm như: điều khiển phương tiện tham gia giao thông không đúng tốc

độ quy định, điều khiển phương tiện tham gia giao thông không đúng phần làn/chiều

đướng theo quy định, không chấp hành hiệu lệnh của tín hiệu giao thông, phương tiện

tham gia giao thông quá khổ - quá tải, phương tiện tham gia giao thông chở quá số

lượng người quy định [12-13].

Bên cạnh đó, giao thông luôn là một vấn đề được quan tâm nhiều nhất đối với

các đô thị lớn ở các nước nói chung và ở Việt Nam nói riêng. Trong những năm gần

đây tình trạng tắc đường, kẹt xe, tai nạn và vi phạm Luật giao thông đường bộ vẫn

luôn là vấn đề rất nghiêm trọng và cấp bách. Đây được xem là vấn đề bức xúc của toàn

xã hội, ảnh hưởng đến sự phát triển bền vững về kinh tế, văn hóa, xã hội và hình ảnh

của đất nước Việt Nam với bạn bè Quốc tế.

Hiện nay, mặc dù đã có những nghiên cứu, nhiều giải pháp, cũng như các ý

tưởng mới của các nhà khoa học, các chuyên gia hàng đầu trong nước và thế giới về

việc hỗ trợ, giảm thiểu tình trạng tắc đường, kẹt xe, tai nạn và các hành vi vi phạm

Luật giao thông đường bộ nhưng hiệu quả vẫn chưa cao và tình trạng vẫn diễn ra

thường xuyên trên các trục đường giao thông, đặc biệt là ở các khu đô thị.

Xuất phát từ nhu cầu thực tiễn, vì vậy tôi chọn vấn đề “Nghiên cứu ứng dụng

kỹ thuật máy học để phân tích hình ảnh và nhận dạng phương tiện vi phạm Luật

giao thông đường bộ” làm đề tài nghiên cứu nhằm phát hiện, nhận dạng và xử lý các

hành vi vi phạm trật tự an toàn giao thông, góp phần giảm thiểu ùn tắc, tai nạn cho

người và phương tiện tham gia giao thông. Đồng thời giúp công tác tuần tra kiểm soát

trật tự, an ninh và phát hiện kịp thời, có chứng cứ pháp lý về hình ảnh nhằm cung cấp

cho lực lượng chức năng khi điều tra các vụ việc xảy ra trên đường góp phần đảm bảo

an ninh trật tự xã hội là cần thiết. Kết quả thực hiện đề tài dự kiến sẽ được đưa vào áp

dụng thực tế trên địa bàn tỉnh Bà Rịa – Vũng Tàu sau khi hoàn thành nghiên cứu luận

văn.

2. MỤC TIÊU, ĐỐI TƯỢNG, PHẠM VI, NỘI DUNG VÀ HƯỚNG NGHIÊN

CỨU

2.1. Mục tiêu của đề tài

Page 22: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

22

- Mục tiêu tổng quát: Nghiên cứu ứng dụng kỹ thuật máy học để xây dựng mô

hình phục vụ theo dõi, giám sát tình trạng giao thông đường bộ, tự động phát hiện, ghi

nhận, phân tích hình ảnh đối tượng và nhận dạng phương tiện về các hành vi vi phạm

Luật giao thông đường bộ theo thời gian thực với độ chính xác cao tại một nút giao lộ,

từ đó có thể xử phạt nhằm nâng cao ý thức về an toàn giao thông của người dân, đảm

bảo trật tự an toàn xã hội.

- Mục tiêu cụ thể: Theo dõi, giám sát tình trạng giao thông đường bộ, tự động

phát hiện, ghi nhận, phân tích hình ảnh đối tượng và nhận dạng biển số phương tiện và

các hành vi vi phạm Luật giao thông đường bộ theo thời gian thực tại một nút giao lộ

cụ thể sau:

(1) Chở quá số người quy định khi tham gia giao thông.

(2) Không đội mũ bảo hiểm khi điều khiển xe mô tô, xe gắn máy.

Hình 1: Mô hình nút giao lộ (ngã tư) triển khai xây dựng mô hình nghiên cứu

2.2 Đối tượng

Đối tượng nghiên cứu chính là các loại phương tiện tham gia giao thông đường

bộ theo quy định của Luật giao thông đường bộ áp dụng đối với hành vi vi phạm theo

mục tiêu đề tài nghiên cứu đề ra đó là:

- Thu thập, xây dựng bộ dữ liệu ảnh các phương tiện giao thông đường bộ cho

hệ thống giám sát.

- Một số mô hình mạng nơ-ron và nơ-ron tích chập đang được sử dụng phổ biến

trong lĩnh vực nhận dạng.

Page 23: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

23

- Ứng dụng kỹ thuật máy học trong lĩnh vực trí tuệ nhân tạo để phát hiện, ghi

nhận và phân vùng đối tượng ảnh dựa trên các giải thuật học sâu để phân lớp đối tượng

quan tâm với các đối tượng ảnh còn lại.

- Phương pháp trích xuất điểm đặc trưng đối tượng, phương tiện theo mô hình

mạng nơ-ron tích chập theo phương pháp phát hiện đối tượng nhìn chỉ một lần.

2.3 Phạm vi

- Xây dựng bộ mẫu dữ liệu nghiên cứu, thử nghiệm với số lượng 500 mẫu là

ảnh các đối tượng vể phương tiện tham gia giao thông. Những ảnh này dùng để phát

hiện vùng chứa biển số theo cách tiếp cận của phương pháp hình thái học để phát hiện

vùng biển số cho các biển đăng ký xe của Việt Nam.

- Tập trung nghiên cứu kỹ thuật máy học trong lĩnh vực trí tuệ nhân tạo để phát

hiện, ghi nhận và phân vùng đối tượng ảnh dựa trên các giải thuật học sâu nhằm phân

lớp đối tượng quan tâm với các đối tượng ảnh còn lại, cụ thể hơn là công việc cần phải

giải quyết vấn đề phát hiện vùng chứa biển số xe và nhận dạng ký tự trong biển số với

mô hình mạng nơ-ron tích chập để tiến hành nhận dạng biển số xe vi phạm Luật giao

thông đường bộ.

2.4. Nội dung nghiên cứu

2.4.1. Về nội dung

- Nghiên cứu xây dựng hệ thống phát hiện, ghi nhận và phân vùng đối tượng

ảnh dựa trên các bộ thư viện cài đặt cho mô hình, giải thuật học sâu (deep learning).

- Sử dụng công cụ, mô hình mạng nơ-ron tích chập (CNNs) nhằm phân tích lớp

ảnh (Image Classification) áp dụng trong việc xây dựng hệ thống tự động nhận dạng

phương tiện và các hành vi vi phạm Luật giao thông đường bộ theo thời gian thực.

- Huấn luyện và xây dựng nhận dạng đối tượng về các hành vi vi phạm Luật

giao thông đường bộ.

2.4.2. Về mặt lý thuyết

- Tìm hiểu tổng quan về hệ thống kỹ thuật máy học (machine learning) trong

lĩnh vực trí tuệ nhân tạo (AI) để phát hiện, ghi nhận và phân vùng đối tượng ảnh dựa

trên các giải thuật học sâu (deep learning) để phân lớp đối tượng quan tâm với các đối

tượng ảnh còn lại.

- Tìm hiểu tổng quan về hệ thống mô hình giải thuật mạng nơ-ron và mạng no-

ron tích chập theo phương pháp phát hiện đối tượng nhìn chỉ một lần.

Page 24: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

24

- Nghiên cứu tổng quan về phướng pháp, cách thức nhận dạng đối tượng,

phương tiện tham gia giao thông thông qua biển số xe trong đề tài nghiên cứu.

- Nghiên cứu áp dụng các kỹ thuật đã được tìm hiểu để tự động phát hiện, nhận

dạng phương tiện tham gia giao thông và các hành vi vi phạm Luật giao thông đường

bộ.

2.4.3. Về mặt thực nghiệm

- Tiến hành khảo sát lựa chọn địa điểm xây dựng mô hình nghiên cứu triển khai

thử nghiệm.

- Thiết kế mô hình và lựa chọn thiết bị trang thiết bị, giải pháp thi công lắp đặt

cho hệ thống.

- Xây dựng phần mềm ứng dụng điều khiển hệ thống thông minh kết hợp quản

lý và in ấn bằng chứng hình ảnh vi phạm chạy trên nền tảng website.

- Ứng dụng trí tuệ nhân tạo (AI) để tự động học và nhận diện các lỗi hành vi vi

phạm giao thông từ các dữ liệu vi phạm ban đầu và nhận dạng các lỗi vi phạm có độ

chính xác ngày càng cao hơn từ các dữ liệu vi phạm trước đó.

- Xây dựng quy trình vận hành khai thác, xây dựng các kịch bản nhằm tổ chức

triển khai thu thập bộ dữ liệu mẫu tại mô hình thực tế.

- Xây dựng bộ cơ sở dữ liệu điện toán đám mây có khả năng lưu trữ dữ liệu lớn

về các hình ảnh bằng chứng vi phạm và thông tin của các phương tiện tham gia giao

thông vi phạm.

- Nghiên cứu thực hiện thông qua các hình ảnh thực nhằm xác định, đánh giá

kết quả cuối cùng và đưa ra các dự báo.

2.5. Phương pháp luận và phương pháp nghiên cứu

Để đảm bảo thực hiện xây dựng đầy đủ mô hình hệ thống tự động phát hiện, ghi

nhận, phân tích hình ảnh đối tượng và nhận dạng phương tiện và các hành vi vi phạm

Luật giao thông đường bộ theo thời gian thực. Đề tài nghiên cứu đề xuất thực hiện

theo hai bước cụ thể sau:

- Bước 1- Huấn luyện: Sử dụng bộ dữ liệu trên cơ sở các kịch bản, diễn tập,

huấn huyện và thu thập ảnh đối tượng động từ hệ thống camera lắp sẵn đưa vào huấn

luyện, thử nghiệm để đưa ra mô hình nhận dạng và đánh giá kết quả.

Page 25: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

25

- Bước 2 - Thử nghiệm: Sử dụng mô hình vừa huấn luyện được ở trên thông

qua hình ảnh giao thông để thực hiện các giải thuật phân lớp đối tượng trên dữ liệu

mới và đánh giá kết quả.

3. TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU

3.1. Những hướng nghiên cứu đã được thực hiện

Nghiên cứu xây dựng hệ thống giám sát ngã tư thông minh tại 01 điểm giao lộ

đường Huỳnh Minh Thạnh và 27/4 thuộc thị trấn Phước Bửu, huyện Xuyên Mộc, tỉnh

Bà Rịa – Vũng Tàu đây là dự án sản xuất thử nghiệm cấp tỉnh thực hiện nhiệm vụ

khoa học và công nghệ hàng năm do UBND tỉnh Bà Rịa – Vũng Tàu đặt hàng cho

Trung tâm Ứng dụng tiến bộ khoa học và công nghệ chủ trì thực hiện. Mục tiêu dự án

SXTN đã nêu trên với giải pháp là thiết kế lắp đặt trên nền tảng công nghệ sẵn có vi

xử lý AVR Atmel 8-bit, hoặc ARM Atmel 32-bit thông qua bản mạch Arduino và thực

thi chương trình được nạp sẵn cho bộ xử lý trung tâm đặt tại giao lộ cần quan sát, bộ

xử lý này tiếp nhận thông tin từ các camera được kết hợp với các cảm biến laser và

camera giám sát hình ảnh phương tiện tham gia giao thông. Nhận dạng hành vi vi

phạm và lưu trữ thông tin trên hệ thống dữ liệu điện toán đám mây thông qua sóng 3G.

Thông qua phần mềm ứng dụng có thể xây dựng kịch bản cho hệ thống tự động điều

khiển và xử lý thông tin tiếp nhận từ các thiết bị.

Hệ thống nhận dạng biển số xe: Bộ thư viện OpenCV – đây là bộ thư viện được

Intel và Itseez phát triển trong hơn 20 năm qua với hơn 2.500 thuật toán nhận dạng

khác nhau, sử dụng máy học (machine learning).

Hình 2: Sơ đồ nhận dạng biển số xe

Page 26: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

26

Hệ thống nhận dạng người tham gia giao thông: IOT Core và Azure đảm nhận

việc có bao nhiên người tham gia giao thông tại thời điểm đó, từ đó biết được trên một

phương tiện xe máy có bao nhiêu người, đặc điểm của họ, phân tích các hành vi tại

thời điểm đó để kiểm tra xem họ có chấp hành đúng luật giao thông hay không.

Hình 3: Nhận dạng khuôn mặt người trong ảnh

Từ đó, có thể nhận thấy cần phải thay đổi ứng dụng giải pháp công nghệ vào

việc giám sát hành vi của người tham gia giao thông nhằm phát hiện, ghi nhận và phân

vùng đối tượng ảnh dựa trên các giải thuật học sâu (deep learning) để phân lớp đối

tượng quan tâm với các đối tượng ảnh còn lại, đặc biệt với thông qua các kỹ thuật học

sâu (Deep learning) với mô hình mạng nơ-ron tích chập theo phương pháp nhìn một

lần (Convolutional Neural Network for You Only Look Once - CNNs for YOLO

Object Detection) nhằm phân tích đối tượng áp dụng trong việc xây dựng hệ thống tự

động nhận dạng phương tiện và các hành vi vi phạm Luật giao thông đường bộ theo

thời gian thực là cấp bách và cần thiết phù hợp với xu hướng công nghệ mới, tiên tiến

hơn, tốt hơn,….

3.2. Những kết quả nghiên cứu đã áp dụng vào thực tế

Việc ứng dụng của công nghệ phân loại hiện nay đang phát triển rất mạnh ở rất

nhiều lĩnh vực (học thuật, kinh doanh, bảo mật, y tế...) và các đối tượng (nhà nghiên

Page 27: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

27

cứu xã hội, chính phủ và các tổ chức phi lợi nhuận khác). Vì các tổ chức này sở hữu

một lượng lớn dữ liệu không có cấu trúc và việc xử lý dữ liệu sẽ trở nên dễ dàng hơn

rất nhiều nếu như các dữ liệu này được chuẩn hóa bởi các chủ đề/nhãn. Nền tảng công

nghệ để thực hiện bài toán phân loại văn bản chính là trí tuệ nhân tạo (Artificial

Intelligence – AI) áp dụng giải thuật học sâu (Deep Learning) với mô hình mạng nơ-

ron được áp dụng như:

- Nghiên cứu của ông Andrews Sobral: Ông Andrews Sobral và cộng sự đã

nghiên cứu nhận diện phương tiện qua phương pháp Haar Cascades using OpenCV.

Nghiên cứu sử dụng thư viện thị giác máy tính mã nguồn mở JavaScript và OpenCV

để nhận diện hình ảnh được truy cập vào webcam.

- Nghiên cứu nhận diện và theo dõi xe sử dụng OpenCV và Kalman Filter: Ông

Ronit Sinha và cộng sự sử dụng OpenCV và Kalman Filter để nhận diện và theo dõi xe

từ luồng trực tuyến của Camera giao thông. Bộ lọc OpenCV và Kalman sẽ phát hiện

và theo dõi xe ô tô từ video được phát trực tiếp từ camera.

- Nghiên cứu về nhận diện vật thể bằng thuật toán YOLO: Yolo được Redmon

và Farhadi phát triển vào năm 2015, trong thời gian học tiến sĩ. YOLO (‘You only

look once”) là một thuật toán nhận diện phổ biến nhờ độ chính xác cao trong thời gian

thực, đạt đến 45 khung hình trên giây.

- Nghiên cứu nhận diện phương tiện và hướng đi (Vehicle Detection for

Autonomous Driving): Ông Junsheng Fu và cộng sự đã sử dụng các công cụ, bao gồm

OpenCV3, Python3.5, tensorflow, CUDA8 OS: Ubuntu 16.04. Có 2 hướng đi: SVM

tuyến tính và mạng nơ-ron.

Ở Việt Nam, cộng đồng nghiên cứu trí tuệ nhân tạo xử lý ngôn ngữ tự nhiên để

áp dụng vào bài toán xử lý tiếng Việt đang rất phát triển. Do đặc thù của tiếng Việt và

sự khác biệt về bộ ngôn ngữ trong các thư viện, công cụ hỗ trợ, nên cộng đồng các nhà

nghiên cứu trí tuệ nhân tạo (AI) của Việt Nam đã xây dựng và phát triển một số các

thuật toán, thư viện và công cụ dành riêng cho tiếng Việt. Một số doanh nghiệp và

trường đại học hoạt động trong lĩnh vực công nghệ thông tin đã và đang nghiên cứu

đưa bài toán phân loại văn bản vào ứng dụng thực tế như: Framgia, Đại học Lê Quý

Đôn, FPT, Đại học Khoa học Công nghệ thuộc Đại học Quốc gia Việt Nam,…. Còn

trong lĩnh vực quân sự, do là là môi trường đặc thù, vì vậy, việc thu thập thông tin trên

các trang báo điện tử, diễn đàn, mạng xã hội,… để theo dõi tình hình, nắm bắt thông

Page 28: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

28

tin là một trong những nhiệm vụ mới, quan trọng trên không gian mạng. Do lượng

thông tin thu thập được qua mạng Internet là rất lớn, nên đã đặt ra yêu cầu phân tích và

xử lý lượng dữ liệu khổng lồ trên một cách tự động và nhanh chóng.

3.3. Những phương pháp nghiên cứu đã được áp dụng trên thế giới và Việt

Nam

Một là, thực trạng nghiên cứu áp dụng đối với một số nước trong khu vực và

thế giới:

Đến nay, mô hình này đã được áp dụng thành công tại nhiều thành phố lớn trên

thế giới như Mỹ và các nước Châu Âu đi đầu trong nghiên cứu triển khai và áp dụng

thành công cho nhiều lĩnh vực trong đời sống, xã hội.

Tại các nước châu Á, Hàn Quốc chính là quốc gia đi tiên phong trong việc ứng

dụng công nghệ nhằm phát triển Hệ thống giao thông thông minh. Seoul (Hàn Quốc)

được nhận định là thành phố có hệ thống giao thông thông minh tốt nhất thế giới.

Hoặc như Singapore với chiến lược “Quốc gia thông minh” được khởi động từ

tháng 11 năm 2014, đề án Quốc gia thông minh của Singapore được xây dựng trên nền

tảng đặt người dân làm trung tâm, sử dụng công nghệ để giải quyết các vấn đề và

thách thức của đô thị. Sáng kiến này nêu rõ: “Singapore nỗ lực để trở thành một quốc

gia thông minh nhằm hỗ trợ người dân sống tốt hơn, cộng đồng mạnh mẽ hơn và tạo

nhiều cơ hội hơn cho tất cả mọi người”. Thông qua đề án này, Singapore đã và đang

hình thành một nền văn hóa quốc gia xung quanh việc khuyến khích thực nghiệm, nuôi

dưỡng tinh thần sáng tạo và triển khai những ý tưởng mới. ICT là cốt lõi để thực hiện

mục tiêu Quốc gia thông minh, trong đó tập trung vào 3 ưu tiên: công nghệ hỗ trợ xã

hội; di động và giao thông thông minh; môi trường dữ liệu an toàn. Chính phủ

cũng cam kết hằng năm đầu tư khoảng 1% GDP cho nghiên cứu và phát triển.

Trải qua hơn 2 năm vận hành, đến nay, Singapore đã triển khai được các giải

pháp thông minh trong lĩnh vực nhà ở, điều khiển giao thông, xe tự lái, quan trắc môi

trường, thanh toán không dùng tiền mặt, các công nghệ hỗ trợ tự hành/người máy, y tế

từ xa, công cụ tiếp nhận ý kiến người dân, và hệ thống cơ sở dữ liệu mở. Song song

đó, Singapore tiếp tục duy trì và mở rộng hoạt động hỗ trợ khởi nghiệp nhằm có thể

đảm bảo nguồn cung cho các ứng dụng thông minh trong tương lai.

Tại Trung Quốc áp dụng mô hình mạng nơ-ron tích chập theo phương pháp

nhìn một lần (Convolutional Neural Network for You Only Look Once - CNNs for

Page 29: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

29

YOLO Object Detection) xây dựng hệ thống theo dõi người dân của Trung Quốc, từ

đó có thể giúp chính quyền xác định được tội phạm lẫn trốn ở đó hay không, hoặc hệ

thống xe tự lái, cũng phải xác định được người đi đường ở đâu từ đó đưa ra quyết định

di chuyển tiếp theo.

Hai là, thực trạng nghiên cứu áp dụng hiện nay tại Việt Nam:

- Việc triển khai nghiên cứu áp dụng trí tuệ nhân tạo (AI) trong việc xây dựng

thành phố thông minh đã và đang áp dụng nghiên cứu công nghệ và triển khai cho một

số địa phương như: thành phố Hà Nội, thành phố Hồ Chí Minh, thành phố Đà Nẵng,

Bình Dương, Đồng Nai, Kiên Giang, Quảng Nam, Thừa Thiên Huế, Quảng Ninh,

…tập trung chủ yếu vào các vấn đề chính cụ thể như: xây dựng hạ tầng mạng kết nối

trên toàn thành phố để phục vụ nhu cầu kết nối, chia sẻ thông tin của chính quyền,

doanh nghiệp, người dân, du khách và truyền dẫn cho các ứng dụng thành phố thông

minh hơn; Hệ thống giao thông thông minh: ứng dụng CNTT-TT vào công tác quản lý

giao thông đô thị của thành phố một cách chủ động và hiệu quả hơn; Hệ thống cấp

nước thông minh: ứng dụng CNTT-TT để nâng cao chất lượng xử lý và phân phối

nước sạch cho người dân. Riêng tỉnh Bà Rịa – Vũng Tàu ngày 13/12/2019 Hội đồng

nhân dân tỉnh đã thông qua Nghị quyết số 112/NQ-HĐND về Đề án phát triển đô thị

thông minh tỉnh Bà Rịa – Vũng Tàu giai đoạn 2020-2022, định hướng đến 2025, tầm

nhìn đến 2030 với mục tiêu phát triển thí điểm đô thị thông minh bền vững tỉnh Bà Rịa

– Vũng tàu giai đoạn đến 2030 hướng tới tăng trưởng xanh, phát triển bền vững; ứng

dụng thành tựu khoa học công nghệ hiện đại, tối ưu hóa cơ sở dữ liệu hạ tầng kỹ thuật

và hạ tầng ICT phát triển đô thị thông minh nhằm phát huy tiềm năng lợi thế, khai thác

hiệu quả tài nguyên, con người, nâng cao chất lượng cuộc sống nhân dân, đồng thời

tạo điều kiện để các tổ chức, cá nhân tham gia đầu tư xây dựng cơ sở vật chất kỹ thuật

phát triển đô thị thông minh; hạn chế các rủi ro và nguy cô tiềm năng; nâng cao hiệu

quả quản lý nhà nước và các dịch vụ đô thị; nâng cao sức cạnh tranh của nền kinh tế và

hội nhập, góp phần thắng lợi các mục tiêu kinh tế - xã hội, an ninh quốc phòng tại địa

phương.

- Nghiên cứu phát hiện làn đường, ôtô và người đi bộ bằng công nghệ ảnh hỗ

trợ cho ôtô tự hành của hai tác giả Trương Quốc Bảo, Trương Quốc Định - Trường

Đại học Cần Thơ.

Page 30: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

30

- Các nhà khoa học thuộc Khoa Điện - Điện tử, Trường Đại học Giao thông

Vận tải đã nghiên cứu thiết kế và chế tạo thành công hệ thống giám sát giao thông ứng

dụng công nghệ xử lý ảnh. Hệ thống bao gồm camera giám sát, camera chụp hình,

mạng truyền thông, video server, phần mềm xử lý ảnh và cơ sở dữ liệu có thể tự động

phát hiện và ghi nhận các tình huống vi phạm Luật Giao thông nhằm tăng cường giám

sát, phát hiện và xử lý kịp thời các vi phạm, hạn chế tai nạn và nâng cao ý thức chấp

hành của người tham gia giao thông[8-11].

3.4. Một số vấn đề còn hạn chế của những nghiên cứu trước và những vấn

đề cần được tiếp tục nghiên cứu hoàn thiện

3.4.1. Một số vấn đề còn hạn chế của những nghiên cứu trước

Đầu vào mô hình là một bức ảnh, đối với bài toán nhận dạng, chúng ta không

chỉ phải phân loại được đối tượng (object) trên bức ảnh mà còn phải định vị được vị trí

của đối tượng đó và mỗi lần thực hiện tốn rất nhiều thời gian. Do đó:

- Tốn rất nhiều tài nguyên để tính toán cho mọi vùng trên một bức ảnh và do đó

không thể thực hiện theo thời gian thực (realtime) trên các thiết bị yếu.

- Ảnh phương tiện lưu thông vào ban đêm hay trong bóng tối nếu thiết bị ghi

hình không có đèn flash thì khả năng nhận dạng thấp do thiếu sáng.

- Không thể nhìn thấy các đối tượng nhỏ, các đối tượng quá gần sát nhau;

không thể khái quát các đối tượng nếu hình ảnh có kích thước khác so với hình ảnh

đào tạo, huấn luyện.

- Tỷ lệ nhận dạng còn phụ thuộc nhiều vào điều kiện ánh sáng, phản chiếu, độ

che bóng và điều kiện môi trường.

- Với những biển số trên phương tiện giao thông có đường viền phức tạp thì

mức độ nhận dạng không cao. Chỉ giới hạn ảnh chụp trong góc 40 độ để nhận dạng

được tốt, nếu góc lớn hơn thì khả năng nhận dạng sẽ giảm.

- Đặc biệt, đối với Việt Nam rất đa dạng các loại phương tiện giao thông (ô tô,

xe máy, xe lam, xe ba bánh, xe đạp, người đi bộ,…), các vật thể (mũ bảo hiểm, ô dù,

điện thoại, đèn tín hiệu), các hành vi và tình trạng giao thông (tai nạn giao thông, tắc

đường, đua xe, lạng lách,…).

3.4.2. Những vấn đề cần được tiếp tục nghiên cứu hoàn thiện

- Chuẩn hóa hàng loạt ở các lớp tích chập, làm giảm sự thay đổi giá trị trong

các lớp ẩn, cải thiện tính ổn định của mạng lưới.

Page 31: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

31

- Việc tăng kích thước đầu vào của hình ảnh đã cải thiện (độ chính xác trung

bình) tăng lên.

- Thực hiện phân loại và dự đoán trong một khung duy nhất. Các khung tâm và

khung ranh giới; khung tâm chịu trách nhiệm dự đoán khung ranh giới và các khung

tâm được thiết kế cho một tập dữ liệu nhất định bằng cách sử dụng thuật toán phân

cụm (k-means clustering).

- Đối với việc phát hiện các vật nhỏ trên hình ảnh khắc phục bẳng cách chia

hình ảnh thành các ô lưới nhỏ hơn so với nghiên cứu trước đó. Điều này cho phép các

nghiên cứu sau cần phải xác định các đối tượng nhỏ hơn trong hình ảnh và cũng hiệu

quả với các đối tượng lớn hơn.

- Trong các nghiên cứu trước có một điểm yếu phát hiện các đối tượng với các

kích cỡ đầu vào khác nhau, việc đào tạo với các hình ảnh nhỏ của một đối tượng cụ thể

thì nó có vấn đề phát hiện cùng một đối tượng trên hình ảnh có kích thước lớn hơn.

Điều này tiếp tục nghiên cứu để xử lý việc được đào tạo, huấn luyện với các hình ảnh

ngẫu nhiên với các kích thước khác nhau trong khoảng ảnh nhằm cho phép mạng tìm

hiểu và dự đoán các đối tượng từ các kích thước đầu vào khác nhau với độ chính xác

cao.

- Nghiên cứu theo hướng ứng dụng trong việc sử dụng kiến trúc mạng Darknet

19 với 19 lớp chập và 5 lớp max-pooling và một lớp softmax cho việc phân loại đối

tượng.

- Nâng cao hiệu quả chương trình, tách ly các kí tự trong biển số trong các

trường hợp biển số bị nhiều nhiễu, mất mát thông tin do nhiễu từ điều kiện môi trường,

tìm vùng biển số trong ảnh có độ tương phản giữa biển số và nền thấp. Đặc biệt là biển

xe có nền màu đỏ chữ trắng hoặc nền màu vàng chữ trắng.

- Phát triển chương trình thành module phần cứng. Có khả năng tương thích với

các thiết bị quan sát như camera. Kết hợp quản lý và in ấn bằng chứng hình ảnh vi

phạm chạy trên nền tảng website.

- Cần trang bị hệ thống camera có độ phân giải cao cho hình ảnh biển số xe rõ

nét trong điều kiện ánh sáng ban ngày, ban đêm hay với thời tiết mưa, bão; Có cấu

hình phù hợp cho việc chụp ảnh khi xe di chuyển với tốc độ cao kết hợp công nghệ

nhận dạng một cách chính xác.

4. CẤU TRÚC LUẬN VĂN

Page 32: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

32

Luận văn thạc sỹ cá nhân biên soạn bao gồm 6 mục và 4 chương với nội dung

tóm tắt như sau:

1. GIỚI THIỆU

2. MỤC TIÊU, ĐỐI TƯỢNG, PHẠM VI, NỘI DUNG VÀ HƯỚNG

NGHIÊN CỨU

3. TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU

4. CẤU TRÚC LUẬN VĂN

5. NGHIÊN CỨU TỔNG QUAN VÀ PHÂN TÍCH BÀI TOÁN

- Chương 1. Các khái niệm, tổng quan về trí tuệ nhân tạo, học máy, các giải

thuật về kỹ thuật học máy và kỹ thuật áp dụng cho phát hiện, nhận dạng đối tượng.

- Chương 2. Tổng quan về giao thông.

- Chương 3. Áp dụng YOLOv3 cho bài toán phát hiện, nhận dạng đối tượng

tham gia giao thông vi phạm Luật giao thông đường bộ.

- Chương 4. Xây dựng chương trình thực nghiệm và đánh giá kết quả.

6. KẾT LUẬN VÀ KIẾN NGHỊ

Page 33: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

33

5. NGHIÊN CỨU TỔNG QUAN VÀ PHÂN TÍCH BÀI TOÁN

Chương 1. Các khái niệm, tổng quan về trí tuệ nhân tạo, học máy, các giải thuật

về học máy và kỹ thuật áp dụng cho phát hiện, nhận dạng đối tượng

1. Khái niệm chung [6-9, 16, 17, 31]

1.1. Xử lý ảnh

Xử lý ảnh là phương pháp chuyển đổi hình ảnh sang dạng số và thực hiện một

số hoạt động trên đó để nâng cao chất lượng hình ảnh hoặc để trích xuất một số thông

tin hữu ích từ hình ảnh đó.

1.2. Trí tuệ nhận tạo (AI-Artificial Intelligence)

Có thể được định nghĩa như một ngành của khoa học máy tính liên quan đến

việc tự động hóa các hành vi thông minh [12].

1.3. Học máy (Machine Learning)

Học máy là một ứng dụng trí tuệ nhân tạo cung cấp cho hệ thống khả năng tự

động học hỏi và cải thiện hiệu suất, độ chính xác dựa trên những kinh nghiệm từ dữ

liệu đầu vào. Máy học là tập trung vào việc phát triển các phần mềm, chương trình

máy tính có thể truy cập vào dữ liệu và tận dụng nguồn dữ liệu đó để tự học.

1.4. Học sâu (Deep Learning)

Học sâu là một chức năng của trí tuệ nhân tạo (AI), bắt chước hoạt động của bộ

não con người trong việc xử lí dữ liệu và tạo ra các mẫu để sử dụng cho việc ra quyết

định. Học sâu là tập con của học máy trong trí tuệ nhân tạo, có các mạng lưới có khả

năng "học" mà không bị giám sát từ dữ liệu không có cấu trúc hoặc không được gắn

nhãn [17].

1.5. Mạng nơ-ron nhân tạo (Artificial Neural Network)

Là một chuỗi các thuật toán được đưa ra để nỗ lực tìm kiếm các mối quan hệ cơ

bản trong một tập hợp dữ liệu, thông qua quá trình bắt chước cách thức hoạt động của

bộ não con người.

2. Tổng quan về trí tuệ nhân tạo [6-9, 21]

2.1. Trí tuệ nhân tạo

- Hiện nay cả thế giới đang đứng trên cuộc cách mạng công nghiệp 4.0 và trí

tuệ nhân tạo biết đến như chiếc chìa khóa để biến những ý nghĩ của con người thành

Page 34: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

34

hiện thực. Trí tuệ nhân tạo hay trí thông minh nhân tạo (Artificial intelligence -AI) là

một ngành thuộc lĩnh vực khoa học máy tính (Computer science). Là trí tuệ do con

người lập trình tạo nên với mục tiêu giúp máy tính có thể tự động hóa các hành vi

thông minh như con người. Trí tuệ nhân tạo khác với việc lập trình logic trong

các ngôn ngữ lập trình là ở việc ứng dụng các hệ thống học máy (machine learning) để

mô phỏng trí tuệ của con người trong các xử lý mà con người làm tốt hơn máy tính. Cụ

thể, trí tuệ nhân tạo giúp máy tính có được những trí tuệ của con người như: biết suy

nghĩ và lập luận để giải quyết vấn đề, biết giao tiếp do hiểu ngôn ngữ, tiếng nói, biết

học và tự thích nghi,…Tuy rằng trí thông minh nhân tạo có nghĩa rộng như là trí thông

minh trong các tác phẩm khoa học viễn tưởng, nó là một trong những ngành trọng yếu

của tin học. Trí thông minh nhân tạo liên quan đến cách cư xử, sự học hỏi và khả năng

thích ứng thông minh của máy móc.

- Thành phần công nghệ trí tuệ nhân tạo được chia làm 4 nhóm chính cụ thể

sau:

(1) Nhóm 1: Công nghệ trí tuệ nhân tạo phản ứng có khả năng phân tích những

động thái khả thi nhất của chính mình và của đối thủ, từ đó, đưa ra được giải pháp tối

ưu nhất.

Ví dụ: Điển hình của công nghệ trí tuệ nhân tạo phản ứng là Deep Blue. Đây là

một chương trình chơi cờ vua tự động, được tạo ra bởi IBM, với khả năng xác định các

nước cờ đồng thời dự đoán những bước đi tiếp theo của đối thủ. Thông qua đó, Deep

Blue đưa ra những nước đi thích hợp nhất.

(2) Nhóm 2: Công nghệ trí tuệ nhân tạo với bộ nhớ hạn chế là khả năng sử dụng

những kinh nghiệm trong quá khứ để đưa ra những quyết định trong tương lai. Công

nghệ AI này thường kết hợp với cảm biến môi trường xung quanh nhằm mục đích dự

đoán những trường hợp có thể xảy ra và đưa ra quyết định tốt nhất cho thiết bị.

Ví dụ: Đối với xe không người lái, nhiều cảm biến được trang bị xung quanh xe

và ở đầu xe để tính toán khoảng cách với các xe phía trước, công nghệ AI sẽ dự đoán

khả năng xảy ra va chạm, từ đó điều chỉnh tốc độ xe phù hợp để giữ an toàn cho xe.

Page 35: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

35

Hình 4: Ứng dụng công nghệ trí tuệ nhân tạo với bộ nhớ hạn chế

(3) Nhóm 3: Lý thuyết trí tuệ nhân tạo này có thể học hỏi cũng như tự suy nghĩ,

sau đó áp dụng những gì học được để thực hiện một việc cụ thể. Hiện nay, công nghệ

AI này vẫn chưa trở thành một phương án khả thi.

(4) Nhóm 4: Công nghệ trí tuệ nhân tạo tự nhận thức này có khả năng tự nhận

thức về bản thân, có ý thức và hành xử như con người. Thậm chí, chúng còn có thể

bộc lộ cảm xúc cũng như hiểu được những cảm xúc của con người. Đây được xem là

bước phát triển cao nhất của công nghệ AI và đến thời điểm hiện tại, công nghệ này

vẫn chưa khả thi.

Hình 5: Ứng dụng công nghệ trí tuệ nhân tạo tự nhận thức

2.2. Ứng dụng trí tuệ nhân tạo trong hiện tại và tương lai

- Việc ứng dụng của công nghệ phân loại hiện nay đang phát triển rất mạnh ở

rất nhiều lĩnh vực (học thuật, kinh doanh, bảo mật, y tế, ...) và các đối tượng (nhà

nghiên cứu xã hội, chính phủ và các tổ chức phi lợi nhuận khác). Vì các tổ chức này sở

hữu một lượng lớn dữ liệu không có cấu trúc và việc xử lý dữ liệu sẽ trở nên dễ dàng

hơn rất nhiều nếu như các dữ liệu này được chuẩn hóa bởi các chủ đề/nhãn. Nền tảng

công nghệ để thực hiện bài toán phân loại văn bản chính là trí tuệ nhân tạo áp dụng

giải thuật học sâu với mô hình mạng nơ-ron điển hình như:

(1) Xử lý ngôn ngữ tự nhiên (Natural Language Processing): xử lý văn bản,

giao tiếp người - máy.

Page 36: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

36

(2) Nhận dạng (Patten recognition): nhận dạng tiếng nói, chữ viết tay, vân tay,

thị giác máy, thiên văn học.

(3) Máy tìm kiếm như Google, Yahoo, You tube: các hệ thống này sử dụng các

công cụ của học máy để phát triển hệ thống.

(4) Chẩn đoán trong y tế: trợ giúp phân tích ảnh X-quang, các hệ chuyên gia

chẩn đoán tự động.

(5) Tin sinh học: phân loại và dự đoán chuỗi gene, dự đoán tính chất của thuốc

mới.

(6) Phát hiện gian lận tài chính, gian lận thẻ tín dụng, phát hiện dị thường.

(7) Phân tích thị trường chứng khoán.

(8) Trò chơi: máy tính chơi cờ Deep blue của IBM chế tạo năm 1998.

(9) Người máy: là tổng hợp của rất nhiều ngành khoa học, trong đó học máy

tạo nên hệ thần kinh và bộ não của người máy.

- Ví dụ như:

(1) Trong ngành vận tải: Trí tuệ nhân tạo được ứng dụng trên những phương

tiện vận tải tự lái, điển hình là ô tô. Sự ứng dụng này góp phần mang lại lợi ích kinh tế

cao hơn nhờ khả năng cắt giảm chi phí cũng như hạn chế những tai nạn nguy hiểm đến

tính mạng. Vào năm 2016, Otto, hãng phát triển xe tự lái thuộc Uber đã vận chuyển

thành công 50.000 lon bia Budweisers bằng xe tự lái trên quãng đường dài 193 km.

Theo dự đoán của công ty tư vấn công nghệ thông tin Gartner, trong tương lai, những

chiếc xe có thể kết nối với nhau thông qua Wifi để đưa ra những lộ trình vận tải tốt

nhất.

Hình 6: Ứng dụng công nghệ trí tuệ nhân tạo xe tự lái

Page 37: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

37

(2) Trong sản xuất: Trí tuệ nhân tạo được ứng dụng để xây dựng những quy

trình sản xuất tối ưu hơn. Công nghệ AI có khả năng phân tích cao, làm cơ sở định

hướng cho việc ra quyết định trong sản xuất.

(3) Trong y tế: Ứng dụng tiêu biểu của trí tuệ nhân tạo trong lĩnh vực y tế là

máy bay thiết bị bay không người lái được sử dụng trong những trường hợp cứu hộ

khẩn cấp. Thiết bị bay không người lái có tốc độ nhanh hơn xe chuyên dụng đến 40%

và vô cùng thích hợp để sử dụng ở những nơi có địa hình hiểm trở.

Hình 7: Ứng dụng công nghệ trí tuệ nhân tạo cho thiết bị bay không người lái

(4) Trong giáo dục: Sự ra đời của trí tuệ nhân tạo giúp tạo ra những thay đổi

lớn trong lĩnh vực giáo dục. Các hoạt động giáo dục như chấm điểm hay dạy kèm học

sinh có thể được tự động hóa nhờ công nghệ AI. Nhiều trò chơi, phần mềm giáo dục ra

đời đáp ứng nhu cầu cụ thể của từng học sinh, giúp học sinh cải thiện tình hình học tập

theo tốc độ riêng của mình. Trí tuệ nhân tạo còn có thể chỉ ra những vấn đề mà các

khóa học cần phải cải thiện. Chẳng hạn như khi nhiều học sinh được phát hiện là gửi

đáp án sai cho bài tập, hệ thống sẽ thông báo cho giáo viên đồng thời gửi thông điệp

đến học sinh để chỉnh sửa đáp án phù hợp. Công nghệ AI còn có khả năng theo dõi sự

tiến bộ của học sinh và thông báo đến giáo viên khi phát hiện ra vấn đề đối với kết quả

học tập của học sinh.

Hình 8: Ứng dụng công nghệ trí tuệ nhân tạo ROBOT trong day học

Page 38: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

38

Hơn nữa, sinh viên còn có thể học hỏi từ bất cứ nơi nào trên thế giới thông qua

việc sử dụng những phần mềm có hỗ trợ AI. Công nghệ AI cũng cung cấp dữ liệu

nhằm giúp sinh viên lựa chọn được những khóa học tốt nhất cho mình.

(5) Trong truyền thông: Đối với lĩnh vực truyền thông, sự phát triển của trí tuệ

nhân tạo góp phần làm thay đổi cách thức tiếp cận đối với khách hàng mục tiêu. Nhờ

những ưu điểm của công nghệ AI, các công ty có thể cung cấp quảng cáo vào đúng

thời điểm, đúng khách hàng tiềm năng, dựa trên việc phân tích các đặc điểm về nhân

khẩu học, thói quen hoạt động trực tuyến và những nội dung mà khách hàng thường

xem trên quảng cáo.

(6) Trong ngành dịch vụ: Công nghệ AI giúp ngành dịch vụ hoạt động tối ưu

hơn và góp phần mang đến những trải nghiệm mới mẻ hơn và tốt hơn cho khách

hàng. Thông qua việc thu thập và phân tích dữ liệu, công nghệ AI có thể nắm bắt

thông tin về hành vi sử dụng dịch vụ của khách hàng, từ đó mang lại những giải pháp

phù hợp với nhu cầu của từng khách hàng [2,7,9].

3. Tổng quan về học máy [6-9, 16-17, 21-23]

3.1. Học máy (Machine Learning)

Là một bộ phận của của trí tuệ nhân tạo (AI), các hệ thống mà sau khi được

cung cấp một lượng dữ liệu và thực hiện một hoặc một số thao tác dựa trên những dữ

liệu đã được cung cấp để máy có thể học. Machine Learning thường được dùng trong

việc xử lý các tác vụ tương tự con người mà khó có thể mô phỏng thành công thức cụ

thể, ví dụ như nhận diện, đánh giá lựa chọn, ...

3.2. Ứng dụng học máy

Học máy thường được áp dùng trong việc xử lý các tác vụ tương tự con người

mà khó có thể mô phỏng thành công thức cụ thể, ví dụ như nhận diện, đánh giá lựa

chọn,...

3.3. Các phương thức về máy học

- Học có giám sát (dạy học): Học có giám sát là một hướng tiếp cận của máy

học để làm cho máy tính có khả năng "học". Trong hướng tiếp cận này, người ta "huấn

luyện" máy tính dựa trên những quan sát có dán nhãn. Ta có thể hình dung những quan

sát này như là những câu hỏi, và nhãn của chúng là những câu trả lời. Ý tưởng của học

có giám sát là: bằng việc ghi nhớ và tổng quát hóa một số quy tắc từ một tập câu hỏi

Page 39: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

39

có đáp án trước, máy tính sẽ có thể trả lời được những câu hỏi dù chưa từng gặp phải,

nhưng có mối liên quan.

Ví dụ ta dạy máy tính "1 + 1 = 2" và hy vọng nó sẽ học được phép tính cộng

x + 1 và trả lời được là "2 + 1 = 3". Học có giám sát mô phỏng việc con người học

bằng cách đưa ra dự đoán của mình cho một câu hỏi, sau đó đối chiếu với đáp án. Sau

đó con người rút ra phương pháp để trả lời đúng không chỉ câu hỏi đó, mà cho những

câu hỏi có dạng tương tự. Trong học có giám sát, các quan sát bắt buộc phải được dán

nhãn trước. Đây chính là một trong những nhược điểm của phương pháp này, bởi vì

không phải lúc nào việc dán nhãn chính xác cho quan sát cũng dễ dàng. Ví dụ như

trong dịch thuật, từ một câu của ngôn ngữ gốc có thể dịch thành rất nhiều phiên bản

khác nhau trong ngôn ngữ cần dịch sang. Tuy nhiên, việc quan sát được dán nhãn cũng

lại chính là ưu điểm của học có giám sát bởi vì một khi đã thu thập được một bộ dữ

liệu lớn được dán nhãn chuẩn xác, thì việc huấn luyện trở nên dễ dàng hơn rất nhiều so

với khi dữ liệu không được dán nhãn.

Hình 9: Phương thức học có giám sát

Ví dụ: Trong nhận dạng chữ viết tay, ta có ảnh của hàng nghìn ví dụ của mỗi

chữ số được viết bởi nhiều người khác nhau. Chúng ta đưa các bức ảnh này vào trong

một thuật toán và chỉ cho nó biết mỗi bức ảnh tương ứng với chữ số nào. Sau khi thuật

toán tạo ra một mô hình, tức một hàm số mà đầu vào là một bức ảnh và đầu ra là một

chữ số, khi nhận được một bức ảnh mới mà mô hình chưa nhìn thấy bao giờ, nó sẽ dự

đoán bức ảnh đó chứa chữ số nào.

Page 40: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

40

Hình 10: Hình mô tả chữ viết tay

Ví dụ này khá giống với cách học của con người khi còn nhỏ. Ta đưa bảng chữ

cái cho một đứa trẻ và chỉ cho chúng đây là chữ A, đây là chữ B. Sau một vài lần được

dạy thì trẻ có thể nhận biết được đâu là chữ A, đâu là chữ B trong một cuốn sách mà

chúng chưa nhìn thấy bao giờ

- Học không giám sát (tự học): Trong thuật toán này, chúng ta không biết

được dữ liệu đầu ra hay nhãn mà chỉ có dữ liệu đầu vào. Thuật toán Học không giám

sát dựa vào cấu trúc của dữ liệu để thực hiện một công việc nào đó, ví dụ như phân

nhóm hoặc giảm số chiều của dữ liệu để thuận tiện trong việc lưu trữ và tính toán.

Một cách toán học, Học không giám sát là khi chúng ta chỉ có dữ liệu vào X mà không

biết nhãn Y tương ứng. Những thuật toán loại này được gọi là Học không giám sát vì

không giống như Học có giám sát, 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. Giống như khi ta học, không có thầy cô giáo nào chỉ cho ta biết đó là

chữ A hay chữ B. Cụm không giám sát được đặt tên theo nghĩa này.

Hình 11: Phương thức học không giám sát về bài toán phân cụm

- Học bán giám sát (vừa học vừa tự học): Nằm ở đâu đó giữa học tập được giám

sát và không giám sát, vì chúng sử dụng cả dữ liệu được gắn nhãn và không dán nhãn

để đào tạo - thường là một lượng nhỏ dữ liệu có nhãn và một lượng lớn dữ liệu không

được dán nhãn. Các hệ thống sử dụng phương pháp này có thể cải thiện đáng kể độ

Page 41: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

41

chính xác của việc học. Thông thường, việc học bán giám sát được chọn khi dữ liệu

được dán nhãn được yêu cầu đòi hỏi tài nguyên có kỹ năng và có liên quan để đào

tạo/học hỏi từ nó. Nếu không, dữ liệu được gắn nhãn thường không yêu cầu tài nguyên

bổ sung.

Hình 12: Phương thức học bán giám sát

4. Các giải thuật về máy học [16-17, 21-23]

4.1. Giải thuật Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN)

- Mạng nơ-ron nhân tạo là sự mô phỏng chức năng của hệ thần kinh con người

với vô số các nơ-ron được liên kết và truyền thông với nhau. Giống như mạng nơ-ron

của não người, ANN học và lưu những kinh nghiệm và sử dụng trong những tình

huống phù hợp. Mạng nơ-ron đã áp dụng thành công trong nhiều vấn đề liên quan đến

dự báo, phân loại và điều khiển thuộc nhiều lĩnh vực khác nhau, như tài chính, y tế, địa

chất và vật lý. Ví dụ như khả năng nhận dạng mặt người, dự báo thời tiết và thiên tai,

tự động điều khiển hệ thống lái tàu, hệ thống dự báo sự cố, v.v.

- Kiến trúc chung của một mạng nơ-ron nhân tạo gồm 3 thành phần đó là: input

layer, hidden layer và output layer. Trong đó, hidden layer gồm các thần kinh nhận dữ

liệu input từ các neural ở lớp trước đó và chuyển đổi các input này cho các lớp xử lý

tiếp theo. Trong một ANN có thể có nhiều lớp ẩn.

Hình 13: Minh họa mạng nơ-ron nhân tạo 3 lớp

Page 42: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

42

- Quá trình xử lý thông tin của một mạng nơ-ron nhân tạo liên quan đến:

(1) Lớp Inputs: Dữ liệu nhập tương ứng các thuộc tính của dữ liệu.

(2) Lớp Outputs: Kết quả là một giải pháp cho một vấn đề.

(3) Lớp Weights: Trọng số liên kết là thành phần quan trọng thể hiện

mức độ quan trọng (độ mạnh) của dữ liệu nhập đối với quá trình xử lý thông tin (quá

trình chuyển đổi dữ liệu từ lớp này sang lớp khác). Quá trình học của ANN thực ra là

quá trình điều chỉnh các trọng số của các dữ liệu nhập để có được kết quả mong muốn.

Trong đó:

(1) Summation Function: hàm tổng tính tổng trọng số của tất cả các dữ liệu

nhập đưa vào mỗi neural. Hàm tổng của một nơ-ron đối với n dữ liệu nhập được tính

theo công thức sau:

1

n

i iiY X W

(2) Transfer Function: hàm tổng của một neural cho biết khả năng kích hoạt của

neural đó, còn gọi là kích hoạt bên trong. Các nơ-ron này có thể sinh ra một kết quả

hoặc không (nói cách khác rằng có thể kết quả của 1 neural có thể được chuyển đến

lớp tiếp trong mạng nơ-ron hoặc không). Mối quan hệ giữa kích hoạt bên trong và kết

quả được thể hiện bằng hàm chuyển đổi (Transfer Function). Việc lựa chọn hàm

chuyển đổi có tác động lớn đến kết quả của một mạng nơ-ron nhân tạo. Hàm chuyển

đổi phi tuyến được sử dụng phổ biến là hàm sigmoid Yt = 1/ (1+e-y), trong đó yt là hàm

chuyển đổi và y là hàm tổng.

(3) Kết quả xử lý tại các nơ-ron đôi khi rất lớn, vì vậy hàm chuyển đổi được sử

dụng để xử lý kết quả này trước khi chuyển đến lớp tiếp theo. Đôi khi thay vì sử dụng

hàm chuyển đổi người ta sử dụng giá trị ngưỡng để kiểm soát các kết quả của các

neural tại một lớp nào đó trước khi chuyển các kết quả này đến các lớp tiếp theo. Nếu

kết quả của một nơ-ron nào đó nhỏ hơn giá trị ngưỡng thì nó sẽ không được chuyển

đến lớp tiếp theo. Kiến thức nền tảng này tham khảo từ tài liệu [5].

4.2. Giải thuật dựa vào thể thức (K-nearest neighbors - KNN)

K-nearest neighbor là một trong những thuật toán học có giám sát đơn giản

nhất (mà hiệu quả trong một vài trường hợp) trong các kỹ thuật học máy. Khi huấn

luyện, thuật toán này không học một điều gì từ dữ liệu huấn luyện (đây cũng là lý do

thuật toán này được xếp vào loại lười học), mọi tính toán được thực hiện khi nó cần dự

Page 43: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

43

đoán kết quả của dữ liệu mới. KNN có thể áp dụng được vào cả hai loại của bài toán

học có giám sát là phân loại và hồi quy.

Với KNN, trong bài toán phân loại, nhãn của một điểm dữ liệu mới được suy ra

trực tiếp từ K điểm dữ liệu gần nhất trong tập dữ liệu huấn luyện. Nhãn của một dữ

liệu kiểm định có thể được quyết định bằng bầu chọn theo số phiếu giữa các điểm gần

nhất, hoặc nó có thể được suy ra bằng cách đánh trọng số khác nhau cho mỗi điểm gần

nhất đó rồi suy ra nhãn. Trong bài toán hồi quy, kết quả của một điểm dữ liệu sẽ bằng

chính kết quả của điểm dữ liệu đã biết gần nhất (trong trường hợp K=1), hoặc là trung

bình trọng số của kết quả của những điểm gần nhất, hoặc bằng một mối quan hệ dựa

trên khoảng cách tới các điểm gần nhất đó.

Một cách ngắn gọn, KNN là thuật toán đi tìm kết quả của một điểm dữ liệu mới

bằng cách chỉ dựa trên thông tin của K điểm dữ liệu trong tập dữ liệu huấn luyện gần

nó nhất (K-lân cận), không quan tâm đến việc có một vài điểm dữ liệu trong những

điểm gần nhất này là nhiễu.

Ví dụ hình 14 là bài toán phân loại với 3 lớp: Đỏ, Lam, Lục. Mỗi điểm dữ liệu

kiểm chứng sẽ được gán nhãn theo màu của điểm mà nó thuộc về. Trong hình này, có

một vài vùng nhỏ xem lẫn vào các vùng lớn hơn khác màu. Ví dụ có một điểm màu

Lục ở gần góc 11 giờ nằm giữa hai vùng lớn với nhiều dữ liệu màu Đỏ và Lam. Điểm

này rất có thể là nhiễu, dẫn đến nếu dữ liệu kiểm chứng rơi vào vùng này sẽ có nhiều

khả năng cho kết quả không chính xác. Kiến thức nền tảng này tham khảo từ tài liệu.

Hình 14: Bản đồ 1NN

4.3. Giải thuật cây quyết định (Decision tree)

Trong lý thuyết quyết định, một cây quyết định là một đồ thị của các quyết định

và các hậu quả có thể của nó (bao gồm rủi ro và hao phí tài nguyên). Cây quyết định

được sử dụng để xây dựng một kế hoạch nhằm đạt được mục tiêu mong muốn. Các

Page 44: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

44

cây quyết định được dùng để hỗ trợ quá trình ra quyết định. Cây quyết định là một

dạng đặc biệt của cấu trúc cây.

Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo, nghĩa là

một ánh xạ từ các quan sát về một sự vật hoặc hiện tượng tới các kết luận về giá trị

mục tiêu của sự vật hoặc hiện tượng. Mỗi một nút trong tương ứng với một biến;

đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó. Mỗi nút

lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến

được biểu diễn bởi đường đi từ nút gốc tới nút lá đó. Kỹ thuật học máy dùng trong cây

quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là

cây quyết định.

Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá

dữ liệu. Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho

các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại

đó. Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập

con dựa theo một kiểm tra giá trị thuộc tính. Quá trình này được lặp lại một cách đệ

quy cho mỗi tập con dẫn xuất. Quá trình đệ quy hoàn thành khi không thể tiếp tục thực

hiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần

tử của tập con dẫn xuất. Một bộ phân loại rừng ngẫu nhiên sử dụng một số cây quyết

định để có thể cải thiện tỷ lệ phân loại.

Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tính toán

các xác suất có điều kiện. Cây quyết định có thể được mô tả như là sự kết hợp của các

kỹ thuật toán học và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một

tập dữ liệu cho trước. Dữ liệu được cho dưới dạng các bản ghi có dạng: (x, y) = (x1, x2,

x3..., xk, y), trong đó, biến phụ thuộc y là biến cần tìm hiểu, phân loại hay tổng quát

hóa và x1, x2, x3... là các biến thực hiện công việc đó. Kiến thức nền tảng này tham

khảo từ tài liệu [7].

4.4. Giải thuật Random forest (RF)

Rừng ngẫu nhiên là một thuật toán học có giám sát sử dụng một tập hợp của

các cây quyết định, trong đó mỗi cây được chọn ngẫu nhiện dựa theo thuật toán. Rừng

ngẫu nhiên hoạt động bằng cách đánh giá nhiều cây quyết định ngẫu nhiên và chọn ra

cây quyết định có kết quả được đánh giá tốt nhất trong số cây quyết định trả về. Điểm

mạnh của rừng ngẫu nhiên là có thể sử dụng cho cả bài toán phân loại và hồi qui, làm

Page 45: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

45

việc được với tập dữ liệu không đầy đủ, và có thể tránh được việc huấn luyện quá

mức.

Quá trình phát triển cây quyết định sử dụng các thuộc tính của tập dữ liệu đầu

vào. Giá trị thuộc tính có thể là liệt kê hoặc liên tục. Quá trình này sử dụng các luật

chia entropy để chọn sự phân chia tốt nhất giữa tất cả các khả năng phân chia của mỗi

thuộc tính. Kết quả của sự phân chia này là 2 tập con thuộc tính. Mỗi sự phân chia phụ

thuộc vào giá trị của chỉ 1 thuộc tính. Quá trình này bắt đầu với nút gốc của cây và lặp

theo 3 bước đối với mỗi nút để phát triển cây như hình 15 bên trái.

Hình 15: Quá trình phát triển cây (bên trái) và rừng ngẫu nhiên (bên phải)

Bước đầu tiên là tìm sự phân chia tốt nhất cho mỗi thuộc tính. Do giá trị thuộc

tính có thể được tính toán và sắp xếp để kiểm tra các khả năng phân chia, sự phân chia

tốt nhất cực đại các tiêu chí cho trước. Bước thứ hai là tìm sự phân chia tốt nhất của

nút trong số các khả năng phân chia trong bước thứ nhất. Sự phân chia tốt nhất cũng

cực đại các tiêu chí cho trước. Bước thứ ba phân chia nút sử dụng sự phân chia tốt nhất

tìm thấy trong bước thứ hai. Quá trình này lặp lại cho đến khi các luật ngừng thỏa mãn

và tạo ra 1 cây quyết định.

Quá trình phát triển cây quyết định là một trong các bước quan trọng trong quá

trình phát triển rừng ngẫu nhiên như hình 15 bên phải. Tập dữ liệu đầu vào được chia

ngẫu nhiên thành tập dữ liệu huấn luyện và tập dữ liệu kiểm tra. Tập huấn luyện được

dùng để phát triển thành cây quyết định. Tập kiểm tra được dùng để đánh giá và chọn

lựa cây quyết định nếu có kết quả đạt ngưỡng cho trước. Quá trình này lặp lại cho đến

Page 46: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

46

khi lựa chọn được một số cây quyết định đạt yêu cầu. Kiến thức nền tảng này tham

khảo từ tài liệu [8, 9].

4.5. Giải thuật máy hỗ trợ vector (Support vector machine - SVM)

Máy vectơ hỗ trợ là một khái niệm trong thống kê và khoa học máy tính cho

một tập hợp các phương pháp học có giám sát liên quan đến nhau để phân loại và phân

tích hồi quy. SVM dạng chuẩn nhận dữ liệu vào và phân loại chúng vào hai lớp khác

nhau. Do đó SVM là một thuật toán phân loại nhị phân. Với một bộ các ví dụ luyện

tập thuộc hai thể loại cho trước, thuật toán luyện tập SVM xây dựng một mô hình

SVM để phân loại các ví dụ khác vào hai thể loại đó. Một mô hình SVM là một cách

biểu diễn các điểm trong không gian và lựa chọn ranh giới giữa hai thể loại sao cho

khoảng cách từ các ví dụ luyện tập tới ranh giới là xa nhất có thể. Các ví dụ mới cũng

được biểu diễn trong cùng một không gian và được thuật toán dự đoán thuộc một trong

hai thể loại tùy vào ví dụ đó nằm ở phía nào của ranh giới.

Một máy vectơ hỗ trợ xây dựng một siêu phẳng hoặc một tập hợp các siêu

phẳng trong một không gian nhiều chiều hoặc vô hạn chiều, có thể được sử dụng cho

phân loại, hồi quy, hoặc các nhiệm vụ khác. Một cách trực giác, để phân loại tốt nhất

thì các siêu phẳng nằm ở càng xa các điểm dữ liệu của tất cả các lớp (gọi là hàm lề)

càng tốt, vì nói chung lề càng lớn thì sai số tổng quát hóa của thuật toán phân loại càng

bé.

Trong nhiều trường hợp, không thể phân chia các lớp dữ liệu một cách tuyến

tính trong một không gian ban đầu được dùng để mô tả một vấn đề. Vì vậy, nhiều khi

cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào một không gian mới

nhiều chiều hơn, để việc phân tích chúng trở nên dễ dàng hơn trong không gian mới.

Để việc tính toán được hiệu quả, ánh xạ sử dụng trong thuật toán SVM chỉ đòi hỏi tích

vô hướng của các vectơ dữ liệu trong không gian mới có thể được tính dễ dàng từ các

tọa độ trong không gian cũ. Tích vô hướng này được xác định bằng một hàm hạt nhân

K(x,y) phù hợp. Một siêu phẳng trong không gian mới được định nghĩa là tập hợp các

điểm có tích vô hướng với một vectơ cố định trong không gian đó là một hằng số.

Vectơ xác định một siêu phẳng sử dụng trong SVM là một tổ hợp tuyến tính của các

vectơ dữ liệu luyện tập trong không gian mới với các hệ số αi. Với siêu phẳng lựa

chọn như trên, các điểm x trong không gian đặc trưng được ánh xạ vào một siêu mặt

phẳng là các điểm thỏa mãn: ( , )i ii

K x x là hằng số. Ghi chú rằng nếu K(x,y) nhận

Page 47: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

47

giá trị ngày càng nhỏ khi y xa dần khỏi x thì mỗi số hạng của tổng trên được dùng để

đo độ tương tự giữa x với điểm xitương ứng trong dữ liệu huấn luyện. Như vậy, tác

dụng của tổng trên chính là so sánh khoảng cách giữa điểm cần dự đoán với các điểm

dữ liệu đã biết. Lưu ý là tập hợp các điểm x được ánh xạ vào một siêu phẳng có thể có

độ phức tạp tùy ý trong không gian ban đầu, nên có thể phân tích các tập hợp thậm chí

không lồi trong không gian ban đầu. Kiến thức nền tảng này tham khảo từ tài liệu [10].

4.6. Giải thuật Naive Bayes (NB)

Xét bài toán phân loại với C lớp 1, 2, ..., C. Giả sử có một điểm dữ liệu x Rd.

Tính xác suất để điểm dữ liệu này rơi vào lớp c:

p(y = c|x) hoặc p(c|x) (1).

Tức là tính xác suất để đầu ra là lớp c biết rằng đầu vào là vector x.

Biểu thức này, nếu tính được, giúp xác định được xác suất để điểm dữ liệu rơi

vào mỗi lớp. Từ đó có thể giúp xác định lớp của điểm dữ liệu đó bằng cách chọn ra lớp

có xác suất cao nhất:

c = arg maxc {1,...,C}p(c|x) (2).

Biểu thức (2) thường tính bằng quy tắc Bayes:

c = arg maxcp(c|x) = arg maxcp(x|c)p(c)/p(x) = arg maxcp(x|c)p(c) (3).

do mẫu số p(x) không phụ thuộc vào c. Tiếp tục xét biểu thức (3), p(c) có thể

được hiểu là xác suất để một điểm rơi vào class c. Giá trị này có thể được tính bằng

phương pháp MLE (maximum likelihood estimation), tức tỷ lệ số điểm dữ liệu trong

tập huấn luyện rơi vào lớp này chia cho tổng số lượng dữ liệu trong tập huấn luyện,

hoặc cũng có thể được đánh giá bằng phương pháp MAP (maximum a posteriori).

Thành phần còn lại p(x|c), tức phân phối của các điểm dữ liệu trong lớp c,

thường rất khó tính toán vì x là một biến ngẫu nhiên nhiều chiều, cần rất nhiều dữ liệu

huấn luyện để có thể xây dựng được phân phối đó. Việc tính toán được đơn giản bằng

cách giả sử rằng các thành phầncủa biến ngẫu nhiên x là độc lập với nhau, nếu biết c:

p(x|c) = p(x1,...,xd|c) =)กdi=1 p(xi|c) (4).

Giả thiết các chiều của dữ liệu độc lập với nhau, nếu biết c, là quá chặt và ít khi

tìm được dữ liệu mà các thành phần hoàn toàn độc lập với nhau. Tuy nhiên, giả thiết

này lại mang lại những kết quả tốt bất ngờ với tốc độ huấn luyện và kiểm tra nhanh

phù hợp với bài toán có dữ liệu đầu vào lớn, vì vậy phương pháp xác định lớp của dữ

liệu dựa trên giả thuyết này được gọi là Naive Bayes.

Page 48: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

48

Ở bước huấn luyện, các phân phối p(xi|c), i=1,...d sẽ được xác định dựa vào tập

dữ liệu huấn luyện. Việc xác định các giá trị này có thể dựa vào phương pháp MLE

hoặc MAP. Ở bước kiểm tra, lớp của một điểm dữ liệu mới x sẽ được xác định bởi:

c = arg maxc €{1,..,c}p(c)กdi=1 p(xi|c) (5).

Khi áp dụng vào bài toán thực tế với d lớn và các xác suất nhỏ, biểu thức ở vế phải của

(5) sẽ là một số rất nhỏ, khi tính toán có thể gặp sai số. Để giải quyết việc này, biểu

thức (5) thường được viết lại dưới dạng tương đương bằng cách lấy log của vế phải.

Biểu thức p(c), c=1,...,c có thể được xác định như là tần suất xuất hiện của lớp trong

tập dữ liệu huấn luyện. Việc tính toán p(xi|c) phụ thuộc vào loại dữ liệu. Có ba loại

được sử dụng phổ biến là: Gaussian Naive Bayes, Multinomial Naive Bayes, và

Bernoulli Naïve[6].

4.7. Giải thuật phân cụm K-means clustering

Thuật toán K-means clustering (phân cụm K-means) thuộc lớp phương pháp

Học không giám sát (Unsupervised Learning) trong học máy (Machine Learning). Có

rất nhiều định nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể hiểu phân

cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các cụm (clusters), sao

cho các đối tượng trong cùng 1 cụm tương tự (similar) nhau và các đối tượng khác

cụm thì không tương tự (Dissimilar) nhau.

Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm của dữ liệu. Các

thuật toán phân cụm (Clustering Algorithms) đều sinh ra các cụm (clusters). Tuy

nhiên, không có tiêu chí nào là được xem là tốt nhất để đánh giá hiệu quả của của phân

tích phân cụm, điều này phụ thuộc vào mục đích của phân cụm như: data reduction,

“natural clusters”, “useful” clusters, outlier detection.

K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật

phân cụm. Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối

tượng (objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, K nguyên

dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm

(centroid) là nhỏ nhất.

Page 49: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

49

Mô tả thuật toán K-Means được mô tả như sau:

Thuật toán K-Means thực hiện qua các bước chính sau:

(1) Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster). Mỗi cụm được đại

diện bằng các tâm của cụm.

(2) Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng

khoảng cách Euclidean).

(3) Nhóm các đối tượng vào nhóm gần nhất.

(4) Xác định lại tâm mới cho các nhóm.

(5) Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của các

đối tượng.

5. Kỹ thuật áp dụng cho phát hiện, nhận dạng đối tượng [16-17, 21-23, 26-27]

5.1. Kỹ thuật phát hiện đối tượng kết hợp nhận dạng khuôn mặt (Viola

Jones – Haar)

Kỹ thuật phát hiện đối tượng Viola-Jones là một trong những kỹ thuật có tỷ lệ

phát hiện đối tượng thời gian thực cao. Kỹ thuật này có thể được huấn luyện để phát

hiện nhiều loại đối tượng, nhưng chủ yếu tập trung vào nhận dạng khuôn mặt. Vấn đề

Bắt đầu

Số Cụm K

Tâm của cụm K

Khoảng cách các đối tượng đến tâm K

Nhóm các đối tượng dựa trên khoảng cách

nhỏ nhất

Không có đối tượng di chuyển đến

nhóm

Kết thúc

S

Page 50: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

50

cần giải quyết là phát hiện khuôn mặt trong ảnh. Con người có thể làm điều này một

cách dễ dàng, nhưng máy tính cần các hướng dẫn và ràng buộc chính xác. Để làm cho

nhiệm vụ dễ thực hiện hơn, kỹ thuật Viola-Jones yêu cầu phải nhìn trực diện, toàn bộ

khuôn mặt phải hướng về phía máy ảnh và không được nghiêng sang hai bên. Các

ràng buộc này có thể làm giảm phần nào tiện ích của thuật toán, bởi vì bước phát hiện

thường được thực hiện theo sau bước nhận biết, nhưng trong thực tế, các giới hạn này

về tư thế là hoàn toàn chấp nhận được. Một số ưu điểm của kỹ thuật này là:

(1) Chính xác: tỷ lệ phát hiện đúng rất cao.

(2) Thời gian thực: xử lý ít nhất 2 khung hình mỗi giây đối với các ứng dụng

thực tế.

(3) Chỉ phát hiện khuôn mặt và không nhận dạng: tập trung phân biệt khuôn

mặt.

(4) Thuật toán có bốn giai đoạn:

- Lựa chọn đặc trưng Haar.

- Tạo một hình ảnh tích hợp.

- Huấn luyện Adaboost.

- Phân loại xếp tầng.

Các đặc trưng được kỹ thuật phát hiện tìm kiếm liên quan đến tổng các điểm

ảnh trong các khu vực hình chữ nhật. Như vậy, chúng có một số điểm tương đồng với

các hàm cơ sở Haar, đã được sử dụng trước đây trong việc phát hiện đối tượng dựa

trên hình ảnh. Tuy nhiên, vì các đặc trưng được Viola và Jones sử dụng đều phụ thuộc

vào nhiều hơn một khu vực hình chữ nhật, nên chúng thường phức tạp hơn. Hình 16

minh họa bốn loại đặc trưng khác nhau được sử dụng trong kỹ thuật phát hiện. Giá trị

của bất kỳ đặc trưng bằng tổng các điểm ảnh trong hình chữ nhật trừ đi tổng các điểm

ảnh trong hình chữ nhật được tô bóng. Các loại đặc trưng hình chữ nhật này là đầu tiên

khi so sánh với các lựa chọn thay thế, ví dụ như bộ lọc ổn định. Mặc dù chúng nhạy

cảm với các đặc trưng dọc và ngang, thông tin phản hồi của chúng khá chung và đơn

giản.

Page 51: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

51

Hình 16: Bốn loại đặc trưng khu vực hình chữ nhật dùng trong kỹ thuật phát hiện

Đặc trưng Haar: Khuôn mặt của con người thường có những đặc trưng tương

tự, được kết hợp theo một số quy tắc này gọi là đặc trưng Haar. Một vài đặc trưng

chung cho khuôn mặt người: vùng mắt tối hơn vùng má trên hay vùng mũi sống sáng

hơn mắt. Thành phần các đặc trưng hình thành các đặc điểm khuôn mặt phù hợp: vị trí

và kích thước của mắt, miệng, sống mũi, và giá trị độ dốc định hướng của cường độ

điểm ảnh.

Bốn đặc trưng phù hợp với giải thuật này được tìm kiếm trong hình ảnh của

khuôn mặt như Hình 17. Các đặc trưng hình chữ nhật:

(1) Giá trị = Σ(điểm ảnh ở vùng đen) - Σ(điểm ảnh ở vùng trắng)

(2) Ba loại: hai, ba, bốn hình chữ nhật, Viola-Jones đã sử dụng các đặc trưng

hai hình chữ nhật

(3) Ví dụ sự khác biệt về độ sáng giữa các hình chữ nhật trắng và đen trên một

khu vực cụ thể

(4) Mỗi đặc trưng có liên quan đến một vị trí đặc biệt trong khung cửa sổ phụ.

Hình 17: Đặc trưng Haar tương ứng ảnh thực tế

Hình 17 cho ta thấy đặc trưng Haar trông giống như sống mũi được áp dụng

trên khuôn mặt (hình trên); Đặc trưng Haar trông tương tự như vùng mắt tối hơn má

trên được áp dụng trên khuôn mặt (hình giữa); Loại thứ 3 và thứ 4 của đặc trưng Haar.

Page 52: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

52

Một biểu diễn hình ảnh được gọi là hình ảnh tích hợp đánh giá các đặc trưng

hình chữ nhật trong khoảng thời gian xác định, điều này mang lại lợi thế tốc độ đáng

kể so với các đặc trưng thay thế phức tạp hơn. Bởi vì khung hình chữ nhật của mỗi đặc

trưng luôn liền kề với ít nhất một hình chữ nhật khác, do đó, bất kỳ đặc trưng hai hình

chữ nhật nào cũng có thể được tính toán bởi sáu tham chiếu mảng, bất kỳ đặc trưng ba

hình chữ nhật nào cũng có thể được tính toán bởi tám tham chiếu mảng và bất kỳ đặc

trưng bốn hình chữ nhật nào cũng có thể được tính toán bởi chín tham chiếu mảng.

Việc phát hiện các đối tượng chuyển động không cần phải áp dụng phát hiện

đối tượng cho từng khung hình. Thay vào đó, các giải thuật theo dõi có thể phát hiện

các đặc trưng nổi bật trong các hộp giới hạn phát hiện và theo dõi chuyển động giữa

các khung hình. Điều này không chỉ cải thiện tốc độ theo dõi bằng cách loại bỏ việc

phát hiện lại các đối tượng trong mỗi khung hình mà còn cải thiện độ chính xác, vì các

đặc trưng nổi bật có khả năng phục hồi tốt hơn so với kỹ thuật phát hiện Viola-Jones

đối với những thay đổi xoay.

5.2. Kỹ thuật biến đổi đặc trưng bất biến theo tỷ lệ (Scale-invariant feature

transform - SIFT)

Kỹ thuật biến đổi đặc trưng bất biến tỷ lệ (SIFT) là kỹ thuật phát hiện đặc trưng

trong thị giác máy tính dùng phát hiện và mô tả các đặc trưng cục bộ trong hình ảnh.

Các ứng dụng bao gồm nhận dạng đối tượng, lập bản đồ và điều hướng robot, mô

phỏng đối tượng 3D, nhận dạng cử chỉ, theo dõi video, nhận dạng cá thể động vật

hoang dã.

Những điểm chính của các đối tượng SIFT đầu tiên được trích xuất từ một tập

hợp các hình ảnh tham chiếu và được lưu trữ trong cơ sở dữ liệu. Một đối tượng được

nhận dạng trong một hình ảnh mới bằng cách so sánh riêng từng đặc trưng từ hình ảnh

mới với cơ sở dữ liệu này và tìm các ảnh ứng viên có đặc trưng phù hợp dựa trên

khoảng cách Euclide của các vectơ đặc trưng của chúng. Từ tập hợp đầy đủ các ứng

viên phù hợp, các tập hợp con của các điểm chính phù hợp về đối tượng và vị trí, tỷ lệ

và hướng của nó trong hình ảnh mới được xác định để lọc ra các kết quả phù hợp hơn.

Việc xác định các cụm đồng nhất được thực hiện nhanh chóng bằng cách sử dụng bảng

băm hiệu quả của biến đổi Hough tổng quát. Mỗi cụm gồm 3 đặc trưng trở lên phù hợp

một đối tượng và tư thế sau đó được xác minh mô hình chi tiết hơn và các ngoại lệ bị

loại bỏ tiếp theo. Cuối cùng, xác suất mà một bộ đặc trưng cụ thể chỉ ra sự hiện diện

Page 53: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

53

của một đối tượng được tính toán, với độ chính xác của sự phù hợp và xác suất phù

hợp sai có thể xảy ra. Đối tượng phù hợp vượt qua tất cả các thử nghiệm này có thể

được xác định chính xác với độ tin cậy cao [14].

Hình 18: Kết quả của thuật toán SIFT

Hình 18 cho ta thấy sau khi phát hiện điểm cực trị không gian tỷ lệ (vị trí của

chúng được hiển thị ở hình trên cùng), thuật toán SIFT sẽ loại bỏ các điểm chính có độ

tương phản thấp (các điểm còn lại được hiển thị trong hình ảnh ở giữa) và sau đó lọc

ra các vị trí nằm trên các cạnh. Tập hợp các điểm chính được hiển thị trên hình ảnh

cuối cùng.

Phát hiện đặc trưng bất biến tỷ lệ:phương pháp Lowe để tạo đặc trưng hình ảnh

biến một hình ảnh thành một tập hợp lớn các vectơ đặc trưng, mỗi vectơ là bất biến đối

với dịch, chia tỷ lệ và xoay hình ảnh, một phần bất biến đối với các thay đổi độ sáng

và biến dạng hình học cục bộ. Các đặc trưng này có chung đặc tính với các nơ-ron

trong vỏ thị giác chính đang mã hóa các dạng cơ bản, màu sắc và chuyển động để phát

hiện đối tượng trong tầm nhìn linh trưởng. Các vị trí chính được định nghĩa là cực đại

và cực tiểu của kết quả của sự khác biệt của hàm Gaussian được áp dụng trong không

gian tỷ lệ cho một loạt các hình ảnh được làm mịn và được ghép lại. Điểm ứng cử viên

có độ tương phản thấp và điểm phản ứng cạnh dọc theo một cạnh bị loại bỏ. Định

hướng chiếm ưu thế được gán cho các điểm chính cục bộ. Các bước này đảm bảo rằng

các điểm chính ổn định hơn để phù hợp và nhận dạng. Sau đó, các mô tả SIFT mạnh

mẽ đến biến dạng affine cục bộ có được bằng cách xem xét các điểm ảnh xung quanh

bán kính của vị trí chính, làm mờ và lấy mẫu lại các mặt phẳng định hướng hình ảnh

cục bộ.

Page 54: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

54

Phù hợp và lập chỉ mục đặc trưng: lập chỉ mục bao gồm lưu trữ các khóa SIFT

và xác định các khóa khớp từ hình ảnh mới. Lowe đã sử dụng một sửa đổi của giải

thuật cây k-d được gọi là phương pháp tìm kiếm đầu tiên tốt nhất có thể xác định các

lân cận gần nhất với xác suất cao chỉ sử dụng một số lượng tính toán giới hạn. Giải

thuật BBF sử dụng thứ tự tìm kiếm được sửa đổi cho giải thuật cây k-d để các thùng

trong không gian đặc trưng được tìm kiếm theo thứ tự khoảng cách gần nhất của chúng

từ vị trí truy vấn. Thứ tự tìm kiếm này yêu cầu sử dụng hàng đợi ưu tiên dựa trên heap

để xác định hiệu quả thứ tự tìm kiếm. Kết quả phù hợp nhất cho từng điểm chính được

tìm thấy bằng cách xác định lân cận gần nhất của nó trong cơ sở dữ liệu về các điểm

chính từ hình ảnh đào tạo. Các lân cận gần nhất được định nghĩa là các điểm chính với

khoảng cách Euclide tối thiểu từ vectơ mô tả đã cho. Xác suất mà một phù hợp là

chính xác có thể được xác định bằng cách lấy tỷ lệ khoảng cách từ lân cận gần nhất với

khoảng cách của lần thứ hai gần nhất.

Lowe [14] đã từ chối tất cả các phù hợp trong đó tỷ lệ khoảng cách lớn hơn 0,8,

loại bỏ 90%các phù hợp sai trong khi loại bỏ ít hơn 5% các phù hợp chính xác. Để tiếp

tục cải thiện hiệu quả của giải thuật tìm kiếm BBF đã bị cắt bỏ sau khi kiểm tra 200

ứng cử viên lân cận gần nhất đầu tiên. Đối với cơ sở dữ liệu gồm 100.000 điểm chính,

điều này cung cấp khả năng tăng tốc so với tìm kiếm lân cận gần nhất chính xác

khoảng 2 bậc độ lớn, nhưng dẫn đến mất ít hơn 5% số lượng kết quả phù hợp chính

xác.

Nhận dạng cụm bằng cách bỏ phiếu biến đổi Hough: biến đổi Hough được sử

dụng để phân cụm các giả thuyết mô hình đáng tin cậy để tìm kiếm các khóa đồng ý

với một tư thế mô hình cụ thể. Biến đổi Hough xác định các cụm tính năng với một

diễn giải nhất quán bằng cách sử dụng từng tính năng để bỏ phiếu cho tất cả các tư thế

đối tượng phù hợp với tính năng. Khi các cụm tính năng được tìm thấy để bỏ phiếu

cho cùng một tư thế của một đối tượng, xác suất diễn giải là chính xác cao hơn nhiều

so với bất kỳ tính năng nào. Một mục trong bảng băm được tạo ra dự đoán vị trí mô

hình, định hướng và tỷ lệ từ giả thuyết khớp. Bảng băm được tìm kiếm để xác định tất

cả các cụm của ít nhất 3 mục trong một thùng và các thùng được sắp xếp theo thứ tự

giảm kích thước.

Mỗi điểm khóa SIFT chỉ định vị trí, tỷ lệ và hướng 2D và mỗi điểm khóa phù

hợp trong cơ sở dữ liệu có một bản ghi các tham số của nó so với hình ảnh huấn luyện

Page 55: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

55

được tìm thấy. Biến đổi tương tự được ngụ ý bởi 4 tham số này chỉ là xấp xỉ với không

gian đặt tự do 6 độ đầy đủ cho một đối tượng 3D và cũng không tính đến bất kỳ biến

dạng không cứng nhắc nào. Do đó, Lowe [14] đã sử dụng kích thước thùng rộng 30 độ

cho định hướng, hệ số 2 cho tỷ lệ và 0,25 lần kích thước hình ảnh huấn luyện dự kiến

tối đa (sử dụng tỷ lệ dự đoán) cho vị trí.

Các mẫu khóa SIFT được tạo ở quy mô lớn hơn được cho gấp đôi trọng lượng

của các mẫu ở quy mô nhỏ hơn. Điều này có nghĩa là quy mô lớn hơn có hiệu lực có

thể lọc các hàng xóm có khả năng nhất để kiểm tra ở quy mô nhỏ hơn. Điều này cũng

cải thiện hiệu suất nhận dạng bằng cách tăng thêm trọng lượng cho thang đo ít nhiễu

nhất. Để tránh vấn đề về hiệu ứng ranh giới trong việc gán thùng, mỗi điểm chính sẽ

bỏ phiếu cho 2 thùng gần nhất ở mỗi chiều, đưa ra tổng cộng 16 mục cho mỗi giả

thuyết và mở rộng thêm phạm vi tư thế.

Xác minh mô hình bằng bình phương tối thiểu tuyến tính: mỗi cụm được xác

định sau đó phải tuân theo một quy trình xác minh trong đó giải pháp bình phương tối

thiểu tuyến tính được thực hiện cho các tham số của phép biến đổi affine liên quan đến

mô hình với hình ảnh.Phép biến đổi affine của điểm mô hình|xy|t thành điểm hình

ảnh|uv|t có thể được viếtnhư dưới đây:

u m1m2 x tx

= + v m3m4 y ty

trong đó bản dịch mô hình là |txty|và phép quay affine, tỷ lệ và độ giãn được biểu diễn

bằng các tham số m1, m2, m3và m4. Phương trình này chỉ trình bày một phù hợp,

nhưng có thể thêm bất kỳ một số lượng phù hợp, với mỗi phù hợp đóng góp thêm hai

hàng cho ma trận đầu tiên và cuối cùng. Tối thiểu cần ba phù hợp để đưa ra một giải

pháp. Hệ phương trình tuyến tính có thể viết lại như sau:

ˆAx b

Trong đó A là ma trận m × n đã biết (m > n), x là vectơ n chiều chưa biết và b

là vectơ m chiều đã biết. Do đó, vectơ x là một nghiệm của hệ phương trình tuyến tính

bình thường.

Phát hiện ngoại lệ: các ngoại lệ hiện có thể được loại bỏ bằng cách kiểm tra sự

thỏa thuận giữa từng tính năng hình ảnh và mô hình, đưa ra giải pháp tham số. Với giải

pháp bình phương tối thiểu tuyến tính, mỗi phù hợp được yêu cầu phải đồng ý trong

phạm vi một nửa phạm vi lỗi được sử dụng cho các tham số trong các thùng biến đổi

Page 56: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

56

Hough. Khi các ngoại lệ bị loại bỏ, giải pháp bình phương tối thiểu tuyến tính được

giải lại với các điểm còn lại và quá trình lặp lại. Nếu vẫn còn ít hơn 3 điểm sau khi loại

bỏ các ngoại lệ, thì phù hợp sẽ bị từ chối. Ngoài ra, một bước phù hợp từ trên xuống

được sử dụng để thêm bất kỳ kết quả phù hợp nào phù hợp với vị trí mô hình dự kiến,

có thể bị bỏ sót từ thùng biến đổi Hough do xấp xỉ biến đổi tương tự hoặc các lỗi khác.

Quyết định cuối cùng chấp nhận hoặc từ chối một giả thuyết mô hình dựa trên

mô hình xác suất chi tiết. [15] Phương pháp này trước tiên tính toán số lượng phù hợp

sai dự kiến cho tư thế mô hình, với kích thước dự kiến của mô hình, số lượng tính

năng trong khu vực và độ chính xác của sự phù hợp. Một phân tích xác suất Bayes sau

đó đưa ra xác suất rằng đối tượng có mặt dựa trên số lượng tính năng phù hợp thực tế

được tìm thấy. Một mô hình được chấp nhận nếu xác suất cuối cùng cho một diễn giải

chính xác lớn hơn 0,98. Nhận dạng đối tượng dựa trên SIFT của Lowe.

5.3. Kỹ thuật biểu đồ độ dốc định hướng (Histogram of oriented gradients

-HOG)

Kỹ thuật biểu đồ của độ dốc định hướng (HOG) [16] là một bộ mô tả đặc trưng

được sử dụng trong thị giác máy tính và xử lý hình ảnh nhằm mục đích phát hiện đối

tượng. Kỹ thuật này đếm số lần xuất hiện của định hướng độ dốc trong các phần cục

bộ của hình ảnh. Kỹ thuật này tương tự như biểu đồ định hướng cạnh, bộ mô tả biến

đổi đặc trưng bất biến tỷ lệ và ngữ cảnh hình dạng, nhưng khác ở chỗ nó được tính

toán trên một lưới dày đặc các ô cách đều nhau và sử dụng chuẩn hóa tương phản cục

bộ chồng chéo để tăng độ chính xác. Navneet và các cộng sự trình bày đầy đủ về kỹ

thuật HOG tại hội nghị khoa học về thị giác máy tính và nhận dạng năm 2005. Đầu

tiên, họ tập trung vào phát hiện người đi bộ trong hình ảnh tĩnh, sau đó họ mở rộng thử

nghiệm phát hiện đối tượng con người trong phim ảnh, cũng như nhiều loại động vật

và phương tiện giao thông trong hình ảnh tĩnh.

Ý tưởng chính của biểu đồ bộ mô tả độ dốc định hướng là hình dạng và xuất

hiện của đối tượng cục bộ trong một hình ảnh có thể được mô tả bằng phân phối độ

dốc cường độ hay hướng cạnh. Hình ảnh được chia thành các vùng được kết nối nhỏ

gọi là các ô và đối với các điểm ảnh trong mỗi ô, một biểu đồ hướng dẫn độ dốc được

biên dịch. Bộ mô tả là sự kết hợp của các biểu đồ. Để tăng cường độ chính xác, biểu

đồ cục bộ có thể được chuẩn hóa tương phản bằng cách tính toán cường độ trên một

vùng lớn hơn của hình ảnh, được gọi là khối, và sau đó sử dụng giá trị này để chuẩn

Page 57: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

57

hóa tất cả các ô trong khối. Sự chuẩn hóa này dẫn đến sự bất biến tốt hơn đối với

những thay đổi do độ sáng và bóng hình.

Bộ mô tả HOG có một số lợi thế chính so với các bộ mô tả khác. Vì hoạt động

trên các ô cục bộ, bộ mô tả bất biến đối với các phép biến đổi hình học, ngoại trừ

hướng đối tượng. Những thay đổi như vậy chỉ xuất hiện ở các khu vực không gian lớn

hơn. Hơn nữa, như Navneet và các cộng sự đã phát hiện ra, lấy mẫu không gian thô,

lấy mẫu định hướng tốt và chuẩn hóa trắc quang mạnh cục bộ cho phép chuyển động

cơ thể cá nhân của người đi bộ miễn là họ duy trì được tư thế đứng thẳng. Do đó, bộ

mô tả HOG đặc biệt phù hợp để phát hiện con người trong các hình ảnh.

Tính toán độ dốc: bước đầu tiên của tính toán trong nhiều trình phát hiện đặc

trưng trong quá trình tiền xử lý ảnh là đảm bảo giá trị gamma và màu được chuẩn hóa.

Tuy nhiên, như Navneet và các cộng sự chỉ ra, bước này có thể được bỏ qua trong tính

toán bộ mô tả HOG, vì việc chuẩn hóa mô tả tiếp theo về cơ bản đạt được kết quả

tương tự. Xử lý trước hình ảnh cung cấp ít ảnh hưởng đến hiệu suất. Thay vào đó,

bước đầu tiên là tính toán các giá trị độ dốc. Phương pháp phổ biến nhất là áp dụng

đạo hàm riêng từng điểm rời rạc, tập trung vào một hoặc cả hai chiều ngang và dọc.

Cụ thể, phương pháp này yêu cầu lọc dữ liệu màu hoặc cường độ của hình ảnh với các

lõi bộ lọc sau:

|-101| & |-101|T

Phân vùng định hướng: bước thứ hai của tính toán là tạo biểu đồ ô. Mỗi điểm

trong ô tạo ra một phiếu bầu có trọng số cho kênh biểu đồ dựa trên định hướng dựa

trên các giá trị được tìm thấy trong tính toán độ dốc. Bản thân các ô có thể là hình chữ

nhật hoặc hình tròn và các kênh biểu đồ được trải đều từ 0 đến 1800 hoặc 0 đến 3600,

tùy thuộc vào độ dốc là không dấu hay không có ký hiệu. Navneet và các cộng sự nhận

thấy rằng các độ dốc không dấu được sử dụng cùng với 9 kênh biểu đồ được thực hiện

tốt nhất trong các thí nghiệm phát hiện con người. Đối với trọng số phiếu bầu, đóng

góp điểm ảnh có thể chính là độ lớn của độ dốc hoặc một số chức năng của độ lớn.

Trong các thử nghiệm, độ lớn độ dốc thường tạo ra kết quả tốt nhất. Các tùy chọn khác

cho trọng số phiếu bầu có thể bao gồm căn bậc hai hoặc bình phương của độ lớn độ

dốc [16].

Khối mô tả: để tính toán cho những thay đổi về độ chiếu sáng và độ tương

phản, độ lớn độ dốc phải được chuẩn hóa cục bộ, đòi hỏi phải nhóm các ô lại với nhau

Page 58: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

58

thành các khối lớnhơn về không gian. Bộ mô tả HOG là vectơ nối của các thành phần

của biểu đồ ô đã chuẩn hóa từ tất cả các vùng khối. Các khối này thường chồng lấp lên

nhau, có nghĩa là mỗi ô đóng góp nhiều lần cho bộ mô tả cuối cùng. Hai hình khối

chính tồn tại là khối R-HOG hình chữ nhật và khối C-HOG tròn. Các khối R-HOG

thường là các ô vuông, được biểu thị bằng ba tham số: số lượng ô trên mỗi khối, số

điểm ảnh trên mỗi ô và số kênh trên biểu đồ ô. Trong thử nghiệm phát hiện đối tượng

con người của Navneet và các cộng sự, các tham số tối ưu được tìm thấy là bốn ô 8×8

điểm ảnh trên mỗi khối (16×16 điểm ảnh mỗi khối) với 9 kênh biểu đồ. Hơn nữa, thử

nghiệm cũng cho thấy rằng một số cải tiến nhỏ về hiệu suất có thể đạt được bằng cách

áp dụng cửa sổ không gian Gaussian trong mỗi khối trước khi lập bảng biểu đồ để

giảm trọng số điểm ảnh xung quanh cạnh của khối. Các khối R-HOG xuất hiện khá

giống với các mô tả biến đổi đặc trưng bất biến tỷ lệ (SIFT). Tuy nhiên, mặc dù có sự

hình thành tương tự nhau, các khối R-HOG được tính toán trong các lưới dày đặc ở

một tỷ lệ duy nhất mà không căn chỉnh hướng, trong khi các mô tả SIFT thường được

tính toán tại các điểm hình ảnh quan trọng, bất biến tỷ lệ và được xoay theo hướng

thẳng hàng. Ngoài ra, các khối R-HOG được sử dụng kết hợp để mã hóa thông tin

dạng không gian, trong khi các mô tả SIFT được sử dụng riêng lẻ.

Các khối HOG tròn (C-HOG) có thể được tìm thấy trong hai biến thể: những

biến thể với một ô đơn lẻ ở trung tâm và những biến thể có một ô trung tâm phân chia

góc. Ngoài ra, các khối C-HOG này có thể được mô tả với bốn tham số: số lượng

thùng góc và hướng tâm, bán kính của thùng trung tâm và hệ số mở rộng cho bán kính

của các thùng xuyên tâm bổ sung. Navneet và các cộng sự nhận thấy rằng hai biến thể

chính cung cấp hiệu suất tương đương và hai thùng hướng tâm có bốn thùng góc, bán

kính trung tâm 4 điểm ảnh và hệ số mở rộng 2 cung cấp hiệu suất tốt nhất trong thử

nghiệm (để đạt được hiệu suất tốt, cuối cùng sử dụng cấu hình này). Ngoài ra, trọng số

Gaussian không mang lại lợi ích khi được sử dụng cùng với các khối C-HOG. Các

khối C-HOG xuất hiện tương tự như các mô tả bối cảnh hình dạng, nhưng khác biệt

mạnh ở các khối C-HOG chứa các ô có một số kênh định hướng, trong khi bối cảnh

hình dạng chỉ sử dụng số lượng hiện diện cạnh duy nhất trong công thức của chúng.

Nhận dạng đối tượng: Các bộ mô tả HOG có thể được sử dụng để nhận dạng

đối tượng bằng cách cung cấp chúng như các đặc trưng cho giải thuật học máy.

Navneet và các cộng sự đã sử dụng các bộ mô tả HOG làm các đặc trưng trong một

Page 59: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

59

máy vectơ hỗ trợ (SVM). Tuy nhiên, các bộ mô tả HOG không được gắn với một giải

thuật học máy cụ thể.

Hình 19: Các bước hiện thực giải thuật HOG

Các bước huấn luyện mô hình phân loại người dùng đặc trưng HOG: Các bước

thực hiện để huấn luyện trên tập dữ liệu phân loại như hình 19:

(1) Lần lượt duyệt các hình ảnh con người trong tập ảnh positive gồm n ảnh.

(2) Đọc hình ảnh positive, do ảnh này đã cắt chỉnh sẵn chỉ chứa đối tượng con

người nên có thể tiến hành rút trích đặc trưng HOG.

(3) Rút trích đặc trưng mỗi hình ảnh tiến hành lưu trữ lại vector m chiều.

(4) Sau khi xử lý hết tập ảnh positive, thu thập được một ma trận có kích thước

m × n, mỗi dòng trong ma trận này là vector đặc trưng của mỗi mẫu positive, n chính

là số mẫu dương trong danh sách huấn luyện.

(5) Đọc hình ảnh negative, ảnh mẫu negative bao gồm ảnh phong cảnh và

không có người, tính chất của tập mẫu negative này chính là hoàn toàn không có

người. Mỗi ảnh negative có thể cắt chỉnh ngẫu nhiên 10 mẫu ảnh negative.

(6) Rút trích đặc trưng trên các mẫu ảnh negative này và lưu trữ lại.

(7) Sau khi xử lý hết tập ảnh negative, thu được ma trận có kích thước k × n.

(8) Tiến hành nối hai ma trận của dữ liệu negative và positive lại thành một ma

trận siêuto khổng lồ có kích thước (m + k) × n chứa dữ liệu huấn luyện.

(9) Tạo một vector có kích thước m + k phần tử (bằng số mẫu huấn luyện),

trong đó k phần tử đầu tiên chứa giá trị 0 (đại diện cho mẫu ảnh âm) và m phần tử còn

lại trong vectơ là giá trị 1 (mẫu ảnh dương). Lưu ý rằng tương ứng vị trí vectơ chứa

nhãn phải phù hợp với vị trí của vectơ đặc trưng đó bên ma trận chứa vectơ đặc trưng.

(10) Đưa vectơ đặc trưng và nhãn vào mô hình SVM để huấn luyện.

Page 60: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

60

Hình 20: Kết quả phát hiện người thông qua giải thuật HOG

Hình 20 việc Bounding box vẽ trên ảnh là kết quả dự đoán: dự đoán sai box

ngay cửa, dự đoán đúng box người.

5.4. Kỹ thuật học sâu để nhận dạng và phân loại đối tượng [16-21]

5.4.1 Kỹ thuật mạng nơ-ron tích chập

Mạng nơ-ron chuyển đổi hay mạng nơ-ron tích chập (CNN) là một trong những

mô hình học sâu tiên tiến áp dụng nhiều trong các bài toán nhận dạng đối tượng trong

hình ảnh hoặc phim ảnh, đồng thời ứng dụng để xây dựng những hệ thống nhận dạng

thông minh với độ chính xác cao hiện nay. Những hệ thống xử lý ảnh của Facebook,

Google hay Amazon đã áp dụng mô hình này để nhận diện khuôn mặt con người, phát

triển xe ô tô tự hành hay thiết bị bay giao hàng tự động.

Mô hình ANN từ chương trước bao gồm 3 thành phần đó là: input layer, hidden

layer và output layer. Mỗi hidden layer được gọi là lớp kết nối đầy đủ (fully connected

layer), nếu mỗi nút trong hidden layer được kết nối với tất cả các nút trong layer trước.

Cả mô hình được gọi là mạng nơ-ron kết nối đầy đủ (fully connected neural network-

FCNN).

Khi sử dụng FCNN để xử lý ảnh thì ảnh màu 64×64 được biểu diễn dưới dạng

1 tensor 64×64×3. Để biểu thị hết nội dung của bức ảnh thì cần truyền vào input layer

tất cả các điểm ảnh (64×64×3 = 12.288), nghĩa là input layer bao gồm 12288 nút. Giả

sử số lượng nút trong hidden layer đầu tiên là 1000. Số lượng trọng số w giữa input

layer và hidden layer đầu tiên là 12.288×1.000 = 12.288.000, số lượng bias là 1.000

Page 61: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

61

nên tổng số tham số là 12.289.000. Khi có thêm các hidden layer và kích thước hình

ảnh tăng thì số lượng tham số tăng rất nhanh, dẫn đến độ phức tạp tính toán rất cao.

Việc áp dụng phép tính convolution vào layer trong ANN có thể giải quyết được vấn

đề lượng lớn tham số mà vẫn rút trích được các đặc trưng của hình ảnh.

Convolution là một cửa sổ trượt trên một ma trận như mô tả sau đây:

1x1 1x0 1x1 0 0

0x0 1x1 1x0 1 0 4 - -

Image = 0x1 0x0 1x1 1 1 Convolved Feature = - - -

0 0 1 1 0 - - -

0 1 1 0 0

1 1x1 1x0 0x1 0

0 1x0 1x1 1x0 0 4 3 -

Image = 0 0x1 1x0 1x1 1 Convolved Feature = - - -

0 0 1 1 0 - - -

0 1 1 0 0

...

1 1 1 0 0

0 1 1 1 0 4 3 4

Image = 0 0 1x1 1x0 1 Convolved Feature = 2 4 3

0 0 1x0 1x1 0x0 2 3 4

0 1 1x1 0x0 0x1

Lưu ý rằng các điểm ảnh trong ảnh ở cạnh nhau thường có liên kết với nhau

hơn là những điểm ảnh ở xa. Để tìm các đường trong ảnh, ta áp dụng lõi sobel trên mỗi

vùng kích thước 3×3. Hay làm nét ảnh ta áp dụng lõi sharpen cũng trên vùng có kích

thước 3×3. Trong phép tính convolution trong ảnh, chỉ 1 lõi được dùng trên toàn bộ

bức ảnh. Hay nói cách khác là các điểm ảnh chia sẻ hệ số với nhau. Các convolutional

layer có các tham số đã được học để tự điều chỉnh lấy ra những thông tin chính xác mà

không cần chọn các đặc trưng. Trong ví dụ trên, ma trận bên trái là một hình ảnh trắng

đen được số hóa có kích thước 5×5 và mỗi điểm ảnh có giá trị 1 hoặc 0 là giao điểm

của dòng và cột. Convolution hay tích chập là nhântừng phần tử trong ma trận 3×3.

Cửa sổ trượt, còn gọi là lõi, là một ma trận có kích thước nhỏ, như trong ví dụ trên là

Page 62: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

62

3×3. Convolution hay tích chập là nhân từng phần tử bên trong ma trận 3×3 với ma

trận bên trái. Kết quả được một ma trận gọi là Convoled Feature được sinh ra từ việc

nhận ma trận 3×3, còn gọi là ma trận lọc, với ma trận ảnh 5×5 bên trái, như Hình 21.

Hình 21: Convolved feature khác nhau với ma trận lọc khác nhau

Mạng CNN là một tập hợp các lớp convolution chồng lên nhau và sử dụng các

hàm kích hoạt phi tuyến để kích hoạt các trọng số trong các nút. Mỗi một lớp sau khi

thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp

theo. Trong mô hình mạng nơ-ron truyền ngược thì mỗi nút đầu vào liên kết mỗi nút

đầu ra trong các lớp tiếp theo.

Mô hình này gọi là mạng nơ-ron kết nối đầy đủ hay mạng nơ-ron toàn vẹn. Mô

hình CNN thì ngược lại, nghĩa là các layer liên kết được với nhau thông qua cơ chế

convolution. Lớp tiếp theo là kết quả convolution từ lớp trước đó, nhờ vậy các kết nối

cục bộ được thiết lập. Như vậy, mỗi nút ở lớp kế tiếp sinh ra từ kết quả của bộ lọc áp

đặt lên một vùng ảnh cục bộ của nút trước đó.

Mỗi một lớp được sử dụng các bộ lọc khác nhau. Có hàng trăm hàng nghìn bộ

lọc và kết hợp kết quả của chúng lại. Ngoài ra, có một số lớp khác như lớp tổng hợp

(pooling), lớp mẫu phụ (subsampling) dùng để chắt lọc lại các thông tin hữu ích hơn

thông qua việc loại bỏ các thông tin nhiễu. Trong quá trình huấn luyện mạng CNN tự

động học các giá trị qua các lớp, ví dụ trong tác vụ phân lớp ảnh, mạng CNN cố gắng

Page 63: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

63

tìm ra thông số tối ưu cho các bộ lọc tương ứng theo thứ tự raw pixel > edges > shapes

> facial > high-level features. Lớp cuối cùng được dùng để phân lớp ảnh.

Hình 22: Cấu trúc của mạng CNN

Trong mô hình CNN có 2 khía cạnh cần quan tâm là tính bất biến (Location

Invariance) và tính kết hợp (Compositionality). Với cùng một đối tượng, nếu đối

tượng này được chiếu theo các gốc độ khác nhau (translation, rotation, scaling) thì độ

chính xác của thuật toán sẽ bị ảnh hưởng đáng kể. Pooling layer sẽ cho bạn tính bất

biến đối với phép dịch chuyển (translation), phép quay (rotation) và phép co giãn

(scaling). Tính kết hợp cục bộ cho ta các cấp độ biểu diễn thông tin từ mức độ thấp

đến mức độ cao và trừu tượng hơn thông qua convolution từ các filter. Đó là lý do tại

sao CNNs cho ra mô hình với độ chính xác rất cao, tương tự như cách con người nhận

biết các vật thể trong tự nhiên. Mạng CNN sử dụng 3 ý tưởng cơ bản:

(1) Trường tiếp nhận cục bộ (local receptive field).

(2) Trọng số chia sẻ (shared weights).

(3) Tổng hợp (pooling).

Trường tiếp nhận cục bộ (local receptive field): Đầu vào của mạng CNN là một

ảnh, ví dụ như ảnh có kích thước 28×28 thì tương ứng đầu vào là một ma trận có

28×28 và giá trị mỗi điểm ảnh là một ô trong ma trận. Mô hình mạng ANN truyền

thống kết nối các nút đầu vào vào tầng ảnh. Tuy nhiên, CNN chỉ kết nối trong một

vùng nhỏ của các nút đầu vào như một bộ lọc có kích thước 5×5 tương ứng 24 (28-

5+1) điểm ảnh đầu vào. Mỗi một kết nối học một trọng số và mỗi nút ẩn học một bias.

Mỗi một vùng 5×5 gọi là một trường tiếp nhận cục bộ như Hình 23.

Hình 23: Trường tiếp nhận cục bộ

Hình 24 mô tả các bước tạo ra 1 hidden layer. Hình trên tạo ra nút ẩn đầu tiên

trong lớp ẩn thứ nhất; hình dưới cùng dịch bộ lọc sang bên phải 1 cột tạo ra nút ẩn thứ

Page 64: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

64

hai. Quá trình dịch cho đến hết ma trận đầu vào tạo ra 1 hidden layer. Với bài toán

nhận dạng ảnh, ma trận lớp đầu vào thường được gọi là feature map, trọng số xác định

các đặc trương là shared weight và độ lệch xác định một feature map là shared bias.

Như vậy, hoàn tất các bước trên chỉ tạo ra 1 feature map và việc nhận dạng ảnh đòi hỏi

nhiều hơn 1 feature map. Trường tiếp nhận cục bộ thích hợp cho việc phân tách dữ

liệu ảnh, giúp chọn ra những vùng ảnh có giá trị nhất cho việc đánh giá phân lớp.

Trọng số chia sẻ (shared weight and bias): các trọng số cho mỗi bộ lọc phải

giống nhau. Các nút trong lớp ẩn đầu phát hiện chính xác đặc trưng tương tự chỉ ở các

vị trí khác nhau trong hình ảnh đầu vào. Việc ánh xạ từ input layer sang hidden layer

là một feature map.

Mỗi fearture map cần 5×5=25 shared weight và 1 shared bias, tổng cộng 26

tham số. Nếu có 10 feature map thì có 10×26 = 260 tham số. Nếu layer đầu tiên có kết

nối đầy đủ nghĩa là 28×28=784 nút đầu vào và chỉ có 30 nút ẩn. Tổng số tham số là

28×28×30+30 bao gồm 28×28×30 shared weight và 30 shared bias, lớn hơn nhiều so

với mạng CNN. Lưu ý rằng mô hình có số lượng tham số ít hơn chạy nhanh hơn. Một

convolutional layer bao gồm các feature map khác nhau, mỗi feature map giúp phát

hiện một vài đặc trưng trong ảnh. Lợi ích lớn nhất của trọng số chia sẻ là giảm tối đa

số lượng tham số trong mạng CNN.

Lớp tổng hợp (pooling layer): lớp pooling thường được sử dụng ngay sau lớp

convulation để đơn giản hóa thông tin đầu ra và giảm bớt số lượng nút như Hình 22.

Thủ tục pooling phổ biến là max-pooling chọn giá trị lớn nhất trong vùng đầu vào 2×2

như Hình 25, và qua lớp max pooling thì số lượng nút giảm đi phân nửa. Một mạng

CNN có nhiều feature map nên mỗi feature map tương ứng max pooling khác nhau.

Có thể thấy rằng max pooling là cách xác định đặc trưng nổi bật nhất trong số các đặc

trưng.

Hình 24: Các bước tạo ra 1 hidden layer

Page 65: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

65

Hình 25: Xây dựng lớp max pooling

5.4.2. Kỹ thuật tìm kiếm xác định vị trí vật thể trong ảnh sử dụng mạng CNN [35-

36]

5.4.2.1. Region Convolutional Neural Network Proposals (R-CNN) [16]

Mô hình CNN được áp dụng cho bài toán phân loại ảnh, cụ thể là các ảnh input

của bài toán phân loại chỉ bao gồm 1 đối tượng cụ thể như chữ số, loài hoa, đồ vật hay

con người. Tuy nhiên, ảnh trong cuộc sống bình thường thì không chỉ chứa 1 đối

tượng mà thường bao gồm rất nhiều các đối tượng, nên vị trí của từng đối tượng trong

ảnh cần được xem xét như Hình 26.

Vấn đề phát hiện đối tượng thông qua vị trí của đối tượng trong ảnh bao gồm 2

bài toán:

- Xác định các bounding box (hình chữ nhật) quanh đối tượng.

- Với mỗi bounding box, cần phân loại đối tượng với độ chính xác.

Việc lựa chọn có bao nhiêu loại đối tượng thì phụ thuộc vào bài toán cần giải

quyết. Vì không biết trước có bao nhiêu đối tượng trong ảnh, nên mô hình CNN không

thiết kế được output layer hiệu quả. Mô hình R-CNN [18] (regional convolutional

neural network) là giải pháp cho vấn đề này.

Hình 26: Xác định vị trí nhiều đối tượng trong ảnh

Page 66: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

66

5.4.2.2. Region with Convolutional Neural Network feature (R-CNN)

Giải thuật R-CNN tập trung vào 2 bước: bước 1 sử dụng giải thuật tìm kiếm

chọn lọc để trích xuất khoảng 2000 bounding box trong ảnh input có khả năng chứa

đối tượng và bước 2 xác định mỗi bounding box chứa đối tượng nào.

Giải thuật tìm kiếm chọn lọc với input là ảnh màu và output là khoảng 2000

bounding box (region proposal) mà có khả năng chứa các đối tượng. Đầu tiên ảnh

được phân mảnh qua thuật toán Graph Based Image Segmentation. Mỗi đối tượng

trong ảnh có thể chứa nhiều hơn 1 màu và các đối tượng có thể bị che mất một phần

bởi một hoặc nhiều đối tượng khác, vì vậy region proposal thường nhóm các vùng

màu với nhau, thay vì sử dụng mỗi màu trong output. Tiếp theo, các vùng màu được

nhóm với nhau dựa trên độ tương đồng về màu sắc, hướng gradient, kích thước,

...Cuối cùng các region proposal được xác định dựa trên các nhóm vùng màu.

Hình 27: Output sau khi thực hiện Graph Based Image Segmentation [1]

Bài toán trở thành phân loại ảnh cho các region proposal. Do thuật toán tìm

kiếm chọn lọc trích xuất khoảng 2000 region proposal nên có rất nhiều region proposal

không chứa đối tượng nào. Một lớp background không chứa đối tượng nào cần thiết

thêm vào, ví dụ Hình 28 có 4 region proposal phân loại bounding box là người ngựa

hay background.

Hình 28: Các bước của thuật toán R-CNN [2]

Page 67: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

67

Sau đó các region proposal được thay đổi về cùng kích thước và thực hiện

truyền kiến thức huấn luyện (transfer learning) với bộ trích xuất đặc trưng, sau đó các

đặc trưng trích xuất được cho vào thuật toán SVM để phân loại ảnh. Ngoài ra, các đặc

trưng trích xuất cũng được dùng để dự đoán 4 giá trị offset cho mỗi cạnh, ví dụ như

khi region proposal chứa người nhưng chỉ có phần thân và nửa mặt, nửa mặt còn lại

không có trong region proposal đó thì offset value có thể giúp mở rộng region

proposal để lấy được toàn bộ người.

Mặc dù R-CNN hoạt động khá tốt so với các thuật toán CNN về thị giác máy

tính, R-CNN vẫn có khá nhiều hạn chế. Mỗi ảnh yêu cầu phân loại các lớp cho 2000

region proposal nên mất nhiều thời gian để huấn luyện. Thời gian xử lý mỗi ảnh trong

tập thử nghiệm là 47 giây nên không thể áp dụng cho nhận dạng đối tượng theo thời

gian thực.

5.4.2.3. Fast R-CNN

Fast R-CNN [3] được giới thiệu bởi cùng tác giải của R-CNN giải quyết hạn chế

của R-CNN để cải thiện tốc độ. Tương tự như R-CNN, Fast R-CNN vẫn dùng giải

thuật tìm kiếm chọn lọc để trích xuất các region proposal. Tuy nhiên, thay vì tách

khoảng 2000 region proposal ra khỏi ảnh và thực hiện bài toán phân loại cho mỗi ảnh,

Fast R-CNN cho cả bức ảnh vào mạng thần kinh tích chập bao gồm một vài lớp

convolution và max pooling để tạo ra convolutional feature map. Sau đó, các vùng

region proposal được trích xuất tương ứng từ convolutional feature map. Cuối cùng,

giải thuật sử dụng flatten và thêm 2 fully connected layer (FCs) để dự đoán lớp của

region proposal và giá trị offset của bounding box.

Hình 29: Các bước của thuật toán Fast R-CNN [3]

Do kích thước của các region proposal khác nhau nên việc flatten tạo ra các

vector có kích thước khác nhau, dẫn đến khó khăn trong việc áp dụng mạng thần kinh

nhân tạo. R-CNN đã xử lý vấn đề này bằng cách thay đổi các region proposal về cùng

kích thước trước khi áp dụng transfer learning. Tuy nhiên, vấn đề ở đây là cần chuyển

Page 68: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

68

các region proposal trong feature map về cùng kích thước, trong khi các feature map

không thể thay đổi kích thước.

Region of Interest (ROI) pooling là một dạng của pooling layer nhằm giải

quyết vấn đề thay đổi kích thước các feature map. Điểm khác so với max pooling hay

average pooling là bất kể kích thước của tensor input, ROI pooling luôn cho ra output

có kích thước cố định được định nghĩa trước.

Ví dụ kí hiệu a/b là phần nguyên của a khi chia cho b và a%b là phần dư của a

khi chia chob. Gọi input của ROI pooling kích thước mxn và output có kích thước hxk

(thông thường h, k nhỏ hơn so với m, n); chia chiều rộng thành h phần, (h-1) phần có

kích thước m/h, phần cuối có kích thước m/h + m%h; tương tự, chia chiều dài thành k

phần, (k-1) phần có kích thước n/k, phần cuối có kích thước n/k + n%k. Sau đó, thực

hiện max pooling lấy ra 1 giá trị cho mỗi khối được tạo ra. Kích thước sau khi thực

hiện ROI pooling là hxk.

Fast R-CNN khác với R-CNN là thực hiện feature map với cả bức ảnh sau đó

lấy các region proposal ra từ feature map, còn R-CNN thực hiện tách các region

proposal ra rồi mới thực hiện CNN trên từng region proposal. Do đó, Fast R-CNN

nhanh hơn đáng kể nhờ tối ưu việc tính toán bằng phép vectơ hóa (vectorization). Tuy

nhiên, Fast R-CNN vẫn chậm ở phần tính region proposal và giải thuật tìm kiếm chọn

lọc. Vấn đề này có thể cải tiến bằng cách dùng học sâu để tạo ra region proposal.

5.4.2.4. Faster R-CNN

Faster R-CNN [4] không dùng giải thuật tìm kiếm chọn lọc để trích xuất các

region proposal, mà sử dụng 1 mạng CNN mới gọi là region proposal network (RPN)

để tìm kiếm các region proposal. Đầu tiên, cả bức ảnh được huấn luyện trước để lấy

feature map. Tiếp theo, feature map được dùng cho RPN để trích xuất các region

proposal. Sau khi lấy được vị trí các region proposal thì thực hiện tương tự kỹ thuật

Fast R-CNN như hình 30.

Hình 30: Kiến trúc Faster R-CNN [4]

Page 69: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

69

Input và output của RPN lần lượt là feature map và các region proposal có hình

chữ nhật được xác định bằng 2 điểm ở 2 góc, ví dụ A(xmin, ymin) và B(xmax, ymax) như

hình 31.

Hình 31: Hình chữ nhật region proposal

Mô hình kỹ thuật RPN vận hành với giả sử rằng xmin<xmaxvà ymin<ymaxvà các

giá trị x, y khi dự đoán nằm trong bức ảnh. RPN giải quyết vấn đề này bằng cách sử

dụng kỹ thuật anchor để biểu diễn region propsal. Thay vì dự đoán 2 góc, kỹ thuật

anchor dự đoán điểm trung tâm (xcenter, ycenter) và chiều rộng (width), chiều dài (height)

của hình chữ nhật. Như vậy, mỗi anchor được xác định bằng 4 tham số (xcenter, ycenter,

width, height). Do không sử dụng giải thuật tìm kiếm chọn lọc nên ban đầu RPN cần

xác định các anchor box có thể là regionproposal, sau đó RPN xử lý và output những

anchor box chắc chắn chứa đối tượng. Nhiệm vụ chính của RPN là lấy ra các region

proposal tương tự như cách giải thuật tìm kiếm chọn lọc thực hiện chứ không phải là

phân loại ảnh.

Mô hình RPN khá đơn giản, feature map được cho qua convolution layer 3×3,

512 lõi. Sau đó, với mỗi anchor lấy được ở trên, RPN thực hiện 2 bước:

1- dự đoán xem anchor chứa đối tượng (foreground) hay không chứa đối tượng

(background);

2- dự đoán 4 giá trị tham số (xcenter, ycenter, width, height) cho các anchor. Lưu ý

rằng có rất nhiều anchor bị chồng lên nhau nên kỹ thuật non-maxima suppression được

dùng để loại bỏ các anchor chồng lên nhau. Sau cùng, dựa vào phần trăm dự đoán

anchor không chứa đối tượng, RPN lấy 1 số lượng anchor để làm region proposal.

Hình 32: Hệ số IoU đánh giá bounding box dự đoán đối tượng khớp với ảnh thật

Page 70: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

70

Ví dụ, trong RPN đầu tiên có khoảng 9000 anchor box (tập input), tuy nhiên,

output chỉ muốn giữ lại 100 anchor (tập ouput) làm region proposal. Kỹ thuật non-

maxima suppression thực hiện các bước sau:

(1) Chọn ra anchor box (A) là anchor chứa đối tượng có xác suất lớn nhất trong

tập input.

(2) Thêm A vào tập ouput.

(3) Loại bỏ A và các anchor box trong tập input mà có hệ số IoU (Intersection

over Union) với A lớn hơn 0.5 ra khỏi tập input.

(4) Kiểm tra nếu tập input rỗng hoặc tập output đủ 100 anchor thì dừng lại, nếu

không quay lại Bước 1.

IoU được sử dụng trong bài toán phát hiện đối tượng để đánh giá xem bounding

box dự đoán đối tượng khớp với khung ảnh thật (ground truth) của đối tượng như

Hình 26. Chỉ số IoU trong khoảng [0,1] và IoU càng gần 1 thì bounding box dự đoán

càng gần khung ảnh thật.

Hình 30 minh họa Faster R-CNN nhanh hơn hẳn các kỹ thuật R-CNN trước đó,

vì vậy có thể dùng cho phát hiện đối tượng trong thời gian thực.

Hình 33: So sánh thời gian phát hiện đối tượng so với các kỹ thuật khác

5.4.2.5. Thuật toán Single Shot Object Detectors (SSD) [1, 18-21]

Single shot detector là mô hình sử dụng mạng VGG16 để rút trích đặc trưng.

Mô hình như hình 34. Trong đó, những conv có màu xanh nước biển nhạt là những

custom convolution layter (ta có thể thêm bớt bao nhiêu tuỳ thích). Convolutional

filter layter (là cục màu xanh lá cây) có nhiệm vụ tổng hợp các thông tin lại để đưa

quyết định.

Page 71: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

71

Hình 34: Mô hình sử dụng mạng VGG16

Khi sử dụng mô hình như hình 34, chúng ta thấy rằng các custom convolution

layter có nhiệm vụ làm giảm chiều và giảm độ phân giải của bức ảnh. Cho nên, mô

hình chỉ có khả năng nhận ra các đối tượng có kích thước lớn. Để giải quyết vấn đề

này, chúng ta sẽ sử dụng các object detector khác nhau trên mỗi feature maps (xem

output của mỗi custom convolution là một feature map).

Hình 35: Kết quả mô hình sử dụng mạng VGG16

Hình 36: Sơ đồ số chiều của các feature maps

SSD sử dụng các layter có kích thước giảm dần theo độ sâu để nhận dạng đối

tượng. Nhìn vào hình vẽ sơ đồ hình 37 của SSD, chúng ra dễ dàng nhận thấy rằng độ

phân giải giảm đáng kể qua mỗi layer và có lẽ (chắc chắn) sẽ bỏ sót những đối tượng

có kích thước nhỏ ở những lớp có độ phân giải thấp. Nếu trong dự án thực tế của bạn

có xảy ra vấn đề này, bạn nên tăng độ phân giải của ảnh đầu vào.

Page 72: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

72

Hình 37: Sơ đồ áp dụng thuật toán SSD

5.4.2.6. Thuật toán You Only Look Once (YOLO) [18-21]

YOLO [19, 20, 21] là một mô hình CNN để phát hiện đối tượng với ưu điểm

nổi trội là nhanh hơn nhiều so với những mô hình trước, thậm chí, có thể vận hành tốt

trên những thiết bị IoT. Có 3 phiên bản YOLO v1, YOLO v2 và YOLO v3, trong đó

phiên bản cuối cùng chạy nhanh hơn nhưng phức tạp và khó sử dụng hơn. Đầu vào mô

hình là một bức ảnh, bài toán phát hiện đối tượng không chỉ phân loại được đối tượng

trên bức ảnh mà còn định vị được vị trí của đối tượng đó. Phát hiện đối tượng trong

thời gian thực có nhiều ứng dụng, ví dụ như hệ thống theo dõi đối tượng có thể giúp

hoạt động giám sát, hoặc hệ thống xe ô tô tự lái phải xác định được người đi đường ở

đâu để đưa ra quyết định di chuyển tiếp theo. Một trong những ưu điểm chính của

YOLO là chỉ sử dụng thông tin toàn bộ bức ảnh một lần và dự đoán toàn bộ hình chữ

nhật chứa các đối tượng. Mô hình được xây dựng theo kiểu end-to-end nên được huấn

luyện hoàn toàn bằng gradient descent [22].

Hệ thống lưới (grid system): ảnh được chia thành ma trận ô vuông 7×7, mỗi ô

vuông bao gồm một tập các thông tin mà mô hình phải dự đoán. Hình 38 là ví dụ.

Đối tượng duy nhất mà ô vuông đó chứa. Tâm của đối tượng cần xác định nằm

trong ô vuông nào thì ô vuông đó chứa đối tượng đó. Ví dụ tâm của cô gái nằm trong ô

vuông màu xanh, do đó mô hình phải dự đoán được nhãn của ô vuông đó là cô gái.

Lưu ý cho dù phần ảnh cô gái có nằm ở ô vuông khác mà tâm không thuộc ô vuông đó

thì vẫn không tính là chứa cô gái, ngoài ra, nếu có nhiều tâm nằm trong một ô vuông

thì chúng ta vẫn chỉ gán một nhãn cho ô vuông đó thôi. Chính ràng buộc mỗi ô vuông

chỉ chứa một đối tượng làm cho mô hình không thể phát hiện những đối tượng có tâm

nằm cùng một ô vuông. Tuy nhiên, việc tăng kích thước ô vuông từ 7×7 lên kích thước

lớn hơn có thể giúp phát hiện được nhiều đối tượng hơn. Ngoài ra, kích thước của ảnh

đầu vào phải là bội số của kích thước ô vuông.

Page 73: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

73

Mỗi ô vuông chịu trách nhiệm dự đoán 2 boundary box của đối tượng. Mỗi

boundary box dự đoán có chứa đối tượng hay không và thông tin vị trí của boundary

box gồm trung tâm boundary box của đối tượng và chiều dài, rộng của boundary box

đó. Ví vụ ô vuông màu xanh cần dự đoán 2 boundary box chứa cô gái như hình 31.

Một điều cần lưu ý, việc cài đặt không dự đoán giá trị điểm ảnh mà cần phải chuẩn hóa

kích thước ảnh về đoạn từ [0,1] và dự đoán độ lệch của tâm đối tượng đến hình chữ

nhật chứa đối tượng đó. Ví dụ, thay vì dự đoán vị trí điểm ảnh của điểm màu đỏ, thì

cần dự đoán độ lệch a, b trong ô vuông chứa tâm đối tượng.

Hình 38: Chia ảnh thành ma trận ô vuông

Như vậy, mỗi ô vuông có thể dự đoán các thông tin sau: ô vuông có chứa đối

tượng nào hay không chứa đối tượng, độ lệch 2 hình chữ nhật chứa đối tượng so với ô

vuông hiện tại và lớp của đối tượng. Mỗi ô vuông cần một vectơ có số chiều đủ lớn để

dự đoán các thông tin.

Sử dụng CNN kết hợp YOLO: thông tin dự đoán đã được xác định đối với mỗi

ô vuông, vấn đề còn lại là xây dựng mô hình CNN cho ra ouput với kích thước phù

hợp, nghĩa là kích thước ô vuông × kích thước ô vuông × số chiều, ví dụ với kích

thước ô vuông là 7×7, mỗi ô vuông dự đoán 2 hình chữ nhật, và có 3 loại đối tượng thì

output là 7×7×13 từ mô hình CNN (2+2x4+3=13).

YOLO sử dụng hồi quy tuyến tính (linear regression) để dự đoán các thông tin

ở mỗi ô vuông. Do đó, layer cuối cùng không sử dụng bất kỳ hàm kích hoạt. Ví dụ, với

ảnh input có kích thước 448×448, mô hình CNN có 6 lớp max pooling với kích thước

Page 74: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

74

2×2 sẽ giảm 64 lần kích thước ảnh xuống còn 7×7 ở output đầu ra. Đồng thời, thay vì

sử dụng lớp kết nối đầy đủ ở các layer cuối cùng, có thể thay thế bằng lớp 1×1

convolution với 13 feature map để output cho ra 7×7×13.

Hàm sai số (loss function): YOLO sử dụng hàm sai số bình phương giữa dự

đoán và kết quả thực để tính sai số cho mô hình. Cụ thể, sai số tổng là tổng của 3 sai số

cục bộ sau:

(1) Sai số của dự đoán loại đối tượng, hay sai số phân loại (classifycation loss).

(2) Sai số của dự đoán tọa độ và chiều dài, rộng của boundary box, hay sai số vị

trí (localization loss).

(3) Sai số của ô vuông có chứa đối tượng hay không có đối tượng, sai số lựa

chọn (confidenceloss).

Trong quá trình huấn luyện, mô hình nhìn vào những ô vuông có chứa đối

tượng, tăng điểm phân loại lớp đúng của đối tượng đó lên. Tìm boundary box tốt nhất

trong 2 hình chữ nhật được dự đoán, tăng điểm vị trí của boundary box đó lên, thay đổi

thông tin boundary box để gần đúng với kết quả thực. Đối với những ô vuông không

chứa đối tượng, giảm điểm lựa chọn và không quan tâm đến điểm phân loại và điểm vị

trí của những ô vuông này.

Sai số phân loại (classification loss) được tính cho những ô vuông được gán giá

trị là có đối tượng. Sai số phân loại tại những ô vuông đó được tính bằng sai số bình

phương giữa giá trị được dự đoán và giá trị đúng của nó.

Trong đó, obj

iI = 1 nếu ô vuông đang xét có đối tượng và ngược lại = 0, ˆ ( )ip c

xác suất có điều kiện của lớp c tại ô vuông tương ứng mà mô hình dự đoán

Hình 39: Sai số phân loại

Page 75: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

75

Hình 39 minh họa 2 đối tượng tại ô vuông (dòng, cột) là (2,1) và (3,4), chứa đối

tượng là hình tam giác và hình tức giác đều. Sai số phân loại chỉ tính cho 2 đối tượng

này mà ko quan tâm đến những ô vuông khác.

Sai số vị trí (localization loss) dùng để tính giá trị sai số cho boundary box

được dự đoán bao gồm offset x, y và width, height so với giá trị đúng. Giá trị sai số

này không thể tính toán trực tiếp trên kích thước của ảnh mà cần chuẩn dưới kính

thước ảnh về đoạn [0,1] đối với tọa độ điểm tâm, và không dự đoán trực tiếp điểm tâm

mà phải dự đoán giá trị lệch offset x, y so với ô vuông tương ứng. Việc chuẩn hóa kích

thước ảnh và dự đoán offset làm cho mô hình nhanh hội tụ hơn so với việc dự đoán giá

trị mặc định.

Sai số vị trí được tính bằng tổng sai số bình phương của offsetx, offsety và

width, height trên tất cả các ô vuông có chứa đối tượng. Mỗi ô vuông đúng chọn 1

boundary box có IoU tốt nhất, sau đó tính sai số theo các boundary box này. Hình 32

minh họa 4 boundary box tại ô vuông đúng có viền màu đỏ, chọn 1 box tại mỗi ô

vuông để tính sai số, bỏ qua box xanh. Sai số vị trí là sai số quan trọng và có trọng số

cao hơn sai số khác.

Sai số lựa chọn (confidence loss) thể hiện sai số giữa dự đoán boundary box

chứa đối tượng so với giá trị đúng tại ô vuông tương ứng. Sai số này tính trên cả

những ô vuông chứa đối tượng và không chứa đối tượng. Nhưng, sai số tại ô vuông

chứa đối tượng quan trọng hơn là sai số tại ô vuông không chứa đối tượng, do vậy hệ

số lambda được sử dụng để cân bằng.

Tổng sai số của mô hình là tổng của 3 loại sai số:

5.4.3. Nhận xét, đánh giá và lựa chọn kỹ thuật áp dụng cho bài toán nhận

dạng phân loại đối tượng

Page 76: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

76

Việc áp dụng công nghệ mạng nơ-ron tích chập trong trí tuệ nhân tạo (AI) để

nhận dạng và phân loại các đối tương được hỗ trợ trong bộ thư viện chương trình

OpenCV chủ yếu tập trung 3 kỹ thuật chính đó là:

(1) Thuật toán áp dụng mạng nơ-ron tích chập CNN và các biến thể của mạng

nơ-ron tích chập, bao gồm R-CNN, Fast R-CNN và Faster R – CNN.

(2) Thuật toán Single Shot Object Detectors (SSD).

(3) Thuật toán You Only Look Once (YOLO).

Đối với R-CNN là một trong những kỹ thuật dò tìm đối tượng dựa trên giải

thuật học sâu đầu tiên và là một ví dụ về kỹ thuật dò tìm đối tượng theo phương pháp

hai giai đoạn cụ thể đó là:

Giai đoạn 1: R-CNN bản đầu tiên chủ yếu hỗ trợ tính năng phát hiện đối tượng

và phân đoạn ngữ nghĩa (2013 của Girshick et al). Bản nâng cấp sau đó xử lý nhằm

phát hiện đối tượng theo yêu cầu thông qua thuật toán tìm kiếm chọn lọc (hoặc tương

đương) cụ thể để xác định và đề xuất các hộp giới hạn có thể chứa các đối tượng. Từ

đó, thực hiện thao tác chuyển các vùng phát hiện vào CNN để phân loại thông qua kỹ

thuật dò tìm đối tượng dựa trên giải thuật học sâu.

Vì vậy, Đối với bản đầu tiên của thuật toán R-CNN tiêu chuẩn là rất chậm và

đối tượng dò tìm chưa chính xác cao.

Giai đoạn 2: Năm 2015, tác giả Girshick et al cho xuất bản một bài báo có tựa

đề Fast R- CNN. Từ đó, thuật toán Fast R-CNN đã tạo ra những cải tiến đáng kể so với

phiên bản R-CNN ban đầu. Cụ thể là tăng độ chính xác và giảm thời gian cần thiết để

thực hiện chuyển tiếp. Tuy nhiên, thuật toán vẫn cần phài các thuật toán khác xử lý

khu vực bên ngoài đối tượng.

Do đó, Girshick Girshick et al và cộng sự cũng đã đề xuất thuật toán Faster R

–CNN đây là thuật toán tìm kiếm vị trí của vật thể trong ảnh và xử lý theo hướng phát

hiện đối tượng theo thời gian thực Từ đó, R-CNN đã trở thành một trình phát hiện đối

tượng bằng giải thuật học sâu và loại bỏ yêu cầu tìm kiếm có chọn lọc và thay vào đó

dựa vào mô hình mạng RPN đó là:

a) Tích chập hoàn toàn.

b) Có thể dự đoán các hộp giới hạn đối tượng và điểm số của đối tượng xác

định (nghĩa là điểm số định lượng khả năng đó trong khu vực của một hình ảnh có thể

Page 77: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

77

chứa một hình ảnh). Đầu ra của mô hình mạng RPN tích hợp, được chuyển sang thành

phần R-CNN để phân loại và ghi gắn nhãn cuối cùng.

Theo đánh giá, R-CNN là thuật toán xử lý có độ chính xác rất cao, nhưng

ngược lại thì tốc độ xử lý chậm (chỉ đạt 5 FPS trên GPU).

Vì vậy, để giải quyết bài toán về tốc độ xử lý trên GPU và giúp làm tăng tốc độ

của các máy dò tìm đối tượng dựa trên giải thuật học sâu (deep learniing) có kết hợp

hỗ trợ giữa SSD và YOLO cho phát hiện đối tượng theo phương pháp một giai đoạn.

Trong khi SSD là giải thuật có thời gian thực hiện ngắn nhất, cho kết quả thấp nhất.

Ngược lại Yolo vừa đảm bảo về tốc độ xử lý vừa đảm bảo về độ chính xác và đáp ứng

nhu cầu ứng dụng thực tế.

Page 78: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

78

Chương 2. Tổng quan về giao thông

1. Các khái niệm

1.1. Giao thông

Giao thông là tất cả các hoạt động, hình thức di chuyển, đi lại được thực hiện

một cách công khai.

1.2. Đối tượng tham gia giao thông

Đối tượng tham gia hoạt động giao thông là người đi bộ, người điều khiển

phương tiện xe cơ giới, các phương tiện tham gia giao thông, xe máy, ô tô, tàu điện

ngầm hay các phương tiện giao thông công cộng, xe dùng sức kéo…hình thức tham

gia giao thông có thể là đơn lẻ hay cùng lúc.

2. Tổng quan về thực trạng giao thông

Đã từ rất lâu rồi, tình trạng giao thông tại Việt Nam, đặc biệt là tại các thành

phố lớn như Hà Nội hay Hồ Chí Minh, ùn tắc giao thông luôn là vấn đề nhức nhối đối

với người dân sinh sống trong khu vực đó.

Ngày nay, tình trạng ùn tắc giao thông, tai nạn giao thông lại càng trở lên

nghiêm trọng hơn. Với việc chuyển hướng từ một đất nước có nền kình tế kế hoạch

hóa tập trung sang một nền kinh tế thị trường tạo điều kiện phát triển mạnh cho nền

kinh tế Việt Nam. Kinh tế phát triển, đời sống người dân được nâng cao kèm theo đó

là những vấn đề niên quan đến giao thông đường bộ, ùn tắc, tai nạn giao thông mà ít ai

nhận ra mối liên hệ giữa chúng. Đã có rất nhiều chỉ thị, chiến dịch được Bộ Giao

thông vận tải đề ra nhưng sẽ là không triệt để. Để nói đến nguyên nhân dẫn đến tình

trạng giao thông Việt Nam như hiện nay thì có nhiều phức tạp. Không tuân thủ luật

giao thông, do sự tăng nên một cách chóng mặt của các phương tiện xe cơ giới, ý

thức, văn hóa giao thông, kỹ năng tham gia giao thông của người dân là chưa cao,

thậm chí là do chất lượng các công trình giao thông không được tốt chứ chưa nói đến

là tồi tệ.

Hình 40: Hình ảnh mô tả phương tiện và người tham gia giao thông

Page 79: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

79

Việc lấn chiếm vỉa hè, lòng đường làm điểm kinh doanh hoàng hóa, dịch vụ

khiến làm hạn chế tầm nhìn của người tham gia giao thông, diện tích lòng đường giảm,

người đi bộ không có vỉa hè đề tham gia giao thông bắt buộc họ phải đi dưới lòng

đường

Việc đặt quá nhiều các biển báo cấm, các biển báo hiệu giao thông trên cùng

một đoạn đường liệu có hiệu quả hay không hay nó còn đi ngược lại với những gì nó

muốn. Người điều khiển xe quá tập trung vào hệ thống biển báo giao thông để tránh bị

phạt…sẽ khiến họ mất đi sự tập trung khi lái xe.

Ngoài ra, việc người dân đua nhau bám đường cũng là một điều cần quan tâm.

Đất mặt đường bao giờ cũng có giá trị cao hơn. Bởi vậy là tại sao lại nói “ở đâu có

đường ở đó có nhà dân, nhà máy, xí nghiệp”. Họ coi việc bám đường là một lợi thế lớn

cho việc kinh doanh, di chuyển…khiến mật độ giao thông gần các tuyến đường trở lên

chật trội hơn.

Theo một số liệu thống kê khác, tình trạng không tuân thủ đúng luật giao thông

đường bộ ở Việt Nam thì có tời 90% người điều khiển xe cơ giới không biết cách,

không sử dụng đúng đèn chiếu xa, 85% sử dụng còi không đúng cách “còi một cách

điên đảo khi chờ đèn đỏ chẳng hạn”, 72% người tham gia giao thông không đội mũ

bảo hiểm trên các tuyến đường bắt buộc, 70% không có sử dụng phanh tay và có tới

50% không sử dụng đèn báo hiệu xin chuyển hướng khi có nhu cầu. Những trường

hợp này luôn tiềm ẩn các nguy cơ gây tại nạn giao thông. Ngoài ra còn tình trạng điều

khiển xe quá tốc độ, sử dụng rượu bia khi lái xe, vượt đèn đỏ…cũng là những nguyên

nhân xảy ra tai nạn giao thông mà các lực lượng chức năng rất khó để kiểm soát.

Hình 41: Hình ảnh mô tả tình trạng không tuân thủ Luật

Page 80: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

80

Bà Rịa – Vũng Tàu được đánh giá là một trong những địa phương có kết cấu hạ

tầng giao thông hiện đại. Là đầu mối giao thông quan trọng với 3 tuyến quốc lộ chính

gồm QL51, QL55, QL56.

(1) Quốc lộ 51: là trục giao thông chính của vùng Kinh tế trọng điểm phía Nam,

nối liền 3 thành phố: TP. Hồ Chí Minh, TP. Biên Hòa và TP. Vũng Tàu, QL51 đạt tiêu

chuẩn đường cấp II đồng bằng với 04 làn xe cơ giới và 02 làn xe thô sơ, mới đây

QL51 được nâng cấp mở rộng lên 06 làn xe cơ giới và 02 làn xe hỗn hợp.

(2) Quốc lộ 55: Chạy từ TP. Bà Rịa đi TP. Phan Thiết nối với các tỉnh duyên

hải Đông Nam Bộ, có giá trị giao thông liên vùng, nối vùng Nam Trung Bộ với miền

Đông. QL55 đạt chuẩn đường cấp III và cấp IV đồng bằng với 02 làn xe hỗn hợp.

(3) Quốc lộ 56: Là trục đường giao thông nối TP. Bà Rịa tỉnh Bà Rịa – Vũng

Tàu và vùng kinh tế trọng điểm phía Nam với Tây Nguyên. Từ QL56 có thể đi thẳng

qua TX. Long Khánh để đi TP. Đà Lạt. QL56 đạt tiêu chuẩn đường cấp III miền núi

với 02 làn xe hỗn hợp.

(4) Ngoài ra tỉnh Bà Rịa – Vũng Tàu có rất nhiều tuyến đường tỉnh như: Đường

tỉnh 991C từ xã Hòa Long, TP. Bà Rịa đến xã Phước Tân, huyện Xuyên Mộc; Đường

tỉnh 992 nối phường Long Hương, TP. Bà Rịa đến xã Châu Pha, TX. Phú Mỹ; Đường

tỉnh 995A từ TP. Bà Rịa đi Long Hải, Long Điền; Đường tỉnh 995B từ TP. Bà Rịa đi

Phước Hải, Đất Đỏ; Đường tỉnh 995C từ TP. Bà Rịa qua Long Điền đi Châu Đức.

(5) Theo số liệu báo cáo từ Ban An toàn giao thông tỉnh Bà Rịa - Vũng Tàu,

năm 2019 toàn tỉnh xảy ra 759 vụ TNGT, làm chết 245 người và 857 người bị thương.

So với năm 2016, TNGT giảm 37 vụ, giảm 20 người chết và giảm 49 người bị thương.

6 tháng đầu năm 2020, toàn tỉnh xảy ra 91 vụ tai nạn giao thông (TNGT), làm chết 36

người, làm bị thương 94 người. Riêng trong bảy ngày nghỉ Tết Mậu Tuất, xảy ra mười

vụ TNGT, làm chết mười người, bị thương mười người. Địa bàn xảy ra tai nạn giao

thông nhiều tập trung chủ yếu thành phố Vũng Tàu, thị xã Phú Mỹ và các huyện Châu

Đức, Xuyên Mộc.

Nguyên nhân chủ yếu của các vụ TNGT được các cơ quan chức năng xác định

là do người điều khiển phương tiện chạy quá tốc độ; đi không đúng phần đường;

chuyển hướng không quan sát; sau khi uống rượu, bia vẫn lái xe; không nhường

đường…

Page 81: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

81

Tuy số vụ TNGT, số người chết và bị thương đều giảm so với cùng kỳ nhưng

con số thống kê cho thấy vẫn ở mức cao và tiềm ẩn diễn biến phức tạp. Tình trạng một

bộ phận người tham gia giao thông chưa ý thức trong việc chấp hành pháp luật giao

thông đường bộ, còn đối phó, chưa tự giác, vi phạm về trật tự-an toàn giao thông (TT-

ATGT) vẫn còn phổ biến, nhất là các hành vi như: chạy quá tốc độ, người uống rượu,

bia điều khiển phương tiện, lưu thông sai phần đường, chở quá tải - quá khổ, quá số

lượng người quy định… Trên các tuyến đường nội đô, liên huyện hay quốc lộ tại Bà

Rịa - Vũng Tàu, nhất là ở những khu vực tập trung đông dân cư, trường học, hay các

khu công nghiệp, tình trạng vi phạm TT-ATGT diễn ra phổ biến [1].

3. Phương pháp phát hiện, nhận dạng đối tượng tham gia giao thông [1, 29-30]

3.1. Nhận dạng phân loại đối tượng tham gia giao thông

Phân loại đối tượng là quá trình phân lớp đối tượng chuyển động thuộc lớp sự

vật nào (ô tô, xe máy, xe lam, xe đạp, người đi bộ, các vật thể,…). Các vùng chuyển

động phát hiện được (trong bước phát hiện đối tượng chuyển động) trong hình ảnh

tương ứng với các đối tượng khác nhau như người bộ hành, phương tiện giao thông,

các vật thể, … Nhận biết kiểu (loại) của một đối tượng phát hiện được để theo dõi tin

cậy và phân tích hành động của nó một cách chính xác là rất quan trọng. Có 2 cách

tiếp cận phổ biến:

(1) Phương pháp dựa trên hình dạng (shape).

(2) Phương pháp dựa trên sự chuyển động (motion).

Các phương pháp dựa trên hình dạng sử dụng thông tin không gian hai chiều

của đối tượng, trong khi đó các phương pháp dựa trên sự chuyển động sử dụng các đặc

trưng thuộc thời gian đã được theo dõi của các đối tượng cho giải pháp phân loại.

Loại 1: Phân loại dựa theo hình dạng

Các đặc trưng chung được sử dụng trong phân chia các đối tượng theo hình

dạng là tạo các hình chữ nhật bao quanh, tạo các vùng, hình chiếu và độ nghiêng của

các vùng chứa đối tượng được phát hiện.

Hướng tiếp cận này sử dụng độ dài các đường nét của hình chiếu và vùng thông

tin để phân loại các đối tượng đã được phát hiện. Phương pháp này phụ thuộc vào các

giả định, chẳng hạn như, nếu là con người, vật thể thì sẽ nhỏ hơn phương tiện và có

bóng phức tạp. Mức độ rải rác (dispersedness) được dùng như là một ma trận phân

Page 82: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

82

loại và nó được định nghĩa trong các giới hạn của các vùng của đối tượng và độ dài

đường viền (chu vi) như sau:

Chu vi2 Mức độ rải rác =

Vùng

Phương pháp phân loại này phát triển bởi Collins sử dụng cách nhìn dựa theo

các đặc trưng của thị giác để huấn luyện một mạng nơ-ron các đối tượng phân loại

thừa nhận các lớp. Đầu vào của mạng nơ-ron là mức độ rải rác, các miền, tỉ lệ tương

quan của các vùng đối tượng và độ phóng đại của các thiết bị ghi hình. Cũng như

phương pháp trước, việc phân loại được thực hiện trên mỗi frame và các kết quả được

đưa vào biểu đồ để duy trì sự phân loại theo thời gian.

Loại 2: Phương pháp dựa theo chuyển động

Một số phương pháp chỉ sử dụng các đặc trưng chuyển động theo thời gian của

các đối tượng để thừa nhận các lớp của chúng. Một cách tổng quát, chúng được dùng

để phân biệt các đối tượng cứng (như phương tiện giao thông) và không cứng (như

người, vật thể). Phương pháp này dựa trên cơ sở tính chất đặc biệt theo thời gian của 9

các đối tượng chuyển động. Với đối tượng được đưa ra ở chu kỳ chuyển động, đặc tính

của nó đo được cũng như hiển thị một chu kỳ chuyển động.

Phương pháp này khai thác đầu mối này để phân loại các đối tượng chuyển

động sử dụng chu kỳ. Phân tích luồng quang học (optical flow) cũng là hữu ích để

phân biệt các đối tượng “cứng” và đối tượng “mềm”. A.J. Lipton trình bày một

phương pháp được sử dụng phân tích optical flow cục bộ của các vùng đối tượng đã

được phát hiện. Nó được mong đợi cho các đối tượng mềm như là con người và sẽ đưa

ra giá trị flow trung bình, còn các đối tượng cứng như là phương tiện giao thông sẽ

được đưa ra giá trị flow nhỏ. Cũng vậy, phần còn lại trong chuyển động phát sinh của

con người sẽ có chu kỳ. Bằng cách sử dụng gợi ý này, chuyển động của con người và

cả con người có thể được phân biệt với vật thể, các đối tượng khác như là phương tiện

giao thông.

3.2 Khái niệm về hệ thống nhận dạng biển số xe

3.2.1 Khái niệm

Hệ thống nhận dạng biển số xe là hệ thống có khả năng phân tích hình ảnh và

xác định vùng chứa biển số trên xe, thông qua video, thiết bị ghi hình và hình ảnh.

Page 83: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

83

3.2.2 Lịch sử và phát triển

Năm 1992, công nghệ ALPR (Automatic License Plate Number) hay còn gọi là

tự động nhận dạng biển số xe, được phát triển tại Đại học Cambridge ở Vương quốc

Anh để ứng phó với chủ nghĩa khủng bố. Đến năm 1996, công nghệ ALPR đã được

hoàn thiện tại mỗi cổng phía tây Vương quốc Anh để đọc tất cả các biển đăng ký xe từ

Ireland. Công nghệ ALPR tiếp tục được nghiên cứu và phát triển tại Anh. Kể từ tháng

ba năm 2006, hầu hết các con đường, các trung tâm thị trấn, cảng, trạm xăng của

London đã được lắp đặt camera chạy phần mềm ALPR.

Trên thế giới hiện nay, bài toán nhận dạng biển số xe được nghiên cứu và phát triển

một cách sâu rộng. Nhiều tác giả với các công trình nghiên cứu được công bố với tỉ lệ

nhận dạng ngày càng chính xác. Một số bài báo cáo nghiên cứu của các tác giả tiêu

biểu trong vài năm trở lại đây như:

Chirag N. Paunwala, 2010 với nội dung: rút trích vùng số xe trong ảnh. Ảnh

đầu vào được tiền xử lý bằng cách phương pháp nâng cao chất lượng ảnh, sau đó tìm

biên bằng Vertical Edge và xử lý một lần nữa bằng Opening và Closing. Các vùng ứng

viên sau đó được kiểm tra bằng thuật toán scan theo dòng để tìm được vùng chứa biển

số xe chính xác. Kết quả nhận dạng 750 ảnh trong các điều kiện khác nhau cho tỉ lệ

742/750 = 99.2.

Choo Kar Soon, 2012 với nội dung: nhận dạng biển số xe tại Malaysia, sử dụng

giải thuật Adaboots để training tập dữ liệu gồm gần 100 ảnh biển số. Các ký tự được

nhận dạng bằng phương pháp KNN. Kết quả nhận dạng biển số 98% và nhận dạng ký

tự 95% trên ảnh tĩnh.

Báo cáo này nghiên cứu cách nhận dạng biển số xe với sự kết hợp của phép

biến đổi Hough và giải thuật tìm Contour để cải thiện kết quả phát hiện. Vùng các ứng

viên sau đó tiếp tục được scan theo dòng để đếm số đối tượng bị cắt và so sánh với

ngưỡng, nhằm tìm ra vùng ứng viên thõa mãn. Kết quả nhận dạng đạt 98-99%.

Phần mềm nhận dạng biển số xe, đã được ứng dụng thực tế tại các trạm cân,

trạm gửi xe, các trụ đèn giao thông để phát hiện xe vi phạm.

3.2.3. Cách thức hoạt động của hệ thống nhận dạng biển số xe

Hệ thống ALPR (Automatic License Plate Recognition) gồm phần cứng và

phần mềm, trong đó phần cứng là camera thu nhận ảnh xe và phần mềm có chức năng

nhận dạng biển số xe từ ảnh chụp của camera. Camera thu nhận ảnh được đặt tại một

Page 84: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

84

vị trí cố định sao cho có thể quét được hình ảnh xe một cách rõ ràng và chụp lại hình

ảnh đối tượng xe có chứa biển số. Ảnh này được đưa vào phần mềm nhận dạng để

trích ra chính xác biển số xe có trong ảnh, sau đó một thuật toán OCR (Optical

Character Recognition) được sử dụng để lấy từng ký tự và chuyển đổi thành định dạng

mà máy tính có thể phân biệt được các chữ và số như dạng text…Cùng với sự phát

triển của công nghệ, camera ngày nay đã có thể chụp một cách rõ nét trong điều kiện

xe chạy với tốc độ cao như ở các đường cao tốc.

Không có một hệ thống ALPR nào có thể nhận dạng chính xác 100%. Điều đó

phụ thuộc vào nhiều yếu tố như thời tiết, độ sáng, góc của camera tới xe,…Một số yếu

tố ảnh hưởng đến độ chính xác của hệ thống là:

(1) Độ phân giải của ảnh kém hoặc ảnh bị mờ.

(2) Điều kiện ánh sáng yếu, bị phản chiếu hoặc che bóng.

(3) Các đối tượng có dạng tương tự như biển số xe ở ngoại cảnh.

(4) Sự khác nhau về cấu trúc biển số xe của mỗi nước.

3.2.4. Phân loại các ứng dụng nhận dạng biển số xe

Có nhiều cách thức khác nhau để phân loại các ứng dụng nhận dạng biển số xe.

Một trong những cách đơn giản là phân loại ứng dụng nhận dạng biển số xe thông qua

mục đích sử dụng. Có thể chia ứng dụng nhận dạng biển số xe thành hai loại sau:

Loại 1: Giới hạn vùng nhìn

Đầu vào: Ảnh thu trực tiếp từ các thiết bị ghi nhận ảnh kỹ thuật số. Ảnh được

ghi nhận thường chỉ giới hạn trong vùng có biển số xe.

Nguyên lý hoạt động: Các phương tiện giao thông phải chạy với một tốc độ đủ chậm

để máy ghi nhận hình ảnh có thể thu được ảnh vùng biển số xe.

Ứng dụng: Những ứng dụng nhận dạng biển số xe loại này thường được dùng

tại các trạm kiểm soát, các trạm thu phí, các bãi gửi xe tự động, các trạm gác cổng.

Loại 2: Không giới hạn vùng nhìn

Đầu vào: Ảnh đầu vào thu được từ các thiết bị ghi hình tự động, không phụ

thuộc vào góc độ, các đối tượng xung quanh, ảnh không cần bắt buộc chỉ chụp vùng

chứa biển số xe, mà có thể ảnh tổng hợp như chứa thêm các đối tượng như người, cây

đường phố.., miễn là vùng biển số xe phải đủ rõ để có thể thực hiện nhận dạng được

ký tự trong vùng đó.

Page 85: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

85

Nguyên lý hoạt động: Do đặc tính không giới hạn vùng nhìn mà ảnh đầu vào có

thể thu được từ một thiết bị ghi hình (camara, máy ảnh…). Và do đó, công việc đầu

tiên là dò tìm trong ảnh, để xác định đúng vùng nào là biển số xe. Sau đó, thực hiện

tách vùng và nhận dạng. Cuối cùng tùy thuộc vào mục đích sử dụng mà kết quả nhận

dạng được truyền đi hay lưu trữ để phục vụ nhu cầu của người dùng cuối.

Ứng dụng: Vì không phụ thuộc vào hình ảnh thu được nên có thể dùng ứng

dụng tại nhiều nơi như tại những nơi điều tiết giao thông, tại các vị trí nhạy cảm của

giao thông như ngã ba, ngã tư đường giao nhau. Phát hiện, nhận dạng hành vi vi phạm

an toàn giao thông.

3.2.5. Ứng dụng thực tiễn tại Việt Nam

Hệ thống nhận dạng biển số xe được xây dựng nhằm mục đích giám sát, kiểm

soát các phương tiện. Dưới đây chúng ta đề cập đến một số ứng dụng phổ biến đối với

hệ thống nhận dạng biển số xe:

(1) Thu phí giao thông: Lắp đặt hệ thống “Nhận dạng biển số xe” tại các trạm

thu phí nhằm hỗ trợ hoặc tự động hóa công tác thu phí.

(2) Kiểm soát xe tại các đường biên giới: Mỗi quốc gia đều có những quy định

riêng về biển số xe, để phục vụ cho công tác quản lý và phát hiện những phương tiện

giao thông (xe) vượt biên giới bất hợp pháp. Việc lắp hệ thống “Nhận dạng biển số xe”

tại các trạm kiểm soát sẽ góp phần hỗ trợ công tác kiểm tra và an ninh quốc gia.

(3) Các trạm gác cổng: Việc lắp đặt hệ thống “Nhận dạng biển số xe” sẽ hỗ trợ

hoặc tự động hóa công tác mở cổng cho xe vào. Ngoài ra, hệ thống còn được ứng dụng

vào công tác chống trộm xe, các bãi giữ xe tự động, điều tiết giao thông (chẳng hạn

như Thành phố Dublin đã ứng dụng công nghệ “Nhận dạng biển số xe tự động” trong

việc điều tiết giao thông theo dạng biển số chẵn/lẻ).

3.2.6. Phân loại biển số xe

3.2.6.1. Quy định về màu sắc và các ký tự trên biển số

(1) Biển trắng, biển vàng chữ đen dành cho dân sự.

(2) Màu trắng 2 chữ, 5 số là biển dành cho người nước ngoài.

(3) NG là xe ngoại giao.

(4) NN là xe của các tổ chức, cá nhân nước ngoài: Trong đó 3 số ở giữa là mã

quốc gia, 2 số tiếp theo là số thứ tự.

Page 86: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

86

Ghi chú: Xe số 80 NG xxx-yy là biển cấp cho các đại sứ quán, thêm gạch đỏ ở giữa

và 2 số cuối là 01 là biển xe của tổng lãnh sự)

(5) Biển đỏ chữ trắng là dành cho quân đội.

Bảng 1: Quy định biển số cho quân đội

KÝ HIỆU TÊN ĐƠN VỊ

AT Binh đoàn 12

BB Bộ Binh

BH Binh chủng hóa học

BT Binh chủng thông tin liên lạc

HB Học viện lục quân

AT Binh đoàn 12

AD QĐ 4, Binh đoàn Cửu Long

BC Binh chủng công binh

BS Binh đoàn Trường Sơn

BP Bộ Tư lệnh biên phòng

HH Học viện quân y

AD QĐ 4, Binh đoàn Cửu Long

KA Quân khu 1

KC Quân khu 3

KV Quân khu 5

KK Quân khu 9

QH Quân chủng hải quân

TC Tổng cục chính trị

TK Tổng cục CN Quốc phong

TM Bộ tổng tham mưu

KB Quân khu 2

KD Quân khu 4

KP Quân khu 7

PP Các quân y viện

QK,QP QC phòng không không quân

TH Tổng cục hậu cần

TT Tổng cục kĩ thuật

VT Viettel

Page 87: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

87

3.2.6.2 . Quy định về biển số cho các tỉnh thành

Bảng 2: Quy định biển số cho các tỉnh thành

STT ĐỊA DANH STT ĐỊA DANH STT ĐỊA DANH

11

12

14

15,16

17

18

19

21

22

23

24

25

26

27

Cao Bằng

Lạng Sơn

Quảng Ninh

Hải Phòng

Thái Bình

Nam định

Phú thọ

Yên bái

Tuyên quang

Hà giang

Lào cai

Lai châu

Sơn la

Điện biên

43

47

48

49

50-59

60-39

61

62

63

64

65

66

67

68

Đà Nẵng

Đắc Lắc

Đắc Nông

Lâm Đồng

TP.HCM

Đồng nai

Bình dương

Long an

Tiền giang

Vĩnh long

Cần thơ

Đồng tháp

An giang

Kiên giang

77

78

79

80

81

82

83

84

85

86

88

89

90

92

Bình Định

Phú Yên

Khánh Hòa

Các đơn vị TW

Gia Lai

Kon tum

Sóc trăng

Trà vinh

Ninh thuận

Bình thuận

Vĩnh phúc

Hưng yên

Hà nam

Quảng nam

28

29-32

33

34

35

36

37

38

Hòa bình

Hà nội

Hà tây

Hải dương

Ninh bình

Thanh hóa

Nghệ an

Hà tĩnh

69

70

71

72

73

74

75

76

Cà mau

Tây Ninh

Bến tre

BR-VT

Quảng bình

Quảng trị

Huế

Quảng ngãi

93

94

95

97

98

99

Bình phước

Bạc Liêu

Hậu giang

Bắc cạn

Bắc giang

Bắc ninh

(Các xe mang biển A: Xe của Công An - Cảnh Sát tương ứng với các tỉnh)

3.3. Phương pháp nhận dạng biển số xe từ ảnh chụp của thiết bị ghi hình

Có nhiều phương pháp để giải quyết vấn đề này nhưng đều quy về các phương

pháp chính sau đây:

- Phương pháp dùng chuyển đổi Hough: dựa vào đặc trưng cạnh biên trích

được, áp dụng các phương pháp xác định đường thẳng như phép biến đổi Hough để

phát hiện các cặp đường thẳng gần song song ghép thành một ảnh biển số. Giao điểm

của những đoạn thẳng này chính là vùng bao chứa biển số xe.

Page 88: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

88

- Phương pháp hình thái học: dựa vào đặc trưng hình thái của biển số xe như

màu sắc, độ sáng, sự đối xứng… để xác định và trích ra ảnh biển số.

- Phương pháp khớp mẫu: xem biển số là một đối tượng có khung nền riêng và

sử dụng các cửa sổ dò để trích từng đối tượng đưa qua mạng noron (neural network),

trí tuệ nhân tạo (artificial intelligence) chẳng hạn để phân loại có phải là vùng biển số

hay không.

3.3.1. Phương pháp chuyển đổi Hough

Dò đặc trưng biên ngang, dọc: làm nổi bật các viền bao của tất cả các đối tượng

trong ảnh trong đó có viền bao biển số. Phương pháp sử dụng các bộ lọc gradient để

trích được các đặc trưng cạnh biên này. Nghiên cứu này sử dụng bộ lọc Sobel để tiến

hành dò. Dùng chuyển đổi Hough tìm các đoạn thẳng ngang dọc trên cở sở của ảnh nhị

phân biên cạnh thu được từ bước trên.

Tách các đoạn thẳng ngang, dọc có thể là cạnh của biển số.

Trích ứng viên biển số: thành lập các hình chữ nhật là ứng viên cho biển số với

tiêu chí cụ thể là các bộ 4 đoạn thẳng thu được sẽ qua đánh giá về kích thước, tỉ lệ

chiều rộng trên chiều cao so với một ngưỡng nào đó.

Ưu điểm: độ chính xác cao, không phụ thuộc vào màu sắc của biển số xe.

Nhược điểm: Độ phức tạp tính toán khá cao. Khi ảnh có thêm nhiêu đối tượng

khác thì khối lượng tính toán tăng lên rất nhiều do mục đích là phải xác định được

vùng con nào chứa biển số xe và phụ thuộc rất lớn vào bước trích đặc trưng biên cạnh

dẫn đến là các đoạn thẳng ứng viên thu được thường ngắn hơn nhiều so với chiều dọc

cũng như chiều ngang của biển số.

3.3.2. Phương pháp hình thái học

Nhóm tác giả Chirag N. Paunwala, 2012 đại diện cho phương pháp này, với kết

quả nhận dạng rất tốt 99.5%.

Nội dung của phương pháp: Dựa vào đặc trưng quan trọng là biển số xe máy có

độ sáng (tức mức xám khi chuyển bức ảnh về dạng xám) là tương đối khác so với các

vùng khác trong bức ảnh, cũng như sự phân bố mức xám là khá đồng đều trên biển số

và vì vậy khi được nhị phân hoá, vùng biển số là một đối tượng có đặc thù hình thái,

có thể phân biệt được với các vùng khác . Như vậy các bước thực hiện là:

(1) Xác định ngưỡng xám. Thực chất là không có phương pháp nào chọn cho

đúng ngưỡng xám để thực hiện. Thay vào đó, ngưỡng xám sẽ được quét trong một

Page 89: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

89

khoảng nào đó. Thông qua lược đồ xám ta nhận thấy vùng biển số thường sẽ có độ

sáng tương đối lớn (từ 130-200EV) vì vậy ta sẽ xác định ngưỡng xám cần chọn sẽ

thuộc vùng này nhờ đó ta sẽ giảm được thời gian lặp tìm ngưỡng xám.

(2) Nhị phân hoá ảnh xám đầu vào với ngưỡng xám đã xác định.

(3) Lọc các nhiễu gây ảnh hưởng xấu tới đối tượng biển số.

(4) Gắn nhãn cho các đối tượng trong ảnh nhị phân thu được.

(5) Trích ra các đối tượng ứng viên biển số theo tiêu chí cụ thể của biển số xe

về chiều cao, chiều rộng, tỉ lệ các cạnh, diện tích, trọng tâm, số điểm cắt,…

Hình 42: Ảnh xám và lược đồ xám của ảnh

3.4. Phương pháp nhận dạng ký tự trong biển số xe

Phương pháp phổ biến nhất để nhận dạng ký tự là sử dụng mạng noron (hoặc

SVM, K-NN,…), tức là huấn luyện cho máy tính để nhận dạng các ký tự. Tuy nhiên

do số lượng ký tự trên biển số là không nhiều nên để đảm bảo tốc độ xử lý, chúng ta

cũng có thể sử dụng phương pháp Hình thái học để giải quyết khâu này bởi vì các ký

tự đều có những đặc điểm hình thái đặc biệt có thể phân biệt với nhau chẳng hạn như

“0” có lỗ trống ở giữa, “8” có 2 lỗ trống hay “X” đối xứng 2 trục dọc và ngang…Khâu

này được thực hiện trên cơ sở xây dựng cây nhị phân tối ưu của các đặc điểm hình thái

nên đảm bảo tính khoa học và tính chính xác cao. Thuật toán cơ bản của bước này như

sau:

- Quan sát chọn ra các đặc tính phân biệt ký tự để xây dựng ma trận đặc tính.

- Xây dựng cây nhị phân tối ưu từ ma trận đặc tính và tập ký tự thu được.

- Quan sát cây nhị phân, kiểm tra số đặc tính như vậy đã đủ để nhận dạng chưa,

thiếu (dư) thì phải bổ sung (bỏ đi) và quay lại bước đầu tiên.

- Tiến hành nhận dạng các ký tự trên cơ sở cây nhị phân tối ưu tìm được.

3.5. Một số đặc điểm để nhận dạng biển số xe tại Việt Nam

a) Tiêu chuẩn về kích thước (theo quy định của Bộ Giao thông vận tải):

Page 90: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

90

Ở mỗi nước thường có tiêu chuẩn về kích thước nhất định. Đối với nước ta,

biển số xe qui định khá đồng đều cho mỗi loại xe, tỷ lệ chiều dài, rộng cho mỗi loại xe

là như nhau. Quy định về kích thước như sau:

(1) Biển ô tô:

- Chiều cao: 110 mm. Chiều rộng: 470 mm (biển dài).

- Chiều cao: 200 mm. Chiều rộng: 280 mm (biển vuông).

(2) Biển xe máy:

- Chiều cao: 140 mm. Chiều rộng: 190 mm.

Như vậy, tỉ lệ Chiều cao / Chiều rộng là:

- 0.18 < Chiều cao/Chiều rộng < 0.3 (biển số có 1 hàng).

- 0.6 < Chiều cao/Chiều rộng < 0.85 (biển số xe có 2 hàng).

Từ các đặc điểm này, ta có thể xác định được vùng nào có khả năng là biển số

theo ràng buộc về kích thước.

b) Tiêu chuẩn về ký tự:

Theo đo đạc trên biển số thực tế, mỗi ký tự thường có tỷ lệ kích thước về chiều

rộng, chiều cao tương ứng với chiều dài và rộng của biển số xe. Ví dụ, chiều cao của

mỗi ký tự luôn nhỏ hơn 85% chiều cao của biển số xe và luôn lớn hơn 60% chiều cao

của biến xe đối với biển số xe có một hàng, với biển số xe có hai hàng thì chiều cao

mỗi kí tự không quá 50% chiều cao của biển số xe. Chiều rộng của ký tự thường

không lớn hơn 20% chiều cao của mỗi ký tự. Mỗi ký tự của biển số xe được xem như

là một vùng liên thông con hay contour con (bao đóng). Do đó, chúng ta có thể đếm số

contours con thỏa mãn tính chất đó là ký tự. Ở nước ta chỉ có số ký tự trên mỗi biển số

xe nằm trong khoảng 6 đến 9 ký tự.

Từ những phân tích trên, có thể tóm tắt phương pháp thực hiện của chương

trình nhận dạng như sau:

Bước 1: Ảnh đầu vào là ảnh màu BGR, tiền xử lý bằng các thuật toán xử lý

ảnh.

Bước 2: Tìm các contour trên ảnh xe. (Mỗi contour là 1 vùng bao kín, do vùng

biển số là 1 vùng bao kín nên sẽ tương ứng với một contour).

Bước 3: Lọc các contour theo các tiêu chí như kích thước, góc, tỉ lệ, số kí tự,…

Bước 4: Xử lý kết quả đầu ra để lấy vùng biển số.

Bước 5: Tách ký tự trên vùng biển số tìm được.

Page 91: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

91

Bước 6: Đưa tập ký tự đã tách vào mạng nơ-ron để nhận dạng.

Bước 7: Hiển thị kết quả lên giao diện chương trình.

Page 92: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

92

Chương 3. Áp dụng Yolov3 cho bài toán phát hiện, nhận dạng đối tượng tham gia

giao thông vi phạm luật giao thông đường bộ

1. Kỹ thuật đề xuất áp dụng cho bài toán

Trí tuệ nhân tạo được ứng triển khai thí điểm tại Dự án giao thông thông minh

tại Bà Rịa - Vũng Tàu là công nghệ chủ chốt của công nghiệp 4.0 được nghiên cứu xây

dựng và làm chủ công nghệ. Đây là một Dự án sản xuất thử nghiệm (SXTN) cấp tỉnh

được triển khai áp dụng thí điểm tại 01 điểm giao lộ đường Huỳnh Minh Thạnh và

27/4 thị trấn Phước Bửu, huyện Xuyên Mộc đã và đang phát huy hiệu quả và độ chính

xác cao khi triển khai vào sử dụng thực tế tại Bà Rịa - Vũng Tàu. Điểm vượt trội của

công nghệ để nghiên cứu, thử nghiệm, nâng cấp và tinh chỉnh để phù hợp với tình hình

tham gia giao thông phức tạp, hỗn loạn như ở Bà Rịa – Vũng Tàu nói riêng, cả nước

nói chung. Luận văn áp dụng mạng nơ-ron tích chập (CNN) theo phương pháp nhìn

một lần (YOLO) có thể hoạt động theo thời gian thực với độ chính xác cao nhằm phát

hiện, nhận dạng và xử lý các hành vi vi phạm trật tự an toàn giao thông, góp phần

giảm thiểu ùn tắc, tai nạn cho người và phương tiện tham gia giao thông. Đồng thời

giúp công tác tuần tra kiểm soát trật tự, an ninh và phát hiện kịp thời, có chứng cứ

pháp lý về hình ảnh nhằm cung cấp cho lực lượng chức năng khi điều tra các vụ việc

xảy ra trên đường góp phần đảm bảo an ninh trật tự xã hội.

Trên cở sở đó, cá nhân đề xuất áp dụng công nghệ mạng nơ-ron tích chập

(CNN) theo phương pháp nhìn một lần (YOLO) nhằm nhận dạng và phân loại đối

tương chính cho bài toán được sử dụng kết hợp bộ công cụ thư viện mã nguồn mở

OPENCV, hỗ trợ bởi thư viện YOLO trên môi trường PYTHON và thiết bị ghi hình để

giai quyêt vân đê trên.

1.1. Kỹ thuật áp dụng mạng nơ-ron tích chập (Faster R-CNN)

Faster R-CNN là một thuật toán để tìm kiếm vị trí của vật thể trong ảnh. Thuật

toán này sẽ có đầu ra là những hình hộp, cùng với vật thể bên trong hộp đó là gì. Phiên

bản đầu tiên của Faster R-CNN là R-CNN với nguyên lý khá đơn giản. R-CNN sử

dụng một thuật toán (selective search) để đưa ra các đường viền bao quanh và nhãn

(tên gọi của vật thể bên trong hộp - bounding boxes) hay còn gọi vùng đề xuất (region

proposals) chứa các vùng có thể có vật thể ở trong. Tiếp theo RCNN sử dụng các

mạng đã được huấn luyện sẵn như Alex-net hoặc VGG-16 để tính toán (feed-forward)

đến các vùng (regions) thu được những đặc trưng trong ảnh (convolutional features)

Page 93: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

93

của mỗi vùng (region), sau đó sử dụng kỹ thuật nhị phân (SVM) huấn luyện để xác

định được vật thể nào được chứa trong vùng đề xuất (region proposal). Để giảm độ lỗi

R-CNN sử dụng kỹ thuật (Linear Regression) để hiệu chỉnh các giá trị (vị trí các đỉnh)

của đối tượng trong vùng đề xuất.

Faster R-CNN sử dụng các mạng huấn luyện sẵn để tính toán (feed-forward)

trong các vùng đề xuất (region proposals), công việc này sẽ mất rất nhiều thời gian bởi

với mỗi ảnh đều sử dụng thuật toán (selective search) sẽ đưa ra kết quả là hàng nghìn

vùng đề xuất (region proposals). Từ đó, Faster R-CNN sử dụng mạng huấn luyện sẵn

để tính toán (feed-forward) một lần đối với ảnh gốc, sau đó thu được những đặc trưng

(convolutional features) của ảnh đó. Ví dụ với một hình ảnh có kích thước

600×600×3, ta sẽ thu được đặc trưng (convolutional features) với kích thước

37×37×512. Kích thước của đặc trưng (features) bị giảm nhỏ khoảng 16 lần. Faster R-

CNN dựa vào kích thước cùng vị trí của các vùng đề xuất (region proposals) đối với

ảnh gốc, ta sẽ tính toán được vị trí của những đặc trưng cụ thể trong vùng đề xuất.

Faster R-CNN sử dụng giá trị đặc trưng trong vùng đề xuất, ta dự đoán được vị trí các

đỉnh của đường viền bao quanh (bounding box) cũng như vật thể nằm trong đường

viền bao quanh đó là gì.

Đối với Faster R-CNN do chia sẻ tính toán giữa các vùng trong ảnh, tốc độ thực

thực thi của thuật toán đã được giảm từ 120 giây mỗi ảnh xuống 2 giây. Phần tính toán

gây ra nghẽn chính là phần đưa ra các vùng đề xuất (region proposal) đầu vào, chỉ có

thể thực thi tuần tự trên bộ xử lý (CPU).

Faster R-CNN không dùng thuật toán tìm kiếm vật thể trong ảnh (selective

search) để lấy ra các vùng đề xuất, từ đó có thêm một mạng CNN mới gọi là mạng đề

xuất khu vực (Region Proposal Network - RPN) để tìm trích xuất các đặc trưng từ

các vùng đề xuất để trả kết quả thông qua các đường viền bao quanh, sau đó gắn nhãn

cho đối tượng cần xem xét trong vùng đề xuất. Vì vậy sẽ giúp cải thiện hơn 10 lần về

tốc độ tính toán so với Faster R-CNN. Đối với mạng đề xuất khu vực (RPN) nhận đầu

vào là ảnh với kích thước bất kỳ và cho đầu ra là các vùng đề xuất (tập vị trí của các

hình chữ nhật có thể chứa vật thể), cùng với xác suất chứa vật thể của hình chữ nhật

tương ứng.

Page 94: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

94

Hình 43: Kiến trúc Darknet-53

1.2. Kỹ thuật áp dụng nhìn một lần [32-34]

You Only Look Once – YOLO đó là thuật toán phat hiên đối tượng sử dụng các

tính năng được học sâu thông qua mạng nơ-ron tích chập nhằm phát hiện một đối

tượng.

Nhận dạng đối tượng giúp giảm công sức của con người trong nhiều lĩnh vực.

Trong lĩnh vực giao thông thông minh sử dụng YOLO phiên bản 3 để phát hiện đối

tượng là các phương tiện và người tham gia giao thông. Phiên bản này với darknet-53

bao gồm 53 lớp, là một mô hình mạnh để phát hiện đối tượng trong ảnh kể cả các đối

tượng nhỏ với độ chính xác cao.

Giải thuật YOLO thao tác bằng cách chia ảnh đầu vào bất kỳ thành hệ thống

lưới S × S. Mỗi ô lưới dự đoán số lượng “Khung ranh giới (Boundary Box)" cho một

đối tượng. Mỗi khung ranh giới gồm 5 giá trị: (x, y, w, h, confidence score).

Trong đó x, y là tọa độ đối tượng trong ảnh đầu vào, w và h lần lượt là chiều

rộng và chiều cao đối tượng “confidence score” là xác suất hộp chứa đối tượng và độ

chính xác của khung ranh giới. Hình 44 mô tả khung ranh giới xác định đối tượng

chim.

Page 95: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

95

Hình 44: Khung ranh giới xác định đối tượng chim

Giải thuật YOLO phát hiện, định vị và phân loại đối tượng diễn là trong 1 lần

duy nhất. Do vậy, nên được áp dụng để phát hiện đối tượng thời gian thực. Hình 45

phân loại 3 đối tượng: cat, dog và duck

Hình 45: Phát hiện, định vị và phân loại nhiều đối tượng

You Only Look Once – YOLO có 3 phiên bản. Phiên bản đầu tiên (YOLOv1)

sử dụng kiến trúc Darknet được đào tạo trên tập ImageNet-1000. Kiến trúc này dẫn

đến những hạn chế như:

(1) Không thể tìm thấy các đối tượng nhỏ.

(2) Các đối tượng quá sát nhau.

(3) Không thể khái quát các đối tượng nếu hình ảnh có kích thước khác với hình

ảnh đào tạo.

Hình 46: YOLO phiên bản 1 có những hạn chế đối với phát hiện đối tượng nhỏ

Page 96: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

96

Phiên bản thứ 2 của YOLO (YOLOv2) còn được gọi là YOLO9000 được cải

tiến tốt hơn, nhanh hơn, tiên tiến hơn để cạnh tranh với mô hình Faster R-CNN rất

mạnh ra đời với thời gian đó. Những cải tiến của YOLOv2 so với YOLOv1 đó là:

- Batch Normalization: chuẩn hóa hàng loạt ở các lớp tích chập, làm giảm sự

thay đổigiá trị trong các lớp ẩn, cải thiện tính ổn định của mạng lưới.

- Higher Resolution Classifier: kích thước đầu vào trong YOLOv2 đã được tăng

từ 224×224 lên 44×448. Việc tăng kích thước đầu vào của hình ảnh đã cải thiện hình

ảnh (độ chính xác trung bình trung bình) lên tới 4%.

- Anchor Boxes: một trong những thay đổi đáng chú ý nhất có thể nhìn thấy

trong YOLOv2 là giới thiệu các anchor box. YOLOv2 thực hiện phân loại và dự đoán

trong một khung duy nhất. Các anchor box này chịu trách nhiệm dự đoán boundary

box và các anchor box này được thiết kế cho một tập dữ liệu nhất định bằng cách sử

dụng thuật toán phân cụm (k-means clustering).

- Fine-Grained Features: một trong những hạn chế chính được đưa ra trong

YOLOv1 là phát hiện các vật thể nhỏ trên hình ảnh. Điều này đã được giải quyết trong

YOLOv2 bằng cách chia hình ảnh thành các ô lưới 13×13 nhỏ hơn so với phiên bản

trước đó. Điều này cho phép YOLOv2 xác định các đối tượng nhỏ hơn trong hình ảnh

và cũng hiệu quả với các đối tượng lớn hơn.

- Multi-Scale Training: trên YOLO v1 có một điểm yếu phát hiện các đối tượng

với các kích cỡ đầu vào khác nhau, nếu YOLO được đào tạo với các hình ảnh nhỏ của

một đối tượng cụ thể thì nó có vấn đề phát hiện cùng một đối tượng trên hình ảnh có

kích thước lớn hơn. Điều này đã được giải quyết rất tốt trong YOLOv2, nơi nó được

đào tạo với các hình ảnh ngẫu nhiên với các kích thước khác nhau trong khoảng từ

320×320 đến 608×608. Điều này cho phép mạng tìm hiểu và dự đoán các đối tượng từ

các kích thước đầu vào khác nhau với độ chính xác cao.

- Darknet 19: YOLOv2 sử dụng kiến trúc Darknet 19 với 19 lớp chập và 5 lớp

max-pooling và một lớp softmax cho việc phân loại đối tượng.

Điều đó chứng minh YOLOv2 đã cho thấy một sự cải tiến lớn trong việc phát

hiện các vật thể nhỏ hơn với độ chính xác cao hơn nhiềuso với phiên bản trước

(YOLOv1).

YOLO phiên bản mới nhất (YOLOv3) có tất cả những gì cần để phát hiện đối

tượng thời gian thực với độ chính xác cao. Cụ thể những cải tiến trong YOLOv3 đó là:

Page 97: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

97

- Bounding Box Predictions: YOLOv3 cho điểm cho các đối tượng cho mỗi

boundarybox. Nó sử dụng hồi quy logistic để dự đoán điểm.

- Class Predictions: YOLOv3 sử dụng phân loại logistic cho mọi lớp thay vì

softmax đã được sử dụng trong YOLOv2 trước đó. Bằng cách làm như vậy YOLOv3

có thể có phân loại đa nhãn.

- Feature Pyramid Networks (FPN): YOLOv3 đưa ra các dự đoán tương tự như

FPN trong đó 3 dự đoán được thực hiện cho mọi vị trí hình ảnh đầu vào và các đặc

tính được trích xuất từ mỗi dự đoán. Bằng cách đó, YOLOv3 có khả năng tốt hơn ở

các kích thước đầu vào khác nhau.

- Darknet-53: YOLOv2 đã sử dụng Darknet-19 để trích xuất các đặc tính và

YOLOv3 sử dụng mạng Darknet-53 để trích xuất các đặc tính với 53 lớp chập. Nó sâu

hơn nhiều so với YOLOv2 và cũng có các kết nối tắt (shortcut connections). Darknet-

53 bao gồm chủ yếu các bộ lọc 3×3 và 1×1 với các kết nối tắt.

Hình 47: Kiến trúc Darknet-19

3. Mô hình và chức năng hệ thống đề xuất áp dụng cho bài toán

3.1 Địa điểm áp dụng thử nghiệm mô hình cho bài toán

Mô hình áp dụng thử nghiệm cho bài toán được lựa chọn xây dựng thí điểm cho

một ngã tư điểm giao lộ đường Huỳnh Minh Thạnh và đường 27/4 thị trấn Phước Bửu,

huyện Xuyên Mộc, tỉnh Bà Rịa - Vũng Tàu là cửa ngõ giao thông huyết mạch kết nối

Page 98: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

98

giữa các địa phương trong tỉnh, cũng như ngoài tỉnh, và là một điểm giao lộ với mật độ

phương tiện tham gia giao thông cao, phức tạp và thường xuyên xảy ra tai nạn giao

thông.

3.2. Thiết kế mô hình lắp đặt hệ thống cho bài toán

Hình 48: Bản vẽ thiết kế mô hình lắp đặt hệ thống

3.3. Thiết kế hệ thống trụ đỡ

Kích thước trụ theo quy chuẩn kỹ thuật quy định Việt Nam. Trụ được mạ kẽm

nhúng nóng tránh tình trạng rỉ sét, sử dụng trụ tấm thép dày chắc chắn, tránh xe gây tai

nạn làm gãy, đổ. Với tình hình thực tế tiến hành lắp đặt 4 trụ đèn và đước lắp đặt cách

trụ đèn giao thông 5m.

- Thân trụ bát giác cao 6m

- Trụ thép tấm dày 5mm, đường kính chân D240 – Đỉnh D200

- Tay vươn thép dày 4mm, đường kính D120 – Đỉnh D100

- Hệ thống dùng cọc tiếp địa chống sét để hệ thống có thể hoạt động trong mọi

thời tiết mưa, bão.

- Tiến hành xây dựng trụ theo đúng thiết kế.

3.4. Hệ thống Camera

Vị trí camera phải đủ góc quay để có thể quan sát được tín hiệu đèn giao thông,

biển số xe, làn đường. để đảm bảo thiết kế và lắp đặt 4 Camera đảm ba3p thông số kỹ

thuật sau:

- Camera giám sát có độ phân giải cao đảm bảo ảnh chụp phương tiện vi phạm,

biển số xe vi phạm rõ nét để có thể tự động nhận dạng biển số xe vi phạm,

- Camera có trang bị đèn hồng ngoại để trong điều kiện thiếu ánh sáng, ngược

sáng vẫn quan sát rõ hình ảnh.

Page 99: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

99

- Camera có khả năng bảo vệ chống bụi, nước để trong thời tiết mưa gió và bụi

camera không bị bám bẩn, nhòe vẫn đảm bảo được hình ảnh rõ nét.

- Camera có khả năng chống va đập nhằm tránh tình trạng phương tiện giao

thông va đập, đụng trúng cũng không gây ảnh hưởng tới camera.

3.5. Thiết kế mô hình kết nối hệ thống xử lý bài toán

Hình 49: Mô hình kết nối-truy xuất hệ thống

- Hệ thống hoạt động theo cơ chế sau: Các camera thực hiện giám sát liên tục

24/24 sau đó hình ảnh được đẩy lên hệ thống dữ liệu điện toán đám mây (Coud

Computing), tại đây hình ảnh được phân tích, xử lý:

+ Nhận dạng phương tiện tham gia giao thông.

+ Xác định các phương tiện vi phạm.

+ Phân tích và nhận dạng biển số của phương tiện vi phạm.

- Người dùng giám sát hệ thống thông qua các thiết bị di động hoặc máy tính,

tạo biên bản và in ấn các hình ảnh vi phạm khi cần.

Hình 50: Cấu trúc phần cứng cho hệ thống

Page 100: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

100

Hình 51: Cấu trúc phần mềm xử lý cho hệ thống

- Các thành phần kết nối Trung tâm dữ liệu xử lý chính (DC) và Trung tâm dữ

liệu dự phòng (DR)

(1) Trung tâm dữ liệu xử lý chính - Data center (DC).

(2) Trung tâm dữ liệu dự phòng - Data Center Disaster Recovery (DR).

(3) Dữ liệu được đồng bộ giữa 2 site DC - DR bằng đường truyền tốc độ cao.

(4) Kết nối hệ thống WAN giữa 2 site DC – DR.

(5) Thiết bị và cấu hình hệ thống DR tương thích với thiết bị và cấu hình hệ

thống của DC.

(6) Đảm bảo khi Trung tâm dữ liệu xử lý chính có sự cố, Trung tâm dữ liệu dự

phòng sẵn sàng thay thế Trung tâm dữ liệu xử lý chính.

- Giải pháp khôi phục dữ liệu Disaster Recovery

(1) Trung tâm dữ liệu chính (Data center – DC): Bao gồm hệ thống các thiết bị

máy chủ, máy trạm, thiết bị lưu trữ – Backup, các thiết bị kết nối, kênh truyền dẫn Cáp

quang, hệ thống mạng LAN, SAN (Storage Area Network), v.v

(2) Trung tâm dữ liệu dự phòng thảm họa từ xa (Disaster Recovery – DR): Một

Data Center Disaster recovery từ xa với đầy đủ trang thiết bị như một hệ thống trung

tâm dữ liệu chính, sao lưu – Baclup, bảo vệ toàn bộ dữ liệu của hệ thống, duy trì tính

liên tục của hệ thống thông tin.

Page 101: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

101

3.6. Sơ đồ tổng quan hệ thống áp dụng cho bài toán

Lưu đồ các bước cơ bản trong một hệ thống áp dụng cho bài toán

3.7. Hệ thống xử lý ảnh, phát hiện và nhận diện đối tượng

3.7.1. Quy trình xử lý ảnh áp dụng cho bài toán

Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào từ thiết bị

ghi hình nhằm tạo ra kết quả đầu ra theo mong muốn. Kết quả đầu ra của một quá trình

xử lý ảnh có thể là một hình ảnh tốt hơn hoặc nhận định đưa ra một kết luận nào đó

được thể hiện qua sơ đồ tổng thể của hệ thống.

3.7.1.1. Sơ đồ xử lý tổng quát

Tiền xử lý

dữ liệu đầu vào

Đào tạo mô hình

phát hiện, nhận dạng đối tượng

Phân loại đối tượng

qua ảnh

Phát hiện

hành vi vi

phạm

Trích xuất Video từ thiết bị camera giám sát

Đặt ID cho đối tượng

Cài đặt môi

trường hỗ trợ

Mô hình máy học kết học

giải thuật

YOLO

Theo dõi đối tượng xuất hiện

Định dạng và phân

vùng

Tổng hợp các lớp đối tượng vật

thể

Cài đặt các thông số cho mô

hình

Đọc hình ảnh từ Video

Xác định

hành vi vi

phạm

Huấn luện áp dụng

giải thuật

Phân loại đối tượng

Xác định đối

tượng vi

phạm

Thu nhận ảnh

(Scaner, Camera,..)

Page 102: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

102

Quyết định

Lưu trữ

Lưu đồ các bước cơ bản trong một hệ thống áp dụng cho bài toán

3.7.1.2. Đặc tả lưu đồ xử lý ảnh của một hệ thống đề xuất

Bước 1: Thu nhận ảnh: Là quá trình tiếp nhận ảnh đầu vào thông qua các thiết

bị ghi hình trong hệ thống.

Bước 2: Tiền xử lý: Từ hình ảnh đầu vào thông qua quá trình thực hiện xử lý

hình ảnh nhằm nâng cao chất lượng hình ảnh như giảm nhiễu, phân vùng, tìm biên,…

Bước 3: Dự đoán: Sau công đoạn tiền xử lý để khắc phục một số lổi ảnh như

giản nhiễu, phân vùng, tìm biện từ đó hình ảnh được nâng cao chất lượng tốt hơn so

với hình ảnh lúc đầu vào. Từ đó thuật toán đưa ra dự đoán kết qủa cho bức ảnh để

chuyển tiếp vào công đoạn cho bước hậu xử lý và đưa ra quyết định.

Bước 4: Hậu xử lý: Là quá trình xử lý các kết quả của dự đoán để có thể lược

bỏ hoặc biến đổi các kết quả này phù hợp với các yêu cầu kỹ thuật cụ thể sử dụng

trong hệ quyết định.

Bước 5: Hệ quyết định và lưu trữ: Là công đoạn xử lý nhằm đưa ra quyết định

phân loại, phát hiện dựa trên dữ liệu đã được học.

Kết luận: Từ các cơ sở trên hệ thống đưa ra kết luận dựa vào quyết định của

khối quyết định. Tóm lại những vấn đề cơ bản trong hệ thống xử lý ảnh cần phải xem

xét, đề cập đến các yếu tố như: nắn chỉnh biến dạng; khử nhiễu; chỉnh số mức xám và

nén ảnh.

3.7.2. Quy trình phát hiện, nhận dạng và phân loại đối tượng

3.7.2.1. Đặc tả lưu đồ hệ thống

Các hệ thống phát hiện và nhận dạng đối tượng hiện nay thông thường được

tiến hành qua 3 bước xử lý chính trong một hệ thống đó là:

Bước 1: Sử dụng 1 mô hình hoặc 1 thuật toán để tạo ra các vùng ứng viên, các

khu vực quan tâm. Các vùng ứng viên này là 1 tập hợp lớn các hộp giới hạn để xác

định đối tượng.

Bước 2: Từ đó tiến hành việc trích xuất đặc trưng từ các hộp giới hạn tìm được,

chúng được đánh giá và xác định xem đối tượng nào có mặt trong hộp giới hạn đó hay

không.

Thu nhận ảnh

(Scanner, Camera,..)

Tiền xử

Dự

đoán

Hậu xử

Kết quả

Page 103: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

103

Bước 3: Trong bước hậu xử lý cuối cùng, các hộp chồng chéo nhau được kết

hợp thành một hộp giới hạn thông qua việc áp dụng một số thuật toán như Non-

maximum suppression,…

3.7.2.2. Áp dụng thuật toán You Only Look Once – YOLO cho bài toán

phat hiên, phân loại đối tượng

Bước 1: Thu nhận hình ảnh từ các thiết bị ghi hình trong hệ thống (camera giao

thông) và thực hiện tiền xử lý dữ liệu đầu vào.

Bước 2: Sử dụng thuật toán phát hiện một lần (YOLOv3) đã được huấn luyện

(Deep learning) để phát hiện và trả về kết quả bao gồm hộp giới hạn và đối tượng xuất

hiện trong các hộp giới hạn đó.

Bước 3: Từ đó ta tiếp tục thực hiện quy trình hậu xử lý để loại bỏ các hộp

chồng chéo, theo dõi các phương tiện,…

Để đảm bảo kết quả xử lý cần điều kiện ràng buộc kèm theo như:

(1) Để thu được kết quả chính xác cao đòi hỏi việc thi công l;ắp đặt các thiết bị

ghi hình (camera giao thông) phải đặt ở vị trí phù hợp như giữa các làn xe để có góc

nhìn rộng tránh trường hợp các phương tiện bị che khuất và đảm bảo được vị trí ánh

sáng tốt.

(2) Đối với hệ thống xử lý trung tâm cần được hỗ trợ bởi các máy tính xử lý có

nhiều CPU hoặc GPU giúp cho việc phát hiện các phương tiện nhanh và chính xác

đảm bảo thời gian thực.

Kết luận:

YOLO (You only look once) là một mô hình học sâu dựa trên CNN để phát

hiện đối tượng. YOLO là một mô hình cân bằng nhằ đảm bảo được giữa tốc độ dự

đoán và độ chính xác so với các mô hình phát hiện đối tượng hiện đại như Faster

RCNN, SSD,… YOLO có thể hoạt động trên các thiết bị cấu hình thấp như Raspberry

Pi, NUC,… việc lựa chọn giải thuật YOLO là rất phù hợp cho các bài toán đòi hỏi tốc

độ xử lý theo thời gian thực như như trong đề xuất bài toán, giám sát giao thông, xe tự

lái, các hệ thống giám sát an ninh,...

Bên cạnh đó áp dụng giải thuật YOLOv3 cho bài toán phát hiện, nhận dạng

không chỉ xử lý việc phát hiện được đối tượng trong hình ảnh mà còn nhận dạng, phân

loại được đối tượng tham gia giao thông là người hay là xe..

3.7.2.3. Đặc tả lưu đồ xử lý các bước của giải thuật

Page 104: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

104

Quyết định

Lưu trữ

Lưu đồ các bước nhận dạng đối tượng cho bài toán đề xuất

Dữ liệu đầu vào Áp dụng giải thuật YOLOv3 01 xe ô tô và 01 xe máy

Hình 52: Phát hiện đối tượng áp dụng giải thuật YOLOv3

3.7.2.4. Mô tả quy trình phát hiện và nhận dạng đối tượng

Mô hình hoạt động của YOLOv3 là chia ảnh thành nhiều box, mỗi box sẽ chịu

trách nhiệm xác định đối tượng có trong box đó. YOLO sử dụng toàn bộ thông tin của

bức ảnh và dự đoán toàn bộ các box chứa đối tượng. Như trong hình 40 bên dưới sẽ

được chia thành ma trận có kích thước 7x7, mỗi ô (cell) sẽ chứa thông tin về tọa độ và

kích thước của box, khả năng xuất hiện đối tượng của box và xác suất của các lớp có

thể xuất hiện trong box đó.

Hình 53: Các bước dự đoán áp dụng theo giải thuật YOLOv3

Mô hình hoạt động YOLOv3 còn được thực hiện với nhiều tỷ lệ khác nhau giúp

mô hình có thể phát hiện được các đối tượng có nhiều kích thước khác nhau như:

Thu nhận ảnh (Scaner,

camera,…)

Mô hình nhận

dạng

Kết quả

nhận dạng

Page 105: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

105

Hình 54: Sơ đồ mô hình theo kến trúc áp dụng YOLOv3 theo tỷ lệ

Tại mỗi tỷ lệ mô hình sẽ cùng dự đoán các thông tin giống nhau sau đó sử dụng

thuật toán Non-Maximum Suppression(NMS) để xác kết quả cuối cùng áp dụng giải

thuật YOLOv3 với B là số box mà mỗi ô (cell) chịu trách nhiệm dự đoán

Hình 55: Kết quả dự đoán áp dụng giải thuật YOLOv3

Tóm lại: Họ các thuật toán về YOLO (You Only Look Once) nói chung và

thuật toán áp dụng YOLOv3 nói riêng cho bài toán đề xuất dùng để nhận dạng các đối

tượng, các vật thể theo thời gian thực.

3.7.2.5. Quy trình các bước triển khai mô hình thực hiện

Page 106: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

106

Để triển khai việc cài đặt chương trình áp dụng các giải thuật cho bài toán phát

hiện, nhận dạng đảm bảo kết quả tất nhiên cần phải có môi trường, cụ thể là cài đặt bộ

mã nguồn thư viện hỗ trợ OpenCV cho hệ thống:

Bước 1: Tiến hành tạo môi trường và thực hiện cài đặt các thư viện cần thiết

liên quan cho hệ thống.

Bước 2: Thiết lập các tham số, hệ số cho các ngưỡng theo chương trình.

Bước 3: Tiến hành tải pretrained model và tiến hành cài đặt hệ thống theo mô

hình theo giải thuật YOLOv3 muốn chạy (Tải file .weights và file .cfg tương ứng; sau

đó thực hiện copy weights và file config vào thư mục tương ứng) và thực hiện thao tác

chạy chương trình đã mặc định.

Bước 4: Cho hiển thị giao diện kết nối mô hình theo giải thuật YOLOv3 đã mặc định.

Bước 5: Tổ chức huấn luyện theo phương pháp lựa chon và thiết lập các thông số liên quan.

Bước 6: Phát hiện, nhận dạng và phân loại xác định được đối tượng thông qua

giải thuật cho máy học (Deep learning) kết hợp giải thuật YOLOv3 với bộ dữ liệu

được huấn luyện nhiều đối tượng khác nhau.

Bước 7: Hiển thị kết quả phát hiện, nhận dạng và phân loại đối tượng thông qua

hình ảnh từ thiết bị ghi hình.

3.7.3. Quy trình phát hiện, nhận dạng biển số xe:

3.7.3.1. Đặc tả lưu đồ xử lý các bước của giải thuật:

Lưu trữ

Hệ quyết định

Lưu đồ các bước xử lý và nhận dạng

3.7.3.2. Quy trình các bước triển khai mô hình thực hiện

Bước 1: Thiết lập darknet và tiến hành Clone darknet cho máy.

Bước 2: Sửa tập tin (Makefile) trong hệ thống thư mục vừa clone về cho máy.

Bước 3: Thiết lập tập tin cho YOLO. Ví dụ: yolo-tinyv3-obj.cfg

Bước 4: Thiết lập và tạo tập tin như obj.names chứa tên của các class, sau đó

chuyển, lưu trong thư mục darknet/data.

CSDL đầu vào

Xử lý và áp dụng mô hình nhận

dạng

Kết quả nhận dạng

Page 107: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

107

Bước 5: Thiết lập và tạo tập tin như obj.data, sau đó chuyển, lưu trong thư mục

darknet/data.

Bước 6: Đưa toàn bộ thư mục chứa ảnh và tập tin có chứa file annotation

chuyển vào thư mục darknet/data.

Bước 7: Download pre-trained weights của YOLO-Tinyv3 lưu trong thư mục

darknet.

Bước 8: Nén thư mục darknet thành file darknet.zip, sau đó đưa lên Google Drive.

Page 108: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

108

Chương 4. Xây dựng chương trình thực nghiệm và đánh giá kết quả

1. Xây dựng chương trình thực nghiệm

1.1. Cài đặt chương trình chạy [35]

1.1.1 Cài đặt thư viện mã nguồn mở Opencv

OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính xử lý

ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt động thời gian thực.

OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn phí cho cả học

thuật và thương mại,. có các interface C++, C, Python, Java và hỗ trợ Windows,

Linux, Mac OS, iOS và Android. OpenCV được thiết kế để tính toán hiệu quả và với

sự tập trung nhiều vào các ứng dụng thời gian thực. Được viết bằng tối ưu hóa C/C++,

thư viện có thể tận dụng lợi thế của xử lý đa lõi.

1.1.2. Cài đặt thư viện CUDA

CUDA là từ viết tắt trong tiếng Anh của thuật ngữ Compute Unified Device

Architecture, tạm dịch là kiến trúc thiết bị hợp nhất cho tính toán và là một bộ công cụ

phát triển phần mềm dựa trên ngôn ngữ lập trình C, dựa trên kiến trúc điện toán GPU

của NVIDIA áp dụng cách tính toán song song sử dụng ngôn ngữ C/C++, Fortran,

Java, Python, v.v… sang dạng mã máy.

1.1.3. Cài đặt thư viện cuDNN

cuDNN hoặc thư viện Nvidia CUDA Deep Neural Network là một thư viện

tăng tốc GPU chuyên dành cho Deep Neural Network. cuDNN cung cấp các triển khai

được điều chỉnh cao cho các thói quen tiêu chuẩn như tích chập tiến và lùi, gộp chung,

chuẩn hóa và các lớp kích hoạt. Các nhà nghiên cứu sâu và các nhà phát triển khung

trên toàn thế giới dựa vào cuDNN để tăng tốc GPU hiệu suất cao và cho phép tập

trung vào việc đào tạo các neuron Network và phát triển các ứng dụng phần mềm thay

vì dành thời gian cho việc điều chỉnh hiệu suất GPU cấp thấp. cuDNN tăng tốc các

khung học sâu (Deep learning).

1.1.4. Mô tả cài đặt thư viện

Việc cài đặt cuDNN, CUDA, Opencv hỗ trợ môi trường linux, window. Với

môi trường window yêu cầu cài đặt darkflow, với linux yêu cầu cài đặt darknet. Trong

đó đối với bài toán lựa chọn giải thuật hỗ trợ YOLO yêu cầu cấu hình máy và sự tương

thích đồng bộ thiết bị.

Page 109: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

109

Do vậy, nhằm thiết lập và cài đặc thiết bị đồng bộ tương thích cần sử dụng công

cụ Google Colab (máy ảo của google) với cách thức hoạt động theo mô hình Jupyter

notebook hỗ trợ Ram l2GB, Disk 312GB, GPU Tesla K80 hướng xử lý traning, bên

cạnh đó, colab là máy ảo đa môi trường phù hợp cho DarkNet và Darkflow.

1.2. Chạy chương trình

Bước 1: Tạo môi trường và thực hiện cài đặt các thư viện cần thiết

git clone https://github.com/detector.git

cd detector

pip install -r requirements.txt

Bước 2: Thiết lập các tham số, ngưỡng cho chương trình

#detector/yolo.py

...........

self.root_dir = '../models'

self.model_type = '' # model bạn muốn khơi chạy (yolov3, yolov3-tiny) mặc

định yolov3

self.label_file = '{}/config/coco.names'.format(self.root_dir)

self.weights_path = '{}/weights/yolov3{}.weights'.format(self.root_dir,

self.model_type)

self.config_path = '{}/config/yolov3{}.cfg'.format(self.root_dir,

self.model_type)

self.confidence = 0.5 # ngưỡng cho độ tin tưởng

self.threshold = 0.5 # ngưỡng cho thuật toán NMS

...........

Bước 3: Tải pretrained model và cấu trúc mô hình YOLO chạy. Tải

.weights và file .cfg tương ứng. Ta thực hiện copy weights và file config vào thư mục

tương ứng.

.

├── _models

│ ├──_config -> chứa file .cfg

Page 110: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

110

│ └──_weights -> chứa file .weights

Bước 4: Thực hiện chạy chương trình

python main.py -v "Path video"

Bước 5: Phương pháp huấn luyện thông qua giải thuật YOLO sử nhằm đảm

bảo tốc độ xử lý và cân bằng được giữa độ chính xác và tốc độ. Các đối tượng là

phương tiện tham gia giao thông được thu thập thông qua giải thuật YOLO để phát

hiện, nhận dạng và phân loại.

1.3. Quy trình huấn luyện và nhận dạng đối tượng vật thể

Bước 1: Cho máy học thông qua bộ dữ liệu mẫu (500 hình) cho nhiều đối

tượng, với điều kiện môi trưởng thời tiết (mưa, nắng, sương mù,...) và thời gian (đêm,

ngày,...) nhằm huấn luyện xem xét, đánh giá kết quả nhận dạng và phân loại đối tượng

như sau:

Page 111: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

111

Page 112: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

112

Hình 56: Bộ dữ liệu gồm 22 hình ảnh trích xuất từ bộ dữ liệu mẫu

Page 113: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

113

Từ bộ dữ liệu triển khai thực nghiệm được trích xuất đặc trưng theo đối tượng

áp dụng cho bài toán từ cho 22 hình ảnh được trích lộc theo điều kiện phù hợp cụ thể

theo hình 56 nhằm nhận dạng đối tượng vật thể phục vụ đánh giá kết quả.

Bước 2: Sử dụng thuật toán gán nhãn (tracking) nhằm hỗ trợ việc gán nhãn

theo 2 định dạng PASCAL VOC và YOLO với phần mở rộng file annotation tương

ứng là .xml và txt. Sau đó tiến hành khoanh vùng đối tượng mẫu và cho chạy huấn

luyện ta được kết quả tương ứng như sau:

Page 114: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

114

Page 115: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

115

Hình 57: Kết quả nhận dạng đối tượng tham gia giao thông được gán nhãn (tracking).

Page 116: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

116

Bước 3: Tiến hành chạy giải thuật YOLOv3 áp dụng cho bài toán nhằm nhận

dạnh chính xác đối tượng tham gia giao thông và hiển thị cho kết quả

Đối

tượng

Số lượng

(bộ dữ liệu

mẫu 22

hình ảnh)

Nhận dạng đối tượng tham gia giao thông

Xe

đạp/

điện

Xe

máy

Xe ô

tô con

Xe tải Xe

bus

Người

đi bộ

Tỷ lệ

Xe

máy

185 180 97%

Xe ô

tô con

28 26 93%

Xe tải 6 5 83%

Xe

bus

1 1 100%

Người

đi bộ

4 4 100%

Xe

đạp/

điện

5 5 100%

Bảng 1: Kết quả nhận dạng các đối tượng, vật thể tham gia giao thông

Nhận xét và đánh giá kết quả: Kết quả nhận dạng đối tượng phương tiện xe

máy, xe ô tô và người đội mũ bảo hiểm là những đối tượng, vật thể được huấn luyện

khi tham gia giao thông cần phải nhận dạng trong bài toán đề xuất áp dụng thông qua

thiết bị ghi hình là camera đặt tại vị trí mô hình xây dựng chương trình thử nghiệm (dữ

liệu đầu vào video) với kết quả nhận được tương đối chính xác. Qua đó ta có thể thấy,

kết quả áp dụng giải thuật phát hiện và nhận dạng đối tượng cho bài toán là khá cao

trên cơ sở bộ dữ liệu hình ảnh mẫu đã được huấn luyện, một số đối tượng phương tiện

không nhận dạng được do không có trong tập dữ liệu huấn luyện hoặc do các tác động

khách quan như bị vật cản che khuất (trong ảnh dữ liệu đầu vào có xe máy bị che

khuất bởi xe ô tô nên không nhận được), gần nhau, cận thiết bị ghi hình, đối tượng

chưa được huấn luyện,...Có trường hợp nhận dạng sai do các vật thể đối tượng có hình

dạng giống ô tô hoặc xe máy.

Page 117: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

117

1.4. Quy trình huấn luyện và nhận dạng hành vi vi phạm chở quá số người

quy định

Bước 1: Cho máy học thông qua bộ dữ liệu mẫu (500 hình) cho nhiều đối

tượng, với điều kiện môi trưởng thời tiết (mưa, nắng, sương mù,...) và thời gian (đêm,

ngày,...) nhằm huấn luyện xem xét, đánh giá kết quả nhận dạng đối tượng về hành vi

vi phạm chở quá số người theo quy định áp dụng cho đối tượng xe máy, xe đạp và xe

đạp điện cụ thể như sau:

Page 118: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

118

Hình 58: Bộ dữ liệu gồm 10 hình ảnh trích xuất từ bộ dữ liệu mẫu

Bước 2: Sau khi áp dụng giải thuật nhận dạng được đối tượng đã được huấn

luyện nhận biết thông qua bộ dữ liệu mẫu kết hợp nhiều kịch bản khác nhau, ta tiến

hành giải thuật gán nhãn (tracking) những đối tượng (xe máy, xe đạp và xe đạp điện)

cần thiết để từ đó sàn lọc và tiến hành xác định lỗi cho các về hành vi vi phạm.

Page 119: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

119

Hình 59: Kết quả nhận dạng đối tượng về hành vi vi phạm giao thông được gán nhãn

(tracking)về chở quá số người.

Page 120: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

120

g

Bước 3: Thực hiện chạy chương trình và áp dụng giải thuật nhằm nhận dạng

được đối tượng (xe máy, xe đạp và xe đạp điện) tham gia giao thông và tiến hành nhận

lỗi về hành vi vi phạm chở quá số người theo quy định kết quả cụ thể sau:

Đối

tượng

Hành vi chở quá số người

quy định

Nhận dạng

đối tượng

Không nhận

dạng đối

tượng

Tỷ lệ

Xe máy 10 9 1 90%

Xe đạp/

điện

1 1 0 100%

Bảng 2: Kết quả nhận dạng đối tượng tham gia giao thông về hành vi vi phạm

chở quá số người theo quy định.

Nhận xét và đánh giá kết quả: Kết quả nhận dạng đối tượng phương tiện xe

máy, xe đạp và đạp điện là những đối tượng, vật thể được huấn luyện khi tham gia

giao thông cần phải nhận dạng trong bài toán đề xuất áp dụng để xác định hành vi vi

phạm Luật giao thông đường bộ về chở quá số người theo quy định thông qua thiết bị

ghi hình là camera đặt tại vị trí mô hình xây dựng chương trình thử nghiệm (dữ liệu

đầu vào video) với kết quả nhận được tương đối chính xác. Qua đó ta có thể thấy, kết

quả áp dụng giải thuật phát hiện và nhận dạng đối tượng cho bài toán là khá cao trên

cơ sở bộ dữ liệu hình ảnh mẫu đã được huấn luyện tham gia giao thông chở ba, chở

bốn,...Tỷ lệ không xác định được là do một số đối tượng không nhận dạng được do

không có trong tập dữ liệu huấn luyện hoặc do các tác động khách quan như bị vật cản

che khuất, đối tượng chưa được huấn luyện hoặc bị mờ tối, chạy gần sát nhau,....

1.5. Quy trình huấn luyện và nhận dạng hành vi vi phạm không đội mũ

bảo hiểm

Bước 1: Cho máy học thông qua bộ dữ liệu mẫu (500 hình) cho nhiều đối

tượng, với điều kiện môi trưởng thời tiết (mưa, nắng, sương mù,...) và thời gian (đêm,

ngày,...) nhằm huấn luyện xem xét, đánh giá kết quả nhận dạng đối tượng về hành vi

vi phạm không đội mũ bảo hiểm khi tham gia giao thông theo quy định áp dụng cho

đối tượng xe máy, xe đạp và xe đạp điện cụ thể như sau:

Page 121: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

121

Page 122: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

122

Page 123: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

123

Hình 60: Bộ dữ liệu gồm 22 hình ảnh trích xuất từ bộ dữ liệu mẫu

Bước 2: Sau khi áp dụng giải thuật nhận dạng được đối tượng đã được huấn

luyện nhận biết thông qua bộ dữ liệu mẫu kết hợp nhiều kịch bản khác nhau, ta tiến

hành giải thuật gán nhãn (tracking) những đối tượng (xe máy, xe đạp và xe đạp điện)

cần thiết để từ đó sàn lọc và tiến hành xác định lỗi cho các về hành vi vi phạm.

Page 124: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

124

Page 125: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

125

Page 126: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

126

Hình 61: Kết quả nhận dạng đối tượng về hành vi vi phạm giao thông được gán nhãn

(tracking) về không đội mũ bảo hiểm.

Bước 3: Thực hiện chạy chương trình và áp dụng giải thuật nhằm nhận dạng

được đối tượng (xe máy, xe đạp và xe đạp điện) tham gia giao thông và tiến hành nhận

lỗi về hành vi vi phạm không đội mũ bảo hiểm theo quy định kết quả cụ thể sau:

Đối

tượng

Hành vi không đội mũ bảo

hiểm theo quy định

Nhận dạng

đối tượng

Không nhận

dạng đối

tượng

Tỷ lệ

Chính

xác

Xe máy 17 14 3 82%

Page 127: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

127

Xe đạp/

điện

11 5 6 46%

Bảng 3: Kết quả nhận dạng đối tượng tham gia giao thông về hành vi vi phạm

chở quá số người theo quy định.

Nhận xét và đánh giá kết quả: Kết quả nhận dạng đối tượng phương tiện xe

máy là những đối tượng, vật thể được huấn luyện khi tham gia giao thông cần phải

nhận dạng trong bài toán đề xuất áp dụng để xác định hành vi vi phạm Luật giao thông

đường bộ về chở quá số người theo quy định thông qua thiết bị ghi hình là camera đặt

tại vị trí mô hình xây dựng chương trình thử nghiệm (dữ liệu đầu vào video) với kết

quả nhận được tương đối chính xác. Qua đó ta có thể thấy, kết quả áp dụng giải thuật

phát hiện và nhận dạng đối tượng cho bài toán là khá cao trên cơ sở bộ dữ liệu hình

ảnh mẫu đã được huấn luyện kể cả đối tượng tham gia giao thông sử dụng mũ lưỡi trai

(nón vải), nón lá,... Tỷ lệ không xác định được là do một số đối tượng không nhận

dạng được do không có trong tập dữ liệu huấn luyện hoặc do các tác động khách quan

như bị vật cản che khuất, đối tượng chưa được huấn luyện hoặc bị mờ tối, điều kiện

thời tiết phức tạp,....

1.6. Quy trình huấn luyện và nhận diện biển số xe của đối tượng tham gia

giao thông:

Bước 1: Chuẩn bị bộ dữ liệu mẫu cho hệ thống yêu cầu biển số xe trong bộ dữ

liệu mẫu đòi hỏi phải đa dạng và nhiều trường hợp khác nhau

Page 128: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

128

Hình 62: Bộ dữ liệu gồm 10 hình ảnh trích xuất từ bộ dữ liệu mẫu

Bước 2: Tiến hành áp dụng giải thuật thực hiện thao tác tinh chỉnh và điều

chỉnh để thay đổi độ sáng của ảnh.

Bước 3: Thực hiện xoay ảnh.

Bước 4: Tiến hành gán nhãn (tracking) ảnh dữ liệu.

Sử dụng thuật toán gán nhãn (tracking) nhằm hỗ trợ việc gán nhãn theo 2 định

dạng PASCAL VOC và YOLO với phần mở rộng file annotation tương ứng là .xml và

txt.

Mỗi dòng trong một file annotation bao gồm: <object-class> <x> <y> <width>

<height>. Trong đó: <x> <y> <width> <height> tương ứng là tọa độ trung tâm và kích

thước của đối tượng. Các giá trị này đã được chuẩn hóa lại, do vậy giá trị luôn nằm

trong đoạn [0,1]. object-class là chỉ số đánh dấu các classes. Sau khi gán nhãn xong

file annotation và ảnh tương ứng chuyển vào cùng một thư mục. Áp dụng giải thuật

YOLOv3/darknet hoặc YOLOv4 đây là những giải thuật Object Detection cho kết quả

theo thời gian thực khi chạy trên các nền tảng GPU cao cấp.

Page 129: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

129

Bước 5: - Cấu hình darknet và tiến hành Clone darknet về máy.

Bước 6: Sửa file Makefile trong thư mục vừa clone về

Tiến hành điều chỉnh thay đổi cho phù hợp. Trong trường hợp huấn luyện mô

hình trên GPU có TensorCores thì có thể sửa “CUDNN_HALF=1” nhằm tăng tốc độ

huấn luyện. Trên Google Colab có hỗ trợ GPU Tesla T4, là GPU có kiến trúc mới nhất

trên Colab và có TensorCores. Vì vậy, trong trường hợp chắc chắn sẽ có được GPU

Tesla T4 cần điều chỉnh “CUDNN_HALF=1”.

Bước 7: Tạo file yolo-tinyv3-obj.cfg. Tạo file yolo-tinyv3-obg.cfg với nội dung

tương tự file yolov3-tiny.cfg trong thư mục darknet/cfg, sau đó chỉnh sử một số dòng:

(1) Dòng 6: Thay đổi batch=64. Nghĩa là: batch = số ảnh (cả file annotation)

được đưa vào huấn luyện trong một batch.

(2) Dòng 7: Thay đổi subdivisions=16. Trong một batch được chia thành nhiều

block, mỗi block chứa batch/subdivisions ảnh được đưa vào GPU xử lý tại một thời

điểm. Weights của mô hình được update sau mỗi batch.

(3) Dòng 20: Thay đổi max_batches=classes2000, không nhỏ hơn số ảnh trong

tập huấn luyện, và không nhỏ hơn 6000. VD: max_batches=6000.

(4) Dòng 22: Thay đổi steps= 80%, 90% max_batches. VD: steps=4800,5400.

Sau khi huấn luyện được 80%, 90% max_batches, learning_rate sẽ được nhân với một

tỷ lệ (dòng 23 trong file), mặc định là 0.1.

Page 130: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

130

(5) Thay đổi classes=1 trong mỗi layer [yolo].

(6) Thay đổi filters trong mỗi layer [convolutional] trước layer [yolo] theo công

thức filters=(số class+5)*3. Trong bài toán này filters=18.

Bước 8: Tạo file obj.names chứa tên của các class, sau đó lưu trong thư mục

darknet/data (file obj.names)

Bước 9: Tạo file obj.data, sau đó lưu trong thư mục darknet/data (file obj.data).

Bước 10: Đưa toàn bộ thư mục chứa ảnh và file annotation ở trên vào thư mục

darknet/data.

Bước 11: Download pre-trained weights của YOLO-Tinyv3 lưu trong thư mục

darknet.

Bước 12: Nén thư mục darknet thành file darknet.zip, sau đó đưa lên Google

Drive.

Bước 13: Thực thi các lệnh command line trong colab sử dụng thêm trước mỗi

câu lệnh.

#Sau khi mount với drive. Chuyển đến thư mục chứa file darknet.zip vừa tải lên

#Ví dụ để ở thư mục gốc của Google Drive

cd drive/My\ Drive

#Giải nén file darknet.zip

!unzip darknet.zip

#Chuyển đến thư mục darknet

cd darknet

#Tạo thư mục backup để lưu lại weights khi huấn luyện

#Tên thư mục phải trùng với link folder backup trong file obj.data trên

!mkdir backup

#Tạo file train.txt, valid.txt theo đoạn code

import os

import numpy as np

#"obj" là tên thư mục chứa cả ảnh và file annotation.

lst_files = os.listdir("data/obj/")

lst_images = []

for file in lst_files:

Page 131: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

131

if ".txt" not in file:

lst_images.append(file)

#Tách 200 ảnh ra làm tập validation

random_idx = np.random.randint(0, len(lst_images), 200)

#Tạo file train.txt được đặt trong thư mục darknet/data

with open("data/train.txt","w") as f:

for idx in range(len(lst_images)):

if idx not in random_idx:

f.write("data/obj/"+lst_images[idx]+"\n")

#Tạo file valid.txt được đặt trong thư mục darknet/data

with open("data/valid.txt","w") as f:

for idx in random_idx:

f.write("data/obj/"+lst_images[idx]+"\n")

#Biên dịch darknet (chỉ cần biên dịch một lần, lần sau dùng bỏ qua bước này)

!make

#Phân quyền thực thi module darknet

!chmod +x ./darknet

Bước 14: Bắt đầu quá trình huấn luyện sử dụng command line

!./darknet detector train data/obj.data yolo-tinyv4-obj.cfg yolov4-tiny.conv.29 -map \

-dont_show > yolotinv3_lisenceplate.log

Cú pháp tổng quát để huấn luyện:

!./darknet detector train [data config file] [model config file] [pre-trained weights]

-map > [file log saved]

-map: Dùng để hiển thị mAP được tính trên tập validation.

Nếu gặp lỗi:

CUDA Error: out of memory: File exists thì hãy quay lại sửa subdivisions=32 trong

file yolo-tinyv3-obj.cfg

Quá trình huấn luyện sẽ được lưu vào file yolotinv3_lisenceplate.log, ngoài ra

darknet tự động tạo ra ảnh chart.png lưu trong thư mục darknet và được cập nhật liên

tục để theo dõi trực tiếp thông số của quá trình huấn luyện.

Page 132: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

132

Bước 15: Chạy chương trình dự đoán.

Sau khi huấn luyện xong, toàn bộ weights sẽ được lưu trong folder backup.

#Danh sách các weights được lưu

!ls backup/

Để dự báo một bức ảnh sử dụng cú pháp:

!./darknet detector test [data config file] [model config file] [best-weights]

[image path]

#cụ thể như sau

!./darknet detector test data/obj.data yolo-tinyv4-obj.cfg \

backup/yolo-tinyv4-obj_best.weights test1.jpg

Kết quả dự đoán được lưu thành file predictions.jpg

#Hàm sau được dùng để hiển thị kết quả dự đoán lên colab

def show(path):

import cv2

import matplotlib.pyplot as plt

image = cv2.imread(path)

original_width, original_height = image.shape[1], image.shape[0]

resized_image = cv2.resize(image, (2*original_width, 2*original_height)\

, interpolation = cv2.INTER_CUBIC)

resized_image = cv2.cvtColor(resized_image, cv2.COLOR_BGR2RGB)

plt.figure(figsize=(20,10))

plt.axis("off")

plt.imshow(resized_image)

plt.show()

show("predictions.jpg")

Bước 15: Phương pháp dự đoán từ ảnh bộ dữ liệu mẫu đầu vào áp dụng giải

thuật nhận dạng biển số chính xác theo bộ dữ liệu mẫu đầu vào hình 62.

Page 133: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

133

Tiến hành chạy chương trình và được thực hiện qua các công đoạn như:

(1) Dùng cv2.THRESH_BINARY_INV đưa ảnh về trắng đen

(2) Dùng cv2.MORPH_DILATE

(3) Cuối cùng tìm và đếm theo thứ tự trên ảnh nhằm phân tích giải thuật thực

hiện: Sau khi hiển thị sẽ có 7 charater trên plate mà ta cần lấy, trong khi đó lại xuất

hiện một số contour nhiễu nên ta sẽ xem xét và tính area của contour từ đó ta tiến

hành sorted và loại bỏ 2 contour (dùng mode cv2.RETR_LIST) vì vậy ta có được 1

contour bao toàn bộ image và 1 contour bao đường biên plate và thực hiện thao tác

lấy 7 area lớn nhất.

(4) Công đoạn tiếp theo sau ta thực hiện predict ditgit của mỗi box.

(5) Kết quả thu nhận được là

(6) Từ đó ta tiếp tục xác định để phân loại biển số xe hiện có một hay hai dòng.

Hãy tưởng tượng mặt phẳng tọa độ xOy trong đó x là trục ngang, y là trục dọc. Nếu

biển số xe gồm một dòng thì tọa độ y (trục dọc) giữa các kí tự thu được sẽ nhỏ hơn một

ngưỡng. Còn nếu biển hai dòng thì tọa độ y giữa các kí tự sẽ lớn hơn ngưỡng. Sau đó ta

sử dụng giá trị x để xác định thứ tự trước sau sắp xếp các kí tự từ trái qua phải từ trên

xuống dưới.

Page 134: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

134

Nhận xét và đánh giá kết quả: Kết quả nhận dạng chung từ khâu phát hiện

biển số, đến tách ký tự và nhận dạng ký tự đạt xấp xỉ 96% với dữ liệu có nhiều ảnh

không đạt tiêu chuẩn như bị bóng mờ, quá dơ, nhòe, thiếu ánh sáng,… Qua đó, ta thấp

việc áp dụng giải thuật trên được tiến hành cài đặt nhanh, tìm vùng biển số và cách ly

ký tự với tỉ lệ thành công cao (ở những biển số thông thường), tìm được ở những ảnh tự

nhiên, vùng biển số bị nghiêng. Bên cạnh đó, còn tồn tại một số điểm hạn chế chưa giải

quyết được như:

(1) Tỷ lệ nhận dạng còn phụ thuộc nhiều vào điều kiện thời tiết, khí hậu thấp

làm ảnh hưởng chất lượng ảnh của biển số (một số biển không tách đúng ký tự, chữ số

bị dính với các vật bên ngoài như đinh ốc, ký tự bị mờ nét, mất nét, loang lổ, biển số xe

đặc thủ như biển số quân đội, biển xanh,.... ).

(2) Với những biển số có đường viền phức tạp thì mức độ nhận dạng không cao.

Page 135: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

135

6. KẾT LUẬN VÀ KIẾN NGHỊ

6.1. Kết luận

Trong đề tài nghiên cứu này, tôi đã đề cập, tìm hiếu rất nhiều các nghiên cứu về

phát hiện, nhận dạng và xử lý các hành vi vi phạm trật tự an toàn giao thông, mà đặc

biệt trong các nghiên cứu về giao thông thông minh tại các đô thị lớn trong nước và

thế giới nhằm tìm hiểu, đánh giá và tìm ra điểm chung công nghệ giữa các nghiên cứu.

Từ đó đề ra giải pháp tối ưu hơn bằng việc lựa chọn phương pháp nghiên cứu ứng

dụng kỹ thuật máy học (machine learning) trong Trí tuệ nhân tạo (AI) với mô hình

mạng nơ-ron tích chập theo phương pháp nhìn một lần (Convolutional Neural

Network for You Only Look Once - CNNs for YOLO Object Detection) là một trong

những giải thuật của mô hình hệ thống máy học tiên tiến giúp cho việc xây dựng đựợc

những hệ thống thông minh với độ chính xác cao như hiện nay. Việc triển khai thử

nghiệm một mô hình ứng dụng CMCN lần thứ tư trong thực tế tại địa phương mà cụ

thể xây dựng mô hình phục vụ theo dõi, giám sát tình trạng giao thông đường bộ, tự

động phát hiện, ghi nhận, phân tích hình ảnh đối tượng và nhận dạng phương tiện về

các hành vi vi phạm Luật giao thông đường bộ theo thời gian thực với độ chính xác

cao tại một nút giao lộ góp phần giảm thiểu ùn tắc, tai nạn cho người và phương tiện

tham gia giao thông. Đồng thời giúp công tác tuần tra kiểm soát trật tự, an ninh và phát

hiện kịp thời, có chứng cứ pháp lý về hình ảnh nhằm cung cấp cho lực lượng chức

năng khi điều tra các vụ việc xảy ra trên đường góp phần đảm bảo an ninh trật tự xã

hội. Với kết quả thực hiện đề tài của nhóm nghiên cứu sẽ tiếp tục đề xuất các ban,

ngành có liên quan xem xét đưa vào áp dụng nhân rộng trên địa bàn tỉnh Bà Rịa –

Vũng Tàu.

Kết quả thu nhận từ hình ảnh, video thông qua thiết bị ghi hình camera đặt tại vị

trí thử nghiệm và tiến hành áp dụng các giải thuật kết hợp một số công cụ hiện có, bộ

thư viện mã nguồn mở OpenCV và giải thuật nhìn một lần YOLO đã tiến hành phát

hiện, nhận dạng và phân loại tương đối đầy đủ và chính xác cao với các đối tượng

thông qua hình ảnh, video đã được huấn luyện với hai hành vi vi phạm Luật giao thông

đường bộ đó là: (1) Chở quá số người quy định khi tham gia giao thông; (2) Không đội

mũ bảo hiểm khi điều khiển xe mô tô, xe gắn máy. Tuy nhiên, Bên cạnh đó, còn tồn

tại một số điểm hạn chế chưa giải quyết được, có một vài trường hợp chưa nhận dạng

Page 136: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

136

được, có chăng độ chính xác không cao. Việc này, có nhiều nguyên nhân khác nhau

nhưng phần lớn tập trung một số nguyên nhân sau:

(1) Thiếu dữ liệu đào tạo nên mô hình nhận dạng có hiệu suất không cao.

(2) Tỷ lệ nhận dạng còn phụ thuộc nhiều vào điều kiện thời tiết, khí hậu phức tạp

làm ảnh hưởng chất lượng hình ảnh, video,… và tình trạng mật độ tham gia giao thông

cao.

(3) Việc áp dụng thuật toán tính về tốc độ xử lý vẫn chưa tối ưu, hầu hết lệ thuộc

vào máy móc thiết bị trang bị cho hệ thống xử lý, lưu trữ và đặc biệt là hệ thống trang

thiết bị ghi hình (camera, sensor,…).

(4) Ngoài ra còn có các nguyên nhân khách quan khác như vật cản che khuất, đôi

khi vẫn bị nhầm lẫn giữa các đối tượng gần giống nhau như xe máy và xe đạp, hình

ảnh không theo chuẩn quy định,…

(5) Trong đề tài nghiên cứu đã đề xuất áp dụng các giải thuật mang tính ứng dụng

công nghệ tiên tiến, hiện đại hiện nay nên đòi hỏi hệ thống trang thiết bị máy móc

(máy tính) phải hỗ trợ tính năng GPU rất mạnh, trường hợp GPU yếu thì sẽ mất rất

nhiều thời gian để hệ thống xử lý nhằm hoàn thành quá trình nhận dạng và phân loại

đối tượng.

6.2. Kiến nghị và hướng phát triển

Để cải thiện, đảm bảo độ chính xác cao ta cần tiến hành xây dựng và đặt ra nhiều

tỉnh huống, kịch bản đa dạng nhằm thu thập thêm nhiều dữ liệu mẫu hơn, đa dạng

hành vi hơn. Từ đó, sẽ giúp mô hình nhận dạng xe chính xác cao. Ngoài ra để nhận

diện và tính toán vận tốc xử lý hiệu quả ta cũng cần xem xét, điều chỉnh thuật toán

nhận dạng, phân loại và tính toán.

Sau khi kết thúc nghiện cứu, đưa vào vận hành thử nghiệm nhằm hoàn thiện mô

hình hệ thống về theo dõi, giám sát tình trạng giao thông đường bộ, tự động phát hiện,

ghi nhận, phân tích hình ảnh đối tượng và nhận dạng phương tiện về các hành vi vi

phạm Luật giao thông đường bộ theo thời gian thực với độ chính xác từ đó có thể đề

xuất áp dụng cho những bài toán khác lớn hơn trong thực tế để giải quyết các vấn đề

về vấn nạn giao thông đường bộ hiện nay.

Trong đề tài nghiên cứu đã lựa chọn áp dụng các công nghệ tiên tiến, đặc biệt áp

dụng trong thực tế CMCN lần thứ tư là phù hợp với thực tế tại địa phương hiện nay.

Page 137: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

137

Vì vậy, cần tính toán khả năng mở rộng, kết nối vào các hệ thống giao thông thông

minh chung trong tương lai của tỉnh Bà Rịa – Vũng Tàu đã, đang và sẽ triển khai.

Page 138: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

138

TÀI LIỆU THAM KHẢO

[1] Trích dẫn bài đăng trên cổng thông tin điển tử Quốc Gia

(http://www2.chinhphu.vn/portal/page/portal/chinhphu/)” và trên các trang thông tin

điện tử của các báo mạng như: Vietnamnet, vnexpress, thanhnien, tuoitre,....

[2] Wikipedia – Bách khoa toàn thư mở - Lịch sử ngành Trí tuệ nhân tạo

http://en.wikipedia.org/wiki/Artificial_intelligence.

[3] Thủ tướng Nguyễn Xuân Phúc: Phát biểu tại Diễn đàn cấp cao và Triển lãm

quốc tế về công nghiệp 4.0 diễn ra tại Hà Nội ngày 13/7/2018 đã nhấn mạnh Việt Nam

cần “Chuyển mạnh từ nhận diện sâu sắc sang tầm nhìn chiến lược và hành động quyết

liệt, khẩn trương” để không bỏ lỡ cơ hội và lên kịp chuyến tàu Cách mạng công nghiệp

4.0 với các nước trong khu vực và thế giới.

[4] Đồng chí Nguyễn Văn Bình – Trưởng Ban kinh tế Trung ương: Phát biểu tại

Diễn đàn cấp cao công nghiệp 4.0 về chủ trương, chính sách của Việt Nam chủ động

tham gia cuộc cách mạng công nghiệp lần thứ 4 diễn ra tại Hà Nội ngày 3/10/2019.

[5] Đỗ Hữu Hiền: Bài viết đăng trên Đặc san Báo xuân của Ban Tuyên giáo tỉnh

ủy Bà Rịa – Vũng Tàu về một số vấn đề phát triển khoa học và công nghệ của tỉnh

trước tình hình cuộc cách mạng công nghiệp lần thứ 4.

[6] Nhâp môn Trí tuệ nhân tạo của Tiến sĩ Ngô Hữu Phúc - Học viện kĩ thuật

quân sự.

[7] Tài liệu giảng dạy môn Trí tuệ nhân tạo của GS.TSKH Võ Hoàng Kiếm –

nguyên Hiệu trưởng trường Đại học Bà Rịa – Vũng Tàu.

[8] Bùi Xuân Toại – Trương Gia Việt (Biên dịch) – Trí tuệ nhân tạo – Các cấu

trúc và chiến lược giải quyết vấn đề - NXB Thống kê, 2000 (Phần I).

[9] PTS. Nguyễn Thanh Thủy – Trí tuệ nhân tạo – Các phương pháp giải quyết

vấn đề và kỹ thuật xử lý tri thức – NXB Giáo dục, 1995 (Chương 1).

[10] Bộ Kế hoạch và Đầu tư (2018) Dự thảo: Chiến lược Cách mạng công

nghiệp 4.0: Đánh giá và đề xuất chính sách.

[11] Viện Hàn lâm Khoa học xã hội Việt Nam (2017), “Cuộc cách mạng công

nghiệp lần thứ tư: Đặc trưng, tác động và hàm ý chính sách”, Báo cáo Chính phủ.

[12] Dự án đầu tư hệ thống giao thông thông minh, giám sát tự động bằng

Camera trên địa bàn tỉnh Bà Rịa – Vũng Tàu.

Page 139: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

139

[13] Số liệu báo cáo tình hình phat triển kinh tế-xã hội 9 tháng đầu năm 2019 và

phương hướng hoạt động 3 tháng cuối năm 2019 của UBND tỉnh Bà Rịa – Vũng Tàu.

[14] Báo cáo: Kết quả Nghiên cứu xây dựng hệ thống giám sát ngã tư thông

minh tại 01 điểm giao lộ đường Huỳnh Minh Thạnh và 27/4 thuộc thị trấn Phước Bửu,

huyện Xuyên Mộc, tỉnh Bà Rịa – Vũng Tàu.

[15] Tài liệu báo cáo thực hiện đề án phát triển đô thị thông minh tại TP. Hồ

Chí Minh, Đà Nẵng, Bình Dương,...

[16] https://www.quora.com/How-does-the-region-proposal-network-RPN-in-

Faster-R-CNN-work; http://neuralnetworksanddeeplearning.com/chap6.html

[17] http://neuralnetworksanddeeplearning.com/chap2.html

[18] https://hackernoon.com/understanding-yolo-f5a74bbc7967

[19] https://arxiv.org/pdf/1506.02640.pdf

[20] https://ai.hblab.vn/2017/10/intersection-over-union-iou-cho-object.ht

[21] Tran Duc Duan, Duong Anh Duc, Tran Le Hong Du, “Combining Hough

Transform and Contour Algorithm for detecting Vehicles License-Plates”, University

of Natural Sciences, 2004

[22] Các tài liệu về EmguCV tại www.emgucv.com OPenCV tại

www.opencv.com

[23] Yan S., Xia Y., Smith J.S., et al. (2017). Multiscale Convolutional Neural

Networks

[24] Patrice Y. Simard, Dave Steinkraus, John Platt, "Best Practices for

Convolutional Neural Networks Applied to Visual Document Analysis," International

Conference on Document Analysis and Recognition (ICDAR), IEEE

[25] Y. LeCun and Y. Bengio.“Convolutional networks for images, speech, and

time-series.” In M. A. Arbib, editor, The Handbook of Brain Theory and Neural

Networks. MIT Press, 1995.

[26]. Krizhevsky A., Sutskever I., and Hinton G.E. (2012). ImageNet

Classification with Deep Convolutional Neural Networks. Advances in Neural

Information Processing Systems 25. Curran Associates, Inc., 1097–1105.

[27]. Object detection based on HOG features: Faces and dual-eyes augmented

reality - IEEE Conference Publication.

<https://ieeexplore.ieee.org/document/6618716/>, accessed:05/20/2018.

Page 140: ĐỖ HỮU HIỀN NGHIÊN CỨU ỨNG DỤNG KỸ THUẬT MÁY HỌC ĐỂ PHÂN …

140

[28]. Real-Time Hand Gesture Detection and Recognition Using Bag-of-

Features and Support Vector Machine Techniques - IEEE Journals & Magazine.

[29] Sinh viên thực hiện: Đỗ Xuân Sơn - Lớp: KHMT2-K10 - Khoa CNTT, Đại

học Công nghiệp Hà Nội.

[30] Sinh viên thực hiện: Đặng Thị Mỹ Nhàn - Khoa học máy tính tại Trường

Đại học Bách khoa Đà Nẵng.

[31] Nhập môn xử lý ảnh số của Ths. Lương Mạnh Bá và Ths. Nguyễn Thanh

Thủy, NXB KHKT 2003.

[32] https://docs.opencv.org/

[33] http://code.gurusvn.com/

[34] https://vi.wikipedia.org/wiki/Trang_Ch%C3%ADnh

[35] Learning openCV_computer vision whit the openCV Libraly_Gary breadki

& keabler.

[36]https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-

detection-algorithms-36d53571365e.