kaolin-wisp
kaolin-wisp copied to clipboard
Lego dataset win_size exceeds error
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/khurram/kaolin-wisp/app/nerf/main_nerf.py", line 488, in
Hi @engrkhurramshabbir , SSIM seems to work fine on my end, which configuration are you running?
I am using following configuration cd kaolin-wisp python3 app/nerf/main_nerf.py --config app/nerf/configs/nerf_octree.yaml --dataset-path /path/to/lego
My data structure is as follows: test train val transform_test.json transform_train.json transform_val.json
I even tried multiply configurations and other data e.g. fox. But still getting same error. Problem seems to define win_size explicitly for the given data set in metrics.py, multiview_trainer.py and base_trainer.py
File "/home/khurram/kaolin-wisp/wisp/renderer/app/wisp_app.py", line 521, in _run_hook hook() File "/home/khurram/kaolin-wisp/wisp/trainers/base_trainer.py", line 333, in iterate self.end_epoch() File "/home/khurram/kaolin-wisp/wisp/trainers/base_trainer.py", line 294, in end_epoch self.validate() File "/home/khurram/kaolin-wisp/wisp/trainers/multiview_trainer.py", line 225, in validate evaluation_results = self.evaluate_metrics(self.validation_dataset, lods[-1], File "/home/khurram/kaolin-wisp/wisp/trainers/multiview_trainer.py", line 118, in evaluate_metrics ssim_total += ssim(rb.rgb[...,:3], gts[...,:3]) File "/home/khurram/kaolin-wisp/wisp/ops/image/metrics.py", line 84, in ssim return skimage.metrics.structural_similarity( File "/home/khurram/anaconda3/envs/wisp/lib/python3.9/site-packages/skimage/metrics/_structural_similarity.py", line 178, in structural_similarity raise ValueError( ValueError: win_size exceeds image extent. Either ensure that your images are at least 7x7; or pass win_size explicitly in the function call, with an odd value less than or equal to the smaller side of your images. If your images are multichannel (with color channels), set channel_axis to the axis number corresponding to the channels.
I think it may be an issue with skimage version
I change the file at wisp/ops/image/metrics.py
to include the channel_axis
, namely:
return skimage.metrics.structural_similarity(
rgb[..., :3].cpu().numpy(),
gts[..., :3].cpu().numpy(),
multichannel=True,
data_range=1,
gaussian_weights=True,
sigma=1.5,
channel_axis=-1)
and it works now.