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.
Bđ
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