Code Monkey home page Code Monkey logo

Comments (5)

ZikangZhou avatar ZikangZhou commented on June 15, 2024

I didn't have a full test on Waymo, but recently I applied the same idea on Argoverse 2 and achieved pretty strong results. I think the model is not overfitting a single dataset. I feel that your results look like random predictions. Perhaps you should first check whether you have converted the prediction results back to the original coordinate system. Usually speaking, you can get minADE lower than 2.0 after training one epoch.

from hivt.

ZikangZhou avatar ZikangZhou commented on June 15, 2024

To get a strong result on Waymo or Argoverse 2, the model may need a larger receptive field since the prediction horizon in these new datasets is pretty long. On Argoverse 2 (which requires predicting a 6-second future) I crop a local map for each agent with a radius of 150m.

from hivt.

ZYJ-JMF avatar ZYJ-JMF commented on June 15, 2024

I didn't have a full test on Waymo, but recently I applied the same idea on Argoverse 2 and achieved pretty strong results. I think the model is not overfitting a single dataset. I feel that your results look like random predictions. Perhaps you should first check whether you have converted the prediction results back to the original coordinate system. Usually speaking, you can get minADE lower than 2.0 after training one epoch.

Thanks for your reply.
But in the code the data.y is normalized by agents and the prediction is in the same coordinate system as data.y. And can directly calculate the loss.
So I do not understand what is the meaning of "converte the prediction results back to the original coordinate system".
Can you explain the idea in detail?
Thanks

from hivt.

ZikangZhou avatar ZikangZhou commented on June 15, 2024

I'm not sure how you evaluate the model. If you evaluate the model by submitting it to the online evaluation server, you need to pay attention to the coordinate system and make sure that the coordinate system you use is consistent with that adopted by the evaluation server. If you evaluate the model offline by using the metrics I implement in the codebase, it should be fine since I have converted the ground truth into agent-centric local coordinate systems. But one more thing you should note is that some datasets have missing values in the ground truth. You may get abnormal results if you don't mask out those missing values correctly when calculating the metric numbers. The metrics I implement in this codebase assume that the ground-truth trajectories are always complete since Argoverse 1 doesn't have this problem.

For example, the code snippet below is an implementation of ADE with missing values in consideration:

class ADE(Metric):

    def __init__(self, **kwargs) -> None:
        super(ADE, self).__init__(**kwargs)
        self.add_state('sum', default=torch.tensor(0.0), dist_reduce_fx='sum')
        self.add_state('count', default=torch.tensor(0), dist_reduce_fx='sum')

    def update(self,
               pred: torch.Tensor,
               target: torch.Tensor,
               valid_mask: Optional[torch.Tensor] = None) -> None:
        if valid_mask is None:
            valid_mask = target.new_ones(target.size()[:-1], dtype=torch.bool)
        self.sum += ((torch.norm(pred - target, p=2, dim=-1) * valid_mask).sum(dim=-1) / valid_mask.sum(dim=-1)).sum()
        self.count += pred.size(0)

    def compute(self) -> torch.Tensor:
        return self.sum / self.count

from hivt.

ZYJ-JMF avatar ZYJ-JMF commented on June 15, 2024

Thanks for your reply.
I changed the ADE metrics and also gave a larger receptive field of 200m.
But the result almost no change.
the minADE still converge at 4 and do not reduce.
And I also overfitting the network, but the minADE is still 4.
Will you experiment on the waymo dataset?
I am not sure where the problem is.

from hivt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.