Skip to content

IMplementation of the classification appliction based on the neocortexapi hierarchical temporal memory

License

Notifications You must be signed in to change notification settings

MahdiehPirmoradian/neocortexapi-classification

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeocortexApi-Project Image Classification

The images DataSet for training process are chosen from the following link: DataSetImages

They are 60x60 pixles images Hand Drawn Shapes. Input1

We looked over 100 diverse HTM network setups in total. the Goal was to get the best results of learning and prediction, while variying parameters of htmConfig file in a specific range. after implementaion of these enhancements, the HTM system should be able to learn the specifications of images per each category, so that when we enter an image as a test-image, the system is able to tell us how high is the possibility of belonging the test-image to each of the learned categories.

Progress of the project

  1. Two different types of Prediction Code is created and are working accurately. one is comparing the similarity of the input test-image to average similarity of the images of each category, while another one compares the input test-image to all images and choose the image with most similarity and returns its category as the predicted category.
  2. An excel database of output information of the system is created and diagrams for comparison with different Htm Configs was created.
  3. One user has done Experiments for variable Potential Radiuos while changing the Local Area Density. and another user has investigate the NumActiveColumnsPerInhArea and Local and Global Inhibition parameters.
  4. We also added some comments to make the code more readable and easier to understand.
  5. We also worked on some warnings of the Ecperiment class and solved them.
  6. the input test-image path doesnt need to be written completely, but its adressed based on the folder in which the program is running.

In-Progress

  1. Working on docx, pdf, pptx and mp4.
  2. Planing more experiments to discover the behavior of system, while changing the above mentioned htmConfig parameters in even wider ranges.

This project is the implementaiton of the command line interfaca for the image classification based on the Hierarchical Temporal Memory (HTM) implemented in the necortexapi repository.

How to use the classifier?

1) Prepare the program's directory:

Before you start you need to prepare images that are required for the training. Images must be copied in the following folder structure along with the application and the config json:

The imagesets are stored inside "InputFolder".
InputInstructions1

Please first time after cloning the project, copy this InputFolder and placed it in the shown path:

InputInstructionss

Prediction Part :

Below are link to the Prediction code which we wrote to predict to which category the Input test image belongs to.

2) process of giving your input test image to the program:

Test Image is inside the TestFolder in the shown path with the name B.jpg, You can replace it. Just *** name the test-image as "B.jpg" please. TestInstructionss

Sample input folder of the project can be found here

HTM Configuration
HTM setting of the project can be inputted to the program by means of a .json file htmconfig.json.
Multiple experiments can therefore be conducted via changes of parameters in the json file. For a reference on what each parameter does, please refer to on neocortexapi

The best output for LocalAreaDensity and PotentialRadius is shown here

image

The best output for NumActiveColumnsPerInhArea PotentialRadius is shown here

bedune khatte-local- NumActive-30-PotRad-20

About

IMplementation of the classification appliction based on the neocortexapi hierarchical temporal memory

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%