4
$\begingroup$

I am new to machine learning, working on object detection, but not interested in the location of the object in the image, so I just want to know is it possible to train such a neural network, if yes, how? (I just want a list of objects present in the image). I am not sure what kind of dataset I would require to build such a network.

edit: I will be more clear on my question. First I know about CNN and the models like VGG16, Inception, Resnet etc. My doubt is that these networks can be trained to identify an object i.e. it will predict which object is present in the image and give the probability. What if I want to train a network to tell whether particular objects are present in the image or not i.e. The output should be yes if any of the objects is present no if not

$\endgroup$
7
$\begingroup$

A standard computer vision and deep learning dataset for this problem was developed by the Canadian Institute for Advanced Research (CIFAR). The CIFAR-10 dataset consists of 60,000 photos divided into 10 classes (hence the name CIFAR-10). Classes include common objects such as airplanes, automobiles, birds, cats and so on. The dataset is split in a standard way, where 50,000 images are used for training a model and the remaining 10,000 for evaluating its performance. Other datasets are MNIST, CIFAR-100 STL-10, SVHN, ILSVRC2012 etc

State of the art results are achieved using very large Convolutional Neural networks. You can learn about state of the are results on CIFAR-10 on Rodrigo Benenson’s webpage. Model performance is reported in classification accuracy, with very good performance above 90%.

Here is a sample tutorial on convolutional neural network with caffe and python

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

This problem has been researched in several projects. An interesting overview of articles on the topic can be found here. For a crash course in image recognition and neural nets see this interesting post. I hope this helps you to get started.

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

Yes. Simply remove the softmax function after the final layer or replace it with a Sigmoid, and your vanilla classification neural network becomes an object presence detection network. This transforms the problem from classification to multi-classification or regression, and multiple classes can be detected in an image in parallel without the requirement to predict only one or a fixed number of classes.

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

yes you can train but before that, you have to train network to identify the object you want. It means first you need to input dataset to the network with samples. Let's take an example. If you want to identify chair object from the image then make the dataset of chairs having different designs. So based on that if you give any new chair image as an input to check it will identify that object as a chair from the trained dataset.

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

I feel awkward for asking this question because all I had to do was add a Threshold to the prediction i.e. after training the model to recognise the objects in the picture ( I used faster-rcnn to find multiple objects). I just had to make a threshold such that, only if the model is at least 50% sure that the object is a car then a car exists in the picture.

| 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.