1. Trang chủ
  2. » Luận Văn - Báo Cáo

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 báo cáo nghiên cứu khoa học sinh viên

96 2,6K 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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
Tác giả Lê Chân Thiện Tâm, Phạm Hồng Thái
Người hướng dẫn ThS. Trần Tiến Đức
Trường học Trường Đại Học Lạc Hồng
Chuyên ngành Khoa Công Nghệ Thông Tin
Thể loại Báo cáo nghiên cứu khoa học
Năm xuất bản 2012
Thành phố Biên Hòa
Định dạng
Số trang 96
Dung lượng 6,68 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pttrì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

Trang 1

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

Trang 2

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

SVTH : LÊ CHÂN THIỆN TÂM PHẠM HỒNG THÁI GVHD : ThS TRẦN TIẾN ĐỨC

BIÊN HÒA, THÁNG 11/2012

Trang 3

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ý Thầy Cô và bạn bè

Chúng em xin gửi lời chúc sức khỏe và thành đạt tới tất cả quý thầy cô cùng các bạn

Nhóm sinh viên thực hiện đề tài

Lê Chân Thiện Tâm – Phạm Hồng Thái

Biên Hòa, Tháng 11 - 2012

Trang 4

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪNPHẢN BIỆN

Biên Hòa, Ngày … tháng … năm 201…

Kí tên

Formatted: Vietnamese

Trang 5

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

2.2.2, Thuật toán tăng tốc Adaboost 22

2.2.2.1, Tiếp cận Boosting 22

Trang 6

2.2.2.2, AdaBoost 23

2.3 Giới thiệu phương pháp phân tích thành phần chính (Principle Component Analysis_PCA) 25

2.3.1, Giới thiệu 25

2.3.2, Thuật toán PCA 27

2.4 Nhận dạng biển báo dùng bộ phân lớp Support Vector Machine (SVM) 30

2.4.1, Phân lớp tuyến tính (Linear classifier) 30

2.4.2, Phân lớp phi tuyến (Nonlinear classifier) 34

2.5 Tiểu kết 35

CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH 36

3.1 Chức năng của chương trình 37

3.2 Xây dựng chương trình 37

3.2.1, Xây dựng cơ sở dữ liệu ảnh biển báo 37

3.2.1.1, Nguồn ảnh 37

3.2.1.2, Phân loại ảnh 38

3.2.2, Huấn luyện phát hiện biển báo trong ảnh 39

3.2.2.1, Chuẩn bị dữ liệu 39

3.2.2.2, Lấy mẫu dữ liệu huấn luyện 40

3.2.2.3, Huấn luyện máy học (Machine Learning) 42

3.2.3, Huấn luyện nhận dạng biển báo 47

3.2.4, Chương trình nhận dạng 5251

3.2.4.1, Sơ đồ hoạt động của chương trình 5251

3.2.4.2, Giao diện và cách sử dụng 5453

3.3 Tiểu kết 5655

CHƯƠNG 4: ĐÁNH GIÁ KẾT QUẢ CHƯƠNG TRÌNH 5756

Trang 7

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

Trang 8

IPP Intergrated Performance Primitives

Trang 9

DANH MỤC BẢNG VÀ HÌNH

- -

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

Trang 10

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ề cùng một dữ liệu 26

Hình 2 9 Tìm các trục tọa độ mới sao cho dữ liệu có độ biến thiên cao nhất 26

Hình 2 10 Tách hai phân lớp tuyến tính với một mặt siêu phẳng 31

Hình 2 11 Tách hai phân lớp tuyến tính với hai mặt siêu phẳng 31

Hình 2 12 Ví dụ minh họa về độ lớn của lề (margin) 32

Hình 2 13 Minh họa các mẫu được gọi là Support Vector 34

Hình 2 14 Một mặt phân chia phi tuyến có thể trở thành một siêu phẳng trong không gian lớn hơn 34

Hình 3 1 Tập ảnh Positive trong thư mục “rawdata” 39

Hình 3 2 Tập ảnh Negative trong thư mục “negative” 40

Hình 3 3 Nội dung file “inforfile.txt” sau khi chạy file “create_list.bat” 40

Hình 3 4 Chương trình ObjectMaker trong thư mục “positive” 41

Hình 3 5 Đánh dấu đối tượng trong trình ObjectMaker 41

Hình 3 6 Nội dung file “info.txt” 42

Hình 3 7 Nội dung file “samples_creation.bat” 42

Hình 3 8 Nội dung file “haarTraining.bat” 43

Hình 3 9 Kết quả phân tầng 44

Hình 3 10 Nội dung file “convert.bat” 45

Hình 3 11 Cấu trúc của một tập tin XML 45

Hình 3 12 Kết quả ảnh biển số 201a nhận được 46

Hình 3 13 Kết quả ảnh biển số 210 nhận được 46

Hình 3 16 Một phần nội dung file “psiTT.txt” 50

Hình 3 17 Một phần nội dung file “svmtrained.xml” 50

Trang 11

Hình 3 18.Giao diện chính của chương trình 5453

Hình 4 1 Một số kết quả thử nghiệm trong môi trường chuẩn 5857

Hình 4 2 Một số kết quả thử nghiệm trong môi trường ban đêm 5958

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,

Trang 12

Bảng 4 1 Kết quả nhận dạng biển báo giao thông 64 Formatted: Default Paragraph Font, Font: Not

Bold, Check spelling and grammar

Formatted: Normal, Justified, Tab stops: Not at

15.98 cm

Trang 13

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

PHẦN MỞ ĐẦU

Lý do chọn đề tài

Song hành cùng với sự phát triển của các thành tựu khoa học kỹ thuật hiện đại,

sự năng động trong cơ chế kinh tế thị trường, sự chăm chút bồi bổ nâng cao đời sống

văn hóa thì vấn đề về giao thông cũng từng bước được cải thiện và phát triển mạnh mẽ

góp phần vào sự phát triển chung của toàn xã hội

Giao thông Việt Nam luôn là một trong những vấn đề nóng của xã hội Nóng từ

quy mô phát triển đến chất lượng cơ sở hạ tầng và hơn hết chính tình hình tai nạn giao

thông đường bộ Theo số liệu mới nhất từ Ủy ban An toàn giao thông quốc gia, chỉ

trong 8 tháng đầu năm 2012, Việt Nam có hơn 7000 vụ tai nạn giao thông [20], dân số

mất đi hơn 6000 người Đây là những mất mát quá lớn xảy ra trong một đất nước hòa

bình đáng để mọi thành phần trong xã hội cùng quan tâm và suy xét

Từ tình hình thực tế giao thông tại Việt Nam, nguyên nhân phần lớn các vụ tai

nạn giao thông đường bộ là do tài xế lái xe không làm chủ tốc độ, không chấp hành

hiệu lệnh giao thông, không quan sát hoặc không kịp nhận ra các loại biển báo và tín

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á

Trang 14

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

Trên thế giới

Bài báo “A Road Sign Recognition System Based on Dynamic Visual Model”

(C Y Yang, C S Fuh, S W Chen, P S Yen, CVPR'03 Proceedings of the 2003

IEEE computer society conference on Computer vision and pattern recognition, Pages

750-755, 2003) Nhóm tác giả nghiên cứu mong muốn thúc đẩy, thay đổi nhận thức,

cung cấp những thông tin cần thiết để hỗ trợ người lái xe và nâng cao độ an toàn trong

giao thông Bài báo đề xuất một mô hình, gọi là mô hình trực quan động (Dynamic

Visual Model) để phát hiện và nhận dạng các biển báo giao thông trên đường Đồng

thời cũng trình bày những khó khăn trong việc nhận dạng biển báo như: Màu sắc của

biển báo bị phai mờ dưới ảnh hưởng của ánh nắng mặt trời, sơn biển báo bị bong tróc,

mất đi những thông tin cần thiết của biển báo Không khí bị ô nhiễm và các điều kiện

về thời tiết cũng làm giảm khả năng nhận dạng…

Trang 15

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

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]

Bài báo “A System for Traffic Sign Detectiona, Tracking, and Recognition Using

Color, Shape, and Motion Information”, (C Bahlmann, Y Zhu, V Ramesh, M

Pellkofer, T Koehler Proceedings IEEE Intelligent Vehicles Symposium, 2005) Bài

báo mô tả một hệ thống thị giác máy tính (Computer Vision) xử lý việc phát hiện, theo

vết và nhận dạng các biển báo giao thông dựa trên màu sắc, hình dạng và thông tin

trong thời gian thực Phương pháp tiếp cận được trình bày trong bài báo gồm hai thành

phần Đầu tiên sử dụng các đặc trưng Haar kết hợp với bộ tăng tốc Adaboost để phát

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

Trang 16

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]

Trang 17

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt Trong nước

Đề tài “Phát hiện và phân loại biển báo giao thông dựa trên SVM trong thời

gian thực” (Lê Thanh Tâm, Trần Thái Sơn, Seichii Mita, Tuyển tập Công trình Nghiên

cứu Công nghệ Thông tin và Truyền thông, 2009) Đây là một module nằm trong dự

án hệ thống lái xe tự động của học viện Công Nghệ Toyota được tài trợ bởi tập đoàn ô

tô Toyota Cách tiếp cận được giới thiệu là sử dụng đặc trưng màu trên SVM (Support

Vector Machine) để phát hiện vùng ứng cử cho biển báo giao thông trong thời gian

thực (xem hình 4)

Hình 4 Mô hình tác giả đề nghị [5]

Đề tài “Phát hiện biển báo giao thông dùng đặc trưng cục bộ (local features)”

của tác giả Nguyễn Duy Khánh, Lê Đình Duy, Dương Anh Đức được báo cáo tại Hội

thảo Fair 2011 tại Trường đại học Lạc Hồng Đề tài dùng đặc trưng cục bộ và bộ phân

lớp SVM (Support Vector Machine) để phát hiện biển báo giao thông Tổng quan thuật

Trang 18

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt toán được tác giả trình bày như theo hình 5 Kết quả của đề tài dừng lại ở việc xác

định biển báo và phân lớp chúng thành các nhóm biển cấm, nguy hiểm, chỉ dẫn

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

Trang 19

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

giải thuật nhận dạng

Những đóng góp mới của đề tài - những vấn đề mà đề tài chưa thực hiện được

- Đề tài đưa ra hướng mới là kết hợp phương pháp dựa trên đặc trưng Haar và

bộ tăng tốc Adaboost để nâng cao khả năng phát hiện đồng thời dùng thuật toán phân

tích thành phần chính PCA để làm giảm bớt số chiều của ảnh xám làm số liệu đầu vào

cho bước sử dụng thuật toán SVM để nhận dạng

- Tạo tiền đề cho việc xây dựng hệ thống nhận dạng biển báo giao thông đầy đủ

và hoàn chỉnh hơn

- Đề tài dừng lại ở mức độ nghiên cứu nên số lượng biển báo nhận dạng được

rất hạn chế

Kết cấu của đề tài

Báo cáo này được trình bày thành ba phần chính: Phần mở đầu, phần nội dung

và phần kết luận

Phần mở đầu

Giới thiệu sơ lược về lý do chọn đề tài, lịch sử nghiên cứu, mục tiêu nghiên

cứu, đối tượng và phạm vi nghiên cứu, phương pháp nghiên cứu, những đóng góp và

những vấn đề tồn tại của đề tài để từ đó đem lại cho mọi người một cái nhìn tổng quan

nhất về đề tài

Phần nội dung

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

Trang 20

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

Trình bày các phương pháp phổ biến trong viện phát hiện và nhận dạng biển

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

Trang 21

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

1.1 Các phương pháp phát hiện biển báo giao thông

1.2 Giới thiệu thư viện mã nguồn mở OpenCV

1.3 Tiểu kết

Formatted: Centered

Trang 22

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt 1.1 Các phương pháp phát hiện biển báo giao thông

Xác định một đối tượng chuyên biệt ví dụ như xác định người đi bộ, xe hơi, làn

đường, biển báo giao thông trong một quang cảnh giao thông đối với não và thị giác

của con người thì đây là một chuyện đơn giản Tuy nhiên để xác định những đối tượng

đó có xuất hiện hay không trong những frame ảnh thu được thông qua camera với sự

trợ giúp của máy tính thì đây là một vấn đề mà các nhà khoa học đánh giá là thật sự

khó khăn Bởi lẽ hệ thống xử lý thông tin ảnh không những đòi hỏi tính chính xác mà

còn phải đáp ứng một cách nhanh chóng trong thời gian thực và có thể hoạt động tốt

trong nhiều môi trường và hoàn cảnh tự nhiên khác nhau Do vậy hai lĩnh vực xử lý

ảnh (Image Processing) và thị giác máy tính (Computer Vision) phải luôn phát triển

song hành và bổ sung chặt chẽ cho nhau

Có nhiều phương pháp và hướng tiếp cận của vấn đề xác định biển báo giao

thông Nhưng các phương pháp phổ biến hiện nay được áp dụng là phương pháp dựa

trên màu sắc (color-based detection methods), phương pháp dựa trên hình dạng

(shape-based methods), và phương pháp dựa trên máy học (methods based on machine

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

Trang 23

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

nhận dạng biển báo giao thông Loy và Barnes [13] đã đề xuất bộ phát hiện đa giác

đều tổng quát và chỉ sử dụng nó để phát hiện biển báo giao thông Bộ phát hiện dựa

trên phép biến đổi đối xứng xuyên tâm nhanh, về mặt tổng quan nó tương tự như phép

biến đổi Hough Đầu tiên ta tính đạo hàm cấp một của ảnh từ ảnh gốc Ảnh đạo hàm

cấp một sau đó được phân ngưỡng để cho các điểm có biên độ thấp bị loại bỏ Các

điểm ảnh còn lại có khả năng là vị trí của tâm đa giác đều Một điểm ảnh đóng vai trò

là điểm có khả năng được chọn trên nhiều vị trí được phân bổ dọc theo đường trực

giao với đạo hàm cấp một của điểm ảnh và có khoảng cách đến các điểm ảnh là tương

đương với các bán kính của đa giác đều (Xem hình 1.1) Lưu ý rằng thật sự có tới hai

đường thẳng có thể thỏa mãn yêu cầu này, một là cùng hướng với đạo hàm và một là

theo hướng ngược lại Cả hai đều có thể sử dụng nếu chúng ta không thể biết trước liệu

biển báo này sáng hơn hay tối hơn so với quang cảnh nền

Hình 1 1 Các vị trí của một đề cử điểm ảnh cho tâm đối tượng [13]

Chiều dài của đường biểu quyết được bao bởi bán kính của đa giác đều Các

điểm ảnh được chọn ở cuối đường thẳng có trọng số tiêu cực, để tối thiểu hóa ảnh

Trang 24

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

hưởng của các đường thẳng trong ảnh mà dài quá để có thể xem như là một cạnh của

đa giác Kết quả ảnh đề cử (vote image) được gán nhãn là

Ngoài ảnh đề cử (vote image) ra, một ảnh khác được gọi là ảnh đẳng giác

(equiangular image) được tạo Thủ tục được đề xuất như sau: Nếu góc đạo hàm của

các điểm ảnh trên cạnh của một đa giác đều mặt ( –sided) được nhân với , thì kết

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

730, 1930, và 3130 Các đạo hàm được cách nhau một khoảng 3600

/ = 1200 Sau đó

730 x 3 = 2190 và 1930 x 3 = 5790, 5790 – 3600 = 2190 Tương tự như vậy 3130

x 3 =

9390, 9390 – 2 x 3600 = 2190 Với từng điểm ảnh được chọn là tâm của đa giác, một

vector đơn vị được tạo ra Độ dốc (slope) của vector đơn vị được cho bằng với góc đạo

hàm của điểm ảnh nhân với số mặt của đa gia đều Các điểm ảnh sau đó một lần nữa

được chọn trên những vị trí được mô tả bằng một đường thẳng đề cử, ngoại trừ đề cử

mang dạng của một vector đơn vị Các điểm được chọn được biểu diễn trong một ảnh

mới gọi là ảnh đẳng giác Từng điểm trong ảnh đại diện cho một vector là tổng của các

điểm được chọn đóng góp Các điểm được chọn từ các cạnh của đa giác đẳng giác sẽ

có cùng độ dốc (slope), do đó độ lớn của các vector được chọn trong trọng tâm đa giác

đẳng giác sẽ là lớn nhất

Hình 1 2 Nhân các góc gradient của một tam giác cho 3

Kết quả các góc sẽ bằng nhau

Cuối cùng, ảnh đề cử và định mức của ảnh đẳng giác được kết hợp để tạo ra đáp

ứng tổng thể Độ phức tạp của phương thức này là , trong đó là độ dài cực đại

của đường thẳng được chọn, là số lượng điểm ảnh có trong ảnh và là số lượng bán

kính đang được xem xét

Trang 25

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

Trang 26

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

prototype được tìm thấy, tiến trình tìm mẫu tốt nhất trong các prototype sẽ tiết kiệm

được chi phí

Hình 1 4 Xây dựng ảnh biến đổi khoảng cách [9]

Từ trái sang: Ảnh gốc; Ảnh cạnh và ảnh biến đổi khoảng cách;

Mẫu cho ảnh DT được tìm kiếm là một tam giác đơn giản

1.1.3, Phương pháp phát hiện dựa trên máy học

Với hai phương pháp tiếp cận bên trên (tiếp cận dựa trên màu sắc và hình

dạng) thì để giải quyết bài toán phải tự giải quyết bằng tay (manually) Tuy nhiên, với

kiến thức này cũng có thể được phát hiện bằng cách dùng máy học (machine learning)

Nghiên cứu của Viola và Jones [16] là một cột mốc quan trong trong lĩnh vực

thị giác máy tính (computer vision) Viola và Jones đã phát triển một thuật toán có khả

năng xác định một đối tượng trong thời gian thực Bộ phát hiện được huấn luyện bằng

cách sử dụng một tập các mẫu tích cực (positive) vả tiêu cực (negative) Nghiên cứu

gốc chỉ dành cho việc phát hiện khuôn mặt, tuy nhiên nhiều nhà nghiên cứu khác cũng

đã ứng dụng thành công bộ phát hiện cho nhiều đối tượng khác Trong số đó, biển báo

giao thông cũng được phát hiện thành công

Bộ phát hiện của Viola và Jones kết hợp giữa hai khái niệm Adaboost và bộ

phân lớp Haar-like Đây cũng là phương pháp được nhóm sử dụng trong luận văn và

được trình bày chi tiết trong phần 2.2.1 và 2.2.2

1.2 Giới thiệu thư viện mã nguồn mở OpenCV

OpenCV là thư viện xử lý thị giác máy tính (computer vision) mã nguồn mở

Thư viện này được viết bằng ngôn ngữ C và C++ và có thể chạy trên các nền tảng

Trang 27

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

Linux, Windows và Mac OS X Ngoài ra còn được phát triển một cách mạnh mẽ trên

các ngôn ngữ Python, Ruby, Matlab và một số ngôn ngữ khác

OpenCV được thiết kế cho việc xử lý tính toán tối ưu và tập trung mạnh vào các

ứng dụng thời gian thực Do OpenCV được viết tối ưu hóa bằng ngôn ngữ C nên có

thể tận dụng ưu điểm của bộ vi xử lý đa luồng Ngoài ra Intel còn cung cấp thêm một

thư viện Intel’s Intergrated Performance Primitives (IPP) nhằm mục đích tự động tối

ưu hơn nữa trên kiến trúc của Intel Tuy nhiên thư viện này là bản thương mại của

Intel

Một trong những mục tiêu của OpenCV là đơn giản hóa những gì có thể trong lĩnh

vực thị giác máy tính để hỗ trợ người dùng xây dựng nên những ứng dụng mạnh mẽ,

tinh vi một cách nhanh chóng Thư viện OpenCV có hơn 500 hàm và được chia thành

nhiều lĩnh vực thị giác máy như trong an ninh, y tế, robot…[12, trang 1]

1.2.1, Lịch sử OpenCV

OpenCV ra đời là một sáng kiến nghiên cứu của Intel nhằm mục đích đẩy mạnh

các ứng dụng của CPU chuyên sâu Hướng tới mục tiêu này, Intel đã đưa ra nhiều dự

án bao gồm theo vết thời gian thực, và những bức tường hiển thị ảnh 3D Một trong

những tác giả làm việc cho Intel thời gian này đã đến thăm một số trường đại học và

nhận thấy rằng một số nhóm trường đại học hàng đầu nhưng MIT Media Lab, đã phát

triển rất tốt với một nền tảng thị giác máy tính mở (open computer vision) được truyền

tay nhau nội bộ giữa các sinh viên Thay vì phải xây dựng lại những chức năng cơ bản

từ đầu thì một sinh viên mới có thể bắt đầu bằng cách xây dựng tiếp dựa trên những gì

đã có sẵn

Do đó OpenCV được Intel chú ý và đầu tư nghiên cứu phát triển Những mục

tiêu ban đầu của OpenCV là:

 Nâng cao nghiên cứu xử lý thị giác không chỉ là nguồn mở mà còn phải tối ưu

hóa mã lệnh (code) cho nền tảng xử lý thị giác cơ bản

 Phổ biến kiến thức xử lý thị giác bằng cách cung cấp những nền tảng chung để

các nhà phát triển có thể xây dựng trên nó, vì vậy mà code sẽ có thể dễ dàng đọc được

cũng như trong chuyển nhượng

Trang 28

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

 Thúc đẩy ứng dụng thương mại dựa trên thị giác máy tính bằng cách làm cho

nó linh hoạt, di động (portable), tối ưu hóa hiệu suất của mã lệnh, cung cấp giấy phép

miễn phí mà không yêu cầu các ứng dụng thương mại sẽ mở (open) hoặc miễn phí

Kể từ khi dự án đầu tiên vào năm 1999 (Hình 1.5) thì đến nay thư viện

OpenCV là một lĩnh vực tích cực quan trọng của một số tổ chức phát triển cũng như

thu hút trên 20.000 thành viên sử dụng trên khắp thế giới , do đó OpenCV được mong

đợi có sẽ có nhiều bản cập nhật tốt hơn trong các vấn đề về xử lý thị giác máy tính,

robot…[12, Trang 1-3]

Hình 1 5 Lịch sử phát triển của OpenCV [12, Trang 7]

1.2.2, Kiến trúc của OpenCV

OpenCV có cấu trúc gồm 5 thành phần chính, 4 thành phần trong số đó được

thể hiện như trong hình 1.6 Các thành phần CV chứa thuật toán xử lý ảnh cơ bản và

các thuật toán cao cấp trong xử lý thị giác máy tính; ML là thư viện phục vụ trong lĩnh

vực máy học bao gồm nhiều phân lớp thống kê và các công cụ phân cụm HighGUI

chứa những thành phần nhập xuất và các hàm cho việc lưu trữ và truy xuất hình ảnh,

video, và CXCore chứa nội dung và các cấu trúc dữ liệu cơ bản

Trang 29

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

Hình 1 6 Kiến trúc cơ bản của OpenCV [12, Trang 13]

Trên hình 1.6 không mô tả thành phần CvAux, thành phần này chứa các hàm

đã ngừng phát triển, hoặc đang thử nghiệm CvAux bao gồm:

Chương này trình bày một số phương pháp tiếp cận cơ bản trong việc phát hiện,

nhận dạng biển báo giao thông đã được áp dụng trong nhiều đề tài nghiên cứu và nền

tảng thư viện OpenCV hỗ trợ trong việc xử lý ảnh Thông qua đó nhóm đã chọn lựa và

xác định những thuật toán, công nghệ phù hợp để xây dựng đề tài

Trang 30

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

CHƯƠNG 2: GIỚI THIỆU PHƯƠNG PHÁP NHẬN DẠNG

BIỂN BÁO GIAO THÔNG

2.1 Khái quát phương pháp nhận dạng biển báo giao thông được sử

dụng trong đề tài

2.2 Xác định vùng đặc trưng chứa biển báo giao thông

2.3 Giới thiệu phương pháp phân tích thành phần chính (Principle

Trang 31

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt 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

Từ ảnh RGB đầu vào ta xác định vùng ảnh chứa biển báo giao thông nguy hiểm

và tách vùng ảnh này ra khỏi ảnh đầu vào Sau đó trích riêng biển báo và so sánh với

cơ sở dữ liệu mẫu trong bộ phân loại để nhận dạng biển báo giao thông nguy hiểm

Chi tiết các bước của phương pháp nhận dạng theo quy trình như sau:

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

Dùng SVM để nhận dạng biển báo

Cân bằng Histogram vùng ảnhLoại bỏ những thông tin thừa trong ảnhCân bằng histogram ảnh

Formatted: Caption, Left, Space Before: 0 pt,

After: 0 pt, Line spacing: single

Trang 32

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt 2.2 Xác định vùng đặc trƣng chứa biển báo giao thông

2.2.1, Đặc trƣng Haar-like

Đặc trưng Haar-like được sử dụng trong việc nhận dạng đối tượng trong ảnh số

được phát biểu bởi Viola và Jones[16] gồm 4 đặc trưng cơ bản để xác định một đối

tượng trong ảnh Mỗi đặc trưng Haar-like là sự kết hợp gồm 2 hoặc 3 khối chữ nhật

mang giá trị “đen” hoặc “trắng” Những khối chữ nhật này thể hiện sự liên hệ tương

quan giữa các bộ phận trong ảnh mà bản thân từng giá trị pixel không thể diễn đạt

được

Hình 2 1 Đặc trưng theo cạnh

Hình 2 2 Đặc trưng theo đường

Hình 2 3 Đặc trưng theo xung quanh tâm

Hình 2 4 Đặc trưng theo đường chéo

Trang 33

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

Dựa theo các đặc trưng trên, giá trị của đặc trưng Haar-like được xây dựng bởi

độ chênh lệch giữa tổng các pixel của các vùng đen so với tổng các pixel của các vùng

trắng

f(x) = Tổng vùng đen(các mức xám của pixel) – Tổng vùng trắng (các mức xám của pixel)

(2.1)

Như vậy để tính giá trị đặc trưng Haar-like cần phải thực hiện tính toán tổng các

vùng pixel trên ảnh Điều này làm cho chi phí bài toán lớn không thể đáp ứng các tính

năng yêu cầu thời gian thực Do vậy Viola và Jones đã đề xuất ra khái niệm “Integral

Image” (ảnh chia nhỏ) để giảm thiểu chi phí cho bài toán tính giá trị của đặc trưng

Haar-like để bài toán có thể xử lý với thời gian thực

Tính “Integral Image” bằng cách sử dụng mảng 2 chiều với kích thước bằng

kích thước của ảnh cần tính giá trị đặc trưng Haar-like Ảnh chia nhỏ ở vị trí (x,y)

được tính bằng tổng các giá trị pixel của vùng từ vị trí (0,0) đến vị trí (x-1, y-1) Việc

tính toán đơn giản là thực hiện phép cộng số nguyên nên tốc độ thực hiện được tối ưu

hóa

Hình 2 5 Cách tính Integral Image của ảnh

Kết quả có được sau khi tính Integral Image, việc tính tổng giá trị pixel trong

vùng cần tính thực hiện như sau:

Gọi vùng cần tính tổng các giá trị pixel là vùng “A4”

P1(x1,y1)= A1; P2(x2,y2)= A1+A2;

P3(x3,y3)= A1+A3; P4(x4,y4)= A1+A2+A3+A4;

Formatted: Font: Italic

Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Subscript Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Subscript Formatted: Font: Italic Formatted: Subscript Formatted: Font: Italic

Trang 34

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

Hình 2 6 Cách tính tổng giá trị pixel vùng cần tính

2.2.2, Thuật toán tăng tốc Adaboost

Thuật toán tăng tốc Adaboost là thuật toán máy học được cải tiến từ thuật toán

Boosting Với ưu điểm khả năng giải quyết bài toán nhanh chóng, cài đặt đơn giản và

dễ dàng, không có các tham số để điều chỉnh và không cần tri thức về bộ học yếu do

đó thuật toán tăng tốc Adaboost được sử dụng nhiều trong các ứng dụng về nhận

dạng

2.2.2.1, Tiếp cận Boosting

Boosting là kĩ thuật nâng cao độ chính xác cho các thuật toán máy học Năm

1989, Schaire đã đưa ra các chứng minh đầu tiên về thuật toán boosting Và một năm

sau đó Freund đã phát triển thuật toán boosting một cách hiệu quả hơn rất nhiều, mặc

dù vẫn còn nhiều hạn chế trong thực tế và chỉ tối ưu trong một số trường hợp Các thực

nghiệm đầu tiên với thuật toán boosting được thực hiện bởi Drucker, Schapire và

Simard trong chương trình nhận dạng ký tự quang học (OCR_Optical Character

Recognition) Mãi đến năm 1995 thuật toán AdaBoost mới chính thức được công bố

bởi Freund và Schapire [17]

Nguyên lý cơ bản của thuật toán Boosting là kết hợp các bộ phân loại yếu

(weak classifiers) thành một bộ phân loại mạnh (strong classifier) Trong đó bộ phân

loại yếu là các bộ phát hiện đơn giản chỉ cần có độ chính xác trên 50% Bằng cách này,

chúng ta nói bộ phát hiện đã được “boost”

Xét một bài toán phát hiện 2 lớp (mẫu cần nhận dạng sẽ được phân vào 1 trong

2 lớp) với D là tập huấn luyện gồm có n mẫu Trước tiên, chúng ta sẽ chọn ngẫu nhiên

ra n1 mẫu từ tập D (n1<n) để tạo tập D1 Sau đó, chúng ta sẽ xây dựng “weak

classifier” đầu tiên C1 từ tập D1 Tiếp theo, chúng ta xây dựng tập D2 để huấn luyện

bộ phân loại C2 D2 sẽ được xây dựng sao cho một nửa số mẫu của nó được phân loại

Trang 35

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

đúng bởi C1 và nửa còn lại bị phân loại sai bởi C1 Bằng cách này, D2 chứa đựng

những thông tin bổ sung cho C1 Bây giờ chúng ta sẽ xây huấn luyện C2 từ D2

Tiếp theo, chúng ta sẽ xây dựng tập D3 từ những mẫu không được phân loại tốt

bởi sự kết hợp giữa C1 và C2: những mẫu còn lại trong D mà C1 và C2 cho kết quả

khác nhau Như vậy, D3 sẽ gồm những mẫu mà C1 và C2 hoạt động không hiệu quả

Sau cùng, chúng ta sẽ huấn luyện bộ phân loại C3 từ D3

Bây giờ chúng ta đã có một “strong classifier”: sự kết hợp C1, C2 và C3 Khi

tiến hành nhận dạng một mẫu X, kết quả sẽ được quyết định bởi sự thỏa thuận của 3

bộ C1, C2 và C3: Nếu cả C1 và C2 đều phân X vào cùng một lớp thì lớp này chính là

kết quả phân loại của X; ngược lại, nếu C1 và C2 phân X vào 2 lớp khác nhau, C3 sẽ

quyết định X thuộc về lớp nào [ 3, Trang 14-15 ]

Hình 2 7 Boosting[ 3, Trang 16 ]

2.2.2.2, AdaBoost

AdaBoost (Adaptive Boost) là một bộ phân loại phi tuyến mạnh cải tiến từ thuật

toán Boosting, giúp đẩy nhanh việc tạo ra bộ phân loại mạnh (strong classifier) bằng

cách chọn các đặc trưng tốt Haar-Like trong bộ phân loại yếu (weak classifier) và kết

Trang 36

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

hợp chúng lại tuyến tính để hình thành một bộ phân loại mạnh (strong classifier) bằng

cách sử dụng các trọng số (Weight) để đánh dấu các mẫu khó nhận dạng

Cho trước một vài thuật toán học yếu, người ta áp dụng kỹ thuật tăng cường để

tạo ra thuật toán học mạnh hơn Adaboost là thuật toán cho phép ta có thể làm được

điều trên Gồm có 2 giai đoạn chính như sau: [18]

Giai đoạn 1: Tạo ra các giả định yếu (weak hypotheses) từ các thuật toán học yếu

Giai đoạn 2: Tạo ra các thuật toán học mạnh từ các giả định yếu

Với một tập dữ liệu huấn luyện, một giả định yếu được khởi tạo như sau:

Đầu vào(Input): Cho một tập dữ liệu huấn luyện, N cặp (xi , y i ), x i là các vector

đặc trưng Haar, y i là giá trị đầu ra mong muốn luôn luôn mang giá trị bằng +1 hoặc -1

(trong đó +1 là đối tượng (object), -1 không phải là đối tượng( background)), và số

lượng vòng lặp là T

Đầu ra(Output): Tồn tại một hàm có thể được sử dụng để phân lớp các

đặc trưng của vector x

Nếu thì x được phân lớp là -1

Nếu thì x được phân lớp là +1

Khởi tạo(Initialization): Cho trọng số

Lặp(Iterate): tính giả định (hypothesis) , trọng số tốt

(goodness) , và đồng thời cập nhật lại các trọng số theo các bước sau:

Bước 1: Chọn ngẫu nhiên một tập con trong tập dữ liệu huấn luyện Trong

trường hợp này chính là trọng số

Bước 2: Tính toán giả định bằng cách sử dụng bộ phân lớp yếu cho

Bước 3: Tính toán sai số của trọng số huấn luyện của

(2.4)

Trang 37

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

Bước 3.2: Nếu thì đây không phải là một phân lớp yếu Khi đó nên tăng

thêm số lượng mẫu huấn luyện

Bước 4: Tính toán trọng số tốt của

Tính chất quan trọng nhất của thuật toán Adaboost là có tốt hơn

Để đánh giả hiệu quả của thuật toán ta định nghịa hàm sai số sau:

Khi đó tổng sai số trên N mẫu là:

2.3 Giới thiệu phương pháp phân tích thành phần chính (Principle Component

Analysis_PCA)

2.3.1, Giới thiệu

Mục đích của phương pháp PCA là loại bỏ đi một số hướng thành phần trong

không gian dữ liệu, và chỉ giữ lại các thành phần đặc trưng nhất

Trang 38

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt

PCA giúp làm giảm số chiều của dữ liệu Hay nói theo cách khác thay vì sử

dụng các trục tọa độ của không gian cũ, PCA xây dựng một không gian mới có số

chiều ít hơn, nhưng lại có thể biểu diễn dữ liệu tốt tương đương không gian cũ, nghĩa

là đảm bảo độ biến thiên (variability) của dữ liệu trên mỗi chiều mới [19]

Hình 2.8 là một ví dụ kinh điển hình ảnh của một con lạc đà Cùng một con

nhưng với hai góc nhìn khác nhau thì sẽ có được hai thông tin khác nhau

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ề

cùng một dữ liệu

Hoặc một ví dụ khác như hình 2.9 với một tập dữ liệu ban đầu (tập điểm màu

xanh) được quan sát trong không gian 3 chiều (trục màu đen), ta dễ dàng nhận thấy 3

trục này không mô tả được dữ liệu một cách tốt nhất PCA sẽ tìm một hệ trục tọa độ

mới ( là trục màu đỏ), với không gian mới dữ liệu được mô tả rõ ràng hơn (hình bên

phải màu đỏ) Rõ ràng hình bên phải chỉ cần 2 trục tọa độ nhưng cách thể hiện dữ liệu

tốt hơn so với hệ trục ban đầu

Hình 2 9 Tìm các trục tọa độ mới sao cho dữ liệu có độ biến thiên cao nhất

Trang 39

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt 2.3.2, Thuật toán PCA

Thuật toán PCA được trình bày lần lượt theo các bước dưới đây[7]:

Bước 1: Chuyển đổi ảnh

Biểu diễn M ảnh trong không gian 2D thành 1D Tạo vector có kích thước N (số

hàng của ảnh xám x số cột của ảnh xám) như mô tả sau:

Bước 3: Trừ mỗi ảnh cho ảnh trung bình

Nhằm mục đích tạo ra sự co giãn tương đối giá trị pixel của các ảnh

Trang 40

Formatted: Font: 12 pt Formatted: Font: Times New Roman, 12 pt (2.12)

Xây dựng ma trận từ các vừa tìm được

Bước 4: Xây dựng ma trận Covariance

Nhằm mục đích thể hiện sự tương quan của từng vector đối với các vector còn lại

trong không gian

Tính trị riêng (eigenvalue: ) và vector riêng (eigenvector: ) của ma trận

Covariance này Đó chính là thành phần đặc trưng thành phần thiết yếu của ảnh

Trong thực tế, giả sử tồn tại một ảnh có kích thước 200x230 (độ rộng và độ cao

của ảnh) thì khi đó kích thước của ma trận cov là 46000x46000 (N2) Kích thước quá

lớn do đó không thể tính trực tiếp trị riêng và vector riêng theo cách này Vì vậy áp

dụng lý thuyết đại số tuyến tính: , có thể tính bằng cách giải quyết trị riêng, vector

riêng của ma trận A T

A (kích thước MxM nhỏ hơn nhiều so với NxN)

Đặt và là các trị riêng và vector riêng của ma trận A T

A Kết quả như sau:

(2.14)

Nhân mỗi vế của (2.14) cho A sẽ được:

Điều này cho thấy: M vector riêng của và M trị riêng của đầu tiên tương ứng

chính là tích ( A với vector riêng của ) và

Các vector riêng là không gian đặc trưng của các biển báo trong cơ sở dữ liệu

ảnh ban đầu Các vector riêng được sắp xếp theo thứ tự từ cao đến thấp theo trị riêng

tương ứng Vector riêng có trị riêng càng cao sẽ mang nhiều đặc trưng thiết yếu nhất

Ngày đăng: 18/12/2013, 14:38

HÌNH ẢNH LIÊN QUAN

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 - 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 báo cáo nghiên cứu khoa học sinh viên
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 (Trang 15)
Hình 5. Tổng quan thuật toán [2]. - 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 báo cáo nghiên cứu khoa học sinh viên
Hình 5. Tổng quan thuật toán [2] (Trang 18)
Hình 2. 7. Boosting[ 3, Trang 16 ]. - 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 báo cáo nghiên cứu khoa học sinh viên
Hình 2. 7. Boosting[ 3, Trang 16 ] (Trang 35)
Hình 3. 3. Nội dung file “inforfile.txt” sau khi chạy file “create_list.bat” - 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 báo cáo nghiên cứu khoa học sinh viên
Hình 3. 3. Nội dung file “inforfile.txt” sau khi chạy file “create_list.bat” (Trang 52)
Hình 3. 12. Kết quả ảnh biển số 201a nhận được. - 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 báo cáo nghiên cứu khoa học sinh viên
Hình 3. 12. Kết quả ảnh biển số 201a nhận được (Trang 58)
Sơ đồ 3. 1. Sơ đồ huấn luyện phát hiện biển báo trong ảnh. - 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 báo cáo nghiên cứu khoa học sinh viên
Sơ đồ 3. 1. Sơ đồ huấn luyện phát hiện biển báo trong ảnh (Trang 59)
Hình 3. 15. Một số mẫu huấn luyện nhận dạng. - 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 báo cáo nghiên cứu khoa học sinh viên
Hình 3. 15. Một số mẫu huấn luyện nhận dạng (Trang 60)
Hình 3. 16. Một phần nội dung file “eigenTT.txt”. - 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 báo cáo nghiên cứu khoa học sinh viên
Hình 3. 16. Một phần nội dung file “eigenTT.txt” (Trang 61)
Sơ đồ 3. 2. Sơ đồ huấn luyện nhận dạng biển báo - 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 báo cáo nghiên cứu khoa học sinh viên
Sơ đồ 3. 2. Sơ đồ huấn luyện nhận dạng biển báo (Trang 64)
Hình 3.19. Giao diện chọn ảnh. - 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 báo cáo nghiên cứu khoa học sinh viên
Hình 3.19. Giao diện chọn ảnh (Trang 67)
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ó - 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 báo cáo nghiên cứu khoa học sinh viên
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ó (Trang 72)
Hình 4. 4. Kết quả thử nghiệm biển bị che khuất bởi cây - 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 báo cáo nghiên cứu khoa học sinh viên
Hình 4. 4. Kết quả thử nghiệm biển bị che khuất bởi cây (Trang 73)
Hình 4. 5. Kết quả thử nghiệm với biển bị bong tróc sơn. - 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 báo cáo nghiên cứu khoa học sinh viên
Hình 4. 5. Kết quả thử nghiệm với biển bị bong tróc sơn (Trang 73)
Hình 4. 6. Kết quả thử nghiệm với biển bị bẩn bởi sơn. - 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 báo cáo nghiên cứu khoa học sinh viên
Hình 4. 6. Kết quả thử nghiệm với biển bị bẩn bởi sơn (Trang 74)
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. - 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 báo cáo nghiên cứu khoa học sinh viên
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 (Trang 75)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm