ayooshkathuria / YOLO_v3_tutorial_from_scratch

Accompanying code for Paperspace tutorial series "How to Implement YOLO v3 Object Detector from Scratch"
https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/
2.32k stars 724 forks source link

Why do we reverse the final dim of the image in "prep_image"? #66

Open AsakusaRinne opened 4 years ago

AsakusaRinne commented 4 years ago

In this tutorial, there is a function preparing the image as below: `def prep_image(img, inp_dim): """ Prepare image for inputting to the neural network.

Returns a Variable 
"""

img = cv2.resize(img, (inp_dim, inp_dim))
img = img[:,:,::-1].transpose((2,0,1)).copy()
img = torch.from_numpy(img).float().div(255.0).unsqueeze(0)
return img`

We use this line to reverse the final dim of img and transpose it: img = img[:,:,::-1].transpose((2,0,1)).copy() I know that we transpose it because we want the channels in order of RGB. But why should we reverse it first?

bot66 commented 4 years ago

opencv read in image format is BGR, so reverse the final dim convert to RGB format.