1
$\begingroup$

I'm relatively new and am still learning the basics. I've used NVIDIA DIGITS in the past, and am now looking at Tensorflow. While I've been able to fumble my way around creating some models for a few projects I'm working on, I really want to start diving deeper into what I'm doing, how I'm doing it, and ultimately a better understanding of why.

One area that I would like to start with is the Images that I'm using for training and testing. Can anyone point me to a blog, an article, a paper, or give me some insight in what I need to consider when selecting images to train a new model on. Up until recently, I've been using datasets that have already been selected and that are available for download. Lets say I'm going to start working on a project that involves object detection of ships from a variety of distances and angles.

So my thoughts would be

1) I need a large quantity of images. 2) The images need to contain ships of the different types I would like to detect. (lets just say one class, ships, don't care what type of ships) 3) I also need to have images that have a great variety of distance perspective for the different types of ships.

Ultimately, my thoughts are that the images need to reflect the distance, perspective, and types of ships I would ideally want to identify from the video. Seems simple enough.

However, there are a number of questions

Does the images need to be the same/similar resolution as the camera I'll be using, for best results? Does the images all need to be the same resolution? Can I use a single image and just digitally zoom out on the image to give the illusion of different distances?

I'm sure there are a number of other questions that I'm not asking, or should be asking. Are there any guide lines available for creating a solid collection of images to use when creating the collection of images for training and validation?

$\endgroup$
1
$\begingroup$

Do the images need to be the same/similar resolution as the camera I'll be using, for best results?

Technically yes, for best results, you should use as close as possible images that you train them on to predict, for example, HD camera and webcam images are quite different, but in real life, it is not usually possible, as it is costly. You don't need the same resolution images, but if you resize from 30 x 30 x 3 to 256 x 256 x 3 or 1024 x 768 x 3 it to 256 x 256 x 3 makes a difference in how the image looks after transformation, but You can use different resolution images, but you need to resize them, using letterbox (padded image while preserving aspect ratio), or crop, or even in some cases just resizing without preserving aspect ratio gives good results. It depends on a case by case.

Does the images all need to be the same resolution? Can I use a single image and just digitally zoom out on the image to give the illusion of different distances? No, you don't have to have them in the same resolution. You can always resize images. If the object is small in the image it could be possible, but remember it's better to have more unique data for generalization of the network. But for augmentation usually one of the augmentation techniques is zooming in (center crop and resize), and you could use zoom out as well. There are other various techniques rotation, HSV transformations, shear, and many more you can use for augmentation.

$\endgroup$
0
$\begingroup$

The criterion is: the training set needs to have the same distribution as the test set. In other words, the images in the training set must come from the same distribution as test images will come from. Think about what images you plan to use the classifier on, and what distribution they come from; then the training set should be assembled by choosing images from that same distribution.

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