fbpx
  • Detecto: библиотека для распознавания объектов на PyTorch

    Detecto —  это библиотека на PyTorch, которая упрощает процесс построения моделей для распознавания объектов на изображении и видеозаписи. Библиотека выступает в качестве легковесной надстройки над PyTorch и сокращает время на написание кода для инициализации модели, применения transfer learning для своих датасетов и использования модели на инференсе.  

    Работа с библиотекой

    Класс Model в Detecto использует в качестве базовой модели Faster R-CNN ResNet-50 FPN из torchvision. Модель из torchvision предобучали на датасете COCO 2017. По умолчанию модель способна распознавать 80 классов объектов. Среди типов объектов — фрукты, животные, средства передвижения, кухонные принадлежности и т.п. Если необходимо использовать базовую модель, то нет необходимости использовать отдельную библиотеку. Detecto предназначена для случаев, когда обученную модель необходимо дообучить на своем датасете.

    Перенос знаний модели

    Перенос знаний модели (transfer learning) предполагает, что разработчик дообучает предобученную на крупном датасете модель на своей задаче. Существуют тьюториалы по тому, как использовать предобученную модель и применять transfer learning для своей задачи. Однако в большинстве таких тьюториалов разработчику необходимо писать кастомный класс для своего датасета, модифицировать предобученную модель или писать методы для обучения и визуализации модели. Detecto позволяет минимизировать написание кода для использования предобученной модели на своем наборе данных.

    Класс Dataset в Detecto — это расширенная версия класса для чтения датасета в PyTorch. Он принимает на вход данные в формате PASCAL VOC. Для каждого изображения в обучающей выборке должен быть доступен XML файл с разметкой. Модуль visualize в библиотеке позволяет визуализировать результаты модели.

    Разработчики опубликовали тьюториал по работе с библиотекой