Тонкая настройка ssd mobilenet - PullRequest
0 голосов
/ 18 марта 2019

В настоящее время я работаю над обнаружением транспортных средств с помощью API ssd mobile net tenorflow.Я сделал пользовательский набор данных из набора данных кокосового ореха, который включает в себя все категории транспортных средств в кокосе, то есть автомобиль, велосипед, мотоцикл, автобус, грузовик, а также у меня есть набор данных из 730 изображений рикши.

В конечном итоге моя цель - обнаружить рикшу вместе с другими транспортными средствами.Но пока что я потерпел неудачу.

Всего в train_labels.csv в общей сложности 16000 экземпляров, каждый класс имеет 2300 экземпляров.Я установил размер партии = 12. Затем я тренирую предварительно подготовленную модель кокоса в своем наборе данных за 12000 шагов.

Но, к сожалению, я не смог добиться хороших результатов.После тренировки не удалось классифицировать другие транспортные средства.

Любой совет относительно соотношения каждого класса в наборе данных, или, может быть, мне нужно больше изображений рикши, сколько слоев я должен заморозить?Или может быть другой точки зрения будет высоко ценится.Спасибо

1 Ответ

0 голосов
/ 19 марта 2019
  1. Поскольку у вас есть собственный набор данных из 730 изображений рикш, я думаю, что нет необходимости извлекать другие наборы данных других транспортных средств из набора данных COCO для тонкой настройки. То, что я имел в виду, это то, что модель с предварительной подготовкой к тензорному потоку действительно хороша для обнаружения всех других транспортных средств, кроме рикши. Ваша задача просто научить модель, как обнаружить рикшу.

  2. Другой вариант, поскольку у вас уже есть набор данных автомобиля, вы можете попробовать обучить модель, используя контрольные точки из COCO. https://towardsdatascience.com/how-to-train-your-own-object-detector-with-tensorflows-object-detector-api-bec72ecfe1d9

    Прочтите вышеупомянутую статью, она даст вам правильное представление о начале и конце потока. Автор настроил модель ssd mobilenet, обученную на наборе данных кокосов, для обнаружения изображений енотов. Енот был единственным новым классом, которого автор хотел обнаружить. В вашем случае вам просто нужно заменить енота изображениями рикши и выполнить точно такие же шаги. Автор этого использовал Google cloud, но вы можете изменить файл конфигурации, чтобы настроить его на локальном компьютере. Учитывая, что у вас есть только 730 новых изображений, настройка не должна занимать время.

    Это еще один хороший пример на случай, если что-то непонятно https://towardsdatascience.com/building-a-toy-detector-with-tensorflow-object-detection-api-63c0fdf2ac95

Возвращаясь к вашему вопросу о том, нужно ли вам больше данных, больше данных всегда лучше. То, что я бы предложил, это настроить модель, используя шаги выше, и проверить mAP. Если вы считаете, что mAP низок, а производительности для вашего предполагаемого приложения недостаточно, соберите больше данных и настройтесь снова.

Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы.

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