├── README.md └── docs ├── .gitignore ├── index.html └── style.css /README.md: -------------------------------------------------------------------------------- 1 | # Implicit Event-RGBD Neural SLAM (under construction) 2 | 3 | ### [Paper](https://arxiv.org/abs/2311.11013) | [Project Page](https://delinqu.github.io/EN-SLAM) | [Video](~) 4 | 5 | > Implicit Event-RGBD Neural SLAM
6 | > [Delin Qu*](https://delinqu.github.io), [Chi Yan*](http://npu-yanchi.github.io/), Dong Wang, Jie Yin, Qizhi Chen, Yiting Zhang, Dan Xu, Bin Zhao†, [Xuelong Li†](https://scholar.google.com/citations?user=ahUibskAAAAJ) 7 | > CVPR 2024 8 | 9 | This repository contains the code and dataset for the paper `Implicit Event-RGBD Neural SLAM`, the first event-RGBD implicit neural SLAM framework that efficiently leverages event stream and RGBD to overcome challenges in extreme motion blur and lighting variation scenes. 10 | 11 | ## Update 12 | - [x] Release DEV-Indoors and DEV-Reals Dataset. 13 | 14 | ## Dataset 15 | 16 | - Please refer to Hugging Face to get the DEV-Indoors and DEV-Reals dataset: (https://huggingface.co/datasets/delinqu/EN-SLAM-Dataset) 17 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Implicit Event-RGBD Neural SLAM 11 | 12 | 13 | 19 | 20 | 21 | 23 | 25 | 26 | 27 | 28 | 29 |
30 |
31 |
32 |

Implicit Event-RGBD Neural SLAM

33 |

34 | 58 | 59 | 86 |
87 |

1Fudan University,   2Shanghai AI Laboratory,   3Shanghai Jiao Tong University 88 |

4Northwestern Polytechnical University,     5Hong Kong University of Sciences and Technology 89 |

90 | Paper 91 | Code 92 | Dataset 93 | YouTube 94 |
95 |

96 | TL;DR: EN-SLAM, the first event-RGBD implicit neural SLAM that leverages event stream and RGBD to overcome challenges in motion blur and lighting variation scenes; differentiable CRF rendering → shared radiance field → RGB+event data; consecutive difference constraints of the event stream → temporal aggregating. 97 |

98 | 101 | 105 | 106 |
107 |

Overview

108 |
109 |

110 | Implicit neural SLAM has achieved remarkable progress recently. Nevertheless, existing methods face significant challenges in non-ideal scenarios, such as motion blur or lighting variation, which often leads to issues like convergence failures, localization drifts, and distorted mapping. To address these challenges, we propose EN-SLAM, the first event-RGBD implicit neural SLAM framework, which effectively leverages the high rate and high dynamic range advantages of event data for tracking and mapping. Specifically, EN-SLAM proposes a differentiable CRF (Camera Response Function) rendering technique to generate distinct RGB and event camera data via a shared radiance field, which is optimized by learning a unified implicit representation with the captured event and RGBD supervision. Moreover, based on the temporal difference property of events, we propose a temporal aggregating optimization strategy for the event joint tracking and global bundle adjustment, capitalizing on the consecutive difference constraints of events, significantly enhancing tracking accuracy and robustness. Finally, we construct the simulated dataset DEV-Indoors and real captured dataset DEV-Reals containing 6 scenes, 17 sequences with practical motion blur and lighting changes for evaluations. Experimental results show that our method outperforms the SOTA methods in both tracking ATE and mapping ACC with a real-time 17 FPS in various challenging environments. 111 |

112 |

Contributions:

113 |
    114 |
  • We present EN-SLAM, the first event-RGBD implicit neural SLAM framework that efficiently leverages event stream and RGBD to overcome challenges in extreme motion blur and lighting variation scenes. 115 |
  • A differentiable CRF rendering technique is proposed to map a unified representation in the shared radiance field to RGB and event camera data for addressing the significant distinction between event and RGB. A temporal aggregating optimization strategy that capitalizes the consecutive difference constraints of the event stream is present and significantly improves the camera tracking accuracy and robustness. 116 |
  • We construct a simulated DEV-Indoors and real captured DEV-Reals dataset containing 17 sequences with practical motion blur and lighting changes. A wide range of evaluations demonstrate competitive real-time performance under various challenging environments. 117 |
118 |
119 | 120 | 176 | 177 |

Citation

178 |
179 |
180 | @inproceedings{
181 |     anonymous2024implicit,
182 |     title={Implicit Event-{RGBD} Neural {SLAM}},
183 |     author={Anonymous},
184 |     booktitle={Conference on Computer Vision and Pattern Recognition 2024},
185 |     year={2024},
186 |     url={https://openreview.net/forum?id=OjQP10Pgnp}
187 |   }
188 |
189 |

190 |
For more information, check out the paper, code, and YouTube video:
191 |
192 | Paper 193 | Code 194 | YouTube 195 |
196 |
197 | 198 |
199 | 200 | 201 | 202 | -------------------------------------------------------------------------------- /docs/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 100px 0px; 3 | min-height: 100%; 4 | background-color: #fdfdfd; 5 | font-family: 'Source Sans 3',sans-serif; 6 | color: #000; 7 | font-size: 17px; 8 | line-height: 20px; 9 | } 10 | 11 | .section { 12 | width: 60%; 13 | max-width: 45rem; 14 | margin: auto; 15 | } 16 | 17 | .container { 18 | padding-left: 0; 19 | margin-left: auto; 20 | margin-right: auto; 21 | max-width: 940px; 22 | } 23 | 24 | .title { 25 | text-align: center; 26 | margin-top: 0px; 27 | margin-bottom: 0px; 28 | font-family: 'Asap',sans-serif; 29 | color: #000; 30 | font-size: 40px; 31 | line-height: 40px; 32 | font-weight: 700; 33 | } 34 | 35 | .subheader { 36 | margin-top: 0; 37 | margin-bottom: 10px; 38 | font-family: 'Source Sans 3',sans-serif; 39 | color: #333; 40 | font-size: 25px; 41 | line-height: 44px; 42 | font-weight: 500; 43 | letter-spacing: 0; 44 | } 45 | 46 | .section-header { 47 | margin-top: 2.5rem; 48 | margin-bottom: 1rem; 49 | font-family: 'Asap',sans-serif; 50 | color: #000; 51 | font-size: 30px; 52 | line-height: 40px; 53 | font-weight: 700; 54 | text-align: left; 55 | } 56 | 57 | .tldr { 58 | margin-top: 30px; 59 | margin-bottom: 3px; 60 | font-family: 'Source Sans 3',sans-serif; 61 | color: #333; 62 | line-height: 24px; 63 | letter-spacing: 0; 64 | } 65 | 66 | .title-row { 67 | margin-top: 20px; 68 | } 69 | 70 | .row { 71 | display: flex; 72 | min-height: 25px; 73 | margin: 0.5rem; 74 | justify-content: center; 75 | } 76 | 77 | .invisible { 78 | display: none; 79 | } 80 | 81 | .author-col { 82 | margin: 0rem 1rem; 83 | } 84 | 85 | .author-text { 86 | font-family: 'Source Sans 3',sans-serif; 87 | color: #333; 88 | font-weight: 400; 89 | text-decoration: none; 90 | } 91 | 92 | .text-star { 93 | position: relative; 94 | top: -7px; 95 | display: inline-block; 96 | margin: 0px; 97 | font-size: 10px; 98 | } 99 | 100 | #uc-berkeley { 101 | text-align: center; 102 | font-family: 'Source Sans 3',sans-serif; 103 | color: #333; 104 | font-weight: 400; 105 | margin-top: 1rem; 106 | margin-bott 107 | letter-spacing: 0; 108 | } 109 | 110 | .icon-col { 111 | width: 33.33333%; 112 | } 113 | 114 | .icon-img { 115 | max-width: 40%; 116 | margin-right: auto; 117 | margin-bottom: 1px; 118 | margin-left: auto; 119 | padding-top: 0px; 120 | } 121 | 122 | .github-img-icon { 123 | max-width: 20%; 124 | margin-top: 6px; 125 | margin-bottom: 9px; 126 | opacity: .77; 127 | } 128 | 129 | .data-img-icon { 130 | max-width: 30%; 131 | margin-top: 5px; 132 | margin-bottom: 9px; 133 | opacity: .62; 134 | } 135 | 136 | .link-button { 137 | border-radius: 0.5rem; 138 | text-decoration: none; 139 | padding: 0.5rem 2rem; 140 | margin: 1rem 0.5rem; 141 | color: #000; 142 | font-size: 1rem; 143 | height: 1rem; 144 | line-height: 1rem; 145 | font-weight: 700; 146 | background-color: #f2f2f2; 147 | border: solid 0px transparent; 148 | } 149 | .link-button:hover { 150 | background-color: #d9d9d9; 151 | } 152 | 153 | #main-video { 154 | display: block; 155 | width: 100%; 156 | margin: 10px auto; 157 | } 158 | 159 | #body-video { 160 | width: 90%; 161 | margin-top: 0px; 162 | margin-bottom: 10px; 163 | } 164 | 165 | .wide-img { 166 | width: 100%; 167 | max-width: 800px; 168 | margin: 0rem auto 1rem auto; 169 | display: block; 170 | } 171 | .med-img { 172 | width: 60%; 173 | display: block; 174 | margin: 0rem auto 1rem auto; 175 | } 176 | .sm-img { 177 | object-fit: contain; 178 | width: 25%; 179 | margin: 0rem auto 1rem auto; 180 | } 181 | 182 | .caption { 183 | margin:0 rem; 184 | color: rgba(0, 0, 0, 0.5); 185 | font-size: 0.8rem; 186 | } 187 | .paragraph { 188 | margin-top: 0px; 189 | margin-bottom: 20px; 190 | font-family: 'Source Sans 3',sans-serif; 191 | color: #333; 192 | line-height: 26px; 193 | font-weight: 400; 194 | letter-spacing: 0; 195 | text-align: left; 196 | } 197 | 198 | .paragraph-center { 199 | margin-top: 0px; 200 | /* margin-bottom: 20px; */ 201 | font-family: 'Source Sans 3',sans-serif; 202 | color: #333; 203 | line-height: 26px; 204 | font-weight: 400; 205 | letter-spacing: 0; 206 | text-align: center; 207 | } 208 | 209 | .img-by-text { 210 | display: flex; 211 | margin-bottom: 1rem; 212 | } 213 | 214 | .img-by-text div { 215 | width: 75%; 216 | padding: 2rem; 217 | } 218 | 219 | #text-samples { 220 | display: flex; 221 | flex-direction: row; 222 | gap: 1rem; 223 | font-size: 12px; 224 | line-height: 16px; 225 | } 226 | 227 | .text-sample { 228 | width: 50%; 229 | border-radius: 1ex; 230 | padding: 1rem; 231 | background: #eee; 232 | gap: 2rem; 233 | } 234 | .text-sample .label { 235 | font-weight: 700; 236 | color: #666; 237 | } 238 | .text-sample ul { 239 | list-style: none; 240 | margin: 0.25rem 0rem; 241 | padding-left: 0rem; 242 | } 243 | .bubble { 244 | display: inline-block; 245 | background: #fff; 246 | padding: 0.5rem 0.8rem; 247 | border-radius: 1ex; 248 | border: 0.2rem solid #aaa; 249 | margin: 0.1rem 0 0.8em; 250 | } 251 | li.bubble{ 252 | border-color: #e69138; 253 | background: #f7eee5; 254 | color: #58320a; 255 | margin-bottom: 0.5rem; 256 | } 257 | 258 | :root { 259 | --opacity: 50; 260 | } 261 | 262 | .videos { 263 | display: flex; 264 | gap: 0.5rem; 265 | justify-content: space-around; 266 | } 267 | 268 | .videos div { 269 | max-width: 30%; 270 | } 271 | 272 | .videos video { 273 | max-width: 100%; 274 | } 275 | 276 | #opacity { 277 | font-family: 'Source Sans 3',sans-serif; 278 | color: #3c3c3c; 279 | font-size: 20px; 280 | line-height: 20px; 281 | } 282 | 283 | .viewer-bar { 284 | width: 33.3333%; 285 | } 286 | 287 | .citation { 288 | /* // set background color to gray; */ 289 | background-color: #eaeaea; 290 | text-align: left; 291 | border-radius: 10px; 292 | font-size: 12px; 293 | } 294 | 295 | .citation > pre { 296 | margin-bottom: 10px; 297 | margin-left: 10px; 298 | padding: 10px; 299 | } 300 | 301 | .citation > p { 302 | margin-left: 20px; 303 | } 304 | 305 | #codecell0 { 306 | margin-bottom: 10px; 307 | margin-left: 10px; 308 | overflow-x: auto; 309 | } 310 | 311 | .add-top-padding { 312 | margin-top: 10px; 313 | } 314 | 315 | .video-text { 316 | font-size: 24px; 317 | margin-top: -40px; 318 | margin-bottom: 20px; 319 | color: white; 320 | position: relative; 321 | /* font-family: serif; */ 322 | } 323 | 324 | .overlay-text { 325 | background-color: #00000070; 326 | border-radius: 10px; 327 | padding-left: 10px; 328 | padding-right: 10px; 329 | padding-bottom: 3px; 330 | } 331 | 332 | @media screen and (max-width: 750px) { 333 | body { 334 | margin: 50px 0px; 335 | } 336 | .section { 337 | width: 90%; 338 | } 339 | .title { 340 | font-size: 30px; 341 | line-height: 30px; 342 | } 343 | 344 | .subheader { 345 | font-size: 16px; 346 | } 347 | 348 | .inline-row { 349 | display: block; 350 | } 351 | 352 | .row { 353 | justify-content: center; 354 | margin: 0.75rem; 355 | flex-wrap: wrap; 356 | } 357 | .invisible { 358 | display: block; 359 | flex-basis: 100%; 360 | height: 0.75rem; 361 | } 362 | 363 | .author-col { 364 | margin: 0rem .5rem; 365 | } 366 | 367 | .thumbnail-btn { 368 | font-size: 8px; 369 | } 370 | 371 | .thumbnails { 372 | width: 100%; 373 | max-height: 20px; 374 | margin: 0px; 375 | padding: 0px; 376 | } 377 | 378 | .section-header { 379 | font-size: 20px; 380 | line-height: 20px; 381 | } 382 | 383 | .videos { 384 | flex-direction: row; 385 | align-items: center; 386 | } 387 | .videos div { 388 | width: 50%; 389 | max-width: 50%; 390 | } 391 | .videos video { 392 | width: 100%; 393 | } 394 | 395 | .img-by-text { 396 | flex-direction: column; 397 | } 398 | .img-by-text img { 399 | width: 60%; 400 | margin: auto; 401 | padding: 0rem; 402 | } 403 | .img-by-text div { 404 | width: 100%; 405 | padding: 1rem 0rem; 406 | margin: auto; 407 | } 408 | 409 | .med-img { 410 | width: 100%; 411 | } 412 | 413 | #text-samples { 414 | flex-direction: column; 415 | } 416 | .text-sample { 417 | width: 90%; 418 | margin: auto; 419 | } 420 | 421 | .link-button { 422 | margin: 1rem 0.25rem; 423 | } 424 | 425 | .button-row { 426 | margin: 0.75rem 0rem; 427 | } 428 | } 429 | --------------------------------------------------------------------------------