CMU-Perceptual-Computing-Lab/caffe_rtpose được TopGit xếp vào nhóm dự án mã nguồn mở, với 357 sao trên GitHub, viết chủ yếu bằng C++. Realtime C++ code for multi-person pose estimation
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
This repository is not maintained anymore and it will eventually be closed. Please, move to OpenPose!
Introduction
C++ code repo for the ECCV 2016 demo, "Realtime Multiperson Pose Estimation", Zhe Cao, Shih-En Wei, Tomas Simon, Yaser Sheikh. Thanks Ginés Hidalgo Martínez for restructuring the code.
The full project repo includes matlab and python version, and training code.
This project is under the terms of the license.
Quick Start
Required: CUDA & cuDNN installed on your machine.
If you have installed OpenCV 2.4 in your system, go to step 3. If you are using OpenCV 3, uncomment the line # OPENCV_VERSION := 3 on the file Makefile.config.Ubuntu14.example (for Ubuntu 14) and/or Makefile.config.Ubuntu16.example (for Ubuntu 15 or 16). In addition, OpenCV 3 does not incorporate the opencv_contrib module by default. Assuming you have manually installed it and you need to use it, append opencv_contrib at the end of the line LIBRARIES += opencv_core opencv_highgui opencv_imgproc in the Makefile file.
Build caffe & rtpose.bin + download the required caffe models (script tested on Ubuntu 14.04 & 16.04, it uses all the available cores in your machine):**
--logtostderr <--- Log messages to standard error.
Example:
Run on a video vid.mp4, render image frames as output/frame%06d.jpg and output JSON files as output/frame%06d.json, using 3 scales (1.00, 0.85, and 0.70), parallelized over 2 GPUs:
Each JSON file has a bodies array of objects, where each object has an array joints containing the joint locations and detection confidence formatted as x1,y1,c1,x2,y2,c2,..., where c is the confidence in [0,1].
We modified and added several Caffe files in include/caffe and src/caffe. In case you want to use your own Caffe distribution, these are the files we added and modified:
Added folders in include/caffe and src/caffe: include/caffe/cpm and src/caffe/cpm.
Modified files in include/caffe (search for // CPM extra code: to find the modified code): data_transformer.hpp.
Modified files in src/caffe (search for // CPM extra code: to find the modified code): data_transformer.cpp, proto/caffe.proto and util/blocking_queue.cpp.
Replaced files: README.md.
Added files: install_caffe_and_cpm.sh, Makefile.config.Ubuntu14.example (extracted from Makefile.config.example) and Makefile.config.Ubuntu16.example (extracted from Makefile.config.example).
Other added folders: model/, examples/rtpose, /include/rtpose and /src/rtpose.
Other modified files: Makefile.
Optional - deleted Caffe files and folders (only to save space): Makefile.config.example, data/, examples/ (do not delete examples/rtpose) and models/.
Custom Caffe layers:
We created a few Caffe layers (located in include/caffe/cpm/layers and src/caffe/cpm/layers):
ImResizeLayer: Only used for testing (backward pass not implemented). This layer performs 2-D resize over the 4-D data. I.e., given a 4-D input of size (num x channels x height_input x width_input), the layer returns a 4-D output of size (num x channels x height_output x width_output). It is independently applied to each dimension of num and channels. Its parameters are:
factor: Scaling factor with respect to the input width and height. factor is the alternative to the pair of variables [target_spatial_width, target_spatial_height]. If factor != 0, the latter are ignored.
scale_gap and start_scale: These parameters are related and used for doing scale search in testing mode. If start_scale = 1 (default), the CNN input patch size is the net resolution (set with --net_resolution). scale_gap is used to calculate the scale difference between scales. This parameters are related with the flag --num_scales. For instance, using --start_scale 1 --num_scales 3 --scale_gap 0.1 means using 3 scales: 1, 1-0.1, 1-2*0.1, hence the different patch sizes correspond to the net resolution multiplied by these scales values.
target_spatial_height: Alternative to factor. It sets the output height. Ignored if factor != 0.
target_spatial_width: Alternative to factor. It sets the output width. Ignored if factor != 0.
NmsLayer: Only used for testing (backward pass not implemented). This layer performs 3-D Non-Maximum Suppression over the 4-D data. I.e., given a 4-D input of size (num x channels x height x width), it returns a 4-D output of size (num x num_parts x max_peaks+1 x 3). It is independently applied to each dimension of num. The seconds dimension corresponds to the number of limbs (num_parts). The third dimension indicates the maximum number of peaks to be analyzed (max_peaks+1). Finally, the last one corresponds to the x, y and score values (3). Its parameters are:
max_peaks: The number of peaks to be considered. The last total_peaks - max_peaks peaks are discarded.
num_parts: The number of limbs to detect (e.g. 15 for MPI and 18 for COCO).
threshold: Any input value smaller than this threshold is set to 0.
Citation
Please cite the paper in your publications if it helps your research:
@article{cao2016realtime,
title={Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields},
author={Zhe Cao and Tomas Simon and Shih-En Wei and Yaser Sheikh},
journal={arXiv preprint arXiv:1611.08050},
year={2016}
}
@inproceedings{wei2016cpm,
author = {Shih-En Wei and Varun Ramakrishna and Takeo Kanade and Yaser Sheikh},
booktitle = {CVPR},
title = {Convolutional pose machines},
year = {2016}
}
CMU-Perceptual-Computing-Lab/caffe_rtpose có bao nhiêu sao?
CMU-Perceptual-Computing-Lab/caffe_rtpose có 357 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/CMU-Perceptual-Computing-Lab/caffe_rtpose. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
CMU-Perceptual-Computing-Lab/caffe_rtpose có phải mã nguồn mở không?
TopGit chưa ghi nhận license cho CMU-Perceptual-Computing-Lab/caffe_rtpose. Phần lớn repo public trên GitHub là mã nguồn mở, nhưng điều khoản khác nhau từng repo — mở file LICENSE để xác nhận.
CMU-Perceptual-Computing-Lab/caffe_rtpose còn đang phát triển không?
Commit gần nhất trên CMU-Perceptual-Computing-Lab/caffe_rtpose là 9.3 năm trước (theo timestamp GitHub). Repo có 201 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
CMU-Perceptual-Computing-Lab/caffe_rtpose là gì?
CMU-Perceptual-Computing-Lab/caffe_rtpose (CMU-Perceptual-Computing-Lab/caffe_rtpose) là dự án C++ trên GitHub. Theo mô tả gốc: Realtime C++ code for multi-person pose estimation
Đọc thêm về CMU-Perceptual-Computing-Lab/caffe_rtpose ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/CMU-Perceptual-Computing-Lab/caffe_rtpose là nguồn chính thức.
Đọc đầy đủ README ở tab phía trên.
caffe_rtpose có đáng để bạn bỏ thời gian?
ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về caffe_rtpose.