Nếu như các robot trong công nghiệp được điều khiển số trên cơ sở các bộ điều khiển có cấu tạo tương tự như máy tính giúp cho robot thực hiện các hoạt động chính xác như hàn, phun sơn và
Trang 1NGUYỄN QUỐC KHOA
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
Cán bộ hướng dẫn khoa học: GVC TS NGUYỄN ĐỨC THÀNH
Cán bộ chấm nhận xét 1: TS DƯƠNG HOÀI NGHĨA
Cán bộ chấm nhận xét 2: TS LÊ HOÀI QUỐC
Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ
TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 24 tháng 11 năm 2004
Trang 3Đại Học Quốc Gia Tp Hồ Chí Minh CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập – Tự Do – Hạnh Phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: NGUYỄN QUỐC KHOA Phái: Nam
Ngày, tháng, năm sinh:13-01-1979 Nơi sinh: Khánh Hòa
Chuyên ngành: Điều Khiển Học Kỹ thuật Mã số: 2.05.01
I - TÊN ĐỀ TÀI:
ĐIỀU KHIỂN THÔNG MINH ROBOT DI ĐỘNG TRÁNH CHƯỚNG NGẠI
II - NHIỆM VỤ VÀ NỘI DUNG:
- Nhận dạng vị trí chướng ngại, vị trí mục tiêu, vị trí và hướng robot
- Quy hoạch quỹ đạo cho robot tránh chướng ngại
- Điều khiển robot bám quỹ đạo
III - NGÀY GIAO NHIỆM VỤ:
IV - NGÀY HOÀN THÀNH NHIỆM VỤ:
V - HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Tiến sĩ NGUYỄN ĐỨC THÀNH
CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM NGÀNH BỘ MÔN QUẢN LÝ NGÀNH
Nội dung và đề cương luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua
Ngày tháng năm 2004
Trang 4LỜI CẢM ƠN
Em xin chân thành cảm ơn Tiến sĩ Nguyễn Đức Thành, người đã luôn tận tình hướng dẫn em trong suốt quá trình thực hiện luận văn này
Em cũng xin gởi lời cảm ơn đến các Thầy, Cô ở trường Đại Học Bách Khoa Tp.Hồ Chí Minh đã truyền đạt cho em những kiến thức quý báu trong suốt những năm học Đại Học và Cao Học
Và cuối cùng em xin cảm ơn gia đình và những người bạn trong lớp cao học Điều Khiển Học Kỹ Thuật K13 đã luôn động viên, giúp đỡ em trong những lúc khó khăn.
Học viên thực hiện
Nguyễn Quốc Khoa
Trang 5TÓM TẮT
Quy hoạch quỹ đạo cho mobile robot tránh chướng ngại là bài toán có nhiều ứng dụng trong thực tế, từ lĩnh vực công nghiệp đến lĩnh vực giải trí và đã thu hút được sự chú ý của nhiều nhà nghiên cứu [39], [40], [42], [45], …
Luận văn này sử dụng phương pháp đa thức để quy hoạch quỹ đạo Phương pháp đa thức có thể ứng dụng để tạo ra quỹ đạo ngắn nhất và trơn nhất từ vị trí xuất phát đến đích Sử dụng luật điều khiển phi tuyến, robot có thể bám quỹ đạo đã quy hoạch về đích an toàn Vật thể trong môi trường được quan sát bằng hệ thống thị giác máy tính Hệ thống này xác định vị trí chướng ngại, vị trí xuất phát, đích để quy hoạch quỹ đạo, đồng thời xác định vị trí và hướng robot để điều khiển robot bám quỹ đạo Luận văn này thực hiện thông qua mô phỏng và thi công thực tế
Trang 7MỤC LỤC
NHIỆM VỤ LUẬN VĂN THẠC SĨ 2
TÓM TẮT 4
MỤC LỤC 6
DANH MỤC VIẾT TẮT 9
1 CHƯƠNG 1: GIỚI THIỆU 10
1.1 GIỚI THIỆU 10
1.2 MÔ HÌNH ĐIỀU KHIỂN 12
1.3 SƠ LƯỢC NỘI DUNG LUẬN VĂN 13
2 CHƯƠNG 2: CÁC VẤN ĐỀ LIÊN QUAN ĐẾN XỬ LÝ ẢNH VÀ THỊ GIÁC MÁY TÍNH 15
2.1 TỔNG QUAN VỀ HỆ THỐNG XỬ LÝ ẢNH 15
2.2 KHÁI NIỆM VỀ ẢNH SỐ 16
2.3 HISTOGRAM 18
2.4 PHÂN ĐOẠN ẢNH 19
2.4.1 TÁCH DÒNG 20
2.4.2 TÁCH BIÊN 22
2.4.2.1 CƠ SỞ CỦA VIỆC TÁCH BIÊN 22
2.4.2.2 TOÁN TỬ GRADIENT 23
2.4.2.3 TOÁN TỬ LAPLACE 25
2.4.3 PHÂN NGƯỠNG TỰ ĐỘNG 25
2.4.3.1 XÁC SUẤT THỐNG KÊ 25
2.4.3.2 CHỌN NGƯỠNG TỰ ĐỘNG 27
2.5 NHỊ PHÂN HÓA ẢNH 30
2.5.1 NHỊ PHÂN HÓA ẢNH 30
2.5.2 GIẢI THUẬT DÁN NHÃN CHO VẬT THEO TIÊU CHUẨN TÁM LIÊN KẾT 30 2.5.3 TÍNH DIỆN TÍCH VÀ TRỌNG TÂM CỦA TỪNG VẬT TRONG
Trang 82.6 NHẬN DẠNG MÀU 33
2.6.1 NHẬN DẠNG MÀU DỰA VÀO BẢNG TRA 33
2.6.2 NHẬN DẠNG MÀU DỰA VÀO SƠ ĐỒ CÂY PHÂN NGƯỠNG 34
2.7 ỨNG DỤNG TÌM VỊ TRÍ VÀ HƯỚNG ROBOT 35
2.8 PHƯƠNG PHÁP XÁC ĐỊNH KHOẢNG CÁCH DÙNG STEREO CAMERA 37
3 CHƯƠNG 3: TÍNH THÔNG SỐ CHO HỆ THỐNG CAMERA 39
3.1 HỆ THỐNG TÍNH THAM SỐ CAMERA 39
3.1.1 KÝ HIỆU 40
3.1.2 PHÉP ĐỒNG HÌNH GIỮA MẶT PHẲNG MÔ HÌNH VÀ ẢNH CỦA NÓ 41
3.1.3 CÁC RÀNG BUỘC VỀ THAM SỐ NỘI 41
3.1.4 TÍNH TOÁN THÔNG SỐ CHO CAMERA 43
3.1.4.1 TRƯỜNG HỢP LÝ TƯỞNG 43
3.1.4.2 ƯỚC LƯỢNG KHẢ NĂNG XẢY RA LỚN NHẤT 45
3.1.4.3 MÉO XUYÊN TÂM 45
3.1.4.3.1 ƯỚC LƯỢNG MÉO XUYÊN TÂM 46
3.1.4.3.2 ƯỚC LƯỢNG ĐẦY ĐỦ KHẢ NĂNG XẢY RA LỚN NHẤT 46
3.2 PHƯƠNG PHÁP TÍNH THÔNG SỐ CAMERA SỬ DỤNG THƯ VIỆN CÔNG CỤ OPENCV 47
3.3 PHÉP ÁNH XẠ NGƯỢC 48
4 CHƯƠNG 4: ĐỘNG LỰC HỌC ROBOT 49
4.1 PHƯƠNG TRÌNH ĐỘNG HỌC ROBOT 49
4.2 PHƯƠNG TRÌNH ĐỘNG LỰC HỌC ROBOT 52
5 CHƯƠNG 5: QUY HOẠCH QUỸ ĐẠO TRÁNH CHƯỚNG NGẠI 55
5.1 PHƯƠNG PHÁP TRƯỜNG LỰC ẢO 55
5.1.1 NỘI DUNG PHƯƠNG PHÁP 55
5.1.2 TRƠN HÓA QUỸ ĐẠO 57
5.1.2.1 BỘ LỌC THÔNG THẤP ĐIỀU KHIỂN LÁI 57
5.1.2.2 SỰ SUY GIẢM 58
Trang 95.1.3 GIẢI BÀI TOÁN BẪY NGHIỆM CỤC BỘ 60
5.1.3.1 PHÁT HIỆN BẪY 60
5.1.3.2 GIẢI THUẬT BÁM THEO BIÊN CHƯỚNG NGẠI 62
5.2 PHƯƠNG PHÁP HAMILTON-JACOBI-BELLMAN 65
5.2.1 PHƯƠNG TRÌNH HAMILTON-JACOBI-BELLMAN 65
5.2.2 HÀM TRẢ VỀ 67
5.2.3 HÀM GIẢ TRẢ VỀ 68
5.2.4 TRƯỜNG HỢP ĐẶC BIỆT 70
5.3 PHƯƠNG PHÁP ĐA THỨC 72
5.4 PHƯƠNG PHÁP CHU KỲ TỚI HẠN 76
6 CHƯƠNG 6: ĐIỀU KHIỂN ROBOT BÁM QUỸ ĐẠO 82
6.1 BỘ ĐIỀU KHIỂN PHI TUYẾN CHO MÔ HÌNH ĐỘNG HỌC 82
6.2 BỘ ĐIỀU KHIỂN PHI TUYẾN CHO MÔ HÌNH ĐỘNG LỰC HỌC 83
6.3 BỘ ĐIỀU KHIỂN BÁM QUỸ ĐẠO 85
7 CHƯƠNG 7: KẾT QUẢ THỰC NGHIỆM 87
7.1 HỆ THỐNG ĐIỀU KHIỂN 87
7.2 KẾT QUẢ THỰC NGHIỆM 93
7.2.1 KẾT QUẢ XỬ LÝ ẢNH 93
7.2.2 KẾT QUẢ THỰC NGHIỆM 100
7.2.3 KẾT QUẢ MÔ PHỎNG 100
7.2.3.1 MÔ HÌNH KANAYAMA 100
7.2.3.2 MÔ HÌNH SAMON 103
8 CHƯƠNG 8: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 106
8.1 KẾT LUẬN 106
8.2 HƯỚNG PHÁT TRIỂN 107
PHỤ LỤC A 108
PHỤ LỤC B 110
TÀI LIỆU THAM KHẢO 111
Trang 10DANH MỤC TỪ VIẾT TẮT
Trang 11… hoặc những công việc có tính chất lặp lại nhàm chán Ngày nay, với sự phát triển của tự động hóa, các khái niệm “dây chuyền sản xuất tự động” hay cụm thuật ngữ “robot – người máy – tay máy“ đã trở nên quen thuộc với mọi người
Nếu như các robot trong công nghiệp được điều khiển số trên cơ sở các bộ điều khiển có cấu tạo tương tự như máy tính giúp cho robot thực hiện các hoạt động chính xác như hàn, phun sơn và các dây chuyền lắp ráp, thì chính các bộ điều khiển này hạn chế robot ở chỗ chỉ thực hiện lặp đi lặp lại một loạt các thao tác đã được lập trình từ trước theo yêu cầu của công việc đặt ra Khi cần có sự can thiệp để thay đổi chương trình làm việc thì robot phải dừng lại bởi vì robot
Trang 12hoạt động hiệu quả hơn, thì chúng cần phải có khả năng cảm nhận về môi trường bên ngoài và ra quyết định Những khả năng như vậy cần phải có sự tham gia trực tiếp của các cảm biến giác quan và các phần mềm xử lý tương ứng, đó chính là công việc của trí tuệ nhân tạo Nhóm các cảm biến giác quan bao gồm: thiết bị thu nhận hình ảnh, cảm biến xúc giác, cảm biến xác định khoảng cách và hướng, thiết bị phân tích và tổng hợp tiếng nói Trong nhóm cảm biến giác quan này, thì hình ảnh có thể được xem là khả năng nhận biết quan trọng nhất mà một robot thông minh cần phải có
Bên cạnh các robot tự hành sử dụng các loại cảm biến thông thường như: quang, hồng ngoại, xúc giác, … Ngày nay, thị giác máy tính được nghiên cứu ứng dụng vào robot nhằm biến chúng thành những cỗ máy thông minh Đề tài này thực hiện cũng không nằm ngoài mục đích đó Đã có nhiều robot tương tự như vậy trên thế giới, nhưng hầu hết khâu xử lý ảnh được phần cứng hỗ trợ Trong đề tài này, tôi chỉ dùng phần mềm để xử lý ảnh, do đó tốc độ có phần hạn chế Tất cả các thông tin về môi trường như vị trí chướng ngại, vị trí xuất phát, đích, cũng như vị trí và hướng robot được xử lý bằng phần mềm thông qua hệ thống thị giác máy tính
Có nhiều phương pháp quy hoạch quỹ đạo cho robot, như phương pháp trường thế, phương pháp trường lực ảo, phương pháp chu kỳ tới hạn …, nhưng hầu hết chỉ quan tâm đến khía cạnh tối ưu khoảng cách từ vị trí xuất phát đến đích Trong khi đó, phương pháp đa thức ngoài mục tiêu tối ưu khoảng cách còn tạo ra quỹ đạo trơn (smooth), giúp robot tiến về đích an toàn Đề tài này cũng đưa ra phương pháp điều khiển hồi tiếp phi tuyến giúp robot bám theo quỹ đạo đã được quy hoạch Hệ thống thị giác máy tính và robot giao tiếp với nhau bằng tín hiệu vô tuyến
Trang 131.2 MÔ HÌNH ĐIỀU KHIỂN
Hình 1.1: Mô hình điều khiển
Sơ đồ bộ điều khiển bên ngoài:
Tính vị trí đích và chướng ngại vật
Tính vị trí và hướng robot
Bộ điều khiển truyềnBộ
Hình 1.2: Bộ điều khiển bên ngoài
Sơ đồ khối bộ điều khiển bên trong robot:
Bộ nhận Truyềnxung
K P + D
Hình 1.3: Bộ điều khiển bên trong robot
Trang 141.3 SƠ LƯỢC NỘI DUNG LUẬN VĂN
Luận văn gồm tám chương Nội dung của từng chương được tóm tắt như sau:
Chương 1: Giới thiệu
Giới thiệu tổng quan về đề tài, phạm vi nghiên cứu, và ứng dụng
Chương 2: Các vấn đề liên quan đến xử lý ảnh số và thị giác máy tính
Trình bày các vấn đề về xử lý ảnh số và thị giác máy tính như lọc, tách biên, phân đoạn, nhị phân hoá ảnh, dán nhãn cho vật trong ảnh, tính diện tính, tính trọng tâm, tính vị trí, hướng và khoảng cách của chướng ngại vật, mục tiêu, và robot Giới thiệu phương pháp nhận dạng màu
Chương 3: Tính thông số cho hệ thống camera
Trình bày các phương pháp ước lượng các tham số nội và tham số ngoại của camera
Chương 4: Động lực học robot
Xây dựng mô hình động học và động lực học cho nonholonomic mobile robot
Chương 5: Quy hoạch quỹ đạo tránh chướng ngại
Trình bày các phương pháp quy hoạch quỹ đạo cho robot Đặc biệt là phương pháp đa thức Phương pháp này cho quỹ đạo tối ưu: quỹ đạo trơn và ngắn nhất
Chương 6: Điều khiển robot bám quỹ đạo
Trình bày các phương pháp điều khiển phi tuyến Đặc biệt là phương pháp backstepping Phương pháp này chuyển bài toán điều khiển động lực học về bài toán điều khiển động học
Trang 15Chương 7: Kết quả thực nghiệm
Chương 8: Kết luận và hướng phát triển
Trang 162 CHƯƠNG 2
CÁC VẤN ĐỀ LIÊN QUAN ĐẾN XỬ LÝ ẢNH
SỐ VÀ THỊ GIÁC MÁY TÍNH
2.1 TỔNG QUAN VỀ HỆ THỐNG XỬ LÝ ẢNH
Xử lý ảnh là một khoa học tương đối mới mẻ so với nhiều ngành khoa học khác, nhất là trên qui mô công nghiệp, song trong xử lý ảnh đã bắt đầu xuất hiện những máy tính chuyên dụng Để có thể hình dung cấu hình một hệ thống xử lý ảnh chuyên dụng, ta cần xem xét các bước cần thiết trong xử lý ảnh
Trước hết là quá trình thu nhận ảnh Aûnh có thể thu nhận qua camera Thường ảnh thu nhận qua camera là tín hiệu tương tự (loại camera ống kiểu CCIR), nhưng cũng có thể là tín hiệu số (loại CCD – Charge Coupled Device)
Tiếp theo là quá trình số hóa (Digitalizer) để biến đổi tín hiệu tương tự sang tín hiệu rời rạc (lấy mẫu) và số hóa bằng lượng hóa, trước khi chuyển sang giai đoạn xử lý, phân tích hay lưu trữ
Quá trình phân tích ảnh thực chất gồm nhiều công đoạn nhỏ Trước hết là công việc tăng cường ảnh để nâng cao chất lượng ảnh Do những nguyên nhân
Trang 17khác nhau: có thể do thiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu, ảnh có
thể bị suy biến Do vậy, cần phải tăng cường và khôi phục lại ảnh để làm nổi bật
một số đặc tính chính của ảnh, hay làm cho ảnh gần giống nhất với trạng thái
gốc – trạng thái trước khi ảnh bị biến dạng Giai đoạn tiếp theo là phát hiện các
đặc tính như biên, phân vùng ảnh, trích chọn các đặc tính, …
Cuối cùng, tùy theo mục đích của ứng dụng, sẽ là giai đoạn nhận dạng,
phân lớp hay các quyết định khác
Hình 2.1: Các giai đoạn chính trong xử lý ảnh
2.2 KHÁI NIỆM VỀ ẢNH SỐ
Hình ảnh được coi là một hàm hai chiều về độ sáng: f(x,y) Trong đó giá
trị hoặc biên độ f tại hệ tọa độ không gian (x,y) là cường độ sáng của ảnh tại
điểm đó:
0 < f(x,y) < ∞ (2.1) f(x,y) bao gồm hai thành phần:
1 số lượng ánh sáng nguồn rơi trên cảnh vật được nhìn thấy (illumination) i(x,y)
2 số lượng ánh sáng nguồn phản xạ từ vật thể (reflectance components) r(x,y)
Thu nhận ảnh Số hóa
Phân tích ảnh Camera
Sensor
Nhận dạng
Hệ quyết định Lưu trữ
Lưu trữ
Trang 180 < i(x,y) < ∞ (2.3)
r(x,y) = 0: hấp thụ hoàn toàn; r(x,y) = 1: phản xạ hoàn toàn, i(x,y) được
quyết định bởi nguồn sáng chiếu sáng vật thể và r(x,y) được quyết định bởi các
đặc trưng của vật thể
Ta gọi cường độ ánh sáng của một ảnh đen trắng f tại tọa độ (x,y) là mức
xám ( l ) của ảnh tại điểm đó Ta có l nằm trong khoảng:
Với:
Khoảng [Lmin, Lmax] được gọi là thang xám Hoàn toàn thực tế, có thể dịch
khoảng này đến [0, L], trong đó l = 0 là đen và l = L là trắng trong thang xám
Giá trị tức thời là các dạng mức xám thay đổi liên tục từ đen đến trắng
Để xử lý bằng máy tính, một hàm ảnh f(x,y) phải được số hoá trong
không gian và biên độ Số hoá các tọa độ không gian (x,y) gọi là lấy mẫu ảnh và
số hoá theo biên độ là lượng tử hoá mức xám
Giả thiết có một hình ảnh liên tục f(x,y) được xấp xỉ bằng các mẫu trong
không gian bằng nhau dưới dạng ma trận N x M, trong đó mỗi phần tử của ma
trận là các giá trị rời rạc:
)1,1()0,1(
)1,1(
)1,1()
0,1(
)1,0(
)1,0()
0,0()
,(
M N f N
f N
f
M f f
f
M f f
f y
x
Vế phải (2.7) biểu diễn một ảnh số Mỗi phần tử của ma trận được gọi là
một pixel
Trang 19Quá trình số hoá đòi hỏi các giá trị N, M phải chính xác và số mức xám
không liên tục đối với mỗi pixel Trong thực tế:
Trong đó G là số lượng các mức xám Giả thiết các mức rời rạc có
khoảng cách bằng nhau, chiếm giữa 0 và L trên thang mức xám Ta có số bit cần
lưu một ảnh số đen trắng là:
2.3 HISTOGRAM
Histogram của một ảnh số có các mức xám trong khoảng [0, L-1] là một
hàm rời rạc p(rk) = nk/n, trong đó rk là mức xám thứ k, nk là số pixel trong ảnh có
mức xám này, n là tổng số pixel trong ảnh, và k = 0,1,2,…,L-1
P(rk) cho một xấp xỉ xác suất xảy ra mức xám rk Vẽ hàm này với tất cả
các giá trị k sẽ biểu diễn khái quát sự xuất hiện của một ảnh
Trang 20Hình 2.2: Histogram và đặc điểm của ảnh
2.4 PHÂN ĐOẠN ẢNH
Phân đoạn ảnh là là chia nhỏ một ảnh thành nhiều thành phần hoặc nhiều vật thể Mức độ chia nhỏ này phụ thuộc vào vấn đề cần giải quyết Phân đoạn tự động (autonomous segmentation) là một trong những nhiệm vụ khó khăn nhất của xử lý ảnh Thuật toán phân đoạn ảnh đen trắng nói chung dựa trên một trong hai đặc trưng cơ bản của các giá trị mức xám: gián đoạn và liên tục Trong loại thứ nhất, vấn đề là dựa vào các chuyển động không liên tục trong mức xám, ví dụ như tách các điểm cách ly, tách các đường và tách biên trong một ảnh Đặc
Trang 21trưng thứ hai dựa trên cơ sở tạo ngưỡng, tăng vùng lớn lên, chia ra và hợp lại
Các đặc trưng này có thể dùng cho ảnh tĩnh và ảnh động Trong nhiều ứng dụng
thực tế, mục đích của phân đoạn là chia ảnh ra thành hai phần: một phần là các
vật thể (objects) trong ảnh, phần còn lại là nền (background)
Nói chung, cách tách biên không liên tục là cho chạy một mặt nạ qua ảnh
và tính tổng của tích các hệ số với các mức xám chứa trong vùng mặt nạ đi qua
++
1 9 9 2
2 1
1
i i
i z w z
w z
w z w
Trong đó zi là mức xám của pixel liên hiệp với hệ số mặt nạ wi Thông
thường đáp ứng mặt nạ được định nghĩa theo vị trí tâm của nó Nếu mặt nạ có
tâm trên một pixel liên kết thì đáp ứng được tính bằng cách sử dụng lân cận
riêng xấp xỉ
Một dòng có những cột trong đồ thị cường độ thường xuất hiện cùng với
các biên Hình 2.3 thể hiện hai loại dòng thường xuất hiện trong ảnh
Trang 22Hình 2.4: Các loại dòng
Tiếp theo là tách các dòng trong ảnh Mặt nạ các loại được cho trong hình 2.5 Khi mặt nạ thứ nhất chuyển động xung quanh một ảnh, thì nó sẽ đáp ứng mạnh đối với dòng chiều ngang Với nền cố định, đáp ứng sẽ cực đại, nếu dòng
đi qua hàng giữa của mặt nạ Nó dễ điều chỉnh bằng cách vẽ ra một dãy (array) đơn giản 1 với một dòng có mức xám khác chạy ngang qua dãy Mặt nạ thứ hai đáp ứng tốt nhất cho những dòng theo chiều 45 độ Mặt nạ thứ ba cho những dòng đứng Mặt nạ thứ tư cho những dòng âm 45 độ Các hướng này có thể xác lập bằng cách hướng mong muốn của mỗi mặt nạ được nhân với trọng số có giá trị lớn hơn các hướng khác
Hướng ngang Hướng 45 độ
Trang 23Hướng thẳng đứng Hướng -45 độ
Hình 2.5: Mặt nạ dòng
Cho R1, R2, R3, R4 là các đáp ứng của các mặt nạ trên Giả thiết tất cả các mặt nạ chạy qua một ảnh Nếu tại một điểm nhất định trong ảnh mà R i > R j
với i≠j thì điểm đó có liên hệ nhiều hơn với một dòng theo chiều của mặt nạ i
Ví dụ, nếu một điểm trong một ảnh có R i > R j với j = 2,3,4 thì điểm đó có liên hệ nhiều hơn với dòng ngang
2.4.2 Tách biên
2.4.2.1 Cơ sở của việc tách biên
Biên là liên kết giữa hai vùng có mức xám tương đối khác nhau Một biên hoàn hảo sẽ có sự thay đổi đột ngột về mức xám
Hình 2.6: Biên hoàn hảo (sự thay đổi đột ngột về mức xám)
Trang 24Ở hình 2.6, mỗi pixel được biểu diễn với các mức xám từ 0 đến 255 Khi
biên bị làm mờ, mức xám sẽ biến đổi như hình vẽ sau:
Hình 2.7: Biên mờ
Mặc dù biên ở hình 2.7 không rõ như hình 2.6 nhưng độ thay đổi cũng rất
dễ dàng nhận ra
Từ những biên ở trên ta nhận thấy những giá trị thang xám thay đổi nhanh
chóng tại những vùng mà đường và biên tồn tại
Tư tưởng cơ bản của kỹ thuật tách biên là tính vi phân cục bộ Vi phân bậc
một tại bất kỳ một điểm trong ảnh được thực hiện bằng cách dùng biên độ
Gradient tại điểm đó Vi phân bậc hai tương tự được thực hiện bằng Laplace
G f
f = +
Trang 25Biên độ bằng tốc độ cực đại của f(x,y) tăng trên đơn vị khoảng cách theo
chiều ∇f Thực tế, ta xấp xỉ ∇f bằng giá trị tuyệt đối
y
x G G
f ≈ +
Hướng của vector Gradient là thông số quan trọng Cho α(x,y) biểu diễn
góc hướng của vector ∇f tại (x,y) Sau đó từ phân tích vector, ta có:
x, tan 1
Trong đó: Góc được đo theo trục chuẩn x
Có thể tính Gradient của một ảnh dựa trên cơ sở vi phân riêng
tại mỗi vị trí pixel Vi phân có thể thực hiện dưới dạng số bằng nhiều cách Ví
dụ toán tử Sobel có ưu điểm là có cả hai hiệu ứng vi phân và làm bằng
Hình 2.8: Vùng ảnh và mặt nạ toán tử Sobel
Vùng ảnh 3×3 có các giá trị mức xám là Z1→Z9
Gx = (Z7+2Z8+Z9) - (Z1+2Z2+Z3)
Gy = (Z3+2Z6+Z9) - (Z1+2Z4+Z7) Mặt nạ được chuyển đến vị trí tiếp theo Sau khi thuật toán được dùng cho
tất cả các vị trí có thể, kết quả sẽ là một ảnh Gradient cũng có kích thước như
Trang 262.4.2.3 Toán tử Laplace
Hàm Laplace hai chiều của f(x,y) là đạo hàm bậc hai của f như sau:
y
f x
f
2 2
2 2
∂
∂+
Trong đó Z1→Z9 là vùng ảnh 3×3
Yêu cầu cơ bản định nghĩa Laplace là hệ số có liên quan ở tâm phải
dương và các hệ số có liên quan với pixel bên ngoài phải âm Vì Laplace là một
đạo hàm nên tổng các hệ số phải bằng 0
Hình 2.9: Mặt nạ Laplace 2.4.3 Phân ngưỡng tự động:
2.4.3.1 Xác suất thống kê:
Thuật toán phân ngưỡng tự động có sử dụng lý thuyết xác suất thống kê
sau:
Gọi P(z) là xác suất một pixel có giá trị mức xám là z Ta có thể ước
lượng xác suất này thông qua histogram của ảnh Histogram là một mảng, H, cho
biết số lần xuất hiện của mỗi giá trị mức xám trong ảnh Nếu gọi H[z] là số lần
xuất hiện của pixel có giá trị mức xám là z (0 ≤ z≤L− 1), thì 0 ≤ H[z] ≤N×M ,
Trang 27với N, M lần lượt là số hàng và số cột của ma trận ảnh Thuật toán tính
histogram của một ảnh như sau:
For i=0 to L-1
H[i] ← 0 For r=0 to N-1
Sau khi có histogram của ảnh, ước lượng khả năng một pixel có giá trị
mức xám z là:
M N
z H z P
L z z zP
Trong nhiều ứng dụng, một ảnh có thể có một hoặc nhiều vật (objects)
trên nhiều nền (backgrounds) Do đó, ta sẽ tính giá trị trung bình cho từng vật
cũng như từng nền cụ thể Nếu gọi H i là histogram của vật thứ i trong ảnh, thì
giá trị trung bình của mức xám của vật thứ i là:
] [
] [
L
z L
z i
i i
z H
z H z
] [
] [
L
z i
i z H
z
H là xác suất pixel có giá trị mức xám z trong vật thứ i của
ảnh Phương sai của giá trị mức xám trong ảnh là:
Trang 28] [
] [ ) (
L
z i
i i
i
z H
z H
z µ
2.4.3.2 Chọn ngưỡng tự động:
Giả sử ảnh chỉ có vật (object) và nền (background), giá trị mức xám của
nền nhỏ hơn hoặc bằng mức ngưỡng (threshold) và giá trị mức xám của vật lớn
hơn mức ngưỡng Vì vậy, với một mức ngưỡng zt , ta có thể chia các pixel ảnh ra
thành hai nhóm: những pixel có giá trị mức xám z≤ z t, và những pixel có giá trị
mức xám z> z t Giá trị trung bình và phương sai của mỗi nhóm pixel phụ thuộc
vào việc chọn ngưỡng z t Mục đích của ta là tìm z t sao cho cực tiểu hóa hàm
phương sai của hai nhóm pixel này
Gọi q i(z t) là xác suất một pixel thuộc về nhóm i (i=0, 1) ứng với một giá
trị ngưỡng z t được chọn Do đó, những pixel có giá trị mức xám nhỏ hơn hoặc
bằng z t thì thuộc về nền (i=0), còn những pixel có giá trị mức xám lớn hơn z t thì
thuộc về vật (i=1)
M N
z H z
q
t
z z
t = ×
∑ =0 0
] [ )
M N
z H z
q
L z z t
][)
/][
][
][
L
z L
z i i
L
z L
z i
i i
M N z H
M N z H z
z H
z H z
µ
(2.21)
Trang 29Với:
)(
)(][
0
0
t
z q
z P M N
z H
=
)(
)(][
1
1
t
z q
z P M N
z H
z q
z P z z
0 00
)(
)(.)
)(
)()
∑
∑
− +
2 1
2 0
2 0
)(
)(.))(()
(
)(
)(.))((
)(
L z
t t
z
t t
t
t
z q
z P z
z z
z q
z P z
z z
µσ
µσ
( ) ( ).
( )
1 1
2 0 0
2
t t
t t
=
=
=
− +
=
=
− +
=
−
=
−+
−
−+
−+
−+
−
−+
−
=
−+
−+
−+
−
=
−+
2 1 1
1
2 1 0
2 0 0
0
2 0 0
1 1
2 1 1
2 0 0 0
1 1
2 2
1 0
2 2
)(])(
))(
(2)[(
)(])(
))(
(2)[(
)()(
)()(
)()()
()(
)()(
L z z
z
z
L z z
L z
z
z P z
z
z P z
z P z
z P z
z P z
z P z
µµµµµµ
µµµµµµ
µµµµ
µµ
µµ
µσ
(2.26)
Trang 30Vì:
0
)()(
)()
()
()
(
)()
()
()
()
())(
(
2 2 2
i i
i i
i
i i
i i
i
q q
q q
z P z
P z
zP z
zP
z P z
P z
P z z
P z z
P z
µµµ
µµµ
µ
µµµ
µµ
µµµ
µµ
µµµ
(2.27)
2 2
2 1 1
2 0 0
2 1 1
2 0 0
2 1 1
2 1 1
2 0 0
2 0 0
0
1 1
2 1
2 1
2 0
2 0 2
))(
)(
()(
)(
)(
)(])(
)[(
)(])(
)[(
b w
z
z
L z z
q q
q q
q q
q q
z P z
z P z
t
t
σσ
µµµ
µσ
σ
µµσ
µµσ
µµµ
µµµ
σ
+
=
−+
−+
+
=
−+
+
−+
=
−+
−+
−+
−
=
− +
=
(2.28)
Với:
2 1 1
2 0 0
2 (µ µ) (µ µ)
Vì σ2 không phụ thuộc vào zt (luôn là hằng số đối với mỗi ảnh) Nên bài
toán cực tiểu hóa hàm 2
w
σ tương đương với bài toán cực đại hóa hàm 2
b
σ Từ lý thuyết xác suất, ta có:
1 1 0 0
0
1 1
µµ
q q
)()
1(
)()
1(
0 0
1 0 0
t t
z
z t
z
z t
z q z
P
z P z
P
z P z
q
t t
++
=
++
=
=+
Trang 31Với P(zt+1) tính được từ biểu đồ histogram của ảnh, q0(zt) có từ bước tính
trước
Ta lại có:
)()1(
)()
1(
)1()1(
)(
)()
1(
)()
1(
)1()1(
)1(
)(.)
1(
)1()1(
)1(
)(.)
1(
0 0
0 0
0 0 0
0 0
0 0 0
1
0 0 0
t t
t t
t t
z
z t t
t t
t t
z
z t t
t t
z
z t t
z z
q
z q z
q
z P z
z q
z P z z
q
z q z
q
z P z
z q
z P z z
q
z P z
z q
z P z z
t t
++
=
+
++
++
=
+
++
++
=
+
=+
) 1 ( ) 1 (
) 1 (
) 1 ( ) 1 ( )
1 (
0
0 0
1
0 0
1
+
−
+ +
−
=
+
+ +
−
= +
t
t t
t
t t
t
z q
z z
q
z q
z z
q z
µµ
µµ
2.5 NHỊ PHÂN HÓA ẢNH
2.5.1 Nhị phân hóa ảnh
Nhị phân hóa ảnh là biến đổi ảnh màu về ảnh nhị phân: các pixel có mức
xám lớn hơn mức ngưỡng được gán bằng 1, ngược lại được gán bằng 0
2.5.2 Giải thuật dán nhãn cho vật theo tiêu chuẩn 8 liên kết
Hình 2.11: Mô hình 8 liên kết
Trang 32N
N
Y
Hình 2.12: Giải thuật dán nhãn cho vật sau khi nhị phân hóa ảnh
Trong đó: A, B, C, D, E là các pixel kế cận nhau như hình sau:
DB
CAE
Hình 2.13: Pixel lân cận
Trang 33Giải thuật UPDATE dùng để hợp hai vùng nhãn liên kết với nhau Giải thuật như sau: khi gặp vùng giao nhau x giữa hai nhãn khác nhau ta quét lại ảnh từ đầu tới vị trí x đồng thời thay thế nhãn có giá trị lớn bằng nhãn có giá trị nhỏ hơn
Hình 2.14: Nhãn trước khi update
Sau khi UPDATE:
Cho Ii(r, c) = 1 nếu nhãn pixel I(r, c) = i
= 0 nếu ngược lại
Trang 34Với i là số thứ tự của vật thứ i trong ảnh
Lúc đó diện tích của vật thứ i là:
) , (
N r
M c i
1 0
1 0
1 0
),(1
),(1
N r
M c
i i
i
N r
M c
i i
i
c r cI A
c
c r rI A
r
(2.35)
2.6 NHẬN DẠNG MÀU
2.6.1 Nhận dạng màu dựa vào bảng tra [10]
Sử dụng hệ màu YUV:
B G
R V
G R
B U
B G
R Y
100 0 515 0 615 0
289 0 147 0 643 0
144 0 587 0 299 0
=
(2.36)
Thuật toán như sau:
Mean ← trị trung bình Y của ảnh
High_threshold ← mean + HighOffset
For mỗi pixel
Trang 35Output ← Trắng
2.6.2 Nhận dạng màu dựa vào sơ đồ cây phân ngưỡng [17]
Sử dụng hệ màu rgG:
B G R
B b
B G R
G g
B G R
R r
++
=
++
=
++
=
(2.37)
G G
r g
G r
>127
Hình 2.17: Nhận dạng màu dựa vào sơ đồ cây phân ngưỡng
Trang 362.7 ỨNG DỤNG TÌM VỊ TRÍ VÀ HƯỚNG ROBOT
xd
xx xr
yx yr
robot
X Y
Hình 2.18: Mô hình robot
Trước tiên, ta xác định trọng tâm của từng màu: đỏ (xd, yd), xanh (xx, yx)
Từ đó, ta xác định vị trí và hướng của robot như sau:
• Vị trí:
2
2
yd yx yr
xd xx xr
Trang 37Trong xử lý ảnh ta chỉ xử lý toạ độ pixel, do đó cần phải chuyển sang hệ
tọa độ không gian
Môi trường hoạt động của robot
(I, J) (X, Y) (Imin, Jmin)
(Imax, Jmax) W
J
J J
Y
W in ax
in I
max
Im Im
Im
(2.40)
Trang 382.8 PHƯƠNG PHÁP XÁC ĐỊNH KHOẢNG CÁCH DÙNG STEREO CAMERA
Mô hình xử lý dùng stereo camera:
Hình 2.20: Mô hình stereo camera
Hình chiếu hệ thống trên lên mặt phẳng nằm ngang:
Hình 2.21: Hình chiếu stereo camera trên mặt phẳng ngang
(x 2 ,y 2 )
B
W (x 2 , y 2 )
Trục quang Điểm trong không gian
Trang 39W(X, Y, Z) : là tọa độ điểm W trong không gian thực
(x, y) : là tọa độ của W trên ảnh của camera
ג : là tiêu cự của thấu kính
B : là khoảng cách giữa hai tâm thấu kính
Chọn hệ trục tọa độ không gian thực trùng với trục quang học của camera
thứ nhất
Từ hình vẽ ta có:
Z
X Z
X x
Z
X Z
X x
λλλ
2 2
2
1 1
1
(2.41)
) (
) (
2 2
1 1
Z
x X
Z
x X
λ
Mà X2 = X1 + B, kết hợp với phương trình trên ta suy ra được khoảng cách
thực Z từ camera đến vật:
1
2 x x
B Z
Trang 403 CHƯƠNG 3
TÍNH THÔNG SỐ CHO HỆ THỐNG CAMERA
Để tính toán vị trí vật thể trong không gian một cách chính xác, ta cần calib camera trong môi trường làm việc trước khi sử dụng Dưới đây sẽ giới thiệu về hệ thống calib camera, phương pháp calib và phép biến đổi giữa tọa độ không gian 3D và tọa độ điểm ảnh
3.1 HỆ THỐNG TÍNH THAM SỐ CAMERA [51]
Hệ thống camera cần phải có các thông số chính xác trước khi sử dụng Có hai loại tham số: tham số nội (intrinsic parameters) và tham số ngoại (extrinsic parameters) Quá trình calib sẽ tìm được các tham số phục vụ cho việc ánh xạ giữa tọa độ không gian ba chiều (3D) và tọa độ hai chiều (2D)