TRƢỜNG ĐẠI HỌC LẠC HỒNG
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO
NGHIÊN CỨU KHOA HỌC ĐỀ TÀI:
XÂY DỰNG CHƢƠNG TRÌNH
PHÁT HIỆN VÀ NHẬN DẠNG
MỘT SỐ BIỂN BÁO GIAO
THÔNG ĐƢỜNG BỘ NGUY
HIỂM TẠI VIỆT NAM LÊ CHÂN THIỆN TÂM
PHẠM HỒNG THÁI BIÊN HÒA, THÁNG 11/2012 LỜI CÁM ƠN
Để hoàn thành đề tài này và có kiến thức như ngày hôm nay, đầu tiên chúng
em xin gửi lời cảm ơn đến Ban Giám Hiệu cùng toàn thể Thầy Cô Khoa Công Nghệ
Thông Tin – Trường Đại Học Lạc Hồng đã tận tình giảng dạy, truyền đạt kiến thức
cũng như những kinh nghiệm quý báu cho chúng em trong suốt quá trình học tập tại
trường.
Chúng em xin gửi những lời tri ân sâu sắc nhất đến thầy Ths Trần Tiến Đức,
người thầy đã tận tình hướng dẫn và quan tâm, động viên chúng em trong suốt quá
trình thực hiện đề tài.
Chúng em xin chân thành cảm ơn sự đóng góp ý kiến để góp phần hoàn thiện
đề tài các từ thầy Ths Huỳnh Cao Tuấn, thầy Ths Phan Mạnh Thường, thầy Ths
Nguyễn Phát Nhựt.
Chúng em cũng vô cùng cảm ơn sự nhiệt tình của các nhóm bạn đã hỗ trợ cho
nhóm nghiên cứu trong quá trình khảo sát thực tế, lấy mẫu thực nghiệm, đánh giá kết
quả cũng như hỗ trợ các thiết bị cần thiết để nhóm có thể hoàn thành đề tài.
Chúng em cũng bày tỏ lòng biết ơn đến những người thân trong gia đình đã
động viên và tạo mọi điều kiện giúp chúng em trong quá trình học tập cũng như
trong cuộc sống.
Mặc dù chúng em đã cố gắng hoàn thành tốt đề tài nhưng cũng không thể
tránh khỏi những sai sót nhất định, rất mong được sự thông cảm và chia sẻ cùng quý
Biên Hòa, Ngày … tháng … năm 201…
Kí tên
Formatted: Vietnamese
MỤC LỤC
Trang phụ bìa
Lời cám ơn
Mục lục
Danh mục viết tắt
Danh mục bảng và hình
PHẦN MỞ ĐẦU 1
CHƢƠNG 1: TỔNG QUAN VỀ CÁC PHƢƠNG PHÁP PHÁT HIỆN BIỂN BÁO
GIAO THÔNG VÀ NỀN TẢNG OPENCV 9
1.1. Các phương pháp phát hiện biển báo giao thông. 10
1.1.1, Phương pháp phát hiện dựa trên màu sắc 10
1.1.2, Phương pháp phát hiện dựa trên hình dạng 11
1.1.3, Phương pháp phát hiện dựa trên máy học 14
1.2. Giới thiệu thư viện mã nguồn mở OpenCV 14
1.2.1, Lịch sử OpenCV 15
1.2.2, Kiến trúc của OpenCV 16
1.3. Tiểu kết 17
CHƢƠNG 2: GIỚI THIỆU PHƢƠNG PHÁP NHẬN DẠNG BIỂN BÁO GIAO
THÔNG 18
2.1. Khái quát phương pháp nhận dạng biển báo giao thông sử dụng trong đề tài. 19
2.2. Xác định vùng đặc trưng chứa biển báo giao thông 20
2.2.1, Đặc trưng Haar-like 20
CHƢƠNG 4: ĐÁNH GIÁ KẾT QUẢ CHƢƠNG TRÌNH 5756
4.1. Đánh giá kết quả. 5857
4.1.1, Các môi trường thử nghiệm đánh giá 5857
4.1.2, Đánh giá các sai số 6564
4.2. Ưu và nhược điểm của chương trình 6665
4.2.1, Ưu điểm 6665
4.2.2, Nhược điểm 6665
4.3. Tiểu kết 6766
PHẦN KẾT LUẬN 6867
TÀI LIỆU THAM KHẢO DANH MỤC VIẾT TẮT
Từ viết tắt
Từ đầy đủ
AVI
Audio Video Interleave
BMP
Bitmap Portable
CPU
Central Processing Unit
GB
DANH MỤC HÌNH
Hình 1. Mô hình xử lý nhận dạng biển báo giao thông của bài báo “A Road Sign
Recognition System Based on Dynamic Visual Model” [10] . 3
Hình 2. Mô hình xử lý nhận dạng biển báo giao thông của bài báo “A System for
Traffic Sign Detection, Tracking, and Recognition Using Color, Shape, and Motion
Information” [8]. 4
Hình 3. Mô hình phát hiện biển báo giao thông của bài báo “Color-Based Road Sign
Detection and Tracking” [14]. 4
Hình 4. Mô hình tác giả đề nghị [5]. 5
Hình 5. Tổng quan thuật toán [2]. 6
Hình 1. 1. Các vị trí của một đề cử điểm ảnh cho tâm đối tượng [13]. 11
Hình 1. 2. Nhân các góc gradient của một tam giác cho 3. 12
Hình 1. 3. Vùng kiểm soát. 13
Hình 1. 4. Xây dựng ảnh biến đổi khoảng cách [9]. 14
Hình 1. 5. Lịch sử phát triển của OpenCV [12, Trang 7]. 16
Hình 1. 6. Kiến trúc cơ bản của OpenCV [12, Trang 13]. 17
Hình 2. 1. Đặc trưng theo cạnh 20
Hình 2. 2. Đặc trưng theo đường 20
Hình 2. 3. Đặc trưng theo xung quanh tâm 20
Hình 2. 4. Đặc trưng theo đường chéo 20
Hình 2. 5. Cách tính Integral Image của ảnh 21
Hình 2. 6. Cách tính tổng giá trị pixel vùng cần tính. 22
Hình 2. 7. Boosting[ 3, Trang 16 ]. 23
Hình 2. 8. Phép chiếu lên các trục tọa độ khác nhau có thể cho cách nhìn khác nhau về
Hình 4. 3. Một số kết quả thử nghiệm trong môi trường nhiều mây, yếu ánh sáng và có
mưa nhỏ 6059
Hình 4. 4. Kết quả thử nghiệm biển bị che khuất bởi cây 6160
Hình 4. 5. Kết quả thử nghiệm với biển bị bong tróc sơn. 6160
Hình 4. 6. Kết quả thử nghiệm với biển bị bẩn bởi sơn. 6261
Hình 4. 7. Kết quả thử nghiệm với biển cũ bị phai màu 6261
Hình 4. 8. Kết quả thử nghiệm với ảnh bị các tờ quảng cáo dán lên. 6362
Hình 4. 9. Kết quả thử nghiệm với biển báo nghiêng bên phải trên ảnh tĩnh. 6362
Hình 4. 10. Kết quả thử nghiệm với biển báo bị nghiêng bên trái trên ảnh tĩnh. 6463
Hình 4. 11. Khoảng cách từ lúc nhận dạng đến biển báo. 6463
DANH MỤC SƠ ĐỒ
Sơ đồ 2. 1. Trình tự các bước trong phương pháp nhận dạng biển báo giao thông nguy
hiểm. 19
Sơ đồ 3. 1. Sơ đồ huấn luyện phát hiện biển báo trong ảnh. 47
Sơ đồ 3. 2. Sơ đồ huấn luyện nhận dạng biển báo 5251
Sơ đồ 3. 3. Sơ đồ hoạt động chương trình. 5352
DANH MỤC BẢNG
Bảng 3. 1. Một số biển báo giao thông được bộ được nhóm nghiên cứu. 38
Bảng 4. 1. Kết quả nhận dạng biển báo giao thông 6564
Formatted: Space Before: 6 pt, After: 6 pt,
Line spacing: 1.5 lines
Formatted: Space Before: 6 pt, After: 6 pt,
Line spacing: 1.5 lines
hiệu giao thông có thể vì tài xế mệt mỏi, thiếu tập trung và chịu nhiều yếu tố tác động
khác.
Từ khảo sát thực tế của nhóm sinh viên nghiên cứu [Phụ lục 1] với các tài xế
mà thành phần chủ yếu là các tài xế taxi cho thấy sự mong muốn có một hệ thống có
khả năng cảnh báo được trang bị trên xe giúp họ ý thức hơn về những nguy hiểm tiềm
ẩn khi điều khiển phương tiện lưu thông.
Các hệ thống cảnh báo hỗ trợ tài xế hiện vẫn đang trong giai đoạn được các
trung tâm nghiên cứu của thế giới, các hãng xe ô tô thử nghiệm, đánh giá và vẫn chưa
chính thức đưa vào sử dụng trong thực tế.
Hơn nữa việc ứng dụng công nghệ cao trong việc tạo ra các loại xe tự hành là
xu hướng thiết yếu của xã hội phát triển.
Từ những lý do trên, nhóm sinh viên nghiên cứu với mong muốn góp phần hạn
chế những tai nạn giao thông và giảm thiểu hóa những hậu quả sau tai nạn. Sau quá
- 2 -
Formatted: Font: 12 pt
Formatted: Font: Check spelling and grammar
Formatted: Font: 12 pt
Formatted: Font: Times New Roman, 12 pt
trình học tập và tìm hiểu những lợi ích từ những ứng dụng xử lý nhận dạng ảnh, nhóm
sinh viên chúng em lựa chọn đề tài: “Xây dựng chương trình phát hiện và nhận dạng
một số biển báo giao thông đường bộ nguy hiểm tại Việt Nam” làm đề tài tốt nghiệp.
Lịch sử nghiên cứu
Vấn đề xây dựng một hệ thống nhận dạng biển báo giao thông là một vấn đề
lớn và có nhiều hướng tiếp cận để giải quyết bài toán. Vấn đề này được các quốc gia
phát triển về ngành tự động hóa quan tâm từ sớm và cũng đã cho nhiều kết quả khả
quan. Tuy nhiên hiện tất cả vẫn đang được tiếp tục đầu tư nghiên cứu nhằm mục đích
xây dựng một sản phẩm tối ưu và hoàn chỉnh hơn.
hiện biển báo. Sau khi phát hiện và theo vết biển báo thì biển báo được phân loại bằng
mô hình Bayes. Kết quả được thực nghiệm theo bài báo là có thể phát hiện và phân loại
được một số biển báo giao thông với tỉ lệ chính xác cao trong điều kiện 10frames/1
giây.
- 4 -
Formatted: Font: 12 pt
Formatted: Font: Check spelling and grammar
Formatted: Font: 12 pt
Formatted: Font: Times New Roman, 12 pt
Hình 2. Mô hình xử lý nhận dạng biển báo giao thông của bài báo “A System for
Traffic Sign Detection, Tracking, and Recognition Using Color, Shape, and Motion
Information” [8].
Bài báo “Color-Based Road Sign Detection and Tracking ” (Luis David Lopez
and Olac Fuentes,Computer Science Department University of Texas, El Paso 79902,
USA, 2007) bài báo trình bày một nền tảng chung cho việc nhận dạng và theo vết các
biển báo giao thông chỉ sử dụng duy nhất một thông tin màu sắc. Phương pháp tiếp cận
gồm hai thành phần. Phần đầu sử dụng một tập phân phối Gauss để phát hiện đường và
các biển báo giao thông. Phần thứ hai là theo vết đối tượng đã được xác định ở bước
trước đó. Kết quả thử nghiệm cho thấy rằng hệ thống đề xuất nhận dạng trung bình
97% trong thời gian thực với các đối tượng ở gần.
Hình 3. Mô hình phát hiện biển báo giao thông của bài báo “Color-Based Road Sign
Detection and Tracking” [14].
- 5 -
Hình 5. Tổng quan thuật toán [2].
Mục tiêu nghiên cứu
Xây dựng chương trình phát hiện và nhận dạng biển báo giao thông đường bộ
từ video thu về và hiển thị thông tin cảnh báo dưới dạng hình ảnh và âm thanh.
Đối tƣợng nghiên cứu và phạm vi nghiên cứu
- Đối tượng nghiên cứu : Biển báo giao thông đường bộ ở Việt Nam
- Phạm vi nghiên cứu : Nghiên cứu bộ biển báo giao thông đường bộ nguy
hiểm tại Việt Nam.
Phƣơng pháp nghiên cứu
- Khảo sát, tìm hiểu và thu thập tài liệu, hình ảnh về biển báo giao thông, đề tài
đã nghiên cứu trước đây.
- Tìm hiểu các bước phát hiện biển báo giao thông: gồm phương pháp máy học
dựa trên đặc trưng Haar-like kết hợp với bộ tăng tốc Adaboost.
- Tìm hiểu các bước nhận dạng biển báo giao thông: Gồm quá trình phân tích
thành phần chính Pricipal Components Analaysis (PCA), và huấn luyện Support
Vector Machine(SVM) để nhận dạng biển báo giao thông.
- 7 -
Formatted: Font: 12 pt
Formatted: Font: Check spelling and grammar
Formatted: Font: 12 pt
Formatted: Font: Times New Roman, 12 pt
- Kế thừa những phương pháp đạt kết quả tốt và phù hợp với nội dung cần đạt
được của đề tài.
- Phát triển và cải tiến phương pháp đã có ở những đề tài trước để xây dựng
chương trình hướng tới kết quả tốt hơn.
- Tìm ra một hướng đi mới trong mỗi bước cần làm của đề tài, đặc biệt là trong
báo giao thông như dựa trên màu sắc, dựa trên hình dạng, và dựa trên phương pháp
máy học.
Trình bày nền tảng của thư viện hỗ trợ xử lý ảnh OpenCV.
Chƣơng 2: Giới thiệu phương pháp nhận dạng biển báo giao thông.
Trình bày nội dung về trình tự các bước trong quá trình phát hiện và nhận dạng
biển báo giao thông.
Trình bày chi tiết các thuật toán hỗ trợ trong việc phát hiện và nhận dạng gồm:
Đặc trưng Haar, bộ tăng tốc Adaboost, phân tích thành phần chính PCA, và bộ phân
lớp SVM.
Chƣơng 3: Thiết kế và xây dựng chương trình.
Trình bày các bước xây dựng chương trình phát hiện và nhận dạng biển báo
giao thông.
Chƣơng 4: Đánh giá kết quả chương trình.
Đánh giá độ chính xác của phương pháp.
Phần kết luận
- 9 -
Formatted: Font: 12 pt
Formatted: Font: Check spelling and grammar
Formatted: Font: 12 pt
Formatted: Font: Times New Roman, 12 pt
CHƢƠNG 1: TỔNG QUAN VỀ CÁC PHƢƠNG PHÁP PHÁT
HIỆN BIỂN BÁO GIAO THÔNG VÀ NỀN TẢNG OPENCV
learning).
1.1.1, Phƣơng pháp phát hiện dựa trên màu sắc
Cách tiếp cận phổ biến trong vấn đề xác định biển báo giao thông dựa trên màu
sắc là tìm một vùng ảnh có chứa màu sắc đặc trưng, sử dụng phương pháp phân
ngưỡng đơn giản hoặc phân ngưỡng ảnh cao cấp. Kết quả của vùng ảnh sau đó sẽ ngay
lập tức được xem như là biển báo giao thông hoặc thông qua giai đoạn tiếp theo xem
như là vùng cần quan tâm.
Khuyết điểm chính của phương pháp này là trong thực tế màu sắc có xu hướng
không đáng tin cậy, mà phụ thuộc vào các thời điểm trong ngày, điều kiện thời tiết,
bóng râm…Không gian màu RGB được đánh giá là rất nhạy cảm với ánh sáng , do đó
nhiều nhà nghiên cứu đã chọn phân ngưỡng dựa trên màu sắc trong các không gian
màu khác như HSI.
- 11 -
Formatted: Font: 12 pt
Formatted: Font: Check spelling and grammar
Formatted: Font: 12 pt
Formatted: Font: Times New Roman, 12 pt
1.1.2, Phƣơng pháp phát hiện dựa trên hình dạng
Phát hiện biển báo giao thông dựa trên hình dạng có nhiều cách tiếp cận đã
được công bố trong nhiều tài liệu hiện nay.Tuy nhiên có lẽ phương pháp dựa trên hình
dạng phổ biến nhất là sử dụng phép biến đổi Hough.
Phép biến đổi Hough là một kĩ thuật dùng để xác định một hình dạng ngẫu
nhiên trong ảnh.Ý tưởng cơ bản là sử dụng một cạnh của ảnh, mỗi điểm ảnh của cạnh
ảnh có khả năng là tâm của đối tượng nếu như điểm ảnh đó nằm trên biên. Kĩ thuật này
sớm ra đời trong lịch sử thị giác máy tính (computer vision). Nó đã được mở rộng và
thay đổi nhiều lần với nhiều biến thể khác nhau. Ở đây chúng ta chỉ trình bày về
nghiên cứu của Loy và Barnes, và nó được xem là phương pháp hiệu quả cho việc
quả các góc sẽ bằng nhau (Xem hình 1.2). Ví dụ, xét một tam giác đẳng giác và thử
một giá trị góc đạo hàm tại mỗi bên. Giả sử chúng ta có được các giá trị đạo hàm của
73
0
, 193
0
, và 313
0
. Các đạo hàm được cách nhau một khoảng 360
0
/ = 120
0
. Sau đó
73
0
x 3 = 219
0
và 193
0
x 3 = 579
0
, 579
0
– 360
0
= 219
0
. Tương tự như vậy 313
0
x 3 =
Formatted: Font: 12 pt
Formatted: Font: Times New Roman, 12 pt
Khuyết điểm chính của hướng tiếp cận này là bán kính của đa giác phải được
biết trước, và đây không bao giờ là điều dễ thực hiện. Ở đây có thể được giải quyết
bằng cách thử nhiều bán kính nhưng nó tiêu tốn quá nhiều thời gian xử lý.
Một hướng tiếp cận khác là tìm hình dạng đặc trưng được sử dụng là bộ phát
hiện góc và sau đó giả thiết là vị trí của đa giác đều bằng cách quan sát quan sát mối
liên hệ giữa các góc. Paulo và Correia [9] xác định biển báo tam giác và tứ giác bằng
cách áp dụng bộ phát hiện góc Haaris để xác định vùng đặc trưng, và sau đó tìm kiếm
phần còn lại của góc trong sáu khu vực kiểm soát được định nghĩa trước đó của vùng
này. Hình dạng được xác định dựa trên hình của vùng kiểm soát mà góc được tìm thấy.
Vùng kiểm soát được biểu diễn như trong hình 1.3.
Hình 1. 3. Vùng kiểm soát.
Gavrila [11] sử dụng biến đổi khoảng cách dựa trên mẫu phù hợp để xác định
hình dạng. Đầu tiên, các cạnh trong ảnh gốc được tìm thấy. Tiếp theo, một ảnh biến
đổi khoảng cách (Distance Transform _DT) được xây dựng (nhƣ hình 1.4). Ảnh DT là
ảnh mà điểm ảnh đại diện cho khoảng cách tới cạnh gần nhất. Để tìm thấy hình dạng
đặc trưng, một ý tưởng cơ bản là dựa trên một mẫu phù hợp (ví dụ là một tam giác
đều) so với ảnh DT. Để tìm ra mẫu phù hợp tối ưu, sử dụng các phép biến đổi cơ bản
như phép xoay, phép tỉ lệ, phép dời. Trong phần mở rộng của ý tưởng Gavrila, các
cạnh phải khác nhau theo hướng, để các ảnh DT riêng biệt được tính toán cho các
hướng của cạnh riêng biệt và các mẫu được chia thành từng phần dựa trên hướng của
chúng. Biện pháp tổng thể phù hợp là tổng hợp các biện pháp kết hợp giữa ảnh DT và
các mẫu của hướng đặc biệt. Garvila cũng đã sử dụng một mẫu phân cấp với ý tưởng
là các mẫu tương đương nhau được nhóm với nhau thành một prototype, và một khi