File size: 2,528 Bytes
1d7976a f436a92 91471c6 8bed6bc 1d7976a a4de065 2203b7a a4de065 8bed6bc a4de065 c96ad2a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
---
license: apache-2.0
datasets:
- suwesh/RACECAR-multislow_poli
tags:
- ImageSegmentation
---
# Parallel Neural Computing for Scene Understanding from LiDAR Perception in Autonomous Racing
# Abstract:
Autonomous driving in high-speed racing, as opposed to urban environments, presents significant challenges in scene understanding due to rapid changes in the track environment. Traditional sequential network approaches may struggle to meet the real-time knowledge and decision-making demands of an autonomous agent covering large displacements in a short time. This paper proposes a novel baseline architecture for developing sophisticated models capable of true hardware-enabled parallelism, achieving neural processing speeds that mirror the agent’s high velocity. The proposed model (Parallel Perception Network (PPN)) consists of two independent neural networks, segmentation and reconstruction networks, running parallelly on separate accelerated hardware. The model takes raw 3D point cloud data from the LiDAR sensor as input and converts it into a 2D Bird’s Eye View Map on both devices. Each network independently extracts its input features along space and time dimensions and produces outputs parallelly. The proposed method’s model is trained on a system with two NVIDIA T4 GPUs, using a combination of loss functions, including edge preservation, and demonstrates a 2x speedup in model inference time compared to a sequential configuration.
Implementation code is available at: https://github.com/suwesh/Parallel-Perception-Network. Full paper link: https://arxiv.org/abs/2412.18165
This model is also available on Kaggle- https://www.kaggle.com/models/suwesh/parallel-perception-network
# Requirements to load RACECAR dataset in nuScenes format:
<pre>pip install nuscenes-devkit</pre>
# Use with PyTorch:
<pre>import torch
import torch.nn as nn
class Model(nn.Module):
#define architecture here
model = Model()
model.load_state_dict(torch.load('path_to_pytorch_model.bin_file'))</pre>
Or load the weights for each network separately using .pth files:
<pre>
import torch
import torch.nn as nn
class Model(nn.Module):
#define architecture here
model = Model()
model.load_state_dict(torch. Load('path_to_learned_parameters.pth'))
</pre>
# Training Details:
learning rate = 0.001 | loss function for recnet = Mean Square Smooth Canny Edge loss | training iterations = 700 | dataset = [Racecar dataset's multislow_poli scenario](https://huggingface.co/datasets/suwesh/RACECAR-multislow_poli) |