Xây dựng thử nghiệm

Một phần của tài liệu Phân vùng đối tượng trên point cloud data (Trang 73)

4.2.1. Mô tả thử nghiệm

 Sử dụng Microsoft Kinect để thực hiện thu thập dữ liệu đám mây điểm ảnh.

 Dữ liệu sau khi nhận về từ Kinect sẽ được lọc qua bộ lọc để giảm mật độ điểm ảnh nhằm tăng tốc độ xử lý.

 Sau khi lọc dữ liệu, ta sẽ tiến hành phân tích các dữ liệu về vật thể có thể tách ra thành các nhóm điểm đại diện cho vật thể.

 Mỗi nhóm điểm đại diện cho một vật cản và 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 để có thể tính toán tránh vật cản.

4.2.2. Quá trình xử lý dữ liệu

Quán trình thu nhận dữ liệu:

Dữ liệu đám mây điểm ảnh được thu nhận thông qua thiết bị cảm biến kinect được thực hiện bởi hàm pcl::Grabber* interface = new pcl::OpenNIGrabber(); Dữ liệu từ kinect sẽ được nhập vào trong hệ thống.

Quá trình xử lý

Sau khi thu thập dữ liệu qua Kinect, thì dữ liệu sẽ được lọc được thực hiện thông qua các hàm Voxel_grid và Pass_through.

Voxel grid có tác dụng làm giảm mật độ số điểm xuống, tập hợp các điểm quá

gần nhau sẽ chỉ cần một điểm đại diện. Ta chọn giá trị mật độ phù hợp mà vẫn đảm bảo quan sát rõ hình dạng vật thể. Mật độ ta chọn ở đây là 3 centimet theo ba chiều X, Y và Z.

Hàm hỗ trợ thực hiện : setLeafSize(0.03f, 0.03f, 0.03f);

Pass through sẽ giới hạn không gian của point cloud theo các chiều X, Y và Z.

Ở đây ta chỉ giới hạn theo chiều Z. Giá trị khoảng cách theo chiều Z mà Kinect có thể nhìn thấy khoảng 0.5÷5.0 mét, đây là tầm nhìn không cần thiết cho chương trình, việc giới hạn lại sẽ giúp cho PCL xử lý nhanh hơn. Tốc độ thu hình sau khi kết hợp pass_through và 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 sẽ tách các đám mây điểm có cấu trúc phẳng, sau đó tách ra các đám mây điểm có tổng số điểm lớn nhất, bằng 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 cũng làm được điều tương tự như đối với mô hình đường thẳng, thay vì chọn hai điểm bất kỳ để tìm mô hình thì mặt phẳng cần ba điểm.

setModelType(pcl::SACMODEL_PLANE); setMethodType(pcl::SAC_RANSAC);

setDistanceThreshold(0.02);//threshold = 2cm

Quá trình nhóm các điểm đặc trưng sẽ thực hiện công việc tách các đám mây điểm ảnh có mặt trên mặt phẳng, tập hợp các điểm gần nhau sẽ được nhóm lại thành một đám mây điểm ảnh, mỗi một nhóm đám mây điểm ảnh đại diện một 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 quả thực hiện chương trình

Ảnh thật của các đối tượng:

Ảnh được chụp bằng Kinect:

Hình 4.6: Ảnh chiều sâu chụp bằng Kinect qua góc

Kết quả sau khi thực hiện giảm mật độ điểm ảnh:

Kết quả thực hiện phân vùng đối tượng:

Hình 4.8: Kết quả phân vùng của chương trình

Nhận xét kết quả chương trình (adsbygoogle = window.adsbygoogle || []).push({});

Như kết quả hình 4.5, các nhóm điểm anh mày đỏ là mặt phẳng nền nhà được tìm ra bởi thuật toán RANSAC.

Thuật toán phân vùng trong chương trình sẽ thực hiện công việc tách các nhóm điểm ảnh có mặt trên nền nhà, tập hợp các điểm gần nhau sẽ được nhóm lại thành một nhóm điểm ảnh, mỗi nhóm điểm đại diện một vật thể. Hình 4.5 cho ta thấy được ba nhóm đối tượng là: nhóm điểm màu vàng nhạt (nhóm nằm gần Kinect) và nhóm điểm màu bạc (nhóm điểm nằm xa Kinect) trên mặt phẳng nền nhà (nhóm điểm màu đỏ).

CHƯƠNG 5 - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN a. Những kết quả đạt được

Với kế hoạch đề ra, cho đến hiện tại, luận văn này đã hoàn thành được những nội dung sau:

 Nghiên cứu các khái niệm, lịch sử phát triển, các ứng dụng của point cloud và công cụ là việc với point cloud data.

 Nghiên cứu thư viện xử lý ảnh PLC (Point cloud library) gồm các nội dung: Môi trường của point cloud, cấu trúc dữ liệu cơ bản của PLC, các mô đun trong bộ thư viện đặc biệt nghiên cứu chi tiết về mô đun phân vùng đối tượng (Segmentation) cùng với các mô đun phụ trợ và liên kết với mô đun phân vùng đối tượng trên point cloud data.

 Nghiên cứu các thuật toán phân vùng đối tượng trên point cloud data như thuật toán RANSAC và thuật toán LMEDS. Nghiên cứu và xây dựng các mô hình cho việc phân vùng đối tượng trên point cloud data.

 Xây dựng và cài đặt chương trình để thử nghiệm các thuật toán sử dụng trong thư viện. Nghiên cứu xây dựng thử nghiệm các mô hình trong việc phân vùng đối tượng trên point cloud data.

b. Những mặt còn hạn chế

Mặc dù luận văn đã đạt được một số kết quả ban đầu, xong bên cạnh đó thi luận văn này vẫn còn tồn tại một số mặt hạn chế sau:

 Nội dung nghiên cứu và việc kiểm thử trong luận văn chủ yếu được thực hiện với mô đun phân vùng đối tượng và một 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 và kiểm thử trên toàn vẹn bộ thư viện.

 Nội dung thử nghiệm và các mô hình thử nghiệm còn đơn giản chủ yêu thực hiện trong môi trường phẳng nên việc đánh giá chưa thực sự khách quan.

c. Hướng phát triển

Với mong muốn xây dựng các mô hình phân vùng đối tượng hoàn chỉnh và sau đó là tích hợp trong các bài toán phân vùng đối tượng cho các ứng dụng của các thiết bị nhận dạng đối tượng, đề tài cần những hướng phát triển sau:

 Khắc phục các hạn chế đã được nêu trên của luận văn liên quan đến các mô hình thử nghiệm trong luận văn.

 Nghiên cứu, bổ xung thêm các mô hình cho việc phân vùng đảm bảo sai số của việc phân vùng là thấp nhất, đảm bảo cho việc sử dụng các dữ liệu đã được 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 các thiết bị trong việc nhận dạng đối tượng.

d. Kết luận

Nghiên cứu về những vấn đề liên quan đến xử lý ảnh ba chiều nói chung và nghiên cứu về thư việc PCL nói riêng là một công việc hết sức thú vị nhưng cũng đầy khó khăn bởi đây là một công nghệ mới đồng thời cũng là xu hướng phát triển của công nghệ xử lý ảnh trong tương lai. Trong phạm vi của luận văn này, những kết quả đạt được mới chỉ là bước khởi đầu trong những nghiên cứu và phát triển lâu dài cùng với những định hướng phát triển trong tương lai. Mặc dù còn nhiều hạn chế trong việc nghiên cứu các mô hình thử nghiệm nhưng với nỗ lực của mình thì thì việc thực hiện trong luận văn này có thể được xem như một kết quả xứng đang cho những nỗ lực đó. Tôi hi vọng rằng, những lý thuyết và kết quả đạt được trong luận văn này có thể được tham khảo và tiếp tục phát triển với những người yêu thích trong lĩnh vực xử lý ảnh nói chung và việc xử lý ảnh và đối tượng ba chiều nói riêng. Cuối cùng, một lần nữa tôi muốn gửi lới cám ơn tới thầy TS. Ngô Lam Trung đã tận tình chỉ bảo, tạo điều kiện giúp đỡ tôi trong quá trình thực hiện luận văn cùng các thầy cô trong viện Công nghệ thông tin và truyền thông đã giúp đỡ tôi có kết quả ngày hôm nay.

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/Tutorial- Estim/node25.html [5] http://research.microsoft.com/en-us/um/people/zhang/INRIA/Publis/Tutorial- Estim/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

Một phần của tài liệu Phân vùng đối tượng trên point cloud data (Trang 73)