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

Ứng dụng xử lý hình ảnh nhận dạng đường đi cho ôtô chạy tự độ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 (3.69 MB, 113 trang )

vi

MC LC
Trang ta Trang
QUYTăĐNHăGIAOăĐ TÀI
XÁCăNHNăCAăCÁNăBăHNGăDN i
LÝ LCH KHOA HC ii
LIăCAMăĐOAN ii
LI CM T iii
TÓM TT iv
MC LC vi
DANH SÁCH CÁC CH VIT TT x
DANH SÁCH CÁC HÌNH xi
Chngă1 TỌ
̉
NGăQUAN 1
1.1. Tô
̉
ngăquanăchungăvêălố
̃
nhăv
̣
cănghiênăc

u 1
1.1.1. Gii thiu 1
1.1.2. ng dng phát hinălƠnăđng trên các hãng xe 5
1.2. Các kt qu nghiên cuătrongăvƠăngoƠiăncăđƣăcôngăb 6
1.2.1. Các k qu nghiên cuătrongănc 6
1.2.2. Các kt qu nghiên cuăngoƠiănc 7
1.3. Mcăđíchăcaăđ tài 7


1.4. Nhim v caăđ tài và gii hnăđ tài 8
1.4.1. Nhim v 8
1.4.2. Gii hnăđ tài 8
1.5.ăPhngăphápănghiênăcu 8
Chngă2ăăCăS LÝ THUYT 10
vii

2.1. Lý thuyt tổng quan v x lý nh 10
2.1.1. X lý nh s là gì ? 10
2.1.2. Biu din mt nh s 11
2.1.3. Các vnăđ căbn trong x lý nh 19
2.1.4.ăBiênăvƠăcácăphngăphápăphátăhin biên 26
2.1.5. Các mô hình màu 26
2.2. Binăđổi Hough (Hough Transform) 30
2.2.1. BinăđổiăHoughăchoăđng thẳng 30
2.2.2. BinăđổiăHoughăchoăđng thẳng trong taăđ cc 32
Chngă3ăăPHN MM NG DNG 33
3.1. Matlab 33
3.1.1. Gii thiu Matlab 33
3.1.2. Các thành phnăcăbn ca Matlab 34
3.1.3. Malab GUI 42
3.1.4.ăPhơnăđonăvƠătáchăđng vin trong Malab 44
3.1.5. Binăđổi Hough trong MATLAB 45
3.2. Image Acquisition Toolbox 50
3.2.1. Chcănĕng 50
3.2.2.ăCácăbc thu thp hình nhăcăbn 51
3.3. Computer Vision System Toolbox 54
3.3.1. Chcănĕng 54
3.3.2. Các hàm x lí video 54
3.4. Image Processing Toolbox 61

3.4.1.ăĐc nh 61
viii

3.4.2. Hin th nh 61
3.4.3. Ghi nh 62
3.4.4. Chuynăđổi gia các lp nh và các loi nh 63
Chngă4ăăCHNGăTRỊNHăĐIU KHIN 64
4.1. Mô hình tổng quát 64
4.2. Chn và thit lp camera 65
4.3.ăMôăhìnhăđng và phm vi quan sát 66
4.4. Tin trình x lí nh 66
4.4.1.ăXácăđnh duăphơnăcáchălƠnăđng 66
4.4.2.ăXácăđnh du phân cách trái ậ phiăvƠăchènăđánhăduălƠnăđng 69
4.4.3. Xut tín hiu 69
4.5. Lp trình giao din 71
4.5.1. Cácănútăđiu khin 71
Chngă5ăăTHC NGHIMăVÀăĐÁNHăGIÁ 73
5.1. D liu thc nghim 73
5.1.1.ăĐaăđim thc nghim 73
5.1.2. V tcăđ x lí 73
5.2. Các hình nh chy th nghimăchngătrình 74
5.3.ăPhngăphápăđánhăgiáăvƠătiêuăchíăđánhăgiá 75
5.4. Tiêu chí v tcăđ 75
5.5.ăĐánhăgiáăv đ chính xác 76
5.6.ăĐánhăgiáăv s sai lch 76
Chngă6ăăKT LUN 78
6.1. Kt qu đtăđc caăđ tài 78
ix

6.2. Nhng vnăđ còn tn ti 78

6.3.ăHng phát trinăđ tài 79
TÀI LIU THAM KHO 80
Các trang Web. 82
PH LC 83
A.ăChngătrìnhăchính. 83
B.ăXácăđnh du ch lƠnăđng. 90
C. Xácăđnh du phân cách trái / phi. 91
D. Nút Start Webcam. 93
E. Nút Detection & Tracking. 94
F. Nút Stop. 101
G. Nút Exit. 102
H. Nút Connect. 102
I. Nút Send. 105


x

DANH SÁCH CÁC CH VIT TT

MATLAB Maxtrix Laboratory
CMU Carnegie Mellon University
MIT Massachusetts Institute of Technology
DARPA Defense Advanced Research Projects Agency
HDTV High-definition television
ROI Regions of Interest
RGB Red, Green, Blue
HSL Hue, Saturation, Luminance
2D Two Demension
TIFF Targed Image File Format
JPEG Joint Photographics Experts Group

GIF Graphics Interchange Format
BMP Window Bitmap
PNG Portable Network Graphics
XWD X Window Dump
PCX Personal Computer Exchange
CMY Cyan, Magnenta, Yellow

xi

DANH SÁCH CÁC HÌNH

Hình 1.1: Minh ha các mc tiêu khác nhau trong bài toán phát hinălƠnăđng 2
Hình 1.2: Nhng ví d v các tình hung trong bài toán phát hinălƠnăđng 3
Hình 1.3: Mô hình tổng quát gii quyt bài toán phát hinălƠnăđng. 5
Hình 1.4: Hê
̣
ăthôngăh tr
̣
ăla

năđ

ng. 5
Hình 2.1: nhătngătăvƠănhăsăhóa 11
Hình 2.2: Điê
̉
măquiăchiêuăkhôngăgianăcu
̉
aăđiê
̉

măa
̉
nhă(0,0). 12
Hình 2.3: nh nh phân 13
Hình 2.4: nh xám hóa 14
Hình 2.5: nh màu RGB trong Matlab. 15
Hìnhă2.6:ăĐim nh  trong mt min lân cn. 16
Hình 2.7: Ly mu hình ch nht liên thông. 16
Hình 2.8: CácăbcăcăbnătrongămtăhăthngăxălỦănhă 19
Hình 2.9: Biu din nh bằng ma trnăđim 20
Hìnhă2.10:ăSăđ chung ca h thng nhn dng. 23
Hình 2.11: nhăthuănhơ
̣
năva

ăa
̉
nhămongămuôn 24
Hình 2.12: Các mô hình màu 27
Hình 2.13: Hê
̣
ăto
̣
aăđô
̣
ăma

uăRGB 28
Hình 2.14: Mô hình màu HSV 29
Hình 2.15: Bng ch s giá tr 0 31

Hìnhă2.16:ăĐng thẳng Hough trong h taăđ Đ-các 32
Hình 3.1: Giao din khi khiăđng 33
Hình 3.2: Ca sổ làm vic 35
Hình 3.3: Ca sổ GUIDE Quick Start. 42
Hình 3.4: Ca sổ tngătác. 43
Hình 3.5: nhătáchăbiên. 45
Hình 3.6: nh góc mchăđin. 46
Hình 3.7: Dùng binăđổi Hough. 47
xii

Hình 3.8: Kt qu dùng houghpeaks 48
Hình 3.9: KtăquăsădngăhƠmăhoughlines. 50
Hình 3.10: Măfileăvideoădùngăvision.VideoPlayer. 55
Hìnhă3.11:ănhăcngăđ 57
Hình 4.1: Mô hình tổng quát. 64
Hình 4.2: Mô hình c th. 65
Hình 4.3: Vùng quan tâm. 67
Hình 4.4: nhăđc trích xut 67
Hình 4.5: Hình gii hn quan sát. 68
Hình 4.6: nhăcngăđ. 68
Hình 4.7: nh nh phân 68
Hìnhă4.8:ăChngătrìnhămôăphỏng Proteus. 70
Hìnhă4.9:ăChngătrìnhăto Virtual Serial Port Driver. 70
Hình 4.10: Giao dinăngi dùng. 71
Hình 4.11: Giao din. 72
Hình 5.1: V tríăkhiăđiăđúngălƠnăđng 74
Hình 5.2: Lch trái. 74
Hình 5.3: Lch phi 75
Hình 5.4: Sai lch do du ch đngăầầầầầầầầầầầầầầầầầ 77



1

Chngă1
TỌ
̉
NGăQUAN

1.1. Tô
̉
ngăquanăchungăvê

ălố
̃
nhăv
̣
cănghiênăc

u
1.1.1. Gii thiu
Nhn dng đngăđi là mt trong nhng vnăđ rt quan trng trong nhiu
ng dng v các h thng h tr giao thông t đng,ăđặc bit trong các h thngăđu
khin xe t đng. Cùng vi s phát trinăvt bc vtăđ x lý ca máy tính, giá
thành ca các thit b h tr ngày càng gim thì các nghiên cu v h thngăđiu
khin xe t đngăngƠyăcƠngăđc phát trin cùng vi s phát trin ca h thng giao
thôngă thôngă minh.ă Đƣă cóă nhiu nghiên cu tp trung vào bài toán phát hin làn
đng và mt s kt qu bcăđuăđt đc đã cho thy nhng tín hiu kh quan.
Trong bài toán phát hinălƠnăđng có 3 loi mc tiêu chính là: (i) cnh báo khi
chuynălƠnăđng, (ii) h tr ngi trong quá trình lái xe, và (iii)ăđiu khin xe t
đng.

i) Hệ thống thông báo khi chuyển làn đường
1
: Trong mc tiêu này, yêu cu
đặt ra là h thng phiă thôngă báoăđcă khiă xeăthayăđổiălƠnăđng. Vnăđ quan
trng nht cn gii quyt  đơyălƠălƠmăsaoăd đoánăđc chính xác quỹ đo ca xe
tngăng viăđng biên caălƠnăđng.
ii) Hệ thống hỗ trợ người điều khiển xe
2
: Trong mc tiêu này, vnăđ quan
trngălƠăgiúpăngiăđiu khinăxeăchúăỦăđcălƠnăđng d dƠngăhn.ăHayănóiăcáchă
khác,ăngiăđiu khin s đc h thng giăỦăcácălƠnăđng. Hu ht các nghiên
cuăđu tp trung  mc tiêu này.
iii) Hệ thống hỗ trợ điều khiển xe tự động
3
: Vi mc tiêu h tr điu khin
xe t đng, yêu cuăđặt ra là h thng cnăđaăraăđcălƠnăđng sp ti mà xe s di


1
Lane-Departure-Warning Systems
2
Driver-Attention Monitoring Systems
3
Automated Vehicle-Control Systems
2

chuyn. Vnăđ quan trngăđi vi mc tiêu này là hn ch đc sai s tính toán
trong vicăcălng v trí caăxeăvƠălƠnăđng.

Hình 1.1: Minh ha các mc tiêu khác nhau trong bài toán phát hing

a) Mng. b) Mc tiêu h tr u khin xe. c)
Mu khin xe t ng. [1]
Trongăca

cămu
̣
cătiêuătrên , mc tiêu phc v cho h thngă điu khin xe t
đngăđcăđánhăgiáălƠăkhóănht. Hin tiăhng nghiên cuănƠyăđangăthuăhútăđc
nhiu s quan tâm ca các nhóm nghiên cu,ătrongăđóăcóăc nhng nhóm lnănhă
nhóm ca CMU
4
, hay nhóm ca MIT
5
vi nhng cuc thi lnănhăDARPA.ăNghiênă
cu caăđ tài nằm ch yu  mc tiêu này.
Tuy vy vn còn nhiuăkhóăkhĕnătn ti trong vic gii quyt bài toán vi
mcătiêuănƠyănóiăriêngăcũngănhătoƠnăb bài toán phát hinălƠnăđng nói chung.
Cácăkhóăkhĕnăcóăth ch raănhăsau:
- Phn ln yêu cuăđòiăhỏi ng dng phi x lý  thi gian thc. Trong rt
nhiu nghiên cu,ănhă [2] các kt qu đtăđc khá tt, tuy nhiên nghiên
cu này vnăchaăthcăthiăđc trong thi gian thc.


4
Carnegie Mellon University
5
Massachusetts Institute of Technology
3

- S khóăkhĕnădoăcácăduăphơnăcáchălƠnăđng (lane-marking) không rõ nét

hoặc b che lpầăCácăvíăd nƠyăđc th hinătrongăHìnhă1.2ăđc ly từ kt
qu kho sát ca McCall và cng s trong [1].

Hình 1.2: Nhng ví d v các tình hung trong bài toán phát hing
ng b che bi bóng nng
không rõ nét. d) ng kt hp nhiu long b che bi bóng
ng hoàn toàn b mt du. [1]
4

- Sự phức tạp của địa hình. Trong phn ln các nghiên cuănhă[3], [4], [5],
[6], [7], và [8]ăđu gi đnh mặtăđng cn x lý là phẳng.ăChoăđn thiăđim
thc hinăđ tài, có rt ít nghiên cuănhă [9] là tip cnătheoăhng toàn b
đng theo dng 3 chiu.
- Độ cong của làn đường: Đ cong caălƠnăđng là mt phn rt quan trng
cho vic gii quyt bài toán. Mt s nghiên cu gi đnhălƠnăđng ch là
nhngăđon thẳngănhă [8], hay là nhngăđng cong B-splineănhă [2].
Mt s khác, ch xétălƠnăđngănhănhngăđngăcongăcóăđ cong rt nhỏ
nhă [9] vƠă [10].ă Đ đtă đc gi đnh này, các nghiên cuă đƣă tin hành
chuyn nh sang chiu nhìn từ trên xung (top-downăviewăhayăcònăđc gi
lƠăbird‟săeyeăview)ănhă [10], [5], [7], và [8].
- Các tình huống phức tạp: khi gặp giao l, hoặcăkhiălƠnăđngăthayăđổiăđ
ln,ăhayălƠnăđngăphơnăđôiăhoặp ghép liầăchoăt

iăth

iăđiê
̉
măth
̣
căhiê

̣
năđêă
tƠi, vơ
̃
năchaăth y có nghiên cu nào tip cnăđn vic gii quyt các tình
hung này.
Vì nhngălỦădoăkhóăkhĕnăk trênăcũngănhătm quan trng ca bài toán, vn
đ đặtăraăchoăđ tƠiălƠătìmăraăphngăphápăhiu qu đ có th mt mặt thcăthiăđc
trong thi gian thc, mặt khác gii quytăđc phn lnăcácăkhóăkhĕnăk trên,ăđặc
bit h tr đc cho mc tiêu ng dng vào h thngăđiu khin xe t đng.
Môăhố

nhătô
̉
ngăqua

tăgia
̉
iăquyê

tăvơ

năđê

.
5


Hình 1.3: Mô hình tng quát gii quyt bài toán phát hing [9]
1.1.2. ng dng phát hinălƠnăđng trên các hãng xe


Hình 1.4: 



 





 [28]

̣
ăthôngăhô
̉
ătr
̣
ăla

năđ

ngăco

ăthê
̉
ăhô
̉
ătr
̣

ăva

ăca
̉
nhăba

oăkhiăng

iăla

iăxeăvôăy

ăr


khỏiălƠnăđngăhoặcăchuynălƠnăđngămƠăkhôngăcóătínăhiu . Trênăca

cătuyênăđ

ngă
dƠi, ng

iăla

iăco

ăthê
̉
ăvôătố


nhăđê
̉
ăchiêcăxeătrôiăraălêăđ

ngăhoĕ
̣
căquaăla

năđ

ngăkha

c .
Điêuăna

yădê
̃
ăgơyănênătaiăna
̣
năb
̉
iăkhiăng

iăla

iăpha

tăhiê
̣
năra, hăthngăhongăht.

6


̣
tăsôănha

ăsa
̉
năxuơtăđa
̃
ăpha

tătriê
̉
năcôngănghê
̣
ăca
̉
nhăba

oăng

iăla

iăxeăkhiăxeădiă
chuyê
̉
năgơnăt

iăva

̣
chăke
̉
ăđ

ngăbĕngăơmăthanhăhoĕ
̣
cărungătayăla

i , hoĕ
̣
căhô
̉
ătr
̣
ăđiêuă
khiê
̉
nătayăla

iăđê
̉
ăgi
̃
ăchoăxeăđiăđu

ngăla

năđ


ng . CácănhƠăsnăxutărtăquanătơmătiă
ng

iăla

iătrongăca
̉
nhăba

o, nênămô
̣
tăva

iăha
̃
ngăxeăchố
̉
ăca
̉
nhăba

oă
̉
ătôcăđô
̣
ăcao.

̣
ăthôngăđ
̣

căth
̣
căhiê
̣
năb
̉
iăca

căcameraăgĕnătr

căgngăchiêuăhơ
̣
uăđê
̉
ătheoă
dỏiălƠnădngăđcăđánhăduăbiăcácăvchăchăđng . Hiê
̣
uăqua
̉
ăcu
̉
aăhê
̣
ăthôngăna

yăse
̃
ă
gimănuăthiătităxu, víăd nhătr


iămaăhoĕ
̣
căco

ătuyêt.

̣
tăsôăha
̃
ngăxeăs
̉
ădu
̣
ngăLaneăSupportăSystemsăđiê
̉
năhố

nh:
- Skoda: Skoda Lane Assistant (2013) trên xe Skoda Octavia 2013.
- Audi: Audi Active Lane Assist (2012) trên xe Audi A3.
- Ford: Ford Lane Keeping Aid (2011) trên xe Ford Focus 2012, Ford Lane
Keeping Alert (2012) trên xe Ford Transit Custom 2012.
- Seat: Seat Lane Assist (2012) trên xe Seat Leon 2012.
- Infiniti: Infiniti Lane Departure Prevention (LDP) (2011) trên xe Infiniti FX
2009.
- Opel: Opel Eye (2010) trên xe Opel/Vauxhall Astra GTC 2011, insignia,
Zafiratourer.
- Volkswagen: Volkwagen Lane Assist (2010) trên xe Golf, Passat 2005.
Và gnăđơyănht là hai hãng xe ni ting là Mercedes-BenzăvƠăNissanăđƣăth
nghim xe t lái trên S500 Intelligent Drive và Nissan Leaf. D kin s tung ra th

trng trong thi gian sm nht. [30]
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 qu nghiên cuătrongănc
 nc ta, nn công nghip ô tô phát trinăchaămnh so vi s phát trin
ngành này nhă nc trong khu vc và trên th gii.ăĐiu kinăđngăsáăcũngănhă
các h thng giao thông thông minh phát trinăchaăđúngămc,ăvƠăđúngăchun. Do
đó, cho ti thi đim này chaăcó mt công trình nghiên cu nào v nhn dng làn
đng cho ô tô chy t đng  Vit Nam đc công b.
7

1.2.2. Các kt qu nghiên cuăngoƠiănc
Trên th giiăđƣăcóănhiu nghiên cu v nhn dngălƠnăđng cho ô tô vi
nhiu mcăđíchăcũngănhăs dngăcácăphngăphápătip cnăkhácănhau.ăTrongăđó,ă
đin hình là các nghiên cu ca Nicholas Apostoloff và Alexander Zelinsky viăđ
tƠiă ắRobustă visionă basedă laneă trackingă usingă multipleă cuesă andă particleă filtering"ă
nĕmă2003.ăNichlasăvƠăAlexandeăđƣăs dngăhaiăphngăphápăđóălƠăParticleăfilteringă
vƠăMultipleăcuesăđ phát hinăbiênăcũngănhătheoădỏiălƠnăđng. [3]
Nghiên cu ca M. Bertozzi và A. Broggi v đ tài "GOLD: A parallel real-
timeăstereoăvisionăsystemăforăgenericăobsăaăleăandălaneădetection"ănĕmă1998.ăThuă
thp d liu song song caăcameraăđ phát hinălƠnăđngăcũngănhăchng ngi
vt da trên hàng lot b lc hình thái hcăđ đaăraăcnhăbáoăchoăngi lái xe.[4]
Nghiên cu ca ZuWhan Kim v đ tài "Realtime Lane Tracking of Curved
Local Road" công b nĕmă2006ă s dng kỹ thut Particle Filtering và thut toán
RANSACă(RANdomăSAmpleăConcensus)ăđ phát hinălƠnăđng.[5]
Nghiên cu ca Stephan Sehestedt, Sarath Kodagoda, Alen Alempijevic và
Gamini Dissanayake v đ tài "Robust Lane Detection in Urban Environments"
nĕm 2007 cũng s dng kỹ thut Particle Filtering bằng công c Ora2/C++ăđ phát
hinălƠnăđng.[8]
Nghiên cu ca Jiang Ruyi, Klette Reinhard và Vaudrey Tobi, Wang
Shigangă đƣă s dng kỹ thut Particle Filtering và Phép Bină đổi khong cách

Euclideană đ phát hin và theo dỏiă lƠnă đngă trongă đ tƠiă ắLaneă detectionă andă
trackingăusingăaănewălaneămodelăandădistanceătransformă”ănĕm 2011.[11]
ắReal-time lane tracking using Rao-Blackwellizedă particleă filter”ă lƠă đ tài
đc công b nĕmă2012ăcaăMarcosăNieto,ăAndoniăCorte‟s, Oihana Otaegui, Jon
Arro‟spide và Luis Salgado. Nghiên c đƣăs dngăphngăphápăRao-Blackwellized
particleăfilteră(RBPF)ăđ phát hinălƠnăđng và x lý trong thi gian thc.[12]
1.3. Mcăđíchăcaăđ tài
Công ngh xe t láiăđcăchoălƠăanătoƠnăhn,ăđnăgin vì máy móc hotăđng
nhanh hnăconăngi. S khung hình mi giây mà mtăthng chúng ta nm bt ít
8

hnămt máy quay tcăđ cao, não chúng ta x lý d liu và phn ng chmăhnă
CPUămáyătính.ăVƠăchơnătayăconăngi thua xa v tcăđ làm vic so vi nhngăcă
cuăđin t.
 VităNam,ăcăs h tngăgiaoăthôngă đangădnăđc ci thin. Vic xây
dng mt h thng giao thông thông minh là vnăđ cp thit trong công cuc công
nghip hóa, hinăđiăhóaăđtănc. Nghiên cu, xây dng các công c hổ tr cho h
thngăgiaoăthôngăthôngăminhătrongăđóăcóăphngătin giao thông thông minh là yêu
cu ca thiăđi. ng dng x lý nhăđ nhn dng đng đi cho ô tô chy t đng
nhằm mcăđíchăđó.
1.4. Nhim v caăđ tài và gii hnăđ tài
1.4.1. Nhim v
S dng các công c x lý nhăđ xây dngăchngătrìnhănhn dàng làn
đng cho ô tô chy t đng.
1.4.2. Gii hnăđ tài
- Nghiên cuătrênămôăhìnhăđng nha có duăphơnăcáchălƠnăđng.
- Các du phơnăcáchălƠnăđng là các vchăsnăthẳng.
- Vơnăđngăđng nht.
- B rng caălƠnăđng, tc là khong cách gia các duăphơnăcáchălƠnăđng
là hằng s.

1.5. Phngăphápănghiênăcu
Đê
̉
ăth
̣
căhiê
̣
năviê
̣
că

ngădu
̣
ngăx ălỦănhăđănhnăd ng đ

ngăđiăchoăôătôăcha
̣
y
t
̣
ăđô
̣
ng, h

ngătiêpăcơ
̣
năcu
̉
aăđêăta


iăđ
̣
căđêăxuơtăca

căb

cănhăsau:
1. Nghiênăc

uăca

căcăs
̉
ăly

ăthuyêt : LỦăthuytăvăxălỦănh , xe chyăt
̣
ăđô
̣
ng,
thamăkha
̉
oăva

ă

ngădu
̣
ngăca


căphngăpha

păcu
̉
aăca

căcôngătrố

nhănghiênăc


đa
̃
ăcôngăbô đăxơyădngămtăphngăpháp mangătố

nhăđô
̉
iăm

i.
2. TìmăhiuăcácăloiăcameraăvƠăxácăđnhăcácăthamăsăcaăcamera : Đơyăla

ă

̣
tăb

cărơtăquanătro
̣
ngăb

̉
iăđêăta

iăxơyăd
̣
ngătrênăcăs
̉
ă

ngădu
̣
ngăx
̉
ăly

ă
nh.
9

3. Nghiênăc

uăca

căcôngăcu
̣
ăx
̉
ăly

nhăphùăhpăđăthuăthpăvƠăxălỦ :

LabVIEW,ăMatlab,ăOpenCVầ
4. Thuănhơ
̣
năhố

nhăa
̉
nhăva

ăx
̉
ăly

ăd
̣
aătrênăca

căa
̉
nhăthuănhơ
̣
năđ
̣
c : Viêtăchngă
trìnhăthuăthpădăliuălƠăhìnhănhătừăcácăcameraăđănhnăbităcácăduăhiuă
phơnăca

chăđ

ngătrênăcăs

̉
ă

ngădu
̣
ngăca

căphơnămêmăx
̉
ăly

ăa
̉
nh.
5. Theoăvêtăla

năđ

ng : D
̣
aătrênăkêtăqua
̉
ăcu
̉
aăb

că 4 xơyăd
̣
ngăchngătrố


nhă
bámătheoăvtălƠnăđngăthôngăquaăbámăbiênăcaălƠnăđng.
6. Xơyăd
̣
ngăthuơ
̣
tătoa

năđiêuăkhiê
̉
n , chngă trìnhă nhn dngă đngă điă đ
xut tín hiuăđiu khin phn cng.



10

Chngă2ă
CăS LÝ THUYT

2.1. Lý thuyt tổng quan v x lý nh
ngădngăcaăxălỦănhărtărngătrongăcucăsng . TácăđngămnhămănhtălƠă
trongălố
̃
nhăv
̣
căy tê, anh ninh. Gơnăgu
̃
iăv


iăcuô
̣
căsôngăgiaăđố

nhăla

ăca
̉
iătiênăa
̉
nhătivi , x
̉
ă
lỦănhăsăcóătácăđngăquytăđnhăđnăvicăciăthinăchtălngăhìnhănhăcaăhă
truyênăhố

nhăco

ăđô
̣
ăphơnăgia
̉
iăcaoă(HDTV).
Ng

iăma

yăca

ngănga


yăca

ngăđ óngăvaiătròăquanătrngătrongăcôngănghipăvƠăgiaă
đố

nh. ChúngăsăthcăhƠnhănhngăcôngăvicănhƠmăchánăhoặcănguyăhim , vƠănhngă
côngăviê
̣
căma

ătôcăđô
̣
ăva

ăđô
̣
ăchố

nhăxa

căv
̣
tăqua

ăkha
̉
ănĕngăcu
̉
aăconăng


i . Khiăng


máyătrănênătinhăviă hn, thăgiácămáyătínhă (Computer Vision) săđóngăvaiătròăngƠyă
cƠngăquanătrng . Ng

iătaăse
̃
ăđo

iăho
̉
iăng

iăma

yăkhôngănh
̃
ngăpha

tăhiê
̣
năva

ănhơ
̣

dngăcácăbăphnăcôngănghip , mƠăcònăắhiu”ăđcănhngăgìăchúngăắthy”ăvƠăđaă
ra nh

̃
ngăha

nhăđô
̣
ngăphu

ăh
̣
p. X
̉
ăly

ăa
̉
nhăse
̃
ăco

ăta

căđô
̣
ngăl

năđênăthi
̣
ăgia

căma


yătố

nh.
Nhìnăchung, nh
̃
ngă

ngădu
̣
ngăcu
̉
aăx
̉
ăly

ăa
̉
nhăsôăla

ăvôăha
̣
n.
2.1.1. X lý nh s là gì ?
X lý nh s s dng các máy tính s,ăchúngăđc phát trinăđ đápăng ba
vnăđ chínhăliênăquanăđn các bc nh là :
- Số hóa và mã hóa các bc nhă đ đnă gin hóa quá các quá trình truyn
thông, in năvƠăluăgi nh.
- Cải thiện chất lượng và khôi phục ảnh đ hiu bit nhiuăhnăni dung thông
tin cha trong mi bc nh, chẳng hn nhăcácăbc nh chp b mặt các

hành tinh xa xôi do v tinh gi v hoặc các nh niăsoi,ăcôngăhng từ trong
kho sát y hc.
- Phân đoạn và mô tả ảnh, nhằm to nên các nhănhămt tín hiu li vào cho
mt h thng nhìn nhân to hoặcăđ tách các thông tin cha trong mt nh
thuăđc [13].ăPhơnăđon và mô t nhăcònăđc gi là lý gii nh.
11

Nhng ng dng ca lý gii nh bao gm th giác máy tính, rôbt và nhn
dng mc tiêu. Lý gii nh khác viăcácălĩnhăvc khác ca x lý nh  mt khía
cnh chính. Trong ci tin, phc hi và s hóa, mã hóa nh c đuăvƠoăvƠăđuăraăđu
là nh, và khâu x lý tín hiu là phn then cht trong các h thngăđƣăthƠnhăcôngă
trênălĩnhăvcăđó.ăTrongălỦăgii nh,ăđu vào là nhănhngăđu ra là mt biu din
bằng mt ký hiu ni dung ca nhăđu vào. S phát trin thành công ca h thng
trongălĩnhăvc này cnăđn c x lý tín hiu và nhng khái nim trí tu nhân to.
Trong h lý gii nhăđin hình, x lý nhăđc dùng cho công vic  mc thpănhă
làm gim s xung cp và trích ra nhngăđng biên (extraction of edges) hoặc các
đặc tính nh khác, còn trí tu nhân toăđc dùng cho nhng công vic x lý  mc
caoănhăthaoătácăkỦăhiu và qun lý tri thc [14].
Phơnăđon và mô t nh là lý thuyt quan trng trong vic thc hinăđ tài
„ng dng x lý nhăđ nhn dngălƠnăđng cho ô tô chy t đng‟
2.1.2. Biu din mt nh s
2.1.2.1. nh là gì ?
Mt bc nh là hình nhătngătrngă(hìnhănh o) ca mtăđiătng,ăngi
hoặc phong cnhăđc to bi mt thit b quang hcănhămt tmăgng,ămt ng
kính hoặc mt máy nh. Hình nhătngătrngăđóălƠăăhaiăchiu (2D) phn ánh th
gii thc ba chiu (3D) caăđiătng hay cnh vt.

Hình 2.1:  [15]
12


2.1.2.2. nh s là gì ?
Mt nh kỹ thut s (nh s) là mt biu din hai chiu ca mt hình nh s
dng mt s hu hnăcácăđimă đim nh, hay còn gi là phn t nh, pels hoặc
pixels.
Thôngăthng, nhăsôăđcăbiuădinăbiămaătrnăhai chiêu (2D) ca các s
thc. CácăphnătăcaănóălƠăbiuădinăchoăcácăpixelăsăhóa . Ta quiăc mô
̣
tăa
̉
nhăsô
hóa lƠ f(x,y) cho mt nhăđnăscăcóăkíchăthcăMxN,ătrongăđóăxălƠăs hàng (từ 0
đn M-1) và y là s ct (từ 0ăđn N-1).
(,  ) =

(0,0) (0,1)
 (0, 1)
(1,0)

(1,1)

 (1, 1)

(1,0) (1,1)
 (1, 1)

(2.1)

Hình 2.2: 










(0,0)
Giá tr ca hàm f(x,y) ti taăđ (x
o
,y
o
) là f(x
o
,y
o
)ăđc giălƠăcngăđ hay
mc xám ca nh tiăđim nhăđó.ăGiáătr ccăđi và cc tiu ca miăđim nh ph
thuc vào kiu d liuăvƠăquiăcăđc s dng. Phmăviăthôngăthng từ 0.0ă(đen)ă
đn 1.0 (trng) cho kiu double vƠă 0ă (đen)ă đn 255 (trng) cho kiu d liu
uint8.
13


̣
tăa
̉
nhăsôăco

ă3 thuô

̣
cătố

nhăcăba
̉
n: Đăphơnăgiiăcaănh , đô
̣
ăne

tăva

ăsôăl
̣
ngă
l

p. Trongăđo

, sôăl

pătrongăa
̉
nhătngă

ngăv

iăsôăma
̉
ngăđiê
̉

m nhăchaătrongănh .

̣
tăa
̉
nhăđenătrĕngăcó mt lp.
Trong Matlab, và các công c x lý nh ca nó đnhănghĩaăcácăđim nh bt
đu từ ch s 1.ăTaăquiăcăf(p,q)ăđ ch nh f(x,y) trong Matlab, biu din nh trên
tr thành:
(, ) =

(1,1) (1,2)
 (1, )
(2,1)

(2,2)

 (2, )

(, 1) (, 2)
 (, )


2.1.2.3. nh nh phân (1-Bit)
nh nh phơnăđcămƣăhóaănhămt mng hai chiuă(2D),ăthng s dng
1bit trên miăpixel,ătrongăđóă0ălƠăđenăvƠă1ălƠătrng.

Hình 2.3: nh nh phân [16]
2.1.2.4. nh xám
nhăxámăcũngăđc mã hóa nhămt mng 2D caăcácăđim nh.ăThng s

dng 8 bít cho miăpixel,ătrongăđóăđim nh có giá tr 0 th hinămƠuăđenăvƠă255ăth
hin màu trng và các giá tr trung gian hin th các sc thái khác nhau ca màu
xám.
14


Hình 2.4: nh xám hóa [16]
Trong Matlab, nhăcngăđ (nh xám) có th đc s dng da trên nhiu
kiu d liu khác nhau. Ví d, nhăđnăsc thuc kiu d liu uint8 và uint16 thì giá
tr miăđim nh nằmătrongăđon [0,255] và [0, 65535], nhăđnăsc thuc kiu
double thì giá tr mi pixel nằmătrongăđon [0.0,1.0].
2.1.2.5. nh màu

̣
tăa
̉
nhăma

uăthơ
̣
tăco

ă 3 lp ậ mô
̃
iălpăthayăchoătha

nhăphơnăma

uăđo
̉

ăla

ăRed ,
mƠuăxanhălcălƠăGreen, vƠămƠuăxanhălălƠăBlue.
Trongăa
̉
nhăma

uăthơ
̣
t , c

ngăđô
̣
ătha

nhăphơnăma

uăcu
̉
aăđiê
̉
măa
̉
nhăđ
̣
căma
̃
ăho



trongăbaăgia

ătri
̣
khácănhau. Mô
̣
tăa
̉
nhăma

uăla

ăs
̣
ăkêtăh
̣
păcu
̉
aăbaăma
̉
ngăđiê
̉
măa
̉
nhătngă
ngăviăcácăthƠnhăphnămƠuăRed , Green, Blue trong anh RGB. nhăHSLăđcăđnhă
rỏăbiăcácăgiáătrămƠuăscălƠăHue , s
̣
ăba

̉
oăho

aăla

ăSaturationăva

ăc

ngăđô
̣
ăsa

ng lƠă
Luminance.
Trong Matlab, nhămƠuăRGBătngăng vi mt mng 3 chiu (3D) MxNx3,
trongăđóăMăvƠăNălƠăs hàng và s ct, còn 3 th hin 2 lp màu.
15


Hình 2.5: nh màu RGB trong Matlab [16]
Mi pixel bao gm 3 giá tr mƠuăR,G,BănhăHình 2.5. nh RGB thuc lp d
liu double, thang giá tr nằm trong khongă [0.0,1.0].ă Trongă khiă đó,ă lp d liu
unit8 và uint16 có thang giá tr là [0,255] và [0,65535]. Mi pixel ca nh RGB có
giá tr là 24 bit (8 bit cho mi lp).
2.1.2.6. Các thut ng và mi quan h giaăcácăđim nh
nh Tô pô (Image Topology):ăăLiênăquanăđn vicăđiu tra các thucătínhăcă
bn ca nh,ăthng thc hin trên nh nh phân vi s tr giúp ca các toán t hình
thái. Chẳng hnănhăs ln xut hin ca mtăđiătng c th, s lổ hỏng ca mt
điătngầ

Hàng xóm (Neighborhood) : Gmăcácăđim nh xung quanh mtăđim nh
kho sát to thành vùng lân cn, có th xemănhălƠămt ma trn nhỏ hnăchaăđim
nh cn xem xét. Hu ht các min lân cnăđc s dng trong thut toán x lý nh
là ma trn vuông nhỏ vi mt s l đim nh, ví d 3x3
16


Hình 2.6: m nh  trong mt min lân cn [16]
Choăđim nh p (x,y) : 4 taăđ hàng xóm vi ct và hàng có taăđ lnălt
là (x+1, y), (x-1, y), (x, y+1), (x, y-1) ký hiu là tp N
4
(p) (Hình 2.7a).ă4ăđim nh
hƠngăxómătheoăđng chéo có ta đ lnălt là (x+1, y+1), (x+1, y-1), (x-1, y+1),
(x-1, y-1) ký hiu là tp N
D
(p) (Hình 2.7b). Tpă8ăđim nh hàng xóm là hp ca 2
tp trên: N
8
(p) = N
4
(p) + N
D
(p) (Hình 2.7c).

Hình 2.7: Ly mu hình ch nht liên thông [16]
Lân cn (Adjacency) : Khiăcácăđim nh hàng xóm có xét thêm mt vài yu
t khác ví d nhăphùăhp viăcngăđ đim. Đ cóăcĕnăc kim tra quan h mi
nƠyăngiătaăđnh ra mt tp giá tr tham chiuămƠăcácăđim nh gi là lân cn phi
có giá tr cùng thuc v tpăđó.ăVíăd vi mt nh nh phân ta có th đặt V={1}, có
nghĩaălƠătaăxétăcácăđim lân cn vi giá tr tham chiuălƠă1ă(cngăđ đim nhăđƣă

gi là lân cn vi nhau thì phi cùng có giá tr 1). Trong nhăđaămc xám, ta có th
đặt V cha nhiu giá tr hnănhăV={ăaă>=ă200ă&ăaă<=ă255ă}.ăCho p có taăđ (x, y)
- Lân cn 4 (4 - adjacency):ăhaiăđim nh p và q có giá tr thuc v tpăVăđc
gi là lân cn 4 ca nhau nu q thuc v tp N
4
(p)ă(đƣătrìnhăbƠyă trên).
17

- Lân cn 8 (8 - adjacency):ăhaiăđim nh p và q có giá tr thuc v tpăVăđc
gi là lân cn 8 ca nhau nu q thuc v tpăN8(p)ă(đƣătrìnhăbƠyă trên)
- Lân cn M (M - adjacency hay Mixed - Adjacency):ăhaiăđim nh p và q có
giá tr thuc v tpăVăđc gi là lân cn M ca nhau nuăthõaă1ătrongă2ăđiu
kin sau:
o q thuc v tp N
4
(p).
o q thuc v tp N
D
(p) và giao ca hai tp N
4
(p), N
4
(q) không chaăđim
nh nào có giá tr thuc V.
S khác bit gia lân cn M và lân cn 8 là lân cn M chính là lân cn 8 sau
khiăđƣăloi bỏ nhng liên kt phát sinh vòng.
Đng (Paths) : mtăđng niă2ăđim p(x
0
, y
0

) viăđim q(x
n
, y
n
) là mt tp
tun t cácăđim nh có taăđ lnălt là (x
0
, y
0
), (x
1
, y
1
), (x
2
, y
2
), , (x
n
, y
n
) trong
đóăhaiăđim lin k (x
i
, y
i
), (x
i
-1, y
i

-1) viă(1ă≤ăiă≤ n) có quan h lân cn, tùy theo
loi quan h lân cnăđc xem xét mà ta có các loiăđngă4ă(4ăPath),ăđng 8 (8
Path)ăhayăđng M (M Path).
- năđc giălƠăđ dài caăđng.
- Nuăhaiăđimăđu và cui caăđng trùng nhau, (x
0
, y
0
) = (x
n
, y
n
) thì ta gi
đóălƠăđng khép kín (Closed Path).
Kt ni (Connectivity) : Gi S là mt nhóm, tpăcácăđim nhănƠoăđóătrongă
mt hình (S có th là toàn b nh).
- Haiăđim nhăpăvƠăqăđc gi là kt ni vi nhau qua S nu tn tiăđng
giaăchúngăđc thit lp biăcácăđim nh thuc S.
- p nằm trong S, tpăcácăđim nh kt ni vi p và thucăSăđc gi là thành
phnăđc kt ni (connected component).
- Nu S ch có 1 thành phn kt ni,ăcóănghĩaălƠămiăđim nh thuc S thì kt
ni vi tt c cácăđim nh còn li. ta gi S là tp kt ni (Connected Set).
Vùng (Region of Image): Gi R là mt tpăđim nhănƠoăđóătrongăhình,ăRă
đc gi là vùng nh nu nó là mt tp kt ni thỏaăđnhănghĩaă trên.
18

- Hai vùng R
i
và R
j

đc coi là lân cn (Adjacency) nu hp ca chúng là mt
tp kt ni.
- Các vùng không lân cn (not adjacent) thì gi là disjoint.
- Cũngătngăt nhăviăđim nh vic xét vùng lân cnăcũngăcn s ch đnh
kiu 4, 8 hay M.
Đng bao (boundary):
- Là tpăcácăđim có quan h liên kt viăđim nằm trong tp bù ca vùng R.
- S khác bit giaăđng bao và cnh (edge) nằm  chổ, trong khi đng bao
lƠăđng khép kín (closed path) bao quanh vùng (region) vi mtăỦănghĩaă
toàn cc thì vin hay cnh liăđc xem xét là tp hp nhngăđim nh mà
tiăđóăxy ra s binăđng v giá tr cngăđ, mang tính cc b.
2.1.2.7. Khong cách giaăcácăđim nh
Có nhiu ng dng yêu cuăđoăkhong cách giaăcácăđim nh.ăCácăphngă
phápăđoăkhong cách phổ bin nht gia pixel p và q có taăđ (x
o
,y
o
) và (x
1
,y
1
)ănhă
sau:
 Khong cách Euclide:


(, ) =

(
1



)
2
+ (
1


)
2

 Khong cách D
4
(còn gi là Manhattan):

4

, 

=


1



+


1





 Khong cách D
8
(cònăđc gi là bàn c):

8

, 

= 



1



,


1





Chú ý rằng, khong cách gia các pixel ch ph thuc vào taăđ mà không

ph thuc vào giá trí ca chúng. [14]
2.1.2.8. H thng x lý nh s
Săđ tổng quát ca mt h thng x lý nh:

×