ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-----------------------
TRƯƠNG VĨNH PHÚC
XÂY DỰNG GIẢI THUẬT NHẬN DIỆN VÀ PHÂN LOẠI
BIỂN BÁO GIAO THƠNG DỰA VÀO MƠ HÌNH
CONVOLUTIONAL NEURAL NETWORK
Chun ngành: Kỹ Thuật Điều Khiển Và Tự Động Hóa
Mã số: 60520216
LUẬN VĂN THẠC SĨ
TP.HỒ CHÍ MINH, tháng 1, năm 2018
CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG – HCM
Cán bộ hướng dẫn khoa học : TS. Nguyễn Đức Thành
Cán bộ chấm nhận xét 1 :
Cán bộ chấm nhận xét 2 :
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.
HCM ngày 15 tháng 01 năm 2018
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1. Chủ tịch: TS. Nguyễn Vĩnh Hảo
2. Thư ký:
TS. Phạm Việt Cường
3. Phản biện 1: TS. Võ Công Phương
4. Phản biện 2: TS. Nguyễn Trọng Tài
5. Ủy viên:
PGS.TS. Huỳnh Thái Hoàng
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyên ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG
TRƯỞNG KHOA
ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: TRƯƠNG VĨNH PHÚC
MSHV : 13153241
Ngày, tháng, năm sinh: 28/02/1990
Nơi sinh: Tiền Giang
Chuyên ngành: Kỹ Thuật Điều Khiển Và Tự Động Hóa
Mã số : 60520216
I. TÊN ĐỀ TÀI: XÂY DỰNG GIẢI THUẬT NHẬN DIỆN VÀ PHÂN LOẠI BIỂN
BÁO GIAO THÔNG DỰA VÀO MƠ HÌNH CONVOLUTIONAL NEURAL
NETWORK
II. NHIỆM VỤ VÀ NỘI DUNG:
-
Tìm hiểu và xây dựng hệ thống phát hiện và phân loại biển báo giao thông dựa
trên phương pháp Convolutional Neural Networks (CNNs). Kết quả sẽ được
thông báo cho tài xế lái xe.
-
Đánh giá kết quả thực nghiệm đối với giải thuật của phương pháp
Convolutional Neural Networks trong việc phân loại biển báo giao thông.
-
Thiết kế hệ thống xử lý gồm một camera thu dữ liệu hình ảnh kết nối với một
hệ thống xử lý trên máy tính cá nhân, kết quả sẽ được hiển thị trên màn ảnh.
III. NGÀY GIAO NHIỆM VỤ : 10/07/2017
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 03/12/2017
V. CÁN BỘ HƯỚNG DẪN : TS. Nguyễn Đức Thành
Tp. HCM, ngày 14 tháng 12 năm 2017
CÁN BỘ HƯỚNG DẪN
CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
(Họ tên và chữ ký)
(Họ tên và chữ ký)
TS. Nguyễn Đức Thành
TRƯỞNG KHOA
(Họ tên và chữ ký)
TRƯƠNG VĨNH PHÚC
2
LỜI CẢM ƠN
Trong cuộc sống cũng như trong nghiên cứu khoa học, một sự thành công dù lớn
hay nhỏ của một cá nhân hay một tập thể đều được gắn liền với sự giúp đỡ có thể là
trực tiếp hoặc gián tiếp từ những người khác. Để hoàn thành nghiên cứu trong luận
văn này tôi xin được gửi lời cảm ơn đến quý Thầy Cô ở Bộ môn Điều Khiển Tự Động,
Khoa Điện - Điện tử, Trường đại học Bách Khoa - Đại học quốc gia TP Hồ Chí Minh
với tri thức và tâm huyết của mình đã truyền đạt vốn kiến thức quý báu trong suốt thời
gian tôi học tập và nghiên cứu tại trường.
Với lòng biết ơn sâu sắc đến TS Nguyễn Đức Thành người thầy luôn nhiệt tình
hướng dẫn chỉ bảo cho tơi những kiến thức chia sẽ cho tôi những kinh nghiệm trong
suốt khoảng thời gian thực hiện nghiên cứu này.
Tôi cũng mong muốn gửi lời cảm ơn đặc biệt đến cha mẹ tôi đã dành nhiều tình
cảm và động viên để tơi hồn thành nghiên cứu này. Bên cạnh đó cha mẹ cũng là chỗ
dựa vững chắc về mặt tinh thần cho tôi trên con đường nghiên cứu khoa học.
Tôi xin chân thành cảm ơn các bạn học của tơi đã nhiệt tình đóng góp ý kiến giúp
tơi hồn thành luận văn được tốt hơn.
Một lần nữa tôi xin gửi lời cám ơn chân thành đến tất cả mọi người.
TRƯƠNG VĨNH PHÚC
3
Tóm Tắt Luận Văn Thạc Sĩ
Với sự tiến bộ của khoa học kĩ thuật trong những năm gần đây, thế giới đã giới
thiệu ra những sản phẩm công nghệ nổi bật, có thể hỗ trợ con người tốt hơn trong
nhiều hồn cảnh khác nhau.Các hệ thống trở nên thơng minh hơn, có khả năng xử lí
được nhiều tác vụ trong thời gian ngắn. Để làm được điều đó, xu hướng huấn luyện
để máy tính có thể hiểu được mơi trường xung quanh ngày càng được đẩy mạnh và
đạt được những bước tiến vượt bậc. Kết hợp với việc phát triển của hệ thống phần
cứng, những hệ thống máy học (Machine Learning) có khả năng thách thức con người
trong các trị chơi đánh cờ, cũng như khả năng phân biệt được những đối tượng khác
nhau.
Với việc thực hiện luận văn này, học viên muốn phát triển một hệ thống machine
learning sử dụng phương pháp Convolutional Neural Network có khả năng nhận diện,
phân loại các loại biển báo giao thông khác nhau. Hệ thống được xây dụng trên máy
tính cá nhân kết hợp camera thu thập dữ liệu hình ảnh xung quanh, xử lý đưa ra kết
qua trong thời gian thực.
Học Viên
Trương Vĩnh Phúc
TRƯƠNG VĨNH PHÚC
4
LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các cơng trình khác
như đã ghi rõ trong luận văn, các cơng việc trình bày trong luận văn này do
chính tơi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để
lấy một bằng cấp ở trường này hoặc trường khác.
Ngày 12/12/2017
Trương Vĩnh Phúc
TRƯƠNG VĨNH PHÚC
5
Mục Lục
CHƯƠNG 1 TỔNG QUAN VỀ MƠ HÌNH NHẬN DIỆN VÀ PHÂN LOẠI
BIỂN BÁO GIAO THÔNG ................................................................................... 11
1.1
ĐẶT VẤN ĐỀ ...................................................................................................................................... 11
1.2
TỔNG QUAN CÁC CƠNG TRÌNH LIÊN QUAN ĐẾN ĐỀ TÀI ...................................................................... 13
1.2.1 Các nghiên cứu liên quan đến phát hiện và nhận diện biển báo giao thông: .............................. 13
1.2.2 Các nghiên cứu liên quan đến đến phương pháp CNN ................................................................ 26
1.3
MỤC TIÊU NGHIÊN CỨU ..................................................................................................................... 29
1.4
CẤU TRÚC LUẬN VĂN ........................................................................................................................ 30
CHƯƠNG 2 LÝ THUYẾT MẠNG NEURON TRONG NHẬN DIỆN VÀ
PHÂN LOẠI…. ....................................................................................................... 31
2.1
LÝ THUYẾT VỀ MẠNG NEURON (NEURAL NETWORKS) ....................................................................... 31
2.1.1 Mạng thần kinh nhân tạo: ............................................................................................................ 31
2.1.2 Quá trình xử lý thơng tin của tế bào thần kinh: ........................................................................... 32
2.1.3 Phân loại mạng thần kinh nhân tạo:............................................................................................ 32
2.1.4 Phương pháp huấn luyện mạng thần kinh: .................................................................................. 33
2.2
MƠ HÌNH CONVOLUTIONAL NEURAL NETWORK (CNNS) ................................................................. 36
2.2.1 Giới thiệu: .................................................................................................................................... 36
2.2.2 Các thành phần cơ bản của mạng CNNs: .................................................................................... 37
2.2.2.1
2.2.2.2
2.2.2.3
2.2.2.4
Lớp Convolution: ................................................................................................................................ 37
Lớp Pooling: ....................................................................................................................................... 41
Lớp ReLU: .......................................................................................................................................... 42
Lớp Full-Connected: ........................................................................................................................... 43
2.3
VẬN DỤNG MẠNG CNNS VÀO HỆ THỐNG PHÂN LOẠI BIỂN BÁO GIAO THÔNG: ................................... 43
2.4
HỆ THỐNG KHÔNG GIAN MÀU SẮC:.................................................................................................... 44
2.4.1 Không gian màu RGB: ................................................................................................................. 44
2.4.2 Không gian màu CMYK: .............................................................................................................. 45
2.4.3 Không gian màu HSV: ................................................................................................................. 47
2.5
BỘ LỌC TRUNG VỊ (MEDIAN FILTER): ................................................................................................ 48
CHƯƠNG 3
XÂY DỰNG GIẢI THUẬT NHẬN DIỆN VÀ PHÂN LOẠI .. 49
3.1
THU THẬP DỮ LIỆU: ........................................................................................................................... 49
3.2
HUẤN LUYỆN MẠNG CNNS: .............................................................................................................. 50
3.3
XÂY DỰNG GIẢI THUẬT NHẬN DIỆN VÀ PHÂN LOẠI BIỂN BÁO GIAO THÔNG: ...................................... 53
3.3.1 Phân tích bài tốn nhận diện và phân loại biển báo giao thông: ................................................ 53
3.3.2 Giải thuật phát hiện vùng biển báo giao thơng: .......................................................................... 54
3.3.3 Mơ hình phân loại biển báo giao thông:...................................................................................... 57
3.3.4 Lưu đồ giải thuật cả hệ thống: ..................................................................................................... 63
CHƯƠNG 4 HỆ THỐNG THỰC NGHIỆM NHẬN DIỆN VÀ PHÂN LOẠI
BIỂN BÁO GIAO THÔNG ................................................................................... 64
4.1
PHẦN CỨNG HỆ THỐNG NHẬN DIỆN VÀ PHÂN LOẠI: ........................................................................... 64
4.1.1 Máy tính: ...................................................................................................................................... 64
4.1.2 Camera: ....................................................................................................................................... 65
4.2
CHƯƠNG TRÌNH TRÊN MÁY TÍNH: ...................................................................................................... 66
4.3
KẾT QUẢ: .......................................................................................................................................... 67
4.3.1 Kiểm tra ảnh chứa biển báo ngẫu nhiên:..................................................................................... 67
4.3.2 Kiểm tra ảnh đầu vào camera: .................................................................................................... 68
4.4
KẾT LUẬN ......................................................................................................................................... 70
TRƯƠNG VĨNH PHÚC
6
4.4.1
4.4.2
Đánh giá kết quả luận văn ........................................................................................................... 70
Hướng phát triển.......................................................................................................................... 70
Tài liệu tham khảo ............................................................................................................................ 71
TRƯƠNG VĨNH PHÚC
7
Danh sách các hình đã sử dụng trong luận văn
Hình 1.1: Sơ đồ thiết kế dựa trên phân loại màu và mạng Neural
Hình 1.2: Ngõ vào của bộ SVM
Hình 1.3: Cấu trúc của bộ phân loại DTBSVMs
Hình 1.4: Sơ đồ thiết kế dựa trên phương pháp DTBSVMs
Hình 1.5: Sơ đồ 49 điểm trong FOSTS
Hình 1.6: Sơ đồ giải thuật HOG kết hợp SVM
Hình 1.7: Vùng khơng gian màu “Đỏ, xanh dương, vàng”
Hình 1.8: Ví dụ về mối liên hệ giữa những vật thể gần nhau
Hình 1.9: Sơ đồ tiền xử lý ảnh đầu vào cho mạng thần kinh
Hình 1.10: Mơ hình CNNs sử dụng 2 GPUs
Hình 1.11: Kết quả phân loại đối tượng trong nghiên cứu [8]
Hình 1.12: Ví dụ về kết quả của phương pháp Bounding Box
Hình 1.13: Kết quả phân loại và theo dõi đối tượng của nghiên cứu [10]
Hình 2.1: Tế bào thần kinh nhân tạo
Hình 2.2: Mơ hình phương pháp học có giám sát
Hình 2.3: Mạng truyền thẳng 3 lớp
Hình 2.4: Mơ hình phương pháp CNN
Hình 2.5: Ví dụ phép tốn tính chập
Hình 2.6: Ví dụ áp dụng Conv
Hình 2.7: Các thành phần của Conv
Hình 2.8: Các tầng của Conv
Hình 2.9: Ví dụ lớp Pooling
Hình 2.10: Ví dụ lớp ReLU
Hình 2.11: Khơng gian màu RGB
Hình 2.12: Khơng gian màu CMYK
Hình 2.13: Khơng gian màu HSV
Hình 2.14: Cách sắp xếp phần tử trong bộ lọc trung vị
Hình 3.1: Hình ảnh biển báo giao thơng dùng cho việc training
Hình 3.2: Ảnh hưởng của hệ số tốc độ học đến sai số
TRƯƠNG VĨNH PHÚC
8
Hình 3.3: Hình ảnh chứa biển báo giao thơng gốc
Hình 3.4: Kết quả lấy ngưỡng HSV
Hình 3.5: Ảnh sau khi lọc trung vị
Hình 3.6: Ảnh sau khi lấy contour
Hình 3.7: Ảnh sau khi phân loại bằng CNNs
Hình 3.8: Mơ hình sử dụng TensorFlow trên GPU cho việc training
Hình 3.9: Mơ hình CNN 1 và kết quả huấn luyện
Hình 3.10: Mơ hình CNN 2 và kết quả huấn luyện
Hình 3.11: Mơ hình CNN 3 và kết quả huấn luyện
Hình 3.12: Lưu đồ giải thuật cả hệ thống
Hình 3.13: Kết quả cả q trình nhận diện và phân loại
Hình 4.1: Máy tính Lenovo ThinkPad W540
Hình 4.2: Thơng số kĩ thuật máy tính Lenovo
Hình 4.3: Camera Logitech
Hình 4.4: Giao diện người dùng thể hiện kết quả phân loại
Hình 4.5: Ảnh ngẫu nhiên
Hình 4.6: Kết quả phân loại ảnh ngẫu nhiên
Hình 4.7: Một số kết quả nhận diện trực tiếp từ camera
Hình 4.8: Kết quả phân loại ảnh bị nghiêng
TRƯƠNG VĨNH PHÚC
9
Danh sách bảng:
Bảng 3.1: Loại biển báo và số lượng mẫu
Bảng 3.2: Kết quả huấn luyện cho mơ hình 3
TRƯƠNG VĨNH PHÚC
10
Chương 1
TỔNG QUAN VỀ MƠ HÌNH NHẬN DIỆN
VÀ PHÂN LOẠI BIỂN BÁO GIAO THÔNG
1.1 Đặt vấn đề
Xã hội ngày càng phát triển về khoa học kĩ thuật và thiết bị công nghệ trở nên
phổ biến, nhu cầu của con người trong tất cả mọi lĩnh vực của cuộc sống cũng ngày
càng tăng lên, trong số đó việc nâng cao tính an toàn cũng như những hệ thống hỗ trợ
tài xế lái xe khơng cịn là viễn cảnh trên những bộ phim khoa học nữa. Thời nay, việc
lái xe ngày càng đơn giản hóa kèm theo độ an tồn cho hành khách được nâng cao. Đó
điều là nhờ vào sự tiến bộ của khoa học kĩ thuật. Tiếp theo xu hướng này, hệ thống hỗ
trợ nhận diện biển báo giao thông cũng không phải là một ngoại lệ.
Tự động nhận diện biển báo giao thông là một nhiệm vụ đầy thử thách đã có từ
nhiều năm qua, và với xu hướng xe tự động hóa như hiện nay, nó trở nên một phần
không thể thiếu trong lĩnh vực xe thông minh. Mặc dù những cơng trình nghiên cứu
đầu tiên đã có từ những năm 1960, chỉ khi vấn đề về hệ thống tự lái thơng minh cũng
như tiêu chuẩn an tồn cho người ngồi trên xe được chú ý trên toàn thế giới, những
thành quả quan trọng mới được giới thiệu vào đầu thập niên 90. Tuy nhiên, ta dễ dàng
nhận thấy vẫn còn những khoảng cách giữa những việc con người và máy có thể làm.
Biển báo giao thơng có những đặc tính riêng như màu sắc, hình dạng, chữ số…
giúp chúng ta có thể phân biệt với những vật khác ngồi trời. Những đặc tính này chính
là ngõ vào vô cùng quan trọng trong việc xây dựng một hệ thống phát hiện và nhận
diện biển báo hoạt động một cách hiệu quả, chính xác nhất. Tuy nhiên, khơng thể phủ
nhận cũng có rất nhiều yếu tố ảnh hưởng mạnh mẽ đến kết quả cuối cùng của hệ thống.
Những yếu tố có thể dễ dàng nhận thấy như: sự thay đổi ánh sáng (giữa đêm và ngày,
hay do ảnh hưởng của đèn xe, sương mù, mưa bão…), cảnh nền, vật che khuất, biển
báo bị phai mờ theo thời gian hay bị xoay chuyển vị trí…Do đó, độ chính xác chính
là chìa khóa quyết định độ thành cơng của hệ thống bởi vì một quyết định sai hoặc bỏ
lỡ một biển báo có thể dẫn đến hậu quả nghiêm trọng trong quyết định của tài xế.
TRƯƠNG VĨNH PHÚC
11
Việc nghiên cứu và phát triển thuật toán để xây dựng hệ thống phát hiện và nhận
diện biển báo giao thông, hỗ trợ tài xế là một trong những vấn đề quan trọng. Thêm
vào đó thuật tốn được nghiên cứu cần có quyết định phân loại chính xác cao và cũng
có thể chuyển đổi kết quả được đề xuất thành thông tin để người sử dụng hiểu rõ ràng.
Tuy nhiên với các hệ thống phức tạp trên thực tế không thể mơ tả chính xác bởi các
phương trình tốn học truyền thống, những cách tiếp cận kinh điển dựa trên kỹ thuật
phân tích và các phương trình tốn học nhanh chóng tỏ ra khơng cịn phù hợp. Vấn đề
này có thể được giải quyết bằng cách áp dụng phương pháp trí tuệ nhân tạo.
Trí tuệ nhân tạo căn cứ trên các đặc điểm, hành vi của con người và tự nhiên để
đưa ra các quyết định hợp lý trong điều kiện khơng chính xác và khơng chắc chắn, nó
là kỹ thuật bắt chước trí thơng minh của con người. Trí tuệ nhân tạo ngày càng được
nghiên cứu và ứng dụng vào nhiều lĩnh vực khác nhau trong cuộc sống và trong những
công việc liên quan đến đưa ra những quyết định dựa trên kết quả phân tích dữ liệu
như: hệ thống giám sát và chuẩn đoán trong y tế, hệ thống xử lý ảnh và rút trích những
đặc trưng ảnh, hệ thống điện và điện tử, hệ thống dự đoán trong kinh tế và những hệ
thống điều khiển trong ngành công nghiệp xe hơi... Tất cả những hệ thống yêu cầu
phải có sự phân loại và dự đốn chính xác để từ đó đưa ra quyết định đúng.
Những phương pháp của trí tuệ nhân tạo gồm có logic mờ, mạng thần kinh nhân
tạo, giải thuật di truyền… Mỗi phương pháp có đặc điểm tính tốn phù hợp với những
vấn đề riêng biệt, trong khi mạng thần kinh nhân tạo được ứng dụng tốt vào vấn đề
phân loại mẫu nhưng nó khơng giải thích được tại sao lại đưa ra quyết định phân loại
mẫu đó. Ngược lại, hệ mờ có thể đưa ra nguyên nhân tại sao lại có quyết định phân
loại của chính nó, nhưng nó lại khơng thể tự động xây dựng những quy tắc để làm
những quyết định đó. Tuy nhiên, trong khoảng 5 năm trở lại đây, mơ hình CNNs
(Convolution Neural Networks) đã chứng minh được sức mạnh trong việc xử lý và
liên kết các đặc trưng khác nhau của từng vật thể, tập trung vào việc nhận biết được
cấu trúc của vật thể đó thơng qua vô số các mảng đặc trưng riêng lẽ đã được huấn
luyện và bắt đầu được nghiên cứu ứng dụng trong ngành công nghiệp ô tô.
TRƯƠNG VĨNH PHÚC
12
Mơ hình mạng thần kinh này bao gồm nhiều lớp cấu thành nên có cấu trúc rộng,
phức tạp và địi hỏi nhiều tài nguyên cho quá trình học và đánh giá. Dù có có độ chính
xác cao và có khả năng linh động thay đổi nhằm đáp ứng yêu cầu nhận dạng, phân loại
nhiều đối tượng khác nhau, nhưng CNNs có nhược điểm lớn khi cần có một lượng dữ
liệu rất lớn cho quá trình học và cần hệ thống phần cứng đáp đủ mạnh, nhanh cho việc
xử lý khối dữ liệu đó. Nhược điểm này đã và đang dần được khắc phục với sự xuất
hiện của nhiều kiến trúc vi xử lý mới có khả năng xử lý nhiều tác vụ hơn và nhanh
hơn.
Với những quan điểm được liệt kê bên trên, mục đích của nghiên cứu này là tìm
hiểu và xây dựng hệ thống phát hiện và phân loại biển báo giao thơng dựa vào mơ hình
CNNs có thể áp dụng theo thời gian thực trên máy tính cá nhân.
1.2 Tổng quan các cơng trình liên quan đến đề tài
Ngày nay, ngày càng nhiều nhà khoa học quan tâm nghiên cứu về các ứng dụng,
hệ thống hỗ trợ trong lĩnh vực ô tô, đặc biệt liên quan đến hệ thống tự hành trên xe
bốn bánh. Việc tự động phát hiện, nhận diện biển báo giao thông là một phần không
thể bỏ qua trong một hệ thống xe tự hành.
Luận văn này sẽ đề cập một số nghiên cứu sử dụng một trong những phương
pháp từ cổ điển đến những phương pháp hiện đại trong việc phát hiện và nhận diện
biển báo giao thông.
1.2.1 Các nghiên cứu liên quan đến phát hiện và nhận diện biển báo
giao thông:
Nghiên cứu đầu tiên có thể kể đến của nhóm tác giả M. Sajjad Hossain, M.
Mahmudul Hasan, M. Ameer Ali, Md. Humayun Kabir and A B M Shawkat Ali
[1], trong nghiên cứu này tác giả đã sử dụng giải thuật phân chia dựa trên màu sắc để
phát hiện vùng ảnh chứa biển báo. Không gian màu RGB được sử dụng để tối ưu sự
đơn giản và có thể sử dụng trực tiếp, không cần chuyển đổi không gian màu. Trong
phương pháp này, những giá trị ngưỡng của từng màu sắc được cập nhật cho những
điều kiện ánh sáng khác nhau, đặc biệt là giữa ngày và đêm. Vùng ảnh màu đỏ và màu
xanh được tập trung nhận diện từ ảnh đầu vào bởi vì chúng là 2 màu chính trên các
TRƯƠNG VĨNH PHÚC
13
biển báo. Sau khi tìm được các ROIs với màu xanh và đỏ riêng biệt, một mạng Neural
Network dựa trên giải thuật “moments invariants” được sử dụng cho việc phân loại
dựa trên các đặc tính về hình dạng của biển báo (tròn, tam giác). Việc phân loại này
được thực hiện riêng biệt giữa hai nhóm màu xanh dương và đỏ. Để nhận diện nội
dung bên trong của từng biển báo, mạng Neural thứ 2 được sử dụng. Nó cũng được
luyện tập bởi những “monments invariants”. Tóm lại, trong bài nghiên cứu này, các
tác giả dựa trên ngưỡng màu sắc để tìm vùng ảnh và mạng Neural để phân tích và xác
định nội dung từng biển báo.
Hình 1.1: Sơ đồ thiết kế dựa trên phân loại màu và mạng Neural
Nhóm tác giả Hossein Pazhoumand-Dar and Mehdi Yaghobi [2] đưa ra một
giải pháp khác trong việc giải quyết vấn đề phát hiện và nhận diện biển báo giao thông.
Trong phần nghiên cứu này, tác giả đã sử dụng các ngưỡng giá trị trong khơng gian
màu HSI. Hệ màu này có ưu điểm về các thành phần H(Hue) và S(Saturation) tỏ ra ổn
định và không bị ảnh hưởng nhiều bởi sự thay đổi của điều kiện ánh sáng. Các giá trị
TRƯƠNG VĨNH PHÚC
14
ngưỡng được chọn dựa trên những ảnh mẫu thật trong nhiều điều kiện ánh sáng khác
nhau. Dựa vào màu sắc để phân ra 3 vùng ảnh khác nhau là xanh, đỏ và phần cịn lại.
Ngồi ra, tỉ lệ về kích thước của vùng ảnh cũng được cân nhắc để loại ra những vùng
ảnh khơng phù hợp:
Sau khi tìm được phân vùng chứa biển báo dựa trên màu sắc, ở bước tiếp theo
nhóm tác giả sử dụng phương pháp Support Vector Machines (SVM) để phân loại
hình dạng của biển báo. Ngõ vào của phương pháp SVM là khoảng cách của điểm ảnh
đến viền của tấm ảnh. SVM sẽ phân tích để tìm ra mối liên hệ với những hình dạng
phổ biến của biển báo. Trong bài báo tác giả chỉ quan tâm đến hình tam giác và hình
trịn (hai hình phổ biến nhất của biển báo) và loại bỏ những ảnh khơng tìm được mối
liên quan.
Hình 1.2: Ngõ vào của bộ SVM
Ở bước cuối cùng, phương pháp Self-adaptive image segmentation được sử
dụng để lấy những đặc trưng của ảnh chứa biển báo. Sau đó, những đặc trưng này cũng
là ngõ vào cho bộ DTBSVMs (Decision-tree_based SVMs) để nhận diện nội dung bên
trong biển báo.
TRƯƠNG VĨNH PHÚC
15
Hình 1.3: Cấu trúc của bộ phân loại DTBSVMs
Hình 1.4: Sơ đồ thiết kế dựa trên phương pháp DTBSVMs
TRƯƠNG VĨNH PHÚC
16
Bên cạnh đó, nhóm tác giả X.W. Gao, L. Podladchikova, D. Shaposhnikov,
K. Hong và N. Shevtsova [3] cũng công bố thành tựu trong việc nghiên cứu, đưa ra
giải pháp cho vấn đề phát hiện và nhận diện biển báo giao thơng. Trong bước phân
vùng ảnh có thể chứa biển báo, tác giả dùng thông tin màu sắc trong không gian màu
CIECAM97. Hình ảnh đầu vào được chuyển đổi từ RGB sang CIE XYZ và sau đó là
khơng gian LCH (Lightness, Chroma, Hue) sử dụng mơ hình CIECAM97. Yếu tố độ
sáng sẽ thay đổi như nhau cho các màu sắc khác nhau, do đó, yếu tố Chroma và Hue
được sử dụng chủ yếu. Nhóm tác giả đã đưa ra bảng miền giá trị cho cho từng màu
ứng với từng điều kiện khác nhau:
Dựa trên miền giá trị này, hình ảnh đầu vào sẽ được chia ra nhiều vùng khác
nhau và chỉ giữ lại phần có khả năng chứa biển báo. Việc phân chia này được hỗ trợ
bởi phương pháp “Quad-tree histogram”.
Ở bước tiếp theo, nhóm tác giả đã sử dụng phương pháp FOSTS (foveal system
for traffic signs) để trích thơng tin liên quan đến hình dạng của biển báo (trịn, tam
giác, chữ nhật). Việc áp dụng FOSTS, ứng với mỗi ảnh ngõ vào sẽ cho ra tương ứng
một vector chứa những đặc trưng về hình dạng của biển báo tại 49 điểm khác nhau.
Ngoài ra để nâng cao tỉ lệ nhận diện chính xác nội dung bên trong, việc xác định trọng
tâm của biển báo là điều cần thiết. Tác giả đã sử dụng thông tin màu sắc của phân viền
trên biển báo để xác định vị trí trọng tâm.
TRƯƠNG VĨNH PHÚC
17
Hình 1.5: Sơ đồ 49 điểm trong FOSTS
Ở bước cuối cùng, tác giả sử dụng thông tin tại 49 điểm được tính tốn ở bước
phía trước và so sánh với nội dung có sẵn trong kho dữ liệu để phân loại ra nhóm biển
báo tương ứng và sau đó là nội dung bên trong biển báo. Với phương pháp này, nhóm
tác giả đã đạt được tỉ lệ nhận diện chính xác lên đến 95% mẫu được kiểm tra.
Tập trung cho việc phát hiện biển báo giao thơng, nhóm tác giả W.G. Shadeed,
D.I. Abu-Al-Nadi và M.J. Mismar [4] đã nghiên cứu, đưa ra giải pháp dựa trên biểu
đồ cân bằng (histogram equalization), kiểm soát độ sáng (light control) và phân vùng
màu (colour segmentation). Trong hệ màu YUV, giá trị Y đại diện cho độ sáng, (U,V)
đại diện cho màu sắc, do đó khi chỉ có Y thay đổi thì ta vẫn có bức ảnh cùng màu sắc.
Với những tính chất đó, YUV được chọn cho cân bằng histogram, trình tự được thực
hiện theo các bước:
➢ Bước 1: chuyển đổi ảnh đầu vào RGB sang không gian màu YUV theo
công thức bên dưới:
Y = 0.229*R + 0.587*G + 0.114*B
U = 0.492*(B-Y)
V = 0.877*(R-Y)
➢ Bước 2: Tính histogram của kênh màu Y
➢ Bước 3: Thực hiện cân bằng histogram
𝑌𝑛𝑒𝑤 = 256 ∗
TRƯƠNG VĨNH PHÚC
𝑁𝑌
𝑁𝑡
18
Với: Ynew là giá trị mới sau cân bằng, Ny là số lượng pixel có độ sáng <
Y, Nt là tổng số pixel có trong ảnh.
➢ Bước 4: Thay thế giá trị Y bằng giá trị Ynew
Tiếp theo, nhóm tác giả đã sử dụng giải thuật kiểm soát độ sáng của ảnh đầu
vào để nhằm hạn chế ảnh hưởng của việc thay đổi điều kiện sáng. Việc này được
thực hiện theo các bước bên dưới:
➢ Bước 1: Tính giá trị trung bình Yav của kênh màu Y
➢ Bước 2: Tính giá trị trung bình YHav của nửa trên của giá trị Y sau cần
bằng (Y>Yav)
➢ Bước 3: Tính giá trị trung bình LHav của nửa dưới của giá trị Y sau cần
bằng (Y
➢ Bước 4: Chọn giá trị trung bình mong muốn YDav, giá trị trung bình trên
mong muốn YDHav, giá trị trung bình dưới mong muốn YLav
➢ Bước 5: Gán giá trị (0 – YLav) vào (0 – YDLav), (YLav-Yav) vào (YDLav –
YDav), (Yav – YHav) vào (YDav – YDHav) và (YHav – 255) vào (YDHav –
255)
➢ Bước 6: Chuyển đổi ảnh mới nhận được trở lại hệ màu RGB
Cuối cùng, tác giả kết hợp sử dụng cả 2 không gian màu HSV và YUV cho
việc phân vùng ảnh có khả năng chứa biển báo. Lý do sử dụng:
Trong HSV, giá trị H sẽ thay đổi từ 0o đến 360o khi màu của ảnh thay
đổi. Các giá trị khác (S,V) không thay đổi khi yếu tố màu thay đổi.
Trong YUV, giá trị V sẽ dương khi phần trăm điểm ảnh màu đỏ lớn hơn
xanh dương và xanh lá cây, ngược lại V sẽ âm. Ngoài ra, U sẽ dương
nếu màu xanh dương nhiều hơn đỏ và xanh lá cây. Do đó, nếu muốn lấy
phân vùng màu đỏ thì V phải dương và U phải âm. Tương tự cho màu
xanh dương.
Kết hợp hai đặc điểm trên của HSV và YUV, tác giả đã phân vùng thành công
vùng ảnh cần quan tâm.
TRƯƠNG VĨNH PHÚC
19
Trong một nghiên cứu khác, nhóm tác giả I.M. Creusen, R.G.J. Wijnhoven,
E. Herbschleb và P.H.N. de With [5] đã sử dụng giải thuật Histogram of Oriented
Gradient (HOG) để phát hiện và nhận diện biển báo giao thông. Trong giải thuật này,
ảnh đầu vào được chuyển đổi thành các đặc tính HOG và sau đó một cửa sổ trượt sẽ
được quét qua toàn bộ ảnh, việc này được thực hiện với sự hỗ trợ của mơ hình Support
Vector Machine (SVM). Bộ phân loại SVM được huấn luyện bởi hai bộ ảnh mẫu: một
bộ gồm những hình ảnh có chứa biển báo và một bộ gồm những ảnh chỉ chứa ảnh nền.
Việc luyện tập được thực hiện qua nhiều vòng lặp, qua mỗi vịng lặp những đặc tính
khơng liên quan sẽ được loại bỏ dần. Do đó, độ chính xác của bộ phân loại cuối cùng
sẽ được nâng cao.
Hình 1.6: Sơ đồ giải thuật HOG kết hợp SVM
Để kiểm tra kết quả của phương pháp trên, nhóm tác giả đã thử nghiệm huấn
luyện và kiểm tra cho nhiều không gian màu khác nhau: RGB, HSV, CIELab và
YcbCr. Thông qua kết quả, ta có thể nhận thấy được khơng gian màu CIELab và
YcbCr cho kết quả với độ chính xác cao nhất:
Bài nghiên cứu này bổ sung cho ta thêm một phương pháp trong việc nhận diện
và phát hiện biển báo giao thông. Phương pháp này thích hợp với những hệ thống hạn
TRƯƠNG VĨNH PHÚC
20
chế về tài nguyên xử lý đồng thời ta có thể nâng cao tỉ lệ chính xác bằng việc tăng số
lượng mẫu dùng để luyện tập cho hệ thống.
Bên cạnh đó, nhóm tác giả Krzysztof Dyczkowski, Paweł Gadecki, Adam
Kułakowski [6] đã đưa ra một nghiên cứu với kết quả có khả năng sử dụng trong
những ứng dụng thực tế. Trong phần đầu tiên, thay vì sử dụng hệ màu thơng dụng
RGB, nhóm tác giả sử dụng khơng gian màu HSB (Hue, Saturation, Brightness). Sau
đó, giả sử 3 màu chính thơng thường trên biển báo là đỏ, xanh dương và vàng, tác giả
đã xây dựng tương ứng 3 mơ hình hay cịn gọi là 3 bộ mờ cho 3 màu. Mơ hình này
được xây dựng dựa trên các giá trị ngưỡng về màu sắc như hình bên dưới:
Hình 1.7: Vùng khơng gian màu “Đỏ, xanh dương, vàng”
Tiếp theo, tác giả tiến hành phân tích những vật thể bên trong tấm ảnh. Ở đây,
giả sử phần chứa biển báo được chia làm 2 hoặc nhiều phần chính, tác giả xây dựng
một hệ thống dựa trên những luật mờ để kiểm tra mối liên hệ giữa các phần này với
nhau. Ngõ vào của hệ thống mờ gồm những thông tin bên dưới:
TRƯƠNG VĨNH PHÚC
21
Dựa trên những giá trị đầu vào này, tác giả định nghĩa những quy tắc khác nhau
cho bộ mờ để kiểm tra mối quan hệ giữa hai vật thể gần nhau. Từ đó, những cặp vật
thể khơng liên quan được loại bỏ. Ví dụ: những vật thể quá nhỏ, tỉ lệ giữa 2 vật thể
quá lớn hay khoảng cách giữa chúng quá lớn…
TRƯƠNG VĨNH PHÚC
22
Hình 1.8: Ví dụ về mối liên hệ giữa những vật thể gần nhau
Ở bước tiếp theo, nhóm tác giả muốn so sánh những vùng ảnh thu thập được ở
bước trên với những ảnh mẫu có trong cơ sở dữ liệu để xác định thơng tin có trong
biển báo. Đầu tiên, tác giả tạo ra 6 vector chứa thông tin giá trị các pixel tương ứng
với 6 cách phân chia bức ảnh:
TRƯƠNG VĨNH PHÚC
23
Tương ứng, tác giả cũng xây dựng một bộ vector cho các ảnh mẫu dùng để làm
cơ sở dữ liệu. Sau đó, thơng qua việc so sánh những giá trị trong 2 bộ vector để đánh
giá mức độ giống nhau giữa ảnh đầu vào và những ảnh trong cơ sở dữ liệu. Nội dung
của biển báo đầu vào được quyết định theo bộ vector mẫu có chỉ số giống nhau cao
nhất. Với phương pháp này, nhóm tác giả đã đạt được tỉ lệ nhận diện chính xác trung
bình 84%.
Ngồi ra, trong nghiên cứu của nhóm tác giả P. Shopa, N. Sumitha và P.S.K
Patra [7] đã sử dụng những kĩ thuật trong OpenCV để giải quyết bài toán nhận diện
biển báo. Hình ảnh được đọc vào ở cả hai trạng thái ảnh màu và ảnh trắng đen. Trong
đó ảnh trắng đen được sử dụng với mục đích tìm giá trị ngưỡng cho việc chuyển đổi
từ ảnh trắng đen sang ảnh nhị phân. Tuy nhiên, trước đó ảnh đầu vào được cho qua bộ
lọc Gaussians và sử dụng phương pháp phát hiện cạnh Canny để làm mượt ảnh đầu
vào, việc này sẽ giúp nâng cao hiệu quả trong việc tách phân vùng chứa biển báo.
Sau khi có được ảnh nhị phân, phương pháp nhận diện đường viền được sử dụng
để lọc ra những phân vùng chứa hình ảnh biển báo. Phân vùng này được kiểm tra dựa
vào kích thước và diện tích để loại bỏ những phần không phù hợp với biển báo giao
thông. Những phân vùng được chọn sẽ được tách ra từ ảnh gốc để làm những giá trị
đầu vào trong phần nhận diện.
TRƯƠNG VĨNH PHÚC
24