|
45 | 45 | [examplelink]: https://github.com/url-kaist/patchwork-plusplus/tree/master/examples |
46 | 46 |
|
47 | 47 | ## :package: Prerequisite packages |
48 | | -> You may need to install Eigen, numpy, and Open3D. Open3D is used for point cloud visualization. |
| 48 | +> What we need are just minimal dependencies. |
49 | 49 |
|
50 | | -```bash |
51 | | -# Install prerequisite packages including Open3D |
52 | | -$ git clone https://github.com/url-kaist/patchwork-plusplus |
53 | | -$ cd patchwork-plusplus |
54 | | -$ bash scripts/install_open3d.bash |
55 | | -``` |
56 | | - |
57 | | -<details> |
58 | | -<summary> Manual Installation line-by-line </summary> |
59 | | - |
60 | | -```bash |
61 | | -# To install Eigen and numpy |
62 | | -$ sudo apt-get install libeigen3-dev |
63 | | -$ pip install numpy |
64 | | - |
65 | | -# To install Open3D Python packages |
66 | | -$ pip install open3d |
67 | | - |
68 | | -# To install Open3D C++ packages |
69 | | -$ git clone https://github.com/isl-org/Open3D |
70 | | -$ cd Open3D |
71 | | -$ util/install_deps_ubuntu.sh # Only needed for Ubuntu |
72 | | -$ mkdir build && cd build |
73 | | -$ cmake .. |
74 | | -$ make # If it fails, try several times or try 'sudo make' |
75 | | -$ sudo make install |
| 50 | +```commandline |
| 51 | +sudo apt-get install g++ build-essential libeigen3-dev python3-pip python3-dev cmake -y |
76 | 52 | ``` |
77 | 53 |
|
78 | 54 | </details> |
79 | 55 |
|
80 | | -## :gear: How to build |
81 | | -> Please follow below codes to build Patchwork++. |
| 56 | +## :gear: How to build & Run |
82 | 57 |
|
83 | 58 | ### Python |
84 | | -```bash |
85 | | -# in patchwork-plusplus directory |
86 | | -$ cd python && pip install . |
87 | | -``` |
88 | 59 |
|
89 | | -### C++ |
90 | | -```bash |
91 | | -# in patchwork-plusplus directory |
92 | | -$ mkdir cpp/build && cd cpp/build |
93 | | -$ cmake .. |
94 | | -$ make |
| 60 | +**Pure installation** |
| 61 | + |
| 62 | +```commandline |
| 63 | +make pyinstall |
95 | 64 | ``` |
96 | 65 |
|
97 | | -## :runner: To run the demo codes |
98 | | -> There are some example codes for your convenience! |
99 | | -> Please try using Patchwork++ to segment ground points in a 3D point cloud :smiley: |
| 66 | +Then, you can use Patchwork++ by `import pypatchworkpp`, which is super simple! |
100 | 67 |
|
101 | | -### Python |
102 | | -```bash |
103 | | -# Run patchwork++ and visualize ground points(green) and nonground points(red) |
104 | | -$ python examples/demo_visualize.py |
| 68 | +**Installation to run demo** |
| 69 | + |
| 70 | +Only Open3D (> 0.17.0) is additionally installed for visualization purposes. |
105 | 71 |
|
106 | | -# Run patchwork++ with sequential point cloud inputs |
107 | | -$ python examples/demo_sequential.py |
| 72 | +```commandline |
| 73 | +make pyinstall_with_demo |
108 | 74 | ``` |
109 | 75 |
|
| 76 | +How to run Python demos is explained [here](https://github.com/url-kaist/patchwork-plusplus/tree/master/python/README.md#Demo). |
| 77 | + |
110 | 78 | ### C++ |
111 | | -```bash |
112 | | -# Run patchwork++ and visualize ground points(green) and nonground points(red) |
113 | | -$ ./examples/demo_visualize |
114 | 79 |
|
115 | | -# Run patchwork++ with sequential point cloud inputs |
116 | | -$ ./examples/demo_sequential |
| 80 | +**Pure installation** |
| 81 | + |
| 82 | +```commandline |
| 83 | +make cppinstall |
| 84 | +``` |
| 85 | + |
| 86 | +**Installation with demo** |
| 87 | + |
| 88 | +Only Open3D (> 0.17.0) is additionally installed for visualization purposes. |
117 | 89 |
|
118 | | -# Run patchwork++ with your point cloud file, example here |
119 | | -$ ./examples/demo_visualize ./data/000000.bin # specify file path |
| 90 | +```commandline |
| 91 | +make cppinstall_with_demo |
120 | 92 | ``` |
121 | 93 |
|
122 | | -### Demo Result |
123 | | -If you execute Patchwork++ with given demo codes well, you can get the following result! |
| 94 | +How to run the C++ demos is explained [here](https://github.com/url-kaist/patchwork-plusplus/tree/master/cpp). |
| 95 | + |
| 96 | +### ROS2 |
| 97 | + |
| 98 | +You should not need any extra dependency, just clone and build: |
| 99 | + |
| 100 | +```commandline |
| 101 | +cd colcon_ws/src && git clone |
| 102 | +cd ../../ |
| 103 | +colcon build --packages-select patchworkpp |
| 104 | +``` |
124 | 105 |
|
125 | | -It is a ground segmentation result of data/000000.bin file using Open3D visualization. (Ground : Green, Nonground : Red) |
| 106 | +How to launch ROS2 nodes is explained [here](https://github.com/url-kaist/patchwork-plusplus/tree/master/cpp). |
126 | 107 |
|
127 | | - |
128 | 108 |
|
129 | 109 | ## :pencil: Citation |
130 | 110 | If you use our codes, please cite our paper ([arXiv][arXivLink], [IEEE *Xplore*][patchworkppIEEElink]) |
@@ -168,3 +148,12 @@ If you have any questions, please do not hesitate to contact us |
168 | 148 |
|
169 | 149 | [sjlink]: https://github.com/seungjae24 |
170 | 150 | [htlink]: https://github.com/LimHyungTae |
| 151 | + |
| 152 | + |
| 153 | +--- |
| 154 | + |
| 155 | +## Todo List |
| 156 | +- [ ] Support intensity for RNR in `master` branch |
| 157 | +- [ ] Support `Patchwork` mode for users who use this repository for baseline comparison purposes |
| 158 | +- [ ] Integrate TBB and optimize the performance |
| 159 | + |
0 commit comments