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

ứng dụng xử lý ảnh và thuật toán levenberg marquardt trong việc phát hiện, nhận dạng biển báo giao thông

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

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

LUẬN VĂN THẠC SĨ
NGÔ ANH TUẤN

ỨNG DỤNG XỬ LÝ ẢNH VÀ THUẬT TOÁN
LEVENBERG-MARQUARDT TRONG VIỆC
PHÁT HIỆN, NHẬN DẠNG BIỂN BÁO GIAO THÔNG

NGÀNH: KỸ THUẬT ĐIỆN TỬ - 60520203

S K C0 0 4 5 9 8

Tp. Hồ Chí Minh, tháng 04/2015


z

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

LUẬN VĂN THẠC SĨ
NGÔ ANH TUẤN

ỨNG DỤNG XỬ LÝ ẢNH VÀ
THUẬT TOÁN LEVENBERG-MARQUARDT
TRONG VIỆC PHÁT HIỆN, NHẬN DẠNG
BIỂN BÁO GIAO THÔNG



NGÀNH: KỸ THUẬT ĐIỆN TỬ - 60520203
Hướng dẫn khoa học:
TS. LÊ CHÍ THÔNG

Tp. Hồ Chí Minh, tháng 4 năm 2015

2


LÝ LỊCH KHOA HỌC
I. LÝ LỊCH SƠ LƯỢC:
Họ & tên: Ngô Anh Tuấn
Giới tính: Nam
Ngày, tháng, năm sinh: 09/09/1988
Nơi sinh: Đà Lạt – Lâm Đồng
Quê quán: Hoài Đức–Hoài Nhơn–Bình Định Dân tộc: Kinh
Chỗ ở riêng hoặc địa chỉ liên lạc: 771A tổ 44, Khu Phố 5, Phường An Phú, Quận 2, Tp Hồ
Chí Minh.
Điện thoại di động: 091.800.7277
Điện thoại nhà riêng:
Fax:
E- mail:
II. QUÁ TRÌNH ĐÀO TẠO:
1. Đại học:
Hệ đào tạo: Chính quy
Thời gian đào tạo: từ 9/2006 đến 6/2011
Nơi học (trường, thành phố): Trường Đại Học Kỹ Thuật Công Nghệ Tp. Hồ Chí Minh.
Ngành học: Kỹ Thuật Điện Tử, Truyền Thông.
Tên đồ án, luận án hoặc môn thi tốt nghiệp: Nghiên cứu, thi công mạch tổng đài nội bộ

PABX và phát triển các dịch vụ tổng đài.
Ngày & nơi bảo vệ đồ án, luận án hoặc thi tốt nghiệp: Trường Đại Học Kỹ Thuật Công Nghệ
Tp. Hồ Chí Minh.
Người hướng dẫn: Th.S Đinh Quốc Hùng.
III. QUÁ TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC:
Thời gian
2011-2012
2012-2013
2014-nay

Nơi công tác

Công việc đảm nhiệm

Công ty thiết kế Renesas Design Việt
Nam - RVC
Viện nghiên cứu đào tạo và phát triển vi
mạch Việt Nam - ICDREC
Công ty THHH phần mềm FPT - FPT
Software

Kỹ sư thiết kế, lập trình phần cứng
vi mạch
Kỹ sư thiết kế, lập trình phần cứng
vi mạch
Kỹ sư lập trình nhúng, lập trình ứng
dụng

i



LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của tôi.
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 bố
trong bất kỳ công trình nào khác.
Tp. Hồ Chí Minh, ngày … tháng … năm 2015

Ngô Anh Tuấn

ii


LỜI CẢM ƠN
Lời đầu tiên em xin gửi đến Thầy, TS.Lê Chí Thông lời cảm ơn chân thành và sâu
sắc nhất. Trong suốt thời gian thực hiện luận văn, mặc dù rất bận rộn trong công việc
nhưng Thầy vẫn dành rất nhiều thời gian và tâm huyết trong việc hướng dẫn em hoàn thành
luận văn này.
Bên cạnh đó, em xin cảm ơn sự dạy dỗ tận tình của các thầy, cô trong khoa ĐiệnĐiện Tử. Những kiến thức mà thầy cô truyền đạt là một tài sản vô giá và những kinh
nghiệm mà thầy cô chỉ bảo là hành trang giúp em bước đi trên đường đời.
Đồng thời, xin cảm ơn cha mẹ đã nuôi con khôn lớn và tạo mọi điều kiện để con học
tập tốt trong suốt quảng đời vừa qua và để có được như ngày hôm nay.
Cuối cùng, tôi xin cảm ơn sự giúp đỡ của những bạn bè. Những năm tháng học tập
là biết bao sự gắn bó, hỗ trợ, động viên của các bạn trong việc học, cũng như những giúp
đỡ để tôi có thể hoàn thành luận văn này.

Tp. Hồ Chí Minh, tháng 04 năm 2015
Học viên thực hiện

Ngô Anh Tuấn


iii


TÓM TẮT

Biển báo giao thông mang những thông tin quan trọng vì nó hỗ trợ người lái xe ý thức
và chủ động hơn trong việc xử lý các tình huống nguy hiểm tiềm ẩn và giúp thuận tiện hơn
trong việc điều khiển phương tiện lưu thông. Về cơ bản, một hệ thống nhận dạng biển báo
giao thông bao gốm 2 giai đoạn chính: giai đoạn phát hiện và giai đoạn nhận dạng. Việc
xác định biển báo giao thông thường dựa trên các thông tin về màu sắc và hình dạng.
Trong luận văn này, tôi đề xuất một giải thuật dùng để phát hiện và nhận dạng (hình
dạng) các biển báo giao thông đuờng bộ trên thời gian thực. Biển báo ban đ ầu được phát
hiện thông qua phân ngưỡng màu sắc (đỏ hay xanh), sau đó hình dạng của biển báo đó
được nhận dạng và tái tạo bằng đường cong Gielis. Quá trình phát hiện biển báo giao thông
được thực hiện thông qua nhiều quá trình như: chuyển đổi không gian màu RGB sang
không gian màu IHLS, phân ngưỡng NHS, loại nhiễu, loại bỏ các thành phần dư thừa, tăng
cường ảnh, xác định biên, xác định bao lồi ảnh, xác định tâm và khối tái tạo hình dạng (áp
dụng thuật toán Levenberg Marquardt trong việc xác định hình dạng của biển báo giao
thông từ tập hợp các điểm trên biên). Phương pháp phát hiện và nhận dạng biển báo giao
thông đã nêu cho phép phát hiện các biển báo giao thông với hình dạng phổ biến như hình
tròn, tam giác, lục giác … bằng một giải thuật duy nhất mà không phải thông qua các bước
huấn luyện như các phương pháp nhận dạng khác.
Luận văn sử dụng các kỹ thuật thu thập dữ liệu với camera nhúng, các kỹ thuật xử lý
ảnh cùng một số hàm của thư viện thị giác máy tính mã nguồn mở OpenCV để xử lý hình
ảnh thu nhận. Luận văn là sự kết hợp của những kiến thức về xử lý ảnh số, lập trình C++ để
xử lý và mô tả thuật toán, lập trình nhúng(ngôn ngữ lập trình python) và lập trình module
siêu âm để ước luợng khoảng cách và camera nhúng.

iv



ABSTRACT

Road signs (traffic signs) give important information for every road user in order to
maintain the safety and efficiency of our transportation facilities. Basically, a road sign
recognition system consists of two main stages: the detection and the recognition. The
identification of road signs in images is usually based on detecting road signs location
using color and shape information.
In this thesis, I recommend an optimal algorithm that may detect and recognize traffic
signs from the real time image of road side. At first, road signs are located in images based
on color segmentation (red & blue), and their corresponding shape is detected using a
shape representation. An automatic systems for traffic signs detection is designed and
applied in various image-processing operations like RGB color space to IHLS color space
conversion, NHS segmentation, image filtering, noise removal, object elimination, post
processing, contour extraction, convex hull extraction, ROI extraction and shape
reconstruction. The optimization method that we are using in this thesis is the Lavenberg
Marquardt algorithm. The contribution of the proposed method is that the shape
reconstruction technique which permits to recognize any common road sign shape, i.e.
circle, triangle, rectangle and octagon,… at a distance by a single formula without any
training phase.
This thesis applies the scientific and technical achievements of embedded camera that
are available today; combined with image processing techniques in computer vision library
open source OpenCV to process the images that obtained. Moreover, my thesis is a
combination of the knowledge of digital image processing, C + + programming language to
process image and demonstrate the algorithm, embedded programming language (python
programming language) and programming control module ultra-sonic ranger and camera.

v



MỤC LỤC
TRANG TỰA
QUYẾT ĐỊNH GIAO ĐỀ TÀI
LÝ LỊCH KHOA HỌC ................................................................................................................. i
LỜI CAM ĐOAN ......................................................................................................................... ii
LỜI CẢM ƠN .............................................................................................................................. iii
TÓM TẮT .................................................................................................................................... iv
MỤC LỤC .................................................................................................................................... vi
CÁC TỪ VIẾT TẮT ................................................................................................................... ix
DANH SÁCH CÁC HÌNH.......................................................................................................... x
CHƯƠNG 1: GIỚI THIỆU ...................................................................................................... 1
1.1 Tổng quan tình hình nghiên cứu.......................................................................................... 1
1.2 Các kết quả nghiên cứu trong và ngoài nước đã công bố ................................................ 2
1.2.1 Các kết quả nghiên cứu trong nước.............................................................................. 2
1.2.2 Các kết quả nghiên cứu ngoài nước ............................................................................. 4
1.3 Nhiệm vụ của đề tài .............................................................................................................. 6
1.3.1 Yêu cầu của đề tài........................................................................................................... 6
1.3.2 Nội dung cần thực hiện .................................................................................................. 7
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT XỬ LÝ ẢNH.............................................................. 9
2.1 Các lý thuyết xử lý ảnh ......................................................................................................... 9
2.1.1 Không gian màu.............................................................................................................. 9
2.1.2 Các toán tử hình thái .................................................................................................... 11
vi


2.1.3 Lọc trung vị (Median Filter) ....................................................................................... 19
2.2 Thư viện thị giác máy tính mã nguồn mở OpenCV ........................................................ 21
2.2.1 Giới thiệu thư viện mã nguồn mở OpenCV .............................................................. 21
2.2.2 Lịch sử OpenCV ........................................................................................................... 22
2.2.3 Kiến trúc của OpenCV ................................................................................................. 23

2.3 Đường cong Gielis .............................................................................................................. 24
2.4 Thuật toán tối ưu Levenberg-Marquardt .......................................................................... 26
CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH.................................... 28
3.1 Mục đích ............................................................................................................................... 28
3.2 Chức năng của chương trình .............................................................................................. 28
3.3 Xây dựng chương trình ....................................................................................................... 29
3.3.1 Khối IHLS_NHS .......................................................................................................... 29
3.3.2 Khối tiền xử lý .............................................................................................................. 32
3.3.3 Khối xử lý đường biên ................................................................................................. 36
3.3.4 Góc quay offset ............................................................................................................. 40
3.3.5 Khối tái tạo hình dạng dùng đường cong Gielis ....................................................... 43
3.4 Chương trình trình nhận dạng trên máy tính.................................................................... 46
CHƯƠNG 4: THIẾT KẾ VÀ THỰC HIỆN HỆ THỐNG NHÚNG PHÁT HIỆN VÀ
NHẬN DẠNG BIỂN BÁO ...................................................................................................... 49
4.1 Yêu cầu thiết kế ................................................................................................................... 49
4.2 Cài đặt cho kit nhúng. ......................................................................................................... 51
4.2.1 Lựa chọn hệ điều hành ................................................................................................. 51

vii


4.2.2 Cài đặt hệ điều hành ..................................................................................................... 52
4.2.3 Khởi động hệ điều hành và giao diện LXTerminal................................................... 53
4.2.4 Cài đặt thư viện OPENCV cho QT, mã nguồn C++ ................................................ 54
4.2.5 Cài đặt driver và thư viện cho Pi Camera ................................................................. 58
4.2.6 Cài đặt thư viện GPIO trên kit nhúng ........................................................................ 58
4.2.7 Xây dựng chương trình C++ trên kit nhúng .............................................................. 59
4.3 Lưu đồ giải thuật tổng quát chương trình thực thi trên kit nhúng ................................. 59
CHƯƠNG 5: KẾT QUẢ THỰC HIỆN ............................................................................... 63
5.1 Các ảnh đưa vào thử nghiệm và đánh giá ........................................................................ 63

5.2 Mạch thi công ...................................................................................................................... 73
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................. 74
6.1 Kết luận................................................................................................................................. 74
6.2 Hướng phát triển.................................................................................................................. 75
TÀI LIỆU THAM KHẢO ......................................................................................................... 76

viii


CÁC TỪ VIẾT TẮT

CPU
GB
HSI
IPP
MB
IPP
MB
ML
OpenCV
ORC
PCA
RGB
SVM
NHS
IHLS
RO
GC
CW
CCW

COM
LM

Central Processing Unit
Gigabyte
Hue – Saturation – Intensity
Intergrated Performance Primitives
Megabyte
Intergrated Performance Primitives
Megabyte
Machine Learning
Open Computer Vision
Optical Character Recognition
Principle Components Analysis
Red – Green – Blue
Support Vector Machine
Normalized Hue Saturation
Improved Hue Luminance and Saturation
Rotational Offset
Gielis Curve
Clock Wise
Counter Clock Wise
Centre Of Mass
Levenberg-Marquardt

ix


DANH SÁCH CÁC HÌNH


HÌNH

TRANG

Hình 1.1 Mô hình SVM được đề nghị [1] .................................................................................... 3
Hình 1.2 Tổng quan đề tài dùng đặc trưng cục bộ và bộ phân lớp SVM [3] ........................... 4
Hình 1.3 Mô hình nhận dạng DVM mà nhóm tác giả đề xuất [6]............................................. 5
Hình 1.4 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”
[7]. ..................................................................................................................................................... 5
Hình 1.5 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” [8] . ........................................................................................................ 6
Hình 2.1 Mô hình không gian màu RGB...................................................................................... 9
Hình 2.2 Mô hình không gian màu HSL. ................................................................................... 11
Hình 2.3 Ảnh và đối tượng trong ảnh. ........................................................................................ 12
Hình 2.4 Quan hệ giữa hai tập hợp.............................................................................................. 13
Hình 2.5 Phép giãn nhị phân. ....................................................................................................... 15
Hình 2.6 Quá trình quét của phần tử cấu trúc trên hình ảnh nhị phân. ................................... 16
Hình 2.7 Phép co nhị phân trên hai đối tượng ........................................................................... 17
Hình 2.8 Quá trình thực hiện phép đóng ảnh. ............................................................................ 18
Hình 2.9 Minh họa phép đóng ảnh trên phương diện ý nghĩa hình học. ................................ 19
Hình 2.10 Cách thức hoạt động của lọc trung vị ....................................................................... 19
Hình 2.11 Quá trình phát triển của OpenCV. ............................................................................ 23
Hình 2.12 Cấu trúc cơ sở của OpenCV. ..................................................................................... 24
x


Hình 2.13 Một số thông số của đường cong Gielis và các hình dạng (với a=b=1) ............. 25
Hình 2.14 Mô phỏng các hình học đơn giản trên Matlab bằng hệ tọa độ cực (a’, b’, c’, d’)
và hệ tọa độ Descart (a, b, c, d) ................................................................................................... 25

Hình 3.1 Sơ đồ giải thuật tổng quát. ........................................................................................... 28
Hình 3.2 Sơ đồ khối phát hiện biển báo giao thông. ................................................................. 29
Hình 3.3 Ảnh ngõ vào(a) và ngõ ra(b) c ủa khối IHLS-NHS. .................................................. 30
Hình 3.4 Sơ đồ khối IHLS-NHS.................................................................................................. 30
Hình 3.5 Ảnh nhị phân sau khi được phân ngưỡng để lấy vùng đặc trưng (vùng màu trắng
là những pixel của ảnh ngõ vào mang màu đỏ). ........................................................................ 32
Hình 3.6 Ảnh ngõ vào của khối tiền xử lý. ................................................................................ 33
Hình 3.7 Ảnh ngõ ra của khối tiền xử lý. ................................................................................... 33
Hình 3.8 Sơ đồ khối của tiền xử lý.............................................................................................. 33
Hình 3.9 Các ảnh ngõ vào của khối tăng cường ảnh. ............................................................... 34
Hình 3.10 Ảnh ngõ ra của khối tăng cường ảnh. ....................................................................... 34
Hình 3.11 Ảnh ngõ vào khi chưa loại bỏ các đối tượng nhỏ và không quan tâm. ................ 35
Hình 3.12 Ảnh ngõ ra của khối loại bỏ các đối tượng nhỏ và không quan tâm. ................... 35
Hình 3.13 Ảnh nhị phân chứa các điểm bao lồi. ....................................................................... 36
Hình 3.14 Đường biên của đối tượng trước (a) và sau khi xử lý (b) (màu trắng là các điểm
thuộc biên đối tượng). ................................................................................................................... 37
Hình 3.15 Khoảng cách từ một điểm trên biên đến đường thẳng nối hai điểm bao lồi........ 37
Hình 3.16 Khoảng cách h từ điểm trên biên đến đường thẳng nối 2 điểm trên bao lồi........ 38
Hình 3.17 Sơ đồ khối của khối xử lý biên.................................................................................. 38
Hình 3.18 Ngõ vào c ủa khối xử lý biên, điểm màu đỏ là các điểm bao lồi, tập hợp các điểm
màu trắng là đường biên của đối tượng. ..................................................................................... 39
xi


Hình 3.19 Ngõ ra của khối xử lý biên, với ngưỡng (khoảng cách tối đa cho phép) bằng 2
(các điểm màu trắng là đường biên mới sau khi được xử lý). ................................................. 39
Hình 3.20 Góc quay offset (Rotational offset - RO) ................................................................. 40
Hình 3.21 Sơ đồ khối của khối Rotational offset ...................................................................... 40
Hình 3.22 Mô tả Rotational Offset. ............................................................................................. 41
Hình 3.23 Các điểm trên đường biên bị mất dẫn đến kết quả sai............................................ 42

Hình 3.24 Hình ảnh bị che chắn dẫn đến kết quả sai. ............................................................... 42
Hình 3.25 Các đầu vào và đầu ra của khối tái tạo hình dạng dùng đường cong Gielis ........ 43
Hình 3.26 Sơ đồ khối của khối tái tạo hình dạng của biển báo với đường cong Gielis. ...... 43
Hình 3.27 Sơ đồ giải thuật của thuật toán Levenberg-Marquardt. .......................................... 44
Hình 3.28 Giao diện chương trình ............................................................................................... 47
Hình 3.29 Mở ảnh cần xử lý......................................................................................................... 47
Hình 3.30 Kết quả sau khi xử lý .................................................................................................. 48
Hình 4.1 Hệ thống phát hiện và nhận dạng biển báo giao thông............................................. 50
Hình 4.2 Module cảm biến siêu âm SRF05. .............................................................................. 50
Hình 4.3 Camera pi dùng để thu nhận hình ảnh. ....................................................................... 51
Hình 4.4 Kit nhúng Raspberry PI và các khối cơ bản trên kit. ................................................ 51
Hình 4.5 Format thẻ nhớ và cài đặt hệ điều hành lên kit nhúng. ............................................. 52
Hình 4.6 Thiết lập các thông số cơ bản cho hệ điều hành. ....................................................... 53
Hình 4.7 Chương trình nhập lệnh của hệ điều hành - LXTerminal ........................................ 53
Hình 4.8 Cấu hình Raspberry Pi để nhận diện camera ............................................................. 58
Hình 4.9 Sơ đồ giải thuật chương trình phát hiện và nhận dạng biển báo giao thông trên kit
nhúng ............................................................................................................................................... 60
xii


Hình 4.10 Màn hình hiển thị kit nhúng, thể hiện khoảng cách giữa vật cản và kit nhúng... 61
Hình 4.11 Camera chụp ảnh đưa vào khối xử lý (ảnh ngõ vào của khối xử lý). ................... 61
Hình 4.12 Màn hình hiển thị trên kit nhúng, thể hiện đã xử lý xong biển báo giao thông. . 62
Hình 4.13 Kết quả xử lý chương trình trên kit nhúng............................................................... 62
Hình 5.1 Phát hiện và nhận dạng biển báo giao thông nguy hiểm(biển báo hình tam giác) 64
Hình 5.2 Phát hiện và nhận dạng biển báo cấm (biển báo hình tròn). .................................... 65
Hình 5.3 Phát hiện và nhận dạng biển dừng lại (biển báo tám cạnh). .................................... 66
Hình 5.4 Phát hiện và nhận dạng biển chỉ dẫn (biển báo hình vuông màu xanh). ................ 67
Hình 5.5 Phát hiện và nhận dạng nhiểu biển báo trong một hình ........................................... 68
Hình 5.6 Kết quả thử nghiệm trong môi trường ban đêm. ....................................................... 69

Hình 5.7 Kết quả thử nghiệm trong môi trường có sương mù và mưa nhẹ ........................... 69
Hình 5.8 Kết quả thử nghiệm với ảnh chụp được khi ở tốc độ cao......................................... 70
Hình 5.9 Các trường hợp nhận dạng sai ..................................................................................... 70
Hình 5.10 Xử lý biển báo tam giác trên kit với hình ảnh được chụp từ camera.................... 72
Hình 5.11 Xử lý biển báo hình tròn trên kit với hình ảnh được chụp từ camera................... 72
Hình 5.12 Xử lý biển báo lục giác trên kit với hình ảnh được chụp từ camera ..................... 73
Hình 5.13 Mạch thi công phần cứng .......................................................................................... 73

xiii


CHƯƠNG 1: GIỚI THIỆU
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, đời sống văn hóa được nâng cao, chất lượng cuộc sống
được cải thiện rõ nét, vấn đề về giao thông cũng từng bước được quan tâm nâng cao và góp
phần vào sự phát triển chung an toàn và bền vững 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 là 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 7
tháng đầu năm 2014 (từ ngày 16/12/2014 đến 15/7/2014), Việt Nam xảy ra 6.410 vụ tai
nạn giao thông, làm chết 5.635 người, làm bị thương 3.945 người. Đây là một con số đáng
báo động đối với 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 đánh giá.
Từ tình hình giao thông thực tế tại Việt Nam, xét một phần nguyên nhâ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 nhận ra các loại biển báo và tín hiệu giao
thông. Nguyên nhân của vấn đề này là do tài xế mệt mỏi, thiếu tập trung và nhiều yếu tố
chủ quan và khách quan khác.
Từ khảo sát thực tế đối với các tài xế mà thành phần chủ yếu là các tài xế taxi. Kết
quả 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,
giúp bảo vệ tài sản, tính mạng của người tham gia và rộng hơn nữa là bảo vệ hạnh phúc của
gia đình và toàn xã hội.
Từ những lý do thực tiễn trên, luận văn này định hướng nghiên cứu giải thuật
Levenberg- Marquardt nhằm đưa đến một giải pháp xây dựng một hệ thống, 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, thông qua ý
tưởng một hệ thống phát hiện và nhận dạng các biển báo giao thông nguy hiểm để cảnh
báo, thông tin cho người điều khiển phương tiện tham gia giao thông. Hệ thống hoạt động
trên thời gian thực, nhận dạng và phát hiện các biển báo giao thông trong mọi hoàn cảnh
điều kiện có thể xảy ra trong thực tế. Luận văn hướng tới ứng dụng hệ thống nhúng,
camera cùng với các kiến thức về xử lý ảnh số, lập trình bẳng ngôn ngữ lập trình C++ và
ngôn ngữ lập trình nhúng(python) cùng với thư viện mã nguồn mở OpenCV.
1.1 Tổng quan tình hình nghiên cứu
Ngày nay khoa học kỹ thuật phát triển rất mạnh mẽ, ngành điều khiển học và
tự động hóa đã có những bước tiến lớn. Điều khiển học và tự động hóa ngày càng
1


đóng vai trò quan trọng trong việc tăng năng suất lao động, chất lượng và an toàn
cho cuộc sống của con người. Trong xã hội công nghiệp ngày nay, việc ứng dụng
các robot tự hành, các cánh tay máy, có khả năng hoạt động độc lập ngày càng phổ
biến. Để có khả năng thông minh đó, chúng phải có khả năng nhìn, nhận dạng các
tình huống, xử lý tình huống như con người. Đáp ứng nhu cầu đó, xử lý ảnh là một
phần rất quan trọng của quá trình điều khiển học và tự động hóa. Dữ liệu về hình
ảnh có lượng thông tin lớn và chính xác hơn các loại dữ liệu từ các cảm biến khác.
Điều này giúp cho việc giải quyết các vấn đề trong lĩnh vực điều khiển tự động dễ
dàng hơn.
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 đã có nhiều công trình

nghiên cứu khả quan. Tuy nhiên hiện nay 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ế.
Để phát hiện, nhận diện và cảnh báo, đảm bảo tính chính xác thì bắt buộc hệ
thống cần phải có tốc độ xử lý nhanh, hoạt động ổn định thời gian thực. Một sản
phẩm có tính ứng dụng cao phải có tốc độ xử lý đủ nhanh, chính xác, tin c ậy, ổn
định, và có khả năng mở rộng và nâng cấp thêm. Đó là các yếu tố rất quan trọng
trong việc xây dựng và phát triển hệ thống.

1.2 Các kết quả nghiên cứu trong và ngoài nước đã công bố
1.2.1 Các kết quả nghiên cứu trong nước
a. “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” của Lê Thanh Tâm, Trần Thái Sơn và Seichii Mita [1].
Đâ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. Tác giả trình
bày cách tiếp cận mới hiệu quả 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. Đặc trưng màu được xử lý trên vùng của pixel để sử dụng các
thông tin pixel lân cận thay vì trên từng pixel như các cách tiếp cận đã có.
Sau đó, phép biến đổi Hough và thuật toán phát hiện contour được áp dụng
để phân lớp cũng như khử nhiễu dựa trên đặc trưng hình học của biển báo
giao thông. Mô hình SVM được đề nghị được thể hiện tại hình 1.1.
2


Hình 1.1 Mô hình SVM được đề nghị [1]
b. “Thuật toán phát hiện chuyển động” của Đào Ngọc Anh [2].
Đề tài [2] trình bày các phương pháp mô hình hỗn hợp nền thích nghi,
mô hình không tham số thích nghi, mô hình sử dụng từ điển (code-book)
thích nghi thời gian thực. Giả lập chuyển động để tạo ra ảnh lối vào khi

nghiên cứu các đặc tính cần đánh giá. Làm chủ được thuật toán phát hiện
chuyển động trên cơ sở sử dụng các phương pháp khác nhau để mô hình hóa
nền. Chương trình nguồn thu được có thể dùng để nghiên cứu thuật toán hoặc
sử dụng trong các ứng dụng thương mại liên quan tới nhận dạng chuyển
động.
c. “Phát hiện biển báo giao thông dùng đặc trưng cục bộ (local
features)” của Nguyễn Duy Khánh, Lê Đình Duy và Dương Anh Đức [3].
Đề 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 toán được tác
giả trình bày như theo hình 1.2. 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.

3


(a) Ảnh ngõ vào

(b) Các điểm phân tích

(d) Bộ định nghĩa

(e) Histogram

(c) Đặc trưng cục bộ

(f) Phân loại

Hình 1.2 Tổng quan đề tài dùng đặc trưng cục bộ và bộ phân lớp SVM [3]
1.2.2 Các kết quả nghiên cứu ngoài nước
a. “A Road Sign Recognition System Based on Dynamic Visual

Model” của C. Y. Yang, C. S. Fuh, S. W. Chen và P. S. Yen [4].
Nhóm tác giả đặt vấn đề và mong muốn có một giải pháp để 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 như hình 1.3, 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, bị bóng râm che hay các yếu tố khác làm mất đi một phần
thông tin 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 ảnh hưởng đến khả năng nhận dạng của mô hình vừa nêu.

4


Hình 1.3 Mô hình nhận dạng DVM mà nhóm tác giả đề xuất [4].
b. “A System for Traffic Sign Detection, Tracking, and Recognition
Using Color, Shape, and Motion Information” của C. Bahlmann, Y. Zhu, V.
Ramesh, M. Pellkofer và T. Koehler Proceedings [5].
Bài báo trình bày một hệ thống thị giác máy tính dùng để 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 như hình 1.4. Phương pháp tiếp
cận được trình bày trong bài báo gồm hai phần. Phần đầu tiên sử dụng các
đặc trưng Haar-like kết hợp với bộ tăng tốc Adaboost để phát hiện biển báo.
Phần tiếp theo, 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. Theo kết quả thực nghiệm được cung cấp bởi
bài báo, hệ thống 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.

Hình 1.4 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” [5].
5


c. “Color-Based Road Sign Detection and Tracking ” của Luis David
Lopez và Olac Fuentes [6].
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 về màu sắc.
Phương pháp tiếp cận gồm hai 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 đó. Mô hình phát hiện biển báo
giao thông được mô tả như hình 1.5. Theo kết quả thực nghiệm được cung
cấp bởi bài báo, hệ thống đề xuất nhận dạng được 97% đối tượng ở gần trong
thời gian thực.

Hình 1.5 Mô hình phát hiện biển báo giao thông của bài báo “ColorBased Road Sign Detection and Tracking” [6].
d. “A generic geometric transformation that unifies a wide range of
natural and abstract shapes” của Johan Gielis [7]
Trong bài báo này, tác giả trình bày một phương pháp tiếp cận hình
học mới dùng để mô tả các hình dạng trừu tượng, tự nhiên và nhân tạo trong
thực tế. Johan Gielis khẳng định rằng rất nhiều hình dạng trong tự nhiên có
cùng một siêu công thức toán học. Hình dạng này giống với dạng tròn, trong
đó người ta có thể thay đổi một vài thông số nhằm mô tả phần lớn những
hình dạng đơn giản khác (tam giác, vuông, chữ nhật…) và thậm chí phức tạp
hơn (cuộn xoắn của vỏ ốc hay một nụ tuyết). Gielis đánh giá rằng đây là một
hình thức mới để mô tả thiên nhiên chính xác và chắc chắn sẽ mang lại các
đột phá.

1.3 Nhiệm vụ của đề tài
1.3.1 Yêu cầu của đề tài

6


Mục tiêu của luận văn là ứng dụng các kỹ thuật xử lý ảnh, thuật toán tối ưu
Levenberg- Marquardt vào việc thiết kế xây dựng một hệ thống hướng tới việc phát
hiện và nhận dạng hình dạng các biển báo giao thông đường bộ được thu về từ
camera và hiển thị thông tin nhận dạng.
Phạm vi nghiên cứu: nghiên cứu nhận biết một số biển báo giao thông đường
bộ tại Việt Nam để đưa ra cảnh báo cho lái xe. Áp dụng thuật toán đề xuất đưa vào
bài toán phát hiện và nhận dạng biển báo giao thông, nên chỉ có thể nhận dạng hình
dạng biển báo giao thông (ví dụ: biển báo hình tròn, hình vuông, tam giác, l ục
giác…) không nhận dạng nội dung của biển báo (ví dụ: biển báo nguy hiểm bên
giác, biển báo tốc độ tối đa cho phép 60km/h….) vì phương pháp đề xuất không qua
giai đoạn huấn luyện mẫu.
Yêu cầu của hệ thống là phải hoạt động ổn định, phát hiện nhanh, tỷ lệ phát
hiện nhận dạng có độ chính xác cao, tỉ lệ nhận sai thấp, hoạt động trong nhiều điều
kiện khác nhau như trong môi trường ánh nắng gắt, môi trường thiếu ánh sáng, thời
tiết mát, thời tiết âm u nhiều mây, biển báo bị che khuất bởi bóng râm, bị hư hại một
phần nhỏ, trong quang c ảnh đường nông thôn, đường thành phố đông xe …
1.3.2 Nội dung cần thực hiện
Đề tài tập trung nghiên cứu và phát triển một hệ thống phát hiện, nhận dạng
các biển báo giao thông đường bộ dựa trên ứng dụng một số hàm của thư viện thị
giác máy tính mã nguồn mở OpenCV, cùng với các phương pháp xử lý ảnh và thuật
toán tối ưu hóa Levenberg-Marquardt.
Đề tài tập trung nghiên cứu các vấn đề cơ bản sau:
1. Nghiên cứu giải thuật Levenberg-Marquardt, cơ sở lý thuyết và
phạm vi ứng dụng.
2. Tìm hiểu thư viện thị giác máy tính mã nguồn mở OpenCV, phương
trình đuờng cong Gielis dùng để mô tả các hình dạng cơ bản, viết chương
trình để kiểm chứng và mô tả đường cong Gielis.

3. Tìm hiểu các phương pháp xử lý ảnh, tăng cường ảnh, xử lý điểm
ảnh, xử lý biên và bao lồi … để trích lấy vùng ảnh đặc trưng của biển báo
giao thông từ đó chỉ xử lý trên vùng ảnh này.
4. Viết chương trình phát hiện và nhận dạng biển báo giao thông qua
ảnh tĩnh bằng phần mềm QT Creator trên Windows để có cơ sơ nghiên cứu
7


và phát triển, hơn nữa các mã lệnh này có thể kế thừa trên kit nhúng để tiếp
tục xây dựng chương trình.
5. Tìm hiểu về lập trình nhúng trên hệ điều hành Linux, các thiết bị
phần cứng phục vụ cho hệ thống nhận dạng như camera nhúng, module siêu
âm.
6. Nghiên cứu một loại kit để lập trình nhúng. Đề xuất sử dụng kit
Raspberry Pi phiên bản B do tốc độ xử lý cao, giá thành thấp và tính linh
động trong sử dụng.
7. Nghiên cứu cài đặt hệ điều hành Linux cho kit nhúng, lập trình C++
và lập trình python trên kit nhúng, cài đặt thư viện OpenCV(tương thích với
chương trình C++).
8. Nghiên cứu lập trình trên kit nhúng để phát hiện và nhận dạng biển
báo giao thông từ ảnh thu được từ camera.
9. Chạy thử, đánh giá và tinh chỉnh hệ thống nhằm đáp ứng được các
yêu cầu đã đề ra.

8


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT XỬ LÝ ẢNH

2.1 Các lý thuyết xử lý ảnh

2.1.1 Không gian màu
Không gian màu là một mô hình toán học dùng để mô tả các màu sắc
trong thực tế được biểu diễn dưới dạng số học. Trên thực tế có rất nhiều
không gian màu khác nhau được mô hình để sử dụng vào những mục đích
khác nhau. Đầu tiên, chúng ta hãy xét đến ba không gian màu làm cơ sở lý
thuyết để xử lý màu, đó là hệ không gian màu RGB, HSV và IHLS.
2.1.1.1 Không gian màu RGB (RGB space)
Không gian RGB mô tả màu sắc bằng ba thành phần Red, Green,
Blue (đỏ, xanh lam, xanh dương) . Không gian này được minh họa bằng một
khối lập phương với các trục chính là R, G, B (như hình 2.1).
Mỗi màu trong không gian RGB đều được biểu diễn như là một vector
thông qua ba vector cơ sở là vector Red, vector Green và vector Blue. Do đó,
ứng với các tổ hợp khác nhau của ba màu này sẽ cho ta một màu mới.

Hình 2.1 Mô hình không gian màu RGB
Trong hình lập phương mỗi màu gốc (Red, Green, Blue) được đặt vào
góc đối diện với các màu bù nó (hai màu bù nhau là hai màu mà khi kết hợp
tạo thành màu trắng hay xám (Grey)). Như vậy Red đối diện với Cyan, Green
đối diện với Magenta, Blue đối diện với Yellow. Giá trị xám nằm trên đường
chéo nối các đỉnh (0,0,0) (1,1,1) của hình lập phương. Các trục R, G, B được
9


chuẩn hóa. Khi kết hợp hai màu lại với nhau thì màu sinh ra có vector bằng
tổng các vector thành phần.
Ưu điểm của không gian RGB :
Không gian RGB là chuẩn công nghiệp cho các thao tác đồ họa máy
tính. Các thao tác màu sắc có thể được tính toán trên các không gian màu
khác nhưng cuối cùng cần phải chuyển về không gian RGB để có thể hiển thị
trên màn hình (do thiết kế của phần cứng dựa trên mô hình RGB).

Có thể chuyển đổi qua lại giữa không gian RGB với các không gian
màu khác như CIE, CMY, HSL, HSV, IHLS ...
Các thao tác tính toán trên không gian RGB thường đơn giản hơn.
Khuyết điểm của không gian RGB :
Các giá trị RGB của một màu là khác nhau đối với các màn hình
khác nhau: nghĩa là các giá trị RGB của màu tím trên màn hình màu này sẽ
không sinh ra đúng màu đó trên một màn hình khác.
Sự mô tả các màu trong thế giới thực đối với không gian RGB còn
nhiều hạn chế bởi vì không gian RGB không hoàn toàn phù hợp với sự cảm
nhận màu sắc của con người. Hai điểm phân biệt trong không gian RGB, với
mắt người có thể hoặc không thể là thể hiện của hai màu khác nhau. Chính vì
điều này mà không gian RGB không thể ánh xạ trực tiếp đến bất cứ chiều
cảm nhận nào khác .
2.1.1.2 Không gian HSL (HSL space)
Một không gian màu chú trọng hơn không gian RGB đến các thành
phần của sự cảm nhận màu sắc của mắt người là không gian màu HSL (Hue,
Saturation, Lightness). Tuy nhiên, không gian HSL thực ra cũng chỉ là một
phép biến đổi gần đúng của không gian RGB. Không giống như các không
gian màu khác xây dựng trên sự cảm nhận màu sắc của mắt, không gian HSL
vẫn còn bị lệ thuộc vào phần cứng của CRT.
Không gian HSL được biểu diễn trong hệ tọa độ trụ, hình minh họa là
hai hình nón úp vào nhau (xem hình 2.2). H (Hue) là toạ độ ứng với góc
quay, S (Saturation) là tọa độ gốc, L (Lightness) là trục thẳng đứng. Hầu hết
các màu đạt bão hòa khi S = 1 và L = 0,5.
10


×