Skip to content

Commit 394f0b3

Browse files
committed
Release of DROWv2
1 parent 3b13489 commit 394f0b3

13 files changed

+10907
-15
lines changed

README.md

+50-15
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,57 @@
1-
***IMPORTANT NOTE:*** The extension to persons for our new paper [Deep Person Detection in 2D Range Data](https://arxiv.org/abs/1804.02463) will be added at latest upon acceptance. You can follow [this issue](https://github.com/VisualComputingInstitute/DROW/issues/1) in order to get notified when that happens.
1+
# DROW: Deep Multiclass Detection in 2D Range ("Laser") Data
22

3-
# DROW
4-
All code related to the ["DROW: Real-Time Deep Learning based Wheelchair Detection in 2D Range Data"](http://arxiv.org/abs/1603.02636) paper.
3+
All code related to our work on detection in laser (aka lidar aka 2D range) data, covering both of the following papers:
54

5+
- [DROW: Real-Time Deep Learning based Wheelchair Detection in 2D Range Data](http://arxiv.org/abs/1603.02636), henceforth called "v1".
6+
- [Deep Person Detection in 2D Range Data](https://arxiv.org/abs/1804.02463), henceforth called "v2".
67

7-
# DROW Detector ROS Node
8+
If you use anything provided here, please cite both papers in your work, see [citations below](https://github.com/VisualComputingInstitute/DROW#citations) below for the citation format.
9+
10+
11+
# DROW v2 Detector Training and Evaluation
12+
13+
Code for training and evaluating DROW (v2) resides in various notebooks in the `v2` subfolder.
14+
All notebooks are highly similar, and each notebook is used for obtaining one different curve in the paper.
15+
Our final best model was obtained in `v2/Clean Final* [T=5,net=drow3xLF2p,odom=rot,trainval].ipynb`.
16+
17+
## Pre-trained weights
18+
19+
For DROW v2, we are able to provide the weights of the various models used in the paper here on GitHub in the [releases section](https://github.com/VisualComputingInstitute/DROW/releases).
20+
The names correspond to the notebooks in the `v2` subfolder which were used to obtain these models.
21+
22+
When trying to load these weights, you might encounter the following error:
23+
```
24+
cuda runtime error (10) : invalid device ordinal
25+
```
26+
which can easily be solved by adding `map_location={'cuda:1': 'cuda:0'}` to the `load()` call, [additional details here](https://discuss.pytorch.org/t/saving-and-loading-torch-models-on-2-machines-with-different-number-of-gpu-devices/6666).
27+
28+
29+
# DROW v1 Detector ROS Node
830

931
We will add here a ROS detector node that can be used with a trained model and outputs standard `PoseArray` messages.
1032
Until we add it here, you can already get a sneak-peek in the [STRANDS repositories](https://github.com/strands-project/strands_perception_people/tree/indigo-devel/wheelchair_detector).
1133

1234

13-
# DROW Training and Evaluation
35+
# DROW v1 Training and Evaluation
1436

15-
All code for training and evaluating DROW resides in the `train-eval.ipynb` notebook, which you can open here on github or run for yourself.
37+
All code for training and evaluating DROW (v1) resides in the `v1/train-eval.ipynb` notebook, which you can open here on github or run for yourself.
1638
Most, but not all, of this notebook was used during actual training of the final model for the paper.
1739
While it was not intended to facilitate training your own model, it could be used for that after some careful reading.
1840

1941

2042
# DROW Laser Dataset
2143

22-
You can obtain our full dataset here on GitHub in the [releases section](https://github.com/VisualComputingInstitute/DROW/releases), specifically the file [DROW-data.zip](https://github.com/VisualComputingInstitute/DROW/releases/download/data/DROW-data.zip).
44+
You can obtain our full dataset here on GitHub in the [releases section](https://github.com/VisualComputingInstitute/DROW/releases),
45+
specifically the file [DROW-data.zip](https://github.com/VisualComputingInstitute/DROW/releases/download/data/DROW-data.zip).
2346

24-
The laser-based detection dataset released with the paper "DROW: Real-Time Deep Learning based Wheelchair Detection in 2D Range Data" available at https://arxiv.org/abs/1603.02636 and published at ICRA'17.
25-
26-
PLEASE read the paper carefully before asking about the dataset, as we describe it at length in Section III.A.
47+
PLEASE read the v1 paper carefully before asking about the dataset, as we describe it at length in Section III.A.
48+
Further details about the data storage format are given below in this README.
2749

2850
## Citations
2951

30-
If you use this dataset in your work, please cite the following:
52+
If you use this dataset or code in your work, please cite **both** the following papers:
3153

32-
> Beyer, L., Hermans, A., & Leibe, B. (2017). DROW: Real-Time Deep Learning-Based Wheelchair Detection in 2-D Range Data. IEEE Robotics and Automation Letters, 2(2), 585-592.
54+
> Beyer*, L., Hermans*, A., Leibe, B. (2017). DROW: Real-Time Deep Learning-Based Wheelchair Detection in 2-D Range Data. IEEE Robotics and Automation Letters, 2(2), 585-592.
3355
3456
BibTex:
3557

@@ -42,6 +64,19 @@ BibTex:
4264
}
4365
```
4466

67+
> Beyer, L., Hermans, A., Linder T., Arras O.K., Leibe, B. (2018). Deep Person Detection in 2D Range Data. IEEE Robotics and Automation Letters, 3(3), 2726-2733.
68+
69+
BibTex:
70+
71+
```
72+
@article{Beyer2018RAL,
73+
title = {{Deep Person Detection in 2D Range Data}},
74+
author = {Beyer, Lucas and Hermans, Alexander and Linder Timm and Arras Kai O. and Leibe, Bastian},
75+
journal = {{IEEE Robotics and Automation Letters (RA-L)}},
76+
year = {2018}
77+
}
78+
```
79+
4580
## License
4681

4782
The whole dataset is published under the MIT license, [roughly meaning](https://tldrlegal.com/license/mit-license) you can use it for whatever you want as long as you credit us.
@@ -52,13 +87,13 @@ The [original dataset](https://www.tu-ilmenau.de/de/neurob/data-sets-code/people
5287

5388
## Data Recording Setup
5489

55-
The exact recording setup is described in Section III.A of our paper.
90+
The exact recording setup is described in Section III.A of our v1 paper.
5691
In short, it was recorded using a SICK S300 spanning 225° in 450 poins at 37cm height.
5792
Recording happened in an elderly care facility, the test-set is completely disjoint from the train and validation sets, as it was recorded in a different aisle of the facility.
5893

5994
## Data Annotation Setup
6095

61-
Again, the exact setup is described in the paper.
96+
Again, the exact setup is described in the v1-paper.
6297
We used [this annotator](https://github.com/lucasb-eyer/laser-detection-annotator) to create the annotations.
6398
Instead of all the laser scans, we annotate small batches throughout every sequence as follows:
6499
A batch consists of 100 frames, out of which we annotate every 5th frame, resulting in 20 annotated frames per batch.
@@ -74,7 +109,7 @@ Please note that each scan (or frame), as well as detections, comes with a **seq
74109

75110
If you want to load the files yourself regardless, this is their format:
76111

77-
One recording consists of a `.csv` file which contains all raw laser-scans, and one file per type of annotation, currently `.wc` for wheelchairs and `.wa` for walking-aids, with more to come.
112+
One recording consists of a `.csv` file which contains all raw laser-scans, and one file per type of annotation, currently `.wc` for wheelchairs, `.wa` for walking-aids, and `.wp` for persons.
78113

79114
The `.csv` files contain one line per scan, the first value is the sequence number of that scan, followed by 450 floating-point values representing the distance at which the laser-points hit something.
80115
There is at least one "magic value" for that distance at `29.96` which means N/A.
File renamed without changes.

utils.py renamed to v1/utils.py

File renamed without changes.

0 commit comments

Comments
 (0)