Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

SJTU CS337 Project: Optimization of ICP-Based Point Cloud Registration Methods

NotificationsYou must be signed in to change notification settings

wzh99/OptICP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

简介

本项目为上海交通大学计算机图形学(CS337)课程大作业,由王梓涵刘权完成。

本小组在现有标准 ICP 和 Go-ICP 代码基础上尝试若干性能优化。

配置

环境

  • Windows 10
  • MSVC 14.0 及以上
  • CMake 3.16

依赖

  • PCL 1.9
  • VTK 8.2
  • Qt 5.12.5
  • Eigen 3.3.7
  • Boost 1.71
  • FLANN 1.7.1

代码

所有源文件位于src 目录下,后续提及的测试函数均在src/main.cpp 中。

标准 ICP

标准 ICP 共有两个实现:一个是在PCL 基础上简化的单线程版本,见SingleThreadedICP;另一个是使用并行算法的优化版本ICP。两者均使用优化版本的 K-d 树进行最近邻点查找。

测试testICP 中考察了并行算法的性能提升。

Go-ICP

Go-ICP 实现在论文作者提供代码基础上改造完成,见GoICP

测试testGoICP 中对 Go-ICP 的配准结果和运行时间进行考察,testFpcsGoicpImprovement 对预先使用 4-PCS 进行初始对齐再使用 Go-ICP 配准的设想进行了探索。

K-d 树

K-d 树共有两个实现:一个是平凡的链接实现,见NaiveKdTree;另一个为进行内存优化的版本KdTree

测试testKdTreeCorrectness 以蛮力搜索结果为标准,验证了各 K-d 树实现的正确性;testKdTreeEfficiency 考察了使用内存优化的性能提升。

DT

DT 共有三个实现,一个是直接使用 K-d 树进行搜索的平凡版本NaiveDT;一个是Go-ICP 中附带的DT3D;第三个是使用线性时间算法的LinearDT

测试testdt 比较了三者构建时间的差异以及精确度差异。

About

SJTU CS337 Project: Optimization of ICP-Based Point Cloud Registration Methods

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp