Skip to content

roman-bezusiak/ICABIR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ICABIR

ICABIR - Identification of Clothes and Accessories Based on Image Recognition

πŸ“₯ Installation instructions

  1. Install the ICABIR.m
  2. Install the Fashion-MNIST dataset zipped .jpeg images from Dropbox link
  3. Unzip the dataset

πŸ›  Configuration instructions

In ICABIR.m file one should modify the lines to set the full path to the unzipped datasets:

%% Getting the data
% Full path of train images data set folder (subject to change)
trainImgFolder = fullfile();

% Full path of test images data set folder (subject to change)
testImgFolder = fullfile();

Reference on how to use "fullfile()": MathWorks fullfile() documentation

Remarks

  1. trainImgFolder variable should point to ".../Datasets/Train"
  2. testImgFolder variable should point to ".../Datasets/Test"
  3. Datasets folder is optional

βš™οΈ Operating instructions

Algorithm

  1. User calls the ICABIR(x) function, while passing a singular integer value x, between 0 and 9 inclusively, which represents the object, NN should classify
Index Object
0 T-shirt/top
1 Trouser
2 Pullover
3 Dress
4 Coat
5 Sandal
6 Shirt
7 Sneaker
8 Bag
9 Ankle boot
  1. Importing layers of a convolutional neural network from digitsDAGnet.h5 modelfile. Layer structure is shown on the following picture

Layer structure

  1. Creating an ImageDatastore object, which automatically labels the images based on names of the folders, they are in. An image datastore allows to store large image data, including data that does not fit in memory, and efficiently read batches of images during training of a convolutional neural network

  2. Choosing a random image of a label x in the folder, denoted by testImgFolder, which NN has not β€œseen” before

  3. Initializing the NN training options as:

  4. Training the NN with the train data set, and saving its data to the NN object

  5. Classifying the random image of the user-entered label, and saving result into classificationResult variable

  6. Preparing the output figure data

  7. Showing the output figure

If NN has properly classified the image, output figure title labels should be the same If NN has not properly classified the image, output figure title labels should be different
Correct result Incorrect result

πŸ—ƒ File manifest

  • img ( 3 )
    • correct_classification_result_ex.jpg
    • wrong_classification_result_ex.jpg
    • layer_structure.png
  • ICABIR.m
  • README.md
  • LICENCE

Total: 6 files

βš–οΈ Copyright and licensing information

This project is licensed under the MIT Licence. See the LICENSE file for details

⚠️ Known bugs, problems and troubleshooting

"The program does not run, because some functions do not exist"

Problem:

There is no Deep Learning Toolbox installed on one's machine

Solution:

Install Deep Learning Toolbox

"The program can not find the proper path to the data sets"

Problem:

The following lines were not changed upon configuration

%% Getting the data
% Full path of train images data set folder (subject to change)
trainImgFolder = fullfile();

% Full path of test images data set folder (subject to change)
testImgFolder = fullfile();

Solution:

Follow Configuration instructions

πŸ‘ Credits and acknowledgments

Authors:

Used resources:

Used code:

  • Deep Learning Toolbox - Base of the project - mathworks.com
  • Importing TensorFlow-Keras models - Self-explanatory -mathworks.com
  • mnist-csv-png - Fashion-MNIST dataset convertion script - github.com

Releases

No releases published

Packages

No packages published

Languages