Đồ Án 2B
Mô Hình Xe Thông Minh
TÓM TẮT NỘI DUNG ĐÒ ÁN
1. NỘI DUNG
> Dùng Matlab nhận dạng trạng thái đèn giao thông là màu gì. Đổ
nhận biết được màu sắc của đèn giao thông càn trải qua 2 bước:
Bước 1: Tách biên dạng hình tròn của đèn giao thông.
Bước 2: Nhận dạng màu sắc của đèn giao thông trong biên hình
tròn đó.
> Từ Matlab xuất tín hiệu ra Vi Xử Lý (thông qua cổng COM) để điều
khiển xe.
2. KÉT QUẢ ĐẠT ĐƯỢC
v' Tìm hiểu về các bộ tách biên và sử dụng bộ tách biên Sobel để tách
được biên của đèn giao thông.
✓ Nhận dạng được màu sắc của đèn giao thông (xanh, đỏ).
s Xuất được tín hiệu từ Matlab ra cổng COM để điều khiển Vi Xử Lý
rồi từ Vi Xử Lý điều khiển xe (đèn xanh xe chạy, đèn đỏ xe dừng).
3. HAN CHẾ
Xe chạy được khoảng cách không xa chỉ khoảng 4m.
Trang 1
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Ngày........tháng.........năm.
Giáo viên hướng dẫn
Ký tên
NHẬN XÉT CỦA HỘI ĐỒNG GIÁM KHẢO
Ngày........tháng.........năm
Hội đồng
Ký tên
LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn tất cả các thày cô trường Đại Học Công
Nghiệp TP Hồ Chí Minh đã dạy dỗ, chỉ bảo chúng em trong suốt thời gian qua.
Chúng em xin chân thành cảm ơn thầy Trần Văn Trinh đã tận tình hướng
dẫn chúng em trong thời gian làm Đồ Án 2B.
Chúng tôi xin cảm ơn tất cả bạn bè đã giúp đỡ và cùng chúng tôi nghiên
cứu học tập.
Nhóm sinh viên thực hiện:
Lê Văn Hoan Nguyễn
Thành Luân
MỤC LỤC
PHÀN A: LÝ THUYẾT TỒNG QUAN
Trang 9
CHƯƠNG I: THUẬT TOÁN TÁCH BIỀN VÀ NHẬN DANG MÀU...............*
.............................................*.10
1. Giới thiêu về các bô tách biên....................................................10
••
1.1....................................................................................................................... Cơ
sở của việc tách biên.....................................................................................10
1.2....................................................................................................................... Bộ
tách biên Sobel.............................................................................................12
1.3....................................................................................................................... Bộ
tách biên Canny............................................................................................14
1.4....................................................................................................................... Bộ
tách biên Prewitt...........................................................................................16
1.5....................................................................................................................... Bộ
tách biên Roberts..........................................................................................17
1.6....................................................................................................................... Bộ
tách biên Laplace của hàm Gauss.................................................................17
2. Phương pháp nhận dạng màu....................................................18
2.1 Mô hình màu RGB.......................................................................................18
2.2 Mô hình màu CMY......................................................................................19
2.3 Mô hình màu CYMK....................................................................................19
2.4 Mô hình màu HSV........................................................................................20
2.5 Các kỹ thuật tái hiện ảnh...............................................................................20
CHƯƠNG II: TÌM HIỂU CHUNG VỀ PHÀN MỀM MATLAB.................... 22
1. Tạo giao diện người dùng nhờ công cụ GUIDE của
MATLAB................................................................................................22
2. Toolbox bắt ảnh...........................................................................25
2.1.
Nhiệm vụ của Toolbox.........................................................................25
2.2.
Các bước thu thập ảnh cơ bản của Toolbox........................................25
3. Toolbox xử lý ảnh........................................................................28
3.1.
Các loại ảnh trong MATLAB...............................................................28
3.1.1.
Anh chỉ số.................................................................................29
3.1.2.
Ảnh biểu diễn theo độ sáng......................................................29
3.1.3.
Anh nhị phân............................................................................30
3.1.4.
Ảnh RGB..................................................................................30
Đồ Án 2B
Mô Hình Xe Thông Minh
3.2. Các hàm xử lý ảnh cơ bản trong MATLAB..........................................31
3.2.1.
Đổi màu và loại ảnh.................................................................31
3.2.2.
Xử lý hình học..........................................................................32
3.2.3.
Lọc nhiễu..................................................................................32
3.2.4.
Phân tích ảnh............................................................................32
3.2.5.
Biến đổi ảnh.............................................................................32
CHƯƠNG III: Sơ LƯỢC cơ CHẾ HOẠT ĐỘNG CỦA MÔ HÌNH XE
THÔNG MINH...............................................................................................33
1. Sơ đồ tổng quát.......................................................................................33
2. Cơ chế hoạt động....................................................................................33
CHƯƠNG IV: Sơ ĐỒ NGUYỀN LÝ VÀ NGUYỀN LÝ HOẠT ĐỘNG
CỦA MẠCH.....................................................................................................34
1. Sơ đồ nguyên lý......................................................................................34
2.
Nguyên lý hoạt động..............................................................................34
PHẦN B: PHÀN MÈM ĐIỀU KHIỂN MÔ HÌNH XE
THÔNG MINH......................................................................................36
1. Lưu đồ giải thuật.....................................................................................37
2. Qúa trình xử lý ảnh.................................................................................38
2.1.
Xử lý video giao tiếp qua Webcam chụp lại ảnh trên mô hình...........38
2.2.
Chuyển ảnh màu dạng RGB thành ảnh mức xám...............................39
2.3....................................................................................................................... Tá
ch biên và loại bỏ các thành phàn nhiễu.......................................................40
2.4....................................................................................................................... Là
m phẳng nhị phân và lấp đày các lỗ hống....................................................41
2.5.
Xác định trọng tâm, biên, tính khoảng cách.......................................41
2.6.
Xác định màu của đèn giao thông.......................................................42
2.7.
Cửa sổ giao diện..................................................................................43
PHẦN C: KẾT LUẬN......................................................................44
PHẦN D: PHỤ LỤC....................................................46
1. Code của Callback..................................................................................47
2. Chương trình giao tiếp với vi xử lý........................................................55
Đồ Án 2B
3. Tài liệu tham
khảo
Trang
Mô Hình Xe Thông Minh
......................................56
Đồ Án 2B
Mô Hình Xe Thông Minh
LỜI MỞ ĐẦU
Hiện nay đất nước ta đang chuyển mình theo sự phát triển chung của thế
giới bằng việc Việt Nam đã gia nhập tổ chức kinh tế thế giới WTO. Đây là một
bước ngoặt quan trọng nhằm thúc đẩy nền kinh tế nước ta phát triển sánh vai với
các cường quốc năm châu.Với tốc độ phát triển như hiện nay chúng ta không chỉ
càn một lượng lao động khổng lồ mà còn đòi hỏi có trình độ, chất lượng tay
nghề, kỹ thuật lao động và thiết bị sản xuất. Mức độ phát triển của khoa học kỹ
thuật ngày càng cao thì vấn đề tự động hoá ngày càng được chú trọng.
Những năm gần đây MATLAB và các Toolbox kèm theo đã trở thành công
cụ không thể thiếu của các cán bộ nghiên cứu giảng dạy, sinh viên đại học, cao
học và nghiên cứu sinh thuộc các ngành khoa học kỹ thuật nước ta. Điều này có
được là do MATLAB cung cấp một công cụ tính toán và lập trình bậc cao dễ sử
dụng hiệu quả và thân thiện với người dùng. MATLAB cung cấp cho người sử
dụng các phương thức để thực hiện các mô phỏng trên máy tính, ngoài ra
MATLAB còn có thể giao tiếp với Vi Xử Lý, PLC,...cùng với các thiết bị phàn
cứng để thực hiện các ứng dụng vào thực tế. Vì vậy trong phạm vi hiểu biết của
mình, chúng em đã tìm hiểu và thực hiện đề tài “Mô hình xe thông minh”. Đây
là sự kết họp giữa MATLAB và Vi Xử Lý để điều khiển xe không người lái (xe
thông minh).
Trong quá trình thực hiện Đồ Án 2B cùng với sự nỗ lực của bản thân và áp
dụng những kiến thức được trang bị ở trường, chúng em đã có nhiều cố gắng để
thực hiện tốt Đồ Án. Tuy nhiên do kiến thức và khả năng còn có hạn nên khó
tránh khỏi những thiếu sót. Chúng em rất mong nhận được sự thông cảm và đóng
góp ý kiến của các thày cô trong hội đồng giám khảo để Đồ Án của chúng em
được hoàn chỉnh hơn. Xin chân thành cảm ơn.
TP. Hồ Chí Minh, ngày 03 tháng 11 năm 2010
Nhóm sinh viên thực hiện:
Lê Văn Hoan
Nguyễn Thành Luân
Trang 8
Đồ Ấn 2B
Mô Hình Xe Thông Minh
CHƯƠNG I
THUÂT TOÁN TÁCH BIÊN VÀ NHÂN DANG
MAU
1. GIỚI THIỆU VỀ CẤC Bộ TÁCH BIÊN
1.1.
Cơ sở của vỉêc tách bỉên
Biên là tập hợp những pỉxel (nằm trên đường hiên giới giữa 2 vùng) liên kết với nhau. Một biên lý tưởng có các
thuộc tính của mô hình ở hình 1.1
Hình 1.1: Mô hình biên ỉỷ tưởng
Mođel úf an klcìil cdjỉc
(ịfiiV‘lcuí prolik" «tf il hOTii/OAIal lim the
inta^c
Tuy nhiên trong thực tế các yếu tố như là chất lượng của hệ thống thu nhện hình ảnh, tốc độ lấy mẫu, điều kiện
chiếu sáng của mỗi bức ảnh,... ảnh hưởng đến chất lượng của hình ảnh. Vì vậy kết quả là biên gỉếng với một đoạn dốc được
thể hiện trong hình 1.2.
M«teỉ ol .1 ramp diÿital cdfLc
Trang 10
Đồ Ấn 2B
Mô Hình Xe Thông Minh
Gray-k vtl Ịirọfdc
MÍ .1 hnn/imial !inc ihrtmiỉhí lhtf iiTi.iịíc
Hình 1.2: Mô hình biên trong thực tế
Vì vậy chúng ta không bao giờ có một đường biên mảnh (có độ dày một pixel). Thay vào đó, một điểm biên bây
giờ là một điểm bất kì chứa trong đoạn dốc và biên là tập hợp những điểm liên thông. Độ dày của đường biên được xác
định bởi chiều dài của đoạn dốc, khi biên biến đổi từ đầu đến cuối mức xám.
Hình 1.3: Mô hình miêu tả độ dày của biên HÌNH 1.4 CHO THẤY ĐẠO HÀM BẬC 1 CỦA BIÊN
Trang 11
Đồ Án 2B
Mô Hình Xe Thông Minh
Hình 1.4: Mô hình miêu tả đạo hàm bậc 1 của biên
Từ hình vẽ ta thấy đạo hầm bậc 1 có giá trị 1 tại nơi biên được tách và
gỉá trị 0 tại nod biên không được tách. Vì vậy độ lớn của đạo hàm bậc 1 có thể
được sử dụng để phát hiện ra dấư hiệu của một biên tại một điểm trong hình
(nghĩa là xác định điểm đó có nằm trên dốc không).
1.2.
Bộ tách bỉên Sobel
Bộ tách biên Sobel sử dụng mặt lạ Sobel để tính các đạo hàm bậc nhất
Gx và Gy, nói cách khác đạo hàm tại điểm tâm trong một lân cận được tính theo
bộ tách Sữbel
g=[ T, trong đó T là một ngưỡng
được chỉ định.
Ví dụ: bw = edge (f, ‘sober, 10); % T = 10
imshow(bw);
Trang 12
*
Đê tính G x và Gy ta dựa vào mặt lạ Sobel
Z1
Zz
Zs
Z4
Zs
Ze
Z7
Za
Z9
Image neighborhood
-1
-1
2
1
0
1
1
0
2
0
1
-1
-2
0
0
0
1
-1
Sob
el
Gx = (z7 + 2 z8 + z9) - (Zj + 2Z2 + z3) G, = (z3 + 2Z6 + z9) - (Zị + 2Z4 + z7)
0
1
2
-2
-1
0
-1
0
I
-3
0
1
_2
-1
Q
0
t
2
Sobcl
CÚ pháp của bộ tách biên Sobel
[g, t] = edge (f, ‘sober, T, dừ) Trong đó: f
là ảnh đàu vào.
g là ảnh logỉc chúa giá trị 1 tại những nơỉ biên được tách và
chứa giá trị 0 tại những nơi biên không được tách.
T =t là ngưỡng được chi định (T=10,20,....). dir là hướng
cần tách biên: ‘ngang’, ‘dọc’ hoặc ‘chéo’. Ví dụ: Ảnh chúng ta cần tách biên là
một ma trận có dạng:
A=
110111
Ta
tính
1
1
0
được: |Gxi| = |3 -4| = 1; |Gyi| = |3 -2| = 1 Mặt lạ
Sobel: ỊGtíl = 2; \Gyz\ = 12 Khi đó Gx = Max (GX1,
Gtí)
Gy = Max (Gyl, Gy2)
=> g = (22 + 122)1/2= (148) m
1.3.
Bệ tách bỉên Canny
Bộ tách biên Canny có các đặc tính cơ bản: tìm biên bằng cách tìm các
cực đại địa phương của gradient f(x,y). Gradient được tính toán dùng đạo hàm
của bộ lọc Gauss. Phương pháp dùng hai ngưỡng để tách biên mạnh và yếu, gộp
các biên yếu ở ngõ ra chỉ khi chúng được kết nối với các biên mạnh. Do đó
phương pháp này thích hợp để tách các biên yếu thực sự.
Gy
\df1
õx
õf
ýy.
Hình 1.5: Ảnh đã được tách biên
Có thể tóm tắt phương pháp tách biên bằng bộ tách biên Canny như
sau:
♦ Ảnh được làm trơn bằng cách sử dụng một bộ lọc Gauss với độ
lệch chuẩn ơ để làm giảm nhiễu.
Xét hàm Gauss:
r2
h(r) - -e
20-2
TRONG ĐÓ r 2 —X 2 + y 2
ơ là độ lệch chuẩn
Hàm làm trơn này khi chập với một ảnh sẽ làm mờ ảnh, độ mờ được xác
định bởi ơ.
♦ Tách biên là phương pháp gián đoạn các giá trị cường độ. Sự gián
đoạn được tính bằng cách sử dụng đạo hàm bậc nhất. Đạo hàm bậc nhất lựa chọn
trong xử lý ảnh là gradient (độ doc). Gradient của hàm 2-D f(x,y) được định
nghĩa dưới dạng vector
Biên độ của vector này:
V/ = mag(Vf) = [GỈ + G) } n = ịdf / ẽxf + (A/ / õyf \ n
Trang 15
Đồ Án 2B
Mô Hình Xe Thông Minh
Đặc tính cơ bản của vector gradient là các điểm của nó là những hướng
có tỷ lệ thay đổi hàm f tại toạ
f G 'ì
độ (x,y) lớn nhất. Góc xảy ra
U?*J
tỷ lệ thay
•t
r
đôi lớn nhât là: a(x,y) = tan
♦ Điểm biên được xác định tăng lên đến các đỉnh trong gradient biên
độ ảnh. Sau thuật toán tìm đỉnh của các đỉnh này và đặt giá trị 0 vào tất cả các
pixel không nằm trên đỉnh. Các pixel đỉnh được đặt bằng hai ngưỡng TI và T2.
Các pixel đỉnh lớn hơn T2 được gọi là các pixel biên “mạnh”. Các pixel đỉnh nằm
giữa TI và T2 được gọi là các pixel biên “yếu”.
♦ Cuối cùng thuật toán thực hiện biên kết nối bằng cách kết họp các
pixel “yếu” với các pixel mạnh.
Cú pháp của bộ tách biên Canny là:
[g, t] = edge (f, ‘canny’, T, sigma)
Trong đó: f là ảnh đưa vào để tách biên T là một vector, T =
[TI T2] sigma là độ lệch chuẩn có giá trị mặc
định là 1 g là ảnh sau khi tách biên
1.4.
Bô tách biên Prewitt
Bộ tách biên Prewitt sử dụng mặt nạ Prewitt như hình bên dưới xấp xỉ
phương pháp số theo đạo hàm bậc nhất Gx, Gy.
Z1
Z2
Zs
Z4
Z5
Ze
Z7
Zs
Ze
-1
0
-1
-1
-1
-1
0
0
0
1
1
1
0
1
0
1
1
Image
neighborhood
Trang 16
-1
Prew
itt
Đồ Ấn 2B
tì
1
-1
ù
“l
“1
"
-ỉ
-1
1
—1
0 Mô iHình Xe Thông Minh
ữ
rì
í
1
0
t
Prewitt
Gx = (z7 + zs + z9) - (Zj + z2 + z3) ơy = (z3
+ z6 + z9) - (Zj + z4 + z7)
Cú pháp gọi hàm:
[g, t] = edge (f, ‘prewitt’, T, dir)
Tham số này đồng nhất với tham số Sobel. Bộ tách Prewitt đơn giản hơn
so vái bộ tấch biên Sobel nhưng nó dễ sinh ra nhiễu hơn so với bộ tách biên
Sobel. Việc tính toán các giá trị hoàn toàn giống vói bộ tách biên Sobel.
1.5.
Bộ tách biên Roberts
Bộ tách biên Roberts sử dụng mặt nạ Roberts như hình bên dưới xấp xỉ
0
-1
-1
0
1
0
0
1
Roberts
phương pháp số theo đạo hàm bậc nhất Gx, Gy.
Cú pháp gọi hàm:
[g, t] = edge (f, ‘roberts’, T, dir)
Tham số này đồng nhất với tham số Sobel. Bộ tách Roberts là một trong
những bộ tách biên xưa nhất trong xử lý ảnh số và cũng là bộ tách biên đơn giản
nhất.
1.6.
Bệ tách biên Laplace của hàm Gauss (LoG)
Xét hàm Gauss
A
h(r) = —e 20-2
Trong đó: r2 =x2 + y1 và ơ là độ lệch chuẩn. Đây là một hàm trơn khi nó
chập vối một ảnh nó sẽ làm mờ ảnh. Độ mờ được xác định bồi giá trị của ơ. Toán
tử Laplace của hầm này (đạo hàm bậc hai theo r).
r2
2 ____2
2er
v2h(r) = - r -ơ
2
ơ
Trang 17
Đồ Án 2B
Mô Hình Xe Thông Minh
Với những lý do rõ ràng, hàm này gọi là toán tử Laplace của hàm Gauss
(LoG). Vì đạo hảm bậc hai là toán tử tuyến tính chập với một hàm
ảnh v 2 h(r) giống như chập với hàm tron và sau đó tính kết quả của toán tử
Laplace. Đây là chìa khoá khái niệm cơ bản của bộ tách LoG. Chúng ta chập ảnh
bằng V2Ă(r) biết nó có hai tác động: làm mịn (giảm nhiễu) và nó tính toán toán tử
Laplace, làm cong một biên ảnh kép, định vị các biên sau đó tìm các điểm giao
zero giữa các biên kép. Cú pháp tồng quát là:
[g , t ] = edge(f, Tog\ T, sigma)
Trong đó: sigma là độ lệch chuẩn, giá trị mặc định của sigma là 2, các
tham số còn lại giống phần trước. Những biên không lớn hom T ta bò qua. Neu T
không được cho hoặc rỗng, edge chọn giá trị một cách tự động.
2. PHƯƠNG PHÁP NHẬN DẠNG MÀU
Là phương pháp diễn giải các đặc tính và tác động của màu trong ngữ
cảnh nhất định. Không có mô hình màu nào là đầy đủ cho mọi khía cạnh của
màu, người ta sử dụng các mô hỉnh màu khác nhau để mô tả các tính chất được
nhận biết khác nhau của màu.
Thí dụ:
+ Mô hình màu RGB: ánh sáng Red, Green và Blue ứng dụng cho
màn hình, TV.
+ Mô hình HSV: Nhận thức của con người.
+ Mô hình CYK: Máy in.
2.1» Mô hình màu RGB
- Mọi màu được biểu diễn bởi không gian màu RGB đều là sự pha trộn
của 3 thành phần màu cơ bản (Red, Green, Blue).
- Mô hình màu RGB được biểu diễn bởi khối lập phương với các trục
R, G, B.
Nhận xét
• Mô hình này không thể biểu diễn mọi màu trong phổ nhìn thấy
Trang 18
Mô Hình Xe Thông
Minh
ĐỒ Án 2B
• Đủ eho các ứng dụng máy tính
• Màn hình máy tính và TV sử dụng mô hình này
• Được sử dụng rộng rãi nhất
• Đơn giản
Xám hóa ảnh màu RGB:
Màu =
trắng
R
+
C=>w
Y + B=>w
M + B =>
w
Phương pháp pha trộn
BỈUÍ
màu trong cuộc sống
Black
Yelỉmv vwme
/ Red
Ị
Magenta \ Bỉưe
2.3.
Mô
CMYK
Green \
y
Cyan Additive
hình
màu
Là sự mở rộng mô hình màu CMK bằng cách thêm vào thành phần màu
Black (K). Bởi vì với thành phần màu Black tinh khiết sẽ cho ta độ tương phản
cao hơn.
Mối quan hệ CMY và CMYK
K = min(C, M, Y)
c =c -K
M = M-K
Trang 19
Y=Y-K
2.4. MÔ hình màu HSY
• Thay vì chọn các phần tử RGB để có màu mong muốn, người ta chọn
các tham số màu: Hue, Saturation và Value (HSV).
• Mô hỉnh HSV suy diễn từ mô hình RGB: hãy quan sát hỉnh hộp RGB
theo đường chéo từ White đến Black (gốc) -> ta có hình lục giác, sử dụng làm
đỉnh hình nón HSV.
• Hue: Bước sóng gốc của ánh sáng. Trong mô hình Hue được biểu diễn
D
bằng góc từ 00 đến 3600
• Value: Cường độ hay độ chổi ánh sáng. Value có giá trị [0, 1], v=0 ->
màu đen. Đỉnh lục gỉác có cường độ màu cực đại.
• Saturation: Thước đo độ tinh khiết ánh sáng gốc. s trong khoảng [0,
1]. Biểu diễn tỷ lệ độ tỉnh khiết của màu sẽ chọn vớỉ độ tinh khiết cực đại.
Nhận xét
Mô hình HSV trực giác hơn mô hình RGB. Bắt đầu từ Hue (H cho trước
và v=l, s=l). thay đồi S: Bổ sung hay bớt trắng, thay đổi V: Bổ sung hay bớt đen
cho đến khỉ có màu mong muốn.
2.5.
Các kỹ thuật táỉ hiện ảnh
- Kỹ thuật tái hiện ảnh được dùng khi ta cần hiển thị lại ảnh trên một số
thiết bị v$t lý không có khả năng hiện lại hết các mức xám có thật của ảnh số:
màn hình đơn sắc, máy ỉn, máy vẽ.
* Kỹ thuật phân ngưỡng (Thresholding)
Kỹ thuật này đặt ngưỡng để hiển thị cấc tông màu liên tục. Gỉấ trị của
ngưỡng sẽ quyết định điểm cổ được hiển thị hay không, và hiển thị như thế nào.
□ Tái hiện 2 màu: dùng cho ảnh 256 mức xám, bản chất của phương
pháp này là ngưỡng dựa vào lược đồ xám. Ngưỡng chọn ở đây là 127.
- Xem thêm -