1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Đồ án hcmute) ước lượng quỹ đạo chuyển động của robot dựa trên ảnh đơn

64 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 64
Dung lượng 6 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT ĐIỆN TỬ TRUYỀN THÔNG ƯỚC LƯỢNG QUỸ ĐẠO CHUYỂN ĐỘNG CỦA ROBOT DỰA TRÊN ẢNH ĐƠN GVHD: PGS.TS TRẦN THU HÀ SVTH : ĐINH VIỆT HÒA SKL010000 Tp Hồ Chí Minh, tháng 7/2016 TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ BỘ MƠN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ƢỚC LƢỢNG QUỸ ĐẠO CHUYỂN ĐỘNG CỦA ROBOT DỰA TRÊN ẢNH ĐƠN NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG Sinh viên: ĐINH VIỆT HỊA MSSV: 12141084 TP HỒ CHÍ MINH – 07/2016 TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ BỘ MƠN KỸ THUẬT MÁY TÍNH - VIỄN THƠNG ĐỒ ÁN TỐT NGHIỆP ƢỚC LƢỢNG QUỸ ĐẠO CHUYỂN ĐỘNG CỦA ROBOT DỰA TRÊN ẢNH ĐƠN NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG Sinh viên: ĐINH VIỆT HÒA MSSV: 12141084 Hƣớng dẫn: PGS.TS TRẦN THU HÀ TP HỒ CHÍ MINH – 07/2016 iv LỜI CẢM ƠN Em xin đƣợc gửi lời cảm ơn chân thành đến quý Thầy Cô Khoa Điện – Điện Tử, quý Thầy Cô thuộc Bộ mơn Kỹ thuật Máy tính - Viễn Thơng giảng dạy truyền đạt kiến thức chuyên ngành cho em thời gian vừa qua Đặc biệt em xin gửi lời cảm ơn sâu sắc tới Cô Trần Thu Hà tận tình hƣớng dẫn nhƣ tạo điều kiện thuận lợi cho ngƣời thực đồ án để c thể thực hoàn thành đề tài Mặc dù c nhiều cố gắng nỗ lực thực hiện, nhƣng kiến thức nhƣ khả thân nhiều hạn chế nên q trình thực đề tài khơng thể tránh khỏi sai phạm, thiếu s t…Rất mong nhận đƣợc góp ý, dẫn từ q Thầy Cơ bạn Sinh viên thực đề tài Đinh Việt Hịa v TĨM TẮT Trong đề tài này, tác giả thực ƣớc lƣợng quỹ đạo chuyển động robot dựa ảnh đơn Đề tài tập trung tìm hiểu mơ hình chung hệ thống ƣớc lƣợng quỹ đạo chuyển động robot từ hình ảnh (Visual Odometry) Bên cạnh đ , giải thuật xử lý ảnh nhƣ dị tìm điểm đặc trƣng FAST, theo vết đặc trƣng Lucas-Kanade, lý thuyết hình học Epipolar, giải thuật năm-điểm David Nister đƣợc tìm hiểu Sau đ , ngƣời thực đề tài thực hoá lý thuyết tìm hiểu, xây dựng phần mềm ƣớc lƣợng quỹ đạo chuyển động với ngõ vào ảnh đơn dùng thƣ viện lập trình OpenCV, với ngơn ngữ C++ Từ khố: Visual Odometry, Ƣớc lƣợng quỹ đạo, giải thuật năm-điểm vi MỤC LỤC Danh mục hình viii Danh mục bảng ix Các từ viết tắt x CHƢƠNG GIỚI THIỆU 1.1 TỔNG QUAN VỀ HƢỚNG NGHIÊN CỨU 1.2 TÍNH CẤP THIẾT, Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN 1.3 MỤC TIÊU CỦA ĐỀ TÀI 1.4 NỘI DUNG VÀ GIỚI HẠN ĐỀ TÀI 1.4.1 Nội dung đề tài 1.4.2 Giới hạn đề tài 1.5 PHƢƠNG PHÁP NGHIÊN CỨU 1.6 BỐ CỤC CỦA KHOÁ LUẬN TỐT NGHIỆP CHƢƠNG LƢU ĐỒ CỦA HỆ THỐNG, DỮ LIỆU ẢNH ĐẦU VÀO 2.1 LƢU ĐỒ CỦA HỆ THỐNG 2.1.1 Dò theo vết đặc trƣng ảnh 2.1.2 Ƣớc lƣợng quỹ đạo chuyển động robot 2.1.3 Dựng quỹ đạo chuyển động 2.2 DỮ LIỆU ẢNH ĐẦU VÀO CHƢƠNG DÒ TÌM VÀ BÁO THEO CÁC ĐIỂM ĐẶC TRƢNG ẢNH 11 3.1 CHUYỂN ĐỔI ẢNH XÁM 11 3.2 DỊ TÌM ĐẶC TRƢNG ẢNH 12 3.2.1 Áp dụng phƣơng pháp học máy vào dò 13 3.2.2 Giải thuật Non-maximal Suppression 14 3.3 THEO VẾT ĐẶC TRƢNG ẢNH 14 3.3.1 Mơ hình hình chóp theo vết đặc trƣng 17 3.3.2 Tính toán optical flow theo phƣơng pháp lặp 18 3.3.3 Tính tốn điểm ảnh phụ 22 3.3.4 Theo vết đặc trƣng nằm viền ảnh 24 CHƢƠNG ƢỚC LƢỢNG QUỸ ĐẠO CHUYỂN ĐỘNG CỦA ROBOT 25 4.1 HÌNH HỌC EPIPOLAR 25 vii 4.1.1 Ràng buộc Epipolar ma trận cốt yếu E 25 4.1.2 Tính chất ma trận cốt yếu E 27 4.2 ƢỚC LƢỢNG QUỸ ĐẠO CHUYỂN ĐỘNG 30 CHƢƠNG KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 35 5.1 PHẦN CỨNG, PHẦN MỀM 35 5.2 CHUYỂN ĐỔI ẢNH XÁM 36 5.3 DÒ TÌM CÁC ĐIỂM ĐẶC TRƢNG 36 5.4 THEO VẾT CÁC ĐẶC TRƢNG 38 5.5 ƢỚC LƢỢNG QUỸ ĐẠO CHUYỂN ĐỘNG 40 CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 43 6.1 KẾT LUẬN 43 6.1.1 Kết đạt đƣợc 43 6.1.2 Hạn chế 43 6.2 HƢỚNG PHÁT TRIỂN 44 PHỤ LỤC A MÃ NGUỒN CHƢƠNG TRÌNH 45 TÀI LIỆU THAM KHẢO 49 viii DANH MỤC HÌNH Hình 2.1 Lƣu đồ hệ thống Visual Odometry luận văn Hình 2.2 Phƣơng tiện thu thập liệu KITTI Hình 2.3 Một số ảnh liệu KITTI 10 Hình 2.4 Minh hoạ quỹ đạo chuẩn cùa liệu KITTI 10 Hình 3.1 Minh hoạ hệ màu RGB 11 Hình 3.2 Ảnh chụp điểm đặc trƣng p 12 Hình 3.3 Lƣu 16 điểm ảnh bao quanh điểm đặc trƣng vào vector u 13 Hình 3.4 Ảnh minh hoạ ảnh I theo giả thiết 15 Hình 3.5 Ảnh minh hoạ dùng mơ hình hình ch p để mơ tả ảnh 16 Hình 3.6 Ảnh minh hoạ cho vùng ảnh có toạ độ khơng ngun 22 Hình 3.7 Ảnh minh hoạ trình theo vết đặc trƣng 24 Hình 4.1 Ảnh minh hoạ ràng buộc Epipolar 26 Hình 4.2 Mối quan hệ điểm 3D, ảnh, đƣờng epipolar epipoles 27 Hình 4.3 Lƣu đồ giải thuật năm điểm Nister 31 Hình 4.4 Minh hoạ cách chi nh m năm-điểm 32 Hình 5.1 Logo thƣ viện OpenCV 35 Hình 5.2 Ảnh ban đầu 36 Hình 5.3 Ảnh xám sau chuyển đổi 36 Hình 5.4 Các điểm đặc trƣng tìm đƣợc bỏ qua non-maximal suppression 37 Hình 5.5 Các điểm đặc trƣng tìm đƣợc có non-maximal suppression 37 Hình 5.6 Ảnh phóng to điểm đặc trƣng 38 Hình 5.7 Mối quan hệ kích thƣớc cửa sổ thời gian thực 38 Hình 5.8 Các điểm đặc trƣng khung hình thứ 39 Hình 5.9 Các điểm đặc trƣng theo vết khung hình thứ hai 39 Hình 5.10 Số điểm đặc trƣng 50 khung hình 40 Hình 5.11 Kết thử nghiệm với hệ số tỉ lệ s khác 40 Hình 5.12 Kết thử nghiệm với hệ số tỉ lệ s khác (tiếp theo) 40 Hình 5.13 Vị trí có sai số ƣớc lƣợng lớn 41 Hình 5.14 Kết ƣớc lƣợng với 700 khung hình 42 ix Hình 5.7 Ảnh phóng to điểm đặc trưng 5.4 THEO VẾT CÁC ĐẶC TRƢNG Khi xác định đƣợc vector optical flow, ta theo vết đƣợc điểm đặc trƣng khung hình Việc lựa chọn kích thƣớc cửa sổ tích hợp ảnh hƣởng đến thời gian ƣớc lƣợng Qua thực nghiệm ngƣời thực luận văn thu đƣợc kết sau: Hình 5.8 Mối quan hệ kích thước cửa sổ thời gian thực Việc lựa chọn cửa sổ tích hợp c kích thƣớc nhỏ 14 14 làm kết ƣớc lƣợng bị sai số nhiều nên không đƣợc xét Lý lúc giải thuật theo vết không đủ không gian để quét hàm dƣ   D  công thức (3.5) Xét mặt 38 thời gian kích thƣớc 16 16 cho thời gian xử lý ngắn (85.8196s), kích thƣớc 24  24 (144.123s) Tuy nhiên, ta cần ƣu tiên độ xác quỹ đạo ƣớc lƣợng đƣợc, thử nghiệm, ngƣời thực xác định đƣợc kích thƣớc cửa sổ tích hợp 21 21 cho kết ƣớc lƣợng tốt gần Hình 5.9 khung hình với điểm đặc trƣng xác định đƣợc Tiếp theo, điểm đặc trƣng đƣợc theo vết khung hình thứ hai hình 5.10 Ở hình thứ nhất, ta thu đƣợc 3383 điểm đặc trƣng Tiếp theo, điểm đƣợc theo vết hình thứ hai, kết thu đƣợc 3209 điểm Nhƣ vậy, số điểm nằm vùng rìa khung hình thứ khơng đƣợc tìm thấy hình thứ hai nên bị loại bỏ Hình 5.9 Các điểm đặc trưng khung hình thứ Hình 5.10 Các điểm đặc trưng theo vết khung hình thứ hai Số lƣợng điểm đặc trƣng thu đƣợc 50 khung hình đƣợc mơ tả hình 5.11 Sở dĩ c thay đổi số lƣợng điểm qua khung hình, số điểm đặc trƣng khơng đƣợc tìm thấy nên bị loại bỏ, số điểm khác lại đƣợc phát 39 Hình 5.11 Số điểm đặc trưng 50 khung hình 5.5 ƢỚC LƢỢNG QUỸ ĐẠO CHUYỂN ĐỘNG Sau tính đƣợc ma trận xoay R vector tịnh tiến T , ta dùng công thức (4.50), (4.51) để ƣớc lƣợng quỹ đạo chuyển động Trong công thức (4.51), hệ số tỉ lệ s thu đƣợc cách thử nhiều lần Hình 5.12 5.13 mơ tả quỹ đạo chuyển động ƣớc lƣợng đƣợc với s tƣơng ứng, với ngƣỡng dị điểm đặc trƣng 24, kích thƣớc cửa sổ 21 21 Phép thử đƣợc thực 550 ảnh đơn Đƣờng màu đỏ nét liền đƣờng quỹ đạo chuẩn, liệu KITTI cung cấp Đƣờng nét đứt màu xanh đƣờng quỹ đạo giải thuật ƣớc lƣợng đƣợc Cả hai quỹ đạo đƣợc tính đơn vị mét Hình 5.12 Kết thử nghiệm với hệ số tỉ lệ s khác a) s=0.65 b) s=0.67 c) s=0.7 40 Hình 5.13 Kết thử nghiệm với hệ số tỉ lệ s khác (tiếp theo) d) s=0.75 e) s=0.76 f) s=0.769 g) s=0.78 Khi quan sát, ta thấy, ứng với trƣờng hợp s = 0.769, quỹ đạo ƣớc lƣợng đƣợc tốt Sau so sánh giá trị chuẩn ƣớc lƣợng, ngƣời thực thu đƣợc sai số lớn quỹ đạo điểm A giá trị  xVO , yVO    168.929, 224.112  Tƣơng ứng vị trí đ , giá trị chuẩn  xGT , yGT    172.084700, 218.099300 Nhƣ vậy, sai số lớn quỹ đạo ƣớc lƣợng đƣợc  x , y    3.1557, 6.0127  Vị trí điểm A đƣợc đánh dấu hình trịn hình 5.14 Hình 5.14 Vị trí có sai số ước lượng lớn 41 Khi tăng số khung hình từ 550 lên 700, thông số đƣợc giữ nguyên, ta thu đƣợc kết hình 5.15: Hình 5.15 Kết ước lượng với 700 khung hình Quỹ đạo ƣớc lƣợng bất đầu tăng độ sai lệch vào khúc cua Vấn đề đƣợc gọi trƣợt tỉ lệ (scale drift) Đây điểm hạn chế việc ƣớc lƣợng quỹ đạo dựa hình ảnh đơn Lý giải thuật ƣớc lƣợng tỉ lệ cách sử dụng hình ảnh c kích thƣớc giữ nguyên (tức đƣợc cân chỉnh), phần quỹ đạo đƣợc xác định trƣớc đ Nếu ta để ý, (4.50), (4.51) biểu thức cộng dồn, đ sai số quỹ đạo đƣợc ƣớc lƣợng tích luỹ tăng dần lên Một ma trận R T bị xác định sai, tồn phần quỹ đạo sau đ sai theo 42 CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 6.1 KẾT LUẬN 6.1.1 Kết đạt đƣợc Sau trình khảo sát thực đề tài, tác giả thu đƣợc số kết nhƣ sau: - Tác giả thiết kế mô đƣợc quỹ đạo chuyển động robot từ hình ảnh đơn, liệu đầu vào đƣợc thu từ camera gắn liền robot (hoặc xe) sử dụng giải thuật phát điểm đặc trƣng FAST, theo vết đặc trƣng KanadeLucas-Tomasi, ƣớc lƣợng năm-điểm David Nister - Tác giả nghiên cứu ứng dụng lý thuyết hình học Epipolar, xác định đƣợc ma trận cốt yếu E, trích xuất ma trận xoay R vector dịch chuyển T để xác định vị trí, dựng quỹ đạo chuyển động robot (giới hạn số ảnh chụp từ camera 550 ảnh) - Tác giả dùng phƣơng pháp thử sai, xác định đƣợc hệ số tỉ lệ s quỹ đạo 0.769, từ đ xác định đƣợc quỹ đạo c độ xác cao, sai số lớn  x , y    3.1557, 6.0127  (tính theo đơn vị mét) - Hiện thực hoá lý thuyết tìm hiểu nghiên cứu, xây dựng phần mềm ƣớc lƣợng quỹ đạo chuyển động từ ảnh đơn Kết ƣớc lƣợng quỹ đạo tƣơng đối tốt 6.1.2 Hạn chế - Các kết thử nghiệm đƣợc thực máy tính, với liệu có sẵn, dừng lại mức độ đánh giá, chƣa thể ứng dụng thực tế - Chƣa tính tự động đƣợc hệ số tỉ lệ s quỹ đạo dựa ảnh đầu vào - Sai số thiết kế mô tăng lên di chuyển qua vùng có khúc cua gấp Lý lúc cảnh khung hình thay đổi nhiều, số lƣợng điểm đặc trƣng theo vết đƣợc ít, đ việc xác định ma trận xoay R vector tịnh tiến T khơng xác có thơng tin 43 - Kết tốt thử nghiệm với lƣợng ảnh vừa phải Lý việc xác định quỹ đạo có tính chất cộng dồn, di chuyển quãng đƣờng dài (nhiều ảnh), sai số tích luỹ dần, làm quỹ đạo bị sai lệch 6.2 HƢỚNG PHÁT TRIỂN - Tiếp tục tìm hiểu, nghiên cứu chuyên sâu hơn, tối ƣu hoá giải thuật để xây dựng hoàn thiện hệ thống ƣớc lƣợng quỹ đạo từ ảnh - Sử dụng camera nổi, để xác định đƣợc vị trí robot - Đánh giá giải thuật với hình ảnh thu thập từ thực tế, từ đ triển khai thiết bị nhƣ robot tự hành, xe ô tô tự động lái, thiết bị dẫn đƣờng, 44 PHỤ LỤC A MÃ NGUỒN CHƢƠNG TRÌNH #include "opencv2/video/tracking.hpp" #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/features2d/features2d.hpp" #include "opencv2/calib3d/calib3d.hpp" #include #include #include #include #include #include #include #include #include using namespace cv; using namespace std; #define MAX_FRAME 550 #define MIN_NUM_FEAT 2000 int main( int argc, char** argv ) { double z; Mat img_1, img_2; Mat R_f, t_f; ofstream myfile; myfile.open ("results1_1.txt"); ofstream featurepoint; featurepoint.open ("featurepoint.txt"); double scale = 1.00; 45 char filename1[200]; char filename2[200]; sprintf(filename1, "/home/hoaviet/mono-vo/11/%06d.png", 0); sprintf(filename2, "/home/hoaviet/mono-vo/11/%06d.png", 1); char text[100]; int fontFace = FONT_HERSHEY_PLAIN; double fontScale = 1; int thickness = 1; cv::Point textOrg(10, 50); Mat img_1_c = imread(filename1); Mat img_2_c = imread(filename2); if ( !img_1_c.data || !img_2_c.data ) { std::cout

Ngày đăng: 25/09/2023, 08:47

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w