Сегментация и детекция

Владимир Игловиков

Classification

Cat (0.99)

Dog(0.01)

Segmentation

  1. Сегментация = попиксельная классификация
  2. Не требует большого объема тренировочных данных.
  3. Все сегментационные сети - это архитектуры вида FCN. 

Segmentation: Metric

Чаще всего используют Dice - особенно в медицинских снимках

и Jaccard (IoU)

Fully Convolutional Network: FCN

  1. Оторвать Dense слой, или Dense => Conv.
  2. В сети мало параметров.
  3. Берет на вход картинки любого размера.

Jonathan Long, Evan Shelhamer, Trevor Darrell; The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 3431-3440

FCN = Efficient Sliding Window

Classification to Segmentation

  1. Оторвать Dense или Dense => Conv
  2. Добавить декодер

Jonathan Long, Evan Shelhamer, Trevor Darrell; The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 3431-3440

FCN8 to SegNet

FCN8

SegNet

Заменить Upsampling на иерархический Upsampling

V. Badrinarayanan, A. Kendall, and R. Cipolla, “Segnet: A deep convolutional encoder-decoder architecture for image segmentation,” arXiv:1511.00561, 2015

SegNet to UNet

SegNet

UNet

Added skip connections

 O. Ronneberger P. Fischer T. Brox "U-net: Convolutional networks for biomedical image segmentation" Proc. Med. Image Comput. Comput.-Assisted Intervention pp. 234-241 2015.

UNet => TernausNet

Text

Iglovikov, V., Shvets, A.: Ternausnet: U-net with vgg11 encoder pre-trained on imagenet for image segmentation. arXiv preprint arXiv:1801.05746 (2018)

Энкодер инициализируем весами с ImageNet

Any binary Image Segmentation => UNet

Medical Imaging

Satellite Imaging

Feature Pyramid Networks (FPN)

  1. Легко добавить во многие архитектуры.
  2. Помогает с multiscale

Tsung-Yi Lin, Piotr Dollar, Ross Girshick, Kaiming He, Bharath Hariharan, Serge Belongie; The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 2117-2125

 

U-Net + FPN

Segmentation Loss Function

Каждый пиксель классификатор => Categorical / Binary Cross Entropy(CCE, BCE)

CCE = \sum_c p(x) \log q(x)

Но! Метрика Dice / Jaccard

Dice / Jaccard недифференцируемы =>

Soft Dice / Soft Jaccard

и добавляем в loss 

Lovasz-Softmax loss

Использовать для FineTune

Berman, M., Rannen Triki, A., Blaschko, M.B.: The lovász-softmax loss: a tractable surrogate for the optimization of the intersection-over-union measure in neural networks. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 4413–4421 (2018)

Detection

Предсказываем:

  1. координаты боксов 
  2. класс
  3. опционально атрибуты

Detection Metric: mAP

Метрика крайне замороченная.

Нужно свести в одно число:

  1. Точность бокса
  2. Confidence класса

Для каждого класса:

  1. Хотим получить Precision Recall Curve.
  2. Цикл по трешходам confidence.
  3. Трешхолд по IOU => TP, FP, FN
  4. mAP = area under PR Curve

Non Maximum Supression (NMS)

Detection = Предсказываем много боксов, а потом фильтруем

Detection

One-shot (быстрые)

YOLO, SSD, RetinaNet,

SqueezeNet, DetectNet

 

 

Two-shot (точные)

R-FCN, Fast RCNN, Faster-RCNN

One shot detectors

Для каждой ячейки в последнем conv слое предказываем координаты бокса и класс объекта с центром в ячейке.

One shot detectors: YOLO

Для каждой ячейки в последнем conv слое предказываем координаты бокса и класс объекта с центром в ячейке.

 

One shot detector with FPN = SSD

mAP FPS
YOLO v2 21.6 91
SSD 28.0 59

Two shot: R-CNN

R-CNN = Selective Search

+ Classification

Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik; The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014, pp. 580-587

 

Two shot: Fast-RCNN

R-CNN => Fast R-CNN

Меняем порядок Crop и ConvNet

50 секунд => 2 секунды (25 раз быстрее)

Fast => Faster

Fast R-CNN => Faster R-CNN

Вычисляем proposals самой сетью.

2 секунды => 0.2 секунды (10 раз быстрее)

Two shot: performance

Improvements

  1. Тяжелые backbones
  2. FPN
  3. ROI Pooling => ROI Align
  4. Аугментации
Backbone FPN  mAP
ResNet 50 No 34.8
ResNet 50 Yes 36.8
ResNet 101 Yes 39.1
ResNext 101 Yes 41.2

Сегментация и детекция

By Vladimir Iglovikov

Сегментация и детекция

  • 7,356