1. Trang chủ
  2. » Công Nghệ Thông Tin

Phân vùng đối tượng trên point cloud data

80 324 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 80
Dung lượng 2,76 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Nguyễn Ngọc Ánh PHÂN VÙNG ĐỐI TƯỢNG TRÊN POINT CLOUD DATA Chuyên ngành: Kỹ thuật máy tính truyền thông LUẬN VĂN THẠC SĨ KỸ THUẬT KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGÔ LAM TRUNG Hà Nội – Năm 2015 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT LỜI CAM ĐOAN Luận văn thạc sỹ kỹ thuật chuyên ngành Kỹ thuật máy tính truyền thông với đề tài “Phân vùng đối tượng point cloud data”, mã đề tài 2012BMTTT-KT31 hướng dẫn TS Ngô Lam Trung – Viện Công nghệ thông tin truyền thông, Trường Đại học Bách Khoa Hà Nội Trong luận văn nghiên cứu thư viện xử lý ảnh PCL, tập trung sâu vào nghiên cứu vấn đề liên quan đến phân vùng đối tượng liệu đám mây điểm ảnh Tôi – Nguyễn Ngọc Ánh – cam kết Luận văn tốt nghiệp công trình nghiên cứu thân Các kết nêu Luận văn tốt nghiệp trung thực, chép toàn văn công trình khác Hà Nội, ngày 19 tháng 05 năm 2015 Tác giả LVTN Nguyễn Ngọc Ánh Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT LỜI CẢM ƠN Quá trình nghiên cứu luận văn công việc khó khăn từ trước đến mà gặp phải, song cung cấp cho nhiều kiến thức kinh nghiệm quý báu Lời cho xin gửi lời cảm ơn trân trọng tới giảng viên hướng dẫn tôi, tiến sỹ Ngô Lam Trung, thầy tận tình hướng dẫn, bảo cung cấp cho kiến thức tài liệu quý giá suốt trình thực luận văn Nhờ có hướng dẫn tận tình thầy hoàn thành luận văn Đồng thời, xin bày tỏ lòng biết ơn sâu sắc tới thầy, cô giáo trường Đại học Bách Khoa Hà Nội nói chung viện Công nghệ thông tin truyền thông nói riêng, người tận tình giảng dạy truyền đạt cho nhiều kiến thức quý báu suốt trình học tập nghiên cứu vừa qua Cuối cùng, xin cảm ơn gia đình, bạn bè người thân bên tôi, động viên, khuyến khích giúp đỡ suốt trình nghiên cứu, học tập thực luận văn Hà Nội, ngày 19 tháng 05 năm 2015 Tác giả LVTN Nguyễn Ngọc Ánh Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC KÝ HIỆU, CÁC CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC HÌNH VẼ MỞ ĐẦU 10 CHƯƠNG - TỔNG QUAN VỀ ĐÁM MÂY ĐIỂM ẢNH 12 1.1 Khái niệm đám mây điểm ảnh 12 1.2 Lịch sử phát triển 12 1.3 Các ứng dụng đám mây điểm ảnh 13 1.4 Công cụ làm việc 14 1.4.1 Giới thiệu Microsoft Kinect 14 1.4.2 Những thành phần Kinect 15 1.4.3 Tính toán độ sâu 16 1.4.4 Một số đặc tính khác 18 CHƯƠNG - THƯ VIỆN XỬ LÝ ẢNH PCL 20 2.1 Tổng quan thư viện 20 2.2 Cấu trúc liệu PCL 28 2.2.1 Dữ liệu đám mây điểm ảnh 28 2.2.2 Định dạng liệu đám mây điểm ảnh 29 2.3 Mô đun phân vùng đối tượng mô đun tương tác 31 2.3.1 Mô đun tìm kiếm lân cận 31 2.3.2 Mô đun Kdtree 37 2.3.3 Mô đun octree 38 2.3.4 Mô đun phân vùng đối tượng 48 CHƯƠNG - MỘT SỐ THUẬT TOÁN PHÂN VÙNG ĐỐI TƯỢNG 56 3.1 Thuật toán RANSAC 56 3.2 Thuật toán LMEDS 57 CHƯƠNG - XÂY DỰNG VÀ CÀI ĐẶT THỬ NGHIỆM 62 4.1 Các mô hình phân vùng 62 4.1.1 Phân vùng theo mô hình phẳng 62 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT 4.1.2 Phân vùng theo mô hình trụ 65 4.1.3 Phân vùng theo mô hình phát triển lân cận 67 4.1.4 Phân vùng dựa Min-cut 70 4.2 Xây dựng thử nghiệm 72 4.2.1 Mô tả thử nghiệm 72 4.2.2 Quá trình xử lý liệu 72 4.2.3 Kết thực chương trình 74 CHƯƠNG - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 77 TÀI LIỆU THAM KHẢO 79 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT DANH MỤC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Thuật ngữ Mô tả AUX AUXiliary API Application Programming Interface CAD Computer Aided Design Camera IR Máy ảnh hồng CPU Central Processing Unit FLANN Fast Library for Approximate Nearest Neighbors IR IR Infrared MFC Microsoft Foundation Class Library NURBS Non-uniform rational basis spline LMEDS Least Median of Squares RAM Random Access Memory RANSAC RANdom SAmple Consensus RGB Red, Green, Blue SDK Software Development Kit SXGA Super eXtended Graphics Array PCL Point Cloud Library PCD Point cloud data Point cloud Đám mây điểm ảnh Projector IR Đèn chiếu hồng QVGA Quarter Video Graphics Array TOF Time-Of-Flight USB Universal Serial Bus VGA Video Graphics Array VTK Visualization Toolkit Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT DANH MỤC CÁC BẢNG Bảng 1.1: Góc mở tiêu cự RGB máy ảnh hồng ngoại 19 Bảng 1.2: Công suất tiêu thụ Kinect 19 Bảng 2.1: Bảng ví dụ file PCD .31 Bảng 2.2: Bảng mô tả phương pháp trích chọn liệu tập đường bao 3D 50 Bảng 3.1: Bảng mô tả thuật toán RANSAC 57 Bảng 4.1: Bảng mô tả đầu vào thuật toán phân vùng mô hình phẳng 62 Bảng 4.2: Bảng mô tả thuật toán phân vùng mô hình phẳng 63 Bảng 4.3: Bảng mô tả kết thuật toán phân vùng mô hình phẳng .63 Bảng 4.4: Bảng kết thuật toán phân vùng mô hình trụ .67 Bảng 4.5: Bảng mô tả thuật toán phát triển lân cận 70 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT DANH MỤC HÌNH VẼ Hình 1.1: Hình ảnh minh họa đám mây điểm ảnh .12 Hình 1.2: Hình ảnh minh họa đám mây điểm ảnh bốn chiều .12 Hình 1.3: Môt số thiết bị cảm biến ba chiều .14 Hình 1.4: Thiết bị Kinect 14 Hình 1.5: Các thành phần Kinect .15 Hình 1.6: Cấu tạo bên Kinect 16 Hình 1.7: Mẫu hình chiếu cặp cảm biến độ sâu 16 Hình 1.8: Tính toán khoảng cách tới điểm chiếu từ máy chiếu 17 Hình 2.1: Các mô đun thư viện liên kết 20 Hình 2.2: Danh sách mô đun thư viện .21 Hình 2.3: Hình ảnh mô đun ước lượng đặc trưng .22 Hình 2.4: Hình ảnh mô đun lọc 22 Hình 2.5: Thiết bị thu thập liệu 23 Hình 2.6: Hình ảnh mô đun Kdtree 23 Hình 2.7: Hình ảnh mô đun octree 24 Hình 2.8: Hình ảnh mô đun tách mẫu điểm tương đồng 25 Hình 2.9: Hình ảnh bề mặt đối tương 26 Hình 2.10: Hình ảnh chia lưới bề mặt đối tượng .26 Hình 2.11: Hình ảnh chia ranh giới bề mặt .27 Hình 2.12: Hình ảnh cho mô đun hiển thị 27 Hình 2.13: Vẽ hình ba chiều từ điểm phương trình tham số .27 Hình 2.14: Vẽ biểu đồ mô đun hiển thị .28 Hình 2.15: Biểu đồ kế thừa lớp pcl::search::BruteForce< PointT > 31 Hình 2.16: Biểu đồ cộng tác lớp pcl::search::BruteForce< PointT > .31 Hình 2.17: Biểu đồ kế thừa lớp pcl::search::FlannSearch 33 Hình 2.18: Biểu đồ cộng tác lớp pcl::search::FlannSearch .33 Hình 2.19: Biểu đồ kế thừa lớp pcl::search::KdTree 33 Hình 2.20: Biều đồ cộng tác lớp pcl::search::KdTree .34 Hình 2.21: Biểu đồ kế thừa lớp pcl::search::Octree 34 Hình 2.22: Biểu đồ công tác lớp pcl::search::Octree 34 Hình 2.23: Biều đồ kế thừa lớp pcl::search::OrganizedNeighbor 35 Hình 2.24: Biểu đồ cộng tác lớp pcl::search::OrganizedNeighbor 35 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT Hình 2.25: Biểu đồ kế thừa lớp pcl::search::Search 36 Hình 2.26: Biểu đồ cộng tác lớp pcl::KdTree 37 Hình 2.27: Biểu đồ kế thừa lớp pcl::KdTreeFLANN .38 Hình 2.28: Biều đồ cộng tác lớp pcl::KdTreeFLANN 38 Hình 2.29: Biều đồ kế thừa lớp pcl::octree::Octree2BufBase 39 Hình 2.30: Biều đồ cộng tác lớp pcl::octree::Octree2BufBase 39 Hình 2.31: Biều đồ kế thừa lớp pcl::octree::OctreeBase 39 Hình 2.32: Biều đồ cộng tác lớp pcl::octree::OctreeBase 40 Hình 2.33: Biểu đồ kế thừa lớp pcl::octree::OctreeIteratorBase .40 Hình 2.34: Biều đồ cộng tác lớp pcl::octree::OctreeIteratorBase .40 Hình 2.35: Biểu đồ kế thừa lớp pcl::octree::OctreeDepthFirstIterator .41 Hình 2.36: Biểu đồ cộng tác lớp pcl::octree::OctreeDepthFirstIterator 41 Hình 2.37: Biều đồ kế thừa lớp pcl::octree::OctreeBreadthFirstIterator 41 Hình 2.38: Biểu đồ cộng tác lớp pcl::octree::OctreeBreadthFirstIterator 41 Hình 2.39: Biểu đồ kế thừa lớp pcl::octree::OctreeLeafNodeIterator 42 Hình 2.40: Biểu đồ cộng tác lớp pcl::octree::OctreeLeafNodeIterator .42 Hình 2.41: Biểu đồ kế thừa lớp pcl::octree::OctreePointCloud 43 Hình 2.42: Biều đồ cộng tác lớp pcl::octree::OctreePointCloud 43 Hình 2.43: Biều đồ kế thừa lớp pcl::octree::OctreePointCloudAdjacency .44 Hình 2.44: Biểu đồ cộng tác lớp pcl::octree::OctreePointCloudAdjacency .44 Hình 2.45: Biểu đồ kế thừa lớp pcl::octree::OctreePointCloudChangeDetector 44 Hình 2.46: Biểu đồ cộng tác lớp pcl::octree::OctreePointCloudChangeDetector 44 Hình 2.47: Biểu đồ kế thừa lớp pcl::octree::OctreePointCloudDensity 45 Hình 2.48: Biểu đồ cộng tác lớp pcl::octree::OctreePointCloudDensity 45 Hình 2.49: Biểu đồ kế thừa lớp pcl::octree::OctreePointCloudOccupancy 45 Hình 2.50: Biều đồ cộng tác lớp pcl::octree::OctreePointCloudOccupancy 45 Hình 2.51: Biểu đồ kế thừa lớp pcl::octree::OctreePointCloudPointVector 46 Hình 2.52: Biểu đồ cộng tác lớp pcl::octree::OctreePointCloudPointVector 46 Hình 2.53: Biểu đồ kế thừa lớp pcl::octree::OctreePointCloudSinglePoint .46 Hình 2.54: Biểu đồ cộng tác lớp pcl::octree::OctreePointCloudSinglePoint 46 Hình 2.55: Biều đồ kế thừa lớp pcl::octree::OctreePointCloudVoxelCentroid 47 Hình 2.56: Biểu đồ cộng tác lớp pcl::octree::OctreePointCloudVoxelCentroid 47 Hình 2.57: Biểu đồ kế thừa lớp pcl::octree::OctreePointCloudSearch .47 Hình 2.58: Biều đồ cộng tác lớp pcl::octree::OctreePointCloudSearch 47 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT Hình 2.59: Biểu đồ cộng tác lớp pcl::gpu::EuclideanClusterExtraction 48 Hình 2.60: Biểu đồ cộng tác lớp pcl::gpu::EuclideanLabeledClusterExtraction 48 Hình 2.61: Biểu đồ cộng tác lớp pcl::LabeledEuclideanClusterExtraction 49 Hình 2.62: Biểu đồ cộng tác lớp pcl::LabeledEuclideanClusterExtraction 49 Hình 2.63: Biểu đồ cộng tác lớp pcl::ExtractPolygonalPrismData 50 Hình 2.64: Biểu đồ kế thừa lớp pcl::GrabCut 51 Hình 2.65: Biều đồ cộng tác lớp pcl::GrabCut 51 Hình 2.66: Biểu đồ cộng tác lớp pcl::SegmentDifferences .52 Hình 2.67: Biểu đồ kế thừa lớp pcl::SACSegmentation 52 Hình 2.68: Biểu đồ cộng tác lớp pcl::SACSegmentation 53 Hình 2.69: Biểu đồ cộng tác lớp pcl::SupervoxelClustering 54 Hình 2.70: Biểu đồ kế thừa lớp pcl::SACSegmentationFromNormals 54 Hình 2.71: Biểu đồ cộng tác lớp pcl::SACSegmentationFromNormals 55 Hình 3.1: Mô tả thuật toán RANSAC .56 Hình 3.2: Ví dụ công nghệ thùng điểm 60 Hình 3.3: Bản đồ thùng ước lượng khoảng 61 Hình 4.1: Kết xử lý phân vùng theo mô hình phẳng 65 Hình 4.2: Kết phân vùng ảnh theo phương pháp region growin 70 Hình 4.3: Mô tả phân vùng ảnh theo phương pháp min-cut .72 Hình 4.4: Mô hình thực thử nghiệm 72 Hình 4.5: Ảnh thật đối tượng 74 Hình 4.6: Ảnh chiều sâu chụp Kinect qua góc 75 Hình 4.7: Ảnh sau thực giảm mật độ điểm 75 Hình 4.8: Kết phân vùng chương trình 76 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT Kết hiển thị việc xử lý phân vùng: Hình 4.1: Kết xử lý phân vùng theo mô hình phẳng Các trục tọa độ biểu diễn màu đỏ (x), màu xanh (y), màu xanh da trời (z) Các điểm thể màu đỏ giá trị ngoại lai, màu xanh điểm nhô mô hình mặt phẳng tìm thấy 4.1.2 Phân vùng theo mô hình trụ Chương trình thực hiên phân vùng đối tượng cho mô hình trụ, áp dùng cho tập số liệu đầu vào sau:  Các điểm liệu xa 1,5 mét lọc  Bề mặt điểm ước lượng  Một mô hình phẳng (mô tả bảng liệu) phân vùng lưu vào đĩa  Mô hình trụ (mô tả cốc liệu) phân vùng lưu vào đĩa Chương trình sử dụng ước lượng RANSAC để có hệ số trụ, áp đặt ngưỡng khoảng cách từ điểm nhô đến mô hình (≤ 5cm) Ngoài 65 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT chương trình thiết lập tuyến bề mặt ảnh hưởng đến trọng số 0,1 giới hạn bán kính mô hình trụ nhỏ 10 cm Kết chương trình: PointCloud has: 307200 data points PointCloud after filtering has: 139897 data points [pcl::SACSegmentationFromNormals::initSACModel] Using a model of type: SACMODEL_NORMAL_PLANE [pcl::SACSegmentationFromNormals::initSACModel] Setting normal distance weight to 0.100000 [pcl::SACSegmentationFromNormals::initSAC] Using a method of type: SAC_RANSAC with a model threshold of 0.030000 [pcl::SACSegmentationFromNormals::initSAC] Setting the maximum number of iterations to 100 Plane coefficients: header: seq: stamp: 0.000000000 frame_id: values[] values[0]: -0.0161854 values[1]: 0.837724 values[2]: 0.545855 values[3]: -0.528787 PointCloud representing the planar component: 117410 data points [pcl::SACSegmentationFromNormals::initSACModel] Using a model of type: SACMODEL_CYLINDER [pcl::SACSegmentationFromNormals::initSACModel] Setting radius limits to 0.000000/0.100000 [pcl::SACSegmentationFromNormals::initSACModel] Setting normal distance weight to 0.100000 66 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT [pcl::SACSegmentationFromNormals::initSAC] Using a method of type: SAC_RANSAC with a model threshold of 0.050000 [pcl::SampleConsensusModelCylinder::optimizeModelCoefficients] LM solver finished with exit code 2, having a residual norm of 0.322616 Initial solution: 0.0452105 0.0924601 0.790215 0.20495 -0.721649 -0.661225 0.0422902 Final solution: 0.0452105 0.0924601 0.790215 0.20495 -0.721649 -0.661225 0.0396354 Cylinder coefficients: header: seq: stamp: 0.000000000 frame_id: values[] values[0]: 0.0452105 values[1]: 0.0924601 values[2]: 0.790215 values[3]: 0.20495 values[4]: -0.721649 values[5]: -0.661225 values[6]: 0.0396354 PointCloud representing the cylindrical component: 8625 data points Bảng 4.4: Bảng kết thuật toán phân vùng mô hình trụ 4.1.3 Phân vùng theo mô hình phát triển lân cận Thuật toán phát triển vùng thực lớp pcl::RegionGrowing Mục đích thuật toán hợp điểm có đủ gần buộc độ mịn Qua đầu thuật toán tập hợp phần vùng tập điểm coi phần bề mặt độ mịn Thuật toán dựa vào vệc so sánh góc pháp tuyến điểm 67 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT Nguyên lý thuật toán Trước tiên, thuật toán xếp điểm theo giá trị độ cong chúng Nó cần thực vùng bắt đầu phát triển từ điểm có giá trị độ cong tối thiểu Lý cho điều cá điểm có độ cong nhỏ nằm khu vực phẳng (tăng trưởng khu vực phẳng cho phép đểm giảm tổng số vùng) Do ta có đám xếp Cho đến điểm không đánh nhãn đám mây, thuật toán nhặt điểm với giá trị độ cong nhỏ bắt đầu phát triểm vùng Quá trình xảy sau:  Điểm nhặt thêm vào tập gọi hạt giống  Với tất thuật toán tìm điểm giống điểm lân cận Mỗi điểm lân cần kiểm thử với góc điểm bình thường o điểm hạt giống Nếu góc thấp giá trị ngưỡng điểm thêm vào khu vực Sau điểm lân cận kiểm thử cho giá trị độ cong Nếu độ o cong nhỏ giá trị ngưỡng điểm thêm vào hạt giống Hạt giống đươc lấy từ điểm hạt o Nếu tập hạt trở nên trống có nghĩa thuật toán phát triển vùng trình lặp lại từ đầu Việc thực tìm điểm giả mô tả thuật toán đây: Thông tin đầu vào:  Point cloud =  Point normals =  Points curvatures =  Neighbour finding function  Curvature threshold  Angle threshold 68 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT Khởi tạo:  Region list  Available points list Thuật toán:  While is not empty o Current region o Current seeds o Point with minimum curvature in o o o o for to size ( )  Find nearest neighbours of current seed point  for to size ( )  Current neighbour point  If contains and then    If then     end if end if end for o end for o Add current region to global segment list 69 Học viên thực hiện: Nguyễn Ngọc Ánh  end while  Return Lớp: 12BMTTT Bảng 4.5: Bảng mô tả thuật toán phát triển lân cận Hình ảnh mô tả Hình 4.2: Kết phân vùng ảnh theo phương pháp region growin Trên hình ảnh ta thấy màu sắc đám mây có nhiều điểm mày đỏ Điều có nghĩa điểm thuộc nhóm bị từ chối chúng cho có điểm 4.1.4 Phân vùng dựa Min-cut Mô hình phân vùng đối tượng dựa Min-cut thực lớp pcl::MinCutSegmentation Thuật toán tạo phân vùng nhị phân đám mây đầu vào cho trước Có đối tượng tập trung bán kính 70 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT thuật toán phân chia đám mây với tập: điểm lân cận điểm tảng (điểm thuộc đối tượng điểm không thuộc) Chương trình mô tả sau: Các thuật toán đám mây điểm ảnh xây dựng đồ thị chứa tất điểm đơn đám mây tập đỉnh nhiều đỉnh gọi nguồn đáy Mỗi đỉnh đồ thị tương ứng với điểm kết nối với nguồn đáy với cạnh Với đỉnh (trừ nguồn đáy) có cạnh kết nối điểm tương ứng với điểm láng giềng gần Thuật toán gán trọng số cho cạnh Có loại trọng số khác nhau: o Trước tiên gán trọng số cho tất cạnh điểm đám mây Trong số gọi giá trị mịn tính theo công thức: Với khoảng cách điểm Các điểm xa có xác xuất cạnh loại bỏ o Bước thuật toán đặt giá trị liệu Nó bao gồm lỗi lân cận điểm Lân cận trọng số cho cạnh chúng mà kết nối đến điểm đám mây với đỉnh nguồn có giá trị định nghĩa số Điểm gán cho cạnh mà kết nối đến điểm với đỉnh đáy tính theo công thức: Với distanceToCenter khoảng cách đến trung tâm dự kiến đối tượng mặt phẳng ngang: Bán kính công thức tham số đầu vào cho thuật toán tạm coi phạm vi từ bên trung tâm đối tượng của điểm thuộc lân cận (bán kính ngang đối tượng) 71 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT Hình 4.3: Mô tả phân vùng ảnh theo phương pháp min-cut Sau tất bước việc tìm kiếm cắt tối thiểu thực Dựa phân tích này, đám mây chia dựa điểm lân cận điểm 4.2 Xây dựng thử nghiệm 4.2.1 Mô tả thử nghiệm  Sử dụng Microsoft Kinect để thực thu thập liệu đám mây điểm ảnh  Dữ liệu sau nhận từ Kinect lọc qua lọc để giảm mật độ điểm ảnh nhằm tăng tốc độ xử lý  Sau lọc liệu, ta tiến hành phân tích liệu vật thể tách thành nhóm điểm đại diện cho vật thể  Mỗi nhóm điểm đại diện cho vật cản cung cấp thông tin giúp nhận dạng vật cản, tính toán kích thước, khoảng cách đến vật cản để tính toán tránh vật cản 4.2.2 Quá trình xử lý liệu Hình 4.4: Mô hình thực thử nghiệm 72 Học viên thực hiện: Nguyễn Ngọc Ánh  Lớp: 12BMTTT Quán trình thu nhận liệu: Dữ liệu đám mây điểm ảnh thu nhận thông qua thiết bị cảm biến kinect thực hàm pcl::Grabber* interface = new pcl::OpenNIGrabber(); Dữ liệu từ kinect nhập vào hệ thống  Quá trình xử lý Sau thu thập liệu qua Kinect, liệu lọc thực thông qua hàm Voxel_grid Pass_through Voxel grid có tác dụng làm giảm mật độ số điểm xuống, tập hợp điểm gần cần điểm đại diện Ta chọn giá trị mật độ phù hợp mà đảm bảo quan sát rõ hình dạng vật thể Mật độ ta chọn centimet theo ba chiều X, Y Z Hàm hỗ trợ thực : setLeafSize(0.03f, 0.03f, 0.03f); Pass through giới hạn không gian point cloud theo chiều X, Y Z Ở ta giới hạn theo chiều Z Giá trị khoảng cách theo chiều Z mà Kinect nhìn thấy khoảng 0.5÷5.0 mét, tầm nhìn không cần thiết cho chương trình, việc giới hạn lại giúp cho PCL xử lý nhanh Tốc độ thu hình sau kết hợp pass_through voxel_grid đạt giá trị 30 fps, tức đạt tốc độ tối đa Các hàm hỗ trợ thực hiện: setFilterFieldName ("z"); setFilterLimits(0.5, 1.4);  Quá trình phân vùng đối tượng: Quá trình phân vùng đối tượng tách đám mây điểm có cấu trúc phẳng, sau tách đám mây điểm có tổng số điểm lớn nhất, giải thuật RANSAC Với mô hình mặt phẳng α có dạng ax + by + cz + d =0, thuật toán RANSAC làm điều tương tự mô hình đường thẳng, thay chọn hai điểm để tìm mô hình mặt phẳng cần ba điểm Các hàm hỗ trợ thực hiện: 73 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT setModelType(pcl::SACMODEL_PLANE); setMethodType(pcl::SAC_RANSAC); setDistanceThreshold(0.02);//threshold = 2cm Quá trình nhóm điểm đặc trưng thực công việc tách đám mây điểm ảnh có mặt mặt phẳng, tập hợp điểm gần nhóm lại thành đám mây điểm ảnh, nhóm đám mây điểm ảnh đại diện vật thể Các hàm hỗ trợ thực hiện: setInputCloud(cloud_filtered); setIndices(inliers); filter(*cloud_cluster); 4.2.3  Kết thực chương trình Ảnh thật đối tượng: Hình 4.5: Ảnh thật đối tượng 74 Học viên thực hiện: Nguyễn Ngọc Ánh  Lớp: 12BMTTT Ảnh chụp Kinect: Hình 4.6: Ảnh chiều sâu chụp Kinect qua góc  Kết sau thực giảm mật độ điểm ảnh: Hình 4.7: Ảnh sau thực giảm mật độ điểm 75 Học viên thực hiện: Nguyễn Ngọc Ánh  Lớp: 12BMTTT Kết thực phân vùng đối tượng: Hình 4.8: Kết phân vùng chương trình  Nhận xét kết chương trình Như kết hình 4.5, nhóm điểm anh mày đỏ mặt phẳng nhà tìm thuật toán RANSAC Thuật toán phân vùng chương trình thực công việc tách nhóm điểm ảnh có mặt nhà, tập hợp điểm gần nhóm lại thành nhóm điểm ảnh, nhóm điểm đại diện vật thể Hình 4.5 cho ta thấy ba nhóm đối tượng là: nhóm điểm màu vàng nhạt (nhóm nằm gần Kinect) nhóm điểm màu bạc (nhóm điểm nằm xa Kinect) mặt phẳng nhà (nhóm điểm màu đỏ) 76 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT CHƯƠNG - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN a Những kết đạt Với kế hoạch đề ra, tại, luận văn hoàn thành nội dung sau:  Nghiên cứu khái niệm, lịch sử phát triển, ứng dụng point cloud công cụ việc với point cloud data  Nghiên cứu thư viện xử lý ảnh PLC (Point cloud library) gồm nội dung: Môi trường point cloud, cấu trúc liệu PLC, mô đun thư viện đặc biệt nghiên cứu chi tiết mô đun phân vùng đối tượng (Segmentation) với mô đun phụ trợ liên kết với mô đun phân vùng đối tượng point cloud data  Nghiên cứu thuật toán phân vùng đối tượng point cloud data thuật toán RANSAC thuật toán LMEDS Nghiên cứu xây dựng mô hình cho việc phân vùng đối tượng point cloud data  Xây dựng cài đặt chương trình để thử nghiệm thuật toán sử dụng thư viện Nghiên cứu xây dựng thử nghiệm mô hình việc phân vùng đối tượng point cloud data b Những mặt hạn chế Mặc dù luận văn đạt số kết ban đầu, xong bên cạnh thi luận văn tồn số mặt hạn chế sau:  Nội dung nghiên cứu việc kiểm thử luận văn chủ yếu thực với mô đun phân vùng đối tượng số mô đun phụ trợ liên kết với mô đun phân vùng đối tượng, chưa có nghiên cứu chi tiết kiểm thử toàn vẹn thư viện  Nội dung thử nghiệm mô hình thử nghiệm đơn giản chủ yêu thực môi trường phẳng nên việc đánh giá chưa thực khách quan 77 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT c Hướng phát triển Với mong muốn xây dựng mô hình phân vùng đối tượng hoàn chỉnh sau tích hợp toán phân vùng đối tượng cho ứng dụng thiết bị nhận dạng đối tượng, đề tài cần hướng phát triển sau:  Khắc phục hạn chế nêu luận văn liên quan đến mô hình thử nghiệm luận văn  Nghiên cứu, bổ xung thêm mô hình cho việc phân vùng đảm bảo sai số việc phân vùng thấp nhất, đảm bảo cho việc sử dụng liệu phân vùng đối tượng  Nghiên cứu việc ứng dụng vào việc phân vùng đối tượng cho thiết bị việc nhận dạng đối tượng d Kết luận Nghiên cứu vấn đề liên quan đến xử lý ảnh ba chiều nói chung nghiên cứu thư việc PCL nói riêng công việc thú vị đầy khó khăn công nghệ đồng thời xu hướng phát triển công nghệ xử lý ảnh tương lai Trong phạm vi luận văn này, kết đạt bước khởi đầu nghiên cứu phát triển lâu dài với định hướng phát triển tương lai Mặc dù nhiều hạn chế việc nghiên cứu mô hình thử nghiệm với nỗ lực thì việc thực luận văn xem kết xứng cho nỗ lực Tôi hi vọng rằng, lý thuyết kết đạt luận văn tham khảo tiếp tục phát triển với người yêu thích lĩnh vực xử lý ảnh nói chung việc xử lý ảnh đối tượng ba chiều nói riêng Cuối cùng, lần muốn gửi lới cám ơn tới thầy TS Ngô Lam Trung tận tình bảo, tạo điều kiện giúp đỡ trình thực luận văn thầy cô viện Công nghệ thông tin truyền thông giúp đỡ có kết ngày hôm 78 Học viên thực hiện: Nguyễn Ngọc Ánh Lớp: 12BMTTT TÀI LIỆU THAM KHẢO [1] http://en.wikipedia.org/wiki/Kinect [2] http://en.wikipedia.org/wiki/RANSAC [3] https://github.com/PointCloudLibrary/pcl/wiki [4] http://research.microsoft.com/en-us/um/people/zhang/INRIA/Publis/TutorialEstim/node25.html [5] http://research.microsoft.com/en-us/um/people/zhang/INRIA/Publis/TutorialEstim/node25.html [6] http://openni.org/Documentation [7] http://pointcloud.org [8] http://www.ros.org/wiki/kinect_calibration/technical [9] http://www.primesense.com/en/technology [10] Radu Bogdan RUSU PointCloud(2) processing in ROS May 2, 2010 79 ... phân vùng đối tượng liệu đám mây điểm ảnh Nghiên cứu thuật toán phân vùng đối tường liệu đám mây điểm ảnh từ đưa mô hình cho việc phân vùng đối tượng, xây dựng thử nghiệm mô hình phân vùng đối tượng. .. ảnh, mô đun thư viện đặc biệt mô đun phân vùng đối tượng Chương - Một số thuật toán phân vùng đối tượng Nghiên cứu chi tiết hai thuật toán phân vùng đối tượng phổ biến RANSAC LMEDS Chương - Xây... tất điểm có kiểu pointT Kiểu PointT pcl::PointXYZ, pcl::PointXYZRGB, pcl::PointXYZRGBA… Ví dụ: pcl::PointCloud cloud; std::vector data = cloud. points; Is_dense(bool):

Ngày đăng: 26/07/2017, 21:05

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w