Thư viện PCL bao gồm các module:
- Filter: Thư viện phục vụ các chức năng thực thi các bộ lọc cơ bản trong xử lý đám mây điểm như giảm mẫu, lọc theo khoảng cách, trích xuất index, chiếu, …
- Feature: Thư viện phục vụ thực thi trích xuất các đặc trưng hình học trong không gian ba chiều như ước lượng pháp tuyến và độ cong, moment, PFH và FPFH, đặc trưng NARF, VFH, RIFT, …
- I/O: Thư viện phục vụ thực thi các chức năng vào/ra của chương trình như đọc, ghi đám mây điểm từ ổ đĩa.
- Phân đoạn: Thư viện phục vụ thực thi phân đoạn đám mây điểm, bao gồm các chức năng như khớp mô hình hình học, ghép nhóm, RANSAC, …
- Registration: Thư viện phục vụ thực thi các phương pháp ghép đám mây điểm như ICP.
- Keypoints: Thư viện phục vụ thực thi các phương pháp tìm kiếm và trích xuất đặc điểm trong đám mây điểm.
- Rangeimage: Thư viện hỗ trợ tạo ảnh tầm xa (range image) từ dữ liệu đám mây điểm.
4.2. Thƣ viện mở libsvm
LIBSVM [6] là một thư viện mã nguồn mở về học máy, được phát triển bởi trường Đại học Quốc gia Đài Loan. Thư viện libsvm cung cấp việc thực hiện giải thuật tối thiểu tuần tự (SMO – sequential minimal optimization) cho SVM với kernel, sử dụng cho các bài toán phân loại và phân tích hồi quy. Thư viện libsvm gốc được viết trên ngôn ngữ C++. Mã nguồn của libsvm được sử dụng lại trong một số bộ công cụ về học máy như trong Matlab, OpenCV, …
4.3. Sơ đồ chƣơng trình
Hình 4.2 trình bày sơ đồ giải thuật của chương trình được thực hiện trong luận văn. Chương trình gồm ba thành phần chính:
- Tiền xử lý: bao gồm các bước giảm mẫu, lọc nhiễu, tách bề mặt khỏi vật thể.
- Tìm đặc trưng điểm: bao gồm có ước lượng véc tơ pháp tuyến và tính toán đặc trưng PFH.
- Nhận dạng bề mặt: Sử dụng mô hình SVM để kiểm tra, phân loại các dạng bề mặt.