Tải bản đầy đủ (.pdf) (97 trang)

NHẬN DIỆN BIỂN BÁO GIAO THÔNG DÙNG KỸ THUẬT XỬ LÝ ẢNH TRÊN NỀN VI ĐIỀU KHIỂN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.04 MB, 97 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG

NGUYỄN MINH HÙNG – 41001324
TRẦN TRUNG TIẾN – 41003388

LUẬN VĂN TỐT NGHIỆP
NHẬN DIỆN BIỂN BÁO GIAO THÔNG DÙNG KỸ
THUẬT XỬ LÝ ẢNH TRÊN NỀN VI ĐIỀU KHIỂN

KỸ SƯ NGÀNH KỸ THUẬT ĐIỀU KHIỂN & TỰ ĐỘNG HÓA



GIẢNG VIÊN HƯỚNG DẪN
ThS. NGUYỄN ĐỨC HOÀNG


TP. HỒ CHÍ MINH, 2014
TRƯỜNG ĐẠI HỌC BÁCH KHOA TP. HỒ CHÍ
MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN: ĐIỀU KHIỂN TỰ ĐỘNG
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

TP. HCM, ngày….tháng… năm……
NHẬN XÉT LUẬN VĂN TỐT NGHIỆP
CỦA CÁN BỘ HƯỚNG DẪN


Tên luận văn:
NHẬN DIỆN BIỂN BÁO GIAO THÔNG DÙNG
KỸ THUẬT XỬ LÝ ẢNH TRÊN NỀN VI ĐIỀU KHIỂN
Nhóm Sinh viên thực hiện:
Cán bộ hướng dẫn:
Nguyễn Minh Hùng
41001324
ThS. Nguyễn Đức Hoàng
Trần Trung Tiến
41003388
ThS. Nguyễn Đức Hoàng



Đánh giá Luận văn
1. Về cuốn báo cáo:
Số trang _______ Số chương _______
Số bảng số liệu _______ Số hình vẽ _______
Số tài liệu tham khảo _______ Sản phẩm _______
Một số nhận xét về hình thức cuốn báo cáo:


2. Về nội dung luận văn:


3. Về tính ứng dụng:


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



Đánh giá chung: Luận văn đạt/không đạt yêu cầu của một luận văn tốt nghiệp kỹ sư, xếp loại
Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
Nguyễn Minh Hùng:……… /10
Trần Trung Tiến:……… /10




Người nhận xét
(Ký tên và ghi rõ họ tên)



TRƯỜNG ĐẠI HỌC BÁCH KHOA TP. HỒ CHÍ
MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN: ĐIỀU KHIỂN TỰ ĐỘNG
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

TP. HCM, ngày….tháng… năm……
NHẬN XÉT LUẬN VĂN TỐT NGHIỆP
CỦA CÁN BỘ PHẢN BIỆN

Tên luận văn:
NHẬN DIỆN BIỂN BÁO GIAO THÔNG DÙNG
KỸ THUẬT XỬ LÝ ẢNH TRÊN NỀN VI ĐIỀU KHIỂN
Nhóm Sinh viên thực hiện:

Cán bộ hướng dẫn:
Nguyễn Minh Hùng
41001324
ThS. Nguyễn Đức Hoàng
Trần Trung Tiến
41003388
ThS. Nguyễn Đức Hoàng



Đánh giá Luận văn
1. Về cuốn báo cáo:
Số trang _______ Số chương _______
Số bảng số liệu _______ Số hình vẽ _______
Số tài liệu tham khảo _______ Sản phẩm _______
Một số nhận xét về hình thức cuốn báo cáo:


2. Về nội dung luận văn:


3. Về tính ứng dụng:


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



Đánh giá chung: Luận văn đạt/không đạt yêu cầu của một luận văn tốt nghiệp kỹ sư, xếp loại
Giỏi/ Khá/ Trung bình

Điểm từng sinh viên:
Nguyễn Minh Hùng:……… /10
Trần Trung Tiến:……… /10




Người nhận xét
(Ký tên và ghi rõ họ tên)



TRƯỜNG ĐẠI HỌC BÁCH KHOA TP. HỒ CHÍ
MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN: ĐIỀU KHIỂN TỰ ĐỘNG
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

TP. HCM, ngày….tháng… năm……



ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI:
NHẬN DIỆN BIỂN BÁO GIAO THÔNG DÙNG KỸ THUẬT XỬ LÝ ẢNH TRÊN
NỀN VI ĐIỀU KHIỂN
Cán bộ hướng dẫn: ThS. Nguyễn Đức Hoàng
Thời gian thực hiện: Từ ngày 1/9/2014 đến ngày 15/12/2014
Sinh viên thực hiện:

Nguyễn Minh Hùng - 41001324
Trần Trung Tiến - 41003388
Nội dung đề tài:
Luận văn trình bày các thuật toán xử lý ảnh cơ bản để xử lý thông tin biển báo
giao thông, viết lại các hàm xử lý ảnh và mô phỏng trên máy tính. Sau đó, chương trình
được ứng dụng trên vi điều khiển. Đánh giá khả năng áp dụng vào thực tế bằng mô hình
xe tự động.
Kế hoạch thực hiện:
Từ 01/09 đến 30/09: Tìm hiểu tổng quan, các nghiên cứu có liên quan đến đề tài. Lựa
chọn và xây dựng mô hình phù hợp với đề tài. Tìm hiểu các kiến thức phần cứng: vi điều
khiển ARM M4, camera.
Từ 01/10 đến 20/10: Lập trình và mô phỏng hệ thống trên máy tính giai đoạn 1: tiền xử
lý và nhận diện ảnh, kết nối camera OV7670, OV9655 với STM32F4 Discovery.
Từ 21/10 đến 10/11: Lập trình và mô phỏng hệ thống trên máy tính giai đoạn 2: nhận diện
và phân loại biển báo giao thông, tìm hiểu về mạng nơron, lập trình trên vi điều khiển giai
đoạn 1, tìm hiểu mạng CAN.
Từ 11/11 đến 01/12: Huấn luyện mạng nơron để có được kết quả tốt, lập trình trên vi điều
khiển giai đoạn 2.
Từ 01/12 đến 19/12: Ứng dụng vào mô hình thực tế.
Nguyễn Minh Hùng và Trần Trung Tiến thực hiện chung:
 Nghiên cứu dòng vi điều khiển ARM cortex M4, cụ thể là KIT STM32F4
Discovery, camera OV7670, camera OV9655, các phương thức truyền dữ liệu giữa
chúng.
 Tìm hiểu các mô hình xử lý ảnh trên Matlab.
 Ứng dụng mô hình thực tế.
Trần Trung Tiến phụ trách chính:
 Nghiên cứu các thuật toán xử lý ảnh: thuật toán chuyển đổi giữa các không gian
màu, thuật toán chuyển từ ảnh xám sang ảnh trắng đen, thuật toán phân tách các
đối tượng.
 Nghiên cứu thuật toán mạng nơron dùng cho việc nhận diện biển báo giao thông.

 Lập trình và mô phỏng trên máy tính hệ thống xử lý ảnh và nhận diện biển báo giao
thông.
Nguyễn Minh Hùng phụ trách chính:
 Nghiên cứu các ứng dụng và kết nối các ngoại vi của vi điều khiển.
 Lập trình trên vi điều khiển hệ thống xử lý ảnh và nhận dạng biển báo giao thông.
 Nghiên cứu phương thức truyền dữ liệu CAN.
 Nghiên cứu và vận hành xe bám tường và phát hiện, nhận diện biển báo giao thông
Xác nhận của Cán bộ hướng dẫn

TP. HCM, ngày….tháng … năm…
Sinh viên





DANH SÁCH HỘI ĐỒNG BẢO VỆ LUẬN VĂN

Hội đồng chấm luận văn tốt nghiệp, thành lập theo Quyết định số
…………………… ngày ………………… của Hiệu trưởng Trường Đại học Bách
khoa TP.HCM.
1. …………………………………………. – Chủ tịch.
2. …………………………………………. – Thư ký.
3. …………………………………………. – Ủy viên.
LỜI CẢM ƠN
Qua nhiều tháng cùng thực hiện đề tài luận văn, các tác giả đã cùng làm việc
nhóm và hợp tác với nhau. Điều đó chúng tôi có cái nhìn rõ ràng hơn về lĩnh vực kỹ
thuật và rèn luyện thêm nhiều kỹ năng mềm.
Chúng tôi xin chân thành cám ơn đến các thầy cô ở trường Đại Học Bách Khoa
TPHCM, những người đã dạy bảo, chỉ dẫn chúng tôi trong 5 năm qua.

Xin cảm ơn thầy Nguyễn Đức Hoàng, giảng viên hướng dẫn đề tài cho chúng
tôi trong 3 học kì liên tiếp, người đã định hướng và nhiệt tình giúp đỡ cho chúng tôi
khi thực hiện đề tài này.
Tác giả chân thành cám ơn kỹ sư Lâm Quốc Hưng đã chia sẽ những kinh
nghiệm và có những nhận xét hữu ích. Xin cảm ơn câu lạc bộ Pay It Forward và bạn
Trần Minh Tâm đã hỗ trợ những lúc cần thiết trong suốt quá trình làm luận văn.
Xin gửi lời cám ơn đến gia đình và người thân luôn động viên chúng tôi, giúp
đỡ về mặt tài chính và tinh thần.
Chúng tôi xin cảm ơn các bạn trong bộ môn Điều Khiển Tự Động, quan tâm
chia sẻ và giúp đỡ chúng tôi trong những lúc khó khăn nhất.

TP Hồ Chí Minh, ngày 15 tháng 12 năm 2014

NGUYỄN MINH HÙNG
TRẦN TRUNG TIÊN
MỤC LỤC
TÓM TẮT LUẬN VĂN 1
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 2
1.1. Lý do chọn luận văn 2
1.2. Mục tiêu và nhiệm vụ của luận văn 2
1.3. Đối tượng và phạm vi nghiên cứu 2
CHƯƠNG 2: TỔNG QUAN VỀ ĐỀ TÀI 4
2.1. Tổng quan 4
2.2. Hệ thống biển báo giao thông ở Việt Nam 6
2.3. Phân tích hệ thống 10
CHƯƠNG 3: CÁC THUẬT TOÁN XỬ LÝ ẢNH VÀ MÔ PHỎNG TRÊN MÁY
TÍNH 12
3.1. Thuật toán chuyển đổi từ không gian màu RGB sang YCbCr 12
3.2. Thuật toán chuyển đổi từ không gian màu RGB sang IHLS 15
3.3. Thuật toán Opening 19

3.3.1. Cơ sở lý thuyết 19
3.3.2. Các bước thực hiện 22
3.3.3. Nhận xét về phương pháp này 26
3.4. Thuật toán phân tích blob: Thuật toán Grass-Fire 29
3.5. Thuật toán chuyển ảnh xám sang ảnh trắng đen dùng phương pháp Otsu 34
3.6. Thuật toán nhận diện hình dạng của blob là tròn, tam giác hay chữ nhật 39
3.7. Thuật toán nhận diện biển báo giao thông bằng mạng nơron 46
3.7.1. Cơ sở lý thuyết: 46
3.7.2. Ứng dụng vào bài toán nhận diện biển báo giao thông 50
CHƯƠNG 4: TỔNG QUAN VỀ PHẦN CỨNG VÀ LẬP TRÌNH TRÊN VI ĐIỀU
KHIỂN 55
4.1. KIT STM32F4 Discovery 55
4.1.1. Giới thiệu 55
4.1.2. Cấu trúc của chip STM32F407VG 56
4.1.3. Ưu và nhược điểm của Chip STM32F407VG trong xử lý ảnh 57
4.2. KIT TIVA TM4C123G 58
4.3. Camera OV9655 59
4.3.1. Giới thiệu 59
4.3.2. Sơ đồ chân kết nối chân giữa OV9655 và KIT STM32F4 60
4.3.3. Nguyên tắc hoạt động 62
4.4. CAN 62
4.4.1. Giới thiệu 62
4.4.2. Cách kết nối phần cứng 64
4.5. Mô hình xe bám tường: 67
4.5.1. Giới thiệu: 67
CHƯƠNG 5: ÁP DỤNG THUẬT TOÁN XỬ LÝ ẢNH TRÊN KIT STM32F4
DISCOVERY 69
5.1. Thuật toán tổng quát: 69
5.2. Thuật toán xử lý ảnh trên KIT Vi xử lý 70
5.3. Quá trình xử lý ảnh và kết quả thu được 72

5.3.1. Tiền xử lý ảnh 72
5.3.2. Tách ảnh thành những phần khác nhau 74
5.3.3. Nhận dạng ảnh bằng giải thuật mạng nơron 75
CHƯƠNG 6: TỔNG KẾT 76
TÀI LIỆU THAM KHẢO 78


DANH MỤC HÌNH VẼ
Hình 2.1 Biển báo cấm 6
Hình 2.2 Biển báo nguy hiểm 7
Hình 2.3 Biển báo chỉ dẫn 8
Hình 2.4 Biển báo hiệu lệnh 9
Hình 2.5 Biển báo phụ 9
Hình 2.6 Sơ đồ tổng quát của hệ thống 10
Hình 2.7 Lưu đồ giải thuật chính của chương trình 11
Hình 3.1 Ảnh RGB 13
Hình 3.2 Ảnh Y 13
Hình 3.3 Ảnh Cb 13
Hình 3.4 Ảnh Cr 14
Hình 3.5 Ảnh trắng đen xác định bằng Cr 14
Hình 3.6 Hình tròn không gian màu HSL 16
Hình 3.7 Ảnh vào 17
Hình 3.8 Ảnh ra 17
Hình 3.9 Ảnh vào 18
Hình 3.10 Ảnh ra 18
Hình 3.11 Một số structure element thường gặp 20
Hình 3.12 Ví dụ về Reflection 20
Hình 3.13 Ví dụ về phép Dilation 20
Hình 3.14 Ví dụ về phép Erosion 21
Hình 3.15 Ví dụ về phép Opening 21

Hình 3.16 Ví dụ về phép Closing 21
Hình 3.17 Structure element có dạng hình đĩa, bán kính 2 22
Hình 3.18 Hình padding 22
Hình 3.19 Áp dụng struture element cho từng pixel của ảnh gốc 23
Hình 3.20 Ảnh sau khi đã erosion 23
Hình 3.21 Áp dụng structure element cho ảnh erosion 24
Hình 3.22 Ảnh sau khi đã dilation 24
Hình 3.23 Ảnh ra của thuật toán 24
Hình 3.24 Ảnh RGB từ camera 24
Hình 3.25 Ảnh xám Y 25
Hình 3.26 Ảnh trắng đen dùng phương pháp so sánh ngưỡng của Cr 25
Hình 3.27 Ảnh sau khi qua bước Erosion 25
Ảnh 3.28 Ảnh đầu ra của thuật toán Opening 25
Hình 3.29 Ảnh structure element hình đĩa, bán kính 1 26
Hình 3.30 Ảnh ra của bước Erosion 26
Hình 3.31 Ảnh ra của bước Dilation 26
Hình 3.32 Structure element dạng hình đĩa, bán kính 4 27
Hình 3.33 Ảnh từ camera 27
Hình 3.34 Ảnh trắng đen 28
Hình 3.35 Ảnh qua bước erosion 28
Hình 3.36 Ảnh Dilation 28
Hình 3.37 Ảnh đầu vào BW và ảnh Padding của thuật toán 29
Hình 3.38 Áp dụng mặt nạ 3x3 cho từng bức ảnh 30
Hình 3.39 Thứ tự xét các pixel lân cận 30
Hình 3.40 Đánh nhãn cho blob đầu tiên 31
Hình 3.41 Đánh nhãn cho blob thứ 2 31
Hình 3.42 Ma trận ra của thuật toán 32
Hình 3.43 Lưu đồ của thuật toán phân tích blob 33
Hình 3.44 Lưu đồ thuật toán 36
Hình 3.45 Ảnh chụp từ camera 37

Hình 3.46 Ảnh xám 37
Hình 4.47 Histogram của ảnh xám 38
Hình 4.48 Ảnh trắng đen 38
Hình 3.49 Biển báo cấm rẽ trái, biển báo giao nhau với đường ưu tiên, biển báo cấm
đi ngược chiều 39
Hình 3.50 Lưu đồ thuật toán tìm đường biên ngoài cùng theo chiều ngang 40
Hình 3.51 Lưu đồ thuật toán tìm đường biên ngoài cùng theo chiều dọc 41
Hình 3.52 Biển báo cấm đi ngược chiều 42
Hình 3.53 Ảnh trắng đen của biển báo 42
Hình 3.54 Đường biên tìm theo chiều ngang 43
Hình 3.55 Đường biên tìm theo chiều dọc 43
Hình 3.56 Đường biên chính thức của blob 43
Hình 3.57 Biển báo giao nhau với đường ưu tiên 44
Hình 3.58 Đối tượng có dạng lõm 45
Hình 3.59 Đường biên của đối tượng lõm 45
Hình 3.60 Cấu trúc mạng truyền thẳng ba lớp 48
Hình 4.1 KIT STM32f4 Discovery 55
Hình 4.2 Sơ đồ khối của KIT STM32F4 discovery 56
Hình 4.3 Các dòng ARM Cortex của ST 57
Hình 4.4 KIT Tiva TM4C123G 59
Hình 4.5 Camera OV9655 60
Hình 4.6 Lược đồ thời gian 1 frame ảnh 62
Hình 4.7 Mạng lưới kết nối trong CAN 62
Hình 4.8 Cấu trúc 1 Frame cơ bản trong CAN 63
Hình 4.9 Mạng lưới hình học của CAN 64
Hình 4.10 MCP2551 65
Hình 4.11 Schematic của mạch CAN sử dụng IC MCP2551 66
Hình 4.12 Sơ đồ khối để giao tiếp CAN 66
Hình 4.13 Hình ảnh thực tế của xe bám tường 67
Hình 4.14 Hình ảnh mặt dưới của xe bám tường 68

Hình 4.15 Hình ảnh mặt sau của xe bám tường 68
Hình 5.1 Thuật toán tổng quát 69
Hình 5.2 Thuật toán xử lý ảnh trên KIT STM32F4 Discovery 70
Hình 5.3 Ảnh chụp RGB 72
Hình 5.4 Ảnh chuyển từ Cr sang binary 72
Hình 5.5 Ảnh binary sau khi erosion 73
Hình 5.6 Ảnh binary sau khi dilation 73
Hình 5.7 Ảnh sau khi dán nhãn (label) cho nó 74
Hình 6.1 Mô hình hệ thống 76

DANH MỤC BẢNG

Bảng 3.1 Các thông số S và H của các màu chuẩn 17
Bảng 3.2 Kết quả nhận diện khi thay đổi hằng số học, epochs = 10000 52
Bảng 3.3 Kết quả nhận diện khi thay đổi số chu kì huấn luyện 53
Bảng 3.4 Kết quả nhận diện khi thay đổi số nơron lớp ẩn, epochs = 10000 53
Bảng 4.1 Sơ đồ nối chân giữa STM32F4 và OV9655 61
Bảng 4.2 Cấu trúc 1 frame cơ bản trong CAN 63
Bảng 4.3 Mức điện áp của CAN High và CAN low 65
Bảng 5.1 Tỉ lê nhận nhận diện đúng đối với từng biển báo 75
1

TÓM TẮT LUẬN VĂN


Luận văn nghiên cứu bài toán nhận diện biển báo giao thông bằng vi điều
khiển bao gồm cả phần cứng và phần mềm. Tác giả trình bày tổng quan tình hình
nghiên cứu về ứng dụng nhận diện biển báo giao thông, các đặc trưng của biển báo
giao thông Việt Nam, các thuật toán xử lý ảnh cơ bản có liên quan trực tiếp để xử lý
thông tin biển báo giao thông dựa trên màu sắc và hình dạng của đối tượng, ứng dụng

thuật toán mạng nơron để huấn luyện và phân loại từng biển báo, sử dụng vi điều
khiển, camera CMOS, ứng dụng mạng CAN cho mô hình mô phỏng. Kết quả nhận
diện có độ chính xác cao, xấp xỉ 90% khi nhận diện và phân loại 3 biển báo: biển báo
cấm đi ngược chiều, cấm rẽ trái, giao nhau với đường ưu tiên. Nội dung bài báo cáo
gồm có 6 chương:
Chương 1: Giới thiệu đề tài
Chương này trình bày sơ lược về đề tài, lý do tại sao tác giả chọn nó, những
mục tiêu và nhiệm vụ của luận văn.
Chương 2: Tổng quan về đề tài
Chương 2 tổng hợp các nghiên cứu đã có từ trước. Đồng thời trình bày tổng
quan về hệ thống biển báo giao thông ở Việt Nam và sơ đồ chung của hệ thống.
Chương 3: Các thuật toán xử lý ảnh và mô phỏng trên máy tính
Chương này tập trung vào các thuật toán xử lý ảnh, trình bày cơ sở lý thuyết,
nguyên lý cơ bản, các bước thực hiện, các ví dụ minh họa và kết quả mô phỏng
bằng Matlab.
Chương 4: Tổng quan về phần cứng và lập trình trên vi điều khiển
Trình bày việc các thuật toán đã nghiên cứu ở chương 3 vào KIT STM32F4
Discovery và dùng Camera CMOS OV9655 để chụp ảnh, cũng như việc truyền
dữ liệu bằng mạng CAN.
Chương 5: Áp dụng thuật toán xử lý ảnh trên KIT STM32F4 Discovery
Chương 6: Đánh giá kết quả thực hiện
2

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI


1.1. Lý do chọn luận văn
Đề tài nhận diện biển báo giao thông có tính chất ứng dụng rộng rãi và cần
thiết cho cuộc sống hiện đại ngày nay. Xử lý ảnh để nhận diện biển báo giao thông
đã được nghiên cứu áp dụng từ rất lâu, tuy nhiên việc thực thi trên vi xử lý là một

hướng đi mới, chưa được triển khai nhiều ở Việt Nam cũng như trên thế giới.
1.2. Mục tiêu và nhiệm vụ của luận văn
Mục tiêu chung của luận văn là tiến tới thực thi một hệ thống xử lý ảnh đơn
giản trên vi điều khiển, cụ thể là ứng dụng nhận diện biển báo giao thông. Qua đó,
đánh giá khả năng ứng dụng vào thực tế.
Hiểu các tính chất của hệ thống biển báo giao thông Việt Nam và trích xuất
các đặc trưng dùng cho ứng dụng xử lý ảnh phục vụ yêu cầu nhận diện.
Hiểu đặc trưng của màu sắc trong lĩnh vực thị giác máy tính, cách chuyển đổi
giữa các không gian màu và ứng dụng của chúng. Đồng thời, tìm hiểu một số thuật
toán phân đoạn đối tượng dựa trên màu sắc.
Phát triển một thuật toán phân loại biển báo giao thông.
Tìm hiểu về mạng CAN, một ứng dụng rộng rãi trong nền công nghiệp ô tô.
Thực thi hệ thống nhận diện biển báo giao thông trên vi điều khiển.
1.3. Đối tượng và phạm vi nghiên cứu
Đề tài tập trung nghiên cứu các thuật toán liên quan dùng cho việc phát hiện
và nhận dạng biển báo giao thông, cụ thể là thuật toán chuyển đổi giữa các không
gian màu, thuật toán chuyển từ ảnh màu sang ảnh xám, thuật toán chuyển từ ảnh xám
3

sang ảnh binary dùng phương pháp Otsu, thuật toán phát hiện và tách các đối tượng,
thuật toán nhận diện đối tượng dùng mạng nơron.
Về phần cứng: thuật toán tập trung vào camera OV9655, KIT STM32F4
Discovery, KIT TIVA.
Về phạm vi nhận diện biển báo giao thông, tác giả tập trung vào ba biển báo
sau: biển báo cấm đi ngược chiều, biển báo cấm rẽ trái, biển báo giao nhau với đường
ưu tiên.


4


CHƯƠNG 2: TỔNG QUAN VỀ ĐỀ TÀI


2.1. Tổng quan
Đề tài nhận diện biển báo giao thông có những nghiên cứu đầu tiên vào năm
1984 với mục đích là phát hiện ra các loại biển báo dùng thị giác máy tính.Vấn đề xử
lý ảnh nhận diện biển báo giao thông đang có những bước tiến trong những năm gần
đây. Minh chứng cho điều này là ngày càng nhiều các nghiên cứu của các nhà khoa
học trên thế giới ra đời, cũng như việc ứng dụng các công nghệ mới về xử lý ảnh lên
ôtô.
Xét về phần cứng: đa số các nghiên cứu trước đó dùng camera chụp ảnh rồi
truyển tải về máy tính để xử lý hoặc sử dụng các KIT vi điều khiển có khả năng như
nhúng hệ điều hành và sử dụng các phần mềm xử lý ảnh của bên thứ ba, điển hình là
OpenCV. Khi đó nó có ưu thế là phần cứng có khả năng xử lý rất mạnh và phầm mềm
dễ giao tiếp, dễ sử dụng. Nhược điểm là tốn nhiều thời gian cho việc truyền tải về
máy tính hay chạy nhiều tác vụ không cần thiết trên hệ điều hành, và người ứng dụng
đôi khi không hiểu bản chất bên trong các hàm viết sẵn mà họ sử dụng. Ở luận văn
này, tác giả dùng camera chụp ảnh, truyền tải về vi điều khiển và xử lý trực tiếp trên
vi điều khiển đó. Nếu là những thuật toán đơn giản, chúng sẽ cho kết quả tốt và có
lợi về mặt thời gian và kinh tế hơn các ứng dụng trước. Dĩ nhiên, vi điều khiển có các
hạn chế nhất định về khả năng lưu trữ, khả năng tính toán so với máy tính nên khó có
thế áp dụng quá nhiều xử lý phức tạp. Các thuật toán phân tích ảnh, nhận diện ảnh
cũng được tác giả viết lại, không dùng bất kì các hàm viết sẵn nào.
Về thuật toán, nhìn chung, có hai bước chính. Thứ nhất là phát hiện được đối
tượng có khả năng là biển báo, thứ hai là phân loại đối tượng thuộc loại biển báo nào
hay thực sự không phải. Trong bước phát hiện, ảnh được tiền xử lý, nâng cao chất
lượng, phân đoạn để lấy ra các đặc điểm cần thiết theo tính chất của biển báo giao
thông. Đầu ra của giai đoạn này là ảnh đã được phân đoạn và chỉ gồm các vùng tiềm
5


năng chứa biển báo. Hiệu quả và tốc độ của bước này vô cùng quan trọng vì nó sẽ
giảm được khối lượng tính toán cho bước nhận diện. Tiền xử lý càng tốt thì chất
lượng hệ thống càng cao.
Trong bước nhận diện, các vùng tiềm năng sẽ được kiểm tra theo các tính chất
đặt ra ban đầu xem có phải là biển báo hay không, nếu đúng thì tiến hành phân loại
chúng.
Những nghiên cứu của các tác giả về bước phát hiện dựa trên ba hướng chính:
Nhận diện biển báo giao thông dựa trên màu sắc: Thuật toán dựa trên màu đặc trưng
của biển báo để xác định vùng chứa biển báo [3,7]. Nhận diện biển báo giao thông
dựa trên hình dạng: Dựa vào việc phát hiện cạnh của các đối tượng để tìm ra các vùng
tiềm năng và phân tích các đặc điểm về hình dạng để phát hiện đúng biển báo giao
thông [8]. Hướng thứ ba là kết hợp nhận diện biển báo giao thông dựa trên màu sắc
và hình dạng.
Các phương pháp được đề cử trong bước thứ hai, nhận diện biển báo được
phát hiện dựa trên mạng nơron nhân tạo: xây dựng một hệ thống học các mẫu từ trước
phục vụ cho việc nhận dạng, hay dùng phương pháp Template Matching: xây dựng
một số mẫu và so sánh độ đồng nhất của các mẫu này với đối tượng [5]. Ngoài ra,
một số phương pháp khác cho kết quả rất tốt như: SVM, Pictogram, SURF,
AdaBoost,…
Các bài nghiên cứu của các tác giả trước đi từ cơ bản đến phức tạp, có nhiều
nghiên cứu đã giải quyết được vấn đề ảnh hưởng của ánh sáng, điều kiện thời tiết,
hay phục hồi ảnh bị ảnh hưởng bởi bóng râm để nhận biết được biển báo. Họ cũng
phân tích rất sâu các kỹ thuật nhận diện và cho kết quả chính xác cao. Việc dùng vi
điều khiển xử lý ảnh là một vấn đề thách thức nên tác giả không ứng dụng các thuật
toán quá phức tạp hay phát triển các thuật toán mới có tính đột phá cao mà chỉ tập
trung phân tích các thuật toán xử lý ảnh cơ bản, tìm hiểu nguồn gốc, nguyên lý của
các thuật toán đó, làm cơ sở cho việc viết lại các hàm xử lý ảnh đó, mô phỏng trên
Matlab (phiên bản 2013a) và bằng ngôn ngữ lập trình C cho vi xử lý.
6


2.2. Hệ thống biển báo giao thông ở Việt Nam
Gồm có 5 nhóm chính: biển báo cấm, biển báo nguy hiểm, biển báo chỉ dẫn,
biển báo hiệu lệnh và biển báo phụ.
Biển báo cấm: có dạng hình tròn, có viền màu đỏ.

Hình 2.1 Biển báo cấm
(Nguồn:
7

Biển báo nguy hiểm: có dạng hình tam giác, nền vàng, có viền đỏ.

Hình 2.2 Biển báo nguy hiểm
Nguồn:

×