This is an implementation of RACNN on Python, Keras, and TensorFlow. Radius adaptive CNN is a method that adopts different kernel sizes (or radii) based on the input content. α defines how much of the neighboring pixels are taken into account. α=0 and α=1 are equivalent to 1x1 and 3x3 convolutions.
The repository includes:
- Source code of RACNN for CPU and GPU for VGG16 and Resnet50
- Graphs for VGG16, Resnet50, VGG16-RACNN, and Resnet50-RACNN
- Test images
- Trained weights for COCO dataset
- Demo examples
- racnn_cpu_demo is a simple demonstration of RACNN using CPU.
- racnn_gpu_demo is a simple demonstration of RACNN using NVIDIA GPU.
- keras_demo contains graphs and Keras implementations.
- results contains the most recent results.
-
Install dependencies
pip3 install package
[numpy, keras, opencv-python ...] -
Clone this repository
-
Run setup from the
racnn/libs
directory-
for CPU
python3 setup.py install
-
for GPU
python3 setup_gpu.py install
or:
python3 setup.py build
and copy the compiled modules (*.pyd for windows and *.so for linux to your working directory) -
Results will be updated here
weights and test data can be downloaded from racnn1.0