Neighboring Collaborative Convolutional Neural Networks
Skip to How to Run Guide
See our proposal for this project here
Combines K-Nearest Neighbors and Convolutional Neural Network (CNN) techniques with the use of capsules to create a collaborative network of neurons. This project was originially for the project requirement of the Machine Learning graduate level course at Worcester Polytechnic Institute (WPI). Our team decided to pursue an innovative way to compete in the Google AI Open Images - Object Detection Track competition on Kaggle when it runs again next year. The data sets used in this project are linked in the Data section below.
For our model we combined and used regular tensorflow convolutional layers. Once the layers encoded the image to a desired shape we used the tf.reshape, tf.gather_nd and tf.pad to implement our idea.
(Pending as this is a continious project beyond our class.)
Data and Validation sets in csv files can be found under the Data tab
Class Names Data is located under Meta Data on this page
Berkeley DeepDrive Must create a log in to be able to download the data set
Once the data set is downloaded to your local machine, place the images and labels from the download into the bdd100k directory.
Your file structure should look like:
bdd100k/
|-- images/
|-- 10k
|-- test/
|-- train/
|-- val/
|-- 100k
|-- test/
|-- train/
|-- val/
|-- labels/
|-- bdd100k_labels_images_train.json
|-- bdd100k_labels_images_val.json
|-- wgih.txt(Note: because of a naming problem you might have to name the folder bbd100k - this will be fixed soon)
Follow what's below here for installation and training examples.
In order to run our code your machine must have the following:
- Must have Jupyter Notebook installed (This can be done here: https://jupyter.readthedocs.io/en/latest/install.html)
- 6GB CPU
- (Optional) 6GB GPU if running with GPU for faster processing
If using GPU, also need:
- NVIDIA Graphics card with GPU drivers using Cuda 9.0
- cuDNN SDK 7.4
(Can update the above when installing TensorFlow below)
- NVIDIA Developer Account (Can be obtained for free at: https://developer.nvidia.com/developer-program)
For TensorFlow to work:
- Ubuntu 16.04 or later
- Windows 7 or later
- macOS 10.12.6 (Sierra) or later (no GPU support)
- Raspbian 9.0 or later
-
Clone the repository to your computer by using HTTPS or SSH (or download it) using the commands in the green drop down menu at the top of the repository.
-
Update your system with:
sudo apt-get update -
Check for Python 3.6 (Not Python 3.7! This is not supported by TensorFlow yet.)
To check the version you're running:
python -VTo install:
sudo apt-get install python3.6 -
Install pip3:
sudo apt install python3-pip -
Install TensorFlow/TensorFlow-GPU: https://www.tensorflow.org/install/
In addition, follow this guide in TensorFlow for GPU version: https://www.tensorflow.org/install/gpu
See Tutorial Notebook for a tutorial.
See Training Notebook for examples on how to train.
