Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

zoom in and zoom out images for training dataset augmentation

I want to train a deep learning model with some image data. Since my dataset is small, I want to perform a zoom-in and zoom-out augmentation to get a 3 times larger dataset. I have done the zoom-in operation as follows:

            img = cv2.imread(path),0)
            new_width = int(img.shape[1] * 1.2)  # Zoom in by 20%
            new_height = int(img.shape[0] * 1.2)  # Zoom in by 20%
            zoomed_frame = cv2.resize(img, (new_width, new_height)) #resize to smaller dimensions
            roi_x = (new_width - img.shape[1]) // 2
            roi_y = (new_height - img.shape[0]) // 2
            roi_frame = zoomed_frame[roi_y:roi_y+img.shape[0], roi_x:roi_x+img.shape[1]]
            img = cv2.resize(roi_frame, (64, 64), interpolation=cv2.INTER_AREA)

here I first resize the image to 20% larger, then I crop the image of the size of original image from the center. At the end, since I have to prepare my dataset for model training, all input images must be of same size, so I resize at the end into 66*64 size.
Although I am not doubtful about the zoom-in procedure (still I request some expert to verify it),
I do not understand how to perform a zoom-out.

Suppose I simply resize my image to a 20% smaller size, I again need to resize it to 6464 ultimately. Will that first resize that I had performed as a zoom-out actually make any difference to the final image of 6464 size, or would it be the same as if resizing the original image to 64*64 without any zoom-out (not only visibly but for model training)?

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

There are libraries that support different data augmentation tasks. It will be better to use those libraries instead of implementing them from scratch. Some examples of available libraries are Albumentations , ImgAug, Augmentor etc.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading