BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM
oOo
PHẠM NHỰT TÙNG
NHẬN DẠNG BIỂN BÁO GIAO THÔNG
HỖ TRỢ LÁI XE LUẬN VĂN THẠC SĨ KỸ THUẬT
TP. HCM 12- 2013
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM
oOo
PHẠM NHỰT TÙNG
NHẬN DẠNG BIỂN BÁO GIAO THÔNG
HỖ TRỢ LÁI XE
Chủ tịch Hội đồng;
2. TS. Hoàng Minh Trí
Ủy viên, phản biện;
3. TS. Đinh Hoàng Bách
Ủy viên, phản biện;
4. TS. Nguyễn Hữu Chân ThànhỦy viên, thư ký;
5. TS. Đặng Xuân Kiên
Ủy viên.
Xác nhận của Chủ tịch Hội đồng đánh giá luận văn và Trưởng Khoa quản lý chuyên
ngành sau khi luận văn đã được sửa chữa.
CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA ĐIỆN-ĐTVT
(ký tên) PGS.TS Đồng Văn Hướng
(ký tên) TS.Võ Công Phương
2.2.1 Phát hiện biển báo giao thông 18
2.2.2 Biểu diễn ảnh 24
2.2.3 Phép biến đổi khoảng cách ảnh màu 27
2.2.4 Nhận dạng biển báo giao thông sử dụng phép biến đổi ảnh CDT 29
2.2.5 Lựa chọn đặc trưng 32
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG 39
3.1 Ý TƯỞNG XÂY DỰNG VÀ HOẠT ĐỘNG CỦA HỆ THỐNG 39
3.2 HỆ THỐNG PHẦN CỨNG LIÊN QUAN 40
3.2.1 Webcam 40
3.3 HỆ THỐNG PHẦN MỀM LIÊN QUAN 41
3.3.1 Hệ điều hành Fedora 12 41
3.3.2 Thư viện mã nguồn mở về thị giác máy tính OpenCV 42
3.3.3 Thực thi chương trình và giải thuật 47
CHƯƠNG 4: KẾT QUẢ - NHẬN XÉT VÀ PHÂN TÍCH 56
4.1 KẾT QUẢ 56
4.2 NHẬN XÉT 72
4.2.1 Ưu điểm 72
4.2.2 Khuyết điểm 72
4.3 PHÂN TÍCH KẾT QUẢ ĐẠT ĐƯỢC 74
CHƯƠNG 5: KẾT LUẬN 76
5.1 KẾT QUẢ ĐẠT ĐƯỢC VÀ Ý NGHĨA 76
5.1.1 Kết quả đạt được 76
5.1.2 Ý nghĩa 77
5.2 HƯỚNG PHÁT TRIỂN 77 1
Hình 3.10: Sơ đồ khối chức năng của chương trình chính
Hình 3.11: Khái quát giải thuật nhận dạng biển báo giao thông
Hình 4.1 : Tập ảnh mẫu biển báo giao thông sử dụng cho huấn luyện
Hình 4.2 : Một số kết quả nhận dạng biển báo từ tập ảnh biển báo giao thông mẫu
Hình 4.3 : Một số kết quả nhận dạng biển báo từ hình chụp thực tế
Hình 4.4 : Một số kết quả nhận dạng trực tuyến biển báo giao thông
2 Hình 4.5 : Kết quả nhận dạng trực tuyến biển báo giao thông khi đưa ra xa hơn
Hình 4.6 : Kết quả nhận dạng trực tuyến biển báo giao thông trong điều kiện ánh sáng
khác nhau
LIỆT KÊ CÁC BẢNG
Bảng 2.1 : Giải thuật lựa chọn vùng điểm ảnh đặc trưng với trọng số tương ứng
Bảng 3.1 : Một phần đoạn chương trình chính thực hiện việc tìm vùng ảnh đặc trưng
và tập trọng số tương ứng từ các ảnh biển báo giao thông mẫu
Bảng 3.2 : Cấu trúc file XML lưu giữ các ảnh được xử lý tìm kiếm đặc trưng
3 LỜI CAM ĐOAN
Tôi xin cam đoan rằng đây là công trình nghiên cứu của tôi và không sao chép
các công trình nghiên cứu của người khác để làm sản phẩm của riêng mình.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công
Phạm Nhựt Tùng
4 LỜI CẢM ƠN
Trước tiên, xin cảm ơn thầy TS Nguyễn Đức Thành vì đã gợi mở, quan
tâm, giúp đỡ cho học viên trong suốt thời gian thực hiện đề tài tốt nghiệp này.
Bên cạnh đó, học viên cũng xin gởi lời cảm ơn đến tất cả những thầy cô đã
trực tiếp giảng dạy trong suốt khóa học; những người bạn đã quan tâm, động
viên và chia sẻ kiến thức cũng như kinh nghiệm chuyên ngành trong quá trình
học tập và rèn luyện vừa qua của học viên.
Cũng xin chân thành cảm ơn sự quan tâm hỗ trợ, tạo điều kiện và hết lòng
động viên về tinh thần lẫn vật chất của các thành viên trong gia đình, người thân
trong suốt thời gian qua.
Sau cùng, học viên gởi lời chúc sức khỏe, hạnh phúc đến quý thầy cô, gia
đình và bạn bè.
TP. Hồ Chí Minh, tháng 12, năm 2013
Học viên
Phạm Nhựt Tùng
5
1.2 MỤC ĐÍCH NGHIÊN CỨU
Hai vấn đề chính cần giải quyết khi thực hiện đề tài này đó là làm sao phải phát
hiện nhanh chóng sự xuất hiện của biển báo giao thông trong khung hình trước
phương tiện giao thông đồng thời phải phân loại nhanh biển báo này trong số các biển
báo được quy định trong giao thông dựa trên sự phát triển của lĩnh vực thị giác máy
tính (computer vision) và hệ thống nhúng (embedded system).
Biển báo hiệu giao thông tuy đã được quy định cụ thể về màu sắc, hình dạng và
kiểu dáng nhưng trên thực tế trên đường giao thông hiện nay thì vẫn có sự thay đổi,
không đồng nhất về hình dạng, màu sắc, vị trí của hình biển báo của cùng một loại
hình biển báo giống nhau. Chính điều nay gây ra một sự khó khăn nhất định trong
việc nhận dạng và phân loại biển báo giao thông.
Đồng thời nhằm tăng tính ứng dụng thực tiễn của đề tài, học viên đã tìm hiểu,
lựa chọn các giải pháp, thuật toán tìm kiếm, phân loại biển báo giao thông sao cho có
khả năng nhận dạng, phân loại chính xác đồng thời nhiều loại biển báo giao thông
khác nhau và thực thi được trên nền hệ thống nhúng sử dụng hệ điều hành Linux (hệ
điều hành Linux được lựa chọn do sự hoạt động ổn định, gọn nhẹ phù hợp cho việc
phát triển các ứng dụng nhúng trên nền thiết bị phần cứng cấu hình thấp, tiêu tốn
năng lượng hoạt động thấp).
1.3 CÁC ĐỀ TÀI ĐÃ NGHIÊN CỨU, THÀNH TỰU ỨNG DỤNG VÀ HƯỚNG
NGHIÊN CỨU ĐỀ NGHỊ
Hiện nay, theo tìm hiểu của học viên thì đã có hãng xe Opel (Đức) vừa giới
thiệu ý tưởng mẫu xe Opel/Vauxhall Insignia sẽ đưa ra thị trường vào năm sau
(2011) có khả năng nhận biết được các biển báo về giới hạn tốc độ và cảnh báo về
làn đường ô tô đang di chuyển. Hệ thống sử dụng một camera góc rộng có độ phân
giải cao gắn phía trước xe sẽ thu thập ảnh tốc độ 30 hình/s. Những hình này sau đó
7
Bài toán phát hiện và phân loại biển báo giao thông cụ thể qua 2 bước sau.
Hình 1.2 : Mô hình hệ thống nhận dạng biển báo giao thông đề nghị
1.4.1 Phát hiện biển báo giao thông
Phát hiện biển báo giao thông dựa trên thuật toán xây dựng tập các mẫu đối
tượng bằng phương pháp lựa chọn đặc trưng nổi bật của từng đối tượng biển báo giao
thông so với các đối tượng khác không phải là biển báo giao thông. Các ảnh sau khi
chụp từ camera (hoặc trích xuất từ một file video định dạng AVI) sẽ được chuyển tới
bộ tiền xử lý ảnh. Tại đây ảnh được phân thành các ảnh con bằng cách chỉ giữ lại các
điểm ảnh mà có màu quan tâm (đỏ, cam, xanh lam, đen, trắng) và thiết lập các vùng
LOA, ĐÈN
BÁO
HỆ THỐNG NHÚNG
Camera
Phát hiện biển
báo giao thông
Phân loại biển
báo giao thông
Phát cảnh
báo
9 ảnh quan tâm (ROI: regions of interest) cho từng đối tượng trong ảnh. Các đối tượng
trong ảnh sau xử lý này sẽ được lần lượt chuyển tới bộ phát hiện biển báo giao thông
phương pháp dựa trên các điểm ảnh đặc trưng nổi bật phù hợp hơn cho việc mô tả,
nhận dạng biển báo giao thông nhờ vào đặc điểm được thể hiện và quy định rõ ràng
của biển báo giao thông.
1.5 LÝ DO THỰC HIỆN ĐỀ TÀI
Mong muốn đem lại những tiện ích hỗ trợ con người làm việc và nghỉ ngơi một
cách hiệu quả nhất luôn là nguồn gốc, động lực cho sự phát triển của khoa học kỹ thuật
mà trong đó có nghành tự động hóa. Trên nền tảng đó, đề tài “Nhận dạng biển báo giao
thông hỗ trợ lái xe” với mục tiêu tìm hiểu phương pháp, xây dựng giải thuật, thực thi
trên mô hình hệ thống nhúng nhằm phát hiện và phân loại biển báo giao thông hỗ trợ
lái xe an toàn, thuận tiện. Xa hơn nữa học viên mong muốn đề tài của mình có thể
được ứng dụng để phát triển hệ thống xe thông minh tự hành dựa trên hệ thống biển
báo giao thông, vạch kẻ đường, hạ tầng kết cấu giao thông,….
Bài toán phát hiện và nhận dạng biển báo giao thông đã được nhiều nhóm các
nhà khoa học, kỹ sư quan tâm và thực hiện với nhiều phương pháp được sử dụng khác
nhau nhưng để đáp ứng được vấn đề xử lý trong thời gian thực và phát triển thực thi
được trên nền hệ thống nhúng vẫn còn hạn chế do các yêu cầu về tốc độ và sự chính
xác của việc nhận dạng. Thực tế cho thấy, có một số phương pháp được nghiên cứu
cho kết quả nhận dạng chính xác nhưng lại đòi hỏi khối lượng tính toán lớn, tốc độ
phần cứng phải nhanh, không nhận dạng được nhiều biển báo giao thông hay ngược lại
cũng có phương pháp cho kết quả xử lý nhanh thì lại thiếu chính xác, gặp trở ngại khi
thực thi phần cứng. Do đó, tìm kiếm một phương pháp để giải quyết bài toán và các
yêu cầu đặt ra về độ chính xác, tốc độ xử lý, khả năng thực thi là mục đích của đề tài
này.
11 1.6 MỤC TIÊU ĐỀ TÀI
Nghiên cứu phương pháp, phát triển, thực thi giải thuật trên cơ sở thị giác máy
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 CÁC PHƯƠNG PHÁP PHÁT HIỆN BIỂN BÁO GIAO THÔNG
Nhận dạng biển báo giao thông đã là một vấn đề thách thức trong nhiều năm qua
và là một nền tảng quan trọng cho sự phát triển của phương tiện giao thông thông
minh. Mặc dầu, các nghiên cứu ban đầu về vấn đề này đã được thực hiện từ cuối thập
kỷ 60 của thế kỷ trước nhưng những thành tựu đáng kể chỉ đạt được bắt đầu từ những
năm 90 khi mà sự phát triển các phương tiện thiết bị hỗ trợ lái xe dựa trên thị giác
máy tính (computer vision) thu hút được sự quan tâm rộng rãi và công nghệ xử lý ảnh
đạt được những bước tiến vượt bậc. Ngày nay, các nghiên cứu tập trung vào lĩnh vực
nhận dạng biển báo giao thông không chỉ được thực hiện ở các viện nghiên cức mà
còn ở các tập đoàn công nghiệp lớn trên thế giới, đặc biệt là các công ty sản xuất xe
hơi. Tuy đã có nhiều nghiên cứu được thực hiện về lĩnh vực này và đòi hỏi thực tiễn
về việc lái xe thuận tiện, an toàn luôn được đặt ra nhưng hiện vẫn có rất ít hệ thống
nhận dạng biển báo giao thông được phát triển, ứng dụng thành những sản phẩm thực
tế. Điều này thể hiện rằng việc lái xe an toàn trong tình hình giao thông hiện nay đang
phụ thuộc rất lớn vào sự tập trung, kỹ năng vận hành của người lái xe mà ít được hỗ
trợ bởi các phương tiện hiện đại.
Biển báo giao thông có một số đặc điểm riêng biệt mà có thể dùng để phân biệt
với nhiều đối tượng ngoài trời khác. Những đặc điểm này được vận dụng tương đối
phổ biến trong nhiều nghiên cứu về phát hiện và nhận dạng biển báo giao thông.
13 Trong nhiều bài báo, công trình được công bố, một quá trình nhận dạng gồm 2 bước
được sử dụng bao gồm: việc xác định vùng ảnh quan tâm để tìm kiếm đối tượng, sau
tổng giá trị các kênh màu RGB; sau đó quá trình xử lý ảnh để tìm kiếm biển báo giao
thông được thực hiện trên lớp màu phù hợp như màu đỏ, cam, xanh lam dựa trên việc
tập các đặc trưng thống kê được tách ra từ ảnh (tỉ lệ điểm màu quan tâm, moment,
trọng tâm, histogram) và kết hợp với bộ nhận diện sử dụng mạng neural nhân tạo.
Tuy nhiên, phương pháp này chỉ đạt được một số kết quả nhất định vì bị giới hạn bởi
mộ số yếu tố: số lượng biển báo nhận dạng không cao, độ chính xác giảm rõ rệt khi
số lượng biển báo tăng lên, khối lượng tính toán lớn nên thời gian xử lý lâu, bị ảnh
hưởng đáng kể bởi điều kiện ánh sáng môi trường do hạn chế từ không gian màu
RGB. (a) Không gian màu RGB
(b) Không gian màu HSV
Hình 2.1 : Các không gian biểu diễn màu thường dùng
15 Qua tìm hiểu một số phương pháp khác, học viên thấy rằng đối với việc nhận
dạng vật thể sử dụng thông tin về màu sắc thì không gian màu HSV (Hue –
Saturation – Value) được sử dụng rộng rãi do các ưu điểm về đặc tính dễ trừu tượng
bởi con người, tạo sự dễ dàng khi xử lý trích xuất các màu và khả năng ít bị ảnh
hưởng, tác động khi điều kiện ánh sáng môi trường thay đổi cao. Việc trích xuất màu
được thực hiện dễ dàng dựa vào việc lựa chọn ngưỡng giá trị Hue tương ứng với màu
cần tìm (Vd: màu đỏ có giá trị Hue từ 345-> 15 trên đĩa màu HSV) và kết hợp với giá
trị Saturation, Value để phân biệt màu đen và trắng như được thể hiện ở hình trên.
Sau khi trích xuất ảnh đầu vào thành các kênh màu quan tâm khác nhau, thì chúng
ta sẽ tiến hành tìm kiếm các đối tượng khả nghi và nhận dạng chúng có phải là biển
Do nhóm phương pháp này dựa trên việc huấn luyện sao cho thu được mô hình
đối tượng biển báo giao thông từ một tập dữ liệu tích cực (positive - ảnh có chứa hình
đối tượng) và một tập dữ liệu không tích cực (negative - ảnh không chứa hình đối
tượng) nên chúng có sự tương quan so sánh trực tiếp đến các đặc điểm hình học của
một kiểu xe điển hình.
Nhược điểm của phương pháp này đòi hòi phải luôn có sẵn cơ sở dữ liệu hình
biển báo giao thông rất lớn. Để có thể phát hiện và nhận dạng được biển báo giao
thông, máy tính phải luôn dò trong cơ sở dữ liệu hình này rồi mới đưa ra kết quả nên
khối lượng tính toán lớn và phải xây dựng một tập mẫu nhiều. Nên thường các nghiên
cứu sử dụng phương pháp này thường bị giới hạn bởi số lượng biển báo giao thông có
khả năng nhận dạng được.
2.1.2 Phát hiện, phân loại dựa trên dạng hình học
Khác với nhóm phương pháp vừa nêu ở trên, các phương pháp thuộc nhóm này
quan tâm đến các đặc điểm cấu trúc hình học của biển báo giao thông. Vì vậy chúng
còn được gọi là nhóm tiếp cận dựa trên đặc trưng (feature - based). Phương pháp này
dựa trên việc tính toán các thống kê hình học như: moment, khoảng cách, kích thước,
histogram, tỉ lệ điểm ảnh cho từng màu, số cạnh, kích thước biên để tạo ra một tập
các đặc trưng hình học.
17 Sau đó, phương pháp sử dụng các thuật toán học (learning algorithm) để huấn
luyện tạo các bộ phân lớp (cascade) bằng các tập đặc trưng được tìm từ các hình mẫu
ví dụ tích cực (có chứa hình ảnh đối tượng) và các hình mẫu không tích cực (không
chứa hình ảnh đối tượng) được lựa chọn cẩn thận. Các hình ảnh sau khi được chọn
lọc cẩn thận sẽ được quyết định đặc trưng cho từng loại biển báo giao thông bởi thuật
toán học (thường là phương pháp dùng mạng neural hoặc giải thuật học di truyền).
2.2 PHƯƠNG PHÁP ĐƯỢC SỬ DỤNG TRONG LUẬN VĂN
Đầu tiên, một ảnh thu được từ camera (hoặc từ ảnh mẫu) thường được thể hiện
dưới không gian màu RGB, do đó để thuận tiện trong việc tách màu ta sẽ biến đổi ảnh
trên sang biểu diễn bằng không gian màu HSV (Hue-Saturation-Value) theo phép
toán chuyển đổi sau:
max( , , )
V R G B