heal
horizon
zacxr commited on
Commit
3125fc9
·
verified ·
1 Parent(s): c5a9cab

Add README.md

Browse files
Files changed (1) hide show
  1. README.md +75 -0
README.md ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ tags:
4
+ - heal
5
+ - horizon
6
+ ---
7
+
8
+ # MOTR (EfficientNet-b3)
9
+
10
+ MOTR models tracking as per-frame query propagation: detection queries are passed across frames via `QueryInteractionModule`; new targets get new queries and disappeared targets are cleared; training jointly supervises detection and tracking losses.
11
+
12
+ ---
13
+
14
+ ## Deployment Metrics
15
+
16
+ ### Model Parameters
17
+
18
+ | Model | Model Input | Backbone | Neck | Model Output |
19
+ |---|---|---|---|---|
20
+ | MOTR | multi-frame image sequence `1x3x800x1422` | EfficientNet-b3 | — | tracking boxes + track IDs `(B,Q,cls+reg+id)` |
21
+
22
+ ### Accuracy Metrics
23
+
24
+ | March | Metric | float | calibration | qat | hbm |
25
+ | --- | --- | --- | --- | --- | --- |
26
+ | J6M | MOTA | 0.5837 | 0.5704 | 0.5799 | 0.5767 |
27
+
28
+ > Data tested with `march = March.NASH_M` (J6M).
29
+ >
30
+ > HEAL versions: heal 0.0.2 / hbdk4-compiler 4.11.11 / horizon_plugin_pytorch 3.3.10.
31
+
32
+ ### Performance Metrics
33
+
34
+ > **Performance test methodology**: FPS is measured with 8 threads on a single core; Latency is measured with single core, single thread; Memory is peak DDR usage.
35
+
36
+ | March | Metric | latency (ms) | fps | Memory Usage |
37
+ |---|---|---|---|---|
38
+ | J6M | main graph | 8.03 | 128.68 | 65.30 |
39
+ | | qim | 0.37 | 5120.87 | 6.80 |
40
+ | J6P | main graph | 5.81 | 695.38 | 71.90 |
41
+ | | qim | 0.36 | 10348.73 | 7.00 |
42
+ | J6B | main graph | - | - | - |
43
+ | | qim | - | - | - |
44
+
45
+ J6B performance is not available for this model.
46
+
47
+ ---
48
+
49
+ ## Model Overview
50
+
51
+ ### Core Design
52
+
53
+ MOTR models tracking as per-frame query propagation: detection queries are passed across frames via `QueryInteractionModule`; new targets get new queries and disappeared targets are cleared; training jointly supervises detection and tracking losses.
54
+
55
+ - **Task type**: Multi-Object Tracking (MOT).
56
+ - **backbone**: EfficientNet-b3 (`efficientnet`, `model_type=b3`, `include_top=False` removes classification head, `use_se_block=False`, ReLU activation).
57
+ - **neck**: — (no separate neck; backbone features feed directly into `MotrHead`).
58
+ - **detection head**: `MotrHead` + `MotrDeformableTransformer` (`d_model=256`, `num_queries=256`, `dim_feedforward=1024`, Deformable Attention, `in_channels=[384]`).
59
+ - **tracking module**: `QueryInteractionModule` (cross-frame query interaction for end-to-end tracking association).
60
+ - **post-processing**: `MotrPostProcess`.
61
+ - **Model input**: multi-frame image sequence, single-frame size `800 × 1422`, sequence sampling interval 10 frames; main graph `img:1x3x800x1422`, QIM subgraph input is query/feat (no images).
62
+ - **Model output**: per-frame detection boxes + cross-frame track IDs (256 queries, 1 class).
63
+
64
+ **Deployment note**: MOTR inference is split into a main graph (backbone + head + post_process) and a QIM subgraph (`QueryInteractionModule`, DDR input, no images), exported and compiled separately via `deploy.py` and `deploy_qim.py`; they work together at inference time (see Usage Guide > Export and Compilation).
65
+
66
+ ### Official Repo and Paper
67
+
68
+ Official repo: https://github.com/megvii-research/MOTR
69
+ Paper: https://arxiv.org/pdf/2105.03247
70
+
71
+ Note: backbone is EfficientNet-b3; the official repo uses a different backbone.
72
+
73
+ ### Reference
74
+
75
+ For more J6 chip deployment details, see https://developer.horizon.auto/blog/10353