Skip to content

Latest commit

 

History

History
66 lines (53 loc) · 5.59 KB

File metadata and controls

66 lines (53 loc) · 5.59 KB

Определение голов с использованием набора данных Hollywood Heads

Лабораторное задание из курса "Искусственный интеллект для начинающих".

Задача

Подсчет количества людей на видеопотоке с камер наблюдения — важная задача, которая позволяет оценить количество посетителей в магазинах, часы пик в ресторанах и т.д. Для решения этой задачи необходимо уметь определять человеческие головы с разных ракурсов. Чтобы обучить модель обнаружения объектов для определения человеческих голов, можно использовать набор данных Hollywood Heads.

Набор данных

Набор данных Hollywood Heads содержит 369,846 аннотированных человеческих голов в 224,740 кадрах из голливудских фильмов. Он предоставляется в формате PASCAL VOC, где для каждого изображения также есть XML-файл описания, который выглядит следующим образом:

<annotation>
	<folder>HollywoodHeads</folder>
	<filename>mov_021_149390.jpeg</filename>
	<source>
		<database>HollywoodHeads 2015 Database</database>
		<annotation>HollywoodHeads 2015</annotation>
		<image>WILLOW</image>
	</source>
	<size>
		<width>608</width>
		<height>320</height>
		<depth>3</depth>
	</size>
	<segmented>0</segmented>
	<object>
		<name>head</name>
		<bndbox>
			<xmin>201</xmin>
			<ymin>1</ymin>
			<xmax>480</xmax>
			<ymax>263</ymax>
		</bndbox>
		<difficult>0</difficult>
	</object>
	<object>
		<name>head</name>
		<bndbox>
			<xmin>3</xmin>
			<ymin>4</ymin>
			<xmax>241</xmax>
			<ymax>285</ymax>
		</bndbox>
		<difficult>0</difficult>
	</object>
</annotation>

В этом наборе данных есть только один класс объектов — head, и для каждой головы указаны координаты ограничивающего прямоугольника. Вы можете анализировать XML с помощью библиотек Python или использовать эту библиотеку для работы напрямую с форматом PASCAL VOC.

Обучение модели обнаружения объектов

Вы можете обучить модель обнаружения объектов одним из следующих способов:

  • Используя Azure Custom Vision и его Python API для программного обучения модели в облаке. Custom Vision не сможет использовать более нескольких сотен изображений для обучения модели, поэтому, возможно, вам придется ограничить набор данных.
  • Используя пример из Keras tutorial для обучения модели RetunaNet.
  • Используя встроенный модуль torchvision.models.detection.RetinaNet в torchvision.

Выводы

Обнаружение объектов — это задача, которая часто требуется в промышленности. Хотя существуют сервисы, которые можно использовать для выполнения обнаружения объектов (например, Azure Custom Vision), важно понимать, как работает обнаружение объектов, и уметь обучать собственные модели.

Отказ от ответственности:
Этот документ был переведен с использованием сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.