Skip to content

Commit 2f37936

Browse files
committed
try to use overviews, but disable because it caused a crash
1 parent ba4fbf6 commit 2f37936

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

yolo/tools/data_loader.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,28 @@ def load_valid_labels(self, label_path: str, seg_data_one_img: list) -> Union[Te
231231
def get_data(self, idx):
232232
img_path, bboxes = self.img_paths[idx], self.bboxes[idx]
233233
valid_mask = bboxes[:, 0] != -1
234-
with Image.open(img_path) as img:
234+
235+
USE_OVERVIEW_HACK = 0
236+
if USE_OVERVIEW_HACK:
237+
# Can leverage overviews to load images faster if they exist.
238+
import delayed_image
239+
delayed = delayed_image.DelayedLoad(img_path)
240+
delayed._load_metadata()
241+
scale_factor = self.base_size / max(delayed.shape[0:2])
242+
delayed = delayed.scale(scale_factor)
243+
delayed = delayed.optimize()
244+
# Peel off the top warp to only get the overviews
245+
delayed = delayed.subdata
246+
imdata = delayed.finalize()
247+
img = Image.fromarray(imdata)
235248
img = img.convert("RGB")
249+
# import kwimage
250+
# imdata = kwimage.imread(img_path, overview=1, backend='gdal')
251+
else:
252+
with Image.open(img_path) as img:
253+
img = img.convert("RGB")
254+
255+
# TODO: we can load an overview here to make this much more efficent
236256
return img, torch.from_numpy(bboxes[valid_mask]), img_path
237257

238258
def get_more_data(self, num: int = 1):

0 commit comments

Comments
 (0)