MATLAB Answers

How to create inputs and targets for Neural Network?

4 views (last 30 days)
I need to know how to set my SURF code as my input (x) and ind out what my target (t) needs to be.
This is my neural network code:
close all;
% get 300 images
% x = 640 x 300
% t = 3 x 300
[x,t] = ?????
net = patternnet(10);
[net,tr] = train(net,x,t);
testX = x(:,tr.testInd);
testT = t(:,tr.testInd);
testY = net(testX);
testIndices = vec2ind(testY);
I need to add my SURF extraction code as my input (I think) but I have no idea what the t-target is.
SURF extraction code:
images_dir ='C:\Users\pittsl\Desktop\Matlab\train\cup';
for i=1:n
image = pngfiles(i).name;
im1 = imread(fullfile(images_dir,image));
I = rgb2gray(im1);
points = detectSURFFeatures(I);
hold on;
[features, valid_points] = extractFeatures(I, points);


Sign in to comment.

Accepted Answer

Shashank Gupta
Shashank Gupta on 5 Aug 2019
detectSURFFeatures” function is just a feature extraction tool, it will help you to extract important information about the image in a robust way. I am assuming you want your input not to be multidimensional data whereas descriptor gives multidimensional data. One way to tackle this is to use “bag of features”. It discretizes the space of descriptor and gives you a single vector.
You can check out furthermore on “bag of features” in
On the other hand, Target (t) vector you can construct it depending on whether you want to classify or detect something in Image.
For example, “an Iris dataset” has 3 classes and you want to classify the image in one of the three class, so target vector should look something like [0,0,1] (a categorical data) where “1” represent the image belong to that class.
Hope it helps!

  1 Comment

Lauren Pitts
Lauren Pitts on 7 Aug 2019
@Shashank Gupta I'd never heard of bag of features but it worked perfectly! Thank you so much!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by