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.

https://github.com/paumatas/pointnet-formulastudent-i2r

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

autonomous-driving formula-student-driverless introduction-to-research point-cloud pointnet
Last synced: 6 months ago · JSON representation ·

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
  • Host: GitHub
  • Owner: PauMatas
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 9.54 MB
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
autonomous-driving formula-student-driverless introduction-to-research point-cloud pointnet
Created about 3 years ago · Last pushed about 3 years ago
Metadata Files
Readme Citation

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.

bounding_boxes_to_be_classified

[^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.ipynb is 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 in notebooks/out/map_plot/.

map_plot

  • data_understanding.ipynb allows 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.ipynb shows the bounding boxes corresponding to cone locations as 3-dimensional scatter plots.

  • Finally, modelnet_viz.ipynb and pointnet_training.ipynb are 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

All Time
  • Total Commits: 53
  • Total Committers: 3
  • Avg Commits per committer: 17.667
  • Development Distribution Score (DDS): 0.113
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels