python - 使用 OpenVino 运行 MTCNN

标签 python face-detection openvino

我正在尝试使用 OpenVino python API 来运行 MTCNN 人脸检测,但是,转换后的模型的性能与原始模型相比显着下降。我想知道如何获得类似的结果。

我转换了 mtcnn caffe models使用以下命令导入 OpenVino *.xml 和 *.bin 文件。

python3 mo.py --input_model path/to/PNet/det1.caffemodel --model_name det1 --output_dir path/to/output_dir
python3 mo.py --input_model path/to/RNet/det2.caffemodel --model_name det2 --output_dir path/to/output_dir
python3 mo.py --input_model path/to/ONet/det3.caffemodel --model_name det3 --output_dir path/to/output_dir

并使用了 step_by_step mtcnn jupyter notebook检查转换后模型的性能。

但使用 OpenVino 模型的检测结果明显下降。要重新生成结果,您只需在笔记本中加载 OpenVino 模型而不是 pytorch 模型。

要重新生成我的结果,请执行以下步骤。

克隆https://github.com/TropComplique/mtcnn-pytorch.git

并使用 this jupyter notebbok

正如您将看到的,在 P-Net 之后的第一阶段检测到的框比原始模型中检测到的框要多 step_by_step mtcnn jupyter notebook .

您对此有何评论?模型转换似乎没有问题,唯一的区别是 pytorch 具有可变张量大小(FloatTensor),但对于 OpenVino,我必须为每个比例 reshape 输入大小。这可能是得到不同结果的原因,但我无法解决这个问题。

最佳答案

我检查了我可能犯的所有可能的错误,并检查参数以从 list_topologies.yaml 转换 mtcnn 模型。此文件随 OpenVino 安装一起提供,并列出了比例平均值等参数。

最后,我使用 MXNET 预训练解决了问题 MTCNN networks .

我希望这对可能遇到此问题的其他用户有所帮助。

关于python - 使用 OpenVino 运行 MTCNN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56682575/

相关文章:

c++ - 当画面中没有人脸时,OpenCV 中的人脸检测器变慢

python - OpenVino 导入错误 : undefined symbol: _ZTVN15InferenceEngine5TBlobIhSt9enable_ifILb1EvEEE

python - pexpect.spawn.interact 返回输入/输出错误

Python:从第二个列表开始删除一组列表的每个列表中的第一项

python - 将值设置为更大的变量

c++ - 使用OpenVINO上的c++ API获取模型每一层的参数/权重

python - 使用opencv dnn readNetFromModelOptimizer时发生错误(预期: 'inputShapeLimitation.size() == blobShape.size()')

python - 如何在 GraphViz 中生成矩形样式的边而不是曲线?

ios - AVFoundation人脸检测能定位眼睛和嘴巴位置吗?

opencv - FDDB评估代码