You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+74-61Lines changed: 74 additions & 61 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,12 @@
1
1
## SimpleDet - A Simple and Versatile Framework for Object Detection and Instance Recognition
2
2
### Major Features
3
-

3
+

4
4
- FP16 training for memory saving and up to **2.5X** acceleration
5
5
- Highly scalable distributed training available **out of box**
6
-
- Full coverage of state-of-the-art models including FasterRCNN, MaskRCNN, CascadeRCNN, RetinaNet, **[TridentNet](./models/tridentnet)**, **[NASFPN](./models/NASFPN)**and**[EfficientNet](./models/efficientnet)**
7
-
- Extensive feature set including **large batch BN**, **loss synchronization**, **automatic BN fusion**, deformable convolution, soft NMS, multi-scale train/test
6
+
- Full coverage of state-of-the-art models including FasterRCNN, MaskRCNN, CascadeRCNN, RetinaNet, [DCNv1/v2](./models/dcn), **[TridentNet](./models/tridentnet)**, **[NASFPN](./models/NASFPN)**,**[EfficientNet](./models/efficientnet)**, and **[Kownledge Distillation](./models/KD)**
7
+
- Extensive feature set including **large batch BN**, **loss synchronization**, **automatic BN fusion**, soft NMS, multi-scale train/test
8
8
- Modular design for coding-free exploration of new experiment settings
9
+
- Extensive documentations including [annotated config](./doc/fully_annotated_config.py), [Fintuning Guide](./doc/FINETUNE.md)
9
10
10
11
### Recent Updates
11
12
- Add RPN test (2019.05.28)
@@ -21,80 +22,94 @@
21
22
- Add python wheel for easy local installation (2019.08.20)
22
23
- Add FitNet based Knowledge Distill (2019.08.27)
23
24
- Add SE and train from scratch (2019.08.30)
25
+
- Add a lot of docs (2019.09.03)
24
26
25
27
### Setup
28
+
#### All-in-one Script
29
+
We provide a [setup script](./scripts/setup.sh) for install simpledet and preppare the coco dataset.
30
+
26
31
#### Install
27
-
SimpleDet contains a lot of C++ operators not in MXNet offical repo, so one has to build MXNet from scratch. Please refer to [INSTALL.md](./doc/INSTALL.md) more details
32
+
We provide a local installation here for Debian/Ubuntu system. To use a pre-built docker or singularity images, please refer to [INSTALL.md](./doc/INSTALL.md)for more information.
28
33
29
-
#### Preparing Data
30
-
SimpleDet requires groundtruth annotation organized as following format
31
-
```
32
-
[
33
-
{
34
-
"gt_class": (nBox, ),
35
-
"gt_bbox": (nBox, 4),
36
-
"flipped": bool,
37
-
"h": int,
38
-
"w": int,
39
-
"image_url": str,
40
-
"im_id": int,
41
-
42
-
# this fields are generated on the fly during test
If the last line execute successfully, the average running speed of Faster R-CNN R-50 FPN will be reported. And you have successfuly setup SimpleDet. Now you can head up to the next section to prepare your dataset.
63
+
64
+
65
+
#### Preparing Data
66
+
We provide a step by step preparation for the COCO dataset below.
Please refer to [MODEL_ZOO.md](./MODEL_ZOO.md) for available models
97
108
109
+
### Distributed Training
110
+
Please refer to [DISTRIBUTED.md](./doc/DISTRIBUTED.md)
111
+
112
+
### Project Organization
98
113
#### Code Structure
99
114
```
100
115
detection_train.py
@@ -135,8 +150,10 @@ experiments/
135
150
#### Models
136
151
The `models` directory contains SOTA models implemented in SimpletDet.
137
152
138
-
#### How is Faster-RCNN built
139
-
**Simpledet** supports many popular detection methods and here we take [**Faster-RCNN**](https://arxiv.org/abs/1506.01497) as a typical example to show how a detector is built.
153
+
#### How is Faster R-CNN built
154
+

155
+
156
+
**Simpledet** supports many popular detection methods and here we take [**Faster R-CNN**](https://arxiv.org/abs/1506.01497) as a typical example to show how a detector is built.
140
157
141
158
-*Preprocessing*. The preprocessing methods of the detector is implemented through `DetectionAugmentation`.
142
159
- Image/bbox-related preprocessing, such as `Norm2DImage` and `Resize2DImageBbox`.
@@ -149,18 +166,14 @@ The `models` directory contains SOTA models implemented in SimpletDet.
149
166
-*Bounding Box Head*. `BboxHead` builds the R-CNN layers for proposal refinement.
150
167
151
168
#### How to build a custom detector
152
-
The flexibility of **simpledet** framework makes it easy to build different detectors. We take [**TridentNet**](https://arxiv.org/abs/1901.01892) as an example to demonstrate how to build a custom detector simply based on the **Faster-RCNN** framework.
169
+
The flexibility of **simpledet** framework makes it easy to build different detectors. We take [**TridentNet**](https://arxiv.org/abs/1901.01892) as an example to demonstrate how to build a custom detector simply based on the Faster R-CNN framework.
153
170
154
171
-*Preprocessing*. The additional processing methods could be provided accordingly by inheriting from `DetectionAugmentation`.
155
172
- In TridentNet, a new `TridentAnchorTarget2D` is implemented to generate anchors for multiple branches and filter anchors for scale-aware training scheme.
156
173
-*Network Structure*. The new network structure could be constructed easily for a custom detector by modifying some required components as needed and
157
174
- For TridentNet, we build trident blocks in the `Backbone` according to the descriptions in the paper. We also provide a `TridentRpnHead` to generate filtered proposals in RPN to implement the scale-aware scheme. Other components are shared the same with original Faster-RCNN.
158
175
159
176
160
-
### Distributed Training
161
-
Please refer to [DISTRIBUTED.md](./doc/DISTRIBUTED.md)
162
-
163
-
164
177
### Contributors
165
178
Yuntao Chen, Chenxia Han, Yanghao Li, Zehao Huang, Yi Jiang, Naiyan Wang
0 commit comments