Tải bản đầy đủ (.pdf) (86 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 (4.34 MB, 86 trang )

M CL 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
3.3 Xây d ng ch

ng trình .............................................................................................. 28

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 đ
3.4 Ch

ng cong Gielis ....................................................... 43

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
CH

NG 5: K T QU

ng trình th c thi trên kit nhúng ................................. 59

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

Hình 3.11

nh ngõ vƠo khi ch a lo i bỏ các đối t

Hình 3.12

nh ngõ ra c a khối lo i bỏ các đối t

Hình 3.13

nh nh phân ch a các điểm bao lồi. ....................................................................... 36

ng nh. ....................................................................... 34

ng nhỏ và không quan tâm. ................ 35
ng nhỏ và không quan tâm. ................... 35

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 đ
Hình 3.16 Kho ng cách h t điểm trên biên đ n đ

ng thẳng nối hai điểm bao lồi........ 37
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
Hình 3.29 M

ng trình ............................................................................................... 47

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

Hình 5.8 K t qu thử nghi m v i nh ch p đ
Hình 5.9 Các tr

c khi

ng mù vƠ m a nhẹ ........................... 69
tốc độ cao......................................... 70

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
ph m vi ng d ng.

s

lý thuy t và

2. Tìm hiểu th vi n th giác máy tính mã nguồn m OpenCV, ph
trình đu ng cong Gielis dùng để mô t các hình d ng c b n, vi t ch
trình để kiểm ch ng và mô t đ ng cong Gielis.

ng
ng

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 đ
yêu cầu đư đ ra.

8

c các


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


Hình 2.2 Mô hình không gian màu HSL.
u đi m của không gian màu HSL :
Không gian HSL gần v i s c m nh n các thuộc tính màu s c c a
con ng i h n không gian RGB (tuy cách ti p c n đư đ n gi n hóa đi nhi u).
Các mƠu đ c xác đ nh d dƠng h n chẳng h n do H quay quanh tr c đ ng
nên các mƠu bù đ c xác đ nh một cách d dƠng, đối v i các giá tr
L(Lightness) cũng v y.
Vi c kiểm soát các mƠu c s HSL d h n cho nh ng ng
làm quen v i các ch ng trình đồ h a.

im i

Khuy t đi m đi m của không gian màu HSL:
Vi c thêm vào một vector không thể th c hi n đ n gi n nh không
gian RGB (ch thêm vào các thành phần mƠu). Các thao tác l ng giác khi
bi n đổi s nh h ng đáng kể đ n tốc độ c a ch ng trình.
Cần ph i qua hi u ch nh thông số gamma tr
nh các không gian mƠu khác).

c khi hiển th (giống

2.1.2 Các toán t hình thái

Hình thái toán h c (Mathematical morphology) là một t p các phép
toán dùng để phân tích nh và xử lý tín hi u số đa chi u theo mẫu, hình d ng
S (shape) đ c ch n. Trong đó tín hi u đầu vƠo đ c so sánh một cách c c
bộ v i S (thành tố cấu trúc - structuring elements) có d ng bất kì, t i điểm
tham chi u R (thông th ng R là tâm c a S và ánh x t ng ng t i tín hi u
đang xét).
11


M c tiêu c a vi c ng d ng Morphology lƠ để đ n gi n hóa tín hi u
bằng vi c lo i bỏ các thông tin không cần thi t. Hình thái toán h c sử d ng
các toán tử hình thái (morphological operators), mà có thể đ c ng d ng
v i các tín hi u nh phơn, đa m c xám nh lƠ nh ng công c ch y u ph c v
quá trình xử lý. Toán tử căn b n nhất đồng th i cũng lƠ thƠnh phần cấu thành
các toán tử hình thái (morphology) ph c t p h n lƠ phép co nh phân
(erosion) và phép giãn nh phân (dilation).
2.1.2.1 Khái ni m c b n
Ta đư đ nh nghĩa nh nh phân là t p h p các điểm nh có t a độ (x,y).
Chúng ta còn có đ nh nghĩa khác v nh, theo quan sát thì có thể xem nh
nh t p h p các t a độ r i r c hoặc liên t c.
Theo một đ nh nghĩa nƠo đó thì, t p h p nƠy t ng ng v i các điểm
nh thuộc v các đối t ng hi n h u trong nh. Hình 2.3 thể hi n nh vƠ đối
t ng trong nh trong h tr c t a độ (x,y).

Hình 2.3

nh vƠ đối t

ng trong nh.


Hình 2.3 cho thấy hai đối t ng, hay hai t p h p A và B trong nh.
đơy ta cần ph i xác đ nh h tr c t a độ nh trong hình, quan tơm đ n giá tr
các điểm nh cấu thƠnh lên đối t ng trong nh vƠ đ c gi i h n trên không
gian r i r c Z2 .
Đầu tiên, ta có A là một t p h p trong không gian r i r c Z2 . Nếu a =
(a 1, a2 ) là một phần tử c a t p h p A thì ta có thể vi t nh sau:
(2.1)
Nh th , n u a không ph i là một phần tử c a t p h p A thì ta vi t:

12


(2.2)
Các phần tử c a t p h p có liên quan đ n trong phần này là nh ng
t a độ c a các pixel đ i di n cho đối t ng hoặc các đặc tr ng khác đ c
quan tâm trong một hình nh.
N u mỗi phần tử c a t p h p A cũng lƠ một phần tử trong t p h p B
thì ta có thể nói A là t p con c a B, vƠ đ c biểu th nh sau:
(2.3)
H p (Union) c a hai t p h p A và B là t p h p c a các phần tử thuộc
A, B hoặc c A vƠ B, đ c biểu th nh sau:
(2.4)
Nh v y giao (Intersection) c a hai t p h p A và B là t p h p các
phần tử thuộc c A vƠ B, đ c biểu th nh sau:
(2.5)
Hai t p h p A và B tr thành không giao nhau (Disjoint) hoặc lo i tr
lẫn nhau ( Mutually exclusive) n u chúng có chung các phần tử, nh trong
tr ng h p sau:
(2.6)


Hình 2.4 Quan h gi a hai t p h p.
a) Giao gi a t p h p A và t p h p B; b) H p gi a t p h p A và t p
h p B; c) Phần bù tuy t đối c a A; d) Phần bù t ng đối c a t p h p A trong
t p h p B ( Phép tr hai t p h p A và B).
Phần bù tuy t đối (complement) c a một t p h p A là t p h p các
phần tử không bao gồm các phần tử trong A:
13


(2.7)
Phần bù t ng đối (difference) c a t p h p A trong t p h p B đ c
biểu th là Aậ B nh trong biểu th c sau:
(2.8)
V i w là t p h p các phần tử thuộc t p h p A nh ng không thuộc t p
h p B, khái ni m nƠy đ c minh h a trên Hình 2.4(d). Phần có màu là k t
qu c a phép toán gi a hai t p h p.
Sau đơy lƠ hai đ nh nghĩa cần bổ sung vì nó đ c sử d ng rộng rãi
trong phép toán hình thái, nh ng nói chung lƠ vẫn ch a tìm đ c cái căn b n
trên thuy t t p h p.
2.1.2.2 Phép giãn nh phân (Dilation).
T p h p B th ng thì đ c coi nh lƠ một phần tử cấu trúc
(structuring element) trong giãn nh phơn, cũng nh trong các phép toán hình
thái khác, t p h p A là t p h p các phần tử c a hình nh gốc.



V i A và B là các t p h p trong Z2, thì phép giãn nh phân c a A theo
c đ nh nghĩa qua công th c sau:

(2.9)

Nh v y phép giãn nh phân c a t p h p A b i phần tử cấu trúc B là
t p h p c a tất c các điểm z (z lƠ tơm điểm c a phần tử cấu trúc B trên t p
h p A) sao cho ph n x c a Bz giao v i t p A t i ít nhất một điểm. Hay nói
cách khác, phép giãn nh phân là s chồng chéo t ít nhất một phần tử t
ph n x c a phần tử cấu trúc B v i t p h p A. Đồng th i các phần tử này
ph i là t p con c a t p h p [A].
Phép giãn nh phân c a t p h p A b i t p h p B là tồn t i các điểm w
thuộc Z2 sao cho w là tổng c a hai điểm t ng ng bất kỳ thuộc t p h p A và
t p h p B, đ nh nghĩa nƠy đ c mô t qua công th c :
(2.10)
Tổng quát h n, n u A là một hình nh và B là phần tử cấu trúc có tâm
điểm nằm trên hình nh A, khi đó phép giưn c a hình nh A b i phần tử cấu
trúc B có thể đ c hiểu nh quỹ tích c a các điểm đ c ph b i phần tử cấu
trúc B khi tơm điểm c a B di chuyển trên c nh c a hình nh A.

14


Hình 2.5 Phép giãn nh phân.
Hình 2.5a gồm:
+ T p h p A có hai c nh bên kích th

c là d.

+ Phần tử cấu trúc vuông B kích th c d/4, tr ng h p này thì phần tử
cấu trúc B vƠ t ng ph n c a nó bằng nhau vì B có t p h p các phần tử đối
x ng nhau qua tơm điểm (dấu chấm đen gi a).
+ Cuối cùng là k t qu c a phép giãn nh phân gi a t p h p A và phần
tử cấu trúc B.
Hình 2.5b cũng gồm nh ng thành phần t ng t nh ng v i phần tử

cấu trúc B là hình ch nh t, nh ng cho ta một k t khác. Nh v y, mỗi kiểu
phần tử cấu trúc khác nhau s cho ta một k t qu khác nhau, sau khi thu t
toán đ c th c thi.
Để th c t hóa nh ng lý thuy t đư nêu trên, ta coi nh ng phần tử cấu
trúc nh một mẫu sẵn và d ch chuyển t nh ti n trên b mặt hình nh. Khi gốc
c a phần tử cấu trúc (chấm đen tơm điểm) kh p v i điểm nh t i c nh c a
hình nh thì các điểm nh t ng ng v i v i gốc này s đ c đánh dấu và
thay th . Sau khi toàn bộ điểm nh đư đ c quét qua b i phần tử cấu trúc thì,
thao tác giãn hình nh đ c hoàn tất.
Một ví d v phép giãn trên một hình nh nh phân sử d ng phần tử
cấu trúc d ng ma tr n vuông 3x3 nh sau:
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.
ví d trên ta các điểm nh màu tr ng mang giá tr lƠ 1 lƠ các điểm
thuộc đối t ng đang cần quan tâm trên nh, và phần mƠu đen mang giá tr 0
là phần nằm ngoƠi đối t ng. Khi thu t toán đ c thi hành thì phần tử cấu
trúc s lần l t quét qua các điểm nh ngoƠi cùng (đi theo đ ng kẻ mƠu đỏ
trên hình v ) c a đối t ng sau đó thay th các điểm nh trên đối t ng này
theo mẫu phần tử cấu trúc. T đó ta ng d ng để nối các nét b đ t gẫy c a
văn b n do quá trình xuống cấp, v i kho ng cách l n nhất c a các nét b đ t
gãy tầm hai điểm nh.
2.1.2.3 Phép co nh phân (Erosion).
Ta cũng xét t p h p A và t p h p B (phần tử cấu trúc) trong Z2 , thì
phép co nh phân c a t p h p A b i phần tử cấu trúc B đ c kí hi u
và vi t d i d ng công th c nh sau:
(2.11)
V i
(2.12)

Phép co nh phân c a t p h p A b i phần tử cấu trúc B là t p h p các
điểm z (z nằm tơm điểm c a phần tử cấu trúc B) sao cho Bz là t p con c a
A.
Xét hình v sau:

16


Hình 2.7 Phép co nh phơn trên hai đối t

ng

Hình 2.7a bao gồm:
+ T p h p A có hai c nh bên kích th
+ Phần tử cấu trúc vuông B kích th
tơm điểm).

c là d.
c d/4 (dấu chấm đen

gi a là

+ Cuối cùng là k t qu c a phép co nh phân gi a t p h p A và phần
tử cấu trúc B.
Phần có màu nh t h n lƠ k t qu sau khi th c hi n co hình nh b i
phần tử cấu trúc B. Hình 2.7b gồm nh ng thành phần t ng t nh ng v i
phần tử cấu trúc B là hình ch nh t, và cho ta một k t qu khác.
V y phép co nh phân c a nh A v i phần tử cấu trúc B là quỹ tích các
điểm đ c t o ra b i tơm điểm c a phần tử cấu trúc B khi t nh ti n trên hình
nh A.

Phép co nh phân và giãn nh phân có thể đ c v i nhau qua phép bù
và phép ph n x c a t p h p, lu n lý này s đ c minh h a qua công th c
sau:
(2.13)

17


×