Better to crop or compress training data?

I've been trying to make an object recogniser in Tensorflow and have used labelImg to classify large electrical transmission towers at varying distances. In order to make 10-16MP (~2-7MB) images train with my computer's 16GB of RAM, I need to crop them down until they're about 200x500 and 100kB.

The way I see it, this preserves the detail of a far away tower, and means the image_resizer function, set at 1024x600, won't be smashing a 200x500 tower in a 5000x3000 image into total unrecognisability. The trouble is that the algorithm seems only to recognise towers up close and large in frame, and I suspect that it might be a lack of outside perspective in the cropped version that has done this. (Either that or not enough shots of far away towers) But if I compress the images down to even 1920x1080, the towers still become blurred and artefacted to hell.

Just wondering if anyone has any experience with new training datasets and could tell me what's better to feed in. Have attached a 2MP resized version and a cropped version as an example. Cropped version is of the tower on the right. Tower in 2MP is much more artefacted.

Topic object-detection tensorflow image-recognition

Category Data Science


That is an empirical question, best answered through cross-validation and seeing which option has the best evaluation metric performance on a hold-out dataset.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.