Нахожу в тесте вопросы, которые в принципе не освещаются в лекции. Нужно гуглить на других ресурсах, чтобы решить тест, или же он всё же должен испытывать знания, полученные в ходе лекции? |
Самостоятельная работа 7: Оптимизация и распараллеливание вычислений в задаче детектирования объектов на изображениях с использованием алгоритма Latent SVM
12. Приложения
12.1. Приложение А. Обобщенный метод преобразования расстояний для решения задачи оптимизации
12.1.1. Постановка задачи
В некоторых случаях полезно иметь карту свойств, которая определяет вес (стоимость) свойства для пикселя, а не отсутствие или наличие этого свойства в каждом пикселе. Как следствие, преобразование расстояний должно зависеть от расстояния между пикселями и веса свойства.
Пусть – регулярная решетка, а - функция, заданная на этой решетке и определяющая вес свойства. Определим преобразование расстояний следующим образом:
где – расстояние между точками p и q (расстояние, в частности, может выражаться евклидовой метрикой). Таким образом, данное преобразование для каждой точки p определяет ближайшую точку q , в которой функция f принимает достаточно маленькое значение (очевидно, что оно не обязательно является минимальным).
В большинстве алгоритмов преобразования расстояний функция весов f вводится как индикаторная функция :
Как следствие, минимизация проводится не на всей сетке, а некотором выделенном подмножестве .
12.1.2. Решение задачи в случае евклидова расстояния на одномерной сетке
Предположим, что построена одномерная сетка - произвольная функция, заданная на этой сетке. Тогда задача преобразования расстояний имеет вид:
Необходимо отметить, что минимизируемая функция представляет собой параболу с вершиной в точке при всех значениях q, ветви которой направлены вверх. Поэтому при всех значениях получаем совокупность таких парабол. Как следствие, преобразование расстояний – это высота нижней огибающей указанного множества парабол.
Алгоритм вычисления преобразования состоит из двух этапов:
1. Построение нижней огибающей для парабол, соответствующих каждой точке регулярной сетки.
Замечания к алгоритму:
- Любые две параболы из построенной совокупности пересекаются ровно в одной точке. Пусть и – пара точек, принадлежащих сетке . Рассмотрим точку пересечения s парабол, абсциссы вершин которых совпадают с указанными точками: Если , то точка лежит левее точки пересечения.
- На каждой итерации алгоритма рассматривается очередная парабола и строится огибающая для расширенного множества парабол.
Обозначения:
k – количество парабол, которые включены в состав огибающей на текущем шаге алгоритма.
– значение абсциссы вершины k-ой параболы,
– отрезок, в котором ая парабола лежит ниже -ой и некоторой текущей параболы.
Описание алгоритма:
Для каждой параболы с абсциссой вершины q из множества, заданного на сетке, выполняется следующая последовательность действий:
- Определяется абсцисса s точки пересечения текущей параболы и k-ой параболы, которая была последней включена во множество, образующее огибающую.
- Если точка пересечения оказалась меньше (или равна) левой границы , то последняя парабола не принадлежит огибающей и ее необходимо исключить из множества.
- В противном случае, текущую параболу необходимо включить во множество (запомнить абсциссу вершины этой параболы и левую границу отрезка, на котором она ниже предшествующей параболы, т.е. вычисленную точку пересечения).
2. Определение значений в каждом положении p, принадлежащем сетке:
- Определение номера отрезка, которому принадлежит точка p.
- Вычисление значения преобразования:
12.1.3. Решение задачи в случае евклидова расстояния на двумерной сетке
Предположим, что построена двумерная сетка – произвольная функция, заданная на этой сетке. Тогда преобразование расстояний имеет вид:
Данная задача приводится к более простой, т.к. первое слагаемое минимизируемой функции не зависит от :
где – задача преобразования расстояний на одномерной сетке при каждом фиксированном . Таким образом, необходимо решить n задач на одномерной сетке.
В случае произвольного вектора получаем квадратичную функцию:
Решение такой задачи отличается от рассмотренной только способом вычисления вершины параболы и точки пересечения пары парабол.