Я пытаюсь использовать OpenVino python API для запуска обнаружения лиц MTCNN, однако производительность преобразованных моделей значительно снизилась по сравнению с исходной моделью. Мне интересно, как я могу получить аналогичные результаты.
Я преобразовал модели mtcnn caffe в 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
И используйте этот jupyter notebbok
Как вы увидите, обнаруженных ящиков на первом этапе после P-Net больше, чем обнаруженных ящиков в исходной модели step_by_step mtcnn jupyter notebook.
У вас есть какие-нибудь комментарии по этому поводу. Кажется, что нет проблем с преобразованием модели, единственная разница в том, что pytorch имеет переменный тензорный размер (FloatTensor), но для OpenVino мне нужно изменить размер ввода для каждого масштаба. Это могло быть причиной получения разных результатов, однако мне не удалось решить эту проблему.