Welcome to the exciting world of object detection with FastBox! This guide expertly walks you through the setup, training, and evaluation of the FastBox model on the Kitti Object Detection Dataset. With a focus on user-friendliness, we aim to make the process as smooth as possible for you. Let’s dive in!
What is FastBox?
FastBox is a state-of-the-art model renowned for its high detection performance and rapid inference speed. On the Kitti data, it achieves an impressive throughput of 28 frames per second (fps), taking only 36 milliseconds (ms) per inference – significantly outpacing the Faster-RCNN model.
Requirements
To get started, ensure you have the following:
- TensorFlow 1.0
- Python libraries: matplotlib, numpy, Pillow, scipy, runcython
You can install these modules using:
pip install numpy scipy pillow matplotlib runcython
or you can use a requirements file with:
pip install -r requirements.txt
Setting Up TensorFlow
For a successful installation, you need TensorFlow Version 1.0rc. If you’re using an earlier version, it’s recommended to create a new virtual environment and install the necessary version:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.0.0rc0-cp27-none-linux_x86_64.whl
pip install --upgrade $TF_BINARY_URL
Installation Steps
- Clone the repository:
- Initialize all submodules:
- Navigate to the utils directory and build cython code:
- Optionally, download the Kitti Object Detection Data:
- Retrieve the Kitti data URL here: data_object_image_2.zip
- Run the following command to download and prepare the data:
git clone https://github.com/MarvinTeichmann/KittiBox.git
git submodule update --init --recursive
cd submodules/utils && make
python download_data.py --kitti_url URL_YOU_RETRIEVED
Getting Started
Once everything is in place, you can run the following commands:
- To obtain a prediction with a demo image:
python demo.py --input_image data/demo.png
python evaluate.py
python train.py
Modifying the Model
To train the model on your own data, adjust the architecture in the hypeskittiBox.json file. If you want to create a custom architecture, you can make a new file like hypesmy_hype.json and use:
python train.py --hypes hypesmy_hype.json
Managing Folders
By default, data is stored in KittiBox/DATA and output in KittiBox/RUNS. Modify environment variables as needed:
$TV_DIR_DATA
$TV_DIR_RUNS
Troubleshooting
If you encounter issues, ensure you’ve followed the setup steps meticulously. Double-check library installations and TensorFlow version compatibility. If you’re using Windows, some adjustments are necessary; more information can be found here.
For assistance, stay connected with **fxis.ai** for insights on AI development projects.
Advanced Tips
To utilize TensorVision for better organization and experimentation, navigate to the TensorVision installation folder:
cd KittiBox/submodules/TensorVision && python setup.py install
Conclusion
Following this guide will set you on a path to successfully train and evaluate the FastBox model on the Kitti Object Detection Dataset. At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.
