Обучение в региональной сети предложений только для обнаружения объектов с использованием Tensorflow

#python #tensorflow #object-detection #object-detection-api

#python #tensorflow #обнаружение объектов #object-detection-api

Вопрос:

Мне нравится обучаться только RPN network с faster rcnn помощью tensorflow . В caffe я обучал только RPN.

В tensorflow в этом руководстве показано обучение настроенной сети. Затем, в другом руководстве здесь обсуждалось, как обучать с использованием моделей из modelzoo.

Итак, в моем случае, для обучения только части RPN, какой подход подходит для меня? Скажем, если я последую первому подходу, определяющему сеть CNN, как я могу загрузить pretrained model для transfer learning .

Ответ №1:

Чтобы обучить сеть RPN только с использованием tensorflow object detection api, вам просто нужно изменить файлы конфигурации, поскольку API поддерживает опцию RPN only, как описано здесь. Чтобы получить модель только для RPN, просто добавьте опцию ‘ number_of_stages : 1 ‘ в область конфигурации модели (аналогично ‘ num_of_classes : 90 ‘). (Вы также можете удалить некоторые параметры второго этапа из файла конфигурации, поскольку они бесполезны, если number_of_stages установлено значение 1).

Что касается второго вопроса об обучении передаче, это то же самое, что и при обучении faster rcnn сети, просто нужно убедиться, что from_detection_checkpoint это верно и finetune_checkpoint_path правильно указано в файле конфигурации.

В процессе обучения вы можете использовать tensorboard для проверки статуса, после выполнения оценки вы можете увидеть на вкладке «изображения», что региональные предложения визуализированы на изображении, а все метки — «объект оценка достоверности».