pointnet-formulastudent-i2r
Code to support a study of the use of PointNet as classifier of cones in the perception system of a Formula Student car.
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
2 of 3 committers (66.7%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.7%) to scientific vocabulary
Keywords
Repository
Code to support a study of the use of PointNet as classifier of cones in the perception system of a Formula Student car.
Basic Info
Statistics
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Formula Student car perception with PointNet :checkeredflag: :smallred_triangle: :mag:
Introduction
This repository contains the code to support a study[^1] of the use of PointNet as perceiver in a Formula Student (FS) car. Here there are the tools to study the performance of this algorithm introduced in the perception pipeline of the FS team.
The main task to solve with PointNet is the filtering of proposals received from the previous tasks of the pipeline. These proposals are regions of a point cloud[^2] with high probability to be a real cone. We use PointNet as a classifier with the aim of identifying only those proposals that are definitely cones.

[^1]: Read the full study here. [^2]: Received from a LiDAR sensor.
Usage
You will need to have a database.sqlite3 and a validation_database.sqlite3 files in your data directory. Once you have the data, in order to train the model to classify the point clouds in the database run:
Shell
cd src/models
python train.py
You can use Weights & Biases to track your train:
Shell
python train.py --wandb_api_key "<wandb private api key>"
You can also change hyperparameters as the time interval (delta), the sample size (num_points), the batch size (bs), the number of epochs (nepoch) and also reuse a previously trained model:
Shell
python train.py --batchSize 128 --nepoch 10 --num_points 10 --delta 1000 --model ../models/cls_model-d:1000ms-sample:10-bs:128.pth
For a simpler way to encapsule the process also useful for SLURM you can execute from the root:
Shell
cd scripts
./train.sh
Notebooks
You can also find in the repository a directory with Notebooks useful for understanding the problem.
map_plot.ipynbis a notebook to visualize the tracks defined by the cones for each run. It also plots the no cones locations. Its outputs can also be found innotebooks/out/map_plot/.

data_understanding.ipynballows us to generate a important plot for the research. This plot shows the average number of points in every bounding box with respect to its distance to the car.cone_viz.ipynbshows the bounding boxes corresponding to cone locations as 3-dimensional scatter plots.Finally,
modelnet_viz.ipynbandpointnet_training.ipynbare used to visualize the meshes from the dataset ModelNet40 (and their samples), and to train PointNet with the data of ModelNet40, respectively.
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Matas Albiol"
given-names: "Pau"
orcid: "https://orcid.org/0000-0002-6075-3165"
title: "Formula Student car perception with PointNet"
version: 0.1.0
date-released: 2023
url: "https://github.com/PauMatas/PointNet-FormulaStudent-I2R"
GitHub Events
Total
Last Year
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Pau Matas | p****s@e****u | 47 |
| Pau Biosca | p****n@e****u | 5 |
| Pau Biosca | p****a@M****l | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0