BỘ GIÁO DỤC VÀ ĐÀO TẠO
VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SĨ
Chuyên ngành: Kỹ thuật ñiện tử
Mã ngành: 60520203
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo
ứng dụng trong rô bốt di ñộng
HỌC VIÊN THỰC HIỆN: Bạch Ngọc Minh
HƯỚNG DẪN KHOA HỌC: TS. Nguyễn Vĩnh An
Hà Nội, 9/2013
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh i
LỜI MỞ ĐẦU
Với mục ñích thay thế cho con người ñối với những công việc ở những môi
trường khắc nghiệt, nhiễm ñộc hay phóng xạ… ảnh hưởng tới sức khỏe cũng như
tính mạng của con người thì việc sử dụng Robot là một việc rất cần thiết. Trên thế
giới việc phát triển công nghệ robot ñã phát triển từ lâu và ñã có những thành công
nhất ñịnh. Nhưng ở Việt Nam thì công nghệ này vẫn còn ñang trong thời gian
MỤC LỤC ii
DANH MỤC HÌNH VẼ v
DANH MỤC BẢNG vii
DANH MỤC TỪ VIẾT TẮT viii
Giới thiệu chung 1
1. Tính cấp thiết của ñề tài: 1
2. Mục tiêu nghiên cứu 2
2.1 Mục tiêu nghiên cứu tổng quát 2
2.2 Mục tiêu cụ thể 2
3. Đối tượng và phạm vi nghiên cứu 3
4. Tổng quan tài liệu 3
5. Nội dung, vật liệu và phương pháp nghiên cứu 5
5.1. Nội dung nghiên cứu: 5
5.2. Phương pháp nghiên cứu: 5
6. Dự kiến kết quả (viết theo từng nội dung nghiên cứu, dự kiến logíc và khoa học,
tính khả thi ) 7
Thị giác máy tính 15
1.4.2.
Hệ thống dẫn ñường cho robot cứu hộ sử dụng thị giác máy tính 16
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh iii
1.5.
Cơ sở tính toán ảnh stereo 18
1.5.1.
Ảnh 3D và ứng dụng 19
1.5.2.
Stereo camera 20
1.5.3.
Bản ñồ chênh lệch và bản ñồ ñộ sâu 21
1.5.4.
Mối quan hệ giữa ảnh ñộ sâu và tọa ñộ thực: 23
1.5.5.
1.7.3.
Phát hiện mặt phẳng bằng biến ñổi Hough: 33
Chương 2 : NGHIÊN CỨU THUẬT TOÁN BẢN ĐỒ CHÊNH LỆCH 34
2.1.
Giới thiệu 34
2.2.
Phương pháp SAD truyền thống 36
2.3.
Phương pháp SAD ñiều chỉnh 39
2.3.1.
Phương pháp SAD ñối với ñường biên 39
2.3.2.
Phương pháp trích chọn ñường biên màu 41
2.4.
Bộ lọc logic: 44
Kết luận về phương pháp SAD ñiều chỉnh 58
Chương 3: PHÁT HIỆN MẶT PHẲNG VÀ CHƯỚNG NGẠI VẬT 59
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh iv
2.1.
Phát hiện mặt phẳng: 59
2.1.1.
Ưu nhược ñiểm của biến ñổi Hough 59
2.1.2.
Tổng quan phương pháp ñoán vector không gian: 60
2.1.3.
Các ñặc ñiểm của mặt phẳng: 61
2.1.4.
Dự ñoán hướng của mặt phẳng: 62
2.1.5.
Kết quả thực hiện chương trình: 68
2.1.1.
Thuật toán phát hiện ñộ sâu dựa trên phương pháp SAD ñiều
chỉnh 68
2.1.2.
Thuật toán phát hiện ñộ sâu dựa trên phương pháp SAD lai. 69
2.1.3.
Thuật toán phát hiện mặt phẳng và chướng ngại vật 71
2.2.
Hướng phát triển thêm về ñề tài: 72
2.2.1.
Phần lý thuyết: 72
2.2.2.
Hệ thống thị giác robot: 72
2.2.3.
Hệ thống robot cứu hộ: 73
Hình 1.10: Bản ñồ chênh lệch 22
Hình 1.11: Bản ñồ ñộ sâu 22
Hình 1.12 :Quan hệ ñộ sâu và tọa ñộ thực 23
Hình 1.13: Sơ ñồ khối tổng quát của một thuật toán tương ứng stereo 26
Hình 1.14: Chip ASIC (a) board FPGA (b). 27
Hình 1.15: Phân loại các giải thuật thị giác stereo 28
Hình 1.17: Đường biên làm rõ nội dung ảnh 29
Hình 1.16: Đường biên 29
Hình 1.18: Đồng xu với hai màu khác nhau 30
Hình 1.19 : Toán tử Prewitt 30
Hình 1.20 : Ảnh kết quả của toán tử Prewitt 31
Hình 1.21: Toán tử Sobel 31
Hình 1.22 : Biến ñổi Hough 31
Hình 1.23: Biến ñổi Hough trong không gian 3D 32
Hình 2.1: Ảnh kiểm tra Tsukuba (trái) và groundtruth (bên phải) 34
Hình 2.15: Ảnh stereo sau khi chỉnh sửa 50
Hình 2.16: Mô hình cơ bản cho phân vùng ảnh 52
Hình 2.17: Thuật toán SAD lai 55
Hình 2.18: Nội suy bên trong ñường biên 56
Hình 2.19: Tách riêng chi tiết dựa vào ñộ sâu 57
Hình 2.20: Nội suy một ñối tượng 57
Hình 2.21: Đối tượng nội suy bị tách ra 58
Hình 3.1: Khoảng giao nhau của các mặt phẳng 60
Hình 3.2: Mặt phẳng 61
Hình 3.3: Vector pháp tuyến 62
Hình 3.4: Đường ñồng mức 63
Hình 3.5 : Điểm gẫy khúc 64
Hình 3.6: Chướng ngại vật trong ảnh ñộ sâu 66
Hình 4.1: Một số kết quả thực hiện tìm SAD trên ñường biên 68
Hình 4.2: Nội suy bản ñồ chênh lệch với ảnh Cones 69
Hệ thống robot thị giác dẫn
ñường
VR Virtual reality system Hệ thống thực tế ảo
FPGA Field programvnable gate
arrays
Các mảng cổng trường khả
trình
ASIC Application-specific
integrated circuits
Mạch tích hợp ứng dụng
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh 1
Giới thiệu chung
1. Tính cấp thiết của ñề tài:
Trong bối cảnh khoa học công nghệ phát triển mạnh mẽ, theo chủ trương của
Đảng và Nhà nước thì nhiệm vụ nghiên cứu phát triển khoa học công nghệ trở nên
bức thiết hơn bao giờ hết. Có ñặt vai trò làm chủ khoa học và công nghệ lên vị trí
quan trọng hàng ñầu thì mới ñảm bảo mục tiêu hiện ñại hóa công nghiệp hóa ñất
nước.
Nằm một trong những ngành khoa học công nghệ hiện ñại, ngành Rô bốt
ñang trở thành lĩnh vực phát triển hấp dẫn ñầy tiềm năng. Rô bốt có mặt trong nhiều
lĩnh vực thiết yếu và năng ñộng như y tế ñể theo dõi, giúp ñỡ bệnh nhân, trong cứu
hộ cứu nạn, tham gia vào các khâu trong dây truyền sản xuất, lĩnh vực giải trí như
các trò chơi tương tác hình ảnh…
Một xu hướng phát triển mới là rô bốt sử dụng camera thị giác ñể quan sát
như mắt người. Mặc dù việc chiết xuất dữ liệu từ ảnh thị giác là khó khăn hơn là
dùng cảm biến nhưng bù lại thì cách thức này cung cấp cho rô bốt và con người
những dữ liệu trực quan sinh ñộng và ñầy ñủ.
Robot cũng có thể ñược trang bị nhiều cảm biến hình ảnh ñể có thể tính toán
“Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di
ñộng”.
2. Mục tiêu nghiên cứu
2.1 Mục tiêu nghiên cứu tổng quát
Nghiên cứu và triển khai một số thuật toán xử lý ảnh stereo.
Kết quả của ñề tài có thể ứng dụng trên các hệ thống quan sát stereo nói
chung và rôbốt thị giác stereo nói riêng.
2.2 Mục tiêu cụ thể
- Nghiên cứu về hệ thống rôbốt sử dụng ña cảm biến và hệ thống
camera stereo.
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh 3
- Nghiên cứu tổng quát về lý thuyết ảnh, ảnh số, ảnh stereo thị giác.
- Nghiên cứu các kỹ thuật xử lý ảnh cơ bản.
- Nghiên cứu một số thuật toán xử lý ảnh thị giác stereo.
- Triển khai thành công một số thuật toán xử lý ảnh thị giác stereo.
3. Đối tượng và phạm vi nghiên cứu
• Nghiên cứu ñược tiến hành trên ñối tượng
Đối tượng nghiên cứu của ñề tài là các thuật toán xử lý tín hiệu ảnh stereo thị
giác nằm trong khâu tiền xử lý.
• Phạm vi nghiên cứu
Nghiên cứu ñược thực hiện chủ yếu tại Viện ñại học Mở Hà Nội. Ngoài ra,
nghiên cứu cũng có sự hợp tác với một số phòng LAB của Viện Điện tử Viễn
thông, trường Đại học Bách Khoa Hà Nội.
Thời gian thực hiện ñề tài ñược dự kiến tiến hành trong 06 tháng gồm có hai
phần nghiên cứu lý thuyết và tiến hành thực nghiệm.
4. Tổng quan tài liệu
Hệ thống stereo thị giác là hệ thống dùng ñể quan sát môi trường bằng hai
camera thị giác. Bản thân thuật ngữ “stereo” có nguồn gốc từ tiếng Latin có nghĩa là
Hình 1: Quá trình xử lý dữ liệu ảnh stereo thị giác
Trong khâu tiền xử lý, có một ñặc ñiểm chính là khối lượng dữ liệu thu thập
bằng camera rất lớn (lớn hơn nhiều lần so với dữ liệu thu thập bằng cảm biến) nên
việc xử lý chúng ngay từ ñầu là một nhiệm vụ khó khăn ñòi hỏi nhiều tài nguyên
máy tính và tốn nhiều thời gian. Khi di chuyển, rô bốt cần phát hiện nhiều ñối tượng
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh 5
trong ñó ñối tượng quan trọng là ñường ñi. Đường ñi ñược xây dựng bằng các mặt
phẳng cơ bản trong không gian gồm mặt phẳng của mặt ñất, mặt phẳng tường hai
bên. Vì vậy việc phát hiện các mặt phẳng là khâu rất quan trọng.
Do ñó tác giả nhận thấy khâu tiền xử lý là rất quan trọng, cần ñược nghiên
cứu một cách nghiêm túc. Với mong muốn thử sức mình trong một lĩnh vực hiện
ñại, với hy vọng sẽ thu nhận ñược những kiến thức bổ ích, ñóng góp cho ngành
rôbốt của Việt Nam, tác giả mong muốn thực hiện ñề tài: “Nghiên cứu thuật toán
tiền xử lý tín hiệu ảnh thị giác ứng dụng trong rô bốt di ñộng”.
Trong ñề tài tác giả mong muốn giải quyết vấn ñề cải thiện về thời gian và
tài nguyên máy tính khi thực hiện các thuật toán xử lý tín hiệu stereo camera trong
khâu tiền xử lý, trong ñó tập trung vào giai ñoạn tính toán bản ñồ chênh lệch,
phát hiện mặt phẳng và chướng ngại vật.
5. Nội dung, vật liệu và phương pháp nghiên cứu
5.1. Nội dung nghiên cứu:
Luận văn bao gồm 4 chương:
- Chương 1: Nghiên cứu tổng quan về rôbốt cứu hộ và ứng dụng hệ thống
camera stereo thị giác.
- Chương 2: Nghiên cứu thuật toán tìm bản ñồ chênh lệch của cặp ảnh stereo
- Chương 3: Nghiên cứu phương pháp phát hiện mặt phẳng và chướng ngại vật.
- Chương 4: Kết quả thu ñược và ñánh giá, kết luận.
5.2. Phương pháp nghiên cứu:
ñiện tử, các trang web trên Internet.
- Phương pháp xử lý số liệu dựa trên phần mềm bảng tính. Số liệu ñược công
cụ tính toán trích dẫn sang tệp bảng tính ñể thuận tiện cho việc tổng và phân tích.
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh 7
6. Dự kiến kết quả (viết theo từng nội dung nghiên
cứu, dự kiến logíc và khoa học, tính khả thi )
- Nghiên cứu về hệ thống rôbốt sử dụng ña cảm biến và hệ thống camera
stereo.
- Nghiên cứu về các chuẩn ảnh số: nắm bắt ñặc ñiểm từng loại ảnh chuẩn.
- Nghiên cứu các kỹ thuật xử lý ảnh số cơ bản gồm các phép xử lý tiền kỳ và
phép xử lý ảnh hậu kỳ: hiểu các thuật toán xử lý ảnh, thực hiện ñược mã nguồn.
- Nghiên cứu thuật toán Tổng sai lệch tuyệt ñối ứng dụng trong bài toán tìm
bản ñồ chênh lệch của cặp ảnh stereo: hiểu các thuật toán xử lý ảnh, thực hiện ñược
mã nguồn. Phân tích ñược ưu nhược ñiểm. Đưa ra một số giải pháp thực hiện hiệu
quả hơn.
- Xây dựng công cụ tính toán bản ñồ chênh lệch: công cụ cho phép tiến hành
thực nghiệm tiện lợi, nhanh chóng.
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh 8
Chương 1: TỔNG QUAN VỀ ROBOT CỨU HỘ ỨNG
DỤNG HỆ THỐNG CAMERA THỊ GIÁC
1.1. Rôbốt cứu hộ
Robot cứu hộ trước hết là một robot có nhiệm vụ giúp ñỡ các nhân viên cứu
hộ cấp cứu người trong việc khắc phục hậu quả của các thảm họa. Cũng giống
hệ thống robot cứu hộ hiện thời. Chính vì vậy, công nghệ về robot cứu hộ là một
công nghệ luôn phát triển.
1.2. Kiến trúc hệ thống rôbốt
Với yêu cầu về tính năng như trên, một hệ thống rô bốt thị giác dẫn ñường
(RNV) tổng quát có thể ñược minh họa trong sơ ñồ khối Hình 0.3:
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh 11 Hình 0.3: Sơ ñồ khối hệ thống
Với mỗi khối riêng biệt thì thực hiện các chức năng khác nhau. Các chức
năng này bổ sung các tính năng riêng biệt cho Robot.
a. Khối xử lý trung tâm:
Đối với mỗi hệ thống thì khối xử lý trung tâm là một bộ não quyết ñịnh xem
hệ thống ñó hoạt ñộng như thế nào? Đối với mỗi ứng dụng thì cần yêu cầu khác
nhau về tốc ñộ, khả năng xử lý, hỗ trợ các giao tiếp với bên ngoài thông qua các
cảm biến khác nhau.
b. Hệ thống ñịnh vị dẫn ñường:
Để hệ thống có thể hoạt ñộng ñộc lập thì ngoài các nhân tố ảnh hưởng tới hệ
thống RNV như chương trình ñiều khiển, các nhân tố ngoại cảnh,… thì việc có
thông tin chính xác về vị trí hiện tại của robot hướng di chuyển, ñích ñến là một
ñiều rất quan trọng ñể hệ thông RNV hoạt ñộng ñược. Hệ thống này sẽ cung cấp
cho robot các thông tin hữu ích về trạng thái của robot thông qua hệ thống ñịnh vị
GPS và các thông tin này ñược giao tiếp với người sử dụng qua màn hình.
c. Hệ thống Stereo Camera:
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh 12
Để hệ thống hoạt ñộng hiệu quả thì cần phải có những cảm biến thông minh,
và ñây là một trong số ñó. Với hệ thống này thì các tín hiệu hình ảnh về môi trường
robot cứu hộ sử dụng thị giác máy tính. Trong chương này, chúng ta sẽ làm rõ thế
nào là robot cứu hộ, thế nào là dẫn ñường, các phương pháp dẫn ñường và tầm quan
trọng của dẫn ñường ñối với robot cứu hộ. Tiếp theo ñó, hệ thống thị giác máy tính
áp dụng cho việc dẫn ñường sẽ ñược mô tả sơ lược, làm cơ sở cho các phần tiếp
theo của ñồ án.
1.3. Hệ thống dẫn ñường cho robot
Hệ thống dẫn ñường cho robot là một hệ thống kết hợp phần cứng và phần mềm
nhằm tính toán ñường ñi cho robot một cách hợp lý. Có rất nhiều hệ thống dẫn hướng
từng ñược nghiên cứu và ứng dụng rộng rãi sử dụng trong các robot công nghiệp, vệ
tinh, ô tô và nhiều hệ thống tự ñộng khác. Trong những hệ thống ñó, có những hệ thống
khá ñơn giản và cũng có những hệ thống rất phức tạp. Các hệ thống dẫn hướng khác
nhau ñều có những ñặc trưng riêng và có những ứng dụng riêng biệt.
Ngày nay ñã xuất hiện những hệ thống dẫn hướng tổng hợp ñược tạo ra từ
nhiều hệ thống khác nhau. Các hệ thống con trong một hệ thống tổng hợp sẽ bổ
xung thông tin cho nhau, qua ñó có ñược thông tin ñịnh hướng cho robot một cách
chính xác nhất có thể. Các hệ thống tổng hợp thường có chi phí lớn hơn nhưng có
ñộ chính xác cao hơn các hệ thống ñơn lẻ.
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh 14 Hình 0.4 : Một ñường ñi ñược tính toán
1.3.1. Tầm quan trọng của hệ thống dẫn ñường cho robot cứu hộ:
Hệ thống dẫn ñường rất quan trọng ñối với một robot cứu hộ. Nó giúp robot di
chuyển nhanh hơn ñến mục tiêu với những nguy cơ tối thiểu.
Vấn ñề cứu hộ là vấn ñề sống còn. Trong khi các nhân viên cứu hộ ñang tính
ñường ñi ñến nơi nạn nhân mắc kẹt thì mạng sống của nạn nhân ñang bị ñe dọa.
Như vậy, thời gian cứu hộ sẽ ảnh hưởng trực tiếp ñến khả năng sống sót của các nạn
nhân.
những cỗ máy thu thập thông tin hình ảnh giống những cảm biến thông thường, nó
là công nghệ xử lý và lấy thông tin từ các hình ảnh. Lĩnh vực này bao gồm các
phương pháp thu thập, xử lý, phân tích và sự nhận biết hình ảnh. Thông tin xuất ra
từ ñây có thể biểu diễn ở dạng số, biểu tượng…
Một trong những ứng dụng của thị giác máy tính là dẫn ñường cục bộ. Hệ
thống thị giác máy tính sẽ ñưa ra các thông tin hỗ trợ robot tìm ñường hoặc tương
tác với thế giới ngoài. Các thông tin mà hệ thống cung cấp cho robot có thể là thông
tin về bối cảnh 3D, về ñối tượng cụ thể, về chướng ngại vật…
Nghiên cứu phương pháp tính toán ñộ sâu ảnh stereo ứng dụng trong rô bốt di ñộng
Bạch Ngọc Minh 16
1.4.2. Hệ thống dẫn ñường cho robot cứu hộ sử dụng thị giác máy tính
Hệ thống stereo thị giác là hệ thống dùng ñể quan sát môi trường bằng hai
camera thị giác. Bản thân thuật ngữ “stereo” có nguồn gốc từ tiếng Latin có nghĩa là
rắn, chắc chắn. Vậy ta hiểu vấn ñề là ñể thu thập thông tin từ môi trường một cách
chính xác, ñầy ñủ thì hệ thống quan sát cần phải có nhiều camera ñặt ở các góc ñộ
khác nhau. Hệ thống camera thị giác stereo thường ñặt hai camera theo phương nằm
ngang giống như mắt người và mắt của hầu hết các ñộng vật. Các ñối tượng trong
phạm vi quan sát ñược phản chiếu hình ảnh qua thấu kính của mỗi camera lên màn
chắn. Hệ thống thu ñược dữ liệu này gọi là cảnh. Tất nhiên mỗi cảnh gồm có hai
ảnh, tương ứng camera bên trái thì cho ảnh trái và camera bên phải thì cho ảnh phải.
Lúc này các ñối tượng trong cảnh lại ñược hiện thị trong không gian hai chiều. Vấn
ñề là nhờ có quá trình và phương pháp xử lý thích hợp của hệ thống stereo thị giác
này mà các ñối tượng trong môi trường ñược tái tạo trong một phối cảnh không gian
ba chiều. Quá trình này gọi là chuyển ñổi ngược phối cảnh. Quá trình này diễn ra
càng nhanh và chính xác thì càng thuận lợi cho sự di chuyển tới ñích, nhận dạng ñối
tượng… của hệ thống. Đối với bộ óc của con người thì vấn ñề chuyển ñổi phối cảnh
ngược không có gì khó khăn. Tuy nhiên ñối với các máy tính thị giác thì cần phải
giải quyết nhiều vấn ñề phức tạp nhằm ñạt ñược mục ñích khai thác tối ña thông tin
nằm trong cảnh thu nhận ñược.