Object detection, 3D detection, and pose estimation using center point detection:
Objects as Points,
Xingyi Zhou, Dequan Wang, Philipp Krähenbühl,
2021.03.16
:centernet2横空出世
Model | COCO val mAP | FPS |
---|---|---|
CenterNet-S4_DLA_8x | 42.5 | 71 |
CenterNet2_R50_1x | 42.9 | 24 |
CenterNet2_X101-DCN_2x | 49.9 | 8 |
CenterNet2_R2-101-DCN-BiFPN_4x+4x_1560_ST | 56.1 | 5 |
CenterNet2_DLA-BiFPN-P5_24x_ST | 49.2 | 38 |
2020.04.09
:基于centernet的the-state-of-the-art目标跟踪方法
2020.03.25
: > 更强大的centernet优化版本,resnet50+without DCN+mAP=35.7(3.1% )↑
2019.06.10
: > CenterNet code
- Strong: 增加支持mobilenetV2,mobilenetV3,efficientdet,shufflenetv2,部分网络需要支持DCNv2.
- Data process: 添加widerface转coco格式,参见root/data_process.
- 类别: 可支持行人、人脸、车辆、缺陷等检测,只需要修改数据加载即可
Backbone | AP / FPS | Flip AP / FPS | Multi-scale AP / FPS |
---|---|---|---|
Hourglass-104 | 40.3 / 14 | 42.2 / 7.8 | 45.1 / 1.4 |
DLA-34 | 37.4 / 52 | 39.2 / 28 | 41.7 / 4 |
ResNet-101 | 34.6 / 45 | 36.2 / 25 | 39.3 / 4 |
ResNet-18 | 28.1 / 142 | 30.0 / 71 | 33.2 / 12 |
All models and details are available in > CenterNet MODEL_ZOO
- 姿态估计or关键点检测: 修改keypoint的数量及coco加载keypoint的格式可针对性训练多种形式的pose(如landmark等)
Backbone | AP | FPS | TensorRT Speed | Download |
---|---|---|---|---|
DLA-34 | 62.7 | 23 | - | model |
Resnet-50 | 54.5 | 28 | 33 | model |
MobilenetV3 | 46.0 | 30 | 50 | model |
ShuffleNetV2 | 43.9 | 25 | - | model |
High Resolution | 57.1 | 16 | - | model |
HardNet | 45.6 | 30 | - | model |
Darknet53 | 34.2 | 30 | - | model |
centerface/shoulder/defect模型 提取码: u3pq
-
defect: defect模型基于mobilenetv2训练,由于部分数据标定不准,所以结果会有偏差,建议只供pre-train.
-
centerface: 该版本的centerface是基于修改的centernet训练,训练数据参照widerface,其中对质量不好的face做了过滤,使其更适合人脸识别的工程应用,模型有两个,分别是3.5M和8.9M.
centerface的训练:例如修改lib/datasets/coco_hp.py里num_joints = 5;flip_idx = [[0, 1], [3, 4]]以及整个项目里17的关节点数全部置换成5,dets[39:51]这类全部换成dets[15:20]等
- torch转onnx
python convert2onnx.py
- onnx转TensorRT
python demo_tensorrt.py
- 检测框架支持的TensorRT
#shoulder检测模型支持该框架加速(不需要DCNs),total runtime = 3.82147 ms
#在include/ctdetConfig.h里添加以下,然后cmake即可
constexpr static int input_w = 512 ;
constexpr static int input_h = 512 ;
constexpr static int channel = 3 ;
constexpr static int classNum = 1 ;
constexpr static float mean[]= {0.408, 0.447, 0.470};
constexpr static float std[] = {0.289, 0.274, 0.278};
constexpr static char *className[]= {(char*)"shoulder"};
If you find this project useful for your research, please use the following BibTeX entry.
@contact{yangsai1991@163.com,
title={Objects as Points},
author={bleakie},
year={2019}
}