wayveai / fiery

PyTorch code for the paper "FIERY: Future Instance Segmentation in Bird's-Eye view from Surround Monocular Cameras"

Home Page:https://wayve.ai/blog/fiery-future-instance-prediction-birds-eye-view

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to modify input to accept BEV

suzannajiwani opened this issue · comments

Hi,
I'm an undergraduate researcher working with a lab. We would like to use your model as a baseline, but there are a few modifications we need to make. The first is the input - the input to our model is a birds-eye view of a scene, while the input to fiery is a series of camera images. Looking at Figures 2 and 3 of your paper, it seems like it would be possible to cut in after the features are projected to birds-eye view. After working with the model, however, it seems difficult to substitute the vector x with a bird-eye view. Do you have any suggestions for how this may be done?

Hey Suzanna! Thank you for your interest in our work. If you want to use bird's-eye view inputs, then you'll need to comment out the following lines in fiery/models/fiery.py L133:140

# Only process features from the past and present
image = image[:, :self.receptive_field].contiguous()
intrinsics = intrinsics[:, :self.receptive_field].contiguous()
extrinsics = extrinsics[:, :self.receptive_field].contiguous()
future_egomotion = future_egomotion[:, :self.receptive_field].contiguous()

# Lifting features and project to bird's-eye view
 x = self.calculate_birds_eye_view_features(image, intrinsics, extrinsics)

and set x to the bird's-eye inputs. You'll also need to modify the number of input channel of the temporal model so that it matches the dimension of the BEV inputs _C.MODEL.TEMPORAL_MODEL.START_OUT_CHANNELS = ...

Let me know if you have any other question!