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

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

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

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

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

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

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

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

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

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

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

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

Сверточная нейронная сеть OverFeat

OverFeat - модель сверточной нейронной сети, описанная в [1], которая предназначена для того, чтобы одновременно (т.е. одной сетью) решать три задачи: детектировать объект, классифицировать его и уточнять положение на снимке (detection, recognition, and localization).

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