Object detection, 3D detection, and pose estimation using center point detection:

Overview

Objects as Points

Object detection, 3D detection, and pose estimation using center point detection:

Objects as Points,
Xingyi Zhou, Dequan Wang, Philipp Krähenbühl,
arXiv technical report (arXiv 1904.07850)

Contact: [email protected]. Any questions or discussions are welcomed!

Updates

  • (June, 2020) We released a state-of-the-art Lidar-based 3D detection and tracking framework CenterPoint.
  • (April, 2020) We released a state-of-the-art (multi-category-/ pose-/ 3d-) tracking extension CenterTrack.

Abstract

Detection identifies objects as axis-aligned boxes in an image. Most successful object detectors enumerate a nearly exhaustive list of potential object locations and classify each. This is wasteful, inefficient, and requires additional post-processing. In this paper, we take a different approach. We model an object as a single point -- the center point of its bounding box. Our detector uses keypoint estimation to find center points and regresses to all other object properties, such as size, 3D location, orientation, and even pose. Our center point based approach, CenterNet, is end-to-end differentiable, simpler, faster, and more accurate than corresponding bounding box based detectors. CenterNet achieves the best speed-accuracy trade-off on the MS COCO dataset, with 28.1% AP at 142 FPS, 37.4% AP at 52 FPS, and 45.1% AP with multi-scale testing at 1.4 FPS. We use the same approach to estimate 3D bounding box in the KITTI benchmark and human pose on the COCO keypoint dataset. Our method performs competitively with sophisticated multi-stage methods and runs in real-time.

Highlights

  • Simple: One-sentence method summary: use keypoint detection technic to detect the bounding box center point and regress to all other object properties like bounding box size, 3d information, and pose.

  • Versatile: The same framework works for object detection, 3d bounding box estimation, and multi-person pose estimation with minor modification.

  • Fast: The whole process in a single network feedforward. No NMS post processing is needed. Our DLA-34 model runs at 52 FPS with 37.4 COCO AP.

  • Strong: Our best single model achieves 45.1AP on COCO test-dev.

  • Easy to use: We provide user friendly testing API and webcam demos.

Main results

Object Detection on COCO validation

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

Keypoint detection on COCO validation

Backbone AP FPS
Hourglass-104 64.0 6.6
DLA-34 58.9 23

3D bounding box detection on KITTI validation

Backbone FPS AP-E AP-M AP-H AOS-E AOS-M AOS-H BEV-E BEV-M BEV-H
DLA-34 32 96.9 87.8 79.2 93.9 84.3 75.7 34.0 30.5 26.8

All models and details are available in our Model zoo.

Installation

Please refer to INSTALL.md for installation instructions.

Use CenterNet

We support demo for image/ image folder, video, and webcam.

First, download the models (By default, ctdet_coco_dla_2x for detection and multi_pose_dla_3x for human pose estimation) from the Model zoo and put them in CenterNet_ROOT/models/.

For object detection on images/ video, run:

python demo.py ctdet --demo /path/to/image/or/folder/or/video --load_model ../models/ctdet_coco_dla_2x.pth

We provide example images in CenterNet_ROOT/images/ (from Detectron). If set up correctly, the output should look like

For webcam demo, run

python demo.py ctdet --demo webcam --load_model ../models/ctdet_coco_dla_2x.pth

Similarly, for human pose estimation, run:

python demo.py multi_pose --demo /path/to/image/or/folder/or/video/or/webcam --load_model ../models/multi_pose_dla_3x.pth

The result for the example images should look like:

You can add --debug 2 to visualize the heatmap outputs. You can add --flip_test for flip test.

To use this CenterNet in your own project, you can

import sys
CENTERNET_PATH = /path/to/CenterNet/src/lib/
sys.path.insert(0, CENTERNET_PATH)

from detectors.detector_factory import detector_factory
from opts import opts

MODEL_PATH = /path/to/model
TASK = 'ctdet' # or 'multi_pose' for human pose estimation
opt = opts().init('{} --load_model {}'.format(TASK, MODEL_PATH).split(' '))
detector = detector_factory[opt.task](opt)

img = image/or/path/to/your/image/
ret = detector.run(img)['results']

ret will be a python dict: {category_id : [[x1, y1, x2, y2, score], ...], }

Benchmark Evaluation and Training

After installation, follow the instructions in DATA.md to setup the datasets. Then check GETTING_STARTED.md to reproduce the results in the paper. We provide scripts for all the experiments in the experiments folder.

Develop

If you are interested in training CenterNet in a new dataset, use CenterNet in a new task, or use a new network architecture for CenterNet, please refer to DEVELOP.md. Also feel free to send us emails for discussions or suggestions.

Third-party resources

License

CenterNet itself is released under the MIT License (refer to the LICENSE file for details). Portions of the code are borrowed from human-pose-estimation.pytorch (image transform, resnet), CornerNet (hourglassnet, loss functions), dla (DLA network), DCNv2(deformable convolutions), tf-faster-rcnn(Pascal VOC evaluation) and kitti_eval (KITTI dataset evaluation). Please refer to the original License of these projects (See NOTICE).

Citation

If you find this project useful for your research, please use the following BibTeX entry.

@inproceedings{zhou2019objects,
  title={Objects as Points},
  author={Zhou, Xingyi and Wang, Dequan and Kr{\"a}henb{\"u}hl, Philipp},
  booktitle={arXiv preprint arXiv:1904.07850},
  year={2019}
}
Comments
  • CenterNet works ok on Pytorch 1.1 + Cuda10.1 + Win10

    CenterNet works ok on Pytorch 1.1 + Cuda10.1 + Win10

    First thanks for authors' great work.

    This is not an issue. But I just want to say that CenterNet works ok on Pytorch 1.1 + Cuda10.1 + Win10:.

    Just clone CenterNet, compile the nms and DCNv2, download the models, and run the demo.


    1. build nms

    cd CenterNet\src\lib\external
    #python setup.py install
    python setup.py build_ext --inplace
    

    just comment the parameter in setup.py when building 'nms' extension to solve invalid numeric argument '/Wno-cpp' :

    #extra_compile_args=["-Wno-cpp", "-Wno-unused-function"]
    

    2. clone and build original DCN2

    You may fail to compile DCNv2 when using Pytorch 1.x, because torch.utils.ffi is deprecated. Then replace DCNv2 using the original repo and [Solved] dcn_v2_cuda.obj : error LNK2001: unresolved external symbol state caused by extern THCState *state; by modifing the line DCNv2/blob/master/src/cuda/dcn_v2_cuda.cu#L11:

    //extern THCState *state;                           
    THCState *state = at::globalContext().lazyInitCUDA();   // Modified
    
    cd CenterNet\src\lib\models\networks
    rm -rf DCNv2
    git clone https://github.com/CharlesShang/DCNv2
    cd DCNv2
    
    vim cuda/dcn_va_cuda.cu
    """
    # extern THCState *state;
    THCState *state = at::globalContext().lazyInitCUDA();
    """
    
    python setup.py build develop
    

    3. test

    cd CenterNet/src
    python demo.py ctdet --demo ../images/17790319373_bd19b24cfc_k.jpg --load_model ../models/ctdet_coco_dla_2x.pth --debug 2
    python demo.py multi_pose --demo ../images/17790319373_bd19b24cfc_k.jpg --load_model ../models/multi_pose_dla_3x.pth --debug 2
    

    image

    image

    good first issue 
    opened by ausk 79
  • 转onnx时候遇到问题:Auto nesting doesn't know how to process an input object of type int

    转onnx时候遇到问题:Auto nesting doesn't know how to process an input object of type int

    torch.onnx.export(self.model,...............

    out = self.inner(*trace_inputs)
    

    File "/home/shankun.shankunwan/anaconda/envs/torch36_cuda10/lib/python3.6/site-packages/torch/nn/modules/module.py", line 487, in call result = self._slow_forward(*input, **kwargs) File "/home/shankun.shankunwan/anaconda/envs/torch36_cuda10/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in _slow_forward result = self.forward(*input, **kwargs) File "/home/shankun.shankunwan/CenterNet/src/lib/models/networks/pose_dla_dcn.py", line 475, in forward x = self.dla_up(x) File "/home/shankun.shankunwan/anaconda/envs/torch36_cuda10/lib/python3.6/site-packages/torch/nn/modules/module.py", line 487, in call result = self._slow_forward(*input, **kwargs) File "/home/shankun.shankunwan/anaconda/envs/torch36_cuda10/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in _slow_forward result = self.forward(*input, **kwargs) File "/home/shankun.shankunwan/CenterNet/src/lib/models/networks/pose_dla_dcn.py", line 414, in forward ida(layers, len(layers) -i - 2, len(layers)) File "/home/shankun.shankunwan/anaconda/envs/torch36_cuda10/lib/python3.6/site-packages/torch/nn/modules/module.py", line 487, in call result = self._slow_forward(*input, **kwargs) File "/home/shankun.shankunwan/anaconda/envs/torch36_cuda10/lib/python3.6/site-packages/torch/nn/modules/module.py", line 464, in _slow_forward input_vars = tuple(torch.autograd.function._iter_tensors(input)) File "/home/shankun.shankunwan/anaconda/envs/torch36_cuda10/lib/python3.6/site-packages/torch/autograd/function.py", line 286, in _iter for var in _iter(o): File "/home/shankun.shankunwan/anaconda/envs/torch36_cuda10/lib/python3.6/site-packages/torch/autograd/function.py", line 295, in _iter if condition_msg else "")) ValueError: Auto nesting doesn't know how to process an input object of type int. Accepted types: Tensors, or lists/tuples of them

    在把sefl.model整体转onnx时候遇到问题,后调试时候发现,CenterNet模型中存在<class 'int'>保存的单元????这点就很怪,传统存储都是按照list,tuple,或者array和tensor,即使是单个int也应该存储到list中吧?

    opened by wangshankun 23
  • The AP is not the same as the paper provide

    The AP is not the same as the paper provide

    hi there, I've download the coco testdev-2017 dataset and run test, then I upload the result.json to coco's website, and I got APs are all a little lower than you provide, here are the result I get: AP: 0.366 AP_50: 0.545 AP_75: 0.393 AP_small: 0.155 AP_medium: 0.389 AP_large: 0.521 AR_max_1: 0.316 AR_max_10: 0.508 AR_max_100: 0.535 AR_small: 0.286 AR_medium: 0.572 AR_large: 0.744

    I used the model named ctdet_coco_dla_2x.pth which I download from model_zoo,I checked the result pictures and it seems like need nms,but in paper you said "Inference is a single network forward-pass, without non-maximal suppression for post-processing." so I wonder is there something I missing or maybe it need nms when inference.

    opened by hheavenknowss 20
  • train and val loss -------Overfitting?

    train and val loss -------Overfitting?

    I trained 5 specific categories of dlav0 version of centernet on coco, and loaded the centernet model of dlav0-80 you gave, but eventually the loss on the training set can drop to about 0.5, but the loss of val is about 3.What is the problem?Any help is greatly appreciated

    opened by leemengxing 19
  • centernet as rpn

    centernet as rpn

    hi,@xingyizhou have you tried to use centernet as rpn which means refactoring it to two stage detector or even add mask branch? I tried to do that ,but the performance doesn't do better than the maskrcnn which use resnet50 as backbone and slightly better than centernet origin version. Hope to your comments. thks

    good first issue 
    opened by alexwq100 17
  • Confusion in equation 2

    Confusion in equation 2

    @xingyizhou Thanks for sharing the code and the paper. just I want to check the equation 2. The matrix O=(P/R -p_tilde) with dimension W/RxH/Rx2 contains the offset correspond to each center in the image. Example: if we have an image (512, 512) which contains 1 object whose center is p = (130, 130). So p_tilde=floor((130/4, 130/4)) =(32, 32) so p/R -p_tilde =(0.5, 0.5). So the position (32, 32, 0) and (32, 32, 1) (index start with 0 like in python) in the matrixO contains (.5, 0.5) and the rest of positions are set to 0. Is it right?

    Another question: why all centers share the same tensor? I am not sure but maybe it will be difficult to map the offset back to the centers, particularly when we have two or more centers that are very close to each others !? Another small question: in equation 1 what is the subscript k inL_k ?

    opened by rafikg 13
  • Convert dlav0_34 based model to caffe model

    Convert dlav0_34 based model to caffe model

    hi, I convert dlav0_34 based model to caffe model by PytorchToCaffe, then visualize the network structure by netscope. So why these two BN layers doesn't connect with anywhere? image image

    Also mentioned in https://github.com/xingyizhou/CenterNet/issues/43#issuecomment-566839558_

    opened by liukaigua 12
  • Provide ONNX models where possible

    Provide ONNX models where possible

    Can you please provide ONNX models of those network that are possible to export to ONNX? It seems to me that at least some variants of CenterNet for object detection should not contain any special operations that could not be exported to ONNX, so it seems doable. However, it seems that multiple people (including myself) have tried to load the models available here and export them to ONNX and failed.

    My attempts failed at loading models due to unwanted dependencies in the code base. I tried to import a single detector (CtdetDetector) but failed because importing that model depends on all other models in the code, which require cuda (I don't even have cuda GPU) and external nms op to be compiled, which is not required for this detector network as far as I understand.

    opened by gyenesvi 12
  • Fail to run camera demo on pytorch1.0+ + CUDA10 + Ubuntu 16.04 + cudnn7.4

    Fail to run camera demo on pytorch1.0+ + CUDA10 + Ubuntu 16.04 + cudnn7.4

    $ python demo.py ctdet --demo webcam --load_model ../models/ctdet_coco_dla_2x.pth

    Fix size testing. training chunk_sizes: [32] heads {'hm': 80, 'reg': 2, 'wh': 2} Creating model... loaded ../models/ctdet_coco_dla_2x.pth, epoch 230 Segmentation fault (core dumped)

    Anyone getting the same issue? I have followed the steps of changing dcn_v2_cuda and also recompiling DCNv2 for pytorch1.0

    opened by marvision-ai 12
  • strange FPS

    strange FPS

    I just run this command python src/demo.py ctdet --arch resdcn_18 --demo images/ --load_model ctdet_coco_resdcn18.pth but the inference time of net forward costs 0.095s in my V100 GPU, it's about 10FPS. any help? image

    opened by CPFLAME 11
  • Question about focal loss implementation.

    Question about focal loss implementation.

    CenterNet is a very good detection algorithm. It acheives 10% more accuracy on our dataset than our previous algorithm. Thanks for the work! But I have a question on the focal loss implementation:

    def _neg_loss(pred, gt):
        ''' Modified focal loss. Exactly the same as CornerNet.
            Runs faster and costs a little bit more memory
          Arguments:
            pred (batch x c x h x w)
            gt_regr (batch x c x h x w)
        '''
        pos_inds = gt.eq(1).float()
        neg_inds = gt.lt(1).float()
    
        neg_weights = torch.pow(1 - gt, 4)
    
        loss = 0
    
        pos_loss = torch.log(pred) * torch.pow(1 - pred, 2) * pos_inds
        neg_loss = torch.log(1 - pred) * torch.pow(pred, 2) * neg_weights * neg_inds
    
        num_pos = pos_inds.float().sum()
        pos_loss = pos_loss.sum()
        neg_loss = neg_loss.sum()
    
        if num_pos == 0:
            loss = loss - neg_loss
        else:
            loss = loss - (pos_loss + neg_loss) / num_pos
    
        return loss
    ~~~~~~~~~~~~~~
    
    if num_pos == 0:
            loss = loss - neg_loss --->lossA
    else:
            loss = loss - (pos_loss + neg_loss) / num_pos  --->lossB
    
    If there is any positive in this batch of data, this loss function will return lossB even though maybe most of the data in batch has no positive..
    So for a img, it will have different affect on loss accordding to different batch composition.
    I don't understand if this will have any good or bad effect on training.
    
    
    
    opened by Markusgami 11
  •   132 | #error -- unsupported GNU version! gcc versions later than 11 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk.       |  ^~~~~ error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1

    132 | #error -- unsupported GNU version! gcc versions later than 11 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk. | ^~~~~ error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1

    Hi, thank u for your work. I want to ask why I m facing this error when I run .cd $CenterNet_ROOT/src/lib/models/networks/DCNv2 ./make.sh.my gcc version is gcc (GCC) 12.1.1 20220507 (Red Hat 12.1.1-1) Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    opened by noreenanwar 0
  • Star Pattern during training

    Star Pattern during training

    Hi, first of all thanks for this great algorithm! I'm currently experimenting with smaller network structure and experienced something what puzzled me. Every n epochs I create some test pictures of the heatmap (VOC 2007) multiplied with an individual color matrix for each of the 20th class to turn the hm into RGB.

    After some iterations I see an interesting star pattern.

    image

    Do you maybe know a reason what's going on?

    opened by cmb87 0
  • three questions

    three questions

    Hello,. I would like to know if the points in the JSON training file formatted in COCO must be inside their polygons or if it does not matter. Moreover I would like to know if the detection of points takes into account the neighborhood of the point on the one hand and the neighborhood of its polygon on the other hand. Finally I would like to know how to customize my point and polygon classes in your software. Thanks Cordially

    opened by SylvainArd 0
  • 使用mmcv库中的DCN模块代替DCNv2

    使用mmcv库中的DCN模块代替DCNv2

    使用mmcv库中的DCN模块代替DCNv2官方库 使用 mim 安装(推荐) mim 是 OpenMMLab 项目的包管理工具,使用它可以很方便地安装 mmcv-full。 pip install -U openmim mim install mmcv-full

    测试: https://zhuanlan.zhihu.com/p/409033869 使用方法与官方DCNv2一样,只不过deformable_groups参数名改为deform_groups即可, from mmcv.ops import DeformConv2dPack as DCN dconv2 = DCN(in_channel, out_channel, kernel_size=(3, 3), stride=(2, 2), padding=1, deform_groups=2)

    然后就是要下载一个权重出现urllib.error.HTTPError: HTTP Error 404: Not Found,可能直接下载放到相应的文件夹里就行了

    opened by MissMIA0 0
  • Add a new header

    Add a new header

    in addition to the existing headers of CenterNet, i would like to add a new header for a new task (a binary classification header) , which parts should be edited in the code to insert my new header ? Thanks

    opened by AdnaneBechri 0
Owner
Xingyi Zhou
CS Ph.D. student at UT Austin.
Xingyi Zhou
Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

Ibai Gorordo 99 Dec 31, 2022
SE3 Pose Interp - Interpolate camera pose or trajectory in SE3, pose interpolation, trajectory interpolation

SE3 Pose Interpolation Pose estimated from SLAM system are always discrete, and

Ran Cheng 4 Dec 15, 2022
Web service for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation based on OpenFace 2.0

OpenGaze: Web Service for OpenFace Facial Behaviour Analysis Toolkit Overview OpenFace is a fantastic tool intended for computer vision and machine le

Sayom Shakib 4 Nov 3, 2022
OpenFace – a state-of-the art tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation.

OpenFace 2.2.0: a facial behavior analysis toolkit Over the past few years, there has been an increased interest in automatic facial behavior analysis

Tadas Baltrusaitis 5.8k Dec 31, 2022
Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation

SimplePose Code and pre-trained models for our paper, “Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation”, a

Jia Li 256 Dec 24, 2022
Repository for the paper "PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation", CVPR 2021.

PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation Code repository for the paper: PoseAug: A Differentiable Pose Augme

Pyjcsx 328 Dec 17, 2022
This repository contains codes of ICCV2021 paper: SO-Pose: Exploiting Self-Occlusion for Direct 6D Pose Estimation

SO-Pose This repository contains codes of ICCV2021 paper: SO-Pose: Exploiting Self-Occlusion for Direct 6D Pose Estimation This paper is basically an

shangbuhuan 52 Nov 25, 2022
HPRNet: Hierarchical Point Regression for Whole-Body Human Pose Estimation

HPRNet: Hierarchical Point Regression for Whole-Body Human Pose Estimation Official PyTroch implementation of HPRNet. HPRNet: Hierarchical Point Regre

Nermin Samet 53 Dec 4, 2022
Code for "PV-RAFT: Point-Voxel Correlation Fields for Scene Flow Estimation of Point Clouds", CVPR 2021

PV-RAFT This repository contains the PyTorch implementation for paper "PV-RAFT: Point-Voxel Correlation Fields for Scene Flow Estimation of Point Clou

Yi Wei 43 Dec 5, 2022
Re-implementation of the Noise Contrastive Estimation algorithm for pyTorch, following "Noise-contrastive estimation: A new estimation principle for unnormalized statistical models." (Gutmann and Hyvarinen, AISTATS 2010)

Noise Contrastive Estimation for pyTorch Overview This repository contains a re-implementation of the Noise Contrastive Estimation algorithm, implemen

Denis Emelin 42 Nov 24, 2022
Code for "CloudAAE: Learning 6D Object Pose Regression with On-line Data Synthesis on Point Clouds" @ICRA2021

CloudAAE This is an tensorflow implementation of "CloudAAE: Learning 6D Object Pose Regression with On-line Data Synthesis on Point Clouds" Files log:

Gee 35 Nov 14, 2022
[CVPR 2022] Pytorch implementation of "Templates for 3D Object Pose Estimation Revisited: Generalization to New objects and Robustness to Occlusions" paper

template-pose Pytorch implementation of "Templates for 3D Object Pose Estimation Revisited: Generalization to New objects and Robustness to Occlusions

Van Nguyen Nguyen 92 Dec 28, 2022
GDR-Net: Geometry-Guided Direct Regression Network for Monocular 6D Object Pose Estimation. (CVPR 2021)

GDR-Net This repo provides the PyTorch implementation of the work: Gu Wang, Fabian Manhardt, Federico Tombari, Xiangyang Ji. GDR-Net: Geometry-Guided

null 169 Jan 7, 2023
Single-Stage 6D Object Pose Estimation, CVPR 2020

Overview This repository contains the code for the paper Single-Stage 6D Object Pose Estimation. Yinlin Hu, Pascal Fua, Wei Wang and Mathieu Salzmann.

CVLAB @ EPFL 89 Dec 26, 2022
Single-stage Keypoint-based Category-level Object Pose Estimation from an RGB Image

CenterPose Overview This repository is the official implementation of the paper "Single-stage Keypoint-based Category-level Object Pose Estimation fro

NVIDIA Research Projects 188 Dec 27, 2022
PyTorch implemention of ICCV'21 paper SGPA: Structure-Guided Prior Adaptation for Category-Level 6D Object Pose Estimation

SGPA: Structure-Guided Prior Adaptation for Category-Level 6D Object Pose Estimation This is the PyTorch implemention of ICCV'21 paper SGPA: Structure

Chen Kai 24 Dec 5, 2022
[CVPR 2022 Oral] EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estimation

EPro-PnP EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estimation In CVPR 2022 (Oral). [paper] Hanshen

 同济大学智能汽车研究所综合感知研究组 ( Comprehensive Perception Research Group under Institute of Intelligent Vehicles, School of Automotive Studies, Tongji University) 842 Jan 4, 2023
Code for BMVC2021 "MOS: A Low Latency and Lightweight Framework for Face Detection, Landmark Localization, and Head Pose Estimation"

MOS-Multi-Task-Face-Detect Introduction This repo is the official implementation of "MOS: A Low Latency and Lightweight Framework for Face Detection,

null 104 Dec 8, 2022
Pose estimation for iOS and android using TensorFlow 2.0

?? Mobile 2D Single Person (Or Your Own Object) Pose Estimation for TensorFlow 2.0 This repository is forked from edvardHua/PoseEstimationForMobile wh

tucan9389 165 Nov 16, 2022