New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to find the ground truth flow corresponding to events? #2
Comments
Hi @Hazeliii The details about the dataset format are explained here: https://dsec.ifi.uzh.ch/data-format/
Regarding timestamps in general: They are all synchronized across cameras and ground truth. So you can use the timestamps from events to associate them with timestamps from the optical flow maps or images or events from the other event camera etc. As an example from the optical flow timestamp file
The first optical flow map describes the per-pixel displacement from time 55609607642 to 55609707644. For EV-FlowNet we used the events between these two timestamps and regress the pixel displacements. This is arguably one of the most straightforward approaches. |
Thanks for your response. But I am still confused. As an example from optical timestamp file thun_00_a/flow/forward_timestamps.txt ` ` I can see the time interval is about 100ms as in the code. Is a set of events generated from |
|
Let me know if your questions have been answered |
Thanks for your help. But I have't solved the problem yet. 49599300523, 49599400524 As you said, I changed the from_timestamp_us and to_timestamp_us to the eventslicer function get_events. acording to the timestamps of flow map, as follow, I am trying to fetch events whose timestamps are within [49599300523, 49599400524]: ` timestamp_file = flow_dir / 'timestamp.txt' ` I didn't change the code except for the t_start_us and t_end_us parameters of the eventslicer function get_events. . And I really don't know why. |
I cannot replicate your problem. I downloaded https://download.ifi.uzh.ch/rpg/DSEC/train/thun_00_a/thun_00_a_events_left.zip from pathlib import Path
from eventslicer import EventSlicer
import h5py
if __name__ == '__main__':
event_path = Path('/path/to/events.h5')
assert event_path.exists()
t_start = 49599300523
t_end = 49599400524
with h5py.File(str(event_path), 'r') as h5f:
slicer = EventSlicer(h5f)
events = slicer.get_events(t_start, t_end)
print(events['t'].shape)
print(events['p'].shape)
print(events['x'].shape)
print(events['y'].shape) Please also execute this script with the same file and let me know about your results |
I downloaded the data set again and used your script, and the problem was finally solved. Maybe there were some mistakes I could't find in my previous job. Thank you very much for your help. |
Hi @magehrig |
@JamesYang110043 I am not sure what you mean with delta_t. Can you explain what you mean by that? |
Lines 295 to 300 in c58ce05
In the In the training case, |
Partially correct. There are two set of events / event representations that are extracted by this function: |
Hi, thanks a lot for your work.
I am confused about how to find the ground truth flow corresponding to events during training. The ground truth flows are give with timestamps, should I use the timestamps to relate them to events? And what's the usage of ' ms_to_idx' in the events.h5 file ?
Can you give me some introductions and suggestions? Thanks a lot.
The text was updated successfully, but these errors were encountered: