First of all, I am very new in machine learning and data science, so I am really sorry if my question is completely stupid.

I am doing an internship in machine vision, and people of my office want me to implement a Deep Learning model to inspect a motorbike after being fully assembled. Basically, they want to inspect different parts of the motorbike, and detect if there is a defect or not. However, before doing it in real life, they want to use a miniature of a motorbike in order to study the viability of this project.

This being said, I was thinking about creating one model for each region to be inspected, programing a robot with a camera to take pictures of these regions, and letting the DL models evaluate them. In addition, the DL models would be used for One-Class Classification to detect if the region inspected is OK or Not OK only by analyzing images labeled OK.

However, there are several problems that I will list as follows:

1 – We don’t have (any) data (yes, I told them it is stupid to try DL without any data);

2 – In internet, I could not find dataset of motorbike, much less specifically of the regions to be inspected;

3 – They want to inspect a specific model of motorbike, so they are asking me to do something very very specific, and I suppose that even if I find a dataset of the specific regions of different motorbikes, it will be kind of useless.

Finally, with all the conditions and problems that I mentioned above, it seems that it is impossible to do what they want, but I would like to ask you about it before giving up, because as I said, I am very new in this subject and I might be wrong. Could you give me your opinion/advice about everything I mentioned here?

Thank you very much!!

  • $\begingroup$ Hey @Vitor, it's great to see you on the Stack Exchange. Can you make the question you are asking more explicit? At the moment, it is hard to discern what problem you are trying to specifically address. $\endgroup$
    – shepan6
    Feb 20, 2022 at 12:16

2 Answers 2



If you are falling short of data, you obviously need to create a custom dataset i.e by labelling each part of a motorcycle. If you can collect some images, we can use a pre-trained classifier along with image augmentation technique. You can Google's Dataset Search.

To annotate your dataset, you can find tools here and here. If you need to download a number of images from Google Image Search, try this tool.

Model Architecture

Now, regarding the model, we can use any object localization algorithms to detect various parts of a motorcycle. Next, these individual parts would be fed to different models which will classify the respective faults. For detection, we can use



my idea would be you can ask if maybe it is possible to collect your own data (using phone camera for example), since you mentioned that you might be working on multiple regions of the motorbike, I think you should limit this for the minimum viable implementation. Do explain how your plan will be as clear as possible so he/she can understand and hopefully give you the said permission. Also you might not need to make different model for each region. You can try model the final output as two outputs (one for detecting which region and one for detecting whether it is defective or not).

Transfer Learning

transfer learning is the key here. There is no need to train a model from scratch given that you are not provided with sufficient data.

Dataset Augmentation

Given that you have collected the data as suggested then you might still end with very small dataset. What you can do is try performing image augmentation(rotation, brightness changing, flipping, or even blurring etc) so you can have more variations for the training set.


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.