Efficiently labelling training data in machine learning
You can't.  You can't squeeze blood out of a stone.  There's no such thing as a free lunch.  You can't get something from nothing.  If you want labelled images, you will need to label them yourself, or find some existing data set that comes with labels.  There are no shortcuts.

Yes, this is tedious and labor-intensive.  This is one of the less-well-known and less-glamorous aspects of working on machine learning: in practical projects, we often spend the majority of our time (or more!) just assembling data sets, and only a small fraction on the actual learning algorithms themselves.

I know you could do various shortcuts, like trying to write a quick program to label them.  But if that program makes mistakes, you'll just be training your machine learning algorithm to make the same mistakes -- so that's not actually helpful.

If you want to reduce the amount of labelling effort, there are ways to reduce the effort -- but still they will require a significant amount of manual labelling.  Nothing comes for free.  For instance, you can use active learning algorithms to identify which instances to label.  A simple example of that is to manually label a few hundred images as your initial training set, train a classifier, apply it to all remaining images, pick out the 20 images that the classifier is least confident on, manually label those 20 images, add them to the training set, and repeat.  (This is an application of uncertainty sampling.)  There are other, more sophisticated methods out there as well.

Another plausible approach is to somehow cluster the images, then manually label a few images from each cluster.  This has issues, though, as you'll need some reasonable way to cluster the images, and that might be a non-trivial task.  (One possible approach for clustering is to take some existing, pre-trained ImageNet classifier -- e.g., VGG, Inception, ResNet, etc. -- throw away the last layer or last two layers, and use the output before those layers as the input to some clustering algorithm like k-means.  Doing k-means clustering directly on the raw image probably won't work well, but if you do it on the vector of activation values at some deep layer near the end of a good pre-trained classifier, then you might get better results.)

Finally, we often use data augmentation to make the classifier more robust.  For instance, for each image in the training set, we might generate 10 more copies, where each copy is rotated or translated or cropped by a random amount, and add that to the training set.  This tends to help make the classifier more robust to changes in orientation or pose -- but it doesn't give you something for nothing.  You still need a large training set that contains many different kinds of tables.