Giter Site home page Giter Site logo

pmbm's People

Contributors

csholmq avatar erikbohnsack avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pmbm's Issues

Is it a real pmbm algorithms?

Hi, @erikbohnsack . thanks for supply this code. However, I confused this algorithm is pmbm ? because I found the code about possion birth is not valid. I think this code is mbm algorithm, is it rightly?

Undetected objects misdirected again

Hi, thanks for sharing this great code. Im unsure whether its a mistake or i dont understand something. Does this correspond to the update of the undetected objects modeled by Poisson point process that are missdetected again? Shouldn't it have a factor 1 - self.detection_probability then? My reference is the handout 5 from the edX course "Multi-Object Tracking for Automotive Systems" that describes the PMBM update.

pmbm/pmbm/pmbm.py

Lines 137 to 140 in 9fc4dbb

# Update current tracks
for target_id, target in self.targets.items():
target.update(measurements, classes, self.current_time, self.filt)
self.poisson.update(self.detection_probability)

how can i install murty?

i have tried the command pip3 install ./murty and it is not work. how can i solve the problem?
thx

how to run this project?

Hello, thanks for your wonderful work and it's so kind of you to open source.

When I try to run your code by putting all codes in runforrest.ipynb file together, I found it may miss some files, such as the mot/fafe/showroom/showroom_all/showroom_bev_NN/logs/log-seq specified by log_root variable and the mot/fafe/showroom/weights_2019-05-03_14-01_epoch_110_fafe file specified by showroom_fafe variable.

Could you offer some help and point out some clues to run your code to get the results like yours.

Thanks a lot.

Question about the derivation of the CV/CA model

self.Q = np.array([[dt ** 3 / 3, 0, dt ** 2 / 2, 0],
[0, dt ** 3 / 3, 0, dt ** 2 / 2],
[dt ** 2 / 2, 0, dt, 0],
[0, dt ** 2 / 2, 0, dt]]) * self.q

pmbm/utils/motion_models.py

Lines 214 to 219 in 9fc4dbb

self.Q = np.array([[dt ** 5 / 20, 0, dt ** 4 / 8, 0, dt ** 3 / 6, 0],
[0, dt ** 5 / 20, 0, dt ** 4 / 8, 0, dt ** 3 / 6],
[dt ** 4 / 8, 0, dt ** 3 / 3, 0, dt ** 2 / 2, 0],
[0, dt ** 4 / 8, 0, dt ** 3 / 3, 0, dt ** 2 / 2],
[dt ** 3 / 6, 0, dt ** 2 / 2, 0, dt, 0],
[0, dt ** 3 / 6, 0, dt ** 2 / 2, 0, dt]]) * self.q

Hi,
I'm confused about the form of the covariancce matrix Q in the CV/CA model, how to derivate it?

coord_transfer.py may have something wrong?

Hi,
When I read your code in detail, I'm confused about the calculation process in utils/coord_transfer.py:

def coordinate_transform_CV(state, imu_data, dt, object_class=None):
    assert state.shape == (4, 1)
    # Minus as the imu_data is for the ego vehicle
    angle = - imu_data.ru * dt

    # minus angle holds here as well
    rotation_matrix = np.array([[math.cos(angle), - math.sin(angle)],
                                [math.sin(angle), math.cos(angle)]])
    translation = np.array([[- imu_data.vl * dt],
                            [imu_data.vf * dt]])

    output_state = np.copy(state)
    output_state[0:2] = rotation_matrix @ state[0:2] - translation
    output_state[2:4] = rotation_matrix @ state[2:4]
    # same argument for minus translation here as above.
    return output_state

I understand that you use the IMU information to transform the objects state from last frame to current frame in ego vehicle, so we can get the absolute tracking velocity. So the equation

output_state[0:2] = rotation_matrix @ state[0:2] - translation

should be

output_state[0:2] = rotation_matrix @ (state[0:2] - translation)

when do the inverse transformation, right?

However when I correct it, the results seems the same. I'm not sure whether I'm wrong.

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.