Записная книжка

Компьютерное зрение, машинное обучение, нейронные сети и т.п.

R-CNN, Fast R-CNN, Faster R-CNN etc.

Возвращаемся к задаче детектирования объектов на изображении. Один из подходов к решению данной задачи был рассмотрен, когда разбирали сеть OverFeat. В данном тексте разберем конструкцию, которая впервые была предъявлена в статьях [1] и [2], а затем усовершенствована в статьях [3] и [4].

Читать дальше...

"Мягкое" подавление немаксимумов

При детектировании, классически используется связка из двух подходов сдвигающегося окна (sliding window) и подавления немаксимумов ( non-maximum suppression). Последнее время, большое распространения для решения задачи детектирования получили свёрточные нейронные сети, в которых сдвигающееся окно не применяется, но и при использовании CNN на определенном этапе работы алгоритма возникает необходимость в подавление немаксимумов, поскольку обычно генерируется достаточно большое количество дублей для каждого объекта на снимке. В рассматриваемой статье [1] как раз и предлагается усовершенствование алгоритма подавления немаксимумов.

Читать дальше...

Выделения объектов для семантической сегментации при помощи "состязательного стирания".

Задача семантической сегментации изображения заключается в том, чтобы назначить каждому пикселю этого изображения некоторый класс из заранее заданных. Например, определить какие пиксели на изображении относятся к человеку, какие к сидящему у этого человека на коленях коту, а какие к некоему заднику (background) и не могут быть классифицированы. Современный подход к решению этой задачи, как собственно и многих других, заключается в применении свёрточных нейронных сетей. Этот подход показывает прекрасные результаты. Проблема, однако, как и всегда в случае применения нейронных сетей заключается в необходимости получить значительные объемы, размеченных для тренировки, данных. При этом в случае семантической сегментации, трудоёмкость задачи разметки крайне высока. Потому что для каждого изображения надо сформировать попиксельную маску классов.

Читать дальше...

Spatial Pyramid Pooling структура в свёрточной нейронной сети

Любая свёрточная нейронная сеть, применяемая для классификации объектов, структурно легко разделяется на две части. Первая состоит из свёрточных (convolution) и объединяющих (pooling) слоёв (сюда же все нелинейности, LRN, batch normalization и т.п.) и по исходной картинке формирует трёхмерную матрицу особенностей (features). Вторая часть сети является классификатором, который, взяв набор особенностей, выдаёт класс объекта на изображении (вернее вектор sofmax с вероятностями для каждого класса).

Статья [1] предлагает использовать spatial pyramid pooling слой между свёрточной частью и классификатором, чтобы иметь возможность классифицировать изображения произвольных размеров (в разумных пределах).

Читать дальше...