OpenPose训练自己的数据集时在运行genCOCOMask.m时出现错误

时间:2024-03-31 07:31:00

问题描述:

在使用openpose训练自己的数据之前需要进行数据处理,在运行一个genCOCOMask.m文件时,产生如下错误:
OpenPose训练自己的数据集时在运行genCOCOMask.m时出现错误

>> genCOCOMask
1/ 21634
2/ 21634
3/ 21634
4/ 21634
5/ 21634
6/ 21634
6/ 21634
Undefined function or variable 'maskApiMex'.

Error in MaskApi.decode (line 84)
      masks = maskApiMex( 'decode', Rs );

Error in genCOCOMask (line 48)
                    mask_crowd = logical(MaskApi.decode( coco_kpt(i).annorect(p).segmentation ));

解决办法:

在windows环境下的解决办法:

1 you can git this repo git clone https://github.com/djangogo/CoCo-Matlab-API-on-Windows.git
2 cd common & run compile.bat
3 cd MatlabAPI and change dir1&dir2
4 run buildMEXOnWindows.m get some libs
5 run genANNO
6 run genMask
and next step for train`s data

在Ubuntu环境下的解决办法:
(1)转到自己的cocoAPI目录下,
例如我的cocoAPI在名为coco/ 的目录下:

@peng-OptiPlex-9020:~/Realtime_Multi-Person_Pose_Estimation/training/dataset/COCO/coco$ 

(2)cd MatlabAPI ,转到MatlabAPI目录下

(3) 输入matlab ,进入matlab控制台程序

(4)在matlab中输入:

mex('CFLAGS=\$CFLAGS -Wall -std=c99','-largeArrayDims','private/maskApiMex.c','../common/maskApi.c','-I../common/','-outdir','private');

OpenPose训练自己的数据集时在运行genCOCOMask.m时出现错误