GaNet (MixVarGENet)
GaNet models lanes as "root keypoints + along-line offsets": the network predicts an 8× downsampled heatmap to locate lane starting points and regresses per-point offsets to reconstruct the full lane; the decoder filters keypoints by kpt_thr threshold, clusters and merges points on the same lane via cluster_thr, and finally maps back to original image coordinates.
Deployment Metrics
Model Parameters
| Model | Model Input | Backbone | Neck | Model Output |
|---|---|---|---|---|
| GaNet | Single frame 1x3x320x800 |
MixVarGENet | GaNetNeck |
Lane point sequences (B,L,P,2) |
Accuracy Metrics
| March | Metric | float | calibration | qat | hbm |
|---|---|---|---|---|---|
| J6M | F1Score (F1) | 0.7937 | 0.791 | — | 0.7908 |
Results are based on
march = March.NASH_M(J6M) configuration; this task has no QAT stage (qat column is —).HEAL version: heal 0.0.2 / hbdk4-compiler 4.11.11 / horizon_plugin_pytorch 3.3.10.
Performance Metrics
Performance measurement: FPS is measured with single-core eight-thread; Latency is measured with single-core single-thread; Memory is peak DDR usage.
| March | latency (ms) | fps | Memory Usage |
|---|---|---|---|
| J6M | 0.68 | 2258.92 | 6.60 |
| J6P | 0.59 | 8623.54 | 6.80 |
| J6B | - | - | - |
J6B performance is not available for this model.
Model Overview
Core Design
GaNet models lanes as "root keypoints + along-line offsets": the network predicts an 8× downsampled heatmap to locate lane starting points and regresses per-point offsets to reconstruct the full lane; the decoder filters keypoints by kpt_thr threshold, clusters and merges points on the same lane via cluster_thr, and finally maps back to original image coordinates.
- Task type: Lane detection (Lane Detection).
- backbone: MixVarGENet (
include_top=False,output_list=[2, 3, 4]three-scale features, corresponding to stride 8/16/32). - neck:
GaNetNeck: FPN (three-scale fusion tohid_dim=32) + Attention module (attn_ratio=4, position encodingpos_shape=(1,10,25)). - Detection head:
GaNetHead(outputshid_dim=32dimensional features). - Target generation:
GaNetTarget(hm_down_scale=8, keypoint radiusradius=2). - Post-processing:
GaNetDecoder(root_thr=1,kpt_thr=0.4,cluster_thr=5,downscale=8). - Loss:
GaNetLoss:LaneFastFocalLoss(keypoint classification, weight=1.0) +L1Loss(per-point offset regression weight=0.5 + integer offset regression weight=1.0). - Model input: Single frame, size
320 × 800(FixedCroptakes original region(0,270,1640,320)thenResizeto 320×800; original resolution 1640×590). - Model output: Ordered point sequences per lane (original image coordinate system), obtained via
GaNetDecoderfrom heatmap keypoint clustering + offset decoding.
Deployment note: The deployment graph (deploy_model) removes targets/post_process/losses, keeping only backbone + neck + head; output name is pred heatmap features; GaNetDecoder is re-attached during inference (float/hbir/hbm infer) to complete lane decoding.
Official Repo and Paper
Official repo: https://github.com/Wolfwjs/GANet Paper: https://arxiv.org/abs/2204.07335
Note: backbone MixVarGENet is HEAL-developed.
Reference
For more J6 chip deployment details, see https://developer.horizon.auto/blog/14098