API обнаружения объектов Tensorflow
Я решил окунуться в ML и с большим количеством проб и ошибок смог создать модель, используя начало TS.
Чтобы продвинуться дальше, я хочу использовать их API обнаружения объектов. Но в их инструкциях по подготовке входных данных упоминается использование набора данных Pascal VOC 2012, но я хочу провести обучение на своем собственном наборе данных.
Означает ли это, что мне нужно настроить наборы данных в формате Pascal VOC или Oxford IIT? Если да, как мне это сделать?
Если нет (мой инстинкт говорит, что это так), каковы альтернативы использования обнаружения объектов TS с моими собственными наборами данных?
Примечание: я знаю, что моя обученная начальная модель не может быть использована для локализации, потому что ее классификатор
Редактировать:
Для тех, кто все еще хочет достичь этого, вот как я это сделал.
2 ответа
В учебных заданиях в API Tensorflow Object Detection предполагается получение файлов TF Record с определенными полями, заполненными данными об истинности.
Вы можете настроить данные в том же формате, что и примеры Pascal VOC или Oxford-IIIT, или просто создать файлы TFRecord напрямую, игнорируя форматы XML.
В последнем случае сценарии create_pet_tf_record.py или create_pascal_tf_record.py, скорее всего, будут по-прежнему полезны в качестве ссылки, для каких полей API ожидает увидеть и какой формат они должны использовать. В настоящее время мы не предоставляем инструмент, который обычно создает эти файлы TFRecord, поэтому вам придется написать свой собственный.
Кроме TF Object Detection API вы можете взглянуть на каскад OpenCV Haar. С этого момента я начинал свой способ обнаружения объектов, и, если предоставить хорошо подготовленный набор данных, он работает довольно хорошо.
Есть также много статей и учебных пособий по созданию собственных каскадов, поэтому их легко начать. Я использовал этот блог, он мне очень помогает.