-
Notifications
You must be signed in to change notification settings - Fork 6
/
index.html
585 lines (494 loc) · 24.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="description"
content="TRLO: An Efficient LiDAR Odometry with 3D Dynamic Object Tracking and Removal">
<meta name="keywords" content="TRLO: An Efficient LiDAR Odometry with 3D Dynamic Object Tracking and Removal">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>TRLO</title>
<!-- Bootstrap -->
<link rel="stylesheet" href="./web/static/css/bootstrap-4.4.1.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-PYVRSFMDRL"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-PYVRSFMDRL');
</script>
<link href="https://fonts.googleapis.com/css?family=Google+Sans|Noto+Sans|Castoro"
rel="stylesheet">
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<link rel="stylesheet" href="./web/static/css/bulma.min.css">
<link rel="stylesheet" href="./web/static/css/bulma-carousel.min.css">
<link rel="stylesheet" href="./web/static/css/bulma-slider.min.css">
<link rel="stylesheet" href="./web/static/css/fontawesome.all.min.css">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css">
<link rel="stylesheet" href="./web/static/css/index.css">
<link rel="icon" href="./web/static/images/logo.webp">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script defer src="./web/static/js/fontawesome.all.min.js"></script>
<script src="./web/static/js/bulma-carousel.min.js"></script>
<script src="./web/static/js/bulma-slider.min.js"></script>
<script src="./web/static/js/index.js"></script>
<script src="./web/static/js/app.js"></script>
<script src="./web/static/js/video_comparison.js"></script>
<link rel="stylesheet" href="./web/static/css/dics.original.css">
<script src="./web/static/js/event_handler.js"></script>
<script src="./web/static/js/dics.original.js"></script>
</head>
<body>
<section class="hero">
<div class="hero-body">
<div class="container is-max-desktop">
<div class="columns is-centered">
<div class="column has-text-centered">
<h1 class="title is-1 publication-title" style="margin-bottom: 0"><img src="web/static/images/logo.png" width="80"> <strong>TRLO</strong></h1>
<br>
<h2 class="title is-3 publication-title" style="margin-top: 0; margin-bottom: 0">An Efficient LiDAR Odometry with 3D Dynamic Object Tracking and Removal</h2>
<!-- <br> -->
<div class="ral2025" style="margin-top: 10px; margin-bottom: 20px;">
<h2 class="title is-4">IEEE Transactions on Instrumentation and Measurement 2025</h2>
</div>
<div class="is-size-5 publication-authors">
<span class="author-block">
<a href="https://yaepiii.github.io/">Yanpeng Jia</a><sup>1,2</sup></span>
<span class="author-block">
<a href="https://people.ucas.ac.cn/~siawangting1">Ting Wang</a><sup>1*</sup>
</span>
<a href="http://xieyuanli-chen.com/">Xieyuanli Chen</a><sup>3</sup>
</span>
<span class="author-block">
<a href="https://people.ucas.edu.cn/~shaoshiliang">Shiliang Shao</a><sup>1</sup>
</span>
</div>
<!-- <br> -->
<div class="column is-full_width">
<h2 class="is-size-6">* corresponding author</h2>
</div>
<div class="is-size-5 publication-authors">
<span class="author-block"><sup>1</sup>Shenyang Institute of Automation</span>
<span class="author-block"><sup>2</sup>University of Chinese Academy of Sciences</span>
<span class="author-block"><sup>3</sup>National University of Defense Technology</span>
</div>
<div class="column has-text-centered">
<div class="publication-links">
<!-- PDF Link. -->
<span class="link-block">
<a href="https://arxiv.org/abs/2410.13240"
class="external-link button is-normal is-rounded is-dark">
<span class="icon">
<i class="fas fa-file-pdf"></i>
</span>
<span>Paper</span>
</a>
</span>
<!-- Code Link. -->
<span class="link-block">
<a href="https://github.com/Yaepiii/TRLO"
class="external-link button is-normal is-rounded is-dark disabled">
<span class="icon">
<i class="fab fa-github"></i>
</span>
<span>Code</span>
</a>
</span>
<!-- <span class="link-block">
<a href="https://drive.google.com/drive/folders/110Hko3zPcDmY0_bnZdXxJXJKe6wr3t10?usp=sharing"
class="external-link button is-normal is-rounded is-dark disabled">
<span class="icon">
<i class="fas fa-database"></i>
</span>
<span>Data</span>
</a>
</span> -->
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- <section class="hero teaser">
<div class="container is-max-desktop">
<div class="hero-body">
<div style="width: 70%; height: 70%; margin: 0 auto; display: flex; justify-content: center; align-items: center;">
<video id="teaser" autoplay muted loop style="width: 100%; height: 100%;">
<source src="web/resources/teaser_nerf-on-the-go.mp4" type="video/mp4">
</video>
</div> -->
<!-- <img class="rounded" src="./media/nice-slam/teaser.png" > -->
<!-- <br><br><br>
<h2 class="subtitle has-text-centered">
<strong style="font-size: 0.9em;">NeRF <em>On-the-go</em></strong> enables novel view synthesis in in-the-wild scenes from casually captured images.
</h2>
</div>
</div>
</section> -->
<!-- <section class="hero teaser">
<div class="container is-max-desktop">
<div class="hero-body">
<div class="columns is-centered has-text-centered">
<div class="column is-full-width">
<video class="video" width="80%" id="xyalias6" loop playsinline autoplay muted src="web/resources/yard_high_pj.mp4" onplay="resizeAndPlay(this)" style="height: 0px;"></video>
<canvas height=0 class="videoMerge" id="xyalias6Merge"></canvas>
</div>
</div>
</div>
</div>
</section> -->
<!--
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered has-text-centered">
<div class="column is-full-width">
<h2 class="title is-3">Reconstructions</h2>
<div class="embed-responsive embed-responsive-16by9">
<iframe style="clip-path: inset(1px 1px)" src="https://sketchfab.com/playlists/embed?collection=abee3cc1a7a7436c804f2bd3aadc2acd" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; fullscreen" mozallowfullscreen="true" webkitallowfullscreen="true" width="100%" height="100%" frameborder="0"></iframe>
</div>
</div>
</div>
</div>
</section>
-->
<section class="section">
<div class="container is-max-desktop">
<!-- Abstract. -->
<div class="columns is-centered has-text-centered">
<div class="column is-four-fifths">
<h2 class="title is-3" style="margin-top: -30px">Abstract</h2>
<div class="content has-text-justified">
<p>
Simultaneous state estimation and mapping is an
essential capability for mobile robots working in dynamic urban
environment. The majority of existing SLAM solutions heavily
rely on a primarily static assumption. However, due to the
presence of moving vehicles and pedestrians, this assumption
does not always hold, leading to localization accuracy decreased
and maps distorted. To address this challenge, we propose
TRLO, a dynamic LiDAR odometry that efficiently improves
the accuracy of state estimation and generates a cleaner
point cloud map. To efficiently detect dynamic objects in the
surrounding environment, a deep learning-based method is
applied, generating detection bounding boxes. We then design
a 3D multi-object tracker based on Unscented Kalman Filter
(UKF) and nearest neighbor (NN) strategy to reliably identify
and remove dynamic objects. Subsequently, a fast two-stage
iterative nearest point solver is employed to solve the state
estimation using cleaned static point cloud. Note that a novel
hash-based keyframe database management is proposed for fast
access to search keyframes. Furthermore, all the detected object
bounding boxes are leveraged to impose posture consistency
constraint to further refine the final state estimation. Extensive
evaluations and ablation studies conducted on the KITTI and
UrbanLoco datasets demonstrate that our approach not only
achieves more accurate state estimation but also generates
cleaner maps, compared with baselines.
</p>
</div>
</div>
</div>
<!--/ Abstract. -->
<div class="columns is-centered has-text-centered">
<div class="column is-four-fifths">
<h2 class="title is-3">Video</h2>
<div class="publication-video">
<iframe src="https://www.youtube.com/embed/J0SDguiuTRM?si=VC_Qe3BiOxaBBGPo"
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
<br><br><br>
<h2 class="subtitle has-text-centered">
<strong style="font-size: 0.9em;">TRLO</strong> can efficiently track and remove dynamic objects, generating a cleaner map, and impose ground constraint through
the detected bounding boxes posture consistency to refine pose estimation.
</h2>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<!-- Method. -->
<div class="columns is-centered has-text-centered">
<div class="column is-full-width">
<h2 class="title is-3" style="margin-top: -20px">Method</h2>
<div style="width: 100%; margin: 0 auto; display: flex; justify-content: center;">
<img src="./web/resources/pipeline.png" style="width: 150%;">
</div>
<div class="content has-text-justified">
<p style="margin-top: 30px">
The pillars-based 3D object detector first is used for preprocessing of the raw point cloud to detect dynamic and
semi-static objects, resulting in the generation of a 3D object bounding boxes. Subsequently, 3D multi-object tracker is applied to identify and remove
dynamic objects. The adjacent static scans are input to calculate the scan-to-scan(S2S) transformation. The initial value is propagated to the world
frame and used for the secondary Fast GICP of scan-to-map(S2M). The current static scan is scan-matched with the submap composed of selective keyframes. Finally,
the S2M transformation is further optimized with the posture consistency constraint imposed by the detected bounding boxes to obtain a refined global
robot's pose, which is checked against multiple metrics to determine if it should be stored in keyframe hash dataset.
</div>
</div>
</div>
<!--/ Animation. -->
</div>
</section>
<!-- <section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered ">
<div class="column is-full-width">
<h2 class="title is-3 has-text-centered" style="margin-top: -30px"><i>On-the-go</i> Dataset</h2>
<video class="video" controls muted autoplay loop src="web/resources/on-the-go.mp4"></video>
<div class="content has-text-justified">
<p>
To rigorously evaluate our approach in real-world settings, we captured a dataset that contains 12 casually captured sequences, including 10 outdoor and 2 indoor scenes.
We name this dataset On-the-go dataset. This dataset features a wide range of dynamic objects including pedestrians, cyclists, strollers, toys, cars, robots, and trams, along with diverse occlusion ratios ranging from 5% to 30%.
</p>
</div>
</div>
</div>
</section> -->
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered ">
<div class="column is-full-width">
<h2 class="title is-3 has-text-centered" style="margin-top: -30px">Odometry Benchmark</h2>
<div class="content has-text-justified">
<p>
Compared with traditional LO systems, our approach
generally achieves encouraging performance through the
proposed dynamic removal and bounding box consistency
constraint strategies, especially for the highly dynamic sequences.
Additionally, the proposed method is superior to
LIO-SEGMOT and LIMOT (dynamic LO), apart from that the
APE of Urbanloco03 sequence is lower than that of LIMOT.
Notably, our approach can obtain competitive results
using only LiDAR scans as input, which demonstrates the
effectiveness of dynamic removal and robust registration
mechanism.
</p>
</div>
<div class="hero-body">
<img class="rounded" src="./web/resources/localization.png" >
</div>
<div class="hero-body">
<img class="rounded" src="./web/resources/trajectory.png" >
</div>
<br>
<br><br>
</div>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered ">
<div class="column is-full-width">
<h2 class="title is-3 has-text-centered" style="margin-top: -30px">Mapping Results</h2>
<h3 class="title is-4">Qualitative</h3>
<div class="content has-text-justified">
<p>
In the map generated by DLO,
we clearly see the severe ghosttail in the map caused by
moving cars. Comparatively, our method adeptly identifies
and filters moving objects while retaining valuable semi-static objects. Compared with LIO-SEGMOT, LIMOT
and RF-A-LOAM, our method shows better dynamic
removal performance. Ultimately, we obtain a high-precision
LiDAR odometry and build a cleaner map.
</p>
</div>
<div class="hero-body">
<img class="rounded" src="./web/resources/mapping.png" >
</div>
<h3 class="title is-4">Quantitative</h3>
<div class="content has-text-justified">
<p>
The PR and RR in the Table represent
the preserved rate of the static points and the removed rate
of dynamic points. From the statistic, the PR scores of our
method are higher than other baselines, while the RR scores
are suboptimal to LIMOT. Balancing PR and RR, the
F1-Score of our method is competitive.
</p>
</div>
<div class="hero-body">
<img class="rounded" src="./web/resources/mapping2.png" >
</div>
<br>
<br><br>
</div>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered ">
<div class="column is-full-width">
<h2 class="title is-3 has-text-centered" style="margin-top: -30px">Ablation Study</h2>
<div class="content has-text-justified">
<p>
<strong style="font-size: 0.9em;">Tracker</strong>: LO system with
UKF-based object tracker outperforms EKF-based, benefiting from the more robust dynamic tracking. Theoretically,
EKF addresses the nonlinear state estimation by using linear
approximation, which may introduce tracking bias.
</p>
<p>
<strong style="font-size: 0.9em;">Dynamic Removal</strong>: The results
demonstrate that the outliers in the environment are effectively filtered by adding our dynamic removal step, resulting
in a more accurate odometry estimation. This improvement
is particularly obvious when dealing with the highly dynamic UrbanLoco dataset.
</p>
<p>
<strong style="font-size: 0.9em;">Bounding Box Consistency Constraint</strong>: The z-axis drift of the
odometry is effectively inhibited by imposing the bounding
box consistency constraint. Combined with dynamic removal
and bounding box consistency constraint, our complete system achieves more accurate results. The translation accuracy
of KITTI07 dataset and UrbanLoco05 dataset increases by
39.3% and 30.4%, respectively
</p>
</div>
<div class="hero-body">
<img class="rounded" src="./web/resources/ablation1.png" >
</div>
<div class="hero-body">
<img class="rounded" src="./web/resources/ablation2.png" >
</div>
<div class="hero-body">
<img class="rounded" src="./web/resources/ablation3.png" >
</div>
<br>
<br><br>
</div>
</div>
</section>
<!-- <section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered ">
<div class="column is-full-width">
<h2 class="title is-3 has-text-centered" style="margin-top: -30px">Additional Results</h2>
<h3 class="title is-4">Comparison with RobustNeRF</h3>
<div class="content has-text-justified">
<p>
RobustNeRF employs hard thresholding to eliminate distractors, which makes it sensitive to the threshold value and may not generalize effectively in complex scenes.
Our method is more robust to the distractors and can handle more complicated scenes.
</p>
</div>
<div class="content has-text-centered" style="width: 80%; display: flex; justify-content: center; align-items: center">
<video class="video" width="100%" id="xyalias1" loop playsinline autoplay muted src="web/resources/bellevue_pj.mp4" onplay="resizeAndPlay(this)" style="height: 0px;"></video>
<canvas height=0 class="videoMerge" id="xyalias1Merge" style="width: 80%;"></canvas>
</div>
<div class="content has-text-centered" style="width: 80%; display: flex; justify-content: center; align-items: center">
<video class="video" width="100%" id="xyalias2" loop playsinline autoplay muted src="web/resources/rigi_pj.mp4" onplay="resizeAndPlay(this)" style="height: 0px;"></video>
<canvas height=0 class="videoMerge" id="xyalias2Merge" style="width: 80%;"></canvas>
</div>
<h3 class="title is-4">Comparison with NeRF-W</h3>
<div class="content has-text-justified">
<p>
Compare with NeRF-W, our method can handle more complicated scenes with higher occlusion ratio.
Furthermore, it does not depend on transient embedding, which adds extra complexity and can potentially result in the loss of high-frequency details.
</p>
</div>
<div class="content has-text-centered" style="width: 80%; display: flex; justify-content: center; align-items: center">
<video class="video" width="100%" id="xyalias9" loop playsinline autoplay muted src="web/resources/bahnhof_pj.mp4" onplay="resizeAndPlay(this)" style="height: 0px;"></video>
<canvas height=0 class="videoMerge" id="xyalias9Merge" style="width: 80%;"></canvas>
</div>
<div class="content has-text-centered" style="width: 80%; display: flex; justify-content: center; align-items: center">
<video class="video" width="100%" id="xyalias10" loop playsinline autoplay muted src="web/resources/polybahn_pj.mp4" onplay="resizeAndPlay(this)" style="height: 0px;"></video>
<canvas height=0 class="videoMerge" id="xyalias10Merge" style="width: 80%;"></canvas>
</div>
<div class="content has-text-justified">
<p>
Here, we show more comparisons with NeRF-W and RobustNeRF.
</p>
</div>
<div class="container">
<ul class="nav nav-tabs nav-fill nav-justified" id="object-scale-recon">
<li class="nav-item">
<a class="nav-link active" onclick="objectSceneEvent(0)">station</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="objectSceneEvent(1)">patio-high</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="objectSceneEvent(2)">arc de triomphe</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="objectSceneEvent(3)">drone</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="objectSceneEvent(4)">tree</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="objectSceneEvent(5)">mountain</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="objectSceneEvent(6)">spot</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="objectSceneEvent(7)">corner</a>
</li>
</ul>
<div class="b-dics">
<img src="web/resources/self/half_bahnhof/nerfw.png" alt="NeRF-W">
<img src="web/resources/self/half_bahnhof/robust.png" alt="RobustNeRF">
<img src="web/resources/self/half_bahnhof/ours.png" alt="NeRF On-the-go(ours)">
<img src="web/resources/self/half_bahnhof/gt.png" alt="GT">
</div>
</div>
<br>
<br><br>
</div>
</div>
</section> -->
<!-- <section class="section" id="BibTeX">
<div class="container is-max-desktop content">
<h2 class="title">BibTeX</h2>
<pre><code>@InProceedings{Ren2024NeRF,
title={NeRF On-the-go: Exploiting Uncertainty for Distractor-free NeRFs in the Wild},
author={Ren, Weining and Zhu, Zihan and Sun, Boyang and Chen, Jiaqi and Pollefeys, Marc and Peng, Songyou},
booktitle={IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2024},
}</code></pre>
</div>
</section> -->
<!-- <section class="section" id="Acknowledgements">
<div class="container is-max-desktop content">
<h2 class="title">Acknowledgements</h2>
We thank the Max Planck ETH Center for Learning Systems (CLS) for supporting Songyou Peng.
We also thank Yiming Zhao and Clément Jambon for helpful discussions.
</div>
</section> -->
<!-- <section class="section" id="References">
<div class="container is-max-desktop content">
<h3 class="title is-4">References</h3>
<div class="content has-text-justified">
<ul>
<li>
<a href="https://robustnerf.github.io/" target="_blank">RobustNeRF: Ignoring Distractors with Robust Losses</a>
</li>
<li>
<a href="https://nerf-w.github.io/" target="_blank">NeRF in the Wild: Neural Radiance Fields for Unconstrained Photo Collections</a>
</li>
</ul>
</div>
</div>
</section> -->
<footer class="footer">
<div class="container">
<div class="content has-text-centered">
</div>
<div class="columns is-centered">
<div class="column is-8">
<div class="content">
<p>
This website is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative
Commons Attribution-ShareAlike 4.0 International License</a>.
This webpage template is from <a href="https://github.com/autonomousvision/mip-splatting">mip-splatting</a>, which is built upon <a href="https://github.com/nerfies/nerfies.github.io">Nerfies</a>.
We sincerely thank <a href="https://keunhong.com/">Keunhong Park</a> for developing and open-sourcing this template.
</p>
</div>
</div>
<p></p>
</div>
</div>
</footer>
</body>
</html>