cmu-perceptual-computing-lab / openpose_train Goto Github PK
View Code? Open in Web Editor NEWTraining repository for OpenPose
Home Page: https://github.com/CMU-Perceptual-Computing-Lab/openpose
License: Other
Training repository for OpenPose
Home Page: https://github.com/CMU-Perceptual-Computing-Lab/openpose
License: Other
The instructions say that for training body_25 one needs to set sAddFoot = sAddMpii = sAddDome = sSuperModel = 0 in the d_setLayers script. However this creates the body 17 model only. Which parameters were used to create the body_25 in openpose?
Error
).Note: add --logging_level 0 --disable_multi_thread
to get higher debug information.
You might select multiple topics, delete the rest:
Whole console output (if errors appeared), paste the error to PasteBin and then paste the link here: LINK
OpenPose version: Latest GitHub code? Or specific commit (e.g., d52878f)? Or specific version from Release
section (e.g., 1.2.0)?
General configuration:
lsb_release -a
in Ubuntu):gcc --version
in Ubuntu or VS version in Windows): 5.4.0, ... (Ubuntu); VS2015 Enterprise Update 3, VS2017 community, ... (Windows); ...?Non-default settings:
3rd-party software:
cmake --version
in Ubuntu):apt-get install libopencv-dev
(only Ubuntu); OpenPose default (only Windows); compiled from source? If so, 2.4.9, 2.4.12, 3.1, 3.2?; ...?If GPU mode issue:
cat /usr/local/cuda/version.txt
in most cases):nvidia-smi
in Ubuntu):If CPU-only mode issue:
If Python API:
python -c "import numpy; print numpy.version.version"
in Ubuntu):If Windows system:
If speed performance issue:
I followed the training/README.md file to build the code including Caffe on the Ubuntu 18.0.4 box.
After I fixed the syntax error for some print statements in d_setLayers.py and generateProtoTxt.py, I run "python3 d_setLayers.py", it reported the following error:
/openpose_train-master/training_results/pose
/openpose_train-master/dataset/vgg/VGG_ILSVRC_19_layers.caffemodel
Traceback (most recent call last):
File "d_setLayers.py", line 643, in
sDistanceChannels, not sAddMpii)
File "/openpose_train-master/training/generateProtoTxt.py", line 30, in generateProtoTxt
addBkgChannel)
File "/openpose_train-master/training/generateProtoTxt.py", line 179, in setLayersTwoBranches
ntop=4
TypeError: list indices must be integers or slices, not float
But if I built code (including Caffe) with python2.7.17, I execute "python d_setLayers.py" successfully.
What is is the cause of the failure of python3.6.9 execution?
Thanks!
keypoint for car dataset where ?
Hi,
I’m new in deep learning implementation. Theoretically I’ve defined a new loss function to train the openpose model more precise. I trained the model which had implemented in keras for about 20 epochs. The results decreased 1.5 percent. what’s wrong with it? I should train more? or my loss function is not good?
Data: COCO 2014
Training setting: multisgd, base_lr=2e-5, batch_size=10, train_sample = 117576, val_samples = 2476
In addition, I finetuned model with existing weights which result AP = 68.9% .
So thanks,
Hello, I want to train hand-detector with hand dataset-lmdb separately without training the other models, but there are following lines in d_setLayers.py :
"if sAddHands:
if len(sLmdbFolders) != 6:
print('Not prepared for this case')
assert(False)"
And there are following lines in the training/README.md:
"Set sAddFoot to 1 or 0 to enable/disable combined body-foot.
Set sAddMpii, sAddFace and sAddHands to 1 or 0 to enable/disable boyd mpii/face/hands (if 1, then all the above must be also 1)."
How can I realize my needs?
When I download the LMDB files ready to be used by running cd training && bash a_downloadAndUpzipLmdbs.sh. the errors show 404 Not Found for each link
Error
).Note: add --logging_level 0 --disable_multi_thread
to get higher debug information.
You might select multiple topics, delete the rest:
Whole console output (if errors appeared), paste the error to PasteBin and then paste the link here: LINK
OpenPose version: Latest GitHub code? Or specific commit (e.g., d52878f)? Or specific version from Release
section (e.g., 1.2.0)?
General configuration:
lsb_release -a
in Ubuntu):gcc --version
in Ubuntu or VS version in Windows): 5.4.0, ... (Ubuntu); VS2015 Enterprise Update 3, VS2017 community, ... (Windows); ...?Non-default settings:
3rd-party software:
cmake --version
in Ubuntu):apt-get install libopencv-dev
(only Ubuntu); OpenPose default (only Windows); compiled from source? If so, 2.4.9, 2.4.12, 3.1, 3.2?; ...?If GPU mode issue:
cat /usr/local/cuda/version.txt
in most cases):nvidia-smi
in Ubuntu):If CPU-only mode issue:
If Python API:
python -c "import numpy; print numpy.version.version"
in Ubuntu):If Windows system:
If speed performance issue:
Hello,
I'm trying to fine tune the Openpose 25B model using my own data (annoted pictures). I formatted the annotation in JSON using the same layout as MPII data set, and then used the provided script in openpose_train/MPII folder to generate the mask, the final JSONS and finally the lmdb .
To run a training, I provided the path to lmdb in pose_training.prototxt, "sources" in op_transform_param while using MPII_25B_16 model.
Unfortunately, when I run a training, the data are not correctly loaded and the program crash. I was able to perform training with the regular COCO/ MPII data sets. Here is the stacks trace, using gdb and openpose_caffe_train compiled in debug:
#0 0x00007ffff5ee4b3e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff64863c7 in void std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2 0x00007ffff77d6c7e in caffe::db::LMDBCursor::valueabi:cxx11 (
this=0xab12410)
at /home/rguesdon/Networks/openpose_caffe_train/include/caffe/util/db_lmdb.hpp:35
#3 0x00007ffff7684132 in caffe::OPDataLayer::DataLayerSetUp (
this=0xab11350, bottom=std::vector of length 0, capacity 0,
top=std::vector of length 2, capacity 2 = {...})
at /home/rguesdon/Networks/openpose_caffe_train/src/caffe/openpose/layers/oPDataLayer.cpp:115
#4 0x00007ffff775f76b in caffe::BaseDataLayer::LayerSetUp (
this=0xab11350, bottom=std::vector of length 0, capacity 0,
top=std::vector of length 2, capacity 2 = {...})
at /home/rguesdon/Networks/openpose_caffe_train/src/caffe/layers/base_data_layer.cpp:32
#5 0x00007ffff775fbc1 in caffe::BasePrefetchingDataLayer::LayerSetUp (
this=0xab11350, bottom=std::vector of length 0, capacity 0,
top=std::vector of length 2, capacity 2 = {...})
at /home/rguesdon/Networks/openpose_caffe_train/src/caffe/layers/base_data_layer.cpp:50
Was my idea of using MPII scripts with my own data naive? If so, what would be the correct way to format my data correctly for openpose_train? Otherwise, how should I load my data?
Thank you for your help.
Archjbald
bash train.sh 2
Whole console output https://pastebin.com/198mtNKT
OpenPose version: Latest GitHub code
General configuration:
3rd-party software:
Converting and saving JSON into MAT format
Converting val2017_foot_v2
Loading and preparing annotations... Error to use fileread (line 24)
Fail to open E:/openpose/openpose_train/dataset/COCO/cocoapi/annotations/person_keypoints_val2017_foot_v2.json。No such file or directory。
Error CocoApi (line 61)
coco.data=gason(fileread(annFile)); end
Eorror a2_coco_jsonToMat (line 137)
coco = CocoApi(annotationsFile);
Hey,Guys, I was trying to training the openpose model. When I try to generate the foot data lmdb, the above error was reported can anyone help? What can I do to generate the person_keypoints_val2017_foot_v2.json ?
The validation file here are missing foot keypoints.
http://posefs1.perception.cs.cmu.edu/OpenPose/datasets/foot/person_keypoints_val2017_foot_v1.zip
and here:
http://posefs1.perception.cs.cmu.edu/OpenPose/datasets/foot/person_keypoints_val2017_foot_v2.zip
It contains just the following keypoints:
"keypoints":[
"nose",
"left_eye",
"right_eye",
"left_ear",
"right_ear",
"left_shoulder",
"right_shoulder",
"left_elbow",
"right_elbow",
"left_wrist",
"right_wrist",
"left_hip",
"right_hip",
"left_knee",
"right_knee",
"left_ankle",
"right_ankle"
]
Hi All, I am getting the following error:
I0528 23:06:38.117194 164 layer_factory.hpp:77] Creating layer image
terminate called after throwing an instance of 'std::runtime_error'
what(): Error: mSources.size() != mModels.size() at 54, OPDataLayer, src/caffe/openpose/layers/oPDataLayer.cpp
I also read and followed issue #29
any idea? I printed the size of mSources() and mModels.size() there are 1 and 2 in respective.
I also did
set sAddFoot=0,sAddMpii=0, sAddFace=0 and sAddHands=0,sAddDome=0
Here is the first layers:
layer {
name: "image"
type: "OPData"
top: "image"
top: "label"
data_param {
batch_size: 10
backend: LMDB
}
op_transform_param {
stride: 8
max_degree_rotations: "45"
crop_size_x: 368
crop_size_y: 368
center_perterb_max: 40
center_swap_prob: 0
scale_prob: 1
scale_mins: "0.333333333333"
scale_maxs: "1.5"
target_dist: 0.6
number_max_occlusions: "2"
sigmas: "7.0"
models: "COCO_18;COCO_18_18"
sources: "/workspace/openpose_train/dataset/lmdb_coco"
probabilities: "1.0"
source_background: "/workspace/openpose_train/dataset/lmdb_background"
prob_only_background: 0.02
media_directory: ""
normalization: 0
add_distance: false
}
}
Error
).I'm trying to train OpenPose with my own data, but I decided to test my configuration by training OpenPose with the default data first. I followed the steps from https://github.com/CMU-Perceptual-Computing-Lab/openpose_train/blob/master/training/README.md. My training loss does not decrease after tens of thousands of iterations.
Note: add --logging_level 0 --disable_multi_thread
to get higher debug information.
sudo bash train_pose.sh 0
You might select multiple topics, delete the rest:
Whole console output (if errors appeared), paste the error to PasteBin and then paste the link here: LINK
OpenPose version: Latest GitHub code? Or specific commit (e.g., d52878f)? Or specific version from Release
section (e.g., 1.2.0)?
Most recent OpenPose Train version
General configuration:
lsb_release -a
in Ubuntu):gcc --version
in Ubuntu or VS version in Windows): 5.4.0, ... (Ubuntu); VS2015Non-default settings:
3rd-party software:
cmake --version
in Ubuntu):apt-get install libopencv-dev
(only Ubuntu); OpenPose default (only Windows); compiled from source? If so, 2.4.9, 2.4.12, 3.1, 3.2?; ...?If GPU mode issue:
cat /usr/local/cuda/version.txt
in most cases):nvidia-smi
in Ubuntu):If CPU-only mode issue:
If Python API:
python -c "import numpy; print numpy.version.version"
in Ubuntu):If Windows system:
If speed performance issue:
Trying to generate LMDB files for the foot dataset. I downloaded the foot dataset from https://cmu-perceptual-computing-lab.github.io/foot_keypoint_dataset/ and unzipped it into the COCO directory, but the filename does not match with the expected file name in the a2_coco_jsonToMat script. I'm guessing you were developing this with a later, unreleased version of the foot dataset?
I also tried changing the filename it was looking for from person_keypoints_val2017_foot_v2.json to person_keypoints_val2017_foot_v1.json to match up with the latest on the site. But then I get the following error:
Error using a2_coco_jsonToMat (line 201)
Required: numel(keypoints)/3 = 6 == 23
Seems to hint that the v2 dataset has a different number of keypoints?
Running a2_coco_jsonToMat with for mode = 2:3 % foot
uncommented
> In a2_coco_jsonToMat (line 24)
Converting and saving JSON into MAT format
Converting val2017_foot_v2
Loading and preparing annotations... Error using fileread (line 23)
Could not open file ../dataset/COCO/cocoapi/annotations/person_keypoints_val2017_foot_v2.json. No such file or directory.
Error in CocoApi (line 61)
coco.data=gason(fileread(annFile)); end
Error in a2_coco_jsonToMat (line 137)
coco = CocoApi(annotationsFile);
You might select multiple topics, delete the rest:
Should not be necessary to repro.
Ubuntu 16
4x 2080ti GPU, CUDA 10, running in docker image based on caffe docker, running matlab trial version
I run the training with 1,000,000 iterations, then copied the caffemodel file to openpose/models/pose/body_25 to replace the pose_iter_584000.caffemodel file, then run
./build/examples/openpose/openpose.bin --video examples/media/video.avi
The result is very poor and it hardly detects any body part.
What did I do wrong?
What is the right way to evaluate the trained model?
Do I need iterate more training?
Thanks,
Could you please provide the detailed results on COCO test-dev dataset for the convenient of citing your paper?
In the TPAMI version, only part of the AP entries is reported due to the limited space of your Table 3.
Looking forward to your help. Thank you!
1- the site is inreachable to download LMDB files.
2- which version of the caffe does it need to generate lmdb files from scratch? The one that is the submodule of openpose or CMU-Perceptual-Computing-Lab/openpose_caffe_train
3- Has any one successed to generate the lmdb from scratch, I face many problems to compile either version of caffe
Hi,
Thanks for the awsome project. I am training whole-body model by setting sAddDome 1, but it seems that I need the following data. Can you tell me where I can get it?
sMediaDirectory = '/media/posefs0c/panopticdb/a4/hdImgs/'
Openpose is usually used to identify human joints,but if i want to identify other animals,how should I label the image
I am searching for a long time on net. But no use. Please help or try to give some ideas how to achieve this.
I have dataset for Car pose estimation. How can I use this repo to train it?
Error
).Note: add --logging_level 0 --disable_multi_thread
to get higher debug information.
You might select multiple topics, delete the rest:
Whole console output (if errors appeared), paste the error to PasteBin and then paste the link here: LINK
OpenPose version: Latest GitHub code? Or specific commit (e.g., d52878f)? Or specific version from Release
section (e.g., 1.2.0)?
General configuration:
lsb_release -a
in Ubuntu):gcc --version
in Ubuntu or VS version in Windows): 5.4.0, ... (Ubuntu); VS2015 Enterprise Update 3, VS2017 community, ... (Windows); ...?Non-default settings:
3rd-party software:
cmake --version
in Ubuntu):apt-get install libopencv-dev
(only Ubuntu); OpenPose default (only Windows); compiled from source? If so, 2.4.9, 2.4.12, 3.1, 3.2?; ...?If GPU mode issue:
cat /usr/local/cuda/version.txt
in most cases):nvidia-smi
in Ubuntu):If CPU-only mode issue:
If Python API:
python -c "import numpy; print numpy.version.version"
in Ubuntu):If Windows system:
If speed performance issue:
Error
).Note: add --logging_level 0 --disable_multi_thread
to get higher debug information.
You might select multiple topics, delete the rest:
Whole console output (if errors appeared), paste the error to PasteBin and then paste the link here: LINK
OpenPose version: Latest GitHub code? Or specific commit (e.g., d52878f)? Or specific version from Release
section (e.g., 1.2.0)?
General configuration:
lsb_release -a
in Ubuntu):gcc --version
in Ubuntu or VS version in Windows): 5.4.0, ... (Ubuntu); VS2015 Enterprise Update 3, VS2017 community, ... (Windows); ...?Non-default settings:
3rd-party software:
cmake --version
in Ubuntu):apt-get install libopencv-dev
(only Ubuntu); OpenPose default (only Windows); compiled from source? If so, 2.4.9, 2.4.12, 3.1, 3.2?; ...?If GPU mode issue:
cat /usr/local/cuda/version.txt
in most cases):nvidia-smi
in Ubuntu):If CPU-only mode issue:
If Python API:
python -c "import numpy; print numpy.version.version"
in Ubuntu):If Windows system:
If speed performance issue:
The provided body_25 model is not compatible with the current openpose_caffe_train. It cannot be loaded to be used as a starting point for finetuning. It gives the error: Can't parse message of type "caffe.NetParameter" because it is missing required fields: layer[0].clip_param.min, layer[0].clip_param.max. Is it possible to release a pretrained body_25 model compatible with the d-setLayer.py generated training scripts?
Error
).Note: add --logging_level 0 --disable_multi_thread
to get higher debug information.
You might select multiple topics, delete the rest:
Whole console output (if errors appeared), paste the error to PasteBin and then paste the link here: LINK
OpenPose version: Latest GitHub code? Or specific commit (e.g., d52878f)? Or specific version from Release
section (e.g., 1.2.0)?
General configuration:
lsb_release -a
in Ubuntu):gcc --version
in Ubuntu or VS version in Windows): 5.4.0, ... (Ubuntu); VS2015 Enterprise Update 3, VS2017 community, ... (Windows); ...?Non-default settings:
3rd-party software:
cmake --version
in Ubuntu):apt-get install libopencv-dev
(only Ubuntu); OpenPose default (only Windows); compiled from source? If so, 2.4.9, 2.4.12, 3.1, 3.2?; ...?If GPU mode issue:
cat /usr/local/cuda/version.txt
in most cases):nvidia-smi
in Ubuntu):If CPU-only mode issue:
If Python API:
python -c "import numpy; print numpy.version.version"
in Ubuntu):If Windows system:
If speed performance issue:
as show in the title:
Download the train2017_foot_v1.zip JSON zip file.
Download the val2017_foot_v1.zip JSON zip file.
Can u fix the link to download soon?thank u
I would like to use the new model since it looks like it performs better on a dataset I am using.
I was wondering if there is information available about the keypoint ordering and indices, like there is on the original OpenPose repository, on this page, preferably without having to compile OpenPose.
Specifically, is it just 2 keypoints that are deleted, or are there any that are changed? If so, which?
When I try to download the LMDB files using the command cd training; bash a_lmdbGetBody.sh, the server is not responding. Download fails. The error shows No data received.
Hi! Thank you for sharing the data.I want to train the model by myself but I can't generate the data.Can you share the body_25 model training data?
I followed the training/README.md file to build the code on the Ubuntu box which has 1 GPU Quadro RTX 5000 with 16GB memory. But the running "bash train_pose.sh 0" reported "error == cudaSuccess (2 vs. 0) out of memory".
What kind GPU is required to run the training?
Is there a way to work around it?
Thanks!
Hi,
If possible how do I use setLayers to generate the training prototxt for the original body_25 currently deployed in the inference repo?
Best, Max
Hi, I am confused how the the accuracy of the Hand/Face models are measured and I appreciate it if someone can explain it to me.
I noticed that I can download, for examle, the panoptic hand dataset and generate a COCO format JSON file from the dataset by using a_handDomeToCoco.py script. However this JSON file cannot be used as ground truth for COCO API, since the number of keypoints is different than 18 points which is hardcoded in COCO OKS metric!
Hello! Thank you for your great and general share! Can you share the training code for "lmdb_hand_dome" and "lmdb_hand_mpii" dataset? I really want to train the hand model but I can't allways get the caffe code. Thank you for advance!
Hi,
When I try and run a1_coco_jsonToNegativesJson.m an error notification appears telling me that I am missing a folder called sCocoMatlabApiFolder. I'm assumed after running a0_getData.sh that it would be with the other folders that was downloaded but it wasn't and I can't run a1_coco_jsonToNegativesJson.m without it. If anyone could tell me why this folder is missing or how I could get this folder I would appreciate it.
Thank you
Error
).I'm trying to train OpenPose with my own dataset that only has 23 keypoints (some intersection between Body25 keypoints + new keypoints). I tried modifying pose_training.prototxt and pose_deploy.prototxt to have 23 ouputs instead of 25 but I get a dimension error. Are there any resources on how to reconfigure the OpenPose training routine for different keypoint numbers?
Note: add --logging_level 0 --disable_multi_thread
to get higher debug information.
F0428 10:25:22.296805 743 eltwise_layer.cpp:34] Check failed: bottom[0]->shape() == bottom[i]->shape() bottom[0]: 10 23 46 46 (486680), bottom[1]: 10 25 46 46 (529000)
You might select multiple topics, delete the rest:
Whole console output (if errors appeared), paste the error to PasteBin and then paste the link here: LINK
OpenPose version: Latest GitHub code? Or specific commit (e.g., d52878f)? Or specific version from Release
section (e.g., 1.2.0)?
General configuration:
lsb_release -a
in Ubuntu):gcc --version
in Ubuntu or VS version in Windows): 5.4.0, ... (Ubuntu); VS2015 Enterprise Update 3, VS2017 community, ... (Windows); ...?Non-default settings:
3rd-party software:
cmake --version
in Ubuntu):apt-get install libopencv-dev
(only Ubuntu); OpenPose default (only Windows); compiled from source? If so, 2.4.9, 2.4.12, 3.1, 3.2?; ...?If GPU mode issue:
cat /usr/local/cuda/version.txt
in most cases):nvidia-smi
in Ubuntu):If CPU-only mode issue:
If Python API:
python -c "import numpy; print numpy.version.version"
in Ubuntu):If Windows system:
If speed performance issue:
Downloading Human Foot Keypoint Dataset
Hello Everyone!
I have downloaded the 2017 Train images [118K/18GB] from Human Foot Keypoint Dataset. I need this dataset for foot detection and tracking but the dataset contain different images not specific related to foot keypoint. Please anyone guide me, how can I get training dataset for training foot detection model. Thanks in advance
Hi, thank you for your greate work! I have some confusion about network architecture:
Hi,
I wanna train the openpose with a new loss function. I've done the steps according to your suggestion but Generating protoTxt failed!
would you help me please...
so thanks
------------------------- Absolute paths: -------------------------
sCaffeFolder absolute path: /openpose_train-master/openpose/3rdparty/caffe
sLmdbFolder absolute paths:
../dataset/lmdb_coco2017_foot
../dataset/lmdb_coco
../dataset/lmdb_mpii
sLmdbBackground absolute path: ../dataset/lmdb_background
sPretrainedModelPath absolute path: ../dataset/vgg/VGG_ILSVRC_19_layers.caffemodel
sTrainingFolder absolute path: ../training_results/pose
modelNames: COCO_25B_23;COCO_25B_17;MPII_25B_16
lmdbFolders: ../dataset/lmdb_coco2017_foot;../dataset/lmdb_coco;../dataset/lmdb_mpii
scaleMins: 0.333333333333;0.333333333333;0.333333333333
scaleMaxs: 1.5;1.5;2.5
numberMaxOcclusions: 2
sigmas: 7.0
maxDegreeRotations: 45
.
.
.
loss 0 level 1
Traceback (most recent call last):
File "d_setLayers.py", line 643, in
sDistanceChannels, not sAddMpii)
File "/openpose_train-master/training/generateProtoTxt.py", line 30, in generateProtoTxt
addBkgChannel)
File "/openpose_train-master/training/generateProtoTxt.py", line 1451, in setLayersTwoBranches
return str(caffeNet.to_proto())
File "/openpose_train-master/openpose/3rdparty/caffe/python/caffe/net_spec.py", line 194, in to_proto
top._to_proto(layers, names, autonames)
File "/openpose_train-master/openpose/3rdparty/caffe/python/caffe/net_spec.py", line 98, in _to_proto
return self.fn._to_proto(layers, names, autonames)
File "/openpose_train-master/openpose/3rdparty/caffe/python/caffe/net_spec.py", line 157, in _to_proto
assign_proto(layer, k, v)
File "/openpose_train-master/openpose/3rdparty/caffe/python/caffe/net_spec.py", line 65, in assign_proto
is_repeated_field = hasattr(getattr(proto, name), 'extend')
Hi , I meet a error when I run "a1_coco_jsonToNegativeJson.m" script in matlab. The error shows "Undefined function 'jsonencode ' " . line 69 : jsonString=jsonencode(imagesPaths) . My matlab is matlab2014a
Error
).Note: add --logging_level 0 --disable_multi_thread
to get higher debug information.
You might select multiple topics, delete the rest:
Whole console output (if errors appeared), paste the error to PasteBin and then paste the link here: LINK
OpenPose version: Latest GitHub code? Or specific commit (e.g., d52878f)? Or specific version from Release
section (e.g., 1.2.0)?
General configuration:
lsb_release -a
in Ubuntu):gcc --version
in Ubuntu or VS version in Windows): 5.4.0, ... (Ubuntu); VS2015 Enterprise Update 3, VS2017 community, ... (Windows); ...?Non-default settings:
3rd-party software:
cmake --version
in Ubuntu):apt-get install libopencv-dev
(only Ubuntu); OpenPose default (only Windows); compiled from source? If so, 2.4.9, 2.4.12, 3.1, 3.2?; ...?If GPU mode issue:
cat /usr/local/cuda/version.txt
in most cases):nvidia-smi
in Ubuntu):If CPU-only mode issue:
If Python API:
python -c "import numpy; print numpy.version.version"
in Ubuntu):If Windows system:
If speed performance issue:
Running cd training && bash a_downloadAndUpzipLmdbs.sh fails with 404.
Hello. I have meet a problem that can't be solved by myself. Please help me.
I want just train model as origin model that output 18 points of body.
First, I have generated the COCO dataset LMDB files(without foot、hand、face dataset) by myself followed your step descriped at /Train/README.md.
I modified the c_generateLmdbs.py file by uncommented line 136 and line 164, other code not modified.
Second, I have finished complied Caffe. Runing script file generateProtoTxt.py generate the Caffe ProtoTxt . I modified generateProtoTxt.py follow README.md, set sAddFoot=0,sAddMpii=0, sAddFace=0 and sAddHands=0,sAddDome=0,sProbabilityOnlyBackground=0, sSuperModel=0,.
my pose_trianing.prototxt is like this:(data layer)
layer {
name: "image"
type: "OPData"
top: "image"
top: "label"
data_param {
batch_size: 10
backend: LMDB
}
op_transform_param {
stride: 8
max_rotate_degree: 45
crop_size_x: 368
crop_size_y: 368
center_perterb_max: 40.0
center_swap_prob: 0.0
scale_prob: 1.0
scale_min: 0.333333333
scale_max: 1.5
target_dist: 0.6
number_max_occlusions: 2
sigmas: "7.0"
model: "COCO_17;COCO_17_17"
source_background: "/mnt/zhong/openpose_train/dataset/lmdb_background"
source: "/mnt/zhong/openpose_train/dataset/lmdb_coco"
media_directory:""
normalization: 0
add_distance: false
}
}
Error:
I run the comand "bash train_pose.sh”. Meet next error:
terminate called after throwing an instance of 'std::runtime_error'
what(): Error: mSources.size()!=nModels.size() at 56, OPDatalayer. src/caffe/openpose/layers/oPDatalayer.cpp
*** Aborted at 1581070034(unix time ) try "data -d @1581070034" if you are using GUN data ***
.....
Does it only train model which output 25 points (Body+ Foot)? Can't train model which output 18 points(Body) as origin openPose?
Hello, i'm trying to train the OpenPose model on a custom dataset. I have created the LMDB file as in the tutorial on https://github.com/CMU-Perceptual-Computing-Lab/openpose_train/tree/master/training with the normal COCO option (1->b)->COCO). In d_setLayers.py I set sAddFoot, sAddMpii, sAddFace, sAddHands, sAddDome = 0 to only train with the 17 keypoints of the COCO images. Then the pose_training.prototxt contains models: "COCO_17;COCO_17_17", whereas in poseModel.cpp there is no model with this indices. When I manually trying to set models, like models: "COCO_25_17" in the .prototxt, training will give me the error below. Do you have any suggestions where the error comes from? Is it required to resize input images to a specified size (e.g. division through 3 etc)?
Besides: Is training with 17 keypoints on a custom dataset actually supported by OpenPose training?
F0727 17:19:08.886023 31787 eltwise_layer.cpp:34] Check failed: bottom[0]->shape() == bottom[i]->shape() bottom[0]: 10 18 46 46 (380880), bottom[1]: 10 66 46 46 (1396560)
*** Check failure stack trace: ***
@ 0x7fccb2e6d0cd google::LogMessage::Fail()
@ 0x7fccb2e6ef33 google::LogMessage::SendToLog()
@ 0x7fccb2e6cc28 google::LogMessage::Flush()
I0727 17:19:08.897316 31790 metaData.cpp:175] datasetString: COCO; imageSize: [640 x 428]; metaData.annotationListIndex: 62257; metaData.writeNumber: 0; metaData.totalWriteNumber: 121251; metaData.epoch: 0
@ 0x7fccb2e6f999 google::LogMessageFatal::~LogMessageFatal()
@ 0x7fccb33a76a7 caffe::EltwiseLayer<>::Reshape()
@ 0x7fccb32c89d3 caffe::Net<>::Init()
@ 0x7fccb32cad6e caffe::Net<>::Net()
@ 0x7fccb326d5ac caffe::Solver<>::InitTrainNet()
@ 0x7fccb326db83 caffe::Solver<>::Init()
@ 0x7fccb326de9f caffe::Solver<>::Solver()
@ 0x7fccb3262ce1 caffe::Creator_AdamSolver<>()
@ 0x55e1879a99f8 (unknown)
@ 0x55e1879a5f31 (unknown)
@ 0x7fccb1c6db97 __libc_start_main
@ 0x55e1879a6aba (unknown)
op_transform_param {
stride: 8
max_degree_rotations: "45"
crop_size_x: 368
crop_size_y: 368
center_perterb_max: 40.0
center_swap_prob: 0.0
scale_prob: 1.0
scale_mins: "0.333333333333"
scale_maxs: "1.5"
target_dist: 0.600000023842
number_max_occlusions: "2"
sigmas: "7.0"
models: "COCO_17;COCO_17_17"
sources: "/home/christian/Desktop/openpose_train/dataset/lmdb_coco"
probabilities: "1.0"
source_background: "/home/christian/Desktop/openpose_train/dataset/lmdb_background"
prob_only_background: 0.0
media_directory: ""
normalization: 0
add_distance: false
}
Traceback (most recent call last):
File "d_setLayers.py", line 368, in
isFinalModel, numberIterations, maximumPafStage, sUsePReLU, extraGT, sFootParts, sFootPAFs)
File "/media/billzhou/Data/openpose_train/body25_training/generateProtoTxt.py", line 24, in generateProtoTxt
usePReLU, extraGT, footParts, footPAFs)
File "/media/billzhou/Data/openpose_train/body25_training/generateProtoTxt.py", line 1196, in setLayersTwoBranches
return str(caffeNet.to_proto())
File "/home/billzhou/deeplearning/openpose_caffe_train/python/caffe/net_spec.py", line 193, in to_proto
top._to_proto(layers, names, autonames)
File "/home/billzhou/deeplearning/openpose_caffe_train/python/caffe/net_spec.py", line 97, in _to_proto
return self.fn._to_proto(layers, names, autonames)
File "/home/billzhou/deeplearning/openpose_caffe_train/python/caffe/net_spec.py", line 156, in _to_proto
assign_proto(layer, k, v)
File "/home/billzhou/deeplearning/openpose_caffe_train/python/caffe/net_spec.py", line 77, in assign_proto
assign_proto(getattr(proto, name), k, v)
File "/home/billzhou/deeplearning/openpose_caffe_train/python/caffe/net_spec.py", line 79, in assign_proto
setattr(proto, name, val)
TypeError: 2 has type int, but expected one of: bytes, unicode
Hi,
In the BODY25_B option2 model, it's mentioned that " it highly reduces the number of false positives".
What's the key change to reduce this false positives?
Thanks
Annotation file for the training has 23 keypoints for each annotation, so it is a self-contained B25 annotation; whereas the validation file has 6 keypoints. I can load the validation file along with the coco one (17 joints), they complement each other.
Why both do not follow the same structure? Is there a specific reason for this?
Thanks.
I downloaded 'lmdb_coco' and 'lmdb_background' dataset, and would like to train COCO_18 model. what should i set on "sProbabilityOnlyBackground"? And is it right to set sBodyParts=18?
hi, when I running body_25 d_setLayers.py ,there is one error:
Traceback (most recent call last):
File "d_setLayers.py", line 368, in
isFinalModel, numberIterations, maximumPafStage, sUsePReLU, extraGT, sFootParts, sFootPAFs)
File "/home/openpose_train-master/experimental_models/body_25/training_results/generateProtoTxt.py", line 24, in generateProtoTxt
usePReLU, extraGT, footParts, footPAFs)
File "/home/openpose_train-master/experimental_models/body_25/training_results/generateProtoTxt.py", line 1196, in setLayersTwoBranches
return str(caffeNet.to_proto())
File "/home/openpose_caffe_train-master/python/caffe/net_spec.py", line 193, in to_proto
top._to_proto(layers, names, autonames)
File "/home/openpose_caffe_train-master/python/caffe/net_spec.py", line 97, in _to_proto
return self.fn._to_proto(layers, names, autonames)
File "/home/openpose_caffe_train-master/python/caffe/net_spec.py", line 156, in _to_proto
assign_proto(layer, k, v)
File "/home/openpose_caffe_train-master/python/caffe/net_spec.py", line 77, in assign_proto
assign_proto(getattr(proto, name), k, v)
File "/home/openpose_caffe_train-master/python/caffe/net_spec.py", line 79, in assign_proto
setattr(proto, name, val)
TypeError: 2 has type int, but expected one of: bytes, unicode
@gineshidalgo99 Is there any way to do transfer learning over the present model preparing our own dataset. If so, how to prepare our own dataset is there any tutorial for that. Please let me know as it helps a lot for my project for my semester submission
hi, gines, thank you for your great work.
when I try to run the make all -j32 && make pycaffe -j32
I get the following error:
make: *** No rule to make target 'all'. Stop.
and I found there is one folder autocompile. I change the some config parameters, but some parameters are hard to understand. and I think it lead to the error.
`------------------------- Installing Caffe -------------------------
NOTE: This script assumes that CUDA and cuDNN are already installed on your machine. Otherwis
------------------------- Checking Ubuntu Version -------------------------
Ubuntu Release: 16.04
------------------------- Ubuntu Version Checked -------------------------
------------------------- Compiling Caffe -------------------------
CXX .build_release/src/caffe/proto/caffe.pb.cc
CXX src/caffe/parallel.cpp
CXX src/caffe/openpose/dataAugmentation.cpp
CXX src/caffe/openpose/oPDataTransformer.cpp
CXX src/caffe/openpose/layers/oPVideoLayer.cpp
CXX src/caffe/openpose/layers/oPDataLayer.cpp
CXX src/caffe/openpose/metaData.cpp
CXX src/caffe/syncedmem.cpp
CXX src/caffe/blob.cpp
CXX src/caffe/util/benchmark.cpp
CXX src/caffe/util/db.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/db_lmdb.cpp
CXX src/caffe/util/upgrade_proto.cpp
CXX src/caffe/util/signal_handler.cpp
CXX src/caffe/util/im2col.cpp
CXX src/caffe/util/hdf5.cpp
CXX src/caffe/util/math_functions.cpp
CXX src/caffe/util/blocking_queue.cpp
CXX src/caffe/util/io.cpp
CXX src/caffe/util/cudnn.cpp
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/layer_factory.cpp
CXX src/caffe/layer.cpp
CXX src/caffe/layers/contrastive_loss_layer.cpp
src/caffe/openpose/oPDataTransformer.cpp:2:37: fatal error: opencv2/core/core.hpp: No such fi
compilation terminated.
src/caffe/openpose/layers/oPDataLayer.cpp:2:33: fatal error: opencv2/core/core.hpp: No such f
compilation terminated.
In file included from src/caffe/syncedmem.cpp:1:0:
./include/caffe/common.hpp:4:32: fatal error: boost/shared_ptr.hpp: No such file or directory
compilation terminated.
src/caffe/openpose/dataAugmentation.cpp:1:30: fatal error: opencv2/opencv.hpp: No such file o
compilation terminated.
Makefile:600: recipe for target '.build_release/src/caffe/openpose/oPDataTransformer.o' faile
CXX src/caffe/layers/cudnn_softmax_layer.cpp
make: *** [.build_release/src/caffe/openpose/oPDataTransformer.o] Error 1
make: *** Waiting for unfinished jobs....
Makefile:600: recipe for target '.build_release/src/caffe/openpose/layers/oPDataLayer.o' fail
make: *** [.build_release/src/caffe/openpose/layers/oPDataLayer.o] Error 1
Makefile:600: recipe for target '.build_release/src/caffe/syncedmem.o' failed
make: *** [.build_release/src/caffe/syncedmem.o] Error 1`
I didn't attach all error report.
some portion in config is hard to understand such as
# With new NCLL2 INCLUDE_DIRS += /home/gines/devel/nccl/build/include/ LIBRARY_DIRS += /home/gines/devel/nccl/build/lib/ LIBRARY_DIRS += /usr/lib/x86_64-linux-gnu/ INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
Does it mean I should install a nccl and hdf5 and find it path, then add it here?
When I generate the hand lmdb data with CMU data(hand_labels、hand143_panopticdb), I get this problem. Is it the mask data must be needed?
Traceback (most recent call last):
File "c_generateLmdbs.py", line 144, in
generateLmdbFile(sHandMpiiLmdbPath, sHandMpiiImagesFolder, sHandMpiiJsonFile, sCaffePythonPath, sHandMpiiMaskFolder)
File "E:\openpose\openpose_train\training\generateLmdbFile.py", line 108, in generateLmdbFile
raise Exception('Not found image: ' + maskMissFullPath)
Exception: Not found image: F:/dataset/CMUhand/COCO/cocoapi/images/mask2017/hand42/manual_train\000015774_01_l.png
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.