Skip to content

Commit cd3e7db

Browse files
committed
docs(readme): show Patchwork++ as the ROS 2 default + advertise eval harness
ROS 2 section: - Make explicit that `ros2 launch patchworkpp patchworkpp.launch.py` alone runs Patchwork++; only `algorithm:=patchwork` opts into the classic algorithm. The launch file's LaunchConfiguration default is already "patchworkpp" (ros/launch/patchworkpp.launch.py:20), so this is a doc fix, not a behavioural change. What's-in-this-repo: - Add a bullet for python/examples/evaluate_semantickitti.py and note that the two algorithms use different SemanticKITTI evaluation protocols (Patchwork paper counts low-z vegetation as ground; Patchwork++ paper Sec. IV.A excludes vegetation entirely because the SemanticKITTI `vegetation` label mixes spurious leaves / branches with low ground cover). Point at USAGE.md §1 and §4 for the protocol switch and per-sequence numbers. Docs-only; no version bump.
1 parent 26b4c01 commit cd3e7db

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
- C++ source code of Patchwork++ ([patchworkpp][sourcecodelink])
4242
- Python binding of Patchwork++ using pybind11 ([python_wrapper][wraplink])
4343
- Examples codes of [C++][cppexamplelink], [Python][pyexamplelink], and [ROS2][rosexamplelink] :thumbsup:
44+
- A transparent, reproducible **SemanticKITTI evaluation harness** for both Patchwork and Patchwork++ ([`python/examples/evaluate_semantickitti.py`][evallink]). The two algorithms use **different evaluation protocols** — the original Patchwork paper counts low-z vegetation as ground while the Patchwork++ paper excludes vegetation entirely (Sec. IV.A), because the SemanticKITTI `vegetation` label mixes spurious leaves/branches with low ground cover and a single ground/non-ground choice is impractical. The script supports both protocols via `--eval_protocol {patchwork, patchworkpp}` and reproduces each paper's Table I within ±0.2 F1; see [`USAGE.md`][usagelink] §1 and §4 for the full reasoning and per-sequence numbers.
4445

4546
> If you are familiar with ROS1, you can also visit [here][roslink] and try executing ROS1-based Patchwork++!
4647
@@ -135,9 +136,13 @@ pp_default = p.patchworkpp(p.Parameters()) # Patchwork++
135136
pp_classic = p.patchwork(p.PatchworkParams()) # Patchwork (classic)
136137
```
137138

138-
**ROS2:**
139+
**ROS2:** Patchwork++ is the default; pass `algorithm:=patchwork` to switch to the classic Patchwork.
139140

140141
```bash
142+
# Default — runs Patchwork++
143+
ros2 launch patchworkpp patchworkpp.launch.py
144+
145+
# Override to the classic Patchwork
141146
ros2 launch patchworkpp patchworkpp.launch.py algorithm:=patchwork
142147
```
143148

@@ -193,6 +198,7 @@ ______________________________________________________________________
193198

194199
[arxivlink]: https://arxiv.org/abs/2207.11919
195200
[cppexamplelink]: https://github.com/url-kaist/patchwork-plusplus/tree/master/cpp
201+
[evallink]: python/examples/evaluate_semantickitti.py
196202
[htlink]: https://github.com/LimHyungTae
197203
[patchworkarxivlink]: https://arxiv.org/abs/2108.05560
198204
[patchworkieeelink]: https://ieeexplore.ieee.org/document/9466396
@@ -203,4 +209,5 @@ ______________________________________________________________________
203209
[roslink]: https://github.com/url-kaist/patchwork-plusplus-ros
204210
[sjlink]: https://github.com/seungjae24
205211
[sourcecodelink]: https://github.com/url-kaist/patchwork-plusplus/tree/master/cpp/patchworkpp
212+
[usagelink]: USAGE.md
206213
[wraplink]: https://github.com/url-kaist/patchwork-plusplus/tree/master/python/patchworkpp

0 commit comments

Comments
 (0)