This is a project with the goal of re-implementing VoxelNet (Zhou, Tuzel, 2018).
This is not finished! This is an implementation of Voxelnet without CUDA dependencies. Just Tensorflow 2.0 Keras.
Specifically, the goal is that this project:
- Implements the novel layers and loss described in the paper,
- Builds a model from these layers,
- Trains and evaluates against the relevant dataset,
- Provides pre-trained weights.
I had too much difficulty using other codesets and implementations. A lot of them share the same 'lineage' and so I wanted to start a new lineage that I found easier to use.
I wanted this implementation to:
- Emphasize code-quality,
- Use pure-Python + Tensorflow, minimizing extra dependencies,
- Prefer functional approaches
- Use reasonable default arguments to avoid parameter wrangling,
- Modularity, so this works more like a "flat library" rather than a "deep system",
- Parameter transparency: Avoid dicts-as-arguments. (No more
params
orargs
arguments!)
So, we want our code to look like this:
- The
notebooks
provides examples and whatnot as I worked through implementation details. This includes unfinished parts and notes. - The
library.py
provides every function and Keras layer we use in this project. - The
model.py
provides an instantiation of the model using the layers inlibrary.py
.
This is a WIP, and license is subject to change.