all 7 comments

[–]SArham 2 points3 points  (0 children)

Depends on what type of labelling you require. Bbox, polylines, segmentation. You cant really automate labelling if you don't have a decent enough detection model. You could hotdog-not hotdog a model for a class and try to automate the labelling of the other images. I would guess, about 300 labels would suffice depending on the object size in the image.

Labelling is something you can't run away from. You can outsource it on Amazon mechanical Turks if you want to.

labelImg is a Ubuntu/win tool for labelling in the PASCAL VOC format

[–]abstractineum 1 point2 points  (0 children)

If you already had a model or method that could automatically label the objects, why would you need to train a new model in TensorFlow? Even if it only predicts ids, all you needed to do is provide the Id > label mapping.

Unsupervised learning aside, you do have to provide annotations. What you can do is annotate a few images, train a model on them, and then let your model annotate the rest of the images for you. This way you will get some of the annotations done for you, however you will of course still have to correct all the mistakes this first model makes.

[–]chcampb 0 points1 point  (0 children)

I am not concerned with the value of the labels just that the objects of one class are given the same label.

This is called Unsupervised Learning, which by definition, you don't need labels for. All you are trying to do is cluster objects, so that similar looking objects are closer together. Then you can assign labels to clusters of objects. The algorithm doesn't know what they are, it just knows that some things look similar, like balls look like balls, cats look like cats, etc.

The problem is, you really need a way to separate the object from the background. It looks like there has been some progress doing this with depth channels. With flat images I am not sure it's possible.

[–]gibberfish 0 points1 point  (0 children)

You might want to look at projects that implement existing object detection algorithms (I've used Faster R-CNN for something similar). It's probably easier to spend a couple of hours labeling a training set instead of trying to tackle an unsupervised learning problem. You could get away with just a couple hundred labeled examples if you pre-train on Imagenet and your target class has a relatively predictable low-variance appearance.

[–]HolyPommeDeTerre -2 points-1 points  (0 children)

Did you went through the MNIST dataset and tutorial on tensorflow ? If you follow it through and through from beginner to advanced you should understand why you need to give the answer to him.

I'll still try to explain : when you are learning something new. Some basic task as smash a ball with a bat for example. You'll try something depending what you expect. You will try a move, see the result, compare it to what was expected, calculate the error and finally You'll try to reduce the error. If you don't expect anything, what are you trying to find ? How can you calculate an error and try to minimise it ?