Реализовать и обучить модель, позволяющую выполнять иерархическую семантическую сегментацию. Обучать модель предлагается на датасете Pascal-part.
Обучение модели предлагается производить на датасете Pascal-part.
В папке JPEGImages
находятся исходные изображения в формате jpeg. В папке gt_masks
находятся маски сегментации в формате numpy.
Загрузить маски можно при помощи функции numpy.load()
.
В датасете присутствуют 7 классов, обладающих следующей иерархической структурой (в скобках указан индекс класса):
├── (0) background
└── body
├── upper_body
| ├── (1) low_hand
| ├── (6) up_hand
| ├── (2) torso
| └── (4) head
└── lower_body
├── (3) low_leg
└── (5) up_leg
В качестве основной метрики предлагается использовать mean Intersection over Union (mIoU). Для каждого из уровней вложенности предлагается вычислять метрику отдельно. При этом background класс не учитывается при рассчете метрики. Таким образом, для полученной модели необходимо оценить 3 значения метрик по следующим категориям:
- mIoU0 -
body
- mIou1 -
upper_body
,lower_body
- mIoU2 -
low_hand
,up_hand
,torso
,head
,low_leg
,up_leg
- Эксперимент N1
- Модель deeplabv3_resnet50
- Трансформация изображения/маски:
- Normalize
- Resize [520, 520]
- Функция потерь: CrossEntropy
- Метод оптимизации: Adam(lr=1e-4)
- Epochs: 8
- Batch_size: 5