feat(models): add the StreamPETR detector - #9
Draft
vividf wants to merge 1 commit into
Draft
Conversation
vividf
force-pushed
the
feat/streampetr-model-components
branch
from
September 2, 2026 08:57
cb98ac5 to
847203c
Compare
vividf
force-pushed
the
feat/streampetr-detector
branch
2 times, most recently
from
September 2, 2026 09:31
523051f to
e62ece7
Compare
vividf
force-pushed
the
feat/streampetr-model-components
branch
2 times, most recently
from
September 2, 2026 21:02
57c44d2 to
c9424dd
Compare
vividf
force-pushed
the
feat/streampetr-detector
branch
from
September 2, 2026 21:02
e62ece7 to
b942752
Compare
vividf
marked this pull request as draft
September 3, 2026 17:24
vividf
force-pushed
the
feat/streampetr-model-components
branch
from
September 4, 2026 06:24
c9424dd to
3359518
Compare
vividf
force-pushed
the
feat/streampetr-detector
branch
2 times, most recently
from
September 4, 2026 07:29
52e8791 to
df4bf63
Compare
vividf
force-pushed
the
feat/streampetr-model-components
branch
from
September 4, 2026 07:29
3359518 to
7bc4dc7
Compare
This was referenced Sep 4, 2026
The query-based head with temporal memory (pre/post memory update, top-k propagation, denoising queries, geometry-aware position embeddings) and the model wrapper with the three-module ONNX export ABI. Signed-off-by: vividf <yihsiang.fang@tier4.jp>
vividf
force-pushed
the
feat/streampetr-model-components
branch
from
September 4, 2026 08:00
7bc4dc7 to
a005ccd
Compare
vividf
force-pushed
the
feat/streampetr-detector
branch
from
September 4, 2026 08:00
df4bf63 to
c8d3fbd
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The StreamPETR detector: query-based head with a temporal memory bank, and the model wrapper with the deployment export ABI. Ported from the reference implementation (exiawsh/StreamPETR) with training parity as the goal.
Changes
StreamPETRHead(models/detection3d/heads/streampetr.py):pre_update_memoryaligns the bank into the current ego frame (timestamp/ego-pose bookkeeping),post_update_memoryappends the top-k strongest detached proposals;prev_existsresets streams at scene boundaries; pseudo reference points seed cold starts.StreamPETRDetectionModel(models/detection3d/streampetr.py): backbone/neck/head composition, grid-mask hook, memory reset on train/eval phase switches, backbone-vs-rest optimizer groups, and the three-module ONNX export (extract_img_feat/position_embedding/pts_head_memory) carrying the five memory tensors through the graph so the runtime manages the stream outside it.Testing
tests/models/test_streampetr.py: forward/loss/predict shapes, memory recurrence across frames,prev_existsreset behavior, and export-wrapper vs eager-head consistency.Stack 3/8 — base:
feat/streampetr-model-components.