Spaces:
				
			
			
	
			
			
					
		Running
		
	
	
	
			
			
	
	
	
	
		
		
					
		Running
		
	change padding
Browse files- modules/dataset_loader.py +10 -19
 
    	
        modules/dataset_loader.py
    CHANGED
    
    | 
         @@ -345,29 +345,20 @@ def resize_and_pad(image, target, new_size=(1333, 800)): 
     | 
|
| 345 | 
         
             
                scale = min(new_size[0] / original_size[0], new_size[1] / original_size[1])
         
     | 
| 346 | 
         
             
                new_scaled_size = (int(original_size[0] * scale), int(original_size[1] * scale))
         
     | 
| 347 | 
         | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 348 | 
         
             
                # Resize image to new scaled size
         
     | 
| 349 | 
         
             
                image = F.resize(image, (new_scaled_size[1], new_scaled_size[0]))
         
     | 
| 350 | 
         | 
| 351 | 
         
            -
                # Calculate padding to center the image
         
     | 
| 352 | 
         
            -
                pad_left = (new_size[0] - new_scaled_size[0]) // 2
         
     | 
| 353 | 
         
            -
                pad_top = (new_size[1] - new_scaled_size[1]) // 2
         
     | 
| 354 | 
         
            -
                pad_right = new_size[0] - new_scaled_size[0] - pad_left
         
     | 
| 355 | 
         
            -
                pad_bottom = new_size[1] - new_scaled_size[1] - pad_top
         
     | 
| 356 | 
         
            -
             
     | 
| 357 | 
         
             
                # Pad the resized image to make it exactly the desired size
         
     | 
| 358 | 
         
            -
                 
     | 
| 359 | 
         
            -
             
     | 
| 360 | 
         
            -
                # Adjust bounding boxes
         
     | 
| 361 | 
         
            -
                target['boxes'] = resize_boxes(target['boxes'], original_size, new_scaled_size)
         
     | 
| 362 | 
         
            -
                target['boxes'][:, 0::2] += pad_left
         
     | 
| 363 | 
         
            -
                target['boxes'][:, 1::2] += pad_top
         
     | 
| 364 | 
         
            -
             
     | 
| 365 | 
         
            -
                # Adjust keypoints if they exist in the target
         
     | 
| 366 | 
         
            -
                if 'keypoints' in target:
         
     | 
| 367 | 
         
            -
                    for i in range(len(target['keypoints'])):
         
     | 
| 368 | 
         
            -
                        target['keypoints'][i] = resize_keypoints(target['keypoints'][i], original_size, new_scaled_size)
         
     | 
| 369 | 
         
            -
                        target['keypoints'][i][:, 0] += pad_left
         
     | 
| 370 | 
         
            -
                        target['keypoints'][i][:, 1] += pad_top
         
     | 
| 371 | 
         | 
| 372 | 
         
             
                return image, target
         
     | 
| 373 | 
         | 
| 
         | 
|
| 345 | 
         
             
                scale = min(new_size[0] / original_size[0], new_size[1] / original_size[1])
         
     | 
| 346 | 
         
             
                new_scaled_size = (int(original_size[0] * scale), int(original_size[1] * scale))
         
     | 
| 347 | 
         | 
| 348 | 
         
            +
                target['boxes'] = resize_boxes(target['boxes'], (image.size[0],image.size[1]), (new_scaled_size))
         
     | 
| 349 | 
         
            +
                if 'area' in target:
         
     | 
| 350 | 
         
            +
                    target['area'] = (target['boxes'][:, 3] - target['boxes'][:, 1]) * (target['boxes'][:, 2] - target['boxes'][:, 0])
         
     | 
| 351 | 
         
            +
             
     | 
| 352 | 
         
            +
                if 'keypoints' in target:
         
     | 
| 353 | 
         
            +
                    for i in range(len(target['keypoints'])):
         
     | 
| 354 | 
         
            +
                        target['keypoints'][i] = resize_keypoints(target['keypoints'][i], (image.size[0],image.size[1]), (new_scaled_size))
         
     | 
| 355 | 
         
            +
             
     | 
| 356 | 
         
             
                # Resize image to new scaled size
         
     | 
| 357 | 
         
             
                image = F.resize(image, (new_scaled_size[1], new_scaled_size[0]))
         
     | 
| 358 | 
         | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 359 | 
         
             
                # Pad the resized image to make it exactly the desired size
         
     | 
| 360 | 
         
            +
                padding = [0, 0, new_size[0] - new_scaled_size[0], new_size[1] - new_scaled_size[1]]
         
     | 
| 361 | 
         
            +
                image = F.pad(image, padding, fill=200, padding_mode='edge')
         
     | 
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 362 | 
         | 
| 363 | 
         
             
                return image, target
         
     | 
| 364 | 
         |