Обнаружение объекта Tensorflow имеет разные результаты между Python и C ++ (OpenCV) - PullRequest
0 голосов
/ 10 февраля 2020

Я обучил модель, используя TF OF API. Затем, когда я протестировал модель с кодами Python и C ++ (OpenCV), указанными ниже, я получил разные результаты. Результаты, полученные из Python, лучше, чем результаты C ++ (OpenCV). Что вызывает эту разницу?

Python Код теста: https://github.com/vijaydwivedi75/Custom-Mask-RCNN_TF/blob/master/mask_rcnn_eval.ipynb

C ++ (OpenCV) Код теста: https://github.com/spmallick/learnopencv/blob/master/Mask-RCNN/mask_rcnn.cpp

Обученная модель и образцы изображений: https://drive.google.com/open?id=18RaJfk6-DXfZJWEL61YdOAztoJxdUbua

Я получаю модель .pb с контрольных точек, используя этот код: https://github.com/tensorflow/models/blob/master/research/object_detection/export_inference_graph.py

Я получаю файл .pbtxt, используя этот код: https://github.com/opencv/opencv/blob/master/samples/dnn/tf_text_graph_mask_rcnn.py

Версия OpenCV: 4.2.0, версия Tensorflow, используемая для поезда: 1.12.0

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 17 апреля 2020

Это было полностью о несоответствии между размерами изображений поезда и минимальными / максимальными размерами изменения размера. В Python модель изменяет размер входного изображения. Но в OpenCV нет операции изменения размера. Из-за этого я получал разные результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...