Skip to content

Neighboring Collaborative Convolutional Neural Networks

License

Notifications You must be signed in to change notification settings

calper-ql/NCCNN

Repository files navigation

NCCNN

Neighboring Collaborative Convolutional Neural Networks

Skip to How to Run Guide

See our proposal for this project here

About this project

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.

Methodology

methodology flow graph

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.

Results

(Pending as this is a continious project beyond our class.)

Data

Original Data Sets used:

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

Actual Data Sets used:

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)

How to Run

Follow what's below here for installation and training examples.

Machine Requirements

In order to run our code your machine must have the following:

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)

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

Installation

  1. 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.

  2. Update your system with:

    sudo apt-get update
    
  3. Check for Python 3.6 (Not Python 3.7! This is not supported by TensorFlow yet.)

    To check the version you're running:

    python -V
    

    To install:

    sudo apt-get install python3.6
    
  4. Install pip3:

    sudo apt install python3-pip
    
  5. 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

Training

See Tutorial Notebook for a tutorial.

See Training Notebook for examples on how to train.

About

Neighboring Collaborative Convolutional Neural Networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published