openpose测试实例报错models/pose/body_25/pose_iter_584000.caffemodel
[libprotobuf ERROR google/protobuf/message_lite.cc:118] Can't parse message of type "caffe.NetParameter" because it is missing required fields: layer[0].clip_param.min, layer[0].clip_param.max
F0621 21:57:52.040701 7229 upgrade_proto.cpp:97] Check failed: ReadProtoFromBinaryFile(param_file, param) Failed to parse NetParameter file: models/pose/body_25/pose_iter_584000.caffemodel
*** Check failure stack trace: ***
@ 0x7f91772050cd google::LogMessage::Fail()
@ 0x7f9177206f33 google::LogMessage::SendToLog()
@ 0x7f9177204c28 google::LogMessage::Flush()
@ 0x7f9177207999 google::LogMessageFatal::~LogMessageFatal()
@ 0x7f91768399e1 caffe::ReadNetParamsFromBinaryFileOrDie()
@ 0x7f91767f62aa caffe::Net<>::CopyTrainedLayersFromBinaryProto()
@ 0x7f9178a8c217 op::NetCaffe::initializationOnThread()
@ 0x7f9178ab09b4 op::addCaffeNetOnThread()
@ 0x7f9178ab1ea6 op::PoseExtractorCaffe::netInitializationOnThread()
@ 0x7f9178ab7aa3 op::PoseExtractorNet::initializationOnThread()
@ 0x7f9178aac721 op::PoseExtractor::initializationOnThread()
@ 0x7f9178aa74d1 op::WPoseExtractor<>::initializationOnThread()
@ 0x7f9178aeb6c1 op::Worker<>::initializationOnThreadNoException()
@ 0x7f9178aeb7f0 op::SubThread<>::initializationOnThread()
@ 0x7f9178aedb48 op::Thread<>::initializationOnThread()
@ 0x7f9178aedd17 op::Thread<>::threadFunction()
@ 0x7f91783816df (unknown)
@ 0x7f9177aa36db start_thread
@ 0x7f9177ddc88f clone
Aborted (core dumped)
出现该错网上很多教程都是指向性解答,在这里我把实测通过的方法记录一下,方便使用。
1,假设默认的OpenPose(即BODY_25模型)失败,请尝试使用–model_pose COCO和–model_pose MPII模型。如果它们中的任何一个有效,则其他模型的caffemodel文件在下载时已损坏。,否则,很可能是Caffe/protobuf问题。
2,假设模型已损坏,请删除模型文件夹中的当前模型,然后从doc/installation.md中的链接手动下载它们。或者,将其删除,然后重新运行Cmake。如果这不起作用,请尝试按照此Dropbox链接上的下载链接从浏览器下载COCO_25模型。
3,如果所有OpenPose模型都无法正常工作,请确保Caffe正常运行,并且可以将Caffe示例与其他caffemodel/prototxt文件一起运行。