All Projects → tteepe → CenterNet-pytorch-lightning

tteepe / CenterNet-pytorch-lightning

Licence: Apache-2.0 license
Refactored implementation of CenterNet (Objects as Points - Zhou, Xingyi et. al.) shipping with PyTorch Lightning modules

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to CenterNet-pytorch-lightning

Swiftopenpose
tf-openpose Based iOS Project
Stars: ✭ 215 (+305.66%)
Mutual labels:  pose-estimation
aistplusplus api
API to support AIST++ Dataset: https://google.github.io/aistplusplus_dataset
Stars: ✭ 277 (+422.64%)
Mutual labels:  pose-estimation
realant
RealAnt robot platform for low-cost, real-world reinforcement learning
Stars: ✭ 40 (-24.53%)
Mutual labels:  pose-estimation
3d pose baseline pytorch
A simple baseline for 3d human pose estimation in PyTorch.
Stars: ✭ 227 (+328.3%)
Mutual labels:  pose-estimation
Human body prior
VPoser: Variational Human Pose Prior
Stars: ✭ 244 (+360.38%)
Mutual labels:  pose-estimation
openpose-pytorch
🔥 OpenPose api wrapper in PyTorch.
Stars: ✭ 52 (-1.89%)
Mutual labels:  pose-estimation
Multiperson
Code repository for the paper: "Coherent Reconstruction of Multiple Humans from a Single Image" in CVPR'20
Stars: ✭ 212 (+300%)
Mutual labels:  pose-estimation
MobilePose-Pi
MobilePose deployment for Raspberry Pi
Stars: ✭ 15 (-71.7%)
Mutual labels:  pose-estimation
Epipolar Transformers
Epipolar Transformers (CVPR 2020)
Stars: ✭ 245 (+362.26%)
Mutual labels:  pose-estimation
tf-cpn
Cascade Pyramid Netwrok
Stars: ✭ 22 (-58.49%)
Mutual labels:  pose-estimation
Map Based Visual Localization
A general framework for map-based visual localization. It contains 1) Map Generation which support traditional features or deeplearning features. 2) Hierarchical-Localizationvisual in visual(points or line) map. 3)Fusion framework with IMU, wheel odom and GPS sensors.
Stars: ✭ 229 (+332.08%)
Mutual labels:  pose-estimation
Monoloco
[ICCV 2019] Official implementation of "MonoLoco: Monocular 3D Pedestrian Localization and Uncertainty Estimation" in PyTorch + Social Distancing
Stars: ✭ 242 (+356.6%)
Mutual labels:  pose-estimation
centernet-uda
This repository holds a small framework to evaluate unsupervised domain adaptation methods in combination with a CenterNet object detection network.
Stars: ✭ 20 (-62.26%)
Mutual labels:  centernet
Unofficial Implement Of Openpose
Implement of Openpose use Tensorflow
Stars: ✭ 222 (+318.87%)
Mutual labels:  pose-estimation
PeekingDuck
A modular framework built to simplify Computer Vision inference workloads.
Stars: ✭ 143 (+169.81%)
Mutual labels:  pose-estimation
Com.unity.perception
Perception toolkit for sim2real training and validation
Stars: ✭ 208 (+292.45%)
Mutual labels:  pose-estimation
movenet.pytorch
A Pytorch implementation of MoveNet from Google. Include training code and pre-trained model.
Stars: ✭ 273 (+415.09%)
Mutual labels:  pose-estimation
Xtreme-Vision
A High Level Python Library to empower students, developers to build applications and systems enabled with computer vision capabilities.
Stars: ✭ 77 (+45.28%)
Mutual labels:  centernet
icra20-hand-object-pose
[ICRA 2020] Robust, Occlusion-aware Pose Estimation for Objects Grasped by Adaptive Hands
Stars: ✭ 42 (-20.75%)
Mutual labels:  pose-estimation
Res2Net-Pose-Estimation
Res2Net for Pose Estimation using Simple Baselines as the baseline
Stars: ✭ 35 (-33.96%)
Mutual labels:  pose-estimation

CenterNet w/ PyTorchLightning

CI testing DOI

Description

My attempt at a cleaner implementation of the glorious CenterNet.

Features

  • Decoupled backbones and heads for easier backbone integration
  • Split sample creation into image augmentation (with imgaug) and actual sample creation
  • Comes shipped with Lightning modules but can also be used with good ol' plain PyTorch
  • Stripped all code not used to reproduce the results in the paper
  • Smaller code base with more meaningful variable names
  • Requires significantly less memory
  • Same or slightly better results than the original implementation

ToDos

Some features of the original repository are not implemented yet but pull requests are welcome!

  • 3D bounding box detection
  • ExtremeNet detection
  • Pascal VOC dataset

How to run

First, install dependencies

# Install ninja for DCNv2 JIT compilation
sudo apt-get install ninja-build

# clone CenterNet
git clone https://github.com/tteepe/CenterNet-pytorch-lightning

# install CenterNet
cd CenterNet-pytorch-lightning
pip install -e .   
pip install -r requirements.txt

Next, navigate to any file and run it.

# module folder
cd CenterNet

# run module
python centernet_detection.py    
python centernet_multi_pose.py    

Imports

This project is setup as a package which means you can now easily import any file into any other file like so:

from pytorch_lightning import Trainer
from torchvision.datasets import CocoDetection
from CenterNet import CenterNetDetection

# model
model = CenterNetDetection("dla_34")

# data
train = CocoDetection("train2017", "instances_train2017.json")
val = CocoDetection("val2017", "instances_val2017.json")

# train
trainer = Trainer()
trainer.fit(model, train, val)

# test using the best backbone!
test = CocoDetection("test2017", "image_info_test2017.json")
trainer.test(test_dataloaders=test)

BibTeX

If you want to cite the implementation feel free to use this or zenodo:

@article{teepe2021centernet,
  title={CenterNet PyTorch Lightning},
  author={Teepe, Torben and Gilg, Johannes},
  journal={GitHub. Note: https://github.com/tteepe/CenterNet-pytorch-lightning},
  volume={1},
  year={2021}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].