Запуск MTCNN с OpenVino - PullRequest
       48

Запуск MTCNN с OpenVino

2 голосов
/ 20 июня 2019

Я пытаюсь использовать OpenVino Python API для запуска распознавания лиц MTCNN, однако производительность преобразованных моделей значительно снизилась по сравнению с исходной моделью. Мне интересно, как я мог получить аналогичные результаты.

Я преобразовал модели кафе mtcnn в файлы 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 для проверки производительности преобразованных моделей.

Но результаты обнаружения с использованием моделей OpenVino значительно ухудшились. Чтобы восстановить результаты, вам нужно всего лишь загрузить модели OpenVino вместо модели Pytorch в ноутбук.

Чтобы восстановить мои результаты, выполните следующие действия.

Клон https://github.com/TropComplique/mtcnn-pytorch.git

И используйте этот блокнот Jupyter

Как вы увидите, обнаруженные ящики на первом этапе после P-Net больше, чем обнаруженные ящики в исходной модели step_by_step mtcnn jupyter notebook .

Есть ли у вас какие-либо комментарии по этому поводу. Кажется, что в преобразовании модели нет проблем, единственное отличие состоит в том, что pytorch имеет переменный размер тензора (FloatTensor), но для OpenVino мне нужно изменить размер входных данных для каждого масштаба. Это может быть причиной для получения других результатов, однако мне не удалось решить эту проблему.

1 Ответ

1 голос
/ 20 июня 2019

Я прошел через все возможные ошибки и проверил параметры для преобразования моделей mtcnn из list_topologies.yaml.Этот файл поставляется с установкой OpenVino и содержит список параметров, таких как средние значения масштаба и т. Д.

Наконец, я решил проблему, используя предварительно обученные MXNET сети MTCNN .

Я надеюсь, что это поможет другим пользователям, которые могут столкнуться с этой проблемой.

...