Xây dựng bản đồ 3d trong không gian chưa xác định sử dụng camera kinect

82 19 0
Xây dựng bản đồ 3d trong không gian chưa xác định sử dụng camera kinect

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG XÂY DỰNG BẢN ĐỒ 3D TRONG KHÔNG GIAN CHƯA XÁC ĐỊNH SỬ DỤNG CAMERA KINECT GVHD: ThS NGUYỄN TẤN NHƯ SVTH: LƯU VĂN TÂN MSSV: 12141201 SVTH: DƯƠNG MINH QUANG MSSV: 12141623 SKL 0 4 Tp Hồ Chí Minh, tháng 07/2016 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: XÂY DỰNG BẢN ĐỒ 3D TRONG KHÔNG GIAN CHƯA XÁC ĐỊNH SỬ DỤNG CAMERA KINECT GVHD: ThS Nguyễn Tấn Như SVTH: Lưu Văn Tân MSSV: 12141201 SVTH: Dương Minh Quang MSSV: 12141623 Tp Hồ Chí Minh - 7/2016 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ-CÔNG NGHIỆP - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: XÂY DỰNG BẢN ĐỒ 3D TRONG KHÔNG GIAN CHƯA XÁC ĐỊNH SỬ DỤNG CAMERA KINECT GVHD: ThS Nguyễn Tấn Như SVTH: Lưu Văn Tân MSSV: 12141201 SVTH: Dương Minh Quang MSSV: 12141623 Tp Hồ Chí Minh – 7/2016 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên Họ tên: Dương Minh Quang MSSV: 12141623 Tel: 01223935930 Email: 12141623@student.hcmute.edu.vn Họ tên: Lưu Văn Tân MSSV: 12141210 Tel: 01223120047 Email: 12141210@student.hcmute.edu.vn Thông tin đề tài Tên đề tài: XÂY DỰNG BẢN ĐỒ TRONG KHÔNG GIAN CHƯA XÁC ĐỊNH SỬ DỤNG CAMERA KINECT Mục đích đề tài: Hồn thành việc xây dựng đồ 3D khơng gian việc sử dụng camera Kinect thuật toán xử lý Đồ án tốt nghiệp thực tại: Bộ môn Điện Tử Viễn Thông, Khoa Điện - Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh Thời gian thực hiện: Từ 3/2016 đến 7/2016 Các nhiệm vụ cụ thể đề tài - Tìm hiểu ROS (Robot Operating System) - Tìm hiểu phương thức xử lý ảnh sử dụng OpenCV PCL - Chuyển đổi liệu ảnh 2D có từ cảm biến Kinect sang ảnh 3D - Nhận diện điểm đặc trưng sử dụng thuật toán SIFT - Ghép điểm tương đồng đám mây 3D Lời cam đoan sinh viên Chúng Dương Minh Quang Lưu Văn Tân cam đoan ĐATN cơng trình nghiên cứu thân chúng tơi hướng dẫn thạc sỹ Nguyễn Tấn Như Các kết công bố ĐATN trung thực khơng chép từ cơng trình khác Tp.HCM, ngày tháng năm 2016 SV thực đồ án Dương Minh Quang Lưu Văn Tân Xác nhận Bộ Môn Tp.HCM, ngày tháng năm2016 Giáo viên hướng dẫn (Ký ghi rõ họ tên học hàm học vị) i TRƯỜNG ĐẠI HỌC SPKT TPHCM Khoa Điện - Điện Tử Bộ Môn Điện Tử Công Nghiệp CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc Tp Hồ Chí Minh, ngày tháng năm 2016 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Lưu Văn Tân Lớp: 12141DT1D MSSV: 12141201 Họ tên sinh viên 2: Dương Minh Quang Lớp: 12141DT1D MSSV: 12141623 Tên đề tài: XÂY DỰNG BẢN ĐỒ TRONG KHÔNG GIAN CHƯA XÁC ĐỊNH SỬ DỤNG CAMERA KINECT Tuần/ngày Tuần 01/04/2016 Tuần 11/04/2016 12-15/04/2016 Tuần 18-22/04/2016 Tuần 27-30/04/2016 Tuần 02/05/2016 03-04/05/2016 05-06/05/2016 Tuần 09/05/2016 11/05/2016 Tuần 16-19/05/2015 Tuần 23-24/05/2016 Nội dung Xác nhận GVHD Gặp giáo viên hướng dẫn, chọn đề tài Cài đặt chương trình cơng cụ để sử dụng cho đề tài (Ubuntu 14.04, ROS Indigo) Tìm hiểu ROS phần (filesystem, stack, package, service ) Tìm hiểu ROS phần nâng cao (Computation Graph, node, message, topic, Bags ) Viết số chương trình ví dụ mà sử dụng ROS để làm quen với công cụ ROS Tìm hiểu visuazilation (cloudviewer) Nghiên cứu lọc, passthrough, voxelgrid Nghiên cứu lọc extract indices, remove outdier Cài đặt gói hỗ trợ driver cho Kinect (OpenNI), chụp ảnh vật mẫu Tìm hiểu điểm đặc trưng (keypoint) Nghiên cứu thuật tốn tìm điểm đặc trưng SIFT Tìm hiểu ma trận dịch chuyển tìm tương quan hai đám mây điểm Tuần 30/05/2016 ii 01/06/2016 Tuần 10 06-07/06/2016 08/06/2016 Tuần 11 15/06/2016 Tiến hành chụp ảnh xử lý ghép lọc vật mẫu, thu thập vật mẫu Tiến hành lọc tìm mặt phẳng vector điểm Tiến hành viết luận văn (nội dung sở lý thuyết) Tiến hành tìm điểm mơ tả điểm đặc trưng Tuần 12 Tiến hành tìm điểm tương đồng, ma trận dịch chuyển, ghép liệu lại với Viết luận văn Tuần 13 Chỉnh sửa hoàn thành luận văn GV HƯỚNG DẪN (Ký ghi rõ họ tên) iii LỜI CAM ĐOAN Đề tài tự thực dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình có trước Người thực đề tài Dương Minh Quang Lưu Văn Tân iv LỜI CẢM ƠN Lời đầu tiên, chúng em xin gửi đến Thầy, ThS Nguyễn Tấn Như lời cảm ơn chân thành sâu sắc Nhờ có hướng dẫn giúp đỡ tận tình Thầy suốt thời gian qua, chúng em thực hoàn thành Đồ Án Tốt Nghiệp Những lời nhận xét, góp ý hướng dẫn tận tình Thầy giúp chúng em có định hướng đắn suốt trình thực đề tài, giúp chúng em nhìn ưu khuyết điểm đề tài bước hoàn thiện Đồng thời, chúng em xin trân trọng cảm ơn Thầy Cô Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh nói chung khoa Điện – Điện tử nói riêng dạy dỗ chúng em suốt quãng thời gian ngồi ghế giảng đường Đại học Những lời giảng Thầy Cô bục giảng trang bị cho chúng em kiến thức giúp chúng em tích lũy thêm kinh nghiệm Bên cạnh đó, xin cảm ơn hỗ trợ giúp đỡ bạn bè thời gian học tập Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh q trình hồn thành luận văn tốt nghiệp Cuối cùng, chúng chân thành cảm ơn động viên hỗ trợ gia đình cha mẹ suốt thời gian học tập Đặc biệt, chúng xin gửi lời cảm ơn trân trọng đến cha mẹ, người sinh nuôi dưỡng chúng nên người Sự quan tâm, lo lắng hy sinh lớn lao cha mẹ động lực cho chúng cố gắng phấn đấu đường học tập Một lần nữa, chúng xin gửi đến cha mẹ biết ơn sâu sắc Người thực đề tài Dương Minh Quang Lưu Văn Tân v MỤC LỤC TRANG NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ii LỜI CAM ĐOAN iv LỜI CẢM ƠN v MỤC LỤC vi LIỆT KÊ HÌNH VẼ ix LIỆT KÊ BẢNG xi TÓM TẮT xii Chương TỔNG QUAN 13 1.1 ĐẶT VẤN ĐỀ 13 1.2 MỤC TIÊU 14 1.3 NỘI DUNG NGHIÊN CỨU 15 1.4 GIỚI HẠN 15 1.5 BỐ CỤC 15 Chương CƠ SỞ LÝ THUYẾT 17 2.1 HỆ ĐIỀU HÀNH ROS – ROBOT OPERATING SYSTEM 17 2.1.1 Giới thiệu tổng quan ROS 17 2.1.2 Trao đổi liệu ROS 18 2.2 THUẬT TOÁN SIFT – SCALE INVARIAN FEATURE TRANSFORM 19 2.2.1 Xác định điểm đặc trưng ảnh 19 2.2.2 Mơ tả đặc tính điểm đặc trưng 23 2.2.3 Nhận dạng cặp điểm tương đồng hai ảnh 2D 24 2.3 TÍNH MA TRẬN HOMOGRAPHY BẰNG THUẬT TỐN RANSAC 25 2.3.1 Thuật tốn RANSAC 25 vi 2.3.2 Giới thiệu ma trận Homography 26 2.3.3 Tính ma trận Homography thuật tốn RANSAC 27 2.4 CÁC PHÉP BIẾN ĐỔI TRONG TỌA ĐỘ BA CHIỀU VÀ PHƯƠNG PHÁP GHÉP CÁC ĐÁM MÂY 3D 28 2.4.1 Phép tịnh tiến 29 2.4.2 Phép xoay 29 2.4.3 Ghép cặp điểm tương đồng hai đám mây 3D 31 2.4.4 Ghép cặp điểm tương đồng nhiều đám mây 3D 33 2.5 NGUYÊN LÍ ĐO ĐỘ SÂU CỦA CAMERA KINECT 34 2.5.1 Giới thiệu camera Kinect 34 2.5.2 Những thành phần Kinect 34 2.5.3 Thông số kỹ thuật camera Kinect 35 2.5.4 Nguyên lí đo độ sâu 36 2.6 CHUYỂN ĐỔI DỮ LIỆU ẢNH 2D THU ĐƯỢC TỪ CAMERA KINECT THÀNH ẢNH 3D 38 Chương THIẾT KẾ 40 3.1 SƠ ĐỒ KHỐI TỔNG QUÁT CỦA CHƯƠNG TRÌNH XỬ LÝ 40 3.2 SƠ ĐỒ KHỐI QUY TRÌNH XỬ LÝ CỦA CHƯƠNG TRÌNH VẼ BẢN ĐỒ 41 Chương THI CÔNG HỆ THỐNG 43 4.1 LƯU ĐỒ GIẢI THUẬT 43 4.2 KẾT QUẢ THI CÔNG 45 4.2.1 Thu thập liệu từ Kinect 45 4.2.2 Tìm điểm đặc trưng vật thể ảnh RGB dùng thuật toán SIFT 48 4.2.3 Tìm cặp điểm đặc trưng tương đồng hai ảnh RGB 50 4.2.4 Xác định điểm đặc trưng hai đám mây 3D 51 4.2.5 Xác định cặp tương đồng hai đám mây 3D tương ứng với cặp điểm tương đồng hai ảnh RGB 51 vii SỐ LƯỢNG ĐIỂM ĐẶC TRƯNG CHƯƠNG KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ BIỂU ĐỒ THỂ HIỆN CHÊNH LỆCH SỐ LƯỢNG ĐIỂM ĐẶC TRƯNG 1200 1000 1052 929 840 914 718 652 800 600 960 848 462 497 459 445 459 777 441 837 831 542 529 492 400 200 10 KHUNG HÌNH Số lượng điểm đặc trưng lối tự nhiên Số lượng điểm đặc trưng lối xếp nhiều chi tiết Hình 5.12 Biểu đồ thống kê chênh lệch số lượng điểm đặc trưng khung hình chụp Đồng thời từ Bảng 5.4, nhóm biểu đồ thống kê Hình 5.12 để so sánh chênh lệch số lượng điểm đặc trưng cửa khung hình tương ứng Ta thấy Hình 5.12 số lượng điểm đặc trưng khung hình chụp khơng gian lối xếp có nhiều chi tiết nhiều hẳn số lượng điểm đặc trưng khung hình chụp khơng gian lối tự nhiên Điều cho ta biết đồ không gian 3D xây dựng cách chi tiết hơn, xác hồn thiện khơng gian có nhiều đặc điểm chi tiết Đối với vùng khơng gian có chi tiết khơng có chi tiết, đồ xây dựng tái khơng xác bị sai lệch với không gian thực tế nhiều so với không gian có nhiều chi tiết BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 65 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Đề tài hồn thành việc xây dựng thành cơng không gian chưa xác định thành đồ 3D, cụ thể không gian phịng học Bên cạnh đó, đề tài trình bày sở lí thuyết phương pháp để xây dựng thành công đồ 3D từ không gian chưa biết kết hợp sử dụng camera Kinect Từng khung ảnh 2D xử lí thuật toán SIFT để xác định điểm đặc trưng cặp điểm tương đồng khung ảnh 2D Từ đó, tìm điểm đặc trưng cặp điểm tương đồng tương ứng đám mây 3D Sau ghép đám 3D dựa vào cặp điểm tương đồng đám mây lớn thể khung cảnh vùng không gian nhiều Cảm biến Kinect có giá thành rẻ nhiều so với cảm biến 3D loại, có khả quan sát tương tự mắt người, thuật tốn sử dụng cảm biến Kinect để xác định vùng khơng gian di chuyển có ứng dụng rộng rãi lĩnh vực nhận dạng định vị khơng gian Cụ thể hơn, nhắc tới ứng dụng cho Robot tự hành giúp Robot vừa di chuyển vừa chụp hình mơ tả lại vùng khơng gian mà di chuyển đồ 3D dựng lên Như nói đầu đề tài, để Robot tự hành hoạt động tốt việc phức tạp, với đề tài góp phần vào việc xây dựng phần Robot Đề tài chạy thực nghiệm việc xây dưng lại khơng gian phịng học với điều kiện mơi trường tốt Nhóm di chuyển camera Kinect đoạn ngắn, chụp lại ảnh khung cảnh xử lí Để đảm bảo đạt kết tốt trình thực lặp lại nhiều lần kết so sánh với để rút kết luận Kết cho thấy đồ 3D sau hồn thành chi tiết hình ảnh vùng không gian tương đối rõ ràng Nhưng bên cạnh cịn khuyết điểm cần cải tiến thuật tốn để đồ sau xây dựng hồn thiện tốt BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 66 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.2 HƯỚNG PHÁT TRIỂN Đối với đề tài “Xây dựng đồ không gian chưa xác định sử dụng camera Kinect” hướng để phát triển thêm Bên cạnh việc mà đề tài thực cịn có khuyết điểm tồn Đầu tiên phải nhắc đến hệ thống phần cứng để chạy thực nghiệm đề tài, việc phải chạy thực nghiệm với máy tính có cấu hình phần cứng trung bình tốn nhiều thời gian phải đợi máy tính chạy thuật tốn xử lí tương đối phức tạp Nếu muốn dựng không gian lớn với thời gian hồn thành nhanh cần phải có hệ thống phần cứng đủ mạnh để thực thuật tốn xử lí cách nhanh chóng Bên cạnh yếu tố phần cứng vấn đề phần mềm, đề tài nhóm sử dụng thuật toán SIFT để xác định điểm đặc trưng cặp điểm tương đồng ta tìm hiểu sử dụng thuật tốn khác có khả tương tự xử lí nhanh hơn, xác hiệu Cuối cùng, yếu tố môi trường ảnh chụp từ camera Kinect mà hình ảnh khơng gian 3D sau dựng lên cịn bị nhiễu bị sai lệch so với thực tế Để có kết đồ 3D hồn hảo, cần loại bỏ yếu tố gây nhiễu đồ 3D việc kết hợp thuật toán lọc nhiễu để xử lí khơng gian 3D trước cho kết cuối BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 67 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] Shinya OGAWA, Kajiro WATANABE, Kazuyuki KOBAYASHI, “2D Mapping of a Closed Area by a Range Sensor”, SICE, 2002 [2] Felix Endres, Jurgen Hess, J ă urgen Sturm, Daniel Cremers, and Wolfram Burgard, “3-D Mapping With an RGB-D Camera”, IEEE Transactions On Robotics, 2013 [3] Peter Beňo, František Duchoň, Michal Tölgyessy, Peter Hubinský, Martin Kajan, “3D map reconstruction with sensor Kinect”, 23rd International Conference on Robotics in Alpe-Adria-Danube Region, 2014 [4] Hesham Ibrahim, Mohamed Ahmed Omara, Khairul Salleh Mohamed Sahari, “Indoor Mapping using Kinect and ROS”, International Symposium on Agents, Multi-agent Systems and Robotics (ISAMSR), 2015 [5] Morgan Quigley, Brian Gerkey, William D Smart, Programming Robots with ROS: A Practical Introduction to the Robot Operating System, O'Reilly Media, 2015 [6] Samarth Brahmbhatt, “Practical OpenCV”, Apress, 2013 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 68 PHỤ LỤC PHỤ LỤC #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace cv; ////////////////////////////////////////////////////////////////////////////////// typedef pcl::PointXYZRGB PointType; typedef pcl::PointCloud PointCloud; PointCloud::Ptr inputCloud (new PointCloud); PointCloud::Ptr outputCloud (new PointCloud); PointCloud::Ptr firstCloud (new PointCloud); PointCloud::Ptr secondCloud (new PointCloud); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 69 PHỤ LỤC Mat inputImage; Mat firstImage; Mat secondImage; bool initial = true; pcl::visualization::PCLVisualizer viewer; ros::Publisher cloud_pub; ros::Publisher image_pub; ////////////////////////////////////////////////////////////////////////////////// void cloud_cb (const sensor_msgs::PointCloud2ConstPtr& inputROSCloud) { pcl::fromROSMsg (*inputROSCloud, *inputCloud); viewer.removePointCloud ("outputCloud"); viewer.addPointCloud (outputCloud, "outputCloud"); viewer.spinOnce (); return; } ////////////////////////////////////////////////////////////////////////////////// cv_bridge::CvImagePtr cv_ptr; void image_cb (const sensor_msgs::ImageConstPtr& msg) { cv_ptr = cv_bridge::toCvCopy (msg, sensor_msgs::image_encodings::BGR8); inputImage = cv_ptr->image; imshow ("ImageVisualization", inputImage); return; } ////////////////////////////////////////////////////////////////////////////////// void detectMatchingImagePoints ( Mat FirstImage, Mat SecondImage, vector &FirstMatchingImagePoints, vector &SecondMatchingImagePoints) { std::cout

Ngày đăng: 11/12/2021, 21:27

Tài liệu cùng người dùng

Tài liệu liên quan