Upgrade Model performance

Hi. Thank you for awesome Edge Impulse. Our company very interested in creating ML Model for edge device, especially Himax WE-1 board.

I generated 3 models which detected dog versus cat, real golden retriever versus doll golden retriever, and doll cat versus real cat.

  1. Dog versus Cat
  • dataset from Kaggle website(https://www.kaggle.com/tongpython/cat-and-dog?select=test_set)

  • Impulse Design : Image data - Image - Transfer Learning - Output feature. (MobileNetV2 0.35(16 neurons, 0.1 dropout) / Training cycle 10 / Learning rate 0.0005)

  • Model test data : cat(1010) dog(1012) uncertain(105)
    uncertain data consist of fruit data, kite, horses, person .jpg. This data is unseen data.

= Expected result is classifying cat, dog, uncertain.
e.g
sample name | Expected outcome | Accuracy | Result
cherry | uncertain | 0% | 1 real
plums | uncertain | 0% | 1 real

The model test result is poor. uncertain data was not classified.

  1. real golden retriever versus doll golden retriever.
    I want to check the performance of model can classify real golden retriever and doll golden retriever.
  • dataset captured by Himax WE-1 camera sensor.

  • Impulse Design : Image data - Image - Transfer Learning - Output feature. (MobileNetV2 0.35(16 neurons, 0.1 dropout) / Training cycle 10 / Learning rate 0.0005)

  • Model test : golden retriever doll, real golden retriever picture, other dog picture, cat picture, eagle, horses, scream
    e.g
    sample name | Expected outcome | Accuracy | Result
    cat | uncertain | 0% | 1 real
    horse | uncertain | 0% |1 real

uncertain data was not classified either.

  1. doll cat versus real cat
  • dataset : cat doll(captured by Himax WE-1 board camera sensor), real cat data(from kaggle)

  • Impulse Design : Image data - Image - Transfer Learning - Output feature. (MobileNetV2 0.35(16 neurons, 0.1 dropout) / Training cycle 10 / Learning rate 0.0005)

  • Model test : real cat picture, doll cat picture, other dog picture

Analysis of the three model tests is as follows: The doll and the real compare very well. For example, if you are training a dog doll and a real dog, it is recognized as a doll if you put a cat doll as an input. If you enter a cat, it will be recognized as a real dog. However, if you test with completely different data such as horse or kite, or data that requires an uncertain result value, the result is a real puppy.
I want to improve the model performance, is there any way?
For input data, about 8000 sheets were used when downloaded from kaggle, and about 200 sheets were used when taken directly using the himax device.

Please advice for me. Thanks

Hi all. It’s been long time to reply this question.
I know that the question’s explanation is not easy to understand.
I’m sorry for my messy explanation.

Now I have the solution about this problem.
This is my project number 23379.

The accuracy is not 85%. I hope to upgrade the accuracy. Could you give me some advice?

Hi @SunBeenMoon Took a quick look and accuracy on your test set is >90% on that project (float32) and 88.49% on the quantized test set. Did you improve on this yet?

Hi, @janjongboom
I upgrade the result 88.89%.
I share my impulse design and result table(two)

1st Impulse design
Image data – Image – Transfer Learning(Images) – Output features
MobileNetV2 0.35 (final layer: 16 neurons, 0.1 dropout)

image

2nd Impulse design
Image data – Image – Neural Network(Keras) – Output features

image

And this is some live classification result of 1st Impulse design, version 1.

*정답 == correct answer
*탈락 == wrong answer
*세모 == not correct not wrong just middle

1 Like

대박 As you see in your 2nd design this does not learn nearly enough, you probably want to add some extra / larger layers if you want to go that route. But the transfer learning block should work well on this type of data that you have.

1 Like