RMPE icon indicating copy to clipboard operation
RMPE copied to clipboard

how to prepare the train data

Open spark123456789 opened this issue 7 years ago • 7 comments

Hi, Sir, How can I prepare the training data, if I want to use your code, Thank you for your reply.

spark123456789 avatar Jul 24 '17 13:07 spark123456789

Hi

You need to prepare a .h5 file with image_names, xmin, ymin, xmax.ymax (bounding box) x1,y1 x2,y2, ... x16,y16(pose)

You can have a look at https://github.com/Fang-Haoshu/multi-human-pose/blob/master/train/data/mpii-box/annot.h5 for more details

Fang-Haoshu avatar Jul 24 '17 18:07 Fang-Haoshu

How did you obtain the coordinates of bounding boxes from the mpii human pose dataset?

mks0601 avatar Nov 28 '17 06:11 mks0601

Hi, I take the xmin/ymin/xmax/ymax of the keypoints as bbox and extend it by 20%

Fang-Haoshu avatar Nov 28 '17 12:11 Fang-Haoshu

Do you use fixed size of images for the inputs of the network?

mks0601 avatar Nov 29 '17 17:11 mks0601

Yes it's 256x256

Fang-Haoshu avatar Nov 30 '17 12:11 Fang-Haoshu

Hi, Fang, I have questions for your training data generation. For Line 3 of your train_bbox.txt, the points are: 015599452.jpg 0,0,0,0,806,543,720,593,0,0,0,0,763,568,683,290,682,256,676,68,563,296,555,410,647,281,719,299,711,516,545,466 478,77,849,719 0 I calculate the minX\minY\maxX\maxY, and extend the box size. Each box border is 120% of original. The box is (532,42) and (819,619), which is not same with your box (478,77,849,719). The image 015599452.jpg is downloaded and I found using your box is better than I generated. Could you tell me the detail of your box generation strategy? The image is attached below. The yellow points are your box points and white ones are mine. Other points are 16 groundtruth points. _20171220181302

anshan-XR-ROB avatar Dec 20 '17 03:12 anshan-XR-ROB

@Fang-Haoshu @AnshanTJU Hi , Fang, I also meet the problem anout the traing data , there are no any error when I use the MPII images and your train_box.txt , I use the other data such AI Challenge and train_box.txt produced by myself ,there are always errors like this: I0202 14:10:55.739246 27729 sgd_solver.cpp:106] Iteration 550, lr = 0.00125 I0202 14:11:24.324095 27729 solver.cpp:231] Iteration 600, loss = 0.00334141 I0202 14:11:24.324151 27729 solver.cpp:247] Train net output #0: heatmap_loss_final = 0.00155323 (* 1 = 0.00155323 loss) I0202 14:11:24.324160 27729 solver.cpp:247] Train net output #1: heatmap_loss_int_1 = 0.00123336 (* 1 = 0.00123336 loss) I0202 14:11:24.393126 27729 sgd_solver.cpp:106] Iteration 600, lr = 0.00125 OpenCV Error: Assertion failed (src.cols > 0 && src.rows > 0) in warpAffine, file /data/soft/opencv-2.4.13/modules/imgproc/src/imgwarp.cpp, line 3591 OpenCV Error: Assertion failed (ssize.area() > 0) in resize, file /data/soft/opencv-2.4.13/modules/imgproc/src/imgwarp.cpp, line 1968 *** Aborted at 1517551885 (unix time) try "date -d @1517551885" if you are using GNU date *** PC: @ 0x7f2787ad77c0 caffe::DataHeatmapLayer<>::load_batch() *** SIGSEGV (@0x0) received by PID 27729 (TID 0x7f2757fff700) from PID 0; stack trace: *** @ 0x7f27862fb4b0 (unknown) @ 0x7f2787ad77c0 caffe::DataHeatmapLayer<>::load_batch() @ 0x7f2787a89b9f caffe::BasePrefetchingDataLayer<>::InternalThreadEntry() @ 0x7f2787a53795 caffe::InternalThread::entry() @ 0x7f277dc055d5 (unknown) @ 0x7f2777f3c6ba start_thread @ 0x7f27863cd3dd clone @ 0x0 (unknown) Segmentation fault (core dumped) when traing ,there are always runing some time ,and not blocked at once.

I have added the code of try catch in error place ,but still , I see you have done some things about MPII dataset , like this in data_heatmap : const float length = 200*scale;//for MPII, they scale person into 200 pixel height. what should I do to solve this problem ?

feitiandemiaomi avatar Feb 02 '18 06:02 feitiandemiaomi