{"id":15009214,"url":"https://github.com/sensorsini/ddd20-utils","last_synced_at":"2025-04-09T17:23:24.237Z","repository":{"id":45218022,"uuid":"242417687","full_name":"SensorsINI/ddd20-utils","owner":"SensorsINI","description":"DDD20 End-to-End Event Camera Driving Dataset","archived":false,"fork":false,"pushed_at":"2024-11-15T17:48:33.000Z","size":11370,"stargazers_count":26,"open_issues_count":6,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-23T19:22:58.279Z","etag":null,"topics":["davis","deep-learning","event-camera","neuromorphic-engineering","python27"],"latest_commit_sha":null,"homepage":"https://sites.google.com/view/davis-driving-dataset-2020/home","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SensorsINI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-22T22:00:12.000Z","updated_at":"2025-03-18T13:17:00.000Z","dependencies_parsed_at":"2022-07-18T23:47:05.418Z","dependency_job_id":null,"html_url":"https://github.com/SensorsINI/ddd20-utils","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SensorsINI%2Fddd20-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SensorsINI%2Fddd20-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SensorsINI%2Fddd20-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SensorsINI%2Fddd20-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SensorsINI","download_url":"https://codeload.github.com/SensorsINI/ddd20-utils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248075378,"owners_count":21043575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["davis","deep-learning","event-camera","neuromorphic-engineering","python27"],"created_at":"2024-09-24T19:23:40.904Z","updated_at":"2025-04-09T17:23:24.211Z","avatar_url":"https://github.com/SensorsINI.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DDD20 End-to-End Event Camera Driving Dataset\n\nSee https://sites.google.com/view/davis-driving-dataset-2020/home for details.\n\n![view.py](ddd20-view.gif)\n\nSoftware released as part of the publication\n\n * Hu, Y., Binas, J., Neil, D., Liu, S.-C., and Delbruck, T. (2020).  \"DDD20 End-to-End Event Camera Driving Dataset: Fusing Frames and Events with Deep Learning for Improved Steering Prediction\".  Special session Beyond Traditional Sensing for Intelligent Transportation, The 23rd IEEE International Conference on Intelligent Transportation Systems, September 20 – 23, 2020, Rhodes, Greece.   arXiv [cs.CV]. arXiv. http://arxiv.org/abs/2005.08605 \n\n * Binas, J., Neil, D., Liu, S.-C., and Delbruck, T. (2017). DDD17: **End-To-End DAVIS Driving Dataset**. in _ICML’17 Workshop on Machine Learning for Autonomous Vehicles (MLAV 2017)_, Sydney, Australia.  Available at: arXiv:1711.01458 [cs]  http://arxiv.org/abs/1711.01458 \n\nSee https://github.com/SensorsINI/ddd20-itsc20 for the code used for the Hu paper above.\n\n\u003c!-- # Prerequisites --\u003e\n\n\u003c!-- Note: Tested with python 3.7. --\u003e\n\u003c!--  --\u003e\n\u003c!-- If using conda, install pip to your conda environment first. --\u003e\n\u003c!--  --\u003e\n\u003c!-- These tools require --\u003e\n\u003c!--  * openCV (pip install opencv-python), --\u003e\n\u003c!--  * openxc (pip install openxc) --\u003e\n\u003c!--  * h5py (pip install h5py). --\u003e\n\u003c!--  --\u003e\n\u003c!-- Or (inside your python 3.7 environment) --\u003e\n\u003c!-- ```bash --\u003e\n\u003c!-- pip install openxc opencv-python h5py --\u003e\n\u003c!-- ``` --\u003e\n\n# Installation instructions using conda and Python 2.7\n\nThis project currently works with Python 2.7 under linux.  Lasted tested working *view.py* November 2024.\n\n*(Don't try to run this code in python 3; it depends on some cryptic multiprocessing code that is not portable to python3! Trust us, we tried to port it.)*\n\n1. First, create an Python 2.7 environment\n\n    ```bash\n    conda create -n ddd20 python=2.7\n    conda activate ddd20\n    ```\n\n2. Install all dependencies:\n\n    ```bash\n    pip install future\n    pip install numpy h5py opencv-python==4.2.0.32 openxc==0.15.0\n    ```\n\n3. There is no step 3, have fun! :tada:\n\n# Usage:\n\nSee https://sites.google.com/view/davis-driving-dataset-2020/home for details\n## viewing\n\n- Play a file from the beginning\n\n    ```bash\n    $ python view.py \u003crecorded_file.hdf5\u003e\n    ```\n\n- Print usage\n    ```bash\n    $ python view.py --help\n    usage: view.py [-h] [--start START] [--rotate ROTATE] filename\n\n    positional arguments:\n    filename\n\n    optional arguments:\n    -h, --help            show this help message and exit\n    --start START, -s START\n                            Examples:\n                            -s 50% - play file starting at 50%\n                            -s 66s - play file starting at 66s\n    --rotate ROTATE, -r ROTATE\n                            Rotate the scene 180 degrees if True, Otherwise False\n    ```\n\nWhile viewing, hit ? or h for help in console:\n```\nspace pause\nb brighter\nd darker\ns slower\nf faster\ni toggle/rotate info\nr rotate 180 deg\n```\n\n## Exporting raw data into standard data types\n\nThe DDD20 recordings are recorded using a custom data structure in HDF5.\nThis design choice made the batch processing restricted without reformatting/exporting.\n\nWe prepared a script that can convert the original HDF5 recording into a\nnicer data strcture that user can directly work on. __However, this file will not contain the car CAN bus steering/throttle/GPS, etc.__\n\n```bash\n$ python export_ddd20_hdf.py [-h] [--rotate ROTATE] filename\n```\n\nThe newly exported file is an HDF5 file that is called `filename.exported.hdf5`.\nThis file is saved at the same folder of the `filename`.\nThis HDF5 file has a very simple structure, it has three datasets:\n\n```\nevent: (N events x 4)  # each row is an event.\nframe: (M frames x 260 x 346)\nframe_ts: (M frames x 1)\n```\nAdded now is option to turn off the display (thanks youkaichao) so that issue #4 can be resolved by simply adding the option: \n```\npython export_ddd20_hdf.py filename --display 0\n```\n## Exporting to frame-based representation\n\n```bash\n$ python export.py [-h] [--tstart TSTART] [--tstop TSTOP] [--binsize BINSIZE]\n                 [--update_prog_every UPDATE_PROG_EVERY]\n                 [--export_aps EXPORT_APS] [--export_dvs EXPORT_DVS] [--display 0]\n                 [--out_file OUT_FILE]\n                 filename\n```\n\n\n# License\n\nThis software is released under the GNU LESSER GENERAL PUBLIC LICENSE Version 3.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsensorsini%2Fddd20-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsensorsini%2Fddd20-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsensorsini%2Fddd20-utils/lists"}