Repository navigation
[Feature]: Compute cooperative perception features on each CAV and transmit compressed intermediate features #192
Description
Problem or motivation
The current intermediate-fusion integration does not compute neural features independently on each CAV before network transmission.
The current flow is approximately:
- Each CAV preprocesses its LiDAR data into voxels.
voxel_features,voxel_coords, andvoxel_num_pointsare serialized into the CAPI payload.- Artery transports this raw preprocessed input.
- The receiving OpenCDA pipeline reconstructs a combined batch.
PillarVFE, scatter, backbone, communication masking, and Where2comm fusion are executed centrally.
As a result, the simulated network carries voxelized LiDAR input rather than the compressed intermediate features that an intermediate-fusion system is expected to exchange.
The model's communication mask and compression stages execute after the emulated network transfer, so they do not reduce the actual Artery payload.
The current model configuration further disables communication reduction:
compression: 0where2comm_fusion.fully: truewhere2comm_fusion.multi_scale: true
In a 100-CAV scenario, a single serialized voxel payload reached 382,226 bytes and was rejected by Vanetza because the GeoNetworking SDU limit is 1,398 bytes.
Proposed solution
Split the cooperative perception inference pipeline into a local CAV encoder stage and an ego-side fusion stage.
Each transmitting CAV should:
- Process its local LiDAR point cloud.
- Run voxelization, PillarVFE, scatter, and the selected portion of the backbone locally.
- Compute the Where2comm confidence or communication mask.
- Select only the spatial features required for communication.
- Compress and/or quantize the selected features.
- Serialize the feature payload together with the required metadata:
- sender ID;
- timestamp or frame ID;
- feature shape;
- dtype and quantization parameters;
- pose or transformation information;
- feature mask or sparse indices.
- Transmit the payload through Artery.
The receiving CAV should:
- Reassemble fragmented feature messages.
- Discard incomplete, expired, or lost feature frames.
- Decode and decompress successfully received features.
- Align them using the sender and ego poses.
- Pass only successfully received features to the Where2comm fusion stage.
- Run the remaining backbone and detection heads.
The implementation should support:
- sparse feature transmission;
- configurable quantization;
- configurable compression;
- payload fragmentation and reassembly;
- feature-frame expiration;
- packet loss and delay;
- payload-size and effective bitrate metrics.
A lossless mode should also be provided for validating the distributed pipeline against the existing centralized implementation.
Acceptance criteria:
- In lossless and zero-delay conditions, distributed inference produces results equivalent to the centralized pipeline within a documented numerical tolerance.
- Lost or delayed packets affect only the corresponding remote features.
- The actual transmitted byte count reflects the compressed feature representation.
- No individual GeoNetworking request exceeds the configured SDU limit.
- The 100-CAV scenario runs without sending raw voxel tensors as one network packet.
Area
Cooperative perception
Alternatives considered
No response
Additional context
No response
Activity