4
$\begingroup$

I'm seeking guidence here. Can I use Multi Layers Perceptron (MLP), e.g regular flat neural networks, for image classification?

Will they perform better than Fisher Faces?

Is it difficult to do image classification with a MLP network?

It's on basic level like classifying objects and not detailed structures and patterns.

Important to me is that the MLP need to be trained with pictures that can have noise in background and different light shadows.

$\endgroup$
  • $\begingroup$ Hi @Daniel, welcome to Artificial Intelligence Stack Exchange, Please see the tour and look around to see how this site works. For your questions, could you please ask one question per post? it will give more focus on each post $\endgroup$ – malioboro Apr 20 at 2:37
  • $\begingroup$ I highly recommend for any image classification you look into convolutional neural networks. These should preform much much better than a standard MLP for image classification. Yes while you can do it with MLP, you probably shouldn't. The main issue comes from the input layer, feeding in each pixel as a giant 1D vector might give you too many parameters to train and an overall inferior model... $\endgroup$ – PMaynard Apr 20 at 5:11
  • $\begingroup$ @PMaynard Thank you. Now I know that MLP is bad practice in image classification. Perhaps I should use Fisherfaces instead? $\endgroup$ – Daniel Mårtensson Apr 21 at 11:12
  • $\begingroup$ No use a convolutional neural network, Unless this is an assignment or task that requires it you should almost undoubtedly use a convolutional neural network. Generally for image classification I would say, CNN = Great, MLP = poor/okay, Fisher Faces = Bad. $\endgroup$ – PMaynard Apr 22 at 1:30
2
$\begingroup$

Multi Layers Perceptron(MLP) can be used for image classification, but it has a lot of deficiency than Convolutional Neural network(CNN). But if you compare MLP and Fisher Faces , the better one is MLP, because Fisher Faces will be increasingly difficult if adding more individuals or classes. You can make a simple MLP model, because it just has 3 layers which are an input layer, hidden layer and output layer, here a source code that you can try:

if you make a model, it will be based on training data, I think if make data trained composed based on noise in background and different light shadows on your image I think it will have a better performance, but remember if you are using MLP for image classification it can just predict an image on one spot, for example: "if you train a model with the object in the middle of an image, your model can not predict it when the image is moved to the different spot".

here is pdf to see Fisher Faces performance:

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thank you! So MLP > Fisherfaces? :) $\endgroup$ – Daniel Mårtensson Apr 21 at 11:45
  • $\begingroup$ for some reason yes :) ,but i suggest u to use CNN for image Classification, it have better performance $\endgroup$ – Firhan maulana rusli Apr 21 at 12:58
  • $\begingroup$ I will convert MPL network to C code. That's why I wonder if MPL can be used for image classification. Else I will go with fisher faces. $\endgroup$ – Daniel Mårtensson Apr 21 at 14:10
  • $\begingroup$ Try Deeplearing2C on GitHub. I made it. $\endgroup$ – Daniel Mårtensson Apr 21 at 14:15
1
$\begingroup$

let me try to answer your question. yes, you can use multilayer perceptron to image classification. Multilayer Perceptron is topology the most common of ANN, where perceptrons are connected to form layers. An MLP has input layer, at least one hidden layer, and output layer. Multilayer perceptron is one method many used. one of them, regards research on classification human skin based on its color, Khan (Khan, Hanbury, Stöttinger, & Bais, 2012) compare the nine methods for classifications include BayesNet, J48, Multilayer Perceptron (MLP), Naive Bayes, Random Forest, and SVM. The results show that the Multilayer Perceptron (MLP) produce the highest performance after Random Forest and J48.

| improve this answer | |
$\endgroup$
1
$\begingroup$

Depends, if the faces are centered and have the same background yes. You also need a lot of data.

If they are daily life images, then no. You will have very bad generalization.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.