Команда PeekingDuck только что выпустила v1.3! Новые функции включают в себя:

  • Узлы модели сегментации экземпляров, которые можно применять для таких случаев использования, как маскировка конфиденциальности,
  • Узел неискажения изображения для исправления искаженных изображений с широкоугольных камер,
  • Изящный графический интерфейс PeekingDuck Viewer, помогающий с демонстрационными примерами и анализом результатов логического вывода, а также
  • Оптимизированные модели TensorRT, которые могут работать на 50 % быстрее на графических процессорах NVIDIA.

Наконец, мы создали 30-секундный вступительный видеоролик для PeekingDuck, в котором отражена его суть — малый объем кода и гибкость. Мы надеемся, что вы поделитесь этим видео, если вы использовали PeekingDuck и считаете его полезным!

Модели сегментации экземпляров

В настоящее время PeekingDuck предлагает различные узлы обнаружения объектов, оценки позы, отслеживания объектов и подсчета толпы. В этом выпуске мы представляем новую категорию моделей сегментации экземпляров в PeekingDuck с этими узлами — model.mask_rcnn и model.yolact_edge. Более подробную информацию о точности модели и тестах FPS можно найти здесь: https://peekingduck.readthedocs.io/en/stable/resources/01e_instance_segmentation.html

Что такое сегментация экземпляров? При обнаружении объектов модель предсказывает координаты ограничивающей рамки вокруг каждого уникального объекта. Сегментация экземпляра делает еще один шаг вперед, присваивая метку каждому пикселю каждого уникального объекта, создавая «маски». Маски предоставляют информацию о форме объектов, которая может быть полезна в таких сценариях, как обнаружение опухолей или слияние датчиков с 3D-датчиками в автономных транспортных средствах. На приведенном ниже GIF-файле показан вариант использования защиты конфиденциальности с использованием новых узлов PeekingDuck — обнаруженные маски людей и экраны компьютеров размыты для защиты их конфиденциальности.

Неискаженное изображение

Некоторые камеры, такие как камеры видеонаблюдения, могут быть широкоугольными, что приводит к искажению получаемых изображений, когда кажется, что все изображение выгибается наружу от середины. По нашему опыту мы обнаружили, что в некоторых случаях это снижает точность CV-моделей, поэтому мы создали узел augment.undistort, который удаляет радиальные и тангенциальные искажения из таких изображений. На изображении ниже показано изображение с широкоугольной камеры видеонаблюдения слева и неискаженное изображение после использования этого узла справа. Подробнее об использовании этого узла можно узнать здесь: https://peekingduck.readthedocs.io/en/stable/nodes/augment.undistort.html#module-augment.undistort

Просмотр PeekingDuck

Мы рады представить PeekingDuck Viewer, интерактивное приложение с графическим интерфейсом, упакованное в PeekingDuck, которое не требует дополнительных зависимостей и может быть запущено с помощью команды peekingduck run –viewer. Он может делать следующее:

  • Воспроизведение, остановка или прокрутка кадров выходного видео — полезно для анализа прогнозов модели, например. «Почему автомобиль не был обнаружен между кадрами 456 и 481?».
  • Управляйте конвейерами PeekingDuck и запускайте их — добавляйте разные конвейеры в список воспроизведения точно так же, как добавляя треки в список воспроизведения Spotify, например. один для обнаружения объектов кошек, а другой для оценки позы человека. Это действительно полезно для демонстраций и витрин.

Оптимизированные модели TensorRT

PeekingDuck теперь поддерживает запуск оптимизированных моделей TensorRT на устройствах с графическими процессорами NVIDIA. Мы добавили версии TensorRT наших узлов model.yolox и model.movenet в дополнение к существующим версиям TensorFlow/PyTorch, которые обеспечивают повышение скорости до 50% с аналогичными точность! На приведенном ниже графике показано повышение производительности модели TensorRT MoveNet по сравнению с обычным вариантом TensorFlow на NVIDIA Jetson Xavier NX с 8 ГБ ОЗУ. Эти оптимизированные модели подходят для выводов ИИ на периферии, и дополнительную информацию о том, как их использовать, можно найти здесь: https://peekingduck.readthedocs.io/en/stable/edge_ai/index.html.

Дополнительные важные функции

Вот общий список других примечательных функций:

  • Учебное пособие по использованию вашей пользовательской модели было создано по просьбе наших пользователей, и его можно найти здесь: https://peekingduck.readthedocs.io/en/stable/tutorials/06_using_your_own_models.html
  • При первом запуске загружаются только веса выбранного типа модели, а не для всех типов моделей. Например, для model.movenet, если используется тип модели многократное освещение, загружаются только его веса, а не веса для одиночного освещения или одиночный гром. Это помогает сократить время запуска и экономит место для хранения.
  • Размер и толщину шрифта draw.legend можно настроить в соответствии с различными разрешениями видео.
  • Другие оптимизации и исправления ошибок. Более подробную информацию можно найти в нашем журнале изменений v1.3.0: https://github.com/aisingapore/PeekingDuck/releases/tag/1.3.0

Подробнее

Чтобы начать использовать PeekingDuck и узнать больше о наших обновленных функциях, ознакомьтесь с нашей документацией ниже: